Clearfy – WordPress optimization plugin and disable ultimate tweaker - Version 1.6.8

Version Description

(3.06.2020) = * Fixed: critical bug

Download this release

Release Info

Developer webtemyk
Plugin Icon 128x128 Clearfy – WordPress optimization plugin and disable ultimate tweaker
Version 1.6.8
Comparing to
See all releases

Code changes from version 1.6.6 to 1.6.8

Files changed (254) hide show
  1. admin/activation.php +2 -2
  2. admin/ajax/configurate.php +1 -1
  3. admin/ajax/import-settings.php +2 -2
  4. admin/assets/css/general.css +2 -2
  5. admin/assets/img/async-js-icon-128x128.png +0 -0
  6. admin/assets/js/general.js +13 -13
  7. admin/assets/js/install-addons.js +15 -15
  8. admin/assets/js/license-manager.js +4 -4
  9. admin/boot.php +80 -75
  10. admin/includes/compatibility.php +4 -4
  11. admin/pages/class-page.php +17 -14
  12. admin/pages/class-pages-advanced.php +83 -83
  13. admin/pages/class-pages-clearfy-settings.php +2 -2
  14. admin/pages/class-pages-components-license.php +5 -5
  15. admin/pages/class-pages-components.php +15 -6
  16. admin/pages/class-pages-defence-titan.php +6 -4
  17. admin/pages/class-pages-defence.php +2 -2
  18. admin/pages/class-pages-hide-login-page.php +3 -3
  19. admin/pages/class-pages-image-optimization.php +3 -3
  20. admin/pages/class-pages-license.php +3 -3
  21. admin/pages/class-pages-performance-google.php +1 -1
  22. admin/pages/class-pages-quick-start.php +2 -2
  23. admin/pages/class-pages-seo-double-pages.php +1 -1
  24. admin/pages/class-pages-seo.php +1 -1
  25. admin/pages/class-pages-widgets.php +187 -185
  26. clearfy.php +10 -10
  27. components/assets-manager/admin/activation.php +2 -2
  28. components/assets-manager/admin/ajax/save-settings.php +1 -1
  29. components/assets-manager/admin/boot.php +2 -2
  30. components/assets-manager/admin/pages/class-pages-more-features.php +1 -1
  31. components/assets-manager/admin/pages/class-pages-settings.php +4 -4
  32. components/assets-manager/gonzales.php +7 -7
  33. components/assets-manager/includes/class-plugin.php +3 -3
  34. components/assets-manager/includes/classes/class-assets-manager-global.php +2 -2
  35. components/assets-manager/includes/classes/class-views.php +4 -4
  36. components/assets-manager/migrations/010100.php +1 -1
  37. components/assets-manager/migrations/010108.php +1 -1
  38. components/assets-manager/migrations/020005.php +1 -1
  39. components/assets-manager/mu-plugins/assets-manager.php +1 -1
  40. components/comments-plus/admin/boot.php +1 -1
  41. components/comments-plus/admin/pages/class-page-comments.php +3 -3
  42. components/comments-plus/admin/pages/class-page-delete-comments.php +6 -6
  43. components/comments-plus/admin/pages/class-page-more-features.php +1 -1
  44. components/comments-plus/comments-plus.php +7 -7
  45. components/comments-plus/includes/class-plugin.php +3 -3
  46. components/comments-plus/includes/classes/class-configurate-comments.php +3 -3
  47. components/cyrlitera/admin/activation.php +2 -2
  48. components/cyrlitera/admin/boot.php +1 -1
  49. components/cyrlitera/admin/pages/class-page-cyrlitera.php +4 -4
  50. components/cyrlitera/admin/pages/class-page-more-features.php +1 -1
  51. components/cyrlitera/cyrlitera.php +7 -7
  52. components/cyrlitera/includes/class-plugin.php +3 -3
  53. components/cyrlitera/includes/classes/class-configurate-cyrlitera.php +2 -2
  54. components/cyrlitera/migrations/010004.php +1 -1
  55. components/disable-admin-notices/admin/boot.php +1 -1
  56. components/disable-admin-notices/admin/options.php +2 -2
  57. components/disable-admin-notices/admin/pages/class-pages-more-features.php +1 -1
  58. components/disable-admin-notices/admin/pages/class-pages-notices.php +4 -4
  59. components/disable-admin-notices/disable-admin-notices.php +7 -7
  60. components/disable-admin-notices/includes/class-plugin.php +4 -4
  61. components/disable-admin-notices/includes/classes/class-configurate-notices.php +1 -1
  62. components/disable-admin-notices/migrations/010007.php +1 -1
  63. components/ga-cache/admin/activation.php +2 -2
  64. components/ga-cache/admin/boot.php +3 -3
  65. components/ga-cache/admin/options.php +1 -1
  66. components/ga-cache/admin/pages/class-pages-general-settings.php +3 -3
  67. components/ga-cache/admin/pages/class-pages-more-features.php +1 -1
  68. components/ga-cache/includes/class-plugin.php +3 -3
  69. components/ga-cache/includes/classes/class-configurate-ga.php +1 -1
  70. components/ga-cache/migrations/030002.php +1 -1
  71. components/ga-cache/simple_google_analytics.php +6 -6
  72. components/html-minify/admin/pages/class-pages-settings.php +3 -3
  73. components/html-minify/html-minify.php +7 -7
  74. components/html-minify/includes/class-plugin.php +3 -3
  75. components/minify-and-combine/admin/pages/class-pages-settings.php +3 -3
  76. components/minify-and-combine/includes/class-plugin.php +3 -3
  77. components/minify-and-combine/includes/classes/class-cache.php +1 -1
  78. components/minify-and-combine/minify-and-combine.php +7 -7
  79. components/updates-manager/admin/activation.php +2 -2
  80. components/updates-manager/admin/assets/js/ajax-components.js +4 -4
  81. components/updates-manager/admin/boot.php +1 -1
  82. components/updates-manager/admin/includes/class-abstract-filters.php +1 -1
  83. components/updates-manager/admin/pages/class-page-advanced.php +5 -5
  84. components/updates-manager/admin/pages/class-page-more-features.php +1 -1
  85. components/updates-manager/admin/pages/class-page-plugins.php +5 -5
  86. components/updates-manager/admin/pages/class-page-themes.php +4 -4
  87. components/updates-manager/admin/pages/class-page-updates.php +5 -5
  88. components/updates-manager/includes/class-plugin.php +3 -3
  89. components/updates-manager/includes/classes/class-configurate-updates.php +1 -1
  90. components/updates-manager/migrations/010008.php +1 -1
  91. components/updates-manager/webcraftic-updates-manager.php +7 -7
  92. includes/boot.php +1 -1
  93. includes/class.plugin.php +3 -3
  94. includes/classes/class.configurate-advanced.php +1 -1
  95. includes/classes/class.configurate-google-performance.php +1 -1
  96. includes/classes/class.configurate-performance.php +1 -1
  97. includes/classes/class.configurate-privacy.php +1 -1
  98. includes/classes/class.configurate-security.php +1 -1
  99. includes/classes/class.configurate-seo.php +1 -1
  100. libs/factory/adverts/boot.php +14 -14
  101. libs/factory/adverts/includes/class-base.php +6 -6
  102. libs/factory/adverts/includes/class-dashboard-widget.php +4 -4
  103. libs/factory/adverts/includes/class-rest-request.php +4 -4
  104. libs/factory/adverts/langs/{wbcr_factory_adverts_107-ru_RU.mo → wbcr_factory_adverts_108-ru_RU.mo} +0 -0
  105. libs/factory/adverts/langs/{wbcr_factory_adverts_107-ru_RU.po → wbcr_factory_adverts_108-ru_RU.po} +0 -0
  106. libs/factory/bootstrap/assets/cache/c54ca97249456e97dd6f68e39fe5fd8c.min.js +30 -0
  107. libs/factory/bootstrap/assets/cache/d3f7e6e8889a6d921650a5046bd131b4.min.css +69 -0
  108. libs/factory/bootstrap/assets/css-min/bootstrap.accordion.min.css +1 -1
  109. libs/factory/bootstrap/assets/css-min/bootstrap.blue.min.css +1 -1
  110. libs/factory/bootstrap/assets/css-min/bootstrap.coffee.min.css +1 -1
  111. libs/factory/bootstrap/assets/css-min/bootstrap.core.min.css +2 -2
  112. libs/factory/bootstrap/assets/css-min/bootstrap.ectoplasm.min.css +1 -1
  113. libs/factory/bootstrap/assets/css-min/bootstrap.form-group.min.css +1 -1
  114. libs/factory/bootstrap/assets/css-min/bootstrap.light.min.css +1 -1
  115. libs/factory/bootstrap/assets/css-min/bootstrap.midnight.min.css +1 -1
  116. libs/factory/bootstrap/assets/css-min/bootstrap.ocean.min.css +1 -1
  117. libs/factory/bootstrap/assets/css-min/bootstrap.separator.min.css +1 -1
  118. libs/factory/bootstrap/assets/css-min/bootstrap.sunrise.min.css +1 -1
  119. libs/factory/bootstrap/assets/css-min/control.checkbox.min.css +1 -1
  120. libs/factory/bootstrap/assets/css-min/control.dropdown.min.css +1 -1
  121. libs/factory/bootstrap/assets/css-min/control.multiple-textbox.min.css +1 -1
  122. libs/factory/bootstrap/assets/css-min/holder.more-link.min.css +1 -1
  123. libs/factory/bootstrap/assets/js-min/bootstrap.dropdown.min.js +1 -1
  124. libs/factory/bootstrap/assets/js-min/control.checkbox.min.js +1 -1
  125. libs/factory/bootstrap/assets/js-min/control.dropdown.min.js +1 -1
  126. libs/factory/bootstrap/assets/js-min/control.list.min.js +1 -1
  127. libs/factory/bootstrap/assets/js-min/control.multiple-textbox.min.js +1 -1
  128. libs/factory/bootstrap/boot.php +15 -15
  129. libs/factory/bootstrap/includes/functions.php +10 -10
  130. libs/factory/clearfy/assets/css/clearfy-base.css +24 -24
  131. libs/factory/clearfy/assets/css/libs/autocomplete.css +44 -0
  132. libs/factory/clearfy/assets/css/libs/autocomplete.css.map +1 -0
  133. libs/factory/clearfy/assets/css/libs/autocomplete.less +57 -0
  134. libs/factory/clearfy/assets/js/globals.js +15 -15
  135. libs/factory/clearfy/assets/js/libs/jquery.autocomplete.min.js +8 -0
  136. libs/factory/clearfy/assets/js/license-manager.js +4 -4
  137. libs/factory/clearfy/assets/js/search-options.js +40 -0
  138. libs/factory/clearfy/boot.php +50 -19
  139. libs/factory/clearfy/includes/ajax-handlers.php +8 -8
  140. libs/factory/clearfy/includes/class-configurate.php +3 -3
  141. libs/factory/clearfy/includes/class-helpers.php +1 -1
  142. libs/factory/clearfy/includes/class-search-options.php +87 -0
  143. libs/factory/clearfy/langs/{wbcr_factory_clearfy_219-ru_RU.mo → wbcr_factory_clearfy_220-ru_RU.mo} +0 -0
  144. libs/factory/clearfy/langs/{wbcr_factory_clearfy_219-ru_RU.po → wbcr_factory_clearfy_220-ru_RU.po} +0 -0
  145. libs/factory/clearfy/pages/class-page-license.php +33 -33
  146. libs/factory/clearfy/pages/class-page-more-features.php +23 -23
  147. libs/factory/clearfy/pages/class-pages.php +217 -150
  148. libs/factory/core/boot.php +27 -27
  149. libs/factory/core/includes/activation/class-factory-activator.php +3 -3
  150. libs/factory/core/includes/activation/class-factory-update.php +3 -3
  151. libs/factory/core/includes/assets-managment/class-factory-assets-list.php +4 -4
  152. libs/factory/core/includes/assets-managment/class-factory-script-list.php +2 -2
  153. libs/factory/core/includes/assets-managment/class-factory-style-list.php +1 -1
  154. libs/factory/core/includes/class-check-compatibility.php +3 -3
  155. libs/factory/core/includes/class-factory-migrations.php +13 -13
  156. libs/factory/core/includes/class-factory-notices.php +6 -6
  157. libs/factory/core/includes/class-factory-options.php +2 -2
  158. libs/factory/core/includes/class-factory-plugin-abstract.php +52 -52
  159. libs/factory/core/includes/class-factory-plugin-base.php +25 -25
  160. libs/factory/core/includes/class-factory-requests.php +1 -1
  161. libs/factory/core/includes/class-factory-requirements.php +6 -6
  162. libs/factory/core/includes/entities/class-factory-paths.php +1 -1
  163. libs/factory/core/includes/entities/class-factory-support.php +1 -1
  164. libs/factory/core/includes/functions.php +7 -7
  165. libs/factory/core/includes/premium/class-factory-license-interface.php +1 -1
  166. libs/factory/core/includes/premium/class-factory-manager.php +10 -10
  167. libs/factory/core/includes/premium/class-factory-provider-abstract.php +6 -6
  168. libs/factory/core/includes/updates/class-factory-premium-upgrader.php +11 -11
  169. libs/factory/core/includes/updates/class-factory-upgrader.php +9 -9
  170. libs/factory/core/includes/updates/repositories/class-factory-repository-abstract.php +5 -5
  171. libs/factory/core/includes/updates/repositories/class-factory-wordpress.php +4 -4
  172. libs/factory/core/langs/{wbcr_factory_427-ru_RU.mo → wbcr_factory_428-ru_RU.mo} +0 -0
  173. libs/factory/core/langs/{wbcr_factory_427-ru_RU.po → wbcr_factory_428-ru_RU.po} +0 -0
  174. libs/factory/forms/boot.php +95 -95
  175. libs/factory/forms/controls/checkbox.php +4 -4
  176. libs/factory/forms/controls/color-and-opacity.php +4 -4
  177. libs/factory/forms/controls/color.php +2 -2
  178. libs/factory/forms/controls/customs/html.php +2 -2
  179. libs/factory/forms/controls/customs/separator.php +2 -2
  180. libs/factory/forms/controls/datepicker-range.php +4 -4
  181. libs/factory/forms/controls/dropdown-and-colors.php +6 -6
  182. libs/factory/forms/controls/dropdown.php +5 -5
  183. libs/factory/forms/controls/font.php +11 -11
  184. libs/factory/forms/controls/google-font.php +8 -8
  185. libs/factory/forms/controls/gradient.php +4 -4
  186. libs/factory/forms/controls/hidden.php +2 -2
  187. libs/factory/forms/controls/holders/accordion-item.php +2 -2
  188. libs/factory/forms/controls/holders/accordion.php +2 -2
  189. libs/factory/forms/controls/holders/columns.php +2 -2
  190. libs/factory/forms/controls/holders/control-group-item.php +2 -2
  191. libs/factory/forms/controls/holders/control-group.php +3 -3
  192. libs/factory/forms/controls/holders/div.php +2 -2
  193. libs/factory/forms/controls/holders/form-group.php +2 -2
  194. libs/factory/forms/controls/holders/more-link.php +2 -2
  195. libs/factory/forms/controls/holders/tab-item.php +2 -2
  196. libs/factory/forms/controls/holders/tab.php +4 -4
  197. libs/factory/forms/controls/integer.php +2 -2
  198. libs/factory/forms/controls/list.php +4 -4
  199. libs/factory/forms/controls/multiple-textbox.php +3 -3
  200. libs/factory/forms/controls/paddings-editor.php +3 -3
  201. libs/factory/forms/controls/pattern.php +9 -9
  202. libs/factory/forms/controls/radio-colors.php +2 -2
  203. libs/factory/forms/controls/radio.php +2 -2
  204. libs/factory/forms/controls/textarea.php +2 -2
  205. libs/factory/forms/controls/textbox.php +2 -2
  206. libs/factory/forms/controls/url.php +3 -3
  207. libs/factory/forms/controls/wp-editor.php +3 -3
  208. libs/factory/forms/includes/complex-control.class.php +4 -4
  209. libs/factory/forms/includes/control-holder.class.php +5 -5
  210. libs/factory/forms/includes/control.class.php +5 -5
  211. libs/factory/forms/includes/custom-element.class.php +2 -2
  212. libs/factory/forms/includes/form-element.class.php +7 -7
  213. libs/factory/forms/includes/form-layout.class.php +5 -5
  214. libs/factory/forms/includes/form.class.php +39 -39
  215. libs/factory/forms/includes/holder.class.php +6 -6
  216. libs/factory/forms/includes/html-builder.class.php +2 -2
  217. libs/factory/forms/includes/providers/meta-value-provider.class.php +2 -2
  218. libs/factory/forms/includes/providers/options-value-provider.class.php +3 -3
  219. libs/factory/forms/includes/providers/value-provider.interface.php +2 -2
  220. libs/factory/forms/langs/{wbcr_factory_forms_425-ru_RU.mo → wbcr_factory_forms_426-ru_RU.mo} +0 -0
  221. libs/factory/forms/langs/{wbcr_factory_forms_425-ru_RU.po → wbcr_factory_forms_426-ru_RU.po} +0 -0
  222. libs/factory/forms/layouts/bootstrap-3/bootstrap-3.php +7 -7
  223. libs/factory/freemius/boot.php +18 -18
  224. libs/factory/freemius/includes/class-freemius-api.php +7 -7
  225. libs/factory/freemius/includes/entities/class-freemius-entity.php +1 -1
  226. libs/factory/freemius/includes/entities/class-freemius-license.php +2 -2
  227. libs/factory/freemius/includes/entities/class-freemius-plugin.php +1 -1
  228. libs/factory/freemius/includes/entities/class-freemius-scope.php +1 -1
  229. libs/factory/freemius/includes/entities/class-freemius-site.php +1 -1
  230. libs/factory/freemius/includes/entities/class-freemius-user.php +1 -1
  231. libs/factory/freemius/includes/licensing/class-freemius-provider.php +18 -18
  232. libs/factory/freemius/includes/updates/class-freemius-repository.php +7 -7
  233. libs/factory/pages/boot.php +10 -10
  234. libs/factory/pages/includes/admin-page.class.php +6 -6
  235. libs/factory/pages/includes/page.class.php +7 -7
  236. libs/factory/pages/langs/{wbcr_factory_pages_427-fr_FR.mo → wbcr_factory_pages_428-fr_FR.mo} +0 -0
  237. libs/factory/pages/langs/{wbcr_factory_pages_427-fr_FR.po → wbcr_factory_pages_428-fr_FR.po} +0 -0
  238. libs/factory/pages/langs/{wbcr_factory_pages_427-ru_RU.mo → wbcr_factory_pages_428-ru_RU.mo} +0 -0
  239. libs/factory/pages/langs/{wbcr_factory_pages_427-ru_RU.po → wbcr_factory_pages_428-ru_RU.po} +0 -0
  240. libs/factory/pages/pages.php +11 -11
  241. libs/factory/pages/templates/assets/css/impressive.page.template.css +160 -117
  242. libs/factory/pages/templates/assets/css/impressive.page.template.less +98 -1
  243. libs/factory/pages/templates/impressive-page.class.php +398 -318
  244. migrations/010103.php +1 -1
  245. migrations/010108.php +1 -1
  246. migrations/010200.php +1 -1
  247. migrations/010300.php +1 -1
  248. migrations/010402.php +1 -1
  249. migrations/010501.php +1 -1
  250. migrations/010504.php +1 -1
  251. migrations/010505.php +2 -2
  252. migrations/010601.php +1 -1
  253. migrations/010604.php +1 -1
  254. readme.txt +8 -0
admin/activation.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @author Webcraftic <wordpress.webraftic@gmail.com>
6
  * @copyright (c) 09.09.2017, Webcraftic
7
- * @see Factory427_Activator
8
  * @version 1.0
9
  */
10
 
@@ -13,7 +13,7 @@ if ( ! defined( 'ABSPATH' ) ) {
13
  exit;
14
  }
15
 
16
- class WCL_Activation extends Wbcr_Factory427_Activator {
17
 
18
  /**
19
  * Runs activation actions.
4
  *
5
  * @author Webcraftic <wordpress.webraftic@gmail.com>
6
  * @copyright (c) 09.09.2017, Webcraftic
7
+ * @see Factory428_Activator
8
  * @version 1.0
9
  */
10
 
13
  exit;
14
  }
15
 
16
+ class WCL_Activation extends Wbcr_Factory428_Activator {
17
 
18
  /**
19
  * Runs activation actions.
admin/ajax/configurate.php CHANGED
@@ -57,7 +57,7 @@
57
  }
58
 
59
  if( !$flush_redirect ) {
60
- WbcrFactoryClearfy219_Helpers::flushPageCache();
61
  }
62
 
63
  do_action('wbcr_clearfy_configurated_quick_mode', $mode_name);
57
  }
58
 
59
  if( !$flush_redirect ) {
60
+ WbcrFactoryClearfy220_Helpers::flushPageCache();
61
  }
62
 
63
  do_action('wbcr_clearfy_configurated_quick_mode', $mode_name);
admin/ajax/import-settings.php CHANGED
@@ -62,7 +62,7 @@
62
  }
63
 
64
  if( is_array($option_value) || is_object($option_value) ) {
65
- $option_value = WbcrFactoryClearfy219_Helpers::recursiveSanitizeArray($option_value, 'wp_kses_post');
66
  $option_value = maybe_serialize($option_value);
67
  } else {
68
  $option_value = wp_kses_post($option_value);
@@ -140,7 +140,7 @@
140
  //$send_data['update_notice'] = $package_plugin->getUpdateNotice();
141
 
142
  // Сбрасываем кеш для кеширующих плагинов
143
- WbcrFactoryClearfy219_Helpers::flushPageCache();
144
 
145
  do_action('wbcr_clearfy_imported_settings');
146
 
62
  }
63
 
64
  if( is_array($option_value) || is_object($option_value) ) {
65
+ $option_value = WbcrFactoryClearfy220_Helpers::recursiveSanitizeArray($option_value, 'wp_kses_post');
66
  $option_value = maybe_serialize($option_value);
67
  } else {
68
  $option_value = wp_kses_post($option_value);
140
  //$send_data['update_notice'] = $package_plugin->getUpdateNotice();
141
 
142
  // Сбрасываем кеш для кеширующих плагинов
143
+ WbcrFactoryClearfy220_Helpers::flushPageCache();
144
 
145
  do_action('wbcr_clearfy_imported_settings');
146
 
admin/assets/css/general.css CHANGED
@@ -33,10 +33,10 @@
33
  //float: right;
34
  }*/
35
  }
36
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-page-header {
37
  height: 80px !important;
38
  }
39
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-page-header .wbcr-factory-header-logo span {
40
  display: inline-block !important;
41
  }
42
  #WBCR .row {
33
  //float: right;
34
  }*/
35
  }
36
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-page-header {
37
  height: 80px !important;
38
  }
39
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-page-header .wbcr-factory-header-logo span {
40
  display: inline-block !important;
41
  }
42
  #WBCR .row {
admin/assets/img/async-js-icon-128x128.png ADDED
Binary file
admin/assets/js/general.js CHANGED
@@ -87,13 +87,13 @@
87
  * Хук выполняет проивольную функцию, после того как получен ajax ответ о том, что в
88
  * результате конфигурации произошла ошибка Реализация системы фильтров и хуков в файле
89
  * libs/clearfy/admin/assests/js/global.js Пример регистрации хука
90
- * $.wbcr_factory_clearfy_219.hooks.add('wbcr/factory_clearfy_219/updated',
91
  * function(noticeId) {});
92
  * @param {string} modeName - имя режима конфигурации
93
  * @param {object} data
94
  */
95
 
96
- $.wbcr_factory_clearfy_219.hooks.run('clearfy/quick_start/configurated_error', [
97
  modeName,
98
  data
99
  ]);
@@ -110,12 +110,12 @@
110
  * Хук выполняет проивольную функцию, после того как получен ajax ответ об успешном выполнении
111
  * конфигурации Реализация системы фильтров и хуков в файле
112
  * libs/clearfy/admin/assests/js/global.js Пример регистрации хука
113
- * $.wbcr_factory_clearfy_219.hooks.add('wbcr/factory_clearfy_219/updated', function(noticeId)
114
  * {});
115
  * @param {string} modeName - имя режима конфигурации
116
  * @param {object} data
117
  */
118
- $.wbcr_factory_clearfy_219.hooks.run('clearfy/quick_start/configurated', [modeName, data]);
119
 
120
  if( modeName != 'reset' ) {
121
  switcher.addClass('wbcr-clearfy-active');
@@ -183,12 +183,12 @@
183
  $this = $(this);
184
 
185
  if( !settings ) {
186
- $.wbcr_factory_clearfy_219.app.showNotice('Import options is empty!', 'danger');
187
  return false;
188
  }
189
 
190
  if( void 0 == wbcr_clearfy_ajax || !wbcr_clearfy_ajax.import_options_nonce ) {
191
- $.wbcr_factory_clearfy_219.app.showNotice('Unknown Javascript error, most likely the wbcr_clearfy_ajax variable does not exist!', 'danger');
192
  return false;
193
  }
194
 
@@ -203,7 +203,7 @@
203
 
204
  if( response.data.update_notice ) {
205
  if( !$('.wbcr-clr-update-package').length ) {
206
- $.wbcr_factory_clearfy_219.app.showNotice(response.data.update_notice);
207
  }
208
  } else {
209
  if( $('.wbcr-clr-update-package').length ) {
@@ -240,15 +240,15 @@
240
  console.log(data);
241
 
242
  if( data ) {
243
- noticeId = $.wbcr_factory_clearfy_219.app.showNotice(data.error_message, 'danger');
244
  } else {
245
  if( void 0 != wbcr_clearfy_ajax ) {
246
- noticeId = $.wbcr_factory_clearfy_219.app.showNotice(wbcr_clearfy_ajax.i18n.unknown_error, 'danger');
247
  }
248
  }
249
 
250
  setTimeout(function() {
251
- $.wbcr_factory_clearfy_219.app.hideNotice(noticeId);
252
  }, 5000);
253
  return;
254
  }
@@ -257,10 +257,10 @@
257
 
258
  if( !request_data.flush_redirect ) {
259
  if( void 0 != wbcr_clearfy_ajax ) {
260
- noticeId = $.wbcr_factory_clearfy_219.app.showNotice(wbcr_clearfy_ajax.i18n.success_update_settings, 'success');
261
 
262
  setTimeout(function() {
263
- $.wbcr_factory_clearfy_219.app.hideNotice(noticeId);
264
  }, 5000);
265
  }
266
  return;
@@ -275,7 +275,7 @@
275
  console.log(xhr.responseText);
276
  console.log(thrownError);
277
 
278
- var noticeId = $.wbcr_factory_clearfy_219.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
279
  }
280
  });
281
  }
87
  * Хук выполняет проивольную функцию, после того как получен ajax ответ о том, что в
88
  * результате конфигурации произошла ошибка Реализация системы фильтров и хуков в файле
89
  * libs/clearfy/admin/assests/js/global.js Пример регистрации хука
90
+ * $.wbcr_factory_clearfy_220.hooks.add('wbcr/factory_clearfy_220/updated',
91
  * function(noticeId) {});
92
  * @param {string} modeName - имя режима конфигурации
93
  * @param {object} data
94
  */
95
 
96
+ $.wbcr_factory_clearfy_220.hooks.run('clearfy/quick_start/configurated_error', [
97
  modeName,
98
  data
99
  ]);
110
  * Хук выполняет проивольную функцию, после того как получен ajax ответ об успешном выполнении
111
  * конфигурации Реализация системы фильтров и хуков в файле
112
  * libs/clearfy/admin/assests/js/global.js Пример регистрации хука
113
+ * $.wbcr_factory_clearfy_220.hooks.add('wbcr/factory_clearfy_220/updated', function(noticeId)
114
  * {});
115
  * @param {string} modeName - имя режима конфигурации
116
  * @param {object} data
117
  */
118
+ $.wbcr_factory_clearfy_220.hooks.run('clearfy/quick_start/configurated', [modeName, data]);
119
 
120
  if( modeName != 'reset' ) {
121
  switcher.addClass('wbcr-clearfy-active');
183
  $this = $(this);
184
 
185
  if( !settings ) {
186
+ $.wbcr_factory_clearfy_220.app.showNotice('Import options is empty!', 'danger');
187
  return false;
188
  }
189
 
190
  if( void 0 == wbcr_clearfy_ajax || !wbcr_clearfy_ajax.import_options_nonce ) {
191
+ $.wbcr_factory_clearfy_220.app.showNotice('Unknown Javascript error, most likely the wbcr_clearfy_ajax variable does not exist!', 'danger');
192
  return false;
193
  }
194
 
203
 
204
  if( response.data.update_notice ) {
205
  if( !$('.wbcr-clr-update-package').length ) {
206
+ $.wbcr_factory_clearfy_220.app.showNotice(response.data.update_notice);
207
  }
208
  } else {
209
  if( $('.wbcr-clr-update-package').length ) {
240
  console.log(data);
241
 
242
  if( data ) {
243
+ noticeId = $.wbcr_factory_clearfy_220.app.showNotice(data.error_message, 'danger');
244
  } else {
245
  if( void 0 != wbcr_clearfy_ajax ) {
246
+ noticeId = $.wbcr_factory_clearfy_220.app.showNotice(wbcr_clearfy_ajax.i18n.unknown_error, 'danger');
247
  }
248
  }
249
 
250
  setTimeout(function() {
251
+ $.wbcr_factory_clearfy_220.app.hideNotice(noticeId);
252
  }, 5000);
253
  return;
254
  }
257
 
258
  if( !request_data.flush_redirect ) {
259
  if( void 0 != wbcr_clearfy_ajax ) {
260
+ noticeId = $.wbcr_factory_clearfy_220.app.showNotice(wbcr_clearfy_ajax.i18n.success_update_settings, 'success');
261
 
262
  setTimeout(function() {
263
+ $.wbcr_factory_clearfy_220.app.hideNotice(noticeId);
264
  }, 5000);
265
  }
266
  return;
275
  console.log(xhr.responseText);
276
  console.log(thrownError);
277
 
278
+ var noticeId = $.wbcr_factory_clearfy_220.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
279
  }
280
  });
281
  }
admin/assets/js/install-addons.js CHANGED
@@ -52,16 +52,16 @@
52
 
53
  $this.addClass('disabled').text(button_i18n.loading);
54
 
55
- $.wbcr_factory_clearfy_219.hooks.run('clearfy/components/pre_update', [$this, data]);
56
 
57
  self.sendRequest(data, function(response) {
58
  if( !response || !response.success ) {
59
 
60
  if( response.data && response.data.error_message ) {
61
- $.wbcr_factory_clearfy_219.app.showNotice(response.data.error_message, 'danger');
62
  }
63
 
64
- $.wbcr_factory_clearfy_219.hooks.run('clearfy/components/update_error', [
65
  $this,
66
  data,
67
  response.data.error_message,
@@ -77,7 +77,7 @@
77
  if( storage == 'freemius' ) {
78
  if( response.data.update_notice ) {
79
  if( !$('.wbcr-clr-update-package').length ) {
80
- $.wbcr_factory_clearfy_219.app.showNotice(response.data.update_notice);
81
  }
82
  } else {
83
  if( $('.wbcr-clr-update-package').length ) {
@@ -96,7 +96,7 @@
96
  $this.removeClass('button-default').addClass('button-primary');
97
  }
98
 
99
- $.wbcr_factory_clearfy_219.hooks.run('clearfy/components/installed', [
100
  $this,
101
  data,
102
  response
@@ -146,7 +146,7 @@
146
  $this.closest('.plugin-card').find('.delete-now').remove();
147
  }
148
 
149
- $.wbcr_factory_clearfy_219.hooks.run('clearfy/components/pre_activate', [
150
  $this,
151
  data,
152
  response
@@ -193,7 +193,7 @@
193
  $this.closest('.wbcr-hide-after-action').remove();
194
  }
195
 
196
- $.wbcr_factory_clearfy_219.hooks.run('clearfy/components/deactivated', [
197
  $this,
198
  data,
199
  response
@@ -216,7 +216,7 @@
216
  $this.remove();
217
  }
218
 
219
- $.wbcr_factory_clearfy_219.hooks.run('clearfy/components/deleted', [$this, data, response]);
220
  }
221
  } else {
222
  if( plugin_action == 'install' ) {
@@ -227,10 +227,10 @@
227
  $this.text(button_i18n[plugin_action]);
228
 
229
  if( response.data.need_rewrite_rules && !$('.wbcr-clr-need-rewrite-rules-message').length ) {
230
- $.wbcr_factory_clearfy_219.app.showNotice(response.data.need_rewrite_rules, 'warning');
231
  }
232
 
233
- $.wbcr_factory_clearfy_219.hooks.run('clearfy/components/updated', [$this, data, response]);
234
  });
235
 
236
  return false;
@@ -253,7 +253,7 @@
253
  self.sendRequest(data, function(response) {
254
  if( !response || !response.success ) {
255
  if( response.data && response.data.error_message ) {
256
- $.wbcr_factory_clearfy_219.app.showNotice(response.data.error_message, 'danger');
257
  }
258
  return;
259
  }
@@ -316,17 +316,17 @@
316
  self.setComponentDeactivate(componentButton);
317
 
318
  if( response.data && response.data.error_message ) {
319
- $.wbcr_factory_clearfy_219.app.showNotice(response.data.error_message, 'danger');
320
  }
321
 
322
- $.wbcr_factory_clearfy_219.hooks.run('clearfy/components/activated_error', [sendData.plugin]);
323
  return;
324
  }
325
 
326
  componentButton.removeClass('button-primary').text(button_i18n['deactivate']);
327
  self.setComponentActivate(componentButton);
328
 
329
- $.wbcr_factory_clearfy_219.hooks.run('clearfy/components/activated', [sendData.plugin]);
330
  });
331
  },
332
 
@@ -345,7 +345,7 @@
345
  console.log(xhr.responseText);
346
  console.log(thrownError);
347
 
348
- $.wbcr_factory_clearfy_219.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
349
  }
350
  });
351
  }
52
 
53
  $this.addClass('disabled').text(button_i18n.loading);
54
 
55
+ $.wbcr_factory_clearfy_220.hooks.run('clearfy/components/pre_update', [$this, data]);
56
 
57
  self.sendRequest(data, function(response) {
58
  if( !response || !response.success ) {
59
 
60
  if( response.data && response.data.error_message ) {
61
+ $.wbcr_factory_clearfy_220.app.showNotice(response.data.error_message, 'danger');
62
  }
63
 
64
+ $.wbcr_factory_clearfy_220.hooks.run('clearfy/components/update_error', [
65
  $this,
66
  data,
67
  response.data.error_message,
77
  if( storage == 'freemius' ) {
78
  if( response.data.update_notice ) {
79
  if( !$('.wbcr-clr-update-package').length ) {
80
+ $.wbcr_factory_clearfy_220.app.showNotice(response.data.update_notice);
81
  }
82
  } else {
83
  if( $('.wbcr-clr-update-package').length ) {
96
  $this.removeClass('button-default').addClass('button-primary');
97
  }
98
 
99
+ $.wbcr_factory_clearfy_220.hooks.run('clearfy/components/installed', [
100
  $this,
101
  data,
102
  response
146
  $this.closest('.plugin-card').find('.delete-now').remove();
147
  }
148
 
149
+ $.wbcr_factory_clearfy_220.hooks.run('clearfy/components/pre_activate', [
150
  $this,
151
  data,
152
  response
193
  $this.closest('.wbcr-hide-after-action').remove();
194
  }
195
 
196
+ $.wbcr_factory_clearfy_220.hooks.run('clearfy/components/deactivated', [
197
  $this,
198
  data,
199
  response
216
  $this.remove();
217
  }
218
 
219
+ $.wbcr_factory_clearfy_220.hooks.run('clearfy/components/deleted', [$this, data, response]);
220
  }
221
  } else {
222
  if( plugin_action == 'install' ) {
227
  $this.text(button_i18n[plugin_action]);
228
 
229
  if( response.data.need_rewrite_rules && !$('.wbcr-clr-need-rewrite-rules-message').length ) {
230
+ $.wbcr_factory_clearfy_220.app.showNotice(response.data.need_rewrite_rules, 'warning');
231
  }
232
 
233
+ $.wbcr_factory_clearfy_220.hooks.run('clearfy/components/updated', [$this, data, response]);
234
  });
235
 
236
  return false;
253
  self.sendRequest(data, function(response) {
254
  if( !response || !response.success ) {
255
  if( response.data && response.data.error_message ) {
256
+ $.wbcr_factory_clearfy_220.app.showNotice(response.data.error_message, 'danger');
257
  }
258
  return;
259
  }
316
  self.setComponentDeactivate(componentButton);
317
 
318
  if( response.data && response.data.error_message ) {
319
+ $.wbcr_factory_clearfy_220.app.showNotice(response.data.error_message, 'danger');
320
  }
321
 
322
+ $.wbcr_factory_clearfy_220.hooks.run('clearfy/components/activated_error', [sendData.plugin]);
323
  return;
324
  }
325
 
326
  componentButton.removeClass('button-primary').text(button_i18n['deactivate']);
327
  self.setComponentActivate(componentButton);
328
 
329
+ $.wbcr_factory_clearfy_220.hooks.run('clearfy/components/activated', [sendData.plugin]);
330
  });
331
  },
332
 
345
  console.log(xhr.responseText);
346
  console.log(thrownError);
347
 
348
+ $.wbcr_factory_clearfy_220.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
349
  }
350
  });
351
  }
admin/assets/js/license-manager.js CHANGED
@@ -20,7 +20,7 @@ jQuery(function($) {
20
  // Глобальные уведомления не трогаем
21
 
22
  for( i = 0; i < allNotices.length; i++ ) {
23
- $.wbcr_factory_clearfy_219.app.hideNotice(allNotices[i]);
24
  }
25
 
26
  $('.wcl-control-btn').hide();
@@ -55,7 +55,7 @@ jQuery(function($) {
55
 
56
  if( response.data ) {
57
  console.log(response.data.error_message);
58
- noticeId = $.wbcr_factory_clearfy_219.app.showNotice('Error: [' + response.data.error_message + ']', 'danger');
59
  allNotices.push(noticeId);
60
  } else {
61
  console.log(response);
@@ -65,7 +65,7 @@ jQuery(function($) {
65
  }
66
 
67
  if( response.data && response.data.message ) {
68
- noticeId = $.wbcr_factory_clearfy_219.app.showNotice(response.data.message, 'success');
69
  allNotices.push(noticeId);
70
 
71
  // todo: доработать генерацию формы, вместо перезагрузки страницы
@@ -82,7 +82,7 @@ jQuery(function($) {
82
  console.log(xhr.responseText);
83
  console.log(thrownError);
84
 
85
- var noticeId = $.wbcr_factory_clearfy_219.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
86
 
87
  allNotices.push(noticeId);
88
  }
20
  // Глобальные уведомления не трогаем
21
 
22
  for( i = 0; i < allNotices.length; i++ ) {
23
+ $.wbcr_factory_clearfy_220.app.hideNotice(allNotices[i]);
24
  }
25
 
26
  $('.wcl-control-btn').hide();
55
 
56
  if( response.data ) {
57
  console.log(response.data.error_message);
58
+ noticeId = $.wbcr_factory_clearfy_220.app.showNotice('Error: [' + response.data.error_message + ']', 'danger');
59
  allNotices.push(noticeId);
60
  } else {
61
  console.log(response);
65
  }
66
 
67
  if( response.data && response.data.message ) {
68
+ noticeId = $.wbcr_factory_clearfy_220.app.showNotice(response.data.message, 'success');
69
  allNotices.push(noticeId);
70
 
71
  // todo: доработать генерацию формы, вместо перезагрузки страницы
82
  console.log(xhr.responseText);
83
  console.log(thrownError);
84
 
85
+ var noticeId = $.wbcr_factory_clearfy_220.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
86
 
87
  allNotices.push(noticeId);
88
  }
admin/boot.php CHANGED
@@ -13,195 +13,200 @@
13
  */
14
 
15
  // Exit if accessed directly
16
- if ( ! defined( 'ABSPATH' ) ) {
17
  exit;
18
  }
19
 
20
  /**
21
  * Выводит кнопку настроек Clearfy в шапке интерфейса плагина
22
  */
23
- add_action( 'wbcr/factory/pages/impressive/header', function ( $plugin_name ) {
24
- if ( $plugin_name != WCL_Plugin::app()->getPluginName() ) {
25
  return;
26
  }
27
  ?>
28
- <a href="<?php echo WCL_Plugin::app()->getPluginPageUrl( 'clearfy_settings' ) ?>" class="wbcr-factory-button wbcr-factory-type-settings">
29
- <?php echo apply_filters( 'wbcr/clearfy/settings_button_title', __( 'Clearfy settings', 'clearfy' ) ); ?>
30
- </a>
31
  <?php
32
- } );
33
 
34
  /**
35
  * @param $form
36
- * @param Wbcr_Factory427_Plugin $plugin
37
- * @param Wbcr_FactoryPages427_ImpressiveThemplate $obj
38
  */
39
- function wbcr_clearfy_multisite_before_save( $form, $plugin, $obj ) {
40
- if ( $plugin->getPluginName() !== WCL_Plugin::app()->getPluginName() ) {
 
41
  return;
42
  }
43
 
44
- if ( $plugin->isNetworkAdmin() ) {
45
- if ( ! $plugin->premium->is_activate() && $plugin->isNetworkActive() ) {
46
- $obj->redirectToAction( 'multisite-pro' );
47
  }
48
  }
49
  }
50
 
51
- add_action( 'wbcr/factory/pages/impressive/before_form_save', 'wbcr_clearfy_multisite_before_save', 10, 3 );
52
 
53
  /**
54
  * Устанавливает логотип Webcraftic и сборку плагина для Clearfy и всех его компонентов
55
  *
56
- * @since 1.4.0
57
- *
58
  * @param string $title
59
  *
 
 
60
  */
61
- function wbcr_clearfy_branding( $title ) {
 
62
  $is_premium = WCL_Plugin::app()->premium->is_activate();
63
 
64
- return 'Webcraftic Clearfy ' . ( $is_premium ? '<span class="wbcr-clr-logo-label wbcr-clr-premium-label-logo">' . __( 'Business', 'clearfy' ) . '</span>' : '<span class="wbcr-clr-logo-label wbcr-clr-free-label-logo">Free</span>' ) . ' ver';
65
  }
66
 
67
- add_action( 'wbcr/factory/pages/impressive/plugin_title', 'wbcr_clearfy_branding' );
68
 
69
  /**
70
  * Подключаем скрипты для установки компонентов Clearfy
71
  * на все страницы админпанели
72
  */
73
- add_action( 'admin_enqueue_scripts', function () {
74
- wp_enqueue_style( 'wbcr-clearfy-install-components', WCL_PLUGIN_URL . '/admin/assets/css/install-addons.css', [], WCL_Plugin::app()->getPluginVersion() );
75
- wp_enqueue_script( 'wbcr-clearfy-install-components', WCL_PLUGIN_URL . '/admin/assets/js/install-addons.js', [
76
  'jquery',
77
- 'wbcr-factory-clearfy-219-global'
78
- ], WCL_Plugin::app()->getPluginVersion() );
79
- } );
80
 
81
  /**
82
  * Выводит уведомление, что нужно сбросить постоянные ссылки.
83
  * Уведомление будет показано на всех страницах Clearfy и его компонентах.
84
  *
85
- * @param WCL_Plugin $plugin
86
- * @param Wbcr_FactoryPages427_ImpressiveThemplate $obj
87
  */
88
- function wbcr_clearfy_print_notice_rewrite_rules( $plugin, $obj ) {
89
- if ( WCL_Plugin::app()->getPopulateOption( 'need_rewrite_rules' ) ) {
90
- $obj->printWarningNotice( sprintf( '<span class="wbcr-clr-need-rewrite-rules-message">' . __( 'When you deactivate some components, permanent links may work incorrectly. If this happens, please, <a href="%s">update the permalinks</a>, so you could complete the deactivation.', 'clearfy' ), admin_url( 'options-permalink.php' ) ) . '</span>' );
 
91
  }
92
  }
93
 
94
- add_action( 'wbcr/factory/pages/impressive/print_all_notices', 'wbcr_clearfy_print_notice_rewrite_rules', 10, 2 );
95
 
96
  /**
97
  * Удалем уведомление Clearfy о том, что нужно перезаписать постоянные ссылоки.s
98
  */
99
- function wbcr_clearfy_flush_rewrite_rules() {
100
- WCL_Plugin::app()->deletePopulateOption( 'need_rewrite_rules', 1 );
 
101
  }
102
 
103
- add_action( 'flush_rewrite_rules_hard', 'wbcr_clearfy_flush_rewrite_rules' );
104
 
105
  /**
106
  * Обновить постоынные ссылки, после выполнения быстрых настроек
107
  *
108
- * @param WHM_Plugin $plugin
109
- * @param Wbcr_FactoryPages427_ImpressiveThemplate $obj
110
  */
111
- function wbcr_clearfy_after_form_save( $plugin, $obj ) {
112
- if ( ! WCL_Plugin::app()->currentUserCan() ) {
 
113
  return;
114
  }
115
  $is_clearfy = WCL_Plugin::app()->getPluginName() == $plugin->getPluginName();
116
 
117
- if ( $is_clearfy && $obj->id == 'quick_start' && isset( $_GET['action'] ) && $_GET['action'] == 'flush-cache-and-rules' ) {
118
  require_once ABSPATH . 'wp-admin/includes/file.php';
119
  require_once ABSPATH . 'wp-admin/includes/misc.php';
120
- flush_rewrite_rules( true );
121
  }
122
  }
123
 
124
- add_action( 'wbcr/factory/pages/impressive/after_form_save', 'wbcr_clearfy_after_form_save', 10, 2 );
125
 
126
  /**
127
  * Widget with the offer to buy Clearfy Business
128
  *
129
- * @param array $widgets
130
- * @param string $position
131
- * @param Wbcr_Factory427_Plugin $plugin
132
  */
133
 
134
- add_filter( 'wbcr/factory/pages/impressive/widgets', function ( $widgets, $position, $plugin ) {
135
  $is_current_plugin = $plugin->getPluginName() == WCL_Plugin::app()->getPluginName();
136
 
137
- if ( class_exists( 'WRIO_Plugin' ) ) {
138
  $is_current_plugin = $plugin->getPluginName() === WRIO_Plugin::app()->getPluginName() || $plugin->getPluginName() === WCL_Plugin::app()->getPluginName();
139
  }
140
 
141
- if ( $is_current_plugin ) {
142
 
143
  require_once WCL_PLUGIN_DIR . '/admin/includes/sidebar-widgets.php';
144
 
145
- if ( WCL_Plugin::app()->premium->is_activate() ) {
146
- unset( $widgets['donate_widget'] );
147
 
148
- if ( $position == 'right' ) {
149
- unset( $widgets['adverts_widget'] );
150
- unset( $widgets['business_suggetion'] );
151
- unset( $widgets['rating_widget'] );
152
- unset( $widgets['info_widget'] );
153
  }
154
 
155
  return $widgets;
156
  } else {
157
- if ( $position == 'right' ) {
158
- unset( $widgets['business_suggetion'] );
159
- unset( $widgets['info_widget'] );
160
- unset( $widgets['rating_widget'] );
161
  }
162
  }
163
 
164
- if ( $position == 'bottom' ) {
165
- unset( $widgets['support_widget'] );
166
  $widgets['donate_widget'] = wbcr_clearfy_get_sidebar_premium_widget();
167
  }
168
  }
169
 
170
  return $widgets;
171
- }, 9999, 3 );
172
 
173
  /**
174
  * Remove adverts notices for premium users
175
  */
176
- add_action( 'wbcr/factory/admin_notices', function ( $notices, $plugin_name ) {
177
- if ( $plugin_name != WCL_Plugin::app()->getPluginName() ) {
178
  return $notices;
179
  }
180
 
181
- if ( WCL_Plugin::app()->premium->is_activate() ) {
182
- unset( $notices['adverts_notice'] );
183
  }
184
 
185
  return $notices;
186
- }, 9999, 2 );
187
 
188
  /**
189
  * Remove adverts widgets for premium users
190
  */
191
- add_action( 'wp_dashboard_setup', function () {
192
  global $wp_meta_boxes;
193
 
194
- if ( WCL_Plugin::app()->premium->is_activate() ) {
195
- if ( isset( $wp_meta_boxes['dashboard'] ) ) {
196
- if ( isset( $wp_meta_boxes['dashboard']['normal'] ) && isset( $wp_meta_boxes['dashboard']['normal']['core'] ) && isset( $wp_meta_boxes['dashboard']['normal']['core']['wbcr-factory-adverts-widget'] ) ) {
197
- unset( $wp_meta_boxes['dashboard']['normal']['core']['wbcr-factory-adverts-widget'] );
198
  }
199
- if ( isset( $wp_meta_boxes['dashboard']['side'] ) && isset( $wp_meta_boxes['dashboard']['side']['core'] ) && isset( $wp_meta_boxes['dashboard']['normal']['core']['wbcr-factory-adverts-widget'] ) ) {
200
- unset( $wp_meta_boxes['dashboard']['normal']['core']['wbcr-factory-adverts-widget'] );
201
  }
202
  }
203
  }
204
- }, 9999 );
205
 
206
 
207
 
13
  */
14
 
15
  // Exit if accessed directly
16
+ if( !defined('ABSPATH') ) {
17
  exit;
18
  }
19
 
20
  /**
21
  * Выводит кнопку настроек Clearfy в шапке интерфейса плагина
22
  */
23
+ add_action('wbcr/factory/pages/impressive/header', function ($plugin_name) {
24
+ if( $plugin_name != WCL_Plugin::app()->getPluginName() ) {
25
  return;
26
  }
27
  ?>
28
+ <a href="<?php echo WCL_Plugin::app()->getPluginPageUrl('clearfy_settings') ?>" class="wbcr-factory-button wbcr-factory-type-settings">
29
+ <?php echo apply_filters('wbcr/clearfy/settings_button_title', __('Clearfy settings', 'clearfy')); ?>
30
+ </a>
31
  <?php
32
+ });
33
 
34
  /**
35
  * @param $form
36
+ * @param Wbcr_Factory428_Plugin $plugin
37
+ * @param Wbcr_FactoryPages428_ImpressiveThemplate $obj
38
  */
39
+ function wbcr_clearfy_multisite_before_save($form, $plugin, $obj)
40
+ {
41
+ if( $plugin->getPluginName() !== WCL_Plugin::app()->getPluginName() ) {
42
  return;
43
  }
44
 
45
+ if( $plugin->isNetworkAdmin() ) {
46
+ if( !$plugin->premium->is_activate() && $plugin->isNetworkActive() ) {
47
+ $obj->redirectToAction('multisite-pro');
48
  }
49
  }
50
  }
51
 
52
+ add_action('wbcr/factory/pages/impressive/before_form_save', 'wbcr_clearfy_multisite_before_save', 10, 3);
53
 
54
  /**
55
  * Устанавливает логотип Webcraftic и сборку плагина для Clearfy и всех его компонентов
56
  *
 
 
57
  * @param string $title
58
  *
59
+ * @since 1.4.0
60
+ *
61
  */
62
+ function wbcr_clearfy_branding($title)
63
+ {
64
  $is_premium = WCL_Plugin::app()->premium->is_activate();
65
 
66
+ return 'Webcraftic Clearfy ' . ($is_premium ? '<span class="wbcr-clr-logo-label wbcr-clr-premium-label-logo">' . __('Business', 'clearfy') . '</span>' : '<span class="wbcr-clr-logo-label wbcr-clr-free-label-logo">Free</span>') . ' ver';
67
  }
68
 
69
+ add_action('wbcr/factory/pages/impressive/plugin_title', 'wbcr_clearfy_branding');
70
 
71
  /**
72
  * Подключаем скрипты для установки компонентов Clearfy
73
  * на все страницы админпанели
74
  */
75
+ add_action('admin_enqueue_scripts', function () {
76
+ wp_enqueue_style('wbcr-clearfy-install-components', WCL_PLUGIN_URL . '/admin/assets/css/install-addons.css', [], WCL_Plugin::app()->getPluginVersion());
77
+ wp_enqueue_script('wbcr-clearfy-install-components', WCL_PLUGIN_URL . '/admin/assets/js/install-addons.js', [
78
  'jquery',
79
+ 'wbcr-factory-clearfy-220-global'
80
+ ], WCL_Plugin::app()->getPluginVersion());
81
+ });
82
 
83
  /**
84
  * Выводит уведомление, что нужно сбросить постоянные ссылки.
85
  * Уведомление будет показано на всех страницах Clearfy и его компонентах.
86
  *
87
+ * @param WCL_Plugin $plugin
88
+ * @param Wbcr_FactoryPages428_ImpressiveThemplate $obj
89
  */
90
+ function wbcr_clearfy_print_notice_rewrite_rules($plugin, $obj)
91
+ {
92
+ if( WCL_Plugin::app()->getPopulateOption('need_rewrite_rules') ) {
93
+ $obj->printWarningNotice(sprintf('<span class="wbcr-clr-need-rewrite-rules-message">' . __('When you deactivate some components, permanent links may work incorrectly. If this happens, please, <a href="%s">update the permalinks</a>, so you could complete the deactivation.', 'clearfy'), admin_url('options-permalink.php')) . '</span>');
94
  }
95
  }
96
 
97
+ add_action('wbcr/factory/pages/impressive/print_all_notices', 'wbcr_clearfy_print_notice_rewrite_rules', 10, 2);
98
 
99
  /**
100
  * Удалем уведомление Clearfy о том, что нужно перезаписать постоянные ссылоки.s
101
  */
102
+ function wbcr_clearfy_flush_rewrite_rules()
103
+ {
104
+ WCL_Plugin::app()->deletePopulateOption('need_rewrite_rules', 1);
105
  }
106
 
107
+ add_action('flush_rewrite_rules_hard', 'wbcr_clearfy_flush_rewrite_rules');
108
 
109
  /**
110
  * Обновить постоынные ссылки, после выполнения быстрых настроек
111
  *
112
+ * @param WHM_Plugin $plugin
113
+ * @param Wbcr_FactoryPages428_ImpressiveThemplate $obj
114
  */
115
+ function wbcr_clearfy_after_form_save($plugin, $obj)
116
+ {
117
+ if( !WCL_Plugin::app()->currentUserCan() ) {
118
  return;
119
  }
120
  $is_clearfy = WCL_Plugin::app()->getPluginName() == $plugin->getPluginName();
121
 
122
+ if( $is_clearfy && $obj->id == 'quick_start' && isset($_GET['action']) && $_GET['action'] == 'flush-cache-and-rules' ) {
123
  require_once ABSPATH . 'wp-admin/includes/file.php';
124
  require_once ABSPATH . 'wp-admin/includes/misc.php';
125
+ flush_rewrite_rules(true);
126
  }
127
  }
128
 
129
+ add_action('wbcr/factory/pages/impressive/after_form_save', 'wbcr_clearfy_after_form_save', 10, 2);
130
 
131
  /**
132
  * Widget with the offer to buy Clearfy Business
133
  *
134
+ * @param array $widgets
135
+ * @param string $position
136
+ * @param Wbcr_Factory428_Plugin $plugin
137
  */
138
 
139
+ add_filter('wbcr/factory/pages/impressive/widgets', function ($widgets, $position, $plugin) {
140
  $is_current_plugin = $plugin->getPluginName() == WCL_Plugin::app()->getPluginName();
141
 
142
+ if( class_exists('WRIO_Plugin') ) {
143
  $is_current_plugin = $plugin->getPluginName() === WRIO_Plugin::app()->getPluginName() || $plugin->getPluginName() === WCL_Plugin::app()->getPluginName();
144
  }
145
 
146
+ if( $is_current_plugin ) {
147
 
148
  require_once WCL_PLUGIN_DIR . '/admin/includes/sidebar-widgets.php';
149
 
150
+ if( WCL_Plugin::app()->premium->is_activate() ) {
151
+ unset($widgets['donate_widget']);
152
 
153
+ if( $position == 'right' ) {
154
+ unset($widgets['adverts_widget']);
155
+ unset($widgets['business_suggetion']);
156
+ unset($widgets['rating_widget']);
157
+ unset($widgets['info_widget']);
158
  }
159
 
160
  return $widgets;
161
  } else {
162
+ if( $position == 'right' ) {
163
+ unset($widgets['business_suggetion']);
164
+ unset($widgets['info_widget']);
165
+ unset($widgets['rating_widget']);
166
  }
167
  }
168
 
169
+ if( $position == 'bottom' ) {
170
+ unset($widgets['support_widget']);
171
  $widgets['donate_widget'] = wbcr_clearfy_get_sidebar_premium_widget();
172
  }
173
  }
174
 
175
  return $widgets;
176
+ }, 9999, 3);
177
 
178
  /**
179
  * Remove adverts notices for premium users
180
  */
181
+ add_action('wbcr/factory/admin_notices', function ($notices, $plugin_name) {
182
+ if( $plugin_name != WCL_Plugin::app()->getPluginName() ) {
183
  return $notices;
184
  }
185
 
186
+ if( WCL_Plugin::app()->premium->is_activate() ) {
187
+ unset($notices['adverts_notice']);
188
  }
189
 
190
  return $notices;
191
+ }, 9999, 2);
192
 
193
  /**
194
  * Remove adverts widgets for premium users
195
  */
196
+ add_action('wp_dashboard_setup', function () {
197
  global $wp_meta_boxes;
198
 
199
+ if( WCL_Plugin::app()->premium->is_activate() ) {
200
+ if( isset($wp_meta_boxes['dashboard']) ) {
201
+ if( isset($wp_meta_boxes['dashboard']['normal']) && isset($wp_meta_boxes['dashboard']['normal']['core']) && isset($wp_meta_boxes['dashboard']['normal']['core']['wbcr-factory-adverts-widget']) ) {
202
+ unset($wp_meta_boxes['dashboard']['normal']['core']['wbcr-factory-adverts-widget']);
203
  }
204
+ if( isset($wp_meta_boxes['dashboard']['side']) && isset($wp_meta_boxes['dashboard']['side']['core']) && isset($wp_meta_boxes['dashboard']['normal']['core']['wbcr-factory-adverts-widget']) ) {
205
+ unset($wp_meta_boxes['dashboard']['normal']['core']['wbcr-factory-adverts-widget']);
206
  }
207
  }
208
  }
209
+ }, 9999);
210
 
211
 
212
 
admin/includes/compatibility.php CHANGED
@@ -22,8 +22,8 @@ add_action( 'plugins_loaded', function () {
22
  * Это необходимо, чтоб напомнить пользователю обновить конфигурацию компонентов плагина,
23
  * иначе вновь активированные компоненты не будет зайдествованы в работе плагина.
24
  *
25
- * @param Wbcr_Factory427_Plugin $plugin
26
- * @param Wbcr_FactoryPages427_ImpressiveThemplate $obj
27
  *
28
  * @return bool
29
  */
@@ -52,8 +52,8 @@ add_action( 'plugins_loaded', function () {
52
  * Это необходимо, чтоб напомнить пользователю обновить конфигурацию компонентов плагина,
53
  * иначе вновь активированные компоненты не будет зайдествованы в работе плагина.
54
  *
55
- * @param Wbcr_Factory427_Plugin $plugin
56
- * @param Wbcr_FactoryPages427_ImpressiveThemplate $obj
57
  *
58
  * @return bool
59
  */
22
  * Это необходимо, чтоб напомнить пользователю обновить конфигурацию компонентов плагина,
23
  * иначе вновь активированные компоненты не будет зайдествованы в работе плагина.
24
  *
25
+ * @param Wbcr_Factory428_Plugin $plugin
26
+ * @param Wbcr_FactoryPages428_ImpressiveThemplate $obj
27
  *
28
  * @return bool
29
  */
52
  * Это необходимо, чтоб напомнить пользователю обновить конфигурацию компонентов плагина,
53
  * иначе вновь активированные компоненты не будет зайдествованы в работе плагина.
54
  *
55
+ * @param Wbcr_Factory428_Plugin $plugin
56
+ * @param Wbcr_FactoryPages428_ImpressiveThemplate $obj
57
  *
58
  * @return bool
59
  */
admin/pages/class-page.php CHANGED
@@ -7,36 +7,39 @@
7
  * @version 1.0
8
  */
9
 
10
- class WCL_Page extends Wbcr_FactoryClearfy219_PageBase {
11
 
12
  /**
13
  * Действие выполняется для всех страниц Clearfy и его компонентах.
14
  * Это простое предложение перейти на PRO версию.
15
  */
16
- public function multisiteProAction() {
17
- if ( is_multisite() && $this->plugin->isNetworkActive() ) {
 
18
 
19
- $license_page_url = $this->getBaseUrl( 'clearfy_license' );
20
- $upgrade_url = $this->plugin->get_support()->get_pricing_url( true, 'multisite_save_settings' );
21
 
22
- $html = '<div class="wbcr-factory-clearfy-219-multisite-suggetion">';
23
  $html .= '<div class="wbcr-factory-inner-contanier">';
24
- $html .= '<h3>' . __( 'Upgrade to Clearfy Business', 'wbcr_factory_clearfy_219' ) . '</h3>';
25
- $html .= '<p>' . __( 'Oops... Sorry for the inconvenience caused!', 'wbcr_factory_clearfy_219' ) . '</p>';
26
- $html .= '<p>' . __( 'Complete multisite support is available in Clearfy Business and Clearfy Business Revolution packages only!', 'wbcr_factory_clearfy_219' ) . '</p>';
27
- $html .= '<p>' . __( 'You can activate the plugin on each website and use it with zero limitations. But you can’t save the plugin’s settings under the Super Administrator role!', 'wbcr_factory_clearfy_219' ) . '</p>';
28
  $html .= '<p style="margin-top:20px">';
29
- $html .= '<a href="' . $license_page_url . '" class="wbcr-factory-activate-premium" rel="noopener">' . __( 'Activate license ', 'wbcr_factory_clearfy_219' ) . '</a> ';
30
- $html .= '<a href="' . $upgrade_url . '" class="wbcr-factory-purchase-premium" target="_blank" rel="noopener">' . __( 'Upgrade to Clearfy Business', 'wbcr_factory_clearfy_219' ) . '</a>';
31
  $html .= '</p>';
32
  $html .= '</div>';
33
  $html .= '</div>';
34
 
35
- $this->showPage( $html );
36
 
37
  return;
38
  }
39
 
40
- $this->redirectToAction( 'index' );
41
  }
 
 
42
  }
7
  * @version 1.0
8
  */
9
 
10
+ class WCL_Page extends Wbcr_FactoryClearfy220_PageBase {
11
 
12
  /**
13
  * Действие выполняется для всех страниц Clearfy и его компонентах.
14
  * Это простое предложение перейти на PRO версию.
15
  */
16
+ public function multisiteProAction()
17
+ {
18
+ if( is_multisite() && $this->plugin->isNetworkActive() ) {
19
 
20
+ $license_page_url = $this->getBaseUrl('clearfy_license');
21
+ $upgrade_url = $this->plugin->get_support()->get_pricing_url(true, 'multisite_save_settings');
22
 
23
+ $html = '<div class="wbcr-factory-clearfy-220-multisite-suggetion">';
24
  $html .= '<div class="wbcr-factory-inner-contanier">';
25
+ $html .= '<h3>' . __('Upgrade to Clearfy Business', 'wbcr_factory_clearfy_220') . '</h3>';
26
+ $html .= '<p>' . __('Oops... Sorry for the inconvenience caused!', 'wbcr_factory_clearfy_220') . '</p>';
27
+ $html .= '<p>' . __('Complete multisite support is available in Clearfy Business and Clearfy Business Revolution packages only!', 'wbcr_factory_clearfy_220') . '</p>';
28
+ $html .= '<p>' . __('You can activate the plugin on each website and use it with zero limitations. But you can’t save the plugin’s settings under the Super Administrator role!', 'wbcr_factory_clearfy_220') . '</p>';
29
  $html .= '<p style="margin-top:20px">';
30
+ $html .= '<a href="' . $license_page_url . '" class="wbcr-factory-activate-premium" rel="noopener">' . __('Activate license ', 'wbcr_factory_clearfy_220') . '</a> ';
31
+ $html .= '<a href="' . $upgrade_url . '" class="wbcr-factory-purchase-premium" target="_blank" rel="noopener">' . __('Upgrade to Clearfy Business', 'wbcr_factory_clearfy_220') . '</a>';
32
  $html .= '</p>';
33
  $html .= '</div>';
34
  $html .= '</div>';
35
 
36
+ $this->showPage($html);
37
 
38
  return;
39
  }
40
 
41
+ $this->redirectToAction('index');
42
  }
43
+
44
+
45
  }
admin/pages/class-pages-advanced.php CHANGED
@@ -1,96 +1,96 @@
1
  <?php
2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  /**
4
- * The page Settings.
 
 
 
5
  *
6
  * @since 1.0.0
 
 
 
 
 
 
 
 
 
 
 
 
7
  */
 
 
 
 
 
 
8
 
9
- // Exit if accessed directly
10
- if( !defined('ABSPATH') ) {
11
- exit;
12
  }
13
-
14
- class WCL_AdvancedPage extends WCL_Page {
15
-
16
- /**
17
- * The id of the page in the admin menu.
18
- *
19
- * Mainly used to navigate between pages.
20
- * @see FactoryPages427_AdminPage
21
- *
22
- * @since 1.0.0
23
- * @var string
24
- */
25
- public $id = "advanced";
26
-
27
- public $page_menu_dashicon = 'dashicons-list-view';
28
-
29
- public $page_menu_position = 1;
30
-
31
- public $available_for_multisite = true;
32
-
33
- /**
34
- * @param WCL_Plugin $plugin
35
- */
36
- public function __construct(WCL_Plugin $plugin)
37
- {
38
- $this->menu_title = __('Advanced', 'clearfy');
39
- $this->page_menu_short_description = __('Useful tweaks', 'clearfy');
40
-
41
- parent::__construct($plugin);
42
-
43
- $this->plugin = $plugin;
44
- }
45
 
46
- /**
47
- * Permalinks options.
48
- *
49
- * @since 1.0.0
50
- * @return mixed[]
51
- */
52
- public function getPageOptions()
53
- {
54
-
55
- $options = array();
56
-
57
- //============================================================
58
- // ADMINBAR MANAGER COMPONENT
59
- //============================================================
60
-
61
- if( $this->plugin->isActivateComponent('adminbar_manager') ) {
62
- $options[] = array(
63
- 'type' => 'html',
64
- 'html' => '<div class="wbcr-clearfy-group-header">' . '<strong>' . __('Admin bar', 'clearfy') . '</strong>' . '<p>' . __('In this group of settings, you can manage the adminbar.', 'clearfy') . '</p>' . '</div>'
65
- );
66
-
67
- $options[] = array(
68
- 'type' => 'dropdown',
69
- 'name' => 'disable_admin_bar',
70
- 'way' => 'buttons',
71
- 'title' => __('Disable admin top bar', 'clearfy'),
72
- 'data' => array(
73
- array('enable', __('Default enable', 'clearfy')),
74
- array('for_all_users', __('For all users', 'clearfy')),
75
- array(
76
- 'for_all_users_except_administrator',
77
- __('For all users except administrator', 'clearfy')
78
- )
79
- ),
80
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
81
- 'hint' => __('In some cases, you need to disable the floating top admin panel. You can disable this panel.', 'clearfy') . '<br><b>Clearfy</b>: ' . __('Disable admin top bar.', 'clearfy'),
82
- 'default' => 'enable',
83
- );
84
- }
85
-
86
- $formOptions = array();
87
-
88
- $formOptions[] = array(
89
- 'type' => 'form-group',
90
- 'items' => $options,
91
- //'cssClass' => 'postbox'
92
  );
93
 
94
- return apply_filters('wbcr_clr_additionally_form_options', $formOptions, $this);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
95
  }
 
 
 
 
 
 
 
 
 
 
96
  }
 
1
  <?php
2
 
3
+ /**
4
+ * The page Settings.
5
+ *
6
+ * @since 1.0.0
7
+ */
8
+
9
+ // Exit if accessed directly
10
+ if( !defined('ABSPATH') ) {
11
+ exit;
12
+ }
13
+
14
+ class WCL_AdvancedPage extends WCL_Page {
15
+
16
  /**
17
+ * The id of the page in the admin menu.
18
+ *
19
+ * Mainly used to navigate between pages.
20
+ * @see FactoryPages428_AdminPage
21
  *
22
  * @since 1.0.0
23
+ * @var string
24
+ */
25
+ public $id = "advanced";
26
+
27
+ public $page_menu_dashicon = 'dashicons-list-view';
28
+
29
+ public $page_menu_position = 1;
30
+
31
+ public $available_for_multisite = true;
32
+
33
+ /**
34
+ * @param WCL_Plugin $plugin
35
  */
36
+ public function __construct(WCL_Plugin $plugin)
37
+ {
38
+ $this->menu_title = __('Advanced', 'clearfy');
39
+ $this->page_menu_short_description = __('Useful tweaks', 'clearfy');
40
+
41
+ parent::__construct($plugin);
42
 
43
+ $this->plugin = $plugin;
 
 
44
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
45
 
46
+ /**
47
+ * Permalinks options.
48
+ *
49
+ * @return mixed[]
50
+ * @since 1.0.0
51
+ */
52
+ public function getPageOptions()
53
+ {
54
+
55
+ $options = array();
56
+
57
+ //============================================================
58
+ // ADMINBAR MANAGER COMPONENT
59
+ //============================================================
60
+
61
+ if( $this->plugin->isActivateComponent('adminbar_manager') ) {
62
+ $options[] = array(
63
+ 'type' => 'html',
64
+ 'html' => '<div class="wbcr-clearfy-group-header">' . '<strong>' . __('Admin bar', 'clearfy') . '</strong>' . '<p>' . __('In this group of settings, you can manage the adminbar.', 'clearfy') . '</p>' . '</div>'
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
65
  );
66
 
67
+ $options[] = array(
68
+ 'type' => 'dropdown',
69
+ 'name' => 'disable_admin_bar',
70
+ 'way' => 'buttons',
71
+ 'title' => __('Disable admin top bar', 'clearfy'),
72
+ 'data' => array(
73
+ array('enable', __('Default enable', 'clearfy')),
74
+ array('for_all_users', __('For all users', 'clearfy')),
75
+ array(
76
+ 'for_all_users_except_administrator',
77
+ __('For all users except administrator', 'clearfy')
78
+ )
79
+ ),
80
+ 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
81
+ 'hint' => __('In some cases, you need to disable the floating top admin panel. You can disable this panel.', 'clearfy') . '<br><b>Clearfy</b>: ' . __('Disable admin top bar.', 'clearfy'),
82
+ 'default' => 'enable',
83
+ );
84
  }
85
+
86
+ $formOptions = array();
87
+
88
+ $formOptions[] = array(
89
+ 'type' => 'form-group',
90
+ 'items' => $options,
91
+ //'cssClass' => 'postbox'
92
+ );
93
+
94
+ return apply_filters('wbcr_clr_additionally_form_options', $formOptions, $this);
95
  }
96
+ }
admin/pages/class-pages-clearfy-settings.php CHANGED
@@ -19,7 +19,7 @@ class WCL_ClearfySettingsPage extends WCL_Page {
19
  * Mainly used to navigate between pages.
20
  *
21
  * @since 1.0.0
22
- * @see FactoryPages427_AdminPage
23
  *
24
  * @var string
25
  */
@@ -58,7 +58,7 @@ class WCL_ClearfySettingsPage extends WCL_Page {
58
  *
59
  * @since 1.0.0
60
  * @return void
61
- * @see FactoryPages427_AdminPage
62
  *
63
  */
64
  public function assets( $scripts, $styles ) {
19
  * Mainly used to navigate between pages.
20
  *
21
  * @since 1.0.0
22
+ * @see FactoryPages428_AdminPage
23
  *
24
  * @var string
25
  */
58
  *
59
  * @since 1.0.0
60
  * @return void
61
+ * @see FactoryPages428_AdminPage
62
  *
63
  */
64
  public function assets( $scripts, $styles ) {
admin/pages/class-pages-components-license.php CHANGED
@@ -55,12 +55,12 @@
55
  /**
56
  * WCL_LicensePage constructor.
57
  *
58
- * @param \Wbcr_Factory427_Plugin $plugin
59
  *
60
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
61
  *
62
  */
63
- public function __construct( Wbcr_Factory427_Plugin $plugin ) {
64
  $this->menu_title = __( 'License', 'robin-image-optimizer' );
65
  $this->page_menu_short_description = __( 'Product activation', 'robin-image-optimizer' );
66
  $this->plan_name = __( 'Clearfy Business', 'robin-image-optimizer' );
@@ -73,7 +73,7 @@
73
  *
74
  * @return void
75
  * @since 1.0.0
76
- * @see FactoryPages427_AdminPage
77
  *
78
  */
79
  public function assets( $scripts, $styles ) {
@@ -82,8 +82,8 @@
82
  $this->styles->add( WCL_PLUGIN_URL . '/admin/assets/css/components.css' );
83
 
84
  /**
85
- * @param Wbcr_Factory427_StyleList $styles
86
- * @param Wbcr_Factory427_ScriptList $scripts
87
  *
88
  * @since 1.4.0
89
  *
55
  /**
56
  * WCL_LicensePage constructor.
57
  *
58
+ * @param \Wbcr_Factory428_Plugin $plugin
59
  *
60
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
61
  *
62
  */
63
+ public function __construct( Wbcr_Factory428_Plugin $plugin ) {
64
  $this->menu_title = __( 'License', 'robin-image-optimizer' );
65
  $this->page_menu_short_description = __( 'Product activation', 'robin-image-optimizer' );
66
  $this->plan_name = __( 'Clearfy Business', 'robin-image-optimizer' );
73
  *
74
  * @return void
75
  * @since 1.0.0
76
+ * @see FactoryPages428_AdminPage
77
  *
78
  */
79
  public function assets( $scripts, $styles ) {
82
  $this->styles->add( WCL_PLUGIN_URL . '/admin/assets/css/components.css' );
83
 
84
  /**
85
+ * @param Wbcr_Factory428_StyleList $styles
86
+ * @param Wbcr_Factory428_ScriptList $scripts
87
  *
88
  * @since 1.4.0
89
  *
admin/pages/class-pages-components.php CHANGED
@@ -21,7 +21,7 @@ class WCL_ComponentsPage extends WCL_Page {
21
  * Mainly used to navigate between pages.
22
  *
23
  * @since 1.0.0
24
- * @see FactoryPages427_AdminPage
25
  *
26
  * @var string
27
  */
@@ -55,7 +55,7 @@ class WCL_ComponentsPage extends WCL_Page {
55
  *
56
  * @return void
57
  * @since 1.0.0
58
- * @see FactoryPages427_AdminPage
59
  *
60
  */
61
  public function assets($scripts, $styles)
@@ -65,8 +65,8 @@ class WCL_ComponentsPage extends WCL_Page {
65
  $this->styles->add(WCL_PLUGIN_URL . '/admin/assets/css/components.css');
66
 
67
  /**
68
- * @param Wbcr_Factory427_StyleList $styles
69
- * @param Wbcr_Factory427_ScriptList $scripts
70
  * @since 1.4.0
71
  *
72
  */
@@ -77,10 +77,10 @@ class WCL_ComponentsPage extends WCL_Page {
77
  * We register notifications for some actions
78
  *
79
  * @param $notices
80
- * @param Wbcr_Factory427_Plugin $plugin
81
  *
82
  * @return array
83
- * @see libs\factory\pages\themplates\FactoryPages427_ImpressiveThemplate
84
  */
85
  public function getActionNotices($notices)
86
  {
@@ -177,6 +177,15 @@ class WCL_ComponentsPage extends WCL_Page {
177
  'icon' => WCL_PLUGIN_URL . '/admin/assets/img/sfi-icon-256x256.png',
178
  'description' => __('Automatically assign alt and title for images, flexibly customize the template.', 'clearfy')
179
  ],
 
 
 
 
 
 
 
 
 
180
  [
181
  'name' => 'robin_image_optimizer',
182
  'title' => __('Robin image optimizer', 'clearfy'),
21
  * Mainly used to navigate between pages.
22
  *
23
  * @since 1.0.0
24
+ * @see FactoryPages428_AdminPage
25
  *
26
  * @var string
27
  */
55
  *
56
  * @return void
57
  * @since 1.0.0
58
+ * @see FactoryPages428_AdminPage
59
  *
60
  */
61
  public function assets($scripts, $styles)
65
  $this->styles->add(WCL_PLUGIN_URL . '/admin/assets/css/components.css');
66
 
67
  /**
68
+ * @param Wbcr_Factory428_StyleList $styles
69
+ * @param Wbcr_Factory428_ScriptList $scripts
70
  * @since 1.4.0
71
  *
72
  */
77
  * We register notifications for some actions
78
  *
79
  * @param $notices
80
+ * @param Wbcr_Factory428_Plugin $plugin
81
  *
82
  * @return array
83
+ * @see libs\factory\pages\themplates\FactoryPages428_ImpressiveThemplate
84
  */
85
  public function getActionNotices($notices)
86
  {
177
  'icon' => WCL_PLUGIN_URL . '/admin/assets/img/sfi-icon-256x256.png',
178
  'description' => __('Automatically assign alt and title for images, flexibly customize the template.', 'clearfy')
179
  ],
180
+ [
181
+ 'name' => 'async_js',
182
+ 'title' => __('Async JS', 'clearfy'),
183
+ 'type' => 'internal',
184
+ 'build' => 'premium',
185
+ 'url' => 'https://clearfy.pro/',
186
+ 'icon' => WCL_PLUGIN_URL . '/admin/assets/img/async-js-icon-128x128.png',
187
+ 'description' => __('Async Javascript lets you add async or defer attribute to scripts to exclude to help increase the performance of your WordPres…', 'clearfy')
188
+ ],
189
  [
190
  'name' => 'robin_image_optimizer',
191
  'title' => __('Robin image optimizer', 'clearfy'),
admin/pages/class-pages-defence-titan.php CHANGED
@@ -19,12 +19,14 @@ class WCL_TitanSecurityPage extends WCL_Page {
19
  * Mainly used to navigate between pages.
20
  *
21
  * @since 1.0.0
22
- * @see FactoryPages427_AdminPage
23
  *
24
  * @var string
25
  */
26
  public $id = "clearfy_titan";
27
 
 
 
28
  /**
29
  * @var string
30
  */
@@ -62,7 +64,7 @@ class WCL_TitanSecurityPage extends WCL_Page {
62
  */
63
  public function __construct(WCL_Plugin $plugin)
64
  {
65
- $this->menu_title = __('Security', 'clearfy');
66
  $this->page_menu_short_description = __('Firewall and Anti-virus', 'clearfy');
67
 
68
  parent::__construct($plugin);
@@ -81,7 +83,7 @@ class WCL_TitanSecurityPage extends WCL_Page {
81
  ?>
82
  <script>
83
  jQuery(document).ready(function($) {
84
- $.wbcr_factory_clearfy_219.hooks.add('clearfy/components/updated', function(button, component_name) {
85
  if( component_name.plugin_action == 'install' ) {
86
  button.removeClass('wbcr-factory-purchase-premium');
87
  button.addClass('wbcr-factory-activate-premium');
@@ -94,7 +96,7 @@ class WCL_TitanSecurityPage extends WCL_Page {
94
  });
95
  });
96
  </script>
97
- <div class="wbcr-factory-clearfy-219-multisite-suggetion">
98
  <div class="wbcr-factory-inner-contanier">
99
  <h3>
100
  <a href="https://wordpress.org/plugins/anti-spam" target="_blank"><?php _e('Install Firewall and Malware scanner (Titan sucurity) component', 'clearfy') ?></a>
19
  * Mainly used to navigate between pages.
20
  *
21
  * @since 1.0.0
22
+ * @see FactoryPages428_AdminPage
23
  *
24
  * @var string
25
  */
26
  public $id = "clearfy_titan";
27
 
28
+ public $page_parent_page = "defence";
29
+
30
  /**
31
  * @var string
32
  */
64
  */
65
  public function __construct(WCL_Plugin $plugin)
66
  {
67
+ $this->menu_title = __('Malware Scanner, Firewall', 'clearfy');
68
  $this->page_menu_short_description = __('Firewall and Anti-virus', 'clearfy');
69
 
70
  parent::__construct($plugin);
83
  ?>
84
  <script>
85
  jQuery(document).ready(function($) {
86
+ $.wbcr_factory_clearfy_220.hooks.add('clearfy/components/updated', function(button, component_name) {
87
  if( component_name.plugin_action == 'install' ) {
88
  button.removeClass('wbcr-factory-purchase-premium');
89
  button.addClass('wbcr-factory-activate-premium');
96
  });
97
  });
98
  </script>
99
+ <div class="wbcr-factory-clearfy-220-multisite-suggetion">
100
  <div class="wbcr-factory-inner-contanier">
101
  <h3>
102
  <a href="https://wordpress.org/plugins/anti-spam" target="_blank"><?php _e('Install Firewall and Malware scanner (Titan sucurity) component', 'clearfy') ?></a>
admin/pages/class-pages-defence.php CHANGED
@@ -17,7 +17,7 @@ class WCL_DefencePage extends WCL_Page {
17
  * The id of the page in the admin menu.
18
  *
19
  * Mainly used to navigate between pages.
20
- * @see FactoryPages427_AdminPage
21
  *
22
  * @since 1.0.0
23
  * @var string
@@ -132,7 +132,7 @@ class WCL_DefencePage extends WCL_Page {
132
  //'cssClass' => 'postbox'
133
  );
134
 
135
- return wbcr_factory_427_apply_filters_deprecated( 'wbcr_clr_defence_form_options', array(
136
  $form_options,
137
  $this
138
  ), '1.3.1', 'wbcr_clearfy_defence_form_options' );
17
  * The id of the page in the admin menu.
18
  *
19
  * Mainly used to navigate between pages.
20
+ * @see FactoryPages428_AdminPage
21
  *
22
  * @since 1.0.0
23
  * @var string
132
  //'cssClass' => 'postbox'
133
  );
134
 
135
+ return wbcr_factory_428_apply_filters_deprecated( 'wbcr_clr_defence_form_options', array(
136
  $form_options,
137
  $this
138
  ), '1.3.1', 'wbcr_clearfy_defence_form_options' );
admin/pages/class-pages-hide-login-page.php CHANGED
@@ -17,7 +17,7 @@
17
  * The id of the page in the admin menu.
18
  *
19
  * Mainly used to navigate between pages.
20
- * @see FactoryPages427_AdminPage
21
  *
22
  * @since 1.0.0
23
  * @var string
@@ -78,7 +78,7 @@
78
  ?>
79
  <script>
80
  jQuery(document).ready(function($) {
81
- $.wbcr_factory_clearfy_219.hooks.add('clearfy/components/updated', function(button, component_name) {
82
  if( component_name.plugin_action == 'install' ) {
83
  button.removeClass('wbcr-factory-purchase-premium');
84
  button.addClass('wbcr-factory-activate-premium');
@@ -91,7 +91,7 @@
91
  });
92
  });
93
  </script>
94
- <div class="wbcr-factory-clearfy-219-multisite-suggetion">
95
  <div class="wbcr-factory-inner-contanier">
96
  <h3><?php _e('Install Hide login page component', 'clearfy') ?></h3>
97
 
17
  * The id of the page in the admin menu.
18
  *
19
  * Mainly used to navigate between pages.
20
+ * @see FactoryPages428_AdminPage
21
  *
22
  * @since 1.0.0
23
  * @var string
78
  ?>
79
  <script>
80
  jQuery(document).ready(function($) {
81
+ $.wbcr_factory_clearfy_220.hooks.add('clearfy/components/updated', function(button, component_name) {
82
  if( component_name.plugin_action == 'install' ) {
83
  button.removeClass('wbcr-factory-purchase-premium');
84
  button.addClass('wbcr-factory-activate-premium');
91
  });
92
  });
93
  </script>
94
+ <div class="wbcr-factory-clearfy-220-multisite-suggetion">
95
  <div class="wbcr-factory-inner-contanier">
96
  <h3><?php _e('Install Hide login page component', 'clearfy') ?></h3>
97
 
admin/pages/class-pages-image-optimization.php CHANGED
@@ -19,7 +19,7 @@ class WCL_ImageOptimizationPage extends WCL_Page {
19
  * Mainly used to navigate between pages.
20
  *
21
  * @since 1.0.0
22
- * @see FactoryPages427_AdminPage
23
  *
24
  * @var string
25
  */
@@ -79,7 +79,7 @@ class WCL_ImageOptimizationPage extends WCL_Page {
79
  ?>
80
  <script>
81
  jQuery(document).ready(function($) {
82
- $.wbcr_factory_clearfy_219.hooks.add('clearfy/components/updated', function(button, component_name) {
83
  if( component_name.plugin_action == 'install' ) {
84
  button.removeClass('wbcr-factory-purchase-premium');
85
  button.addClass('wbcr-factory-activate-premium');
@@ -92,7 +92,7 @@ class WCL_ImageOptimizationPage extends WCL_Page {
92
  });
93
  });
94
  </script>
95
- <div class="wbcr-factory-clearfy-219-multisite-suggetion">
96
  <div class="wbcr-factory-inner-contanier">
97
  <h3><?php _e( 'Install Robin Image Optimizer component', 'clearfy' ) ?></h3>
98
  <p><?php _e( 'To start optimizing images, you need to install the additional component Robin image optimizer!', 'clearfy' ) ?></p>
19
  * Mainly used to navigate between pages.
20
  *
21
  * @since 1.0.0
22
+ * @see FactoryPages428_AdminPage
23
  *
24
  * @var string
25
  */
79
  ?>
80
  <script>
81
  jQuery(document).ready(function($) {
82
+ $.wbcr_factory_clearfy_220.hooks.add('clearfy/components/updated', function(button, component_name) {
83
  if( component_name.plugin_action == 'install' ) {
84
  button.removeClass('wbcr-factory-purchase-premium');
85
  button.addClass('wbcr-factory-activate-premium');
92
  });
93
  });
94
  </script>
95
+ <div class="wbcr-factory-clearfy-220-multisite-suggetion">
96
  <div class="wbcr-factory-inner-contanier">
97
  <h3><?php _e( 'Install Robin Image Optimizer component', 'clearfy' ) ?></h3>
98
  <p><?php _e( 'To start optimizing images, you need to install the additional component Robin image optimizer!', 'clearfy' ) ?></p>
admin/pages/class-pages-license.php CHANGED
@@ -13,7 +13,7 @@
13
  *
14
  * @copyright (c) 2018 Webraftic Ltd
15
  */
16
- class WCL_LicensePage extends Wbcr_FactoryClearfy219_LicensePage {
17
 
18
  /**
19
  * {@inheritdoc}
@@ -36,12 +36,12 @@
36
  /**
37
  * WCL_LicensePage constructor.
38
  *
39
- * @param \Wbcr_Factory427_Plugin $plugin
40
  *
41
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
42
  *
43
  */
44
- public function __construct( Wbcr_Factory427_Plugin $plugin ) {
45
  $this->menu_title = __( 'License', 'robin-image-optimizer' );
46
  $this->page_menu_short_description = __( 'Product activation', 'robin-image-optimizer' );
47
  $this->plan_name = __( 'Clearfy Business', 'robin-image-optimizer' );
13
  *
14
  * @copyright (c) 2018 Webraftic Ltd
15
  */
16
+ class WCL_LicensePage extends Wbcr_FactoryClearfy220_LicensePage {
17
 
18
  /**
19
  * {@inheritdoc}
36
  /**
37
  * WCL_LicensePage constructor.
38
  *
39
+ * @param \Wbcr_Factory428_Plugin $plugin
40
  *
41
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
42
  *
43
  */
44
+ public function __construct( Wbcr_Factory428_Plugin $plugin ) {
45
  $this->menu_title = __( 'License', 'robin-image-optimizer' );
46
  $this->page_menu_short_description = __( 'Product activation', 'robin-image-optimizer' );
47
  $this->plan_name = __( 'Clearfy Business', 'robin-image-optimizer' );
admin/pages/class-pages-performance-google.php CHANGED
@@ -16,7 +16,7 @@
16
  * The id of the page in the admin menu.
17
  *
18
  * Mainly used to navigate between pages.
19
- * @see FactoryPages427_AdminPage
20
  *
21
  * @since 1.0.0
22
  * @var string
16
  * The id of the page in the admin menu.
17
  *
18
  * Mainly used to navigate between pages.
19
+ * @see FactoryPages428_AdminPage
20
  *
21
  * @since 1.0.0
22
  * @var string
admin/pages/class-pages-quick-start.php CHANGED
@@ -17,7 +17,7 @@
17
  * The id of the page in the admin menu.
18
  *
19
  * Mainly used to navigate between pages.
20
- * @see FactoryPages427_AdminPage
21
  *
22
  * @since 1.0.0
23
  * @var string
@@ -79,7 +79,7 @@
79
  /**
80
  * Requests assets (js and css) for the page.
81
  *
82
- * @see FactoryPages427_AdminPage
83
  *
84
  * @since 1.0.0
85
  * @return void
17
  * The id of the page in the admin menu.
18
  *
19
  * Mainly used to navigate between pages.
20
+ * @see FactoryPages428_AdminPage
21
  *
22
  * @since 1.0.0
23
  * @var string
79
  /**
80
  * Requests assets (js and css) for the page.
81
  *
82
+ * @see FactoryPages428_AdminPage
83
  *
84
  * @since 1.0.0
85
  * @return void
admin/pages/class-pages-seo-double-pages.php CHANGED
@@ -16,7 +16,7 @@
16
  * The id of the page in the admin menu.
17
  *
18
  * Mainly used to navigate between pages.
19
- * @see FactoryPages427_AdminPage
20
  *
21
  * @since 1.0.0
22
  * @var string
16
  * The id of the page in the admin menu.
17
  *
18
  * Mainly used to navigate between pages.
19
+ * @see FactoryPages428_AdminPage
20
  *
21
  * @since 1.0.0
22
  * @var string
admin/pages/class-pages-seo.php CHANGED
@@ -16,7 +16,7 @@
16
  * The id of the page in the admin menu.
17
  *
18
  * Mainly used to navigate between pages.
19
- * @see FactoryPages427_AdminPage
20
  *
21
  * @since 1.0.0
22
  * @var string
16
  * The id of the page in the admin menu.
17
  *
18
  * Mainly used to navigate between pages.
19
+ * @see FactoryPages428_AdminPage
20
  *
21
  * @since 1.0.0
22
  * @var string
admin/pages/class-pages-widgets.php CHANGED
@@ -1,194 +1,196 @@
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  /**
3
- * The page Settings.
 
 
 
4
  *
5
  * @since 1.0.0
 
6
  */
 
7
 
8
- // Exit if accessed directly
9
- if( !defined('ABSPATH') ) {
10
- exit;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
  }
12
 
13
- class WCL_WidgetsPage extends WCL_Page {
14
-
15
- /**
16
- * The id of the page in the admin menu.
17
- *
18
- * Mainly used to navigate between pages.
19
- * @see FactoryPages427_AdminPage
20
- *
21
- * @since 1.0.0
22
- * @var string
23
- */
24
- public $id = "widgets";
25
-
26
- public $page_menu_dashicon = 'dashicons-networking';
27
-
28
- public $available_for_multisite = true;
29
-
30
- /**
31
- * @param WCL_Plugin $plugin
32
- */
33
- public function __construct(WCL_Plugin $plugin)
34
- {
35
- $this->menu_title = __('Widgets', 'clearfy');
36
- $this->page_menu_short_description = __('Disable unused widgets', 'clearfy');
37
-
38
- parent::__construct($plugin);
39
-
40
- $this->plugin = $plugin;
41
- }
42
-
43
- /**
44
- * Permalinks options.
45
- *
46
- * @since 1.0.0
47
- * @return mixed[]
48
- */
49
- public function getPageOptions()
50
- {
51
- $options = array();
52
-
53
- $options[] = array(
54
- 'type' => 'html',
55
- 'html' => '<div class="wbcr-factory-page-group-header">' . __('<strong>Disable unused widgets</strong>.', 'clearfy') . '<p>' . __('Some widgets, such as the Calendar or Tag Cloud, create an extra query to the database, even if they are not displayed on the website. Of course, a couple of hits to the database will not do much harm to the whole site. However, if the resource contains a huge amount of content, and the speed of its work above all else, disabling unused functionality is the first step to optimizing and accelerating it.', 'clearfy') . '</p></div>'
56
- );
57
-
58
- $options[] = array(
59
- 'type' => 'checkbox',
60
- 'way' => 'buttons',
61
- 'name' => 'remove_unneeded_widget_page',
62
- 'title' => __('Remove the "Pages" widget', 'clearfy'),
63
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
64
- 'default' => false
65
- );
66
-
67
- $options[] = array(
68
- 'type' => 'checkbox',
69
- 'way' => 'buttons',
70
- 'name' => 'remove_unneeded_widget_calendar',
71
- 'title' => __('Remove calendar widget', 'clearfy'),
72
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
73
- 'default' => false
74
- );
75
-
76
- $options[] = array(
77
- 'type' => 'checkbox',
78
- 'way' => 'buttons',
79
- 'name' => 'remove_unneeded_widget_tag_cloud',
80
- 'title' => __('Remove the "Cloud of tags" widget', 'clearfy'),
81
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
82
- 'default' => false
83
- );
84
-
85
- $options[] = array(
86
- 'type' => 'checkbox',
87
- 'way' => 'buttons',
88
- 'name' => 'remove_unneeded_widget_archives',
89
- 'title' => __('Remove the "Archives" widget', 'clearfy'),
90
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
91
- 'default' => false
92
- );
93
-
94
- $options[] = array(
95
- 'type' => 'checkbox',
96
- 'way' => 'buttons',
97
- 'name' => 'remove_unneeded_widget_links',
98
- 'title' => __('Remove the "Links" widget', 'clearfy'),
99
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
100
- 'default' => false
101
- );
102
-
103
- $options[] = array(
104
- 'type' => 'checkbox',
105
- 'way' => 'buttons',
106
- 'name' => 'remove_unneeded_widget_meta',
107
- 'title' => __('Remove the "Meta" widget', 'clearfy'),
108
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
109
- 'default' => false
110
- );
111
-
112
- $options[] = array(
113
- 'type' => 'checkbox',
114
- 'way' => 'buttons',
115
- 'name' => 'remove_unneeded_widget_search',
116
- 'title' => __('Remove the "Search" widget', 'clearfy'),
117
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
118
- 'default' => false
119
- );
120
-
121
- $options[] = array(
122
- 'type' => 'checkbox',
123
- 'way' => 'buttons',
124
- 'name' => 'remove_unneeded_widget_text',
125
- 'title' => __('Remove the "Text" widget', 'clearfy'),
126
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
127
- 'default' => false
128
- );
129
-
130
- $options[] = array(
131
- 'type' => 'checkbox',
132
- 'way' => 'buttons',
133
- 'name' => 'remove_unneeded_widget_categories',
134
- 'title' => __('Remove the "Categories" widget', 'clearfy'),
135
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
136
- 'default' => false
137
- );
138
-
139
- $options[] = array(
140
- 'type' => 'checkbox',
141
- 'way' => 'buttons',
142
- 'name' => 'remove_unneeded_widget_recent_posts',
143
- 'title' => __('Remove the "Recent Posts" widget', 'clearfy'),
144
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
145
- 'default' => false
146
- );
147
-
148
- $options[] = array(
149
- 'type' => 'checkbox',
150
- 'way' => 'buttons',
151
- 'name' => 'remove_unneeded_widget_recent_comments',
152
- 'title' => __('Remove the "Recent Comments" widget', 'clearfy'),
153
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
154
- 'default' => false
155
- );
156
-
157
- $options[] = array(
158
- 'type' => 'checkbox',
159
- 'way' => 'buttons',
160
- 'name' => 'remove_unneeded_widget_rss',
161
- 'title' => __('Remove the "RSS" widget', 'clearfy'),
162
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
163
- 'default' => false
164
- );
165
-
166
- $options[] = array(
167
- 'type' => 'checkbox',
168
- 'way' => 'buttons',
169
- 'name' => 'remove_unneeded_widget_menu',
170
- 'title' => __('Remove the "Menu" widget', 'clearfy'),
171
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
172
- 'default' => false
173
- );
174
-
175
- $options[] = array(
176
- 'type' => 'checkbox',
177
- 'way' => 'buttons',
178
- 'name' => 'remove_unneeded_widget_twenty_eleven_ephemera',
179
- 'title' => __('Remove the "Twenty Eleven Ephemera" widget', 'clearfy'),
180
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
181
- 'default' => false
182
- );
183
-
184
- $form_options = array();
185
-
186
- $form_options[] = array(
187
- 'type' => 'form-group',
188
- 'items' => $options,
189
- //'cssClass' => 'postbox'
190
- );
191
-
192
- return apply_filters('wbcr_clr_widgets_form_options', $form_options, $this);
193
- }
194
  }
 
1
  <?php
2
+ /**
3
+ * The page Settings.
4
+ *
5
+ * @since 1.0.0
6
+ */
7
+
8
+ // Exit if accessed directly
9
+ if( !defined('ABSPATH') ) {
10
+ exit;
11
+ }
12
+
13
+ class WCL_WidgetsPage extends WCL_Page {
14
+
15
  /**
16
+ * The id of the page in the admin menu.
17
+ *
18
+ * Mainly used to navigate between pages.
19
+ * @see FactoryPages428_AdminPage
20
  *
21
  * @since 1.0.0
22
+ * @var string
23
  */
24
+ public $id = "widgets";
25
 
26
+ public $page_parent_page = "advanced";
27
+
28
+ public $page_menu_dashicon = 'dashicons-networking';
29
+
30
+ public $available_for_multisite = true;
31
+
32
+ /**
33
+ * @param WCL_Plugin $plugin
34
+ */
35
+ public function __construct(WCL_Plugin $plugin)
36
+ {
37
+ $this->menu_title = __('Widgets', 'clearfy');
38
+ $this->page_menu_short_description = __('Disable unused widgets', 'clearfy');
39
+
40
+ parent::__construct($plugin);
41
+
42
+ $this->plugin = $plugin;
43
  }
44
 
45
+ /**
46
+ * Permalinks options.
47
+ *
48
+ * @return mixed[]
49
+ * @since 1.0.0
50
+ */
51
+ public function getPageOptions()
52
+ {
53
+ $options = array();
54
+
55
+ $options[] = array(
56
+ 'type' => 'html',
57
+ 'html' => '<div class="wbcr-factory-page-group-header">' . __('<strong>Disable unused widgets</strong>.', 'clearfy') . '<p>' . __('Some widgets, such as the Calendar or Tag Cloud, create an extra query to the database, even if they are not displayed on the website. Of course, a couple of hits to the database will not do much harm to the whole site. However, if the resource contains a huge amount of content, and the speed of its work above all else, disabling unused functionality is the first step to optimizing and accelerating it.', 'clearfy') . '</p></div>'
58
+ );
59
+
60
+ $options[] = array(
61
+ 'type' => 'checkbox',
62
+ 'way' => 'buttons',
63
+ 'name' => 'remove_unneeded_widget_page',
64
+ 'title' => __('Remove the "Pages" widget', 'clearfy'),
65
+ 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
66
+ 'default' => false
67
+ );
68
+
69
+ $options[] = array(
70
+ 'type' => 'checkbox',
71
+ 'way' => 'buttons',
72
+ 'name' => 'remove_unneeded_widget_calendar',
73
+ 'title' => __('Remove calendar widget', 'clearfy'),
74
+ 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
75
+ 'default' => false
76
+ );
77
+
78
+ $options[] = array(
79
+ 'type' => 'checkbox',
80
+ 'way' => 'buttons',
81
+ 'name' => 'remove_unneeded_widget_tag_cloud',
82
+ 'title' => __('Remove the "Cloud of tags" widget', 'clearfy'),
83
+ 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
84
+ 'default' => false
85
+ );
86
+
87
+ $options[] = array(
88
+ 'type' => 'checkbox',
89
+ 'way' => 'buttons',
90
+ 'name' => 'remove_unneeded_widget_archives',
91
+ 'title' => __('Remove the "Archives" widget', 'clearfy'),
92
+ 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
93
+ 'default' => false
94
+ );
95
+
96
+ $options[] = array(
97
+ 'type' => 'checkbox',
98
+ 'way' => 'buttons',
99
+ 'name' => 'remove_unneeded_widget_links',
100
+ 'title' => __('Remove the "Links" widget', 'clearfy'),
101
+ 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
102
+ 'default' => false
103
+ );
104
+
105
+ $options[] = array(
106
+ 'type' => 'checkbox',
107
+ 'way' => 'buttons',
108
+ 'name' => 'remove_unneeded_widget_meta',
109
+ 'title' => __('Remove the "Meta" widget', 'clearfy'),
110
+ 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
111
+ 'default' => false
112
+ );
113
+
114
+ $options[] = array(
115
+ 'type' => 'checkbox',
116
+ 'way' => 'buttons',
117
+ 'name' => 'remove_unneeded_widget_search',
118
+ 'title' => __('Remove the "Search" widget', 'clearfy'),
119
+ 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
120
+ 'default' => false
121
+ );
122
+
123
+ $options[] = array(
124
+ 'type' => 'checkbox',
125
+ 'way' => 'buttons',
126
+ 'name' => 'remove_unneeded_widget_text',
127
+ 'title' => __('Remove the "Text" widget', 'clearfy'),
128
+ 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
129
+ 'default' => false
130
+ );
131
+
132
+ $options[] = array(
133
+ 'type' => 'checkbox',
134
+ 'way' => 'buttons',
135
+ 'name' => 'remove_unneeded_widget_categories',
136
+ 'title' => __('Remove the "Categories" widget', 'clearfy'),
137
+ 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
138
+ 'default' => false
139
+ );
140
+
141
+ $options[] = array(
142
+ 'type' => 'checkbox',
143
+ 'way' => 'buttons',
144
+ 'name' => 'remove_unneeded_widget_recent_posts',
145
+ 'title' => __('Remove the "Recent Posts" widget', 'clearfy'),
146
+ 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
147
+ 'default' => false
148
+ );
149
+
150
+ $options[] = array(
151
+ 'type' => 'checkbox',
152
+ 'way' => 'buttons',
153
+ 'name' => 'remove_unneeded_widget_recent_comments',
154
+ 'title' => __('Remove the "Recent Comments" widget', 'clearfy'),
155
+ 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
156
+ 'default' => false
157
+ );
158
+
159
+ $options[] = array(
160
+ 'type' => 'checkbox',
161
+ 'way' => 'buttons',
162
+ 'name' => 'remove_unneeded_widget_rss',
163
+ 'title' => __('Remove the "RSS" widget', 'clearfy'),
164
+ 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
165
+ 'default' => false
166
+ );
167
+
168
+ $options[] = array(
169
+ 'type' => 'checkbox',
170
+ 'way' => 'buttons',
171
+ 'name' => 'remove_unneeded_widget_menu',
172
+ 'title' => __('Remove the "Menu" widget', 'clearfy'),
173
+ 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
174
+ 'default' => false
175
+ );
176
+
177
+ $options[] = array(
178
+ 'type' => 'checkbox',
179
+ 'way' => 'buttons',
180
+ 'name' => 'remove_unneeded_widget_twenty_eleven_ephemera',
181
+ 'title' => __('Remove the "Twenty Eleven Ephemera" widget', 'clearfy'),
182
+ 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'grey'),
183
+ 'default' => false
184
+ );
185
+
186
+ $form_options = array();
187
+
188
+ $form_options[] = array(
189
+ 'type' => 'form-group',
190
+ 'items' => $options,
191
+ //'cssClass' => 'postbox'
192
+ );
193
+
194
+ return apply_filters('wbcr_clr_widgets_form_options', $form_options, $this);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
195
  }
196
+ }
clearfy.php CHANGED
@@ -4,11 +4,11 @@
4
  * Plugin URI: https://wordpress.org/plugins/clearfy/
5
  * Description: Disables unused Wordpress features, improves performance and increases SEO rankings, using Clearfy, which makes WordPress very easy.
6
  * Author: Webcraftic <wordpress.webraftic@gmail.com>
7
- * Version: 1.6.6
8
  * Text Domain: clearfy
9
  * Domain Path: /languages/
10
  * Author URI: http://clearfy.pro
11
- * Framework Version: FACTORY_427_VERSION
12
  */
13
 
14
  // Exit if accessed directly
@@ -71,12 +71,12 @@ $plugin_info = array(
71
  ),
72
  // FRAMEWORK MODULES
73
  'load_factory_modules' => array(
74
- array('libs/factory/bootstrap', 'factory_bootstrap_428', 'admin'),
75
- array('libs/factory/forms', 'factory_forms_425', 'admin'),
76
- array('libs/factory/pages', 'factory_pages_427', 'admin'),
77
- array('libs/factory/clearfy', 'factory_clearfy_219', 'all'),
78
- array('libs/factory/freemius', 'factory_freemius_115', 'all'),
79
- array('libs/factory/adverts', 'factory_adverts_107', 'admin')
80
  ),
81
  'load_plugin_components' => array(
82
  'disable_notices' => array(
@@ -116,7 +116,7 @@ $plugin_info = array(
116
 
117
 
118
 
119
- $clearfy_compatibility = new Wbcr_Factory427_Requirements(__FILE__, array_merge($plugin_info, array(
120
  'plugin_already_activate' => defined('WCL_PLUGIN_ACTIVE'),
121
  'required_php_version' => '5.4',
122
  'required_wp_version' => '4.2.0',
@@ -147,7 +147,7 @@ define('WBCR_CLEARFY_PLUGIN_ACTIVE', true);
147
 
148
  // Plugin version
149
  define('WCL_PLUGIN_VERSION', $clearfy_compatibility->get_plugin_version());
150
- define('WCL_FRAMEWORK_VER', 'FACTORY_427_VERSION');
151
 
152
  define('WCL_PLUGIN_DIR', dirname(__FILE__));
153
  define('WCL_PLUGIN_BASE', plugin_basename(__FILE__));
4
  * Plugin URI: https://wordpress.org/plugins/clearfy/
5
  * Description: Disables unused Wordpress features, improves performance and increases SEO rankings, using Clearfy, which makes WordPress very easy.
6
  * Author: Webcraftic <wordpress.webraftic@gmail.com>
7
+ * Version: 1.6.8
8
  * Text Domain: clearfy
9
  * Domain Path: /languages/
10
  * Author URI: http://clearfy.pro
11
+ * Framework Version: FACTORY_428_VERSION
12
  */
13
 
14
  // Exit if accessed directly
71
  ),
72
  // FRAMEWORK MODULES
73
  'load_factory_modules' => array(
74
+ array('libs/factory/bootstrap', 'factory_bootstrap_429', 'admin'),
75
+ array('libs/factory/forms', 'factory_forms_426', 'admin'),
76
+ array('libs/factory/pages', 'factory_pages_428', 'admin'),
77
+ array('libs/factory/clearfy', 'factory_clearfy_220', 'all'),
78
+ array('libs/factory/freemius', 'factory_freemius_116', 'all'),
79
+ array('libs/factory/adverts', 'factory_adverts_108', 'admin')
80
  ),
81
  'load_plugin_components' => array(
82
  'disable_notices' => array(
116
 
117
 
118
 
119
+ $clearfy_compatibility = new Wbcr_Factory428_Requirements(__FILE__, array_merge($plugin_info, array(
120
  'plugin_already_activate' => defined('WCL_PLUGIN_ACTIVE'),
121
  'required_php_version' => '5.4',
122
  'required_wp_version' => '4.2.0',
147
 
148
  // Plugin version
149
  define('WCL_PLUGIN_VERSION', $clearfy_compatibility->get_plugin_version());
150
+ define('WCL_FRAMEWORK_VER', 'FACTORY_428_VERSION');
151
 
152
  define('WCL_PLUGIN_DIR', dirname(__FILE__));
153
  define('WCL_PLUGIN_BASE', plugin_basename(__FILE__));
components/assets-manager/admin/activation.php CHANGED
@@ -5,7 +5,7 @@
5
  *
6
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
7
  * @copyright (c) 09.03.2018, Webcraftic
8
- * @see Wbcr_Factory427_Activator
9
  * @version 1.0
10
  */
11
 
@@ -14,7 +14,7 @@ if ( ! defined( 'ABSPATH' ) ) {
14
  exit;
15
  }
16
 
17
- class WGNZ_Activation extends Wbcr_Factory427_Activator {
18
 
19
  /**
20
  * Runs activation actions.
5
  *
6
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
7
  * @copyright (c) 09.03.2018, Webcraftic
8
+ * @see Wbcr_Factory428_Activator
9
  * @version 1.0
10
  */
11
 
14
  exit;
15
  }
16
 
17
+ class WGNZ_Activation extends Wbcr_Factory428_Activator {
18
 
19
  /**
20
  * Runs activation actions.
components/assets-manager/admin/ajax/save-settings.php CHANGED
@@ -203,7 +203,7 @@ function wam_save_settings_action() {
203
  wbcr_gnz_deploy_mu_plugin();
204
 
205
  // Flush cache for all cache plugins
206
- WbcrFactoryClearfy219_Helpers::flushPageCache();
207
  }
208
 
209
  wp_send_json_success( [
203
  wbcr_gnz_deploy_mu_plugin();
204
 
205
  // Flush cache for all cache plugins
206
+ WbcrFactoryClearfy220_Helpers::flushPageCache();
207
  }
208
 
209
  wp_send_json_success( [
components/assets-manager/admin/boot.php CHANGED
@@ -167,7 +167,7 @@ if ( defined( 'LOADING_ASSETS_MANAGER_AS_ADDON' ) ) {
167
  *
168
  * @param array $widgets
169
  * @param string $position
170
- * @param Wbcr_Factory427_Plugin $plugin
171
  */
172
  add_filter( 'wbcr/factory/pages/impressive/widgets', function ( $widgets, $position, $plugin ) {
173
  if ( $plugin->getPluginName() == WGZ_Plugin::app()->getPluginName() ) {
@@ -225,5 +225,5 @@ if ( defined( 'LOADING_ASSETS_MANAGER_AS_ADDON' ) ) {
225
  return $page_url;
226
  }
227
 
228
- add_filter( 'wbcr_factory_pages_427_imppage_rating_widget_url', 'wbcr_gnz_rating_widget_url', 10, 2 );
229
  }
167
  *
168
  * @param array $widgets
169
  * @param string $position
170
+ * @param Wbcr_Factory428_Plugin $plugin
171
  */
172
  add_filter( 'wbcr/factory/pages/impressive/widgets', function ( $widgets, $position, $plugin ) {
173
  if ( $plugin->getPluginName() == WGZ_Plugin::app()->getPluginName() ) {
225
  return $page_url;
226
  }
227
 
228
+ add_filter( 'wbcr_factory_pages_428_imppage_rating_widget_url', 'wbcr_gnz_rating_widget_url', 10, 2 );
229
  }
components/assets-manager/admin/pages/class-pages-more-features.php CHANGED
@@ -17,6 +17,6 @@ if ( ! defined( 'ABSPATH' ) ) {
17
  *
18
  * @copyright (c) 2018 Webraftic Ltd
19
  */
20
- class WGZ_MoreFeaturesPage extends Wbcr_FactoryClearfy219_MoreFeaturesPage {
21
 
22
  }
17
  *
18
  * @copyright (c) 2018 Webraftic Ltd
19
  */
20
+ class WGZ_MoreFeaturesPage extends Wbcr_FactoryClearfy220_MoreFeaturesPage {
21
 
22
  }
components/assets-manager/admin/pages/class-pages-settings.php CHANGED
@@ -16,7 +16,7 @@ if ( ! defined( 'ABSPATH' ) ) {
16
  *
17
  * @copyright (c) 2018 Webraftic Ltd
18
  */
19
- class WGZ_AssetsManagerPage extends Wbcr_FactoryClearfy219_PageBase {
20
 
21
  /**
22
  * The id of the page in the admin menu.
@@ -24,7 +24,7 @@ class WGZ_AssetsManagerPage extends Wbcr_FactoryClearfy219_PageBase {
24
  * Mainly used to navigate between pages.
25
  *
26
  * @since 1.0.0
27
- * @see FactoryPages427_AdminPage
28
  *
29
  * @var string
30
  */
@@ -48,9 +48,9 @@ class WGZ_AssetsManagerPage extends Wbcr_FactoryClearfy219_PageBase {
48
  public $available_for_multisite = true;
49
 
50
  /**
51
- * @param Wbcr_Factory427_Plugin $plugin
52
  */
53
- public function __construct( Wbcr_Factory427_Plugin $plugin ) {
54
  $this->menu_title = __( 'Assets manager', 'gonzales' );
55
 
56
  if ( ! defined( 'LOADING_ASSETS_MANAGER_AS_ADDON' ) ) {
16
  *
17
  * @copyright (c) 2018 Webraftic Ltd
18
  */
19
+ class WGZ_AssetsManagerPage extends Wbcr_FactoryClearfy220_PageBase {
20
 
21
  /**
22
  * The id of the page in the admin menu.
24
  * Mainly used to navigate between pages.
25
  *
26
  * @since 1.0.0
27
+ * @see FactoryPages428_AdminPage
28
  *
29
  * @var string
30
  */
48
  public $available_for_multisite = true;
49
 
50
  /**
51
+ * @param Wbcr_Factory428_Plugin $plugin
52
  */
53
+ public function __construct( Wbcr_Factory428_Plugin $plugin ) {
54
  $this->menu_title = __( 'Assets manager', 'gonzales' );
55
 
56
  if ( ! defined( 'LOADING_ASSETS_MANAGER_AS_ADDON' ) ) {
components/assets-manager/gonzales.php CHANGED
@@ -8,7 +8,7 @@
8
  * Text Domain: gonzales
9
  * Domain Path: /languages/
10
  * Author URI: https://webcraftic.com
11
- * Framework Version: FACTORY_427_VERSION
12
  */
13
 
14
  // Exit if accessed directly
@@ -64,15 +64,15 @@ $wgnz_plugin_info = array(
64
 
65
  // FRAMEWORK MODULES
66
  'load_factory_modules' => array(
67
- array( 'libs/factory/bootstrap', 'factory_bootstrap_428', 'admin' ),
68
- array( 'libs/factory/forms', 'factory_forms_425', 'admin' ),
69
- array( 'libs/factory/pages', 'factory_pages_427', 'admin' ),
70
- array( 'libs/factory/clearfy', 'factory_clearfy_219', 'all' ),
71
- array( 'libs/factory/adverts', 'factory_adverts_107', 'admin')
72
  )
73
  );
74
 
75
- $wgnz_compatibility = new Wbcr_Factory427_Requirements( __FILE__, array_merge( $wgnz_plugin_info, array(
76
  'plugin_already_activate' => defined( 'WGZ_PLUGIN_ACTIVE' ),
77
  'required_php_version' => '5.4',
78
  'required_wp_version' => '4.2.0',
8
  * Text Domain: gonzales
9
  * Domain Path: /languages/
10
  * Author URI: https://webcraftic.com
11
+ * Framework Version: FACTORY_428_VERSION
12
  */
13
 
14
  // Exit if accessed directly
64
 
65
  // FRAMEWORK MODULES
66
  'load_factory_modules' => array(
67
+ array( 'libs/factory/bootstrap', 'factory_bootstrap_429', 'admin' ),
68
+ array( 'libs/factory/forms', 'factory_forms_426', 'admin' ),
69
+ array( 'libs/factory/pages', 'factory_pages_428', 'admin' ),
70
+ array( 'libs/factory/clearfy', 'factory_clearfy_220', 'all' ),
71
+ array( 'libs/factory/adverts', 'factory_adverts_108', 'admin')
72
  )
73
  );
74
 
75
+ $wgnz_compatibility = new Wbcr_Factory428_Requirements( __FILE__, array_merge( $wgnz_plugin_info, array(
76
  'plugin_already_activate' => defined( 'WGZ_PLUGIN_ACTIVE' ),
77
  'required_php_version' => '5.4',
78
  'required_wp_version' => '4.2.0',
components/assets-manager/includes/class-plugin.php CHANGED
@@ -11,11 +11,11 @@ if ( ! defined( 'ABSPATH' ) ) {
11
  * @copyright (c) 19.02.2018, Webcraftic
12
  * @version 1.0
13
  */
14
- class WGZ_Plugin extends Wbcr_Factory427_Plugin {
15
 
16
  /**
17
  * @see self::app()
18
- * @var Wbcr_Factory427_Plugin
19
  */
20
  private static $app;
21
 
@@ -53,7 +53,7 @@ class WGZ_Plugin extends Wbcr_Factory427_Plugin {
53
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
54
  * классам.
55
  *
56
- * @return \Wbcr_Factory427_Plugin|\WGZ_Plugin
57
  */
58
  public static function app() {
59
  return self::$app;
11
  * @copyright (c) 19.02.2018, Webcraftic
12
  * @version 1.0
13
  */
14
+ class WGZ_Plugin extends Wbcr_Factory428_Plugin {
15
 
16
  /**
17
  * @see self::app()
18
+ * @var Wbcr_Factory428_Plugin
19
  */
20
  private static $app;
21
 
53
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
54
  * классам.
55
  *
56
+ * @return \Wbcr_Factory428_Plugin|\WGZ_Plugin
57
  */
58
  public static function app() {
59
  return self::$app;
components/assets-manager/includes/classes/class-assets-manager-global.php CHANGED
@@ -21,9 +21,9 @@ class WGZ_Assets_Manager_Public {
21
  public $collection = [];
22
 
23
  /**
24
- * @param Wbcr_Factory427_Plugin $plugin
25
  */
26
- public function __construct( Wbcr_Factory427_Plugin $plugin ) {
27
  $this->plugin = $plugin;
28
 
29
  $this->register_hooks();
21
  public $collection = [];
22
 
23
  /**
24
+ * @param Wbcr_Factory428_Plugin $plugin
25
  */
26
+ public function __construct( Wbcr_Factory428_Plugin $plugin ) {
27
  $this->plugin = $plugin;
28
 
29
  $this->register_hooks();
components/assets-manager/includes/classes/class-views.php CHANGED
@@ -63,11 +63,11 @@ class WGZ_Views {
63
  *
64
  * @param string $template The template name.
65
  * @param mixed $data Some data to pass to the template.
66
- * @param Wbcr_FactoryClearfy219_PageBase $page
67
  *
68
  * @return bool|string The page contents. False if the template doesn't exist.
69
  */
70
- public function get_template( $template, $data = [], Wbcr_FactoryClearfy219_PageBase $page = null ) {
71
  $template = str_replace( '_', '-', $template );
72
  $path = $this->plugin_dir . '/views/' . $template . '.php';
73
 
@@ -92,9 +92,9 @@ class WGZ_Views {
92
  *
93
  * @param string $template The template name.
94
  * @param mixed $data Some data to pass to the template.
95
- * @param Wbcr_FactoryClearfy219_PageBase $page
96
  */
97
- public function print_template( $template, $data = [], Wbcr_FactoryClearfy219_PageBase $page = null ) {
98
  echo $this->get_template( $template, $data, $page );
99
  }
100
  }
63
  *
64
  * @param string $template The template name.
65
  * @param mixed $data Some data to pass to the template.
66
+ * @param Wbcr_FactoryClearfy220_PageBase $page
67
  *
68
  * @return bool|string The page contents. False if the template doesn't exist.
69
  */
70
+ public function get_template( $template, $data = [], Wbcr_FactoryClearfy220_PageBase $page = null ) {
71
  $template = str_replace( '_', '-', $template );
72
  $path = $this->plugin_dir . '/views/' . $template . '.php';
73
 
92
  *
93
  * @param string $template The template name.
94
  * @param mixed $data Some data to pass to the template.
95
+ * @param Wbcr_FactoryClearfy220_PageBase $page
96
  */
97
+ public function print_template( $template, $data = [], Wbcr_FactoryClearfy220_PageBase $page = null ) {
98
  echo $this->get_template( $template, $data, $page );
99
  }
100
  }
components/assets-manager/migrations/010100.php CHANGED
@@ -4,7 +4,7 @@
4
  * Updates for altering the table used to store statistics data.
5
  * Adds new columns and renames existing ones in order to add support for the new social buttons.
6
  */
7
- class WGZUpdate010100 extends Wbcr_Factory427_Update {
8
 
9
  public function install()
10
  {
4
  * Updates for altering the table used to store statistics data.
5
  * Adds new columns and renames existing ones in order to add support for the new social buttons.
6
  */
7
+ class WGZUpdate010100 extends Wbcr_Factory428_Update {
8
 
9
  public function install()
10
  {
components/assets-manager/migrations/010108.php CHANGED
@@ -4,7 +4,7 @@
4
  * Updates for altering the table used to store statistics data.
5
  * Adds new columns and renames existing ones in order to add support for the new social buttons.
6
  */
7
- class WGZUpdate010108 extends Wbcr_Factory427_Update {
8
 
9
  /**
10
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
4
  * Updates for altering the table used to store statistics data.
5
  * Adds new columns and renames existing ones in order to add support for the new social buttons.
6
  */
7
+ class WGZUpdate010108 extends Wbcr_Factory428_Update {
8
 
9
  /**
10
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
components/assets-manager/migrations/020005.php CHANGED
@@ -4,7 +4,7 @@
4
  * Updates for altering the table used to store statistics data.
5
  * Adds new columns and renames existing ones in order to add support for the new social buttons.
6
  */
7
- class WGZUpdate020005 extends Wbcr_Factory427_Update {
8
 
9
  public function install() {
10
  $settings = get_option( $this->plugin->getPrefix() . 'assets_states', [] );
4
  * Updates for altering the table used to store statistics data.
5
  * Adds new columns and renames existing ones in order to add support for the new social buttons.
6
  */
7
+ class WGZUpdate020005 extends Wbcr_Factory428_Update {
8
 
9
  public function install() {
10
  $settings = get_option( $this->plugin->getPrefix() . 'assets_states', [] );
components/assets-manager/mu-plugins/assets-manager.php CHANGED
@@ -3,7 +3,7 @@
3
  * Webcraftic AM plugin load filter
4
  * Dynamically activated only plugins that you have selected in each page. [Note] Webcraftic AM has been automatically installed/deleted by Activate/Deactivate of "load filter plugin".
5
  * Version: 1.0.9
6
- * Framework Version: FACTORY_427_VERSION
7
  */
8
 
9
  // todo: проверить, как работает кеширование
3
  * Webcraftic AM plugin load filter
4
  * Dynamically activated only plugins that you have selected in each page. [Note] Webcraftic AM has been automatically installed/deleted by Activate/Deactivate of "load filter plugin".
5
  * Version: 1.0.9
6
+ * Framework Version: FACTORY_428_VERSION
7
  */
8
 
9
  // todo: проверить, как работает кеширование
components/comments-plus/admin/boot.php CHANGED
@@ -101,7 +101,7 @@ if ( ! defined( 'LOADING_COMMENTS_PLUS_AS_ADDON' ) ) {
101
  return $page_url;
102
  }
103
 
104
- add_filter( 'wbcr_factory_pages_427_imppage_rating_widget_url', 'wbcr_cmp_rating_widget_url', 10, 2 );
105
 
106
  /**
107
  * Удаляем лишние виджеты из правого сайдбара в интерфейсе плагина
101
  return $page_url;
102
  }
103
 
104
+ add_filter( 'wbcr_factory_pages_428_imppage_rating_widget_url', 'wbcr_cmp_rating_widget_url', 10, 2 );
105
 
106
  /**
107
  * Удаляем лишние виджеты из правого сайдбара в интерфейсе плагина
components/comments-plus/admin/pages/class-page-comments.php CHANGED
@@ -16,7 +16,7 @@ if ( ! defined( 'ABSPATH' ) ) {
16
  *
17
  * @copyright (c) 2018 Webraftic Ltd
18
  */
19
- class WbcrCmp_CommentsPage extends Wbcr_FactoryClearfy219_PageBase {
20
 
21
  /**
22
  * {@inheritDoc}
@@ -52,9 +52,9 @@ class WbcrCmp_CommentsPage extends Wbcr_FactoryClearfy219_PageBase {
52
  *
53
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
54
  *
55
- * @param \Wbcr_Factory427_Plugin $plugin
56
  */
57
- public function __construct( Wbcr_Factory427_Plugin $plugin ) {
58
  $this->menu_title = __( 'Disable comments', 'comments-plus' );
59
  $this->page_menu_short_description = __( 'Manage site comments', 'comments-plus' );
60
 
16
  *
17
  * @copyright (c) 2018 Webraftic Ltd
18
  */
19
+ class WbcrCmp_CommentsPage extends Wbcr_FactoryClearfy220_PageBase {
20
 
21
  /**
22
  * {@inheritDoc}
52
  *
53
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
54
  *
55
+ * @param \Wbcr_Factory428_Plugin $plugin
56
  */
57
+ public function __construct( Wbcr_Factory428_Plugin $plugin ) {
58
  $this->menu_title = __( 'Disable comments', 'comments-plus' );
59
  $this->page_menu_short_description = __( 'Manage site comments', 'comments-plus' );
60
 
components/comments-plus/admin/pages/class-page-delete-comments.php CHANGED
@@ -16,7 +16,7 @@ if ( ! defined( 'ABSPATH' ) ) {
16
  *
17
  * @copyright (c) 2018 Webraftic Ltd
18
  */
19
- class WbcrCmp_DeleteCommentsPage extends Wbcr_FactoryClearfy219_PageBase {
20
 
21
  /**
22
  * {@inheritDoc}
@@ -66,9 +66,9 @@ class WbcrCmp_DeleteCommentsPage extends Wbcr_FactoryClearfy219_PageBase {
66
  *
67
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
68
  *
69
- * @param \Wbcr_Factory427_Plugin $plugin
70
  */
71
- public function __construct( Wbcr_Factory427_Plugin $plugin ) {
72
  $this->menu_title = __( 'Comments cleaner', 'comments-plus' );
73
 
74
  parent::__construct( $plugin );
@@ -78,10 +78,10 @@ class WbcrCmp_DeleteCommentsPage extends Wbcr_FactoryClearfy219_PageBase {
78
  * {@inheritDoc}
79
  *
80
  * @param $notices
81
- * @param Wbcr_Factory427_Plugin $plugin
82
  *
83
  * @return array
84
- * @see libs\factory\pages\themplates\FactoryPages427_ImpressiveThemplate
85
  */
86
  public function getActionNotices( $notices ) {
87
 
@@ -200,7 +200,7 @@ class WbcrCmp_DeleteCommentsPage extends Wbcr_FactoryClearfy219_PageBase {
200
  /**
201
  * Prints the content of the page
202
  *
203
- * @see libs\factory\pages\themplates\FactoryPages427_ImpressiveThemplate
204
  */
205
  public function showPageContent() {
206
  $stats = $this->getStats();
16
  *
17
  * @copyright (c) 2018 Webraftic Ltd
18
  */
19
+ class WbcrCmp_DeleteCommentsPage extends Wbcr_FactoryClearfy220_PageBase {
20
 
21
  /**
22
  * {@inheritDoc}
66
  *
67
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
68
  *
69
+ * @param \Wbcr_Factory428_Plugin $plugin
70
  */
71
+ public function __construct( Wbcr_Factory428_Plugin $plugin ) {
72
  $this->menu_title = __( 'Comments cleaner', 'comments-plus' );
73
 
74
  parent::__construct( $plugin );
78
  * {@inheritDoc}
79
  *
80
  * @param $notices
81
+ * @param Wbcr_Factory428_Plugin $plugin
82
  *
83
  * @return array
84
+ * @see libs\factory\pages\themplates\FactoryPages428_ImpressiveThemplate
85
  */
86
  public function getActionNotices( $notices ) {
87
 
200
  /**
201
  * Prints the content of the page
202
  *
203
+ * @see libs\factory\pages\themplates\FactoryPages428_ImpressiveThemplate
204
  */
205
  public function showPageContent() {
206
  $stats = $this->getStats();
components/comments-plus/admin/pages/class-page-more-features.php CHANGED
@@ -19,6 +19,6 @@ if ( ! defined( 'ABSPATH' ) ) {
19
  *
20
  * @copyright (c) 2018 Webraftic Ltd
21
  */
22
- class WbcrCmp_MoreFeaturesPage extends Wbcr_FactoryClearfy219_MoreFeaturesPage {
23
 
24
  }
19
  *
20
  * @copyright (c) 2018 Webraftic Ltd
21
  */
22
+ class WbcrCmp_MoreFeaturesPage extends Wbcr_FactoryClearfy220_MoreFeaturesPage {
23
 
24
  }
components/comments-plus/comments-plus.php CHANGED
@@ -8,7 +8,7 @@
8
  * Text Domain: comments-plus
9
  * Domain Path: /languages/
10
  * Author URI: https://webcraftic.com
11
- * Framework Version: FACTORY_427_VERSION
12
  */
13
 
14
  // Exit if accessed directly
@@ -64,15 +64,15 @@ $wcm_plugin_info = array(
64
 
65
  // FRAMEWORK MODULES
66
  'load_factory_modules' => array(
67
- array( 'libs/factory/bootstrap', 'factory_bootstrap_428', 'admin' ),
68
- array( 'libs/factory/forms', 'factory_forms_425', 'admin' ),
69
- array( 'libs/factory/pages', 'factory_pages_427', 'admin' ),
70
- array( 'libs/factory/clearfy', 'factory_clearfy_219', 'all' ),
71
- array( 'libs/factory/adverts', 'factory_adverts_107', 'admin')
72
  )
73
  );
74
 
75
- $wcm_compatibility = new Wbcr_Factory427_Requirements( __FILE__, array_merge( $wcm_plugin_info, array(
76
  'plugin_already_activate' => defined( 'WCM_PLUGIN_ACTIVE' ),
77
  'required_php_version' => '5.4',
78
  'required_wp_version' => '4.2.0',
8
  * Text Domain: comments-plus
9
  * Domain Path: /languages/
10
  * Author URI: https://webcraftic.com
11
+ * Framework Version: FACTORY_428_VERSION
12
  */
13
 
14
  // Exit if accessed directly
64
 
65
  // FRAMEWORK MODULES
66
  'load_factory_modules' => array(
67
+ array( 'libs/factory/bootstrap', 'factory_bootstrap_429', 'admin' ),
68
+ array( 'libs/factory/forms', 'factory_forms_426', 'admin' ),
69
+ array( 'libs/factory/pages', 'factory_pages_428', 'admin' ),
70
+ array( 'libs/factory/clearfy', 'factory_clearfy_220', 'all' ),
71
+ array( 'libs/factory/adverts', 'factory_adverts_108', 'admin')
72
  )
73
  );
74
 
75
+ $wcm_compatibility = new Wbcr_Factory428_Requirements( __FILE__, array_merge( $wcm_plugin_info, array(
76
  'plugin_already_activate' => defined( 'WCM_PLUGIN_ACTIVE' ),
77
  'required_php_version' => '5.4',
78
  'required_wp_version' => '4.2.0',
components/comments-plus/includes/class-plugin.php CHANGED
@@ -10,11 +10,11 @@ if ( ! defined( 'ABSPATH' ) ) {
10
  * @author Alex Kovalev <alex.kovalevv@gmail.com>
11
  * @copyright (c) 19.02.2018, Webcraftic
12
  */
13
- class WCM_Plugin extends Wbcr_Factory427_Plugin {
14
 
15
  /**
16
  * @see self::app()
17
- * @var Wbcr_Factory427_Plugin
18
  */
19
  private static $app;
20
 
@@ -59,7 +59,7 @@ class WCM_Plugin extends Wbcr_Factory427_Plugin {
59
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
60
  * классам.
61
  *
62
- * @return \Wbcr_Factory427_Plugin|\WCM_Plugin
63
  */
64
  public static function app() {
65
  return self::$app;
10
  * @author Alex Kovalev <alex.kovalevv@gmail.com>
11
  * @copyright (c) 19.02.2018, Webcraftic
12
  */
13
+ class WCM_Plugin extends Wbcr_Factory428_Plugin {
14
 
15
  /**
16
  * @see self::app()
17
+ * @var Wbcr_Factory428_Plugin
18
  */
19
  private static $app;
20
 
59
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
60
  * классам.
61
  *
62
+ * @return \Wbcr_Factory428_Plugin|\WCM_Plugin
63
  */
64
  public static function app() {
65
  return self::$app;
components/comments-plus/includes/classes/class-configurate-comments.php CHANGED
@@ -12,14 +12,14 @@ if ( ! defined( 'ABSPATH' ) ) {
12
  *
13
  * @copyright (c) 2017 Webraftic Ltd
14
  */
15
- class WbcrCmp_ConfigComments extends Wbcr_FactoryClearfy219_Configurate {
16
 
17
  private $modified_types = [];
18
 
19
  /**
20
- * @param Wbcr_Factory427_Plugin $plugin
21
  */
22
- public function __construct( Wbcr_Factory427_Plugin $plugin ) {
23
  parent::__construct( $plugin );
24
  $this->plugin = $plugin;
25
  }
12
  *
13
  * @copyright (c) 2017 Webraftic Ltd
14
  */
15
+ class WbcrCmp_ConfigComments extends Wbcr_FactoryClearfy220_Configurate {
16
 
17
  private $modified_types = [];
18
 
19
  /**
20
+ * @param Wbcr_Factory428_Plugin $plugin
21
  */
22
+ public function __construct( Wbcr_Factory428_Plugin $plugin ) {
23
  parent::__construct( $plugin );
24
  $this->plugin = $plugin;
25
  }
components/cyrlitera/admin/activation.php CHANGED
@@ -5,7 +5,7 @@
5
  *
6
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
7
  * @copyright (c) 09.03.2018, Webcraftic
8
- * @see Wbcr_Factory427_Activator
9
  * @version 1.0
10
  */
11
 
@@ -14,7 +14,7 @@ if ( ! defined( 'ABSPATH' ) ) {
14
  exit;
15
  }
16
 
17
- class WCTR_Activation extends Wbcr_Factory427_Activator {
18
 
19
  /**
20
  * Runs activation actions.
5
  *
6
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
7
  * @copyright (c) 09.03.2018, Webcraftic
8
+ * @see Wbcr_Factory428_Activator
9
  * @version 1.0
10
  */
11
 
14
  exit;
15
  }
16
 
17
+ class WCTR_Activation extends Wbcr_Factory428_Activator {
18
 
19
  /**
20
  * Runs activation actions.
components/cyrlitera/admin/boot.php CHANGED
@@ -135,7 +135,7 @@ if ( ! defined( 'LOADING_CYRLITERA_AS_ADDON' ) ) {
135
  return $page_url;
136
  }
137
 
138
- add_filter( 'wbcr_factory_pages_427_imppage_rating_widget_url', 'wbcr_cyrlitera_rating_widget_url', 10, 2 );
139
 
140
  /**
141
  * Удаляем лишние виджеты из правого сайдбара в интерфейсе плагина
135
  return $page_url;
136
  }
137
 
138
+ add_filter( 'wbcr_factory_pages_428_imppage_rating_widget_url', 'wbcr_cyrlitera_rating_widget_url', 10, 2 );
139
 
140
  /**
141
  * Удаляем лишние виджеты из правого сайдбара в интерфейсе плагина
components/cyrlitera/admin/pages/class-page-cyrlitera.php CHANGED
@@ -16,7 +16,7 @@ if ( ! defined( 'ABSPATH' ) ) {
16
  * @copyright (c) 2018 Webraftic Ltd
17
  * @version 1.0
18
  */
19
- class WCTR_CyrliteraPage extends Wbcr_FactoryClearfy219_PageBase {
20
 
21
  /**
22
  * {@inheritDoc}
@@ -59,9 +59,9 @@ class WCTR_CyrliteraPage extends Wbcr_FactoryClearfy219_PageBase {
59
  *
60
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
61
  *
62
- * @param \Wbcr_Factory427_Plugin $plugin
63
  */
64
- public function __construct( Wbcr_Factory427_Plugin $plugin ) {
65
  $this->menu_title = __( 'Cyrlitera', 'cyrlitera' );
66
 
67
  if ( ! defined( 'LOADING_CYRLITERA_AS_ADDON' ) ) {
@@ -202,7 +202,7 @@ class WCTR_CyrliteraPage extends Wbcr_FactoryClearfy219_PageBase {
202
  }
203
 
204
  /**
205
- * @param $html_builder Wbcr_FactoryForms425_Html
206
  */
207
  public function rollbackButton( $html_builder ) {
208
  $form_name = $html_builder->getFormName();
16
  * @copyright (c) 2018 Webraftic Ltd
17
  * @version 1.0
18
  */
19
+ class WCTR_CyrliteraPage extends Wbcr_FactoryClearfy220_PageBase {
20
 
21
  /**
22
  * {@inheritDoc}
59
  *
60
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
61
  *
62
+ * @param \Wbcr_Factory428_Plugin $plugin
63
  */
64
+ public function __construct( Wbcr_Factory428_Plugin $plugin ) {
65
  $this->menu_title = __( 'Cyrlitera', 'cyrlitera' );
66
 
67
  if ( ! defined( 'LOADING_CYRLITERA_AS_ADDON' ) ) {
202
  }
203
 
204
  /**
205
+ * @param $html_builder Wbcr_FactoryForms426_Html
206
  */
207
  public function rollbackButton( $html_builder ) {
208
  $form_name = $html_builder->getFormName();
components/cyrlitera/admin/pages/class-page-more-features.php CHANGED
@@ -18,6 +18,6 @@ if ( ! defined( 'ABSPATH' ) ) {
18
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
19
  * @copyright (c) 2018 Webraftic Ltd
20
  */
21
- class WCTR_MoreFeaturesPage extends Wbcr_FactoryClearfy219_MoreFeaturesPage {
22
 
23
  }
18
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
19
  * @copyright (c) 2018 Webraftic Ltd
20
  */
21
+ class WCTR_MoreFeaturesPage extends Wbcr_FactoryClearfy220_MoreFeaturesPage {
22
 
23
  }
components/cyrlitera/cyrlitera.php CHANGED
@@ -8,7 +8,7 @@
8
  * Text Domain: cyrlitera
9
  * Domain Path: /languages/
10
  * Author URI: https://webcraftic.com
11
- * Framework Version: FACTORY_427_VERSION
12
  */
13
 
14
  // Exit if accessed directly
@@ -64,15 +64,15 @@ $wctr_plugin_info = array(
64
 
65
  // FRAMEWORK MODULES
66
  'load_factory_modules' => array(
67
- array( 'libs/factory/bootstrap', 'factory_bootstrap_428', 'admin' ),
68
- array( 'libs/factory/forms', 'factory_forms_425', 'admin' ),
69
- array( 'libs/factory/pages', 'factory_pages_427', 'admin' ),
70
- array( 'libs/factory/clearfy', 'factory_clearfy_219', 'all' ),
71
- array( 'libs/factory/adverts', 'factory_adverts_107', 'admin')
72
  )
73
  );
74
 
75
- $wctr_compatibility = new Wbcr_Factory427_Requirements( __FILE__, array_merge( $wctr_plugin_info, array(
76
  'plugin_already_activate' => defined( 'WCTR_PLUGIN_ACTIVE' ),
77
  'required_php_version' => '5.4',
78
  'required_wp_version' => '4.2.0',
8
  * Text Domain: cyrlitera
9
  * Domain Path: /languages/
10
  * Author URI: https://webcraftic.com
11
+ * Framework Version: FACTORY_428_VERSION
12
  */
13
 
14
  // Exit if accessed directly
64
 
65
  // FRAMEWORK MODULES
66
  'load_factory_modules' => array(
67
+ array( 'libs/factory/bootstrap', 'factory_bootstrap_429', 'admin' ),
68
+ array( 'libs/factory/forms', 'factory_forms_426', 'admin' ),
69
+ array( 'libs/factory/pages', 'factory_pages_428', 'admin' ),
70
+ array( 'libs/factory/clearfy', 'factory_clearfy_220', 'all' ),
71
+ array( 'libs/factory/adverts', 'factory_adverts_108', 'admin')
72
  )
73
  );
74
 
75
+ $wctr_compatibility = new Wbcr_Factory428_Requirements( __FILE__, array_merge( $wctr_plugin_info, array(
76
  'plugin_already_activate' => defined( 'WCTR_PLUGIN_ACTIVE' ),
77
  'required_php_version' => '5.4',
78
  'required_wp_version' => '4.2.0',
components/cyrlitera/includes/class-plugin.php CHANGED
@@ -10,11 +10,11 @@ if ( ! defined( 'ABSPATH' ) ) {
10
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
11
  * @copyright (c) 19.02.2018, Webcraftic
12
  */
13
- class WCTR_Plugin extends Wbcr_Factory427_Plugin {
14
 
15
  /**
16
  * @see self::app()
17
- * @var Wbcr_Factory427_Plugin
18
  */
19
  private static $app;
20
 
@@ -57,7 +57,7 @@ class WCTR_Plugin extends Wbcr_Factory427_Plugin {
57
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
58
  * классам.
59
  *
60
- * @return \Wbcr_Factory427_Plugin|\WCTR_Plugin
61
  */
62
  public static function app() {
63
  return self::$app;
10
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
11
  * @copyright (c) 19.02.2018, Webcraftic
12
  */
13
+ class WCTR_Plugin extends Wbcr_Factory428_Plugin {
14
 
15
  /**
16
  * @see self::app()
17
+ * @var Wbcr_Factory428_Plugin
18
  */
19
  private static $app;
20
 
57
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
58
  * классам.
59
  *
60
+ * @return \Wbcr_Factory428_Plugin|\WCTR_Plugin
61
  */
62
  public static function app() {
63
  return self::$app;
components/cyrlitera/includes/classes/class-configurate-cyrlitera.php CHANGED
@@ -12,7 +12,7 @@ if ( ! defined( 'ABSPATH' ) ) {
12
  exit;
13
  }
14
 
15
- class WCTR_ConfigurateCyrlitera extends Wbcr_FactoryClearfy219_Configurate {
16
 
17
  public function registerActionsAndFilters() {
18
 
@@ -235,7 +235,7 @@ class WCTR_ConfigurateCyrlitera extends Wbcr_FactoryClearfy219_Configurate {
235
  * Перенаправление со старых url, которые были уже преобразованы
236
  */
237
  public function redirectFromOldUrls() {
238
- if ( ! WbcrFactoryClearfy219_Helpers::isPermalink() ) {
239
  return;
240
  }
241
  $is404 = is_404();
12
  exit;
13
  }
14
 
15
+ class WCTR_ConfigurateCyrlitera extends Wbcr_FactoryClearfy220_Configurate {
16
 
17
  public function registerActionsAndFilters() {
18
 
235
  * Перенаправление со старых url, которые были уже преобразованы
236
  */
237
  public function redirectFromOldUrls() {
238
+ if ( ! WbcrFactoryClearfy220_Helpers::isPermalink() ) {
239
  return;
240
  }
241
  $is404 = is_404();
components/cyrlitera/migrations/010004.php CHANGED
@@ -4,7 +4,7 @@
4
  * Updates for altering the table used to store statistics data.
5
  * Adds new columns and renames existing ones in order to add support for the new social buttons.
6
  */
7
- class WCTR_Update010004 extends Wbcr_Factory427_Update {
8
 
9
  public function install() {
10
  WCTR_Plugin::app()->deletePopulateOption( 'custom_symbols_pack' );
4
  * Updates for altering the table used to store statistics data.
5
  * Adds new columns and renames existing ones in order to add support for the new social buttons.
6
  */
7
+ class WCTR_Update010004 extends Wbcr_Factory428_Update {
8
 
9
  public function install() {
10
  WCTR_Plugin::app()->deletePopulateOption( 'custom_symbols_pack' );
components/disable-admin-notices/admin/boot.php CHANGED
@@ -44,7 +44,7 @@ if ( ! defined( 'LOADING_DISABLE_ADMIN_NOTICES_AS_ADDON' ) ) {
44
  *
45
  * @return string
46
  */
47
- add_filter( 'wbcr_factory_pages_427_imppage_rating_widget_url', function ( $page_url, $plugin_name ) {
48
  if ( $plugin_name == WDN_Plugin::app()->getPluginName() ) {
49
  return 'https://goo.gl/68ucHp';
50
  }
44
  *
45
  * @return string
46
  */
47
+ add_filter( 'wbcr_factory_pages_428_imppage_rating_widget_url', function ( $page_url, $plugin_name ) {
48
  if ( $plugin_name == WDN_Plugin::app()->getPluginName() ) {
49
  return 'https://goo.gl/68ucHp';
50
  }
components/disable-admin-notices/admin/options.php CHANGED
@@ -131,7 +131,7 @@ function wbcr_dan_get_plugin_options() {
131
  * с настройками этого плагина, потому что это ухудшает юзабилити.
132
  *
133
  * @param array $form Массив с группой настроек, страницы "Дополнительно" в плагине Clearfy
134
- * @param Wbcr_FactoryPages427_ImpressiveThemplate $page Экземпляр страницы
135
  *
136
  * @return mixed Отсортированный массив с группой опций
137
  */
@@ -161,7 +161,7 @@ add_filter( 'wbcr_clr_additionally_form_options', 'wbcr_dan_additionally_form_op
161
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
162
  * @since 1.0
163
  *
164
- * @param @param $html_builder Wbcr_FactoryForms425_Html
165
  */
166
  function wbcr_dan_reset_notices_button( $html_builder ) {
167
  global $wpdb;
131
  * с настройками этого плагина, потому что это ухудшает юзабилити.
132
  *
133
  * @param array $form Массив с группой настроек, страницы "Дополнительно" в плагине Clearfy
134
+ * @param Wbcr_FactoryPages428_ImpressiveThemplate $page Экземпляр страницы
135
  *
136
  * @return mixed Отсортированный массив с группой опций
137
  */
161
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
162
  * @since 1.0
163
  *
164
+ * @param @param $html_builder Wbcr_FactoryForms426_Html
165
  */
166
  function wbcr_dan_reset_notices_button( $html_builder ) {
167
  global $wpdb;
components/disable-admin-notices/admin/pages/class-pages-more-features.php CHANGED
@@ -22,6 +22,6 @@ if ( ! defined( 'ABSPATH' ) ) {
22
  exit;
23
  }
24
 
25
- class WDN_MoreFeaturesPage extends Wbcr_FactoryClearfy219_MoreFeaturesPage {
26
 
27
  }
22
  exit;
23
  }
24
 
25
+ class WDN_MoreFeaturesPage extends Wbcr_FactoryClearfy220_MoreFeaturesPage {
26
 
27
  }
components/disable-admin-notices/admin/pages/class-pages-notices.php CHANGED
@@ -19,7 +19,7 @@ if ( ! defined( 'ABSPATH' ) ) {
19
  exit;
20
  }
21
 
22
- class WDN_NoticesPage extends Wbcr_FactoryClearfy219_PageBase {
23
 
24
  /**
25
  * {@inheritDoc}
@@ -52,9 +52,9 @@ class WDN_NoticesPage extends Wbcr_FactoryClearfy219_PageBase {
52
 
53
 
54
  /**
55
- * @param Wbcr_Factory427_Plugin $plugin
56
  */
57
- public function __construct( Wbcr_Factory427_Plugin $plugin ) {
58
  $this->menu_title = __( 'Hide admin notices', 'disable-admin-notices' );
59
 
60
  $this->internal = false;
@@ -86,7 +86,7 @@ class WDN_NoticesPage extends Wbcr_FactoryClearfy219_PageBase {
86
  'wbcr_dan_code' => 'interal_error'
87
  ),
88
  'type' => 'danger',
89
- 'message' => __('An error occurred while trying to delete comments. Internal error occured. Please try again later.', 'factory_pages_427')
90
  );*/
91
 
92
  return $notices;
19
  exit;
20
  }
21
 
22
+ class WDN_NoticesPage extends Wbcr_FactoryClearfy220_PageBase {
23
 
24
  /**
25
  * {@inheritDoc}
52
 
53
 
54
  /**
55
+ * @param Wbcr_Factory428_Plugin $plugin
56
  */
57
+ public function __construct( Wbcr_Factory428_Plugin $plugin ) {
58
  $this->menu_title = __( 'Hide admin notices', 'disable-admin-notices' );
59
 
60
  $this->internal = false;
86
  'wbcr_dan_code' => 'interal_error'
87
  ),
88
  'type' => 'danger',
89
+ 'message' => __('An error occurred while trying to delete comments. Internal error occured. Please try again later.', 'factory_pages_428')
90
  );*/
91
 
92
  return $notices;
components/disable-admin-notices/disable-admin-notices.php CHANGED
@@ -8,7 +8,7 @@
8
  * Text Domain: disable-admin-notices
9
  * Domain Path: /languages/
10
  * Author URI: https://webcraftic.com
11
- * Framework Version: FACTORY_427_VERSION
12
  */
13
 
14
  /**
@@ -64,15 +64,15 @@ $wdan_plugin_info = array(
64
 
65
  // FRAMEWORK MODULES
66
  'load_factory_modules' => array(
67
- array( 'libs/factory/bootstrap', 'factory_bootstrap_428', 'admin' ),
68
- array( 'libs/factory/forms', 'factory_forms_425', 'admin' ),
69
- array( 'libs/factory/pages', 'factory_pages_427', 'admin' ),
70
- array( 'libs/factory/clearfy', 'factory_clearfy_219', 'all' ),
71
- array( 'libs/factory/adverts', 'factory_adverts_107', 'admin')
72
  )
73
  );
74
 
75
- $wdan_compatibility = new Wbcr_Factory427_Requirements( __FILE__, array_merge( $wdan_plugin_info, array(
76
  'plugin_already_activate' => defined( 'WDN_PLUGIN_ACTIVE' ),
77
  'required_php_version' => '5.4',
78
  'required_wp_version' => '4.2.0',
8
  * Text Domain: disable-admin-notices
9
  * Domain Path: /languages/
10
  * Author URI: https://webcraftic.com
11
+ * Framework Version: FACTORY_428_VERSION
12
  */
13
 
14
  /**
64
 
65
  // FRAMEWORK MODULES
66
  'load_factory_modules' => array(
67
+ array( 'libs/factory/bootstrap', 'factory_bootstrap_429', 'admin' ),
68
+ array( 'libs/factory/forms', 'factory_forms_426', 'admin' ),
69
+ array( 'libs/factory/pages', 'factory_pages_428', 'admin' ),
70
+ array( 'libs/factory/clearfy', 'factory_clearfy_220', 'all' ),
71
+ array( 'libs/factory/adverts', 'factory_adverts_108', 'admin')
72
  )
73
  );
74
 
75
+ $wdan_compatibility = new Wbcr_Factory428_Requirements( __FILE__, array_merge( $wdan_plugin_info, array(
76
  'plugin_already_activate' => defined( 'WDN_PLUGIN_ACTIVE' ),
77
  'required_php_version' => '5.4',
78
  'required_wp_version' => '4.2.0',
components/disable-admin-notices/includes/class-plugin.php CHANGED
@@ -9,16 +9,16 @@
9
  */
10
 
11
  // Exit if accessed directly
12
- //use WBCR\Factory_Adverts_107\Base;
13
 
14
  if ( ! defined( 'ABSPATH' ) ) {
15
  exit;
16
  }
17
 
18
- class WDN_Plugin extends Wbcr_Factory427_Plugin {
19
 
20
  /**
21
- * @var Wbcr_Factory427_Plugin
22
  */
23
  private static $app;
24
  private $plugin_data;
@@ -44,7 +44,7 @@ class WDN_Plugin extends Wbcr_Factory427_Plugin {
44
  }
45
 
46
  /**
47
- * @return Wbcr_Factory427_Plugin
48
  */
49
  public static function app() {
50
  return self::$app;
9
  */
10
 
11
  // Exit if accessed directly
12
+ //use WBCR\Factory_Adverts_108\Base;
13
 
14
  if ( ! defined( 'ABSPATH' ) ) {
15
  exit;
16
  }
17
 
18
+ class WDN_Plugin extends Wbcr_Factory428_Plugin {
19
 
20
  /**
21
+ * @var Wbcr_Factory428_Plugin
22
  */
23
  private static $app;
24
  private $plugin_data;
44
  }
45
 
46
  /**
47
+ * @return Wbcr_Factory428_Plugin
48
  */
49
  public static function app() {
50
  return self::$app;
components/disable-admin-notices/includes/classes/class-configurate-notices.php CHANGED
@@ -15,7 +15,7 @@ if( !defined('ABSPATH') ) {
15
  exit;
16
  }
17
 
18
- class WDN_ConfigHideNotices extends Wbcr_FactoryClearfy219_Configurate {
19
 
20
  public function registerActionsAndFilters()
21
  {
15
  exit;
16
  }
17
 
18
+ class WDN_ConfigHideNotices extends Wbcr_FactoryClearfy220_Configurate {
19
 
20
  public function registerActionsAndFilters()
21
  {
components/disable-admin-notices/migrations/010007.php CHANGED
@@ -4,7 +4,7 @@
4
  * Updates for altering the table used to store statistics data.
5
  * Adds new columns and renames existing ones in order to add support for the new social buttons.
6
  */
7
- class WDNUpdate010007 extends Wbcr_Factory427_Update {
8
 
9
  public function install()
10
  {
4
  * Updates for altering the table used to store statistics data.
5
  * Adds new columns and renames existing ones in order to add support for the new social buttons.
6
  */
7
+ class WDNUpdate010007 extends Wbcr_Factory428_Update {
8
 
9
  public function install()
10
  {
components/ga-cache/admin/activation.php CHANGED
@@ -5,7 +5,7 @@
5
  *
6
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
7
  * @copyright (c) 09.09.2017, Webcraftic
8
- * @see Factory427_Activator
9
  * @version 1.0
10
  */
11
 
@@ -14,7 +14,7 @@ if ( ! defined( 'ABSPATH' ) ) {
14
  exit;
15
  }
16
 
17
- class WGA_Activation extends Wbcr_Factory427_Activator {
18
 
19
  /**
20
  * Runs activation actions.
5
  *
6
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
7
  * @copyright (c) 09.09.2017, Webcraftic
8
+ * @see Factory428_Activator
9
  * @version 1.0
10
  */
11
 
14
  exit;
15
  }
16
 
17
+ class WGA_Activation extends Wbcr_Factory428_Activator {
18
 
19
  /**
20
  * Runs activation actions.
components/ga-cache/admin/boot.php CHANGED
@@ -23,13 +23,13 @@ if ( ! defined( 'ABSPATH' ) ) {
23
  *
24
  * @since 3.0.1
25
  *
26
- * @param Wbcr_FactoryPages427_ImpressiveThemplate $page
27
  *
28
- * @param Wbcr_Factory427_Plugin $plugin
29
  *
30
  * @return void
31
  */
32
- add_action( 'wbcr_factory_427_imppage_after_form_save', function ( $plugin, $page ) {
33
  if ( WGA_Plugin::app()->getPluginName() != $plugin->getPluginName() ) {
34
  return;
35
  }
23
  *
24
  * @since 3.0.1
25
  *
26
+ * @param Wbcr_FactoryPages428_ImpressiveThemplate $page
27
  *
28
+ * @param Wbcr_Factory428_Plugin $plugin
29
  *
30
  * @return void
31
  */
32
+ add_action( 'wbcr_factory_428_imppage_after_form_save', function ( $plugin, $page ) {
33
  if ( WGA_Plugin::app()->getPluginName() != $plugin->getPluginName() ) {
34
  return;
35
  }
components/ga-cache/admin/options.php CHANGED
@@ -117,7 +117,7 @@ function wbcr_ga_get_plugin_options() {
117
 
118
  /**
119
  * @param $form
120
- * @param $page Wbcr_FactoryPages427_ImpressiveThemplate
121
  *
122
  * @return mixed
123
  */
117
 
118
  /**
119
  * @param $form
120
+ * @param $page Wbcr_FactoryPages428_ImpressiveThemplate
121
  *
122
  * @return mixed
123
  */
components/ga-cache/admin/pages/class-pages-general-settings.php CHANGED
@@ -16,7 +16,7 @@ if ( ! defined( 'ABSPATH' ) ) {
16
  * @copyright (c) 2018 Webraftic Ltd
17
  * @version 1.0
18
  */
19
- class WGA_CachePage extends Wbcr_FactoryClearfy219_PageBase {
20
 
21
  /**
22
  * {@inheritDoc}
@@ -48,9 +48,9 @@ class WGA_CachePage extends Wbcr_FactoryClearfy219_PageBase {
48
  public $show_right_sidebar_in_options = true;
49
 
50
  /**
51
- * @param Wbcr_Factory427_Plugin $plugin
52
  */
53
- public function __construct( Wbcr_Factory427_Plugin $plugin ) {
54
  $this->menu_title = __( 'Local Google Analytics', 'simple-google-analytics' );
55
 
56
  if ( ! defined( 'LOADING_GA_CACHE_AS_ADDON' ) ) {
16
  * @copyright (c) 2018 Webraftic Ltd
17
  * @version 1.0
18
  */
19
+ class WGA_CachePage extends Wbcr_FactoryClearfy220_PageBase {
20
 
21
  /**
22
  * {@inheritDoc}
48
  public $show_right_sidebar_in_options = true;
49
 
50
  /**
51
+ * @param Wbcr_Factory428_Plugin $plugin
52
  */
53
+ public function __construct( Wbcr_Factory428_Plugin $plugin ) {
54
  $this->menu_title = __( 'Local Google Analytics', 'simple-google-analytics' );
55
 
56
  if ( ! defined( 'LOADING_GA_CACHE_AS_ADDON' ) ) {
components/ga-cache/admin/pages/class-pages-more-features.php CHANGED
@@ -16,6 +16,6 @@ if ( ! defined( 'ABSPATH' ) ) {
16
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
17
  * @copyright (c) 2018 Webraftic Ltd
18
  */
19
- class WGA_MoreFeaturesPage extends Wbcr_FactoryClearfy219_MoreFeaturesPage {
20
 
21
  }
16
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
17
  * @copyright (c) 2018 Webraftic Ltd
18
  */
19
+ class WGA_MoreFeaturesPage extends Wbcr_FactoryClearfy220_MoreFeaturesPage {
20
 
21
  }
components/ga-cache/includes/class-plugin.php CHANGED
@@ -10,11 +10,11 @@ if ( ! defined( 'ABSPATH' ) ) {
10
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
11
  * @copyright (c) 19.02.2018, Webcraftic
12
  */
13
- class WGA_Plugin extends Wbcr_Factory427_Plugin {
14
 
15
  /**
16
  * @see self::app()
17
- * @var Wbcr_Factory427_Plugin
18
  */
19
  private static $app;
20
 
@@ -58,7 +58,7 @@ class WGA_Plugin extends Wbcr_Factory427_Plugin {
58
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
59
  * классам.
60
  *
61
- * @return \Wbcr_Factory427_Plugin|\WGA_Plugin
62
  */
63
  public static function app() {
64
  return self::$app;
10
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
11
  * @copyright (c) 19.02.2018, Webcraftic
12
  */
13
+ class WGA_Plugin extends Wbcr_Factory428_Plugin {
14
 
15
  /**
16
  * @see self::app()
17
+ * @var Wbcr_Factory428_Plugin
18
  */
19
  private static $app;
20
 
58
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
59
  * классам.
60
  *
61
+ * @return \Wbcr_Factory428_Plugin|\WGA_Plugin
62
  */
63
  public static function app() {
64
  return self::$app;
components/ga-cache/includes/classes/class-configurate-ga.php CHANGED
@@ -12,7 +12,7 @@ if ( ! defined( 'ABSPATH' ) ) {
12
  exit;
13
  }
14
 
15
- class WGA_ConfigGACache extends Wbcr_FactoryClearfy219_Configurate {
16
 
17
 
18
  public function registerActionsAndFilters() {
12
  exit;
13
  }
14
 
15
+ class WGA_ConfigGACache extends Wbcr_FactoryClearfy220_Configurate {
16
 
17
 
18
  public function registerActionsAndFilters() {
components/ga-cache/migrations/030002.php CHANGED
@@ -4,7 +4,7 @@
4
  * Updates for altering the table used to store statistics data.
5
  * Adds new columns and renames existing ones in order to add support for the new social buttons.
6
  */
7
- class WGACUpdate030002 extends Wbcr_Factory427_Update {
8
 
9
  public function install() {
10
  /**
4
  * Updates for altering the table used to store statistics data.
5
  * Adds new columns and renames existing ones in order to add support for the new social buttons.
6
  */
7
+ class WGACUpdate030002 extends Wbcr_Factory428_Update {
8
 
9
  public function install() {
10
  /**
components/ga-cache/simple_google_analytics.php CHANGED
@@ -63,15 +63,15 @@ $plugin_info = array(
63
 
64
  // FRAMEWORK MODULES
65
  'load_factory_modules' => array(
66
- array( 'libs/factory/bootstrap', 'factory_bootstrap_428', 'admin' ),
67
- array( 'libs/factory/forms', 'factory_forms_425', 'admin' ),
68
- array( 'libs/factory/pages', 'factory_pages_427', 'admin' ),
69
- array( 'libs/factory/clearfy', 'factory_clearfy_219', 'all' ),
70
- array( 'libs/factory/adverts', 'factory_adverts_107', 'admin')
71
  )
72
  );
73
 
74
- $wga_compatibility = new Wbcr_Factory427_Requirements( __FILE__, array_merge( $plugin_info, array(
75
  'plugin_already_activate' => defined( 'WGA_PLUGIN_ACTIVE' ),
76
  'required_php_version' => '5.4',
77
  'required_wp_version' => '4.2.0',
63
 
64
  // FRAMEWORK MODULES
65
  'load_factory_modules' => array(
66
+ array( 'libs/factory/bootstrap', 'factory_bootstrap_429', 'admin' ),
67
+ array( 'libs/factory/forms', 'factory_forms_426', 'admin' ),
68
+ array( 'libs/factory/pages', 'factory_pages_428', 'admin' ),
69
+ array( 'libs/factory/clearfy', 'factory_clearfy_220', 'all' ),
70
+ array( 'libs/factory/adverts', 'factory_adverts_108', 'admin')
71
  )
72
  );
73
 
74
+ $wga_compatibility = new Wbcr_Factory428_Requirements( __FILE__, array_merge( $plugin_info, array(
75
  'plugin_already_activate' => defined( 'WGA_PLUGIN_ACTIVE' ),
76
  'required_php_version' => '5.4',
77
  'required_wp_version' => '4.2.0',
components/html-minify/admin/pages/class-pages-settings.php CHANGED
@@ -9,7 +9,7 @@ if ( ! defined( 'ABSPATH' ) ) {
9
  *
10
  * @since 1.0.0
11
  */
12
- class WHTM_SettingsPage extends Wbcr_FactoryClearfy219_PageBase {
13
 
14
  /**
15
  * {@inheritDoc}
@@ -52,9 +52,9 @@ class WHTM_SettingsPage extends Wbcr_FactoryClearfy219_PageBase {
52
  *
53
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
54
  *
55
- * @param \Wbcr_Factory427_Plugin $plugin
56
  */
57
- public function __construct( Wbcr_Factory427_Plugin $plugin ) {
58
  // Заголовок страницы
59
  $this->menu_title = __( 'HTML Minify', 'html-minify' );
60
 
9
  *
10
  * @since 1.0.0
11
  */
12
+ class WHTM_SettingsPage extends Wbcr_FactoryClearfy220_PageBase {
13
 
14
  /**
15
  * {@inheritDoc}
52
  *
53
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
54
  *
55
+ * @param \Wbcr_Factory428_Plugin $plugin
56
  */
57
+ public function __construct( Wbcr_Factory428_Plugin $plugin ) {
58
  // Заголовок страницы
59
  $this->menu_title = __( 'HTML Minify', 'html-minify' );
60
 
components/html-minify/html-minify.php CHANGED
@@ -8,7 +8,7 @@
8
  * Text Domain: html-minify
9
  * Domain Path: /languages/
10
  * Author URI: https://webcraftic.com
11
- * Framework Version: FACTORY_427_VERSION
12
  */
13
 
14
  /*
@@ -59,15 +59,15 @@ $whtml_plugin_info = array(
59
 
60
  // FRAMEWORK MODULES
61
  'load_factory_modules' => array(
62
- array( 'libs/factory/bootstrap', 'factory_bootstrap_428', 'admin' ),
63
- array( 'libs/factory/forms', 'factory_forms_425', 'admin' ),
64
- array( 'libs/factory/pages', 'factory_pages_427', 'admin' ),
65
- array( 'libs/factory/clearfy', 'factory_clearfy_219', 'all' ),
66
- array( 'libs/factory/adverts', 'factory_adverts_107', 'admin')
67
  )
68
  );
69
 
70
- $whtml_compatibility = new Wbcr_Factory427_Requirements( __FILE__, array_merge( $whtml_plugin_info, array(
71
  'plugin_already_activate' => defined( 'WHTM_PLUGIN_ACTIVE' ),
72
  'required_php_version' => '5.4',
73
  'required_wp_version' => '4.2.0',
8
  * Text Domain: html-minify
9
  * Domain Path: /languages/
10
  * Author URI: https://webcraftic.com
11
+ * Framework Version: FACTORY_428_VERSION
12
  */
13
 
14
  /*
59
 
60
  // FRAMEWORK MODULES
61
  'load_factory_modules' => array(
62
+ array( 'libs/factory/bootstrap', 'factory_bootstrap_429', 'admin' ),
63
+ array( 'libs/factory/forms', 'factory_forms_426', 'admin' ),
64
+ array( 'libs/factory/pages', 'factory_pages_428', 'admin' ),
65
+ array( 'libs/factory/clearfy', 'factory_clearfy_220', 'all' ),
66
+ array( 'libs/factory/adverts', 'factory_adverts_108', 'admin')
67
  )
68
  );
69
 
70
+ $whtml_compatibility = new Wbcr_Factory428_Requirements( __FILE__, array_merge( $whtml_plugin_info, array(
71
  'plugin_already_activate' => defined( 'WHTM_PLUGIN_ACTIVE' ),
72
  'required_php_version' => '5.4',
73
  'required_wp_version' => '4.2.0',
components/html-minify/includes/class-plugin.php CHANGED
@@ -13,11 +13,11 @@ if ( ! defined( 'ABSPATH' ) ) {
13
  }
14
 
15
 
16
- class WHTM_Plugin extends Wbcr_Factory427_Plugin {
17
 
18
  /**
19
  * @see self::app()
20
- * @var Wbcr_Factory427_Plugin
21
  */
22
  private static $app;
23
 
@@ -53,7 +53,7 @@ class WHTM_Plugin extends Wbcr_Factory427_Plugin {
53
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
54
  * классам.
55
  *
56
- * @return \Wbcr_Factory427_Plugin|\WCM_Plugin
57
  */
58
  public static function app() {
59
  return self::$app;
13
  }
14
 
15
 
16
+ class WHTM_Plugin extends Wbcr_Factory428_Plugin {
17
 
18
  /**
19
  * @see self::app()
20
+ * @var Wbcr_Factory428_Plugin
21
  */
22
  private static $app;
23
 
53
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
54
  * классам.
55
  *
56
+ * @return \Wbcr_Factory428_Plugin|\WCM_Plugin
57
  */
58
  public static function app() {
59
  return self::$app;
components/minify-and-combine/admin/pages/class-pages-settings.php CHANGED
@@ -9,7 +9,7 @@ if ( ! defined( 'ABSPATH' ) ) {
9
  *
10
  * @since 1.0.0
11
  */
12
- class WMAC_MinifyAndCombineSettingsPage extends Wbcr_FactoryClearfy219_PageBase {
13
 
14
  /**
15
  * {@inheritDoc}
@@ -52,9 +52,9 @@ class WMAC_MinifyAndCombineSettingsPage extends Wbcr_FactoryClearfy219_PageBase
52
  *
53
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
54
  *
55
- * @param \Wbcr_Factory427_Plugin $plugin
56
  */
57
- public function __construct( Wbcr_Factory427_Plugin $plugin ) {
58
  $this->menu_title = __( 'Minify (JS/CSS)', 'minify-and-combine' );
59
 
60
  if ( ! defined( 'LOADING_MINIFY_AND_COMBINE_AS_ADDON' ) ) {
9
  *
10
  * @since 1.0.0
11
  */
12
+ class WMAC_MinifyAndCombineSettingsPage extends Wbcr_FactoryClearfy220_PageBase {
13
 
14
  /**
15
  * {@inheritDoc}
52
  *
53
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
54
  *
55
+ * @param \Wbcr_Factory428_Plugin $plugin
56
  */
57
+ public function __construct( Wbcr_Factory428_Plugin $plugin ) {
58
  $this->menu_title = __( 'Minify (JS/CSS)', 'minify-and-combine' );
59
 
60
  if ( ! defined( 'LOADING_MINIFY_AND_COMBINE_AS_ADDON' ) ) {
components/minify-and-combine/includes/class-plugin.php CHANGED
@@ -13,11 +13,11 @@ if ( ! defined( 'ABSPATH' ) ) {
13
  }
14
 
15
 
16
- class WMAC_Plugin extends Wbcr_Factory427_Plugin {
17
 
18
  /**
19
  * @see self::app()
20
- * @var Wbcr_Factory427_Plugin
21
  */
22
  private static $app;
23
 
@@ -55,7 +55,7 @@ class WMAC_Plugin extends Wbcr_Factory427_Plugin {
55
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
56
  * классам.
57
  *
58
- * @return \Wbcr_Factory427_Plugin|\WCM_Plugin
59
  */
60
  public static function app() {
61
  return self::$app;
13
  }
14
 
15
 
16
+ class WMAC_Plugin extends Wbcr_Factory428_Plugin {
17
 
18
  /**
19
  * @see self::app()
20
+ * @var Wbcr_Factory428_Plugin
21
  */
22
  private static $app;
23
 
55
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
56
  * классам.
57
  *
58
+ * @return \Wbcr_Factory428_Plugin|\WCM_Plugin
59
  */
60
  public static function app() {
61
  return self::$app;
components/minify-and-combine/includes/classes/class-cache.php CHANGED
@@ -385,7 +385,7 @@ class WMAC_PluginCache {
385
  }
386
  }
387
  add_action( 'shutdown', 'wmac_do_cachepurged_action', 11 );
388
- add_action( 'wmac_action_cachepurged', [ 'WbcrFactoryClearfy219_Helpers', 'flushPageCache' ], 10, 0 );
389
  }
390
 
391
  // Warm cache (part of speedupper)!
385
  }
386
  }
387
  add_action( 'shutdown', 'wmac_do_cachepurged_action', 11 );
388
+ add_action( 'wmac_action_cachepurged', [ 'WbcrFactoryClearfy220_Helpers', 'flushPageCache' ], 10, 0 );
389
  }
390
 
391
  // Warm cache (part of speedupper)!
components/minify-and-combine/minify-and-combine.php CHANGED
@@ -8,7 +8,7 @@
8
  * Text Domain: minify-and-combine
9
  * Domain Path: /languages/
10
  * Author URI: https://webcraftic.com
11
- * Framework Version: FACTORY_427_VERSION
12
  */
13
 
14
  /*
@@ -59,15 +59,15 @@ $wmac_plugin_info = array(
59
 
60
  // FRAMEWORK MODULES
61
  'load_factory_modules' => array(
62
- array( 'libs/factory/bootstrap', 'factory_bootstrap_428', 'admin' ),
63
- array( 'libs/factory/forms', 'factory_forms_425', 'admin' ),
64
- array( 'libs/factory/pages', 'factory_pages_427', 'admin' ),
65
- array( 'libs/factory/clearfy', 'factory_clearfy_219', 'all' ),
66
- array( 'libs/factory/adverts', 'factory_adverts_107', 'admin')
67
  )
68
  );
69
 
70
- $wmac_compatibility = new Wbcr_Factory427_Requirements( __FILE__, array_merge( $wmac_plugin_info, array(
71
  'plugin_already_activate' => defined( 'WMAC_PLUGIN_ACTIVE' ),
72
  'required_php_version' => '5.4',
73
  'required_wp_version' => '4.2.0',
8
  * Text Domain: minify-and-combine
9
  * Domain Path: /languages/
10
  * Author URI: https://webcraftic.com
11
+ * Framework Version: FACTORY_428_VERSION
12
  */
13
 
14
  /*
59
 
60
  // FRAMEWORK MODULES
61
  'load_factory_modules' => array(
62
+ array( 'libs/factory/bootstrap', 'factory_bootstrap_429', 'admin' ),
63
+ array( 'libs/factory/forms', 'factory_forms_426', 'admin' ),
64
+ array( 'libs/factory/pages', 'factory_pages_428', 'admin' ),
65
+ array( 'libs/factory/clearfy', 'factory_clearfy_220', 'all' ),
66
+ array( 'libs/factory/adverts', 'factory_adverts_108', 'admin')
67
  )
68
  );
69
 
70
+ $wmac_compatibility = new Wbcr_Factory428_Requirements( __FILE__, array_merge( $wmac_plugin_info, array(
71
  'plugin_already_activate' => defined( 'WMAC_PLUGIN_ACTIVE' ),
72
  'required_php_version' => '5.4',
73
  'required_wp_version' => '4.2.0',
components/updates-manager/admin/activation.php CHANGED
@@ -5,7 +5,7 @@
5
  *
6
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
7
  * @copyright (c) 09.09.2017, Webcraftic
8
- * @see Factory427_Activator
9
  */
10
 
11
  // Exit if accessed directly
@@ -13,7 +13,7 @@ if ( ! defined( 'ABSPATH' ) ) {
13
  exit;
14
  }
15
 
16
- class WUPM_Activation extends Wbcr_Factory427_Activator {
17
 
18
  /**
19
  * Runs activation actions.
5
  *
6
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
7
  * @copyright (c) 09.09.2017, Webcraftic
8
+ * @see Factory428_Activator
9
  */
10
 
11
  // Exit if accessed directly
13
  exit;
14
  }
15
 
16
+ class WUPM_Activation extends Wbcr_Factory428_Activator {
17
 
18
  /**
19
  * Runs activation actions.
components/updates-manager/admin/assets/js/ajax-components.js CHANGED
@@ -59,15 +59,15 @@ jQuery(function($) {
59
 
60
  if( !response || !response.success ) {
61
  if( response.data.error_message ) {
62
- $.wbcr_factory_clearfy_219.app.showNotice('Error: [' + response.data.error_message + ']', 'danger');
63
  }
64
  return false;
65
  }
66
 
67
- /*var noticeId = $.wbcr_factory_clearfy_219.app.showNotice('Settings successfully updated', 'success');
68
 
69
  setTimeout(function() {
70
- $.wbcr_factory_clearfy_219.app.hideNotice(noticeId);
71
  }, 5000);*/
72
  },
73
  error: function(xhr, ajaxOptions, thrownError) {
@@ -75,7 +75,7 @@ jQuery(function($) {
75
  console.log(xhr.responseText);
76
  console.log(thrownError);
77
 
78
- $.wbcr_factory_clearfy_219.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
79
  }
80
  });
81
  });
59
 
60
  if( !response || !response.success ) {
61
  if( response.data.error_message ) {
62
+ $.wbcr_factory_clearfy_220.app.showNotice('Error: [' + response.data.error_message + ']', 'danger');
63
  }
64
  return false;
65
  }
66
 
67
+ /*var noticeId = $.wbcr_factory_clearfy_220.app.showNotice('Settings successfully updated', 'success');
68
 
69
  setTimeout(function() {
70
+ $.wbcr_factory_clearfy_220.app.hideNotice(noticeId);
71
  }, 5000);*/
72
  },
73
  error: function(xhr, ajaxOptions, thrownError) {
75
  console.log(xhr.responseText);
76
  console.log(thrownError);
77
 
78
+ $.wbcr_factory_clearfy_220.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
79
  }
80
  });
81
  });
components/updates-manager/admin/boot.php CHANGED
@@ -48,7 +48,7 @@ if ( ! defined( 'LOADING_UPDATES_MANAGER_AS_ADDON' ) ) {
48
  return $page_url;
49
  }
50
 
51
- add_filter( 'wbcr_factory_pages_427_imppage_rating_widget_url', 'wbcr_upm_rating_widget_url', 10, 2 );
52
 
53
  /**
54
  * Удаляем лишние виджеты из правого сайдбара в интерфейсе плагина
48
  return $page_url;
49
  }
50
 
51
+ add_filter( 'wbcr_factory_pages_428_imppage_rating_widget_url', 'wbcr_upm_rating_widget_url', 10, 2 );
52
 
53
  /**
54
  * Удаляем лишние виджеты из правого сайдбара в интерфейсе плагина
components/updates-manager/admin/includes/class-abstract-filters.php CHANGED
@@ -14,7 +14,7 @@ abstract class WUPM_AbstractFilters {
14
  protected $is_disable_translation_updates;
15
 
16
 
17
- function __construct( Wbcr_Factory427_Plugin $plugin ) {
18
  $this->plugin = $plugin;
19
  $this->load();
20
  }
14
  protected $is_disable_translation_updates;
15
 
16
 
17
+ function __construct( Wbcr_Factory428_Plugin $plugin ) {
18
  $this->plugin = $plugin;
19
  $this->load();
20
  }
components/updates-manager/admin/pages/class-page-advanced.php CHANGED
@@ -16,7 +16,7 @@ if ( ! defined( 'ABSPATH' ) ) {
16
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
17
  * @copyright (c) 2018 Webraftic Ltd
18
  */
19
- class WUPM_AdvancedPage extends Wbcr_FactoryClearfy219_PageBase {
20
 
21
  /**
22
  * {@inheritDoc}
@@ -66,9 +66,9 @@ class WUPM_AdvancedPage extends Wbcr_FactoryClearfy219_PageBase {
66
  *
67
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
68
  *
69
- * @param \Wbcr_Factory427_Plugin $plugin
70
  */
71
- public function __construct( Wbcr_Factory427_Plugin $plugin ) {
72
  $this->menu_title = __( 'Advanced', 'webcraftic-updates-manager' );
73
 
74
  parent::__construct( $plugin );
@@ -79,8 +79,8 @@ class WUPM_AdvancedPage extends Wbcr_FactoryClearfy219_PageBase {
79
  *
80
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
81
  *
82
- * @param \Wbcr_Factory427_ScriptList $scripts
83
- * @param \Wbcr_Factory427_StyleList $styles
84
  */
85
  public function assets( $scripts, $styles ) {
86
  parent::assets( $scripts, $styles );
16
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
17
  * @copyright (c) 2018 Webraftic Ltd
18
  */
19
+ class WUPM_AdvancedPage extends Wbcr_FactoryClearfy220_PageBase {
20
 
21
  /**
22
  * {@inheritDoc}
66
  *
67
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
68
  *
69
+ * @param \Wbcr_Factory428_Plugin $plugin
70
  */
71
+ public function __construct( Wbcr_Factory428_Plugin $plugin ) {
72
  $this->menu_title = __( 'Advanced', 'webcraftic-updates-manager' );
73
 
74
  parent::__construct( $plugin );
79
  *
80
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
81
  *
82
+ * @param \Wbcr_Factory428_ScriptList $scripts
83
+ * @param \Wbcr_Factory428_StyleList $styles
84
  */
85
  public function assets( $scripts, $styles ) {
86
  parent::assets( $scripts, $styles );
components/updates-manager/admin/pages/class-page-more-features.php CHANGED
@@ -16,6 +16,6 @@ if ( ! defined( 'ABSPATH' ) ) {
16
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
17
  * @copyright (c) 2018 Webraftic Ltd
18
  */
19
- class WUPM_MoreFeaturesPage extends Wbcr_FactoryClearfy219_MoreFeaturesPage {
20
 
21
  }
16
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
17
  * @copyright (c) 2018 Webraftic Ltd
18
  */
19
+ class WUPM_MoreFeaturesPage extends Wbcr_FactoryClearfy220_MoreFeaturesPage {
20
 
21
  }
components/updates-manager/admin/pages/class-page-plugins.php CHANGED
@@ -16,7 +16,7 @@ if ( ! defined( 'ABSPATH' ) ) {
16
  *
17
  * @copyright (c) 2018 Webraftic Ltd
18
  */
19
- class WUPM_PluginsPage extends Wbcr_FactoryClearfy219_PageBase {
20
 
21
  /**
22
  *{@inheritDoc}
@@ -83,9 +83,9 @@ class WUPM_PluginsPage extends Wbcr_FactoryClearfy219_PageBase {
83
  *
84
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
85
  *
86
- * @param \Wbcr_Factory427_Plugin $plugin
87
  */
88
- public function __construct( Wbcr_Factory427_Plugin $plugin ) {
89
  $this->menu_title = __( 'Plugins', 'webcraftic-updates-manager' );
90
 
91
  parent::__construct( $plugin );
@@ -121,8 +121,8 @@ class WUPM_PluginsPage extends Wbcr_FactoryClearfy219_PageBase {
121
  *
122
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
123
  *
124
- * @param \Wbcr_Factory427_ScriptList $scripts
125
- * @param \Wbcr_Factory427_StyleList $styles
126
  */
127
  public function assets( $scripts, $styles ) {
128
  parent::assets( $scripts, $styles );
16
  *
17
  * @copyright (c) 2018 Webraftic Ltd
18
  */
19
+ class WUPM_PluginsPage extends Wbcr_FactoryClearfy220_PageBase {
20
 
21
  /**
22
  *{@inheritDoc}
83
  *
84
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
85
  *
86
+ * @param \Wbcr_Factory428_Plugin $plugin
87
  */
88
+ public function __construct( Wbcr_Factory428_Plugin $plugin ) {
89
  $this->menu_title = __( 'Plugins', 'webcraftic-updates-manager' );
90
 
91
  parent::__construct( $plugin );
121
  *
122
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
123
  *
124
+ * @param \Wbcr_Factory428_ScriptList $scripts
125
+ * @param \Wbcr_Factory428_StyleList $styles
126
  */
127
  public function assets( $scripts, $styles ) {
128
  parent::assets( $scripts, $styles );
components/updates-manager/admin/pages/class-page-themes.php CHANGED
@@ -15,7 +15,7 @@ if ( ! defined( 'ABSPATH' ) ) {
15
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
16
  * @copyright (c) 2018 Webraftic Ltd
17
  */
18
- class WUPM_ThemesPage extends Wbcr_FactoryClearfy219_PageBase {
19
 
20
  /**
21
  * {@inheritDoc}
@@ -85,9 +85,9 @@ class WUPM_ThemesPage extends Wbcr_FactoryClearfy219_PageBase {
85
  private $themes_update_filters = [];
86
 
87
  /**
88
- * @param Wbcr_Factory427_Plugin $plugin
89
  */
90
- public function __construct( Wbcr_Factory427_Plugin $plugin ) {
91
  $this->menu_title = __( 'Themes', 'webcraftic-updates-manager' );
92
 
93
  parent::__construct( $plugin );
@@ -123,7 +123,7 @@ class WUPM_ThemesPage extends Wbcr_FactoryClearfy219_PageBase {
123
  *
124
  * @since 1.0.0
125
  * @return void
126
- * @see FactoryPages427_AdminPage
127
  *
128
  */
129
  public function assets( $scripts, $styles ) {
15
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
16
  * @copyright (c) 2018 Webraftic Ltd
17
  */
18
+ class WUPM_ThemesPage extends Wbcr_FactoryClearfy220_PageBase {
19
 
20
  /**
21
  * {@inheritDoc}
85
  private $themes_update_filters = [];
86
 
87
  /**
88
+ * @param Wbcr_Factory428_Plugin $plugin
89
  */
90
+ public function __construct( Wbcr_Factory428_Plugin $plugin ) {
91
  $this->menu_title = __( 'Themes', 'webcraftic-updates-manager' );
92
 
93
  parent::__construct( $plugin );
123
  *
124
  * @since 1.0.0
125
  * @return void
126
+ * @see FactoryPages428_AdminPage
127
  *
128
  */
129
  public function assets( $scripts, $styles ) {
components/updates-manager/admin/pages/class-page-updates.php CHANGED
@@ -15,7 +15,7 @@ if ( ! defined( 'ABSPATH' ) ) {
15
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
16
  * @copyright (c) 2018 Webraftic Ltd
17
  */
18
- class WUPM_UpdatesPage extends Wbcr_FactoryClearfy219_PageBase {
19
 
20
  /**
21
  * {@inheritDoc}
@@ -51,9 +51,9 @@ class WUPM_UpdatesPage extends Wbcr_FactoryClearfy219_PageBase {
51
  *
52
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
53
  *
54
- * @param \Wbcr_Factory427_Plugin $plugin
55
  */
56
- public function __construct( Wbcr_Factory427_Plugin $plugin ) {
57
  $this->menu_title = __( 'Updates manager', 'webcraftic-updates-manager' );
58
  $this->page_menu_short_description = __( 'Manage all site updates', 'webcraftic-updates-manager' );
59
 
@@ -85,8 +85,8 @@ class WUPM_UpdatesPage extends Wbcr_FactoryClearfy219_PageBase {
85
  *
86
  * @author Alexander Kovalev <alex.kovalevv@gmail.com> *
87
  *
88
- * @param \Wbcr_Factory427_ScriptList $scripts
89
- * @param \Wbcr_Factory427_StyleList $styles
90
  */
91
  public function assets( $scripts, $styles ) {
92
  parent::assets( $scripts, $styles );
15
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
16
  * @copyright (c) 2018 Webraftic Ltd
17
  */
18
+ class WUPM_UpdatesPage extends Wbcr_FactoryClearfy220_PageBase {
19
 
20
  /**
21
  * {@inheritDoc}
51
  *
52
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
53
  *
54
+ * @param \Wbcr_Factory428_Plugin $plugin
55
  */
56
+ public function __construct( Wbcr_Factory428_Plugin $plugin ) {
57
  $this->menu_title = __( 'Updates manager', 'webcraftic-updates-manager' );
58
  $this->page_menu_short_description = __( 'Manage all site updates', 'webcraftic-updates-manager' );
59
 
85
  *
86
  * @author Alexander Kovalev <alex.kovalevv@gmail.com> *
87
  *
88
+ * @param \Wbcr_Factory428_ScriptList $scripts
89
+ * @param \Wbcr_Factory428_StyleList $styles
90
  */
91
  public function assets( $scripts, $styles ) {
92
  parent::assets( $scripts, $styles );
components/updates-manager/includes/class-plugin.php CHANGED
@@ -10,11 +10,11 @@ if ( ! defined( 'ABSPATH' ) ) {
10
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
11
  * @copyright (c) 19.02.2018, Webcraftic
12
  */
13
- class WUPM_Plugin extends Wbcr_Factory427_Plugin {
14
 
15
  /**
16
  * @see self::app()
17
- * @var Wbcr_Factory427_Plugin
18
  */
19
  private static $app;
20
 
@@ -57,7 +57,7 @@ class WUPM_Plugin extends Wbcr_Factory427_Plugin {
57
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
58
  * классам.
59
  *
60
- * @return \Wbcr_Factory427_Plugin|\WUPM_Plugin
61
  */
62
  public static function app() {
63
  return self::$app;
10
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
11
  * @copyright (c) 19.02.2018, Webcraftic
12
  */
13
+ class WUPM_Plugin extends Wbcr_Factory428_Plugin {
14
 
15
  /**
16
  * @see self::app()
17
+ * @var Wbcr_Factory428_Plugin
18
  */
19
  private static $app;
20
 
57
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
58
  * классам.
59
  *
60
+ * @return \Wbcr_Factory428_Plugin|\WUPM_Plugin
61
  */
62
  public static function app() {
63
  return self::$app;
components/updates-manager/includes/classes/class-configurate-updates.php CHANGED
@@ -12,7 +12,7 @@ require_once WUPM_PLUGIN_DIR . '/admin/includes/class-plugin-filters.php';
12
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
13
  * @copyright (c) 2017 Webraftic Ltd
14
  */
15
- class WUPM_ConfigUpdates extends Wbcr_FactoryClearfy219_Configurate {
16
 
17
  public function registerActionsAndFilters() {
18
  /**
12
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
13
  * @copyright (c) 2017 Webraftic Ltd
14
  */
15
+ class WUPM_ConfigUpdates extends Wbcr_FactoryClearfy220_Configurate {
16
 
17
  public function registerActionsAndFilters() {
18
  /**
components/updates-manager/migrations/010008.php CHANGED
@@ -4,7 +4,7 @@
4
  * Updates for altering the table used to store statistics data.
5
  * Adds new columns and renames existing ones in order to add support for the new social buttons.
6
  */
7
- class WUPMUpdate010008 extends Wbcr_Factory427_Update {
8
 
9
  public function install()
10
  {
4
  * Updates for altering the table used to store statistics data.
5
  * Adds new columns and renames existing ones in order to add support for the new social buttons.
6
  */
7
+ class WUPMUpdate010008 extends Wbcr_Factory428_Update {
8
 
9
  public function install()
10
  {
components/updates-manager/webcraftic-updates-manager.php CHANGED
@@ -8,7 +8,7 @@
8
  * Text Domain: webcraftic-updates-manager
9
  * Domain Path: /languages/
10
  * Author URI: https://webcraftic.com
11
- * Framework Version: FACTORY_427_VERSION
12
  */
13
 
14
  // Exit if accessed directly
@@ -64,15 +64,15 @@ $wupm_plugin_info = array(
64
 
65
  // FRAMEWORK MODULES
66
  'load_factory_modules' => array(
67
- array( 'libs/factory/bootstrap', 'factory_bootstrap_428', 'admin' ),
68
- array( 'libs/factory/forms', 'factory_forms_425', 'admin' ),
69
- array( 'libs/factory/pages', 'factory_pages_427', 'admin' ),
70
- array( 'libs/factory/clearfy', 'factory_clearfy_219', 'all' ),
71
- array( 'libs/factory/adverts', 'factory_adverts_107', 'admin')
72
  )
73
  );
74
 
75
- $wupm_compatibility = new Wbcr_Factory427_Requirements( __FILE__, array_merge( $wupm_plugin_info, array(
76
  'plugin_already_activate' => defined( 'WUPM_PLUGIN_ACTIVE' ),
77
  'required_php_version' => '5.4',
78
  'required_wp_version' => '4.2.0',
8
  * Text Domain: webcraftic-updates-manager
9
  * Domain Path: /languages/
10
  * Author URI: https://webcraftic.com
11
+ * Framework Version: FACTORY_428_VERSION
12
  */
13
 
14
  // Exit if accessed directly
64
 
65
  // FRAMEWORK MODULES
66
  'load_factory_modules' => array(
67
+ array( 'libs/factory/bootstrap', 'factory_bootstrap_429', 'admin' ),
68
+ array( 'libs/factory/forms', 'factory_forms_426', 'admin' ),
69
+ array( 'libs/factory/pages', 'factory_pages_428', 'admin' ),
70
+ array( 'libs/factory/clearfy', 'factory_clearfy_220', 'all' ),
71
+ array( 'libs/factory/adverts', 'factory_adverts_108', 'admin')
72
  )
73
  );
74
 
75
+ $wupm_compatibility = new Wbcr_Factory428_Requirements( __FILE__, array_merge( $wupm_plugin_info, array(
76
  'plugin_already_activate' => defined( 'WUPM_PLUGIN_ACTIVE' ),
77
  'required_php_version' => '5.4',
78
  'required_wp_version' => '4.2.0',
includes/boot.php CHANGED
@@ -54,7 +54,7 @@
54
  * @since 1.1.3 - добавлен
55
  * @since 1.1.4 - является устаревшим
56
  */
57
- $menu_items = wbcr_factory_427_apply_filters_deprecated( 'wbcr_clearfy_admin_bar_menu_items', [ $menu_items ], '1.4.0', 'wbcr/clearfy/adminbar_menu_items' );
58
 
59
  /**
60
  * @since 1.1.3 - добавлен
54
  * @since 1.1.3 - добавлен
55
  * @since 1.1.4 - является устаревшим
56
  */
57
+ $menu_items = wbcr_factory_428_apply_filters_deprecated( 'wbcr_clearfy_admin_bar_menu_items', [ $menu_items ], '1.4.0', 'wbcr/clearfy/adminbar_menu_items' );
58
 
59
  /**
60
  * @since 1.1.3 - добавлен
includes/class.plugin.php CHANGED
@@ -12,11 +12,11 @@ if( !defined('ABSPATH') ) {
12
  exit;
13
  }
14
 
15
- class WCL_Plugin extends Wbcr_Factory427_Plugin {
16
 
17
  /**
18
  * @see self::app()
19
- * @var Wbcr_Factory427_Plugin
20
  */
21
  private static $app;
22
 
@@ -71,7 +71,7 @@ class WCL_Plugin extends Wbcr_Factory427_Plugin {
71
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
72
  * классам.
73
  *
74
- * @return \Wbcr_Factory427_Plugin|\WCL_Plugin
75
  */
76
  public static function app()
77
  {
12
  exit;
13
  }
14
 
15
+ class WCL_Plugin extends Wbcr_Factory428_Plugin {
16
 
17
  /**
18
  * @see self::app()
19
+ * @var Wbcr_Factory428_Plugin
20
  */
21
  private static $app;
22
 
71
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
72
  * классам.
73
  *
74
+ * @return \Wbcr_Factory428_Plugin|\WCL_Plugin
75
  */
76
  public static function app()
77
  {
includes/classes/class.configurate-advanced.php CHANGED
@@ -11,7 +11,7 @@ if ( ! defined( 'ABSPATH' ) ) {
11
  exit;
12
  }
13
 
14
- class WCL_ConfigAdvanced extends Wbcr_FactoryClearfy219_Configurate {
15
 
16
  /**
17
  * @param WCL_Plugin $plugin
11
  exit;
12
  }
13
 
14
+ class WCL_ConfigAdvanced extends Wbcr_FactoryClearfy220_Configurate {
15
 
16
  /**
17
  * @param WCL_Plugin $plugin
includes/classes/class.configurate-google-performance.php CHANGED
@@ -12,7 +12,7 @@ if ( ! defined( 'ABSPATH' ) ) {
12
  exit;
13
  }
14
 
15
- class WCL_ConfigGooglePerformance extends Wbcr_FactoryClearfy219_Configurate {
16
 
17
  /**
18
  * @param WCL_Plugin $plugin
12
  exit;
13
  }
14
 
15
+ class WCL_ConfigGooglePerformance extends Wbcr_FactoryClearfy220_Configurate {
16
 
17
  /**
18
  * @param WCL_Plugin $plugin
includes/classes/class.configurate-performance.php CHANGED
@@ -12,7 +12,7 @@ if ( ! defined( 'ABSPATH' ) ) {
12
  exit;
13
  }
14
 
15
- class WCL_ConfigPerformance extends Wbcr_FactoryClearfy219_Configurate {
16
 
17
  /**
18
  * @param WCL_Plugin $plugin
12
  exit;
13
  }
14
 
15
+ class WCL_ConfigPerformance extends Wbcr_FactoryClearfy220_Configurate {
16
 
17
  /**
18
  * @param WCL_Plugin $plugin
includes/classes/class.configurate-privacy.php CHANGED
@@ -13,7 +13,7 @@ if ( ! defined( 'ABSPATH' ) ) {
13
  exit;
14
  }
15
 
16
- class WCL_ConfigPrivacy extends Wbcr_FactoryClearfy219_Configurate {
17
 
18
  /**
19
  * @param WCL_Plugin $plugin
13
  exit;
14
  }
15
 
16
+ class WCL_ConfigPrivacy extends Wbcr_FactoryClearfy220_Configurate {
17
 
18
  /**
19
  * @param WCL_Plugin $plugin
includes/classes/class.configurate-security.php CHANGED
@@ -11,7 +11,7 @@
11
  exit;
12
  }
13
 
14
- class WCL_ConfigSecurity extends Wbcr_FactoryClearfy219_Configurate {
15
 
16
  /**
17
  * @param WCL_Plugin $plugin
11
  exit;
12
  }
13
 
14
+ class WCL_ConfigSecurity extends Wbcr_FactoryClearfy220_Configurate {
15
 
16
  /**
17
  * @param WCL_Plugin $plugin
includes/classes/class.configurate-seo.php CHANGED
@@ -13,7 +13,7 @@ if ( ! defined( 'ABSPATH' ) ) {
13
  exit;
14
  }
15
 
16
- class WCL_ConfigSeo extends Wbcr_FactoryClearfy219_Configurate {
17
 
18
  /**
19
  * @param WCL_Plugin $plugin
13
  exit;
14
  }
15
 
16
+ class WCL_ConfigSeo extends Wbcr_FactoryClearfy220_Configurate {
17
 
18
  /**
19
  * @param WCL_Plugin $plugin
libs/factory/adverts/boot.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- use WBCR\Factory_Adverts_107\Base;
4
 
5
  /**
6
  * Factory Adverts
@@ -16,35 +16,35 @@ use WBCR\Factory_Adverts_107\Base;
16
  */
17
 
18
  // Exit if accessed directly
19
- if ( ! defined( 'ABSPATH' ) ) {
20
  exit;
21
  }
22
 
23
- if ( defined( 'FACTORY_ADVERTS_107_LOADED' ) || ( defined( 'FACTORY_ADVERTS_BLOCK' ) && FACTORY_ADVERTS_BLOCK ) ) {
24
  return;
25
  }
26
 
27
  # Устанавливаем константу, что модуль уже загружен
28
- define( 'FACTORY_ADVERTS_107_LOADED', true );
29
 
30
  # Устанавливаем версию модуля
31
- define( 'FACTORY_ADVERTS_107_VERSION', '1.0.7' );
32
 
33
  # Регистрируем тектовый домен, для интернализации интерфейса модуля
34
- load_plugin_textdomain( 'wbcr_factory_adverts_107', false, dirname( plugin_basename( __FILE__ ) ) . '/langs' );
35
 
36
  # Устанавливаем директорию модуля
37
- define( 'FACTORY_ADVERTS_107_DIR', dirname( __FILE__ ) );
38
 
39
  # Устанавливаем url модуля
40
- define( 'FACTORY_ADVERTS_107_URL', plugins_url( null, __FILE__ ) );
41
 
42
- require_once( FACTORY_ADVERTS_107_DIR . '/includes/class-rest-request.php' );
43
- require_once( FACTORY_ADVERTS_107_DIR . '/includes/class-base.php' );
44
 
45
  /**
46
- * @param Wbcr_Factory427_Plugin $plugin
47
  */
48
- add_action( 'wbcr_factory_adverts_107_plugin_created', function ( $plugin ) {
49
- $plugin->set_adverts_manager( "WBCR\Factory_Adverts_107\Base" );
50
- } );
1
  <?php
2
 
3
+ use WBCR\Factory_Adverts_108\Base;
4
 
5
  /**
6
  * Factory Adverts
16
  */
17
 
18
  // Exit if accessed directly
19
+ if( !defined('ABSPATH') ) {
20
  exit;
21
  }
22
 
23
+ if( defined('FACTORY_ADVERTS_108_LOADED') || (defined('FACTORY_ADVERTS_BLOCK') && FACTORY_ADVERTS_BLOCK) ) {
24
  return;
25
  }
26
 
27
  # Устанавливаем константу, что модуль уже загружен
28
+ define('FACTORY_ADVERTS_108_LOADED', true);
29
 
30
  # Устанавливаем версию модуля
31
+ define('FACTORY_ADVERTS_108_VERSION', '1.0.8');
32
 
33
  # Регистрируем тектовый домен, для интернализации интерфейса модуля
34
+ load_plugin_textdomain('wbcr_factory_adverts_108', false, dirname(plugin_basename(__FILE__)) . '/langs');
35
 
36
  # Устанавливаем директорию модуля
37
+ define('FACTORY_ADVERTS_108_DIR', dirname(__FILE__));
38
 
39
  # Устанавливаем url модуля
40
+ define('FACTORY_ADVERTS_108_URL', plugins_url(null, __FILE__));
41
 
42
+ require_once(FACTORY_ADVERTS_108_DIR . '/includes/class-rest-request.php');
43
+ require_once(FACTORY_ADVERTS_108_DIR . '/includes/class-base.php');
44
 
45
  /**
46
+ * @param Wbcr_Factory428_Plugin $plugin
47
  */
48
+ add_action('wbcr_factory_adverts_108_plugin_created', function ($plugin) {
49
+ $plugin->set_adverts_manager("WBCR\Factory_Adverts_108\Base");
50
+ });
libs/factory/adverts/includes/class-base.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_Adverts_107;
4
 
5
  // Exit if accessed directly
6
  if ( ! defined( 'ABSPATH' ) ) {
@@ -28,7 +28,7 @@ class Base {
28
  *
29
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
30
  * @since 1.0.1
31
- * @var \Wbcr_Factory427_Plugin
32
  */
33
  private $plugin;
34
 
@@ -53,7 +53,7 @@ class Base {
53
  *
54
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
55
  * @since 1.0.1
56
- * @var \WBCR\Factory_Adverts_107\Creative_Motion_API
57
  */
58
  private $api;
59
 
@@ -82,9 +82,9 @@ class Base {
82
  *
83
  * @since 1.0.0 Added
84
  *
85
- * @param \Wbcr_Factory427_Plugin $plugin
86
  */
87
- public function __construct( \Wbcr_Factory427_Plugin $plugin, $settings ) {
88
  $this->plugin = $plugin;
89
 
90
  $this->settings = wp_parse_args( $settings, [
@@ -257,7 +257,7 @@ class Base {
257
  $content = $this->get_debug_message( 'dashboard_widget' );
258
  }
259
 
260
- require_once FACTORY_ADVERTS_107_DIR . '/includes/class-dashboard-widget.php';
261
  new Dashboard_Widget( $this->plugin, $content );
262
  }
263
  }
1
  <?php
2
 
3
+ namespace WBCR\Factory_Adverts_108;
4
 
5
  // Exit if accessed directly
6
  if ( ! defined( 'ABSPATH' ) ) {
28
  *
29
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
30
  * @since 1.0.1
31
+ * @var \Wbcr_Factory428_Plugin
32
  */
33
  private $plugin;
34
 
53
  *
54
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
55
  * @since 1.0.1
56
+ * @var \WBCR\Factory_Adverts_108\Creative_Motion_API
57
  */
58
  private $api;
59
 
82
  *
83
  * @since 1.0.0 Added
84
  *
85
+ * @param \Wbcr_Factory428_Plugin $plugin
86
  */
87
+ public function __construct( \Wbcr_Factory428_Plugin $plugin, $settings ) {
88
  $this->plugin = $plugin;
89
 
90
  $this->settings = wp_parse_args( $settings, [
257
  $content = $this->get_debug_message( 'dashboard_widget' );
258
  }
259
 
260
+ require_once FACTORY_ADVERTS_108_DIR . '/includes/class-dashboard-widget.php';
261
  new Dashboard_Widget( $this->plugin, $content );
262
  }
263
  }
libs/factory/adverts/includes/class-dashboard-widget.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_Adverts_107;
4
 
5
  // Exit if accessed directly
6
  if ( ! defined( 'ABSPATH' ) ) {
@@ -35,7 +35,7 @@ class Dashboard_Widget {
35
  *
36
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
37
  * @since 1.0.1
38
- * @var \Wbcr_Factory427_Plugin
39
  */
40
  private $plugin;
41
 
@@ -46,10 +46,10 @@ class Dashboard_Widget {
46
  *
47
  * @since 1.0.0 Added
48
  *
49
- * @param \Wbcr_Factory427_Plugin $plugin
50
  * @param string $content
51
  */
52
- public function __construct( \Wbcr_Factory427_Plugin $plugin, $content ) {
53
 
54
  $this->plugin = $plugin;
55
  $this->content = $content;
1
  <?php
2
 
3
+ namespace WBCR\Factory_Adverts_108;
4
 
5
  // Exit if accessed directly
6
  if ( ! defined( 'ABSPATH' ) ) {
35
  *
36
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
37
  * @since 1.0.1
38
+ * @var \Wbcr_Factory428_Plugin
39
  */
40
  private $plugin;
41
 
46
  *
47
  * @since 1.0.0 Added
48
  *
49
+ * @param \Wbcr_Factory428_Plugin $plugin
50
  * @param string $content
51
  */
52
+ public function __construct( \Wbcr_Factory428_Plugin $plugin, $content ) {
53
 
54
  $this->plugin = $plugin;
55
  $this->content = $content;
libs/factory/adverts/includes/class-rest-request.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_Adverts_107;
4
 
5
  // Exit if accessed directly
6
  if ( ! defined( 'ABSPATH' ) ) {
@@ -65,7 +65,7 @@ class Creative_Motion_API {
65
  *
66
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
67
  * @since 1.0.1
68
- * @var \Wbcr_Factory427_Plugin
69
  */
70
  private $plugin;
71
 
@@ -77,9 +77,9 @@ class Creative_Motion_API {
77
  *
78
  * @since 1.0.0 Added
79
  *
80
- * @param \Wbcr_Factory427_Plugin $plugin_name
81
  */
82
- public function __construct( \Wbcr_Factory427_Plugin $plugin ) {
83
  $this->plugin = $plugin;
84
  }
85
 
1
  <?php
2
 
3
+ namespace WBCR\Factory_Adverts_108;
4
 
5
  // Exit if accessed directly
6
  if ( ! defined( 'ABSPATH' ) ) {
65
  *
66
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
67
  * @since 1.0.1
68
+ * @var \Wbcr_Factory428_Plugin
69
  */
70
  private $plugin;
71
 
77
  *
78
  * @since 1.0.0 Added
79
  *
80
+ * @param \Wbcr_Factory428_Plugin $plugin_name
81
  */
82
+ public function __construct( \Wbcr_Factory428_Plugin $plugin ) {
83
  $this->plugin = $plugin;
84
  }
85
 
libs/factory/adverts/langs/{wbcr_factory_adverts_107-ru_RU.mo → wbcr_factory_adverts_108-ru_RU.mo} RENAMED
File without changes
libs/factory/adverts/langs/{wbcr_factory_adverts_107-ru_RU.po → wbcr_factory_adverts_108-ru_RU.po} RENAMED
File without changes
libs/factory/bootstrap/assets/cache/c54ca97249456e97dd6f68e39fe5fd8c.min.js ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+ !function(a){var b=function(b){var c=this;this.$element=a(b),this.$result=this.$element.find(".factory-result"),this.$on=this.$element.find(".factory-on"),this.$off=this.$element.find(".factory-off");var d=this.$element.is(".factory-tumbler"),e=this.$element.is(".factory-has-tumbler-hint"),f=this.$element.data("tumbler-function"),g=this.$element.data("tumbler-delay");g||(g=3e3),this.callByPath=function(a,b){for(var c=a.split("."),d=window,e=0;e<c.length;e++)d=d[c[e]];d.apply(d,b)},this.$on.click(function(){return c.$off.removeClass("active"),c.$on.addClass("active"),d?setTimeout(function(){c.$on.removeClass("active"),c.$off.addClass("active");var a=e?c.$element.next():null;f?c.callByPath(f,[c.$element,a]):e&&(c.$element.next().fadeIn(300),setTimeout(function(){c.$element.next().fadeOut(500)},g))},300):(c.$result.attr("checked","checked"),c.$result.val(1),c.$result.trigger("change")),!1}),this.$off.click(function(){return c.$on.removeClass("active"),c.$off.addClass("active"),d?setTimeout(function(){c.$off.removeClass("active"),c.$on.addClass("active");var a=e?c.$element.next():null;f?c.callByPath(f,[c.$element,a]):e&&(c.$element.next().fadeIn(300),setTimeout(function(){c.$element.next().fadeOut(500)},g))},300):(c.$result.removeAttr("checked"),c.$result.val(0),c.$result.trigger("change")),!1}),this.hashCode=function(a){var b=0;if(!a||0===a.length)return b;for(var c=0;c<a.length;c++){var d=a.charCodeAt(c);b=(b<<5)-b+d,b&=b}return b=b.toString(16),b=b.replace("-","")},this.executeEvents=function(a){(void 0!==window.__factory_checkbox_control_events_off_data||void 0!==window.__factory_checkbox_control_events_on_data)&&(a.change(function(){c.eventsProcess(a)}),c.eventsProcess(a))},this.eventsProcess=function(b){var d=b.attr("name"),e=b.prop("checked"),f=window.__factory_checkbox_control_events_on_data[d],g=window.__factory_checkbox_control_events_off_data[d];if(f||g){var h,i;void 0===window.__factory_checkbox_control_detach_elements&&(window.__factory_checkbox_control_detach_elements={}),h=window.__factory_checkbox_control_detach_elements,i=e?f:g;for(var j in i)if(i.hasOwnProperty(j)){var k,l=i[j];a.isArray(l)||(k=c.hashCode(d+l));var m;switch(j){case"hide":"string"==typeof l&&a(l).hide(0);break;case"show":"string"==typeof l&&a(l).fadeIn(200);break;case"detach":"string"==typeof l&&a(l).each(function(b){h[k]||(h[k]={}),h[k][b]||(h[k][b]={}),h[k][b].recovery_contanier=a(this).parent(),h[k][b].element=a(this).clone(!0),a(this).remove()});break;case"recovery":if(h[k]){for(var n in h[k])h[k].hasOwnProperty(n)&&h[k][n].recovery_contanier&&h[k][n].element&&h[k][n].recovery_contanier.append(h[k][n].element);delete h[k]}break;case"removeClasses":if("object"==typeof l)for(m in l)l.hasOwnProperty(m)&&l[m]&&a(m).removeClass(l[m]);break;case"addClasses":if("object"==typeof l)for(m in l)l.hasOwnProperty(m)&&l[m]&&a(m).addClass(l[m]);break;case"setValue":if("object"==typeof l)for(m in l)l.hasOwnProperty(m)&&void 0!==l[m]&&null!==l[m]&&(console.log(l[m]),a(m).val(l[m]))}}}},this.executeEvents(this.$result)};a.fn.factoryBootstrap429_checkboxControl=function(c){if("string"==typeof c){var d=a(this).data("factory.checkbox.control");return d?d[c]():null}return this.each(function(){var c=a(this),d=c.data("factory.checkbox.control");d||c.data("factory.checkbox.control",d=new b(this))})},a.fn.factoryBootstrap429_checkboxControl.Constructor=b,a(function(){a(".factory-bootstrap-429 .factory-checkbox.factory-buttons-way").factoryBootstrap429_checkboxControl()})}(jQuery);
11
+ /*!
12
+ * Bootstrap generator - v1.0.1, 2018-02-26
13
+ * Webcraftic factory build
14
+ *
15
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
16
+ * Site: http://webcraftic.com
17
+ * Support: http://webcraftic.com/contact-us/
18
+ */
19
+
20
+ !function(a){var b=function(b){var c=this;if(this.$element=a(b),this.way=this.$element.data("way"),this.name=this.$element.data("name")||this.$element.attr("name"),this.hashCode=function(a){var b=0;if(!a||0===a.length)return b;for(var c=0;c<a.length;c++){var d=a.charCodeAt(c);b=(b<<5)-b+d,b&=b}return b=b.toString(16),b=b.replace("-","")},this.executeEvents=function(a){void 0!==window.factory_dropdown_control_events_data&&(a.change(function(){c.eventsProcess(a)}),c.eventsProcess(a))},this.eventsProcess=function(b){var d=b.attr("name"),e=b.val(),f=window.factory_dropdown_control_events_data[d];if(f&&f[e]){var g;void 0===window.__factory_dropdown_control_detach_elements&&(window.__factory_dropdown_control_detach_elements={}),g=window.__factory_dropdown_control_detach_elements;for(var h in f[e])if(f[e].hasOwnProperty(h)){var i,j=f[e][h];switch(a.isArray(j)||(i=c.hashCode(d+j)),h){case"hide":"string"==typeof j&&a(j).hide(0);break;case"show":"string"==typeof j&&a(j).fadeIn(200);break;case"detach":"string"==typeof j&&a(j).each(function(b){g[i]||(g[i]={}),g[i][b]||(g[i][b]={}),g[i][b].recovery_contanier=a(this).parent(),g[i][b].element=a(this).clone(!0),a(this).remove()});break;case"recovery":if(g[i]){for(var k in g[i])g[i].hasOwnProperty(k)&&g[i][k].recovery_contanier&&g[i][k].element&&g[i][k].recovery_contanier.append(g[i][k].element);delete g[i]}break;case"removeClasses":if("object"==typeof j)for(var l in j)j.hasOwnProperty(l)&&j[l]&&a(l).removeClass(j[l]);break;case"addClasses":if("object"==typeof j)for(var l in j)j.hasOwnProperty(l)&&j[l]&&a(l).addClass(j[l])}}}},"buttons"===this.way)this.$result=this.$element.find(".factory-result"),this.$hints=this.$element.find(".factory-hints"),this.$buttons=this.$element.find(".btn"),c.executeEvents(this.$result),this.$buttons.click(function(){var b=a(this).data("value");return c.$buttons.removeClass("active"),a(this).addClass("active"),c.$hints.find(".factory-hint").hide(),c.$hints.find(".factory-hint-"+b).fadeIn(),c.$result.val(b),c.$result.trigger("change"),!1});else if("ddslick"===this.way){c.executeEvents(c.$element.find(".factory-result"));var d=window["factory_"+this.name+"_data"],e=this.$element.find(".factory-ddslick"),f=this.$element.data("width")||300,g=this.$element.data("align")||"right";a(d).each(function(){return this.imageHoverSrc?void(a("<img/>")[0].src=this.imageHoverSrc):!0}),e.ddslick({data:d,width:f,imagePosition:g,selectText:"- select -",onSelected:function(a){a.selectedData.imageHoverSrc&&c.$element.find(".dd-selected-image").attr("src",a.selectedData.imageHoverSrc);var b=c.$element.find(".factory-result").val(a.selectedData.value);b.change()}})}else{c.executeEvents(this.$element),this.$hints=this.$element.next(),this.$hints.hasClass("factory-hints")&&(this.$element.change(function(){return c.updateHints(),!1}),this.updateHints=function(){var a=c.$element.val();c.$hints.find(".factory-hint").hide(),c.$hints.find(".factory-hint-"+a).show()},c.updateHints()),this.getAjaxData=function(){var a=c.$element.data("ajax-data-id");return window[a]},this.loadData=function(){var b=c.getAjaxData();a.ajax({url:b.url,data:b.data,dataType:"json",success:function(a){return a.error?c.showError(a.error):void c.fill(a.items)},error:function(a){console&&console.log&&console.log(a.responseText),c.showError("Unexpected error occurred during the ajax request.")},complete:function(){c.removeLoader()}})},this.fill=function(a){this.clearList();var b=c.getAjaxData();if(a&&a.length)for(var d in a){var e=a[d];c.addListItem(e)}else this.$element.append("<option>"+b.emptyList+"</li>");this.$element.trigger("factory-loaded")},this.clearList=function(){this.$element.html("")},this.addListItem=function(b){var d=a("<option />").attr("value",b.value).text(b.title).appendTo(this.$element),e=c.getAjaxData();e.selected&&e.selected==b.value&&d.attr("selected","selected")},this.showError=function(b){this.clearList();var d=a("<div class='factory-control-error'></div>").append(a("<i class='fa fa-exclamation-triangle'></i>")).append(b),e=c.getAjaxData();this.$element.append("<option>"+e.emptyList+"</li>"),this.$element.after(d),this.$element.addClass("factory-has-error")},this.removeLoader=function(){this.$element.removeClass("factory-hidden");var b=c.getAjaxData();a(b.loader).remove()};var h=this.$element.data("ajax");h&&this.loadData()}};a.fn.factoryBootstrap429_dropdownControl=function(c){if("string"==typeof c){var d=a(this).data("factory.dropdown.control");return d?d[c]():null}return this.each(function(){var c=a(this),d=c.data("factory.dropdown.control");d||c.data("factory.dropdown.control",d=new b(this))})},a.fn.factoryBootstrap429_dropdownControl.Constructor=b,a(function(){a(".factory-bootstrap-429 .factory-dropdown").factoryBootstrap429_dropdownControl()})}(jQuery);
21
+ /*!
22
+ * Bootstrap generator - v1.0.1, 2018-02-26
23
+ * Webcraftic factory build
24
+ *
25
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
26
+ * Site: http://webcraftic.com
27
+ * Support: http://webcraftic.com/contact-us/
28
+ */
29
+
30
+ +function(a){"use strict";var b=function(a,b){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",a,b)};b.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1},b.prototype.init=function(b,c,d){this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d);for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focus",i="hover"==g?"mouseleave":"blur";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},b.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},b.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type);return clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show()},b.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type);return clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},b.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){if(this.$element.trigger(b),b.isDefaultPrevented())return;var c=this.tip();this.setContent(),this.options.animation&&c.addClass("fade");var d="function"==typeof this.options.placement?this.options.placement.call(this,c[0],this.$element[0]):this.options.placement,e=/\s?auto?\s?/i,f=e.test(d);f&&(d=d.replace(e,"")||"top"),c.detach().css({top:0,left:0,display:"block"}).addClass(d),this.options.container?c.appendTo(this.options.container):c.insertAfter(this.$element);var g=this.getPosition(),h=c[0].offsetWidth,i=c[0].offsetHeight;if(f){var j=this.$element.parent(),k=d,l=document.documentElement.scrollTop||document.body.scrollTop,m="body"==this.options.container?window.innerWidth:j.outerWidth(),n="body"==this.options.container?window.innerHeight:j.outerHeight(),o="body"==this.options.container?0:j.offset().left;d="bottom"==d&&g.top+g.height+i-l>n?"top":"top"==d&&g.top-l-i<0?"bottom":"right"==d&&g.right+h>m?"left":"left"==d&&g.left-h<o?"right":d,c.removeClass(k).addClass(d)}var p=this.getCalculatedOffset(d,g,h,i);this.applyPlacement(p,d),this.$element.trigger("shown.bs."+this.type)}},b.prototype.applyPlacement=function(a,b){var c,d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),a.top=a.top+g,a.left=a.left+h,d.offset(a).addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;if("top"==b&&j!=f&&(c=!0,a.top=a.top+f-j),/bottom|top/.test(b)){var k=0;a.left<0&&(k=-2*a.left,a.left=0,d.offset(a),i=d[0].offsetWidth,j=d[0].offsetHeight),this.replaceArrow(k-e+i,i,"left")}else this.replaceArrow(j-f,j,"top");c&&d.offset(a)},b.prototype.replaceArrow=function(a,b,c){this.arrow().css(c,a?50*(1-a/b)+"%":"")},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},b.prototype.hide=function(){function b(){"in"!=c.hoverState&&d.detach()}var c=this,d=this.tip(),e=a.Event("hide.bs."+this.type);return this.$element.trigger(e),e.isDefaultPrevented()?void 0:(d.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?d.one(a.support.transition.end,b).emulateTransitionEnd(150):b(),this.$element.trigger("hidden.bs."+this.type),this)},b.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},b.prototype.hasContent=function(){return this.getTitle()},b.prototype.getPosition=function(){var b=this.$element[0];return a.extend({},"function"==typeof b.getBoundingClientRect?b.getBoundingClientRect():{width:b.offsetWidth,height:b.offsetHeight},this.$element.offset())},b.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},b.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},b.prototype.tip=function(){return this.$tip=this.$tip||a(this.options.template)},b.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},b.prototype.validate=function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},b.prototype.enable=function(){this.enabled=!0},b.prototype.disable=function(){this.enabled=!1},b.prototype.toggleEnabled=function(){this.enabled=!this.enabled},b.prototype.toggle=function(b){var c=b?a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type):this;c.tip().hasClass("in")?c.leave(c):c.enter(c)},b.prototype.destroy=function(){this.hide().$element.off("."+this.type).removeData("bs."+this.type)};var c=a.fn.tooltip;a.fn.tooltip=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof c&&c;e||d.data("bs.tooltip",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.tooltip.Constructor=b,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=c,this},a(function(){a('[data-toggle="factory-tooltip"]').tooltip({html:!0})})}(jQuery);
libs/factory/bootstrap/assets/cache/d3f7e6e8889a6d921650a5046bd131b4.min.css ADDED
@@ -0,0 +1,69 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ .factory-bootstrap-429 article,.factory-bootstrap-429 aside,.factory-bootstrap-429 details,.factory-bootstrap-429 figcaption,.factory-bootstrap-429 figure,.factory-bootstrap-429 footer,.factory-bootstrap-429 header,.factory-bootstrap-429 hgroup,.factory-bootstrap-429 main,.factory-bootstrap-429 nav,.factory-bootstrap-429 section,.factory-bootstrap-429 summary{display:block}.factory-bootstrap-429 audio,.factory-bootstrap-429 canvas,.factory-bootstrap-429 video{display:inline-block}.factory-bootstrap-429 audio:not([controls]){display:none;height:0}.factory-bootstrap-429 [hidden],.factory-bootstrap-429 template{display:none}.factory-bootstrap-429 body{margin:0}.factory-bootstrap-429 a{background:0 0}.factory-bootstrap-429 a:focus{outline:thin dotted}.factory-bootstrap-429 a:active,.factory-bootstrap-429 a:hover{outline:0}.factory-bootstrap-429 h1{margin:.67em 0}.factory-bootstrap-429 b,.factory-bootstrap-429 strong{font-weight:700}.factory-bootstrap-429 dfn{font-style:italic}.factory-bootstrap-429 hr{height:0;-moz-box-sizing:content-box;box-sizing:content-box}.factory-bootstrap-429 mark{color:#000;background:#ff0}.factory-bootstrap-429 code,.factory-bootstrap-429 kbd,.factory-bootstrap-429 pre,.factory-bootstrap-429 samp{font-size:1em}.factory-bootstrap-429 pre{white-space:pre-wrap}.factory-bootstrap-429 q{quotes:"\201C" "\201D" "\2018" "\2019"}.factory-bootstrap-429 sub,.factory-bootstrap-429 sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}.factory-bootstrap-429 sup{top:-.5em}.factory-bootstrap-429 sub{bottom:-.25em}.factory-bootstrap-429 img{border:0}.factory-bootstrap-429 svg:not(:root){overflow:hidden}.factory-bootstrap-429 figure{margin:0}.factory-bootstrap-429 button,.factory-bootstrap-429 input,.factory-bootstrap-429 select,.factory-bootstrap-429 textarea{margin:0}.factory-bootstrap-429 button,.factory-bootstrap-429 select{text-transform:none}.factory-bootstrap-429 select{padding-right:4px!important}.factory-bootstrap-429 button,.factory-bootstrap-429 input[type=reset],.factory-bootstrap-429 input[type=submit],html .factory-bootstrap-429 input[type=button]{cursor:pointer;-webkit-appearance:button}.factory-bootstrap-429 button[disabled],html .factory-bootstrap-429 input[disabled]{cursor:default}.factory-bootstrap-429 input[type=checkbox],.factory-bootstrap-429 input[type=radio]{padding:0;box-sizing:border-box}.factory-bootstrap-429 input[type=search]{-webkit-appearance:textfield}.factory-bootstrap-429 input[type=search]::-webkit-search-cancel-button,.factory-bootstrap-429 input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.factory-bootstrap-429 button::-moz-focus-inner,.factory-bootstrap-429 input::-moz-focus-inner{padding:0;border:0}.factory-bootstrap-429 textarea{overflow:auto;vertical-align:top}.factory-bootstrap-429 table{border-collapse:collapse;border-spacing:0}@media print{.factory-bootstrap-429 *{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}.factory-bootstrap-429 a,.factory-bootstrap-429 a:visited{text-decoration:underline}.factory-bootstrap-429 a[href]:after{content:" (" attr(href) ")"}.factory-bootstrap-429 abbr[title]:after{content:" (" attr(title) ")"}.factory-bootstrap-429 a[href^="javascript:"]:after,.factory-bootstrap-429 a[href^="#"]:after{content:""}.factory-bootstrap-429 blockquote,.factory-bootstrap-429 pre{border:1px solid #999;page-break-inside:avoid}.factory-bootstrap-429 thead{display:table-header-group}.factory-bootstrap-429 img,.factory-bootstrap-429 tr{page-break-inside:avoid}.factory-bootstrap-429 img{max-width:100%!important}@page{margin:2cm .5cm}.factory-bootstrap-429 h2,.factory-bootstrap-429 h3,.factory-bootstrap-429 p{orphans:3;widows:3}.factory-bootstrap-429 h2,.factory-bootstrap-429 h3{page-break-after:avoid}.factory-bootstrap-429 select{background:#fff!important}.factory-bootstrap-429 .navbar{display:none}.factory-bootstrap-429 .table td,.factory-bootstrap-429 .table th{background-color:#fff!important}.factory-bootstrap-429 .btn>.caret,.factory-bootstrap-429 .dropup>.btn>.caret{border-top-color:#000!important}.factory-bootstrap-429 .label{border:1px solid #000}.factory-bootstrap-429 .table{border-collapse:collapse!important}.factory-bootstrap-429 .table-bordered td,.factory-bootstrap-429 .table-bordered th{border:1px solid #ddd!important}}.factory-bootstrap-429 *,.factory-bootstrap-429 :after,.factory-bootstrap-429 :before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html .factory-bootstrap-429{-webkit-tap-highlight-color:rgba(0,0,0,0)}.factory-bootstrap-429 body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.428571429;color:#333;background-color:#fff}.factory-bootstrap-429 button,.factory-bootstrap-429 input,.factory-bootstrap-429 select,.factory-bootstrap-429 textarea{font-family:inherit;font-size:inherit;line-height:inherit}.factory-bootstrap-429 img{vertical-align:middle}.factory-bootstrap-429 .img-responsive{display:block;height:auto;max-width:100%}.factory-bootstrap-429 .img-rounded{border-radius:6px}.factory-bootstrap-429 .img-thumbnail{display:inline-block;height:auto;max-width:100%;padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.factory-bootstrap-429 .img-circle{border-radius:50%}.factory-bootstrap-429 hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.factory-bootstrap-429 .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.factory-bootstrap-429 .h1,.factory-bootstrap-429 .h2,.factory-bootstrap-429 .h3,.factory-bootstrap-429 .h4,.factory-bootstrap-429 .h5,.factory-bootstrap-429 .h6,.factory-bootstrap-429 h1,.factory-bootstrap-429 h2,.factory-bootstrap-429 h3,.factory-bootstrap-429 h4,.factory-bootstrap-429 h5,.factory-bootstrap-429 h6{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;line-height:1.1;color:inherit}.factory-bootstrap-429 .h1 .small,.factory-bootstrap-429 .h1 small,.factory-bootstrap-429 .h2 .small,.factory-bootstrap-429 .h2 small,.factory-bootstrap-429 .h3 .small,.factory-bootstrap-429 .h3 small,.factory-bootstrap-429 .h4 .small,.factory-bootstrap-429 .h4 small,.factory-bootstrap-429 .h5 .small,.factory-bootstrap-429 .h5 small,.factory-bootstrap-429 .h6 .small,.factory-bootstrap-429 .h6 small,.factory-bootstrap-429 h1 .small,.factory-bootstrap-429 h1 small,.factory-bootstrap-429 h2 .small,.factory-bootstrap-429 h2 small,.factory-bootstrap-429 h3 .small,.factory-bootstrap-429 h3 small,.factory-bootstrap-429 h4 .small,.factory-bootstrap-429 h4 small,.factory-bootstrap-429 h5 .small,.factory-bootstrap-429 h5 small,.factory-bootstrap-429 h6 .small,.factory-bootstrap-429 h6 small{font-weight:400;line-height:1;color:#999}.factory-bootstrap-429 h1,.factory-bootstrap-429 h2,.factory-bootstrap-429 h3{margin-top:20px;margin-bottom:10px}.factory-bootstrap-429 h1 .small,.factory-bootstrap-429 h1 small,.factory-bootstrap-429 h2 .small,.factory-bootstrap-429 h2 small,.factory-bootstrap-429 h3 .small,.factory-bootstrap-429 h3 small{font-size:65%}.factory-bootstrap-429 h4,.factory-bootstrap-429 h5,.factory-bootstrap-429 h6{margin-top:10px;margin-bottom:10px}.factory-bootstrap-429 h4 .small,.factory-bootstrap-429 h4 small,.factory-bootstrap-429 h5 .small,.factory-bootstrap-429 h5 small,.factory-bootstrap-429 h6 .small,.factory-bootstrap-429 h6 small{font-size:75%}.factory-bootstrap-429 .h1,.factory-bootstrap-429 h1{font-size:36px}.factory-bootstrap-429 .h2,.factory-bootstrap-429 h2{font-size:30px}.factory-bootstrap-429 .h3,.factory-bootstrap-429 h3{font-size:24px}.factory-bootstrap-429 .h4,.factory-bootstrap-429 h4{font-size:18px}.factory-bootstrap-429 .h5,.factory-bootstrap-429 h5{font-size:14px}.factory-bootstrap-429 .h6,.factory-bootstrap-429 h6{font-size:12px}.factory-bootstrap-429 p{margin:0 0 10px}.factory-bootstrap-429 .lead{margin-bottom:20px;font-size:16px;font-weight:200;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.factory-bootstrap-429 .small,.factory-bootstrap-429 small{font-size:85%}.factory-bootstrap-429 cite{font-style:normal}.factory-bootstrap-429 .text-muted{color:#999}.factory-bootstrap-429 .text-primary{color:#428bca}.factory-bootstrap-429 .text-primary:hover{color:#3071a9}.factory-bootstrap-429 .text-warning{color:#8a6d3b}.factory-bootstrap-429 .text-warning:hover{color:#66512c}.factory-bootstrap-429 .text-danger{color:#a94442}.factory-bootstrap-429 .text-danger:hover{color:#843534}.factory-bootstrap-429 .text-success{color:#3c763d}.factory-bootstrap-429 .text-success:hover{color:#2b542c}.factory-bootstrap-429 .text-info{color:#31708f}.factory-bootstrap-429 .text-info:hover{color:#245269}.factory-bootstrap-429 .text-left{text-align:left}.factory-bootstrap-429 .text-right{text-align:right}.factory-bootstrap-429 .text-center{text-align:center}.factory-bootstrap-429 .page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}.factory-bootstrap-429 ol,.factory-bootstrap-429 ul{margin-top:0;margin-bottom:10px}.factory-bootstrap-429 ol ol,.factory-bootstrap-429 ol ul,.factory-bootstrap-429 ul ol,.factory-bootstrap-429 ul ul{margin-bottom:0}.factory-bootstrap-429 .list-inline,.factory-bootstrap-429 .list-unstyled{padding-left:0;list-style:none}.factory-bootstrap-429 .list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}.factory-bootstrap-429 .list-inline>li:first-child{padding-left:0}.factory-bootstrap-429 dl{margin-top:0;margin-bottom:20px}.factory-bootstrap-429 dd,.factory-bootstrap-429 dt{line-height:1.428571429}.factory-bootstrap-429 dt{font-weight:700}.factory-bootstrap-429 dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}.dl-horizontal dd:after,.dl-horizontal dd:before{display:table;content:" "}.dl-horizontal dd:after{clear:both}}.factory-bootstrap-429 abbr[data-original-title],.factory-bootstrap-429 abbr[title]{cursor:help;border-bottom:1px dotted #999}.factory-bootstrap-429 .initialism{font-size:90%;text-transform:uppercase}.factory-bootstrap-429 blockquote{padding:10px 20px;margin:0 0 20px;border-left:5px solid #eee}.factory-bootstrap-429 blockquote p{font-size:17.5px;font-weight:300;line-height:1.25}.factory-bootstrap-429 blockquote p:last-child{margin-bottom:0}.factory-bootstrap-429 blockquote .small,.factory-bootstrap-429 blockquote small{display:block;line-height:1.428571429;color:#999}.factory-bootstrap-429 blockquote .small:before,.factory-bootstrap-429 blockquote small:before{content:'\2014 \00A0'}.factory-bootstrap-429 blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}.factory-bootstrap-429 blockquote.pull-right .small,.factory-bootstrap-429 blockquote.pull-right p,.factory-bootstrap-429 blockquote.pull-right small{text-align:right}.factory-bootstrap-429 blockquote.pull-right .small:before,.factory-bootstrap-429 blockquote.pull-right small:before{content:''}.factory-bootstrap-429 blockquote.pull-right .small:after,.factory-bootstrap-429 blockquote.pull-right small:after{content:'\00A0 \2014'}.factory-bootstrap-429 blockquote:after,.factory-bootstrap-429 blockquote:before{content:""}.factory-bootstrap-429 address{margin-bottom:20px;font-style:normal;line-height:1.428571429}.factory-bootstrap-429 code,.factory-bootstrap-429 kbd,.factory-bootstrap-429 pre,.factory-bootstrap-429 samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}.factory-bootstrap-429 code{padding:2px 4px;font-size:90%;color:#c7254e;white-space:nowrap;background-color:#f9f2f4;border-radius:4px}.factory-bootstrap-429 pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.428571429;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}.factory-bootstrap-429 pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.factory-bootstrap-429 .pre-scrollable{max-height:340px;overflow-y:scroll}.factory-bootstrap-429 .container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.factory-bootstrap-429 .container:after,.factory-bootstrap-429 .container:before{display:table;content:" "}.factory-bootstrap-429 .container:after{clear:both}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.factory-bootstrap-429 .row{margin-right:-15px;margin-left:-15px}.factory-bootstrap-429 .row:after,.factory-bootstrap-429 .row:before{display:table;content:" "}.factory-bootstrap-429 .row:after{clear:both}.factory-bootstrap-429 .col-lg-1,.factory-bootstrap-429 .col-lg-10,.factory-bootstrap-429 .col-lg-11,.factory-bootstrap-429 .col-lg-12,.factory-bootstrap-429 .col-lg-2,.factory-bootstrap-429 .col-lg-3,.factory-bootstrap-429 .col-lg-4,.factory-bootstrap-429 .col-lg-5,.factory-bootstrap-429 .col-lg-6,.factory-bootstrap-429 .col-lg-7,.factory-bootstrap-429 .col-lg-8,.factory-bootstrap-429 .col-lg-9,.factory-bootstrap-429 .col-md-1,.factory-bootstrap-429 .col-md-10,.factory-bootstrap-429 .col-md-11,.factory-bootstrap-429 .col-md-12,.factory-bootstrap-429 .col-md-2,.factory-bootstrap-429 .col-md-3,.factory-bootstrap-429 .col-md-4,.factory-bootstrap-429 .col-md-5,.factory-bootstrap-429 .col-md-6,.factory-bootstrap-429 .col-md-7,.factory-bootstrap-429 .col-md-8,.factory-bootstrap-429 .col-md-9,.factory-bootstrap-429 .col-sm-1,.factory-bootstrap-429 .col-sm-10,.factory-bootstrap-429 .col-sm-11,.factory-bootstrap-429 .col-sm-12,.factory-bootstrap-429 .col-sm-2,.factory-bootstrap-429 .col-sm-3,.factory-bootstrap-429 .col-sm-4,.factory-bootstrap-429 .col-sm-5,.factory-bootstrap-429 .col-sm-6,.factory-bootstrap-429 .col-sm-7,.factory-bootstrap-429 .col-sm-8,.factory-bootstrap-429 .col-sm-9,.factory-bootstrap-429 .col-xs-1,.factory-bootstrap-429 .col-xs-10,.factory-bootstrap-429 .col-xs-11,.factory-bootstrap-429 .col-xs-12,.factory-bootstrap-429 .col-xs-2,.factory-bootstrap-429 .col-xs-3,.factory-bootstrap-429 .col-xs-4,.factory-bootstrap-429 .col-xs-5,.factory-bootstrap-429 .col-xs-6,.factory-bootstrap-429 .col-xs-7,.factory-bootstrap-429 .col-xs-8,.factory-bootstrap-429 .col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.factory-bootstrap-429 .col-xs-1,.factory-bootstrap-429 .col-xs-10,.factory-bootstrap-429 .col-xs-11,.factory-bootstrap-429 .col-xs-12,.factory-bootstrap-429 .col-xs-2,.factory-bootstrap-429 .col-xs-3,.factory-bootstrap-429 .col-xs-4,.factory-bootstrap-429 .col-xs-5,.factory-bootstrap-429 .col-xs-6,.factory-bootstrap-429 .col-xs-7,.factory-bootstrap-429 .col-xs-8,.factory-bootstrap-429 .col-xs-9{float:left}.factory-bootstrap-429 .col-xs-12{width:100%}.factory-bootstrap-429 .col-xs-11{width:91.66666666666666%}.factory-bootstrap-429 .col-xs-10{width:83.33333333333334%}.factory-bootstrap-429 .col-xs-9{width:75%}.factory-bootstrap-429 .col-xs-8{width:66.66666666666666%}.factory-bootstrap-429 .col-xs-7{width:58.333333333333336%}.factory-bootstrap-429 .col-xs-6{width:50%}.factory-bootstrap-429 .col-xs-5{width:41.66666666666667%}.factory-bootstrap-429 .col-xs-4{width:33.33333333333333%}.factory-bootstrap-429 .col-xs-3{width:25%}.factory-bootstrap-429 .col-xs-2{width:16.666666666666664%}.factory-bootstrap-429 .col-xs-1{width:8.333333333333332%}.factory-bootstrap-429 .col-xs-pull-12{right:100%}.factory-bootstrap-429 .col-xs-pull-11{right:91.66666666666666%}.factory-bootstrap-429 .col-xs-pull-10{right:83.33333333333334%}.factory-bootstrap-429 .col-xs-pull-9{right:75%}.factory-bootstrap-429 .col-xs-pull-8{right:66.66666666666666%}.factory-bootstrap-429 .col-xs-pull-7{right:58.333333333333336%}.factory-bootstrap-429 .col-xs-pull-6{right:50%}.factory-bootstrap-429 .col-xs-pull-5{right:41.66666666666667%}.factory-bootstrap-429 .col-xs-pull-4{right:33.33333333333333%}.factory-bootstrap-429 .col-xs-pull-3{right:25%}.factory-bootstrap-429 .col-xs-pull-2{right:16.666666666666664%}.factory-bootstrap-429 .col-xs-pull-1{right:8.333333333333332%}.factory-bootstrap-429 .col-xs-pull-0{right:0}.factory-bootstrap-429 .col-xs-push-12{left:100%}.factory-bootstrap-429 .col-xs-push-11{left:91.66666666666666%}.factory-bootstrap-429 .col-xs-push-10{left:83.33333333333334%}.factory-bootstrap-429 .col-xs-push-9{left:75%}.factory-bootstrap-429 .col-xs-push-8{left:66.66666666666666%}.factory-bootstrap-429 .col-xs-push-7{left:58.333333333333336%}.factory-bootstrap-429 .col-xs-push-6{left:50%}.factory-bootstrap-429 .col-xs-push-5{left:41.66666666666667%}.factory-bootstrap-429 .col-xs-push-4{left:33.33333333333333%}.factory-bootstrap-429 .col-xs-push-3{left:25%}.factory-bootstrap-429 .col-xs-push-2{left:16.666666666666664%}.factory-bootstrap-429 .col-xs-push-1{left:8.333333333333332%}.factory-bootstrap-429 .col-xs-push-0{left:0}.factory-bootstrap-429 .col-xs-offset-12{margin-left:100%}.factory-bootstrap-429 .col-xs-offset-11{margin-left:91.66666666666666%}.factory-bootstrap-429 .col-xs-offset-10{margin-left:83.33333333333334%}.factory-bootstrap-429 .col-xs-offset-9{margin-left:75%}.factory-bootstrap-429 .col-xs-offset-8{margin-left:66.66666666666666%}.factory-bootstrap-429 .col-xs-offset-7{margin-left:58.333333333333336%}.factory-bootstrap-429 .col-xs-offset-6{margin-left:50%}.factory-bootstrap-429 .col-xs-offset-5{margin-left:41.66666666666667%}.factory-bootstrap-429 .col-xs-offset-4{margin-left:33.33333333333333%}.factory-bootstrap-429 .col-xs-offset-3{margin-left:25%}.factory-bootstrap-429 .col-xs-offset-2{margin-left:16.666666666666664%}.factory-bootstrap-429 .col-xs-offset-1{margin-left:8.333333333333332%}.factory-bootstrap-429 .col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666666666666%}.col-sm-10{width:83.33333333333334%}.col-sm-9{width:75%}.col-sm-8{width:66.66666666666666%}.col-sm-7{width:58.333333333333336%}.col-sm-6{width:50%}.col-sm-5{width:41.66666666666667%}.col-sm-4{width:33.33333333333333%}.col-sm-3{width:25%}.col-sm-2{width:16.666666666666664%}.col-sm-1{width:8.333333333333332%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666666666666%}.col-sm-pull-10{right:83.33333333333334%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666666666666%}.col-sm-pull-7{right:58.333333333333336%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666666666667%}.col-sm-pull-4{right:33.33333333333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.666666666666664%}.col-sm-pull-1{right:8.333333333333332%}.col-sm-pull-0{right:0}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666666666666%}.col-sm-push-10{left:83.33333333333334%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666666666666%}.col-sm-push-7{left:58.333333333333336%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666666666667%}.col-sm-push-4{left:33.33333333333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.666666666666664%}.col-sm-push-1{left:8.333333333333332%}.col-sm-push-0{left:0}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666666666666%}.col-sm-offset-10{margin-left:83.33333333333334%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666666666666%}.col-sm-offset-7{margin-left:58.333333333333336%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666666666667%}.col-sm-offset-4{margin-left:33.33333333333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.666666666666664%}.col-sm-offset-1{margin-left:8.333333333333332%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666666666666%}.col-md-10{width:83.33333333333334%}.col-md-9{width:75%}.col-md-8{width:66.66666666666666%}.col-md-7{width:58.333333333333336%}.col-md-6{width:50%}.col-md-5{width:41.66666666666667%}.col-md-4{width:33.33333333333333%}.col-md-3{width:25%}.col-md-2{width:16.666666666666664%}.col-md-1{width:8.333333333333332%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666666666666%}.col-md-pull-10{right:83.33333333333334%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666666666666%}.col-md-pull-7{right:58.333333333333336%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666666666667%}.col-md-pull-4{right:33.33333333333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.666666666666664%}.col-md-pull-1{right:8.333333333333332%}.col-md-pull-0{right:0}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666666666666%}.col-md-push-10{left:83.33333333333334%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666666666666%}.col-md-push-7{left:58.333333333333336%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666666666667%}.col-md-push-4{left:33.33333333333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.666666666666664%}.col-md-push-1{left:8.333333333333332%}.col-md-push-0{left:0}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666666666666%}.col-md-offset-10{margin-left:83.33333333333334%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666666666666%}.col-md-offset-7{margin-left:58.333333333333336%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666666666667%}.col-md-offset-4{margin-left:33.33333333333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.666666666666664%}.col-md-offset-1{margin-left:8.333333333333332%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666666666666%}.col-lg-10{width:83.33333333333334%}.col-lg-9{width:75%}.col-lg-8{width:66.66666666666666%}.col-lg-7{width:58.333333333333336%}.col-lg-6{width:50%}.col-lg-5{width:41.66666666666667%}.col-lg-4{width:33.33333333333333%}.col-lg-3{width:25%}.col-lg-2{width:16.666666666666664%}.col-lg-1{width:8.333333333333332%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666666666666%}.col-lg-pull-10{right:83.33333333333334%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666666666666%}.col-lg-pull-7{right:58.333333333333336%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666666666667%}.col-lg-pull-4{right:33.33333333333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.666666666666664%}.col-lg-pull-1{right:8.333333333333332%}.col-lg-pull-0{right:0}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666666666666%}.col-lg-push-10{left:83.33333333333334%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666666666666%}.col-lg-push-7{left:58.333333333333336%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666666666667%}.col-lg-push-4{left:33.33333333333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.666666666666664%}.col-lg-push-1{left:8.333333333333332%}.col-lg-push-0{left:0}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666666666666%}.col-lg-offset-10{margin-left:83.33333333333334%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666666666666%}.col-lg-offset-7{margin-left:58.333333333333336%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666666666667%}.col-lg-offset-4{margin-left:33.33333333333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.666666666666664%}.col-lg-offset-1{margin-left:8.333333333333332%}.col-lg-offset-0{margin-left:0}}.factory-bootstrap-429 table{max-width:100%;background-color:transparent}.factory-bootstrap-429 th{text-align:left}.factory-bootstrap-429 .table{width:100%;margin-bottom:20px}.factory-bootstrap-429 .table>tbody>tr>td,.factory-bootstrap-429 .table>tbody>tr>th,.factory-bootstrap-429 .table>tfoot>tr>td,.factory-bootstrap-429 .table>tfoot>tr>th,.factory-bootstrap-429 .table>thead>tr>td,.factory-bootstrap-429 .table>thead>tr>th{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #ddd}.factory-bootstrap-429 .table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.factory-bootstrap-429 .table>caption+thead>tr:first-child>td,.factory-bootstrap-429 .table>caption+thead>tr:first-child>th,.factory-bootstrap-429 .table>colgroup+thead>tr:first-child>td,.factory-bootstrap-429 .table>colgroup+thead>tr:first-child>th,.factory-bootstrap-429 .table>thead:first-child>tr:first-child>td,.factory-bootstrap-429 .table>thead:first-child>tr:first-child>th{border-top:0}.factory-bootstrap-429 .table>tbody+tbody{border-top:2px solid #ddd}.factory-bootstrap-429 .table .table{background-color:#fff}.factory-bootstrap-429 .table-condensed>tbody>tr>td,.factory-bootstrap-429 .table-condensed>tbody>tr>th,.factory-bootstrap-429 .table-condensed>tfoot>tr>td,.factory-bootstrap-429 .table-condensed>tfoot>tr>th,.factory-bootstrap-429 .table-condensed>thead>tr>td,.factory-bootstrap-429 .table-condensed>thead>tr>th{padding:5px}.factory-bootstrap-429 .table-bordered,.factory-bootstrap-429 .table-bordered>tbody>tr>td,.factory-bootstrap-429 .table-bordered>tbody>tr>th,.factory-bootstrap-429 .table-bordered>tfoot>tr>td,.factory-bootstrap-429 .table-bordered>tfoot>tr>th,.factory-bootstrap-429 .table-bordered>thead>tr>td,.factory-bootstrap-429 .table-bordered>thead>tr>th{border:1px solid #ddd}.factory-bootstrap-429 .table-bordered>thead>tr>td,.factory-bootstrap-429 .table-bordered>thead>tr>th{border-bottom-width:2px}.factory-bootstrap-429 .table-striped>tbody>tr:nth-child(odd)>td,.factory-bootstrap-429 .table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.factory-bootstrap-429 .table-hover>tbody>tr:hover>td,.factory-bootstrap-429 .table-hover>tbody>tr:hover>th{background-color:#f5f5f5}.factory-bootstrap-429 table col[class*=col-]{position:static;display:table-column;float:none}.factory-bootstrap-429 table td[class*=col-],.factory-bootstrap-429 table th[class*=col-]{display:table-cell;float:none}.factory-bootstrap-429 .table>tbody>.active>td,.factory-bootstrap-429 .table>tbody>.active>th,.factory-bootstrap-429 .table>tbody>tr>.active,.factory-bootstrap-429 .table>tfoot>.active>td,.factory-bootstrap-429 .table>tfoot>.active>th,.factory-bootstrap-429 .table>tfoot>tr>.active,.factory-bootstrap-429 .table>thead>.active>td,.factory-bootstrap-429 .table>thead>.active>th,.factory-bootstrap-429 .table>thead>tr>.active{background-color:#f5f5f5}.factory-bootstrap-429 .table-hover>tbody>.active:hover>td,.factory-bootstrap-429 .table-hover>tbody>.active:hover>th,.factory-bootstrap-429 .table-hover>tbody>tr>.active:hover{background-color:#e8e8e8}.factory-bootstrap-429 .table>tbody>.success>td,.factory-bootstrap-429 .table>tbody>.success>th,.factory-bootstrap-429 .table>tbody>tr>.success,.factory-bootstrap-429 .table>tfoot>.success>td,.factory-bootstrap-429 .table>tfoot>.success>th,.factory-bootstrap-429 .table>tfoot>tr>.success,.factory-bootstrap-429 .table>thead>.success>td,.factory-bootstrap-429 .table>thead>.success>th,.factory-bootstrap-429 .table>thead>tr>.success{background-color:#dff0d8}.factory-bootstrap-429 .table-hover>tbody>.success:hover>td,.factory-bootstrap-429 .table-hover>tbody>.success:hover>th,.factory-bootstrap-429 .table-hover>tbody>tr>.success:hover{background-color:#d0e9c6}.factory-bootstrap-429 .table>tbody>.danger>td,.factory-bootstrap-429 .table>tbody>.danger>th,.factory-bootstrap-429 .table>tbody>tr>.danger,.factory-bootstrap-429 .table>tfoot>.danger>td,.factory-bootstrap-429 .table>tfoot>.danger>th,.factory-bootstrap-429 .table>tfoot>tr>.danger,.factory-bootstrap-429 .table>thead>.danger>td,.factory-bootstrap-429 .table>thead>.danger>th,.factory-bootstrap-429 .table>thead>tr>.danger{background-color:#f2dede}.factory-bootstrap-429 .table-hover>tbody>.danger:hover>td,.factory-bootstrap-429 .table-hover>tbody>.danger:hover>th,.factory-bootstrap-429 .table-hover>tbody>tr>.danger:hover{background-color:#ebcccc}.factory-bootstrap-429 .table>tbody>.warning>td,.factory-bootstrap-429 .table>tbody>.warning>th,.factory-bootstrap-429 .table>tbody>tr>.warning,.factory-bootstrap-429 .table>tfoot>.warning>td,.factory-bootstrap-429 .table>tfoot>.warning>th,.factory-bootstrap-429 .table>tfoot>tr>.warning,.factory-bootstrap-429 .table>thead>.warning>td,.factory-bootstrap-429 .table>thead>.warning>th,.factory-bootstrap-429 .table>thead>tr>.warning{background-color:#fcf8e3}.factory-bootstrap-429 .table-hover>tbody>.warning:hover>td,.factory-bootstrap-429 .table-hover>tbody>.warning:hover>th,.factory-bootstrap-429 .table-hover>tbody>tr>.warning:hover{background-color:#faf2cc}@media (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-x:scroll;overflow-y:hidden;border:1px solid #ddd;-ms-overflow-style:-ms-autohiding-scrollbar;-webkit-overflow-scrolling:touch}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}.factory-bootstrap-429 fieldset{padding:0;margin:0;border:0}.factory-bootstrap-429 legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5;-moz-box-sizing:content-box;box-sizing:content-box}.factory-bootstrap-429 label{display:inline-block;margin-bottom:5px;font-weight:700}.factory-bootstrap-429 input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.factory-bootstrap-429 input[type=checkbox],.factory-bootstrap-429 input[type=radio]{margin:4px 0 0;margin-top:1px \9;line-height:normal}.factory-bootstrap-429 input[type=file]{display:block}.factory-bootstrap-429 select[multiple],.factory-bootstrap-429 select[size]{height:auto}.factory-bootstrap-429 select optgroup{font-family:inherit;font-size:inherit;font-style:inherit}.factory-bootstrap-429 input[type=checkbox]:focus,.factory-bootstrap-429 input[type=file]:focus,.factory-bootstrap-429 input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.factory-bootstrap-429 input[type=number]::-webkit-inner-spin-button,.factory-bootstrap-429 input[type=number]::-webkit-outer-spin-button{height:auto}.factory-bootstrap-429 output{display:block;padding-top:7px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle}.factory-bootstrap-429 .form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.factory-bootstrap-429 .form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-429 .form-control:-moz-placeholder{color:#999}.factory-bootstrap-429 .form-control::-moz-placeholder{color:#999;opacity:1}.factory-bootstrap-429 .form-control:-ms-input-placeholder{color:#999}.factory-bootstrap-429 .form-control::-webkit-input-placeholder{color:#999}.factory-bootstrap-429 .form-control[disabled],.factory-bootstrap-429 .form-control[readonly],.factory-bootstrap-429 fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee}.factory-bootstrap-429 textarea.form-control{height:auto}.factory-bootstrap-429 .form-group{margin-bottom:15px}.factory-bootstrap-429 .checkbox,.factory-bootstrap-429 .radio{display:block;min-height:20px;padding-left:20px;margin-top:10px;margin-bottom:10px;vertical-align:middle}.factory-bootstrap-429 .checkbox label,.factory-bootstrap-429 .radio label{display:inline;margin-bottom:0;font-weight:400;cursor:pointer}.factory-bootstrap-429 .checkbox input[type=checkbox],.factory-bootstrap-429 .checkbox-inline input[type=checkbox],.factory-bootstrap-429 .radio input[type=radio],.factory-bootstrap-429 .radio-inline input[type=radio]{float:left;margin-left:-20px}.factory-bootstrap-429 .checkbox+.checkbox,.factory-bootstrap-429 .radio+.radio{margin-top:-5px}.factory-bootstrap-429 .checkbox-inline,.factory-bootstrap-429 .radio-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.factory-bootstrap-429 .checkbox-inline+.checkbox-inline,.factory-bootstrap-429 .radio-inline+.radio-inline{margin-top:0;margin-left:10px}.factory-bootstrap-429 .checkbox-inline[disabled],.factory-bootstrap-429 .checkbox[disabled],.factory-bootstrap-429 .radio-inline[disabled],.factory-bootstrap-429 .radio[disabled],.factory-bootstrap-429 fieldset[disabled] .checkbox,.factory-bootstrap-429 fieldset[disabled] .checkbox-inline,.factory-bootstrap-429 fieldset[disabled] .radio,.factory-bootstrap-429 fieldset[disabled] .radio-inline,.factory-bootstrap-429 fieldset[disabled] input[type=checkbox],.factory-bootstrap-429 fieldset[disabled] input[type=radio],.factory-bootstrap-429 input[type=checkbox][disabled],.factory-bootstrap-429 input[type=radio][disabled]{cursor:not-allowed}.factory-bootstrap-429 .input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-429 select.input-sm{height:30px;line-height:30px}.factory-bootstrap-429 textarea.input-sm{height:auto}.factory-bootstrap-429 .input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-429 select.input-lg{height:46px;line-height:46px}.factory-bootstrap-429 textarea.input-lg{height:auto}.factory-bootstrap-429 .has-warning .checkbox,.factory-bootstrap-429 .has-warning .checkbox-inline,.factory-bootstrap-429 .has-warning .control-label,.factory-bootstrap-429 .has-warning .help-block,.factory-bootstrap-429 .has-warning .radio,.factory-bootstrap-429 .has-warning .radio-inline{color:#8a6d3b}.factory-bootstrap-429 .has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-429 .has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.factory-bootstrap-429 .has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.factory-bootstrap-429 .has-error .checkbox,.factory-bootstrap-429 .has-error .checkbox-inline,.factory-bootstrap-429 .has-error .control-label,.factory-bootstrap-429 .has-error .help-block,.factory-bootstrap-429 .has-error .radio,.factory-bootstrap-429 .has-error .radio-inline{color:#a94442}.factory-bootstrap-429 .controls{display:block}.factory-bootstrap-429 .has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-429 .has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.factory-bootstrap-429 .has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.factory-bootstrap-429 .has-success .checkbox,.factory-bootstrap-429 .has-success .checkbox-inline,.factory-bootstrap-429 .has-success .control-label,.factory-bootstrap-429 .has-success .help-block,.factory-bootstrap-429 .has-success .radio,.factory-bootstrap-429 .has-success .radio-inline{color:#3c763d}.factory-bootstrap-429 .has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-429 .has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.factory-bootstrap-429 .has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.factory-bootstrap-429 .form-control-static{margin-bottom:0}.factory-bootstrap-429 .help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373;font-weight:400}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block}.form-inline select.form-control{width:auto}.form-inline .checkbox,.form-inline .radio{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{float:none;margin-left:0}}.factory-bootstrap-429 .form-horizontal .checkbox,.factory-bootstrap-429 .form-horizontal .checkbox-inline,.factory-bootstrap-429 .form-horizontal .control-label,.factory-bootstrap-429 .form-horizontal .radio,.factory-bootstrap-429 .form-horizontal .radio-inline{position:relative;padding-top:7px;margin-top:0;margin-bottom:0}.factory-bootstrap-429 .form-horizontal .control-label{max-width:200px}.factory-bootstrap-429 .form-horizontal .checkbox,.factory-bootstrap-429 .form-horizontal .radio{min-height:27px}.factory-bootstrap-429 .form-horizontal .form-group{margin-right:-15px;margin-left:-15px}.factory-bootstrap-429 .form-horizontal .form-group:after,.factory-bootstrap-429 .form-horizontal .form-group:before{display:table;content:" "}.factory-bootstrap-429 .form-horizontal .form-group:after{clear:both}.factory-bootstrap-429 .form-horizontal .form-control-static{padding-top:7px}@media (min-width:768px){.form-horizontal .control-label{text-align:right}}.factory-bootstrap-429 .btn{display:inline-block;padding:5px 12px;margin-bottom:0;font-size:13px;font-weight:400;line-height:1.428571429;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;border-radius:3px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.factory-bootstrap-429 .btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.factory-bootstrap-429 .btn{text-decoration:none}.factory-bootstrap-429 .btn:focus,.factory-bootstrap-429 .btn:hover{color:#333;text-decoration:none}.factory-bootstrap-429 .btn.disabled,.factory-bootstrap-429 .btn[disabled],.factory-bootstrap-429 fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-429 .btn-default.active,.factory-bootstrap-429 .btn-default:active,.factory-bootstrap-429 .btn-default:focus,.factory-bootstrap-429 .btn-default:hover,.factory-bootstrap-429 .open .dropdown-toggle.btn-default{background:#fafafa;border-color:#999;color:#222}.factory-bootstrap-429 .btn-default.active,.factory-bootstrap-429 .btn-default:active,.factory-bootstrap-429 .open .dropdown-toggle.btn-default{background-image:none}.factory-bootstrap-429 .btn-default.disabled,.factory-bootstrap-429 .btn-default.disabled.active,.factory-bootstrap-429 .btn-default.disabled:active,.factory-bootstrap-429 .btn-default.disabled:focus,.factory-bootstrap-429 .btn-default.disabled:hover,.factory-bootstrap-429 .btn-default[disabled],.factory-bootstrap-429 .btn-default[disabled].active,.factory-bootstrap-429 .btn-default[disabled]:active,.factory-bootstrap-429 .btn-default[disabled]:focus,.factory-bootstrap-429 .btn-default[disabled]:hover,.factory-bootstrap-429 fieldset[disabled] .btn-default,.factory-bootstrap-429 fieldset[disabled] .btn-default.active,.factory-bootstrap-429 fieldset[disabled] .btn-default:active,.factory-bootstrap-429 fieldset[disabled] .btn-default:focus,.factory-bootstrap-429 fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.factory-bootstrap-429 .btn-default .badge{color:#fff;background-color:#fff}.factory-bootstrap-429 .btn-primary.active,.factory-bootstrap-429 .btn-primary:active,.factory-bootstrap-429 .btn-primary:focus,.factory-bootstrap-429 .btn-primary:hover,.factory-bootstrap-429 .open .dropdown-toggle.btn-primary{color:#fff;background-color:#3276b1;border-color:#285e8e}.factory-bootstrap-429 .btn-primary.active,.factory-bootstrap-429 .btn-primary:active,.factory-bootstrap-429 .open .dropdown-toggle.btn-primary{background-image:none}.factory-bootstrap-429 .btn-primary.disabled,.factory-bootstrap-429 .btn-primary.disabled.active,.factory-bootstrap-429 .btn-primary.disabled:active,.factory-bootstrap-429 .btn-primary.disabled:focus,.factory-bootstrap-429 .btn-primary.disabled:hover,.factory-bootstrap-429 .btn-primary[disabled],.factory-bootstrap-429 .btn-primary[disabled].active,.factory-bootstrap-429 .btn-primary[disabled]:active,.factory-bootstrap-429 .btn-primary[disabled]:focus,.factory-bootstrap-429 .btn-primary[disabled]:hover,.factory-bootstrap-429 fieldset[disabled] .btn-primary,.factory-bootstrap-429 fieldset[disabled] .btn-primary.active,.factory-bootstrap-429 fieldset[disabled] .btn-primary:active,.factory-bootstrap-429 fieldset[disabled] .btn-primary:focus,.factory-bootstrap-429 fieldset[disabled] .btn-primary:hover{background-color:#428bca;border-color:#357ebd}.factory-bootstrap-429 .btn-primary .badge{color:#428bca;background-color:#fff}.factory-bootstrap-429 .btn-warning{color:#fff;background-color:#f0ad4e}.factory-bootstrap-429 .btn-warning.active,.factory-bootstrap-429 .btn-warning:active,.factory-bootstrap-429 .btn-warning:focus,.factory-bootstrap-429 .btn-warning:hover,.factory-bootstrap-429 .open .dropdown-toggle.btn-warning{color:#fff;background-color:#ed9c28;border-color:#d58512}.factory-bootstrap-429 .btn-warning.active,.factory-bootstrap-429 .btn-warning:active,.factory-bootstrap-429 .open .dropdown-toggle.btn-warning{background-image:none}.factory-bootstrap-429 .btn-warning.disabled,.factory-bootstrap-429 .btn-warning.disabled.active,.factory-bootstrap-429 .btn-warning.disabled:active,.factory-bootstrap-429 .btn-warning.disabled:focus,.factory-bootstrap-429 .btn-warning.disabled:hover,.factory-bootstrap-429 .btn-warning[disabled],.factory-bootstrap-429 .btn-warning[disabled].active,.factory-bootstrap-429 .btn-warning[disabled]:active,.factory-bootstrap-429 .btn-warning[disabled]:focus,.factory-bootstrap-429 .btn-warning[disabled]:hover,.factory-bootstrap-429 fieldset[disabled] .btn-warning,.factory-bootstrap-429 fieldset[disabled] .btn-warning.active,.factory-bootstrap-429 fieldset[disabled] .btn-warning:active,.factory-bootstrap-429 fieldset[disabled] .btn-warning:focus,.factory-bootstrap-429 fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.factory-bootstrap-429 .btn-warning .badge{color:#f0ad4e;background-color:#fff}.factory-bootstrap-429 .btn-success{color:#fff;background-color:#5cb85c}.factory-bootstrap-429 .btn-success.active,.factory-bootstrap-429 .btn-success:active,.factory-bootstrap-429 .btn-success:focus,.factory-bootstrap-429 .btn-success:hover,.factory-bootstrap-429 .open .dropdown-toggle.btn-success{color:#fff;background-color:#47a447;border-color:#398439}.factory-bootstrap-429 .btn-success.active,.factory-bootstrap-429 .btn-success:active,.factory-bootstrap-429 .open .dropdown-toggle.btn-success{background-image:none}.factory-bootstrap-429 .btn-success.disabled,.factory-bootstrap-429 .btn-success.disabled.active,.factory-bootstrap-429 .btn-success.disabled:active,.factory-bootstrap-429 .btn-success.disabled:focus,.factory-bootstrap-429 .btn-success.disabled:hover,.factory-bootstrap-429 .btn-success[disabled],.factory-bootstrap-429 .btn-success[disabled].active,.factory-bootstrap-429 .btn-success[disabled]:active,.factory-bootstrap-429 .btn-success[disabled]:focus,.factory-bootstrap-429 .btn-success[disabled]:hover,.factory-bootstrap-429 fieldset[disabled] .btn-success,.factory-bootstrap-429 fieldset[disabled] .btn-success.active,.factory-bootstrap-429 fieldset[disabled] .btn-success:active,.factory-bootstrap-429 fieldset[disabled] .btn-success:focus,.factory-bootstrap-429 fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.factory-bootstrap-429 .btn-success .badge{color:#5cb85c;background-color:#fff}.factory-bootstrap-429 .btn-info{color:#fff;background-color:#5bc0de}.factory-bootstrap-429 .btn-info.active,.factory-bootstrap-429 .btn-info:active,.factory-bootstrap-429 .btn-info:focus,.factory-bootstrap-429 .btn-info:hover,.factory-bootstrap-429 .open .dropdown-toggle.btn-info{color:#fff;background-color:#39b3d7;border-color:#269abc}.factory-bootstrap-429 .btn-info.active,.factory-bootstrap-429 .btn-info:active,.factory-bootstrap-429 .open .dropdown-toggle.btn-info{background-image:none}.factory-bootstrap-429 .btn-info.disabled,.factory-bootstrap-429 .btn-info.disabled.active,.factory-bootstrap-429 .btn-info.disabled:active,.factory-bootstrap-429 .btn-info.disabled:focus,.factory-bootstrap-429 .btn-info.disabled:hover,.factory-bootstrap-429 .btn-info[disabled],.factory-bootstrap-429 .btn-info[disabled].active,.factory-bootstrap-429 .btn-info[disabled]:active,.factory-bootstrap-429 .btn-info[disabled]:focus,.factory-bootstrap-429 .btn-info[disabled]:hover,.factory-bootstrap-429 fieldset[disabled] .btn-info,.factory-bootstrap-429 fieldset[disabled] .btn-info.active,.factory-bootstrap-429 fieldset[disabled] .btn-info:active,.factory-bootstrap-429 fieldset[disabled] .btn-info:focus,.factory-bootstrap-429 fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.factory-bootstrap-429 .btn-info .badge{color:#5bc0de;background-color:#fff}.factory-bootstrap-429 .btn-link{font-weight:400;color:#428bca;cursor:pointer;border-radius:0}.factory-bootstrap-429 .btn-link,.factory-bootstrap-429 .btn-link:active,.factory-bootstrap-429 .btn-link[disabled],.factory-bootstrap-429 fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-429 .btn-link,.factory-bootstrap-429 .btn-link:active,.factory-bootstrap-429 .btn-link:focus,.factory-bootstrap-429 .btn-link:hover{border-color:transparent}.factory-bootstrap-429 .btn-link:focus,.factory-bootstrap-429 .btn-link:hover{color:#2a6496;text-decoration:underline;background-color:transparent}.factory-bootstrap-429 .btn-link[disabled]:focus,.factory-bootstrap-429 .btn-link[disabled]:hover,.factory-bootstrap-429 fieldset[disabled] .btn-link:focus,.factory-bootstrap-429 fieldset[disabled] .btn-link:hover{color:#999;text-decoration:none}.factory-bootstrap-429 .btn-lg{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-429 .btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-429 .btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-429 .btn-block{display:block;width:100%;padding-right:0;padding-left:0}.factory-bootstrap-429 .btn-block+.btn-block{margin-top:5px}.factory-bootstrap-429 input[type=button].btn-block,.factory-bootstrap-429 input[type=reset].btn-block,.factory-bootstrap-429 input[type=submit].btn-block{width:100%}.factory-bootstrap-429 .fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.factory-bootstrap-429 .fade.in{opacity:1}.factory-bootstrap-429 .collapse{display:none}.factory-bootstrap-429 .collapse.in{display:block}.factory-bootstrap-429 .collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;transition:height .35s ease}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular) format('svg')}.factory-bootstrap-429 .glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';-webkit-font-smoothing:antialiased;font-style:normal;font-weight:400;line-height:1;-moz-osx-font-smoothing:grayscale}.factory-bootstrap-429 .glyphicon:empty{width:1em}.factory-bootstrap-429 .glyphicon-asterisk:before{content:"\2a"}.factory-bootstrap-429 .glyphicon-plus:before{content:"\2b"}.factory-bootstrap-429 .glyphicon-euro:before{content:"\20ac"}.factory-bootstrap-429 .glyphicon-minus:before{content:"\2212"}.factory-bootstrap-429 .glyphicon-cloud:before{content:"\2601"}.factory-bootstrap-429 .glyphicon-envelope:before{content:"\2709"}.factory-bootstrap-429 .glyphicon-pencil:before{content:"\270f"}.factory-bootstrap-429 .glyphicon-glass:before{content:"\e001"}.factory-bootstrap-429 .glyphicon-music:before{content:"\e002"}.factory-bootstrap-429 .glyphicon-search:before{content:"\e003"}.factory-bootstrap-429 .glyphicon-heart:before{content:"\e005"}.factory-bootstrap-429 .glyphicon-star:before{content:"\e006"}.factory-bootstrap-429 .glyphicon-star-empty:before{content:"\e007"}.factory-bootstrap-429 .glyphicon-user:before{content:"\e008"}.factory-bootstrap-429 .glyphicon-film:before{content:"\e009"}.factory-bootstrap-429 .glyphicon-th-large:before{content:"\e010"}.factory-bootstrap-429 .glyphicon-th:before{content:"\e011"}.factory-bootstrap-429 .glyphicon-th-list:before{content:"\e012"}.factory-bootstrap-429 .glyphicon-ok:before{content:"\e013"}.factory-bootstrap-429 .glyphicon-remove:before{content:"\e014"}.factory-bootstrap-429 .glyphicon-zoom-in:before{content:"\e015"}.factory-bootstrap-429 .glyphicon-zoom-out:before{content:"\e016"}.factory-bootstrap-429 .glyphicon-off:before{content:"\e017"}.factory-bootstrap-429 .glyphicon-signal:before{content:"\e018"}.factory-bootstrap-429 .glyphicon-cog:before{content:"\e019"}.factory-bootstrap-429 .glyphicon-trash:before{content:"\e020"}.factory-bootstrap-429 .glyphicon-home:before{content:"\e021"}.factory-bootstrap-429 .glyphicon-file:before{content:"\e022"}.factory-bootstrap-429 .glyphicon-time:before{content:"\e023"}.factory-bootstrap-429 .glyphicon-road:before{content:"\e024"}.factory-bootstrap-429 .glyphicon-download-alt:before{content:"\e025"}.factory-bootstrap-429 .glyphicon-download:before{content:"\e026"}.factory-bootstrap-429 .glyphicon-upload:before{content:"\e027"}.factory-bootstrap-429 .glyphicon-inbox:before{content:"\e028"}.factory-bootstrap-429 .glyphicon-play-circle:before{content:"\e029"}.factory-bootstrap-429 .glyphicon-repeat:before{content:"\e030"}.factory-bootstrap-429 .glyphicon-refresh:before{content:"\e031"}.factory-bootstrap-429 .glyphicon-list-alt:before{content:"\e032"}.factory-bootstrap-429 .glyphicon-lock:before{content:"\e033"}.factory-bootstrap-429 .glyphicon-flag:before{content:"\e034"}.factory-bootstrap-429 .glyphicon-headphones:before{content:"\e035"}.factory-bootstrap-429 .glyphicon-volume-off:before{content:"\e036"}.factory-bootstrap-429 .glyphicon-volume-down:before{content:"\e037"}.factory-bootstrap-429 .glyphicon-volume-up:before{content:"\e038"}.factory-bootstrap-429 .glyphicon-qrcode:before{content:"\e039"}.factory-bootstrap-429 .glyphicon-barcode:before{content:"\e040"}.factory-bootstrap-429 .glyphicon-tag:before{content:"\e041"}.factory-bootstrap-429 .glyphicon-tags:before{content:"\e042"}.factory-bootstrap-429 .glyphicon-book:before{content:"\e043"}.factory-bootstrap-429 .glyphicon-bookmark:before{content:"\e044"}.factory-bootstrap-429 .glyphicon-print:before{content:"\e045"}.factory-bootstrap-429 .glyphicon-camera:before{content:"\e046"}.factory-bootstrap-429 .glyphicon-font:before{content:"\e047"}.factory-bootstrap-429 .glyphicon-bold:before{content:"\e048"}.factory-bootstrap-429 .glyphicon-italic:before{content:"\e049"}.factory-bootstrap-429 .glyphicon-text-height:before{content:"\e050"}.factory-bootstrap-429 .glyphicon-text-width:before{content:"\e051"}.factory-bootstrap-429 .glyphicon-align-left:before{content:"\e052"}.factory-bootstrap-429 .glyphicon-align-center:before{content:"\e053"}.factory-bootstrap-429 .glyphicon-align-right:before{content:"\e054"}.factory-bootstrap-429 .glyphicon-align-justify:before{content:"\e055"}.factory-bootstrap-429 .glyphicon-list:before{content:"\e056"}.factory-bootstrap-429 .glyphicon-indent-left:before{content:"\e057"}.factory-bootstrap-429 .glyphicon-indent-right:before{content:"\e058"}.factory-bootstrap-429 .glyphicon-facetime-video:before{content:"\e059"}.factory-bootstrap-429 .glyphicon-picture:before{content:"\e060"}.factory-bootstrap-429 .glyphicon-map-marker:before{content:"\e062"}.factory-bootstrap-429 .glyphicon-adjust:before{content:"\e063"}.factory-bootstrap-429 .glyphicon-tint:before{content:"\e064"}.factory-bootstrap-429 .glyphicon-edit:before{content:"\e065"}.factory-bootstrap-429 .glyphicon-share:before{content:"\e066"}.factory-bootstrap-429 .glyphicon-check:before{content:"\e067"}.factory-bootstrap-429 .glyphicon-move:before{content:"\e068"}.factory-bootstrap-429 .glyphicon-step-backward:before{content:"\e069"}.factory-bootstrap-429 .glyphicon-fast-backward:before{content:"\e070"}.factory-bootstrap-429 .glyphicon-backward:before{content:"\e071"}.factory-bootstrap-429 .glyphicon-play:before{content:"\e072"}.factory-bootstrap-429 .glyphicon-pause:before{content:"\e073"}.factory-bootstrap-429 .glyphicon-stop:before{content:"\e074"}.factory-bootstrap-429 .glyphicon-forward:before{content:"\e075"}.factory-bootstrap-429 .glyphicon-fast-forward:before{content:"\e076"}.factory-bootstrap-429 .glyphicon-step-forward:before{content:"\e077"}.factory-bootstrap-429 .glyphicon-eject:before{content:"\e078"}.factory-bootstrap-429 .glyphicon-chevron-left:before{content:"\e079"}.factory-bootstrap-429 .glyphicon-chevron-right:before{content:"\e080"}.factory-bootstrap-429 .glyphicon-plus-sign:before{content:"\e081"}.factory-bootstrap-429 .glyphicon-minus-sign:before{content:"\e082"}.factory-bootstrap-429 .glyphicon-remove-sign:before{content:"\e083"}.factory-bootstrap-429 .glyphicon-ok-sign:before{content:"\e084"}.factory-bootstrap-429 .glyphicon-question-sign:before{content:"\e085"}.factory-bootstrap-429 .glyphicon-info-sign:before{content:"\e086"}.factory-bootstrap-429 .glyphicon-screenshot:before{content:"\e087"}.factory-bootstrap-429 .glyphicon-remove-circle:before{content:"\e088"}.factory-bootstrap-429 .glyphicon-ok-circle:before{content:"\e089"}.factory-bootstrap-429 .glyphicon-ban-circle:before{content:"\e090"}.factory-bootstrap-429 .glyphicon-arrow-left:before{content:"\e091"}.factory-bootstrap-429 .glyphicon-arrow-right:before{content:"\e092"}.factory-bootstrap-429 .glyphicon-arrow-up:before{content:"\e093"}.factory-bootstrap-429 .glyphicon-arrow-down:before{content:"\e094"}.factory-bootstrap-429 .glyphicon-share-alt:before{content:"\e095"}.factory-bootstrap-429 .glyphicon-resize-full:before{content:"\e096"}.factory-bootstrap-429 .glyphicon-resize-small:before{content:"\e097"}.factory-bootstrap-429 .glyphicon-exclamation-sign:before{content:"\e101"}.factory-bootstrap-429 .glyphicon-gift:before{content:"\e102"}.factory-bootstrap-429 .glyphicon-leaf:before{content:"\e103"}.factory-bootstrap-429 .glyphicon-fire:before{content:"\e104"}.factory-bootstrap-429 .glyphicon-eye-open:before{content:"\e105"}.factory-bootstrap-429 .glyphicon-eye-close:before{content:"\e106"}.factory-bootstrap-429 .glyphicon-warning-sign:before{content:"\e107"}.factory-bootstrap-429 .glyphicon-plane:before{content:"\e108"}.factory-bootstrap-429 .glyphicon-calendar:before{content:"\e109"}.factory-bootstrap-429 .glyphicon-random:before{content:"\e110"}.factory-bootstrap-429 .glyphicon-comment:before{content:"\e111"}.factory-bootstrap-429 .glyphicon-magnet:before{content:"\e112"}.factory-bootstrap-429 .glyphicon-chevron-up:before{content:"\e113"}.factory-bootstrap-429 .glyphicon-chevron-down:before{content:"\e114"}.factory-bootstrap-429 .glyphicon-retweet:before{content:"\e115"}.factory-bootstrap-429 .glyphicon-shopping-cart:before{content:"\e116"}.factory-bootstrap-429 .glyphicon-folder-close:before{content:"\e117"}.factory-bootstrap-429 .glyphicon-folder-open:before{content:"\e118"}.factory-bootstrap-429 .glyphicon-resize-vertical:before{content:"\e119"}.factory-bootstrap-429 .glyphicon-resize-horizontal:before{content:"\e120"}.factory-bootstrap-429 .glyphicon-hdd:before{content:"\e121"}.factory-bootstrap-429 .glyphicon-bullhorn:before{content:"\e122"}.factory-bootstrap-429 .glyphicon-bell:before{content:"\e123"}.factory-bootstrap-429 .glyphicon-certificate:before{content:"\e124"}.factory-bootstrap-429 .glyphicon-thumbs-up:before{content:"\e125"}.factory-bootstrap-429 .glyphicon-thumbs-down:before{content:"\e126"}.factory-bootstrap-429 .glyphicon-hand-right:before{content:"\e127"}.factory-bootstrap-429 .glyphicon-hand-left:before{content:"\e128"}.factory-bootstrap-429 .glyphicon-hand-up:before{content:"\e129"}.factory-bootstrap-429 .glyphicon-hand-down:before{content:"\e130"}.factory-bootstrap-429 .glyphicon-circle-arrow-right:before{content:"\e131"}.factory-bootstrap-429 .glyphicon-circle-arrow-left:before{content:"\e132"}.factory-bootstrap-429 .glyphicon-circle-arrow-up:before{content:"\e133"}.factory-bootstrap-429 .glyphicon-circle-arrow-down:before{content:"\e134"}.factory-bootstrap-429 .glyphicon-globe:before{content:"\e135"}.factory-bootstrap-429 .glyphicon-wrench:before{content:"\e136"}.factory-bootstrap-429 .glyphicon-tasks:before{content:"\e137"}.factory-bootstrap-429 .glyphicon-filter:before{content:"\e138"}.factory-bootstrap-429 .glyphicon-briefcase:before{content:"\e139"}.factory-bootstrap-429 .glyphicon-fullscreen:before{content:"\e140"}.factory-bootstrap-429 .glyphicon-dashboard:before{content:"\e141"}.factory-bootstrap-429 .glyphicon-paperclip:before{content:"\e142"}.factory-bootstrap-429 .glyphicon-heart-empty:before{content:"\e143"}.factory-bootstrap-429 .glyphicon-link:before{content:"\e144"}.factory-bootstrap-429 .glyphicon-phone:before{content:"\e145"}.factory-bootstrap-429 .glyphicon-pushpin:before{content:"\e146"}.factory-bootstrap-429 .glyphicon-usd:before{content:"\e148"}.factory-bootstrap-429 .glyphicon-gbp:before{content:"\e149"}.factory-bootstrap-429 .glyphicon-sort:before{content:"\e150"}.factory-bootstrap-429 .glyphicon-sort-by-alphabet:before{content:"\e151"}.factory-bootstrap-429 .glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.factory-bootstrap-429 .glyphicon-sort-by-order:before{content:"\e153"}.factory-bootstrap-429 .glyphicon-sort-by-order-alt:before{content:"\e154"}.factory-bootstrap-429 .glyphicon-sort-by-attributes:before{content:"\e155"}.factory-bootstrap-429 .glyphicon-sort-by-attributes-alt:before{content:"\e156"}.factory-bootstrap-429 .glyphicon-unchecked:before{content:"\e157"}.factory-bootstrap-429 .glyphicon-expand:before{content:"\e158"}.factory-bootstrap-429 .glyphicon-collapse-down:before{content:"\e159"}.factory-bootstrap-429 .glyphicon-collapse-up:before{content:"\e160"}.factory-bootstrap-429 .glyphicon-log-in:before{content:"\e161"}.factory-bootstrap-429 .glyphicon-flash:before{content:"\e162"}.factory-bootstrap-429 .glyphicon-log-out:before{content:"\e163"}.factory-bootstrap-429 .glyphicon-new-window:before{content:"\e164"}.factory-bootstrap-429 .glyphicon-record:before{content:"\e165"}.factory-bootstrap-429 .glyphicon-save:before{content:"\e166"}.factory-bootstrap-429 .glyphicon-open:before{content:"\e167"}.factory-bootstrap-429 .glyphicon-saved:before{content:"\e168"}.factory-bootstrap-429 .glyphicon-import:before{content:"\e169"}.factory-bootstrap-429 .glyphicon-export:before{content:"\e170"}.factory-bootstrap-429 .glyphicon-send:before{content:"\e171"}.factory-bootstrap-429 .glyphicon-floppy-disk:before{content:"\e172"}.factory-bootstrap-429 .glyphicon-floppy-saved:before{content:"\e173"}.factory-bootstrap-429 .glyphicon-floppy-remove:before{content:"\e174"}.factory-bootstrap-429 .glyphicon-floppy-save:before{content:"\e175"}.factory-bootstrap-429 .glyphicon-floppy-open:before{content:"\e176"}.factory-bootstrap-429 .glyphicon-credit-card:before{content:"\e177"}.factory-bootstrap-429 .glyphicon-transfer:before{content:"\e178"}.factory-bootstrap-429 .glyphicon-cutlery:before{content:"\e179"}.factory-bootstrap-429 .glyphicon-header:before{content:"\e180"}.factory-bootstrap-429 .glyphicon-compressed:before{content:"\e181"}.factory-bootstrap-429 .glyphicon-earphone:before{content:"\e182"}.factory-bootstrap-429 .glyphicon-phone-alt:before{content:"\e183"}.factory-bootstrap-429 .glyphicon-tower:before{content:"\e184"}.factory-bootstrap-429 .glyphicon-stats:before{content:"\e185"}.factory-bootstrap-429 .glyphicon-sd-video:before{content:"\e186"}.factory-bootstrap-429 .glyphicon-hd-video:before{content:"\e187"}.factory-bootstrap-429 .glyphicon-subtitles:before{content:"\e188"}.factory-bootstrap-429 .glyphicon-sound-stereo:before{content:"\e189"}.factory-bootstrap-429 .glyphicon-sound-dolby:before{content:"\e190"}.factory-bootstrap-429 .glyphicon-sound-5-1:before{content:"\e191"}.factory-bootstrap-429 .glyphicon-sound-6-1:before{content:"\e192"}.factory-bootstrap-429 .glyphicon-sound-7-1:before{content:"\e193"}.factory-bootstrap-429 .glyphicon-copyright-mark:before{content:"\e194"}.factory-bootstrap-429 .glyphicon-registration-mark:before{content:"\e195"}.factory-bootstrap-429 .glyphicon-cloud-download:before{content:"\e197"}.factory-bootstrap-429 .glyphicon-cloud-upload:before{content:"\e198"}.factory-bootstrap-429 .glyphicon-tree-conifer:before{content:"\e199"}.factory-bootstrap-429 .glyphicon-tree-deciduous:before{content:"\e200"}.factory-bootstrap-429 .caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.factory-bootstrap-429 .dropdown{position:relative}.factory-bootstrap-429 .dropdown-toggle:focus{outline:0}.factory-bootstrap-429 .dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.factory-bootstrap-429 .dropdown-menu.pull-right{right:0;left:auto}.factory-bootstrap-429 .dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.factory-bootstrap-429 .dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.428571429;color:#333;white-space:nowrap}.factory-bootstrap-429 .dropdown-menu>li>a:focus,.factory-bootstrap-429 .dropdown-menu>li>a:hover{color:#262626;text-decoration:none}.factory-bootstrap-429 .dropdown-menu>.active>a,.factory-bootstrap-429 .dropdown-menu>.active>a:focus,.factory-bootstrap-429 .dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;outline:0}.factory-bootstrap-429 .dropdown-menu>.disabled>a,.factory-bootstrap-429 .dropdown-menu>.disabled>a:focus,.factory-bootstrap-429 .dropdown-menu>.disabled>a:hover{color:#999}.factory-bootstrap-429 .dropdown-menu>.disabled>a:focus,.factory-bootstrap-429 .dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-429 .open>.dropdown-menu{display:block}.factory-bootstrap-429 .open>a{outline:0}.factory-bootstrap-429 .dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#999}.factory-bootstrap-429 .dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.factory-bootstrap-429 .pull-right>.dropdown-menu{right:0;left:auto}.factory-bootstrap-429 .dropup .caret,.factory-bootstrap-429 .navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.factory-bootstrap-429 .dropup .dropdown-menu,.factory-bootstrap-429 .navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}}.factory-bootstrap-429 .btn-group,.factory-bootstrap-429 .btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.factory-bootstrap-429 .btn-group-vertical>.btn,.factory-bootstrap-429 .btn-group>.btn{position:relative;float:left}.factory-bootstrap-429 .btn-group-vertical>.btn.active,.factory-bootstrap-429 .btn-group-vertical>.btn:active,.factory-bootstrap-429 .btn-group-vertical>.btn:focus,.factory-bootstrap-429 .btn-group-vertical>.btn:hover,.factory-bootstrap-429 .btn-group>.btn.active,.factory-bootstrap-429 .btn-group>.btn:active,.factory-bootstrap-429 .btn-group>.btn:focus,.factory-bootstrap-429 .btn-group>.btn:hover{z-index:2}.factory-bootstrap-429 .btn-group-vertical>.btn:focus,.factory-bootstrap-429 .btn-group>.btn:focus{outline:0}.factory-bootstrap-429 .btn-group .btn+.btn,.factory-bootstrap-429 .btn-group .btn+.btn-group,.factory-bootstrap-429 .btn-group .btn-group+.btn,.factory-bootstrap-429 .btn-group .btn-group+.btn-group{margin-left:-1px}.factory-bootstrap-429 .btn-toolbar:after,.factory-bootstrap-429 .btn-toolbar:before{display:table;content:" "}.factory-bootstrap-429 .btn-toolbar:after{clear:both}.factory-bootstrap-429 .btn-toolbar .btn-group{float:left}.factory-bootstrap-429 .btn-toolbar>.btn+.btn,.factory-bootstrap-429 .btn-toolbar>.btn+.btn-group,.factory-bootstrap-429 .btn-toolbar>.btn-group+.btn,.factory-bootstrap-429 .btn-toolbar>.btn-group+.btn-group{margin-left:5px}.factory-bootstrap-429 .btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.factory-bootstrap-429 .btn-group>.btn:first-child{margin-left:0}.factory-bootstrap-429 .btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-429 .btn-group>.btn:last-child:not(:first-child),.factory-bootstrap-429 .btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-429 .btn-group>.btn-group{float:left}.factory-bootstrap-429 .btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.factory-bootstrap-429 .btn-group>.btn-group:first-child>.btn:last-child,.factory-bootstrap-429 .btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-429 .btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-429 .btn-group .dropdown-toggle:active,.factory-bootstrap-429 .btn-group.open .dropdown-toggle{outline:0}.factory-bootstrap-429 .btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-429 .btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-429 .btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-429 .btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.factory-bootstrap-429 .btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.factory-bootstrap-429 .btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.factory-bootstrap-429 .btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-429 .btn-group{border:4px solid #f9f9f9;border-radius:4px}.factory-bootstrap-429 .btn-group .btn.active.value{text-shadow:none;color:#fff;background-color:#33aad5;-webkit-box-shadow:inset 0 1px 1px #0074a2;box-shadow:inset 0 1px 3px #0074a2;border-top:1px solid #0074a2;border-bottom:1px solid #0074a2;border-left:1px solid #0074a2}.factory-bootstrap-429 .btn .caret{margin-left:0}.factory-bootstrap-429 .btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.factory-bootstrap-429 .dropup .btn-lg .caret{border-width:0 5px 5px}.factory-bootstrap-429 .btn-group-vertical>.btn,.factory-bootstrap-429 .btn-group-vertical>.btn-group,.factory-bootstrap-429 .btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.factory-bootstrap-429 .btn-group-vertical>.btn-group:after,.factory-bootstrap-429 .btn-group-vertical>.btn-group:before{display:table;content:" "}.factory-bootstrap-429 .btn-group-vertical>.btn-group:after{clear:both}.factory-bootstrap-429 .btn-group-vertical>.btn-group>.btn{float:none}.factory-bootstrap-429 .btn-group-vertical>.btn+.btn,.factory-bootstrap-429 .btn-group-vertical>.btn+.btn-group,.factory-bootstrap-429 .btn-group-vertical>.btn-group+.btn,.factory-bootstrap-429 .btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.factory-bootstrap-429 .btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.factory-bootstrap-429 .btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-429 .btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-bottom-left-radius:4px;border-top-left-radius:0}.factory-bootstrap-429 .btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.factory-bootstrap-429 .btn-group-vertical>.btn-group:first-child>.btn:last-child,.factory-bootstrap-429 .btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-429 .btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-429 .btn-group-justified{display:table;width:100%;border-collapse:separate;table-layout:fixed}.factory-bootstrap-429 .btn-group-justified>.btn,.factory-bootstrap-429 .btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.factory-bootstrap-429 .btn-group-justified>.btn-group .btn{width:100%}[data-toggle=buttons]>.btn>input[type=checkbox],[data-toggle=buttons]>.btn>input[type=radio]{display:none}.factory-bootstrap-429 .input-group{position:relative;display:table;border-collapse:separate}.factory-bootstrap-429 .input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.factory-bootstrap-429 .input-group .form-control{width:100%;margin-bottom:0}.factory-bootstrap-429 .input-group-lg>.form-control,.factory-bootstrap-429 .input-group-lg>.input-group-addon,.factory-bootstrap-429 .input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-429 select.input-group-lg>.form-control,.factory-bootstrap-429 select.input-group-lg>.input-group-addon,.factory-bootstrap-429 select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}.factory-bootstrap-429 textarea.input-group-lg>.form-control,.factory-bootstrap-429 textarea.input-group-lg>.input-group-addon,.factory-bootstrap-429 textarea.input-group-lg>.input-group-btn>.btn{height:auto}.factory-bootstrap-429 .input-group-sm>.form-control,.factory-bootstrap-429 .input-group-sm>.input-group-addon,.factory-bootstrap-429 .input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-429 select.input-group-sm>.form-control,.factory-bootstrap-429 select.input-group-sm>.input-group-addon,.factory-bootstrap-429 select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}.factory-bootstrap-429 textarea.input-group-sm>.form-control,.factory-bootstrap-429 textarea.input-group-sm>.input-group-addon,.factory-bootstrap-429 textarea.input-group-sm>.input-group-btn>.btn{height:auto}.factory-bootstrap-429 .input-group .form-control,.factory-bootstrap-429 .input-group-addon,.factory-bootstrap-429 .input-group-btn{display:table-cell}.factory-bootstrap-429 .input-group .form-control:not(:first-child):not(:last-child),.factory-bootstrap-429 .input-group-addon:not(:first-child):not(:last-child),.factory-bootstrap-429 .input-group-btn:not(:first-child):not(:last-child){border-radius:0}.factory-bootstrap-429 .input-group-addon,.factory-bootstrap-429 .input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.factory-bootstrap-429 .input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.factory-bootstrap-429 .input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.factory-bootstrap-429 .input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.factory-bootstrap-429 .input-group-addon input[type=checkbox],.factory-bootstrap-429 .input-group-addon input[type=radio]{margin-top:0}.factory-bootstrap-429 .input-group .form-control:first-child,.factory-bootstrap-429 .input-group-addon:first-child,.factory-bootstrap-429 .input-group-btn:first-child>.btn,.factory-bootstrap-429 .input-group-btn:first-child>.dropdown-toggle,.factory-bootstrap-429 .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-429 .input-group-addon:first-child{border-right:0}.factory-bootstrap-429 .input-group .form-control:last-child,.factory-bootstrap-429 .input-group-addon:last-child,.factory-bootstrap-429 .input-group-btn:first-child>.btn:not(:first-child),.factory-bootstrap-429 .input-group-btn:last-child>.btn,.factory-bootstrap-429 .input-group-btn:last-child>.dropdown-toggle{border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-429 .input-group-addon:last-child{border-left:0}.factory-bootstrap-429 .input-group-btn{position:relative;white-space:nowrap}.factory-bootstrap-429 .input-group-btn:first-child>.btn{margin-right:-1px}.factory-bootstrap-429 .input-group-btn:last-child>.btn{margin-left:-1px}.factory-bootstrap-429 .input-group-btn>.btn{position:relative}.factory-bootstrap-429 .input-group-btn>.btn+.btn{margin-left:-4px}.factory-bootstrap-429 .input-group-btn>.btn:active,.factory-bootstrap-429 .input-group-btn>.btn:hover{z-index:2}.factory-bootstrap-429 .nav{padding-left:0;margin-bottom:0;list-style:none}.factory-bootstrap-429 .nav:after,.factory-bootstrap-429 .nav:before{display:table;content:" "}.factory-bootstrap-429 .nav:after{clear:both}.factory-bootstrap-429 .nav>li{position:relative;display:block}.factory-bootstrap-429 .nav>li>a{position:relative;display:block;padding:10px 15px}.factory-bootstrap-429 .nav>li>a:focus,.factory-bootstrap-429 .nav>li>a:hover{text-decoration:none;background-color:#eee}.factory-bootstrap-429 .nav>li.disabled>a{color:#999}.factory-bootstrap-429 .nav>li.disabled>a:focus,.factory-bootstrap-429 .nav>li.disabled>a:hover{color:#999;text-decoration:none;cursor:not-allowed;background-color:transparent}.factory-bootstrap-429 .nav .open>a,.factory-bootstrap-429 .nav .open>a:focus,.factory-bootstrap-429 .nav .open>a:hover{background-color:#eee;border-color:#428bca}.factory-bootstrap-429 .nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.factory-bootstrap-429 .nav>li>a>img{max-width:none}.factory-bootstrap-429 .nav-tabs{border-bottom:1px solid #ddd}.factory-bootstrap-429 .nav-tabs>li{float:left;margin-bottom:-1px}.factory-bootstrap-429 .nav-tabs>li>a{margin-right:2px;line-height:1.428571429;border:1px solid transparent;border-radius:4px 4px 0 0}.factory-bootstrap-429 .nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.factory-bootstrap-429 .nav-tabs>li.active>a,.factory-bootstrap-429 .nav-tabs>li.active>a:focus,.factory-bootstrap-429 .nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.factory-bootstrap-429 .nav-tabs.nav-justified{width:100%;border-bottom:0}.factory-bootstrap-429 .nav-tabs.nav-justified>li{float:none}.factory-bootstrap-429 .nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.factory-bootstrap-429 .nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.factory-bootstrap-429 .nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.factory-bootstrap-429 .nav-tabs.nav-justified>.active>a,.factory-bootstrap-429 .nav-tabs.nav-justified>.active>a:focus,.factory-bootstrap-429 .nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.factory-bootstrap-429 .nav-pills>li{float:left}.factory-bootstrap-429 .nav-pills>li>a{border-radius:4px}.factory-bootstrap-429 .nav-pills>li+li{margin-left:2px}.factory-bootstrap-429 .nav-pills>li.active>a,.factory-bootstrap-429 .nav-pills>li.active>a:focus,.factory-bootstrap-429 .nav-pills>li.active>a:hover{color:#fff;background-color:#428bca}.factory-bootstrap-429 .nav-stacked>li{float:none}.factory-bootstrap-429 .nav-stacked>li+li{margin-top:2px;margin-left:0}.factory-bootstrap-429 .nav-justified{width:100%}.factory-bootstrap-429 .nav-justified>li{float:none}.factory-bootstrap-429 .nav-justified>li>a{margin-bottom:5px;text-align:center}.factory-bootstrap-429 .nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.factory-bootstrap-429 .nav-tabs-justified{border-bottom:0}.factory-bootstrap-429 .nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.factory-bootstrap-429 .nav-tabs-justified>.active>a,.factory-bootstrap-429 .nav-tabs-justified>.active>a:focus,.factory-bootstrap-429 .nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.factory-bootstrap-429 .tab-content>.tab-pane{display:none}.factory-bootstrap-429 .tab-content>.active{display:block}.factory-bootstrap-429 .nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-429 .navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.factory-bootstrap-429 .navbar:after,.factory-bootstrap-429 .navbar:before{display:table;content:" "}.factory-bootstrap-429 .navbar:after{clear:both}@media (min-width:768px){.navbar{border-radius:4px}}.factory-bootstrap-429 .navbar-header:after,.factory-bootstrap-429 .navbar-header:before{display:table;content:" "}.factory-bootstrap-429 .navbar-header:after{clear:both}@media (min-width:768px){.navbar-header{float:left}}.factory-bootstrap-429 .navbar-collapse{max-height:340px;padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.factory-bootstrap-429 .navbar-collapse:after,.factory-bootstrap-429 .navbar-collapse:before{display:table;content:" "}.factory-bootstrap-429 .navbar-collapse:after{clear:both}.factory-bootstrap-429 .navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.factory-bootstrap-429 .container>.navbar-collapse,.factory-bootstrap-429 .container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.factory-bootstrap-429 .navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.factory-bootstrap-429 .navbar-fixed-bottom,.factory-bootstrap-429 .navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.factory-bootstrap-429 .navbar-fixed-top{top:0;border-width:0 0 1px}.factory-bootstrap-429 .navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.factory-bootstrap-429 .navbar-brand{float:left;padding:15px;font-size:18px;line-height:20px}.factory-bootstrap-429 .navbar-brand:focus,.factory-bootstrap-429 .navbar-brand:hover{text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand{margin-left:-15px}}.factory-bootstrap-429 .navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.factory-bootstrap-429 .navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.factory-bootstrap-429 .navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.factory-bootstrap-429 .navbar-nav{margin:7.5px -15px}.factory-bootstrap-429 .navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.navbar-nav.navbar-right:last-child{margin-right:-15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important}}.factory-bootstrap-429 .navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block}.navbar-form select.form-control{width:auto}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{float:none;margin-left:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-15px}}.factory-bootstrap-429 .navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-429 .navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-429 .navbar-nav.pull-right>li>.dropdown-menu,.factory-bootstrap-429 .navbar-nav>li>.dropdown-menu.pull-right{right:0;left:auto}.factory-bootstrap-429 .navbar-btn{margin-top:8px;margin-bottom:8px}.factory-bootstrap-429 .navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.factory-bootstrap-429 .navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.factory-bootstrap-429 .navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}.navbar-text.navbar-right:last-child{margin-right:0}}.factory-bootstrap-429 .navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.factory-bootstrap-429 .navbar-default .navbar-brand{color:#777}.factory-bootstrap-429 .navbar-default .navbar-brand:focus,.factory-bootstrap-429 .navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.factory-bootstrap-429 .navbar-default .navbar-nav>li>a,.factory-bootstrap-429 .navbar-default .navbar-text{color:#777}.factory-bootstrap-429 .navbar-default .navbar-nav>li>a:focus,.factory-bootstrap-429 .navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.factory-bootstrap-429 .navbar-default .navbar-nav>.active>a,.factory-bootstrap-429 .navbar-default .navbar-nav>.active>a:focus,.factory-bootstrap-429 .navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.factory-bootstrap-429 .navbar-default .navbar-nav>.disabled>a,.factory-bootstrap-429 .navbar-default .navbar-nav>.disabled>a:focus,.factory-bootstrap-429 .navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.factory-bootstrap-429 .navbar-default .navbar-toggle{border-color:#ddd}.factory-bootstrap-429 .navbar-default .navbar-toggle:focus,.factory-bootstrap-429 .navbar-default .navbar-toggle:hover{background-color:#ddd}.factory-bootstrap-429 .navbar-default .navbar-toggle .icon-bar{background-color:#ccc}.factory-bootstrap-429 .navbar-default .navbar-collapse,.factory-bootstrap-429 .navbar-default .navbar-form{border-color:#e7e7e7}.factory-bootstrap-429 .navbar-default .navbar-nav>.open>a,.factory-bootstrap-429 .navbar-default .navbar-nav>.open>a:focus,.factory-bootstrap-429 .navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.factory-bootstrap-429 .navbar-default .navbar-link{color:#777}.factory-bootstrap-429 .navbar-default .navbar-link:hover{color:#333}.factory-bootstrap-429 .navbar-inverse{background-color:#222;border-color:#080808}.factory-bootstrap-429 .navbar-inverse .navbar-brand{color:#999}.factory-bootstrap-429 .navbar-inverse .navbar-brand:focus,.factory-bootstrap-429 .navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.factory-bootstrap-429 .navbar-inverse .navbar-nav>li>a,.factory-bootstrap-429 .navbar-inverse .navbar-text{color:#999}.factory-bootstrap-429 .navbar-inverse .navbar-nav>li>a:focus,.factory-bootstrap-429 .navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.factory-bootstrap-429 .navbar-inverse .navbar-nav>.active>a,.factory-bootstrap-429 .navbar-inverse .navbar-nav>.active>a:focus,.factory-bootstrap-429 .navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.factory-bootstrap-429 .navbar-inverse .navbar-nav>.disabled>a,.factory-bootstrap-429 .navbar-inverse .navbar-nav>.disabled>a:focus,.factory-bootstrap-429 .navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.factory-bootstrap-429 .navbar-inverse .navbar-toggle{border-color:#333}.factory-bootstrap-429 .navbar-inverse .navbar-toggle:focus,.factory-bootstrap-429 .navbar-inverse .navbar-toggle:hover{background-color:#333}.factory-bootstrap-429 .navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.factory-bootstrap-429 .navbar-inverse .navbar-collapse,.factory-bootstrap-429 .navbar-inverse .navbar-form{border-color:#101010}.factory-bootstrap-429 .navbar-inverse .navbar-nav>.open>a,.factory-bootstrap-429 .navbar-inverse .navbar-nav>.open>a:focus,.factory-bootstrap-429 .navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#999}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.factory-bootstrap-429 .navbar-inverse .navbar-link{color:#999}.factory-bootstrap-429 .navbar-inverse .navbar-link:hover{color:#fff}.factory-bootstrap-429 .breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.factory-bootstrap-429 .breadcrumb>li{display:inline-block}.factory-bootstrap-429 .breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.factory-bootstrap-429 .breadcrumb>.active{color:#999}.factory-bootstrap-429 .pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.factory-bootstrap-429 .pagination>li{display:inline}.factory-bootstrap-429 .pagination>li>a,.factory-bootstrap-429 .pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.428571429;text-decoration:none;background-color:#fff;border:1px solid #ddd}.factory-bootstrap-429 .pagination>li:first-child>a,.factory-bootstrap-429 .pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.factory-bootstrap-429 .pagination>li:last-child>a,.factory-bootstrap-429 .pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.factory-bootstrap-429 .pagination>li>a:focus,.factory-bootstrap-429 .pagination>li>a:hover,.factory-bootstrap-429 .pagination>li>span:focus,.factory-bootstrap-429 .pagination>li>span:hover{background-color:#eee}.factory-bootstrap-429 .pagination>.active>a,.factory-bootstrap-429 .pagination>.active>a:focus,.factory-bootstrap-429 .pagination>.active>a:hover,.factory-bootstrap-429 .pagination>.active>span,.factory-bootstrap-429 .pagination>.active>span:focus,.factory-bootstrap-429 .pagination>.active>span:hover{z-index:2;color:#fff;cursor:default;background-color:#1e8cbe;border-color:#0074a2}.factory-bootstrap-429 .pagination>.disabled>a,.factory-bootstrap-429 .pagination>.disabled>a:focus,.factory-bootstrap-429 .pagination>.disabled>a:hover,.factory-bootstrap-429 .pagination>.disabled>span,.factory-bootstrap-429 .pagination>.disabled>span:focus,.factory-bootstrap-429 .pagination>.disabled>span:hover{color:#999;cursor:not-allowed;background-color:#fff;border-color:#ddd}.factory-bootstrap-429 .pagination-lg>li>a,.factory-bootstrap-429 .pagination-lg>li>span{padding:10px 16px;font-size:18px}.factory-bootstrap-429 .pagination-lg>li:first-child>a,.factory-bootstrap-429 .pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.factory-bootstrap-429 .pagination-lg>li:last-child>a,.factory-bootstrap-429 .pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.factory-bootstrap-429 .pagination-sm>li>a,.factory-bootstrap-429 .pagination-sm>li>span{padding:5px 10px;font-size:12px}.factory-bootstrap-429 .pagination-sm>li:first-child>a,.factory-bootstrap-429 .pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.factory-bootstrap-429 .pagination-sm>li:last-child>a,.factory-bootstrap-429 .pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.factory-bootstrap-429 .pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.factory-bootstrap-429 .pager:after,.factory-bootstrap-429 .pager:before{display:table;content:" "}.factory-bootstrap-429 .pager:after{clear:both}.factory-bootstrap-429 .pager li{display:inline}.factory-bootstrap-429 .pager li>a,.factory-bootstrap-429 .pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.factory-bootstrap-429 .pager li>a:focus,.factory-bootstrap-429 .pager li>a:hover{text-decoration:none;background-color:#eee}.factory-bootstrap-429 .pager .next>a,.factory-bootstrap-429 .pager .next>span{float:right}.factory-bootstrap-429 .pager .previous>a,.factory-bootstrap-429 .pager .previous>span{float:left}.factory-bootstrap-429 .pager .disabled>a,.factory-bootstrap-429 .pager .disabled>a:focus,.factory-bootstrap-429 .pager .disabled>a:hover,.factory-bootstrap-429 .pager .disabled>span{color:#999;cursor:not-allowed;background-color:#fff}.factory-bootstrap-429 .label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.factory-bootstrap-429 .label[href]:focus,.factory-bootstrap-429 .label[href]:hover{color:#fff;text-decoration:none;cursor:pointer}.factory-bootstrap-429 .label:empty{display:none}.factory-bootstrap-429 .btn .label{position:relative;top:-1px}.factory-bootstrap-429 .label-default{background-color:#999}.factory-bootstrap-429 .label-default[href]:focus,.factory-bootstrap-429 .label-default[href]:hover{background-color:gray}.factory-bootstrap-429 .label-primary{background-color:#428bca}.factory-bootstrap-429 .label-primary[href]:focus,.factory-bootstrap-429 .label-primary[href]:hover{background-color:#3071a9}.factory-bootstrap-429 .label-success{background-color:#5cb85c}.factory-bootstrap-429 .label-success[href]:focus,.factory-bootstrap-429 .label-success[href]:hover{background-color:#449d44}.factory-bootstrap-429 .label-info{background-color:#5bc0de}.factory-bootstrap-429 .label-info[href]:focus,.factory-bootstrap-429 .label-info[href]:hover{background-color:#31b0d5}.factory-bootstrap-429 .label-warning{background-color:#f0ad4e}.factory-bootstrap-429 .label-warning[href]:focus,.factory-bootstrap-429 .label-warning[href]:hover{background-color:#ec971f}.factory-bootstrap-429 .label-danger{background-color:#d9534f}.factory-bootstrap-429 .label-danger[href]:focus,.factory-bootstrap-429 .label-danger[href]:hover{background-color:#c9302c}.factory-bootstrap-429 .badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#999;border-radius:10px}.factory-bootstrap-429 .badge:empty{display:none}.factory-bootstrap-429 .btn .badge{position:relative;top:-1px}.factory-bootstrap-429 a.badge:focus,.factory-bootstrap-429 a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.factory-bootstrap-429 .nav-pills>.active>a>.badge,.factory-bootstrap-429 a.list-group-item.active>.badge{color:#428bca;background-color:#fff}.factory-bootstrap-429 .nav-pills>li>a>.badge{margin-left:3px}.factory-bootstrap-429 .jumbotron{padding:30px;margin-bottom:30px;font-size:21px;font-weight:200;line-height:2.1428571435;color:inherit;background-color:#eee}.factory-bootstrap-429 .jumbotron .h1,.factory-bootstrap-429 .jumbotron h1{line-height:1;color:inherit}.factory-bootstrap-429 .jumbotron p{line-height:1.4}.factory-bootstrap-429 .container .jumbotron{border-radius:6px}.factory-bootstrap-429 .jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.factory-bootstrap-429 .thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.factory-bootstrap-429 .thumbnail a>img,.factory-bootstrap-429 .thumbnail>img{display:block;height:auto;max-width:100%;margin-right:auto;margin-left:auto}.factory-bootstrap-429 a.thumbnail.active,.factory-bootstrap-429 a.thumbnail:focus,.factory-bootstrap-429 a.thumbnail:hover{border-color:#428bca}.factory-bootstrap-429 .thumbnail .caption{padding:9px;color:#333}.factory-bootstrap-429 .alert{border:1px solid transparent;border-radius:4px}.factory-bootstrap-429 .alert h4{margin-top:0;color:inherit}.factory-bootstrap-429 .alert .alert-link{font-weight:700}.factory-bootstrap-429 .alert>p,.factory-bootstrap-429 .alert>ul{margin-bottom:0}.factory-bootstrap-429 .alert>p+p{margin-top:5px}.factory-bootstrap-429 .alert-dismissable{padding-right:35px}.factory-bootstrap-429 .alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit}.factory-bootstrap-429 .alert-info{color:#31708f;background-color:#d9edf7}.factory-bootstrap-429 .alert-info hr{border-top-color:#a6e1ec}.factory-bootstrap-429 .alert-info .alert-link{color:#245269}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.factory-bootstrap-429 .progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.factory-bootstrap-429 .progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#2ea2cc;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;transition:width .6s ease}.factory-bootstrap-429 .progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:40px 40px}.factory-bootstrap-429 .progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.factory-bootstrap-429 .progress-bar-success{background-color:#5cb85c}.factory-bootstrap-429 .progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-429 .progress-bar-info{background-color:#5bc0de}.factory-bootstrap-429 .progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-429 .progress-bar-warning{background-color:#f0ad4e}.factory-bootstrap-429 .progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-429 .progress-bar-danger{background-color:#d9534f}.factory-bootstrap-429 .progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-429 .media,.factory-bootstrap-429 .media-body{overflow:hidden;zoom:1}.factory-bootstrap-429 .media,.factory-bootstrap-429 .media .media{margin-top:15px}.factory-bootstrap-429 .media:first-child{margin-top:0}.factory-bootstrap-429 .media-object{display:block}.factory-bootstrap-429 .media-heading{margin:0 0 5px}.factory-bootstrap-429 .media>.pull-left{margin-right:10px}.factory-bootstrap-429 .media>.pull-right{margin-left:10px}.factory-bootstrap-429 .media-list{padding-left:0;list-style:none}.factory-bootstrap-429 .list-group{padding-left:0;margin-bottom:20px}.factory-bootstrap-429 .list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.factory-bootstrap-429 .list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.factory-bootstrap-429 .list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.factory-bootstrap-429 .list-group-item>.badge{float:right}.factory-bootstrap-429 .list-group-item>.badge+.badge{margin-right:5px}.factory-bootstrap-429 a.list-group-item{color:#555}.factory-bootstrap-429 a.list-group-item .list-group-item-heading{color:#333}.factory-bootstrap-429 a.list-group-item:focus,.factory-bootstrap-429 a.list-group-item:hover{text-decoration:none;background-color:#f5f5f5}.factory-bootstrap-429 a.list-group-item.active,.factory-bootstrap-429 a.list-group-item.active:focus,.factory-bootstrap-429 a.list-group-item.active:hover{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.factory-bootstrap-429 a.list-group-item.active .list-group-item-heading,.factory-bootstrap-429 a.list-group-item.active:focus .list-group-item-heading,.factory-bootstrap-429 a.list-group-item.active:hover .list-group-item-heading{color:inherit}.factory-bootstrap-429 a.list-group-item.active .list-group-item-text,.factory-bootstrap-429 a.list-group-item.active:focus .list-group-item-text,.factory-bootstrap-429 a.list-group-item.active:hover .list-group-item-text{color:#e1edf7}.factory-bootstrap-429 .list-group-item-heading{margin-top:0;margin-bottom:5px}.factory-bootstrap-429 .list-group-item-text{margin-bottom:0;line-height:1.3}.factory-bootstrap-429 .panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px}.factory-bootstrap-429 .panel-body{padding:15px}.factory-bootstrap-429 .panel-body:after,.factory-bootstrap-429 .panel-body:before{display:table;content:" "}.factory-bootstrap-429 .panel-body:after{clear:both}.factory-bootstrap-429 .panel>.list-group{margin-bottom:0}.factory-bootstrap-429 .panel>.list-group .list-group-item{border-width:1px 0}.factory-bootstrap-429 .panel>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-429 .panel>.list-group .list-group-item:last-child{border-bottom:0}.factory-bootstrap-429 .panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.factory-bootstrap-429 .panel>.table,.factory-bootstrap-429 .panel>.table-responsive>.table{margin-bottom:0}.factory-bootstrap-429 .panel>.panel-body+.table,.factory-bootstrap-429 .panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.factory-bootstrap-429 .panel>.table>tbody:first-child td,.factory-bootstrap-429 .panel>.table>tbody:first-child th{border-top:0}.factory-bootstrap-429 .panel>.table-bordered,.factory-bootstrap-429 .panel>.table-responsive>.table-bordered{border:0}.factory-bootstrap-429 .panel>.table-bordered>tbody>tr>td:first-child,.factory-bootstrap-429 .panel>.table-bordered>tbody>tr>th:first-child,.factory-bootstrap-429 .panel>.table-bordered>tfoot>tr>td:first-child,.factory-bootstrap-429 .panel>.table-bordered>tfoot>tr>th:first-child,.factory-bootstrap-429 .panel>.table-bordered>thead>tr>td:first-child,.factory-bootstrap-429 .panel>.table-bordered>thead>tr>th:first-child,.factory-bootstrap-429 .panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.factory-bootstrap-429 .panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.factory-bootstrap-429 .panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.factory-bootstrap-429 .panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.factory-bootstrap-429 .panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.factory-bootstrap-429 .panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.factory-bootstrap-429 .panel>.table-bordered>tbody>tr>td:last-child,.factory-bootstrap-429 .panel>.table-bordered>tbody>tr>th:last-child,.factory-bootstrap-429 .panel>.table-bordered>tfoot>tr>td:last-child,.factory-bootstrap-429 .panel>.table-bordered>tfoot>tr>th:last-child,.factory-bootstrap-429 .panel>.table-bordered>thead>tr>td:last-child,.factory-bootstrap-429 .panel>.table-bordered>thead>tr>th:last-child,.factory-bootstrap-429 .panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.factory-bootstrap-429 .panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.factory-bootstrap-429 .panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.factory-bootstrap-429 .panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.factory-bootstrap-429 .panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.factory-bootstrap-429 .panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.factory-bootstrap-429 .panel>.table-bordered>tbody>tr:last-child>td,.factory-bootstrap-429 .panel>.table-bordered>tbody>tr:last-child>th,.factory-bootstrap-429 .panel>.table-bordered>tfoot>tr:last-child>td,.factory-bootstrap-429 .panel>.table-bordered>tfoot>tr:last-child>th,.factory-bootstrap-429 .panel>.table-bordered>thead>tr:last-child>td,.factory-bootstrap-429 .panel>.table-bordered>thead>tr:last-child>th,.factory-bootstrap-429 .panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.factory-bootstrap-429 .panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.factory-bootstrap-429 .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.factory-bootstrap-429 .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.factory-bootstrap-429 .panel>.table-responsive>.table-bordered>thead>tr:last-child>td,.factory-bootstrap-429 .panel>.table-responsive>.table-bordered>thead>tr:last-child>th{border-bottom:0}.factory-bootstrap-429 .panel>.table-responsive{margin-bottom:0;border:0}.factory-bootstrap-429 .panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.factory-bootstrap-429 .panel-heading>.dropdown .dropdown-toggle{color:inherit}.factory-bootstrap-429 .panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.factory-bootstrap-429 .panel-title>a{color:inherit}.factory-bootstrap-429 .panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.factory-bootstrap-429 .panel-group .panel{margin-bottom:0;overflow:hidden;border-radius:4px}.factory-bootstrap-429 .panel-group .panel+.panel{margin-top:5px}.factory-bootstrap-429 .panel-group .panel-heading{border-bottom:0}.factory-bootstrap-429 .panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #ddd}.factory-bootstrap-429 .panel-group .panel-footer{border-top:0}.factory-bootstrap-429 .panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.factory-bootstrap-429 .panel-default{border-color:#ddd}.factory-bootstrap-429 .panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.factory-bootstrap-429 .panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#ddd}.factory-bootstrap-429 .panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ddd}.factory-bootstrap-429 .panel-primary{border-color:#428bca}.factory-bootstrap-429 .panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.factory-bootstrap-429 .panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#428bca}.factory-bootstrap-429 .panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#428bca}.factory-bootstrap-429 .panel-success{border-color:#d6e9c6}.factory-bootstrap-429 .panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.factory-bootstrap-429 .panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#d6e9c6}.factory-bootstrap-429 .panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6}.factory-bootstrap-429 .panel-warning{border-color:#faebcc}.factory-bootstrap-429 .panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.factory-bootstrap-429 .panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#faebcc}.factory-bootstrap-429 .panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#faebcc}.factory-bootstrap-429 .panel-danger{border-color:#ebccd1}.factory-bootstrap-429 .panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.factory-bootstrap-429 .panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#ebccd1}.factory-bootstrap-429 .panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ebccd1}.factory-bootstrap-429 .panel-info{border-color:#bce8f1}.factory-bootstrap-429 .panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.factory-bootstrap-429 .panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#bce8f1}.factory-bootstrap-429 .panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1}.factory-bootstrap-429 .well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px}.factory-bootstrap-429 .well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.factory-bootstrap-429 .well-lg{padding:24px;border-radius:6px}.factory-bootstrap-429 .well-sm{padding:9px;border-radius:3px}.factory-bootstrap-429 .close{float:right;font-size:14px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.3;filter:alpha(opacity=30)}.factory-bootstrap-429 .alert .close{position:relative;top:-8px;right:-7px}.factory-bootstrap-429 .close:focus,.factory-bootstrap-429 .close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-429 button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.factory-bootstrap-429 .modal-open{overflow:hidden}.factory-bootstrap-429 .modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;display:none;overflow:auto;overflow-y:scroll;width:auto;margin-left:0;background-color:transparent;border:0}.factory-bootstrap-429 .modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.factory-bootstrap-429 .modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}.factory-bootstrap-429 .modal-dialog{position:relative;z-index:1050;width:auto;margin:10px}.factory-bootstrap-429 .modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);background-clip:padding-box}.factory-bootstrap-429 .modal-backdrop,.factory-bootstrap-429-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1030;background-color:#000}.factory-bootstrap-429 .modal-backdrop.fade,.factory-bootstrap-429-modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.factory-bootstrap-429 .modal-backdrop.in,.factory-bootstrap-429-modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-429 .modal-header{min-height:16.428571429px;padding:15px;border-bottom:1px solid #e5e5e5}.factory-bootstrap-429 .modal-header .close{margin-top:-2px}.factory-bootstrap-429 .modal-title{margin:0;line-height:1.428571429}.factory-bootstrap-429 .modal-body{position:relative;padding:20px;max-height:none}.factory-bootstrap-429 .modal-footer{padding:19px 20px 20px;margin-top:15px;text-align:right;border-top:1px solid #e5e5e5}.factory-bootstrap-429 .modal-footer:after,.factory-bootstrap-429 .modal-footer:before{display:table;content:" "}.factory-bootstrap-429 .modal-footer:after{clear:both}.factory-bootstrap-429 .modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.factory-bootstrap-429 .modal-footer .btn-group .btn+.btn{margin-left:-1px}.factory-bootstrap-429 .modal-footer .btn-block+.btn-block{margin-left:0}@media screen and (min-width:768px){.factory-bootstrap-429 .modal-dialog{width:600px;margin:30px auto}.factory-bootstrap-429 .modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}}.factory-bootstrap-429 .tooltip{position:absolute;z-index:1030;display:block;font-size:12px;line-height:1.4;opacity:0;filter:alpha(opacity=0);visibility:visible}.factory-bootstrap-429 .tooltip.in{opacity:.9;filter:alpha(opacity=90)}.factory-bootstrap-429 .tooltip.top{padding:5px 0;margin-top:-3px}.factory-bootstrap-429 .tooltip.right{padding:0 5px;margin-left:3px}.factory-bootstrap-429 .tooltip.bottom{padding:5px 0;margin-top:3px}.factory-bootstrap-429 .tooltip.left{padding:0 5px;margin-left:-3px}.factory-bootstrap-429 .tooltip-inner{width:400px;padding:15px 20px;color:#fff;text-align:left;text-decoration:none;background-color:#673ab7;border-radius:3px}.factory-bootstrap-429 .tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.factory-bootstrap-429 .tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-429 .tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-429 .tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-429 .tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#673ab7;border-width:5px 5px 5px 0}.factory-bootstrap-429 .tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#673ab7;border-width:5px 0 5px 5px}.factory-bootstrap-429 .tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-429 .tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-429 .tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-429 .popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);background-clip:padding-box}.factory-bootstrap-429 .popover.top{margin-top:-10px}.factory-bootstrap-429 .popover.right{margin-left:10px}.factory-bootstrap-429 .popover.bottom{margin-top:10px}.factory-bootstrap-429 .popover.left{margin-left:-10px}.factory-bootstrap-429 .popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.factory-bootstrap-429 .popover-content{padding:9px 14px}.factory-bootstrap-429 .popover .arrow,.factory-bootstrap-429 .popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.factory-bootstrap-429 .popover .arrow{border-width:11px}.factory-bootstrap-429 .popover .arrow:after{border-width:10px;content:""}.factory-bootstrap-429 .popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.factory-bootstrap-429 .popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0;content:" "}.factory-bootstrap-429 .popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.factory-bootstrap-429 .popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0;content:" "}.factory-bootstrap-429 .popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);border-top-width:0}.factory-bootstrap-429 .popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0;content:" "}.factory-bootstrap-429 .popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,.25);border-right-width:0}.factory-bootstrap-429 .popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0;content:" "}.factory-bootstrap-429 .carousel{position:relative}.factory-bootstrap-429 .carousel-inner{position:relative;width:100%;overflow:hidden}.factory-bootstrap-429 .carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.factory-bootstrap-429 .carousel-inner>.item>a>img,.factory-bootstrap-429 .carousel-inner>.item>img{display:block;height:auto;max-width:100%;line-height:1}.factory-bootstrap-429 .carousel-inner>.active,.factory-bootstrap-429 .carousel-inner>.next,.factory-bootstrap-429 .carousel-inner>.prev{display:block}.factory-bootstrap-429 .carousel-inner>.active{left:0}.factory-bootstrap-429 .carousel-inner>.next,.factory-bootstrap-429 .carousel-inner>.prev{position:absolute;top:0;width:100%}.factory-bootstrap-429 .carousel-inner>.next{left:100%}.factory-bootstrap-429 .carousel-inner>.prev{left:-100%}.factory-bootstrap-429 .carousel-inner>.next.left,.factory-bootstrap-429 .carousel-inner>.prev.right{left:0}.factory-bootstrap-429 .carousel-inner>.active.left{left:-100%}.factory-bootstrap-429 .carousel-inner>.active.right{left:100%}.factory-bootstrap-429 .carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-429 .carousel-control.left{background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.5) 0),color-stop(rgba(0,0,0,.0001) 100%));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.factory-bootstrap-429 .carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.0001) 0),color-stop(rgba(0,0,0,.5) 100%));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.factory-bootstrap-429 .carousel-control:focus,.factory-bootstrap-429 .carousel-control:hover{color:#fff;text-decoration:none;outline:0;opacity:.9;filter:alpha(opacity=90)}.factory-bootstrap-429 .carousel-control .glyphicon-chevron-left,.factory-bootstrap-429 .carousel-control .glyphicon-chevron-right,.factory-bootstrap-429 .carousel-control .icon-next,.factory-bootstrap-429 .carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block}.factory-bootstrap-429 .carousel-control .glyphicon-chevron-left,.factory-bootstrap-429 .carousel-control .icon-prev{left:50%}.factory-bootstrap-429 .carousel-control .glyphicon-chevron-right,.factory-bootstrap-429 .carousel-control .icon-next{right:50%}.factory-bootstrap-429 .carousel-control .icon-next,.factory-bootstrap-429 .carousel-control .icon-prev{width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:serif}.factory-bootstrap-429 .carousel-control .icon-prev:before{content:'\2039'}.factory-bootstrap-429 .carousel-control .icon-next:before{content:'\203a'}.factory-bootstrap-429 .carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.factory-bootstrap-429 .carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.factory-bootstrap-429 .carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.factory-bootstrap-429 .carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.factory-bootstrap-429 .carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicons-chevron-left,.carousel-control .glyphicons-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-15px;margin-left:-15px;font-size:30px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.factory-bootstrap-429 .clearfix:after,.factory-bootstrap-429 .clearfix:before{display:table;content:" "}.factory-bootstrap-429 .clearfix:after{clear:both}.factory-bootstrap-429 .center-block{display:block;margin-right:auto;margin-left:auto}.factory-bootstrap-429 .pull-right{float:right!important}.factory-bootstrap-429 .pull-left{float:left!important}.factory-bootstrap-429 .hide{display:none!important}.factory-bootstrap-429 .show{display:block!important}.factory-bootstrap-429 .invisible{visibility:hidden}.factory-bootstrap-429 .text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.factory-bootstrap-429 .hidden{display:none!important;visibility:hidden!important}.factory-bootstrap-429 .affix{position:fixed}@-ms-viewport{width:device-width}.factory-bootstrap-429 .visible-lg,.factory-bootstrap-429 .visible-md,.factory-bootstrap-429 .visible-sm,.factory-bootstrap-429 .visible-xs,.factory-bootstrap-429 td.visible-lg,.factory-bootstrap-429 td.visible-md,.factory-bootstrap-429 td.visible-sm,.factory-bootstrap-429 td.visible-xs,.factory-bootstrap-429 th.visible-lg,.factory-bootstrap-429 th.visible-md,.factory-bootstrap-429 th.visible-sm,.factory-bootstrap-429 th.visible-xs,.factory-bootstrap-429 tr.visible-lg,.factory-bootstrap-429 tr.visible-md,.factory-bootstrap-429 tr.visible-sm,.factory-bootstrap-429 tr.visible-xs{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-xs.visible-sm{display:block!important}table.visible-xs.visible-sm{display:table}tr.visible-xs.visible-sm{display:table-row!important}td.visible-xs.visible-sm,th.visible-xs.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-xs.visible-md{display:block!important}table.visible-xs.visible-md{display:table}tr.visible-xs.visible-md{display:table-row!important}td.visible-xs.visible-md,th.visible-xs.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-xs.visible-lg{display:block!important}table.visible-xs.visible-lg{display:table}tr.visible-xs.visible-lg{display:table-row!important}td.visible-xs.visible-lg,th.visible-xs.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-sm.visible-xs{display:block!important}table.visible-sm.visible-xs{display:table}tr.visible-sm.visible-xs{display:table-row!important}td.visible-sm.visible-xs,th.visible-sm.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-sm.visible-md{display:block!important}table.visible-sm.visible-md{display:table}tr.visible-sm.visible-md{display:table-row!important}td.visible-sm.visible-md,th.visible-sm.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-sm.visible-lg{display:block!important}table.visible-sm.visible-lg{display:table}tr.visible-sm.visible-lg{display:table-row!important}td.visible-sm.visible-lg,th.visible-sm.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-md.visible-xs{display:block!important}table.visible-md.visible-xs{display:table}tr.visible-md.visible-xs{display:table-row!important}td.visible-md.visible-xs,th.visible-md.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-md.visible-sm{display:block!important}table.visible-md.visible-sm{display:table}tr.visible-md.visible-sm{display:table-row!important}td.visible-md.visible-sm,th.visible-md.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-md.visible-lg{display:block!important}table.visible-md.visible-lg{display:table}tr.visible-md.visible-lg{display:table-row!important}td.visible-md.visible-lg,th.visible-md.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-lg.visible-xs{display:block!important}table.visible-lg.visible-xs{display:table}tr.visible-lg.visible-xs{display:table-row!important}td.visible-lg.visible-xs,th.visible-lg.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-lg.visible-sm{display:block!important}table.visible-lg.visible-sm{display:table}tr.visible-lg.visible-sm{display:table-row!important}td.visible-lg.visible-sm,th.visible-lg.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-lg.visible-md{display:block!important}table.visible-lg.visible-md{display:table}tr.visible-lg.visible-md{display:table-row!important}td.visible-lg.visible-md,th.visible-lg.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}.factory-bootstrap-429 .hidden-xs{display:block!important}.factory-bootstrap-429 table.hidden-xs{display:table}.factory-bootstrap-429 tr.hidden-xs{display:table-row!important}.factory-bootstrap-429 td.hidden-xs,.factory-bootstrap-429 th.hidden-xs{display:table-cell!important}@media (max-width:767px){.hidden-xs,td.hidden-xs,th.hidden-xs,tr.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-xs.hidden-sm,td.hidden-xs.hidden-sm,th.hidden-xs.hidden-sm,tr.hidden-xs.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-xs.hidden-md,td.hidden-xs.hidden-md,th.hidden-xs.hidden-md,tr.hidden-xs.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-xs.hidden-lg,td.hidden-xs.hidden-lg,th.hidden-xs.hidden-lg,tr.hidden-xs.hidden-lg{display:none!important}}.factory-bootstrap-429 .hidden-sm{display:block!important}.factory-bootstrap-429 table.hidden-sm{display:table}.factory-bootstrap-429 tr.hidden-sm{display:table-row!important}.factory-bootstrap-429 td.hidden-sm,.factory-bootstrap-429 th.hidden-sm{display:table-cell!important}@media (max-width:767px){.hidden-sm.hidden-xs,td.hidden-sm.hidden-xs,th.hidden-sm.hidden-xs,tr.hidden-sm.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm,td.hidden-sm,th.hidden-sm,tr.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-sm.hidden-md,td.hidden-sm.hidden-md,th.hidden-sm.hidden-md,tr.hidden-sm.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-sm.hidden-lg,td.hidden-sm.hidden-lg,th.hidden-sm.hidden-lg,tr.hidden-sm.hidden-lg{display:none!important}}.factory-bootstrap-429 .hidden-md{display:block!important}.factory-bootstrap-429 table.hidden-md{display:table}.factory-bootstrap-429 tr.hidden-md{display:table-row!important}.factory-bootstrap-429 td.hidden-md,.factory-bootstrap-429 th.hidden-md{display:table-cell!important}@media (max-width:767px){.hidden-md.hidden-xs,td.hidden-md.hidden-xs,th.hidden-md.hidden-xs,tr.hidden-md.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-md.hidden-sm,td.hidden-md.hidden-sm,th.hidden-md.hidden-sm,tr.hidden-md.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md,td.hidden-md,th.hidden-md,tr.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-md.hidden-lg,td.hidden-md.hidden-lg,th.hidden-md.hidden-lg,tr.hidden-md.hidden-lg{display:none!important}}.factory-bootstrap-429 .hidden-lg{display:block!important}.factory-bootstrap-429 table.hidden-lg{display:table}.factory-bootstrap-429 tr.hidden-lg{display:table-row!important}.factory-bootstrap-429 td.hidden-lg,.factory-bootstrap-429 th.hidden-lg{display:table-cell!important}@media (max-width:767px){.factory-bootstrap-429 .hidden-lg.hidden-xs,.factory-bootstrap-429 td.hidden-lg.hidden-xs,.factory-bootstrap-429 th.hidden-lg.hidden-xs,.factory-bootstrap-429 tr.hidden-lg.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.factory-bootstrap-429 .hidden-lg.hidden-sm,.factory-bootstrap-429 td.hidden-lg.hidden-sm,.factory-bootstrap-429 th.hidden-lg.hidden-sm,.factory-bootstrap-429 tr.hidden-lg.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.factory-bootstrap-429 .hidden-lg.hidden-md,.factory-bootstrap-429 td.hidden-lg.hidden-md,.factory-bootstrap-429 th.hidden-lg.hidden-md,.factory-bootstrap-429 tr.hidden-lg.hidden-md{display:none!important}}@media (min-width:1200px){.factory-bootstrap-429 .hidden-lg,.factory-bootstrap-429 td.hidden-lg,.factory-bootstrap-429 th.hidden-lg,.factory-bootstrap-429 tr.hidden-lg{display:none!important}}.factory-bootstrap-429 .visible-print,.factory-bootstrap-429 td.visible-print,.factory-bootstrap-429 th.visible-print,.factory-bootstrap-429 tr.visible-print{display:none!important}@media print{.factory-bootstrap-429 .visible-print{display:block!important}.factory-bootstrap-429 table.visible-print{display:table}.factory-bootstrap-429 tr.visible-print{display:table-row!important}.factory-bootstrap-429 td.visible-print,.factory-bootstrap-429 th.visible-print{display:table-cell!important}.factory-bootstrap-429 .hidden-print,.factory-bootstrap-429 td.hidden-print,.factory-bootstrap-429 th.hidden-print,.factory-bootstrap-429 tr.hidden-print{display:none!important}}/*!
12
+ * Factory Default Bootstrap Theme
13
+ *
14
+ * The code is based on Bootstrap v2.1.1
15
+ *
16
+ * Bootstrap v3.0.3 (http://getbootstrap.com)
17
+ * Copyright 2013 Twitter, Inc.
18
+ * Licensed under http://www.apache.org/licenses/LICENSE-2.0
19
+ *
20
+ * @author Paul Kashtanoff <paul@byonepress.com>
21
+ * @copyright (c) 2013, OnePress Ltd
22
+ *
23
+ * @package factory-bootstrap
24
+ * @since 1.0.0
25
+ */.factory-bootstrap-429 .btn-danger,.factory-bootstrap-429 .btn-default,.factory-bootstrap-429 .btn-info,.factory-bootstrap-429 .btn-primary,.factory-bootstrap-429 .btn-success,.factory-bootstrap-429 .btn-warning{-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-429 .btn-danger.active,.factory-bootstrap-429 .btn-danger:active,.factory-bootstrap-429 .btn-default.active,.factory-bootstrap-429 .btn-default:active,.factory-bootstrap-429 .btn-info.active,.factory-bootstrap-429 .btn-info:active,.factory-bootstrap-429 .btn-primary.active,.factory-bootstrap-429 .btn-primary:active,.factory-bootstrap-429 .btn-success.active,.factory-bootstrap-429 .btn-success:active,.factory-bootstrap-429 .btn-warning.active,.factory-bootstrap-429 .btn-warning:active{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.1);box-shadow:inset 0 1px 1px rgba(0,0,0,.1)}.factory-bootstrap-429 .btn.active,.factory-bootstrap-429 .btn:active{background-image:none}.factory-bootstrap-429 .btn-default{color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);vertical-align:top}.factory-bootstrap-429 .btn-default.active,.factory-bootstrap-429 .btn-default:active{background-color:#fff;border-color:#dbdbdb}.factory-bootstrap-429 .btn-gold{font-weight:700;padding:7px 12px;cursor:pointer;line-height:16px;display:inline-block;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;box-shadow:#e3e3e3 0 1px 1px;-moz-box-shadow:0 1px 1px rgba(000,000,000,.1),inset 0 1px 1px rgba(255,255,255,.7);-webkit-box-shadow:0 1px 1px rgba(000,000,000,.1),inset 0 1px 1px rgba(255,255,255,.7);text-shadow:1px 1px 0 #ffe8b2;color:#7c5d1b;border:1px solid #d6a437;background:#feeb80}.factory-bootstrap-429 .btn-gold:focus,.factory-bootstrap-429 .btn-gold:hover{background:#fef0a1}.factory-bootstrap-429 .btn-gold.active,.factory-bootstrap-429 .btn-gold:active{background:#fef0a1;-webkit-box-shadow:inset 0 3px 8px 0 #f8ba36;box-shadow:inset 0 3px 8px 0 #f8ba36}.factory-bootstrap-429 .btn-primary{background:#2ea2cc;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);color:#fff;text-decoration:none}.factory-bootstrap-429 .btn-primary:focus,.factory-bootstrap-429 .btn-primary:hover{background:#1e8cbe;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6);box-shadow:inset 0 1px 0 rgba(120,200,230,.6);color:#fff}.factory-bootstrap-429 .btn-primary.active,.factory-bootstrap-429 .btn-primary:active{background-color:#2d6ca2;border-color:#2b669a}.factory-bootstrap-429 .btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);background-repeat:repeat-x;border-color:#3e8f3e;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-429 .btn-success:focus,.factory-bootstrap-429 .btn-success:hover{background-color:#419641;background-position:0 -15px}.factory-bootstrap-429 .btn-success.active,.factory-bootstrap-429 .btn-success:active{background-color:#419641;border-color:#3e8f3e}.factory-bootstrap-429 .btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);background-repeat:repeat-x;border-color:#e38d13;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-429 .btn-warning:focus,.factory-bootstrap-429 .btn-warning:hover{background-color:#eb9316;background-position:0 -15px}.factory-bootstrap-429 .btn-warning.active,.factory-bootstrap-429 .btn-warning:active{background-color:#eb9316;border-color:#e38d13}.factory-bootstrap-429 .btn-danger{color:#fff;background:#d9534f;border-color:#d43f3a}.factory-bootstrap-429 .btn-danger.active,.factory-bootstrap-429 .btn-danger:active,.factory-bootstrap-429 .btn-danger:focus,.factory-bootstrap-429 .btn-danger:hover,.factory-bootstrap-429 .open .dropdown-toggle.btn-danger{color:#fff;background-color:#d2322d;border-color:#ac2925}.factory-bootstrap-429 .btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);background-repeat:repeat-x;border-color:#28a4c9;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-429 .btn-info:focus,.factory-bootstrap-429 .btn-info:hover{background-color:#2aabd2;background-position:0 -15px}.factory-bootstrap-429 .btn-info.active,.factory-bootstrap-429 .btn-info:active{background-color:#2aabd2;border-color:#28a4c9}.factory-bootstrap-429 .img-thumbnail,.factory-bootstrap-429 .thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.factory-bootstrap-429 .dropdown-menu>li>a:focus,.factory-bootstrap-429 .dropdown-menu>li>a:hover{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0)}.factory-bootstrap-429 .dropdown-menu>.active>a,.factory-bootstrap-429 .dropdown-menu>.active>a:focus,.factory-bootstrap-429 .dropdown-menu>.active>a:hover{background-color:#357ebd;background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0)}.factory-bootstrap-429 .navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);background-repeat:repeat-x;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.factory-bootstrap-429 .navbar-default .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f3f3f3 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f3f3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff3f3f3', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.factory-bootstrap-429 .navbar-brand,.factory-bootstrap-429 .navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.factory-bootstrap-429 .navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-429 .navbar-inverse .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#222 0,#282828 100%);background-image:linear-gradient(to bottom,#222 0,#282828 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff282828', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.factory-bootstrap-429 .navbar-inverse .navbar-brand,.factory-bootstrap-429 .navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.factory-bootstrap-429 .navbar-fixed-bottom,.factory-bootstrap-429 .navbar-fixed-top,.factory-bootstrap-429 .navbar-static-top{border-radius:0}.factory-bootstrap-429 .alert{-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.factory-bootstrap-429 .alert .actions{padding-top:10px}.factory-bootstrap-429 .alert-success{color:#3c763d;background-color:#dff0d8;border-bottom:2px solid #c8e5bc}.factory-bootstrap-429 .alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);background-repeat:repeat-x;border-color:#9acfea;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0)}.factory-bootstrap-429 .alert{text-shadow:none;box-shadow:none;margin:0;margin-top:10px;margin-bottom:10px;padding:10px}.factory-bootstrap-429 .alert-normal,.factory-bootstrap-429 .alert-warning{background:#fcf8e3;color:#8a6d3b;border:1px solid #b8823b}.factory-bootstrap-429 .alert-danger{background:#cf4944;color:#fff;border-bottom:2px solid #b23e3a}.factory-bootstrap-429 .alert-danger a:not(.btn),.factory-bootstrap-429 .alert-error a:not(.btn){color:#fff}.factory-bootstrap-429 .progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0)}.factory-bootstrap-429 .progress-bar{background-image:-webkit-linear-gradient(top,#428bca 0,#3071a9 100%);background-image:linear-gradient(to bottom,#428bca 0,#3071a9 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0)}.factory-bootstrap-429 .progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0)}.factory-bootstrap-429 .progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0)}.factory-bootstrap-429 .progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0)}.factory-bootstrap-429 .progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0)}.factory-bootstrap-429 .list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.factory-bootstrap-429 .list-group-item.active,.factory-bootstrap-429 .list-group-item.active:focus,.factory-bootstrap-429 .list-group-item.active:hover{text-shadow:0 -1px 0 #3071a9;background-image:-webkit-linear-gradient(top,#428bca 0,#3278b3 100%);background-image:linear-gradient(to bottom,#428bca 0,#3278b3 100%);background-repeat:repeat-x;border-color:#3278b3;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0)}.factory-bootstrap-429 .panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.factory-bootstrap-429 .panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0)}.factory-bootstrap-429 .panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0)}.factory-bootstrap-429 .panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0)}.factory-bootstrap-429 .panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0)}.factory-bootstrap-429 .panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0)}.factory-bootstrap-429 .panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0)}.factory-bootstrap-429 .well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);background-repeat:repeat-x;border-color:#dcdcdc;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)}.factory-bootstrap-429 .factory-after{margin-left:7px;display:inline-block}.factory-bootstrap-429 .factory-hidden{display:none}.factory-bootstrap-429 .factory-ajax-loader{width:25px;height:25px;background:url(../assets/images/loader-sm-tr.gif)}.factory-control-error{background-color:rgba(0,0,0,.8);white-space:normal;z-index:10;font-weight:400;line-height:150%;border-radius:4px;color:#fff;font-size:13px;margin-top:5px;padding:4px 10px 3px;max-width:500px;display:inline-block}.factory-control-error i{margin:0 7px 0 1px}
26
+ /*!
27
+ * Bootstrap generator - v1.0.1, 2018-02-26
28
+ * Webcraftic factory build
29
+ *
30
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
31
+ * Site: http://webcraftic.com
32
+ * Support: http://webcraftic.com/contact-us/
33
+ */
34
+
35
+
36
+ .factory-bootstrap-429 .factory-form-group .factory-legend{padding:9px 12px;background-color:#f9f9f9}.factory-bootstrap-429 .factory-form-group .factory-title{font-weight:700;font-size:14px;line-height:14px;color:#555;margin:0}.factory-bootstrap-429 .factory-form-group .factory-hint-icon{display:block;width:16px;height:16px;line-height:13px;padding:0;font-size:11px;text-align:center;position:absolute;top:-5px;right:-3px;color:#fff;background:#E91E63;border-radius:3px}.factory-bootstrap-429 .factory-form-group .factory-hint-icon.factory-hint-icon-green{background:#8bc34a}.factory-bootstrap-429 .factory-form-group .factory-hint-icon.factory-hint-icon-grey{background:#9e9e9e}.factory-bootstrap-429 .factory-form-group .factory-hint-icon.factory-hint-icon-red{background:#E91E63}.factory-bootstrap-429 .factory-form-group .factory-hint{margin:0;font-size:12px;line-height:16px;margin-top:6px}.factory-bootstrap-429 .factory-form-group+.factory-form-group{margin-top:30px}.factory-bootstrap-429 .factory-form-group legend+.control-group{margin-top:0}
37
+ /*!
38
+ * Bootstrap generator - v1.0.1, 2018-02-26
39
+ * Webcraftic factory build
40
+ *
41
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
42
+ * Site: http://webcraftic.com
43
+ * Support: http://webcraftic.com/contact-us/
44
+ */
45
+
46
+
47
+ .factory-bootstrap-429 .factory-separator{border-bottom:1px solid #f9f9f9;border-top:1px solid #d1d1d1;margin-bottom:25px}
48
+ /*!
49
+ * Bootstrap generator - v1.0.1, 2018-02-26
50
+ * Webcraftic factory build
51
+ *
52
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
53
+ * Site: http://webcraftic.com
54
+ * Support: http://webcraftic.com/contact-us/
55
+ */
56
+
57
+
58
+ .factory-bootstrap-429 .factory-dropdown.factory-buttons-way .fa{margin-right:6px;position:relative}.factory-bootstrap-429 .factory-dropdown.factory-buttons-way{border:0;border-radius:0}.factory-bootstrap-429 .factory-hints .factory-hint{margin-top:5px;display:inline-block;background-color:#ffd;padding:1px 5px}.admin-color-light .factory-bootstrap-429 .factory-dropdown.factory-buttons-way .active{background-color:#04a4cc;-webkit-box-shadow:inset 0 1px 2px #037c9a;box-shadow:inset 0 1px 2px #037c9a;border-top:1px solid #037c9a;border-bottom:1px solid #037c9a;border-left:1px solid #037c9a}.admin-color-blue .factory-bootstrap-429 .factory-dropdown.factory-buttons-way .active{background-color:#e1a948;-webkit-box-shadow:inset 0 1px 2px #d39323;box-shadow:inset 0 1px 2px #d39323;border-top:1px solid #d39323;border-bottom:1px solid #d39323;border-left:1px solid #d39323}.admin-color-coffee .factory-bootstrap-429 .factory-dropdown.factory-buttons-way .active{background-color:#c7a589;-webkit-box-shadow:inset 0 1px 2px #b78a66;box-shadow:inset 0 1px 2px #b78a66;border-top:1px solid #b78a66;border-bottom:1px solid #b78a66;border-left:1px solid #b78a66}.admin-color-ectoplasm .factory-bootstrap-429 .factory-dropdown.factory-buttons-way .active{background-color:#a3b745;-webkit-box-shadow:inset 0 1px 2px #839237;box-shadow:inset 0 1px 2px #839237;border-top:1px solid #839237;border-bottom:1px solid #839237;border-left:1px solid #839237}.admin-color-midnight .factory-bootstrap-429 .factory-dropdown.factory-buttons-way .active{background-color:#e14d43;-webkit-box-shadow:inset 0 1px 2px #d02a21;box-shadow:inset 0 1px 2px #d02a21;border-top:1px solid #d02a21;border-bottom:1px solid #d02a21;border-left:1px solid #d02a21}.admin-color-ocean .factory-bootstrap-429 .factory-dropdown.factory-buttons-way .active{background-color:#9ebaa0;-webkit-box-shadow:inset 0 1px 2px #80a583;box-shadow:inset 0 1px 2px #80a583;border-top:1px solid #80a583;border-bottom:1px solid #80a583;border-left:1px solid #80a583}.admin-color-sunrise .factory-bootstrap-429 .factory-dropdown.factory-buttons-way .active{background-color:#dd823b;-webkit-box-shadow:inset 0 1px 2px #c36822;box-shadow:inset 0 1px 2px #c36822;border-top:1px solid #c36822;border-bottom:1px solid #c36822;border-left:1px solid #c36822}.factory-bootstrap-429 .factory-dropdown.factory-ddslick-way .dd-select{background-color:#fff!important}.factory-bootstrap-429 .factory-dropdown.factory-ddslick-way label{margin-bottom:1px}.factory-bootstrap-429 .factory-dropdown.factory-ddslick-way .dd-option,.factory-bootstrap-429 .factory-dropdown.factory-ddslick-way .dd-selected{padding:8px 12px 8px 11px!important}
59
+ /*!
60
+ * Bootstrap generator - v1.0.1, 2018-02-26
61
+ * Webcraftic factory build
62
+ *
63
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
64
+ * Site: http://webcraftic.com
65
+ * Support: http://webcraftic.com/contact-us/
66
+ */
67
+
68
+
69
+ #side-sortables .factory-bootstrap-429 .factory-buttons-way{float:right;position:relative;top:-25px;left:5px;border:3px solid #f9f9f9;border-radius:4px}.factory-bootstrap-429 .factory-buttons-way{border:3px solid #f9f9f9;border-radius:4px}.factory-bootstrap-429 .factory-buttons-way button{padding-left:10px;padding-right:10px}.factory-bootstrap-429 .factory-buttons-way .factory-on.active{text-shadow:none;color:#fff;background-color:#33aad5;-webkit-box-shadow:inset 0 1px 1px #0074a2;box-shadow:inset 0 1px 3px #0074a2;border-top:1px solid #0074a2;border-bottom:1px solid #0074a2;border-left:1px solid #0074a2}.factory-bootstrap-429 .factory-checkbox-tumbler-hint{margin-top:5px}.factory-bootstrap-429 .factory-checkbox-tumbler-hint .factory-tumbler-content{display:inline-block;background-color:#ffd;padding:1px 5px}.admin-color-light .factory-bootstrap-429 .factory-buttons-way .factory-on.active{background-color:#04a4cc;-webkit-box-shadow:inset 0 1px 2px #037c9a;box-shadow:inset 0 1px 2px #037c9a;border-top:1px solid #037c9a;border-bottom:1px solid #037c9a;border-left:1px solid #037c9a}.admin-color-blue .factory-bootstrap-429 .factory-buttons-way .factory-on.active{background-color:#e1a948;-webkit-box-shadow:inset 0 1px 2px #d39323;box-shadow:inset 0 1px 2px #d39323;border-top:1px solid #d39323;border-bottom:1px solid #d39323;border-left:1px solid #d39323}.admin-color-coffee .factory-bootstrap-429 .factory-buttons-way .factory-on.active{background-color:#c7a589;-webkit-box-shadow:inset 0 1px 2px #b78a66;box-shadow:inset 0 1px 2px #b78a66;border-top:1px solid #b78a66;border-bottom:1px solid #b78a66;border-left:1px solid #b78a66}.admin-color-ectoplasm .factory-bootstrap-429 .factory-buttons-way .factory-on.active{background-color:#a3b745;-webkit-box-shadow:inset 0 1px 2px #839237;box-shadow:inset 0 1px 2px #839237;border-top:1px solid #839237;border-bottom:1px solid #839237;border-left:1px solid #839237}.admin-color-midnight .factory-bootstrap-429 .factory-buttons-way .factory-on.active{background-color:#e14d43;-webkit-box-shadow:inset 0 1px 2px #d02a21;box-shadow:inset 0 1px 2px #d02a21;border-top:1px solid #d02a21;border-bottom:1px solid #d02a21;border-left:1px solid #d02a21}.admin-color-ocean .factory-bootstrap-429 .factory-buttons-way .factory-on.active{background-color:#9ebaa0;-webkit-box-shadow:inset 0 1px 2px #80a583;box-shadow:inset 0 1px 2px #80a583;border-top:1px solid #80a583;border-bottom:1px solid #80a583;border-left:1px solid #80a583}.admin-color-sunrise .factory-bootstrap-429 .factory-buttons-way .factory-on.active{background-color:#dd823b;-webkit-box-shadow:inset 0 1px 2px #c36822;box-shadow:inset 0 1px 2px #c36822;border-top:1px solid #c36822;border-bottom:1px solid #c36822;border-left:1px solid #c36822}
libs/factory/bootstrap/assets/css-min/bootstrap.accordion.min.css CHANGED
@@ -8,4 +8,4 @@
8
  */
9
 
10
 
11
- .factory-bootstrap-428 .factory-accordion{margin:0 0 30px;border-top:1px solid #DDD;border-right:1px solid #DDD;border-left:1px solid #DDD;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.factory-bootstrap-428 .factory-accordion>h3{border-bottom:1px solid #DDD;cursor:pointer;padding:8px 15px;margin:0}.factory-bootstrap-428 .factory-accordion>div{display:none;margin:0;border-bottom:1px solid #DDD}.factory-bootstrap-428 .factory-accordion-item{display:none}.factory-bootstrap-428 .inner-factory-accordion-item{padding:10px 0}.factory-bootstrap-428 .factory-accordion>h3.active:hover{cursor:default}
8
  */
9
 
10
 
11
+ .factory-bootstrap-429 .factory-accordion{margin:0 0 30px;border-top:1px solid #DDD;border-right:1px solid #DDD;border-left:1px solid #DDD;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.factory-bootstrap-429 .factory-accordion>h3{border-bottom:1px solid #DDD;cursor:pointer;padding:8px 15px;margin:0}.factory-bootstrap-429 .factory-accordion>div{display:none;margin:0;border-bottom:1px solid #DDD}.factory-bootstrap-429 .factory-accordion-item{display:none}.factory-bootstrap-429 .inner-factory-accordion-item{padding:10px 0}.factory-bootstrap-429 .factory-accordion>h3.active:hover{cursor:default}
libs/factory/bootstrap/assets/css-min/bootstrap.blue.min.css CHANGED
@@ -8,4 +8,4 @@
8
  */
9
 
10
 
11
- .factory-bootstrap-428 .btn-primary{background:#e1a948;border-color:#d39323;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-428 .btn-primary:focus,.factory-bootstrap-428 .btn-primary:hover{background:#db9825;border-color:#bd831f;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8be74,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8be74,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-428 .btn-primary:active{background:#db9825;border-color:#bd831f;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-428 .btn-primary:disabled,.factory-bootstrap-428 .btn-primary[disabled]{color:#d1cdc7!important;background:#db9825!important;border-color:#bd831f!important;text-shadow:none!important}.factory-bootstrap-428 .btn-group .btn.active.value{background-color:#e1a948;-webkit-box-shadow:inset 0 1px 2px #d39323;box-shadow:inset 0 1px 2px #d39323;border-top:1px solid #d39323;border-bottom:1px solid #d39323;border-left:1px solid #d39323}.factory-bootstrap-428 .pagination>.active>a,.factory-bootstrap-428 .pagination>.active>a:focus,.factory-bootstrap-428 .pagination>.active>a:hover,.factory-bootstrap-428 .pagination>.active>span,.factory-bootstrap-428 .pagination>.active>span:focus,.factory-bootstrap-428 .pagination>.active>span:hover{background-color:#e1a948;border-color:#d39323}
8
  */
9
 
10
 
11
+ .factory-bootstrap-429 .btn-primary{background:#e1a948;border-color:#d39323;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-429 .btn-primary:focus,.factory-bootstrap-429 .btn-primary:hover{background:#db9825;border-color:#bd831f;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8be74,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8be74,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-429 .btn-primary:active{background:#db9825;border-color:#bd831f;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-429 .btn-primary:disabled,.factory-bootstrap-429 .btn-primary[disabled]{color:#d1cdc7!important;background:#db9825!important;border-color:#bd831f!important;text-shadow:none!important}.factory-bootstrap-429 .btn-group .btn.active.value{background-color:#e1a948;-webkit-box-shadow:inset 0 1px 2px #d39323;box-shadow:inset 0 1px 2px #d39323;border-top:1px solid #d39323;border-bottom:1px solid #d39323;border-left:1px solid #d39323}.factory-bootstrap-429 .pagination>.active>a,.factory-bootstrap-429 .pagination>.active>a:focus,.factory-bootstrap-429 .pagination>.active>a:hover,.factory-bootstrap-429 .pagination>.active>span,.factory-bootstrap-429 .pagination>.active>span:focus,.factory-bootstrap-429 .pagination>.active>span:hover{background-color:#e1a948;border-color:#d39323}
libs/factory/bootstrap/assets/css-min/bootstrap.coffee.min.css CHANGED
@@ -8,4 +8,4 @@
8
  */
9
 
10
 
11
- .factory-bootstrap-428 .btn-primary{background:#c7a589;border-color:#b78a66;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-428 .btn-primary:focus,.factory-bootstrap-428 .btn-primary:hover{background:#ba906d;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 1px 0 #d7bfac,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #d7bfac,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-428 .btn-primary:active{background:#ba906d;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-428 .btn-primary:disabled,.factory-bootstrap-428 .btn-primary[disabled]{color:#d1cbc7!important;background:#ba906d!important;border-color:#ae7d55!important;text-shadow:none!important}.factory-bootstrap-428 .btn-group .btn.active.value{background-color:#c7a589;-webkit-box-shadow:inset 0 1px 2px #b78a66;box-shadow:inset 0 1px 2px #b78a66;border-top:1px solid #b78a66;border-bottom:1px solid #b78a66;border-left:1px solid #b78a66}.factory-bootstrap-428 .pagination>.active>a,.factory-bootstrap-428 .pagination>.active>a:focus,.factory-bootstrap-428 .pagination>.active>a:hover,.factory-bootstrap-428 .pagination>.active>span,.factory-bootstrap-428 .pagination>.active>span:focus,.factory-bootstrap-428 .pagination>.active>span:hover{background-color:#c7a589;border-color:#b78a66}
8
  */
9
 
10
 
11
+ .factory-bootstrap-429 .btn-primary{background:#c7a589;border-color:#b78a66;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-429 .btn-primary:focus,.factory-bootstrap-429 .btn-primary:hover{background:#ba906d;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 1px 0 #d7bfac,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #d7bfac,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-429 .btn-primary:active{background:#ba906d;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-429 .btn-primary:disabled,.factory-bootstrap-429 .btn-primary[disabled]{color:#d1cbc7!important;background:#ba906d!important;border-color:#ae7d55!important;text-shadow:none!important}.factory-bootstrap-429 .btn-group .btn.active.value{background-color:#c7a589;-webkit-box-shadow:inset 0 1px 2px #b78a66;box-shadow:inset 0 1px 2px #b78a66;border-top:1px solid #b78a66;border-bottom:1px solid #b78a66;border-left:1px solid #b78a66}.factory-bootstrap-429 .pagination>.active>a,.factory-bootstrap-429 .pagination>.active>a:focus,.factory-bootstrap-429 .pagination>.active>a:hover,.factory-bootstrap-429 .pagination>.active>span,.factory-bootstrap-429 .pagination>.active>span:focus,.factory-bootstrap-429 .pagination>.active>span:hover{background-color:#c7a589;border-color:#b78a66}
libs/factory/bootstrap/assets/css-min/bootstrap.core.min.css CHANGED
@@ -8,7 +8,7 @@
8
  */
9
 
10
 
11
- .factory-bootstrap-428 article,.factory-bootstrap-428 aside,.factory-bootstrap-428 details,.factory-bootstrap-428 figcaption,.factory-bootstrap-428 figure,.factory-bootstrap-428 footer,.factory-bootstrap-428 header,.factory-bootstrap-428 hgroup,.factory-bootstrap-428 main,.factory-bootstrap-428 nav,.factory-bootstrap-428 section,.factory-bootstrap-428 summary{display:block}.factory-bootstrap-428 audio,.factory-bootstrap-428 canvas,.factory-bootstrap-428 video{display:inline-block}.factory-bootstrap-428 audio:not([controls]){display:none;height:0}.factory-bootstrap-428 [hidden],.factory-bootstrap-428 template{display:none}.factory-bootstrap-428 body{margin:0}.factory-bootstrap-428 a{background:0 0}.factory-bootstrap-428 a:focus{outline:thin dotted}.factory-bootstrap-428 a:active,.factory-bootstrap-428 a:hover{outline:0}.factory-bootstrap-428 h1{margin:.67em 0}.factory-bootstrap-428 b,.factory-bootstrap-428 strong{font-weight:700}.factory-bootstrap-428 dfn{font-style:italic}.factory-bootstrap-428 hr{height:0;-moz-box-sizing:content-box;box-sizing:content-box}.factory-bootstrap-428 mark{color:#000;background:#ff0}.factory-bootstrap-428 code,.factory-bootstrap-428 kbd,.factory-bootstrap-428 pre,.factory-bootstrap-428 samp{font-size:1em}.factory-bootstrap-428 pre{white-space:pre-wrap}.factory-bootstrap-428 q{quotes:"\201C" "\201D" "\2018" "\2019"}.factory-bootstrap-428 sub,.factory-bootstrap-428 sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}.factory-bootstrap-428 sup{top:-.5em}.factory-bootstrap-428 sub{bottom:-.25em}.factory-bootstrap-428 img{border:0}.factory-bootstrap-428 svg:not(:root){overflow:hidden}.factory-bootstrap-428 figure{margin:0}.factory-bootstrap-428 button,.factory-bootstrap-428 input,.factory-bootstrap-428 select,.factory-bootstrap-428 textarea{margin:0}.factory-bootstrap-428 button,.factory-bootstrap-428 select{text-transform:none}.factory-bootstrap-428 select{padding-right:4px!important}.factory-bootstrap-428 button,.factory-bootstrap-428 input[type=reset],.factory-bootstrap-428 input[type=submit],html .factory-bootstrap-428 input[type=button]{cursor:pointer;-webkit-appearance:button}.factory-bootstrap-428 button[disabled],html .factory-bootstrap-428 input[disabled]{cursor:default}.factory-bootstrap-428 input[type=checkbox],.factory-bootstrap-428 input[type=radio]{padding:0;box-sizing:border-box}.factory-bootstrap-428 input[type=search]{-webkit-appearance:textfield}.factory-bootstrap-428 input[type=search]::-webkit-search-cancel-button,.factory-bootstrap-428 input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.factory-bootstrap-428 button::-moz-focus-inner,.factory-bootstrap-428 input::-moz-focus-inner{padding:0;border:0}.factory-bootstrap-428 textarea{overflow:auto;vertical-align:top}.factory-bootstrap-428 table{border-collapse:collapse;border-spacing:0}@media print{.factory-bootstrap-428 *{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}.factory-bootstrap-428 a,.factory-bootstrap-428 a:visited{text-decoration:underline}.factory-bootstrap-428 a[href]:after{content:" (" attr(href) ")"}.factory-bootstrap-428 abbr[title]:after{content:" (" attr(title) ")"}.factory-bootstrap-428 a[href^="javascript:"]:after,.factory-bootstrap-428 a[href^="#"]:after{content:""}.factory-bootstrap-428 blockquote,.factory-bootstrap-428 pre{border:1px solid #999;page-break-inside:avoid}.factory-bootstrap-428 thead{display:table-header-group}.factory-bootstrap-428 img,.factory-bootstrap-428 tr{page-break-inside:avoid}.factory-bootstrap-428 img{max-width:100%!important}@page{margin:2cm .5cm}.factory-bootstrap-428 h2,.factory-bootstrap-428 h3,.factory-bootstrap-428 p{orphans:3;widows:3}.factory-bootstrap-428 h2,.factory-bootstrap-428 h3{page-break-after:avoid}.factory-bootstrap-428 select{background:#fff!important}.factory-bootstrap-428 .navbar{display:none}.factory-bootstrap-428 .table td,.factory-bootstrap-428 .table th{background-color:#fff!important}.factory-bootstrap-428 .btn>.caret,.factory-bootstrap-428 .dropup>.btn>.caret{border-top-color:#000!important}.factory-bootstrap-428 .label{border:1px solid #000}.factory-bootstrap-428 .table{border-collapse:collapse!important}.factory-bootstrap-428 .table-bordered td,.factory-bootstrap-428 .table-bordered th{border:1px solid #ddd!important}}.factory-bootstrap-428 *,.factory-bootstrap-428 :after,.factory-bootstrap-428 :before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html .factory-bootstrap-428{-webkit-tap-highlight-color:rgba(0,0,0,0)}.factory-bootstrap-428 body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.428571429;color:#333;background-color:#fff}.factory-bootstrap-428 button,.factory-bootstrap-428 input,.factory-bootstrap-428 select,.factory-bootstrap-428 textarea{font-family:inherit;font-size:inherit;line-height:inherit}.factory-bootstrap-428 img{vertical-align:middle}.factory-bootstrap-428 .img-responsive{display:block;height:auto;max-width:100%}.factory-bootstrap-428 .img-rounded{border-radius:6px}.factory-bootstrap-428 .img-thumbnail{display:inline-block;height:auto;max-width:100%;padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.factory-bootstrap-428 .img-circle{border-radius:50%}.factory-bootstrap-428 hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.factory-bootstrap-428 .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.factory-bootstrap-428 .h1,.factory-bootstrap-428 .h2,.factory-bootstrap-428 .h3,.factory-bootstrap-428 .h4,.factory-bootstrap-428 .h5,.factory-bootstrap-428 .h6,.factory-bootstrap-428 h1,.factory-bootstrap-428 h2,.factory-bootstrap-428 h3,.factory-bootstrap-428 h4,.factory-bootstrap-428 h5,.factory-bootstrap-428 h6{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;line-height:1.1;color:inherit}.factory-bootstrap-428 .h1 .small,.factory-bootstrap-428 .h1 small,.factory-bootstrap-428 .h2 .small,.factory-bootstrap-428 .h2 small,.factory-bootstrap-428 .h3 .small,.factory-bootstrap-428 .h3 small,.factory-bootstrap-428 .h4 .small,.factory-bootstrap-428 .h4 small,.factory-bootstrap-428 .h5 .small,.factory-bootstrap-428 .h5 small,.factory-bootstrap-428 .h6 .small,.factory-bootstrap-428 .h6 small,.factory-bootstrap-428 h1 .small,.factory-bootstrap-428 h1 small,.factory-bootstrap-428 h2 .small,.factory-bootstrap-428 h2 small,.factory-bootstrap-428 h3 .small,.factory-bootstrap-428 h3 small,.factory-bootstrap-428 h4 .small,.factory-bootstrap-428 h4 small,.factory-bootstrap-428 h5 .small,.factory-bootstrap-428 h5 small,.factory-bootstrap-428 h6 .small,.factory-bootstrap-428 h6 small{font-weight:400;line-height:1;color:#999}.factory-bootstrap-428 h1,.factory-bootstrap-428 h2,.factory-bootstrap-428 h3{margin-top:20px;margin-bottom:10px}.factory-bootstrap-428 h1 .small,.factory-bootstrap-428 h1 small,.factory-bootstrap-428 h2 .small,.factory-bootstrap-428 h2 small,.factory-bootstrap-428 h3 .small,.factory-bootstrap-428 h3 small{font-size:65%}.factory-bootstrap-428 h4,.factory-bootstrap-428 h5,.factory-bootstrap-428 h6{margin-top:10px;margin-bottom:10px}.factory-bootstrap-428 h4 .small,.factory-bootstrap-428 h4 small,.factory-bootstrap-428 h5 .small,.factory-bootstrap-428 h5 small,.factory-bootstrap-428 h6 .small,.factory-bootstrap-428 h6 small{font-size:75%}.factory-bootstrap-428 .h1,.factory-bootstrap-428 h1{font-size:36px}.factory-bootstrap-428 .h2,.factory-bootstrap-428 h2{font-size:30px}.factory-bootstrap-428 .h3,.factory-bootstrap-428 h3{font-size:24px}.factory-bootstrap-428 .h4,.factory-bootstrap-428 h4{font-size:18px}.factory-bootstrap-428 .h5,.factory-bootstrap-428 h5{font-size:14px}.factory-bootstrap-428 .h6,.factory-bootstrap-428 h6{font-size:12px}.factory-bootstrap-428 p{margin:0 0 10px}.factory-bootstrap-428 .lead{margin-bottom:20px;font-size:16px;font-weight:200;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.factory-bootstrap-428 .small,.factory-bootstrap-428 small{font-size:85%}.factory-bootstrap-428 cite{font-style:normal}.factory-bootstrap-428 .text-muted{color:#999}.factory-bootstrap-428 .text-primary{color:#428bca}.factory-bootstrap-428 .text-primary:hover{color:#3071a9}.factory-bootstrap-428 .text-warning{color:#8a6d3b}.factory-bootstrap-428 .text-warning:hover{color:#66512c}.factory-bootstrap-428 .text-danger{color:#a94442}.factory-bootstrap-428 .text-danger:hover{color:#843534}.factory-bootstrap-428 .text-success{color:#3c763d}.factory-bootstrap-428 .text-success:hover{color:#2b542c}.factory-bootstrap-428 .text-info{color:#31708f}.factory-bootstrap-428 .text-info:hover{color:#245269}.factory-bootstrap-428 .text-left{text-align:left}.factory-bootstrap-428 .text-right{text-align:right}.factory-bootstrap-428 .text-center{text-align:center}.factory-bootstrap-428 .page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}.factory-bootstrap-428 ol,.factory-bootstrap-428 ul{margin-top:0;margin-bottom:10px}.factory-bootstrap-428 ol ol,.factory-bootstrap-428 ol ul,.factory-bootstrap-428 ul ol,.factory-bootstrap-428 ul ul{margin-bottom:0}.factory-bootstrap-428 .list-inline,.factory-bootstrap-428 .list-unstyled{padding-left:0;list-style:none}.factory-bootstrap-428 .list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}.factory-bootstrap-428 .list-inline>li:first-child{padding-left:0}.factory-bootstrap-428 dl{margin-top:0;margin-bottom:20px}.factory-bootstrap-428 dd,.factory-bootstrap-428 dt{line-height:1.428571429}.factory-bootstrap-428 dt{font-weight:700}.factory-bootstrap-428 dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}.dl-horizontal dd:after,.dl-horizontal dd:before{display:table;content:" "}.dl-horizontal dd:after{clear:both}}.factory-bootstrap-428 abbr[data-original-title],.factory-bootstrap-428 abbr[title]{cursor:help;border-bottom:1px dotted #999}.factory-bootstrap-428 .initialism{font-size:90%;text-transform:uppercase}.factory-bootstrap-428 blockquote{padding:10px 20px;margin:0 0 20px;border-left:5px solid #eee}.factory-bootstrap-428 blockquote p{font-size:17.5px;font-weight:300;line-height:1.25}.factory-bootstrap-428 blockquote p:last-child{margin-bottom:0}.factory-bootstrap-428 blockquote .small,.factory-bootstrap-428 blockquote small{display:block;line-height:1.428571429;color:#999}.factory-bootstrap-428 blockquote .small:before,.factory-bootstrap-428 blockquote small:before{content:'\2014 \00A0'}.factory-bootstrap-428 blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}.factory-bootstrap-428 blockquote.pull-right .small,.factory-bootstrap-428 blockquote.pull-right p,.factory-bootstrap-428 blockquote.pull-right small{text-align:right}.factory-bootstrap-428 blockquote.pull-right .small:before,.factory-bootstrap-428 blockquote.pull-right small:before{content:''}.factory-bootstrap-428 blockquote.pull-right .small:after,.factory-bootstrap-428 blockquote.pull-right small:after{content:'\00A0 \2014'}.factory-bootstrap-428 blockquote:after,.factory-bootstrap-428 blockquote:before{content:""}.factory-bootstrap-428 address{margin-bottom:20px;font-style:normal;line-height:1.428571429}.factory-bootstrap-428 code,.factory-bootstrap-428 kbd,.factory-bootstrap-428 pre,.factory-bootstrap-428 samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}.factory-bootstrap-428 code{padding:2px 4px;font-size:90%;color:#c7254e;white-space:nowrap;background-color:#f9f2f4;border-radius:4px}.factory-bootstrap-428 pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.428571429;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}.factory-bootstrap-428 pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.factory-bootstrap-428 .pre-scrollable{max-height:340px;overflow-y:scroll}.factory-bootstrap-428 .container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.factory-bootstrap-428 .container:after,.factory-bootstrap-428 .container:before{display:table;content:" "}.factory-bootstrap-428 .container:after{clear:both}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.factory-bootstrap-428 .row{margin-right:-15px;margin-left:-15px}.factory-bootstrap-428 .row:after,.factory-bootstrap-428 .row:before{display:table;content:" "}.factory-bootstrap-428 .row:after{clear:both}.factory-bootstrap-428 .col-lg-1,.factory-bootstrap-428 .col-lg-10,.factory-bootstrap-428 .col-lg-11,.factory-bootstrap-428 .col-lg-12,.factory-bootstrap-428 .col-lg-2,.factory-bootstrap-428 .col-lg-3,.factory-bootstrap-428 .col-lg-4,.factory-bootstrap-428 .col-lg-5,.factory-bootstrap-428 .col-lg-6,.factory-bootstrap-428 .col-lg-7,.factory-bootstrap-428 .col-lg-8,.factory-bootstrap-428 .col-lg-9,.factory-bootstrap-428 .col-md-1,.factory-bootstrap-428 .col-md-10,.factory-bootstrap-428 .col-md-11,.factory-bootstrap-428 .col-md-12,.factory-bootstrap-428 .col-md-2,.factory-bootstrap-428 .col-md-3,.factory-bootstrap-428 .col-md-4,.factory-bootstrap-428 .col-md-5,.factory-bootstrap-428 .col-md-6,.factory-bootstrap-428 .col-md-7,.factory-bootstrap-428 .col-md-8,.factory-bootstrap-428 .col-md-9,.factory-bootstrap-428 .col-sm-1,.factory-bootstrap-428 .col-sm-10,.factory-bootstrap-428 .col-sm-11,.factory-bootstrap-428 .col-sm-12,.factory-bootstrap-428 .col-sm-2,.factory-bootstrap-428 .col-sm-3,.factory-bootstrap-428 .col-sm-4,.factory-bootstrap-428 .col-sm-5,.factory-bootstrap-428 .col-sm-6,.factory-bootstrap-428 .col-sm-7,.factory-bootstrap-428 .col-sm-8,.factory-bootstrap-428 .col-sm-9,.factory-bootstrap-428 .col-xs-1,.factory-bootstrap-428 .col-xs-10,.factory-bootstrap-428 .col-xs-11,.factory-bootstrap-428 .col-xs-12,.factory-bootstrap-428 .col-xs-2,.factory-bootstrap-428 .col-xs-3,.factory-bootstrap-428 .col-xs-4,.factory-bootstrap-428 .col-xs-5,.factory-bootstrap-428 .col-xs-6,.factory-bootstrap-428 .col-xs-7,.factory-bootstrap-428 .col-xs-8,.factory-bootstrap-428 .col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.factory-bootstrap-428 .col-xs-1,.factory-bootstrap-428 .col-xs-10,.factory-bootstrap-428 .col-xs-11,.factory-bootstrap-428 .col-xs-12,.factory-bootstrap-428 .col-xs-2,.factory-bootstrap-428 .col-xs-3,.factory-bootstrap-428 .col-xs-4,.factory-bootstrap-428 .col-xs-5,.factory-bootstrap-428 .col-xs-6,.factory-bootstrap-428 .col-xs-7,.factory-bootstrap-428 .col-xs-8,.factory-bootstrap-428 .col-xs-9{float:left}.factory-bootstrap-428 .col-xs-12{width:100%}.factory-bootstrap-428 .col-xs-11{width:91.66666666666666%}.factory-bootstrap-428 .col-xs-10{width:83.33333333333334%}.factory-bootstrap-428 .col-xs-9{width:75%}.factory-bootstrap-428 .col-xs-8{width:66.66666666666666%}.factory-bootstrap-428 .col-xs-7{width:58.333333333333336%}.factory-bootstrap-428 .col-xs-6{width:50%}.factory-bootstrap-428 .col-xs-5{width:41.66666666666667%}.factory-bootstrap-428 .col-xs-4{width:33.33333333333333%}.factory-bootstrap-428 .col-xs-3{width:25%}.factory-bootstrap-428 .col-xs-2{width:16.666666666666664%}.factory-bootstrap-428 .col-xs-1{width:8.333333333333332%}.factory-bootstrap-428 .col-xs-pull-12{right:100%}.factory-bootstrap-428 .col-xs-pull-11{right:91.66666666666666%}.factory-bootstrap-428 .col-xs-pull-10{right:83.33333333333334%}.factory-bootstrap-428 .col-xs-pull-9{right:75%}.factory-bootstrap-428 .col-xs-pull-8{right:66.66666666666666%}.factory-bootstrap-428 .col-xs-pull-7{right:58.333333333333336%}.factory-bootstrap-428 .col-xs-pull-6{right:50%}.factory-bootstrap-428 .col-xs-pull-5{right:41.66666666666667%}.factory-bootstrap-428 .col-xs-pull-4{right:33.33333333333333%}.factory-bootstrap-428 .col-xs-pull-3{right:25%}.factory-bootstrap-428 .col-xs-pull-2{right:16.666666666666664%}.factory-bootstrap-428 .col-xs-pull-1{right:8.333333333333332%}.factory-bootstrap-428 .col-xs-pull-0{right:0}.factory-bootstrap-428 .col-xs-push-12{left:100%}.factory-bootstrap-428 .col-xs-push-11{left:91.66666666666666%}.factory-bootstrap-428 .col-xs-push-10{left:83.33333333333334%}.factory-bootstrap-428 .col-xs-push-9{left:75%}.factory-bootstrap-428 .col-xs-push-8{left:66.66666666666666%}.factory-bootstrap-428 .col-xs-push-7{left:58.333333333333336%}.factory-bootstrap-428 .col-xs-push-6{left:50%}.factory-bootstrap-428 .col-xs-push-5{left:41.66666666666667%}.factory-bootstrap-428 .col-xs-push-4{left:33.33333333333333%}.factory-bootstrap-428 .col-xs-push-3{left:25%}.factory-bootstrap-428 .col-xs-push-2{left:16.666666666666664%}.factory-bootstrap-428 .col-xs-push-1{left:8.333333333333332%}.factory-bootstrap-428 .col-xs-push-0{left:0}.factory-bootstrap-428 .col-xs-offset-12{margin-left:100%}.factory-bootstrap-428 .col-xs-offset-11{margin-left:91.66666666666666%}.factory-bootstrap-428 .col-xs-offset-10{margin-left:83.33333333333334%}.factory-bootstrap-428 .col-xs-offset-9{margin-left:75%}.factory-bootstrap-428 .col-xs-offset-8{margin-left:66.66666666666666%}.factory-bootstrap-428 .col-xs-offset-7{margin-left:58.333333333333336%}.factory-bootstrap-428 .col-xs-offset-6{margin-left:50%}.factory-bootstrap-428 .col-xs-offset-5{margin-left:41.66666666666667%}.factory-bootstrap-428 .col-xs-offset-4{margin-left:33.33333333333333%}.factory-bootstrap-428 .col-xs-offset-3{margin-left:25%}.factory-bootstrap-428 .col-xs-offset-2{margin-left:16.666666666666664%}.factory-bootstrap-428 .col-xs-offset-1{margin-left:8.333333333333332%}.factory-bootstrap-428 .col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666666666666%}.col-sm-10{width:83.33333333333334%}.col-sm-9{width:75%}.col-sm-8{width:66.66666666666666%}.col-sm-7{width:58.333333333333336%}.col-sm-6{width:50%}.col-sm-5{width:41.66666666666667%}.col-sm-4{width:33.33333333333333%}.col-sm-3{width:25%}.col-sm-2{width:16.666666666666664%}.col-sm-1{width:8.333333333333332%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666666666666%}.col-sm-pull-10{right:83.33333333333334%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666666666666%}.col-sm-pull-7{right:58.333333333333336%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666666666667%}.col-sm-pull-4{right:33.33333333333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.666666666666664%}.col-sm-pull-1{right:8.333333333333332%}.col-sm-pull-0{right:0}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666666666666%}.col-sm-push-10{left:83.33333333333334%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666666666666%}.col-sm-push-7{left:58.333333333333336%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666666666667%}.col-sm-push-4{left:33.33333333333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.666666666666664%}.col-sm-push-1{left:8.333333333333332%}.col-sm-push-0{left:0}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666666666666%}.col-sm-offset-10{margin-left:83.33333333333334%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666666666666%}.col-sm-offset-7{margin-left:58.333333333333336%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666666666667%}.col-sm-offset-4{margin-left:33.33333333333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.666666666666664%}.col-sm-offset-1{margin-left:8.333333333333332%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666666666666%}.col-md-10{width:83.33333333333334%}.col-md-9{width:75%}.col-md-8{width:66.66666666666666%}.col-md-7{width:58.333333333333336%}.col-md-6{width:50%}.col-md-5{width:41.66666666666667%}.col-md-4{width:33.33333333333333%}.col-md-3{width:25%}.col-md-2{width:16.666666666666664%}.col-md-1{width:8.333333333333332%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666666666666%}.col-md-pull-10{right:83.33333333333334%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666666666666%}.col-md-pull-7{right:58.333333333333336%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666666666667%}.col-md-pull-4{right:33.33333333333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.666666666666664%}.col-md-pull-1{right:8.333333333333332%}.col-md-pull-0{right:0}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666666666666%}.col-md-push-10{left:83.33333333333334%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666666666666%}.col-md-push-7{left:58.333333333333336%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666666666667%}.col-md-push-4{left:33.33333333333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.666666666666664%}.col-md-push-1{left:8.333333333333332%}.col-md-push-0{left:0}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666666666666%}.col-md-offset-10{margin-left:83.33333333333334%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666666666666%}.col-md-offset-7{margin-left:58.333333333333336%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666666666667%}.col-md-offset-4{margin-left:33.33333333333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.666666666666664%}.col-md-offset-1{margin-left:8.333333333333332%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666666666666%}.col-lg-10{width:83.33333333333334%}.col-lg-9{width:75%}.col-lg-8{width:66.66666666666666%}.col-lg-7{width:58.333333333333336%}.col-lg-6{width:50%}.col-lg-5{width:41.66666666666667%}.col-lg-4{width:33.33333333333333%}.col-lg-3{width:25%}.col-lg-2{width:16.666666666666664%}.col-lg-1{width:8.333333333333332%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666666666666%}.col-lg-pull-10{right:83.33333333333334%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666666666666%}.col-lg-pull-7{right:58.333333333333336%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666666666667%}.col-lg-pull-4{right:33.33333333333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.666666666666664%}.col-lg-pull-1{right:8.333333333333332%}.col-lg-pull-0{right:0}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666666666666%}.col-lg-push-10{left:83.33333333333334%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666666666666%}.col-lg-push-7{left:58.333333333333336%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666666666667%}.col-lg-push-4{left:33.33333333333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.666666666666664%}.col-lg-push-1{left:8.333333333333332%}.col-lg-push-0{left:0}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666666666666%}.col-lg-offset-10{margin-left:83.33333333333334%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666666666666%}.col-lg-offset-7{margin-left:58.333333333333336%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666666666667%}.col-lg-offset-4{margin-left:33.33333333333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.666666666666664%}.col-lg-offset-1{margin-left:8.333333333333332%}.col-lg-offset-0{margin-left:0}}.factory-bootstrap-428 table{max-width:100%;background-color:transparent}.factory-bootstrap-428 th{text-align:left}.factory-bootstrap-428 .table{width:100%;margin-bottom:20px}.factory-bootstrap-428 .table>tbody>tr>td,.factory-bootstrap-428 .table>tbody>tr>th,.factory-bootstrap-428 .table>tfoot>tr>td,.factory-bootstrap-428 .table>tfoot>tr>th,.factory-bootstrap-428 .table>thead>tr>td,.factory-bootstrap-428 .table>thead>tr>th{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #ddd}.factory-bootstrap-428 .table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.factory-bootstrap-428 .table>caption+thead>tr:first-child>td,.factory-bootstrap-428 .table>caption+thead>tr:first-child>th,.factory-bootstrap-428 .table>colgroup+thead>tr:first-child>td,.factory-bootstrap-428 .table>colgroup+thead>tr:first-child>th,.factory-bootstrap-428 .table>thead:first-child>tr:first-child>td,.factory-bootstrap-428 .table>thead:first-child>tr:first-child>th{border-top:0}.factory-bootstrap-428 .table>tbody+tbody{border-top:2px solid #ddd}.factory-bootstrap-428 .table .table{background-color:#fff}.factory-bootstrap-428 .table-condensed>tbody>tr>td,.factory-bootstrap-428 .table-condensed>tbody>tr>th,.factory-bootstrap-428 .table-condensed>tfoot>tr>td,.factory-bootstrap-428 .table-condensed>tfoot>tr>th,.factory-bootstrap-428 .table-condensed>thead>tr>td,.factory-bootstrap-428 .table-condensed>thead>tr>th{padding:5px}.factory-bootstrap-428 .table-bordered,.factory-bootstrap-428 .table-bordered>tbody>tr>td,.factory-bootstrap-428 .table-bordered>tbody>tr>th,.factory-bootstrap-428 .table-bordered>tfoot>tr>td,.factory-bootstrap-428 .table-bordered>tfoot>tr>th,.factory-bootstrap-428 .table-bordered>thead>tr>td,.factory-bootstrap-428 .table-bordered>thead>tr>th{border:1px solid #ddd}.factory-bootstrap-428 .table-bordered>thead>tr>td,.factory-bootstrap-428 .table-bordered>thead>tr>th{border-bottom-width:2px}.factory-bootstrap-428 .table-striped>tbody>tr:nth-child(odd)>td,.factory-bootstrap-428 .table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.factory-bootstrap-428 .table-hover>tbody>tr:hover>td,.factory-bootstrap-428 .table-hover>tbody>tr:hover>th{background-color:#f5f5f5}.factory-bootstrap-428 table col[class*=col-]{position:static;display:table-column;float:none}.factory-bootstrap-428 table td[class*=col-],.factory-bootstrap-428 table th[class*=col-]{display:table-cell;float:none}.factory-bootstrap-428 .table>tbody>.active>td,.factory-bootstrap-428 .table>tbody>.active>th,.factory-bootstrap-428 .table>tbody>tr>.active,.factory-bootstrap-428 .table>tfoot>.active>td,.factory-bootstrap-428 .table>tfoot>.active>th,.factory-bootstrap-428 .table>tfoot>tr>.active,.factory-bootstrap-428 .table>thead>.active>td,.factory-bootstrap-428 .table>thead>.active>th,.factory-bootstrap-428 .table>thead>tr>.active{background-color:#f5f5f5}.factory-bootstrap-428 .table-hover>tbody>.active:hover>td,.factory-bootstrap-428 .table-hover>tbody>.active:hover>th,.factory-bootstrap-428 .table-hover>tbody>tr>.active:hover{background-color:#e8e8e8}.factory-bootstrap-428 .table>tbody>.success>td,.factory-bootstrap-428 .table>tbody>.success>th,.factory-bootstrap-428 .table>tbody>tr>.success,.factory-bootstrap-428 .table>tfoot>.success>td,.factory-bootstrap-428 .table>tfoot>.success>th,.factory-bootstrap-428 .table>tfoot>tr>.success,.factory-bootstrap-428 .table>thead>.success>td,.factory-bootstrap-428 .table>thead>.success>th,.factory-bootstrap-428 .table>thead>tr>.success{background-color:#dff0d8}.factory-bootstrap-428 .table-hover>tbody>.success:hover>td,.factory-bootstrap-428 .table-hover>tbody>.success:hover>th,.factory-bootstrap-428 .table-hover>tbody>tr>.success:hover{background-color:#d0e9c6}.factory-bootstrap-428 .table>tbody>.danger>td,.factory-bootstrap-428 .table>tbody>.danger>th,.factory-bootstrap-428 .table>tbody>tr>.danger,.factory-bootstrap-428 .table>tfoot>.danger>td,.factory-bootstrap-428 .table>tfoot>.danger>th,.factory-bootstrap-428 .table>tfoot>tr>.danger,.factory-bootstrap-428 .table>thead>.danger>td,.factory-bootstrap-428 .table>thead>.danger>th,.factory-bootstrap-428 .table>thead>tr>.danger{background-color:#f2dede}.factory-bootstrap-428 .table-hover>tbody>.danger:hover>td,.factory-bootstrap-428 .table-hover>tbody>.danger:hover>th,.factory-bootstrap-428 .table-hover>tbody>tr>.danger:hover{background-color:#ebcccc}.factory-bootstrap-428 .table>tbody>.warning>td,.factory-bootstrap-428 .table>tbody>.warning>th,.factory-bootstrap-428 .table>tbody>tr>.warning,.factory-bootstrap-428 .table>tfoot>.warning>td,.factory-bootstrap-428 .table>tfoot>.warning>th,.factory-bootstrap-428 .table>tfoot>tr>.warning,.factory-bootstrap-428 .table>thead>.warning>td,.factory-bootstrap-428 .table>thead>.warning>th,.factory-bootstrap-428 .table>thead>tr>.warning{background-color:#fcf8e3}.factory-bootstrap-428 .table-hover>tbody>.warning:hover>td,.factory-bootstrap-428 .table-hover>tbody>.warning:hover>th,.factory-bootstrap-428 .table-hover>tbody>tr>.warning:hover{background-color:#faf2cc}@media (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-x:scroll;overflow-y:hidden;border:1px solid #ddd;-ms-overflow-style:-ms-autohiding-scrollbar;-webkit-overflow-scrolling:touch}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}.factory-bootstrap-428 fieldset{padding:0;margin:0;border:0}.factory-bootstrap-428 legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5;-moz-box-sizing:content-box;box-sizing:content-box}.factory-bootstrap-428 label{display:inline-block;margin-bottom:5px;font-weight:700}.factory-bootstrap-428 input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.factory-bootstrap-428 input[type=checkbox],.factory-bootstrap-428 input[type=radio]{margin:4px 0 0;margin-top:1px \9;line-height:normal}.factory-bootstrap-428 input[type=file]{display:block}.factory-bootstrap-428 select[multiple],.factory-bootstrap-428 select[size]{height:auto}.factory-bootstrap-428 select optgroup{font-family:inherit;font-size:inherit;font-style:inherit}.factory-bootstrap-428 input[type=checkbox]:focus,.factory-bootstrap-428 input[type=file]:focus,.factory-bootstrap-428 input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.factory-bootstrap-428 input[type=number]::-webkit-inner-spin-button,.factory-bootstrap-428 input[type=number]::-webkit-outer-spin-button{height:auto}.factory-bootstrap-428 output{display:block;padding-top:7px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle}.factory-bootstrap-428 .form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.factory-bootstrap-428 .form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-428 .form-control:-moz-placeholder{color:#999}.factory-bootstrap-428 .form-control::-moz-placeholder{color:#999;opacity:1}.factory-bootstrap-428 .form-control:-ms-input-placeholder{color:#999}.factory-bootstrap-428 .form-control::-webkit-input-placeholder{color:#999}.factory-bootstrap-428 .form-control[disabled],.factory-bootstrap-428 .form-control[readonly],.factory-bootstrap-428 fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee}.factory-bootstrap-428 textarea.form-control{height:auto}.factory-bootstrap-428 .form-group{margin-bottom:15px}.factory-bootstrap-428 .checkbox,.factory-bootstrap-428 .radio{display:block;min-height:20px;padding-left:20px;margin-top:10px;margin-bottom:10px;vertical-align:middle}.factory-bootstrap-428 .checkbox label,.factory-bootstrap-428 .radio label{display:inline;margin-bottom:0;font-weight:400;cursor:pointer}.factory-bootstrap-428 .checkbox input[type=checkbox],.factory-bootstrap-428 .checkbox-inline input[type=checkbox],.factory-bootstrap-428 .radio input[type=radio],.factory-bootstrap-428 .radio-inline input[type=radio]{float:left;margin-left:-20px}.factory-bootstrap-428 .checkbox+.checkbox,.factory-bootstrap-428 .radio+.radio{margin-top:-5px}.factory-bootstrap-428 .checkbox-inline,.factory-bootstrap-428 .radio-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.factory-bootstrap-428 .checkbox-inline+.checkbox-inline,.factory-bootstrap-428 .radio-inline+.radio-inline{margin-top:0;margin-left:10px}.factory-bootstrap-428 .checkbox-inline[disabled],.factory-bootstrap-428 .checkbox[disabled],.factory-bootstrap-428 .radio-inline[disabled],.factory-bootstrap-428 .radio[disabled],.factory-bootstrap-428 fieldset[disabled] .checkbox,.factory-bootstrap-428 fieldset[disabled] .checkbox-inline,.factory-bootstrap-428 fieldset[disabled] .radio,.factory-bootstrap-428 fieldset[disabled] .radio-inline,.factory-bootstrap-428 fieldset[disabled] input[type=checkbox],.factory-bootstrap-428 fieldset[disabled] input[type=radio],.factory-bootstrap-428 input[type=checkbox][disabled],.factory-bootstrap-428 input[type=radio][disabled]{cursor:not-allowed}.factory-bootstrap-428 .input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-428 select.input-sm{height:30px;line-height:30px}.factory-bootstrap-428 textarea.input-sm{height:auto}.factory-bootstrap-428 .input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-428 select.input-lg{height:46px;line-height:46px}.factory-bootstrap-428 textarea.input-lg{height:auto}.factory-bootstrap-428 .has-warning .checkbox,.factory-bootstrap-428 .has-warning .checkbox-inline,.factory-bootstrap-428 .has-warning .control-label,.factory-bootstrap-428 .has-warning .help-block,.factory-bootstrap-428 .has-warning .radio,.factory-bootstrap-428 .has-warning .radio-inline{color:#8a6d3b}.factory-bootstrap-428 .has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-428 .has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.factory-bootstrap-428 .has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.factory-bootstrap-428 .has-error .checkbox,.factory-bootstrap-428 .has-error .checkbox-inline,.factory-bootstrap-428 .has-error .control-label,.factory-bootstrap-428 .has-error .help-block,.factory-bootstrap-428 .has-error .radio,.factory-bootstrap-428 .has-error .radio-inline{color:#a94442}.factory-bootstrap-428 .controls{display:block}.factory-bootstrap-428 .has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-428 .has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.factory-bootstrap-428 .has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.factory-bootstrap-428 .has-success .checkbox,.factory-bootstrap-428 .has-success .checkbox-inline,.factory-bootstrap-428 .has-success .control-label,.factory-bootstrap-428 .has-success .help-block,.factory-bootstrap-428 .has-success .radio,.factory-bootstrap-428 .has-success .radio-inline{color:#3c763d}.factory-bootstrap-428 .has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-428 .has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.factory-bootstrap-428 .has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.factory-bootstrap-428 .form-control-static{margin-bottom:0}.factory-bootstrap-428 .help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373;font-weight:400}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block}.form-inline select.form-control{width:auto}.form-inline .checkbox,.form-inline .radio{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{float:none;margin-left:0}}.factory-bootstrap-428 .form-horizontal .checkbox,.factory-bootstrap-428 .form-horizontal .checkbox-inline,.factory-bootstrap-428 .form-horizontal .control-label,.factory-bootstrap-428 .form-horizontal .radio,.factory-bootstrap-428 .form-horizontal .radio-inline{position:relative;padding-top:7px;margin-top:0;margin-bottom:0}.factory-bootstrap-428 .form-horizontal .control-label{max-width:200px}.factory-bootstrap-428 .form-horizontal .checkbox,.factory-bootstrap-428 .form-horizontal .radio{min-height:27px}.factory-bootstrap-428 .form-horizontal .form-group{margin-right:-15px;margin-left:-15px}.factory-bootstrap-428 .form-horizontal .form-group:after,.factory-bootstrap-428 .form-horizontal .form-group:before{display:table;content:" "}.factory-bootstrap-428 .form-horizontal .form-group:after{clear:both}.factory-bootstrap-428 .form-horizontal .form-control-static{padding-top:7px}@media (min-width:768px){.form-horizontal .control-label{text-align:right}}.factory-bootstrap-428 .btn{display:inline-block;padding:5px 12px;margin-bottom:0;font-size:13px;font-weight:400;line-height:1.428571429;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;border-radius:3px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.factory-bootstrap-428 .btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.factory-bootstrap-428 .btn{text-decoration:none}.factory-bootstrap-428 .btn:focus,.factory-bootstrap-428 .btn:hover{color:#333;text-decoration:none}.factory-bootstrap-428 .btn.disabled,.factory-bootstrap-428 .btn[disabled],.factory-bootstrap-428 fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-428 .btn-default.active,.factory-bootstrap-428 .btn-default:active,.factory-bootstrap-428 .btn-default:focus,.factory-bootstrap-428 .btn-default:hover,.factory-bootstrap-428 .open .dropdown-toggle.btn-default{background:#fafafa;border-color:#999;color:#222}.factory-bootstrap-428 .btn-default.active,.factory-bootstrap-428 .btn-default:active,.factory-bootstrap-428 .open .dropdown-toggle.btn-default{background-image:none}.factory-bootstrap-428 .btn-default.disabled,.factory-bootstrap-428 .btn-default.disabled.active,.factory-bootstrap-428 .btn-default.disabled:active,.factory-bootstrap-428 .btn-default.disabled:focus,.factory-bootstrap-428 .btn-default.disabled:hover,.factory-bootstrap-428 .btn-default[disabled],.factory-bootstrap-428 .btn-default[disabled].active,.factory-bootstrap-428 .btn-default[disabled]:active,.factory-bootstrap-428 .btn-default[disabled]:focus,.factory-bootstrap-428 .btn-default[disabled]:hover,.factory-bootstrap-428 fieldset[disabled] .btn-default,.factory-bootstrap-428 fieldset[disabled] .btn-default.active,.factory-bootstrap-428 fieldset[disabled] .btn-default:active,.factory-bootstrap-428 fieldset[disabled] .btn-default:focus,.factory-bootstrap-428 fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.factory-bootstrap-428 .btn-default .badge{color:#fff;background-color:#fff}.factory-bootstrap-428 .btn-primary.active,.factory-bootstrap-428 .btn-primary:active,.factory-bootstrap-428 .btn-primary:focus,.factory-bootstrap-428 .btn-primary:hover,.factory-bootstrap-428 .open .dropdown-toggle.btn-primary{color:#fff;background-color:#3276b1;border-color:#285e8e}.factory-bootstrap-428 .btn-primary.active,.factory-bootstrap-428 .btn-primary:active,.factory-bootstrap-428 .open .dropdown-toggle.btn-primary{background-image:none}.factory-bootstrap-428 .btn-primary.disabled,.factory-bootstrap-428 .btn-primary.disabled.active,.factory-bootstrap-428 .btn-primary.disabled:active,.factory-bootstrap-428 .btn-primary.disabled:focus,.factory-bootstrap-428 .btn-primary.disabled:hover,.factory-bootstrap-428 .btn-primary[disabled],.factory-bootstrap-428 .btn-primary[disabled].active,.factory-bootstrap-428 .btn-primary[disabled]:active,.factory-bootstrap-428 .btn-primary[disabled]:focus,.factory-bootstrap-428 .btn-primary[disabled]:hover,.factory-bootstrap-428 fieldset[disabled] .btn-primary,.factory-bootstrap-428 fieldset[disabled] .btn-primary.active,.factory-bootstrap-428 fieldset[disabled] .btn-primary:active,.factory-bootstrap-428 fieldset[disabled] .btn-primary:focus,.factory-bootstrap-428 fieldset[disabled] .btn-primary:hover{background-color:#428bca;border-color:#357ebd}.factory-bootstrap-428 .btn-primary .badge{color:#428bca;background-color:#fff}.factory-bootstrap-428 .btn-warning{color:#fff;background-color:#f0ad4e}.factory-bootstrap-428 .btn-warning.active,.factory-bootstrap-428 .btn-warning:active,.factory-bootstrap-428 .btn-warning:focus,.factory-bootstrap-428 .btn-warning:hover,.factory-bootstrap-428 .open .dropdown-toggle.btn-warning{color:#fff;background-color:#ed9c28;border-color:#d58512}.factory-bootstrap-428 .btn-warning.active,.factory-bootstrap-428 .btn-warning:active,.factory-bootstrap-428 .open .dropdown-toggle.btn-warning{background-image:none}.factory-bootstrap-428 .btn-warning.disabled,.factory-bootstrap-428 .btn-warning.disabled.active,.factory-bootstrap-428 .btn-warning.disabled:active,.factory-bootstrap-428 .btn-warning.disabled:focus,.factory-bootstrap-428 .btn-warning.disabled:hover,.factory-bootstrap-428 .btn-warning[disabled],.factory-bootstrap-428 .btn-warning[disabled].active,.factory-bootstrap-428 .btn-warning[disabled]:active,.factory-bootstrap-428 .btn-warning[disabled]:focus,.factory-bootstrap-428 .btn-warning[disabled]:hover,.factory-bootstrap-428 fieldset[disabled] .btn-warning,.factory-bootstrap-428 fieldset[disabled] .btn-warning.active,.factory-bootstrap-428 fieldset[disabled] .btn-warning:active,.factory-bootstrap-428 fieldset[disabled] .btn-warning:focus,.factory-bootstrap-428 fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.factory-bootstrap-428 .btn-warning .badge{color:#f0ad4e;background-color:#fff}.factory-bootstrap-428 .btn-success{color:#fff;background-color:#5cb85c}.factory-bootstrap-428 .btn-success.active,.factory-bootstrap-428 .btn-success:active,.factory-bootstrap-428 .btn-success:focus,.factory-bootstrap-428 .btn-success:hover,.factory-bootstrap-428 .open .dropdown-toggle.btn-success{color:#fff;background-color:#47a447;border-color:#398439}.factory-bootstrap-428 .btn-success.active,.factory-bootstrap-428 .btn-success:active,.factory-bootstrap-428 .open .dropdown-toggle.btn-success{background-image:none}.factory-bootstrap-428 .btn-success.disabled,.factory-bootstrap-428 .btn-success.disabled.active,.factory-bootstrap-428 .btn-success.disabled:active,.factory-bootstrap-428 .btn-success.disabled:focus,.factory-bootstrap-428 .btn-success.disabled:hover,.factory-bootstrap-428 .btn-success[disabled],.factory-bootstrap-428 .btn-success[disabled].active,.factory-bootstrap-428 .btn-success[disabled]:active,.factory-bootstrap-428 .btn-success[disabled]:focus,.factory-bootstrap-428 .btn-success[disabled]:hover,.factory-bootstrap-428 fieldset[disabled] .btn-success,.factory-bootstrap-428 fieldset[disabled] .btn-success.active,.factory-bootstrap-428 fieldset[disabled] .btn-success:active,.factory-bootstrap-428 fieldset[disabled] .btn-success:focus,.factory-bootstrap-428 fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.factory-bootstrap-428 .btn-success .badge{color:#5cb85c;background-color:#fff}.factory-bootstrap-428 .btn-info{color:#fff;background-color:#5bc0de}.factory-bootstrap-428 .btn-info.active,.factory-bootstrap-428 .btn-info:active,.factory-bootstrap-428 .btn-info:focus,.factory-bootstrap-428 .btn-info:hover,.factory-bootstrap-428 .open .dropdown-toggle.btn-info{color:#fff;background-color:#39b3d7;border-color:#269abc}.factory-bootstrap-428 .btn-info.active,.factory-bootstrap-428 .btn-info:active,.factory-bootstrap-428 .open .dropdown-toggle.btn-info{background-image:none}.factory-bootstrap-428 .btn-info.disabled,.factory-bootstrap-428 .btn-info.disabled.active,.factory-bootstrap-428 .btn-info.disabled:active,.factory-bootstrap-428 .btn-info.disabled:focus,.factory-bootstrap-428 .btn-info.disabled:hover,.factory-bootstrap-428 .btn-info[disabled],.factory-bootstrap-428 .btn-info[disabled].active,.factory-bootstrap-428 .btn-info[disabled]:active,.factory-bootstrap-428 .btn-info[disabled]:focus,.factory-bootstrap-428 .btn-info[disabled]:hover,.factory-bootstrap-428 fieldset[disabled] .btn-info,.factory-bootstrap-428 fieldset[disabled] .btn-info.active,.factory-bootstrap-428 fieldset[disabled] .btn-info:active,.factory-bootstrap-428 fieldset[disabled] .btn-info:focus,.factory-bootstrap-428 fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.factory-bootstrap-428 .btn-info .badge{color:#5bc0de;background-color:#fff}.factory-bootstrap-428 .btn-link{font-weight:400;color:#428bca;cursor:pointer;border-radius:0}.factory-bootstrap-428 .btn-link,.factory-bootstrap-428 .btn-link:active,.factory-bootstrap-428 .btn-link[disabled],.factory-bootstrap-428 fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-428 .btn-link,.factory-bootstrap-428 .btn-link:active,.factory-bootstrap-428 .btn-link:focus,.factory-bootstrap-428 .btn-link:hover{border-color:transparent}.factory-bootstrap-428 .btn-link:focus,.factory-bootstrap-428 .btn-link:hover{color:#2a6496;text-decoration:underline;background-color:transparent}.factory-bootstrap-428 .btn-link[disabled]:focus,.factory-bootstrap-428 .btn-link[disabled]:hover,.factory-bootstrap-428 fieldset[disabled] .btn-link:focus,.factory-bootstrap-428 fieldset[disabled] .btn-link:hover{color:#999;text-decoration:none}.factory-bootstrap-428 .btn-lg{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-428 .btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-428 .btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-428 .btn-block{display:block;width:100%;padding-right:0;padding-left:0}.factory-bootstrap-428 .btn-block+.btn-block{margin-top:5px}.factory-bootstrap-428 input[type=button].btn-block,.factory-bootstrap-428 input[type=reset].btn-block,.factory-bootstrap-428 input[type=submit].btn-block{width:100%}.factory-bootstrap-428 .fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.factory-bootstrap-428 .fade.in{opacity:1}.factory-bootstrap-428 .collapse{display:none}.factory-bootstrap-428 .collapse.in{display:block}.factory-bootstrap-428 .collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;transition:height .35s ease}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular) format('svg')}.factory-bootstrap-428 .glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';-webkit-font-smoothing:antialiased;font-style:normal;font-weight:400;line-height:1;-moz-osx-font-smoothing:grayscale}.factory-bootstrap-428 .glyphicon:empty{width:1em}.factory-bootstrap-428 .glyphicon-asterisk:before{content:"\2a"}.factory-bootstrap-428 .glyphicon-plus:before{content:"\2b"}.factory-bootstrap-428 .glyphicon-euro:before{content:"\20ac"}.factory-bootstrap-428 .glyphicon-minus:before{content:"\2212"}.factory-bootstrap-428 .glyphicon-cloud:before{content:"\2601"}.factory-bootstrap-428 .glyphicon-envelope:before{content:"\2709"}.factory-bootstrap-428 .glyphicon-pencil:before{content:"\270f"}.factory-bootstrap-428 .glyphicon-glass:before{content:"\e001"}.factory-bootstrap-428 .glyphicon-music:before{content:"\e002"}.factory-bootstrap-428 .glyphicon-search:before{content:"\e003"}.factory-bootstrap-428 .glyphicon-heart:before{content:"\e005"}.factory-bootstrap-428 .glyphicon-star:before{content:"\e006"}.factory-bootstrap-428 .glyphicon-star-empty:before{content:"\e007"}.factory-bootstrap-428 .glyphicon-user:before{content:"\e008"}.factory-bootstrap-428 .glyphicon-film:before{content:"\e009"}.factory-bootstrap-428 .glyphicon-th-large:before{content:"\e010"}.factory-bootstrap-428 .glyphicon-th:before{content:"\e011"}.factory-bootstrap-428 .glyphicon-th-list:before{content:"\e012"}.factory-bootstrap-428 .glyphicon-ok:before{content:"\e013"}.factory-bootstrap-428 .glyphicon-remove:before{content:"\e014"}.factory-bootstrap-428 .glyphicon-zoom-in:before{content:"\e015"}.factory-bootstrap-428 .glyphicon-zoom-out:before{content:"\e016"}.factory-bootstrap-428 .glyphicon-off:before{content:"\e017"}.factory-bootstrap-428 .glyphicon-signal:before{content:"\e018"}.factory-bootstrap-428 .glyphicon-cog:before{content:"\e019"}.factory-bootstrap-428 .glyphicon-trash:before{content:"\e020"}.factory-bootstrap-428 .glyphicon-home:before{content:"\e021"}.factory-bootstrap-428 .glyphicon-file:before{content:"\e022"}.factory-bootstrap-428 .glyphicon-time:before{content:"\e023"}.factory-bootstrap-428 .glyphicon-road:before{content:"\e024"}.factory-bootstrap-428 .glyphicon-download-alt:before{content:"\e025"}.factory-bootstrap-428 .glyphicon-download:before{content:"\e026"}.factory-bootstrap-428 .glyphicon-upload:before{content:"\e027"}.factory-bootstrap-428 .glyphicon-inbox:before{content:"\e028"}.factory-bootstrap-428 .glyphicon-play-circle:before{content:"\e029"}.factory-bootstrap-428 .glyphicon-repeat:before{content:"\e030"}.factory-bootstrap-428 .glyphicon-refresh:before{content:"\e031"}.factory-bootstrap-428 .glyphicon-list-alt:before{content:"\e032"}.factory-bootstrap-428 .glyphicon-lock:before{content:"\e033"}.factory-bootstrap-428 .glyphicon-flag:before{content:"\e034"}.factory-bootstrap-428 .glyphicon-headphones:before{content:"\e035"}.factory-bootstrap-428 .glyphicon-volume-off:before{content:"\e036"}.factory-bootstrap-428 .glyphicon-volume-down:before{content:"\e037"}.factory-bootstrap-428 .glyphicon-volume-up:before{content:"\e038"}.factory-bootstrap-428 .glyphicon-qrcode:before{content:"\e039"}.factory-bootstrap-428 .glyphicon-barcode:before{content:"\e040"}.factory-bootstrap-428 .glyphicon-tag:before{content:"\e041"}.factory-bootstrap-428 .glyphicon-tags:before{content:"\e042"}.factory-bootstrap-428 .glyphicon-book:before{content:"\e043"}.factory-bootstrap-428 .glyphicon-bookmark:before{content:"\e044"}.factory-bootstrap-428 .glyphicon-print:before{content:"\e045"}.factory-bootstrap-428 .glyphicon-camera:before{content:"\e046"}.factory-bootstrap-428 .glyphicon-font:before{content:"\e047"}.factory-bootstrap-428 .glyphicon-bold:before{content:"\e048"}.factory-bootstrap-428 .glyphicon-italic:before{content:"\e049"}.factory-bootstrap-428 .glyphicon-text-height:before{content:"\e050"}.factory-bootstrap-428 .glyphicon-text-width:before{content:"\e051"}.factory-bootstrap-428 .glyphicon-align-left:before{content:"\e052"}.factory-bootstrap-428 .glyphicon-align-center:before{content:"\e053"}.factory-bootstrap-428 .glyphicon-align-right:before{content:"\e054"}.factory-bootstrap-428 .glyphicon-align-justify:before{content:"\e055"}.factory-bootstrap-428 .glyphicon-list:before{content:"\e056"}.factory-bootstrap-428 .glyphicon-indent-left:before{content:"\e057"}.factory-bootstrap-428 .glyphicon-indent-right:before{content:"\e058"}.factory-bootstrap-428 .glyphicon-facetime-video:before{content:"\e059"}.factory-bootstrap-428 .glyphicon-picture:before{content:"\e060"}.factory-bootstrap-428 .glyphicon-map-marker:before{content:"\e062"}.factory-bootstrap-428 .glyphicon-adjust:before{content:"\e063"}.factory-bootstrap-428 .glyphicon-tint:before{content:"\e064"}.factory-bootstrap-428 .glyphicon-edit:before{content:"\e065"}.factory-bootstrap-428 .glyphicon-share:before{content:"\e066"}.factory-bootstrap-428 .glyphicon-check:before{content:"\e067"}.factory-bootstrap-428 .glyphicon-move:before{content:"\e068"}.factory-bootstrap-428 .glyphicon-step-backward:before{content:"\e069"}.factory-bootstrap-428 .glyphicon-fast-backward:before{content:"\e070"}.factory-bootstrap-428 .glyphicon-backward:before{content:"\e071"}.factory-bootstrap-428 .glyphicon-play:before{content:"\e072"}.factory-bootstrap-428 .glyphicon-pause:before{content:"\e073"}.factory-bootstrap-428 .glyphicon-stop:before{content:"\e074"}.factory-bootstrap-428 .glyphicon-forward:before{content:"\e075"}.factory-bootstrap-428 .glyphicon-fast-forward:before{content:"\e076"}.factory-bootstrap-428 .glyphicon-step-forward:before{content:"\e077"}.factory-bootstrap-428 .glyphicon-eject:before{content:"\e078"}.factory-bootstrap-428 .glyphicon-chevron-left:before{content:"\e079"}.factory-bootstrap-428 .glyphicon-chevron-right:before{content:"\e080"}.factory-bootstrap-428 .glyphicon-plus-sign:before{content:"\e081"}.factory-bootstrap-428 .glyphicon-minus-sign:before{content:"\e082"}.factory-bootstrap-428 .glyphicon-remove-sign:before{content:"\e083"}.factory-bootstrap-428 .glyphicon-ok-sign:before{content:"\e084"}.factory-bootstrap-428 .glyphicon-question-sign:before{content:"\e085"}.factory-bootstrap-428 .glyphicon-info-sign:before{content:"\e086"}.factory-bootstrap-428 .glyphicon-screenshot:before{content:"\e087"}.factory-bootstrap-428 .glyphicon-remove-circle:before{content:"\e088"}.factory-bootstrap-428 .glyphicon-ok-circle:before{content:"\e089"}.factory-bootstrap-428 .glyphicon-ban-circle:before{content:"\e090"}.factory-bootstrap-428 .glyphicon-arrow-left:before{content:"\e091"}.factory-bootstrap-428 .glyphicon-arrow-right:before{content:"\e092"}.factory-bootstrap-428 .glyphicon-arrow-up:before{content:"\e093"}.factory-bootstrap-428 .glyphicon-arrow-down:before{content:"\e094"}.factory-bootstrap-428 .glyphicon-share-alt:before{content:"\e095"}.factory-bootstrap-428 .glyphicon-resize-full:before{content:"\e096"}.factory-bootstrap-428 .glyphicon-resize-small:before{content:"\e097"}.factory-bootstrap-428 .glyphicon-exclamation-sign:before{content:"\e101"}.factory-bootstrap-428 .glyphicon-gift:before{content:"\e102"}.factory-bootstrap-428 .glyphicon-leaf:before{content:"\e103"}.factory-bootstrap-428 .glyphicon-fire:before{content:"\e104"}.factory-bootstrap-428 .glyphicon-eye-open:before{content:"\e105"}.factory-bootstrap-428 .glyphicon-eye-close:before{content:"\e106"}.factory-bootstrap-428 .glyphicon-warning-sign:before{content:"\e107"}.factory-bootstrap-428 .glyphicon-plane:before{content:"\e108"}.factory-bootstrap-428 .glyphicon-calendar:before{content:"\e109"}.factory-bootstrap-428 .glyphicon-random:before{content:"\e110"}.factory-bootstrap-428 .glyphicon-comment:before{content:"\e111"}.factory-bootstrap-428 .glyphicon-magnet:before{content:"\e112"}.factory-bootstrap-428 .glyphicon-chevron-up:before{content:"\e113"}.factory-bootstrap-428 .glyphicon-chevron-down:before{content:"\e114"}.factory-bootstrap-428 .glyphicon-retweet:before{content:"\e115"}.factory-bootstrap-428 .glyphicon-shopping-cart:before{content:"\e116"}.factory-bootstrap-428 .glyphicon-folder-close:before{content:"\e117"}.factory-bootstrap-428 .glyphicon-folder-open:before{content:"\e118"}.factory-bootstrap-428 .glyphicon-resize-vertical:before{content:"\e119"}.factory-bootstrap-428 .glyphicon-resize-horizontal:before{content:"\e120"}.factory-bootstrap-428 .glyphicon-hdd:before{content:"\e121"}.factory-bootstrap-428 .glyphicon-bullhorn:before{content:"\e122"}.factory-bootstrap-428 .glyphicon-bell:before{content:"\e123"}.factory-bootstrap-428 .glyphicon-certificate:before{content:"\e124"}.factory-bootstrap-428 .glyphicon-thumbs-up:before{content:"\e125"}.factory-bootstrap-428 .glyphicon-thumbs-down:before{content:"\e126"}.factory-bootstrap-428 .glyphicon-hand-right:before{content:"\e127"}.factory-bootstrap-428 .glyphicon-hand-left:before{content:"\e128"}.factory-bootstrap-428 .glyphicon-hand-up:before{content:"\e129"}.factory-bootstrap-428 .glyphicon-hand-down:before{content:"\e130"}.factory-bootstrap-428 .glyphicon-circle-arrow-right:before{content:"\e131"}.factory-bootstrap-428 .glyphicon-circle-arrow-left:before{content:"\e132"}.factory-bootstrap-428 .glyphicon-circle-arrow-up:before{content:"\e133"}.factory-bootstrap-428 .glyphicon-circle-arrow-down:before{content:"\e134"}.factory-bootstrap-428 .glyphicon-globe:before{content:"\e135"}.factory-bootstrap-428 .glyphicon-wrench:before{content:"\e136"}.factory-bootstrap-428 .glyphicon-tasks:before{content:"\e137"}.factory-bootstrap-428 .glyphicon-filter:before{content:"\e138"}.factory-bootstrap-428 .glyphicon-briefcase:before{content:"\e139"}.factory-bootstrap-428 .glyphicon-fullscreen:before{content:"\e140"}.factory-bootstrap-428 .glyphicon-dashboard:before{content:"\e141"}.factory-bootstrap-428 .glyphicon-paperclip:before{content:"\e142"}.factory-bootstrap-428 .glyphicon-heart-empty:before{content:"\e143"}.factory-bootstrap-428 .glyphicon-link:before{content:"\e144"}.factory-bootstrap-428 .glyphicon-phone:before{content:"\e145"}.factory-bootstrap-428 .glyphicon-pushpin:before{content:"\e146"}.factory-bootstrap-428 .glyphicon-usd:before{content:"\e148"}.factory-bootstrap-428 .glyphicon-gbp:before{content:"\e149"}.factory-bootstrap-428 .glyphicon-sort:before{content:"\e150"}.factory-bootstrap-428 .glyphicon-sort-by-alphabet:before{content:"\e151"}.factory-bootstrap-428 .glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.factory-bootstrap-428 .glyphicon-sort-by-order:before{content:"\e153"}.factory-bootstrap-428 .glyphicon-sort-by-order-alt:before{content:"\e154"}.factory-bootstrap-428 .glyphicon-sort-by-attributes:before{content:"\e155"}.factory-bootstrap-428 .glyphicon-sort-by-attributes-alt:before{content:"\e156"}.factory-bootstrap-428 .glyphicon-unchecked:before{content:"\e157"}.factory-bootstrap-428 .glyphicon-expand:before{content:"\e158"}.factory-bootstrap-428 .glyphicon-collapse-down:before{content:"\e159"}.factory-bootstrap-428 .glyphicon-collapse-up:before{content:"\e160"}.factory-bootstrap-428 .glyphicon-log-in:before{content:"\e161"}.factory-bootstrap-428 .glyphicon-flash:before{content:"\e162"}.factory-bootstrap-428 .glyphicon-log-out:before{content:"\e163"}.factory-bootstrap-428 .glyphicon-new-window:before{content:"\e164"}.factory-bootstrap-428 .glyphicon-record:before{content:"\e165"}.factory-bootstrap-428 .glyphicon-save:before{content:"\e166"}.factory-bootstrap-428 .glyphicon-open:before{content:"\e167"}.factory-bootstrap-428 .glyphicon-saved:before{content:"\e168"}.factory-bootstrap-428 .glyphicon-import:before{content:"\e169"}.factory-bootstrap-428 .glyphicon-export:before{content:"\e170"}.factory-bootstrap-428 .glyphicon-send:before{content:"\e171"}.factory-bootstrap-428 .glyphicon-floppy-disk:before{content:"\e172"}.factory-bootstrap-428 .glyphicon-floppy-saved:before{content:"\e173"}.factory-bootstrap-428 .glyphicon-floppy-remove:before{content:"\e174"}.factory-bootstrap-428 .glyphicon-floppy-save:before{content:"\e175"}.factory-bootstrap-428 .glyphicon-floppy-open:before{content:"\e176"}.factory-bootstrap-428 .glyphicon-credit-card:before{content:"\e177"}.factory-bootstrap-428 .glyphicon-transfer:before{content:"\e178"}.factory-bootstrap-428 .glyphicon-cutlery:before{content:"\e179"}.factory-bootstrap-428 .glyphicon-header:before{content:"\e180"}.factory-bootstrap-428 .glyphicon-compressed:before{content:"\e181"}.factory-bootstrap-428 .glyphicon-earphone:before{content:"\e182"}.factory-bootstrap-428 .glyphicon-phone-alt:before{content:"\e183"}.factory-bootstrap-428 .glyphicon-tower:before{content:"\e184"}.factory-bootstrap-428 .glyphicon-stats:before{content:"\e185"}.factory-bootstrap-428 .glyphicon-sd-video:before{content:"\e186"}.factory-bootstrap-428 .glyphicon-hd-video:before{content:"\e187"}.factory-bootstrap-428 .glyphicon-subtitles:before{content:"\e188"}.factory-bootstrap-428 .glyphicon-sound-stereo:before{content:"\e189"}.factory-bootstrap-428 .glyphicon-sound-dolby:before{content:"\e190"}.factory-bootstrap-428 .glyphicon-sound-5-1:before{content:"\e191"}.factory-bootstrap-428 .glyphicon-sound-6-1:before{content:"\e192"}.factory-bootstrap-428 .glyphicon-sound-7-1:before{content:"\e193"}.factory-bootstrap-428 .glyphicon-copyright-mark:before{content:"\e194"}.factory-bootstrap-428 .glyphicon-registration-mark:before{content:"\e195"}.factory-bootstrap-428 .glyphicon-cloud-download:before{content:"\e197"}.factory-bootstrap-428 .glyphicon-cloud-upload:before{content:"\e198"}.factory-bootstrap-428 .glyphicon-tree-conifer:before{content:"\e199"}.factory-bootstrap-428 .glyphicon-tree-deciduous:before{content:"\e200"}.factory-bootstrap-428 .caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.factory-bootstrap-428 .dropdown{position:relative}.factory-bootstrap-428 .dropdown-toggle:focus{outline:0}.factory-bootstrap-428 .dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.factory-bootstrap-428 .dropdown-menu.pull-right{right:0;left:auto}.factory-bootstrap-428 .dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.factory-bootstrap-428 .dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.428571429;color:#333;white-space:nowrap}.factory-bootstrap-428 .dropdown-menu>li>a:focus,.factory-bootstrap-428 .dropdown-menu>li>a:hover{color:#262626;text-decoration:none}.factory-bootstrap-428 .dropdown-menu>.active>a,.factory-bootstrap-428 .dropdown-menu>.active>a:focus,.factory-bootstrap-428 .dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;outline:0}.factory-bootstrap-428 .dropdown-menu>.disabled>a,.factory-bootstrap-428 .dropdown-menu>.disabled>a:focus,.factory-bootstrap-428 .dropdown-menu>.disabled>a:hover{color:#999}.factory-bootstrap-428 .dropdown-menu>.disabled>a:focus,.factory-bootstrap-428 .dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-428 .open>.dropdown-menu{display:block}.factory-bootstrap-428 .open>a{outline:0}.factory-bootstrap-428 .dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#999}.factory-bootstrap-428 .dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.factory-bootstrap-428 .pull-right>.dropdown-menu{right:0;left:auto}.factory-bootstrap-428 .dropup .caret,.factory-bootstrap-428 .navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.factory-bootstrap-428 .dropup .dropdown-menu,.factory-bootstrap-428 .navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}}.factory-bootstrap-428 .btn-group,.factory-bootstrap-428 .btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.factory-bootstrap-428 .btn-group-vertical>.btn,.factory-bootstrap-428 .btn-group>.btn{position:relative;float:left}.factory-bootstrap-428 .btn-group-vertical>.btn.active,.factory-bootstrap-428 .btn-group-vertical>.btn:active,.factory-bootstrap-428 .btn-group-vertical>.btn:focus,.factory-bootstrap-428 .btn-group-vertical>.btn:hover,.factory-bootstrap-428 .btn-group>.btn.active,.factory-bootstrap-428 .btn-group>.btn:active,.factory-bootstrap-428 .btn-group>.btn:focus,.factory-bootstrap-428 .btn-group>.btn:hover{z-index:2}.factory-bootstrap-428 .btn-group-vertical>.btn:focus,.factory-bootstrap-428 .btn-group>.btn:focus{outline:0}.factory-bootstrap-428 .btn-group .btn+.btn,.factory-bootstrap-428 .btn-group .btn+.btn-group,.factory-bootstrap-428 .btn-group .btn-group+.btn,.factory-bootstrap-428 .btn-group .btn-group+.btn-group{margin-left:-1px}.factory-bootstrap-428 .btn-toolbar:after,.factory-bootstrap-428 .btn-toolbar:before{display:table;content:" "}.factory-bootstrap-428 .btn-toolbar:after{clear:both}.factory-bootstrap-428 .btn-toolbar .btn-group{float:left}.factory-bootstrap-428 .btn-toolbar>.btn+.btn,.factory-bootstrap-428 .btn-toolbar>.btn+.btn-group,.factory-bootstrap-428 .btn-toolbar>.btn-group+.btn,.factory-bootstrap-428 .btn-toolbar>.btn-group+.btn-group{margin-left:5px}.factory-bootstrap-428 .btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.factory-bootstrap-428 .btn-group>.btn:first-child{margin-left:0}.factory-bootstrap-428 .btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-428 .btn-group>.btn:last-child:not(:first-child),.factory-bootstrap-428 .btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-428 .btn-group>.btn-group{float:left}.factory-bootstrap-428 .btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.factory-bootstrap-428 .btn-group>.btn-group:first-child>.btn:last-child,.factory-bootstrap-428 .btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-428 .btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-428 .btn-group .dropdown-toggle:active,.factory-bootstrap-428 .btn-group.open .dropdown-toggle{outline:0}.factory-bootstrap-428 .btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-428 .btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-428 .btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-428 .btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.factory-bootstrap-428 .btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.factory-bootstrap-428 .btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.factory-bootstrap-428 .btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-428 .btn-group{border:4px solid #f9f9f9;border-radius:4px}.factory-bootstrap-428 .btn-group .btn.active.value{text-shadow:none;color:#fff;background-color:#33aad5;-webkit-box-shadow:inset 0 1px 1px #0074a2;box-shadow:inset 0 1px 3px #0074a2;border-top:1px solid #0074a2;border-bottom:1px solid #0074a2;border-left:1px solid #0074a2}.factory-bootstrap-428 .btn .caret{margin-left:0}.factory-bootstrap-428 .btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.factory-bootstrap-428 .dropup .btn-lg .caret{border-width:0 5px 5px}.factory-bootstrap-428 .btn-group-vertical>.btn,.factory-bootstrap-428 .btn-group-vertical>.btn-group,.factory-bootstrap-428 .btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.factory-bootstrap-428 .btn-group-vertical>.btn-group:after,.factory-bootstrap-428 .btn-group-vertical>.btn-group:before{display:table;content:" "}.factory-bootstrap-428 .btn-group-vertical>.btn-group:after{clear:both}.factory-bootstrap-428 .btn-group-vertical>.btn-group>.btn{float:none}.factory-bootstrap-428 .btn-group-vertical>.btn+.btn,.factory-bootstrap-428 .btn-group-vertical>.btn+.btn-group,.factory-bootstrap-428 .btn-group-vertical>.btn-group+.btn,.factory-bootstrap-428 .btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.factory-bootstrap-428 .btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.factory-bootstrap-428 .btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-428 .btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-bottom-left-radius:4px;border-top-left-radius:0}.factory-bootstrap-428 .btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.factory-bootstrap-428 .btn-group-vertical>.btn-group:first-child>.btn:last-child,.factory-bootstrap-428 .btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-428 .btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-428 .btn-group-justified{display:table;width:100%;border-collapse:separate;table-layout:fixed}.factory-bootstrap-428 .btn-group-justified>.btn,.factory-bootstrap-428 .btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.factory-bootstrap-428 .btn-group-justified>.btn-group .btn{width:100%}[data-toggle=buttons]>.btn>input[type=checkbox],[data-toggle=buttons]>.btn>input[type=radio]{display:none}.factory-bootstrap-428 .input-group{position:relative;display:table;border-collapse:separate}.factory-bootstrap-428 .input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.factory-bootstrap-428 .input-group .form-control{width:100%;margin-bottom:0}.factory-bootstrap-428 .input-group-lg>.form-control,.factory-bootstrap-428 .input-group-lg>.input-group-addon,.factory-bootstrap-428 .input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-428 select.input-group-lg>.form-control,.factory-bootstrap-428 select.input-group-lg>.input-group-addon,.factory-bootstrap-428 select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}.factory-bootstrap-428 textarea.input-group-lg>.form-control,.factory-bootstrap-428 textarea.input-group-lg>.input-group-addon,.factory-bootstrap-428 textarea.input-group-lg>.input-group-btn>.btn{height:auto}.factory-bootstrap-428 .input-group-sm>.form-control,.factory-bootstrap-428 .input-group-sm>.input-group-addon,.factory-bootstrap-428 .input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-428 select.input-group-sm>.form-control,.factory-bootstrap-428 select.input-group-sm>.input-group-addon,.factory-bootstrap-428 select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}.factory-bootstrap-428 textarea.input-group-sm>.form-control,.factory-bootstrap-428 textarea.input-group-sm>.input-group-addon,.factory-bootstrap-428 textarea.input-group-sm>.input-group-btn>.btn{height:auto}.factory-bootstrap-428 .input-group .form-control,.factory-bootstrap-428 .input-group-addon,.factory-bootstrap-428 .input-group-btn{display:table-cell}.factory-bootstrap-428 .input-group .form-control:not(:first-child):not(:last-child),.factory-bootstrap-428 .input-group-addon:not(:first-child):not(:last-child),.factory-bootstrap-428 .input-group-btn:not(:first-child):not(:last-child){border-radius:0}.factory-bootstrap-428 .input-group-addon,.factory-bootstrap-428 .input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.factory-bootstrap-428 .input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.factory-bootstrap-428 .input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.factory-bootstrap-428 .input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.factory-bootstrap-428 .input-group-addon input[type=checkbox],.factory-bootstrap-428 .input-group-addon input[type=radio]{margin-top:0}.factory-bootstrap-428 .input-group .form-control:first-child,.factory-bootstrap-428 .input-group-addon:first-child,.factory-bootstrap-428 .input-group-btn:first-child>.btn,.factory-bootstrap-428 .input-group-btn:first-child>.dropdown-toggle,.factory-bootstrap-428 .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-428 .input-group-addon:first-child{border-right:0}.factory-bootstrap-428 .input-group .form-control:last-child,.factory-bootstrap-428 .input-group-addon:last-child,.factory-bootstrap-428 .input-group-btn:first-child>.btn:not(:first-child),.factory-bootstrap-428 .input-group-btn:last-child>.btn,.factory-bootstrap-428 .input-group-btn:last-child>.dropdown-toggle{border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-428 .input-group-addon:last-child{border-left:0}.factory-bootstrap-428 .input-group-btn{position:relative;white-space:nowrap}.factory-bootstrap-428 .input-group-btn:first-child>.btn{margin-right:-1px}.factory-bootstrap-428 .input-group-btn:last-child>.btn{margin-left:-1px}.factory-bootstrap-428 .input-group-btn>.btn{position:relative}.factory-bootstrap-428 .input-group-btn>.btn+.btn{margin-left:-4px}.factory-bootstrap-428 .input-group-btn>.btn:active,.factory-bootstrap-428 .input-group-btn>.btn:hover{z-index:2}.factory-bootstrap-428 .nav{padding-left:0;margin-bottom:0;list-style:none}.factory-bootstrap-428 .nav:after,.factory-bootstrap-428 .nav:before{display:table;content:" "}.factory-bootstrap-428 .nav:after{clear:both}.factory-bootstrap-428 .nav>li{position:relative;display:block}.factory-bootstrap-428 .nav>li>a{position:relative;display:block;padding:10px 15px}.factory-bootstrap-428 .nav>li>a:focus,.factory-bootstrap-428 .nav>li>a:hover{text-decoration:none;background-color:#eee}.factory-bootstrap-428 .nav>li.disabled>a{color:#999}.factory-bootstrap-428 .nav>li.disabled>a:focus,.factory-bootstrap-428 .nav>li.disabled>a:hover{color:#999;text-decoration:none;cursor:not-allowed;background-color:transparent}.factory-bootstrap-428 .nav .open>a,.factory-bootstrap-428 .nav .open>a:focus,.factory-bootstrap-428 .nav .open>a:hover{background-color:#eee;border-color:#428bca}.factory-bootstrap-428 .nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.factory-bootstrap-428 .nav>li>a>img{max-width:none}.factory-bootstrap-428 .nav-tabs{border-bottom:1px solid #ddd}.factory-bootstrap-428 .nav-tabs>li{float:left;margin-bottom:-1px}.factory-bootstrap-428 .nav-tabs>li>a{margin-right:2px;line-height:1.428571429;border:1px solid transparent;border-radius:4px 4px 0 0}.factory-bootstrap-428 .nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.factory-bootstrap-428 .nav-tabs>li.active>a,.factory-bootstrap-428 .nav-tabs>li.active>a:focus,.factory-bootstrap-428 .nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.factory-bootstrap-428 .nav-tabs.nav-justified{width:100%;border-bottom:0}.factory-bootstrap-428 .nav-tabs.nav-justified>li{float:none}.factory-bootstrap-428 .nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.factory-bootstrap-428 .nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.factory-bootstrap-428 .nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.factory-bootstrap-428 .nav-tabs.nav-justified>.active>a,.factory-bootstrap-428 .nav-tabs.nav-justified>.active>a:focus,.factory-bootstrap-428 .nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.factory-bootstrap-428 .nav-pills>li{float:left}.factory-bootstrap-428 .nav-pills>li>a{border-radius:4px}.factory-bootstrap-428 .nav-pills>li+li{margin-left:2px}.factory-bootstrap-428 .nav-pills>li.active>a,.factory-bootstrap-428 .nav-pills>li.active>a:focus,.factory-bootstrap-428 .nav-pills>li.active>a:hover{color:#fff;background-color:#428bca}.factory-bootstrap-428 .nav-stacked>li{float:none}.factory-bootstrap-428 .nav-stacked>li+li{margin-top:2px;margin-left:0}.factory-bootstrap-428 .nav-justified{width:100%}.factory-bootstrap-428 .nav-justified>li{float:none}.factory-bootstrap-428 .nav-justified>li>a{margin-bottom:5px;text-align:center}.factory-bootstrap-428 .nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.factory-bootstrap-428 .nav-tabs-justified{border-bottom:0}.factory-bootstrap-428 .nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.factory-bootstrap-428 .nav-tabs-justified>.active>a,.factory-bootstrap-428 .nav-tabs-justified>.active>a:focus,.factory-bootstrap-428 .nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.factory-bootstrap-428 .tab-content>.tab-pane{display:none}.factory-bootstrap-428 .tab-content>.active{display:block}.factory-bootstrap-428 .nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-428 .navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.factory-bootstrap-428 .navbar:after,.factory-bootstrap-428 .navbar:before{display:table;content:" "}.factory-bootstrap-428 .navbar:after{clear:both}@media (min-width:768px){.navbar{border-radius:4px}}.factory-bootstrap-428 .navbar-header:after,.factory-bootstrap-428 .navbar-header:before{display:table;content:" "}.factory-bootstrap-428 .navbar-header:after{clear:both}@media (min-width:768px){.navbar-header{float:left}}.factory-bootstrap-428 .navbar-collapse{max-height:340px;padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.factory-bootstrap-428 .navbar-collapse:after,.factory-bootstrap-428 .navbar-collapse:before{display:table;content:" "}.factory-bootstrap-428 .navbar-collapse:after{clear:both}.factory-bootstrap-428 .navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.factory-bootstrap-428 .container>.navbar-collapse,.factory-bootstrap-428 .container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.factory-bootstrap-428 .navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.factory-bootstrap-428 .navbar-fixed-bottom,.factory-bootstrap-428 .navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.factory-bootstrap-428 .navbar-fixed-top{top:0;border-width:0 0 1px}.factory-bootstrap-428 .navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.factory-bootstrap-428 .navbar-brand{float:left;padding:15px;font-size:18px;line-height:20px}.factory-bootstrap-428 .navbar-brand:focus,.factory-bootstrap-428 .navbar-brand:hover{text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand{margin-left:-15px}}.factory-bootstrap-428 .navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.factory-bootstrap-428 .navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.factory-bootstrap-428 .navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.factory-bootstrap-428 .navbar-nav{margin:7.5px -15px}.factory-bootstrap-428 .navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.navbar-nav.navbar-right:last-child{margin-right:-15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important}}.factory-bootstrap-428 .navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block}.navbar-form select.form-control{width:auto}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{float:none;margin-left:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-15px}}.factory-bootstrap-428 .navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-428 .navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-428 .navbar-nav.pull-right>li>.dropdown-menu,.factory-bootstrap-428 .navbar-nav>li>.dropdown-menu.pull-right{right:0;left:auto}.factory-bootstrap-428 .navbar-btn{margin-top:8px;margin-bottom:8px}.factory-bootstrap-428 .navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.factory-bootstrap-428 .navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.factory-bootstrap-428 .navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}.navbar-text.navbar-right:last-child{margin-right:0}}.factory-bootstrap-428 .navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.factory-bootstrap-428 .navbar-default .navbar-brand{color:#777}.factory-bootstrap-428 .navbar-default .navbar-brand:focus,.factory-bootstrap-428 .navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.factory-bootstrap-428 .navbar-default .navbar-nav>li>a,.factory-bootstrap-428 .navbar-default .navbar-text{color:#777}.factory-bootstrap-428 .navbar-default .navbar-nav>li>a:focus,.factory-bootstrap-428 .navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.factory-bootstrap-428 .navbar-default .navbar-nav>.active>a,.factory-bootstrap-428 .navbar-default .navbar-nav>.active>a:focus,.factory-bootstrap-428 .navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.factory-bootstrap-428 .navbar-default .navbar-nav>.disabled>a,.factory-bootstrap-428 .navbar-default .navbar-nav>.disabled>a:focus,.factory-bootstrap-428 .navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.factory-bootstrap-428 .navbar-default .navbar-toggle{border-color:#ddd}.factory-bootstrap-428 .navbar-default .navbar-toggle:focus,.factory-bootstrap-428 .navbar-default .navbar-toggle:hover{background-color:#ddd}.factory-bootstrap-428 .navbar-default .navbar-toggle .icon-bar{background-color:#ccc}.factory-bootstrap-428 .navbar-default .navbar-collapse,.factory-bootstrap-428 .navbar-default .navbar-form{border-color:#e7e7e7}.factory-bootstrap-428 .navbar-default .navbar-nav>.open>a,.factory-bootstrap-428 .navbar-default .navbar-nav>.open>a:focus,.factory-bootstrap-428 .navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.factory-bootstrap-428 .navbar-default .navbar-link{color:#777}.factory-bootstrap-428 .navbar-default .navbar-link:hover{color:#333}.factory-bootstrap-428 .navbar-inverse{background-color:#222;border-color:#080808}.factory-bootstrap-428 .navbar-inverse .navbar-brand{color:#999}.factory-bootstrap-428 .navbar-inverse .navbar-brand:focus,.factory-bootstrap-428 .navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.factory-bootstrap-428 .navbar-inverse .navbar-nav>li>a,.factory-bootstrap-428 .navbar-inverse .navbar-text{color:#999}.factory-bootstrap-428 .navbar-inverse .navbar-nav>li>a:focus,.factory-bootstrap-428 .navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.factory-bootstrap-428 .navbar-inverse .navbar-nav>.active>a,.factory-bootstrap-428 .navbar-inverse .navbar-nav>.active>a:focus,.factory-bootstrap-428 .navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.factory-bootstrap-428 .navbar-inverse .navbar-nav>.disabled>a,.factory-bootstrap-428 .navbar-inverse .navbar-nav>.disabled>a:focus,.factory-bootstrap-428 .navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.factory-bootstrap-428 .navbar-inverse .navbar-toggle{border-color:#333}.factory-bootstrap-428 .navbar-inverse .navbar-toggle:focus,.factory-bootstrap-428 .navbar-inverse .navbar-toggle:hover{background-color:#333}.factory-bootstrap-428 .navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.factory-bootstrap-428 .navbar-inverse .navbar-collapse,.factory-bootstrap-428 .navbar-inverse .navbar-form{border-color:#101010}.factory-bootstrap-428 .navbar-inverse .navbar-nav>.open>a,.factory-bootstrap-428 .navbar-inverse .navbar-nav>.open>a:focus,.factory-bootstrap-428 .navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#999}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.factory-bootstrap-428 .navbar-inverse .navbar-link{color:#999}.factory-bootstrap-428 .navbar-inverse .navbar-link:hover{color:#fff}.factory-bootstrap-428 .breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.factory-bootstrap-428 .breadcrumb>li{display:inline-block}.factory-bootstrap-428 .breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.factory-bootstrap-428 .breadcrumb>.active{color:#999}.factory-bootstrap-428 .pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.factory-bootstrap-428 .pagination>li{display:inline}.factory-bootstrap-428 .pagination>li>a,.factory-bootstrap-428 .pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.428571429;text-decoration:none;background-color:#fff;border:1px solid #ddd}.factory-bootstrap-428 .pagination>li:first-child>a,.factory-bootstrap-428 .pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.factory-bootstrap-428 .pagination>li:last-child>a,.factory-bootstrap-428 .pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.factory-bootstrap-428 .pagination>li>a:focus,.factory-bootstrap-428 .pagination>li>a:hover,.factory-bootstrap-428 .pagination>li>span:focus,.factory-bootstrap-428 .pagination>li>span:hover{background-color:#eee}.factory-bootstrap-428 .pagination>.active>a,.factory-bootstrap-428 .pagination>.active>a:focus,.factory-bootstrap-428 .pagination>.active>a:hover,.factory-bootstrap-428 .pagination>.active>span,.factory-bootstrap-428 .pagination>.active>span:focus,.factory-bootstrap-428 .pagination>.active>span:hover{z-index:2;color:#fff;cursor:default;background-color:#1e8cbe;border-color:#0074a2}.factory-bootstrap-428 .pagination>.disabled>a,.factory-bootstrap-428 .pagination>.disabled>a:focus,.factory-bootstrap-428 .pagination>.disabled>a:hover,.factory-bootstrap-428 .pagination>.disabled>span,.factory-bootstrap-428 .pagination>.disabled>span:focus,.factory-bootstrap-428 .pagination>.disabled>span:hover{color:#999;cursor:not-allowed;background-color:#fff;border-color:#ddd}.factory-bootstrap-428 .pagination-lg>li>a,.factory-bootstrap-428 .pagination-lg>li>span{padding:10px 16px;font-size:18px}.factory-bootstrap-428 .pagination-lg>li:first-child>a,.factory-bootstrap-428 .pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.factory-bootstrap-428 .pagination-lg>li:last-child>a,.factory-bootstrap-428 .pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.factory-bootstrap-428 .pagination-sm>li>a,.factory-bootstrap-428 .pagination-sm>li>span{padding:5px 10px;font-size:12px}.factory-bootstrap-428 .pagination-sm>li:first-child>a,.factory-bootstrap-428 .pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.factory-bootstrap-428 .pagination-sm>li:last-child>a,.factory-bootstrap-428 .pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.factory-bootstrap-428 .pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.factory-bootstrap-428 .pager:after,.factory-bootstrap-428 .pager:before{display:table;content:" "}.factory-bootstrap-428 .pager:after{clear:both}.factory-bootstrap-428 .pager li{display:inline}.factory-bootstrap-428 .pager li>a,.factory-bootstrap-428 .pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.factory-bootstrap-428 .pager li>a:focus,.factory-bootstrap-428 .pager li>a:hover{text-decoration:none;background-color:#eee}.factory-bootstrap-428 .pager .next>a,.factory-bootstrap-428 .pager .next>span{float:right}.factory-bootstrap-428 .pager .previous>a,.factory-bootstrap-428 .pager .previous>span{float:left}.factory-bootstrap-428 .pager .disabled>a,.factory-bootstrap-428 .pager .disabled>a:focus,.factory-bootstrap-428 .pager .disabled>a:hover,.factory-bootstrap-428 .pager .disabled>span{color:#999;cursor:not-allowed;background-color:#fff}.factory-bootstrap-428 .label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.factory-bootstrap-428 .label[href]:focus,.factory-bootstrap-428 .label[href]:hover{color:#fff;text-decoration:none;cursor:pointer}.factory-bootstrap-428 .label:empty{display:none}.factory-bootstrap-428 .btn .label{position:relative;top:-1px}.factory-bootstrap-428 .label-default{background-color:#999}.factory-bootstrap-428 .label-default[href]:focus,.factory-bootstrap-428 .label-default[href]:hover{background-color:gray}.factory-bootstrap-428 .label-primary{background-color:#428bca}.factory-bootstrap-428 .label-primary[href]:focus,.factory-bootstrap-428 .label-primary[href]:hover{background-color:#3071a9}.factory-bootstrap-428 .label-success{background-color:#5cb85c}.factory-bootstrap-428 .label-success[href]:focus,.factory-bootstrap-428 .label-success[href]:hover{background-color:#449d44}.factory-bootstrap-428 .label-info{background-color:#5bc0de}.factory-bootstrap-428 .label-info[href]:focus,.factory-bootstrap-428 .label-info[href]:hover{background-color:#31b0d5}.factory-bootstrap-428 .label-warning{background-color:#f0ad4e}.factory-bootstrap-428 .label-warning[href]:focus,.factory-bootstrap-428 .label-warning[href]:hover{background-color:#ec971f}.factory-bootstrap-428 .label-danger{background-color:#d9534f}.factory-bootstrap-428 .label-danger[href]:focus,.factory-bootstrap-428 .label-danger[href]:hover{background-color:#c9302c}.factory-bootstrap-428 .badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#999;border-radius:10px}.factory-bootstrap-428 .badge:empty{display:none}.factory-bootstrap-428 .btn .badge{position:relative;top:-1px}.factory-bootstrap-428 a.badge:focus,.factory-bootstrap-428 a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.factory-bootstrap-428 .nav-pills>.active>a>.badge,.factory-bootstrap-428 a.list-group-item.active>.badge{color:#428bca;background-color:#fff}.factory-bootstrap-428 .nav-pills>li>a>.badge{margin-left:3px}.factory-bootstrap-428 .jumbotron{padding:30px;margin-bottom:30px;font-size:21px;font-weight:200;line-height:2.1428571435;color:inherit;background-color:#eee}.factory-bootstrap-428 .jumbotron .h1,.factory-bootstrap-428 .jumbotron h1{line-height:1;color:inherit}.factory-bootstrap-428 .jumbotron p{line-height:1.4}.factory-bootstrap-428 .container .jumbotron{border-radius:6px}.factory-bootstrap-428 .jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.factory-bootstrap-428 .thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.factory-bootstrap-428 .thumbnail a>img,.factory-bootstrap-428 .thumbnail>img{display:block;height:auto;max-width:100%;margin-right:auto;margin-left:auto}.factory-bootstrap-428 a.thumbnail.active,.factory-bootstrap-428 a.thumbnail:focus,.factory-bootstrap-428 a.thumbnail:hover{border-color:#428bca}.factory-bootstrap-428 .thumbnail .caption{padding:9px;color:#333}.factory-bootstrap-428 .alert{border:1px solid transparent;border-radius:4px}.factory-bootstrap-428 .alert h4{margin-top:0;color:inherit}.factory-bootstrap-428 .alert .alert-link{font-weight:700}.factory-bootstrap-428 .alert>p,.factory-bootstrap-428 .alert>ul{margin-bottom:0}.factory-bootstrap-428 .alert>p+p{margin-top:5px}.factory-bootstrap-428 .alert-dismissable{padding-right:35px}.factory-bootstrap-428 .alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit}.factory-bootstrap-428 .alert-info{color:#31708f;background-color:#d9edf7}.factory-bootstrap-428 .alert-info hr{border-top-color:#a6e1ec}.factory-bootstrap-428 .alert-info .alert-link{color:#245269}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.factory-bootstrap-428 .progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.factory-bootstrap-428 .progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#2ea2cc;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;transition:width .6s ease}.factory-bootstrap-428 .progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:40px 40px}.factory-bootstrap-428 .progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.factory-bootstrap-428 .progress-bar-success{background-color:#5cb85c}.factory-bootstrap-428 .progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-428 .progress-bar-info{background-color:#5bc0de}.factory-bootstrap-428 .progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-428 .progress-bar-warning{background-color:#f0ad4e}.factory-bootstrap-428 .progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-428 .progress-bar-danger{background-color:#d9534f}.factory-bootstrap-428 .progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-428 .media,.factory-bootstrap-428 .media-body{overflow:hidden;zoom:1}.factory-bootstrap-428 .media,.factory-bootstrap-428 .media .media{margin-top:15px}.factory-bootstrap-428 .media:first-child{margin-top:0}.factory-bootstrap-428 .media-object{display:block}.factory-bootstrap-428 .media-heading{margin:0 0 5px}.factory-bootstrap-428 .media>.pull-left{margin-right:10px}.factory-bootstrap-428 .media>.pull-right{margin-left:10px}.factory-bootstrap-428 .media-list{padding-left:0;list-style:none}.factory-bootstrap-428 .list-group{padding-left:0;margin-bottom:20px}.factory-bootstrap-428 .list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.factory-bootstrap-428 .list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.factory-bootstrap-428 .list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.factory-bootstrap-428 .list-group-item>.badge{float:right}.factory-bootstrap-428 .list-group-item>.badge+.badge{margin-right:5px}.factory-bootstrap-428 a.list-group-item{color:#555}.factory-bootstrap-428 a.list-group-item .list-group-item-heading{color:#333}.factory-bootstrap-428 a.list-group-item:focus,.factory-bootstrap-428 a.list-group-item:hover{text-decoration:none;background-color:#f5f5f5}.factory-bootstrap-428 a.list-group-item.active,.factory-bootstrap-428 a.list-group-item.active:focus,.factory-bootstrap-428 a.list-group-item.active:hover{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.factory-bootstrap-428 a.list-group-item.active .list-group-item-heading,.factory-bootstrap-428 a.list-group-item.active:focus .list-group-item-heading,.factory-bootstrap-428 a.list-group-item.active:hover .list-group-item-heading{color:inherit}.factory-bootstrap-428 a.list-group-item.active .list-group-item-text,.factory-bootstrap-428 a.list-group-item.active:focus .list-group-item-text,.factory-bootstrap-428 a.list-group-item.active:hover .list-group-item-text{color:#e1edf7}.factory-bootstrap-428 .list-group-item-heading{margin-top:0;margin-bottom:5px}.factory-bootstrap-428 .list-group-item-text{margin-bottom:0;line-height:1.3}.factory-bootstrap-428 .panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px}.factory-bootstrap-428 .panel-body{padding:15px}.factory-bootstrap-428 .panel-body:after,.factory-bootstrap-428 .panel-body:before{display:table;content:" "}.factory-bootstrap-428 .panel-body:after{clear:both}.factory-bootstrap-428 .panel>.list-group{margin-bottom:0}.factory-bootstrap-428 .panel>.list-group .list-group-item{border-width:1px 0}.factory-bootstrap-428 .panel>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-428 .panel>.list-group .list-group-item:last-child{border-bottom:0}.factory-bootstrap-428 .panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.factory-bootstrap-428 .panel>.table,.factory-bootstrap-428 .panel>.table-responsive>.table{margin-bottom:0}.factory-bootstrap-428 .panel>.panel-body+.table,.factory-bootstrap-428 .panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.factory-bootstrap-428 .panel>.table>tbody:first-child td,.factory-bootstrap-428 .panel>.table>tbody:first-child th{border-top:0}.factory-bootstrap-428 .panel>.table-bordered,.factory-bootstrap-428 .panel>.table-responsive>.table-bordered{border:0}.factory-bootstrap-428 .panel>.table-bordered>tbody>tr>td:first-child,.factory-bootstrap-428 .panel>.table-bordered>tbody>tr>th:first-child,.factory-bootstrap-428 .panel>.table-bordered>tfoot>tr>td:first-child,.factory-bootstrap-428 .panel>.table-bordered>tfoot>tr>th:first-child,.factory-bootstrap-428 .panel>.table-bordered>thead>tr>td:first-child,.factory-bootstrap-428 .panel>.table-bordered>thead>tr>th:first-child,.factory-bootstrap-428 .panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.factory-bootstrap-428 .panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.factory-bootstrap-428 .panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.factory-bootstrap-428 .panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.factory-bootstrap-428 .panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.factory-bootstrap-428 .panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.factory-bootstrap-428 .panel>.table-bordered>tbody>tr>td:last-child,.factory-bootstrap-428 .panel>.table-bordered>tbody>tr>th:last-child,.factory-bootstrap-428 .panel>.table-bordered>tfoot>tr>td:last-child,.factory-bootstrap-428 .panel>.table-bordered>tfoot>tr>th:last-child,.factory-bootstrap-428 .panel>.table-bordered>thead>tr>td:last-child,.factory-bootstrap-428 .panel>.table-bordered>thead>tr>th:last-child,.factory-bootstrap-428 .panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.factory-bootstrap-428 .panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.factory-bootstrap-428 .panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.factory-bootstrap-428 .panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.factory-bootstrap-428 .panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.factory-bootstrap-428 .panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.factory-bootstrap-428 .panel>.table-bordered>tbody>tr:last-child>td,.factory-bootstrap-428 .panel>.table-bordered>tbody>tr:last-child>th,.factory-bootstrap-428 .panel>.table-bordered>tfoot>tr:last-child>td,.factory-bootstrap-428 .panel>.table-bordered>tfoot>tr:last-child>th,.factory-bootstrap-428 .panel>.table-bordered>thead>tr:last-child>td,.factory-bootstrap-428 .panel>.table-bordered>thead>tr:last-child>th,.factory-bootstrap-428 .panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.factory-bootstrap-428 .panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.factory-bootstrap-428 .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.factory-bootstrap-428 .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.factory-bootstrap-428 .panel>.table-responsive>.table-bordered>thead>tr:last-child>td,.factory-bootstrap-428 .panel>.table-responsive>.table-bordered>thead>tr:last-child>th{border-bottom:0}.factory-bootstrap-428 .panel>.table-responsive{margin-bottom:0;border:0}.factory-bootstrap-428 .panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.factory-bootstrap-428 .panel-heading>.dropdown .dropdown-toggle{color:inherit}.factory-bootstrap-428 .panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.factory-bootstrap-428 .panel-title>a{color:inherit}.factory-bootstrap-428 .panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.factory-bootstrap-428 .panel-group .panel{margin-bottom:0;overflow:hidden;border-radius:4px}.factory-bootstrap-428 .panel-group .panel+.panel{margin-top:5px}.factory-bootstrap-428 .panel-group .panel-heading{border-bottom:0}.factory-bootstrap-428 .panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #ddd}.factory-bootstrap-428 .panel-group .panel-footer{border-top:0}.factory-bootstrap-428 .panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.factory-bootstrap-428 .panel-default{border-color:#ddd}.factory-bootstrap-428 .panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.factory-bootstrap-428 .panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#ddd}.factory-bootstrap-428 .panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ddd}.factory-bootstrap-428 .panel-primary{border-color:#428bca}.factory-bootstrap-428 .panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.factory-bootstrap-428 .panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#428bca}.factory-bootstrap-428 .panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#428bca}.factory-bootstrap-428 .panel-success{border-color:#d6e9c6}.factory-bootstrap-428 .panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.factory-bootstrap-428 .panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#d6e9c6}.factory-bootstrap-428 .panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6}.factory-bootstrap-428 .panel-warning{border-color:#faebcc}.factory-bootstrap-428 .panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.factory-bootstrap-428 .panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#faebcc}.factory-bootstrap-428 .panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#faebcc}.factory-bootstrap-428 .panel-danger{border-color:#ebccd1}.factory-bootstrap-428 .panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.factory-bootstrap-428 .panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#ebccd1}.factory-bootstrap-428 .panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ebccd1}.factory-bootstrap-428 .panel-info{border-color:#bce8f1}.factory-bootstrap-428 .panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.factory-bootstrap-428 .panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#bce8f1}.factory-bootstrap-428 .panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1}.factory-bootstrap-428 .well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px}.factory-bootstrap-428 .well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.factory-bootstrap-428 .well-lg{padding:24px;border-radius:6px}.factory-bootstrap-428 .well-sm{padding:9px;border-radius:3px}.factory-bootstrap-428 .close{float:right;font-size:14px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.3;filter:alpha(opacity=30)}.factory-bootstrap-428 .alert .close{position:relative;top:-8px;right:-7px}.factory-bootstrap-428 .close:focus,.factory-bootstrap-428 .close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-428 button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.factory-bootstrap-428 .modal-open{overflow:hidden}.factory-bootstrap-428 .modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;display:none;overflow:auto;overflow-y:scroll;width:auto;margin-left:0;background-color:transparent;border:0}.factory-bootstrap-428 .modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.factory-bootstrap-428 .modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}.factory-bootstrap-428 .modal-dialog{position:relative;z-index:1050;width:auto;margin:10px}.factory-bootstrap-428 .modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);background-clip:padding-box}.factory-bootstrap-428 .modal-backdrop,.factory-bootstrap-428-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1030;background-color:#000}.factory-bootstrap-428 .modal-backdrop.fade,.factory-bootstrap-428-modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.factory-bootstrap-428 .modal-backdrop.in,.factory-bootstrap-428-modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-428 .modal-header{min-height:16.428571429px;padding:15px;border-bottom:1px solid #e5e5e5}.factory-bootstrap-428 .modal-header .close{margin-top:-2px}.factory-bootstrap-428 .modal-title{margin:0;line-height:1.428571429}.factory-bootstrap-428 .modal-body{position:relative;padding:20px;max-height:none}.factory-bootstrap-428 .modal-footer{padding:19px 20px 20px;margin-top:15px;text-align:right;border-top:1px solid #e5e5e5}.factory-bootstrap-428 .modal-footer:after,.factory-bootstrap-428 .modal-footer:before{display:table;content:" "}.factory-bootstrap-428 .modal-footer:after{clear:both}.factory-bootstrap-428 .modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.factory-bootstrap-428 .modal-footer .btn-group .btn+.btn{margin-left:-1px}.factory-bootstrap-428 .modal-footer .btn-block+.btn-block{margin-left:0}@media screen and (min-width:768px){.factory-bootstrap-428 .modal-dialog{width:600px;margin:30px auto}.factory-bootstrap-428 .modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}}.factory-bootstrap-428 .tooltip{position:absolute;z-index:1030;display:block;font-size:12px;line-height:1.4;opacity:0;filter:alpha(opacity=0);visibility:visible}.factory-bootstrap-428 .tooltip.in{opacity:.9;filter:alpha(opacity=90)}.factory-bootstrap-428 .tooltip.top{padding:5px 0;margin-top:-3px}.factory-bootstrap-428 .tooltip.right{padding:0 5px;margin-left:3px}.factory-bootstrap-428 .tooltip.bottom{padding:5px 0;margin-top:3px}.factory-bootstrap-428 .tooltip.left{padding:0 5px;margin-left:-3px}.factory-bootstrap-428 .tooltip-inner{width:400px;padding:15px 20px;color:#fff;text-align:left;text-decoration:none;background-color:#673ab7;border-radius:3px}.factory-bootstrap-428 .tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.factory-bootstrap-428 .tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-428 .tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-428 .tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-428 .tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#673ab7;border-width:5px 5px 5px 0}.factory-bootstrap-428 .tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#673ab7;border-width:5px 0 5px 5px}.factory-bootstrap-428 .tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-428 .tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-428 .tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-428 .popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);background-clip:padding-box}.factory-bootstrap-428 .popover.top{margin-top:-10px}.factory-bootstrap-428 .popover.right{margin-left:10px}.factory-bootstrap-428 .popover.bottom{margin-top:10px}.factory-bootstrap-428 .popover.left{margin-left:-10px}.factory-bootstrap-428 .popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.factory-bootstrap-428 .popover-content{padding:9px 14px}.factory-bootstrap-428 .popover .arrow,.factory-bootstrap-428 .popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.factory-bootstrap-428 .popover .arrow{border-width:11px}.factory-bootstrap-428 .popover .arrow:after{border-width:10px;content:""}.factory-bootstrap-428 .popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.factory-bootstrap-428 .popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0;content:" "}.factory-bootstrap-428 .popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.factory-bootstrap-428 .popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0;content:" "}.factory-bootstrap-428 .popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);border-top-width:0}.factory-bootstrap-428 .popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0;content:" "}.factory-bootstrap-428 .popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,.25);border-right-width:0}.factory-bootstrap-428 .popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0;content:" "}.factory-bootstrap-428 .carousel{position:relative}.factory-bootstrap-428 .carousel-inner{position:relative;width:100%;overflow:hidden}.factory-bootstrap-428 .carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.factory-bootstrap-428 .carousel-inner>.item>a>img,.factory-bootstrap-428 .carousel-inner>.item>img{display:block;height:auto;max-width:100%;line-height:1}.factory-bootstrap-428 .carousel-inner>.active,.factory-bootstrap-428 .carousel-inner>.next,.factory-bootstrap-428 .carousel-inner>.prev{display:block}.factory-bootstrap-428 .carousel-inner>.active{left:0}.factory-bootstrap-428 .carousel-inner>.next,.factory-bootstrap-428 .carousel-inner>.prev{position:absolute;top:0;width:100%}.factory-bootstrap-428 .carousel-inner>.next{left:100%}.factory-bootstrap-428 .carousel-inner>.prev{left:-100%}.factory-bootstrap-428 .carousel-inner>.next.left,.factory-bootstrap-428 .carousel-inner>.prev.right{left:0}.factory-bootstrap-428 .carousel-inner>.active.left{left:-100%}.factory-bootstrap-428 .carousel-inner>.active.right{left:100%}.factory-bootstrap-428 .carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-428 .carousel-control.left{background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.5) 0),color-stop(rgba(0,0,0,.0001) 100%));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.factory-bootstrap-428 .carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.0001) 0),color-stop(rgba(0,0,0,.5) 100%));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.factory-bootstrap-428 .carousel-control:focus,.factory-bootstrap-428 .carousel-control:hover{color:#fff;text-decoration:none;outline:0;opacity:.9;filter:alpha(opacity=90)}.factory-bootstrap-428 .carousel-control .glyphicon-chevron-left,.factory-bootstrap-428 .carousel-control .glyphicon-chevron-right,.factory-bootstrap-428 .carousel-control .icon-next,.factory-bootstrap-428 .carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block}.factory-bootstrap-428 .carousel-control .glyphicon-chevron-left,.factory-bootstrap-428 .carousel-control .icon-prev{left:50%}.factory-bootstrap-428 .carousel-control .glyphicon-chevron-right,.factory-bootstrap-428 .carousel-control .icon-next{right:50%}.factory-bootstrap-428 .carousel-control .icon-next,.factory-bootstrap-428 .carousel-control .icon-prev{width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:serif}.factory-bootstrap-428 .carousel-control .icon-prev:before{content:'\2039'}.factory-bootstrap-428 .carousel-control .icon-next:before{content:'\203a'}.factory-bootstrap-428 .carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.factory-bootstrap-428 .carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.factory-bootstrap-428 .carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.factory-bootstrap-428 .carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.factory-bootstrap-428 .carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicons-chevron-left,.carousel-control .glyphicons-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-15px;margin-left:-15px;font-size:30px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.factory-bootstrap-428 .clearfix:after,.factory-bootstrap-428 .clearfix:before{display:table;content:" "}.factory-bootstrap-428 .clearfix:after{clear:both}.factory-bootstrap-428 .center-block{display:block;margin-right:auto;margin-left:auto}.factory-bootstrap-428 .pull-right{float:right!important}.factory-bootstrap-428 .pull-left{float:left!important}.factory-bootstrap-428 .hide{display:none!important}.factory-bootstrap-428 .show{display:block!important}.factory-bootstrap-428 .invisible{visibility:hidden}.factory-bootstrap-428 .text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.factory-bootstrap-428 .hidden{display:none!important;visibility:hidden!important}.factory-bootstrap-428 .affix{position:fixed}@-ms-viewport{width:device-width}.factory-bootstrap-428 .visible-lg,.factory-bootstrap-428 .visible-md,.factory-bootstrap-428 .visible-sm,.factory-bootstrap-428 .visible-xs,.factory-bootstrap-428 td.visible-lg,.factory-bootstrap-428 td.visible-md,.factory-bootstrap-428 td.visible-sm,.factory-bootstrap-428 td.visible-xs,.factory-bootstrap-428 th.visible-lg,.factory-bootstrap-428 th.visible-md,.factory-bootstrap-428 th.visible-sm,.factory-bootstrap-428 th.visible-xs,.factory-bootstrap-428 tr.visible-lg,.factory-bootstrap-428 tr.visible-md,.factory-bootstrap-428 tr.visible-sm,.factory-bootstrap-428 tr.visible-xs{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-xs.visible-sm{display:block!important}table.visible-xs.visible-sm{display:table}tr.visible-xs.visible-sm{display:table-row!important}td.visible-xs.visible-sm,th.visible-xs.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-xs.visible-md{display:block!important}table.visible-xs.visible-md{display:table}tr.visible-xs.visible-md{display:table-row!important}td.visible-xs.visible-md,th.visible-xs.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-xs.visible-lg{display:block!important}table.visible-xs.visible-lg{display:table}tr.visible-xs.visible-lg{display:table-row!important}td.visible-xs.visible-lg,th.visible-xs.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-sm.visible-xs{display:block!important}table.visible-sm.visible-xs{display:table}tr.visible-sm.visible-xs{display:table-row!important}td.visible-sm.visible-xs,th.visible-sm.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-sm.visible-md{display:block!important}table.visible-sm.visible-md{display:table}tr.visible-sm.visible-md{display:table-row!important}td.visible-sm.visible-md,th.visible-sm.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-sm.visible-lg{display:block!important}table.visible-sm.visible-lg{display:table}tr.visible-sm.visible-lg{display:table-row!important}td.visible-sm.visible-lg,th.visible-sm.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-md.visible-xs{display:block!important}table.visible-md.visible-xs{display:table}tr.visible-md.visible-xs{display:table-row!important}td.visible-md.visible-xs,th.visible-md.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-md.visible-sm{display:block!important}table.visible-md.visible-sm{display:table}tr.visible-md.visible-sm{display:table-row!important}td.visible-md.visible-sm,th.visible-md.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-md.visible-lg{display:block!important}table.visible-md.visible-lg{display:table}tr.visible-md.visible-lg{display:table-row!important}td.visible-md.visible-lg,th.visible-md.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-lg.visible-xs{display:block!important}table.visible-lg.visible-xs{display:table}tr.visible-lg.visible-xs{display:table-row!important}td.visible-lg.visible-xs,th.visible-lg.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-lg.visible-sm{display:block!important}table.visible-lg.visible-sm{display:table}tr.visible-lg.visible-sm{display:table-row!important}td.visible-lg.visible-sm,th.visible-lg.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-lg.visible-md{display:block!important}table.visible-lg.visible-md{display:table}tr.visible-lg.visible-md{display:table-row!important}td.visible-lg.visible-md,th.visible-lg.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}.factory-bootstrap-428 .hidden-xs{display:block!important}.factory-bootstrap-428 table.hidden-xs{display:table}.factory-bootstrap-428 tr.hidden-xs{display:table-row!important}.factory-bootstrap-428 td.hidden-xs,.factory-bootstrap-428 th.hidden-xs{display:table-cell!important}@media (max-width:767px){.hidden-xs,td.hidden-xs,th.hidden-xs,tr.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-xs.hidden-sm,td.hidden-xs.hidden-sm,th.hidden-xs.hidden-sm,tr.hidden-xs.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-xs.hidden-md,td.hidden-xs.hidden-md,th.hidden-xs.hidden-md,tr.hidden-xs.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-xs.hidden-lg,td.hidden-xs.hidden-lg,th.hidden-xs.hidden-lg,tr.hidden-xs.hidden-lg{display:none!important}}.factory-bootstrap-428 .hidden-sm{display:block!important}.factory-bootstrap-428 table.hidden-sm{display:table}.factory-bootstrap-428 tr.hidden-sm{display:table-row!important}.factory-bootstrap-428 td.hidden-sm,.factory-bootstrap-428 th.hidden-sm{display:table-cell!important}@media (max-width:767px){.hidden-sm.hidden-xs,td.hidden-sm.hidden-xs,th.hidden-sm.hidden-xs,tr.hidden-sm.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm,td.hidden-sm,th.hidden-sm,tr.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-sm.hidden-md,td.hidden-sm.hidden-md,th.hidden-sm.hidden-md,tr.hidden-sm.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-sm.hidden-lg,td.hidden-sm.hidden-lg,th.hidden-sm.hidden-lg,tr.hidden-sm.hidden-lg{display:none!important}}.factory-bootstrap-428 .hidden-md{display:block!important}.factory-bootstrap-428 table.hidden-md{display:table}.factory-bootstrap-428 tr.hidden-md{display:table-row!important}.factory-bootstrap-428 td.hidden-md,.factory-bootstrap-428 th.hidden-md{display:table-cell!important}@media (max-width:767px){.hidden-md.hidden-xs,td.hidden-md.hidden-xs,th.hidden-md.hidden-xs,tr.hidden-md.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-md.hidden-sm,td.hidden-md.hidden-sm,th.hidden-md.hidden-sm,tr.hidden-md.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md,td.hidden-md,th.hidden-md,tr.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-md.hidden-lg,td.hidden-md.hidden-lg,th.hidden-md.hidden-lg,tr.hidden-md.hidden-lg{display:none!important}}.factory-bootstrap-428 .hidden-lg{display:block!important}.factory-bootstrap-428 table.hidden-lg{display:table}.factory-bootstrap-428 tr.hidden-lg{display:table-row!important}.factory-bootstrap-428 td.hidden-lg,.factory-bootstrap-428 th.hidden-lg{display:table-cell!important}@media (max-width:767px){.factory-bootstrap-428 .hidden-lg.hidden-xs,.factory-bootstrap-428 td.hidden-lg.hidden-xs,.factory-bootstrap-428 th.hidden-lg.hidden-xs,.factory-bootstrap-428 tr.hidden-lg.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.factory-bootstrap-428 .hidden-lg.hidden-sm,.factory-bootstrap-428 td.hidden-lg.hidden-sm,.factory-bootstrap-428 th.hidden-lg.hidden-sm,.factory-bootstrap-428 tr.hidden-lg.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.factory-bootstrap-428 .hidden-lg.hidden-md,.factory-bootstrap-428 td.hidden-lg.hidden-md,.factory-bootstrap-428 th.hidden-lg.hidden-md,.factory-bootstrap-428 tr.hidden-lg.hidden-md{display:none!important}}@media (min-width:1200px){.factory-bootstrap-428 .hidden-lg,.factory-bootstrap-428 td.hidden-lg,.factory-bootstrap-428 th.hidden-lg,.factory-bootstrap-428 tr.hidden-lg{display:none!important}}.factory-bootstrap-428 .visible-print,.factory-bootstrap-428 td.visible-print,.factory-bootstrap-428 th.visible-print,.factory-bootstrap-428 tr.visible-print{display:none!important}@media print{.factory-bootstrap-428 .visible-print{display:block!important}.factory-bootstrap-428 table.visible-print{display:table}.factory-bootstrap-428 tr.visible-print{display:table-row!important}.factory-bootstrap-428 td.visible-print,.factory-bootstrap-428 th.visible-print{display:table-cell!important}.factory-bootstrap-428 .hidden-print,.factory-bootstrap-428 td.hidden-print,.factory-bootstrap-428 th.hidden-print,.factory-bootstrap-428 tr.hidden-print{display:none!important}}/*!
12
  * Factory Default Bootstrap Theme
13
  *
14
  * The code is based on Bootstrap v2.1.1
@@ -22,4 +22,4 @@
22
  *
23
  * @package factory-bootstrap
24
  * @since 1.0.0
25
- */.factory-bootstrap-428 .btn-danger,.factory-bootstrap-428 .btn-default,.factory-bootstrap-428 .btn-info,.factory-bootstrap-428 .btn-primary,.factory-bootstrap-428 .btn-success,.factory-bootstrap-428 .btn-warning{-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-428 .btn-danger.active,.factory-bootstrap-428 .btn-danger:active,.factory-bootstrap-428 .btn-default.active,.factory-bootstrap-428 .btn-default:active,.factory-bootstrap-428 .btn-info.active,.factory-bootstrap-428 .btn-info:active,.factory-bootstrap-428 .btn-primary.active,.factory-bootstrap-428 .btn-primary:active,.factory-bootstrap-428 .btn-success.active,.factory-bootstrap-428 .btn-success:active,.factory-bootstrap-428 .btn-warning.active,.factory-bootstrap-428 .btn-warning:active{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.1);box-shadow:inset 0 1px 1px rgba(0,0,0,.1)}.factory-bootstrap-428 .btn.active,.factory-bootstrap-428 .btn:active{background-image:none}.factory-bootstrap-428 .btn-default{color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);vertical-align:top}.factory-bootstrap-428 .btn-default.active,.factory-bootstrap-428 .btn-default:active{background-color:#fff;border-color:#dbdbdb}.factory-bootstrap-428 .btn-gold{font-weight:700;padding:7px 12px;cursor:pointer;line-height:16px;display:inline-block;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;box-shadow:#e3e3e3 0 1px 1px;-moz-box-shadow:0 1px 1px rgba(000,000,000,.1),inset 0 1px 1px rgba(255,255,255,.7);-webkit-box-shadow:0 1px 1px rgba(000,000,000,.1),inset 0 1px 1px rgba(255,255,255,.7);text-shadow:1px 1px 0 #ffe8b2;color:#7c5d1b;border:1px solid #d6a437;background:#feeb80}.factory-bootstrap-428 .btn-gold:focus,.factory-bootstrap-428 .btn-gold:hover{background:#fef0a1}.factory-bootstrap-428 .btn-gold.active,.factory-bootstrap-428 .btn-gold:active{background:#fef0a1;-webkit-box-shadow:inset 0 3px 8px 0 #f8ba36;box-shadow:inset 0 3px 8px 0 #f8ba36}.factory-bootstrap-428 .btn-primary{background:#2ea2cc;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);color:#fff;text-decoration:none}.factory-bootstrap-428 .btn-primary:focus,.factory-bootstrap-428 .btn-primary:hover{background:#1e8cbe;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6);box-shadow:inset 0 1px 0 rgba(120,200,230,.6);color:#fff}.factory-bootstrap-428 .btn-primary.active,.factory-bootstrap-428 .btn-primary:active{background-color:#2d6ca2;border-color:#2b669a}.factory-bootstrap-428 .btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);background-repeat:repeat-x;border-color:#3e8f3e;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-428 .btn-success:focus,.factory-bootstrap-428 .btn-success:hover{background-color:#419641;background-position:0 -15px}.factory-bootstrap-428 .btn-success.active,.factory-bootstrap-428 .btn-success:active{background-color:#419641;border-color:#3e8f3e}.factory-bootstrap-428 .btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);background-repeat:repeat-x;border-color:#e38d13;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-428 .btn-warning:focus,.factory-bootstrap-428 .btn-warning:hover{background-color:#eb9316;background-position:0 -15px}.factory-bootstrap-428 .btn-warning.active,.factory-bootstrap-428 .btn-warning:active{background-color:#eb9316;border-color:#e38d13}.factory-bootstrap-428 .btn-danger{color:#fff;background:#d9534f;border-color:#d43f3a}.factory-bootstrap-428 .btn-danger.active,.factory-bootstrap-428 .btn-danger:active,.factory-bootstrap-428 .btn-danger:focus,.factory-bootstrap-428 .btn-danger:hover,.factory-bootstrap-428 .open .dropdown-toggle.btn-danger{color:#fff;background-color:#d2322d;border-color:#ac2925}.factory-bootstrap-428 .btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);background-repeat:repeat-x;border-color:#28a4c9;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-428 .btn-info:focus,.factory-bootstrap-428 .btn-info:hover{background-color:#2aabd2;background-position:0 -15px}.factory-bootstrap-428 .btn-info.active,.factory-bootstrap-428 .btn-info:active{background-color:#2aabd2;border-color:#28a4c9}.factory-bootstrap-428 .img-thumbnail,.factory-bootstrap-428 .thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.factory-bootstrap-428 .dropdown-menu>li>a:focus,.factory-bootstrap-428 .dropdown-menu>li>a:hover{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0)}.factory-bootstrap-428 .dropdown-menu>.active>a,.factory-bootstrap-428 .dropdown-menu>.active>a:focus,.factory-bootstrap-428 .dropdown-menu>.active>a:hover{background-color:#357ebd;background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0)}.factory-bootstrap-428 .navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);background-repeat:repeat-x;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.factory-bootstrap-428 .navbar-default .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f3f3f3 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f3f3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff3f3f3', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.factory-bootstrap-428 .navbar-brand,.factory-bootstrap-428 .navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.factory-bootstrap-428 .navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-428 .navbar-inverse .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#222 0,#282828 100%);background-image:linear-gradient(to bottom,#222 0,#282828 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff282828', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.factory-bootstrap-428 .navbar-inverse .navbar-brand,.factory-bootstrap-428 .navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.factory-bootstrap-428 .navbar-fixed-bottom,.factory-bootstrap-428 .navbar-fixed-top,.factory-bootstrap-428 .navbar-static-top{border-radius:0}.factory-bootstrap-428 .alert{-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.factory-bootstrap-428 .alert .actions{padding-top:10px}.factory-bootstrap-428 .alert-success{color:#3c763d;background-color:#dff0d8;border-bottom:2px solid #c8e5bc}.factory-bootstrap-428 .alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);background-repeat:repeat-x;border-color:#9acfea;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0)}.factory-bootstrap-428 .alert{text-shadow:none;box-shadow:none;margin:0;margin-top:10px;margin-bottom:10px;padding:10px}.factory-bootstrap-428 .alert-normal,.factory-bootstrap-428 .alert-warning{background:#fcf8e3;color:#8a6d3b;border:1px solid #b8823b}.factory-bootstrap-428 .alert-danger{background:#cf4944;color:#fff;border-bottom:2px solid #b23e3a}.factory-bootstrap-428 .alert-danger a:not(.btn),.factory-bootstrap-428 .alert-error a:not(.btn){color:#fff}.factory-bootstrap-428 .progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0)}.factory-bootstrap-428 .progress-bar{background-image:-webkit-linear-gradient(top,#428bca 0,#3071a9 100%);background-image:linear-gradient(to bottom,#428bca 0,#3071a9 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0)}.factory-bootstrap-428 .progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0)}.factory-bootstrap-428 .progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0)}.factory-bootstrap-428 .progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0)}.factory-bootstrap-428 .progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0)}.factory-bootstrap-428 .list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.factory-bootstrap-428 .list-group-item.active,.factory-bootstrap-428 .list-group-item.active:focus,.factory-bootstrap-428 .list-group-item.active:hover{text-shadow:0 -1px 0 #3071a9;background-image:-webkit-linear-gradient(top,#428bca 0,#3278b3 100%);background-image:linear-gradient(to bottom,#428bca 0,#3278b3 100%);background-repeat:repeat-x;border-color:#3278b3;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0)}.factory-bootstrap-428 .panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.factory-bootstrap-428 .panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0)}.factory-bootstrap-428 .panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0)}.factory-bootstrap-428 .panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0)}.factory-bootstrap-428 .panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0)}.factory-bootstrap-428 .panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0)}.factory-bootstrap-428 .panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0)}.factory-bootstrap-428 .well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);background-repeat:repeat-x;border-color:#dcdcdc;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)}.factory-bootstrap-428 .factory-after{margin-left:7px;display:inline-block}.factory-bootstrap-428 .factory-hidden{display:none}.factory-bootstrap-428 .factory-ajax-loader{width:25px;height:25px;background:url(../assets/images/loader-sm-tr.gif)}.factory-control-error{background-color:rgba(0,0,0,.8);white-space:normal;z-index:10;font-weight:400;line-height:150%;border-radius:4px;color:#fff;font-size:13px;margin-top:5px;padding:4px 10px 3px;max-width:500px;display:inline-block}.factory-control-error i{margin:0 7px 0 1px}
8
  */
9
 
10
 
11
+ .factory-bootstrap-429 article,.factory-bootstrap-429 aside,.factory-bootstrap-429 details,.factory-bootstrap-429 figcaption,.factory-bootstrap-429 figure,.factory-bootstrap-429 footer,.factory-bootstrap-429 header,.factory-bootstrap-429 hgroup,.factory-bootstrap-429 main,.factory-bootstrap-429 nav,.factory-bootstrap-429 section,.factory-bootstrap-429 summary{display:block}.factory-bootstrap-429 audio,.factory-bootstrap-429 canvas,.factory-bootstrap-429 video{display:inline-block}.factory-bootstrap-429 audio:not([controls]){display:none;height:0}.factory-bootstrap-429 [hidden],.factory-bootstrap-429 template{display:none}.factory-bootstrap-429 body{margin:0}.factory-bootstrap-429 a{background:0 0}.factory-bootstrap-429 a:focus{outline:thin dotted}.factory-bootstrap-429 a:active,.factory-bootstrap-429 a:hover{outline:0}.factory-bootstrap-429 h1{margin:.67em 0}.factory-bootstrap-429 b,.factory-bootstrap-429 strong{font-weight:700}.factory-bootstrap-429 dfn{font-style:italic}.factory-bootstrap-429 hr{height:0;-moz-box-sizing:content-box;box-sizing:content-box}.factory-bootstrap-429 mark{color:#000;background:#ff0}.factory-bootstrap-429 code,.factory-bootstrap-429 kbd,.factory-bootstrap-429 pre,.factory-bootstrap-429 samp{font-size:1em}.factory-bootstrap-429 pre{white-space:pre-wrap}.factory-bootstrap-429 q{quotes:"\201C" "\201D" "\2018" "\2019"}.factory-bootstrap-429 sub,.factory-bootstrap-429 sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}.factory-bootstrap-429 sup{top:-.5em}.factory-bootstrap-429 sub{bottom:-.25em}.factory-bootstrap-429 img{border:0}.factory-bootstrap-429 svg:not(:root){overflow:hidden}.factory-bootstrap-429 figure{margin:0}.factory-bootstrap-429 button,.factory-bootstrap-429 input,.factory-bootstrap-429 select,.factory-bootstrap-429 textarea{margin:0}.factory-bootstrap-429 button,.factory-bootstrap-429 select{text-transform:none}.factory-bootstrap-429 select{padding-right:4px!important}.factory-bootstrap-429 button,.factory-bootstrap-429 input[type=reset],.factory-bootstrap-429 input[type=submit],html .factory-bootstrap-429 input[type=button]{cursor:pointer;-webkit-appearance:button}.factory-bootstrap-429 button[disabled],html .factory-bootstrap-429 input[disabled]{cursor:default}.factory-bootstrap-429 input[type=checkbox],.factory-bootstrap-429 input[type=radio]{padding:0;box-sizing:border-box}.factory-bootstrap-429 input[type=search]{-webkit-appearance:textfield}.factory-bootstrap-429 input[type=search]::-webkit-search-cancel-button,.factory-bootstrap-429 input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.factory-bootstrap-429 button::-moz-focus-inner,.factory-bootstrap-429 input::-moz-focus-inner{padding:0;border:0}.factory-bootstrap-429 textarea{overflow:auto;vertical-align:top}.factory-bootstrap-429 table{border-collapse:collapse;border-spacing:0}@media print{.factory-bootstrap-429 *{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}.factory-bootstrap-429 a,.factory-bootstrap-429 a:visited{text-decoration:underline}.factory-bootstrap-429 a[href]:after{content:" (" attr(href) ")"}.factory-bootstrap-429 abbr[title]:after{content:" (" attr(title) ")"}.factory-bootstrap-429 a[href^="javascript:"]:after,.factory-bootstrap-429 a[href^="#"]:after{content:""}.factory-bootstrap-429 blockquote,.factory-bootstrap-429 pre{border:1px solid #999;page-break-inside:avoid}.factory-bootstrap-429 thead{display:table-header-group}.factory-bootstrap-429 img,.factory-bootstrap-429 tr{page-break-inside:avoid}.factory-bootstrap-429 img{max-width:100%!important}@page{margin:2cm .5cm}.factory-bootstrap-429 h2,.factory-bootstrap-429 h3,.factory-bootstrap-429 p{orphans:3;widows:3}.factory-bootstrap-429 h2,.factory-bootstrap-429 h3{page-break-after:avoid}.factory-bootstrap-429 select{background:#fff!important}.factory-bootstrap-429 .navbar{display:none}.factory-bootstrap-429 .table td,.factory-bootstrap-429 .table th{background-color:#fff!important}.factory-bootstrap-429 .btn>.caret,.factory-bootstrap-429 .dropup>.btn>.caret{border-top-color:#000!important}.factory-bootstrap-429 .label{border:1px solid #000}.factory-bootstrap-429 .table{border-collapse:collapse!important}.factory-bootstrap-429 .table-bordered td,.factory-bootstrap-429 .table-bordered th{border:1px solid #ddd!important}}.factory-bootstrap-429 *,.factory-bootstrap-429 :after,.factory-bootstrap-429 :before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html .factory-bootstrap-429{-webkit-tap-highlight-color:rgba(0,0,0,0)}.factory-bootstrap-429 body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.428571429;color:#333;background-color:#fff}.factory-bootstrap-429 button,.factory-bootstrap-429 input,.factory-bootstrap-429 select,.factory-bootstrap-429 textarea{font-family:inherit;font-size:inherit;line-height:inherit}.factory-bootstrap-429 img{vertical-align:middle}.factory-bootstrap-429 .img-responsive{display:block;height:auto;max-width:100%}.factory-bootstrap-429 .img-rounded{border-radius:6px}.factory-bootstrap-429 .img-thumbnail{display:inline-block;height:auto;max-width:100%;padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.factory-bootstrap-429 .img-circle{border-radius:50%}.factory-bootstrap-429 hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.factory-bootstrap-429 .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.factory-bootstrap-429 .h1,.factory-bootstrap-429 .h2,.factory-bootstrap-429 .h3,.factory-bootstrap-429 .h4,.factory-bootstrap-429 .h5,.factory-bootstrap-429 .h6,.factory-bootstrap-429 h1,.factory-bootstrap-429 h2,.factory-bootstrap-429 h3,.factory-bootstrap-429 h4,.factory-bootstrap-429 h5,.factory-bootstrap-429 h6{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;line-height:1.1;color:inherit}.factory-bootstrap-429 .h1 .small,.factory-bootstrap-429 .h1 small,.factory-bootstrap-429 .h2 .small,.factory-bootstrap-429 .h2 small,.factory-bootstrap-429 .h3 .small,.factory-bootstrap-429 .h3 small,.factory-bootstrap-429 .h4 .small,.factory-bootstrap-429 .h4 small,.factory-bootstrap-429 .h5 .small,.factory-bootstrap-429 .h5 small,.factory-bootstrap-429 .h6 .small,.factory-bootstrap-429 .h6 small,.factory-bootstrap-429 h1 .small,.factory-bootstrap-429 h1 small,.factory-bootstrap-429 h2 .small,.factory-bootstrap-429 h2 small,.factory-bootstrap-429 h3 .small,.factory-bootstrap-429 h3 small,.factory-bootstrap-429 h4 .small,.factory-bootstrap-429 h4 small,.factory-bootstrap-429 h5 .small,.factory-bootstrap-429 h5 small,.factory-bootstrap-429 h6 .small,.factory-bootstrap-429 h6 small{font-weight:400;line-height:1;color:#999}.factory-bootstrap-429 h1,.factory-bootstrap-429 h2,.factory-bootstrap-429 h3{margin-top:20px;margin-bottom:10px}.factory-bootstrap-429 h1 .small,.factory-bootstrap-429 h1 small,.factory-bootstrap-429 h2 .small,.factory-bootstrap-429 h2 small,.factory-bootstrap-429 h3 .small,.factory-bootstrap-429 h3 small{font-size:65%}.factory-bootstrap-429 h4,.factory-bootstrap-429 h5,.factory-bootstrap-429 h6{margin-top:10px;margin-bottom:10px}.factory-bootstrap-429 h4 .small,.factory-bootstrap-429 h4 small,.factory-bootstrap-429 h5 .small,.factory-bootstrap-429 h5 small,.factory-bootstrap-429 h6 .small,.factory-bootstrap-429 h6 small{font-size:75%}.factory-bootstrap-429 .h1,.factory-bootstrap-429 h1{font-size:36px}.factory-bootstrap-429 .h2,.factory-bootstrap-429 h2{font-size:30px}.factory-bootstrap-429 .h3,.factory-bootstrap-429 h3{font-size:24px}.factory-bootstrap-429 .h4,.factory-bootstrap-429 h4{font-size:18px}.factory-bootstrap-429 .h5,.factory-bootstrap-429 h5{font-size:14px}.factory-bootstrap-429 .h6,.factory-bootstrap-429 h6{font-size:12px}.factory-bootstrap-429 p{margin:0 0 10px}.factory-bootstrap-429 .lead{margin-bottom:20px;font-size:16px;font-weight:200;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.factory-bootstrap-429 .small,.factory-bootstrap-429 small{font-size:85%}.factory-bootstrap-429 cite{font-style:normal}.factory-bootstrap-429 .text-muted{color:#999}.factory-bootstrap-429 .text-primary{color:#428bca}.factory-bootstrap-429 .text-primary:hover{color:#3071a9}.factory-bootstrap-429 .text-warning{color:#8a6d3b}.factory-bootstrap-429 .text-warning:hover{color:#66512c}.factory-bootstrap-429 .text-danger{color:#a94442}.factory-bootstrap-429 .text-danger:hover{color:#843534}.factory-bootstrap-429 .text-success{color:#3c763d}.factory-bootstrap-429 .text-success:hover{color:#2b542c}.factory-bootstrap-429 .text-info{color:#31708f}.factory-bootstrap-429 .text-info:hover{color:#245269}.factory-bootstrap-429 .text-left{text-align:left}.factory-bootstrap-429 .text-right{text-align:right}.factory-bootstrap-429 .text-center{text-align:center}.factory-bootstrap-429 .page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}.factory-bootstrap-429 ol,.factory-bootstrap-429 ul{margin-top:0;margin-bottom:10px}.factory-bootstrap-429 ol ol,.factory-bootstrap-429 ol ul,.factory-bootstrap-429 ul ol,.factory-bootstrap-429 ul ul{margin-bottom:0}.factory-bootstrap-429 .list-inline,.factory-bootstrap-429 .list-unstyled{padding-left:0;list-style:none}.factory-bootstrap-429 .list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}.factory-bootstrap-429 .list-inline>li:first-child{padding-left:0}.factory-bootstrap-429 dl{margin-top:0;margin-bottom:20px}.factory-bootstrap-429 dd,.factory-bootstrap-429 dt{line-height:1.428571429}.factory-bootstrap-429 dt{font-weight:700}.factory-bootstrap-429 dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}.dl-horizontal dd:after,.dl-horizontal dd:before{display:table;content:" "}.dl-horizontal dd:after{clear:both}}.factory-bootstrap-429 abbr[data-original-title],.factory-bootstrap-429 abbr[title]{cursor:help;border-bottom:1px dotted #999}.factory-bootstrap-429 .initialism{font-size:90%;text-transform:uppercase}.factory-bootstrap-429 blockquote{padding:10px 20px;margin:0 0 20px;border-left:5px solid #eee}.factory-bootstrap-429 blockquote p{font-size:17.5px;font-weight:300;line-height:1.25}.factory-bootstrap-429 blockquote p:last-child{margin-bottom:0}.factory-bootstrap-429 blockquote .small,.factory-bootstrap-429 blockquote small{display:block;line-height:1.428571429;color:#999}.factory-bootstrap-429 blockquote .small:before,.factory-bootstrap-429 blockquote small:before{content:'\2014 \00A0'}.factory-bootstrap-429 blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}.factory-bootstrap-429 blockquote.pull-right .small,.factory-bootstrap-429 blockquote.pull-right p,.factory-bootstrap-429 blockquote.pull-right small{text-align:right}.factory-bootstrap-429 blockquote.pull-right .small:before,.factory-bootstrap-429 blockquote.pull-right small:before{content:''}.factory-bootstrap-429 blockquote.pull-right .small:after,.factory-bootstrap-429 blockquote.pull-right small:after{content:'\00A0 \2014'}.factory-bootstrap-429 blockquote:after,.factory-bootstrap-429 blockquote:before{content:""}.factory-bootstrap-429 address{margin-bottom:20px;font-style:normal;line-height:1.428571429}.factory-bootstrap-429 code,.factory-bootstrap-429 kbd,.factory-bootstrap-429 pre,.factory-bootstrap-429 samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}.factory-bootstrap-429 code{padding:2px 4px;font-size:90%;color:#c7254e;white-space:nowrap;background-color:#f9f2f4;border-radius:4px}.factory-bootstrap-429 pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.428571429;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}.factory-bootstrap-429 pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.factory-bootstrap-429 .pre-scrollable{max-height:340px;overflow-y:scroll}.factory-bootstrap-429 .container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.factory-bootstrap-429 .container:after,.factory-bootstrap-429 .container:before{display:table;content:" "}.factory-bootstrap-429 .container:after{clear:both}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.factory-bootstrap-429 .row{margin-right:-15px;margin-left:-15px}.factory-bootstrap-429 .row:after,.factory-bootstrap-429 .row:before{display:table;content:" "}.factory-bootstrap-429 .row:after{clear:both}.factory-bootstrap-429 .col-lg-1,.factory-bootstrap-429 .col-lg-10,.factory-bootstrap-429 .col-lg-11,.factory-bootstrap-429 .col-lg-12,.factory-bootstrap-429 .col-lg-2,.factory-bootstrap-429 .col-lg-3,.factory-bootstrap-429 .col-lg-4,.factory-bootstrap-429 .col-lg-5,.factory-bootstrap-429 .col-lg-6,.factory-bootstrap-429 .col-lg-7,.factory-bootstrap-429 .col-lg-8,.factory-bootstrap-429 .col-lg-9,.factory-bootstrap-429 .col-md-1,.factory-bootstrap-429 .col-md-10,.factory-bootstrap-429 .col-md-11,.factory-bootstrap-429 .col-md-12,.factory-bootstrap-429 .col-md-2,.factory-bootstrap-429 .col-md-3,.factory-bootstrap-429 .col-md-4,.factory-bootstrap-429 .col-md-5,.factory-bootstrap-429 .col-md-6,.factory-bootstrap-429 .col-md-7,.factory-bootstrap-429 .col-md-8,.factory-bootstrap-429 .col-md-9,.factory-bootstrap-429 .col-sm-1,.factory-bootstrap-429 .col-sm-10,.factory-bootstrap-429 .col-sm-11,.factory-bootstrap-429 .col-sm-12,.factory-bootstrap-429 .col-sm-2,.factory-bootstrap-429 .col-sm-3,.factory-bootstrap-429 .col-sm-4,.factory-bootstrap-429 .col-sm-5,.factory-bootstrap-429 .col-sm-6,.factory-bootstrap-429 .col-sm-7,.factory-bootstrap-429 .col-sm-8,.factory-bootstrap-429 .col-sm-9,.factory-bootstrap-429 .col-xs-1,.factory-bootstrap-429 .col-xs-10,.factory-bootstrap-429 .col-xs-11,.factory-bootstrap-429 .col-xs-12,.factory-bootstrap-429 .col-xs-2,.factory-bootstrap-429 .col-xs-3,.factory-bootstrap-429 .col-xs-4,.factory-bootstrap-429 .col-xs-5,.factory-bootstrap-429 .col-xs-6,.factory-bootstrap-429 .col-xs-7,.factory-bootstrap-429 .col-xs-8,.factory-bootstrap-429 .col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.factory-bootstrap-429 .col-xs-1,.factory-bootstrap-429 .col-xs-10,.factory-bootstrap-429 .col-xs-11,.factory-bootstrap-429 .col-xs-12,.factory-bootstrap-429 .col-xs-2,.factory-bootstrap-429 .col-xs-3,.factory-bootstrap-429 .col-xs-4,.factory-bootstrap-429 .col-xs-5,.factory-bootstrap-429 .col-xs-6,.factory-bootstrap-429 .col-xs-7,.factory-bootstrap-429 .col-xs-8,.factory-bootstrap-429 .col-xs-9{float:left}.factory-bootstrap-429 .col-xs-12{width:100%}.factory-bootstrap-429 .col-xs-11{width:91.66666666666666%}.factory-bootstrap-429 .col-xs-10{width:83.33333333333334%}.factory-bootstrap-429 .col-xs-9{width:75%}.factory-bootstrap-429 .col-xs-8{width:66.66666666666666%}.factory-bootstrap-429 .col-xs-7{width:58.333333333333336%}.factory-bootstrap-429 .col-xs-6{width:50%}.factory-bootstrap-429 .col-xs-5{width:41.66666666666667%}.factory-bootstrap-429 .col-xs-4{width:33.33333333333333%}.factory-bootstrap-429 .col-xs-3{width:25%}.factory-bootstrap-429 .col-xs-2{width:16.666666666666664%}.factory-bootstrap-429 .col-xs-1{width:8.333333333333332%}.factory-bootstrap-429 .col-xs-pull-12{right:100%}.factory-bootstrap-429 .col-xs-pull-11{right:91.66666666666666%}.factory-bootstrap-429 .col-xs-pull-10{right:83.33333333333334%}.factory-bootstrap-429 .col-xs-pull-9{right:75%}.factory-bootstrap-429 .col-xs-pull-8{right:66.66666666666666%}.factory-bootstrap-429 .col-xs-pull-7{right:58.333333333333336%}.factory-bootstrap-429 .col-xs-pull-6{right:50%}.factory-bootstrap-429 .col-xs-pull-5{right:41.66666666666667%}.factory-bootstrap-429 .col-xs-pull-4{right:33.33333333333333%}.factory-bootstrap-429 .col-xs-pull-3{right:25%}.factory-bootstrap-429 .col-xs-pull-2{right:16.666666666666664%}.factory-bootstrap-429 .col-xs-pull-1{right:8.333333333333332%}.factory-bootstrap-429 .col-xs-pull-0{right:0}.factory-bootstrap-429 .col-xs-push-12{left:100%}.factory-bootstrap-429 .col-xs-push-11{left:91.66666666666666%}.factory-bootstrap-429 .col-xs-push-10{left:83.33333333333334%}.factory-bootstrap-429 .col-xs-push-9{left:75%}.factory-bootstrap-429 .col-xs-push-8{left:66.66666666666666%}.factory-bootstrap-429 .col-xs-push-7{left:58.333333333333336%}.factory-bootstrap-429 .col-xs-push-6{left:50%}.factory-bootstrap-429 .col-xs-push-5{left:41.66666666666667%}.factory-bootstrap-429 .col-xs-push-4{left:33.33333333333333%}.factory-bootstrap-429 .col-xs-push-3{left:25%}.factory-bootstrap-429 .col-xs-push-2{left:16.666666666666664%}.factory-bootstrap-429 .col-xs-push-1{left:8.333333333333332%}.factory-bootstrap-429 .col-xs-push-0{left:0}.factory-bootstrap-429 .col-xs-offset-12{margin-left:100%}.factory-bootstrap-429 .col-xs-offset-11{margin-left:91.66666666666666%}.factory-bootstrap-429 .col-xs-offset-10{margin-left:83.33333333333334%}.factory-bootstrap-429 .col-xs-offset-9{margin-left:75%}.factory-bootstrap-429 .col-xs-offset-8{margin-left:66.66666666666666%}.factory-bootstrap-429 .col-xs-offset-7{margin-left:58.333333333333336%}.factory-bootstrap-429 .col-xs-offset-6{margin-left:50%}.factory-bootstrap-429 .col-xs-offset-5{margin-left:41.66666666666667%}.factory-bootstrap-429 .col-xs-offset-4{margin-left:33.33333333333333%}.factory-bootstrap-429 .col-xs-offset-3{margin-left:25%}.factory-bootstrap-429 .col-xs-offset-2{margin-left:16.666666666666664%}.factory-bootstrap-429 .col-xs-offset-1{margin-left:8.333333333333332%}.factory-bootstrap-429 .col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666666666666%}.col-sm-10{width:83.33333333333334%}.col-sm-9{width:75%}.col-sm-8{width:66.66666666666666%}.col-sm-7{width:58.333333333333336%}.col-sm-6{width:50%}.col-sm-5{width:41.66666666666667%}.col-sm-4{width:33.33333333333333%}.col-sm-3{width:25%}.col-sm-2{width:16.666666666666664%}.col-sm-1{width:8.333333333333332%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666666666666%}.col-sm-pull-10{right:83.33333333333334%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666666666666%}.col-sm-pull-7{right:58.333333333333336%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666666666667%}.col-sm-pull-4{right:33.33333333333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.666666666666664%}.col-sm-pull-1{right:8.333333333333332%}.col-sm-pull-0{right:0}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666666666666%}.col-sm-push-10{left:83.33333333333334%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666666666666%}.col-sm-push-7{left:58.333333333333336%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666666666667%}.col-sm-push-4{left:33.33333333333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.666666666666664%}.col-sm-push-1{left:8.333333333333332%}.col-sm-push-0{left:0}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666666666666%}.col-sm-offset-10{margin-left:83.33333333333334%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666666666666%}.col-sm-offset-7{margin-left:58.333333333333336%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666666666667%}.col-sm-offset-4{margin-left:33.33333333333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.666666666666664%}.col-sm-offset-1{margin-left:8.333333333333332%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666666666666%}.col-md-10{width:83.33333333333334%}.col-md-9{width:75%}.col-md-8{width:66.66666666666666%}.col-md-7{width:58.333333333333336%}.col-md-6{width:50%}.col-md-5{width:41.66666666666667%}.col-md-4{width:33.33333333333333%}.col-md-3{width:25%}.col-md-2{width:16.666666666666664%}.col-md-1{width:8.333333333333332%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666666666666%}.col-md-pull-10{right:83.33333333333334%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666666666666%}.col-md-pull-7{right:58.333333333333336%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666666666667%}.col-md-pull-4{right:33.33333333333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.666666666666664%}.col-md-pull-1{right:8.333333333333332%}.col-md-pull-0{right:0}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666666666666%}.col-md-push-10{left:83.33333333333334%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666666666666%}.col-md-push-7{left:58.333333333333336%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666666666667%}.col-md-push-4{left:33.33333333333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.666666666666664%}.col-md-push-1{left:8.333333333333332%}.col-md-push-0{left:0}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666666666666%}.col-md-offset-10{margin-left:83.33333333333334%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666666666666%}.col-md-offset-7{margin-left:58.333333333333336%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666666666667%}.col-md-offset-4{margin-left:33.33333333333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.666666666666664%}.col-md-offset-1{margin-left:8.333333333333332%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666666666666%}.col-lg-10{width:83.33333333333334%}.col-lg-9{width:75%}.col-lg-8{width:66.66666666666666%}.col-lg-7{width:58.333333333333336%}.col-lg-6{width:50%}.col-lg-5{width:41.66666666666667%}.col-lg-4{width:33.33333333333333%}.col-lg-3{width:25%}.col-lg-2{width:16.666666666666664%}.col-lg-1{width:8.333333333333332%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666666666666%}.col-lg-pull-10{right:83.33333333333334%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666666666666%}.col-lg-pull-7{right:58.333333333333336%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666666666667%}.col-lg-pull-4{right:33.33333333333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.666666666666664%}.col-lg-pull-1{right:8.333333333333332%}.col-lg-pull-0{right:0}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666666666666%}.col-lg-push-10{left:83.33333333333334%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666666666666%}.col-lg-push-7{left:58.333333333333336%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666666666667%}.col-lg-push-4{left:33.33333333333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.666666666666664%}.col-lg-push-1{left:8.333333333333332%}.col-lg-push-0{left:0}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666666666666%}.col-lg-offset-10{margin-left:83.33333333333334%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666666666666%}.col-lg-offset-7{margin-left:58.333333333333336%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666666666667%}.col-lg-offset-4{margin-left:33.33333333333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.666666666666664%}.col-lg-offset-1{margin-left:8.333333333333332%}.col-lg-offset-0{margin-left:0}}.factory-bootstrap-429 table{max-width:100%;background-color:transparent}.factory-bootstrap-429 th{text-align:left}.factory-bootstrap-429 .table{width:100%;margin-bottom:20px}.factory-bootstrap-429 .table>tbody>tr>td,.factory-bootstrap-429 .table>tbody>tr>th,.factory-bootstrap-429 .table>tfoot>tr>td,.factory-bootstrap-429 .table>tfoot>tr>th,.factory-bootstrap-429 .table>thead>tr>td,.factory-bootstrap-429 .table>thead>tr>th{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #ddd}.factory-bootstrap-429 .table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.factory-bootstrap-429 .table>caption+thead>tr:first-child>td,.factory-bootstrap-429 .table>caption+thead>tr:first-child>th,.factory-bootstrap-429 .table>colgroup+thead>tr:first-child>td,.factory-bootstrap-429 .table>colgroup+thead>tr:first-child>th,.factory-bootstrap-429 .table>thead:first-child>tr:first-child>td,.factory-bootstrap-429 .table>thead:first-child>tr:first-child>th{border-top:0}.factory-bootstrap-429 .table>tbody+tbody{border-top:2px solid #ddd}.factory-bootstrap-429 .table .table{background-color:#fff}.factory-bootstrap-429 .table-condensed>tbody>tr>td,.factory-bootstrap-429 .table-condensed>tbody>tr>th,.factory-bootstrap-429 .table-condensed>tfoot>tr>td,.factory-bootstrap-429 .table-condensed>tfoot>tr>th,.factory-bootstrap-429 .table-condensed>thead>tr>td,.factory-bootstrap-429 .table-condensed>thead>tr>th{padding:5px}.factory-bootstrap-429 .table-bordered,.factory-bootstrap-429 .table-bordered>tbody>tr>td,.factory-bootstrap-429 .table-bordered>tbody>tr>th,.factory-bootstrap-429 .table-bordered>tfoot>tr>td,.factory-bootstrap-429 .table-bordered>tfoot>tr>th,.factory-bootstrap-429 .table-bordered>thead>tr>td,.factory-bootstrap-429 .table-bordered>thead>tr>th{border:1px solid #ddd}.factory-bootstrap-429 .table-bordered>thead>tr>td,.factory-bootstrap-429 .table-bordered>thead>tr>th{border-bottom-width:2px}.factory-bootstrap-429 .table-striped>tbody>tr:nth-child(odd)>td,.factory-bootstrap-429 .table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.factory-bootstrap-429 .table-hover>tbody>tr:hover>td,.factory-bootstrap-429 .table-hover>tbody>tr:hover>th{background-color:#f5f5f5}.factory-bootstrap-429 table col[class*=col-]{position:static;display:table-column;float:none}.factory-bootstrap-429 table td[class*=col-],.factory-bootstrap-429 table th[class*=col-]{display:table-cell;float:none}.factory-bootstrap-429 .table>tbody>.active>td,.factory-bootstrap-429 .table>tbody>.active>th,.factory-bootstrap-429 .table>tbody>tr>.active,.factory-bootstrap-429 .table>tfoot>.active>td,.factory-bootstrap-429 .table>tfoot>.active>th,.factory-bootstrap-429 .table>tfoot>tr>.active,.factory-bootstrap-429 .table>thead>.active>td,.factory-bootstrap-429 .table>thead>.active>th,.factory-bootstrap-429 .table>thead>tr>.active{background-color:#f5f5f5}.factory-bootstrap-429 .table-hover>tbody>.active:hover>td,.factory-bootstrap-429 .table-hover>tbody>.active:hover>th,.factory-bootstrap-429 .table-hover>tbody>tr>.active:hover{background-color:#e8e8e8}.factory-bootstrap-429 .table>tbody>.success>td,.factory-bootstrap-429 .table>tbody>.success>th,.factory-bootstrap-429 .table>tbody>tr>.success,.factory-bootstrap-429 .table>tfoot>.success>td,.factory-bootstrap-429 .table>tfoot>.success>th,.factory-bootstrap-429 .table>tfoot>tr>.success,.factory-bootstrap-429 .table>thead>.success>td,.factory-bootstrap-429 .table>thead>.success>th,.factory-bootstrap-429 .table>thead>tr>.success{background-color:#dff0d8}.factory-bootstrap-429 .table-hover>tbody>.success:hover>td,.factory-bootstrap-429 .table-hover>tbody>.success:hover>th,.factory-bootstrap-429 .table-hover>tbody>tr>.success:hover{background-color:#d0e9c6}.factory-bootstrap-429 .table>tbody>.danger>td,.factory-bootstrap-429 .table>tbody>.danger>th,.factory-bootstrap-429 .table>tbody>tr>.danger,.factory-bootstrap-429 .table>tfoot>.danger>td,.factory-bootstrap-429 .table>tfoot>.danger>th,.factory-bootstrap-429 .table>tfoot>tr>.danger,.factory-bootstrap-429 .table>thead>.danger>td,.factory-bootstrap-429 .table>thead>.danger>th,.factory-bootstrap-429 .table>thead>tr>.danger{background-color:#f2dede}.factory-bootstrap-429 .table-hover>tbody>.danger:hover>td,.factory-bootstrap-429 .table-hover>tbody>.danger:hover>th,.factory-bootstrap-429 .table-hover>tbody>tr>.danger:hover{background-color:#ebcccc}.factory-bootstrap-429 .table>tbody>.warning>td,.factory-bootstrap-429 .table>tbody>.warning>th,.factory-bootstrap-429 .table>tbody>tr>.warning,.factory-bootstrap-429 .table>tfoot>.warning>td,.factory-bootstrap-429 .table>tfoot>.warning>th,.factory-bootstrap-429 .table>tfoot>tr>.warning,.factory-bootstrap-429 .table>thead>.warning>td,.factory-bootstrap-429 .table>thead>.warning>th,.factory-bootstrap-429 .table>thead>tr>.warning{background-color:#fcf8e3}.factory-bootstrap-429 .table-hover>tbody>.warning:hover>td,.factory-bootstrap-429 .table-hover>tbody>.warning:hover>th,.factory-bootstrap-429 .table-hover>tbody>tr>.warning:hover{background-color:#faf2cc}@media (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-x:scroll;overflow-y:hidden;border:1px solid #ddd;-ms-overflow-style:-ms-autohiding-scrollbar;-webkit-overflow-scrolling:touch}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}.factory-bootstrap-429 fieldset{padding:0;margin:0;border:0}.factory-bootstrap-429 legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5;-moz-box-sizing:content-box;box-sizing:content-box}.factory-bootstrap-429 label{display:inline-block;margin-bottom:5px;font-weight:700}.factory-bootstrap-429 input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.factory-bootstrap-429 input[type=checkbox],.factory-bootstrap-429 input[type=radio]{margin:4px 0 0;margin-top:1px \9;line-height:normal}.factory-bootstrap-429 input[type=file]{display:block}.factory-bootstrap-429 select[multiple],.factory-bootstrap-429 select[size]{height:auto}.factory-bootstrap-429 select optgroup{font-family:inherit;font-size:inherit;font-style:inherit}.factory-bootstrap-429 input[type=checkbox]:focus,.factory-bootstrap-429 input[type=file]:focus,.factory-bootstrap-429 input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.factory-bootstrap-429 input[type=number]::-webkit-inner-spin-button,.factory-bootstrap-429 input[type=number]::-webkit-outer-spin-button{height:auto}.factory-bootstrap-429 output{display:block;padding-top:7px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle}.factory-bootstrap-429 .form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.factory-bootstrap-429 .form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-429 .form-control:-moz-placeholder{color:#999}.factory-bootstrap-429 .form-control::-moz-placeholder{color:#999;opacity:1}.factory-bootstrap-429 .form-control:-ms-input-placeholder{color:#999}.factory-bootstrap-429 .form-control::-webkit-input-placeholder{color:#999}.factory-bootstrap-429 .form-control[disabled],.factory-bootstrap-429 .form-control[readonly],.factory-bootstrap-429 fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee}.factory-bootstrap-429 textarea.form-control{height:auto}.factory-bootstrap-429 .form-group{margin-bottom:15px}.factory-bootstrap-429 .checkbox,.factory-bootstrap-429 .radio{display:block;min-height:20px;padding-left:20px;margin-top:10px;margin-bottom:10px;vertical-align:middle}.factory-bootstrap-429 .checkbox label,.factory-bootstrap-429 .radio label{display:inline;margin-bottom:0;font-weight:400;cursor:pointer}.factory-bootstrap-429 .checkbox input[type=checkbox],.factory-bootstrap-429 .checkbox-inline input[type=checkbox],.factory-bootstrap-429 .radio input[type=radio],.factory-bootstrap-429 .radio-inline input[type=radio]{float:left;margin-left:-20px}.factory-bootstrap-429 .checkbox+.checkbox,.factory-bootstrap-429 .radio+.radio{margin-top:-5px}.factory-bootstrap-429 .checkbox-inline,.factory-bootstrap-429 .radio-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.factory-bootstrap-429 .checkbox-inline+.checkbox-inline,.factory-bootstrap-429 .radio-inline+.radio-inline{margin-top:0;margin-left:10px}.factory-bootstrap-429 .checkbox-inline[disabled],.factory-bootstrap-429 .checkbox[disabled],.factory-bootstrap-429 .radio-inline[disabled],.factory-bootstrap-429 .radio[disabled],.factory-bootstrap-429 fieldset[disabled] .checkbox,.factory-bootstrap-429 fieldset[disabled] .checkbox-inline,.factory-bootstrap-429 fieldset[disabled] .radio,.factory-bootstrap-429 fieldset[disabled] .radio-inline,.factory-bootstrap-429 fieldset[disabled] input[type=checkbox],.factory-bootstrap-429 fieldset[disabled] input[type=radio],.factory-bootstrap-429 input[type=checkbox][disabled],.factory-bootstrap-429 input[type=radio][disabled]{cursor:not-allowed}.factory-bootstrap-429 .input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-429 select.input-sm{height:30px;line-height:30px}.factory-bootstrap-429 textarea.input-sm{height:auto}.factory-bootstrap-429 .input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-429 select.input-lg{height:46px;line-height:46px}.factory-bootstrap-429 textarea.input-lg{height:auto}.factory-bootstrap-429 .has-warning .checkbox,.factory-bootstrap-429 .has-warning .checkbox-inline,.factory-bootstrap-429 .has-warning .control-label,.factory-bootstrap-429 .has-warning .help-block,.factory-bootstrap-429 .has-warning .radio,.factory-bootstrap-429 .has-warning .radio-inline{color:#8a6d3b}.factory-bootstrap-429 .has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-429 .has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.factory-bootstrap-429 .has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.factory-bootstrap-429 .has-error .checkbox,.factory-bootstrap-429 .has-error .checkbox-inline,.factory-bootstrap-429 .has-error .control-label,.factory-bootstrap-429 .has-error .help-block,.factory-bootstrap-429 .has-error .radio,.factory-bootstrap-429 .has-error .radio-inline{color:#a94442}.factory-bootstrap-429 .controls{display:block}.factory-bootstrap-429 .has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-429 .has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.factory-bootstrap-429 .has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.factory-bootstrap-429 .has-success .checkbox,.factory-bootstrap-429 .has-success .checkbox-inline,.factory-bootstrap-429 .has-success .control-label,.factory-bootstrap-429 .has-success .help-block,.factory-bootstrap-429 .has-success .radio,.factory-bootstrap-429 .has-success .radio-inline{color:#3c763d}.factory-bootstrap-429 .has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-429 .has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.factory-bootstrap-429 .has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.factory-bootstrap-429 .form-control-static{margin-bottom:0}.factory-bootstrap-429 .help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373;font-weight:400}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block}.form-inline select.form-control{width:auto}.form-inline .checkbox,.form-inline .radio{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{float:none;margin-left:0}}.factory-bootstrap-429 .form-horizontal .checkbox,.factory-bootstrap-429 .form-horizontal .checkbox-inline,.factory-bootstrap-429 .form-horizontal .control-label,.factory-bootstrap-429 .form-horizontal .radio,.factory-bootstrap-429 .form-horizontal .radio-inline{position:relative;padding-top:7px;margin-top:0;margin-bottom:0}.factory-bootstrap-429 .form-horizontal .control-label{max-width:200px}.factory-bootstrap-429 .form-horizontal .checkbox,.factory-bootstrap-429 .form-horizontal .radio{min-height:27px}.factory-bootstrap-429 .form-horizontal .form-group{margin-right:-15px;margin-left:-15px}.factory-bootstrap-429 .form-horizontal .form-group:after,.factory-bootstrap-429 .form-horizontal .form-group:before{display:table;content:" "}.factory-bootstrap-429 .form-horizontal .form-group:after{clear:both}.factory-bootstrap-429 .form-horizontal .form-control-static{padding-top:7px}@media (min-width:768px){.form-horizontal .control-label{text-align:right}}.factory-bootstrap-429 .btn{display:inline-block;padding:5px 12px;margin-bottom:0;font-size:13px;font-weight:400;line-height:1.428571429;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;border-radius:3px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.factory-bootstrap-429 .btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.factory-bootstrap-429 .btn{text-decoration:none}.factory-bootstrap-429 .btn:focus,.factory-bootstrap-429 .btn:hover{color:#333;text-decoration:none}.factory-bootstrap-429 .btn.disabled,.factory-bootstrap-429 .btn[disabled],.factory-bootstrap-429 fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-429 .btn-default.active,.factory-bootstrap-429 .btn-default:active,.factory-bootstrap-429 .btn-default:focus,.factory-bootstrap-429 .btn-default:hover,.factory-bootstrap-429 .open .dropdown-toggle.btn-default{background:#fafafa;border-color:#999;color:#222}.factory-bootstrap-429 .btn-default.active,.factory-bootstrap-429 .btn-default:active,.factory-bootstrap-429 .open .dropdown-toggle.btn-default{background-image:none}.factory-bootstrap-429 .btn-default.disabled,.factory-bootstrap-429 .btn-default.disabled.active,.factory-bootstrap-429 .btn-default.disabled:active,.factory-bootstrap-429 .btn-default.disabled:focus,.factory-bootstrap-429 .btn-default.disabled:hover,.factory-bootstrap-429 .btn-default[disabled],.factory-bootstrap-429 .btn-default[disabled].active,.factory-bootstrap-429 .btn-default[disabled]:active,.factory-bootstrap-429 .btn-default[disabled]:focus,.factory-bootstrap-429 .btn-default[disabled]:hover,.factory-bootstrap-429 fieldset[disabled] .btn-default,.factory-bootstrap-429 fieldset[disabled] .btn-default.active,.factory-bootstrap-429 fieldset[disabled] .btn-default:active,.factory-bootstrap-429 fieldset[disabled] .btn-default:focus,.factory-bootstrap-429 fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.factory-bootstrap-429 .btn-default .badge{color:#fff;background-color:#fff}.factory-bootstrap-429 .btn-primary.active,.factory-bootstrap-429 .btn-primary:active,.factory-bootstrap-429 .btn-primary:focus,.factory-bootstrap-429 .btn-primary:hover,.factory-bootstrap-429 .open .dropdown-toggle.btn-primary{color:#fff;background-color:#3276b1;border-color:#285e8e}.factory-bootstrap-429 .btn-primary.active,.factory-bootstrap-429 .btn-primary:active,.factory-bootstrap-429 .open .dropdown-toggle.btn-primary{background-image:none}.factory-bootstrap-429 .btn-primary.disabled,.factory-bootstrap-429 .btn-primary.disabled.active,.factory-bootstrap-429 .btn-primary.disabled:active,.factory-bootstrap-429 .btn-primary.disabled:focus,.factory-bootstrap-429 .btn-primary.disabled:hover,.factory-bootstrap-429 .btn-primary[disabled],.factory-bootstrap-429 .btn-primary[disabled].active,.factory-bootstrap-429 .btn-primary[disabled]:active,.factory-bootstrap-429 .btn-primary[disabled]:focus,.factory-bootstrap-429 .btn-primary[disabled]:hover,.factory-bootstrap-429 fieldset[disabled] .btn-primary,.factory-bootstrap-429 fieldset[disabled] .btn-primary.active,.factory-bootstrap-429 fieldset[disabled] .btn-primary:active,.factory-bootstrap-429 fieldset[disabled] .btn-primary:focus,.factory-bootstrap-429 fieldset[disabled] .btn-primary:hover{background-color:#428bca;border-color:#357ebd}.factory-bootstrap-429 .btn-primary .badge{color:#428bca;background-color:#fff}.factory-bootstrap-429 .btn-warning{color:#fff;background-color:#f0ad4e}.factory-bootstrap-429 .btn-warning.active,.factory-bootstrap-429 .btn-warning:active,.factory-bootstrap-429 .btn-warning:focus,.factory-bootstrap-429 .btn-warning:hover,.factory-bootstrap-429 .open .dropdown-toggle.btn-warning{color:#fff;background-color:#ed9c28;border-color:#d58512}.factory-bootstrap-429 .btn-warning.active,.factory-bootstrap-429 .btn-warning:active,.factory-bootstrap-429 .open .dropdown-toggle.btn-warning{background-image:none}.factory-bootstrap-429 .btn-warning.disabled,.factory-bootstrap-429 .btn-warning.disabled.active,.factory-bootstrap-429 .btn-warning.disabled:active,.factory-bootstrap-429 .btn-warning.disabled:focus,.factory-bootstrap-429 .btn-warning.disabled:hover,.factory-bootstrap-429 .btn-warning[disabled],.factory-bootstrap-429 .btn-warning[disabled].active,.factory-bootstrap-429 .btn-warning[disabled]:active,.factory-bootstrap-429 .btn-warning[disabled]:focus,.factory-bootstrap-429 .btn-warning[disabled]:hover,.factory-bootstrap-429 fieldset[disabled] .btn-warning,.factory-bootstrap-429 fieldset[disabled] .btn-warning.active,.factory-bootstrap-429 fieldset[disabled] .btn-warning:active,.factory-bootstrap-429 fieldset[disabled] .btn-warning:focus,.factory-bootstrap-429 fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.factory-bootstrap-429 .btn-warning .badge{color:#f0ad4e;background-color:#fff}.factory-bootstrap-429 .btn-success{color:#fff;background-color:#5cb85c}.factory-bootstrap-429 .btn-success.active,.factory-bootstrap-429 .btn-success:active,.factory-bootstrap-429 .btn-success:focus,.factory-bootstrap-429 .btn-success:hover,.factory-bootstrap-429 .open .dropdown-toggle.btn-success{color:#fff;background-color:#47a447;border-color:#398439}.factory-bootstrap-429 .btn-success.active,.factory-bootstrap-429 .btn-success:active,.factory-bootstrap-429 .open .dropdown-toggle.btn-success{background-image:none}.factory-bootstrap-429 .btn-success.disabled,.factory-bootstrap-429 .btn-success.disabled.active,.factory-bootstrap-429 .btn-success.disabled:active,.factory-bootstrap-429 .btn-success.disabled:focus,.factory-bootstrap-429 .btn-success.disabled:hover,.factory-bootstrap-429 .btn-success[disabled],.factory-bootstrap-429 .btn-success[disabled].active,.factory-bootstrap-429 .btn-success[disabled]:active,.factory-bootstrap-429 .btn-success[disabled]:focus,.factory-bootstrap-429 .btn-success[disabled]:hover,.factory-bootstrap-429 fieldset[disabled] .btn-success,.factory-bootstrap-429 fieldset[disabled] .btn-success.active,.factory-bootstrap-429 fieldset[disabled] .btn-success:active,.factory-bootstrap-429 fieldset[disabled] .btn-success:focus,.factory-bootstrap-429 fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.factory-bootstrap-429 .btn-success .badge{color:#5cb85c;background-color:#fff}.factory-bootstrap-429 .btn-info{color:#fff;background-color:#5bc0de}.factory-bootstrap-429 .btn-info.active,.factory-bootstrap-429 .btn-info:active,.factory-bootstrap-429 .btn-info:focus,.factory-bootstrap-429 .btn-info:hover,.factory-bootstrap-429 .open .dropdown-toggle.btn-info{color:#fff;background-color:#39b3d7;border-color:#269abc}.factory-bootstrap-429 .btn-info.active,.factory-bootstrap-429 .btn-info:active,.factory-bootstrap-429 .open .dropdown-toggle.btn-info{background-image:none}.factory-bootstrap-429 .btn-info.disabled,.factory-bootstrap-429 .btn-info.disabled.active,.factory-bootstrap-429 .btn-info.disabled:active,.factory-bootstrap-429 .btn-info.disabled:focus,.factory-bootstrap-429 .btn-info.disabled:hover,.factory-bootstrap-429 .btn-info[disabled],.factory-bootstrap-429 .btn-info[disabled].active,.factory-bootstrap-429 .btn-info[disabled]:active,.factory-bootstrap-429 .btn-info[disabled]:focus,.factory-bootstrap-429 .btn-info[disabled]:hover,.factory-bootstrap-429 fieldset[disabled] .btn-info,.factory-bootstrap-429 fieldset[disabled] .btn-info.active,.factory-bootstrap-429 fieldset[disabled] .btn-info:active,.factory-bootstrap-429 fieldset[disabled] .btn-info:focus,.factory-bootstrap-429 fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.factory-bootstrap-429 .btn-info .badge{color:#5bc0de;background-color:#fff}.factory-bootstrap-429 .btn-link{font-weight:400;color:#428bca;cursor:pointer;border-radius:0}.factory-bootstrap-429 .btn-link,.factory-bootstrap-429 .btn-link:active,.factory-bootstrap-429 .btn-link[disabled],.factory-bootstrap-429 fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-429 .btn-link,.factory-bootstrap-429 .btn-link:active,.factory-bootstrap-429 .btn-link:focus,.factory-bootstrap-429 .btn-link:hover{border-color:transparent}.factory-bootstrap-429 .btn-link:focus,.factory-bootstrap-429 .btn-link:hover{color:#2a6496;text-decoration:underline;background-color:transparent}.factory-bootstrap-429 .btn-link[disabled]:focus,.factory-bootstrap-429 .btn-link[disabled]:hover,.factory-bootstrap-429 fieldset[disabled] .btn-link:focus,.factory-bootstrap-429 fieldset[disabled] .btn-link:hover{color:#999;text-decoration:none}.factory-bootstrap-429 .btn-lg{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-429 .btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-429 .btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-429 .btn-block{display:block;width:100%;padding-right:0;padding-left:0}.factory-bootstrap-429 .btn-block+.btn-block{margin-top:5px}.factory-bootstrap-429 input[type=button].btn-block,.factory-bootstrap-429 input[type=reset].btn-block,.factory-bootstrap-429 input[type=submit].btn-block{width:100%}.factory-bootstrap-429 .fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.factory-bootstrap-429 .fade.in{opacity:1}.factory-bootstrap-429 .collapse{display:none}.factory-bootstrap-429 .collapse.in{display:block}.factory-bootstrap-429 .collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;transition:height .35s ease}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular) format('svg')}.factory-bootstrap-429 .glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';-webkit-font-smoothing:antialiased;font-style:normal;font-weight:400;line-height:1;-moz-osx-font-smoothing:grayscale}.factory-bootstrap-429 .glyphicon:empty{width:1em}.factory-bootstrap-429 .glyphicon-asterisk:before{content:"\2a"}.factory-bootstrap-429 .glyphicon-plus:before{content:"\2b"}.factory-bootstrap-429 .glyphicon-euro:before{content:"\20ac"}.factory-bootstrap-429 .glyphicon-minus:before{content:"\2212"}.factory-bootstrap-429 .glyphicon-cloud:before{content:"\2601"}.factory-bootstrap-429 .glyphicon-envelope:before{content:"\2709"}.factory-bootstrap-429 .glyphicon-pencil:before{content:"\270f"}.factory-bootstrap-429 .glyphicon-glass:before{content:"\e001"}.factory-bootstrap-429 .glyphicon-music:before{content:"\e002"}.factory-bootstrap-429 .glyphicon-search:before{content:"\e003"}.factory-bootstrap-429 .glyphicon-heart:before{content:"\e005"}.factory-bootstrap-429 .glyphicon-star:before{content:"\e006"}.factory-bootstrap-429 .glyphicon-star-empty:before{content:"\e007"}.factory-bootstrap-429 .glyphicon-user:before{content:"\e008"}.factory-bootstrap-429 .glyphicon-film:before{content:"\e009"}.factory-bootstrap-429 .glyphicon-th-large:before{content:"\e010"}.factory-bootstrap-429 .glyphicon-th:before{content:"\e011"}.factory-bootstrap-429 .glyphicon-th-list:before{content:"\e012"}.factory-bootstrap-429 .glyphicon-ok:before{content:"\e013"}.factory-bootstrap-429 .glyphicon-remove:before{content:"\e014"}.factory-bootstrap-429 .glyphicon-zoom-in:before{content:"\e015"}.factory-bootstrap-429 .glyphicon-zoom-out:before{content:"\e016"}.factory-bootstrap-429 .glyphicon-off:before{content:"\e017"}.factory-bootstrap-429 .glyphicon-signal:before{content:"\e018"}.factory-bootstrap-429 .glyphicon-cog:before{content:"\e019"}.factory-bootstrap-429 .glyphicon-trash:before{content:"\e020"}.factory-bootstrap-429 .glyphicon-home:before{content:"\e021"}.factory-bootstrap-429 .glyphicon-file:before{content:"\e022"}.factory-bootstrap-429 .glyphicon-time:before{content:"\e023"}.factory-bootstrap-429 .glyphicon-road:before{content:"\e024"}.factory-bootstrap-429 .glyphicon-download-alt:before{content:"\e025"}.factory-bootstrap-429 .glyphicon-download:before{content:"\e026"}.factory-bootstrap-429 .glyphicon-upload:before{content:"\e027"}.factory-bootstrap-429 .glyphicon-inbox:before{content:"\e028"}.factory-bootstrap-429 .glyphicon-play-circle:before{content:"\e029"}.factory-bootstrap-429 .glyphicon-repeat:before{content:"\e030"}.factory-bootstrap-429 .glyphicon-refresh:before{content:"\e031"}.factory-bootstrap-429 .glyphicon-list-alt:before{content:"\e032"}.factory-bootstrap-429 .glyphicon-lock:before{content:"\e033"}.factory-bootstrap-429 .glyphicon-flag:before{content:"\e034"}.factory-bootstrap-429 .glyphicon-headphones:before{content:"\e035"}.factory-bootstrap-429 .glyphicon-volume-off:before{content:"\e036"}.factory-bootstrap-429 .glyphicon-volume-down:before{content:"\e037"}.factory-bootstrap-429 .glyphicon-volume-up:before{content:"\e038"}.factory-bootstrap-429 .glyphicon-qrcode:before{content:"\e039"}.factory-bootstrap-429 .glyphicon-barcode:before{content:"\e040"}.factory-bootstrap-429 .glyphicon-tag:before{content:"\e041"}.factory-bootstrap-429 .glyphicon-tags:before{content:"\e042"}.factory-bootstrap-429 .glyphicon-book:before{content:"\e043"}.factory-bootstrap-429 .glyphicon-bookmark:before{content:"\e044"}.factory-bootstrap-429 .glyphicon-print:before{content:"\e045"}.factory-bootstrap-429 .glyphicon-camera:before{content:"\e046"}.factory-bootstrap-429 .glyphicon-font:before{content:"\e047"}.factory-bootstrap-429 .glyphicon-bold:before{content:"\e048"}.factory-bootstrap-429 .glyphicon-italic:before{content:"\e049"}.factory-bootstrap-429 .glyphicon-text-height:before{content:"\e050"}.factory-bootstrap-429 .glyphicon-text-width:before{content:"\e051"}.factory-bootstrap-429 .glyphicon-align-left:before{content:"\e052"}.factory-bootstrap-429 .glyphicon-align-center:before{content:"\e053"}.factory-bootstrap-429 .glyphicon-align-right:before{content:"\e054"}.factory-bootstrap-429 .glyphicon-align-justify:before{content:"\e055"}.factory-bootstrap-429 .glyphicon-list:before{content:"\e056"}.factory-bootstrap-429 .glyphicon-indent-left:before{content:"\e057"}.factory-bootstrap-429 .glyphicon-indent-right:before{content:"\e058"}.factory-bootstrap-429 .glyphicon-facetime-video:before{content:"\e059"}.factory-bootstrap-429 .glyphicon-picture:before{content:"\e060"}.factory-bootstrap-429 .glyphicon-map-marker:before{content:"\e062"}.factory-bootstrap-429 .glyphicon-adjust:before{content:"\e063"}.factory-bootstrap-429 .glyphicon-tint:before{content:"\e064"}.factory-bootstrap-429 .glyphicon-edit:before{content:"\e065"}.factory-bootstrap-429 .glyphicon-share:before{content:"\e066"}.factory-bootstrap-429 .glyphicon-check:before{content:"\e067"}.factory-bootstrap-429 .glyphicon-move:before{content:"\e068"}.factory-bootstrap-429 .glyphicon-step-backward:before{content:"\e069"}.factory-bootstrap-429 .glyphicon-fast-backward:before{content:"\e070"}.factory-bootstrap-429 .glyphicon-backward:before{content:"\e071"}.factory-bootstrap-429 .glyphicon-play:before{content:"\e072"}.factory-bootstrap-429 .glyphicon-pause:before{content:"\e073"}.factory-bootstrap-429 .glyphicon-stop:before{content:"\e074"}.factory-bootstrap-429 .glyphicon-forward:before{content:"\e075"}.factory-bootstrap-429 .glyphicon-fast-forward:before{content:"\e076"}.factory-bootstrap-429 .glyphicon-step-forward:before{content:"\e077"}.factory-bootstrap-429 .glyphicon-eject:before{content:"\e078"}.factory-bootstrap-429 .glyphicon-chevron-left:before{content:"\e079"}.factory-bootstrap-429 .glyphicon-chevron-right:before{content:"\e080"}.factory-bootstrap-429 .glyphicon-plus-sign:before{content:"\e081"}.factory-bootstrap-429 .glyphicon-minus-sign:before{content:"\e082"}.factory-bootstrap-429 .glyphicon-remove-sign:before{content:"\e083"}.factory-bootstrap-429 .glyphicon-ok-sign:before{content:"\e084"}.factory-bootstrap-429 .glyphicon-question-sign:before{content:"\e085"}.factory-bootstrap-429 .glyphicon-info-sign:before{content:"\e086"}.factory-bootstrap-429 .glyphicon-screenshot:before{content:"\e087"}.factory-bootstrap-429 .glyphicon-remove-circle:before{content:"\e088"}.factory-bootstrap-429 .glyphicon-ok-circle:before{content:"\e089"}.factory-bootstrap-429 .glyphicon-ban-circle:before{content:"\e090"}.factory-bootstrap-429 .glyphicon-arrow-left:before{content:"\e091"}.factory-bootstrap-429 .glyphicon-arrow-right:before{content:"\e092"}.factory-bootstrap-429 .glyphicon-arrow-up:before{content:"\e093"}.factory-bootstrap-429 .glyphicon-arrow-down:before{content:"\e094"}.factory-bootstrap-429 .glyphicon-share-alt:before{content:"\e095"}.factory-bootstrap-429 .glyphicon-resize-full:before{content:"\e096"}.factory-bootstrap-429 .glyphicon-resize-small:before{content:"\e097"}.factory-bootstrap-429 .glyphicon-exclamation-sign:before{content:"\e101"}.factory-bootstrap-429 .glyphicon-gift:before{content:"\e102"}.factory-bootstrap-429 .glyphicon-leaf:before{content:"\e103"}.factory-bootstrap-429 .glyphicon-fire:before{content:"\e104"}.factory-bootstrap-429 .glyphicon-eye-open:before{content:"\e105"}.factory-bootstrap-429 .glyphicon-eye-close:before{content:"\e106"}.factory-bootstrap-429 .glyphicon-warning-sign:before{content:"\e107"}.factory-bootstrap-429 .glyphicon-plane:before{content:"\e108"}.factory-bootstrap-429 .glyphicon-calendar:before{content:"\e109"}.factory-bootstrap-429 .glyphicon-random:before{content:"\e110"}.factory-bootstrap-429 .glyphicon-comment:before{content:"\e111"}.factory-bootstrap-429 .glyphicon-magnet:before{content:"\e112"}.factory-bootstrap-429 .glyphicon-chevron-up:before{content:"\e113"}.factory-bootstrap-429 .glyphicon-chevron-down:before{content:"\e114"}.factory-bootstrap-429 .glyphicon-retweet:before{content:"\e115"}.factory-bootstrap-429 .glyphicon-shopping-cart:before{content:"\e116"}.factory-bootstrap-429 .glyphicon-folder-close:before{content:"\e117"}.factory-bootstrap-429 .glyphicon-folder-open:before{content:"\e118"}.factory-bootstrap-429 .glyphicon-resize-vertical:before{content:"\e119"}.factory-bootstrap-429 .glyphicon-resize-horizontal:before{content:"\e120"}.factory-bootstrap-429 .glyphicon-hdd:before{content:"\e121"}.factory-bootstrap-429 .glyphicon-bullhorn:before{content:"\e122"}.factory-bootstrap-429 .glyphicon-bell:before{content:"\e123"}.factory-bootstrap-429 .glyphicon-certificate:before{content:"\e124"}.factory-bootstrap-429 .glyphicon-thumbs-up:before{content:"\e125"}.factory-bootstrap-429 .glyphicon-thumbs-down:before{content:"\e126"}.factory-bootstrap-429 .glyphicon-hand-right:before{content:"\e127"}.factory-bootstrap-429 .glyphicon-hand-left:before{content:"\e128"}.factory-bootstrap-429 .glyphicon-hand-up:before{content:"\e129"}.factory-bootstrap-429 .glyphicon-hand-down:before{content:"\e130"}.factory-bootstrap-429 .glyphicon-circle-arrow-right:before{content:"\e131"}.factory-bootstrap-429 .glyphicon-circle-arrow-left:before{content:"\e132"}.factory-bootstrap-429 .glyphicon-circle-arrow-up:before{content:"\e133"}.factory-bootstrap-429 .glyphicon-circle-arrow-down:before{content:"\e134"}.factory-bootstrap-429 .glyphicon-globe:before{content:"\e135"}.factory-bootstrap-429 .glyphicon-wrench:before{content:"\e136"}.factory-bootstrap-429 .glyphicon-tasks:before{content:"\e137"}.factory-bootstrap-429 .glyphicon-filter:before{content:"\e138"}.factory-bootstrap-429 .glyphicon-briefcase:before{content:"\e139"}.factory-bootstrap-429 .glyphicon-fullscreen:before{content:"\e140"}.factory-bootstrap-429 .glyphicon-dashboard:before{content:"\e141"}.factory-bootstrap-429 .glyphicon-paperclip:before{content:"\e142"}.factory-bootstrap-429 .glyphicon-heart-empty:before{content:"\e143"}.factory-bootstrap-429 .glyphicon-link:before{content:"\e144"}.factory-bootstrap-429 .glyphicon-phone:before{content:"\e145"}.factory-bootstrap-429 .glyphicon-pushpin:before{content:"\e146"}.factory-bootstrap-429 .glyphicon-usd:before{content:"\e148"}.factory-bootstrap-429 .glyphicon-gbp:before{content:"\e149"}.factory-bootstrap-429 .glyphicon-sort:before{content:"\e150"}.factory-bootstrap-429 .glyphicon-sort-by-alphabet:before{content:"\e151"}.factory-bootstrap-429 .glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.factory-bootstrap-429 .glyphicon-sort-by-order:before{content:"\e153"}.factory-bootstrap-429 .glyphicon-sort-by-order-alt:before{content:"\e154"}.factory-bootstrap-429 .glyphicon-sort-by-attributes:before{content:"\e155"}.factory-bootstrap-429 .glyphicon-sort-by-attributes-alt:before{content:"\e156"}.factory-bootstrap-429 .glyphicon-unchecked:before{content:"\e157"}.factory-bootstrap-429 .glyphicon-expand:before{content:"\e158"}.factory-bootstrap-429 .glyphicon-collapse-down:before{content:"\e159"}.factory-bootstrap-429 .glyphicon-collapse-up:before{content:"\e160"}.factory-bootstrap-429 .glyphicon-log-in:before{content:"\e161"}.factory-bootstrap-429 .glyphicon-flash:before{content:"\e162"}.factory-bootstrap-429 .glyphicon-log-out:before{content:"\e163"}.factory-bootstrap-429 .glyphicon-new-window:before{content:"\e164"}.factory-bootstrap-429 .glyphicon-record:before{content:"\e165"}.factory-bootstrap-429 .glyphicon-save:before{content:"\e166"}.factory-bootstrap-429 .glyphicon-open:before{content:"\e167"}.factory-bootstrap-429 .glyphicon-saved:before{content:"\e168"}.factory-bootstrap-429 .glyphicon-import:before{content:"\e169"}.factory-bootstrap-429 .glyphicon-export:before{content:"\e170"}.factory-bootstrap-429 .glyphicon-send:before{content:"\e171"}.factory-bootstrap-429 .glyphicon-floppy-disk:before{content:"\e172"}.factory-bootstrap-429 .glyphicon-floppy-saved:before{content:"\e173"}.factory-bootstrap-429 .glyphicon-floppy-remove:before{content:"\e174"}.factory-bootstrap-429 .glyphicon-floppy-save:before{content:"\e175"}.factory-bootstrap-429 .glyphicon-floppy-open:before{content:"\e176"}.factory-bootstrap-429 .glyphicon-credit-card:before{content:"\e177"}.factory-bootstrap-429 .glyphicon-transfer:before{content:"\e178"}.factory-bootstrap-429 .glyphicon-cutlery:before{content:"\e179"}.factory-bootstrap-429 .glyphicon-header:before{content:"\e180"}.factory-bootstrap-429 .glyphicon-compressed:before{content:"\e181"}.factory-bootstrap-429 .glyphicon-earphone:before{content:"\e182"}.factory-bootstrap-429 .glyphicon-phone-alt:before{content:"\e183"}.factory-bootstrap-429 .glyphicon-tower:before{content:"\e184"}.factory-bootstrap-429 .glyphicon-stats:before{content:"\e185"}.factory-bootstrap-429 .glyphicon-sd-video:before{content:"\e186"}.factory-bootstrap-429 .glyphicon-hd-video:before{content:"\e187"}.factory-bootstrap-429 .glyphicon-subtitles:before{content:"\e188"}.factory-bootstrap-429 .glyphicon-sound-stereo:before{content:"\e189"}.factory-bootstrap-429 .glyphicon-sound-dolby:before{content:"\e190"}.factory-bootstrap-429 .glyphicon-sound-5-1:before{content:"\e191"}.factory-bootstrap-429 .glyphicon-sound-6-1:before{content:"\e192"}.factory-bootstrap-429 .glyphicon-sound-7-1:before{content:"\e193"}.factory-bootstrap-429 .glyphicon-copyright-mark:before{content:"\e194"}.factory-bootstrap-429 .glyphicon-registration-mark:before{content:"\e195"}.factory-bootstrap-429 .glyphicon-cloud-download:before{content:"\e197"}.factory-bootstrap-429 .glyphicon-cloud-upload:before{content:"\e198"}.factory-bootstrap-429 .glyphicon-tree-conifer:before{content:"\e199"}.factory-bootstrap-429 .glyphicon-tree-deciduous:before{content:"\e200"}.factory-bootstrap-429 .caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.factory-bootstrap-429 .dropdown{position:relative}.factory-bootstrap-429 .dropdown-toggle:focus{outline:0}.factory-bootstrap-429 .dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.factory-bootstrap-429 .dropdown-menu.pull-right{right:0;left:auto}.factory-bootstrap-429 .dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.factory-bootstrap-429 .dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.428571429;color:#333;white-space:nowrap}.factory-bootstrap-429 .dropdown-menu>li>a:focus,.factory-bootstrap-429 .dropdown-menu>li>a:hover{color:#262626;text-decoration:none}.factory-bootstrap-429 .dropdown-menu>.active>a,.factory-bootstrap-429 .dropdown-menu>.active>a:focus,.factory-bootstrap-429 .dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;outline:0}.factory-bootstrap-429 .dropdown-menu>.disabled>a,.factory-bootstrap-429 .dropdown-menu>.disabled>a:focus,.factory-bootstrap-429 .dropdown-menu>.disabled>a:hover{color:#999}.factory-bootstrap-429 .dropdown-menu>.disabled>a:focus,.factory-bootstrap-429 .dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-429 .open>.dropdown-menu{display:block}.factory-bootstrap-429 .open>a{outline:0}.factory-bootstrap-429 .dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#999}.factory-bootstrap-429 .dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.factory-bootstrap-429 .pull-right>.dropdown-menu{right:0;left:auto}.factory-bootstrap-429 .dropup .caret,.factory-bootstrap-429 .navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.factory-bootstrap-429 .dropup .dropdown-menu,.factory-bootstrap-429 .navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}}.factory-bootstrap-429 .btn-group,.factory-bootstrap-429 .btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.factory-bootstrap-429 .btn-group-vertical>.btn,.factory-bootstrap-429 .btn-group>.btn{position:relative;float:left}.factory-bootstrap-429 .btn-group-vertical>.btn.active,.factory-bootstrap-429 .btn-group-vertical>.btn:active,.factory-bootstrap-429 .btn-group-vertical>.btn:focus,.factory-bootstrap-429 .btn-group-vertical>.btn:hover,.factory-bootstrap-429 .btn-group>.btn.active,.factory-bootstrap-429 .btn-group>.btn:active,.factory-bootstrap-429 .btn-group>.btn:focus,.factory-bootstrap-429 .btn-group>.btn:hover{z-index:2}.factory-bootstrap-429 .btn-group-vertical>.btn:focus,.factory-bootstrap-429 .btn-group>.btn:focus{outline:0}.factory-bootstrap-429 .btn-group .btn+.btn,.factory-bootstrap-429 .btn-group .btn+.btn-group,.factory-bootstrap-429 .btn-group .btn-group+.btn,.factory-bootstrap-429 .btn-group .btn-group+.btn-group{margin-left:-1px}.factory-bootstrap-429 .btn-toolbar:after,.factory-bootstrap-429 .btn-toolbar:before{display:table;content:" "}.factory-bootstrap-429 .btn-toolbar:after{clear:both}.factory-bootstrap-429 .btn-toolbar .btn-group{float:left}.factory-bootstrap-429 .btn-toolbar>.btn+.btn,.factory-bootstrap-429 .btn-toolbar>.btn+.btn-group,.factory-bootstrap-429 .btn-toolbar>.btn-group+.btn,.factory-bootstrap-429 .btn-toolbar>.btn-group+.btn-group{margin-left:5px}.factory-bootstrap-429 .btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.factory-bootstrap-429 .btn-group>.btn:first-child{margin-left:0}.factory-bootstrap-429 .btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-429 .btn-group>.btn:last-child:not(:first-child),.factory-bootstrap-429 .btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-429 .btn-group>.btn-group{float:left}.factory-bootstrap-429 .btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.factory-bootstrap-429 .btn-group>.btn-group:first-child>.btn:last-child,.factory-bootstrap-429 .btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-429 .btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-429 .btn-group .dropdown-toggle:active,.factory-bootstrap-429 .btn-group.open .dropdown-toggle{outline:0}.factory-bootstrap-429 .btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-429 .btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-429 .btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-429 .btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.factory-bootstrap-429 .btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.factory-bootstrap-429 .btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.factory-bootstrap-429 .btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-429 .btn-group{border:4px solid #f9f9f9;border-radius:4px}.factory-bootstrap-429 .btn-group .btn.active.value{text-shadow:none;color:#fff;background-color:#33aad5;-webkit-box-shadow:inset 0 1px 1px #0074a2;box-shadow:inset 0 1px 3px #0074a2;border-top:1px solid #0074a2;border-bottom:1px solid #0074a2;border-left:1px solid #0074a2}.factory-bootstrap-429 .btn .caret{margin-left:0}.factory-bootstrap-429 .btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.factory-bootstrap-429 .dropup .btn-lg .caret{border-width:0 5px 5px}.factory-bootstrap-429 .btn-group-vertical>.btn,.factory-bootstrap-429 .btn-group-vertical>.btn-group,.factory-bootstrap-429 .btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.factory-bootstrap-429 .btn-group-vertical>.btn-group:after,.factory-bootstrap-429 .btn-group-vertical>.btn-group:before{display:table;content:" "}.factory-bootstrap-429 .btn-group-vertical>.btn-group:after{clear:both}.factory-bootstrap-429 .btn-group-vertical>.btn-group>.btn{float:none}.factory-bootstrap-429 .btn-group-vertical>.btn+.btn,.factory-bootstrap-429 .btn-group-vertical>.btn+.btn-group,.factory-bootstrap-429 .btn-group-vertical>.btn-group+.btn,.factory-bootstrap-429 .btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.factory-bootstrap-429 .btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.factory-bootstrap-429 .btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-429 .btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-bottom-left-radius:4px;border-top-left-radius:0}.factory-bootstrap-429 .btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.factory-bootstrap-429 .btn-group-vertical>.btn-group:first-child>.btn:last-child,.factory-bootstrap-429 .btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-429 .btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-429 .btn-group-justified{display:table;width:100%;border-collapse:separate;table-layout:fixed}.factory-bootstrap-429 .btn-group-justified>.btn,.factory-bootstrap-429 .btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.factory-bootstrap-429 .btn-group-justified>.btn-group .btn{width:100%}[data-toggle=buttons]>.btn>input[type=checkbox],[data-toggle=buttons]>.btn>input[type=radio]{display:none}.factory-bootstrap-429 .input-group{position:relative;display:table;border-collapse:separate}.factory-bootstrap-429 .input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.factory-bootstrap-429 .input-group .form-control{width:100%;margin-bottom:0}.factory-bootstrap-429 .input-group-lg>.form-control,.factory-bootstrap-429 .input-group-lg>.input-group-addon,.factory-bootstrap-429 .input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-429 select.input-group-lg>.form-control,.factory-bootstrap-429 select.input-group-lg>.input-group-addon,.factory-bootstrap-429 select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}.factory-bootstrap-429 textarea.input-group-lg>.form-control,.factory-bootstrap-429 textarea.input-group-lg>.input-group-addon,.factory-bootstrap-429 textarea.input-group-lg>.input-group-btn>.btn{height:auto}.factory-bootstrap-429 .input-group-sm>.form-control,.factory-bootstrap-429 .input-group-sm>.input-group-addon,.factory-bootstrap-429 .input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-429 select.input-group-sm>.form-control,.factory-bootstrap-429 select.input-group-sm>.input-group-addon,.factory-bootstrap-429 select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}.factory-bootstrap-429 textarea.input-group-sm>.form-control,.factory-bootstrap-429 textarea.input-group-sm>.input-group-addon,.factory-bootstrap-429 textarea.input-group-sm>.input-group-btn>.btn{height:auto}.factory-bootstrap-429 .input-group .form-control,.factory-bootstrap-429 .input-group-addon,.factory-bootstrap-429 .input-group-btn{display:table-cell}.factory-bootstrap-429 .input-group .form-control:not(:first-child):not(:last-child),.factory-bootstrap-429 .input-group-addon:not(:first-child):not(:last-child),.factory-bootstrap-429 .input-group-btn:not(:first-child):not(:last-child){border-radius:0}.factory-bootstrap-429 .input-group-addon,.factory-bootstrap-429 .input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.factory-bootstrap-429 .input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.factory-bootstrap-429 .input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.factory-bootstrap-429 .input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.factory-bootstrap-429 .input-group-addon input[type=checkbox],.factory-bootstrap-429 .input-group-addon input[type=radio]{margin-top:0}.factory-bootstrap-429 .input-group .form-control:first-child,.factory-bootstrap-429 .input-group-addon:first-child,.factory-bootstrap-429 .input-group-btn:first-child>.btn,.factory-bootstrap-429 .input-group-btn:first-child>.dropdown-toggle,.factory-bootstrap-429 .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-429 .input-group-addon:first-child{border-right:0}.factory-bootstrap-429 .input-group .form-control:last-child,.factory-bootstrap-429 .input-group-addon:last-child,.factory-bootstrap-429 .input-group-btn:first-child>.btn:not(:first-child),.factory-bootstrap-429 .input-group-btn:last-child>.btn,.factory-bootstrap-429 .input-group-btn:last-child>.dropdown-toggle{border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-429 .input-group-addon:last-child{border-left:0}.factory-bootstrap-429 .input-group-btn{position:relative;white-space:nowrap}.factory-bootstrap-429 .input-group-btn:first-child>.btn{margin-right:-1px}.factory-bootstrap-429 .input-group-btn:last-child>.btn{margin-left:-1px}.factory-bootstrap-429 .input-group-btn>.btn{position:relative}.factory-bootstrap-429 .input-group-btn>.btn+.btn{margin-left:-4px}.factory-bootstrap-429 .input-group-btn>.btn:active,.factory-bootstrap-429 .input-group-btn>.btn:hover{z-index:2}.factory-bootstrap-429 .nav{padding-left:0;margin-bottom:0;list-style:none}.factory-bootstrap-429 .nav:after,.factory-bootstrap-429 .nav:before{display:table;content:" "}.factory-bootstrap-429 .nav:after{clear:both}.factory-bootstrap-429 .nav>li{position:relative;display:block}.factory-bootstrap-429 .nav>li>a{position:relative;display:block;padding:10px 15px}.factory-bootstrap-429 .nav>li>a:focus,.factory-bootstrap-429 .nav>li>a:hover{text-decoration:none;background-color:#eee}.factory-bootstrap-429 .nav>li.disabled>a{color:#999}.factory-bootstrap-429 .nav>li.disabled>a:focus,.factory-bootstrap-429 .nav>li.disabled>a:hover{color:#999;text-decoration:none;cursor:not-allowed;background-color:transparent}.factory-bootstrap-429 .nav .open>a,.factory-bootstrap-429 .nav .open>a:focus,.factory-bootstrap-429 .nav .open>a:hover{background-color:#eee;border-color:#428bca}.factory-bootstrap-429 .nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.factory-bootstrap-429 .nav>li>a>img{max-width:none}.factory-bootstrap-429 .nav-tabs{border-bottom:1px solid #ddd}.factory-bootstrap-429 .nav-tabs>li{float:left;margin-bottom:-1px}.factory-bootstrap-429 .nav-tabs>li>a{margin-right:2px;line-height:1.428571429;border:1px solid transparent;border-radius:4px 4px 0 0}.factory-bootstrap-429 .nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.factory-bootstrap-429 .nav-tabs>li.active>a,.factory-bootstrap-429 .nav-tabs>li.active>a:focus,.factory-bootstrap-429 .nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.factory-bootstrap-429 .nav-tabs.nav-justified{width:100%;border-bottom:0}.factory-bootstrap-429 .nav-tabs.nav-justified>li{float:none}.factory-bootstrap-429 .nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.factory-bootstrap-429 .nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.factory-bootstrap-429 .nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.factory-bootstrap-429 .nav-tabs.nav-justified>.active>a,.factory-bootstrap-429 .nav-tabs.nav-justified>.active>a:focus,.factory-bootstrap-429 .nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.factory-bootstrap-429 .nav-pills>li{float:left}.factory-bootstrap-429 .nav-pills>li>a{border-radius:4px}.factory-bootstrap-429 .nav-pills>li+li{margin-left:2px}.factory-bootstrap-429 .nav-pills>li.active>a,.factory-bootstrap-429 .nav-pills>li.active>a:focus,.factory-bootstrap-429 .nav-pills>li.active>a:hover{color:#fff;background-color:#428bca}.factory-bootstrap-429 .nav-stacked>li{float:none}.factory-bootstrap-429 .nav-stacked>li+li{margin-top:2px;margin-left:0}.factory-bootstrap-429 .nav-justified{width:100%}.factory-bootstrap-429 .nav-justified>li{float:none}.factory-bootstrap-429 .nav-justified>li>a{margin-bottom:5px;text-align:center}.factory-bootstrap-429 .nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.factory-bootstrap-429 .nav-tabs-justified{border-bottom:0}.factory-bootstrap-429 .nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.factory-bootstrap-429 .nav-tabs-justified>.active>a,.factory-bootstrap-429 .nav-tabs-justified>.active>a:focus,.factory-bootstrap-429 .nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.factory-bootstrap-429 .tab-content>.tab-pane{display:none}.factory-bootstrap-429 .tab-content>.active{display:block}.factory-bootstrap-429 .nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-429 .navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.factory-bootstrap-429 .navbar:after,.factory-bootstrap-429 .navbar:before{display:table;content:" "}.factory-bootstrap-429 .navbar:after{clear:both}@media (min-width:768px){.navbar{border-radius:4px}}.factory-bootstrap-429 .navbar-header:after,.factory-bootstrap-429 .navbar-header:before{display:table;content:" "}.factory-bootstrap-429 .navbar-header:after{clear:both}@media (min-width:768px){.navbar-header{float:left}}.factory-bootstrap-429 .navbar-collapse{max-height:340px;padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.factory-bootstrap-429 .navbar-collapse:after,.factory-bootstrap-429 .navbar-collapse:before{display:table;content:" "}.factory-bootstrap-429 .navbar-collapse:after{clear:both}.factory-bootstrap-429 .navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.factory-bootstrap-429 .container>.navbar-collapse,.factory-bootstrap-429 .container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.factory-bootstrap-429 .navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.factory-bootstrap-429 .navbar-fixed-bottom,.factory-bootstrap-429 .navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.factory-bootstrap-429 .navbar-fixed-top{top:0;border-width:0 0 1px}.factory-bootstrap-429 .navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.factory-bootstrap-429 .navbar-brand{float:left;padding:15px;font-size:18px;line-height:20px}.factory-bootstrap-429 .navbar-brand:focus,.factory-bootstrap-429 .navbar-brand:hover{text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand{margin-left:-15px}}.factory-bootstrap-429 .navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.factory-bootstrap-429 .navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.factory-bootstrap-429 .navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.factory-bootstrap-429 .navbar-nav{margin:7.5px -15px}.factory-bootstrap-429 .navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.navbar-nav.navbar-right:last-child{margin-right:-15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important}}.factory-bootstrap-429 .navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block}.navbar-form select.form-control{width:auto}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{float:none;margin-left:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-15px}}.factory-bootstrap-429 .navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-429 .navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-429 .navbar-nav.pull-right>li>.dropdown-menu,.factory-bootstrap-429 .navbar-nav>li>.dropdown-menu.pull-right{right:0;left:auto}.factory-bootstrap-429 .navbar-btn{margin-top:8px;margin-bottom:8px}.factory-bootstrap-429 .navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.factory-bootstrap-429 .navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.factory-bootstrap-429 .navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}.navbar-text.navbar-right:last-child{margin-right:0}}.factory-bootstrap-429 .navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.factory-bootstrap-429 .navbar-default .navbar-brand{color:#777}.factory-bootstrap-429 .navbar-default .navbar-brand:focus,.factory-bootstrap-429 .navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.factory-bootstrap-429 .navbar-default .navbar-nav>li>a,.factory-bootstrap-429 .navbar-default .navbar-text{color:#777}.factory-bootstrap-429 .navbar-default .navbar-nav>li>a:focus,.factory-bootstrap-429 .navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.factory-bootstrap-429 .navbar-default .navbar-nav>.active>a,.factory-bootstrap-429 .navbar-default .navbar-nav>.active>a:focus,.factory-bootstrap-429 .navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.factory-bootstrap-429 .navbar-default .navbar-nav>.disabled>a,.factory-bootstrap-429 .navbar-default .navbar-nav>.disabled>a:focus,.factory-bootstrap-429 .navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.factory-bootstrap-429 .navbar-default .navbar-toggle{border-color:#ddd}.factory-bootstrap-429 .navbar-default .navbar-toggle:focus,.factory-bootstrap-429 .navbar-default .navbar-toggle:hover{background-color:#ddd}.factory-bootstrap-429 .navbar-default .navbar-toggle .icon-bar{background-color:#ccc}.factory-bootstrap-429 .navbar-default .navbar-collapse,.factory-bootstrap-429 .navbar-default .navbar-form{border-color:#e7e7e7}.factory-bootstrap-429 .navbar-default .navbar-nav>.open>a,.factory-bootstrap-429 .navbar-default .navbar-nav>.open>a:focus,.factory-bootstrap-429 .navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.factory-bootstrap-429 .navbar-default .navbar-link{color:#777}.factory-bootstrap-429 .navbar-default .navbar-link:hover{color:#333}.factory-bootstrap-429 .navbar-inverse{background-color:#222;border-color:#080808}.factory-bootstrap-429 .navbar-inverse .navbar-brand{color:#999}.factory-bootstrap-429 .navbar-inverse .navbar-brand:focus,.factory-bootstrap-429 .navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.factory-bootstrap-429 .navbar-inverse .navbar-nav>li>a,.factory-bootstrap-429 .navbar-inverse .navbar-text{color:#999}.factory-bootstrap-429 .navbar-inverse .navbar-nav>li>a:focus,.factory-bootstrap-429 .navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.factory-bootstrap-429 .navbar-inverse .navbar-nav>.active>a,.factory-bootstrap-429 .navbar-inverse .navbar-nav>.active>a:focus,.factory-bootstrap-429 .navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.factory-bootstrap-429 .navbar-inverse .navbar-nav>.disabled>a,.factory-bootstrap-429 .navbar-inverse .navbar-nav>.disabled>a:focus,.factory-bootstrap-429 .navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.factory-bootstrap-429 .navbar-inverse .navbar-toggle{border-color:#333}.factory-bootstrap-429 .navbar-inverse .navbar-toggle:focus,.factory-bootstrap-429 .navbar-inverse .navbar-toggle:hover{background-color:#333}.factory-bootstrap-429 .navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.factory-bootstrap-429 .navbar-inverse .navbar-collapse,.factory-bootstrap-429 .navbar-inverse .navbar-form{border-color:#101010}.factory-bootstrap-429 .navbar-inverse .navbar-nav>.open>a,.factory-bootstrap-429 .navbar-inverse .navbar-nav>.open>a:focus,.factory-bootstrap-429 .navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#999}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.factory-bootstrap-429 .navbar-inverse .navbar-link{color:#999}.factory-bootstrap-429 .navbar-inverse .navbar-link:hover{color:#fff}.factory-bootstrap-429 .breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.factory-bootstrap-429 .breadcrumb>li{display:inline-block}.factory-bootstrap-429 .breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.factory-bootstrap-429 .breadcrumb>.active{color:#999}.factory-bootstrap-429 .pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.factory-bootstrap-429 .pagination>li{display:inline}.factory-bootstrap-429 .pagination>li>a,.factory-bootstrap-429 .pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.428571429;text-decoration:none;background-color:#fff;border:1px solid #ddd}.factory-bootstrap-429 .pagination>li:first-child>a,.factory-bootstrap-429 .pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.factory-bootstrap-429 .pagination>li:last-child>a,.factory-bootstrap-429 .pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.factory-bootstrap-429 .pagination>li>a:focus,.factory-bootstrap-429 .pagination>li>a:hover,.factory-bootstrap-429 .pagination>li>span:focus,.factory-bootstrap-429 .pagination>li>span:hover{background-color:#eee}.factory-bootstrap-429 .pagination>.active>a,.factory-bootstrap-429 .pagination>.active>a:focus,.factory-bootstrap-429 .pagination>.active>a:hover,.factory-bootstrap-429 .pagination>.active>span,.factory-bootstrap-429 .pagination>.active>span:focus,.factory-bootstrap-429 .pagination>.active>span:hover{z-index:2;color:#fff;cursor:default;background-color:#1e8cbe;border-color:#0074a2}.factory-bootstrap-429 .pagination>.disabled>a,.factory-bootstrap-429 .pagination>.disabled>a:focus,.factory-bootstrap-429 .pagination>.disabled>a:hover,.factory-bootstrap-429 .pagination>.disabled>span,.factory-bootstrap-429 .pagination>.disabled>span:focus,.factory-bootstrap-429 .pagination>.disabled>span:hover{color:#999;cursor:not-allowed;background-color:#fff;border-color:#ddd}.factory-bootstrap-429 .pagination-lg>li>a,.factory-bootstrap-429 .pagination-lg>li>span{padding:10px 16px;font-size:18px}.factory-bootstrap-429 .pagination-lg>li:first-child>a,.factory-bootstrap-429 .pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.factory-bootstrap-429 .pagination-lg>li:last-child>a,.factory-bootstrap-429 .pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.factory-bootstrap-429 .pagination-sm>li>a,.factory-bootstrap-429 .pagination-sm>li>span{padding:5px 10px;font-size:12px}.factory-bootstrap-429 .pagination-sm>li:first-child>a,.factory-bootstrap-429 .pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.factory-bootstrap-429 .pagination-sm>li:last-child>a,.factory-bootstrap-429 .pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.factory-bootstrap-429 .pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.factory-bootstrap-429 .pager:after,.factory-bootstrap-429 .pager:before{display:table;content:" "}.factory-bootstrap-429 .pager:after{clear:both}.factory-bootstrap-429 .pager li{display:inline}.factory-bootstrap-429 .pager li>a,.factory-bootstrap-429 .pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.factory-bootstrap-429 .pager li>a:focus,.factory-bootstrap-429 .pager li>a:hover{text-decoration:none;background-color:#eee}.factory-bootstrap-429 .pager .next>a,.factory-bootstrap-429 .pager .next>span{float:right}.factory-bootstrap-429 .pager .previous>a,.factory-bootstrap-429 .pager .previous>span{float:left}.factory-bootstrap-429 .pager .disabled>a,.factory-bootstrap-429 .pager .disabled>a:focus,.factory-bootstrap-429 .pager .disabled>a:hover,.factory-bootstrap-429 .pager .disabled>span{color:#999;cursor:not-allowed;background-color:#fff}.factory-bootstrap-429 .label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.factory-bootstrap-429 .label[href]:focus,.factory-bootstrap-429 .label[href]:hover{color:#fff;text-decoration:none;cursor:pointer}.factory-bootstrap-429 .label:empty{display:none}.factory-bootstrap-429 .btn .label{position:relative;top:-1px}.factory-bootstrap-429 .label-default{background-color:#999}.factory-bootstrap-429 .label-default[href]:focus,.factory-bootstrap-429 .label-default[href]:hover{background-color:gray}.factory-bootstrap-429 .label-primary{background-color:#428bca}.factory-bootstrap-429 .label-primary[href]:focus,.factory-bootstrap-429 .label-primary[href]:hover{background-color:#3071a9}.factory-bootstrap-429 .label-success{background-color:#5cb85c}.factory-bootstrap-429 .label-success[href]:focus,.factory-bootstrap-429 .label-success[href]:hover{background-color:#449d44}.factory-bootstrap-429 .label-info{background-color:#5bc0de}.factory-bootstrap-429 .label-info[href]:focus,.factory-bootstrap-429 .label-info[href]:hover{background-color:#31b0d5}.factory-bootstrap-429 .label-warning{background-color:#f0ad4e}.factory-bootstrap-429 .label-warning[href]:focus,.factory-bootstrap-429 .label-warning[href]:hover{background-color:#ec971f}.factory-bootstrap-429 .label-danger{background-color:#d9534f}.factory-bootstrap-429 .label-danger[href]:focus,.factory-bootstrap-429 .label-danger[href]:hover{background-color:#c9302c}.factory-bootstrap-429 .badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#999;border-radius:10px}.factory-bootstrap-429 .badge:empty{display:none}.factory-bootstrap-429 .btn .badge{position:relative;top:-1px}.factory-bootstrap-429 a.badge:focus,.factory-bootstrap-429 a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.factory-bootstrap-429 .nav-pills>.active>a>.badge,.factory-bootstrap-429 a.list-group-item.active>.badge{color:#428bca;background-color:#fff}.factory-bootstrap-429 .nav-pills>li>a>.badge{margin-left:3px}.factory-bootstrap-429 .jumbotron{padding:30px;margin-bottom:30px;font-size:21px;font-weight:200;line-height:2.1428571435;color:inherit;background-color:#eee}.factory-bootstrap-429 .jumbotron .h1,.factory-bootstrap-429 .jumbotron h1{line-height:1;color:inherit}.factory-bootstrap-429 .jumbotron p{line-height:1.4}.factory-bootstrap-429 .container .jumbotron{border-radius:6px}.factory-bootstrap-429 .jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.factory-bootstrap-429 .thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.factory-bootstrap-429 .thumbnail a>img,.factory-bootstrap-429 .thumbnail>img{display:block;height:auto;max-width:100%;margin-right:auto;margin-left:auto}.factory-bootstrap-429 a.thumbnail.active,.factory-bootstrap-429 a.thumbnail:focus,.factory-bootstrap-429 a.thumbnail:hover{border-color:#428bca}.factory-bootstrap-429 .thumbnail .caption{padding:9px;color:#333}.factory-bootstrap-429 .alert{border:1px solid transparent;border-radius:4px}.factory-bootstrap-429 .alert h4{margin-top:0;color:inherit}.factory-bootstrap-429 .alert .alert-link{font-weight:700}.factory-bootstrap-429 .alert>p,.factory-bootstrap-429 .alert>ul{margin-bottom:0}.factory-bootstrap-429 .alert>p+p{margin-top:5px}.factory-bootstrap-429 .alert-dismissable{padding-right:35px}.factory-bootstrap-429 .alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit}.factory-bootstrap-429 .alert-info{color:#31708f;background-color:#d9edf7}.factory-bootstrap-429 .alert-info hr{border-top-color:#a6e1ec}.factory-bootstrap-429 .alert-info .alert-link{color:#245269}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.factory-bootstrap-429 .progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.factory-bootstrap-429 .progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#2ea2cc;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;transition:width .6s ease}.factory-bootstrap-429 .progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:40px 40px}.factory-bootstrap-429 .progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.factory-bootstrap-429 .progress-bar-success{background-color:#5cb85c}.factory-bootstrap-429 .progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-429 .progress-bar-info{background-color:#5bc0de}.factory-bootstrap-429 .progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-429 .progress-bar-warning{background-color:#f0ad4e}.factory-bootstrap-429 .progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-429 .progress-bar-danger{background-color:#d9534f}.factory-bootstrap-429 .progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-429 .media,.factory-bootstrap-429 .media-body{overflow:hidden;zoom:1}.factory-bootstrap-429 .media,.factory-bootstrap-429 .media .media{margin-top:15px}.factory-bootstrap-429 .media:first-child{margin-top:0}.factory-bootstrap-429 .media-object{display:block}.factory-bootstrap-429 .media-heading{margin:0 0 5px}.factory-bootstrap-429 .media>.pull-left{margin-right:10px}.factory-bootstrap-429 .media>.pull-right{margin-left:10px}.factory-bootstrap-429 .media-list{padding-left:0;list-style:none}.factory-bootstrap-429 .list-group{padding-left:0;margin-bottom:20px}.factory-bootstrap-429 .list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.factory-bootstrap-429 .list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.factory-bootstrap-429 .list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.factory-bootstrap-429 .list-group-item>.badge{float:right}.factory-bootstrap-429 .list-group-item>.badge+.badge{margin-right:5px}.factory-bootstrap-429 a.list-group-item{color:#555}.factory-bootstrap-429 a.list-group-item .list-group-item-heading{color:#333}.factory-bootstrap-429 a.list-group-item:focus,.factory-bootstrap-429 a.list-group-item:hover{text-decoration:none;background-color:#f5f5f5}.factory-bootstrap-429 a.list-group-item.active,.factory-bootstrap-429 a.list-group-item.active:focus,.factory-bootstrap-429 a.list-group-item.active:hover{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.factory-bootstrap-429 a.list-group-item.active .list-group-item-heading,.factory-bootstrap-429 a.list-group-item.active:focus .list-group-item-heading,.factory-bootstrap-429 a.list-group-item.active:hover .list-group-item-heading{color:inherit}.factory-bootstrap-429 a.list-group-item.active .list-group-item-text,.factory-bootstrap-429 a.list-group-item.active:focus .list-group-item-text,.factory-bootstrap-429 a.list-group-item.active:hover .list-group-item-text{color:#e1edf7}.factory-bootstrap-429 .list-group-item-heading{margin-top:0;margin-bottom:5px}.factory-bootstrap-429 .list-group-item-text{margin-bottom:0;line-height:1.3}.factory-bootstrap-429 .panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px}.factory-bootstrap-429 .panel-body{padding:15px}.factory-bootstrap-429 .panel-body:after,.factory-bootstrap-429 .panel-body:before{display:table;content:" "}.factory-bootstrap-429 .panel-body:after{clear:both}.factory-bootstrap-429 .panel>.list-group{margin-bottom:0}.factory-bootstrap-429 .panel>.list-group .list-group-item{border-width:1px 0}.factory-bootstrap-429 .panel>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-429 .panel>.list-group .list-group-item:last-child{border-bottom:0}.factory-bootstrap-429 .panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.factory-bootstrap-429 .panel>.table,.factory-bootstrap-429 .panel>.table-responsive>.table{margin-bottom:0}.factory-bootstrap-429 .panel>.panel-body+.table,.factory-bootstrap-429 .panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.factory-bootstrap-429 .panel>.table>tbody:first-child td,.factory-bootstrap-429 .panel>.table>tbody:first-child th{border-top:0}.factory-bootstrap-429 .panel>.table-bordered,.factory-bootstrap-429 .panel>.table-responsive>.table-bordered{border:0}.factory-bootstrap-429 .panel>.table-bordered>tbody>tr>td:first-child,.factory-bootstrap-429 .panel>.table-bordered>tbody>tr>th:first-child,.factory-bootstrap-429 .panel>.table-bordered>tfoot>tr>td:first-child,.factory-bootstrap-429 .panel>.table-bordered>tfoot>tr>th:first-child,.factory-bootstrap-429 .panel>.table-bordered>thead>tr>td:first-child,.factory-bootstrap-429 .panel>.table-bordered>thead>tr>th:first-child,.factory-bootstrap-429 .panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.factory-bootstrap-429 .panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.factory-bootstrap-429 .panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.factory-bootstrap-429 .panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.factory-bootstrap-429 .panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.factory-bootstrap-429 .panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.factory-bootstrap-429 .panel>.table-bordered>tbody>tr>td:last-child,.factory-bootstrap-429 .panel>.table-bordered>tbody>tr>th:last-child,.factory-bootstrap-429 .panel>.table-bordered>tfoot>tr>td:last-child,.factory-bootstrap-429 .panel>.table-bordered>tfoot>tr>th:last-child,.factory-bootstrap-429 .panel>.table-bordered>thead>tr>td:last-child,.factory-bootstrap-429 .panel>.table-bordered>thead>tr>th:last-child,.factory-bootstrap-429 .panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.factory-bootstrap-429 .panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.factory-bootstrap-429 .panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.factory-bootstrap-429 .panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.factory-bootstrap-429 .panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.factory-bootstrap-429 .panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.factory-bootstrap-429 .panel>.table-bordered>tbody>tr:last-child>td,.factory-bootstrap-429 .panel>.table-bordered>tbody>tr:last-child>th,.factory-bootstrap-429 .panel>.table-bordered>tfoot>tr:last-child>td,.factory-bootstrap-429 .panel>.table-bordered>tfoot>tr:last-child>th,.factory-bootstrap-429 .panel>.table-bordered>thead>tr:last-child>td,.factory-bootstrap-429 .panel>.table-bordered>thead>tr:last-child>th,.factory-bootstrap-429 .panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.factory-bootstrap-429 .panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.factory-bootstrap-429 .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.factory-bootstrap-429 .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.factory-bootstrap-429 .panel>.table-responsive>.table-bordered>thead>tr:last-child>td,.factory-bootstrap-429 .panel>.table-responsive>.table-bordered>thead>tr:last-child>th{border-bottom:0}.factory-bootstrap-429 .panel>.table-responsive{margin-bottom:0;border:0}.factory-bootstrap-429 .panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.factory-bootstrap-429 .panel-heading>.dropdown .dropdown-toggle{color:inherit}.factory-bootstrap-429 .panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.factory-bootstrap-429 .panel-title>a{color:inherit}.factory-bootstrap-429 .panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.factory-bootstrap-429 .panel-group .panel{margin-bottom:0;overflow:hidden;border-radius:4px}.factory-bootstrap-429 .panel-group .panel+.panel{margin-top:5px}.factory-bootstrap-429 .panel-group .panel-heading{border-bottom:0}.factory-bootstrap-429 .panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #ddd}.factory-bootstrap-429 .panel-group .panel-footer{border-top:0}.factory-bootstrap-429 .panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.factory-bootstrap-429 .panel-default{border-color:#ddd}.factory-bootstrap-429 .panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.factory-bootstrap-429 .panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#ddd}.factory-bootstrap-429 .panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ddd}.factory-bootstrap-429 .panel-primary{border-color:#428bca}.factory-bootstrap-429 .panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.factory-bootstrap-429 .panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#428bca}.factory-bootstrap-429 .panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#428bca}.factory-bootstrap-429 .panel-success{border-color:#d6e9c6}.factory-bootstrap-429 .panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.factory-bootstrap-429 .panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#d6e9c6}.factory-bootstrap-429 .panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6}.factory-bootstrap-429 .panel-warning{border-color:#faebcc}.factory-bootstrap-429 .panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.factory-bootstrap-429 .panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#faebcc}.factory-bootstrap-429 .panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#faebcc}.factory-bootstrap-429 .panel-danger{border-color:#ebccd1}.factory-bootstrap-429 .panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.factory-bootstrap-429 .panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#ebccd1}.factory-bootstrap-429 .panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ebccd1}.factory-bootstrap-429 .panel-info{border-color:#bce8f1}.factory-bootstrap-429 .panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.factory-bootstrap-429 .panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#bce8f1}.factory-bootstrap-429 .panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1}.factory-bootstrap-429 .well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px}.factory-bootstrap-429 .well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.factory-bootstrap-429 .well-lg{padding:24px;border-radius:6px}.factory-bootstrap-429 .well-sm{padding:9px;border-radius:3px}.factory-bootstrap-429 .close{float:right;font-size:14px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.3;filter:alpha(opacity=30)}.factory-bootstrap-429 .alert .close{position:relative;top:-8px;right:-7px}.factory-bootstrap-429 .close:focus,.factory-bootstrap-429 .close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-429 button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.factory-bootstrap-429 .modal-open{overflow:hidden}.factory-bootstrap-429 .modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;display:none;overflow:auto;overflow-y:scroll;width:auto;margin-left:0;background-color:transparent;border:0}.factory-bootstrap-429 .modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.factory-bootstrap-429 .modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}.factory-bootstrap-429 .modal-dialog{position:relative;z-index:1050;width:auto;margin:10px}.factory-bootstrap-429 .modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);background-clip:padding-box}.factory-bootstrap-429 .modal-backdrop,.factory-bootstrap-429-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1030;background-color:#000}.factory-bootstrap-429 .modal-backdrop.fade,.factory-bootstrap-429-modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.factory-bootstrap-429 .modal-backdrop.in,.factory-bootstrap-429-modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-429 .modal-header{min-height:16.428571429px;padding:15px;border-bottom:1px solid #e5e5e5}.factory-bootstrap-429 .modal-header .close{margin-top:-2px}.factory-bootstrap-429 .modal-title{margin:0;line-height:1.428571429}.factory-bootstrap-429 .modal-body{position:relative;padding:20px;max-height:none}.factory-bootstrap-429 .modal-footer{padding:19px 20px 20px;margin-top:15px;text-align:right;border-top:1px solid #e5e5e5}.factory-bootstrap-429 .modal-footer:after,.factory-bootstrap-429 .modal-footer:before{display:table;content:" "}.factory-bootstrap-429 .modal-footer:after{clear:both}.factory-bootstrap-429 .modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.factory-bootstrap-429 .modal-footer .btn-group .btn+.btn{margin-left:-1px}.factory-bootstrap-429 .modal-footer .btn-block+.btn-block{margin-left:0}@media screen and (min-width:768px){.factory-bootstrap-429 .modal-dialog{width:600px;margin:30px auto}.factory-bootstrap-429 .modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}}.factory-bootstrap-429 .tooltip{position:absolute;z-index:1030;display:block;font-size:12px;line-height:1.4;opacity:0;filter:alpha(opacity=0);visibility:visible}.factory-bootstrap-429 .tooltip.in{opacity:.9;filter:alpha(opacity=90)}.factory-bootstrap-429 .tooltip.top{padding:5px 0;margin-top:-3px}.factory-bootstrap-429 .tooltip.right{padding:0 5px;margin-left:3px}.factory-bootstrap-429 .tooltip.bottom{padding:5px 0;margin-top:3px}.factory-bootstrap-429 .tooltip.left{padding:0 5px;margin-left:-3px}.factory-bootstrap-429 .tooltip-inner{width:400px;padding:15px 20px;color:#fff;text-align:left;text-decoration:none;background-color:#673ab7;border-radius:3px}.factory-bootstrap-429 .tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.factory-bootstrap-429 .tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-429 .tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-429 .tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-429 .tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#673ab7;border-width:5px 5px 5px 0}.factory-bootstrap-429 .tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#673ab7;border-width:5px 0 5px 5px}.factory-bootstrap-429 .tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-429 .tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-429 .tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-429 .popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);background-clip:padding-box}.factory-bootstrap-429 .popover.top{margin-top:-10px}.factory-bootstrap-429 .popover.right{margin-left:10px}.factory-bootstrap-429 .popover.bottom{margin-top:10px}.factory-bootstrap-429 .popover.left{margin-left:-10px}.factory-bootstrap-429 .popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.factory-bootstrap-429 .popover-content{padding:9px 14px}.factory-bootstrap-429 .popover .arrow,.factory-bootstrap-429 .popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.factory-bootstrap-429 .popover .arrow{border-width:11px}.factory-bootstrap-429 .popover .arrow:after{border-width:10px;content:""}.factory-bootstrap-429 .popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.factory-bootstrap-429 .popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0;content:" "}.factory-bootstrap-429 .popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.factory-bootstrap-429 .popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0;content:" "}.factory-bootstrap-429 .popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);border-top-width:0}.factory-bootstrap-429 .popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0;content:" "}.factory-bootstrap-429 .popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,.25);border-right-width:0}.factory-bootstrap-429 .popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0;content:" "}.factory-bootstrap-429 .carousel{position:relative}.factory-bootstrap-429 .carousel-inner{position:relative;width:100%;overflow:hidden}.factory-bootstrap-429 .carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.factory-bootstrap-429 .carousel-inner>.item>a>img,.factory-bootstrap-429 .carousel-inner>.item>img{display:block;height:auto;max-width:100%;line-height:1}.factory-bootstrap-429 .carousel-inner>.active,.factory-bootstrap-429 .carousel-inner>.next,.factory-bootstrap-429 .carousel-inner>.prev{display:block}.factory-bootstrap-429 .carousel-inner>.active{left:0}.factory-bootstrap-429 .carousel-inner>.next,.factory-bootstrap-429 .carousel-inner>.prev{position:absolute;top:0;width:100%}.factory-bootstrap-429 .carousel-inner>.next{left:100%}.factory-bootstrap-429 .carousel-inner>.prev{left:-100%}.factory-bootstrap-429 .carousel-inner>.next.left,.factory-bootstrap-429 .carousel-inner>.prev.right{left:0}.factory-bootstrap-429 .carousel-inner>.active.left{left:-100%}.factory-bootstrap-429 .carousel-inner>.active.right{left:100%}.factory-bootstrap-429 .carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-429 .carousel-control.left{background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.5) 0),color-stop(rgba(0,0,0,.0001) 100%));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.factory-bootstrap-429 .carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.0001) 0),color-stop(rgba(0,0,0,.5) 100%));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.factory-bootstrap-429 .carousel-control:focus,.factory-bootstrap-429 .carousel-control:hover{color:#fff;text-decoration:none;outline:0;opacity:.9;filter:alpha(opacity=90)}.factory-bootstrap-429 .carousel-control .glyphicon-chevron-left,.factory-bootstrap-429 .carousel-control .glyphicon-chevron-right,.factory-bootstrap-429 .carousel-control .icon-next,.factory-bootstrap-429 .carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block}.factory-bootstrap-429 .carousel-control .glyphicon-chevron-left,.factory-bootstrap-429 .carousel-control .icon-prev{left:50%}.factory-bootstrap-429 .carousel-control .glyphicon-chevron-right,.factory-bootstrap-429 .carousel-control .icon-next{right:50%}.factory-bootstrap-429 .carousel-control .icon-next,.factory-bootstrap-429 .carousel-control .icon-prev{width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:serif}.factory-bootstrap-429 .carousel-control .icon-prev:before{content:'\2039'}.factory-bootstrap-429 .carousel-control .icon-next:before{content:'\203a'}.factory-bootstrap-429 .carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.factory-bootstrap-429 .carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.factory-bootstrap-429 .carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.factory-bootstrap-429 .carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.factory-bootstrap-429 .carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicons-chevron-left,.carousel-control .glyphicons-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-15px;margin-left:-15px;font-size:30px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.factory-bootstrap-429 .clearfix:after,.factory-bootstrap-429 .clearfix:before{display:table;content:" "}.factory-bootstrap-429 .clearfix:after{clear:both}.factory-bootstrap-429 .center-block{display:block;margin-right:auto;margin-left:auto}.factory-bootstrap-429 .pull-right{float:right!important}.factory-bootstrap-429 .pull-left{float:left!important}.factory-bootstrap-429 .hide{display:none!important}.factory-bootstrap-429 .show{display:block!important}.factory-bootstrap-429 .invisible{visibility:hidden}.factory-bootstrap-429 .text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.factory-bootstrap-429 .hidden{display:none!important;visibility:hidden!important}.factory-bootstrap-429 .affix{position:fixed}@-ms-viewport{width:device-width}.factory-bootstrap-429 .visible-lg,.factory-bootstrap-429 .visible-md,.factory-bootstrap-429 .visible-sm,.factory-bootstrap-429 .visible-xs,.factory-bootstrap-429 td.visible-lg,.factory-bootstrap-429 td.visible-md,.factory-bootstrap-429 td.visible-sm,.factory-bootstrap-429 td.visible-xs,.factory-bootstrap-429 th.visible-lg,.factory-bootstrap-429 th.visible-md,.factory-bootstrap-429 th.visible-sm,.factory-bootstrap-429 th.visible-xs,.factory-bootstrap-429 tr.visible-lg,.factory-bootstrap-429 tr.visible-md,.factory-bootstrap-429 tr.visible-sm,.factory-bootstrap-429 tr.visible-xs{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-xs.visible-sm{display:block!important}table.visible-xs.visible-sm{display:table}tr.visible-xs.visible-sm{display:table-row!important}td.visible-xs.visible-sm,th.visible-xs.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-xs.visible-md{display:block!important}table.visible-xs.visible-md{display:table}tr.visible-xs.visible-md{display:table-row!important}td.visible-xs.visible-md,th.visible-xs.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-xs.visible-lg{display:block!important}table.visible-xs.visible-lg{display:table}tr.visible-xs.visible-lg{display:table-row!important}td.visible-xs.visible-lg,th.visible-xs.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-sm.visible-xs{display:block!important}table.visible-sm.visible-xs{display:table}tr.visible-sm.visible-xs{display:table-row!important}td.visible-sm.visible-xs,th.visible-sm.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-sm.visible-md{display:block!important}table.visible-sm.visible-md{display:table}tr.visible-sm.visible-md{display:table-row!important}td.visible-sm.visible-md,th.visible-sm.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-sm.visible-lg{display:block!important}table.visible-sm.visible-lg{display:table}tr.visible-sm.visible-lg{display:table-row!important}td.visible-sm.visible-lg,th.visible-sm.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-md.visible-xs{display:block!important}table.visible-md.visible-xs{display:table}tr.visible-md.visible-xs{display:table-row!important}td.visible-md.visible-xs,th.visible-md.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-md.visible-sm{display:block!important}table.visible-md.visible-sm{display:table}tr.visible-md.visible-sm{display:table-row!important}td.visible-md.visible-sm,th.visible-md.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-md.visible-lg{display:block!important}table.visible-md.visible-lg{display:table}tr.visible-md.visible-lg{display:table-row!important}td.visible-md.visible-lg,th.visible-md.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-lg.visible-xs{display:block!important}table.visible-lg.visible-xs{display:table}tr.visible-lg.visible-xs{display:table-row!important}td.visible-lg.visible-xs,th.visible-lg.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-lg.visible-sm{display:block!important}table.visible-lg.visible-sm{display:table}tr.visible-lg.visible-sm{display:table-row!important}td.visible-lg.visible-sm,th.visible-lg.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-lg.visible-md{display:block!important}table.visible-lg.visible-md{display:table}tr.visible-lg.visible-md{display:table-row!important}td.visible-lg.visible-md,th.visible-lg.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}.factory-bootstrap-429 .hidden-xs{display:block!important}.factory-bootstrap-429 table.hidden-xs{display:table}.factory-bootstrap-429 tr.hidden-xs{display:table-row!important}.factory-bootstrap-429 td.hidden-xs,.factory-bootstrap-429 th.hidden-xs{display:table-cell!important}@media (max-width:767px){.hidden-xs,td.hidden-xs,th.hidden-xs,tr.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-xs.hidden-sm,td.hidden-xs.hidden-sm,th.hidden-xs.hidden-sm,tr.hidden-xs.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-xs.hidden-md,td.hidden-xs.hidden-md,th.hidden-xs.hidden-md,tr.hidden-xs.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-xs.hidden-lg,td.hidden-xs.hidden-lg,th.hidden-xs.hidden-lg,tr.hidden-xs.hidden-lg{display:none!important}}.factory-bootstrap-429 .hidden-sm{display:block!important}.factory-bootstrap-429 table.hidden-sm{display:table}.factory-bootstrap-429 tr.hidden-sm{display:table-row!important}.factory-bootstrap-429 td.hidden-sm,.factory-bootstrap-429 th.hidden-sm{display:table-cell!important}@media (max-width:767px){.hidden-sm.hidden-xs,td.hidden-sm.hidden-xs,th.hidden-sm.hidden-xs,tr.hidden-sm.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm,td.hidden-sm,th.hidden-sm,tr.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-sm.hidden-md,td.hidden-sm.hidden-md,th.hidden-sm.hidden-md,tr.hidden-sm.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-sm.hidden-lg,td.hidden-sm.hidden-lg,th.hidden-sm.hidden-lg,tr.hidden-sm.hidden-lg{display:none!important}}.factory-bootstrap-429 .hidden-md{display:block!important}.factory-bootstrap-429 table.hidden-md{display:table}.factory-bootstrap-429 tr.hidden-md{display:table-row!important}.factory-bootstrap-429 td.hidden-md,.factory-bootstrap-429 th.hidden-md{display:table-cell!important}@media (max-width:767px){.hidden-md.hidden-xs,td.hidden-md.hidden-xs,th.hidden-md.hidden-xs,tr.hidden-md.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-md.hidden-sm,td.hidden-md.hidden-sm,th.hidden-md.hidden-sm,tr.hidden-md.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md,td.hidden-md,th.hidden-md,tr.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-md.hidden-lg,td.hidden-md.hidden-lg,th.hidden-md.hidden-lg,tr.hidden-md.hidden-lg{display:none!important}}.factory-bootstrap-429 .hidden-lg{display:block!important}.factory-bootstrap-429 table.hidden-lg{display:table}.factory-bootstrap-429 tr.hidden-lg{display:table-row!important}.factory-bootstrap-429 td.hidden-lg,.factory-bootstrap-429 th.hidden-lg{display:table-cell!important}@media (max-width:767px){.factory-bootstrap-429 .hidden-lg.hidden-xs,.factory-bootstrap-429 td.hidden-lg.hidden-xs,.factory-bootstrap-429 th.hidden-lg.hidden-xs,.factory-bootstrap-429 tr.hidden-lg.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.factory-bootstrap-429 .hidden-lg.hidden-sm,.factory-bootstrap-429 td.hidden-lg.hidden-sm,.factory-bootstrap-429 th.hidden-lg.hidden-sm,.factory-bootstrap-429 tr.hidden-lg.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.factory-bootstrap-429 .hidden-lg.hidden-md,.factory-bootstrap-429 td.hidden-lg.hidden-md,.factory-bootstrap-429 th.hidden-lg.hidden-md,.factory-bootstrap-429 tr.hidden-lg.hidden-md{display:none!important}}@media (min-width:1200px){.factory-bootstrap-429 .hidden-lg,.factory-bootstrap-429 td.hidden-lg,.factory-bootstrap-429 th.hidden-lg,.factory-bootstrap-429 tr.hidden-lg{display:none!important}}.factory-bootstrap-429 .visible-print,.factory-bootstrap-429 td.visible-print,.factory-bootstrap-429 th.visible-print,.factory-bootstrap-429 tr.visible-print{display:none!important}@media print{.factory-bootstrap-429 .visible-print{display:block!important}.factory-bootstrap-429 table.visible-print{display:table}.factory-bootstrap-429 tr.visible-print{display:table-row!important}.factory-bootstrap-429 td.visible-print,.factory-bootstrap-429 th.visible-print{display:table-cell!important}.factory-bootstrap-429 .hidden-print,.factory-bootstrap-429 td.hidden-print,.factory-bootstrap-429 th.hidden-print,.factory-bootstrap-429 tr.hidden-print{display:none!important}}/*!
12
  * Factory Default Bootstrap Theme
13
  *
14
  * The code is based on Bootstrap v2.1.1
22
  *
23
  * @package factory-bootstrap
24
  * @since 1.0.0
25
+ */.factory-bootstrap-429 .btn-danger,.factory-bootstrap-429 .btn-default,.factory-bootstrap-429 .btn-info,.factory-bootstrap-429 .btn-primary,.factory-bootstrap-429 .btn-success,.factory-bootstrap-429 .btn-warning{-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-429 .btn-danger.active,.factory-bootstrap-429 .btn-danger:active,.factory-bootstrap-429 .btn-default.active,.factory-bootstrap-429 .btn-default:active,.factory-bootstrap-429 .btn-info.active,.factory-bootstrap-429 .btn-info:active,.factory-bootstrap-429 .btn-primary.active,.factory-bootstrap-429 .btn-primary:active,.factory-bootstrap-429 .btn-success.active,.factory-bootstrap-429 .btn-success:active,.factory-bootstrap-429 .btn-warning.active,.factory-bootstrap-429 .btn-warning:active{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.1);box-shadow:inset 0 1px 1px rgba(0,0,0,.1)}.factory-bootstrap-429 .btn.active,.factory-bootstrap-429 .btn:active{background-image:none}.factory-bootstrap-429 .btn-default{color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);vertical-align:top}.factory-bootstrap-429 .btn-default.active,.factory-bootstrap-429 .btn-default:active{background-color:#fff;border-color:#dbdbdb}.factory-bootstrap-429 .btn-gold{font-weight:700;padding:7px 12px;cursor:pointer;line-height:16px;display:inline-block;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;box-shadow:#e3e3e3 0 1px 1px;-moz-box-shadow:0 1px 1px rgba(000,000,000,.1),inset 0 1px 1px rgba(255,255,255,.7);-webkit-box-shadow:0 1px 1px rgba(000,000,000,.1),inset 0 1px 1px rgba(255,255,255,.7);text-shadow:1px 1px 0 #ffe8b2;color:#7c5d1b;border:1px solid #d6a437;background:#feeb80}.factory-bootstrap-429 .btn-gold:focus,.factory-bootstrap-429 .btn-gold:hover{background:#fef0a1}.factory-bootstrap-429 .btn-gold.active,.factory-bootstrap-429 .btn-gold:active{background:#fef0a1;-webkit-box-shadow:inset 0 3px 8px 0 #f8ba36;box-shadow:inset 0 3px 8px 0 #f8ba36}.factory-bootstrap-429 .btn-primary{background:#2ea2cc;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);color:#fff;text-decoration:none}.factory-bootstrap-429 .btn-primary:focus,.factory-bootstrap-429 .btn-primary:hover{background:#1e8cbe;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6);box-shadow:inset 0 1px 0 rgba(120,200,230,.6);color:#fff}.factory-bootstrap-429 .btn-primary.active,.factory-bootstrap-429 .btn-primary:active{background-color:#2d6ca2;border-color:#2b669a}.factory-bootstrap-429 .btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);background-repeat:repeat-x;border-color:#3e8f3e;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-429 .btn-success:focus,.factory-bootstrap-429 .btn-success:hover{background-color:#419641;background-position:0 -15px}.factory-bootstrap-429 .btn-success.active,.factory-bootstrap-429 .btn-success:active{background-color:#419641;border-color:#3e8f3e}.factory-bootstrap-429 .btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);background-repeat:repeat-x;border-color:#e38d13;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-429 .btn-warning:focus,.factory-bootstrap-429 .btn-warning:hover{background-color:#eb9316;background-position:0 -15px}.factory-bootstrap-429 .btn-warning.active,.factory-bootstrap-429 .btn-warning:active{background-color:#eb9316;border-color:#e38d13}.factory-bootstrap-429 .btn-danger{color:#fff;background:#d9534f;border-color:#d43f3a}.factory-bootstrap-429 .btn-danger.active,.factory-bootstrap-429 .btn-danger:active,.factory-bootstrap-429 .btn-danger:focus,.factory-bootstrap-429 .btn-danger:hover,.factory-bootstrap-429 .open .dropdown-toggle.btn-danger{color:#fff;background-color:#d2322d;border-color:#ac2925}.factory-bootstrap-429 .btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);background-repeat:repeat-x;border-color:#28a4c9;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-429 .btn-info:focus,.factory-bootstrap-429 .btn-info:hover{background-color:#2aabd2;background-position:0 -15px}.factory-bootstrap-429 .btn-info.active,.factory-bootstrap-429 .btn-info:active{background-color:#2aabd2;border-color:#28a4c9}.factory-bootstrap-429 .img-thumbnail,.factory-bootstrap-429 .thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.factory-bootstrap-429 .dropdown-menu>li>a:focus,.factory-bootstrap-429 .dropdown-menu>li>a:hover{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0)}.factory-bootstrap-429 .dropdown-menu>.active>a,.factory-bootstrap-429 .dropdown-menu>.active>a:focus,.factory-bootstrap-429 .dropdown-menu>.active>a:hover{background-color:#357ebd;background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0)}.factory-bootstrap-429 .navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);background-repeat:repeat-x;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.factory-bootstrap-429 .navbar-default .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f3f3f3 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f3f3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff3f3f3', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.factory-bootstrap-429 .navbar-brand,.factory-bootstrap-429 .navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.factory-bootstrap-429 .navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-429 .navbar-inverse .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#222 0,#282828 100%);background-image:linear-gradient(to bottom,#222 0,#282828 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff282828', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.factory-bootstrap-429 .navbar-inverse .navbar-brand,.factory-bootstrap-429 .navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.factory-bootstrap-429 .navbar-fixed-bottom,.factory-bootstrap-429 .navbar-fixed-top,.factory-bootstrap-429 .navbar-static-top{border-radius:0}.factory-bootstrap-429 .alert{-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.factory-bootstrap-429 .alert .actions{padding-top:10px}.factory-bootstrap-429 .alert-success{color:#3c763d;background-color:#dff0d8;border-bottom:2px solid #c8e5bc}.factory-bootstrap-429 .alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);background-repeat:repeat-x;border-color:#9acfea;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0)}.factory-bootstrap-429 .alert{text-shadow:none;box-shadow:none;margin:0;margin-top:10px;margin-bottom:10px;padding:10px}.factory-bootstrap-429 .alert-normal,.factory-bootstrap-429 .alert-warning{background:#fcf8e3;color:#8a6d3b;border:1px solid #b8823b}.factory-bootstrap-429 .alert-danger{background:#cf4944;color:#fff;border-bottom:2px solid #b23e3a}.factory-bootstrap-429 .alert-danger a:not(.btn),.factory-bootstrap-429 .alert-error a:not(.btn){color:#fff}.factory-bootstrap-429 .progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0)}.factory-bootstrap-429 .progress-bar{background-image:-webkit-linear-gradient(top,#428bca 0,#3071a9 100%);background-image:linear-gradient(to bottom,#428bca 0,#3071a9 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0)}.factory-bootstrap-429 .progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0)}.factory-bootstrap-429 .progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0)}.factory-bootstrap-429 .progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0)}.factory-bootstrap-429 .progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0)}.factory-bootstrap-429 .list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.factory-bootstrap-429 .list-group-item.active,.factory-bootstrap-429 .list-group-item.active:focus,.factory-bootstrap-429 .list-group-item.active:hover{text-shadow:0 -1px 0 #3071a9;background-image:-webkit-linear-gradient(top,#428bca 0,#3278b3 100%);background-image:linear-gradient(to bottom,#428bca 0,#3278b3 100%);background-repeat:repeat-x;border-color:#3278b3;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0)}.factory-bootstrap-429 .panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.factory-bootstrap-429 .panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0)}.factory-bootstrap-429 .panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0)}.factory-bootstrap-429 .panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0)}.factory-bootstrap-429 .panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0)}.factory-bootstrap-429 .panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0)}.factory-bootstrap-429 .panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0)}.factory-bootstrap-429 .well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);background-repeat:repeat-x;border-color:#dcdcdc;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)}.factory-bootstrap-429 .factory-after{margin-left:7px;display:inline-block}.factory-bootstrap-429 .factory-hidden{display:none}.factory-bootstrap-429 .factory-ajax-loader{width:25px;height:25px;background:url(../assets/images/loader-sm-tr.gif)}.factory-control-error{background-color:rgba(0,0,0,.8);white-space:normal;z-index:10;font-weight:400;line-height:150%;border-radius:4px;color:#fff;font-size:13px;margin-top:5px;padding:4px 10px 3px;max-width:500px;display:inline-block}.factory-control-error i{margin:0 7px 0 1px}
libs/factory/bootstrap/assets/css-min/bootstrap.ectoplasm.min.css CHANGED
@@ -8,4 +8,4 @@
8
  */
9
 
10
 
11
- .factory-bootstrap-428 .btn-primary{background:#a3b745;border-color:#839237;color:#fff;-webkit-box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-428 .btn-primary:focus,.factory-bootstrap-428 .btn-primary:hover{background:#89993a;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 1px 0 #b7c669,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #b7c669,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-428 .btn-primary:active{background:#89993a;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-428 .btn-primary:disabled,.factory-bootstrap-428 .btn-primary[disabled]{color:#cfd1c7!important;background:#89993a!important;border-color:#727f30!important;text-shadow:none!important}.factory-bootstrap-428 .btn-group .btn.active.value{background-color:#a3b745;-webkit-box-shadow:inset 0 1px 2px #839237;box-shadow:inset 0 1px 2px #839237;border-top:1px solid #839237;border-bottom:1px solid #839237;border-left:1px solid #839237}.factory-bootstrap-428 .pagination>.active>a,.factory-bootstrap-428 .pagination>.active>a:focus,.factory-bootstrap-428 .pagination>.active>a:hover,.factory-bootstrap-428 .pagination>.active>span,.factory-bootstrap-428 .pagination>.active>span:focus,.factory-bootstrap-428 .pagination>.active>span:hover{background-color:#a3b745;border-color:#839237}
8
  */
9
 
10
 
11
+ .factory-bootstrap-429 .btn-primary{background:#a3b745;border-color:#839237;color:#fff;-webkit-box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-429 .btn-primary:focus,.factory-bootstrap-429 .btn-primary:hover{background:#89993a;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 1px 0 #b7c669,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #b7c669,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-429 .btn-primary:active{background:#89993a;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-429 .btn-primary:disabled,.factory-bootstrap-429 .btn-primary[disabled]{color:#cfd1c7!important;background:#89993a!important;border-color:#727f30!important;text-shadow:none!important}.factory-bootstrap-429 .btn-group .btn.active.value{background-color:#a3b745;-webkit-box-shadow:inset 0 1px 2px #839237;box-shadow:inset 0 1px 2px #839237;border-top:1px solid #839237;border-bottom:1px solid #839237;border-left:1px solid #839237}.factory-bootstrap-429 .pagination>.active>a,.factory-bootstrap-429 .pagination>.active>a:focus,.factory-bootstrap-429 .pagination>.active>a:hover,.factory-bootstrap-429 .pagination>.active>span,.factory-bootstrap-429 .pagination>.active>span:focus,.factory-bootstrap-429 .pagination>.active>span:hover{background-color:#a3b745;border-color:#839237}
libs/factory/bootstrap/assets/css-min/bootstrap.form-group.min.css CHANGED
@@ -8,4 +8,4 @@
8
  */
9
 
10
 
11
- .factory-bootstrap-428 .factory-form-group .factory-legend{padding:9px 12px;background-color:#f9f9f9}.factory-bootstrap-428 .factory-form-group .factory-title{font-weight:700;font-size:14px;line-height:14px;color:#555;margin:0}.factory-bootstrap-428 .factory-form-group .factory-hint-icon{display:block;width:16px;height:16px;line-height:13px;padding:0;font-size:11px;text-align:center;position:absolute;top:-5px;right:-3px;color:#fff;background:#E91E63;border-radius:3px}.factory-bootstrap-428 .factory-form-group .factory-hint-icon.factory-hint-icon-green{background:#8bc34a}.factory-bootstrap-428 .factory-form-group .factory-hint-icon.factory-hint-icon-grey{background:#9e9e9e}.factory-bootstrap-428 .factory-form-group .factory-hint-icon.factory-hint-icon-red{background:#E91E63}.factory-bootstrap-428 .factory-form-group .factory-hint{margin:0;font-size:12px;line-height:16px;margin-top:6px}.factory-bootstrap-428 .factory-form-group+.factory-form-group{margin-top:30px}.factory-bootstrap-428 .factory-form-group legend+.control-group{margin-top:0}
8
  */
9
 
10
 
11
+ .factory-bootstrap-429 .factory-form-group .factory-legend{padding:9px 12px;background-color:#f9f9f9}.factory-bootstrap-429 .factory-form-group .factory-title{font-weight:700;font-size:14px;line-height:14px;color:#555;margin:0}.factory-bootstrap-429 .factory-form-group .factory-hint-icon{display:block;width:16px;height:16px;line-height:13px;padding:0;font-size:11px;text-align:center;position:absolute;top:-5px;right:-3px;color:#fff;background:#E91E63;border-radius:3px}.factory-bootstrap-429 .factory-form-group .factory-hint-icon.factory-hint-icon-green{background:#8bc34a}.factory-bootstrap-429 .factory-form-group .factory-hint-icon.factory-hint-icon-grey{background:#9e9e9e}.factory-bootstrap-429 .factory-form-group .factory-hint-icon.factory-hint-icon-red{background:#E91E63}.factory-bootstrap-429 .factory-form-group .factory-hint{margin:0;font-size:12px;line-height:16px;margin-top:6px}.factory-bootstrap-429 .factory-form-group+.factory-form-group{margin-top:30px}.factory-bootstrap-429 .factory-form-group legend+.control-group{margin-top:0}
libs/factory/bootstrap/assets/css-min/bootstrap.light.min.css CHANGED
@@ -8,4 +8,4 @@
8
  */
9
 
10
 
11
- .factory-bootstrap-428 .btn-primary{background:#04a4cc;border-color:#037c9a;color:#fff;-webkit-box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-428 .btn-primary:focus,.factory-bootstrap-428 .btn-primary:hover{background:#0384a4;border-color:#036881;color:#fff;-webkit-box-shadow:inset 0 1px 0 #09cafa,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #09cafa,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-428 .btn-primary:active{background:#0384a4;border-color:#036881;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-428 .btn-primary:disabled,.factory-bootstrap-428 .btn-primary[disabled]{color:#c7cfd1!important;background:#0384a4!important;border-color:#036881!important;text-shadow:none!important}.factory-bootstrap-428 .btn-group .btn.active.value{background-color:#04a4cc;-webkit-box-shadow:inset 0 1px 2px #037c9a;box-shadow:inset 0 1px 2px #037c9a;border-top:1px solid #037c9a;border-bottom:1px solid #037c9a;border-left:1px solid #037c9a}.factory-bootstrap-428 .pagination>.active>a,.factory-bootstrap-428 .pagination>.active>a:focus,.factory-bootstrap-428 .pagination>.active>a:hover,.factory-bootstrap-428 .pagination>.active>span,.factory-bootstrap-428 .pagination>.active>span:focus,.factory-bootstrap-428 .pagination>.active>span:hover{background-color:#04a4cc;border-color:#037c9a}
8
  */
9
 
10
 
11
+ .factory-bootstrap-429 .btn-primary{background:#04a4cc;border-color:#037c9a;color:#fff;-webkit-box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-429 .btn-primary:focus,.factory-bootstrap-429 .btn-primary:hover{background:#0384a4;border-color:#036881;color:#fff;-webkit-box-shadow:inset 0 1px 0 #09cafa,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #09cafa,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-429 .btn-primary:active{background:#0384a4;border-color:#036881;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-429 .btn-primary:disabled,.factory-bootstrap-429 .btn-primary[disabled]{color:#c7cfd1!important;background:#0384a4!important;border-color:#036881!important;text-shadow:none!important}.factory-bootstrap-429 .btn-group .btn.active.value{background-color:#04a4cc;-webkit-box-shadow:inset 0 1px 2px #037c9a;box-shadow:inset 0 1px 2px #037c9a;border-top:1px solid #037c9a;border-bottom:1px solid #037c9a;border-left:1px solid #037c9a}.factory-bootstrap-429 .pagination>.active>a,.factory-bootstrap-429 .pagination>.active>a:focus,.factory-bootstrap-429 .pagination>.active>a:hover,.factory-bootstrap-429 .pagination>.active>span,.factory-bootstrap-429 .pagination>.active>span:focus,.factory-bootstrap-429 .pagination>.active>span:hover{background-color:#04a4cc;border-color:#037c9a}
libs/factory/bootstrap/assets/css-min/bootstrap.midnight.min.css CHANGED
@@ -8,4 +8,4 @@
8
  */
9
 
10
 
11
- .factory-bootstrap-428 .btn-primary{background:#e14d43;border-color:#d02a21;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-428 .btn-primary:focus,.factory-bootstrap-428 .btn-primary:hover{background:#d92c23;border-color:#ba251e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8756f,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8756f,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-428 .btn-primary:active{background:#d92c23;border-color:#ba251e;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-428 .btn-primary:disabled,.factory-bootstrap-428 .btn-primary[disabled]{color:#d1c7c7!important;background:#d92c23!important;border-color:#ba251e!important;text-shadow:none!important}.factory-bootstrap-428 .btn-group .btn.active.value{background-color:#e14d43;-webkit-box-shadow:inset 0 1px 2px #d02a21;box-shadow:inset 0 1px 2px #d02a21;border-top:1px solid #d02a21;border-bottom:1px solid #d02a21;border-left:1px solid #d02a21}.factory-bootstrap-428 .pagination>.active>a,.factory-bootstrap-428 .pagination>.active>a:focus,.factory-bootstrap-428 .pagination>.active>a:hover,.factory-bootstrap-428 .pagination>.active>span,.factory-bootstrap-428 .pagination>.active>span:focus,.factory-bootstrap-428 .pagination>.active>span:hover{background-color:#e14d43;border-color:#d02a21}
8
  */
9
 
10
 
11
+ .factory-bootstrap-429 .btn-primary{background:#e14d43;border-color:#d02a21;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-429 .btn-primary:focus,.factory-bootstrap-429 .btn-primary:hover{background:#d92c23;border-color:#ba251e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8756f,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8756f,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-429 .btn-primary:active{background:#d92c23;border-color:#ba251e;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-429 .btn-primary:disabled,.factory-bootstrap-429 .btn-primary[disabled]{color:#d1c7c7!important;background:#d92c23!important;border-color:#ba251e!important;text-shadow:none!important}.factory-bootstrap-429 .btn-group .btn.active.value{background-color:#e14d43;-webkit-box-shadow:inset 0 1px 2px #d02a21;box-shadow:inset 0 1px 2px #d02a21;border-top:1px solid #d02a21;border-bottom:1px solid #d02a21;border-left:1px solid #d02a21}.factory-bootstrap-429 .pagination>.active>a,.factory-bootstrap-429 .pagination>.active>a:focus,.factory-bootstrap-429 .pagination>.active>a:hover,.factory-bootstrap-429 .pagination>.active>span,.factory-bootstrap-429 .pagination>.active>span:focus,.factory-bootstrap-429 .pagination>.active>span:hover{background-color:#e14d43;border-color:#d02a21}
libs/factory/bootstrap/assets/css-min/bootstrap.ocean.min.css CHANGED
@@ -8,4 +8,4 @@
8
  */
9
 
10
 
11
- .factory-bootstrap-428 .btn-primary{background:#9ebaa0;border-color:#80a583;color:#fff;-webkit-box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-428 .btn-primary:focus,.factory-bootstrap-428 .btn-primary:hover{background:#86a988;border-color:#719a74;color:#fff;-webkit-box-shadow:inset 0 1px 0 #bccfbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #bccfbd,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-428 .btn-primary:active{background:#86a988;border-color:#719a74;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-428 .btn-primary:disabled,.factory-bootstrap-428 .btn-primary[disabled]{color:#c7d1c8!important;background:#86a988!important;border-color:#719a74!important;text-shadow:none!important}.factory-bootstrap-428 .btn-group .btn.active.value{background-color:#9ebaa0;-webkit-box-shadow:inset 0 1px 2px #80a583;box-shadow:inset 0 1px 2px #80a583;border-top:1px solid #80a583;border-bottom:1px solid #80a583;border-left:1px solid #80a583}.factory-bootstrap-428 .pagination>.active>a,.factory-bootstrap-428 .pagination>.active>a:focus,.factory-bootstrap-428 .pagination>.active>a:hover,.factory-bootstrap-428 .pagination>.active>span,.factory-bootstrap-428 .pagination>.active>span:focus,.factory-bootstrap-428 .pagination>.active>span:hover{background-color:#9ebaa0;border-color:#80a583}
8
  */
9
 
10
 
11
+ .factory-bootstrap-429 .btn-primary{background:#9ebaa0;border-color:#80a583;color:#fff;-webkit-box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-429 .btn-primary:focus,.factory-bootstrap-429 .btn-primary:hover{background:#86a988;border-color:#719a74;color:#fff;-webkit-box-shadow:inset 0 1px 0 #bccfbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #bccfbd,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-429 .btn-primary:active{background:#86a988;border-color:#719a74;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-429 .btn-primary:disabled,.factory-bootstrap-429 .btn-primary[disabled]{color:#c7d1c8!important;background:#86a988!important;border-color:#719a74!important;text-shadow:none!important}.factory-bootstrap-429 .btn-group .btn.active.value{background-color:#9ebaa0;-webkit-box-shadow:inset 0 1px 2px #80a583;box-shadow:inset 0 1px 2px #80a583;border-top:1px solid #80a583;border-bottom:1px solid #80a583;border-left:1px solid #80a583}.factory-bootstrap-429 .pagination>.active>a,.factory-bootstrap-429 .pagination>.active>a:focus,.factory-bootstrap-429 .pagination>.active>a:hover,.factory-bootstrap-429 .pagination>.active>span,.factory-bootstrap-429 .pagination>.active>span:focus,.factory-bootstrap-429 .pagination>.active>span:hover{background-color:#9ebaa0;border-color:#80a583}
libs/factory/bootstrap/assets/css-min/bootstrap.separator.min.css CHANGED
@@ -8,4 +8,4 @@
8
  */
9
 
10
 
11
- .factory-bootstrap-428 .factory-separator{border-bottom:1px solid #f9f9f9;border-top:1px solid #d1d1d1;margin-bottom:25px}
8
  */
9
 
10
 
11
+ .factory-bootstrap-429 .factory-separator{border-bottom:1px solid #f9f9f9;border-top:1px solid #d1d1d1;margin-bottom:25px}
libs/factory/bootstrap/assets/css-min/bootstrap.sunrise.min.css CHANGED
@@ -8,4 +8,4 @@
8
  */
9
 
10
 
11
- .factory-bootstrap-428 .btn-primary{background:#dd823b;border-color:#c36822;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-428 .btn-primary:focus,.factory-bootstrap-428 .btn-primary:hover{background:#cc6c23;border-color:#ad5c1e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e59d66,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e59d66,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-428 .btn-primary:active{background:#cc6c23;border-color:#ad5c1e;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-428 .btn-primary:disabled,.factory-bootstrap-428 .btn-primary[disabled]{color:#d1cbc7!important;background:#cc6c23!important;border-color:#ad5c1e!important;text-shadow:none!important}.factory-bootstrap-428 .btn-group .btn.active.value{background-color:#dd823b;-webkit-box-shadow:inset 0 1px 2px #c36822;box-shadow:inset 0 1px 2px #c36822;border-top:1px solid #c36822;border-bottom:1px solid #c36822;border-left:1px solid #c36822}.factory-bootstrap-428 .pagination>.active>a,.factory-bootstrap-428 .pagination>.active>a:focus,.factory-bootstrap-428 .pagination>.active>a:hover,.factory-bootstrap-428 .pagination>.active>span,.factory-bootstrap-428 .pagination>.active>span:focus,.factory-bootstrap-428 .pagination>.active>span:hover{background-color:#dd823b;border-color:#c36822}
8
  */
9
 
10
 
11
+ .factory-bootstrap-429 .btn-primary{background:#dd823b;border-color:#c36822;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-429 .btn-primary:focus,.factory-bootstrap-429 .btn-primary:hover{background:#cc6c23;border-color:#ad5c1e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e59d66,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e59d66,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-429 .btn-primary:active{background:#cc6c23;border-color:#ad5c1e;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-429 .btn-primary:disabled,.factory-bootstrap-429 .btn-primary[disabled]{color:#d1cbc7!important;background:#cc6c23!important;border-color:#ad5c1e!important;text-shadow:none!important}.factory-bootstrap-429 .btn-group .btn.active.value{background-color:#dd823b;-webkit-box-shadow:inset 0 1px 2px #c36822;box-shadow:inset 0 1px 2px #c36822;border-top:1px solid #c36822;border-bottom:1px solid #c36822;border-left:1px solid #c36822}.factory-bootstrap-429 .pagination>.active>a,.factory-bootstrap-429 .pagination>.active>a:focus,.factory-bootstrap-429 .pagination>.active>a:hover,.factory-bootstrap-429 .pagination>.active>span,.factory-bootstrap-429 .pagination>.active>span:focus,.factory-bootstrap-429 .pagination>.active>span:hover{background-color:#dd823b;border-color:#c36822}
libs/factory/bootstrap/assets/css-min/control.checkbox.min.css CHANGED
@@ -8,4 +8,4 @@
8
  */
9
 
10
 
11
- #side-sortables .factory-bootstrap-428 .factory-buttons-way{float:right;position:relative;top:-25px;left:5px;border:3px solid #f9f9f9;border-radius:4px}.factory-bootstrap-428 .factory-buttons-way{border:3px solid #f9f9f9;border-radius:4px}.factory-bootstrap-428 .factory-buttons-way button{padding-left:10px;padding-right:10px}.factory-bootstrap-428 .factory-buttons-way .factory-on.active{text-shadow:none;color:#fff;background-color:#33aad5;-webkit-box-shadow:inset 0 1px 1px #0074a2;box-shadow:inset 0 1px 3px #0074a2;border-top:1px solid #0074a2;border-bottom:1px solid #0074a2;border-left:1px solid #0074a2}.factory-bootstrap-428 .factory-checkbox-tumbler-hint{margin-top:5px}.factory-bootstrap-428 .factory-checkbox-tumbler-hint .factory-tumbler-content{display:inline-block;background-color:#ffd;padding:1px 5px}.admin-color-light .factory-bootstrap-428 .factory-buttons-way .factory-on.active{background-color:#04a4cc;-webkit-box-shadow:inset 0 1px 2px #037c9a;box-shadow:inset 0 1px 2px #037c9a;border-top:1px solid #037c9a;border-bottom:1px solid #037c9a;border-left:1px solid #037c9a}.admin-color-blue .factory-bootstrap-428 .factory-buttons-way .factory-on.active{background-color:#e1a948;-webkit-box-shadow:inset 0 1px 2px #d39323;box-shadow:inset 0 1px 2px #d39323;border-top:1px solid #d39323;border-bottom:1px solid #d39323;border-left:1px solid #d39323}.admin-color-coffee .factory-bootstrap-428 .factory-buttons-way .factory-on.active{background-color:#c7a589;-webkit-box-shadow:inset 0 1px 2px #b78a66;box-shadow:inset 0 1px 2px #b78a66;border-top:1px solid #b78a66;border-bottom:1px solid #b78a66;border-left:1px solid #b78a66}.admin-color-ectoplasm .factory-bootstrap-428 .factory-buttons-way .factory-on.active{background-color:#a3b745;-webkit-box-shadow:inset 0 1px 2px #839237;box-shadow:inset 0 1px 2px #839237;border-top:1px solid #839237;border-bottom:1px solid #839237;border-left:1px solid #839237}.admin-color-midnight .factory-bootstrap-428 .factory-buttons-way .factory-on.active{background-color:#e14d43;-webkit-box-shadow:inset 0 1px 2px #d02a21;box-shadow:inset 0 1px 2px #d02a21;border-top:1px solid #d02a21;border-bottom:1px solid #d02a21;border-left:1px solid #d02a21}.admin-color-ocean .factory-bootstrap-428 .factory-buttons-way .factory-on.active{background-color:#9ebaa0;-webkit-box-shadow:inset 0 1px 2px #80a583;box-shadow:inset 0 1px 2px #80a583;border-top:1px solid #80a583;border-bottom:1px solid #80a583;border-left:1px solid #80a583}.admin-color-sunrise .factory-bootstrap-428 .factory-buttons-way .factory-on.active{background-color:#dd823b;-webkit-box-shadow:inset 0 1px 2px #c36822;box-shadow:inset 0 1px 2px #c36822;border-top:1px solid #c36822;border-bottom:1px solid #c36822;border-left:1px solid #c36822}
8
  */
9
 
10
 
11
+ #side-sortables .factory-bootstrap-429 .factory-buttons-way{float:right;position:relative;top:-25px;left:5px;border:3px solid #f9f9f9;border-radius:4px}.factory-bootstrap-429 .factory-buttons-way{border:3px solid #f9f9f9;border-radius:4px}.factory-bootstrap-429 .factory-buttons-way button{padding-left:10px;padding-right:10px}.factory-bootstrap-429 .factory-buttons-way .factory-on.active{text-shadow:none;color:#fff;background-color:#33aad5;-webkit-box-shadow:inset 0 1px 1px #0074a2;box-shadow:inset 0 1px 3px #0074a2;border-top:1px solid #0074a2;border-bottom:1px solid #0074a2;border-left:1px solid #0074a2}.factory-bootstrap-429 .factory-checkbox-tumbler-hint{margin-top:5px}.factory-bootstrap-429 .factory-checkbox-tumbler-hint .factory-tumbler-content{display:inline-block;background-color:#ffd;padding:1px 5px}.admin-color-light .factory-bootstrap-429 .factory-buttons-way .factory-on.active{background-color:#04a4cc;-webkit-box-shadow:inset 0 1px 2px #037c9a;box-shadow:inset 0 1px 2px #037c9a;border-top:1px solid #037c9a;border-bottom:1px solid #037c9a;border-left:1px solid #037c9a}.admin-color-blue .factory-bootstrap-429 .factory-buttons-way .factory-on.active{background-color:#e1a948;-webkit-box-shadow:inset 0 1px 2px #d39323;box-shadow:inset 0 1px 2px #d39323;border-top:1px solid #d39323;border-bottom:1px solid #d39323;border-left:1px solid #d39323}.admin-color-coffee .factory-bootstrap-429 .factory-buttons-way .factory-on.active{background-color:#c7a589;-webkit-box-shadow:inset 0 1px 2px #b78a66;box-shadow:inset 0 1px 2px #b78a66;border-top:1px solid #b78a66;border-bottom:1px solid #b78a66;border-left:1px solid #b78a66}.admin-color-ectoplasm .factory-bootstrap-429 .factory-buttons-way .factory-on.active{background-color:#a3b745;-webkit-box-shadow:inset 0 1px 2px #839237;box-shadow:inset 0 1px 2px #839237;border-top:1px solid #839237;border-bottom:1px solid #839237;border-left:1px solid #839237}.admin-color-midnight .factory-bootstrap-429 .factory-buttons-way .factory-on.active{background-color:#e14d43;-webkit-box-shadow:inset 0 1px 2px #d02a21;box-shadow:inset 0 1px 2px #d02a21;border-top:1px solid #d02a21;border-bottom:1px solid #d02a21;border-left:1px solid #d02a21}.admin-color-ocean .factory-bootstrap-429 .factory-buttons-way .factory-on.active{background-color:#9ebaa0;-webkit-box-shadow:inset 0 1px 2px #80a583;box-shadow:inset 0 1px 2px #80a583;border-top:1px solid #80a583;border-bottom:1px solid #80a583;border-left:1px solid #80a583}.admin-color-sunrise .factory-bootstrap-429 .factory-buttons-way .factory-on.active{background-color:#dd823b;-webkit-box-shadow:inset 0 1px 2px #c36822;box-shadow:inset 0 1px 2px #c36822;border-top:1px solid #c36822;border-bottom:1px solid #c36822;border-left:1px solid #c36822}
libs/factory/bootstrap/assets/css-min/control.dropdown.min.css CHANGED
@@ -8,4 +8,4 @@
8
  */
9
 
10
 
11
- .factory-bootstrap-428 .factory-dropdown.factory-buttons-way .fa{margin-right:6px;position:relative}.factory-bootstrap-428 .factory-dropdown.factory-buttons-way{border:0;border-radius:0}.factory-bootstrap-428 .factory-hints .factory-hint{margin-top:5px;display:inline-block;background-color:#ffd;padding:1px 5px}.admin-color-light .factory-bootstrap-428 .factory-dropdown.factory-buttons-way .active{background-color:#04a4cc;-webkit-box-shadow:inset 0 1px 2px #037c9a;box-shadow:inset 0 1px 2px #037c9a;border-top:1px solid #037c9a;border-bottom:1px solid #037c9a;border-left:1px solid #037c9a}.admin-color-blue .factory-bootstrap-428 .factory-dropdown.factory-buttons-way .active{background-color:#e1a948;-webkit-box-shadow:inset 0 1px 2px #d39323;box-shadow:inset 0 1px 2px #d39323;border-top:1px solid #d39323;border-bottom:1px solid #d39323;border-left:1px solid #d39323}.admin-color-coffee .factory-bootstrap-428 .factory-dropdown.factory-buttons-way .active{background-color:#c7a589;-webkit-box-shadow:inset 0 1px 2px #b78a66;box-shadow:inset 0 1px 2px #b78a66;border-top:1px solid #b78a66;border-bottom:1px solid #b78a66;border-left:1px solid #b78a66}.admin-color-ectoplasm .factory-bootstrap-428 .factory-dropdown.factory-buttons-way .active{background-color:#a3b745;-webkit-box-shadow:inset 0 1px 2px #839237;box-shadow:inset 0 1px 2px #839237;border-top:1px solid #839237;border-bottom:1px solid #839237;border-left:1px solid #839237}.admin-color-midnight .factory-bootstrap-428 .factory-dropdown.factory-buttons-way .active{background-color:#e14d43;-webkit-box-shadow:inset 0 1px 2px #d02a21;box-shadow:inset 0 1px 2px #d02a21;border-top:1px solid #d02a21;border-bottom:1px solid #d02a21;border-left:1px solid #d02a21}.admin-color-ocean .factory-bootstrap-428 .factory-dropdown.factory-buttons-way .active{background-color:#9ebaa0;-webkit-box-shadow:inset 0 1px 2px #80a583;box-shadow:inset 0 1px 2px #80a583;border-top:1px solid #80a583;border-bottom:1px solid #80a583;border-left:1px solid #80a583}.admin-color-sunrise .factory-bootstrap-428 .factory-dropdown.factory-buttons-way .active{background-color:#dd823b;-webkit-box-shadow:inset 0 1px 2px #c36822;box-shadow:inset 0 1px 2px #c36822;border-top:1px solid #c36822;border-bottom:1px solid #c36822;border-left:1px solid #c36822}.factory-bootstrap-428 .factory-dropdown.factory-ddslick-way .dd-select{background-color:#fff!important}.factory-bootstrap-428 .factory-dropdown.factory-ddslick-way label{margin-bottom:1px}.factory-bootstrap-428 .factory-dropdown.factory-ddslick-way .dd-option,.factory-bootstrap-428 .factory-dropdown.factory-ddslick-way .dd-selected{padding:8px 12px 8px 11px!important}
8
  */
9
 
10
 
11
+ .factory-bootstrap-429 .factory-dropdown.factory-buttons-way .fa{margin-right:6px;position:relative}.factory-bootstrap-429 .factory-dropdown.factory-buttons-way{border:0;border-radius:0}.factory-bootstrap-429 .factory-hints .factory-hint{margin-top:5px;display:inline-block;background-color:#ffd;padding:1px 5px}.admin-color-light .factory-bootstrap-429 .factory-dropdown.factory-buttons-way .active{background-color:#04a4cc;-webkit-box-shadow:inset 0 1px 2px #037c9a;box-shadow:inset 0 1px 2px #037c9a;border-top:1px solid #037c9a;border-bottom:1px solid #037c9a;border-left:1px solid #037c9a}.admin-color-blue .factory-bootstrap-429 .factory-dropdown.factory-buttons-way .active{background-color:#e1a948;-webkit-box-shadow:inset 0 1px 2px #d39323;box-shadow:inset 0 1px 2px #d39323;border-top:1px solid #d39323;border-bottom:1px solid #d39323;border-left:1px solid #d39323}.admin-color-coffee .factory-bootstrap-429 .factory-dropdown.factory-buttons-way .active{background-color:#c7a589;-webkit-box-shadow:inset 0 1px 2px #b78a66;box-shadow:inset 0 1px 2px #b78a66;border-top:1px solid #b78a66;border-bottom:1px solid #b78a66;border-left:1px solid #b78a66}.admin-color-ectoplasm .factory-bootstrap-429 .factory-dropdown.factory-buttons-way .active{background-color:#a3b745;-webkit-box-shadow:inset 0 1px 2px #839237;box-shadow:inset 0 1px 2px #839237;border-top:1px solid #839237;border-bottom:1px solid #839237;border-left:1px solid #839237}.admin-color-midnight .factory-bootstrap-429 .factory-dropdown.factory-buttons-way .active{background-color:#e14d43;-webkit-box-shadow:inset 0 1px 2px #d02a21;box-shadow:inset 0 1px 2px #d02a21;border-top:1px solid #d02a21;border-bottom:1px solid #d02a21;border-left:1px solid #d02a21}.admin-color-ocean .factory-bootstrap-429 .factory-dropdown.factory-buttons-way .active{background-color:#9ebaa0;-webkit-box-shadow:inset 0 1px 2px #80a583;box-shadow:inset 0 1px 2px #80a583;border-top:1px solid #80a583;border-bottom:1px solid #80a583;border-left:1px solid #80a583}.admin-color-sunrise .factory-bootstrap-429 .factory-dropdown.factory-buttons-way .active{background-color:#dd823b;-webkit-box-shadow:inset 0 1px 2px #c36822;box-shadow:inset 0 1px 2px #c36822;border-top:1px solid #c36822;border-bottom:1px solid #c36822;border-left:1px solid #c36822}.factory-bootstrap-429 .factory-dropdown.factory-ddslick-way .dd-select{background-color:#fff!important}.factory-bootstrap-429 .factory-dropdown.factory-ddslick-way label{margin-bottom:1px}.factory-bootstrap-429 .factory-dropdown.factory-ddslick-way .dd-option,.factory-bootstrap-429 .factory-dropdown.factory-ddslick-way .dd-selected{padding:8px 12px 8px 11px!important}
libs/factory/bootstrap/assets/css-min/control.multiple-textbox.min.css CHANGED
@@ -8,4 +8,4 @@
8
  */
9
 
10
 
11
- .factory-bootstrap-428 .factory-mtextbox-item{position:relative;margin-bottom:5px}.factory-bootstrap-428 .factory-mtextbox-item input,.factory-mtextbox-remove-item{display:inline-block}.factory-bootstrap-428 .factory-mtextbox-item .factory-mtextbox-remove-item{position:absolute;top:0;right:0;bottom:0;width:40px;border-radius:0 3px 3px 0;outline:0}.factory-bootstrap-428 .factory-mtextbox-item .factory-mtextbox-remove-item:focus,.factory-bootstrap-428 .factory-mtextbox-item .factory-mtextbox-remove-item:hover{box-shadow:none;outline:0}.factory-bootstrap-428 .factory-mtextbox-add-item{display:block;margin-top:10px}
8
  */
9
 
10
 
11
+ .factory-bootstrap-429 .factory-mtextbox-item{position:relative;margin-bottom:5px}.factory-bootstrap-429 .factory-mtextbox-item input,.factory-mtextbox-remove-item{display:inline-block}.factory-bootstrap-429 .factory-mtextbox-item .factory-mtextbox-remove-item{position:absolute;top:0;right:0;bottom:0;width:40px;border-radius:0 3px 3px 0;outline:0}.factory-bootstrap-429 .factory-mtextbox-item .factory-mtextbox-remove-item:focus,.factory-bootstrap-429 .factory-mtextbox-item .factory-mtextbox-remove-item:hover{box-shadow:none;outline:0}.factory-bootstrap-429 .factory-mtextbox-add-item{display:block;margin-top:10px}
libs/factory/bootstrap/assets/css-min/holder.more-link.min.css CHANGED
@@ -8,4 +8,4 @@
8
  */
9
 
10
 
11
- .factory-bootstrap-428 .factory-more-link-content{border-top:1px dashed #DDD;padding-top:25px;width:100%;padding-right:20px;position:relative}.factory-bootstrap-428 .factory-tab .factory-more-link-show{display:inline-block;text-decoration:none;border-bottom:1px dotted #21759b;position:relative}.factory-bootstrap-428 .factory-tab .factory-more-link-show:hover{border-color:#d54e21}.factory-bootstrap-428 .factory-tab .factory-more-link-hide{position:absolute;margin-top:-35px;background-color:#fff;padding:0 5px;right:20px;color:#bbb;text-decoration:none}.factory-bootstrap-428 .factory-tab .factory-more-link-hide:hover{color:#999}
8
  */
9
 
10
 
11
+ .factory-bootstrap-429 .factory-more-link-content{border-top:1px dashed #DDD;padding-top:25px;width:100%;padding-right:20px;position:relative}.factory-bootstrap-429 .factory-tab .factory-more-link-show{display:inline-block;text-decoration:none;border-bottom:1px dotted #21759b;position:relative}.factory-bootstrap-429 .factory-tab .factory-more-link-show:hover{border-color:#d54e21}.factory-bootstrap-429 .factory-tab .factory-more-link-hide{position:absolute;margin-top:-35px;background-color:#fff;padding:0 5px;right:20px;color:#bbb;text-decoration:none}.factory-bootstrap-429 .factory-tab .factory-more-link-hide:hover{color:#999}
libs/factory/bootstrap/assets/js-min/bootstrap.dropdown.min.js CHANGED
@@ -7,4 +7,4 @@
7
  * Support: http://webcraftic.com/contact-us/
8
  */
9
 
10
- +function(a){"use strict";function b(){a(d).remove(),a(e).each(function(b){var d=c(a(this));d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown")),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown"))})}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}var d=".dropdown-backdrop",e="[data-toggle=factory-dropdown]",f=function(b){a(b).on("click.bs.dropdown",this.toggle)};f.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){if("ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",b),f.trigger(d=a.Event("show.bs.dropdown")),d.isDefaultPrevented())return;f.toggleClass("open").trigger("shown.bs.dropdown"),e.focus()}return!1}},f.prototype.keydown=function(b){if(/(38|40|27)/.test(b.keyCode)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var f=c(d),g=f.hasClass("open");if(!g||g&&27==b.keyCode)return 27==b.which&&f.find(e).focus(),d.click();var h=a("[role=menu] li:not(.divider):visible a",f);if(h.length){var i=h.index(h.filter(":focus"));38==b.keyCode&&i>0&&i--,40==b.keyCode&&i<h.length-1&&i++,~i||(i=0),h.eq(i).focus()}}}},a.fn.factoryBootstrap428_dropdown=function(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new f(this)),"string"==typeof b&&d[b].call(c)})},a.fn.factoryBootstrap428_dropdown.Constructor=f,a(document).on("click.bs.dropdown.data-api",b).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",e,f.prototype.toggle).on("keydown.bs.dropdown.data-api",e+", [role=menu]",f.prototype.keydown)}(jQuery);
7
  * Support: http://webcraftic.com/contact-us/
8
  */
9
 
10
+ +function(a){"use strict";function b(){a(d).remove(),a(e).each(function(b){var d=c(a(this));d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown")),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown"))})}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}var d=".dropdown-backdrop",e="[data-toggle=factory-dropdown]",f=function(b){a(b).on("click.bs.dropdown",this.toggle)};f.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){if("ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",b),f.trigger(d=a.Event("show.bs.dropdown")),d.isDefaultPrevented())return;f.toggleClass("open").trigger("shown.bs.dropdown"),e.focus()}return!1}},f.prototype.keydown=function(b){if(/(38|40|27)/.test(b.keyCode)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var f=c(d),g=f.hasClass("open");if(!g||g&&27==b.keyCode)return 27==b.which&&f.find(e).focus(),d.click();var h=a("[role=menu] li:not(.divider):visible a",f);if(h.length){var i=h.index(h.filter(":focus"));38==b.keyCode&&i>0&&i--,40==b.keyCode&&i<h.length-1&&i++,~i||(i=0),h.eq(i).focus()}}}},a.fn.factoryBootstrap429_dropdown=function(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new f(this)),"string"==typeof b&&d[b].call(c)})},a.fn.factoryBootstrap429_dropdown.Constructor=f,a(document).on("click.bs.dropdown.data-api",b).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",e,f.prototype.toggle).on("keydown.bs.dropdown.data-api",e+", [role=menu]",f.prototype.keydown)}(jQuery);
libs/factory/bootstrap/assets/js-min/control.checkbox.min.js CHANGED
@@ -7,4 +7,4 @@
7
  * Support: http://webcraftic.com/contact-us/
8
  */
9
 
10
- !function(a){var b=function(b){var c=this;this.$element=a(b),this.$result=this.$element.find(".factory-result"),this.$on=this.$element.find(".factory-on"),this.$off=this.$element.find(".factory-off");var d=this.$element.is(".factory-tumbler"),e=this.$element.is(".factory-has-tumbler-hint"),f=this.$element.data("tumbler-function"),g=this.$element.data("tumbler-delay");g||(g=3e3),this.callByPath=function(a,b){for(var c=a.split("."),d=window,e=0;e<c.length;e++)d=d[c[e]];d.apply(d,b)},this.$on.click(function(){return c.$off.removeClass("active"),c.$on.addClass("active"),d?setTimeout(function(){c.$on.removeClass("active"),c.$off.addClass("active");var a=e?c.$element.next():null;f?c.callByPath(f,[c.$element,a]):e&&(c.$element.next().fadeIn(300),setTimeout(function(){c.$element.next().fadeOut(500)},g))},300):(c.$result.attr("checked","checked"),c.$result.val(1),c.$result.trigger("change")),!1}),this.$off.click(function(){return c.$on.removeClass("active"),c.$off.addClass("active"),d?setTimeout(function(){c.$off.removeClass("active"),c.$on.addClass("active");var a=e?c.$element.next():null;f?c.callByPath(f,[c.$element,a]):e&&(c.$element.next().fadeIn(300),setTimeout(function(){c.$element.next().fadeOut(500)},g))},300):(c.$result.removeAttr("checked"),c.$result.val(0),c.$result.trigger("change")),!1}),this.hashCode=function(a){var b=0;if(!a||0===a.length)return b;for(var c=0;c<a.length;c++){var d=a.charCodeAt(c);b=(b<<5)-b+d,b&=b}return b=b.toString(16),b=b.replace("-","")},this.executeEvents=function(a){(void 0!==window.__factory_checkbox_control_events_off_data||void 0!==window.__factory_checkbox_control_events_on_data)&&(a.change(function(){c.eventsProcess(a)}),c.eventsProcess(a))},this.eventsProcess=function(b){var d=b.attr("name"),e=b.prop("checked"),f=window.__factory_checkbox_control_events_on_data[d],g=window.__factory_checkbox_control_events_off_data[d];if(f||g){var h,i;void 0===window.__factory_checkbox_control_detach_elements&&(window.__factory_checkbox_control_detach_elements={}),h=window.__factory_checkbox_control_detach_elements,i=e?f:g;for(var j in i)if(i.hasOwnProperty(j)){var k,l=i[j];a.isArray(l)||(k=c.hashCode(d+l));var m;switch(j){case"hide":"string"==typeof l&&a(l).hide(0);break;case"show":"string"==typeof l&&a(l).fadeIn(200);break;case"detach":"string"==typeof l&&a(l).each(function(b){h[k]||(h[k]={}),h[k][b]||(h[k][b]={}),h[k][b].recovery_contanier=a(this).parent(),h[k][b].element=a(this).clone(!0),a(this).remove()});break;case"recovery":if(h[k]){for(var n in h[k])h[k].hasOwnProperty(n)&&h[k][n].recovery_contanier&&h[k][n].element&&h[k][n].recovery_contanier.append(h[k][n].element);delete h[k]}break;case"removeClasses":if("object"==typeof l)for(m in l)l.hasOwnProperty(m)&&l[m]&&a(m).removeClass(l[m]);break;case"addClasses":if("object"==typeof l)for(m in l)l.hasOwnProperty(m)&&l[m]&&a(m).addClass(l[m]);break;case"setValue":if("object"==typeof l)for(m in l)l.hasOwnProperty(m)&&void 0!==l[m]&&null!==l[m]&&(console.log(l[m]),a(m).val(l[m]))}}}},this.executeEvents(this.$result)};a.fn.factoryBootstrap428_checkboxControl=function(c){if("string"==typeof c){var d=a(this).data("factory.checkbox.control");return d?d[c]():null}return this.each(function(){var c=a(this),d=c.data("factory.checkbox.control");d||c.data("factory.checkbox.control",d=new b(this))})},a.fn.factoryBootstrap428_checkboxControl.Constructor=b,a(function(){a(".factory-bootstrap-428 .factory-checkbox.factory-buttons-way").factoryBootstrap428_checkboxControl()})}(jQuery);
7
  * Support: http://webcraftic.com/contact-us/
8
  */
9
 
10
+ !function(a){var b=function(b){var c=this;this.$element=a(b),this.$result=this.$element.find(".factory-result"),this.$on=this.$element.find(".factory-on"),this.$off=this.$element.find(".factory-off");var d=this.$element.is(".factory-tumbler"),e=this.$element.is(".factory-has-tumbler-hint"),f=this.$element.data("tumbler-function"),g=this.$element.data("tumbler-delay");g||(g=3e3),this.callByPath=function(a,b){for(var c=a.split("."),d=window,e=0;e<c.length;e++)d=d[c[e]];d.apply(d,b)},this.$on.click(function(){return c.$off.removeClass("active"),c.$on.addClass("active"),d?setTimeout(function(){c.$on.removeClass("active"),c.$off.addClass("active");var a=e?c.$element.next():null;f?c.callByPath(f,[c.$element,a]):e&&(c.$element.next().fadeIn(300),setTimeout(function(){c.$element.next().fadeOut(500)},g))},300):(c.$result.attr("checked","checked"),c.$result.val(1),c.$result.trigger("change")),!1}),this.$off.click(function(){return c.$on.removeClass("active"),c.$off.addClass("active"),d?setTimeout(function(){c.$off.removeClass("active"),c.$on.addClass("active");var a=e?c.$element.next():null;f?c.callByPath(f,[c.$element,a]):e&&(c.$element.next().fadeIn(300),setTimeout(function(){c.$element.next().fadeOut(500)},g))},300):(c.$result.removeAttr("checked"),c.$result.val(0),c.$result.trigger("change")),!1}),this.hashCode=function(a){var b=0;if(!a||0===a.length)return b;for(var c=0;c<a.length;c++){var d=a.charCodeAt(c);b=(b<<5)-b+d,b&=b}return b=b.toString(16),b=b.replace("-","")},this.executeEvents=function(a){(void 0!==window.__factory_checkbox_control_events_off_data||void 0!==window.__factory_checkbox_control_events_on_data)&&(a.change(function(){c.eventsProcess(a)}),c.eventsProcess(a))},this.eventsProcess=function(b){var d=b.attr("name"),e=b.prop("checked"),f=window.__factory_checkbox_control_events_on_data[d],g=window.__factory_checkbox_control_events_off_data[d];if(f||g){var h,i;void 0===window.__factory_checkbox_control_detach_elements&&(window.__factory_checkbox_control_detach_elements={}),h=window.__factory_checkbox_control_detach_elements,i=e?f:g;for(var j in i)if(i.hasOwnProperty(j)){var k,l=i[j];a.isArray(l)||(k=c.hashCode(d+l));var m;switch(j){case"hide":"string"==typeof l&&a(l).hide(0);break;case"show":"string"==typeof l&&a(l).fadeIn(200);break;case"detach":"string"==typeof l&&a(l).each(function(b){h[k]||(h[k]={}),h[k][b]||(h[k][b]={}),h[k][b].recovery_contanier=a(this).parent(),h[k][b].element=a(this).clone(!0),a(this).remove()});break;case"recovery":if(h[k]){for(var n in h[k])h[k].hasOwnProperty(n)&&h[k][n].recovery_contanier&&h[k][n].element&&h[k][n].recovery_contanier.append(h[k][n].element);delete h[k]}break;case"removeClasses":if("object"==typeof l)for(m in l)l.hasOwnProperty(m)&&l[m]&&a(m).removeClass(l[m]);break;case"addClasses":if("object"==typeof l)for(m in l)l.hasOwnProperty(m)&&l[m]&&a(m).addClass(l[m]);break;case"setValue":if("object"==typeof l)for(m in l)l.hasOwnProperty(m)&&void 0!==l[m]&&null!==l[m]&&(console.log(l[m]),a(m).val(l[m]))}}}},this.executeEvents(this.$result)};a.fn.factoryBootstrap429_checkboxControl=function(c){if("string"==typeof c){var d=a(this).data("factory.checkbox.control");return d?d[c]():null}return this.each(function(){var c=a(this),d=c.data("factory.checkbox.control");d||c.data("factory.checkbox.control",d=new b(this))})},a.fn.factoryBootstrap429_checkboxControl.Constructor=b,a(function(){a(".factory-bootstrap-429 .factory-checkbox.factory-buttons-way").factoryBootstrap429_checkboxControl()})}(jQuery);
libs/factory/bootstrap/assets/js-min/control.dropdown.min.js CHANGED
@@ -7,4 +7,4 @@
7
  * Support: http://webcraftic.com/contact-us/
8
  */
9
 
10
- !function(a){var b=function(b){var c=this;if(this.$element=a(b),this.way=this.$element.data("way"),this.name=this.$element.data("name")||this.$element.attr("name"),this.hashCode=function(a){var b=0;if(!a||0===a.length)return b;for(var c=0;c<a.length;c++){var d=a.charCodeAt(c);b=(b<<5)-b+d,b&=b}return b=b.toString(16),b=b.replace("-","")},this.executeEvents=function(a){void 0!==window.factory_dropdown_control_events_data&&(a.change(function(){c.eventsProcess(a)}),c.eventsProcess(a))},this.eventsProcess=function(b){var d=b.attr("name"),e=b.val(),f=window.factory_dropdown_control_events_data[d];if(f&&f[e]){var g;void 0===window.__factory_dropdown_control_detach_elements&&(window.__factory_dropdown_control_detach_elements={}),g=window.__factory_dropdown_control_detach_elements;for(var h in f[e])if(f[e].hasOwnProperty(h)){var i,j=f[e][h];switch(a.isArray(j)||(i=c.hashCode(d+j)),h){case"hide":"string"==typeof j&&a(j).hide(0);break;case"show":"string"==typeof j&&a(j).fadeIn(200);break;case"detach":"string"==typeof j&&a(j).each(function(b){g[i]||(g[i]={}),g[i][b]||(g[i][b]={}),g[i][b].recovery_contanier=a(this).parent(),g[i][b].element=a(this).clone(!0),a(this).remove()});break;case"recovery":if(g[i]){for(var k in g[i])g[i].hasOwnProperty(k)&&g[i][k].recovery_contanier&&g[i][k].element&&g[i][k].recovery_contanier.append(g[i][k].element);delete g[i]}break;case"removeClasses":if("object"==typeof j)for(var l in j)j.hasOwnProperty(l)&&j[l]&&a(l).removeClass(j[l]);break;case"addClasses":if("object"==typeof j)for(var l in j)j.hasOwnProperty(l)&&j[l]&&a(l).addClass(j[l])}}}},"buttons"===this.way)this.$result=this.$element.find(".factory-result"),this.$hints=this.$element.find(".factory-hints"),this.$buttons=this.$element.find(".btn"),c.executeEvents(this.$result),this.$buttons.click(function(){var b=a(this).data("value");return c.$buttons.removeClass("active"),a(this).addClass("active"),c.$hints.find(".factory-hint").hide(),c.$hints.find(".factory-hint-"+b).fadeIn(),c.$result.val(b),c.$result.trigger("change"),!1});else if("ddslick"===this.way){c.executeEvents(c.$element.find(".factory-result"));var d=window["factory_"+this.name+"_data"],e=this.$element.find(".factory-ddslick"),f=this.$element.data("width")||300,g=this.$element.data("align")||"right";a(d).each(function(){return this.imageHoverSrc?void(a("<img/>")[0].src=this.imageHoverSrc):!0}),e.ddslick({data:d,width:f,imagePosition:g,selectText:"- select -",onSelected:function(a){a.selectedData.imageHoverSrc&&c.$element.find(".dd-selected-image").attr("src",a.selectedData.imageHoverSrc);var b=c.$element.find(".factory-result").val(a.selectedData.value);b.change()}})}else{c.executeEvents(this.$element),this.$hints=this.$element.next(),this.$hints.hasClass("factory-hints")&&(this.$element.change(function(){return c.updateHints(),!1}),this.updateHints=function(){var a=c.$element.val();c.$hints.find(".factory-hint").hide(),c.$hints.find(".factory-hint-"+a).show()},c.updateHints()),this.getAjaxData=function(){var a=c.$element.data("ajax-data-id");return window[a]},this.loadData=function(){var b=c.getAjaxData();a.ajax({url:b.url,data:b.data,dataType:"json",success:function(a){return a.error?c.showError(a.error):void c.fill(a.items)},error:function(a){console&&console.log&&console.log(a.responseText),c.showError("Unexpected error occurred during the ajax request.")},complete:function(){c.removeLoader()}})},this.fill=function(a){this.clearList();var b=c.getAjaxData();if(a&&a.length)for(var d in a){var e=a[d];c.addListItem(e)}else this.$element.append("<option>"+b.emptyList+"</li>");this.$element.trigger("factory-loaded")},this.clearList=function(){this.$element.html("")},this.addListItem=function(b){var d=a("<option />").attr("value",b.value).text(b.title).appendTo(this.$element),e=c.getAjaxData();e.selected&&e.selected==b.value&&d.attr("selected","selected")},this.showError=function(b){this.clearList();var d=a("<div class='factory-control-error'></div>").append(a("<i class='fa fa-exclamation-triangle'></i>")).append(b),e=c.getAjaxData();this.$element.append("<option>"+e.emptyList+"</li>"),this.$element.after(d),this.$element.addClass("factory-has-error")},this.removeLoader=function(){this.$element.removeClass("factory-hidden");var b=c.getAjaxData();a(b.loader).remove()};var h=this.$element.data("ajax");h&&this.loadData()}};a.fn.factoryBootstrap428_dropdownControl=function(c){if("string"==typeof c){var d=a(this).data("factory.dropdown.control");return d?d[c]():null}return this.each(function(){var c=a(this),d=c.data("factory.dropdown.control");d||c.data("factory.dropdown.control",d=new b(this))})},a.fn.factoryBootstrap428_dropdownControl.Constructor=b,a(function(){a(".factory-bootstrap-428 .factory-dropdown").factoryBootstrap428_dropdownControl()})}(jQuery);
7
  * Support: http://webcraftic.com/contact-us/
8
  */
9
 
10
+ !function(a){var b=function(b){var c=this;if(this.$element=a(b),this.way=this.$element.data("way"),this.name=this.$element.data("name")||this.$element.attr("name"),this.hashCode=function(a){var b=0;if(!a||0===a.length)return b;for(var c=0;c<a.length;c++){var d=a.charCodeAt(c);b=(b<<5)-b+d,b&=b}return b=b.toString(16),b=b.replace("-","")},this.executeEvents=function(a){void 0!==window.factory_dropdown_control_events_data&&(a.change(function(){c.eventsProcess(a)}),c.eventsProcess(a))},this.eventsProcess=function(b){var d=b.attr("name"),e=b.val(),f=window.factory_dropdown_control_events_data[d];if(f&&f[e]){var g;void 0===window.__factory_dropdown_control_detach_elements&&(window.__factory_dropdown_control_detach_elements={}),g=window.__factory_dropdown_control_detach_elements;for(var h in f[e])if(f[e].hasOwnProperty(h)){var i,j=f[e][h];switch(a.isArray(j)||(i=c.hashCode(d+j)),h){case"hide":"string"==typeof j&&a(j).hide(0);break;case"show":"string"==typeof j&&a(j).fadeIn(200);break;case"detach":"string"==typeof j&&a(j).each(function(b){g[i]||(g[i]={}),g[i][b]||(g[i][b]={}),g[i][b].recovery_contanier=a(this).parent(),g[i][b].element=a(this).clone(!0),a(this).remove()});break;case"recovery":if(g[i]){for(var k in g[i])g[i].hasOwnProperty(k)&&g[i][k].recovery_contanier&&g[i][k].element&&g[i][k].recovery_contanier.append(g[i][k].element);delete g[i]}break;case"removeClasses":if("object"==typeof j)for(var l in j)j.hasOwnProperty(l)&&j[l]&&a(l).removeClass(j[l]);break;case"addClasses":if("object"==typeof j)for(var l in j)j.hasOwnProperty(l)&&j[l]&&a(l).addClass(j[l])}}}},"buttons"===this.way)this.$result=this.$element.find(".factory-result"),this.$hints=this.$element.find(".factory-hints"),this.$buttons=this.$element.find(".btn"),c.executeEvents(this.$result),this.$buttons.click(function(){var b=a(this).data("value");return c.$buttons.removeClass("active"),a(this).addClass("active"),c.$hints.find(".factory-hint").hide(),c.$hints.find(".factory-hint-"+b).fadeIn(),c.$result.val(b),c.$result.trigger("change"),!1});else if("ddslick"===this.way){c.executeEvents(c.$element.find(".factory-result"));var d=window["factory_"+this.name+"_data"],e=this.$element.find(".factory-ddslick"),f=this.$element.data("width")||300,g=this.$element.data("align")||"right";a(d).each(function(){return this.imageHoverSrc?void(a("<img/>")[0].src=this.imageHoverSrc):!0}),e.ddslick({data:d,width:f,imagePosition:g,selectText:"- select -",onSelected:function(a){a.selectedData.imageHoverSrc&&c.$element.find(".dd-selected-image").attr("src",a.selectedData.imageHoverSrc);var b=c.$element.find(".factory-result").val(a.selectedData.value);b.change()}})}else{c.executeEvents(this.$element),this.$hints=this.$element.next(),this.$hints.hasClass("factory-hints")&&(this.$element.change(function(){return c.updateHints(),!1}),this.updateHints=function(){var a=c.$element.val();c.$hints.find(".factory-hint").hide(),c.$hints.find(".factory-hint-"+a).show()},c.updateHints()),this.getAjaxData=function(){var a=c.$element.data("ajax-data-id");return window[a]},this.loadData=function(){var b=c.getAjaxData();a.ajax({url:b.url,data:b.data,dataType:"json",success:function(a){return a.error?c.showError(a.error):void c.fill(a.items)},error:function(a){console&&console.log&&console.log(a.responseText),c.showError("Unexpected error occurred during the ajax request.")},complete:function(){c.removeLoader()}})},this.fill=function(a){this.clearList();var b=c.getAjaxData();if(a&&a.length)for(var d in a){var e=a[d];c.addListItem(e)}else this.$element.append("<option>"+b.emptyList+"</li>");this.$element.trigger("factory-loaded")},this.clearList=function(){this.$element.html("")},this.addListItem=function(b){var d=a("<option />").attr("value",b.value).text(b.title).appendTo(this.$element),e=c.getAjaxData();e.selected&&e.selected==b.value&&d.attr("selected","selected")},this.showError=function(b){this.clearList();var d=a("<div class='factory-control-error'></div>").append(a("<i class='fa fa-exclamation-triangle'></i>")).append(b),e=c.getAjaxData();this.$element.append("<option>"+e.emptyList+"</li>"),this.$element.after(d),this.$element.addClass("factory-has-error")},this.removeLoader=function(){this.$element.removeClass("factory-hidden");var b=c.getAjaxData();a(b.loader).remove()};var h=this.$element.data("ajax");h&&this.loadData()}};a.fn.factoryBootstrap429_dropdownControl=function(c){if("string"==typeof c){var d=a(this).data("factory.dropdown.control");return d?d[c]():null}return this.each(function(){var c=a(this),d=c.data("factory.dropdown.control");d||c.data("factory.dropdown.control",d=new b(this))})},a.fn.factoryBootstrap429_dropdownControl.Constructor=b,a(function(){a(".factory-bootstrap-429 .factory-dropdown").factoryBootstrap429_dropdownControl()})}(jQuery);
libs/factory/bootstrap/assets/js-min/control.list.min.js CHANGED
@@ -7,4 +7,4 @@
7
  * Support: http://webcraftic.com/contact-us/
8
  */
9
 
10
- !function(a){var b=function(b){var c=this;if(this.$element=a(b),this.way=this.$element.data("way"),this.name=this.$element.data("name"),"checklist"===this.way){this.getAjaxData=function(){var a=c.$element.data("ajax-data-id");return window[a]},this.loadData=function(){var b=c.getAjaxData();a.ajax({url:b.url,data:b.data,dataType:"json",success:function(a){return a.error?c.showError(a.error):void c.fill(a.items)},error:function(){c.showError("Unexpected error occurred during the ajax request.")},complete:function(){c.removeLoader()}})},this.fill=function(a){this.clearList();var b=c.getAjaxData();if(a&&a.length){this.$element.removeClass("factory-empty");for(var d in a){var e=a[d];c.addListItem(e)}}else this.$element.addClass("factory-empty"),this.$element.append("<li>"+b.emptyList+"</li>")},this.clearList=function(){this.$element.html("")},this.addListItem=function(b){var d=a("<li>"),e=a("<label>").attr("for","factory-checklist-"+c.name+"-"+b.value).appendTo(d),f=a("<span>").appendTo(e),g=a("<input />").attr("type","checkbox").attr("name",c.name+"[]").val(b.value).attr("id","factory-checklist-"+c.name+"-"+b.value).appendTo(f),h=(a("<span>"+b.title+"</span>").appendTo(e),c.getAjaxData());h.selected.length&&a.inArray(b.value,h.selected)>=0&&g.attr("checked","checked"),this.$element.append(d)},this.showError=function(b){this.$element.html("").append(a("<i class='fa fa-exclamation-triangle'></i>")).append(b),this.$element.addClass("factory-list-error")},this.removeLoader=function(){this.$element.removeClass("factory-hidden");var b=c.getAjaxData();a(b.loader).remove()};var d=this.$element.data("ajax");d&&this.loadData()}};a.fn.factoryBootstrap428_listControl=function(c){if("string"==typeof c){var d=a(this).data("factory.list.control");return d?d[c]():null}return this.each(function(){var c=a(this),d=c.data("factory.list.control");d||c.data("factory.list.control",d=new b(this))})},a.fn.factoryBootstrap428_listControl.Constructor=b,a(function(){a(".factory-bootstrap-428 .factory-list").factoryBootstrap428_listControl()})}(jQuery);
7
  * Support: http://webcraftic.com/contact-us/
8
  */
9
 
10
+ !function(a){var b=function(b){var c=this;if(this.$element=a(b),this.way=this.$element.data("way"),this.name=this.$element.data("name"),"checklist"===this.way){this.getAjaxData=function(){var a=c.$element.data("ajax-data-id");return window[a]},this.loadData=function(){var b=c.getAjaxData();a.ajax({url:b.url,data:b.data,dataType:"json",success:function(a){return a.error?c.showError(a.error):void c.fill(a.items)},error:function(){c.showError("Unexpected error occurred during the ajax request.")},complete:function(){c.removeLoader()}})},this.fill=function(a){this.clearList();var b=c.getAjaxData();if(a&&a.length){this.$element.removeClass("factory-empty");for(var d in a){var e=a[d];c.addListItem(e)}}else this.$element.addClass("factory-empty"),this.$element.append("<li>"+b.emptyList+"</li>")},this.clearList=function(){this.$element.html("")},this.addListItem=function(b){var d=a("<li>"),e=a("<label>").attr("for","factory-checklist-"+c.name+"-"+b.value).appendTo(d),f=a("<span>").appendTo(e),g=a("<input />").attr("type","checkbox").attr("name",c.name+"[]").val(b.value).attr("id","factory-checklist-"+c.name+"-"+b.value).appendTo(f),h=(a("<span>"+b.title+"</span>").appendTo(e),c.getAjaxData());h.selected.length&&a.inArray(b.value,h.selected)>=0&&g.attr("checked","checked"),this.$element.append(d)},this.showError=function(b){this.$element.html("").append(a("<i class='fa fa-exclamation-triangle'></i>")).append(b),this.$element.addClass("factory-list-error")},this.removeLoader=function(){this.$element.removeClass("factory-hidden");var b=c.getAjaxData();a(b.loader).remove()};var d=this.$element.data("ajax");d&&this.loadData()}};a.fn.factoryBootstrap429_listControl=function(c){if("string"==typeof c){var d=a(this).data("factory.list.control");return d?d[c]():null}return this.each(function(){var c=a(this),d=c.data("factory.list.control");d||c.data("factory.list.control",d=new b(this))})},a.fn.factoryBootstrap429_listControl.Constructor=b,a(function(){a(".factory-bootstrap-429 .factory-list").factoryBootstrap429_listControl()})}(jQuery);
libs/factory/bootstrap/assets/js-min/control.multiple-textbox.min.js CHANGED
@@ -7,4 +7,4 @@
7
  * Support: http://webcraftic.com/contact-us/
8
  */
9
 
10
- !function(a){"use strict";var b=function(b){this.$element=a(b);var c=a(".factory-mtextbox-item",this.$element).eq(0).clone(!0);a(".factory-mtextbox-add-item",this.$element).on("click",function(){var b=a(this).closest(".factory-multiple-textbox-group").find(".factory-mtextbox-items"),d=c.clone(!0),e=a('<button class="btn btn-default btn-small factory-mtextbox-remove-item"><i class="fa fa-times" aria-hidden="true"></i></button>');return b.append(d.append(e)),d.find('input[type="text"]').val("").focus(),!1}),a(document).on("click",".factory-mtextbox-remove-item",function(){return a(this).closest(".factory-mtextbox-item").remove(),!1})};a.fn.factoryBootstrap428_MultipleTextboxControl=function(){return this.each(function(){new b(this)})},a(function(){a(".factory-bootstrap-428 .factory-multiple-textbox-group").factoryBootstrap428_MultipleTextboxControl()})}(jQuery);
7
  * Support: http://webcraftic.com/contact-us/
8
  */
9
 
10
+ !function(a){"use strict";var b=function(b){this.$element=a(b);var c=a(".factory-mtextbox-item",this.$element).eq(0).clone(!0);a(".factory-mtextbox-add-item",this.$element).on("click",function(){var b=a(this).closest(".factory-multiple-textbox-group").find(".factory-mtextbox-items"),d=c.clone(!0),e=a('<button class="btn btn-default btn-small factory-mtextbox-remove-item"><i class="fa fa-times" aria-hidden="true"></i></button>');return b.append(d.append(e)),d.find('input[type="text"]').val("").focus(),!1}),a(document).on("click",".factory-mtextbox-remove-item",function(){return a(this).closest(".factory-mtextbox-item").remove(),!1})};a.fn.factoryBootstrap429_MultipleTextboxControl=function(){return this.each(function(){new b(this)})},a(function(){a(".factory-bootstrap-429 .factory-multiple-textbox-group").factoryBootstrap429_MultipleTextboxControl()})}(jQuery);
libs/factory/bootstrap/boot.php CHANGED
@@ -10,37 +10,37 @@
10
  */
11
 
12
  // Exit if accessed directly
13
- if ( ! defined( 'ABSPATH' ) ) {
14
  exit;
15
  }
16
 
17
  // module provides function only for the admin area
18
- if ( ! is_admin() ) {
19
  return;
20
  }
21
 
22
- if ( defined( 'FACTORY_BOOTSTRAP_428_LOADED' ) ) {
23
  return;
24
  }
25
 
26
- define( 'FACTORY_BOOTSTRAP_428_VERSION', '4.2.8' );
27
- define( 'FACTORY_BOOTSTRAP_428_LOADED', true );
28
 
29
- if ( ! defined( 'FACTORY_FLAT_ADMIN' ) ) {
30
- define( 'FACTORY_FLAT_ADMIN', true );
31
  }
32
 
33
- define( 'FACTORY_BOOTSTRAP_428_DIR', dirname( __FILE__ ) );
34
- define( 'FACTORY_BOOTSTRAP_428_URL', plugins_url( null, __FILE__ ) );
35
 
36
- require_once( FACTORY_BOOTSTRAP_428_DIR . '/includes/functions.php' );
37
 
38
  /**
39
- * @param Wbcr_Factory427_Plugin $plugin
40
  */
41
- add_action( 'wbcr_factory_bootstrap_428_plugin_created', function ( $plugin ) {
42
- $manager = new Wbcr_FactoryBootstrap428_Manager( $plugin );
43
- $plugin->setBootstap( $manager );
44
- } );
45
 
46
 
10
  */
11
 
12
  // Exit if accessed directly
13
+ if( !defined('ABSPATH') ) {
14
  exit;
15
  }
16
 
17
  // module provides function only for the admin area
18
+ if( !is_admin() ) {
19
  return;
20
  }
21
 
22
+ if( defined('FACTORY_BOOTSTRAP_429_LOADED') ) {
23
  return;
24
  }
25
 
26
+ define('FACTORY_BOOTSTRAP_429_VERSION', '4.2.9');
27
+ define('FACTORY_BOOTSTRAP_429_LOADED', true);
28
 
29
+ if( !defined('FACTORY_FLAT_ADMIN') ) {
30
+ define('FACTORY_FLAT_ADMIN', true);
31
  }
32
 
33
+ define('FACTORY_BOOTSTRAP_429_DIR', dirname(__FILE__));
34
+ define('FACTORY_BOOTSTRAP_429_URL', plugins_url(null, __FILE__));
35
 
36
+ require_once(FACTORY_BOOTSTRAP_429_DIR . '/includes/functions.php');
37
 
38
  /**
39
+ * @param Wbcr_Factory428_Plugin $plugin
40
  */
41
+ add_action('wbcr_factory_bootstrap_429_plugin_created', function ($plugin) {
42
+ $manager = new Wbcr_FactoryBootstrap429_Manager($plugin);
43
+ $plugin->setBootstap($manager);
44
+ });
45
 
46
 
libs/factory/bootstrap/includes/functions.php CHANGED
@@ -20,13 +20,13 @@ if ( ! defined( 'ABSPATH' ) ) {
20
  *
21
  * @since 3.2.0
22
  */
23
- class Wbcr_FactoryBootstrap428_Manager {
24
 
25
  /**
26
  * A plugin for which the manager was created.
27
  *
28
  * @since 3.2.0
29
- * @var Wbcr_Factory427_Plugin
30
  */
31
  public $plugin;
32
 
@@ -51,7 +51,7 @@ class Wbcr_FactoryBootstrap428_Manager {
51
  *
52
  * @since 1.0.0
53
  */
54
- public function __construct( Wbcr_Factory427_Plugin $plugin ) {
55
  $this->plugin = $plugin;
56
 
57
  add_action( 'admin_enqueue_scripts', [ $this, 'loadAssets' ] );
@@ -111,8 +111,8 @@ class Wbcr_FactoryBootstrap428_Manager {
111
  */
112
  public function loadAssets( $hook ) {
113
 
114
- do_action( 'wbcr_factory_427_bootstrap_enqueue_scripts', $hook );
115
- do_action( 'wbcr_factory_427_bootstrap_enqueue_scripts_' . $this->plugin->getPluginName(), $hook );
116
 
117
  $dependencies = [];
118
  if ( ! empty( $this->scripts ) ) {
@@ -156,8 +156,8 @@ class Wbcr_FactoryBootstrap428_Manager {
156
  $cache_enable = apply_filters( 'wbcr/factory/bootstrap/cache_enable', true );
157
 
158
  $cache_id = md5( implode( ',', $this->scripts ) . $type . $this->plugin->getPluginVersion() );
159
- $cache_dir_path = FACTORY_BOOTSTRAP_428_DIR . '/assets/cache/';
160
- $cache_dir_url = FACTORY_BOOTSTRAP_428_URL . '/assets/cache/';
161
 
162
  $cache_filepath = $cache_dir_path . $cache_id . ".min." . $type;
163
  $cache_fileurl = $cache_dir_url . $cache_id . ".min." . $type;
@@ -184,7 +184,7 @@ class Wbcr_FactoryBootstrap428_Manager {
184
  foreach ( $scripts as $script_to_load ) {
185
  $script_to_load = sanitize_text_field( $script_to_load );
186
  if ( $cache_enable && $cache_dir_exists ) {
187
- $fname = FACTORY_BOOTSTRAP_428_DIR . "/assets/$type-min/$script_to_load.min." . $type;
188
  if ( file_exists( $fname ) ) {
189
  $f = @fopen( $fname, 'r' );
190
  $concat_files[] = @fread( $f, filesize( $fname ) );
@@ -192,9 +192,9 @@ class Wbcr_FactoryBootstrap428_Manager {
192
  }
193
  } else {
194
  if ( $type == 'js' ) {
195
- wp_enqueue_script( md5( $script_to_load ), FACTORY_BOOTSTRAP_428_URL . "/assets/$type-min/$script_to_load.min." . $type, $is_first ? $dependencies : false, $this->plugin->getPluginVersion() );
196
  } else {
197
- wp_enqueue_style( md5( $script_to_load ), FACTORY_BOOTSTRAP_428_URL . "/assets/$type-min/$script_to_load.min." . $type, [], $this->plugin->getPluginVersion() );
198
  }
199
  $is_first = false;
200
  }
20
  *
21
  * @since 3.2.0
22
  */
23
+ class Wbcr_FactoryBootstrap429_Manager {
24
 
25
  /**
26
  * A plugin for which the manager was created.
27
  *
28
  * @since 3.2.0
29
+ * @var Wbcr_Factory428_Plugin
30
  */
31
  public $plugin;
32
 
51
  *
52
  * @since 1.0.0
53
  */
54
+ public function __construct( Wbcr_Factory428_Plugin $plugin ) {
55
  $this->plugin = $plugin;
56
 
57
  add_action( 'admin_enqueue_scripts', [ $this, 'loadAssets' ] );
111
  */
112
  public function loadAssets( $hook ) {
113
 
114
+ do_action( 'wbcr_factory_428_bootstrap_enqueue_scripts', $hook );
115
+ do_action( 'wbcr_factory_428_bootstrap_enqueue_scripts_' . $this->plugin->getPluginName(), $hook );
116
 
117
  $dependencies = [];
118
  if ( ! empty( $this->scripts ) ) {
156
  $cache_enable = apply_filters( 'wbcr/factory/bootstrap/cache_enable', true );
157
 
158
  $cache_id = md5( implode( ',', $this->scripts ) . $type . $this->plugin->getPluginVersion() );
159
+ $cache_dir_path = FACTORY_BOOTSTRAP_429_DIR . '/assets/cache/';
160
+ $cache_dir_url = FACTORY_BOOTSTRAP_429_URL . '/assets/cache/';
161
 
162
  $cache_filepath = $cache_dir_path . $cache_id . ".min." . $type;
163
  $cache_fileurl = $cache_dir_url . $cache_id . ".min." . $type;
184
  foreach ( $scripts as $script_to_load ) {
185
  $script_to_load = sanitize_text_field( $script_to_load );
186
  if ( $cache_enable && $cache_dir_exists ) {
187
+ $fname = FACTORY_BOOTSTRAP_429_DIR . "/assets/$type-min/$script_to_load.min." . $type;
188
  if ( file_exists( $fname ) ) {
189
  $f = @fopen( $fname, 'r' );
190
  $concat_files[] = @fread( $f, filesize( $fname ) );
192
  }
193
  } else {
194
  if ( $type == 'js' ) {
195
+ wp_enqueue_script( md5( $script_to_load ), FACTORY_BOOTSTRAP_429_URL . "/assets/$type-min/$script_to_load.min." . $type, $is_first ? $dependencies : false, $this->plugin->getPluginVersion() );
196
  } else {
197
+ wp_enqueue_style( md5( $script_to_load ), FACTORY_BOOTSTRAP_429_URL . "/assets/$type-min/$script_to_load.min." . $type, [], $this->plugin->getPluginVersion() );
198
  }
199
  $is_first = false;
200
  }
libs/factory/clearfy/assets/css/clearfy-base.css CHANGED
@@ -5,18 +5,18 @@
5
  * @copyright Webcraftic 06.10.2018
6
  * @sicne 2.0.5
7
  */
8
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-clearfy-219-multisite-suggetion {
9
  padding: 30px 80px;
10
  }
11
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-clearfy-219-multisite-suggetion h3 {
12
  margin: 0 0 20px;
13
  }
14
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-clearfy-219-multisite-suggetion .wbcr-factory-inner-contanier {
15
  border: 2px dashed #8bc34a;
16
  background: #fff;
17
  padding: 20px;
18
  }
19
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-clearfy-219-multisite-suggetion .wbcr-factory-activate-premium {
20
  display: inline-block;
21
  cursor: pointer;
22
  line-height: 16px;
@@ -35,16 +35,16 @@
35
  -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
36
  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
37
  }
38
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-clearfy-219-multisite-suggetion .wbcr-factory-activate-premium:active {
39
  box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.2);
40
  -moz-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.2);
41
  -webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.2);
42
  }
43
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-clearfy-219-multisite-suggetion .wbcr-factory-activate-premium:focus {
44
  outline: none;
45
  border: 0;
46
  }
47
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-clearfy-219-multisite-suggetion .wbcr-factory-purchase-premium {
48
  display: inline-block;
49
  cursor: pointer;
50
  line-height: 16px;
@@ -63,22 +63,22 @@
63
  -moz-box-shadow: 0 1px 0 rgba(60, 45, 2, 0.31);
64
  -webkit-box-shadow: 0 1px 0 rgba(60, 45, 2, 0.31);
65
  }
66
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-clearfy-219-multisite-suggetion .wbcr-factory-purchase-premium:active {
67
  box-shadow: inset 0 1px 0 rgba(60, 45, 2, 0.31);
68
  -moz-box-shadow: inset 0 1px 0 rgba(60, 45, 2, 0.31);
69
  -webkit-box-shadow: inset 0 1px 0 rgba(60, 45, 2, 0.31);
70
  }
71
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-clearfy-219-multisite-suggetion .wbcr-factory-purchase-premium:focus {
72
  outline: none;
73
  border: 0;
74
  }
75
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-219-pro-suggettion {
76
  background: #fff;
77
  color: #353535;
78
  font-weight: 600;
79
  border: 2px dashed #8bc34a;
80
  }
81
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-219-pro-suggettion h3 {
82
  margin: 0 0 20px;
83
  padding: 10px 0;
84
  text-align: center;
@@ -89,16 +89,16 @@
89
  vertical-align: middle;
90
  text-transform: uppercase;
91
  }
92
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-219-pro-suggettion ul {
93
  position: relative;
94
  margin-bottom: 20px;
95
  }
96
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-219-pro-suggettion ul li {
97
  font-size: 15px;
98
  padding: 7px;
99
  padding-left: 20px;
100
  }
101
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-219-pro-suggettion ul li:before {
102
  content: " ";
103
  display: inline-block;
104
  width: 0.4em;
@@ -112,7 +112,7 @@
112
  -o-transform: rotate(45deg);
113
  transform: rotate(45deg);
114
  }
115
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-219-pro-suggettion .wbcr-factory-purchase-premium {
116
  display: block;
117
  cursor: pointer;
118
  line-height: 16px;
@@ -131,44 +131,44 @@
131
  -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
132
  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
133
  }
134
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-219-pro-suggettion .wbcr-factory-purchase-premium:active {
135
  box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.2);
136
  -moz-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.2);
137
  -webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.2);
138
  }
139
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-219-pro-suggettion .wbcr-factory-purchase-premium:focus {
140
  outline: none;
141
  border: 0;
142
  }
143
  @media screen and (max-width: 1550px) {
144
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-clearfy-219-multisite-pro-suggetion {
145
  padding: 10px 80px;
146
  }
147
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-219-pro-suggettion {
148
  padding: 10px;
149
  }
150
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-219-pro-suggettion h3 {
151
  margin: 0 0 20px;
152
  padding: 10px 0;
153
  font-size: 13px;
154
  font-weight: 600;
155
  }
156
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-219-pro-suggettion ul {
157
  margin-bottom: 20px;
158
  }
159
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-219-pro-suggettion ul li {
160
  font-size: 13px;
161
  padding: 2px;
162
  padding-left: 10px;
163
  }
164
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-219-pro-suggettion ul li:before {
165
  width: 0.4em;
166
  height: 0.7em;
167
  border-width: 0 0.2em 0.2em 0;
168
  left: 0;
169
  margin-right: 10px;
170
  }
171
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-219-pro-suggettion .wbcr-factory-purchase-premium {
172
  font-weight: 700;
173
  line-height: 16px;
174
  font-size: 12px;
5
  * @copyright Webcraftic 06.10.2018
6
  * @sicne 2.0.5
7
  */
8
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-clearfy-220-multisite-suggetion {
9
  padding: 30px 80px;
10
  }
11
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-clearfy-220-multisite-suggetion h3 {
12
  margin: 0 0 20px;
13
  }
14
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-clearfy-220-multisite-suggetion .wbcr-factory-inner-contanier {
15
  border: 2px dashed #8bc34a;
16
  background: #fff;
17
  padding: 20px;
18
  }
19
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-clearfy-220-multisite-suggetion .wbcr-factory-activate-premium {
20
  display: inline-block;
21
  cursor: pointer;
22
  line-height: 16px;
35
  -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
36
  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
37
  }
38
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-clearfy-220-multisite-suggetion .wbcr-factory-activate-premium:active {
39
  box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.2);
40
  -moz-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.2);
41
  -webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.2);
42
  }
43
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-clearfy-220-multisite-suggetion .wbcr-factory-activate-premium:focus {
44
  outline: none;
45
  border: 0;
46
  }
47
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-clearfy-220-multisite-suggetion .wbcr-factory-purchase-premium {
48
  display: inline-block;
49
  cursor: pointer;
50
  line-height: 16px;
63
  -moz-box-shadow: 0 1px 0 rgba(60, 45, 2, 0.31);
64
  -webkit-box-shadow: 0 1px 0 rgba(60, 45, 2, 0.31);
65
  }
66
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-clearfy-220-multisite-suggetion .wbcr-factory-purchase-premium:active {
67
  box-shadow: inset 0 1px 0 rgba(60, 45, 2, 0.31);
68
  -moz-box-shadow: inset 0 1px 0 rgba(60, 45, 2, 0.31);
69
  -webkit-box-shadow: inset 0 1px 0 rgba(60, 45, 2, 0.31);
70
  }
71
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-clearfy-220-multisite-suggetion .wbcr-factory-purchase-premium:focus {
72
  outline: none;
73
  border: 0;
74
  }
75
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-220-pro-suggettion {
76
  background: #fff;
77
  color: #353535;
78
  font-weight: 600;
79
  border: 2px dashed #8bc34a;
80
  }
81
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-220-pro-suggettion h3 {
82
  margin: 0 0 20px;
83
  padding: 10px 0;
84
  text-align: center;
89
  vertical-align: middle;
90
  text-transform: uppercase;
91
  }
92
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-220-pro-suggettion ul {
93
  position: relative;
94
  margin-bottom: 20px;
95
  }
96
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-220-pro-suggettion ul li {
97
  font-size: 15px;
98
  padding: 7px;
99
  padding-left: 20px;
100
  }
101
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-220-pro-suggettion ul li:before {
102
  content: " ";
103
  display: inline-block;
104
  width: 0.4em;
112
  -o-transform: rotate(45deg);
113
  transform: rotate(45deg);
114
  }
115
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-220-pro-suggettion .wbcr-factory-purchase-premium {
116
  display: block;
117
  cursor: pointer;
118
  line-height: 16px;
131
  -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
132
  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
133
  }
134
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-220-pro-suggettion .wbcr-factory-purchase-premium:active {
135
  box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.2);
136
  -moz-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.2);
137
  -webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.2);
138
  }
139
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-220-pro-suggettion .wbcr-factory-purchase-premium:focus {
140
  outline: none;
141
  border: 0;
142
  }
143
  @media screen and (max-width: 1550px) {
144
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-clearfy-220-multisite-pro-suggetion {
145
  padding: 10px 80px;
146
  }
147
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-220-pro-suggettion {
148
  padding: 10px;
149
  }
150
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-220-pro-suggettion h3 {
151
  margin: 0 0 20px;
152
  padding: 10px 0;
153
  font-size: 13px;
154
  font-weight: 600;
155
  }
156
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-220-pro-suggettion ul {
157
  margin-bottom: 20px;
158
  }
159
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-220-pro-suggettion ul li {
160
  font-size: 13px;
161
  padding: 2px;
162
  padding-left: 10px;
163
  }
164
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-220-pro-suggettion ul li:before {
165
  width: 0.4em;
166
  height: 0.7em;
167
  border-width: 0 0.2em 0.2em 0;
168
  left: 0;
169
  margin-right: 10px;
170
  }
171
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-220-pro-suggettion .wbcr-factory-purchase-premium {
172
  font-weight: 700;
173
  line-height: 16px;
174
  font-size: 12px;
libs/factory/clearfy/assets/css/libs/autocomplete.css ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Styles for plugin options search form
3
+
4
+ * @author Alex Kovlaev <alex.kovalevv@gmail.com>, https://github.com/alexkovalevv
5
+ *
6
+ * @since 2.2.0
7
+ */
8
+ #wbcr-factory-clearfy-220__search_options_form #wbcr-factory-clearfy-220__autocomplete {
9
+ width: 100%;
10
+ box-sizing: border-box;
11
+ border-color: #d6d4d4;
12
+ }
13
+ #wbcr-factory-clearfy-220__search_options_form.wbcr-factory-clearfy-220__autocomplete-wrap {
14
+ padding: 10px;
15
+ }
16
+ #wbcr-factory-clearfy-220__search_options_form .wbcr-factory-clearfy-220__autocomplete-label {
17
+ display: block !important;
18
+ }
19
+ .wbcr-factory-clearfy-220__autocomplete-suggestions {
20
+ border: 1px solid #999;
21
+ background: #FFF;
22
+ overflow: auto;
23
+ }
24
+ .wbcr-factory-clearfy-220__autocomplete-suggestion {
25
+ padding: 2px 5px;
26
+ white-space: nowrap;
27
+ overflow: hidden;
28
+ cursor: pointer;
29
+ }
30
+ .wbcr-factory-clearfy-220__autocomplete-selected {
31
+ background: #F0F0F0;
32
+ }
33
+ .wbcr-factory-clearfy-220__autocomplete-suggestions strong {
34
+ font-weight: normal;
35
+ color: #3399FF;
36
+ }
37
+ .wbcr-factory-clearfy-220__autocomplete-group {
38
+ padding: 2px 5px;
39
+ }
40
+ .wbcr-factory-clearfy-220__autocomplete-group strong {
41
+ display: block;
42
+ border-bottom: 1px solid #000;
43
+ }
44
+ /*# sourceMappingURL=autocomplete.css.map */
libs/factory/clearfy/assets/css/libs/autocomplete.css.map ADDED
@@ -0,0 +1 @@
 
1
+ {"version":3,"sources":["autocomplete.less"],"names":[],"mappings":";;;;;;;AAUA,8CAVC;EAYG,WAAA;EACA,sBAAA;EACA,qBAAA;;AAdH,8CAAC;EAkBE,aAAA;;AARJ,8CAVC;EAsBG,yBAAA;;AAtBH;EA2BC,sBAAA;EACA,gBAAA;EACA,cAAA;;AA7BD;EAiCC,gBAAA;EACA,mBAAA;EACA,gBAAA;EACA,eAAA;;AApCD;EAwCC,mBAAA;;AAxCD,mDAGM;EAyCL,mBAAA;EACA,cAAA;;AA7CD;EAiDC,gBAAA;;AAjDD,6CAGA;EAkDC,cAAA;EACA,6BAAA","file":"autocomplete.css"}
libs/factory/clearfy/assets/css/libs/autocomplete.less ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Styles for plugin options search form
3
+
4
+ * @author Alex Kovlaev <alex.kovalevv@gmail.com>, https://github.com/alexkovalevv
5
+ *
6
+ * @since 2.2.0
7
+ */
8
+
9
+ @prefix: ~'wbcr-factory-clearfy-000__';
10
+
11
+ #wbcr-factory-clearfy-000__search_options_form {
12
+ #@{prefix}autocomplete {
13
+ width: 100%;
14
+ box-sizing: border-box;
15
+ border-color: #d6d4d4;
16
+ }
17
+
18
+ &.@{prefix}autocomplete-wrap {
19
+ padding: 10px;
20
+ }
21
+
22
+ .@{prefix}autocomplete-label {
23
+ display: block !important;
24
+ }
25
+ }
26
+
27
+ .@{prefix}autocomplete-suggestions {
28
+ border: 1px solid #999;
29
+ background: #FFF;
30
+ overflow: auto;
31
+ }
32
+
33
+ .@{prefix}autocomplete-suggestion {
34
+ padding: 2px 5px;
35
+ white-space: nowrap;
36
+ overflow: hidden;
37
+ cursor: pointer;
38
+ }
39
+
40
+ .@{prefix}autocomplete-selected {
41
+ background: #F0F0F0;
42
+ }
43
+
44
+ .@{prefix}autocomplete-suggestions strong {
45
+ font-weight: normal;
46
+ color: #3399FF;
47
+ }
48
+
49
+ .@{prefix}autocomplete-group {
50
+ padding: 2px 5px;
51
+ }
52
+
53
+ .@{prefix}autocomplete-group strong {
54
+ display: block;
55
+ border-bottom: 1px solid #000;
56
+ }
57
+
libs/factory/clearfy/assets/js/globals.js CHANGED
@@ -2,8 +2,8 @@
2
  * Глобальный JS файл, который регистрирует глобальные переменные с общими методами для всех компонентов Clearfy
3
  * и самого Clearfy.
4
  *
5
- * $.wbcr_factory_clearfy_219.app - методы для работы с приложением. Скрыть, показать уведомления.
6
- * $.wbcr_factory_clearfy_219.hooks - это иммитация хуков и фильтров аналогично тем, что используются в Wordpress
7
  *
8
  * Copyright 2018, Webcraftic, http://webcraftic.com
9
  *
@@ -13,11 +13,11 @@
13
  (function($) {
14
  'use strict';
15
 
16
- if( !$.wbcr_factory_clearfy_219 ) {
17
- $.wbcr_factory_clearfy_219 = {};
18
  }
19
 
20
- $.wbcr_factory_clearfy_219.app = $.wbcr_factory_clearfy_219.app || {
21
  /**
22
  * Создает и показывает уведомление внутри интерфейса Clearfy
23
  *
@@ -63,12 +63,12 @@
63
  /**
64
  * Хук выполняет проивольную функцию, после того как уведомление отображено
65
  * Реализация системы фильтров и хуков в файле libs/clearfy/admin/assests/js/global.js
66
- * Пример регистрации хука $.wbcr_factory_clearfy_219.hooks.add('wbcr/factory_clearfy_219/updated',
67
  * function(noticeId) {});
68
  * @param {string} noticeId - id уведомления
69
  */
70
- $.wbcr_factory_clearfy_219.hooks.run('wbcr/factory_clearfy_219/showed_notice', [noticeId]);
71
- $.wbcr_factory_clearfy_219.hooks.run('wbcr/clearfy/showed_notice', [noticeId]);
72
  });
73
 
74
  return noticeId;
@@ -93,13 +93,13 @@
93
  /**
94
  * Хук выполняет проивольную функцию, после того как уведомление скрыто
95
  * Реализация системы фильтров и хуков в файле libs/clearfy/admin/assests/js/global.js
96
- * Пример регистрации хука $.wbcr_factory_clearfy_219.hooks.add('wbcr/factory_clearfy_219/updated',
97
  * function(noticeId)
98
  * {});
99
  * @param {string} noticeId - id уведомления
100
  */
101
- $.wbcr_factory_clearfy_219.hooks.run('wbcr/factory_clearfy_219/hidded_notice', [noticeId]);
102
- $.wbcr_factory_clearfy_219.hooks.run('wbcr/clearfy/hidded_notice', [noticeId]);
103
  });
104
  },
105
 
@@ -116,7 +116,7 @@
116
 
117
  };
118
 
119
- $.wbcr_factory_clearfy_219.filters = $.wbcr_factory_clearfy_219.filters || {
120
 
121
  /**
122
  * A set of registered filters.
@@ -183,20 +183,20 @@
183
  }
184
  };
185
 
186
- $.wbcr_factory_clearfy_219.hooks = $.wbcr_factory_clearfy_219.hooks || {
187
 
188
  /**
189
  * Applies filters to a given input value.
190
  */
191
  run: function(filterName, args) {
192
- $.wbcr_factory_clearfy_219.filters.run(filterName, args);
193
  },
194
 
195
  /**
196
  * Registers a new filter.
197
  */
198
  add: function(filterName, callback, priority) {
199
- $.wbcr_factory_clearfy_219.filters.add(filterName, callback, priority);
200
  }
201
  };
202
 
2
  * Глобальный JS файл, который регистрирует глобальные переменные с общими методами для всех компонентов Clearfy
3
  * и самого Clearfy.
4
  *
5
+ * $.wbcr_factory_clearfy_220.app - методы для работы с приложением. Скрыть, показать уведомления.
6
+ * $.wbcr_factory_clearfy_220.hooks - это иммитация хуков и фильтров аналогично тем, что используются в Wordpress
7
  *
8
  * Copyright 2018, Webcraftic, http://webcraftic.com
9
  *
13
  (function($) {
14
  'use strict';
15
 
16
+ if( !$.wbcr_factory_clearfy_220 ) {
17
+ $.wbcr_factory_clearfy_220 = {};
18
  }
19
 
20
+ $.wbcr_factory_clearfy_220.app = $.wbcr_factory_clearfy_220.app || {
21
  /**
22
  * Создает и показывает уведомление внутри интерфейса Clearfy
23
  *
63
  /**
64
  * Хук выполняет проивольную функцию, после того как уведомление отображено
65
  * Реализация системы фильтров и хуков в файле libs/clearfy/admin/assests/js/global.js
66
+ * Пример регистрации хука $.wbcr_factory_clearfy_220.hooks.add('wbcr/factory_clearfy_220/updated',
67
  * function(noticeId) {});
68
  * @param {string} noticeId - id уведомления
69
  */
70
+ $.wbcr_factory_clearfy_220.hooks.run('wbcr/factory_clearfy_220/showed_notice', [noticeId]);
71
+ $.wbcr_factory_clearfy_220.hooks.run('wbcr/clearfy/showed_notice', [noticeId]);
72
  });
73
 
74
  return noticeId;
93
  /**
94
  * Хук выполняет проивольную функцию, после того как уведомление скрыто
95
  * Реализация системы фильтров и хуков в файле libs/clearfy/admin/assests/js/global.js
96
+ * Пример регистрации хука $.wbcr_factory_clearfy_220.hooks.add('wbcr/factory_clearfy_220/updated',
97
  * function(noticeId)
98
  * {});
99
  * @param {string} noticeId - id уведомления
100
  */
101
+ $.wbcr_factory_clearfy_220.hooks.run('wbcr/factory_clearfy_220/hidded_notice', [noticeId]);
102
+ $.wbcr_factory_clearfy_220.hooks.run('wbcr/clearfy/hidded_notice', [noticeId]);
103
  });
104
  },
105
 
116
 
117
  };
118
 
119
+ $.wbcr_factory_clearfy_220.filters = $.wbcr_factory_clearfy_220.filters || {
120
 
121
  /**
122
  * A set of registered filters.
183
  }
184
  };
185
 
186
+ $.wbcr_factory_clearfy_220.hooks = $.wbcr_factory_clearfy_220.hooks || {
187
 
188
  /**
189
  * Applies filters to a given input value.
190
  */
191
  run: function(filterName, args) {
192
+ $.wbcr_factory_clearfy_220.filters.run(filterName, args);
193
  },
194
 
195
  /**
196
  * Registers a new filter.
197
  */
198
  add: function(filterName, callback, priority) {
199
+ $.wbcr_factory_clearfy_220.filters.add(filterName, callback, priority);
200
  }
201
  };
202
 
libs/factory/clearfy/assets/js/libs/jquery.autocomplete.min.js ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Ajax Autocomplete for jQuery, version 1.4.11
3
+ * (c) 2017 Tomas Kirda
4
+ *
5
+ * Ajax Autocomplete for jQuery is freely distributable under the terms of an MIT-style license.
6
+ * For details, see the web site: https://github.com/devbridge/jQuery-Autocomplete
7
+ */
8
+ !function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports&&"function"==typeof require?require("jquery"):jQuery)}(function(a){"use strict";function b(c,d){var e=this;e.element=c,e.el=a(c),e.suggestions=[],e.badQueries=[],e.selectedIndex=-1,e.currentValue=e.element.value,e.timeoutId=null,e.cachedResponse={},e.onChangeTimeout=null,e.onChange=null,e.isLocal=!1,e.suggestionsContainer=null,e.noSuggestionsContainer=null,e.options=a.extend(!0,{},b.defaults,d),e.classes={selected:"wbcr-factory-clearfy-220__autocomplete-selected",suggestion:"wbcr-factory-clearfy-220__autocomplete-suggestion"},e.hint=null,e.hintValue="",e.selection=null,e.initialize(),e.setOptions(d)}function c(a,b,c){return a.value.toLowerCase().indexOf(c)!==-1}function d(b){return"string"==typeof b?a.parseJSON(b):b}function e(a,b){if(!b)return a.value;var c="("+g.escapeRegExChars(b)+")";return a.value.replace(new RegExp(c,"gi"),"<strong>$1</strong>").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/&lt;(\/?strong)&gt;/g,"<$1>")}function f(a,b){return'<div class="wbcr-factory-clearfy-220__autocomplete-group">'+b+"</div>"}var g=function(){return{escapeRegExChars:function(a){return a.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&")},createNode:function(a){var b=document.createElement("div");return b.className=a,b.style.position="absolute",b.style.display="none",b}}}(),h={ESC:27,TAB:9,RETURN:13,LEFT:37,UP:38,RIGHT:39,DOWN:40},i=a.noop;b.utils=g,a.Autocomplete=b,b.defaults={ajaxSettings:{},autoSelectFirst:!1,appendTo:"body",serviceUrl:null,lookup:null,onSelect:null,width:"auto",minChars:1,maxHeight:300,deferRequestBy:0,params:{},formatResult:e,formatGroup:f,delimiter:null,zIndex:9999,type:"GET",noCache:!1,onSearchStart:i,onSearchComplete:i,onSearchError:i,preserveInput:!1,containerClass:"wbcr-factory-clearfy-220__autocomplete-suggestions",tabDisabled:!1,dataType:"text",currentRequest:null,triggerSelectOnValidInput:!0,preventBadQueries:!0,lookupFilter:c,paramName:"query",transformResult:d,showNoSuggestionNotice:!1,noSuggestionNotice:"No results",orientation:"bottom",forceFixPosition:!1},b.prototype={initialize:function(){var c,d=this,e="."+d.classes.suggestion,f=d.classes.selected,g=d.options;d.element.setAttribute("autocomplete","off"),d.noSuggestionsContainer=a('<div class="autocomplete-no-suggestion"></div>').html(this.options.noSuggestionNotice).get(0),d.suggestionsContainer=b.utils.createNode(g.containerClass),c=a(d.suggestionsContainer),c.appendTo(g.appendTo||"body"),"auto"!==g.width&&c.css("width",g.width),c.on("mouseover.autocomplete",e,function(){d.activate(a(this).data("index"))}),c.on("mouseout.autocomplete",function(){d.selectedIndex=-1,c.children("."+f).removeClass(f)}),c.on("click.autocomplete",e,function(){d.select(a(this).data("index"))}),c.on("click.autocomplete",function(){clearTimeout(d.blurTimeoutId)}),d.fixPositionCapture=function(){d.visible&&d.fixPosition()},a(window).on("resize.autocomplete",d.fixPositionCapture),d.el.on("keydown.autocomplete",function(a){d.onKeyPress(a)}),d.el.on("keyup.autocomplete",function(a){d.onKeyUp(a)}),d.el.on("blur.autocomplete",function(){d.onBlur()}),d.el.on("focus.autocomplete",function(){d.onFocus()}),d.el.on("change.autocomplete",function(a){d.onKeyUp(a)}),d.el.on("input.autocomplete",function(a){d.onKeyUp(a)})},onFocus:function(){var a=this;a.disabled||(a.fixPosition(),a.el.val().length>=a.options.minChars&&a.onValueChange())},onBlur:function(){var b=this,c=b.options,d=b.el.val(),e=b.getQuery(d);b.blurTimeoutId=setTimeout(function(){b.hide(),b.selection&&b.currentValue!==e&&(c.onInvalidateSelection||a.noop).call(b.element)},200)},abortAjax:function(){var a=this;a.currentRequest&&(a.currentRequest.abort(),a.currentRequest=null)},setOptions:function(b){var c=this,d=a.extend({},c.options,b);c.isLocal=Array.isArray(d.lookup),c.isLocal&&(d.lookup=c.verifySuggestionsFormat(d.lookup)),d.orientation=c.validateOrientation(d.orientation,"bottom"),a(c.suggestionsContainer).css({"max-height":d.maxHeight+"px",width:d.width+"px","z-index":d.zIndex}),this.options=d},clearCache:function(){this.cachedResponse={},this.badQueries=[]},clear:function(){this.clearCache(),this.currentValue="",this.suggestions=[]},disable:function(){var a=this;a.disabled=!0,clearTimeout(a.onChangeTimeout),a.abortAjax()},enable:function(){this.disabled=!1},fixPosition:function(){var b=this,c=a(b.suggestionsContainer),d=c.parent().get(0);if(d===document.body||b.options.forceFixPosition){var e=b.options.orientation,f=c.outerHeight(),g=b.el.outerHeight(),h=b.el.offset(),i={top:h.top,left:h.left};if("auto"===e){var j=a(window).height(),k=a(window).scrollTop(),l=-k+h.top-f,m=k+j-(h.top+g+f);e=Math.max(l,m)===l?"top":"bottom"}if("top"===e?i.top+=-f:i.top+=g,d!==document.body){var n,o=c.css("opacity");b.visible||c.css("opacity",0).show(),n=c.offsetParent().offset(),i.top-=n.top,i.top+=d.scrollTop,i.left-=n.left,b.visible||c.css("opacity",o).hide()}"auto"===b.options.width&&(i.width=b.el.outerWidth()+"px"),c.css(i)}},isCursorAtEnd:function(){var a,b=this,c=b.el.val().length,d=b.element.selectionStart;return"number"==typeof d?d===c:!document.selection||(a=document.selection.createRange(),a.moveStart("character",-c),c===a.text.length)},onKeyPress:function(a){var b=this;if(!b.disabled&&!b.visible&&a.which===h.DOWN&&b.currentValue)return void b.suggest();if(!b.disabled&&b.visible){switch(a.which){case h.ESC:b.el.val(b.currentValue),b.hide();break;case h.RIGHT:if(b.hint&&b.options.onHint&&b.isCursorAtEnd()){b.selectHint();break}return;case h.TAB:if(b.hint&&b.options.onHint)return void b.selectHint();if(b.selectedIndex===-1)return void b.hide();if(b.select(b.selectedIndex),b.options.tabDisabled===!1)return;break;case h.RETURN:if(b.selectedIndex===-1)return void b.hide();b.select(b.selectedIndex);break;case h.UP:b.moveUp();break;case h.DOWN:b.moveDown();break;default:return}a.stopImmediatePropagation(),a.preventDefault()}},onKeyUp:function(a){var b=this;if(!b.disabled){switch(a.which){case h.UP:case h.DOWN:return}clearTimeout(b.onChangeTimeout),b.currentValue!==b.el.val()&&(b.findBestHint(),b.options.deferRequestBy>0?b.onChangeTimeout=setTimeout(function(){b.onValueChange()},b.options.deferRequestBy):b.onValueChange())}},onValueChange:function(){if(this.ignoreValueChange)return void(this.ignoreValueChange=!1);var b=this,c=b.options,d=b.el.val(),e=b.getQuery(d);return b.selection&&b.currentValue!==e&&(b.selection=null,(c.onInvalidateSelection||a.noop).call(b.element)),clearTimeout(b.onChangeTimeout),b.currentValue=d,b.selectedIndex=-1,c.triggerSelectOnValidInput&&b.isExactMatch(e)?void b.select(0):void(e.length<c.minChars?b.hide():b.getSuggestions(e))},isExactMatch:function(a){var b=this.suggestions;return 1===b.length&&b[0].value.toLowerCase()===a.toLowerCase()},getQuery:function(b){var c,d=this.options.delimiter;return d?(c=b.split(d),a.trim(c[c.length-1])):b},getSuggestionsLocal:function(b){var c,d=this,e=d.options,f=b.toLowerCase(),g=e.lookupFilter,h=parseInt(e.lookupLimit,10);return c={suggestions:a.grep(e.lookup,function(a){return g(a,b,f)})},h&&c.suggestions.length>h&&(c.suggestions=c.suggestions.slice(0,h)),c},getSuggestions:function(b){var c,d,e,f,g=this,h=g.options,i=h.serviceUrl;if(h.params[h.paramName]=b,h.onSearchStart.call(g.element,h.params)!==!1){if(d=h.ignoreParams?null:h.params,a.isFunction(h.lookup))return void h.lookup(b,function(a){g.suggestions=a.suggestions,g.suggest(),h.onSearchComplete.call(g.element,b,a.suggestions)});g.isLocal?c=g.getSuggestionsLocal(b):(a.isFunction(i)&&(i=i.call(g.element,b)),e=i+"?"+a.param(d||{}),c=g.cachedResponse[e]),c&&Array.isArray(c.suggestions)?(g.suggestions=c.suggestions,g.suggest(),h.onSearchComplete.call(g.element,b,c.suggestions)):g.isBadQuery(b)?h.onSearchComplete.call(g.element,b,[]):(g.abortAjax(),f={url:i,data:d,type:h.type,dataType:h.dataType},a.extend(f,h.ajaxSettings),g.currentRequest=a.ajax(f).done(function(a){var c;g.currentRequest=null,c=h.transformResult(a,b),g.processResponse(c,b,e),h.onSearchComplete.call(g.element,b,c.suggestions)}).fail(function(a,c,d){h.onSearchError.call(g.element,b,a,c,d)}))}},isBadQuery:function(a){if(!this.options.preventBadQueries)return!1;for(var b=this.badQueries,c=b.length;c--;)if(0===a.indexOf(b[c]))return!0;return!1},hide:function(){var b=this,c=a(b.suggestionsContainer);a.isFunction(b.options.onHide)&&b.visible&&b.options.onHide.call(b.element,c),b.visible=!1,b.selectedIndex=-1,clearTimeout(b.onChangeTimeout),a(b.suggestionsContainer).hide(),b.signalHint(null)},suggest:function(){if(!this.suggestions.length)return void(this.options.showNoSuggestionNotice?this.noSuggestions():this.hide());var b,c=this,d=c.options,e=d.groupBy,f=d.formatResult,g=c.getQuery(c.currentValue),h=c.classes.suggestion,i=c.classes.selected,j=a(c.suggestionsContainer),k=a(c.noSuggestionsContainer),l=d.beforeRender,m="",n=function(a,c){var f=a.data[e];return b===f?"":(b=f,d.formatGroup(a,b))};return d.triggerSelectOnValidInput&&c.isExactMatch(g)?void c.select(0):(a.each(c.suggestions,function(a,b){e&&(m+=n(b,g,a)),m+='<div class="'+h+'" data-index="'+a+'">'+f(b,g,a)+"</div>"}),this.adjustContainerWidth(),k.detach(),j.html(m),a.isFunction(l)&&l.call(c.element,j,c.suggestions),c.fixPosition(),j.show(),d.autoSelectFirst&&(c.selectedIndex=0,j.scrollTop(0),j.children("."+h).first().addClass(i)),c.visible=!0,void c.findBestHint())},noSuggestions:function(){var b=this,c=b.options.beforeRender,d=a(b.suggestionsContainer),e=a(b.noSuggestionsContainer);this.adjustContainerWidth(),e.detach(),d.empty(),d.append(e),a.isFunction(c)&&c.call(b.element,d,b.suggestions),b.fixPosition(),d.show(),b.visible=!0},adjustContainerWidth:function(){var b,c=this,d=c.options,e=a(c.suggestionsContainer);"auto"===d.width?(b=c.el.outerWidth(),e.css("width",b>0?b:300)):"flex"===d.width&&e.css("width","")},findBestHint:function(){var b=this,c=b.el.val().toLowerCase(),d=null;c&&(a.each(b.suggestions,function(a,b){var e=0===b.value.toLowerCase().indexOf(c);return e&&(d=b),!e}),b.signalHint(d))},signalHint:function(b){var c="",d=this;b&&(c=d.currentValue+b.value.substr(d.currentValue.length)),d.hintValue!==c&&(d.hintValue=c,d.hint=b,(this.options.onHint||a.noop)(c))},verifySuggestionsFormat:function(b){return b.length&&"string"==typeof b[0]?a.map(b,function(a){return{value:a,data:null}}):b},validateOrientation:function(b,c){return b=a.trim(b||"").toLowerCase(),a.inArray(b,["auto","bottom","top"])===-1&&(b=c),b},processResponse:function(a,b,c){var d=this,e=d.options;a.suggestions=d.verifySuggestionsFormat(a.suggestions),e.noCache||(d.cachedResponse[c]=a,e.preventBadQueries&&!a.suggestions.length&&d.badQueries.push(b)),b===d.getQuery(d.currentValue)&&(d.suggestions=a.suggestions,d.suggest())},activate:function(b){var c,d=this,e=d.classes.selected,f=a(d.suggestionsContainer),g=f.find("."+d.classes.suggestion);return f.find("."+e).removeClass(e),d.selectedIndex=b,d.selectedIndex!==-1&&g.length>d.selectedIndex?(c=g.get(d.selectedIndex),a(c).addClass(e),c):null},selectHint:function(){var b=this,c=a.inArray(b.hint,b.suggestions);b.select(c)},select:function(a){var b=this;b.hide(),b.onSelect(a)},moveUp:function(){var b=this;if(b.selectedIndex!==-1)return 0===b.selectedIndex?(a(b.suggestionsContainer).children("."+b.classes.suggestion).first().removeClass(b.classes.selected),b.selectedIndex=-1,b.ignoreValueChange=!1,b.el.val(b.currentValue),void b.findBestHint()):void b.adjustScroll(b.selectedIndex-1)},moveDown:function(){var a=this;a.selectedIndex!==a.suggestions.length-1&&a.adjustScroll(a.selectedIndex+1)},adjustScroll:function(b){var c=this,d=c.activate(b);if(d){var e,f,g,h=a(d).outerHeight();e=d.offsetTop,f=a(c.suggestionsContainer).scrollTop(),g=f+c.options.maxHeight-h,e<f?a(c.suggestionsContainer).scrollTop(e):e>g&&a(c.suggestionsContainer).scrollTop(e-c.options.maxHeight+h),c.options.preserveInput||(c.ignoreValueChange=!0,c.el.val(c.getValue(c.suggestions[b].value))),c.signalHint(null)}},onSelect:function(b){var c=this,d=c.options.onSelect,e=c.suggestions[b];c.currentValue=c.getValue(e.value),c.currentValue===c.el.val()||c.options.preserveInput||c.el.val(c.currentValue),c.signalHint(null),c.suggestions=[],c.selection=e,a.isFunction(d)&&d.call(c.element,e)},getValue:function(a){var b,c,d=this,e=d.options.delimiter;return e?(b=d.currentValue,c=b.split(e),1===c.length?a:b.substr(0,b.length-c[c.length-1].length)+a):a},dispose:function(){var b=this;b.el.off(".autocomplete").removeData("autocomplete"),a(window).off("resize.autocomplete",b.fixPositionCapture),a(b.suggestionsContainer).remove()}},a.fn.devbridgeAutocomplete=function(c,d){var e="autocomplete";return arguments.length?this.each(function(){var f=a(this),g=f.data(e);"string"==typeof c?g&&"function"==typeof g[c]&&g[c](d):(g&&g.dispose&&g.dispose(),g=new b(this,c),f.data(e,g))}):this.first().data(e)},a.fn.wfactory_clearfy_autocomplete||(a.fn.wfactory_clearfy_autocomplete=a.fn.devbridgeAutocomplete)});
libs/factory/clearfy/assets/js/license-manager.js CHANGED
@@ -20,7 +20,7 @@ jQuery(function($) {
20
  licenseAction = $(this).data('action');
21
 
22
  for( i = 0; i < allNotices.length; i++ ) {
23
- $.wbcr_factory_clearfy_219.app.hideNotice(allNotices[i]);
24
  }
25
 
26
  $('.wcl-control-btn').hide();
@@ -53,7 +53,7 @@ jQuery(function($) {
53
 
54
  if( response.data ) {
55
  console.log(response.data.error_message);
56
- noticeId = $.wbcr_factory_clearfy_219.app.showNotice('Error: [' + response.data.error_message + ']', 'danger');
57
  allNotices.push(noticeId);
58
  } else {
59
  console.log(response);
@@ -63,7 +63,7 @@ jQuery(function($) {
63
  }
64
 
65
  if( response.data && response.data.message ) {
66
- noticeId = $.wbcr_factory_clearfy_219.app.showNotice(response.data.message, 'success');
67
  allNotices.push(noticeId);
68
 
69
  // todo: доработать генерацию формы, вместо перезагрузки страницы
@@ -80,7 +80,7 @@ jQuery(function($) {
80
  console.log(xhr.responseText);
81
  console.log(thrownError);
82
 
83
- var noticeId = $.wbcr_factory_clearfy_219.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
84
 
85
  allNotices.push(noticeId);
86
  }
20
  licenseAction = $(this).data('action');
21
 
22
  for( i = 0; i < allNotices.length; i++ ) {
23
+ $.wbcr_factory_clearfy_220.app.hideNotice(allNotices[i]);
24
  }
25
 
26
  $('.wcl-control-btn').hide();
53
 
54
  if( response.data ) {
55
  console.log(response.data.error_message);
56
+ noticeId = $.wbcr_factory_clearfy_220.app.showNotice('Error: [' + response.data.error_message + ']', 'danger');
57
  allNotices.push(noticeId);
58
  } else {
59
  console.log(response);
63
  }
64
 
65
  if( response.data && response.data.message ) {
66
+ noticeId = $.wbcr_factory_clearfy_220.app.showNotice(response.data.message, 'success');
67
  allNotices.push(noticeId);
68
 
69
  // todo: доработать генерацию формы, вместо перезагрузки страницы
80
  console.log(xhr.responseText);
81
  console.log(thrownError);
82
 
83
+ var noticeId = $.wbcr_factory_clearfy_220.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
84
 
85
  allNotices.push(noticeId);
86
  }
libs/factory/clearfy/assets/js/search-options.js ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (function($) {
2
+ 'use strict';
3
+
4
+ $(document).ready(function() {
5
+ if( '' !== window.location.hash && window.location.hash.indexOf('factory-control-') ) {
6
+ let controlClass = window.location.hash.replace('#', ''),
7
+ controlEl = $('.' + controlClass);
8
+
9
+ if( controlEl.closest('.factory-div').length && !controlEl.is(':visible') ) {
10
+ controlEl.closest('.factory-div').fadeIn();
11
+ }
12
+
13
+ $([document.documentElement, document.body]).animate({
14
+ scrollTop: controlEl.offset().top - 150
15
+ }, 500, function() {
16
+
17
+ controlEl.find('.control-label').css({
18
+ color: '#ff5722',
19
+ fontWeight: 'bold'
20
+ });
21
+
22
+ history.pushState("", document.title, window.location.pathname
23
+ + window.location.search);
24
+ });
25
+ }
26
+
27
+ if( undefined === window.wfactory_clearfy_search_options ) {
28
+ throw new Error('Global var {wfactory_clearfy_search_options} is not declared.');
29
+ }
30
+
31
+ $('#wbcr-factory-clearfy-220__autocomplete').wfactory_clearfy_autocomplete({
32
+ lookup: wfactory_clearfy_search_options,
33
+ onSelect: function(suggestion) {
34
+ $('#wbcr-factory-clearfy-220__autocomplete').prop("disabled", true);
35
+ window.location.href = suggestion.data.page_url;
36
+ }
37
+ });
38
+ });
39
+
40
+ })(jQuery);
libs/factory/clearfy/boot.php CHANGED
@@ -10,40 +10,71 @@
10
  */
11
 
12
  // Exit if accessed directly
13
- if ( ! defined( 'ABSPATH' ) ) {
14
  exit;
15
  }
16
 
17
- if ( defined( 'FACTORY_CLEARFY_219_LOADED' ) ) {
18
  return;
19
  }
20
 
21
- define( 'FACTORY_CLEARFY_219_LOADED', true );
22
 
23
- define( 'FACTORY_CLEARFY_219', '2.1.9' );
24
 
25
- define( 'FACTORY_CLEARFY_219_DIR', dirname( __FILE__ ) );
26
- define( 'FACTORY_CLEARFY_219_URL', plugins_url( null, __FILE__ ) );
27
 
28
- load_plugin_textdomain( 'wbcr_factory_clearfy_219', false, dirname( plugin_basename( __FILE__ ) ) . '/langs' );
29
 
30
- require( FACTORY_CLEARFY_219_DIR . '/includes/ajax-handlers.php' );
31
- require( FACTORY_CLEARFY_219_DIR . '/includes/class-helpers.php' );
32
- require( FACTORY_CLEARFY_219_DIR . '/includes/class-configurate.php' );
33
 
34
  // module provides function only for the admin area
35
- if ( is_admin() ) {
36
  /**
37
  * Подключаем скрипты для установки компонентов Clearfy
38
  * на все страницы админпанели.
39
  */
40
- add_action( 'admin_enqueue_scripts', function () {
41
- wp_enqueue_script( 'wbcr-factory-clearfy-219-global', FACTORY_CLEARFY_219_URL . '/assets/js/globals.js', [ 'jquery' ], FACTORY_CLEARFY_219 );
42
- } );
43
-
44
- if ( defined( 'FACTORY_PAGES_427_LOADED' ) ) {
45
- require( FACTORY_CLEARFY_219_DIR . '/pages/class-pages.php' );
46
- require( FACTORY_CLEARFY_219_DIR . '/pages/class-page-more-features.php' );
47
- require( FACTORY_CLEARFY_219_DIR . '/pages/class-page-license.php' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
48
  }
49
  }
10
  */
11
 
12
  // Exit if accessed directly
13
+ if( !defined('ABSPATH') ) {
14
  exit;
15
  }
16
 
17
+ if( defined('FACTORY_CLEARFY_220_LOADED') ) {
18
  return;
19
  }
20
 
21
+ define('FACTORY_CLEARFY_220_LOADED', true);
22
 
23
+ define('FACTORY_CLEARFY_220', '2.2.0');
24
 
25
+ define('FACTORY_CLEARFY_220_DIR', dirname(__FILE__));
26
+ define('FACTORY_CLEARFY_220_URL', plugins_url(null, __FILE__));
27
 
28
+ load_plugin_textdomain('wbcr_factory_clearfy_220', false, dirname(plugin_basename(__FILE__)) . '/langs');
29
 
30
+ require(FACTORY_CLEARFY_220_DIR . '/includes/ajax-handlers.php');
31
+ require(FACTORY_CLEARFY_220_DIR . '/includes/class-helpers.php');
32
+ require(FACTORY_CLEARFY_220_DIR . '/includes/class-configurate.php');
33
 
34
  // module provides function only for the admin area
35
+ if( is_admin() ) {
36
  /**
37
  * Подключаем скрипты для установки компонентов Clearfy
38
  * на все страницы админпанели.
39
  */
40
+ add_action('admin_enqueue_scripts', function () {
41
+ wp_enqueue_script('wbcr-factory-clearfy-220-global', FACTORY_CLEARFY_220_URL . '/assets/js/globals.js', ['jquery'], FACTORY_CLEARFY_220);
42
+
43
+ require_once FACTORY_CLEARFY_220_DIR . '/includes/class-search-options.php';
44
+ $all_options = \WBCR\Factory_Clearfy_220\Search_Options::get_all_options();
45
+
46
+ if( empty($all_options) ) {
47
+ return;
48
+ }
49
+
50
+ $allow_print_data = false;
51
+ $formated_options = [];
52
+
53
+ foreach($all_options as $option) {
54
+ if( !$allow_print_data && isset($_GET['page']) && $option['page_id'] === $_GET['page'] ) {
55
+ $allow_print_data = true;
56
+ }
57
+
58
+ $formated_options[] = [
59
+ 'value' => $option['title'],
60
+ 'data' => [
61
+ //'hint' => isset($option['hint']) ? $option['hint'] : '',
62
+ 'page_url' => $option['page_url'],
63
+ 'page_id' => $option['page_id']
64
+ ]
65
+ ];
66
+ }
67
+
68
+ if( !$allow_print_data ) {
69
+ return;
70
+ }
71
+
72
+ wp_localize_script('jquery', 'wfactory_clearfy_search_options', $formated_options);
73
+ });
74
+
75
+ if( defined('FACTORY_PAGES_428_LOADED') ) {
76
+ require(FACTORY_CLEARFY_220_DIR . '/pages/class-pages.php');
77
+ require(FACTORY_CLEARFY_220_DIR . '/pages/class-page-more-features.php');
78
+ require(FACTORY_CLEARFY_220_DIR . '/pages/class-page-license.php');
79
  }
80
  }
libs/factory/clearfy/includes/ajax-handlers.php CHANGED
@@ -17,10 +17,10 @@ if ( ! defined( 'ABSPATH' ) ) {
17
  *
18
  * @since 2.0.7
19
  *
20
- * @param Wbcr_Factory427_Plugin $plugin_instance
21
  *
22
  */
23
- function wbcr_factory_clearfy_219_check_license( $plugin_instance ) {
24
 
25
  $plugin_name = $plugin_instance->request->post( 'plugin_name', null, true );
26
 
@@ -34,7 +34,7 @@ function wbcr_factory_clearfy_219_check_license( $plugin_instance ) {
34
  check_admin_referer( "clearfy_activate_license_for_{$plugin_name}" );
35
 
36
  if ( empty( $action ) || ! in_array( $action, [ 'activate', 'deactivate', 'sync', 'unsubscribe' ] ) ) {
37
- wp_send_json_error( [ 'error_message' => __( 'Licensing action not passed or this action is prohibited!', 'wbcr_factory_clearfy_219' ) ] );
38
  die();
39
  }
40
 
@@ -45,23 +45,23 @@ function wbcr_factory_clearfy_219_check_license( $plugin_instance ) {
45
  switch ( $action ) {
46
  case 'activate':
47
  if ( empty( $license_key ) || strlen( $license_key ) > 32 ) {
48
- wp_send_json_error( [ 'error_message' => __( 'License key is empty or license key too long (license key is 32 characters long)', 'wbcr_factory_clearfy_219' ) ] );
49
  } else {
50
  $plugin_instance->premium->activate( $license_key );
51
- $success_message = __( 'Your license has been successfully activated', 'wbcr_factory_clearfy_219' );
52
  }
53
  break;
54
  case 'deactivate':
55
  $plugin_instance->premium->deactivate();
56
- $success_message = __( 'The license is deactivated', 'wbcr_factory_clearfy_219' );
57
  break;
58
  case 'sync':
59
  $plugin_instance->premium->sync();
60
- $success_message = __( 'The license has been updated', 'wbcr_factory_clearfy_219' );
61
  break;
62
  case 'unsubscribe':
63
  $plugin_instance->premium->cancel_paid_subscription();
64
- $success_message = __( 'Subscription success cancelled', 'wbcr_factory_clearfy_219' );
65
  break;
66
  }
67
  } catch( Exception $e ) {
17
  *
18
  * @since 2.0.7
19
  *
20
+ * @param Wbcr_Factory428_Plugin $plugin_instance
21
  *
22
  */
23
+ function wbcr_factory_clearfy_220_check_license( $plugin_instance ) {
24
 
25
  $plugin_name = $plugin_instance->request->post( 'plugin_name', null, true );
26
 
34
  check_admin_referer( "clearfy_activate_license_for_{$plugin_name}" );
35
 
36
  if ( empty( $action ) || ! in_array( $action, [ 'activate', 'deactivate', 'sync', 'unsubscribe' ] ) ) {
37
+ wp_send_json_error( [ 'error_message' => __( 'Licensing action not passed or this action is prohibited!', 'wbcr_factory_clearfy_220' ) ] );
38
  die();
39
  }
40
 
45
  switch ( $action ) {
46
  case 'activate':
47
  if ( empty( $license_key ) || strlen( $license_key ) > 32 ) {
48
+ wp_send_json_error( [ 'error_message' => __( 'License key is empty or license key too long (license key is 32 characters long)', 'wbcr_factory_clearfy_220' ) ] );
49
  } else {
50
  $plugin_instance->premium->activate( $license_key );
51
+ $success_message = __( 'Your license has been successfully activated', 'wbcr_factory_clearfy_220' );
52
  }
53
  break;
54
  case 'deactivate':
55
  $plugin_instance->premium->deactivate();
56
+ $success_message = __( 'The license is deactivated', 'wbcr_factory_clearfy_220' );
57
  break;
58
  case 'sync':
59
  $plugin_instance->premium->sync();
60
+ $success_message = __( 'The license has been updated', 'wbcr_factory_clearfy_220' );
61
  break;
62
  case 'unsubscribe':
63
  $plugin_instance->premium->cancel_paid_subscription();
64
+ $success_message = __( 'Subscription success cancelled', 'wbcr_factory_clearfy_220' );
65
  break;
66
  }
67
  } catch( Exception $e ) {
libs/factory/clearfy/includes/class-configurate.php CHANGED
@@ -13,12 +13,12 @@ if ( ! defined( 'ABSPATH' ) ) {
13
  * @copyright (c) 2018, Webcraftic Ltd
14
  *
15
  */
16
- abstract class Wbcr_FactoryClearfy219_Configurate {
17
 
18
  /**
19
- * @param Wbcr_Factory427_Plugin $plugin
20
  */
21
- public function __construct( Wbcr_Factory427_Plugin $plugin ) {
22
  $this->plugin = $plugin;
23
  $this->registerActionsAndFilters();
24
  }
13
  * @copyright (c) 2018, Webcraftic Ltd
14
  *
15
  */
16
+ abstract class Wbcr_FactoryClearfy220_Configurate {
17
 
18
  /**
19
+ * @param Wbcr_Factory428_Plugin $plugin
20
  */
21
+ public function __construct( Wbcr_Factory428_Plugin $plugin ) {
22
  $this->plugin = $plugin;
23
  $this->registerActionsAndFilters();
24
  }
libs/factory/clearfy/includes/class-helpers.php CHANGED
@@ -14,7 +14,7 @@ if ( ! defined( 'ABSPATH' ) ) {
14
  * @copyright (c) 2018, Webcraftic Ltd
15
  *
16
  */
17
- class WbcrFactoryClearfy219_Helpers {
18
 
19
  /**
20
  * Recursive sanitation for an array
14
  * @copyright (c) 2018, Webcraftic Ltd
15
  *
16
  */
17
+ class WbcrFactoryClearfy220_Helpers {
18
 
19
  /**
20
  * Recursive sanitation for an array
libs/factory/clearfy/includes/class-search-options.php ADDED
@@ -0,0 +1,87 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WBCR\Factory_Clearfy_220;
4
+
5
+ /**
6
+ * Class Search options
7
+ *
8
+ * Allows you to collect all the options from the plugin pages, is a registry of options.
9
+ *
10
+ * @author Alex Kovlaev <alex.kovalevv@gmail.com>, https://github.com/alexkovalevv
11
+ *
12
+ * @since 2.2.0
13
+ */
14
+ class Search_Options {
15
+
16
+ private static $_all_options;
17
+
18
+ /**
19
+ * Registers page options in the options registry
20
+ *
21
+ * This will allow the user to search all the plugin options.
22
+ *
23
+ * @param array $options
24
+ * @param string $page_url
25
+ * @param string $page_id
26
+ * @since 2.2.0
27
+ *
28
+ */
29
+ public static function register_options($options, $page_url, $page_id)
30
+ {
31
+ if( empty($options) || !is_array($options) ) {
32
+ return;
33
+ }
34
+
35
+ $extracted_options = static::recursive_extraxt_options($options);
36
+
37
+ if( !empty($extracted_options) ) {
38
+ foreach((array)$extracted_options as $option) {
39
+ if( 'div' === $option['type'] || 'html' === $option['type'] || !isset($option['title']) ) {
40
+ continue;
41
+ }
42
+
43
+ $formated_option['title'] = $option['title'];
44
+
45
+ /*if( isset($option['hint']) ) {
46
+ $formated_option['hint'] = $option['hint'];
47
+ }*/
48
+
49
+ $formated_option['page_url'] = $page_url . '#factory-control-' . $option['name'];
50
+ $formated_option['page_id'] = $page_id;
51
+
52
+ static::$_all_options[] = $formated_option;
53
+ }
54
+ }
55
+ }
56
+
57
+ /**
58
+ * Extracted options from a nested array
59
+ * @param array $options
60
+ * @return array
61
+ * @since 2.2.0
62
+ */
63
+ protected static function recursive_extraxt_options($options)
64
+ {
65
+ $extracted_options = [];
66
+
67
+ foreach($options as $option) {
68
+ if( isset($option['items']) ) {
69
+ $extracted_options = array_merge($extracted_options, static::recursive_extraxt_options($option['items']));
70
+ } else {
71
+ $extracted_options[] = $option;
72
+ }
73
+ }
74
+
75
+ return $extracted_options;
76
+ }
77
+
78
+ /**
79
+ * Get all plugin options
80
+ * @return mixed
81
+ * @since 2.2.0
82
+ */
83
+ public static function get_all_options()
84
+ {
85
+ return static::$_all_options;
86
+ }
87
+ }
libs/factory/clearfy/langs/{wbcr_factory_clearfy_219-ru_RU.mo → wbcr_factory_clearfy_220-ru_RU.mo} RENAMED
File without changes
libs/factory/clearfy/langs/{wbcr_factory_clearfy_219-ru_RU.po → wbcr_factory_clearfy_220-ru_RU.po} RENAMED
File without changes
libs/factory/clearfy/pages/class-page-license.php CHANGED
@@ -11,7 +11,7 @@ if( !defined('ABSPATH') ) {
11
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
12
  * @since 2.0.7
13
  */
14
- class Wbcr_FactoryClearfy219_LicensePage extends Wbcr_FactoryClearfy219_PageBase {
15
 
16
  /**
17
  * {@inheritdoc}
@@ -80,7 +80,7 @@ class Wbcr_FactoryClearfy219_LicensePage extends Wbcr_FactoryClearfy219_PageBase
80
 
81
  /**
82
  * @since 2.0.7
83
- * @var \WBCR\Factory_427\Premium\Provider
84
  */
85
  protected $premium;
86
 
@@ -98,7 +98,7 @@ class Wbcr_FactoryClearfy219_LicensePage extends Wbcr_FactoryClearfy219_PageBase
98
 
99
  /**
100
  * @since 2.0.7
101
- * @var \WBCR\Factory_427\Premium\Interfaces\License
102
  */
103
  protected $premium_license;
104
 
@@ -107,9 +107,9 @@ class Wbcr_FactoryClearfy219_LicensePage extends Wbcr_FactoryClearfy219_PageBase
107
 
108
  /**
109
  * {@inheritdoc}
110
- * @param Wbcr_Factory427_Plugin $plugin
111
  */
112
- public function __construct(Wbcr_Factory427_Plugin $plugin)
113
  {
114
  $this->plugin = $plugin;
115
 
@@ -136,8 +136,8 @@ class Wbcr_FactoryClearfy219_LicensePage extends Wbcr_FactoryClearfy219_PageBase
136
  {
137
  parent::assets($scripts, $styles);
138
 
139
- $this->styles->add(FACTORY_CLEARFY_219_URL . '/assets/css/license-manager.css');
140
- $this->scripts->add(FACTORY_CLEARFY_219_URL . '/assets/js/license-manager.js');
141
  }
142
 
143
  /**
@@ -147,7 +147,7 @@ class Wbcr_FactoryClearfy219_LicensePage extends Wbcr_FactoryClearfy219_PageBase
147
  */
148
  public function ajax_handler()
149
  {
150
- wbcr_factory_clearfy_219_check_license($this->plugin);
151
  }
152
 
153
  /**
@@ -157,7 +157,7 @@ class Wbcr_FactoryClearfy219_LicensePage extends Wbcr_FactoryClearfy219_PageBase
157
  {
158
  ?>
159
  <div id="wcl-license-wrapper"
160
- data-loader="<?php echo FACTORY_CLEARFY_219_URL . '/assets/img/loader.gif'; ?>"
161
  data-plugin-name="<?php echo esc_attr($this->plugin_name); ?>"
162
  data-nonce="<?php echo wp_create_nonce("clearfy_activate_license_for_{$this->plugin_name}") ?>">
163
  <?php $this->show_license_form(); ?>
@@ -263,11 +263,11 @@ class Wbcr_FactoryClearfy219_LicensePage extends Wbcr_FactoryClearfy219_PageBase
263
  if( $this->is_premium ):
264
  ?>
265
  <p style="margin-top: 10px;">
266
- <?php printf(__('<a href="%s" target="_blank" rel="noopener">Lean more</a> about the premium version and get the license key to activate it now!', 'wbcr_factory_clearfy_219'), $this->plugin->get_support()->get_pricing_url(true, 'license_page')); ?>
267
  </p>
268
  <?php else: ?>
269
  <p style="margin-top: 10px;">
270
- <?php printf(__('Can’t find your key? Go to <a href="%s" target="_blank" rel="noopener">this page</a> and login using the e-mail address associated with your purchase.', 'wbcr_factory_clearfy_219'), $this->plugin->get_support()->get_contacts_url(true, 'license_page')) ?>
271
  </p>
272
  <?php endif;
273
  }
@@ -279,16 +279,16 @@ class Wbcr_FactoryClearfy219_LicensePage extends Wbcr_FactoryClearfy219_PageBase
279
  {
280
  ?>
281
  <div id="license-manager"
282
- class="factory-bootstrap-428 onp-page-wrap <?= $this->get_license_type() ?>-license-manager-content">
283
  <div>
284
- <h3><?php printf(__('Activate %s', 'wbcr_factory_clearfy_219'), $this->plan_name) ?></h3>
285
  <?php echo $this->get_plan_description() ?>
286
  </div>
287
  <br>
288
  <?php if( is_wp_error($notice) ) : ?>
289
  <div class="license-message <?= $this->get_license_type() ?>-license-message">
290
  <div class="alert <?php echo esc_attr($notice->get_error_code()); ?>">
291
- <h4 class="alert-heading"><?php _e($notice->get_error_message(), 'wbcr_factory_clearfy_219') ?></h4>
292
  </div>
293
  </div>
294
  <?php endif; ?>
@@ -298,20 +298,20 @@ class Wbcr_FactoryClearfy219_LicensePage extends Wbcr_FactoryClearfy219_PageBase
298
  <a href="<?php echo $this->plugin->get_support()->get_pricing_url(true, 'license_page'); ?>"
299
  class="purchase-premium" target="_blank" rel="noopener">
300
  <span class="btn btn-gold btn-inner-wrap">
301
- <?php _e('Upgrade to Premium', 'wbcr_factory_clearfy_219') ?>
302
  </span>
303
  </a>
304
- <p><?php printf(__('Your current license for %1$s:', 'wbcr_factory_clearfy_219'), $this->plugin->getPluginTitle()) ?></p>
305
  <?php endif; ?>
306
  <div class="license-details-block <?= $this->get_license_type() ?>-details-block">
307
  <?php if( $this->is_premium ): ?>
308
  <a data-action="deactivate" href="#"
309
  class="btn btn-default btn-small license-delete-button wcl-control-btn">
310
- <?php _e('Delete Key', 'wbcr_factory_clearfy_219') ?>
311
  </a>
312
  <a data-action="sync" href="#"
313
  class="btn btn-default btn-small license-synchronization-button wcl-control-btn">
314
- <?php _e('Synchronization', 'wbcr_factory_clearfy_219') ?>
315
  </a>
316
  <?php endif; ?>
317
  <h3>
@@ -330,19 +330,19 @@ class Wbcr_FactoryClearfy219_LicensePage extends Wbcr_FactoryClearfy219_PageBase
330
  <?php endif; ?>
331
  <div class="license-key-description">
332
  <?php if( !$this->is_premium ): ?>
333
- <p><?php _e('Public License is a GPLv3 compatible license allowing you to change and use this version of the plugin for free. Please keep in mind this license covers only free edition of the plugin. Premium versions are distributed with other type of a license.', 'wbcr_factory_clearfy_219') ?></p>
334
  <?php else: ?>
335
- <p><?php _e('Сommercial license, only to the premium add-on to this free plugin. You cannot distribute or modify the premium add-on. But free plugin is a GPLv3 compatible license allowing you to change and use this version of the plugin for free.', 'wbcr_factory_clearfy_219') ?></p>
336
  <?php endif; ?>
337
  <?php if( $this->is_premium && $this->premium_has_subscription ): ?>
338
  <p class="activate-trial-hint">
339
- <?php _e('You use a paid subscription for the plugin updates. In case you don’t want to receive paid updates, please, click <a data-action="unsubscribe" class="wcl-control-btn" href="#">cancel subscription</a>', 'wbcr_factory_clearfy_219') ?>
340
  </p>
341
  <?php endif; ?>
342
 
343
  <?php if( $this->get_license_type() == 'trial' ): ?>
344
  <p class="activate-error-hint">
345
- <?php printf(__('Your license has expired, please extend the license to get updates and support.', 'wbcr_factory_clearfy_219'), '') ?>
346
  </p>
347
  <?php endif; ?>
348
  </div>
@@ -350,19 +350,19 @@ class Wbcr_FactoryClearfy219_LicensePage extends Wbcr_FactoryClearfy219_PageBase
350
  <tr>
351
  <!--<td class="license-param license-param-domain">
352
  <span class="license-value"><?php echo esc_attr($_SERVER['SERVER_NAME']); ?></span>
353
- <span class="license-value-name"><?php _e('domain', 'wbcr_factory_clearfy_219') ?></span>
354
  </td>-->
355
  <td class="license-param license-param-days">
356
  <span class="license-value"><?= $this->get_plan() ?></span>
357
- <span class="license-value-name"><?php _e('plan', 'wbcr_factory_clearfy_219') ?></span>
358
  </td>
359
  <?php if( $this->is_premium ) : ?>
360
  <td class="license-param license-param-sites">
361
  <span class="license-value">
362
  <?php echo esc_attr($this->premium_license->get_count_active_sites()); ?>
363
- <?php _e('of', 'wbcr_factory_clearfy_219') ?>
364
  <?php echo esc_attr($this->premium_license->get_sites_quota()); ?></span>
365
- <span class="license-value-name"><?php _e('active sites', 'wbcr_factory_clearfy_219') ?></span>
366
  </td>
367
  <?php endif; ?>
368
  <td class="license-param license-param-version">
@@ -372,8 +372,8 @@ class Wbcr_FactoryClearfy219_LicensePage extends Wbcr_FactoryClearfy219_PageBase
372
  <?php if( $this->is_premium ): ?>
373
  <td class="license-param license-param-days">
374
  <?php if( $this->get_license_type() == 'trial' ): ?>
375
- <span class="license-value"><?php _e('EXPIRED!', 'wbcr_factory_clearfy_219') ?></span>
376
- <span class="license-value-name"><?php _e('please update the key', 'wbcr_factory_clearfy_219') ?></span>
377
  <?php else: ?>
378
  <span class="license-value">
379
  <?php
@@ -383,9 +383,9 @@ class Wbcr_FactoryClearfy219_LicensePage extends Wbcr_FactoryClearfy219_PageBase
383
  echo $this->get_expiration_days();
384
  }
385
  ?>
386
- <small> <?php _e('day(s)', 'wbcr_factory_clearfy_219') ?></small>
387
  </span>
388
- <span class="license-value-name"><?php _e('remained', 'wbcr_factory_clearfy_219') ?></span>
389
  <?php endif; ?>
390
  </td>
391
  <?php endif; ?>
@@ -396,14 +396,14 @@ class Wbcr_FactoryClearfy219_LicensePage extends Wbcr_FactoryClearfy219_PageBase
396
  <div class="license-input">
397
  <form action="" method="post">
398
  <?php if($this->is_premium): ?>
399
- <p><?php _e('Have a key to activate the premium version? Paste it here:', 'wbcr_factory_clearfy_219') ?><p>
400
  <?php else: ?>
401
- <p><?php _e('Have a key to activate the plugin? Paste it here:', 'wbcr_factory_clearfy_219') ?>
402
  <p>
403
  <?php endif; ?>
404
  <button data-action="activate" class="btn btn-default wcl-control-btn" type="button"
405
  id="license-submit">
406
- <?php _e('Submit Key', 'wbcr_factory_clearfy_219') ?>
407
  </button>
408
  <div class="license-key-wrap">
409
  <input type="text" id="license-key" name="licensekey" value="" class="form-control"/>
11
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
12
  * @since 2.0.7
13
  */
14
+ class Wbcr_FactoryClearfy220_LicensePage extends Wbcr_FactoryClearfy220_PageBase {
15
 
16
  /**
17
  * {@inheritdoc}
80
 
81
  /**
82
  * @since 2.0.7
83
+ * @var \WBCR\Factory_428\Premium\Provider
84
  */
85
  protected $premium;
86
 
98
 
99
  /**
100
  * @since 2.0.7
101
+ * @var \WBCR\Factory_428\Premium\Interfaces\License
102
  */
103
  protected $premium_license;
104
 
107
 
108
  /**
109
  * {@inheritdoc}
110
+ * @param Wbcr_Factory428_Plugin $plugin
111
  */
112
+ public function __construct(Wbcr_Factory428_Plugin $plugin)
113
  {
114
  $this->plugin = $plugin;
115
 
136
  {
137
  parent::assets($scripts, $styles);
138
 
139
+ $this->styles->add(FACTORY_CLEARFY_220_URL . '/assets/css/license-manager.css');
140
+ $this->scripts->add(FACTORY_CLEARFY_220_URL . '/assets/js/license-manager.js');
141
  }
142
 
143
  /**
147
  */
148
  public function ajax_handler()
149
  {
150
+ wbcr_factory_clearfy_220_check_license($this->plugin);
151
  }
152
 
153
  /**
157
  {
158
  ?>
159
  <div id="wcl-license-wrapper"
160
+ data-loader="<?php echo FACTORY_CLEARFY_220_URL . '/assets/img/loader.gif'; ?>"
161
  data-plugin-name="<?php echo esc_attr($this->plugin_name); ?>"
162
  data-nonce="<?php echo wp_create_nonce("clearfy_activate_license_for_{$this->plugin_name}") ?>">
163
  <?php $this->show_license_form(); ?>
263
  if( $this->is_premium ):
264
  ?>
265
  <p style="margin-top: 10px;">
266
+ <?php printf(__('<a href="%s" target="_blank" rel="noopener">Lean more</a> about the premium version and get the license key to activate it now!', 'wbcr_factory_clearfy_220'), $this->plugin->get_support()->get_pricing_url(true, 'license_page')); ?>
267
  </p>
268
  <?php else: ?>
269
  <p style="margin-top: 10px;">
270
+ <?php printf(__('Can’t find your key? Go to <a href="%s" target="_blank" rel="noopener">this page</a> and login using the e-mail address associated with your purchase.', 'wbcr_factory_clearfy_220'), $this->plugin->get_support()->get_contacts_url(true, 'license_page')) ?>
271
  </p>
272
  <?php endif;
273
  }
279
  {
280
  ?>
281
  <div id="license-manager"
282
+ class="factory-bootstrap-429 onp-page-wrap <?= $this->get_license_type() ?>-license-manager-content">
283
  <div>
284
+ <h3><?php printf(__('Activate %s', 'wbcr_factory_clearfy_220'), $this->plan_name) ?></h3>
285
  <?php echo $this->get_plan_description() ?>
286
  </div>
287
  <br>
288
  <?php if( is_wp_error($notice) ) : ?>
289
  <div class="license-message <?= $this->get_license_type() ?>-license-message">
290
  <div class="alert <?php echo esc_attr($notice->get_error_code()); ?>">
291
+ <h4 class="alert-heading"><?php _e($notice->get_error_message(), 'wbcr_factory_clearfy_220') ?></h4>
292
  </div>
293
  </div>
294
  <?php endif; ?>
298
  <a href="<?php echo $this->plugin->get_support()->get_pricing_url(true, 'license_page'); ?>"
299
  class="purchase-premium" target="_blank" rel="noopener">
300
  <span class="btn btn-gold btn-inner-wrap">
301
+ <?php _e('Upgrade to Premium', 'wbcr_factory_clearfy_220') ?>
302
  </span>
303
  </a>
304
+ <p><?php printf(__('Your current license for %1$s:', 'wbcr_factory_clearfy_220'), $this->plugin->getPluginTitle()) ?></p>
305
  <?php endif; ?>
306
  <div class="license-details-block <?= $this->get_license_type() ?>-details-block">
307
  <?php if( $this->is_premium ): ?>
308
  <a data-action="deactivate" href="#"
309
  class="btn btn-default btn-small license-delete-button wcl-control-btn">
310
+ <?php _e('Delete Key', 'wbcr_factory_clearfy_220') ?>
311
  </a>
312
  <a data-action="sync" href="#"
313
  class="btn btn-default btn-small license-synchronization-button wcl-control-btn">
314
+ <?php _e('Synchronization', 'wbcr_factory_clearfy_220') ?>
315
  </a>
316
  <?php endif; ?>
317
  <h3>
330
  <?php endif; ?>
331
  <div class="license-key-description">
332
  <?php if( !$this->is_premium ): ?>
333
+ <p><?php _e('Public License is a GPLv3 compatible license allowing you to change and use this version of the plugin for free. Please keep in mind this license covers only free edition of the plugin. Premium versions are distributed with other type of a license.', 'wbcr_factory_clearfy_220') ?></p>
334
  <?php else: ?>
335
+ <p><?php _e('Сommercial license, only to the premium add-on to this free plugin. You cannot distribute or modify the premium add-on. But free plugin is a GPLv3 compatible license allowing you to change and use this version of the plugin for free.', 'wbcr_factory_clearfy_220') ?></p>
336
  <?php endif; ?>
337
  <?php if( $this->is_premium && $this->premium_has_subscription ): ?>
338
  <p class="activate-trial-hint">
339
+ <?php _e('You use a paid subscription for the plugin updates. In case you don’t want to receive paid updates, please, click <a data-action="unsubscribe" class="wcl-control-btn" href="#">cancel subscription</a>', 'wbcr_factory_clearfy_220') ?>
340
  </p>
341
  <?php endif; ?>
342
 
343
  <?php if( $this->get_license_type() == 'trial' ): ?>
344
  <p class="activate-error-hint">
345
+ <?php printf(__('Your license has expired, please extend the license to get updates and support.', 'wbcr_factory_clearfy_220'), '') ?>
346
  </p>
347
  <?php endif; ?>
348
  </div>
350
  <tr>
351
  <!--<td class="license-param license-param-domain">
352
  <span class="license-value"><?php echo esc_attr($_SERVER['SERVER_NAME']); ?></span>
353
+ <span class="license-value-name"><?php _e('domain', 'wbcr_factory_clearfy_220') ?></span>
354
  </td>-->
355
  <td class="license-param license-param-days">
356
  <span class="license-value"><?= $this->get_plan() ?></span>
357
+ <span class="license-value-name"><?php _e('plan', 'wbcr_factory_clearfy_220') ?></span>
358
  </td>
359
  <?php if( $this->is_premium ) : ?>
360
  <td class="license-param license-param-sites">
361
  <span class="license-value">
362
  <?php echo esc_attr($this->premium_license->get_count_active_sites()); ?>
363
+ <?php _e('of', 'wbcr_factory_clearfy_220') ?>
364
  <?php echo esc_attr($this->premium_license->get_sites_quota()); ?></span>
365
+ <span class="license-value-name"><?php _e('active sites', 'wbcr_factory_clearfy_220') ?></span>
366
  </td>
367
  <?php endif; ?>
368
  <td class="license-param license-param-version">
372
  <?php if( $this->is_premium ): ?>
373
  <td class="license-param license-param-days">
374
  <?php if( $this->get_license_type() == 'trial' ): ?>
375
+ <span class="license-value"><?php _e('EXPIRED!', 'wbcr_factory_clearfy_220') ?></span>
376
+ <span class="license-value-name"><?php _e('please update the key', 'wbcr_factory_clearfy_220') ?></span>
377
  <?php else: ?>
378
  <span class="license-value">
379
  <?php
383
  echo $this->get_expiration_days();
384
  }
385
  ?>
386
+ <small> <?php _e('day(s)', 'wbcr_factory_clearfy_220') ?></small>
387
  </span>
388
+ <span class="license-value-name"><?php _e('remained', 'wbcr_factory_clearfy_220') ?></span>
389
  <?php endif; ?>
390
  </td>
391
  <?php endif; ?>
396
  <div class="license-input">
397
  <form action="" method="post">
398
  <?php if($this->is_premium): ?>
399
+ <p><?php _e('Have a key to activate the premium version? Paste it here:', 'wbcr_factory_clearfy_220') ?><p>
400
  <?php else: ?>
401
+ <p><?php _e('Have a key to activate the plugin? Paste it here:', 'wbcr_factory_clearfy_220') ?>
402
  <p>
403
  <?php endif; ?>
404
  <button data-action="activate" class="btn btn-default wcl-control-btn" type="button"
405
  id="license-submit">
406
+ <?php _e('Submit Key', 'wbcr_factory_clearfy_220') ?>
407
  </button>
408
  <div class="license-key-wrap">
409
  <input type="text" id="license-key" name="licensekey" value="" class="form-control"/>
libs/factory/clearfy/pages/class-page-more-features.php CHANGED
@@ -15,7 +15,7 @@ if ( ! defined( 'ABSPATH' ) ) {
15
  }
16
 
17
 
18
- class Wbcr_FactoryClearfy219_MoreFeaturesPage extends Wbcr_FactoryPages427_ImpressiveThemplate {
19
 
20
  /**
21
  * {@inheritDoc}
@@ -60,8 +60,8 @@ class Wbcr_FactoryClearfy219_MoreFeaturesPage extends Wbcr_FactoryPages427_Impre
60
  */
61
  public $internal = true;
62
 
63
- public function __construct( Wbcr_Factory427_Plugin $plugin ) {
64
- $this->menu_title = __( 'More features (<b>free</b>)', 'wbcr_factory_clearfy_219' );
65
 
66
  parent::__construct( $plugin );
67
 
@@ -74,7 +74,7 @@ class Wbcr_FactoryClearfy219_MoreFeaturesPage extends Wbcr_FactoryPages427_Impre
74
  * @return string
75
  */
76
  public function getPageTitle() {
77
- return __( 'More features', 'wbcr_factory_clearfy_219' );
78
  }
79
 
80
  /**
@@ -88,66 +88,66 @@ class Wbcr_FactoryClearfy219_MoreFeaturesPage extends Wbcr_FactoryPages427_Impre
88
  <div class="col-sm-4">
89
  <div class="wbcr-factory-feature-box">
90
  <span class="dashicons dashicons-yes"></span>
91
- <h3><?php _e( 'Code cleaning', 'wbcr_factory_clearfy_219' ) ?></h3>
92
- <p><?php _e( 'Clears the source code of the page from unused code.', 'wbcr_factory_clearfy_219' ) ?></p>
93
  </div>
94
  </div>
95
  <div class="col-sm-4">
96
  <div class="wbcr-factory-feature-box">
97
  <span class="dashicons dashicons-chart-bar"></span>
98
- <h3><?php _e( 'Improve SEO', 'wbcr_factory_clearfy_219' ) ?></h3>
99
- <p><?php _e( 'Removes duplicate pages, closes external links, changes the headers of the server.', 'wbcr_factory_clearfy_219' ) ?></p>
100
  </div>
101
  </div>
102
  <div class="col-sm-4">
103
  <div class="wbcr-factory-feature-box">
104
  <span class="dashicons dashicons-shield-alt"></span>
105
- <h3><?php _e( 'Site protection', 'wbcr_factory_clearfy_219' ) ?></h3>
106
- <p><?php _e( 'Enables and disables features that improve the protection of your site.', 'wbcr_factory_clearfy_219' ) ?></p>
107
  </div>
108
  </div>
109
  <div class="col-sm-4">
110
  <div class="wbcr-factory-feature-box">
111
  <span class="dashicons dashicons-welcome-comments"></span>
112
- <h3><?php _e( 'Disable comments', 'wbcr_factory_clearfy_219' ) ?></h3>
113
- <p><?php _e( 'Disables comments on the entire site or on specific pages.', 'wbcr_factory_clearfy_219' ) ?></p>
114
  </div>
115
  </div>
116
  <div class="col-sm-4">
117
  <div class="wbcr-factory-feature-box">
118
  <span class="dashicons dashicons-update"></span>
119
- <h3><?php _e( 'Manage updates', 'wbcr_factory_clearfy_219' ) ?></h3>
120
  <p><?php _e( 'Enables or disables automatically updates for plugins, themes and core. It is also possible
121
- to disable all updates.', 'wbcr_factory_clearfy_219' ) ?></p>
122
  </div>
123
  </div>
124
  <div class="col-sm-4">
125
  <div class="wbcr-factory-feature-box">
126
  <span class="dashicons dashicons-admin-plugins"></span>
127
- <h3><?php _e( 'Manage widgets', 'wbcr_factory_clearfy_219' ) ?></h3>
128
- <p><?php _e( 'Allows you to remove unused widgets.', 'wbcr_factory_clearfy_219' ) ?></p>
129
  </div>
130
  </div>
131
  <div class="col-sm-4">
132
  <div class="wbcr-factory-feature-box">
133
  <span class="dashicons dashicons-dashboard"></span>
134
- <h3><?php _e( 'Speed Optimization', 'wbcr_factory_clearfy_219' ) ?></h3>
135
- <p><?php _e( 'Increases performance by disabling unused functions and reducing the number of requests.', 'wbcr_factory_clearfy_219' ) ?></p>
136
  </div>
137
  </div>
138
  <div class="col-sm-4">
139
  <div class="wbcr-factory-feature-box">
140
  <span class="dashicons dashicons-visibility"></span>
141
- <h3><?php _e( 'Site privacy', 'wbcr_factory_clearfy_219' ) ?></h3>
142
  <p><?php _e( 'Allows you to hide the version of the site and plugins. Allows you to hide your
143
- WordPress.', 'wbcr_factory_clearfy_219' ) ?></p>
144
  </div>
145
  </div>
146
  <div class="col-sm-4">
147
  <div class="wbcr-factory-feature-box">
148
  <span class="dashicons dashicons-admin-settings"></span>
149
- <h3><?php _e( 'Easy setup', 'wbcr_factory_clearfy_219' ) ?></h3>
150
- <p><?php _e( 'In quick mode, you can easily configure the plugin according to your needs.', 'wbcr_factory_clearfy_219' ) ?></p>
151
  </div>
152
  </div>
153
  </div>
@@ -161,7 +161,7 @@ class Wbcr_FactoryClearfy219_MoreFeaturesPage extends Wbcr_FactoryPages427_Impre
161
  $url .= '?utm_source=wordpress.org&utm_campaign=' . $this->plugin->getPluginName();
162
  ?>
163
  <a href="<?= $url ?>" class="wbcr-factory-premium-button" target="_blank">
164
- <?php _e( 'Get the ultimate plugin 100% FREE', 'wbcr_factory_clearfy_219' ) ?>
165
  </a>
166
  </div>
167
  <?php
15
  }
16
 
17
 
18
+ class Wbcr_FactoryClearfy220_MoreFeaturesPage extends Wbcr_FactoryPages428_ImpressiveThemplate {
19
 
20
  /**
21
  * {@inheritDoc}
60
  */
61
  public $internal = true;
62
 
63
+ public function __construct( Wbcr_Factory428_Plugin $plugin ) {
64
+ $this->menu_title = __( 'More features (<b>free</b>)', 'wbcr_factory_clearfy_220' );
65
 
66
  parent::__construct( $plugin );
67
 
74
  * @return string
75
  */
76
  public function getPageTitle() {
77
+ return __( 'More features', 'wbcr_factory_clearfy_220' );
78
  }
79
 
80
  /**
88
  <div class="col-sm-4">
89
  <div class="wbcr-factory-feature-box">
90
  <span class="dashicons dashicons-yes"></span>
91
+ <h3><?php _e( 'Code cleaning', 'wbcr_factory_clearfy_220' ) ?></h3>
92
+ <p><?php _e( 'Clears the source code of the page from unused code.', 'wbcr_factory_clearfy_220' ) ?></p>
93
  </div>
94
  </div>
95
  <div class="col-sm-4">
96
  <div class="wbcr-factory-feature-box">
97
  <span class="dashicons dashicons-chart-bar"></span>
98
+ <h3><?php _e( 'Improve SEO', 'wbcr_factory_clearfy_220' ) ?></h3>
99
+ <p><?php _e( 'Removes duplicate pages, closes external links, changes the headers of the server.', 'wbcr_factory_clearfy_220' ) ?></p>
100
  </div>
101
  </div>
102
  <div class="col-sm-4">
103
  <div class="wbcr-factory-feature-box">
104
  <span class="dashicons dashicons-shield-alt"></span>
105
+ <h3><?php _e( 'Site protection', 'wbcr_factory_clearfy_220' ) ?></h3>
106
+ <p><?php _e( 'Enables and disables features that improve the protection of your site.', 'wbcr_factory_clearfy_220' ) ?></p>
107
  </div>
108
  </div>
109
  <div class="col-sm-4">
110
  <div class="wbcr-factory-feature-box">
111
  <span class="dashicons dashicons-welcome-comments"></span>
112
+ <h3><?php _e( 'Disable comments', 'wbcr_factory_clearfy_220' ) ?></h3>
113
+ <p><?php _e( 'Disables comments on the entire site or on specific pages.', 'wbcr_factory_clearfy_220' ) ?></p>
114
  </div>
115
  </div>
116
  <div class="col-sm-4">
117
  <div class="wbcr-factory-feature-box">
118
  <span class="dashicons dashicons-update"></span>
119
+ <h3><?php _e( 'Manage updates', 'wbcr_factory_clearfy_220' ) ?></h3>
120
  <p><?php _e( 'Enables or disables automatically updates for plugins, themes and core. It is also possible
121
+ to disable all updates.', 'wbcr_factory_clearfy_220' ) ?></p>
122
  </div>
123
  </div>
124
  <div class="col-sm-4">
125
  <div class="wbcr-factory-feature-box">
126
  <span class="dashicons dashicons-admin-plugins"></span>
127
+ <h3><?php _e( 'Manage widgets', 'wbcr_factory_clearfy_220' ) ?></h3>
128
+ <p><?php _e( 'Allows you to remove unused widgets.', 'wbcr_factory_clearfy_220' ) ?></p>
129
  </div>
130
  </div>
131
  <div class="col-sm-4">
132
  <div class="wbcr-factory-feature-box">
133
  <span class="dashicons dashicons-dashboard"></span>
134
+ <h3><?php _e( 'Speed Optimization', 'wbcr_factory_clearfy_220' ) ?></h3>
135
+ <p><?php _e( 'Increases performance by disabling unused functions and reducing the number of requests.', 'wbcr_factory_clearfy_220' ) ?></p>
136
  </div>
137
  </div>
138
  <div class="col-sm-4">
139
  <div class="wbcr-factory-feature-box">
140
  <span class="dashicons dashicons-visibility"></span>
141
+ <h3><?php _e( 'Site privacy', 'wbcr_factory_clearfy_220' ) ?></h3>
142
  <p><?php _e( 'Allows you to hide the version of the site and plugins. Allows you to hide your
143
+ WordPress.', 'wbcr_factory_clearfy_220' ) ?></p>
144
  </div>
145
  </div>
146
  <div class="col-sm-4">
147
  <div class="wbcr-factory-feature-box">
148
  <span class="dashicons dashicons-admin-settings"></span>
149
+ <h3><?php _e( 'Easy setup', 'wbcr_factory_clearfy_220' ) ?></h3>
150
+ <p><?php _e( 'In quick mode, you can easily configure the plugin according to your needs.', 'wbcr_factory_clearfy_220' ) ?></p>
151
  </div>
152
  </div>
153
  </div>
161
  $url .= '?utm_source=wordpress.org&utm_campaign=' . $this->plugin->getPluginName();
162
  ?>
163
  <a href="<?= $url ?>" class="wbcr-factory-premium-button" target="_blank">
164
+ <?php _e( 'Get the ultimate plugin 100% FREE', 'wbcr_factory_clearfy_220' ) ?>
165
  </a>
166
  </div>
167
  <?php
libs/factory/clearfy/pages/class-pages.php CHANGED
@@ -9,20 +9,20 @@
9
  */
10
 
11
  // Exit if accessed directly
12
- if ( ! defined( 'ABSPATH' ) ) {
13
  exit;
14
  }
15
 
16
  /**
17
- * Class Wbcr_FactoryPages427_ImpressiveThemplate
18
  *
19
  * @method string getInfoWidget() - get widget content information
20
- * @method string getRatingWidget( array $args = [] ) - get widget content rating
21
  * @method string getDonateWidget() - get widget content donate
22
  * @method string getBusinessSuggetionWidget()
23
  * @method string getSupportWidget
24
  */
25
- class Wbcr_FactoryClearfy219_PageBase extends Wbcr_FactoryPages427_ImpressiveThemplate {
26
 
27
  /**
28
  * {@inheritDoc}
@@ -49,10 +49,23 @@ class Wbcr_FactoryClearfy219_PageBase extends Wbcr_FactoryPages427_ImpressiveThe
49
  public $internal = true;
50
 
51
  /**
52
- * @param Wbcr_Factory427_Plugin $plugin
 
 
 
 
 
 
 
 
53
  */
54
- public function __construct( Wbcr_Factory427_Plugin $plugin ) {
55
- parent::__construct( $plugin );
 
 
 
 
 
56
  }
57
 
58
  /**
@@ -61,13 +74,14 @@ class Wbcr_FactoryClearfy219_PageBase extends Wbcr_FactoryPages427_ImpressiveThe
61
  *
62
  * @return null|string
63
  */
64
- public function __call( $name, $arguments ) {
65
- if ( substr( $name, 0, 3 ) == 'get' ) {
66
- $called_method_name = 'show' . substr( $name, 3 );
67
- if ( method_exists( $this, $called_method_name ) ) {
 
68
  ob_start();
69
 
70
- $this->$called_method_name( $arguments );
71
  $content = ob_get_contents();
72
  ob_end_clean();
73
 
@@ -81,28 +95,31 @@ class Wbcr_FactoryClearfy219_PageBase extends Wbcr_FactoryPages427_ImpressiveThe
81
  /**
82
  * Requests assets (js and css) for the page.
83
  *
84
- * @param Wbcr_Factory427_ScriptList $scripts
85
- * @param Wbcr_Factory427_StyleList $styles
86
  *
87
  * @return void
88
- * @see Wbcr_FactoryPages427_AdminPage
89
  *
90
  */
91
- public function assets( $scripts, $styles ) {
92
- parent::assets( $scripts, $styles );
 
93
 
94
- $this->styles->add( FACTORY_CLEARFY_219_URL . '/assets/css/clearfy-base.css' );
95
 
96
  // todo: вынести все общие скрипты и стили фреймворка, продумать совместимость с другими плагинами
97
- if ( defined( 'WCL_PLUGIN_URL' ) ) {
98
- $this->styles->add( WCL_PLUGIN_URL . '/admin/assets/css/general.css' );
99
  }
100
 
101
- wbcr_factory_427_do_action_deprecated( 'wbcr_clearfy_page_enqueue_scripts', [
102
- $this->getResultId(),
103
- $scripts,
104
- $styles
105
- ], '1.4.0', 'wbcr/clearfy/page_assets' );
 
 
106
 
107
  /**
108
  * Allows you to enqueue scripts to the internal pages of the plugin.
@@ -110,13 +127,14 @@ class Wbcr_FactoryClearfy219_PageBase extends Wbcr_FactoryPages427_ImpressiveThe
110
  *
111
  * @since 2.0.5
112
  */
113
- do_action( 'wbcr/clearfy/page_assets', $this->getResultId(), $scripts, $styles );
114
  }
115
 
116
  /**
117
- * @return Wbcr_Factory427_Request
118
  */
119
- public function request() {
 
120
  return $this->plugin->request;
121
  }
122
 
@@ -128,8 +146,9 @@ class Wbcr_FactoryClearfy219_PageBase extends Wbcr_FactoryPages427_ImpressiveThe
128
  * @since 2.0.5
129
  *
130
  */
131
- public function getPopulateOption( $option_name, $default = false ) {
132
- return $this->plugin->getPopulateOption( $option_name, $default );
 
133
  }
134
 
135
  /**
@@ -138,8 +157,9 @@ class Wbcr_FactoryClearfy219_PageBase extends Wbcr_FactoryPages427_ImpressiveThe
138
  *
139
  * @return mixed|void
140
  */
141
- public function getOption( $option_name, $default = false ) {
142
- return $this->plugin->getOption( $option_name, $default );
 
143
  }
144
 
145
  /**
@@ -148,8 +168,9 @@ class Wbcr_FactoryClearfy219_PageBase extends Wbcr_FactoryPages427_ImpressiveThe
148
  *
149
  * @return void
150
  */
151
- public function updatePopulateOption( $option_name, $value ) {
152
- $this->plugin->updatePopulateOption( $option_name, $value );
 
153
  }
154
 
155
  /**
@@ -158,8 +179,9 @@ class Wbcr_FactoryClearfy219_PageBase extends Wbcr_FactoryPages427_ImpressiveThe
158
  *
159
  * @return void
160
  */
161
- public function updateOption( $option_name, $value ) {
162
- $this->plugin->updateOption( $option_name, $value );
 
163
  }
164
 
165
  /**
@@ -167,8 +189,9 @@ class Wbcr_FactoryClearfy219_PageBase extends Wbcr_FactoryPages427_ImpressiveThe
167
  *
168
  * @return void
169
  */
170
- public function deletePopulateOption( $option_name ) {
171
- $this->plugin->deletePopulateOption( $option_name );
 
172
  }
173
 
174
  /**
@@ -176,8 +199,9 @@ class Wbcr_FactoryClearfy219_PageBase extends Wbcr_FactoryPages427_ImpressiveThe
176
  *
177
  * @return void
178
  */
179
- public function deleteOption( $option_name ) {
180
- $this->plugin->deleteOption( $option_name );
 
181
  }
182
 
183
  /**
@@ -185,35 +209,36 @@ class Wbcr_FactoryClearfy219_PageBase extends Wbcr_FactoryPages427_ImpressiveThe
185
  *
186
  * @return mixed|void
187
  */
188
- protected function getPageWidgets( $position = 'bottom' ) {
 
189
  $widgets = [];
190
 
191
- if ( $position == 'bottom' ) {
192
- $widgets['info_widget'] = $this->getInfoWidget();
193
- $widgets['rating_widget'] = $this->getRatingWidget();
194
  $widgets['support_widget'] = $this->getSupportWidget();
195
  //$widgets['donate_widget'] = $this->getDonateWidget();
196
- } else if ( $position == 'right' ) {
197
  $widgets['business_suggetion'] = $this->getBusinessSuggetionWidget();
198
- $widgets['info_widget'] = $this->getInfoWidget();
199
- $widgets['rating_widget'] = $this->getRatingWidget();
200
  }
201
 
202
  /**
203
  * @since 4.0.9 - является устаревшим
204
  */
205
- $widgets = wbcr_factory_427_apply_filters_deprecated( 'wbcr_factory_pages_427_imppage_get_widgets', [
206
  $widgets,
207
  $position,
208
  $this->plugin,
209
  $this
210
- ], '4.0.9', 'wbcr/factory/pages/impressive/widgets' );
211
 
212
  /**
213
  * @since 4.0.1 - добавлен
214
  * @since 4.0.9 - изменено имя
215
  */
216
- $widgets = apply_filters( 'wbcr/factory/pages/impressive/widgets', $widgets, $position, $this->plugin, $this );
217
 
218
  return $widgets;
219
  }
@@ -224,59 +249,60 @@ class Wbcr_FactoryClearfy219_PageBase extends Wbcr_FactoryPages427_ImpressiveThe
224
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
225
  * @since 2.0.2
226
  */
227
- public function showBusinessSuggetionWidget() {
228
- $plugin_name = $this->plugin->getPluginName();
 
229
  $upgrade_price = $this->plugin->has_premium() ? $this->plugin->premium->get_price() : 0;
230
- $purchase_url = $this->plugin->get_support()->get_pricing_url( true, 'right_sidebar_ads' );
231
 
232
  $default_features = [
233
- '4_premium' => __( '4 premium components now;', 'wbcr_factory_clearfy_219' ),
234
- '40_premium' => __( '40 new premium components within a year for the single price;', 'wbcr_factory_clearfy_219' ),
235
- 'multisite_support' => __( 'Multisite support;', 'wbcr_factory_clearfy_219' ),
236
- 'advance_settings' => __( 'Advanced settings;', 'wbcr_factory_clearfy_219' ),
237
- 'no_ads' => __( 'No ads;', 'wbcr_factory_clearfy_219' ),
238
- 'perfect_support' => __( 'Perfect support.', 'wbcr_factory_clearfy_219' )
239
  ];
240
 
241
  /**
242
  * @since 2.0.8 - added
243
  */
244
- $suggetion_title = __( 'MORE IN CLEARFY <span>BUSINESS</span>', 'wbcr_factory_clearfy_219' );
245
- $suggetion_title = apply_filters( 'wbcr/clearfy/pages/suggetion_title', $suggetion_title, $plugin_name, $this->id );
246
 
247
  /**
248
  * @since 2.0.8 - deprecated
249
  */
250
- $suggetion_features = wbcr_factory_427_apply_filters_deprecated( 'wbcr/clearfy/page_bussines_suggetion_features', [
251
  $default_features,
252
  $this->plugin->getPluginName(),
253
  $this->id
254
- ], '2.0.8', 'wbcr/clearfy/pages/suggetion_features' );
255
 
256
  /**
257
  * @since 2.0.8 - renamed
258
  * @since 2.0.6
259
  */
260
- $suggetion_features = apply_filters( 'wbcr/clearfy/pages/suggetion_features', $suggetion_features, $plugin_name, $this->id );
261
 
262
- if ( empty( $suggetion_features ) ) {
263
  $suggetion_features = $default_features;
264
  }
265
  ?>
266
- <div class="wbcr-factory-sidebar-widget wbcr-factory-clearfy-219-pro-suggettion">
267
- <h3><?php echo $suggetion_title; ?></h3>
268
- <ul>
269
- <?php if ( ! empty( $suggetion_features ) ): ?>
270
- <?php foreach ( $suggetion_features as $feature ): ?>
271
- <li><?= $feature ?></li>
272
  <?php endforeach; ?>
273
  <?php endif; ?>
274
- </ul>
275
- <a href="<?php echo $purchase_url ?>" class="wbcr-factory-purchase-premium" target="_blank"
276
- rel="noopener">
277
- <?php printf( __( 'Upgrade for $%s', 'wbcr_factory_clearfy_219' ), $upgrade_price ) ?>
278
- </a>
279
- </div>
280
  <?php
281
  }
282
 
@@ -286,35 +312,36 @@ class Wbcr_FactoryClearfy219_PageBase extends Wbcr_FactoryPages427_ImpressiveThe
286
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
287
  * @since 2.0.0
288
  */
289
- public function showInfoWidget() {
 
290
  ?>
291
- <div class="wbcr-factory-sidebar-widget">
292
- <ul>
293
- <li>
294
  <span class="wbcr-factory-hint-icon-simple wbcr-factory-simple-red">
295
  <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC"
296
- alt=""/>
297
  </span>
298
- - <?php _e( 'A neutral setting that can not harm your site, but you must be sure that you need to use it.', 'wbcr_factory_clearfy_219' ); ?>
299
- </li>
300
- <li>
301
  <span class="wbcr-factory-hint-icon-simple wbcr-factory-simple-grey">
302
  <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC"
303
- alt=""/>
304
  </span>
305
- - <?php _e( 'When set this option, you must be careful. Plugins and themes may depend on this function. You must be sure that you can disable this feature for the site.', 'wbcr_factory_clearfy_219' ); ?>
306
- </li>
307
- <li>
308
  <span class="wbcr-factory-hint-icon-simple wbcr-factory-simple-green">
309
  <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC"
310
- alt=""/>
311
  </span>
312
- - <?php _e( 'Absolutely safe setting, We recommend to use.', 'wbcr_factory_clearfy_219' ); ?>
313
- </li>
314
- </ul>
315
- ----------<br>
316
- <p><?php _e( 'Hover to the icon to get help for the feature you selected.', 'wbcr_factory_clearfy_219' ); ?></p>
317
- </div>
318
  <?php
319
  }
320
 
@@ -327,29 +354,30 @@ class Wbcr_FactoryClearfy219_PageBase extends Wbcr_FactoryPages427_ImpressiveThe
327
  *
328
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
329
  */
330
- public function showRatingWidget( array $args ) {
331
- if ( ! isset( $args[0] ) || empty( $args[0] ) ) {
 
332
  $page_url = "https://goo.gl/tETE2X";
333
  } else {
334
  $page_url = $args[0];
335
  }
336
 
337
- $page_url = apply_filters( 'wbcr_factory_pages_427_imppage_rating_widget_url', $page_url, $this->plugin->getPluginName(), $this->getResultId() );
338
 
339
  ?>
340
- <div class="wbcr-factory-sidebar-widget">
341
- <p>
342
- <strong><?php _e( 'Do you want the plugin to improved and update?', 'wbcr_factory_clearfy_219' ); ?></strong>
343
- </p>
344
- <p><?php _e( 'Help the author, leave a review on wordpress.org. Thanks to feedback, I will know that the plugin is really useful to you and is needed.', 'wbcr_factory_clearfy_219' ); ?></p>
345
- <p><?php _e( 'And also write your ideas on how to extend or improve the plugin.', 'wbcr_factory_clearfy_219' ); ?></p>
346
- <p>
347
- <i class="wbcr-factory-icon-5stars"></i>
348
- <a href="<?= $page_url ?>" title="Go rate us" target="_blank">
349
- <strong><?php _e( 'Go rate us and push ideas', 'wbcr_factory_clearfy_219' ); ?></strong>
350
- </a>
351
- </p>
352
- </div>
353
  <?php
354
  }
355
 
@@ -359,27 +387,28 @@ class Wbcr_FactoryClearfy219_PageBase extends Wbcr_FactoryPages427_ImpressiveThe
359
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
360
  * @since 2.0.0
361
  */
362
- public function showDonateWidget() {
 
363
  ?>
364
- <div class="wbcr-factory-sidebar-widget">
365
- <p>
366
- <strong><?php _e( 'Donation for plugin development', 'wbcr_factory_clearfy_219' ); ?></strong>
367
- </p>
368
- <?php if ( get_locale() !== 'ru_RU' ): ?>
369
- <form id="wbcr-factory-paypal-donation-form" action="https://www.paypal.com/cgi-bin/webscr"
370
- method="post" target="_blank">
371
- <input type="hidden" name="cmd" value="_s-xclick">
372
- <input type="hidden" name="hosted_button_id" value="VDX7JNTQPNPFW">
373
- <div class="wbcr-factory-donation-price">5$</div>
374
- <input type="image" src="<?= FACTORY_PAGES_427_URL ?>/templates/assets/img/paypal-donate.png"
375
- border="0" name="submit" alt="PayPal – The safer, easier way to pay online!">
376
- </form>
377
  <?php else: ?>
378
- <iframe frameborder="0" allowtransparency="true" scrolling="no"
379
- src="https://money.yandex.ru/embed/donate.xml?account=410011242846510&quickpay=donate&payment-type-choice=on&mobile-payment-type-choice=on&default-sum=300&targets=%D0%9D%D0%B0+%D0%BF%D0%BE%D0%B4%D0%B4%D0%B5%D1%80%D0%B6%D0%BA%D1%83+%D0%BF%D0%BB%D0%B0%D0%B3%D0%B8%D0%BD%D0%B0+%D0%B8+%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D1%83+%D0%BD%D0%BE%D0%B2%D1%8B%D1%85+%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9.+&target-visibility=on&project-name=Webcraftic&project-site=&button-text=05&comment=on&hint=%D0%9A%D0%B0%D0%BA%D1%83%D1%8E+%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8E+%D0%BD%D1%83%D0%B6%D0%BD%D0%BE+%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%B8%D1%82%D1%8C+%D0%B2+%D0%BF%D0%BB%D0%B0%D0%B3%D0%B8%D0%BD%3F&mail=on&successURL="
380
- width="508" height="187"></iframe>
381
  <?php endif; ?>
382
- </div>
383
  <?php
384
  }
385
 
@@ -389,29 +418,67 @@ class Wbcr_FactoryClearfy219_PageBase extends Wbcr_FactoryPages427_ImpressiveThe
389
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
390
  * @since 2.0.8
391
  */
392
- public function showSupportWidget() {
 
393
  $free_support_url = $this->plugin->get_support()->get_contacts_url();
394
- $hot_support_url = $this->plugin->get_support()->get_site_url() . '/other-questions-support';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
395
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
396
  ?>
397
- <div id="wbcr-clr-support-widget" class="wbcr-factory-sidebar-widget">
398
- <p><strong><?php _e( 'Having Issues?', 'clearfy' ); ?></strong></p>
399
- <div class="wbcr-clr-support-widget-body">
400
- <p>
401
- <?php _e( 'We provide free support for this plugin. If you are pushed with a problem, just create a new ticket. We will definitely help you!', 'clearfy' ); ?>
402
- </p>
403
- <ul>
404
- <li><span class="dashicons dashicons-sos"></span>
405
- <a href="<?= $free_support_url ?>" target="_blank"
406
- rel="noopener"><?php _e( 'Get starting free support', 'clearfy' ); ?></a>
407
- </li>
408
- <li style="margin-top: 15px;background: #fff4f1;padding: 10px;color: #a58074;">
409
- <span class="dashicons dashicons-warning"></span>
410
- <?php printf( __( 'If you find a php error or a vulnerability in plugin, you can <a href="%s" target="_blank" rel="noopener">create ticket</a> in hot support that we responded instantly.', 'clearfy' ), $hot_support_url ); ?>
411
- </li>
412
- </ul>
413
- </div>
414
- </div>
415
  <?php
416
  }
417
  }
9
  */
10
 
11
  // Exit if accessed directly
12
+ if( !defined('ABSPATH') ) {
13
  exit;
14
  }
15
 
16
  /**
17
+ * Class Wbcr_FactoryPages428_ImpressiveThemplate
18
  *
19
  * @method string getInfoWidget() - get widget content information
20
+ * @method string getRatingWidget(array $args = []) - get widget content rating
21
  * @method string getDonateWidget() - get widget content donate
22
  * @method string getBusinessSuggetionWidget()
23
  * @method string getSupportWidget
24
  */
25
+ class Wbcr_FactoryClearfy220_PageBase extends Wbcr_FactoryPages428_ImpressiveThemplate {
26
 
27
  /**
28
  * {@inheritDoc}
49
  public $internal = true;
50
 
51
  /**
52
+ * Show on the page a search form for search options of plugin?
53
+ *
54
+ * @since 2.2.0 - Added
55
+ * @var bool - true show, false hide
56
+ */
57
+ public $show_search_options_form = true;
58
+
59
+ /**
60
+ * @param Wbcr_Factory428_Plugin $plugin
61
  */
62
+ public function __construct(Wbcr_Factory428_Plugin $plugin)
63
+ {
64
+ parent::__construct($plugin);
65
+
66
+ if( $this->show_search_options_form && "options" === $this->type && "hide_my_wp" !== $this->id ) {
67
+ $this->register_options_to_search();
68
+ }
69
  }
70
 
71
  /**
74
  *
75
  * @return null|string
76
  */
77
+ public function __call($name, $arguments)
78
+ {
79
+ if( substr($name, 0, 3) == 'get' ) {
80
+ $called_method_name = 'show' . substr($name, 3);
81
+ if( method_exists($this, $called_method_name) ) {
82
  ob_start();
83
 
84
+ $this->$called_method_name($arguments);
85
  $content = ob_get_contents();
86
  ob_end_clean();
87
 
95
  /**
96
  * Requests assets (js and css) for the page.
97
  *
98
+ * @param Wbcr_Factory428_ScriptList $scripts
99
+ * @param Wbcr_Factory428_StyleList $styles
100
  *
101
  * @return void
102
+ * @see Wbcr_FactoryPages428_AdminPage
103
  *
104
  */
105
+ public function assets($scripts, $styles)
106
+ {
107
+ parent::assets($scripts, $styles);
108
 
109
+ $this->styles->add(FACTORY_CLEARFY_220_URL . '/assets/css/clearfy-base.css');
110
 
111
  // todo: вынести все общие скрипты и стили фреймворка, продумать совместимость с другими плагинами
112
+ if( defined('WCL_PLUGIN_URL') ) {
113
+ $this->styles->add(WCL_PLUGIN_URL . '/admin/assets/css/general.css');
114
  }
115
 
116
+ // Script for search form on plugin options
117
+ if( $this->show_search_options_form && "options" === $this->type ) {
118
+ $this->styles->add(FACTORY_CLEARFY_220_URL . '/assets/css/libs/autocomplete.css');
119
+
120
+ $this->scripts->add(FACTORY_CLEARFY_220_URL . '/assets/js/libs/jquery.autocomplete.min.js');
121
+ $this->scripts->add(FACTORY_CLEARFY_220_URL . '/assets/js/search-options.js');
122
+ }
123
 
124
  /**
125
  * Allows you to enqueue scripts to the internal pages of the plugin.
127
  *
128
  * @since 2.0.5
129
  */
130
+ do_action('wbcr/clearfy/page_assets', $this->getResultId(), $scripts, $styles);
131
  }
132
 
133
  /**
134
+ * @return Wbcr_Factory428_Request
135
  */
136
+ public function request()
137
+ {
138
  return $this->plugin->request;
139
  }
140
 
146
  * @since 2.0.5
147
  *
148
  */
149
+ public function getPopulateOption($option_name, $default = false)
150
+ {
151
+ return $this->plugin->getPopulateOption($option_name, $default);
152
  }
153
 
154
  /**
157
  *
158
  * @return mixed|void
159
  */
160
+ public function getOption($option_name, $default = false)
161
+ {
162
+ return $this->plugin->getOption($option_name, $default);
163
  }
164
 
165
  /**
168
  *
169
  * @return void
170
  */
171
+ public function updatePopulateOption($option_name, $value)
172
+ {
173
+ $this->plugin->updatePopulateOption($option_name, $value);
174
  }
175
 
176
  /**
179
  *
180
  * @return void
181
  */
182
+ public function updateOption($option_name, $value)
183
+ {
184
+ $this->plugin->updateOption($option_name, $value);
185
  }
186
 
187
  /**
189
  *
190
  * @return void
191
  */
192
+ public function deletePopulateOption($option_name)
193
+ {
194
+ $this->plugin->deletePopulateOption($option_name);
195
  }
196
 
197
  /**
199
  *
200
  * @return void
201
  */
202
+ public function deleteOption($option_name)
203
+ {
204
+ $this->plugin->deleteOption($option_name);
205
  }
206
 
207
  /**
209
  *
210
  * @return mixed|void
211
  */
212
+ protected function getPageWidgets($position = 'bottom')
213
+ {
214
  $widgets = [];
215
 
216
+ if( $position == 'bottom' ) {
217
+ $widgets['info_widget'] = $this->getInfoWidget();
218
+ $widgets['rating_widget'] = $this->getRatingWidget();
219
  $widgets['support_widget'] = $this->getSupportWidget();
220
  //$widgets['donate_widget'] = $this->getDonateWidget();
221
+ } else if( $position == 'right' ) {
222
  $widgets['business_suggetion'] = $this->getBusinessSuggetionWidget();
223
+ $widgets['info_widget'] = $this->getInfoWidget();
224
+ $widgets['rating_widget'] = $this->getRatingWidget();
225
  }
226
 
227
  /**
228
  * @since 4.0.9 - является устаревшим
229
  */
230
+ $widgets = wbcr_factory_428_apply_filters_deprecated('wbcr_factory_pages_428_imppage_get_widgets', [
231
  $widgets,
232
  $position,
233
  $this->plugin,
234
  $this
235
+ ], '4.0.9', 'wbcr/factory/pages/impressive/widgets');
236
 
237
  /**
238
  * @since 4.0.1 - добавлен
239
  * @since 4.0.9 - изменено имя
240
  */
241
+ $widgets = apply_filters('wbcr/factory/pages/impressive/widgets', $widgets, $position, $this->plugin, $this);
242
 
243
  return $widgets;
244
  }
249
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
250
  * @since 2.0.2
251
  */
252
+ public function showBusinessSuggetionWidget()
253
+ {
254
+ $plugin_name = $this->plugin->getPluginName();
255
  $upgrade_price = $this->plugin->has_premium() ? $this->plugin->premium->get_price() : 0;
256
+ $purchase_url = $this->plugin->get_support()->get_pricing_url(true, 'right_sidebar_ads');
257
 
258
  $default_features = [
259
+ '4_premium' => __('4 premium components now;', 'wbcr_factory_clearfy_220'),
260
+ '40_premium' => __('40 new premium components within a year for the single price;', 'wbcr_factory_clearfy_220'),
261
+ 'multisite_support' => __('Multisite support;', 'wbcr_factory_clearfy_220'),
262
+ 'advance_settings' => __('Advanced settings;', 'wbcr_factory_clearfy_220'),
263
+ 'no_ads' => __('No ads;', 'wbcr_factory_clearfy_220'),
264
+ 'perfect_support' => __('Perfect support.', 'wbcr_factory_clearfy_220')
265
  ];
266
 
267
  /**
268
  * @since 2.0.8 - added
269
  */
270
+ $suggetion_title = __('MORE IN CLEARFY <span>BUSINESS</span>', 'wbcr_factory_clearfy_220');
271
+ $suggetion_title = apply_filters('wbcr/clearfy/pages/suggetion_title', $suggetion_title, $plugin_name, $this->id);
272
 
273
  /**
274
  * @since 2.0.8 - deprecated
275
  */
276
+ $suggetion_features = wbcr_factory_428_apply_filters_deprecated('wbcr/clearfy/page_bussines_suggetion_features', [
277
  $default_features,
278
  $this->plugin->getPluginName(),
279
  $this->id
280
+ ], '2.0.8', 'wbcr/clearfy/pages/suggetion_features');
281
 
282
  /**
283
  * @since 2.0.8 - renamed
284
  * @since 2.0.6
285
  */
286
+ $suggetion_features = apply_filters('wbcr/clearfy/pages/suggetion_features', $suggetion_features, $plugin_name, $this->id);
287
 
288
+ if( empty($suggetion_features) ) {
289
  $suggetion_features = $default_features;
290
  }
291
  ?>
292
+ <div class="wbcr-factory-sidebar-widget wbcr-factory-clearfy-220-pro-suggettion">
293
+ <h3><?php echo $suggetion_title; ?></h3>
294
+ <ul>
295
+ <?php if( !empty($suggetion_features) ): ?>
296
+ <?php foreach($suggetion_features as $feature): ?>
297
+ <li><?= $feature ?></li>
298
  <?php endforeach; ?>
299
  <?php endif; ?>
300
+ </ul>
301
+ <a href="<?php echo $purchase_url ?>" class="wbcr-factory-purchase-premium" target="_blank"
302
+ rel="noopener">
303
+ <?php printf(__('Upgrade for $%s', 'wbcr_factory_clearfy_220'), $upgrade_price) ?>
304
+ </a>
305
+ </div>
306
  <?php
307
  }
308
 
312
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
313
  * @since 2.0.0
314
  */
315
+ public function showInfoWidget()
316
+ {
317
  ?>
318
+ <div class="wbcr-factory-sidebar-widget">
319
+ <ul>
320
+ <li>
321
  <span class="wbcr-factory-hint-icon-simple wbcr-factory-simple-red">
322
  <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC"
323
+ alt=""/>
324
  </span>
325
+ - <?php _e('A neutral setting that can not harm your site, but you must be sure that you need to use it.', 'wbcr_factory_clearfy_220'); ?>
326
+ </li>
327
+ <li>
328
  <span class="wbcr-factory-hint-icon-simple wbcr-factory-simple-grey">
329
  <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC"
330
+ alt=""/>
331
  </span>
332
+ - <?php _e('When set this option, you must be careful. Plugins and themes may depend on this function. You must be sure that you can disable this feature for the site.', 'wbcr_factory_clearfy_220'); ?>
333
+ </li>
334
+ <li>
335
  <span class="wbcr-factory-hint-icon-simple wbcr-factory-simple-green">
336
  <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC"
337
+ alt=""/>
338
  </span>
339
+ - <?php _e('Absolutely safe setting, We recommend to use.', 'wbcr_factory_clearfy_220'); ?>
340
+ </li>
341
+ </ul>
342
+ ----------<br>
343
+ <p><?php _e('Hover to the icon to get help for the feature you selected.', 'wbcr_factory_clearfy_220'); ?></p>
344
+ </div>
345
  <?php
346
  }
347
 
354
  *
355
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
356
  */
357
+ public function showRatingWidget(array $args)
358
+ {
359
+ if( !isset($args[0]) || empty($args[0]) ) {
360
  $page_url = "https://goo.gl/tETE2X";
361
  } else {
362
  $page_url = $args[0];
363
  }
364
 
365
+ $page_url = apply_filters('wbcr_factory_pages_428_imppage_rating_widget_url', $page_url, $this->plugin->getPluginName(), $this->getResultId());
366
 
367
  ?>
368
+ <div class="wbcr-factory-sidebar-widget">
369
+ <p>
370
+ <strong><?php _e('Do you want the plugin to improved and update?', 'wbcr_factory_clearfy_220'); ?></strong>
371
+ </p>
372
+ <p><?php _e('Help the author, leave a review on wordpress.org. Thanks to feedback, I will know that the plugin is really useful to you and is needed.', 'wbcr_factory_clearfy_220'); ?></p>
373
+ <p><?php _e('And also write your ideas on how to extend or improve the plugin.', 'wbcr_factory_clearfy_220'); ?></p>
374
+ <p>
375
+ <i class="wbcr-factory-icon-5stars"></i>
376
+ <a href="<?= $page_url ?>" title="Go rate us" target="_blank">
377
+ <strong><?php _e('Go rate us and push ideas', 'wbcr_factory_clearfy_220'); ?></strong>
378
+ </a>
379
+ </p>
380
+ </div>
381
  <?php
382
  }
383
 
387
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
388
  * @since 2.0.0
389
  */
390
+ public function showDonateWidget()
391
+ {
392
  ?>
393
+ <div class="wbcr-factory-sidebar-widget">
394
+ <p>
395
+ <strong><?php _e('Donation for plugin development', 'wbcr_factory_clearfy_220'); ?></strong>
396
+ </p>
397
+ <?php if( get_locale() !== 'ru_RU' ): ?>
398
+ <form id="wbcr-factory-paypal-donation-form" action="https://www.paypal.com/cgi-bin/webscr"
399
+ method="post" target="_blank">
400
+ <input type="hidden" name="cmd" value="_s-xclick">
401
+ <input type="hidden" name="hosted_button_id" value="VDX7JNTQPNPFW">
402
+ <div class="wbcr-factory-donation-price">5$</div>
403
+ <input type="image" src="<?= FACTORY_PAGES_428_URL ?>/templates/assets/img/paypal-donate.png"
404
+ border="0" name="submit" alt="PayPal – The safer, easier way to pay online!">
405
+ </form>
406
  <?php else: ?>
407
+ <iframe frameborder="0" allowtransparency="true" scrolling="no"
408
+ src="https://money.yandex.ru/embed/donate.xml?account=410011242846510&quickpay=donate&payment-type-choice=on&mobile-payment-type-choice=on&default-sum=300&targets=%D0%9D%D0%B0+%D0%BF%D0%BE%D0%B4%D0%B4%D0%B5%D1%80%D0%B6%D0%BA%D1%83+%D0%BF%D0%BB%D0%B0%D0%B3%D0%B8%D0%BD%D0%B0+%D0%B8+%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D1%83+%D0%BD%D0%BE%D0%B2%D1%8B%D1%85+%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9.+&target-visibility=on&project-name=Webcraftic&project-site=&button-text=05&comment=on&hint=%D0%9A%D0%B0%D0%BA%D1%83%D1%8E+%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8E+%D0%BD%D1%83%D0%B6%D0%BD%D0%BE+%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%B8%D1%82%D1%8C+%D0%B2+%D0%BF%D0%BB%D0%B0%D0%B3%D0%B8%D0%BD%3F&mail=on&successURL="
409
+ width="508" height="187"></iframe>
410
  <?php endif; ?>
411
+ </div>
412
  <?php
413
  }
414
 
418
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
419
  * @since 2.0.8
420
  */
421
+ public function showSupportWidget()
422
+ {
423
  $free_support_url = $this->plugin->get_support()->get_contacts_url();
424
+ $hot_support_url = $this->plugin->get_support()->get_site_url() . '/other-questions-support';
425
+
426
+ ?>
427
+ <div id="wbcr-clr-support-widget" class="wbcr-factory-sidebar-widget">
428
+ <p><strong><?php _e('Having Issues?', 'clearfy'); ?></strong></p>
429
+ <div class="wbcr-clr-support-widget-body">
430
+ <p>
431
+ <?php _e('We provide free support for this plugin. If you are pushed with a problem, just create a new ticket. We will definitely help you!', 'clearfy'); ?>
432
+ </p>
433
+ <ul>
434
+ <li><span class="dashicons dashicons-sos"></span>
435
+ <a href="<?= $free_support_url ?>" target="_blank"
436
+ rel="noopener"><?php _e('Get starting free support', 'clearfy'); ?></a>
437
+ </li>
438
+ <li style="margin-top: 15px;background: #fff4f1;padding: 10px;color: #a58074;">
439
+ <span class="dashicons dashicons-warning"></span>
440
+ <?php printf(__('If you find a php error or a vulnerability in plugin, you can <a href="%s" target="_blank" rel="noopener">create ticket</a> in hot support that we responded instantly.', 'clearfy'), $hot_support_url); ?>
441
+ </li>
442
+ </ul>
443
+ </div>
444
+ </div>
445
+ <?php
446
+ }
447
 
448
+ /**
449
+ * Registers page options in the options registry
450
+ *
451
+ * This will allow the user to search all the plugin options.
452
+ */
453
+ public function register_options_to_search()
454
+ {
455
+ require_once FACTORY_CLEARFY_220_DIR . '/includes/class-search-options.php';
456
+
457
+ $options = $this->getPageOptions();
458
+ $page_url = $this->getBaseUrl();
459
+ $page_id = $this->getResultId();
460
+
461
+ \WBCR\Factory_Clearfy_220\Search_Options::register_options($options, $page_url, $page_id);
462
+ }
463
+
464
+ /**
465
+ * Add search plugin options form to each option page
466
+ */
467
+ public function printAllNotices()
468
+ {
469
+ parent::printAllNotices(); // TODO: Change the autogenerated stub
470
+
471
+ if( 'page' === $this->type || !$this->show_search_options_form ) {
472
+ return;
473
+ }
474
  ?>
475
+ <div id="wbcr-factory-clearfy-220__search_options_form" class="wbcr-factory-clearfy-220__autocomplete-wrap">
476
+ <label for="autocomplete" class="wbcr-factory-clearfy-220__autocomplete-label">
477
+ <?php _e('Can\'t find the settings you need? Use the search by the plugin options:', 'wbcr_factory_clearfy_220'); ?>
478
+ </label>
479
+ <input type="text" name="country" id="wbcr-factory-clearfy-220__autocomplete"/>
480
+
481
+ </div>
 
 
 
 
 
 
 
 
 
 
 
482
  <?php
483
  }
484
  }
libs/factory/core/boot.php CHANGED
@@ -14,49 +14,49 @@ if( !defined('ABSPATH') ) {
14
  exit;
15
  }
16
 
17
- if( defined('FACTORY_427_LOADED') ) {
18
  return;
19
  }
20
 
21
- define('FACTORY_427_LOADED', true);
22
 
23
- define('FACTORY_427_VERSION', '4.2.7');
24
 
25
- define('FACTORY_427_DIR', dirname(__FILE__));
26
- define('FACTORY_427_URL', plugins_url(null, __FILE__));
27
 
28
- load_plugin_textdomain('wbcr_factory_427', false, dirname(plugin_basename(__FILE__)) . '/langs');
29
 
30
  #comp merge
31
- require_once(FACTORY_427_DIR . '/includes/functions.php');
32
 
33
- require_once(FACTORY_427_DIR . '/includes/entities/class-factory-paths.php');
34
- require_once(FACTORY_427_DIR . '/includes/entities/class-factory-support.php');
35
 
36
- require_once(FACTORY_427_DIR . '/includes/class-factory-requests.php');
37
- require_once(FACTORY_427_DIR . '/includes/class-factory-options.php');
38
- require_once(FACTORY_427_DIR . '/includes/class-factory-plugin-base.php');
39
- require_once(FACTORY_427_DIR . '/includes/class-factory-migrations.php');
40
- require_once(FACTORY_427_DIR . '/includes/class-factory-notices.php');
41
 
42
  // ASSETS
43
- require_once(FACTORY_427_DIR . '/includes/assets-managment/class-factory-assets-list.php');
44
- require_once(FACTORY_427_DIR . '/includes/assets-managment/class-factory-script-list.php');
45
- require_once(FACTORY_427_DIR . '/includes/assets-managment/class-factory-style-list.php');
46
 
47
  // PREMIUM
48
- require_once(FACTORY_427_DIR . '/includes/premium/class-factory-license-interface.php');
49
- require_once(FACTORY_427_DIR . '/includes/premium/class-factory-provider-abstract.php');
50
- require_once(FACTORY_427_DIR . '/includes/premium/class-factory-manager.php');
51
 
52
  // UPDATES
53
- require_once(FACTORY_427_DIR . '/includes/updates/repositories/class-factory-repository-abstract.php');
54
- require_once(FACTORY_427_DIR . '/includes/updates/repositories/class-factory-wordpress.php');
55
- require_once(FACTORY_427_DIR . '/includes/updates/class-factory-upgrader.php');
56
- require_once(FACTORY_427_DIR . '/includes/updates/class-factory-premium-upgrader.php');
57
 
58
- require_once(FACTORY_427_DIR . '/includes/class-factory-plugin-abstract.php');
59
 
60
- require_once(FACTORY_427_DIR . '/includes/activation/class-factory-activator.php');
61
- require_once(FACTORY_427_DIR . '/includes/activation/class-factory-update.php');
62
  #endcomp
14
  exit;
15
  }
16
 
17
+ if( defined('FACTORY_428_LOADED') ) {
18
  return;
19
  }
20
 
21
+ define('FACTORY_428_LOADED', true);
22
 
23
+ define('FACTORY_428_VERSION', '4.2.8');
24
 
25
+ define('FACTORY_428_DIR', dirname(__FILE__));
26
+ define('FACTORY_428_URL', plugins_url(null, __FILE__));
27
 
28
+ load_plugin_textdomain('wbcr_factory_428', false, dirname(plugin_basename(__FILE__)) . '/langs');
29
 
30
  #comp merge
31
+ require_once(FACTORY_428_DIR . '/includes/functions.php');
32
 
33
+ require_once(FACTORY_428_DIR . '/includes/entities/class-factory-paths.php');
34
+ require_once(FACTORY_428_DIR . '/includes/entities/class-factory-support.php');
35
 
36
+ require_once(FACTORY_428_DIR . '/includes/class-factory-requests.php');
37
+ require_once(FACTORY_428_DIR . '/includes/class-factory-options.php');
38
+ require_once(FACTORY_428_DIR . '/includes/class-factory-plugin-base.php');
39
+ require_once(FACTORY_428_DIR . '/includes/class-factory-migrations.php');
40
+ require_once(FACTORY_428_DIR . '/includes/class-factory-notices.php');
41
 
42
  // ASSETS
43
+ require_once(FACTORY_428_DIR . '/includes/assets-managment/class-factory-assets-list.php');
44
+ require_once(FACTORY_428_DIR . '/includes/assets-managment/class-factory-script-list.php');
45
+ require_once(FACTORY_428_DIR . '/includes/assets-managment/class-factory-style-list.php');
46
 
47
  // PREMIUM
48
+ require_once(FACTORY_428_DIR . '/includes/premium/class-factory-license-interface.php');
49
+ require_once(FACTORY_428_DIR . '/includes/premium/class-factory-provider-abstract.php');
50
+ require_once(FACTORY_428_DIR . '/includes/premium/class-factory-manager.php');
51
 
52
  // UPDATES
53
+ require_once(FACTORY_428_DIR . '/includes/updates/repositories/class-factory-repository-abstract.php');
54
+ require_once(FACTORY_428_DIR . '/includes/updates/repositories/class-factory-wordpress.php');
55
+ require_once(FACTORY_428_DIR . '/includes/updates/class-factory-upgrader.php');
56
+ require_once(FACTORY_428_DIR . '/includes/updates/class-factory-premium-upgrader.php');
57
 
58
+ require_once(FACTORY_428_DIR . '/includes/class-factory-plugin-abstract.php');
59
 
60
+ require_once(FACTORY_428_DIR . '/includes/activation/class-factory-activator.php');
61
+ require_once(FACTORY_428_DIR . '/includes/activation/class-factory-update.php');
62
  #endcomp
libs/factory/core/includes/activation/class-factory-activator.php CHANGED
@@ -19,16 +19,16 @@ if ( ! defined( 'ABSPATH' ) ) {
19
  *
20
  * @since 1.0.0
21
  */
22
- abstract class Wbcr_Factory427_Activator {
23
 
24
  /**
25
  * Curent plugin.
26
  *
27
- * @var Wbcr_Factory427_Plugin
28
  */
29
  public $plugin;
30
 
31
- public function __construct( Wbcr_Factory427_Plugin $plugin ) {
32
  $this->plugin = $plugin;
33
  }
34
 
19
  *
20
  * @since 1.0.0
21
  */
22
+ abstract class Wbcr_Factory428_Activator {
23
 
24
  /**
25
  * Curent plugin.
26
  *
27
+ * @var Wbcr_Factory428_Plugin
28
  */
29
  public $plugin;
30
 
31
+ public function __construct( Wbcr_Factory428_Plugin $plugin ) {
32
  $this->plugin = $plugin;
33
  }
34
 
libs/factory/core/includes/activation/class-factory-update.php CHANGED
@@ -20,16 +20,16 @@ if ( ! defined( 'ABSPATH' ) ) {
20
  *
21
  * @since 1.0.0
22
  */
23
- abstract class Wbcr_Factory427_Update {
24
 
25
  /**
26
  * Current plugin
27
  *
28
- * @var Wbcr_Factory427_Plugin
29
  */
30
  var $plugin;
31
 
32
- public function __construct( Wbcr_Factory427_Plugin $plugin ) {
33
  $this->plugin = $plugin;
34
  }
35
 
20
  *
21
  * @since 1.0.0
22
  */
23
+ abstract class Wbcr_Factory428_Update {
24
 
25
  /**
26
  * Current plugin
27
  *
28
+ * @var Wbcr_Factory428_Plugin
29
  */
30
  var $plugin;
31
 
32
+ public function __construct( Wbcr_Factory428_Plugin $plugin ) {
33
  $this->plugin = $plugin;
34
  }
35
 
libs/factory/core/includes/assets-managment/class-factory-assets-list.php CHANGED
@@ -19,7 +19,7 @@ if ( ! defined( 'ABSPATH' ) ) {
19
  *
20
  * @since 1.0.0
21
  */
22
- class Wbcr_Factory427_AssetsList {
23
 
24
  protected $all = [];
25
  public $header_place = [];
@@ -29,15 +29,15 @@ class Wbcr_Factory427_AssetsList {
29
  protected $default_place;
30
 
31
  /**
32
- * @var Wbcr_Factory427_Plugin
33
  */
34
  protected $plugin;
35
 
36
  /**
37
- * @param Wbcr_Factory427_Plugin $plugin
38
  * @param bool $defaultIsFooter
39
  */
40
- public function __construct( Wbcr_Factory427_Plugin $plugin, $defaultIsFooter = true ) {
41
  $this->plugin = $plugin;
42
 
43
  if ( $defaultIsFooter ) {
19
  *
20
  * @since 1.0.0
21
  */
22
+ class Wbcr_Factory428_AssetsList {
23
 
24
  protected $all = [];
25
  public $header_place = [];
29
  protected $default_place;
30
 
31
  /**
32
+ * @var Wbcr_Factory428_Plugin
33
  */
34
  protected $plugin;
35
 
36
  /**
37
+ * @param Wbcr_Factory428_Plugin $plugin
38
  * @param bool $defaultIsFooter
39
  */
40
+ public function __construct( Wbcr_Factory428_Plugin $plugin, $defaultIsFooter = true ) {
41
  $this->plugin = $plugin;
42
 
43
  if ( $defaultIsFooter ) {
libs/factory/core/includes/assets-managment/class-factory-script-list.php CHANGED
@@ -20,7 +20,7 @@ if ( ! defined( 'ABSPATH' ) ) {
20
  *
21
  * @since 1.0.0
22
  */
23
- class Wbcr_Factory427_ScriptList extends Wbcr_Factory427_AssetsList {
24
 
25
  public $localize_data = [];
26
  public $use_ajax = false;
@@ -149,7 +149,7 @@ class Wbcr_Factory427_ScriptList extends Wbcr_Factory427_AssetsList {
149
  * @param string $varname
150
  * @param string $data
151
  *
152
- * @return Wbcr_Factory427_ScriptList $this
153
  */
154
  public function localize( $varname, $data ) {
155
  $bindTo = count( $this->all ) == 0 ? null : end( $this->all );
20
  *
21
  * @since 1.0.0
22
  */
23
+ class Wbcr_Factory428_ScriptList extends Wbcr_Factory428_AssetsList {
24
 
25
  public $localize_data = [];
26
  public $use_ajax = false;
149
  * @param string $varname
150
  * @param string $data
151
  *
152
+ * @return Wbcr_Factory428_ScriptList $this
153
  */
154
  public function localize( $varname, $data ) {
155
  $bindTo = count( $this->all ) == 0 ? null : end( $this->all );
libs/factory/core/includes/assets-managment/class-factory-style-list.php CHANGED
@@ -20,7 +20,7 @@ if ( ! defined( 'ABSPATH' ) ) {
20
  *
21
  * @since 1.0.0
22
  */
23
- class Wbcr_Factory427_StyleList extends Wbcr_Factory427_AssetsList {
24
 
25
  /**
26
  * Adds new items to the collection (default place).
20
  *
21
  * @since 1.0.0
22
  */
23
+ class Wbcr_Factory428_StyleList extends Wbcr_Factory428_AssetsList {
24
 
25
  /**
26
  * Adds new items to the collection (default place).
libs/factory/core/includes/class-check-compatibility.php CHANGED
@@ -75,19 +75,19 @@ if ( ! class_exists( 'Wbcr_Factory_Compatibility' ) ) {
75
  $notice_text = $notice_default_text = '';
76
  $notice_default_text .= '<b>' . $this->plugin_title . ' ' . __( 'warning', '' ) . ':</b>' . '<br>';
77
 
78
- $notice_default_text .= sprintf( __( 'The %s plugin has stopped.', 'wbcr_factory_clearfy_219' ), $this->plugin_title ) . ' ';
79
  $notice_default_text .= __( 'Possible reasons:', '' ) . ' <br>';
80
 
81
  $has_one = false;
82
 
83
  if ( ! $this->isPhpCompatibility() ) {
84
  $has_one = true;
85
- $notice_text .= '- ' . sprintf( __( 'You need to update the PHP version to %s or higher!', 'wbcr_factory_427' ), $this->required_php_version ) . '<br>';
86
  }
87
 
88
  if ( ! $this->isWpCompatibility() ) {
89
  $has_one = true;
90
- $notice_text .= '- ' . sprintf( __( 'You need to update WordPress to %s or higher!', 'wbcr_factory_427' ), $this->required_wp_version ) . '<br>';
91
  }
92
 
93
  if ( $has_one ) {
75
  $notice_text = $notice_default_text = '';
76
  $notice_default_text .= '<b>' . $this->plugin_title . ' ' . __( 'warning', '' ) . ':</b>' . '<br>';
77
 
78
+ $notice_default_text .= sprintf( __( 'The %s plugin has stopped.', 'wbcr_factory_clearfy_220' ), $this->plugin_title ) . ' ';
79
  $notice_default_text .= __( 'Possible reasons:', '' ) . ' <br>';
80
 
81
  $has_one = false;
82
 
83
  if ( ! $this->isPhpCompatibility() ) {
84
  $has_one = true;
85
+ $notice_text .= '- ' . sprintf( __( 'You need to update the PHP version to %s or higher!', 'wbcr_factory_428' ), $this->required_php_version ) . '<br>';
86
  }
87
 
88
  if ( ! $this->isWpCompatibility() ) {
89
  $has_one = true;
90
+ $notice_text .= '- ' . sprintf( __( 'You need to update WordPress to %s or higher!', 'wbcr_factory_428' ), $this->required_wp_version ) . '<br>';
91
  }
92
 
93
  if ( $has_one ) {
libs/factory/core/includes/class-factory-migrations.php CHANGED
@@ -1,9 +1,9 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_427;
4
 
5
  use Exception;
6
- use Wbcr_Factory427_Plugin;
7
 
8
  if ( ! defined( 'ABSPATH' ) ) {
9
  exit;
@@ -35,11 +35,11 @@ class Migrations {
35
  /**
36
  * Migrations constructor.
37
  *
38
- * @param Wbcr_Factory427_Plugin $plugin
39
  *
40
  * @throws Exception
41
  */
42
- public function __construct( Wbcr_Factory427_Plugin $plugin ) {
43
 
44
  $this->plugin = $plugin;
45
  $plugin_name = $plugin->getPluginName();
@@ -129,14 +129,14 @@ class Migrations {
129
  $fix_migration_error_url = add_query_arg( 'wbcr_factory_fix_migration_error', 1 );
130
 
131
  $notice_text = $migration_error_text;
132
- $notice_text .= "<br><br><a href='{$fix_migration_error_url}' class='button button-default'>" . __( 'I fixed, confirm migration', 'wbcr_factory_427' ) . "</a>";
133
 
134
  $notices[] = [
135
  'id' => 'migration_debug_bar',
136
  'type' => 'error',
137
  'dismissible' => false,
138
  'dismiss_expires' => 0,
139
- 'text' => '<p><b>' . $this->plugin->getPluginTitle() . ' ' . __( 'migration error', 'wbcr_factory_427' ) . '</b><br>' . $notice_text . '</p>'
140
  ];
141
 
142
  return $notices;
@@ -162,19 +162,19 @@ class Migrations {
162
 
163
  $migrate_url = add_query_arg( 'wbcr_factory_test_migration', 1 );
164
 
165
- $notice_text = __( "Plugin activated:", "wbcr_factory_427" ) . ' ' . date( "Y-m-d H:i:s", $this->get_plugin_activated_time() ) . "<br>";
166
 
167
- $notice_text .= __( "Old plugin version (debug):", "wbcr_factory_427" ) . ' ' . $this->get_old_plugin_version() . "<br>";
168
- $notice_text .= __( "Current plugin version:", "wbcr_factory_427" ) . ' ' . $this->get_current_plugin_version() . "<br>";
169
- $notice_text .= __( "Need migration:", "wbcr_factory_427" ) . ' ' . ( $this->need_migration() ? "true" : "false" ) . "<br><br>";
170
- $notice_text .= "<a href='{$migrate_url}' class='button button-default'>" . __( "Migrate now", "wbcr_factory_427" ) . "</a><br>";
171
 
172
  $notices[] = [
173
  'id' => 'migration_debug_bar',
174
  'type' => 'warning',
175
  'dismissible' => false,
176
  'dismiss_expires' => 0,
177
- 'text' => '<p><b style="color:red;">' . $this->plugin->getPluginTitle() . ' ' . __( 'migrations DEBUG bar', 'wbcr_factory_427' ) . '</b><br>' . $notice_text . '</p>'
178
  ];
179
 
180
  return $notices;
@@ -505,7 +505,7 @@ class Migrations {
505
  $classes = [];
506
 
507
  if ( ! function_exists( 'token_get_all' ) ) {
508
- throw new Exception( __( 'There is no PHP Tokenizer extension installed on your server, you cannot use the token_get_all function.', 'wbcr_factory_427' ) );
509
  }
510
 
511
  $tokens = token_get_all( $phpCode );
1
  <?php
2
 
3
+ namespace WBCR\Factory_428;
4
 
5
  use Exception;
6
+ use Wbcr_Factory428_Plugin;
7
 
8
  if ( ! defined( 'ABSPATH' ) ) {
9
  exit;
35
  /**
36
  * Migrations constructor.
37
  *
38
+ * @param Wbcr_Factory428_Plugin $plugin
39
  *
40
  * @throws Exception
41
  */
42
+ public function __construct( Wbcr_Factory428_Plugin $plugin ) {
43
 
44
  $this->plugin = $plugin;
45
  $plugin_name = $plugin->getPluginName();
129
  $fix_migration_error_url = add_query_arg( 'wbcr_factory_fix_migration_error', 1 );
130
 
131
  $notice_text = $migration_error_text;
132
+ $notice_text .= "<br><br><a href='{$fix_migration_error_url}' class='button button-default'>" . __( 'I fixed, confirm migration', 'wbcr_factory_428' ) . "</a>";
133
 
134
  $notices[] = [
135
  'id' => 'migration_debug_bar',
136
  'type' => 'error',
137
  'dismissible' => false,
138
  'dismiss_expires' => 0,
139
+ 'text' => '<p><b>' . $this->plugin->getPluginTitle() . ' ' . __( 'migration error', 'wbcr_factory_428' ) . '</b><br>' . $notice_text . '</p>'
140
  ];
141
 
142
  return $notices;
162
 
163
  $migrate_url = add_query_arg( 'wbcr_factory_test_migration', 1 );
164
 
165
+ $notice_text = __( "Plugin activated:", "wbcr_factory_428" ) . ' ' . date( "Y-m-d H:i:s", $this->get_plugin_activated_time() ) . "<br>";
166
 
167
+ $notice_text .= __( "Old plugin version (debug):", "wbcr_factory_428" ) . ' ' . $this->get_old_plugin_version() . "<br>";
168
+ $notice_text .= __( "Current plugin version:", "wbcr_factory_428" ) . ' ' . $this->get_current_plugin_version() . "<br>";
169
+ $notice_text .= __( "Need migration:", "wbcr_factory_428" ) . ' ' . ( $this->need_migration() ? "true" : "false" ) . "<br><br>";
170
+ $notice_text .= "<a href='{$migrate_url}' class='button button-default'>" . __( "Migrate now", "wbcr_factory_428" ) . "</a><br>";
171
 
172
  $notices[] = [
173
  'id' => 'migration_debug_bar',
174
  'type' => 'warning',
175
  'dismissible' => false,
176
  'dismiss_expires' => 0,
177
+ 'text' => '<p><b style="color:red;">' . $this->plugin->getPluginTitle() . ' ' . __( 'migrations DEBUG bar', 'wbcr_factory_428' ) . '</b><br>' . $notice_text . '</p>'
178
  ];
179
 
180
  return $notices;
505
  $classes = [];
506
 
507
  if ( ! function_exists( 'token_get_all' ) ) {
508
+ throw new Exception( __( 'There is no PHP Tokenizer extension installed on your server, you cannot use the token_get_all function.', 'wbcr_factory_428' ) );
509
  }
510
 
511
  $tokens = token_get_all( $phpCode );
libs/factory/core/includes/class-factory-notices.php CHANGED
@@ -1,8 +1,8 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_427;
4
 
5
- use Wbcr_Factory427_Plugin;
6
 
7
  // Exit if accessed directly
8
  if ( ! defined( 'ABSPATH' ) ) {
@@ -27,7 +27,7 @@ if ( ! defined( 'ABSPATH' ) ) {
27
  class Notices {
28
 
29
  /**
30
- * @var Wbcr_Factory427_Plugin
31
  */
32
  protected $plugin;
33
  /**
@@ -58,7 +58,7 @@ class Notices {
58
  /**
59
  * Инициализируем уведомлений сразу после загрузки модуля уведомлений
60
  *
61
- * @param Wbcr_Factory427_Plugin $plugin
62
  */
63
  public function __construct( $plugin ) {
64
  //default notices
@@ -86,13 +86,13 @@ class Notices {
86
  /**
87
  * @since 2.1.2 - является устаревшим
88
  */
89
- $this->notices = wbcr_factory_427_apply_filters_deprecated( 'wbcr_factory_notices_000_list', [
90
  $this->notices,
91
  $this->plugin->getPluginName(),
92
  ], '2.1.2', 'wbcr/factory/admin_notices' );
93
 
94
  /**
95
- * @since 2.1.2 - Добавлен, модуль factory_notices_000 был удален. Поэтому в этому хуке мы заменили префикс на factory_427
96
  */
97
  $this->notices = apply_filters( 'wbcr/factory/admin_notices', $this->notices, $this->plugin->getPluginName() );
98
 
1
  <?php
2
 
3
+ namespace WBCR\Factory_428;
4
 
5
+ use Wbcr_Factory428_Plugin;
6
 
7
  // Exit if accessed directly
8
  if ( ! defined( 'ABSPATH' ) ) {
27
  class Notices {
28
 
29
  /**
30
+ * @var Wbcr_Factory428_Plugin
31
  */
32
  protected $plugin;
33
  /**
58
  /**
59
  * Инициализируем уведомлений сразу после загрузки модуля уведомлений
60
  *
61
+ * @param Wbcr_Factory428_Plugin $plugin
62
  */
63
  public function __construct( $plugin ) {
64
  //default notices
86
  /**
87
  * @since 2.1.2 - является устаревшим
88
  */
89
+ $this->notices = wbcr_factory_428_apply_filters_deprecated( 'wbcr_factory_notices_000_list', [
90
  $this->notices,
91
  $this->plugin->getPluginName(),
92
  ], '2.1.2', 'wbcr/factory/admin_notices' );
93
 
94
  /**
95
+ * @since 2.1.2 - Добавлен, модуль factory_notices_000 был удален. Поэтому в этому хуке мы заменили префикс на factory_428
96
  */
97
  $this->notices = apply_filters( 'wbcr/factory/admin_notices', $this->notices, $this->plugin->getPluginName() );
98
 
libs/factory/core/includes/class-factory-options.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_427;
4
 
5
  // Exit if accessed directly
6
  use Exception;
@@ -10,7 +10,7 @@ if ( ! defined( 'ABSPATH' ) ) {
10
  }
11
 
12
  /**
13
- * Трейт используется для расширения базового класса плагина Wbcr_Factory427_Base, позволяя работать с опциями плагина.
14
  *
15
  * Этот трейт является оберткой для Wordpress функций get_option, get_site_option, update_option, update_site_option,
16
  * delete_option, delete_site_option. Основная задача была получать, обновлять, удалять опции без использования префиксов,
1
  <?php
2
 
3
+ namespace WBCR\Factory_428;
4
 
5
  // Exit if accessed directly
6
  use Exception;
10
  }
11
 
12
  /**
13
+ * Трейт используется для расширения базового класса плагина Wbcr_Factory428_Base, позволяя работать с опциями плагина.
14
  *
15
  * Этот трейт является оберткой для Wordpress функций get_option, get_site_option, update_option, update_site_option,
16
  * delete_option, delete_site_option. Основная задача была получать, обновлять, удалять опции без использования префиксов,
libs/factory/core/includes/class-factory-plugin-abstract.php CHANGED
@@ -24,42 +24,42 @@ if( !defined('ABSPATH') ) {
24
  * @package factory-core
25
  *
26
  */
27
- abstract class Wbcr_Factory427_Plugin extends Wbcr_Factory427_Base {
28
 
29
  /**
30
- * Instance class Wbcr_Factory427_Request, required manages http requests
31
  *
32
  * @see https://webcraftic.atlassian.net/wiki/spaces/FFD/pages/390561806
33
- * @var Wbcr_Factory427_Request
34
  */
35
  public $request;
36
 
37
  /**
38
  * @see https://webcraftic.atlassian.net/wiki/spaces/FFD/pages/393936924
39
- * @var \WBCR\Factory_427\Premium\Provider
40
  */
41
  public $premium;
42
 
43
  /**
44
  * The Bootstrap Manager class
45
  *
46
- * @var Wbcr_FactoryBootstrap428_Manager
47
  */
48
  public $bootstrap;
49
 
50
  /**
51
  * The Bootstrap Manager class
52
  *
53
- * @var Wbcr_FactoryForms425_Manager
54
  */
55
  public $forms;
56
 
57
  /**
58
- * Простой массив со списком зарегистрированных классов унаследованных от Wbcr_Factory427_Activator.
59
  * Классы активации используются для упаковки набора функций, которые нужно выполнить во время
60
  * активации плагина.
61
  *
62
- * @var array[] Wbcr_Factory427_Activator
63
  */
64
  protected $activator_class = [];
65
 
@@ -86,7 +86,7 @@ abstract class Wbcr_Factory427_Plugin extends Wbcr_Factory427_Base {
86
  *
87
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
88
  * @since 4.1.9
89
- * @var WBCR\Factory_Adverts_107\Base
90
  */
91
  private $adverts;
92
 
@@ -106,8 +106,8 @@ abstract class Wbcr_Factory427_Plugin extends Wbcr_Factory427_Base {
106
 
107
  parent::__construct($plugin_path, $data);
108
 
109
- $this->request = new Wbcr_Factory427_Request();
110
- //$this->route = new Wbcr_Factory427_Route();
111
 
112
  // INIT PLUGIN FRAMEWORK MODULES
113
  // Framework modules should always be loaded first,
@@ -139,9 +139,9 @@ abstract class Wbcr_Factory427_Plugin extends Wbcr_Factory427_Base {
139
  * Устанавливает класс менеджер, которому плагин будет делегировать подключение ресурсов (картинок,
140
  * скриптов, стилей) фреймворка.
141
  *
142
- * @param Wbcr_FactoryBootstrap428_Manager $bootstrap
143
  */
144
- public function setBootstap(Wbcr_FactoryBootstrap428_Manager $bootstrap)
145
  {
146
  $this->bootstrap = $bootstrap;
147
  }
@@ -149,9 +149,9 @@ abstract class Wbcr_Factory427_Plugin extends Wbcr_Factory427_Base {
149
  /**
150
  * Устанавливает класс менеджер, которому будет делегирована работа с html формами фреймворка.
151
  *
152
- * @param Wbcr_FactoryForms425_Manager $forms
153
  */
154
- public function setForms(Wbcr_FactoryForms425_Manager $forms)
155
  {
156
  $this->forms = $forms;
157
  }
@@ -183,8 +183,8 @@ abstract class Wbcr_Factory427_Plugin extends Wbcr_Factory427_Base {
183
  */
184
  public function set_license_provider($name, $class_name)
185
  {
186
- if( !isset(WBCR\Factory_427\Premium\Manager::$providers[$name]) ) {
187
- WBCR\Factory_427\Premium\Manager::$providers[$name] = $class_name;
188
  }
189
  }
190
 
@@ -202,8 +202,8 @@ abstract class Wbcr_Factory427_Plugin extends Wbcr_Factory427_Base {
202
  */
203
  public function set_update_repository($name, $class_name)
204
  {
205
- if( !isset(WBCR\Factory_427\Updates\Upgrader::$repositories[$name]) ) {
206
- WBCR\Factory_427\Updates\Upgrader::$repositories[$name] = $class_name;
207
  }
208
  }
209
 
@@ -213,7 +213,7 @@ abstract class Wbcr_Factory427_Plugin extends Wbcr_Factory427_Base {
213
  * Доступен глобально через метод app(), чаще всего используется для создания точек для ротации
214
  * рекламных объявлений.
215
  *
216
- * @return \WBCR\Factory_Adverts_107\Base
217
  * @since 1.1
218
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
219
  */
@@ -249,18 +249,18 @@ abstract class Wbcr_Factory427_Plugin extends Wbcr_Factory427_Base {
249
 
250
  public function newScriptList()
251
  {
252
- return new Wbcr_Factory427_ScriptList($this);
253
  }
254
 
255
  public function newStyleList()
256
  {
257
- return new Wbcr_Factory427_StyleList($this);
258
  }
259
 
260
  /**
261
  * Все страницы плагина создаются через специальную обертку, за которую отвечает модуль
262
  * фреймворка pages. Разработчик создает собственный класс, унаследованный от
263
- * Wbcr_FactoryPages427_AdminPage, а затем регистрирует его через этот метод.
264
  * Метод выполняет подключение класса страницы и регистрирует его в модуле фреймворка
265
  * pages.
266
  *
@@ -270,7 +270,7 @@ abstract class Wbcr_Factory427_Plugin extends Wbcr_Factory427_Base {
270
  * @see https://webcraftic.atlassian.net/wiki/spaces/CNCFC/pages/222887949 - документация по созданию страниц
271
  *
272
  * @param string $class_name Имя регистрируемого класса страницы. Пример: WCL_Page_Name.
273
- * Регистрируемый класс должен быть унаследован от класса Wbcr_FactoryPages427_AdminPage.
274
  * @param string $file_path Абсолютный путь к файлу с классом страницы.
275
  *
276
  * @throws Exception
@@ -292,11 +292,11 @@ abstract class Wbcr_Factory427_Plugin extends Wbcr_Factory427_Base {
292
  throw new Exception('A class with this name {' . $class_name . '} does not exist.');
293
  }
294
 
295
- if( !class_exists('Wbcr_FactoryPages427') ) {
296
- throw new Exception('The factory_pages_427 module is not included.');
297
  }
298
 
299
- Wbcr_FactoryPages427::register($this, $class_name);
300
  }
301
 
302
  /**
@@ -346,16 +346,16 @@ abstract class Wbcr_Factory427_Plugin extends Wbcr_Factory427_Base {
346
  /**
347
  * @since 4.1.1 - change hook name
348
  */
349
- if( apply_filters("wbcr/factory_427/cancel_plugin_activation_{$this->plugin_name}", false) ) {
350
  return;
351
  }
352
 
353
  /**
354
- * wbcr_factory_427_plugin_activation
355
  *
356
  * @since 4.1.1 - deprecated
357
  */
358
- wbcr_factory_427_do_action_deprecated('wbcr_factory_427_plugin_activation', [
359
  $this
360
  ], '4.1.1', "wbcr/factory/plugin_activation");
361
 
@@ -364,7 +364,7 @@ abstract class Wbcr_Factory427_Plugin extends Wbcr_Factory427_Base {
364
  *
365
  * @since 4.1.2 - deprecated
366
  */
367
- wbcr_factory_427_do_action_deprecated('wbcr/factory/plugin_activation', [
368
  $this
369
  ], '4.1.2', "wbcr/factory/before_plugin_activation");
370
 
@@ -380,16 +380,16 @@ abstract class Wbcr_Factory427_Plugin extends Wbcr_Factory427_Base {
380
  *
381
  * @since 4.1.2 - deprecated
382
  */
383
- wbcr_factory_427_do_action_deprecated("wbcr/factory/plugin_{$this->plugin_name}_activation", [
384
  $this
385
  ], '4.1.2', "wbcr/factory/before_plugin_{$this->plugin_name}_activation");
386
 
387
  /**
388
- * wbcr_factory_427_plugin_activation_' . $this->plugin_name
389
  *
390
  * @since 4.1.1 - deprecated
391
  */
392
- wbcr_factory_427_do_action_deprecated('wbcr_factory_427_plugin_activation_' . $this->plugin_name, [
393
  $this
394
  ], '4.1.1', "wbcr/factory/before_plugin_{$this->plugin_name}_activation");
395
 
@@ -430,16 +430,16 @@ abstract class Wbcr_Factory427_Plugin extends Wbcr_Factory427_Base {
430
  /**
431
  * @since 4.1.1 - change hook name
432
  */
433
- if( apply_filters("wbcr/factory_427/cancel_plugin_deactivation_{$this->plugin_name}", false) ) {
434
  return;
435
  }
436
 
437
  /**
438
- * wbcr_factory_427_plugin_deactivation
439
  *
440
  * @since 4.1.1 - deprecated
441
  */
442
- wbcr_factory_427_do_action_deprecated('wbcr_factory_427_plugin_deactivation', [
443
  $this
444
  ], '4.1.1', "wbcr/factory/plugin_deactivation");
445
 
@@ -448,7 +448,7 @@ abstract class Wbcr_Factory427_Plugin extends Wbcr_Factory427_Base {
448
  *
449
  * @since 4.1.2 - deprecated
450
  */
451
- wbcr_factory_427_do_action_deprecated('wbcr/factory/plugin_deactivation', [
452
  $this
453
  ], '4.1.2', "wbcr/factory/before_plugin_deactivation");
454
 
@@ -460,11 +460,11 @@ abstract class Wbcr_Factory427_Plugin extends Wbcr_Factory427_Base {
460
  do_action('wbcr/factory/plugin_deactivation', $this);
461
 
462
  /**
463
- * wbcr_factory_427_plugin_deactivation_ . $this->plugin_name
464
  *
465
  * @since 4.1.1 - deprecated
466
  */
467
- wbcr_factory_427_do_action_deprecated('wbcr_factory_427_plugin_deactivation_' . $this->plugin_name, [
468
  $this
469
  ], '4.1.1', "wbcr/factory/before_plugin_{$this->plugin_name}_deactivation");
470
 
@@ -473,7 +473,7 @@ abstract class Wbcr_Factory427_Plugin extends Wbcr_Factory427_Base {
473
  *
474
  * @since 4.1.2 - deprecated
475
  */
476
- wbcr_factory_427_do_action_deprecated("wbcr/factory/plugin_{$this->plugin_name}_deactivation", [
477
  $this
478
  ], '4.1.2', "wbcr/factory/before_plugin_{$this->plugin_name}_deactivation");
479
 
@@ -511,8 +511,8 @@ abstract class Wbcr_Factory427_Plugin extends Wbcr_Factory427_Base {
511
  */
512
  public function getPluginPageUrl($page_id, $args = [])
513
  {
514
- if( !class_exists('Wbcr_FactoryPages427') ) {
515
- throw new Exception('The factory_pages_427 module is not included.');
516
  }
517
 
518
  if( !is_admin() ) {
@@ -521,7 +521,7 @@ abstract class Wbcr_Factory427_Plugin extends Wbcr_Factory427_Base {
521
  return null;
522
  }
523
 
524
- return Wbcr_FactoryPages427::getPageUrl($this, $page_id, $args);
525
  }
526
 
527
  /**
@@ -622,12 +622,12 @@ abstract class Wbcr_Factory427_Plugin extends Wbcr_Factory427_Base {
622
  /**
623
  * @since 4.1.1 - deprecated
624
  */
625
- wbcr_factory_427_do_action_deprecated('wbcr_factory_427_core_modules_loaded-' . $this->plugin_name, [], '4.1.1', "wbcr/factory_427/modules_loaded-" . $this->plugin_name);
626
 
627
  /**
628
  * @since 4.1.1 - add
629
  */
630
- do_action('wbcr/factory_427/modules_loaded-' . $this->plugin_name);
631
  }
632
 
633
 
@@ -654,7 +654,7 @@ abstract class Wbcr_Factory427_Plugin extends Wbcr_Factory427_Base {
654
  });
655
 
656
  if( is_admin() ) {
657
- add_filter('wbcr_factory_427_core_admin_allow_multisite', '__return_true');
658
 
659
  register_activation_hook($this->get_paths()->main_file, [$this, 'activation_hook']);
660
  register_deactivation_hook($this->get_paths()->main_file, [$this, 'deactivation_hook']);
@@ -670,7 +670,7 @@ abstract class Wbcr_Factory427_Plugin extends Wbcr_Factory427_Base {
670
  */
671
  protected function init_plugin_migrations()
672
  {
673
- new WBCR\Factory_427\Migrations($this);
674
  }
675
 
676
  /**
@@ -681,7 +681,7 @@ abstract class Wbcr_Factory427_Plugin extends Wbcr_Factory427_Base {
681
  */
682
  protected function init_plugin_notices()
683
  {
684
- new Wbcr\Factory_427\Notices($this);
685
  }
686
 
687
  /**
@@ -697,7 +697,7 @@ abstract class Wbcr_Factory427_Plugin extends Wbcr_Factory427_Base {
697
  protected function init_plugin_updates()
698
  {
699
  if( $this->has_updates ) {
700
- new WBCR\Factory_427\Updates\Upgrader($this);
701
  }
702
  }
703
 
@@ -720,11 +720,11 @@ abstract class Wbcr_Factory427_Plugin extends Wbcr_Factory427_Base {
720
  }
721
 
722
  // Создаем экземляр премиум менеджера, мы сможем к нему обращаться глобально.
723
- $this->premium = WBCR\Factory_427\Premium\Manager::instance($this, $this->license_settings);
724
 
725
  // Подключаем премиум апгрейдер
726
  if( isset($this->license_settings['has_updates']) && $this->license_settings['has_updates'] ) {
727
- new WBCR\Factory_427\Updates\Premium_Upgrader($this);
728
  }
729
  }
730
  }
24
  * @package factory-core
25
  *
26
  */
27
+ abstract class Wbcr_Factory428_Plugin extends Wbcr_Factory428_Base {
28
 
29
  /**
30
+ * Instance class Wbcr_Factory428_Request, required manages http requests
31
  *
32
  * @see https://webcraftic.atlassian.net/wiki/spaces/FFD/pages/390561806
33
+ * @var Wbcr_Factory428_Request
34
  */
35
  public $request;
36
 
37
  /**
38
  * @see https://webcraftic.atlassian.net/wiki/spaces/FFD/pages/393936924
39
+ * @var \WBCR\Factory_428\Premium\Provider
40
  */
41
  public $premium;
42
 
43
  /**
44
  * The Bootstrap Manager class
45
  *
46
+ * @var Wbcr_FactoryBootstrap429_Manager
47
  */
48
  public $bootstrap;
49
 
50
  /**
51
  * The Bootstrap Manager class
52
  *
53
+ * @var Wbcr_FactoryForms426_Manager
54
  */
55
  public $forms;
56
 
57
  /**
58
+ * Простой массив со списком зарегистрированных классов унаследованных от Wbcr_Factory428_Activator.
59
  * Классы активации используются для упаковки набора функций, которые нужно выполнить во время
60
  * активации плагина.
61
  *
62
+ * @var array[] Wbcr_Factory428_Activator
63
  */
64
  protected $activator_class = [];
65
 
86
  *
87
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
88
  * @since 4.1.9
89
+ * @var WBCR\Factory_Adverts_108\Base
90
  */
91
  private $adverts;
92
 
106
 
107
  parent::__construct($plugin_path, $data);
108
 
109
+ $this->request = new Wbcr_Factory428_Request();
110
+ //$this->route = new Wbcr_Factory428_Route();
111
 
112
  // INIT PLUGIN FRAMEWORK MODULES
113
  // Framework modules should always be loaded first,
139
  * Устанавливает класс менеджер, которому плагин будет делегировать подключение ресурсов (картинок,
140
  * скриптов, стилей) фреймворка.
141
  *
142
+ * @param Wbcr_FactoryBootstrap429_Manager $bootstrap
143
  */
144
+ public function setBootstap(Wbcr_FactoryBootstrap429_Manager $bootstrap)
145
  {
146
  $this->bootstrap = $bootstrap;
147
  }
149
  /**
150
  * Устанавливает класс менеджер, которому будет делегирована работа с html формами фреймворка.
151
  *
152
+ * @param Wbcr_FactoryForms426_Manager $forms
153
  */
154
+ public function setForms(Wbcr_FactoryForms426_Manager $forms)
155
  {
156
  $this->forms = $forms;
157
  }
183
  */
184
  public function set_license_provider($name, $class_name)
185
  {
186
+ if( !isset(WBCR\Factory_428\Premium\Manager::$providers[$name]) ) {
187
+ WBCR\Factory_428\Premium\Manager::$providers[$name] = $class_name;
188
  }
189
  }
190
 
202
  */
203
  public function set_update_repository($name, $class_name)
204
  {
205
+ if( !isset(WBCR\Factory_428\Updates\Upgrader::$repositories[$name]) ) {
206
+ WBCR\Factory_428\Updates\Upgrader::$repositories[$name] = $class_name;
207
  }
208
  }
209
 
213
  * Доступен глобально через метод app(), чаще всего используется для создания точек для ротации
214
  * рекламных объявлений.
215
  *
216
+ * @return \WBCR\Factory_Adverts_108\Base
217
  * @since 1.1
218
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
219
  */
249
 
250
  public function newScriptList()
251
  {
252
+ return new Wbcr_Factory428_ScriptList($this);
253
  }
254
 
255
  public function newStyleList()
256
  {
257
+ return new Wbcr_Factory428_StyleList($this);
258
  }
259
 
260
  /**
261
  * Все страницы плагина создаются через специальную обертку, за которую отвечает модуль
262
  * фреймворка pages. Разработчик создает собственный класс, унаследованный от
263
+ * Wbcr_FactoryPages428_AdminPage, а затем регистрирует его через этот метод.
264
  * Метод выполняет подключение класса страницы и регистрирует его в модуле фреймворка
265
  * pages.
266
  *
270
  * @see https://webcraftic.atlassian.net/wiki/spaces/CNCFC/pages/222887949 - документация по созданию страниц
271
  *
272
  * @param string $class_name Имя регистрируемого класса страницы. Пример: WCL_Page_Name.
273
+ * Регистрируемый класс должен быть унаследован от класса Wbcr_FactoryPages428_AdminPage.
274
  * @param string $file_path Абсолютный путь к файлу с классом страницы.
275
  *
276
  * @throws Exception
292
  throw new Exception('A class with this name {' . $class_name . '} does not exist.');
293
  }
294
 
295
+ if( !class_exists('Wbcr_FactoryPages428') ) {
296
+ throw new Exception('The factory_pages_428 module is not included.');
297
  }
298
 
299
+ Wbcr_FactoryPages428::register($this, $class_name);
300
  }
301
 
302
  /**
346
  /**
347
  * @since 4.1.1 - change hook name
348
  */
349
+ if( apply_filters("wbcr/factory_428/cancel_plugin_activation_{$this->plugin_name}", false) ) {
350
  return;
351
  }
352
 
353
  /**
354
+ * wbcr_factory_428_plugin_activation
355
  *
356
  * @since 4.1.1 - deprecated
357
  */
358
+ wbcr_factory_428_do_action_deprecated('wbcr_factory_428_plugin_activation', [
359
  $this
360
  ], '4.1.1', "wbcr/factory/plugin_activation");
361
 
364
  *
365
  * @since 4.1.2 - deprecated
366
  */
367
+ wbcr_factory_428_do_action_deprecated('wbcr/factory/plugin_activation', [
368
  $this
369
  ], '4.1.2', "wbcr/factory/before_plugin_activation");
370
 
380
  *
381
  * @since 4.1.2 - deprecated
382
  */
383
+ wbcr_factory_428_do_action_deprecated("wbcr/factory/plugin_{$this->plugin_name}_activation", [
384
  $this
385
  ], '4.1.2', "wbcr/factory/before_plugin_{$this->plugin_name}_activation");
386
 
387
  /**
388
+ * wbcr_factory_428_plugin_activation_' . $this->plugin_name
389
  *
390
  * @since 4.1.1 - deprecated
391
  */
392
+ wbcr_factory_428_do_action_deprecated('wbcr_factory_428_plugin_activation_' . $this->plugin_name, [
393
  $this
394
  ], '4.1.1', "wbcr/factory/before_plugin_{$this->plugin_name}_activation");
395
 
430
  /**
431
  * @since 4.1.1 - change hook name
432
  */
433
+ if( apply_filters("wbcr/factory_428/cancel_plugin_deactivation_{$this->plugin_name}", false) ) {
434
  return;
435
  }
436
 
437
  /**
438
+ * wbcr_factory_428_plugin_deactivation
439
  *
440
  * @since 4.1.1 - deprecated
441
  */
442
+ wbcr_factory_428_do_action_deprecated('wbcr_factory_428_plugin_deactivation', [
443
  $this
444
  ], '4.1.1', "wbcr/factory/plugin_deactivation");
445
 
448
  *
449
  * @since 4.1.2 - deprecated
450
  */
451
+ wbcr_factory_428_do_action_deprecated('wbcr/factory/plugin_deactivation', [
452
  $this
453
  ], '4.1.2', "wbcr/factory/before_plugin_deactivation");
454
 
460
  do_action('wbcr/factory/plugin_deactivation', $this);
461
 
462
  /**
463
+ * wbcr_factory_428_plugin_deactivation_ . $this->plugin_name
464
  *
465
  * @since 4.1.1 - deprecated
466
  */
467
+ wbcr_factory_428_do_action_deprecated('wbcr_factory_428_plugin_deactivation_' . $this->plugin_name, [
468
  $this
469
  ], '4.1.1', "wbcr/factory/before_plugin_{$this->plugin_name}_deactivation");
470
 
473
  *
474
  * @since 4.1.2 - deprecated
475
  */
476
+ wbcr_factory_428_do_action_deprecated("wbcr/factory/plugin_{$this->plugin_name}_deactivation", [
477
  $this
478
  ], '4.1.2', "wbcr/factory/before_plugin_{$this->plugin_name}_deactivation");
479
 
511
  */
512
  public function getPluginPageUrl($page_id, $args = [])
513
  {
514
+ if( !class_exists('Wbcr_FactoryPages428') ) {
515
+ throw new Exception('The factory_pages_428 module is not included.');
516
  }
517
 
518
  if( !is_admin() ) {
521
  return null;
522
  }
523
 
524
+ return Wbcr_FactoryPages428::getPageUrl($this, $page_id, $args);
525
  }
526
 
527
  /**
622
  /**
623
  * @since 4.1.1 - deprecated
624
  */
625
+ wbcr_factory_428_do_action_deprecated('wbcr_factory_428_core_modules_loaded-' . $this->plugin_name, [], '4.1.1', "wbcr/factory_428/modules_loaded-" . $this->plugin_name);
626
 
627
  /**
628
  * @since 4.1.1 - add
629
  */
630
+ do_action('wbcr/factory_428/modules_loaded-' . $this->plugin_name);
631
  }
632
 
633
 
654
  });
655
 
656
  if( is_admin() ) {
657
+ add_filter('wbcr_factory_428_core_admin_allow_multisite', '__return_true');
658
 
659
  register_activation_hook($this->get_paths()->main_file, [$this, 'activation_hook']);
660
  register_deactivation_hook($this->get_paths()->main_file, [$this, 'deactivation_hook']);
670
  */
671
  protected function init_plugin_migrations()
672
  {
673
+ new WBCR\Factory_428\Migrations($this);
674
  }
675
 
676
  /**
681
  */
682
  protected function init_plugin_notices()
683
  {
684
+ new Wbcr\Factory_428\Notices($this);
685
  }
686
 
687
  /**
697
  protected function init_plugin_updates()
698
  {
699
  if( $this->has_updates ) {
700
+ new WBCR\Factory_428\Updates\Upgrader($this);
701
  }
702
  }
703
 
720
  }
721
 
722
  // Создаем экземляр премиум менеджера, мы сможем к нему обращаться глобально.
723
+ $this->premium = WBCR\Factory_428\Premium\Manager::instance($this, $this->license_settings);
724
 
725
  // Подключаем премиум апгрейдер
726
  if( isset($this->license_settings['has_updates']) && $this->license_settings['has_updates'] ) {
727
+ new WBCR\Factory_428\Updates\Premium_Upgrader($this);
728
  }
729
  }
730
  }
libs/factory/core/includes/class-factory-plugin-base.php CHANGED
@@ -5,7 +5,7 @@ if ( ! defined( 'ABSPATH' ) ) {
5
  }
6
 
7
  /**
8
- * Базовый класс для создания нового плагина. Полную реализацию класса смотрите в Wbcr_Factory427_Plugin
9
  *
10
  * Документация по классу: https://webcraftic.atlassian.net/wiki/spaces/FFD/pages/392724484
11
  * Документация по созданию плагина: https://webcraftic.atlassian.net/wiki/spaces/CNCFC/pages/327828
@@ -17,9 +17,9 @@ if ( ! defined( 'ABSPATH' ) ) {
17
  * @since 1.0.0
18
  * @package factory-core
19
  */
20
- class Wbcr_Factory427_Base {
21
 
22
- use WBCR\Factory_427\Options;
23
 
24
  /**
25
  * Обязательное свойство. Префикс, используется для создания пространство имен.
@@ -81,7 +81,7 @@ class Wbcr_Factory427_Base {
81
  * https://robin-image-optimizer.webcraftic.com/premium-features.
82
  *
83
  * Это свойство заполняется для того, чтобы в процессе разработки вы могли использовать
84
- * экземпляр класса \WBCR\Factory_427\Entities\Support, для получения информации о сайте плагина.
85
  * Тем самым вы избавляете себя от жесткого прописывания ссылок на лендинг плагина и
86
  * можете изменить все ссылки в одном месте.
87
  *
@@ -127,7 +127,7 @@ class Wbcr_Factory427_Base {
127
  * к примеру: freemius, codecanyon, templatemonster, вам нужно указать только настройки для
128
  * взаимодействия с выбранным вами провайдером. Каждая реализация провайдера лицензий может иметь
129
  * индивидуальный настройки, в этом примере приведены настройки для freemius провайдера
130
- * WBCR\Factory_427\Premium\Provider > WBCR\Factory_Freemius_115\Premium\Provider
131
  *
132
  * На текущий момент существует только реализация для freemius провайдера.
133
  *
@@ -177,9 +177,9 @@ class Wbcr_Factory427_Base {
177
  * }
178
  */
179
  protected $load_factory_modules = [
180
- [ 'libs/factory/bootstrap', 'factory_bootstrap_428', 'admin' ],
181
- [ 'libs/factory/forms', 'factory_forms_425', 'admin' ],
182
- [ 'libs/factory/pages', 'factory_pages_427', 'admin' ],
183
  ];
184
 
185
  /**
@@ -209,20 +209,20 @@ class Wbcr_Factory427_Base {
209
 
210
 
211
  /**
212
- * Экземпляр класса \WBCR\Factory_427\Entities\Support используется для получения информации
213
  * о сайте плагина. Чаще всего используется для получения ссылки на страницу с тарифами или
214
  * ссылки на форму обратной связи. Встроен механизм отслеживания по utm меткам.
215
  *
216
- * @var \WBCR\Factory_427\Entities\Support
217
  */
218
  protected $support;
219
 
220
  /**
221
- * Экземпляр класса \WBCR\Factory_427\Entities\Paths используется для получения информации о
222
  * путях плагина. Часто используется для получения путей или ссылок на место хранения плагина
223
  * или его входного файла.
224
  *
225
- * @var \WBCR\Factory_427\Entities\Paths
226
  */
227
  protected $paths;
228
 
@@ -270,8 +270,8 @@ class Wbcr_Factory427_Base {
270
  throw new Exception( 'One of the required attributes has not been passed (prefix, plugin_title, plugin_name, plugin_version, plugin_text_domain).' );
271
  }
272
 
273
- $this->support = new \WBCR\Factory_427\Entities\Support( $this->support_details );
274
- $this->paths = new \WBCR\Factory_427\Entities\Paths( $plugin_file );
275
 
276
  // used only in the module 'updates'
277
  $this->plugin_slug = ! empty( $this->plugin_name ) ? $this->plugin_name : basename( $plugin_file );
@@ -391,7 +391,7 @@ class Wbcr_Factory427_Base {
391
  * Проверяет, включен ли премиум для этого плагина или нет.
392
  *
393
  * @return bool Возвращает true, если премиум пакет включен для этого плагина.
394
- * См. Wbcr_Factory427_Base::has_premium
395
  */
396
  public function has_premium() {
397
  return $this->has_premium;
@@ -400,7 +400,7 @@ class Wbcr_Factory427_Base {
400
  /**
401
  * Позволяет получить заголовок плагина.
402
  *
403
- * @return string Возвращает заголовок плагина. См. Wbcr_Factory427_Base::plugin_title
404
  */
405
  public function getPluginTitle() {
406
  return $this->plugin_title;
@@ -409,7 +409,7 @@ class Wbcr_Factory427_Base {
409
  /**
410
  * Позволяет получить префикс плагина.
411
  *
412
- * @return string Возвращает префикс плагина.См. Wbcr_Factory427_Base::prefix
413
  */
414
  public function getPrefix() {
415
  return $this->prefix;
@@ -418,7 +418,7 @@ class Wbcr_Factory427_Base {
418
  /**
419
  * Позволяет получить имя плагина.
420
  *
421
- * @return string Возвращает имя плагина. См. Wbcr_Factory427_Base::plugin_name
422
  */
423
  public function getPluginName() {
424
  return $this->plugin_name;
@@ -427,7 +427,7 @@ class Wbcr_Factory427_Base {
427
  /**
428
  * Позволяет получить версию плагина.
429
  *
430
- * @return string Возвращает версию плагина. См. Wbcr_Factory427_Base::plugin_version
431
  */
432
  public function getPluginVersion() {
433
  return $this->plugin_version;
@@ -449,7 +449,7 @@ class Wbcr_Factory427_Base {
449
  * какие-то данные не описанные в интерфейсе этого плагина.
450
  *
451
  * @param string $attr_name Имя атрибута, который нужно получить. Идентично ключу в массиве
452
- * Wbcr_Factory427_Base::plugin_data
453
  *
454
  * @return null
455
  */
@@ -462,18 +462,18 @@ class Wbcr_Factory427_Base {
462
  }
463
 
464
  /**
465
- * Предоставляет доступ к экземпляру класса \WBCR\Factory_427\Entities\Support.
466
  *
467
- * @return \WBCR\Factory_427\Entities\Support
468
  */
469
  public function get_support() {
470
  return $this->support;
471
  }
472
 
473
  /**
474
- * Предоставляет доступ к экземпляру класса \WBCR\Factory_427\Entities\Paths.
475
  *
476
- * @return \WBCR\Factory_427\Entities\Paths
477
  */
478
  public function get_paths() {
479
  return $this->paths;
@@ -482,7 +482,7 @@ class Wbcr_Factory427_Base {
482
  /**
483
  * Позволяет получить сырые данные плагина в виде объекта StdClass.
484
  *
485
- * @return object Возвращает объект с сырыми данными плагина. См. Wbcr_Factory427_Base::plugin_data
486
  */
487
  public function getPluginInfo() {
488
  return (object) $this->plugin_data;
5
  }
6
 
7
  /**
8
+ * Базовый класс для создания нового плагина. Полную реализацию класса смотрите в Wbcr_Factory428_Plugin
9
  *
10
  * Документация по классу: https://webcraftic.atlassian.net/wiki/spaces/FFD/pages/392724484
11
  * Документация по созданию плагина: https://webcraftic.atlassian.net/wiki/spaces/CNCFC/pages/327828
17
  * @since 1.0.0
18
  * @package factory-core
19
  */
20
+ class Wbcr_Factory428_Base {
21
 
22
+ use WBCR\Factory_428\Options;
23
 
24
  /**
25
  * Обязательное свойство. Префикс, используется для создания пространство имен.
81
  * https://robin-image-optimizer.webcraftic.com/premium-features.
82
  *
83
  * Это свойство заполняется для того, чтобы в процессе разработки вы могли использовать
84
+ * экземпляр класса \WBCR\Factory_428\Entities\Support, для получения информации о сайте плагина.
85
  * Тем самым вы избавляете себя от жесткого прописывания ссылок на лендинг плагина и
86
  * можете изменить все ссылки в одном месте.
87
  *
127
  * к примеру: freemius, codecanyon, templatemonster, вам нужно указать только настройки для
128
  * взаимодействия с выбранным вами провайдером. Каждая реализация провайдера лицензий может иметь
129
  * индивидуальный настройки, в этом примере приведены настройки для freemius провайдера
130
+ * WBCR\Factory_428\Premium\Provider > WBCR\Factory_Freemius_116\Premium\Provider
131
  *
132
  * На текущий момент существует только реализация для freemius провайдера.
133
  *
177
  * }
178
  */
179
  protected $load_factory_modules = [
180
+ [ 'libs/factory/bootstrap', 'factory_bootstrap_429', 'admin' ],
181
+ [ 'libs/factory/forms', 'factory_forms_426', 'admin' ],
182
+ [ 'libs/factory/pages', 'factory_pages_428', 'admin' ],
183
  ];
184
 
185
  /**
209
 
210
 
211
  /**
212
+ * Экземпляр класса \WBCR\Factory_428\Entities\Support используется для получения информации
213
  * о сайте плагина. Чаще всего используется для получения ссылки на страницу с тарифами или
214
  * ссылки на форму обратной связи. Встроен механизм отслеживания по utm меткам.
215
  *
216
+ * @var \WBCR\Factory_428\Entities\Support
217
  */
218
  protected $support;
219
 
220
  /**
221
+ * Экземпляр класса \WBCR\Factory_428\Entities\Paths используется для получения информации о
222
  * путях плагина. Часто используется для получения путей или ссылок на место хранения плагина
223
  * или его входного файла.
224
  *
225
+ * @var \WBCR\Factory_428\Entities\Paths
226
  */
227
  protected $paths;
228
 
270
  throw new Exception( 'One of the required attributes has not been passed (prefix, plugin_title, plugin_name, plugin_version, plugin_text_domain).' );
271
  }
272
 
273
+ $this->support = new \WBCR\Factory_428\Entities\Support( $this->support_details );
274
+ $this->paths = new \WBCR\Factory_428\Entities\Paths( $plugin_file );
275
 
276
  // used only in the module 'updates'
277
  $this->plugin_slug = ! empty( $this->plugin_name ) ? $this->plugin_name : basename( $plugin_file );
391
  * Проверяет, включен ли премиум для этого плагина или нет.
392
  *
393
  * @return bool Возвращает true, если премиум пакет включен для этого плагина.
394
+ * См. Wbcr_Factory428_Base::has_premium
395
  */
396
  public function has_premium() {
397
  return $this->has_premium;
400
  /**
401
  * Позволяет получить заголовок плагина.
402
  *
403
+ * @return string Возвращает заголовок плагина. См. Wbcr_Factory428_Base::plugin_title
404
  */
405
  public function getPluginTitle() {
406
  return $this->plugin_title;
409
  /**
410
  * Позволяет получить префикс плагина.
411
  *
412
+ * @return string Возвращает префикс плагина.См. Wbcr_Factory428_Base::prefix
413
  */
414
  public function getPrefix() {
415
  return $this->prefix;
418
  /**
419
  * Позволяет получить имя плагина.
420
  *
421
+ * @return string Возвращает имя плагина. См. Wbcr_Factory428_Base::plugin_name
422
  */
423
  public function getPluginName() {
424
  return $this->plugin_name;
427
  /**
428
  * Позволяет получить версию плагина.
429
  *
430
+ * @return string Возвращает версию плагина. См. Wbcr_Factory428_Base::plugin_version
431
  */
432
  public function getPluginVersion() {
433
  return $this->plugin_version;
449
  * какие-то данные не описанные в интерфейсе этого плагина.
450
  *
451
  * @param string $attr_name Имя атрибута, который нужно получить. Идентично ключу в массиве
452
+ * Wbcr_Factory428_Base::plugin_data
453
  *
454
  * @return null
455
  */
462
  }
463
 
464
  /**
465
+ * Предоставляет доступ к экземпляру класса \WBCR\Factory_428\Entities\Support.
466
  *
467
+ * @return \WBCR\Factory_428\Entities\Support
468
  */
469
  public function get_support() {
470
  return $this->support;
471
  }
472
 
473
  /**
474
+ * Предоставляет доступ к экземпляру класса \WBCR\Factory_428\Entities\Paths.
475
  *
476
+ * @return \WBCR\Factory_428\Entities\Paths
477
  */
478
  public function get_paths() {
479
  return $this->paths;
482
  /**
483
  * Позволяет получить сырые данные плагина в виде объекта StdClass.
484
  *
485
+ * @return object Возвращает объект с сырыми данными плагина. См. Wbcr_Factory428_Base::plugin_data
486
  */
487
  public function getPluginInfo() {
488
  return (object) $this->plugin_data;
libs/factory/core/includes/class-factory-requests.php CHANGED
@@ -11,7 +11,7 @@ if ( ! defined( 'ABSPATH' ) ) {
11
  * @package factory-core
12
  */
13
 
14
- class Wbcr_Factory427_Request {
15
 
16
  /**
17
  * @param null $param
11
  * @package factory-core
12
  */
13
 
14
+ class Wbcr_Factory428_Request {
15
 
16
  /**
17
  * @param null $param
libs/factory/core/includes/class-factory-requirements.php CHANGED
@@ -12,8 +12,8 @@
12
  * @since 4.0.9
13
  */
14
  // @formatter:off
15
- if ( ! class_exists( 'Wbcr_Factory427_Requirements' ) ) {
16
- class Wbcr_Factory427_Requirements {
17
 
18
  /**
19
  * Factory framework version
@@ -242,7 +242,7 @@ if ( ! class_exists( 'Wbcr_Factory427_Requirements' ) ) {
242
  $notice_text = $notice_default_text = '';
243
  $notice_default_text .= '<b>' . $this->plugin_title . ' ' . __( 'warning', '' ) . ':</b>' . '<br>';
244
 
245
- $notice_default_text .= sprintf( __( 'The %s plugin has stopped.', 'wbcr_factory_clearfy_219' ), $this->plugin_title ) . ' ';
246
  $notice_default_text .= __( 'Possible reasons:', '' ) . ' <br>';
247
 
248
  $has_one = false;
@@ -273,21 +273,21 @@ if ( ! class_exists( 'Wbcr_Factory427_Requirements' ) ) {
273
  * @return string
274
  */
275
  protected function get_php_incompat_text() {
276
- return sprintf( __( 'You need to update the PHP version to %s or higher!', 'wbcr_factory_427' ), $this->required_php_version );
277
  }
278
 
279
  /**
280
  * @return string
281
  */
282
  protected function get_wp_incompat_text() {
283
- return sprintf( __( 'You need to update WordPress to %s or higher!', 'wbcr_factory_427' ), $this->required_wp_version );
284
  }
285
 
286
  /**
287
  * @return string
288
  */
289
  protected function get_plugin_already_activate_text() {
290
- return sprintf( __( 'Plugin %s is already activated, you are trying to activate it again.', 'wbcr_factory_427' ), $this->plugin_title );
291
  }
292
  }
293
  }
12
  * @since 4.0.9
13
  */
14
  // @formatter:off
15
+ if ( ! class_exists( 'Wbcr_Factory428_Requirements' ) ) {
16
+ class Wbcr_Factory428_Requirements {
17
 
18
  /**
19
  * Factory framework version
242
  $notice_text = $notice_default_text = '';
243
  $notice_default_text .= '<b>' . $this->plugin_title . ' ' . __( 'warning', '' ) . ':</b>' . '<br>';
244
 
245
+ $notice_default_text .= sprintf( __( 'The %s plugin has stopped.', 'wbcr_factory_clearfy_220' ), $this->plugin_title ) . ' ';
246
  $notice_default_text .= __( 'Possible reasons:', '' ) . ' <br>';
247
 
248
  $has_one = false;
273
  * @return string
274
  */
275
  protected function get_php_incompat_text() {
276
+ return sprintf( __( 'You need to update the PHP version to %s or higher!', 'wbcr_factory_428' ), $this->required_php_version );
277
  }
278
 
279
  /**
280
  * @return string
281
  */
282
  protected function get_wp_incompat_text() {
283
+ return sprintf( __( 'You need to update WordPress to %s or higher!', 'wbcr_factory_428' ), $this->required_wp_version );
284
  }
285
 
286
  /**
287
  * @return string
288
  */
289
  protected function get_plugin_already_activate_text() {
290
+ return sprintf( __( 'Plugin %s is already activated, you are trying to activate it again.', 'wbcr_factory_428' ), $this->plugin_title );
291
  }
292
  }
293
  }
libs/factory/core/includes/entities/class-factory-paths.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_427\Entities;
4
 
5
  if ( ! defined( 'ABSPATH' ) ) {
6
  exit;
1
  <?php
2
 
3
+ namespace WBCR\Factory_428\Entities;
4
 
5
  if ( ! defined( 'ABSPATH' ) ) {
6
  exit;
libs/factory/core/includes/entities/class-factory-support.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_427\Entities;
4
 
5
  if ( ! defined( 'ABSPATH' ) ) {
6
  exit;
1
  <?php
2
 
3
+ namespace WBCR\Factory_428\Entities;
4
 
5
  if ( ! defined( 'ABSPATH' ) ) {
6
  exit;
libs/factory/core/includes/functions.php CHANGED
@@ -53,17 +53,17 @@ if ( ! function_exists( 'get_user_locale' ) ) {
53
  * @param string $message Optional. A message regarding the change.
54
  *
55
  * @return mixed
56
- * @see wbcr_factory_427_deprecated_hook()
57
  *
58
  */
59
- function wbcr_factory_427_apply_filters_deprecated( $tag, $args, $version, $replacement = false, $message = null ) {
60
  if ( function_exists( 'apply_filters_deprecated' ) ) {
61
  return apply_filters_deprecated( $tag, $args, $version, $replacement, $message );
62
  }
63
  if ( ! has_filter( $tag ) ) {
64
  return $args[0];
65
  }
66
- wbcr_factory_427_deprecated_hook( $tag, $version, $replacement, $message );
67
 
68
  return apply_filters_ref_array( $tag, $args );
69
  }
@@ -89,7 +89,7 @@ function wbcr_factory_427_apply_filters_deprecated( $tag, $args, $version, $repl
89
  * @see _deprecated_hook()
90
  *
91
  */
92
- function wbcr_factory_427_do_action_deprecated( $tag, $args, $version, $replacement = false, $message = null ) {
93
  if ( function_exists( 'do_action_deprecated' ) ) {
94
  do_action_deprecated( $tag, $args, $version, $replacement, $message );
95
 
@@ -98,14 +98,14 @@ function wbcr_factory_427_do_action_deprecated( $tag, $args, $version, $replacem
98
  if ( ! has_action( $tag ) ) {
99
  return;
100
  }
101
- wbcr_factory_427_deprecated_hook( $tag, $version, $replacement, $message );
102
  do_action_ref_array( $tag, $args );
103
  }
104
 
105
  /**
106
  * Marks a deprecated action or filter hook as deprecated and throws a notice.
107
  *
108
- * Use the 'wbcr_factory_427_deprecated_hook_run' action to get the backtrace describing where the
109
  * deprecated hook was called.
110
  *
111
  * Default behavior is to trigger a user error if WP_DEBUG is true.
@@ -123,7 +123,7 @@ function wbcr_factory_427_do_action_deprecated( $tag, $args, $version, $replacem
123
  * @param string $replacement Optional. The hook that should have been used.
124
  * @param string $message Optional. A message regarding the change.
125
  */
126
- function wbcr_factory_427_deprecated_hook( $hook, $version, $replacement = null, $message = null ) {
127
  /**
128
  * Fires when a deprecated hook is called.
129
  *
53
  * @param string $message Optional. A message regarding the change.
54
  *
55
  * @return mixed
56
+ * @see wbcr_factory_428_deprecated_hook()
57
  *
58
  */
59
+ function wbcr_factory_428_apply_filters_deprecated( $tag, $args, $version, $replacement = false, $message = null ) {
60
  if ( function_exists( 'apply_filters_deprecated' ) ) {
61
  return apply_filters_deprecated( $tag, $args, $version, $replacement, $message );
62
  }
63
  if ( ! has_filter( $tag ) ) {
64
  return $args[0];
65
  }
66
+ wbcr_factory_428_deprecated_hook( $tag, $version, $replacement, $message );
67
 
68
  return apply_filters_ref_array( $tag, $args );
69
  }
89
  * @see _deprecated_hook()
90
  *
91
  */
92
+ function wbcr_factory_428_do_action_deprecated( $tag, $args, $version, $replacement = false, $message = null ) {
93
  if ( function_exists( 'do_action_deprecated' ) ) {
94
  do_action_deprecated( $tag, $args, $version, $replacement, $message );
95
 
98
  if ( ! has_action( $tag ) ) {
99
  return;
100
  }
101
+ wbcr_factory_428_deprecated_hook( $tag, $version, $replacement, $message );
102
  do_action_ref_array( $tag, $args );
103
  }
104
 
105
  /**
106
  * Marks a deprecated action or filter hook as deprecated and throws a notice.
107
  *
108
+ * Use the 'wbcr_factory_428_deprecated_hook_run' action to get the backtrace describing where the
109
  * deprecated hook was called.
110
  *
111
  * Default behavior is to trigger a user error if WP_DEBUG is true.
123
  * @param string $replacement Optional. The hook that should have been used.
124
  * @param string $message Optional. A message regarding the change.
125
  */
126
+ function wbcr_factory_428_deprecated_hook( $hook, $version, $replacement = null, $message = null ) {
127
  /**
128
  * Fires when a deprecated hook is called.
129
  *
libs/factory/core/includes/premium/class-factory-license-interface.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_427\Premium\Interfaces;
4
 
5
  // Exit if accessed directly
6
  if ( ! defined( 'ABSPATH' ) ) {
1
  <?php
2
 
3
+ namespace WBCR\Factory_428\Premium\Interfaces;
4
 
5
  // Exit if accessed directly
6
  if ( ! defined( 'ABSPATH' ) ) {
libs/factory/core/includes/premium/class-factory-manager.php CHANGED
@@ -1,9 +1,9 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_427\Premium;
4
 
5
  use Exception;
6
- use Wbcr_Factory427_Plugin;
7
 
8
  // Exit if accessed directly
9
  if ( ! defined( 'ABSPATH' ) ) {
@@ -24,7 +24,7 @@ class Manager {
24
  public static $providers;
25
 
26
  /**
27
- * @var Wbcr_Factory427_Plugin
28
  */
29
  protected $plugin;
30
 
@@ -36,24 +36,24 @@ class Manager {
36
  /**
37
  * Manager constructor.
38
  *
39
- * @param Wbcr_Factory427_Plugin $plugin
40
  * @param array $settings
41
  *
42
  * @throws Exception
43
  */
44
- public function __construct( Wbcr_Factory427_Plugin $plugin, array $settings ) {
45
  $this->plugin = $plugin;
46
  $this->settings = $settings;
47
  }
48
 
49
  /**
50
- * @param Wbcr_Factory427_Plugin $plugin
51
  * @param array $settings
52
  *
53
- * @return \WBCR\Factory_Freemius_115\Premium\Provider
54
  * @throws Exception
55
  */
56
- public static function instance( Wbcr_Factory427_Plugin $plugin, array $settings ) {
57
  $premium_manager = new Manager( $plugin, $settings );
58
 
59
  return $premium_manager->instance_provider();
@@ -62,7 +62,7 @@ class Manager {
62
  /**
63
  * @param $provider_name
64
  *
65
- * @return \WBCR\Factory_Freemius_115\Premium\Provider
66
  * @throws Exception
67
  */
68
  public function instance_provider() {
@@ -70,7 +70,7 @@ class Manager {
70
 
71
  if ( isset( self::$providers[ $provider_name ] ) && class_exists( self::$providers[ $provider_name ] ) ) {
72
  if ( self::$providers[ $provider_name ] instanceof Provider ) {
73
- throw new Exception( "Provider {$provider_name} must extend the class WBCR\Factory_427\Premium\Provider interface!" );
74
  }
75
 
76
  return new self::$providers[ $provider_name ]( $this->plugin, $this->settings );
1
  <?php
2
 
3
+ namespace WBCR\Factory_428\Premium;
4
 
5
  use Exception;
6
+ use Wbcr_Factory428_Plugin;
7
 
8
  // Exit if accessed directly
9
  if ( ! defined( 'ABSPATH' ) ) {
24
  public static $providers;
25
 
26
  /**
27
+ * @var Wbcr_Factory428_Plugin
28
  */
29
  protected $plugin;
30
 
36
  /**
37
  * Manager constructor.
38
  *
39
+ * @param Wbcr_Factory428_Plugin $plugin
40
  * @param array $settings
41
  *
42
  * @throws Exception
43
  */
44
+ public function __construct( Wbcr_Factory428_Plugin $plugin, array $settings ) {
45
  $this->plugin = $plugin;
46
  $this->settings = $settings;
47
  }
48
 
49
  /**
50
+ * @param Wbcr_Factory428_Plugin $plugin
51
  * @param array $settings
52
  *
53
+ * @return \WBCR\Factory_Freemius_116\Premium\Provider
54
  * @throws Exception
55
  */
56
+ public static function instance( Wbcr_Factory428_Plugin $plugin, array $settings ) {
57
  $premium_manager = new Manager( $plugin, $settings );
58
 
59
  return $premium_manager->instance_provider();
62
  /**
63
  * @param $provider_name
64
  *
65
+ * @return \WBCR\Factory_Freemius_116\Premium\Provider
66
  * @throws Exception
67
  */
68
  public function instance_provider() {
70
 
71
  if ( isset( self::$providers[ $provider_name ] ) && class_exists( self::$providers[ $provider_name ] ) ) {
72
  if ( self::$providers[ $provider_name ] instanceof Provider ) {
73
+ throw new Exception( "Provider {$provider_name} must extend the class WBCR\Factory_428\Premium\Provider interface!" );
74
  }
75
 
76
  return new self::$providers[ $provider_name ]( $this->plugin, $this->settings );
libs/factory/core/includes/premium/class-factory-provider-abstract.php CHANGED
@@ -1,9 +1,9 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_427\Premium;
4
 
5
  use Exception;
6
- use Wbcr_Factory427_Plugin;
7
 
8
  // Exit if accessed directly
9
  if( !defined('ABSPATH') ) {
@@ -21,7 +21,7 @@ if( !defined('ABSPATH') ) {
21
  abstract class Provider {
22
 
23
  /**
24
- * @var Wbcr_Factory427_Plugin
25
  */
26
  protected $plugin;
27
 
@@ -38,10 +38,10 @@ abstract class Provider {
38
  /**
39
  * Provider constructor.
40
  *
41
- * @param Wbcr_Factory427_Plugin $plugin
42
  * @param array $settings
43
  */
44
- public function __construct(Wbcr_Factory427_Plugin $plugin, array $settings)
45
  {
46
  $this->plugin = $plugin;
47
  $this->settings = $settings;
@@ -244,7 +244,7 @@ abstract class Provider {
244
  abstract public function get_billing_cycle();
245
 
246
  /**
247
- * @return \WBCR\Factory_427\Premium\Interfaces\License
248
  */
249
  abstract public function get_license();
250
 
1
  <?php
2
 
3
+ namespace WBCR\Factory_428\Premium;
4
 
5
  use Exception;
6
+ use Wbcr_Factory428_Plugin;
7
 
8
  // Exit if accessed directly
9
  if( !defined('ABSPATH') ) {
21
  abstract class Provider {
22
 
23
  /**
24
+ * @var Wbcr_Factory428_Plugin
25
  */
26
  protected $plugin;
27
 
38
  /**
39
  * Provider constructor.
40
  *
41
+ * @param Wbcr_Factory428_Plugin $plugin
42
  * @param array $settings
43
  */
44
+ public function __construct(Wbcr_Factory428_Plugin $plugin, array $settings)
45
  {
46
  $this->plugin = $plugin;
47
  $this->settings = $settings;
244
  abstract public function get_billing_cycle();
245
 
246
  /**
247
+ * @return \WBCR\Factory_428\Premium\Interfaces\License
248
  */
249
  abstract public function get_license();
250
 
libs/factory/core/includes/updates/class-factory-premium-upgrader.php CHANGED
@@ -1,12 +1,12 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_427\Updates;
4
 
5
  use Exception;
6
  use Plugin_Installer_Skin;
7
  use Plugin_Upgrader;
8
- use Wbcr_Factory427_Plugin;
9
- use Wbcr_FactoryPages427_ImpressiveThemplate;
10
  use WP_Filesystem_Base;
11
  use WP_Upgrader;
12
  use WP_Upgrader_Skin;
@@ -37,13 +37,13 @@ class Premium_Upgrader extends Upgrader {
37
  * @param $args
38
  * @param bool $is_premium
39
  *
40
- * @param Wbcr_Factory427_Plugin $plugin
41
  *
42
  * @throws Exception
43
  * @since 4.1.1
44
  *
45
  */
46
- public function __construct(Wbcr_Factory427_Plugin $plugin)
47
  {
48
  parent::__construct($plugin);
49
 
@@ -234,9 +234,9 @@ class Premium_Upgrader extends Upgrader {
234
  /**
235
  * Выводит уведомление внутри интерфейса плагина, на всех страницах плагина.
236
  *
237
- * @param Wbcr_FactoryPages427_ImpressiveThemplate $obj
238
  *
239
- * @param Wbcr_Factory427_Plugin $plugin
240
  *
241
  * @return void
242
  * @since 4.1.1
@@ -791,12 +791,12 @@ class Premium_Upgrader extends Upgrader {
791
  $cancel_license_url = $this->get_action_url('cancel_license');
792
 
793
  $texts = [
794
- 'need_activate_license' => __('License activation required. A license is required to get premium plugin updates, as well as to get additional services.', 'wbcr_factory_427'),
795
- 'need_renew_license' => __('Your license has expired. You can no longer get premium plugin updates, premium support and your access to Webcraftic services has been suspended.', 'wbcr_factory_427'),
796
  'please_install_premium' => sprintf(__('Congratulations, you have activated a premium license! Please install premium add-on to use pro features now.
797
- <a href="%s">Install</a> premium add-on or <a href="%s">cancel</a> license.', 'wbcr_factory_427'), $upgrade_url, $cancel_license_url),
798
  'please_activate_premium' => sprintf(__('Congratulations, you have activated a premium license! Please activate premium add-on to use pro features now.
799
- <a href="%s">Activate</a> premium add-on or <a href="%s">cancel</a> license.', 'wbcr_factory_427'), $activate_plugin_url, $cancel_license_url)
800
  ];
801
 
802
  if( isset($texts[$type]) ) {
1
  <?php
2
 
3
+ namespace WBCR\Factory_428\Updates;
4
 
5
  use Exception;
6
  use Plugin_Installer_Skin;
7
  use Plugin_Upgrader;
8
+ use Wbcr_Factory428_Plugin;
9
+ use Wbcr_FactoryPages428_ImpressiveThemplate;
10
  use WP_Filesystem_Base;
11
  use WP_Upgrader;
12
  use WP_Upgrader_Skin;
37
  * @param $args
38
  * @param bool $is_premium
39
  *
40
+ * @param Wbcr_Factory428_Plugin $plugin
41
  *
42
  * @throws Exception
43
  * @since 4.1.1
44
  *
45
  */
46
+ public function __construct(Wbcr_Factory428_Plugin $plugin)
47
  {
48
  parent::__construct($plugin);
49
 
234
  /**
235
  * Выводит уведомление внутри интерфейса плагина, на всех страницах плагина.
236
  *
237
+ * @param Wbcr_FactoryPages428_ImpressiveThemplate $obj
238
  *
239
+ * @param Wbcr_Factory428_Plugin $plugin
240
  *
241
  * @return void
242
  * @since 4.1.1
791
  $cancel_license_url = $this->get_action_url('cancel_license');
792
 
793
  $texts = [
794
+ 'need_activate_license' => __('License activation required. A license is required to get premium plugin updates, as well as to get additional services.', 'wbcr_factory_428'),
795
+ 'need_renew_license' => __('Your license has expired. You can no longer get premium plugin updates, premium support and your access to Webcraftic services has been suspended.', 'wbcr_factory_428'),
796
  'please_install_premium' => sprintf(__('Congratulations, you have activated a premium license! Please install premium add-on to use pro features now.
797
+ <a href="%s">Install</a> premium add-on or <a href="%s">cancel</a> license.', 'wbcr_factory_428'), $upgrade_url, $cancel_license_url),
798
  'please_activate_premium' => sprintf(__('Congratulations, you have activated a premium license! Please activate premium add-on to use pro features now.
799
+ <a href="%s">Activate</a> premium add-on or <a href="%s">cancel</a> license.', 'wbcr_factory_428'), $activate_plugin_url, $cancel_license_url)
800
  ];
801
 
802
  if( isset($texts[$type]) ) {
libs/factory/core/includes/updates/class-factory-upgrader.php CHANGED
@@ -1,10 +1,10 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_427\Updates;
4
 
5
  use Exception;
6
  use stdClass;
7
- use Wbcr_Factory427_Plugin;
8
 
9
  // Exit if accessed directly
10
  if ( ! defined( 'ABSPATH' ) ) {
@@ -28,8 +28,8 @@ class Upgrader {
28
  * @since 4.1.7
29
  * @var array хранит имя репозитория и его имя класса
30
  * [
31
- * 'wordpress' => 'WBCR\Factory_Freemius_115\Updates\Freemius_Repository',
32
- * 'freemius' => '\WBCR\Factory_427\Updates\Wordpress_Repository'
33
  * ]
34
  */
35
  public static $repositories = [];
@@ -42,7 +42,7 @@ class Upgrader {
42
  protected $type = 'default';
43
 
44
  /**
45
- * @var Wbcr_Factory427_Plugin
46
  */
47
  protected $plugin;
48
 
@@ -90,13 +90,13 @@ class Upgrader {
90
  *
91
  * @since 4.1.1
92
  *
93
- * @param Wbcr_Factory427_Plugin $plugin
94
  * @param $args
95
  * @param bool $is_premium
96
  *
97
  * @throws Exception
98
  */
99
- public function __construct( Wbcr_Factory427_Plugin $plugin ) {
100
 
101
  $this->plugin = $plugin;
102
 
@@ -106,7 +106,7 @@ class Upgrader {
106
  $this->is_debug = defined( 'FACTORY_UPDATES_DEBUG' ) && FACTORY_UPDATES_DEBUG;
107
 
108
  # Добавляем Wordpress репозиторий в список доступных репозиториев по умолчанию
109
- self::$repositories['wordpress'] = '\WBCR\Factory_427\Updates\Wordpress_Repository';
110
 
111
  $settings = $this->get_settings();
112
 
@@ -287,7 +287,7 @@ class Upgrader {
287
 
288
  if ( isset( self::$repositories[ $repository_name ] ) && class_exists( self::$repositories[ $repository_name ] ) ) {
289
  if ( self::$repositories[ $repository_name ] instanceof Repository ) {
290
- throw new Exception( "Repository {$repository_name} must extend the class WBCR\Factory_427\Updates\Repository interface!" );
291
  }
292
 
293
  return new self::$repositories[ $repository_name ]( $this->plugin );
1
  <?php
2
 
3
+ namespace WBCR\Factory_428\Updates;
4
 
5
  use Exception;
6
  use stdClass;
7
+ use Wbcr_Factory428_Plugin;
8
 
9
  // Exit if accessed directly
10
  if ( ! defined( 'ABSPATH' ) ) {
28
  * @since 4.1.7
29
  * @var array хранит имя репозитория и его имя класса
30
  * [
31
+ * 'wordpress' => 'WBCR\Factory_Freemius_116\Updates\Freemius_Repository',
32
+ * 'freemius' => '\WBCR\Factory_428\Updates\Wordpress_Repository'
33
  * ]
34
  */
35
  public static $repositories = [];
42
  protected $type = 'default';
43
 
44
  /**
45
+ * @var Wbcr_Factory428_Plugin
46
  */
47
  protected $plugin;
48
 
90
  *
91
  * @since 4.1.1
92
  *
93
+ * @param Wbcr_Factory428_Plugin $plugin
94
  * @param $args
95
  * @param bool $is_premium
96
  *
97
  * @throws Exception
98
  */
99
+ public function __construct( Wbcr_Factory428_Plugin $plugin ) {
100
 
101
  $this->plugin = $plugin;
102
 
106
  $this->is_debug = defined( 'FACTORY_UPDATES_DEBUG' ) && FACTORY_UPDATES_DEBUG;
107
 
108
  # Добавляем Wordpress репозиторий в список доступных репозиториев по умолчанию
109
+ self::$repositories['wordpress'] = '\WBCR\Factory_428\Updates\Wordpress_Repository';
110
 
111
  $settings = $this->get_settings();
112
 
287
 
288
  if ( isset( self::$repositories[ $repository_name ] ) && class_exists( self::$repositories[ $repository_name ] ) ) {
289
  if ( self::$repositories[ $repository_name ] instanceof Repository ) {
290
+ throw new Exception( "Repository {$repository_name} must extend the class WBCR\Factory_428\Updates\Repository interface!" );
291
  }
292
 
293
  return new self::$repositories[ $repository_name ]( $this->plugin );
libs/factory/core/includes/updates/repositories/class-factory-repository-abstract.php CHANGED
@@ -1,9 +1,9 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_427\Updates;
4
 
5
  // Exit if accessed directly
6
- use Wbcr_Factory427_Plugin;
7
 
8
  if ( ! defined( 'ABSPATH' ) ) {
9
  exit;
@@ -23,17 +23,17 @@ abstract class Repository {
23
  protected $initialized = false;
24
 
25
  /**
26
- * @var Wbcr_Factory427_Plugin
27
  */
28
  protected $plugin;
29
 
30
  /**
31
  * Repository constructor.
32
  *
33
- * @param Wbcr_Factory427_Plugin $plugin
34
  * @param bool $is_premium
35
  */
36
- abstract public function __construct( Wbcr_Factory427_Plugin $plugin );
37
 
38
  /**
39
  * @return void
1
  <?php
2
 
3
+ namespace WBCR\Factory_428\Updates;
4
 
5
  // Exit if accessed directly
6
+ use Wbcr_Factory428_Plugin;
7
 
8
  if ( ! defined( 'ABSPATH' ) ) {
9
  exit;
23
  protected $initialized = false;
24
 
25
  /**
26
+ * @var Wbcr_Factory428_Plugin
27
  */
28
  protected $plugin;
29
 
30
  /**
31
  * Repository constructor.
32
  *
33
+ * @param Wbcr_Factory428_Plugin $plugin
34
  * @param bool $is_premium
35
  */
36
+ abstract public function __construct( Wbcr_Factory428_Plugin $plugin );
37
 
38
  /**
39
  * @return void
libs/factory/core/includes/updates/repositories/class-factory-wordpress.php CHANGED
@@ -1,9 +1,9 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_427\Updates;
4
 
5
  // Exit if accessed directly
6
- use Wbcr_Factory427_Plugin;
7
 
8
  if ( ! defined( 'ABSPATH' ) ) {
9
  exit;
@@ -20,10 +20,10 @@ class Wordpress_Repository extends Repository {
20
  /**
21
  * Wordpress constructor.
22
  *
23
- * @param Wbcr_Factory427_Plugin $plugin
24
  * @param bool $is_premium
25
  */
26
- public function __construct( Wbcr_Factory427_Plugin $plugin ) {
27
  $this->plugin = $plugin;
28
  }
29
 
1
  <?php
2
 
3
+ namespace WBCR\Factory_428\Updates;
4
 
5
  // Exit if accessed directly
6
+ use Wbcr_Factory428_Plugin;
7
 
8
  if ( ! defined( 'ABSPATH' ) ) {
9
  exit;
20
  /**
21
  * Wordpress constructor.
22
  *
23
+ * @param Wbcr_Factory428_Plugin $plugin
24
  * @param bool $is_premium
25
  */
26
+ public function __construct( Wbcr_Factory428_Plugin $plugin ) {
27
  $this->plugin = $plugin;
28
  }
29
 
libs/factory/core/langs/{wbcr_factory_427-ru_RU.mo → wbcr_factory_428-ru_RU.mo} RENAMED
File without changes
libs/factory/core/langs/{wbcr_factory_427-ru_RU.po → wbcr_factory_428-ru_RU.po} RENAMED
File without changes
libs/factory/forms/boot.php CHANGED
@@ -22,175 +22,175 @@ if( !is_admin() ) {
22
 
23
  // checks if the module is already loaded in order to
24
  // prevent loading the same version of the module twice.
25
- if( defined('FACTORY_FORMS_425_LOADED') ) {
26
  return;
27
  }
28
 
29
- define('FACTORY_FORMS_425_LOADED', true);
30
 
31
- define('FACTORY_FORMS_425_VERSION', '4.2.5');
32
 
33
  // absolute path and URL to the files and resources of the module.
34
- define('FACTORY_FORMS_425_DIR', dirname(__FILE__));
35
- define('FACTORY_FORMS_425_URL', plugins_url(null, __FILE__));
36
 
37
  #comp merge
38
- require_once(FACTORY_FORMS_425_DIR . '/includes/providers/value-provider.interface.php');
39
- require_once(FACTORY_FORMS_425_DIR . '/includes/providers/meta-value-provider.class.php');
40
- require_once(FACTORY_FORMS_425_DIR . '/includes/providers/options-value-provider.class.php');
41
 
42
- require_once(FACTORY_FORMS_425_DIR . '/includes/form.class.php');
43
  #endcomp
44
 
45
- load_plugin_textdomain('wbcr_factory_forms_425', false, dirname(plugin_basename(__FILE__)) . '/langs');
46
 
47
  /**
48
  * We add this code into the hook because all these controls quite heavy. So in order to get better perfomance,
49
  * we load the form controls only on pages where the forms are created.
50
  *
51
  * @since 3.0.7
52
- * @see the 'wbcr_factory_forms_425_register_controls' hook
53
  *
54
  */
55
- if( !function_exists('wbcr_factory_forms_425_register_default_controls') ) {
56
 
57
  /**
58
- * @param Wbcr_Factory427_Plugin $plugin
59
  *
60
  * @throws Exception
61
  */
62
- function wbcr_factory_forms_425_register_default_controls(Wbcr_Factory427_Plugin $plugin)
63
  {
64
 
65
  if( $plugin && !isset($plugin->forms) ) {
66
  throw new Exception("The module Factory Forms is not loaded for the plugin '{$plugin->getPluginName()}'.");
67
  }
68
 
69
- require_once(FACTORY_FORMS_425_DIR . '/includes/html-builder.class.php');
70
- require_once(FACTORY_FORMS_425_DIR . '/includes/form-element.class.php');
71
- require_once(FACTORY_FORMS_425_DIR . '/includes/control.class.php');
72
- require_once(FACTORY_FORMS_425_DIR . '/includes/complex-control.class.php');
73
- require_once(FACTORY_FORMS_425_DIR . '/includes/holder.class.php');
74
- require_once(FACTORY_FORMS_425_DIR . '/includes/control-holder.class.php');
75
- require_once(FACTORY_FORMS_425_DIR . '/includes/custom-element.class.php');
76
- require_once(FACTORY_FORMS_425_DIR . '/includes/form-layout.class.php');
77
 
78
  // registration of controls
79
  $plugin->forms->registerControls([
80
  [
81
  'type' => 'checkbox',
82
- 'class' => 'Wbcr_FactoryForms425_CheckboxControl',
83
- 'include' => FACTORY_FORMS_425_DIR . '/controls/checkbox.php'
84
  ],
85
  [
86
  'type' => 'list',
87
- 'class' => 'Wbcr_FactoryForms425_ListControl',
88
- 'include' => FACTORY_FORMS_425_DIR . '/controls/list.php'
89
  ],
90
  [
91
  'type' => 'dropdown',
92
- 'class' => 'Wbcr_FactoryForms425_DropdownControl',
93
- 'include' => FACTORY_FORMS_425_DIR . '/controls/dropdown.php'
94
  ],
95
  [
96
  'type' => 'dropdown-and-colors',
97
- 'class' => 'Wbcr_FactoryForms425_DropdownAndColorsControl',
98
- 'include' => FACTORY_FORMS_425_DIR . '/controls/dropdown-and-colors.php'
99
  ],
100
  [
101
  'type' => 'hidden',
102
- 'class' => 'Wbcr_FactoryForms425_HiddenControl',
103
- 'include' => FACTORY_FORMS_425_DIR . '/controls/hidden.php'
104
  ],
105
  [
106
  'type' => 'hidden',
107
- 'class' => 'Wbcr_FactoryForms425_HiddenControl',
108
- 'include' => FACTORY_FORMS_425_DIR . '/controls/hidden.php'
109
  ],
110
  [
111
  'type' => 'radio',
112
- 'class' => 'Wbcr_FactoryForms425_RadioControl',
113
- 'include' => FACTORY_FORMS_425_DIR . '/controls/radio.php'
114
  ],
115
  [
116
  'type' => 'radio-colors',
117
- 'class' => 'Wbcr_FactoryForms425_RadioColorsControl',
118
- 'include' => FACTORY_FORMS_425_DIR . '/controls/radio-colors.php'
119
  ],
120
  [
121
  'type' => 'textarea',
122
- 'class' => 'Wbcr_FactoryForms425_TextareaControl',
123
- 'include' => FACTORY_FORMS_425_DIR . '/controls/textarea.php'
124
  ],
125
  [
126
  'type' => 'textbox',
127
- 'class' => 'Wbcr_FactoryForms425_TextboxControl',
128
- 'include' => FACTORY_FORMS_425_DIR . '/controls/textbox.php'
129
  ],
130
  [
131
  'type' => 'multiple-textbox',
132
- 'class' => 'Wbcr_FactoryForms425_MultipleTextboxControl',
133
- 'include' => FACTORY_FORMS_425_DIR . '/controls/multiple-textbox.php'
134
  ],
135
  [
136
  'type' => 'datetimepicker-range',
137
- 'class' => 'Wbcr_FactoryForms425_DatepickerRangeControl',
138
- 'include' => FACTORY_FORMS_425_DIR . '/controls/datepicker-range.php'
139
  ],
140
  [
141
  'type' => 'url',
142
- 'class' => 'Wbcr_FactoryForms425_UrlControl',
143
- 'include' => FACTORY_FORMS_425_DIR . '/controls/url.php'
144
  ],
145
  [
146
  'type' => 'wp-editor',
147
- 'class' => 'Wbcr_FactoryForms425_WpEditorControl',
148
- 'include' => FACTORY_FORMS_425_DIR . '/controls/wp-editor.php'
149
  ],
150
  [
151
  'type' => 'color',
152
- 'class' => 'Wbcr_FactoryForms425_ColorControl',
153
- 'include' => FACTORY_FORMS_425_DIR . '/controls/color.php'
154
  ],
155
  [
156
  'type' => 'color-and-opacity',
157
- 'class' => 'Wbcr_FactoryForms425_ColorAndOpacityControl',
158
- 'include' => FACTORY_FORMS_425_DIR . '/controls/color-and-opacity.php'
159
  ],
160
  [
161
  'type' => 'gradient',
162
- 'class' => 'Wbcr_FactoryForms425_GradientControl',
163
- 'include' => FACTORY_FORMS_425_DIR . '/controls/gradient.php'
164
  ],
165
  [
166
  'type' => 'font',
167
- 'class' => 'Wbcr_FactoryForms425_FontControl',
168
- 'include' => FACTORY_FORMS_425_DIR . '/controls/font.php'
169
  ],
170
  [
171
  'type' => 'google-font',
172
- 'class' => 'Wbcr_FactoryForms425_GoogleFontControl',
173
- 'include' => FACTORY_FORMS_425_DIR . '/controls/google-font.php'
174
  ],
175
  [
176
  'type' => 'pattern',
177
- 'class' => 'Wbcr_FactoryForms425_PatternControl',
178
- 'include' => FACTORY_FORMS_425_DIR . '/controls/pattern.php'
179
  ],
180
  [
181
  'type' => 'integer',
182
- 'class' => 'Wbcr_FactoryForms425_IntegerControl',
183
- 'include' => FACTORY_FORMS_425_DIR . '/controls/integer.php'
184
  ],
185
  [
186
  'type' => 'control-group',
187
- 'class' => 'Wbcr_FactoryForms425_ControlGroupHolder',
188
- 'include' => FACTORY_FORMS_425_DIR . '/controls/holders/control-group.php'
189
  ],
190
  [
191
  'type' => 'paddings-editor',
192
- 'class' => 'Wbcr_FactoryForms425_PaddingsEditorControl',
193
- 'include' => FACTORY_FORMS_425_DIR . '/controls/paddings-editor.php'
194
  ],
195
  ]);
196
 
@@ -198,53 +198,53 @@ if( !function_exists('wbcr_factory_forms_425_register_default_controls') ) {
198
  $plugin->forms->registerHolders([
199
  [
200
  'type' => 'tab',
201
- 'class' => 'Wbcr_FactoryForms425_TabHolder',
202
- 'include' => FACTORY_FORMS_425_DIR . '/controls/holders/tab.php'
203
  ],
204
  [
205
  'type' => 'tab-item',
206
- 'class' => 'Wbcr_FactoryForms425_TabItemHolder',
207
- 'include' => FACTORY_FORMS_425_DIR . '/controls/holders/tab-item.php'
208
  ],
209
  [
210
  'type' => 'accordion',
211
- 'class' => 'Wbcr_FactoryForms425_AccordionHolder',
212
- 'include' => FACTORY_FORMS_425_DIR . '/controls/holders/accordion.php'
213
  ],
214
  [
215
  'type' => 'accordion-item',
216
- 'class' => 'Wbcr_FactoryForms425_AccordionItemHolder',
217
- 'include' => FACTORY_FORMS_425_DIR . '/controls/holders/accordion-item.php'
218
  ],
219
  [
220
  'type' => 'control-group',
221
- 'class' => 'Wbcr_FactoryForms425_ControlGroupHolder',
222
- 'include' => FACTORY_FORMS_425_DIR . '/controls/holders/control-group.php'
223
  ],
224
  [
225
  'type' => 'control-group-item',
226
- 'class' => 'Wbcr_FactoryForms425_ControlGroupItem',
227
- 'include' => FACTORY_FORMS_425_DIR . '/controls/holders/control-group-item.php'
228
  ],
229
  [
230
  'type' => 'form-group',
231
- 'class' => 'Wbcr_FactoryForms425_FormGroupHolder',
232
- 'include' => FACTORY_FORMS_425_DIR . '/controls/holders/form-group.php'
233
  ],
234
  [
235
  'type' => 'more-link',
236
- 'class' => 'Wbcr_FactoryForms425_MoreLinkHolder',
237
- 'include' => FACTORY_FORMS_425_DIR . '/controls/holders/more-link.php'
238
  ],
239
  [
240
  'type' => 'div',
241
- 'class' => 'Wbcr_FactoryForms425_DivHolder',
242
- 'include' => FACTORY_FORMS_425_DIR . '/controls/holders/div.php'
243
  ],
244
  [
245
  'type' => 'columns',
246
- 'class' => 'Wbcr_FactoryForms425_ColumnsHolder',
247
- 'include' => FACTORY_FORMS_425_DIR . '/controls/holders/columns.php'
248
  ]
249
  ]);
250
 
@@ -252,23 +252,23 @@ if( !function_exists('wbcr_factory_forms_425_register_default_controls') ) {
252
  $plugin->forms->registerCustomElements([
253
  [
254
  'type' => 'html',
255
- 'class' => 'Wbcr_FactoryForms425_Html',
256
- 'include' => FACTORY_FORMS_425_DIR . '/controls/customs/html.php',
257
  ],
258
  [
259
  'type' => 'separator',
260
- 'class' => 'Wbcr_FactoryForms425_Separator',
261
- 'include' => FACTORY_FORMS_425_DIR . '/controls/customs/separator.php',
262
  ],
263
  ]);
264
 
265
  // registration of form layouts
266
  $plugin->forms->registerFormLayout([
267
  'name' => 'bootstrap-3',
268
- 'class' => 'Wbcr_FactoryForms425_Bootstrap3FormLayout',
269
- 'include' => FACTORY_FORMS_425_DIR . '/layouts/bootstrap-3/bootstrap-3.php'
270
  ]);
271
  }
272
 
273
- add_action('wbcr_factory_forms_425_register_controls', 'wbcr_factory_forms_425_register_default_controls');
274
  }
22
 
23
  // checks if the module is already loaded in order to
24
  // prevent loading the same version of the module twice.
25
+ if( defined('FACTORY_FORMS_426_LOADED') ) {
26
  return;
27
  }
28
 
29
+ define('FACTORY_FORMS_426_LOADED', true);
30
 
31
+ define('FACTORY_FORMS_426_VERSION', '4.2.6');
32
 
33
  // absolute path and URL to the files and resources of the module.
34
+ define('FACTORY_FORMS_426_DIR', dirname(__FILE__));
35
+ define('FACTORY_FORMS_426_URL', plugins_url(null, __FILE__));
36
 
37
  #comp merge
38
+ require_once(FACTORY_FORMS_426_DIR . '/includes/providers/value-provider.interface.php');
39
+ require_once(FACTORY_FORMS_426_DIR . '/includes/providers/meta-value-provider.class.php');
40
+ require_once(FACTORY_FORMS_426_DIR . '/includes/providers/options-value-provider.class.php');
41
 
42
+ require_once(FACTORY_FORMS_426_DIR . '/includes/form.class.php');
43
  #endcomp
44
 
45
+ load_plugin_textdomain('wbcr_factory_forms_426', false, dirname(plugin_basename(__FILE__)) . '/langs');
46
 
47
  /**
48
  * We add this code into the hook because all these controls quite heavy. So in order to get better perfomance,
49
  * we load the form controls only on pages where the forms are created.
50
  *
51
  * @since 3.0.7
52
+ * @see the 'wbcr_factory_forms_426_register_controls' hook
53
  *
54
  */
55
+ if( !function_exists('wbcr_factory_forms_426_register_default_controls') ) {
56
 
57
  /**
58
+ * @param Wbcr_Factory428_Plugin $plugin
59
  *
60
  * @throws Exception
61
  */
62
+ function wbcr_factory_forms_426_register_default_controls(Wbcr_Factory428_Plugin $plugin)
63
  {
64
 
65
  if( $plugin && !isset($plugin->forms) ) {
66
  throw new Exception("The module Factory Forms is not loaded for the plugin '{$plugin->getPluginName()}'.");
67
  }
68
 
69
+ require_once(FACTORY_FORMS_426_DIR . '/includes/html-builder.class.php');
70
+ require_once(FACTORY_FORMS_426_DIR . '/includes/form-element.class.php');
71
+ require_once(FACTORY_FORMS_426_DIR . '/includes/control.class.php');
72
+ require_once(FACTORY_FORMS_426_DIR . '/includes/complex-control.class.php');
73
+ require_once(FACTORY_FORMS_426_DIR . '/includes/holder.class.php');
74
+ require_once(FACTORY_FORMS_426_DIR . '/includes/control-holder.class.php');
75
+ require_once(FACTORY_FORMS_426_DIR . '/includes/custom-element.class.php');
76
+ require_once(FACTORY_FORMS_426_DIR . '/includes/form-layout.class.php');
77
 
78
  // registration of controls
79
  $plugin->forms->registerControls([
80
  [
81
  'type' => 'checkbox',
82
+ 'class' => 'Wbcr_FactoryForms426_CheckboxControl',
83
+ 'include' => FACTORY_FORMS_426_DIR . '/controls/checkbox.php'
84
  ],
85
  [
86
  'type' => 'list',
87
+ 'class' => 'Wbcr_FactoryForms426_ListControl',
88
+ 'include' => FACTORY_FORMS_426_DIR . '/controls/list.php'
89
  ],
90
  [
91
  'type' => 'dropdown',
92
+ 'class' => 'Wbcr_FactoryForms426_DropdownControl',
93
+ 'include' => FACTORY_FORMS_426_DIR . '/controls/dropdown.php'
94
  ],
95
  [
96
  'type' => 'dropdown-and-colors',
97
+ 'class' => 'Wbcr_FactoryForms426_DropdownAndColorsControl',
98
+ 'include' => FACTORY_FORMS_426_DIR . '/controls/dropdown-and-colors.php'
99
  ],
100
  [
101
  'type' => 'hidden',
102
+ 'class' => 'Wbcr_FactoryForms426_HiddenControl',
103
+ 'include' => FACTORY_FORMS_426_DIR . '/controls/hidden.php'
104
  ],
105
  [
106
  'type' => 'hidden',
107
+ 'class' => 'Wbcr_FactoryForms426_HiddenControl',
108
+ 'include' => FACTORY_FORMS_426_DIR . '/controls/hidden.php'
109
  ],
110
  [
111
  'type' => 'radio',
112
+ 'class' => 'Wbcr_FactoryForms426_RadioControl',
113
+ 'include' => FACTORY_FORMS_426_DIR . '/controls/radio.php'
114
  ],
115
  [
116
  'type' => 'radio-colors',
117
+ 'class' => 'Wbcr_FactoryForms426_RadioColorsControl',
118
+ 'include' => FACTORY_FORMS_426_DIR . '/controls/radio-colors.php'
119
  ],
120
  [
121
  'type' => 'textarea',
122
+ 'class' => 'Wbcr_FactoryForms426_TextareaControl',
123
+ 'include' => FACTORY_FORMS_426_DIR . '/controls/textarea.php'
124
  ],
125
  [
126
  'type' => 'textbox',
127
+ 'class' => 'Wbcr_FactoryForms426_TextboxControl',
128
+ 'include' => FACTORY_FORMS_426_DIR . '/controls/textbox.php'
129
  ],
130
  [
131
  'type' => 'multiple-textbox',
132
+ 'class' => 'Wbcr_FactoryForms426_MultipleTextboxControl',
133
+ 'include' => FACTORY_FORMS_426_DIR . '/controls/multiple-textbox.php'
134
  ],
135
  [
136
  'type' => 'datetimepicker-range',
137
+ 'class' => 'Wbcr_FactoryForms426_DatepickerRangeControl',
138
+ 'include' => FACTORY_FORMS_426_DIR . '/controls/datepicker-range.php'
139
  ],
140
  [
141
  'type' => 'url',
142
+ 'class' => 'Wbcr_FactoryForms426_UrlControl',
143
+ 'include' => FACTORY_FORMS_426_DIR . '/controls/url.php'
144
  ],
145
  [
146
  'type' => 'wp-editor',
147
+ 'class' => 'Wbcr_FactoryForms426_WpEditorControl',
148
+ 'include' => FACTORY_FORMS_426_DIR . '/controls/wp-editor.php'
149
  ],
150
  [
151
  'type' => 'color',
152
+ 'class' => 'Wbcr_FactoryForms426_ColorControl',
153
+ 'include' => FACTORY_FORMS_426_DIR . '/controls/color.php'
154
  ],
155
  [
156
  'type' => 'color-and-opacity',
157
+ 'class' => 'Wbcr_FactoryForms426_ColorAndOpacityControl',
158
+ 'include' => FACTORY_FORMS_426_DIR . '/controls/color-and-opacity.php'
159
  ],
160
  [
161
  'type' => 'gradient',
162
+ 'class' => 'Wbcr_FactoryForms426_GradientControl',
163
+ 'include' => FACTORY_FORMS_426_DIR . '/controls/gradient.php'
164
  ],
165
  [
166
  'type' => 'font',
167
+ 'class' => 'Wbcr_FactoryForms426_FontControl',
168
+ 'include' => FACTORY_FORMS_426_DIR . '/controls/font.php'
169
  ],
170
  [
171
  'type' => 'google-font',
172
+ 'class' => 'Wbcr_FactoryForms426_GoogleFontControl',
173
+ 'include' => FACTORY_FORMS_426_DIR . '/controls/google-font.php'
174
  ],
175
  [
176
  'type' => 'pattern',
177
+ 'class' => 'Wbcr_FactoryForms426_PatternControl',
178
+ 'include' => FACTORY_FORMS_426_DIR . '/controls/pattern.php'
179
  ],
180
  [
181
  'type' => 'integer',
182
+ 'class' => 'Wbcr_FactoryForms426_IntegerControl',
183
+ 'include' => FACTORY_FORMS_426_DIR . '/controls/integer.php'
184
  ],
185
  [
186
  'type' => 'control-group',
187
+ 'class' => 'Wbcr_FactoryForms426_ControlGroupHolder',
188
+ 'include' => FACTORY_FORMS_426_DIR . '/controls/holders/control-group.php'
189
  ],
190
  [
191
  'type' => 'paddings-editor',
192
+ 'class' => 'Wbcr_FactoryForms426_PaddingsEditorControl',
193
+ 'include' => FACTORY_FORMS_426_DIR . '/controls/paddings-editor.php'
194
  ],
195
  ]);
196
 
198
  $plugin->forms->registerHolders([
199
  [
200
  'type' => 'tab',
201
+ 'class' => 'Wbcr_FactoryForms426_TabHolder',
202
+ 'include' => FACTORY_FORMS_426_DIR . '/controls/holders/tab.php'
203
  ],
204
  [
205
  'type' => 'tab-item',
206
+ 'class' => 'Wbcr_FactoryForms426_TabItemHolder',
207
+ 'include' => FACTORY_FORMS_426_DIR . '/controls/holders/tab-item.php'
208
  ],
209
  [
210
  'type' => 'accordion',
211
+ 'class' => 'Wbcr_FactoryForms426_AccordionHolder',
212
+ 'include' => FACTORY_FORMS_426_DIR . '/controls/holders/accordion.php'
213
  ],
214
  [
215
  'type' => 'accordion-item',
216
+ 'class' => 'Wbcr_FactoryForms426_AccordionItemHolder',
217
+ 'include' => FACTORY_FORMS_426_DIR . '/controls/holders/accordion-item.php'
218
  ],
219
  [
220
  'type' => 'control-group',
221
+ 'class' => 'Wbcr_FactoryForms426_ControlGroupHolder',
222
+ 'include' => FACTORY_FORMS_426_DIR . '/controls/holders/control-group.php'
223
  ],
224
  [
225
  'type' => 'control-group-item',
226
+ 'class' => 'Wbcr_FactoryForms426_ControlGroupItem',
227
+ 'include' => FACTORY_FORMS_426_DIR . '/controls/holders/control-group-item.php'
228
  ],
229
  [
230
  'type' => 'form-group',
231
+ 'class' => 'Wbcr_FactoryForms426_FormGroupHolder',
232
+ 'include' => FACTORY_FORMS_426_DIR . '/controls/holders/form-group.php'
233
  ],
234
  [
235
  'type' => 'more-link',
236
+ 'class' => 'Wbcr_FactoryForms426_MoreLinkHolder',
237
+ 'include' => FACTORY_FORMS_426_DIR . '/controls/holders/more-link.php'
238
  ],
239
  [
240
  'type' => 'div',
241
+ 'class' => 'Wbcr_FactoryForms426_DivHolder',
242
+ 'include' => FACTORY_FORMS_426_DIR . '/controls/holders/div.php'
243
  ],
244
  [
245
  'type' => 'columns',
246
+ 'class' => 'Wbcr_FactoryForms426_ColumnsHolder',
247
+ 'include' => FACTORY_FORMS_426_DIR . '/controls/holders/columns.php'
248
  ]
249
  ]);
250
 
252
  $plugin->forms->registerCustomElements([
253
  [
254
  'type' => 'html',
255
+ 'class' => 'Wbcr_FactoryForms426_Html',
256
+ 'include' => FACTORY_FORMS_426_DIR . '/controls/customs/html.php',
257
  ],
258
  [
259
  'type' => 'separator',
260
+ 'class' => 'Wbcr_FactoryForms426_Separator',
261
+ 'include' => FACTORY_FORMS_426_DIR . '/controls/customs/separator.php',
262
  ],
263
  ]);
264
 
265
  // registration of form layouts
266
  $plugin->forms->registerFormLayout([
267
  'name' => 'bootstrap-3',
268
+ 'class' => 'Wbcr_FactoryForms426_Bootstrap3FormLayout',
269
+ 'include' => FACTORY_FORMS_426_DIR . '/layouts/bootstrap-3/bootstrap-3.php'
270
  ]);
271
  }
272
 
273
+ add_action('wbcr_factory_forms_426_register_controls', 'wbcr_factory_forms_426_register_default_controls');
274
  }
libs/factory/forms/controls/checkbox.php CHANGED
@@ -20,9 +20,9 @@
20
  exit;
21
  }
22
 
23
- if( !class_exists('Wbcr_FactoryForms425_CheckboxControl') ) {
24
 
25
- class Wbcr_FactoryForms425_CheckboxControl extends Wbcr_FactoryForms425_Control {
26
 
27
  public $type = 'checkbox';
28
 
@@ -130,10 +130,10 @@
130
  <div <?php $this->attrs() ?>>
131
  <button type="button" class="btn btn-default btn-small btn-sm factory-on <?php if( $value ) {
132
  echo 'active';
133
- } ?>"><?php _e('On', 'wbcr_factory_forms_425') ?></button>
134
  <button type="button" class="btn btn-default btn-small btn-sm factory-off <?php if( !$value ) {
135
  echo 'active';
136
- } ?>" data-value="0"><?php _e('Off', 'wbcr_factory_forms_425') ?></button>
137
  <input type="checkbox" style="display: none" id="<?php echo $name_on_form ?>" class="factory-result" name="<?php echo $name_on_form ?>" value="<?= $value ?>" <?php if( $value ) {
138
  echo 'checked="checked"';
139
  } ?>" />
20
  exit;
21
  }
22
 
23
+ if( !class_exists('Wbcr_FactoryForms426_CheckboxControl') ) {
24
 
25
+ class Wbcr_FactoryForms426_CheckboxControl extends Wbcr_FactoryForms426_Control {
26
 
27
  public $type = 'checkbox';
28
 
130
  <div <?php $this->attrs() ?>>
131
  <button type="button" class="btn btn-default btn-small btn-sm factory-on <?php if( $value ) {
132
  echo 'active';
133
+ } ?>"><?php _e('On', 'wbcr_factory_forms_426') ?></button>
134
  <button type="button" class="btn btn-default btn-small btn-sm factory-off <?php if( !$value ) {
135
  echo 'active';
136
+ } ?>" data-value="0"><?php _e('Off', 'wbcr_factory_forms_426') ?></button>
137
  <input type="checkbox" style="display: none" id="<?php echo $name_on_form ?>" class="factory-result" name="<?php echo $name_on_form ?>" value="<?= $value ?>" <?php if( $value ) {
138
  echo 'checked="checked"';
139
  } ?>" />
libs/factory/forms/controls/color-and-opacity.php CHANGED
@@ -20,10 +20,10 @@
20
  exit;
21
  }
22
 
23
- if( !class_exists('Wbcr_FactoryForms425_ColorAndOpacityControl') ) {
24
  }
25
 
26
- class Wbcr_FactoryForms425_ColorAndOpacityControl extends Wbcr_FactoryForms425_ComplexControl {
27
 
28
  public $type = 'color-and-opacity';
29
 
@@ -57,8 +57,8 @@
57
  'way' => 'slider'
58
  ));
59
 
60
- $this->color = new Wbcr_FactoryForms425_ColorControl($options['color'], $form, $provider);
61
- $this->opacity = new Wbcr_FactoryForms425_IntegerControl($options['opacity'], $form, $provider);
62
 
63
  $this->innerControls = array($this->color, $this->opacity);
64
  }
20
  exit;
21
  }
22
 
23
+ if( !class_exists('Wbcr_FactoryForms426_ColorAndOpacityControl') ) {
24
  }
25
 
26
+ class Wbcr_FactoryForms426_ColorAndOpacityControl extends Wbcr_FactoryForms426_ComplexControl {
27
 
28
  public $type = 'color-and-opacity';
29
 
57
  'way' => 'slider'
58
  ));
59
 
60
+ $this->color = new Wbcr_FactoryForms426_ColorControl($options['color'], $form, $provider);
61
+ $this->opacity = new Wbcr_FactoryForms426_IntegerControl($options['opacity'], $form, $provider);
62
 
63
  $this->innerControls = array($this->color, $this->opacity);
64
  }
libs/factory/forms/controls/color.php CHANGED
@@ -20,9 +20,9 @@
20
  exit;
21
  }
22
 
23
- if( !class_exists('Wbcr_FactoryForms425_ColorControl') ) {
24
 
25
- class Wbcr_FactoryForms425_ColorControl extends Wbcr_FactoryForms425_Control {
26
 
27
  public $type = 'color';
28
 
20
  exit;
21
  }
22
 
23
+ if( !class_exists('Wbcr_FactoryForms426_ColorControl') ) {
24
 
25
+ class Wbcr_FactoryForms426_ColorControl extends Wbcr_FactoryForms426_Control {
26
 
27
  public $type = 'color';
28
 
libs/factory/forms/controls/customs/html.php CHANGED
@@ -14,9 +14,9 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms425_Html') ) {
18
 
19
- class Wbcr_FactoryForms425_Html extends Wbcr_FactoryForms425_CustomElement {
20
 
21
  public $type = 'html';
22
 
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms426_Html') ) {
18
 
19
+ class Wbcr_FactoryForms426_Html extends Wbcr_FactoryForms426_CustomElement {
20
 
21
  public $type = 'html';
22
 
libs/factory/forms/controls/customs/separator.php CHANGED
@@ -14,8 +14,8 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms425_Separator') ) {
18
- class Wbcr_FactoryForms425_Separator extends Wbcr_FactoryForms425_CustomElement {
19
 
20
  public $type = 'separator';
21
 
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms426_Separator') ) {
18
+ class Wbcr_FactoryForms426_Separator extends Wbcr_FactoryForms426_CustomElement {
19
 
20
  public $type = 'separator';
21
 
libs/factory/forms/controls/datepicker-range.php CHANGED
@@ -29,9 +29,9 @@
29
  exit;
30
  }
31
 
32
- if( !class_exists('Wbcr_FactoryForms425_DatepickerRangeControl') ) {
33
 
34
- class Wbcr_FactoryForms425_DatepickerRangeControl extends Wbcr_FactoryForms425_ComplexControl {
35
 
36
  public $type = 'datetimepicker-range';
37
 
@@ -65,8 +65,8 @@
65
  'default' => date('Y/m/d H:i', strtotime("+1 month"))
66
  ), $options['range_2']);
67
 
68
- $this->range_1 = new Wbcr_FactoryForms425_TextboxControl($options['range_1'], $form, $provider);
69
- $this->range_2 = new Wbcr_FactoryForms425_TextboxControl($options['range_2'], $form, $provider);
70
  $this->inner_controls = array($this->range_1, $this->range_2);
71
 
72
  foreach($this->inner_controls as $key => $control) {
29
  exit;
30
  }
31
 
32
+ if( !class_exists('Wbcr_FactoryForms426_DatepickerRangeControl') ) {
33
 
34
+ class Wbcr_FactoryForms426_DatepickerRangeControl extends Wbcr_FactoryForms426_ComplexControl {
35
 
36
  public $type = 'datetimepicker-range';
37
 
65
  'default' => date('Y/m/d H:i', strtotime("+1 month"))
66
  ), $options['range_2']);
67
 
68
+ $this->range_1 = new Wbcr_FactoryForms426_TextboxControl($options['range_1'], $form, $provider);
69
+ $this->range_2 = new Wbcr_FactoryForms426_TextboxControl($options['range_2'], $form, $provider);
70
  $this->inner_controls = array($this->range_1, $this->range_2);
71
 
72
  foreach($this->inner_controls as $key => $control) {
libs/factory/forms/controls/dropdown-and-colors.php CHANGED
@@ -5,14 +5,14 @@
5
  *
6
  * Main options:
7
  * name => a name of the control
8
- * // see FactoryForms425_DropdownControl
9
  * 'dropdown' => array(
10
  * // a callback to return items or an array of items to select
11
  * 'data' => OPanda_ThemeManager::getThemes(OPanda_Items::getCurrentItemName(), 'dropdown'),
12
  * 'default' => 'default',
13
  * 'value' => 'value' // a value to show in the control
14
  * ),
15
- * // see FactoryForms425_RadioColorsControl
16
  * 'colors' => array(
17
  * // a callback to return items or an array of items to select
18
  * 'data' => array(
@@ -37,9 +37,9 @@
37
  exit;
38
  }
39
 
40
- if( !class_exists('Wbcr_FactoryForms425_DropdownAndColorsControl') ) {
41
 
42
- class Wbcr_FactoryForms425_DropdownAndColorsControl extends Wbcr_FactoryForms425_ComplexControl {
43
 
44
  public $type = 'dropdown-and-colors';
45
 
@@ -69,8 +69,8 @@
69
  'name' => $this->options['name'] . '__colors',
70
  ));
71
 
72
- $this->dropdown = new Wbcr_FactoryForms425_DropdownControl($options['dropdown'], $form, $provider);
73
- $this->colors = new Wbcr_FactoryForms425_RadioColorsControl($options['colors'], $form, $provider);
74
  $this->inner_controls = array($this->dropdown, $this->colors);
75
 
76
  $colors = $this->colors->getOption('data');
5
  *
6
  * Main options:
7
  * name => a name of the control
8
+ * // see FactoryForms426_DropdownControl
9
  * 'dropdown' => array(
10
  * // a callback to return items or an array of items to select
11
  * 'data' => OPanda_ThemeManager::getThemes(OPanda_Items::getCurrentItemName(), 'dropdown'),
12
  * 'default' => 'default',
13
  * 'value' => 'value' // a value to show in the control
14
  * ),
15
+ * // see FactoryForms426_RadioColorsControl
16
  * 'colors' => array(
17
  * // a callback to return items or an array of items to select
18
  * 'data' => array(
37
  exit;
38
  }
39
 
40
+ if( !class_exists('Wbcr_FactoryForms426_DropdownAndColorsControl') ) {
41
 
42
+ class Wbcr_FactoryForms426_DropdownAndColorsControl extends Wbcr_FactoryForms426_ComplexControl {
43
 
44
  public $type = 'dropdown-and-colors';
45
 
69
  'name' => $this->options['name'] . '__colors',
70
  ));
71
 
72
+ $this->dropdown = new Wbcr_FactoryForms426_DropdownControl($options['dropdown'], $form, $provider);
73
+ $this->colors = new Wbcr_FactoryForms426_RadioColorsControl($options['colors'], $form, $provider);
74
  $this->inner_controls = array($this->dropdown, $this->colors);
75
 
76
  $colors = $this->colors->getOption('data');
libs/factory/forms/controls/dropdown.php CHANGED
@@ -21,9 +21,9 @@
21
  exit;
22
  }
23
 
24
- if ( ! class_exists( 'Wbcr_FactoryForms425_DropdownControl' ) ) {
25
 
26
- class Wbcr_FactoryForms425_DropdownControl extends Wbcr_FactoryForms425_Control {
27
 
28
  public $type = 'dropdown';
29
 
@@ -123,7 +123,7 @@
123
  'url': '<?php echo $data['url'] ?>',
124
  'data': <?php echo json_encode( $data['data'] ) ?>,
125
  'selected': '<?php echo $value ?>',
126
- 'empty_list': '<?php echo $this->getOption( 'empty', __( 'The list is empty.', 'wbcr_factory_forms_425' ) ) ?>'
127
  };
128
  </script>
129
  <?php
@@ -268,7 +268,7 @@
268
  }
269
 
270
  $is_empty = $this->isAjax() || empty( $items );
271
- $empty_list = $this->getOption( 'empty', __( '- empty -', 'wbcr_factory_forms_425' ) );
272
 
273
  ?>
274
  <select <?php $this->attrs() ?>>
@@ -349,7 +349,7 @@
349
  }
350
 
351
  $value = isset( $item['value'] ) ? $item['value'] : '';
352
- $title = isset( $item['title'] ) ? $item['title'] : __( '- empty -', 'wbcr_factory_forms_425' );
353
 
354
  $data = isset( $item['data'] ) ? $item['data'] : null;
355
  } else {
21
  exit;
22
  }
23
 
24
+ if ( ! class_exists( 'Wbcr_FactoryForms426_DropdownControl' ) ) {
25
 
26
+ class Wbcr_FactoryForms426_DropdownControl extends Wbcr_FactoryForms426_Control {
27
 
28
  public $type = 'dropdown';
29
 
123
  'url': '<?php echo $data['url'] ?>',
124
  'data': <?php echo json_encode( $data['data'] ) ?>,
125
  'selected': '<?php echo $value ?>',
126
+ 'empty_list': '<?php echo $this->getOption( 'empty', __( 'The list is empty.', 'wbcr_factory_forms_426' ) ) ?>'
127
  };
128
  </script>
129
  <?php
268
  }
269
 
270
  $is_empty = $this->isAjax() || empty( $items );
271
+ $empty_list = $this->getOption( 'empty', __( '- empty -', 'wbcr_factory_forms_426' ) );
272
 
273
  ?>
274
  <select <?php $this->attrs() ?>>
349
  }
350
 
351
  $value = isset( $item['value'] ) ? $item['value'] : '';
352
+ $title = isset( $item['title'] ) ? $item['title'] : __( '- empty -', 'wbcr_factory_forms_426' );
353
 
354
  $data = isset( $item['data'] ) ? $item['data'] : null;
355
  } else {
libs/factory/forms/controls/font.php CHANGED
@@ -20,9 +20,9 @@
20
  exit;
21
  }
22
 
23
- if( !class_exists('Wbcr_FactoryForms425_FontControl') ) {
24
 
25
- class Wbcr_FactoryForms425_FontControl extends Wbcr_FactoryForms425_ComplexControl {
26
 
27
  public $type = 'font';
28
 
@@ -54,9 +54,9 @@
54
  'pickerTarget' => '.factory-control-' . $this->options['name'] . ' .factory-picker-target'
55
  );
56
 
57
- $this->size = new Wbcr_FactoryForms425_IntegerControl($option_font_size, $form, $provider);
58
- $this->family = new Wbcr_FactoryForms425_DropdownControl($option_font_family, $form, $provider);
59
- $this->color = new Wbcr_FactoryForms425_ColorControl($optionFontColor, $form, $provider);
60
 
61
  $this->innerControls = array($this->family, $this->size, $this->color);
62
  }
@@ -66,8 +66,8 @@
66
 
67
  $fonts = $this->getDefaultFonts();
68
 
69
- $fonts = apply_filters('wbcr_factory_forms_425_fonts', $fonts);
70
- $fonts = apply_filters('wbcr_factory_forms_425_fonts-' . $this->options['name'], $fonts);
71
 
72
  return $fonts;
73
  }
@@ -77,10 +77,10 @@
77
 
78
  $fonts = array(
79
 
80
- array('inherit', __('(use default website font)', 'wbcr_factory_forms_425')),
81
  array(
82
  'group',
83
- __('Sans Serif:', 'wbcr_factory_forms_425'),
84
  array(
85
  array('Arial, "Helvetica Neue", Helvetica, sans-serif', 'Arial'),
86
  array('"Arial Black", "Arial Bold", Gadget, sans-serif', 'Arial Black'),
@@ -131,7 +131,7 @@
131
  ),
132
  array(
133
  'group',
134
- __('Serif:', 'wbcr_factory_forms_425'),
135
  array(
136
  array(
137
  'Baskerville, "Baskerville Old Face", "Hoefler Text", Garamond, "Times New Roman", serif',
@@ -187,7 +187,7 @@
187
  ),
188
  array(
189
  'group',
190
- __('Monospaced:', 'wbcr_factory_forms_425'),
191
  array(
192
  array('"Andale Mono", AndaleMono, monospace', 'Andale Mono'),
193
  array('Consolas, monaco, monospace', 'Consolas'),
20
  exit;
21
  }
22
 
23
+ if( !class_exists('Wbcr_FactoryForms426_FontControl') ) {
24
 
25
+ class Wbcr_FactoryForms426_FontControl extends Wbcr_FactoryForms426_ComplexControl {
26
 
27
  public $type = 'font';
28
 
54
  'pickerTarget' => '.factory-control-' . $this->options['name'] . ' .factory-picker-target'
55
  );
56
 
57
+ $this->size = new Wbcr_FactoryForms426_IntegerControl($option_font_size, $form, $provider);
58
+ $this->family = new Wbcr_FactoryForms426_DropdownControl($option_font_family, $form, $provider);
59
+ $this->color = new Wbcr_FactoryForms426_ColorControl($optionFontColor, $form, $provider);
60
 
61
  $this->innerControls = array($this->family, $this->size, $this->color);
62
  }
66
 
67
  $fonts = $this->getDefaultFonts();
68
 
69
+ $fonts = apply_filters('wbcr_factory_forms_426_fonts', $fonts);
70
+ $fonts = apply_filters('wbcr_factory_forms_426_fonts-' . $this->options['name'], $fonts);
71
 
72
  return $fonts;
73
  }
77
 
78
  $fonts = array(
79
 
80
+ array('inherit', __('(use default website font)', 'wbcr_factory_forms_426')),
81
  array(
82
  'group',
83
+ __('Sans Serif:', 'wbcr_factory_forms_426'),
84
  array(
85
  array('Arial, "Helvetica Neue", Helvetica, sans-serif', 'Arial'),
86
  array('"Arial Black", "Arial Bold", Gadget, sans-serif', 'Arial Black'),
131
  ),
132
  array(
133
  'group',
134
+ __('Serif:', 'wbcr_factory_forms_426'),
135
  array(
136
  array(
137
  'Baskerville, "Baskerville Old Face", "Hoefler Text", Garamond, "Times New Roman", serif',
187
  ),
188
  array(
189
  'group',
190
+ __('Monospaced:', 'wbcr_factory_forms_426'),
191
  array(
192
  array('"Andale Mono", AndaleMono, monospace', 'Andale Mono'),
193
  array('Consolas, monaco, monospace', 'Consolas'),
libs/factory/forms/controls/google-font.php CHANGED
@@ -15,7 +15,7 @@
15
  * @package core
16
  * @since 1.0.0
17
  */
18
- class Wbcr_FactoryForms425_GoogleFontControl extends Wbcr_FactoryForms425_FontControl {
19
 
20
  public $type = 'google-font';
21
  const APIKEY = 'AIzaSyB-3vazYv7Q-5QZA04bmSKFrWcw_VhC40w';
@@ -30,7 +30,7 @@
30
  'cssClass' => 'factory-google-font-data'
31
  );
32
 
33
- $this->google_font_data = new Wbcr_FactoryForms425_HiddenControl($option_google_font_data, $form, $provider);
34
  $this->inner_controls[] = $this->google_font_data;
35
  }
36
 
@@ -49,12 +49,12 @@
49
  $google_fonts = $this->getGoogleFonts();
50
 
51
  $fonts = array(
52
- array('inherit', __('(use default website font)', 'wbcr_factory_forms_425'))
53
  );
54
 
55
  $fontsCommon = array(
56
  'group',
57
- __('Standard:', 'wbcr_factory_forms_425'),
58
  array(
59
 
60
  array('Arial, "Helvetica Neue", Helvetica, sans-serif', 'Arial'),
@@ -65,7 +65,7 @@
65
  )
66
  );
67
 
68
- $fontsGoogleFonts = array('group', __('Google Fonts:', 'wbcr_factory_forms_425'), array());
69
 
70
  foreach($google_fonts->items as $item) {
71
 
@@ -115,7 +115,7 @@
115
 
116
  if( is_wp_error($response) ) {
117
 
118
- $this->error = __('Unable to retrieve the list of Google Fonts.', 'wbcr_factory_forms_425');
119
  $this->defailed_error = $response->get_error_message();
120
 
121
  return $body;
@@ -123,7 +123,7 @@
123
 
124
  if( !isset($response['body']) ) {
125
 
126
- $this->error = __('Invalide response from the Google Fonts API.', 'wbcr_factory_forms_425');
127
  $this->defailed_error = $response['body'];
128
 
129
  return $body;
@@ -133,7 +133,7 @@
133
 
134
  if( empty($body->items) ) {
135
 
136
- $this->error = __('Unexpected error. The list of Google Fonts are empty.', 'wbcr_factory_forms_425');
137
 
138
  return $body;
139
  }
15
  * @package core
16
  * @since 1.0.0
17
  */
18
+ class Wbcr_FactoryForms426_GoogleFontControl extends Wbcr_FactoryForms426_FontControl {
19
 
20
  public $type = 'google-font';
21
  const APIKEY = 'AIzaSyB-3vazYv7Q-5QZA04bmSKFrWcw_VhC40w';
30
  'cssClass' => 'factory-google-font-data'
31
  );
32
 
33
+ $this->google_font_data = new Wbcr_FactoryForms426_HiddenControl($option_google_font_data, $form, $provider);
34
  $this->inner_controls[] = $this->google_font_data;
35
  }
36
 
49
  $google_fonts = $this->getGoogleFonts();
50
 
51
  $fonts = array(
52
+ array('inherit', __('(use default website font)', 'wbcr_factory_forms_426'))
53
  );
54
 
55
  $fontsCommon = array(
56
  'group',
57
+ __('Standard:', 'wbcr_factory_forms_426'),
58
  array(
59
 
60
  array('Arial, "Helvetica Neue", Helvetica, sans-serif', 'Arial'),
65
  )
66
  );
67
 
68
+ $fontsGoogleFonts = array('group', __('Google Fonts:', 'wbcr_factory_forms_426'), array());
69
 
70
  foreach($google_fonts->items as $item) {
71
 
115
 
116
  if( is_wp_error($response) ) {
117
 
118
+ $this->error = __('Unable to retrieve the list of Google Fonts.', 'wbcr_factory_forms_426');
119
  $this->defailed_error = $response->get_error_message();
120
 
121
  return $body;
123
 
124
  if( !isset($response['body']) ) {
125
 
126
+ $this->error = __('Invalide response from the Google Fonts API.', 'wbcr_factory_forms_426');
127
  $this->defailed_error = $response['body'];
128
 
129
  return $body;
133
 
134
  if( empty($body->items) ) {
135
 
136
+ $this->error = __('Unexpected error. The list of Google Fonts are empty.', 'wbcr_factory_forms_426');
137
 
138
  return $body;
139
  }
libs/factory/forms/controls/gradient.php CHANGED
@@ -25,8 +25,8 @@
25
  exit;
26
  }
27
 
28
- if( !class_exists('Wbcr_FactoryForms425_GradientControl') ) {
29
- class Wbcr_FactoryForms425_GradientControl extends Wbcr_FactoryForms425_Control {
30
 
31
  public $type = 'gradient';
32
 
@@ -66,8 +66,8 @@
66
  if( !window.factory.res ) {
67
  window.factory.res = {};
68
  }
69
- factory.res.resVertical = '<?php _e( 'vertical', 'wbcr_factory_forms_425' ) ?>';
70
- factory.res.resHorizontal = '<?php _e( 'horizontal', 'wbcr_factory_forms_425' ) ?>';
71
  </script>
72
  <div <?php $this->attrs() ?>>
73
  <div class="factory-gradient-picker">
25
  exit;
26
  }
27
 
28
+ if( !class_exists('Wbcr_FactoryForms426_GradientControl') ) {
29
+ class Wbcr_FactoryForms426_GradientControl extends Wbcr_FactoryForms426_Control {
30
 
31
  public $type = 'gradient';
32
 
66
  if( !window.factory.res ) {
67
  window.factory.res = {};
68
  }
69
+ factory.res.resVertical = '<?php _e( 'vertical', 'wbcr_factory_forms_426' ) ?>';
70
+ factory.res.resHorizontal = '<?php _e( 'horizontal', 'wbcr_factory_forms_426' ) ?>';
71
  </script>
72
  <div <?php $this->attrs() ?>>
73
  <div class="factory-gradient-picker">
libs/factory/forms/controls/hidden.php CHANGED
@@ -20,9 +20,9 @@
20
  exit;
21
  }
22
 
23
- if( !class_exists('Wbcr_FactoryForms425_HiddenControl') ) {
24
 
25
- class Wbcr_FactoryForms425_HiddenControl extends Wbcr_FactoryForms425_Control {
26
 
27
  public $type = 'hidden';
28
 
20
  exit;
21
  }
22
 
23
+ if( !class_exists('Wbcr_FactoryForms426_HiddenControl') ) {
24
 
25
+ class Wbcr_FactoryForms426_HiddenControl extends Wbcr_FactoryForms426_Control {
26
 
27
  public $type = 'hidden';
28
 
libs/factory/forms/controls/holders/accordion-item.php CHANGED
@@ -14,14 +14,14 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms425_AccordionItemHolder') ) {
18
 
19
  /**
20
  * Tab Control Holder
21
  *
22
  * @since 1.0.0
23
  */
24
- class Wbcr_FactoryForms425_AccordionItemHolder extends Wbcr_FactoryForms425_Holder {
25
 
26
  /**
27
  * A holder type.
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms426_AccordionItemHolder') ) {
18
 
19
  /**
20
  * Tab Control Holder
21
  *
22
  * @since 1.0.0
23
  */
24
+ class Wbcr_FactoryForms426_AccordionItemHolder extends Wbcr_FactoryForms426_Holder {
25
 
26
  /**
27
  * A holder type.
libs/factory/forms/controls/holders/accordion.php CHANGED
@@ -13,13 +13,13 @@
13
  if( !defined('ABSPATH') ) {
14
  exit;
15
  }
16
- if( !class_exists('Wbcr_FactoryForms425_AccordionHolder') ) {
17
  /**
18
  * Tab Control Holder
19
  *
20
  * @since 1.0.0
21
  */
22
- class Wbcr_FactoryForms425_AccordionHolder extends Wbcr_FactoryForms425_Holder {
23
 
24
  /**
25
  * A holder type.
13
  if( !defined('ABSPATH') ) {
14
  exit;
15
  }
16
+ if( !class_exists('Wbcr_FactoryForms426_AccordionHolder') ) {
17
  /**
18
  * Tab Control Holder
19
  *
20
  * @since 1.0.0
21
  */
22
+ class Wbcr_FactoryForms426_AccordionHolder extends Wbcr_FactoryForms426_Holder {
23
 
24
  /**
25
  * A holder type.
libs/factory/forms/controls/holders/columns.php CHANGED
@@ -14,13 +14,13 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms425_ColumnsHolder') ) {
18
  /**
19
  * Columns Holder
20
  *
21
  * @since 1.0.0
22
  */
23
- class Wbcr_FactoryForms425_ColumnsHolder extends Wbcr_FactoryForms425_Holder {
24
 
25
  /**
26
  * A holder type.
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms426_ColumnsHolder') ) {
18
  /**
19
  * Columns Holder
20
  *
21
  * @since 1.0.0
22
  */
23
+ class Wbcr_FactoryForms426_ColumnsHolder extends Wbcr_FactoryForms426_Holder {
24
 
25
  /**
26
  * A holder type.
libs/factory/forms/controls/holders/control-group-item.php CHANGED
@@ -14,14 +14,14 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms425_ControlGroupItem') ) {
18
 
19
  /**
20
  * Tab Control Holder
21
  *
22
  * @since 1.0.0
23
  */
24
- class Wbcr_FactoryForms425_ControlGroupItem extends Wbcr_FactoryForms425_Holder {
25
 
26
  /**
27
  * A holder type.
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms426_ControlGroupItem') ) {
18
 
19
  /**
20
  * Tab Control Holder
21
  *
22
  * @since 1.0.0
23
  */
24
+ class Wbcr_FactoryForms426_ControlGroupItem extends Wbcr_FactoryForms426_Holder {
25
 
26
  /**
27
  * A holder type.
libs/factory/forms/controls/holders/control-group.php CHANGED
@@ -14,14 +14,14 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms425_ControlGroupHolder') ) {
18
 
19
  /**
20
  * Tab Control Holder
21
  *
22
  * @since 1.0.0
23
  */
24
- class Wbcr_FactoryForms425_ControlGroupHolder extends Wbcr_FactoryForms425_ControlHolder {
25
 
26
  /**
27
  * A holder type.
@@ -61,7 +61,7 @@
61
  continue;
62
  }
63
 
64
- $builder = new Wbcr_FactoryForms425_HtmlAttributeBuilder();
65
 
66
  $builder->addCssClass('factory-control-group-nav-label');
67
  $builder->addCssClass('factory-control-group-nav-label-' . $element->getOption('name'));
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms426_ControlGroupHolder') ) {
18
 
19
  /**
20
  * Tab Control Holder
21
  *
22
  * @since 1.0.0
23
  */
24
+ class Wbcr_FactoryForms426_ControlGroupHolder extends Wbcr_FactoryForms426_ControlHolder {
25
 
26
  /**
27
  * A holder type.
61
  continue;
62
  }
63
 
64
+ $builder = new Wbcr_FactoryForms426_HtmlAttributeBuilder();
65
 
66
  $builder->addCssClass('factory-control-group-nav-label');
67
  $builder->addCssClass('factory-control-group-nav-label-' . $element->getOption('name'));
libs/factory/forms/controls/holders/div.php CHANGED
@@ -14,13 +14,13 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms425_DivHolder') ) {
18
  /**
19
  * Div Control Holder
20
  *
21
  * @since 1.0.0
22
  */
23
- class Wbcr_FactoryForms425_DivHolder extends Wbcr_FactoryForms425_Holder {
24
 
25
  /**
26
  * A holder type.
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms426_DivHolder') ) {
18
  /**
19
  * Div Control Holder
20
  *
21
  * @since 1.0.0
22
  */
23
+ class Wbcr_FactoryForms426_DivHolder extends Wbcr_FactoryForms426_Holder {
24
 
25
  /**
26
  * A holder type.
libs/factory/forms/controls/holders/form-group.php CHANGED
@@ -14,13 +14,13 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms425_FormGroupHolder') ) {
18
  /**
19
  * Group Holder
20
  *
21
  * @since 1.0.0
22
  */
23
- class Wbcr_FactoryForms425_FormGroupHolder extends Wbcr_FactoryForms425_Holder {
24
 
25
  /**
26
  * A holder type.
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms426_FormGroupHolder') ) {
18
  /**
19
  * Group Holder
20
  *
21
  * @since 1.0.0
22
  */
23
+ class Wbcr_FactoryForms426_FormGroupHolder extends Wbcr_FactoryForms426_Holder {
24
 
25
  /**
26
  * A holder type.
libs/factory/forms/controls/holders/more-link.php CHANGED
@@ -14,14 +14,14 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms425_MoreLinkHolder') ) {
18
 
19
  /**
20
  * Collapsed Group Holder
21
  *
22
  * @since 1.0.0
23
  */
24
- class Wbcr_FactoryForms425_MoreLinkHolder extends Wbcr_FactoryForms425_Holder {
25
 
26
  /**
27
  * A holder type.
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms426_MoreLinkHolder') ) {
18
 
19
  /**
20
  * Collapsed Group Holder
21
  *
22
  * @since 1.0.0
23
  */
24
+ class Wbcr_FactoryForms426_MoreLinkHolder extends Wbcr_FactoryForms426_Holder {
25
 
26
  /**
27
  * A holder type.
libs/factory/forms/controls/holders/tab-item.php CHANGED
@@ -13,13 +13,13 @@
13
  exit;
14
  }
15
 
16
- if( !class_exists('Wbcr_FactoryForms425_TabItemHolder') ) {
17
  /**
18
  * Tab Item Control Holder
19
  *
20
  * @since 1.0.0
21
  */
22
- class Wbcr_FactoryForms425_TabItemHolder extends Wbcr_FactoryForms425_Holder {
23
 
24
  /**
25
  * A holder type.
13
  exit;
14
  }
15
 
16
+ if( !class_exists('Wbcr_FactoryForms426_TabItemHolder') ) {
17
  /**
18
  * Tab Item Control Holder
19
  *
20
  * @since 1.0.0
21
  */
22
+ class Wbcr_FactoryForms426_TabItemHolder extends Wbcr_FactoryForms426_Holder {
23
 
24
  /**
25
  * A holder type.
libs/factory/forms/controls/holders/tab.php CHANGED
@@ -14,14 +14,14 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms425_TabHolder') ) {
18
 
19
  /**
20
  * Tab Control Holder
21
  *
22
  * @since 1.0.0
23
  */
24
- class Wbcr_FactoryForms425_TabHolder extends Wbcr_FactoryForms425_Holder {
25
 
26
  /**
27
  * A holder type.
@@ -44,7 +44,7 @@
44
  *
45
  * @since 1.0.0
46
  * @param mixed[] $options A holder options.
47
- * @param FactoryForms425_Form $form A parent form.
48
  */
49
  public function __construct($options, $form)
50
  {
@@ -88,7 +88,7 @@
88
  $tab_icon = $element->options['icon'];
89
  }
90
 
91
- $builder = new Wbcr_FactoryForms425_HtmlAttributeBuilder();
92
 
93
  $builder->addCssClass('factory-tab-item-header');
94
  $builder->addCssClass('factory-tab-item-header-' . $element->getName());
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms426_TabHolder') ) {
18
 
19
  /**
20
  * Tab Control Holder
21
  *
22
  * @since 1.0.0
23
  */
24
+ class Wbcr_FactoryForms426_TabHolder extends Wbcr_FactoryForms426_Holder {
25
 
26
  /**
27
  * A holder type.
44
  *
45
  * @since 1.0.0
46
  * @param mixed[] $options A holder options.
47
+ * @param FactoryForms426_Form $form A parent form.
48
  */
49
  public function __construct($options, $form)
50
  {
88
  $tab_icon = $element->options['icon'];
89
  }
90
 
91
+ $builder = new Wbcr_FactoryForms426_HtmlAttributeBuilder();
92
 
93
  $builder->addCssClass('factory-tab-item-header');
94
  $builder->addCssClass('factory-tab-item-header-' . $element->getName());
libs/factory/forms/controls/integer.php CHANGED
@@ -32,9 +32,9 @@
32
  exit;
33
  }
34
 
35
- if( !class_exists('Wbcr_FactoryForms425_IntegerControl') ) {
36
 
37
- class Wbcr_FactoryForms425_IntegerControl extends Wbcr_FactoryForms425_Control {
38
 
39
  public $type = 'integer';
40
 
32
  exit;
33
  }
34
 
35
+ if( !class_exists('Wbcr_FactoryForms426_IntegerControl') ) {
36
 
37
+ class Wbcr_FactoryForms426_IntegerControl extends Wbcr_FactoryForms426_Control {
38
 
39
  public $type = 'integer';
40
 
libs/factory/forms/controls/list.php CHANGED
@@ -21,9 +21,9 @@
21
  exit;
22
  }
23
 
24
- if( !class_exists('Wbcr_FactoryForms425_ListControl') ) {
25
 
26
- class Wbcr_FactoryForms425_ListControl extends Wbcr_FactoryForms425_Control {
27
 
28
  public $type = 'list';
29
 
@@ -93,7 +93,7 @@
93
  'url': '<?php echo $data['url'] ?>',
94
  'data': <?php echo json_encode( $data['data'] ) ?>,
95
  'selected': <?php echo json_encode( $value ) ?>,
96
- 'emptyList': '<?php echo $this->getOption('empty', __('The list is empty.', 'wbcr_factory_forms_425') ) ?>'
97
  };
98
  </script>
99
  <?php
@@ -136,7 +136,7 @@
136
  : array();
137
 
138
  $is_empty = $this->isAjax() || empty($items);
139
- $emptyList = $this->getOption('empty', __('The list is empty.', 'wbcr_factory_forms_425'));
140
 
141
  if( $is_empty ) {
142
  $this->addCssClass('factory-empty');
21
  exit;
22
  }
23
 
24
+ if( !class_exists('Wbcr_FactoryForms426_ListControl') ) {
25
 
26
+ class Wbcr_FactoryForms426_ListControl extends Wbcr_FactoryForms426_Control {
27
 
28
  public $type = 'list';
29
 
93
  'url': '<?php echo $data['url'] ?>',
94
  'data': <?php echo json_encode( $data['data'] ) ?>,
95
  'selected': <?php echo json_encode( $value ) ?>,
96
+ 'emptyList': '<?php echo $this->getOption('empty', __('The list is empty.', 'wbcr_factory_forms_426') ) ?>'
97
  };
98
  </script>
99
  <?php
136
  : array();
137
 
138
  $is_empty = $this->isAjax() || empty($items);
139
+ $emptyList = $this->getOption('empty', __('The list is empty.', 'wbcr_factory_forms_426'));
140
 
141
  if( $is_empty ) {
142
  $this->addCssClass('factory-empty');
libs/factory/forms/controls/multiple-textbox.php CHANGED
@@ -15,9 +15,9 @@
15
  exit;
16
  }
17
 
18
- if( !class_exists('Wbcr_FactoryForms425_MultipleTextboxControl') ) {
19
 
20
- class Wbcr_FactoryForms425_MultipleTextboxControl extends Wbcr_FactoryForms425_Control {
21
 
22
  public $type = 'multiple-textbox';
23
 
@@ -86,7 +86,7 @@
86
  <?php endif; ?>
87
  </div>
88
  <button class="btn btn-default btn-small factory-mtextbox-add-item">
89
- <i class="fa fa-plus" aria-hidden="true"></i> <?php _e('Add new', 'wbcr_factory_forms_425') ?>
90
  </button>
91
  </div>
92
 
15
  exit;
16
  }
17
 
18
+ if( !class_exists('Wbcr_FactoryForms426_MultipleTextboxControl') ) {
19
 
20
+ class Wbcr_FactoryForms426_MultipleTextboxControl extends Wbcr_FactoryForms426_Control {
21
 
22
  public $type = 'multiple-textbox';
23
 
86
  <?php endif; ?>
87
  </div>
88
  <button class="btn btn-default btn-small factory-mtextbox-add-item">
89
+ <i class="fa fa-plus" aria-hidden="true"></i> <?php _e('Add new', 'wbcr_factory_forms_426') ?>
90
  </button>
91
  </div>
92
 
libs/factory/forms/controls/paddings-editor.php CHANGED
@@ -14,9 +14,9 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms425_PaddingsEditorControl') ) {
18
 
19
- class Wbcr_FactoryForms425_PaddingsEditorControl extends Wbcr_FactoryForms425_Control {
20
 
21
  public $type = 'paddings-editor';
22
 
@@ -67,7 +67,7 @@
67
  </div>
68
  <div class="factory-slider-container">
69
  <label class="factory-title">
70
- <?php _e('Select a side and move the slider to set up:', 'wbcr_factory_forms_425') ?>
71
  </label>
72
 
73
  <div class="factory-slider">
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms426_PaddingsEditorControl') ) {
18
 
19
+ class Wbcr_FactoryForms426_PaddingsEditorControl extends Wbcr_FactoryForms426_Control {
20
 
21
  public $type = 'paddings-editor';
22
 
67
  </div>
68
  <div class="factory-slider-container">
69
  <label class="factory-title">
70
+ <?php _e('Select a side and move the slider to set up:', 'wbcr_factory_forms_426') ?>
71
  </label>
72
 
73
  <div class="factory-slider">
libs/factory/forms/controls/pattern.php CHANGED
@@ -15,9 +15,9 @@
15
  exit;
16
  }
17
 
18
- if( !class_exists('Wbcr_FactoryForms425_PatternControl') ) {
19
 
20
- class Wbcr_FactoryForms425_PatternControl extends Wbcr_FactoryForms425_Control {
21
 
22
  public $type = 'pattern';
23
 
@@ -52,12 +52,12 @@
52
  $name = $this->getOption('name');
53
 
54
  // filters to get available patterns for the given background contols
55
- $this->patterns = apply_filters('wbcr_factory_forms_425_patterns', array());
56
- $this->patterns = apply_filters('wbcr_factory_forms_425_patterns-' . $name, $this->patterns);
57
 
58
  $this->custom_patterns = $this->getOption('patterns', array());
59
 
60
- $this->color = new Wbcr_FactoryForms425_ColorControl($options['color'], $form, $provider);
61
  }
62
 
63
  /**
@@ -102,19 +102,19 @@
102
  </div>
103
  <a href="#" class="button button-default factory-button factory-change-color-btn <?php if( $hasColor ) {
104
  echo 'button-active';
105
- } ?>" title="<?php _e('Change color', 'wbcr_factory_forms_425') ?>">
106
  <i class="fa fa-flask"></i>
107
- <span><?php _e('re-color', 'wbcr_factory_forms_425') ?></span>
108
  </a>
109
  <input type="hidden" id="<?php echo $name[0]; ?>" name="<?php echo $name[0]; ?>" value="<?php echo esc_url($values['url']); ?>" class="factory-pattern-result">
110
  <input type="hidden" id="<?php echo $name[1]; ?>" name="<?php echo $name[1]; ?>" value="<?php echo esc_attr($values['color']); ?>" class="factory-color-result">
111
  </div>
112
  <div class="factory-color-panel">
113
  <div class="factory-color-wrap">
114
- <span class="factory-color-label"><?php _e('Select color:', 'wbcr_factory_forms_425') ?></span>
115
  <?php $this->color->html() ?>
116
  <div class="factory-hint">
117
- <i><?php _e('Changing the color may takes a minute or more. Please be patient.', 'wbcr_factory_forms_425') ?></i>
118
  </div>
119
  </div>
120
  <div class="factory-picker-target"></div>
15
  exit;
16
  }
17
 
18
+ if( !class_exists('Wbcr_FactoryForms426_PatternControl') ) {
19
 
20
+ class Wbcr_FactoryForms426_PatternControl extends Wbcr_FactoryForms426_Control {
21
 
22
  public $type = 'pattern';
23
 
52
  $name = $this->getOption('name');
53
 
54
  // filters to get available patterns for the given background contols
55
+ $this->patterns = apply_filters('wbcr_factory_forms_426_patterns', array());
56
+ $this->patterns = apply_filters('wbcr_factory_forms_426_patterns-' . $name, $this->patterns);
57
 
58
  $this->custom_patterns = $this->getOption('patterns', array());
59
 
60
+ $this->color = new Wbcr_FactoryForms426_ColorControl($options['color'], $form, $provider);
61
  }
62
 
63
  /**
102
  </div>
103
  <a href="#" class="button button-default factory-button factory-change-color-btn <?php if( $hasColor ) {
104
  echo 'button-active';
105
+ } ?>" title="<?php _e('Change color', 'wbcr_factory_forms_426') ?>">
106
  <i class="fa fa-flask"></i>
107
+ <span><?php _e('re-color', 'wbcr_factory_forms_426') ?></span>
108
  </a>
109
  <input type="hidden" id="<?php echo $name[0]; ?>" name="<?php echo $name[0]; ?>" value="<?php echo esc_url($values['url']); ?>" class="factory-pattern-result">
110
  <input type="hidden" id="<?php echo $name[1]; ?>" name="<?php echo $name[1]; ?>" value="<?php echo esc_attr($values['color']); ?>" class="factory-color-result">
111
  </div>
112
  <div class="factory-color-panel">
113
  <div class="factory-color-wrap">
114
+ <span class="factory-color-label"><?php _e('Select color:', 'wbcr_factory_forms_426') ?></span>
115
  <?php $this->color->html() ?>
116
  <div class="factory-hint">
117
+ <i><?php _e('Changing the color may takes a minute or more. Please be patient.', 'wbcr_factory_forms_426') ?></i>
118
  </div>
119
  </div>
120
  <div class="factory-picker-target"></div>
libs/factory/forms/controls/radio-colors.php CHANGED
@@ -27,9 +27,9 @@
27
  exit;
28
  }
29
 
30
- if( !class_exists('Wbcr_FactoryForms425_RadioColorsControl') ) {
31
 
32
- class Wbcr_FactoryForms425_RadioColorsControl extends Wbcr_FactoryForms425_Control {
33
 
34
  public $type = 'radio-color';
35
 
27
  exit;
28
  }
29
 
30
+ if( !class_exists('Wbcr_FactoryForms426_RadioColorsControl') ) {
31
 
32
+ class Wbcr_FactoryForms426_RadioColorsControl extends Wbcr_FactoryForms426_Control {
33
 
34
  public $type = 'radio-color';
35
 
libs/factory/forms/controls/radio.php CHANGED
@@ -21,9 +21,9 @@
21
  exit;
22
  }
23
 
24
- if( !class_exists('Wbcr_FactoryForms425_RadioControl') ) {
25
 
26
- class Wbcr_FactoryForms425_RadioControl extends Wbcr_FactoryForms425_Control {
27
 
28
  public $type = 'radio';
29
 
21
  exit;
22
  }
23
 
24
+ if( !class_exists('Wbcr_FactoryForms426_RadioControl') ) {
25
 
26
+ class Wbcr_FactoryForms426_RadioControl extends Wbcr_FactoryForms426_Control {
27
 
28
  public $type = 'radio';
29
 
libs/factory/forms/controls/textarea.php CHANGED
@@ -20,9 +20,9 @@
20
  exit;
21
  }
22
 
23
- if( !class_exists('Wbcr_FactoryForms425_TextareaControl') ) {
24
 
25
- class Wbcr_FactoryForms425_TextareaControl extends Wbcr_FactoryForms425_Control {
26
 
27
  public $type = 'textarea';
28
 
20
  exit;
21
  }
22
 
23
+ if( !class_exists('Wbcr_FactoryForms426_TextareaControl') ) {
24
 
25
+ class Wbcr_FactoryForms426_TextareaControl extends Wbcr_FactoryForms426_Control {
26
 
27
  public $type = 'textarea';
28
 
libs/factory/forms/controls/textbox.php CHANGED
@@ -29,9 +29,9 @@
29
  exit;
30
  }
31
 
32
- if( !class_exists('Wbcr_FactoryForms425_TextboxControl') ) {
33
 
34
- class Wbcr_FactoryForms425_TextboxControl extends Wbcr_FactoryForms425_Control {
35
 
36
  public $type = 'textbox';
37
 
29
  exit;
30
  }
31
 
32
+ if( !class_exists('Wbcr_FactoryForms426_TextboxControl') ) {
33
 
34
+ class Wbcr_FactoryForms426_TextboxControl extends Wbcr_FactoryForms426_Control {
35
 
36
  public $type = 'textbox';
37
 
libs/factory/forms/controls/url.php CHANGED
@@ -4,7 +4,7 @@
4
  * Url Control
5
  *
6
  * Main options:
7
- * @see FactoryForms425_TextboxControl
8
  *
9
  * @author Alex Kovalev <alex.kovalevv@gmail.com>
10
  * @copyright (c) 2018, Webcraftic Ltd
@@ -18,9 +18,9 @@
18
  exit;
19
  }
20
 
21
- if( !class_exists('Wbcr_FactoryForms425_UrlControl') ) {
22
 
23
- class Wbcr_FactoryForms425_UrlControl extends Wbcr_FactoryForms425_TextboxControl {
24
 
25
  public $type = 'url';
26
 
4
  * Url Control
5
  *
6
  * Main options:
7
+ * @see FactoryForms426_TextboxControl
8
  *
9
  * @author Alex Kovalev <alex.kovalevv@gmail.com>
10
  * @copyright (c) 2018, Webcraftic Ltd
18
  exit;
19
  }
20
 
21
+ if( !class_exists('Wbcr_FactoryForms426_UrlControl') ) {
22
 
23
+ class Wbcr_FactoryForms426_UrlControl extends Wbcr_FactoryForms426_TextboxControl {
24
 
25
  public $type = 'url';
26
 
libs/factory/forms/controls/wp-editor.php CHANGED
@@ -22,9 +22,9 @@
22
  exit;
23
  }
24
 
25
- if( !class_exists('Wbcr_FactoryForms425_WpEditorControl') ) {
26
 
27
- class Wbcr_FactoryForms425_WpEditorControl extends Wbcr_FactoryForms425_Control {
28
 
29
  public $type = 'wp-editor';
30
 
@@ -42,7 +42,7 @@
42
  }
43
 
44
  if( !isset($this->options['tinymce']['content_css']) ) {
45
- $this->options['tinymce']['content_css'] = FACTORY_FORMS_425_URL . '/assets/css/editor.css';
46
  }
47
  }
48
 
22
  exit;
23
  }
24
 
25
+ if( !class_exists('Wbcr_FactoryForms426_WpEditorControl') ) {
26
 
27
+ class Wbcr_FactoryForms426_WpEditorControl extends Wbcr_FactoryForms426_Control {
28
 
29
  public $type = 'wp-editor';
30
 
42
  }
43
 
44
  if( !isset($this->options['tinymce']['content_css']) ) {
45
+ $this->options['tinymce']['content_css'] = FACTORY_FORMS_426_URL . '/assets/css/editor.css';
46
  }
47
  }
48
 
libs/factory/forms/includes/complex-control.class.php CHANGED
@@ -13,13 +13,13 @@
13
  if( !defined('ABSPATH') ) {
14
  exit;
15
  }
16
- if( !class_exists('Wbcr_FactoryForms425_ComplexControl') ) {
17
  /**
18
  * The base class for all controls.
19
  *
20
  * @since 1.0.0
21
  */
22
- abstract class Wbcr_FactoryForms425_ComplexControl extends Wbcr_FactoryForms425_Control {
23
 
24
  /**
25
  * Is this element a complex control?
@@ -33,7 +33,7 @@
33
  * Contains a set of internal controls.
34
  *
35
  * @since 1.0.0
36
- * @var Wbcr_FactoryForms425_Control[]
37
  */
38
  public $inner_controls = array();
39
 
@@ -41,7 +41,7 @@
41
  * Sets a provider for the control.
42
  *
43
  * @since 1.0.0
44
- * @param Wbcr_IFactoryForms425_ValueProvider $provider
45
  * @return void
46
  */
47
  public function setProvider($provider)
13
  if( !defined('ABSPATH') ) {
14
  exit;
15
  }
16
+ if( !class_exists('Wbcr_FactoryForms426_ComplexControl') ) {
17
  /**
18
  * The base class for all controls.
19
  *
20
  * @since 1.0.0
21
  */
22
+ abstract class Wbcr_FactoryForms426_ComplexControl extends Wbcr_FactoryForms426_Control {
23
 
24
  /**
25
  * Is this element a complex control?
33
  * Contains a set of internal controls.
34
  *
35
  * @since 1.0.0
36
+ * @var Wbcr_FactoryForms426_Control[]
37
  */
38
  public $inner_controls = array();
39
 
41
  * Sets a provider for the control.
42
  *
43
  * @since 1.0.0
44
+ * @param Wbcr_IFactoryForms426_ValueProvider $provider
45
  * @return void
46
  */
47
  public function setProvider($provider)
libs/factory/forms/includes/control-holder.class.php CHANGED
@@ -14,19 +14,19 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms425_ControlHolder') ) {
18
  /**
19
  * The base class for control holders.
20
  *
21
  * @since 1.0.0
22
  */
23
- abstract class Wbcr_FactoryForms425_ControlHolder extends Wbcr_FactoryForms425_Control {
24
 
25
  /**
26
  * Holder Elements.
27
  *
28
  * @since 1.0.0
29
- * @var Wbcr_FactoryForms425_Control[]
30
  */
31
  protected $elements = array();
32
 
@@ -43,7 +43,7 @@
43
  *
44
  * @since 1.0.0
45
  * @param mixed[] $options A holder options.
46
- * @param Wbcr_FactoryForms425_Form $form A parent form.
47
  */
48
  public function __construct($options, $form)
49
  {
@@ -60,7 +60,7 @@
60
  * Returns holder elements.
61
  *
62
  * @since 1.0.0
63
- * @return Wbcr_FactoryForms425_FormElement[].
64
  */
65
  public function getElements()
66
  {
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms426_ControlHolder') ) {
18
  /**
19
  * The base class for control holders.
20
  *
21
  * @since 1.0.0
22
  */
23
+ abstract class Wbcr_FactoryForms426_ControlHolder extends Wbcr_FactoryForms426_Control {
24
 
25
  /**
26
  * Holder Elements.
27
  *
28
  * @since 1.0.0
29
+ * @var Wbcr_FactoryForms426_Control[]
30
  */
31
  protected $elements = array();
32
 
43
  *
44
  * @since 1.0.0
45
  * @param mixed[] $options A holder options.
46
+ * @param Wbcr_FactoryForms426_Form $form A parent form.
47
  */
48
  public function __construct($options, $form)
49
  {
60
  * Returns holder elements.
61
  *
62
  * @since 1.0.0
63
+ * @return Wbcr_FactoryForms426_FormElement[].
64
  */
65
  public function getElements()
66
  {
libs/factory/forms/includes/control.class.php CHANGED
@@ -14,14 +14,14 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms425_Control') ) {
18
 
19
  /**
20
  * The base class for all controls.
21
  *
22
  * @since 1.0.0
23
  */
24
- abstract class Wbcr_FactoryForms425_Control extends Wbcr_FactoryForms425_FormElement {
25
 
26
  /**
27
  * Is this element a control?
@@ -43,7 +43,7 @@
43
  * A provider that is used to get values.
44
  *
45
  * @since 1.0.0
46
- * @var Wbcr_IFactoryForms425_ValueProvider
47
  */
48
  protected $provider = null;
49
 
@@ -51,7 +51,7 @@
51
  * Create a new instance of the control.
52
  *
53
  * @param mixed[] $options
54
- * @param FactoryForms425_Form $form
55
  * @param null $provider
56
  * @since 1.0.0
57
  * @return void
@@ -66,7 +66,7 @@
66
  * Sets a provider for the control.
67
  *
68
  * @since 1.0.0
69
- * @param IFactoryForms425_ValueProvider $provider
70
  * @return void
71
  */
72
  public function setProvider($provider)
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms426_Control') ) {
18
 
19
  /**
20
  * The base class for all controls.
21
  *
22
  * @since 1.0.0
23
  */
24
+ abstract class Wbcr_FactoryForms426_Control extends Wbcr_FactoryForms426_FormElement {
25
 
26
  /**
27
  * Is this element a control?
43
  * A provider that is used to get values.
44
  *
45
  * @since 1.0.0
46
+ * @var Wbcr_IFactoryForms426_ValueProvider
47
  */
48
  protected $provider = null;
49
 
51
  * Create a new instance of the control.
52
  *
53
  * @param mixed[] $options
54
+ * @param FactoryForms426_Form $form
55
  * @param null $provider
56
  * @since 1.0.0
57
  * @return void
66
  * Sets a provider for the control.
67
  *
68
  * @since 1.0.0
69
+ * @param IFactoryForms426_ValueProvider $provider
70
  * @return void
71
  */
72
  public function setProvider($provider)
libs/factory/forms/includes/custom-element.class.php CHANGED
@@ -14,13 +14,13 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms425_CustomElement') ) {
18
  /**
19
  * The base class for all controls.
20
  *
21
  * @since 1.0.0
22
  */
23
- abstract class Wbcr_FactoryForms425_CustomElement extends Wbcr_FactoryForms425_FormElement {
24
 
25
  /**
26
  * Is this element a custom form element?
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms426_CustomElement') ) {
18
  /**
19
  * The base class for all controls.
20
  *
21
  * @since 1.0.0
22
  */
23
+ abstract class Wbcr_FactoryForms426_CustomElement extends Wbcr_FactoryForms426_FormElement {
24
 
25
  /**
26
  * Is this element a custom form element?
libs/factory/forms/includes/form-element.class.php CHANGED
@@ -14,7 +14,7 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms425_FormElement') ) {
18
 
19
  /**
20
  * The base class for all form element (controls, holders).
@@ -23,7 +23,7 @@
23
  *
24
  * @since 1.0.0
25
  */
26
- abstract class Wbcr_FactoryForms425_FormElement {
27
 
28
  /**
29
  * A type of an elemnt.
@@ -37,7 +37,7 @@
37
  * An html attribute builder.
38
  *
39
  * @since 1.0.0
40
- * @var Wbcr_FactoryForms425_HtmlAttributeBuilder
41
  */
42
  private $html_builder;
43
 
@@ -53,7 +53,7 @@
53
  * A parent form.
54
  *
55
  * @since 1.0.0
56
- * @var Wbcr_FactoryForms425_Form
57
  */
58
  protected $form;
59
 
@@ -61,7 +61,7 @@
61
  * A form layout.
62
  *
63
  * @since 1.0.0
64
- * @var Wbcr_FactoryForms425_FormLayout
65
  */
66
  protected $layout;
67
 
@@ -94,7 +94,7 @@
94
  *
95
  * @since 1.0.0
96
  * @param mixed[] $options A holder options.
97
- * @param Wbcr_FactoryForms425_Form $form A parent form.
98
  */
99
  public function __construct($options, $form)
100
  {
@@ -102,7 +102,7 @@
102
  $this->form = $form;
103
  $this->layout = $form->layout;
104
 
105
- $this->html_builder = new Wbcr_FactoryForms425_HtmlAttributeBuilder();
106
 
107
  if( isset($this->options['cssClass']) ) {
108
  $this->html_builder->addCssClass($this->options['cssClass']);
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms426_FormElement') ) {
18
 
19
  /**
20
  * The base class for all form element (controls, holders).
23
  *
24
  * @since 1.0.0
25
  */
26
+ abstract class Wbcr_FactoryForms426_FormElement {
27
 
28
  /**
29
  * A type of an elemnt.
37
  * An html attribute builder.
38
  *
39
  * @since 1.0.0
40
+ * @var Wbcr_FactoryForms426_HtmlAttributeBuilder
41
  */
42
  private $html_builder;
43
 
53
  * A parent form.
54
  *
55
  * @since 1.0.0
56
+ * @var Wbcr_FactoryForms426_Form
57
  */
58
  protected $form;
59
 
61
  * A form layout.
62
  *
63
  * @since 1.0.0
64
+ * @var Wbcr_FactoryForms426_FormLayout
65
  */
66
  protected $layout;
67
 
94
  *
95
  * @since 1.0.0
96
  * @param mixed[] $options A holder options.
97
+ * @param Wbcr_FactoryForms426_Form $form A parent form.
98
  */
99
  public function __construct($options, $form)
100
  {
102
  $this->form = $form;
103
  $this->layout = $form->layout;
104
 
105
+ $this->html_builder = new Wbcr_FactoryForms426_HtmlAttributeBuilder();
106
 
107
  if( isset($this->options['cssClass']) ) {
108
  $this->html_builder->addCssClass($this->options['cssClass']);
libs/factory/forms/includes/form-layout.class.php CHANGED
@@ -14,12 +14,12 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms425_FormLayout') ) {
18
 
19
  /**
20
  * The base class for all form layouts.
21
  */
22
- abstract class Wbcr_FactoryForms425_FormLayout extends Wbcr_FactoryForms425_Holder {
23
 
24
  /**
25
  * A form layout name.
@@ -42,7 +42,7 @@
42
  *
43
  * @since 1.0.0
44
  * @param mixed[] $options A holder options.
45
- * @param Wbcr_FactoryForms425_Form $form A parent form.
46
  */
47
  public function __construct($options, $form)
48
  {
@@ -52,8 +52,8 @@
52
 
53
  parent::__construct($options, $form);
54
 
55
- $this->addCssClass('factory-forms-425-' . $this->type);
56
- $this->addCssClass('factory-forms-425-' . $this->name);
57
  }
58
 
59
  /**
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms426_FormLayout') ) {
18
 
19
  /**
20
  * The base class for all form layouts.
21
  */
22
+ abstract class Wbcr_FactoryForms426_FormLayout extends Wbcr_FactoryForms426_Holder {
23
 
24
  /**
25
  * A form layout name.
42
  *
43
  * @since 1.0.0
44
  * @param mixed[] $options A holder options.
45
+ * @param Wbcr_FactoryForms426_Form $form A parent form.
46
  */
47
  public function __construct($options, $form)
48
  {
52
 
53
  parent::__construct($options, $form);
54
 
55
+ $this->addCssClass('factory-forms-426-' . $this->type);
56
+ $this->addCssClass('factory-forms-426-' . $this->name);
57
  }
58
 
59
  /**
libs/factory/forms/includes/form.class.php CHANGED
@@ -15,16 +15,16 @@
15
  }
16
 
17
  // creating a license manager for each plugin created via the factory
18
- add_action('wbcr_factory_forms_425_plugin_created', 'wbcr_factory_forms_425_plugin_created');
19
 
20
- function wbcr_factory_forms_425_plugin_created($plugin)
21
  {
22
- $plugin->forms = new Wbcr_FactoryForms425_Manager($plugin);
23
  }
24
 
25
- if( !class_exists('Wbcr_FactoryForms425_Manager') ) {
26
 
27
- class Wbcr_FactoryForms425_Manager {
28
 
29
  // ----------------------------------------------------
30
  // Static fields and methods
@@ -57,7 +57,7 @@
57
  /**
58
  * Registers a set of new controls.
59
  *
60
- * @see FactoryForms425_Form::registerControl()
61
  *
62
  * @since 1.0.0
63
  * @return void
@@ -95,7 +95,7 @@
95
  /**
96
  * Registers a set of new holder controls.
97
  *
98
- * @see FactoryForms425_Form::registerHolder()
99
  *
100
  * @since 1.0.0
101
  * @return void
@@ -129,7 +129,7 @@
129
  /**
130
  * Registers a set of new custom form elements.
131
  *
132
- * @see FactoryForms425_Form::registerCustomElement()
133
  *
134
  * @since 1.0.0
135
  * @return void
@@ -180,11 +180,11 @@
180
  public static $controls_registered = false;
181
  }
182
  }
183
- if( !class_exists('Wbcr_FactoryForms425_Form') ) {
184
  /**
185
  * An abstraction for forms.
186
  */
187
- class Wbcr_FactoryForms425_Form {
188
 
189
  // ----------------------------------------------------
190
  // Object fields and methods
@@ -194,7 +194,7 @@
194
  * A value provider of the form that is used to save and load values.
195
  *
196
  * @since 1.0.0
197
- * @var Wbcr_IFactoryForms425_ValueProvider
198
  */
199
  private $provider;
200
 
@@ -245,7 +245,7 @@
245
  * A current form layout used to render a form.
246
  *
247
  * @since 1.0.0
248
- * @var Wbcr_FactoryForms425_FormLayout
249
  */
250
  public $layout;
251
 
@@ -261,20 +261,20 @@
261
  *
262
  * @since 1.0.0
263
  * @param array $options
264
- * @param Wbcr_Factory427_Plugin $plugin
265
  */
266
- public function __construct(array $options = array(), Wbcr_Factory427_Plugin $plugin)
267
  {
268
  // register controls once, when the first form is created
269
- if( !Wbcr_FactoryForms425_Manager::$controls_registered ) {
270
 
271
- do_action('wbcr_factory_forms_425_register_controls', $plugin);
272
 
273
  //if( !empty($plugin) ) {
274
- do_action('wbcr_factory_forms_425_register_controls_' . $plugin->getPluginName(), $plugin);
275
  //}
276
 
277
- Wbcr_FactoryForms425_Manager::$controls_registered = true;
278
  }
279
 
280
  $this->scope = isset($options['scope']) ? $options['scope'] : null;
@@ -289,14 +289,14 @@
289
  $this->form_layout = 'bootstrap-3';
290
  }
291
 
292
- Wbcr_FactoryForms425_Manager::$temper = 'flat';
293
  }
294
 
295
  /**
296
  * Sets a provider for the control.
297
  *
298
  * @since 1.0.0
299
- * @param Wbcr_IFactoryForms425_ValueProvider $provider
300
  * @return void
301
  */
302
  public function setProvider($provider)
@@ -332,14 +332,14 @@
332
  */
333
  public function getItems()
334
  {
335
- return apply_filters('wbcr_factory_427_form_items', $this->items, $this->name);
336
  }
337
 
338
  /**
339
  * Returns form controls (control objects).
340
  *
341
  * @since 1.0.0
342
- * @return Wbcr_FactoryForms425_Control[]
343
  */
344
  public function getControls()
345
  {
@@ -355,7 +355,7 @@
355
  * Builds a form items to the control objects ready to use.
356
  *
357
  * @param null $holder
358
- * @return Wbcr_FactoryForms425_Control[]
359
  */
360
 
361
  public function createControls($holder = null)
@@ -395,7 +395,7 @@
395
  *
396
  * @since 1.0.0
397
  * @param array $item Item data.
398
- * @return Wbcr_FactoryForms425_FormElement|null A form element.
399
  */
400
  public function createElement($item)
401
  {
@@ -417,7 +417,7 @@
417
  *
418
  * @since 1.0.0
419
  * @param mixed[] $item Data of items.
420
- * @return Wbcr_FactoryForms425_FormElement[] Created elements.
421
  */
422
  public function createElements($items = array())
423
  {
@@ -433,7 +433,7 @@
433
  *
434
  * @since 1.0.0
435
  * @param array $item Item data.
436
- * @return Wbcr_FactoryForms425_Control A control object.
437
  */
438
  public function createControl($item)
439
  {
@@ -441,7 +441,7 @@
441
 
442
  if( is_array($item) ) {
443
 
444
- $control_data = Wbcr_FactoryForms425_Manager::$registered_controls[$item['type']];
445
 
446
  require_once($control_data['include']);
447
 
@@ -465,7 +465,7 @@
465
  *
466
  * @since 1.0.0
467
  * @param array $item Item data.
468
- * @return Wbcr_FactoryForms425_Holder A control holder object.
469
  */
470
  public function createHolder($item)
471
  {
@@ -473,7 +473,7 @@
473
 
474
  if( is_array($item) ) {
475
 
476
- $holderData = Wbcr_FactoryForms425_Manager::$registered_holders[$item['type']];
477
  require_once($holderData['include']);
478
 
479
  $object = new $holderData['class']($item, $this);
@@ -491,7 +491,7 @@
491
  *
492
  * @since 1.0.0
493
  * @param mixed $item Item data.
494
- * @return Wbcr_FactoryForms425_FormElement A custom form element object.
495
  */
496
  public function createCustomElement($item)
497
  {
@@ -499,7 +499,7 @@
499
 
500
  if( is_array($item) ) {
501
 
502
- $data = Wbcr_FactoryForms425_Manager::$registered_custom_elements[$item['type']];
503
  require_once($data['include']);
504
 
505
  $options = $item;
@@ -523,12 +523,12 @@
523
  public function html($options = array())
524
  {
525
 
526
- if( !isset(Wbcr_FactoryForms425_Manager::$form_layouts[$this->form_layout]) ) {
527
  die(sprintf('[ERROR] The form layout %s was not found.', $this->form_layout));
528
  }
529
 
530
  // include a render code
531
- $layout_data = Wbcr_FactoryForms425_Manager::$form_layouts[$this->form_layout];
532
  require_once($layout_data['include']);
533
 
534
  $this->connectAssets();
@@ -552,7 +552,7 @@
552
  {
553
 
554
  $this->connectAssetsForItems();
555
- $layout_data = Wbcr_FactoryForms425_Manager::$form_layouts[$this->form_layout];
556
 
557
  if( $layout_data['name'] == 'default' ) {
558
  if( isset($layout_data['style']) ) {
@@ -602,9 +602,9 @@
602
 
603
  $haystack = array();
604
  if( self::isControl($type) ) {
605
- $haystack = Wbcr_FactoryForms425_Manager::$registered_controls;
606
  } elseif( self::isControlHolder($type) ) {
607
- $haystack = Wbcr_FactoryForms425_Manager::$registered_holders;
608
  }
609
 
610
  if( isset($haystack[$type]) ) {
@@ -660,7 +660,7 @@
660
  */
661
  public static function isControl($item)
662
  {
663
- return isset(Wbcr_FactoryForms425_Manager::$registered_controls[$item['type']]);
664
  }
665
 
666
  /**
@@ -672,7 +672,7 @@
672
  */
673
  public static function isControlHolder($item)
674
  {
675
- return isset(Wbcr_FactoryForms425_Manager::$registered_holders[$item['type']]);
676
  }
677
 
678
  /**
@@ -684,7 +684,7 @@
684
  */
685
  public static function isCustomElement($item)
686
  {
687
- return isset(Wbcr_FactoryForms425_Manager::$registered_custom_elements[$item['type']]);
688
  }
689
  }
690
  }
15
  }
16
 
17
  // creating a license manager for each plugin created via the factory
18
+ add_action('wbcr_factory_forms_426_plugin_created', 'wbcr_factory_forms_426_plugin_created');
19
 
20
+ function wbcr_factory_forms_426_plugin_created($plugin)
21
  {
22
+ $plugin->forms = new Wbcr_FactoryForms426_Manager($plugin);
23
  }
24
 
25
+ if( !class_exists('Wbcr_FactoryForms426_Manager') ) {
26
 
27
+ class Wbcr_FactoryForms426_Manager {
28
 
29
  // ----------------------------------------------------
30
  // Static fields and methods
57
  /**
58
  * Registers a set of new controls.
59
  *
60
+ * @see FactoryForms426_Form::registerControl()
61
  *
62
  * @since 1.0.0
63
  * @return void
95
  /**
96
  * Registers a set of new holder controls.
97
  *
98
+ * @see FactoryForms426_Form::registerHolder()
99
  *
100
  * @since 1.0.0
101
  * @return void
129
  /**
130
  * Registers a set of new custom form elements.
131
  *
132
+ * @see FactoryForms426_Form::registerCustomElement()
133
  *
134
  * @since 1.0.0
135
  * @return void
180
  public static $controls_registered = false;
181
  }
182
  }
183
+ if( !class_exists('Wbcr_FactoryForms426_Form') ) {
184
  /**
185
  * An abstraction for forms.
186
  */
187
+ class Wbcr_FactoryForms426_Form {
188
 
189
  // ----------------------------------------------------
190
  // Object fields and methods
194
  * A value provider of the form that is used to save and load values.
195
  *
196
  * @since 1.0.0
197
+ * @var Wbcr_IFactoryForms426_ValueProvider
198
  */
199
  private $provider;
200
 
245
  * A current form layout used to render a form.
246
  *
247
  * @since 1.0.0
248
+ * @var Wbcr_FactoryForms426_FormLayout
249
  */
250
  public $layout;
251
 
261
  *
262
  * @since 1.0.0
263
  * @param array $options
264
+ * @param Wbcr_Factory428_Plugin $plugin
265
  */
266
+ public function __construct(array $options = array(), Wbcr_Factory428_Plugin $plugin)
267
  {
268
  // register controls once, when the first form is created
269
+ if( !Wbcr_FactoryForms426_Manager::$controls_registered ) {
270
 
271
+ do_action('wbcr_factory_forms_426_register_controls', $plugin);
272
 
273
  //if( !empty($plugin) ) {
274
+ do_action('wbcr_factory_forms_426_register_controls_' . $plugin->getPluginName(), $plugin);
275
  //}
276
 
277
+ Wbcr_FactoryForms426_Manager::$controls_registered = true;
278
  }
279
 
280
  $this->scope = isset($options['scope']) ? $options['scope'] : null;
289
  $this->form_layout = 'bootstrap-3';
290
  }
291
 
292
+ Wbcr_FactoryForms426_Manager::$temper = 'flat';
293
  }
294
 
295
  /**
296
  * Sets a provider for the control.
297
  *
298
  * @since 1.0.0
299
+ * @param Wbcr_IFactoryForms426_ValueProvider $provider
300
  * @return void
301
  */
302
  public function setProvider($provider)
332
  */
333
  public function getItems()
334
  {
335
+ return apply_filters('wbcr_factory_428_form_items', $this->items, $this->name);
336
  }
337
 
338
  /**
339
  * Returns form controls (control objects).
340
  *
341
  * @since 1.0.0
342
+ * @return Wbcr_FactoryForms426_Control[]
343
  */
344
  public function getControls()
345
  {
355
  * Builds a form items to the control objects ready to use.
356
  *
357
  * @param null $holder
358
+ * @return Wbcr_FactoryForms426_Control[]
359
  */
360
 
361
  public function createControls($holder = null)
395
  *
396
  * @since 1.0.0
397
  * @param array $item Item data.
398
+ * @return Wbcr_FactoryForms426_FormElement|null A form element.
399
  */
400
  public function createElement($item)
401
  {
417
  *
418
  * @since 1.0.0
419
  * @param mixed[] $item Data of items.
420
+ * @return Wbcr_FactoryForms426_FormElement[] Created elements.
421
  */
422
  public function createElements($items = array())
423
  {
433
  *
434
  * @since 1.0.0
435
  * @param array $item Item data.
436
+ * @return Wbcr_FactoryForms426_Control A control object.
437
  */
438
  public function createControl($item)
439
  {
441
 
442
  if( is_array($item) ) {
443
 
444
+ $control_data = Wbcr_FactoryForms426_Manager::$registered_controls[$item['type']];
445
 
446
  require_once($control_data['include']);
447
 
465
  *
466
  * @since 1.0.0
467
  * @param array $item Item data.
468
+ * @return Wbcr_FactoryForms426_Holder A control holder object.
469
  */
470
  public function createHolder($item)
471
  {
473
 
474
  if( is_array($item) ) {
475
 
476
+ $holderData = Wbcr_FactoryForms426_Manager::$registered_holders[$item['type']];
477
  require_once($holderData['include']);
478
 
479
  $object = new $holderData['class']($item, $this);
491
  *
492
  * @since 1.0.0
493
  * @param mixed $item Item data.
494
+ * @return Wbcr_FactoryForms426_FormElement A custom form element object.
495
  */
496
  public function createCustomElement($item)
497
  {
499
 
500
  if( is_array($item) ) {
501
 
502
+ $data = Wbcr_FactoryForms426_Manager::$registered_custom_elements[$item['type']];
503
  require_once($data['include']);
504
 
505
  $options = $item;
523
  public function html($options = array())
524
  {
525
 
526
+ if( !isset(Wbcr_FactoryForms426_Manager::$form_layouts[$this->form_layout]) ) {
527
  die(sprintf('[ERROR] The form layout %s was not found.', $this->form_layout));
528
  }
529
 
530
  // include a render code
531
+ $layout_data = Wbcr_FactoryForms426_Manager::$form_layouts[$this->form_layout];
532
  require_once($layout_data['include']);
533
 
534
  $this->connectAssets();
552
  {
553
 
554
  $this->connectAssetsForItems();
555
+ $layout_data = Wbcr_FactoryForms426_Manager::$form_layouts[$this->form_layout];
556
 
557
  if( $layout_data['name'] == 'default' ) {
558
  if( isset($layout_data['style']) ) {
602
 
603
  $haystack = array();
604
  if( self::isControl($type) ) {
605
+ $haystack = Wbcr_FactoryForms426_Manager::$registered_controls;
606
  } elseif( self::isControlHolder($type) ) {
607
+ $haystack = Wbcr_FactoryForms426_Manager::$registered_holders;
608
  }
609
 
610
  if( isset($haystack[$type]) ) {
660
  */
661
  public static function isControl($item)
662
  {
663
+ return isset(Wbcr_FactoryForms426_Manager::$registered_controls[$item['type']]);
664
  }
665
 
666
  /**
672
  */
673
  public static function isControlHolder($item)
674
  {
675
+ return isset(Wbcr_FactoryForms426_Manager::$registered_holders[$item['type']]);
676
  }
677
 
678
  /**
684
  */
685
  public static function isCustomElement($item)
686
  {
687
+ return isset(Wbcr_FactoryForms426_Manager::$registered_custom_elements[$item['type']]);
688
  }
689
  }
690
  }
libs/factory/forms/includes/holder.class.php CHANGED
@@ -14,20 +14,20 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms425_Holder') ) {
18
 
19
  /**
20
  * The base class for control holders.
21
  *
22
  * @since 1.0.0
23
  */
24
- abstract class Wbcr_FactoryForms425_Holder extends Wbcr_FactoryForms425_FormElement {
25
 
26
  /**
27
  * Holder Elements.
28
  *
29
  * @since 1.0.0
30
- * @var Wbcr_FactoryForms425_Control[]
31
  */
32
  protected $elements = array();
33
 
@@ -44,7 +44,7 @@
44
  *
45
  * @since 1.0.0
46
  * @param mixed[] $options A holder options.
47
- * @param Wbcr_FactoryForms425_Form $form A parent form.
48
  */
49
  public function __construct($options, $form)
50
  {
@@ -56,7 +56,7 @@
56
  * Returns holder elements.
57
  *
58
  * @since 1.0.0
59
- * @return Wbcr_FactoryForms425_Control[].
60
  */
61
  public function getElements()
62
  {
@@ -84,7 +84,7 @@
84
  $is_first_item = false;
85
  }
86
 
87
- do_action('wbcr_factory_427_form_before_element_' . $element->getOption('name'));
88
 
89
  // if a current item is a control holder
90
  if( $element->is_holder ) {
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms426_Holder') ) {
18
 
19
  /**
20
  * The base class for control holders.
21
  *
22
  * @since 1.0.0
23
  */
24
+ abstract class Wbcr_FactoryForms426_Holder extends Wbcr_FactoryForms426_FormElement {
25
 
26
  /**
27
  * Holder Elements.
28
  *
29
  * @since 1.0.0
30
+ * @var Wbcr_FactoryForms426_Control[]
31
  */
32
  protected $elements = array();
33
 
44
  *
45
  * @since 1.0.0
46
  * @param mixed[] $options A holder options.
47
+ * @param Wbcr_FactoryForms426_Form $form A parent form.
48
  */
49
  public function __construct($options, $form)
50
  {
56
  * Returns holder elements.
57
  *
58
  * @since 1.0.0
59
+ * @return Wbcr_FactoryForms426_Control[].
60
  */
61
  public function getElements()
62
  {
84
  $is_first_item = false;
85
  }
86
 
87
+ do_action('wbcr_factory_428_form_before_element_' . $element->getOption('name'));
88
 
89
  // if a current item is a control holder
90
  if( $element->is_holder ) {
libs/factory/forms/includes/html-builder.class.php CHANGED
@@ -14,13 +14,13 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms425_HtmlAttributeBuilder') ) {
18
  /**
19
  * Html Attribute Builder
20
  *
21
  * @since 1.0.0
22
  */
23
- class Wbcr_FactoryForms425_HtmlAttributeBuilder {
24
 
25
  /**
26
  * An array to store css classes.
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms426_HtmlAttributeBuilder') ) {
18
  /**
19
  * Html Attribute Builder
20
  *
21
  * @since 1.0.0
22
  */
23
+ class Wbcr_FactoryForms426_HtmlAttributeBuilder {
24
 
25
  /**
26
  * An array to store css classes.
libs/factory/forms/includes/providers/meta-value-provider.class.php CHANGED
@@ -14,7 +14,7 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms425_OptionsValueProvider') ) {
18
 
19
  /**
20
  * Factory Meta Value Provider
@@ -24,7 +24,7 @@
24
  *
25
  * @since 1.0.0
26
  */
27
- class Wbcr_FactoryForms425_MetaValueProvider implements Wbcr_IFactoryForms425_ValueProvider {
28
 
29
 
30
  public $scope;
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms426_OptionsValueProvider') ) {
18
 
19
  /**
20
  * Factory Meta Value Provider
24
  *
25
  * @since 1.0.0
26
  */
27
+ class Wbcr_FactoryForms426_MetaValueProvider implements Wbcr_IFactoryForms426_ValueProvider {
28
 
29
 
30
  public $scope;
libs/factory/forms/includes/providers/options-value-provider.class.php CHANGED
@@ -13,7 +13,7 @@
13
  exit;
14
  }
15
 
16
- if( !class_exists('Wbcr_FactoryForms425_OptionsValueProvider') ) {
17
 
18
  /**
19
  * Factory Options Value Provider
@@ -22,7 +22,7 @@
22
  *
23
  * @since 1.0.0
24
  */
25
- class Wbcr_FactoryForms425_OptionsValueProvider implements Wbcr_IFactoryForms425_ValueProvider {
26
 
27
  /**
28
  * A prefix that will be added to all option names.
@@ -43,7 +43,7 @@
43
  /**
44
  * Creates a new instance of an options value provider.
45
  */
46
- public function __construct(Wbcr_Factory427_Plugin $plugin)
47
  {
48
  $this->plugin = $plugin;
49
  }
13
  exit;
14
  }
15
 
16
+ if( !class_exists('Wbcr_FactoryForms426_OptionsValueProvider') ) {
17
 
18
  /**
19
  * Factory Options Value Provider
22
  *
23
  * @since 1.0.0
24
  */
25
+ class Wbcr_FactoryForms426_OptionsValueProvider implements Wbcr_IFactoryForms426_ValueProvider {
26
 
27
  /**
28
  * A prefix that will be added to all option names.
43
  /**
44
  * Creates a new instance of an options value provider.
45
  */
46
+ public function __construct(Wbcr_Factory428_Plugin $plugin)
47
  {
48
  $this->plugin = $plugin;
49
  }
libs/factory/forms/includes/providers/value-provider.interface.php CHANGED
@@ -14,13 +14,13 @@
14
  if( !defined('ABSPATH') ) {
15
  exit;
16
  }
17
- if( !class_exists('Wbcr_IFactoryForms425_ValueProvider') ) {
18
  /**
19
  * The interface for all value provides.
20
  *
21
  * @since 1.0.0
22
  */
23
- interface Wbcr_IFactoryForms425_ValueProvider {
24
 
25
  /**
26
  * Inits a form a provider to get data from a storage.
14
  if( !defined('ABSPATH') ) {
15
  exit;
16
  }
17
+ if( !class_exists('Wbcr_IFactoryForms426_ValueProvider') ) {
18
  /**
19
  * The interface for all value provides.
20
  *
21
  * @since 1.0.0
22
  */
23
+ interface Wbcr_IFactoryForms426_ValueProvider {
24
 
25
  /**
26
  * Inits a form a provider to get data from a storage.
libs/factory/forms/langs/{wbcr_factory_forms_425-ru_RU.mo → wbcr_factory_forms_426-ru_RU.mo} RENAMED
File without changes
libs/factory/forms/langs/{wbcr_factory_forms_425-ru_RU.po → wbcr_factory_forms_426-ru_RU.po} RENAMED
File without changes
libs/factory/forms/layouts/bootstrap-3/bootstrap-3.php CHANGED
@@ -14,11 +14,11 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms425_Bootstrap3FormLayout') ) {
18
  /**
19
  * A form layout based on Twitter Bootstrap 3
20
  */
21
- class Wbcr_FactoryForms425_Bootstrap3FormLayout extends Wbcr_FactoryForms425_FormLayout {
22
 
23
  public $name = 'default';
24
 
@@ -27,7 +27,7 @@
27
  *
28
  * @since 1.0.0
29
  * @param array $options A holder options.
30
- * @param Wbcr_FactoryForms425_Form $form A parent form.
31
  */
32
  public function __construct($options, $form)
33
  {
@@ -68,7 +68,7 @@
68
  }
69
 
70
  /**
71
- * @param Wbcr_FactoryForms425_Control $control
72
  */
73
  public function beforeControl($control)
74
  {
@@ -116,7 +116,7 @@
116
  }
117
 
118
  /**
119
- * @param Wbcr_FactoryForms425_Control $control
120
  */
121
  public function afterControl($control)
122
  {
@@ -168,7 +168,7 @@
168
  }
169
 
170
  /**
171
- * @param Wbcr_FactoryForms425_Control $control
172
  * @param int $index
173
  * @param int $total
174
  */
@@ -193,7 +193,7 @@
193
  }
194
 
195
  /**
196
- * @param Wbcr_FactoryForms425_Control $control
197
  * @param int $index
198
  * @param int $total
199
  */
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms426_Bootstrap3FormLayout') ) {
18
  /**
19
  * A form layout based on Twitter Bootstrap 3
20
  */
21
+ class Wbcr_FactoryForms426_Bootstrap3FormLayout extends Wbcr_FactoryForms426_FormLayout {
22
 
23
  public $name = 'default';
24
 
27
  *
28
  * @since 1.0.0
29
  * @param array $options A holder options.
30
+ * @param Wbcr_FactoryForms426_Form $form A parent form.
31
  */
32
  public function __construct($options, $form)
33
  {
68
  }
69
 
70
  /**
71
+ * @param Wbcr_FactoryForms426_Control $control
72
  */
73
  public function beforeControl($control)
74
  {
116
  }
117
 
118
  /**
119
+ * @param Wbcr_FactoryForms426_Control $control
120
  */
121
  public function afterControl($control)
122
  {
168
  }
169
 
170
  /**
171
+ * @param Wbcr_FactoryForms426_Control $control
172
  * @param int $index
173
  * @param int $total
174
  */
193
  }
194
 
195
  /**
196
+ * @param Wbcr_FactoryForms426_Control $control
197
  * @param int $index
198
  * @param int $total
199
  */
libs/factory/freemius/boot.php CHANGED
@@ -14,39 +14,39 @@ if( !defined('ABSPATH') ) {
14
  exit;
15
  }
16
 
17
- if( defined('FACTORY_FREEMIUS_115_LOADED') ) {
18
  return;
19
  }
20
 
21
- define('FACTORY_FREEMIUS_115_VERSION', '1.1.5');
22
 
23
- define('FACTORY_FREEMIUS_115_LOADED', true);
24
- define('FACTORY_FREEMIUS_115_DIR', dirname(__FILE__));
25
- define('FACTORY_FREEMIUS_115_URL', plugins_url(null, __FILE__));
26
 
27
  #comp merge
28
  // Freemius
29
- require_once(FACTORY_FREEMIUS_115_DIR . '/includes/entities/class-freemius-entity.php');
30
- require_once(FACTORY_FREEMIUS_115_DIR . '/includes/entities/class-freemius-scope.php');
31
- require_once(FACTORY_FREEMIUS_115_DIR . '/includes/entities/class-freemius-user.php');
32
- require_once(FACTORY_FREEMIUS_115_DIR . '/includes/entities/class-freemius-site.php');
33
- require_once(FACTORY_FREEMIUS_115_DIR . '/includes/entities/class-freemius-license.php');
34
- require_once(FACTORY_FREEMIUS_115_DIR . '/includes/licensing/class-freemius-provider.php');
35
- require_once(FACTORY_FREEMIUS_115_DIR . '/includes/updates/class-freemius-repository.php');
36
 
37
  if( !class_exists('Freemius_Api_WordPress') ) {
38
- require_once FACTORY_FREEMIUS_115_DIR . '/includes/sdk/FreemiusWordPress.php';
39
  }
40
 
41
- require_once(FACTORY_FREEMIUS_115_DIR . '/includes/class-freemius-api.php');
42
 
43
  /**
44
- * @param Wbcr_Factory427_Plugin $plugin
45
  */
46
- add_action('wbcr_factory_freemius_115_plugin_created', function ($plugin) {
47
  # Устанавливаем класс провайдера лицензий для премиум менеджера
48
- $plugin->set_license_provider('freemius', 'WBCR\Factory_Freemius_115\Premium\Provider');
49
  # Устанавливаем класс репозитория обновлений для менеджера обновлений
50
- $plugin->set_update_repository('freemius', 'WBCR\Factory_Freemius_115\Updates\Freemius_Repository');
51
  });
52
  #endcomp
14
  exit;
15
  }
16
 
17
+ if( defined('FACTORY_FREEMIUS_116_LOADED') ) {
18
  return;
19
  }
20
 
21
+ define('FACTORY_FREEMIUS_116_VERSION', '1.1.6');
22
 
23
+ define('FACTORY_FREEMIUS_116_LOADED', true);
24
+ define('FACTORY_FREEMIUS_116_DIR', dirname(__FILE__));
25
+ define('FACTORY_FREEMIUS_116_URL', plugins_url(null, __FILE__));
26
 
27
  #comp merge
28
  // Freemius
29
+ require_once(FACTORY_FREEMIUS_116_DIR . '/includes/entities/class-freemius-entity.php');
30
+ require_once(FACTORY_FREEMIUS_116_DIR . '/includes/entities/class-freemius-scope.php');
31
+ require_once(FACTORY_FREEMIUS_116_DIR . '/includes/entities/class-freemius-user.php');
32
+ require_once(FACTORY_FREEMIUS_116_DIR . '/includes/entities/class-freemius-site.php');
33
+ require_once(FACTORY_FREEMIUS_116_DIR . '/includes/entities/class-freemius-license.php');
34
+ require_once(FACTORY_FREEMIUS_116_DIR . '/includes/licensing/class-freemius-provider.php');
35
+ require_once(FACTORY_FREEMIUS_116_DIR . '/includes/updates/class-freemius-repository.php');
36
 
37
  if( !class_exists('Freemius_Api_WordPress') ) {
38
+ require_once FACTORY_FREEMIUS_116_DIR . '/includes/sdk/FreemiusWordPress.php';
39
  }
40
 
41
+ require_once(FACTORY_FREEMIUS_116_DIR . '/includes/class-freemius-api.php');
42
 
43
  /**
44
+ * @param Wbcr_Factory428_Plugin $plugin
45
  */
46
+ add_action('wbcr_factory_freemius_116_plugin_created', function ($plugin) {
47
  # Устанавливаем класс провайдера лицензий для премиум менеджера
48
+ $plugin->set_license_provider('freemius', 'WBCR\Factory_Freemius_116\Premium\Provider');
49
  # Устанавливаем класс репозитория обновлений для менеджера обновлений
50
+ $plugin->set_update_repository('freemius', 'WBCR\Factory_Freemius_116\Updates\Freemius_Repository');
51
  });
52
  #endcomp
libs/factory/freemius/includes/class-freemius-api.php CHANGED
@@ -1,10 +1,10 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_Freemius_115;
4
 
5
  use Freemius_Api_WordPress;
6
  use Freemius_Exception;
7
- use Wbcr_Factory427_Plugin;
8
 
9
  if ( ! defined( 'ABSPATH' ) ) {
10
  exit;
@@ -33,7 +33,7 @@ final class Api {
33
  private $api;
34
 
35
  /**
36
- * @var Wbcr_Factory427_Plugin
37
  */
38
  private $plugin;
39
 
@@ -48,14 +48,14 @@ final class Api {
48
  private static $clock_diff;
49
 
50
  /**
51
- * @param Wbcr_Factory427_Plugin $slug
52
  * @param string $scope 'app', 'developer', 'user' or 'install'.
53
  * @param number $id Element's id.
54
  * @param string $public_key Public key.
55
  * @param bool|string $secret_key Element's secret key.
56
  * @param bool $is_sandbox
57
  */
58
- private function __construct( Wbcr_Factory427_Plugin $plugin, $scope, $id, $public_key, $secret_key, $is_sandbox ) {
59
  if ( ! class_exists( 'Freemius_Api_WordPress' ) ) {
60
  require_once WP_FS__DIR_SDK . '/FreemiusWordPress.php';
61
  }
@@ -73,7 +73,7 @@ final class Api {
73
  }
74
 
75
  /**
76
- * @param Wbcr_Factory427_Plugin $plugin
77
  * @param string $scope 'app', 'developer', 'user' or 'install'.
78
  * @param number $id Element's id.
79
  * @param string $public_key Public key.
@@ -82,7 +82,7 @@ final class Api {
82
  *
83
  * @return Api
84
  */
85
- public static function instance( Wbcr_Factory427_Plugin $plugin, $scope, $id, $public_key, $is_sandbox, $secret_key = false ) {
86
  $identifier = md5( $plugin->getPluginName() . $scope . $id . $public_key . ( is_string( $secret_key ) ? $secret_key : '' ) . json_encode( $is_sandbox ) );
87
 
88
  if ( ! isset( self::$instances[ $identifier ] ) ) {
1
  <?php
2
 
3
+ namespace WBCR\Factory_Freemius_116;
4
 
5
  use Freemius_Api_WordPress;
6
  use Freemius_Exception;
7
+ use Wbcr_Factory428_Plugin;
8
 
9
  if ( ! defined( 'ABSPATH' ) ) {
10
  exit;
33
  private $api;
34
 
35
  /**
36
+ * @var Wbcr_Factory428_Plugin
37
  */
38
  private $plugin;
39
 
48
  private static $clock_diff;
49
 
50
  /**
51
+ * @param Wbcr_Factory428_Plugin $slug
52
  * @param string $scope 'app', 'developer', 'user' or 'install'.
53
  * @param number $id Element's id.
54
  * @param string $public_key Public key.
55
  * @param bool|string $secret_key Element's secret key.
56
  * @param bool $is_sandbox
57
  */
58
+ private function __construct( Wbcr_Factory428_Plugin $plugin, $scope, $id, $public_key, $secret_key, $is_sandbox ) {
59
  if ( ! class_exists( 'Freemius_Api_WordPress' ) ) {
60
  require_once WP_FS__DIR_SDK . '/FreemiusWordPress.php';
61
  }
73
  }
74
 
75
  /**
76
+ * @param Wbcr_Factory428_Plugin $plugin
77
  * @param string $scope 'app', 'developer', 'user' or 'install'.
78
  * @param number $id Element's id.
79
  * @param string $public_key Public key.
82
  *
83
  * @return Api
84
  */
85
+ public static function instance( Wbcr_Factory428_Plugin $plugin, $scope, $id, $public_key, $is_sandbox, $secret_key = false ) {
86
  $identifier = md5( $plugin->getPluginName() . $scope . $id . $public_key . ( is_string( $secret_key ) ? $secret_key : '' ) . json_encode( $is_sandbox ) );
87
 
88
  if ( ! isset( self::$instances[ $identifier ] ) ) {
libs/factory/freemius/includes/entities/class-freemius-entity.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_Freemius_115\Entities;
4
 
5
  use stdClass;
6
 
1
  <?php
2
 
3
+ namespace WBCR\Factory_Freemius_116\Entities;
4
 
5
  use stdClass;
6
 
libs/factory/freemius/includes/entities/class-freemius-license.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_Freemius_115\Entities;
4
 
5
  use stdClass;
6
 
@@ -14,7 +14,7 @@
14
  * @copyright (c) 2018 Webraftic Ltd, Freemius, Inc.
15
  * @version 1.0
16
  */
17
- class License extends Entity implements \WBCR\Factory_427\Premium\Interfaces\License {
18
 
19
  /**
20
  * @var number
1
  <?php
2
 
3
+ namespace WBCR\Factory_Freemius_116\Entities;
4
 
5
  use stdClass;
6
 
14
  * @copyright (c) 2018 Webraftic Ltd, Freemius, Inc.
15
  * @version 1.0
16
  */
17
+ class License extends Entity implements \WBCR\Factory_428\Premium\Interfaces\License {
18
 
19
  /**
20
  * @var number
libs/factory/freemius/includes/entities/class-freemius-plugin.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_Freemius_115\Entities;
4
 
5
  use stdClass;
6
 
1
  <?php
2
 
3
+ namespace WBCR\Factory_Freemius_116\Entities;
4
 
5
  use stdClass;
6
 
libs/factory/freemius/includes/entities/class-freemius-scope.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_Freemius_115\Entities;
4
 
5
  use stdClass;
6
 
1
  <?php
2
 
3
+ namespace WBCR\Factory_Freemius_116\Entities;
4
 
5
  use stdClass;
6
 
libs/factory/freemius/includes/entities/class-freemius-site.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_Freemius_115\Entities;
4
 
5
  use stdClass;
6
 
1
  <?php
2
 
3
+ namespace WBCR\Factory_Freemius_116\Entities;
4
 
5
  use stdClass;
6
 
libs/factory/freemius/includes/entities/class-freemius-user.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_Freemius_115\Entities;
4
 
5
  if ( ! defined( 'ABSPATH' ) ) {
6
  exit;
1
  <?php
2
 
3
+ namespace WBCR\Factory_Freemius_116\Entities;
4
 
5
  if ( ! defined( 'ABSPATH' ) ) {
6
  exit;
libs/factory/freemius/includes/licensing/class-freemius-provider.php CHANGED
@@ -1,14 +1,14 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_Freemius_115\Premium;
4
-
5
- use WBCR\Factory_Freemius_115\Entities\License;
6
- use WBCR\Factory_Freemius_115\Entities\Plugin;
7
- use WBCR\Factory_Freemius_115\Entities\Site;
8
- use WBCR\Factory_Freemius_115\Entities\User;
9
- use WBCR\Factory_427\Premium\Provider as License_Provider;
10
- use Wbcr_Factory427_Plugin;
11
- use WBCR\Factory_Freemius_115\Api;
12
  use WP_Error;
13
  use Exception;
14
 
@@ -40,17 +40,17 @@ final class Provider extends License_Provider {
40
  private $slug;
41
 
42
  /**
43
- * @var \WBCR\Factory_Freemius_115\Api
44
  */
45
  private $site_api;
46
 
47
  /**
48
- * @var \WBCR\Factory_Freemius_115\Api
49
  */
50
  private $plugin_api;
51
 
52
  /**
53
- * @var \WBCR\Factory_Freemius_115\Api
54
  */
55
  private $user_api;
56
 
@@ -82,11 +82,11 @@ final class Provider extends License_Provider {
82
  /**
83
  * Manager constructor.
84
  *
85
- * @param Wbcr_Factory427_Plugin $plugin
86
  *
87
  * @throws Exception
88
  */
89
- public function __construct(Wbcr_Factory427_Plugin $plugin, array $settings)
90
  {
91
  parent::__construct($plugin, $settings);
92
 
@@ -150,7 +150,7 @@ final class Provider extends License_Provider {
150
  }
151
 
152
  /**
153
- * @return \WBCR\Factory_Freemius_115\Entities\License|null
154
  * @throws Exception
155
  */
156
  public function get_license()
@@ -613,7 +613,7 @@ final class Provider extends License_Provider {
613
  /**
614
  * @param bool $flush
615
  *
616
- * @return \WBCR\Factory_Freemius_115\Api
617
  * @throws Exception
618
  */
619
  private function get_api_user_scope(User $user, $flush = false)
@@ -628,7 +628,7 @@ final class Provider extends License_Provider {
628
  /**
629
  * @param bool $flush
630
  *
631
- * @return \WBCR\Factory_Freemius_115\Api
632
  * @throws Exception
633
  */
634
  private function get_api_site_scope(Site $site, $flush = false)
@@ -643,7 +643,7 @@ final class Provider extends License_Provider {
643
  /**
644
  * Get plugin public API scope.
645
  *
646
- * @return \WBCR\Factory_Freemius_115\Api
647
  * @throws Exception
648
  */
649
  private function get_api_plugin_scope()
1
  <?php
2
 
3
+ namespace WBCR\Factory_Freemius_116\Premium;
4
+
5
+ use WBCR\Factory_Freemius_116\Entities\License;
6
+ use WBCR\Factory_Freemius_116\Entities\Plugin;
7
+ use WBCR\Factory_Freemius_116\Entities\Site;
8
+ use WBCR\Factory_Freemius_116\Entities\User;
9
+ use WBCR\Factory_428\Premium\Provider as License_Provider;
10
+ use Wbcr_Factory428_Plugin;
11
+ use WBCR\Factory_Freemius_116\Api;
12
  use WP_Error;
13
  use Exception;
14
 
40
  private $slug;
41
 
42
  /**
43
+ * @var \WBCR\Factory_Freemius_116\Api
44
  */
45
  private $site_api;
46
 
47
  /**
48
+ * @var \WBCR\Factory_Freemius_116\Api
49
  */
50
  private $plugin_api;
51
 
52
  /**
53
+ * @var \WBCR\Factory_Freemius_116\Api
54
  */
55
  private $user_api;
56
 
82
  /**
83
  * Manager constructor.
84
  *
85
+ * @param Wbcr_Factory428_Plugin $plugin
86
  *
87
  * @throws Exception
88
  */
89
+ public function __construct(Wbcr_Factory428_Plugin $plugin, array $settings)
90
  {
91
  parent::__construct($plugin, $settings);
92
 
150
  }
151
 
152
  /**
153
+ * @return \WBCR\Factory_Freemius_116\Entities\License|null
154
  * @throws Exception
155
  */
156
  public function get_license()
613
  /**
614
  * @param bool $flush
615
  *
616
+ * @return \WBCR\Factory_Freemius_116\Api
617
  * @throws Exception
618
  */
619
  private function get_api_user_scope(User $user, $flush = false)
628
  /**
629
  * @param bool $flush
630
  *
631
+ * @return \WBCR\Factory_Freemius_116\Api
632
  * @throws Exception
633
  */
634
  private function get_api_site_scope(Site $site, $flush = false)
643
  /**
644
  * Get plugin public API scope.
645
  *
646
+ * @return \WBCR\Factory_Freemius_116\Api
647
  * @throws Exception
648
  */
649
  private function get_api_plugin_scope()
libs/factory/freemius/includes/updates/class-freemius-repository.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_Freemius_115\Updates;
4
 
5
  // Exit if accessed directly
6
  use Exception;
7
- use Wbcr_Factory427_Plugin;
8
- use WBCR\Factory_427\Updates\Repository;
9
 
10
  if ( ! defined( 'ABSPATH' ) ) {
11
  exit;
@@ -20,7 +20,7 @@ if ( ! defined( 'ABSPATH' ) ) {
20
  class Freemius_Repository extends Repository {
21
 
22
  /**
23
- * @var \WBCR\Factory_Freemius_115\Premium\Provider
24
  */
25
  private $premium;
26
 
@@ -28,11 +28,11 @@ class Freemius_Repository extends Repository {
28
  * Freemius constructor.
29
  * @since 4.0.0
30
  *
31
- * @param Wbcr_Factory427_Plugin $plugin
32
  *
33
  * @throws Exception
34
  */
35
- public function __construct( Wbcr_Factory427_Plugin $plugin ) {
36
  $this->plugin = $plugin;
37
  $this->premium = $this->plugin->premium;
38
  }
@@ -41,7 +41,7 @@ class Freemius_Repository extends Repository {
41
  * @throws Exception
42
  */
43
  public function init() {
44
- if ( ! $this->premium instanceof \WBCR\Factory_Freemius_115\Premium\Provider ) {
45
  throw new Exception( "This repository type requires Freemius premium provider." );
46
  }
47
 
1
  <?php
2
 
3
+ namespace WBCR\Factory_Freemius_116\Updates;
4
 
5
  // Exit if accessed directly
6
  use Exception;
7
+ use Wbcr_Factory428_Plugin;
8
+ use WBCR\Factory_428\Updates\Repository;
9
 
10
  if ( ! defined( 'ABSPATH' ) ) {
11
  exit;
20
  class Freemius_Repository extends Repository {
21
 
22
  /**
23
+ * @var \WBCR\Factory_Freemius_116\Premium\Provider
24
  */
25
  private $premium;
26
 
28
  * Freemius constructor.
29
  * @since 4.0.0
30
  *
31
+ * @param Wbcr_Factory428_Plugin $plugin
32
  *
33
  * @throws Exception
34
  */
35
+ public function __construct( Wbcr_Factory428_Plugin $plugin ) {
36
  $this->plugin = $plugin;
37
  $this->premium = $this->plugin->premium;
38
  }
41
  * @throws Exception
42
  */
43
  public function init() {
44
+ if ( ! $this->premium instanceof \WBCR\Factory_Freemius_116\Premium\Provider ) {
45
  throw new Exception( "This repository type requires Freemius premium provider." );
46
  }
47
 
libs/factory/pages/boot.php CHANGED
@@ -19,25 +19,25 @@ if( !is_admin() ) {
19
  return;
20
  }
21
 
22
- if( defined('FACTORY_PAGES_427_LOADED') ) {
23
  return;
24
  }
25
 
26
- define('FACTORY_PAGES_427_LOADED', true);
27
 
28
- define('FACTORY_PAGES_427_VERSION', '4.2.7');
29
 
30
- define('FACTORY_PAGES_427_DIR', dirname(__FILE__));
31
- define('FACTORY_PAGES_427_URL', plugins_url(null, __FILE__));
32
 
33
  if( !defined('FACTORY_FLAT_ADMIN') ) {
34
  define('FACTORY_FLAT_ADMIN', true);
35
  }
36
 
37
- load_plugin_textdomain('wbcr_factory_pages_427', false, dirname(plugin_basename(__FILE__)) . '/langs');
38
 
39
- require(FACTORY_PAGES_427_DIR . '/pages.php');
40
- require(FACTORY_PAGES_427_DIR . '/includes/page.class.php');
41
- require(FACTORY_PAGES_427_DIR . '/includes/admin-page.class.php');
42
- require(FACTORY_PAGES_427_DIR . '/templates/impressive-page.class.php');
43
 
19
  return;
20
  }
21
 
22
+ if( defined('FACTORY_PAGES_428_LOADED') ) {
23
  return;
24
  }
25
 
26
+ define('FACTORY_PAGES_428_LOADED', true);
27
 
28
+ define('FACTORY_PAGES_428_VERSION', '4.2.8');
29
 
30
+ define('FACTORY_PAGES_428_DIR', dirname(__FILE__));
31
+ define('FACTORY_PAGES_428_URL', plugins_url(null, __FILE__));
32
 
33
  if( !defined('FACTORY_FLAT_ADMIN') ) {
34
  define('FACTORY_FLAT_ADMIN', true);
35
  }
36
 
37
+ load_plugin_textdomain('wbcr_factory_pages_428', false, dirname(plugin_basename(__FILE__)) . '/langs');
38
 
39
+ require(FACTORY_PAGES_428_DIR . '/pages.php');
40
+ require(FACTORY_PAGES_428_DIR . '/includes/page.class.php');
41
+ require(FACTORY_PAGES_428_DIR . '/includes/admin-page.class.php');
42
+ require(FACTORY_PAGES_428_DIR . '/templates/impressive-page.class.php');
43
 
libs/factory/pages/includes/admin-page.class.php CHANGED
@@ -14,9 +14,9 @@ if( !defined('ABSPATH') ) {
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryPages427_AdminPage') ) {
18
 
19
- class Wbcr_FactoryPages427_AdminPage extends Wbcr_FactoryPages427_Page {
20
 
21
  /**
22
  * Visible page title.
@@ -209,7 +209,7 @@ if( !class_exists('Wbcr_FactoryPages427_AdminPage') ) {
209
  */
210
  public $add_link_to_plugin_actions = false;
211
 
212
- public function __construct(Wbcr_Factory427_Plugin $plugin)
213
  {
214
  parent::__construct($plugin);
215
  $this->configure();
@@ -325,13 +325,13 @@ if( !class_exists('Wbcr_FactoryPages427_AdminPage') ) {
325
  {
326
  $result_id = $this->getResultId();
327
 
328
- $this->hidden = apply_filters('wbcr_factory_427_page_is_hidden_' . $result_id, $this->hidden);
329
 
330
  if( $this->hidden ) {
331
  return;
332
  }
333
 
334
- $this->internal = apply_filters('wbcr_factory_427_page_is_internal_' . $result_id, $this->internal);
335
 
336
  if( $this->internal ) {
337
  $this->menu_target = null;
@@ -370,7 +370,7 @@ if( !class_exists('Wbcr_FactoryPages427_AdminPage') ) {
370
  $this->assets($this->scripts, $this->styles);
371
 
372
  if( !$this->scripts->isEmpty('bootstrap') || !$this->styles->isEmpty('bootstrap') ) {
373
- add_action('wbcr_factory_427_bootstrap_enqueue_scripts_' . $this->plugin->getPluginName(), [
374
  $this,
375
  'actionAdminBootstrapScripts'
376
  ]);
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryPages428_AdminPage') ) {
18
 
19
+ class Wbcr_FactoryPages428_AdminPage extends Wbcr_FactoryPages428_Page {
20
 
21
  /**
22
  * Visible page title.
209
  */
210
  public $add_link_to_plugin_actions = false;
211
 
212
+ public function __construct(Wbcr_Factory428_Plugin $plugin)
213
  {
214
  parent::__construct($plugin);
215
  $this->configure();
325
  {
326
  $result_id = $this->getResultId();
327
 
328
+ $this->hidden = apply_filters('wbcr_factory_428_page_is_hidden_' . $result_id, $this->hidden);
329
 
330
  if( $this->hidden ) {
331
  return;
332
  }
333
 
334
+ $this->internal = apply_filters('wbcr_factory_428_page_is_internal_' . $result_id, $this->internal);
335
 
336
  if( $this->internal ) {
337
  $this->menu_target = null;
370
  $this->assets($this->scripts, $this->styles);
371
 
372
  if( !$this->scripts->isEmpty('bootstrap') || !$this->styles->isEmpty('bootstrap') ) {
373
+ add_action('wbcr_factory_428_bootstrap_enqueue_scripts_' . $this->plugin->getPluginName(), [
374
  $this,
375
  'actionAdminBootstrapScripts'
376
  ]);
libs/factory/pages/includes/page.class.php CHANGED
@@ -14,9 +14,9 @@ if ( ! defined( 'ABSPATH' ) ) {
14
  exit;
15
  }
16
 
17
- if ( ! class_exists( 'Wbcr_FactoryPages427_Page' ) ) {
18
 
19
- class Wbcr_FactoryPages427_Page {
20
 
21
 
22
  /**
@@ -30,7 +30,7 @@ if ( ! class_exists( 'Wbcr_FactoryPages427_Page' ) ) {
30
  * Чтобы не было конфликтов с другими плагинами, используйте префиксы.
31
  *
32
  * @since 1.0.0
33
- * @see FactoryPages427_AdminPage
34
  *
35
  * @var string
36
  */
@@ -39,7 +39,7 @@ if ( ! class_exists( 'Wbcr_FactoryPages427_Page' ) ) {
39
  /**
40
  * Current Factory Plugin.
41
  *
42
- * @var Wbcr_Factory427_Plugin
43
  */
44
  public $plugin;
45
 
@@ -51,11 +51,11 @@ if ( ! class_exists( 'Wbcr_FactoryPages427_Page' ) ) {
51
  //private $default_actions = array();
52
 
53
  /**
54
- * @param Wbcr_Factory427_Plugin $plugin
55
  *
56
  * @throws Exception
57
  */
58
- public function __construct( Wbcr_Factory427_Plugin $plugin ) {
59
  $this->plugin = $plugin;
60
 
61
  if ( $plugin ) {
@@ -111,7 +111,7 @@ if ( ! class_exists( 'Wbcr_FactoryPages427_Page' ) ) {
111
 
112
  if ( ! method_exists( $this, $actionFunction ) ) {
113
  // todo: продумать и доработать выполнение произвольных и глобальных дейтсвия для всех страниц
114
- /*$custom_actions = apply_filters('wbcr/factory_pages_427/custom_actions', array(), $raw_action_name);
115
 
116
  if(isset($custom_actions[$raw_action_name])) {
117
  $custom_actions[$raw_action_name]();
14
  exit;
15
  }
16
 
17
+ if ( ! class_exists( 'Wbcr_FactoryPages428_Page' ) ) {
18
 
19
+ class Wbcr_FactoryPages428_Page {
20
 
21
 
22
  /**
30
  * Чтобы не было конфликтов с другими плагинами, используйте префиксы.
31
  *
32
  * @since 1.0.0
33
+ * @see FactoryPages428_AdminPage
34
  *
35
  * @var string
36
  */
39
  /**
40
  * Current Factory Plugin.
41
  *
42
+ * @var Wbcr_Factory428_Plugin
43
  */
44
  public $plugin;
45
 
51
  //private $default_actions = array();
52
 
53
  /**
54
+ * @param Wbcr_Factory428_Plugin $plugin
55
  *
56
  * @throws Exception
57
  */
58
+ public function __construct( Wbcr_Factory428_Plugin $plugin ) {
59
  $this->plugin = $plugin;
60
 
61
  if ( $plugin ) {
111
 
112
  if ( ! method_exists( $this, $actionFunction ) ) {
113
  // todo: продумать и доработать выполнение произвольных и глобальных дейтсвия для всех страниц
114
+ /*$custom_actions = apply_filters('wbcr/factory_pages_428/custom_actions', array(), $raw_action_name);
115
 
116
  if(isset($custom_actions[$raw_action_name])) {
117
  $custom_actions[$raw_action_name]();
libs/factory/pages/langs/{wbcr_factory_pages_427-fr_FR.mo → wbcr_factory_pages_428-fr_FR.mo} RENAMED
File without changes
libs/factory/pages/langs/{wbcr_factory_pages_427-fr_FR.po → wbcr_factory_pages_428-fr_FR.po} RENAMED
File without changes
libs/factory/pages/langs/{wbcr_factory_pages_427-ru_RU.mo → wbcr_factory_pages_428-ru_RU.mo} RENAMED
File without changes
libs/factory/pages/langs/{wbcr_factory_pages_427-ru_RU.po → wbcr_factory_pages_428-ru_RU.po} RENAMED
File without changes
libs/factory/pages/pages.php CHANGED
@@ -14,24 +14,24 @@
14
  exit;
15
  }
16
 
17
- add_action('admin_menu', 'Wbcr_FactoryPages427::actionAdminMenu');
18
- add_action('network_admin_menu', 'Wbcr_FactoryPages427::actionAdminMenu');
19
 
20
- if( !class_exists('Wbcr_FactoryPages427') ) {
21
  /**
22
  * A base class to manage pages.
23
  *
24
  * @since 1.0.0
25
  */
26
- class Wbcr_FactoryPages427 {
27
 
28
  /**
29
- * @var Wbcr_FactoryPages427_Page[]
30
  */
31
  private static $pages = array();
32
 
33
  /**
34
- * @param Wbcr_Factory427_Plugin $plugin
35
  * @param $class_name
36
  */
37
  public static function register($plugin, $class_name)
@@ -59,7 +59,7 @@
59
  }
60
  }
61
 
62
- public static function getPageUrl(Wbcr_Factory427_Plugin $plugin, $page_id, $args = array())
63
  {
64
  if( isset(self::$pages[$plugin->getPluginName()]) ) {
65
  $pages = self::$pages[$plugin->getPluginName()];
@@ -75,7 +75,7 @@
75
  }
76
 
77
  /**
78
- * @param Wbcr_Factory427_Plugin $plugin
79
  * @return array
80
  */
81
  public static function getIds($plugin)
@@ -93,14 +93,14 @@
93
  }
94
  }
95
 
96
- if( !function_exists('wbcr_factory_pages_427_get_page_id') ) {
97
  /**
98
  *
99
- * @param Wbcr_Factory427_Plugin $plugin
100
  * @param string $page_id
101
  * @return string
102
  */
103
- function wbcr_factory_pages_427_get_page_id($plugin, $page_id)
104
  {
105
  return $page_id . '-' . $plugin->getPluginName();
106
  }
14
  exit;
15
  }
16
 
17
+ add_action('admin_menu', 'Wbcr_FactoryPages428::actionAdminMenu');
18
+ add_action('network_admin_menu', 'Wbcr_FactoryPages428::actionAdminMenu');
19
 
20
+ if( !class_exists('Wbcr_FactoryPages428') ) {
21
  /**
22
  * A base class to manage pages.
23
  *
24
  * @since 1.0.0
25
  */
26
+ class Wbcr_FactoryPages428 {
27
 
28
  /**
29
+ * @var Wbcr_FactoryPages428_Page[]
30
  */
31
  private static $pages = array();
32
 
33
  /**
34
+ * @param Wbcr_Factory428_Plugin $plugin
35
  * @param $class_name
36
  */
37
  public static function register($plugin, $class_name)
59
  }
60
  }
61
 
62
+ public static function getPageUrl(Wbcr_Factory428_Plugin $plugin, $page_id, $args = array())
63
  {
64
  if( isset(self::$pages[$plugin->getPluginName()]) ) {
65
  $pages = self::$pages[$plugin->getPluginName()];
75
  }
76
 
77
  /**
78
+ * @param Wbcr_Factory428_Plugin $plugin
79
  * @return array
80
  */
81
  public static function getIds($plugin)
93
  }
94
  }
95
 
96
+ if( !function_exists('wbcr_factory_pages_428_get_page_id') ) {
97
  /**
98
  *
99
+ * @param Wbcr_Factory428_Plugin $plugin
100
  * @param string $page_id
101
  * @return string
102
  */
103
+ function wbcr_factory_pages_428_get_page_id($plugin, $page_id)
104
  {
105
  return $page_id . '-' . $plugin->getPluginName();
106
  }
libs/factory/pages/templates/assets/css/impressive.page.template.css CHANGED
@@ -8,7 +8,7 @@
8
  #WBCR .error {
9
  display: none !important;
10
  }
11
- #WBCR .wbcr-factory-pages-427-impressive-page-template {
12
  position: relative;
13
  /**
14
  Content sections
@@ -17,134 +17,134 @@
17
  Widget in the sidebar of the plugin
18
  */
19
  }
20
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-color-grey {
21
  color: #9a9a9a;
22
  }
23
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-orange-color {
24
  color: #ffc107;
25
  }
26
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-light-orange-color {
27
  color: #ffeb3b;
28
  }
29
- #WBCR .wbcr-factory-pages-427-impressive-page-template .form-group {
30
  padding: 0 20px;
31
  }
32
- #WBCR .wbcr-factory-pages-427-impressive-page-template .form-group label {
33
  font-weight: normal;
34
  }
35
- #WBCR .wbcr-factory-pages-427-impressive-page-template .form-horizontal .control-label {
36
  max-width: 300px;
37
  }
38
- #WBCR .wbcr-factory-pages-427-impressive-page-template .factory-control-buttons {
39
  text-align: right;
40
  padding-right: 20px;
41
  }
42
- #WBCR .wbcr-factory-pages-427-impressive-page-template .factory-from-control-list label span {
43
  display: inline-block;
44
  vertical-align: bottom;
45
  }
46
- #WBCR .wbcr-factory-pages-427-impressive-page-template .factory-from-control-list label span input[type="checkbox"],
47
- #WBCR .wbcr-factory-pages-427-impressive-page-template .factory-from-control-list label span input[type="checkbox"]:focus {
48
  outline: none;
49
  }
50
- #WBCR .wbcr-factory-pages-427-impressive-page-template .alert {
51
  font-weight: bold;
52
  margin: 0 !important;
53
  border: 0;
54
  border-radius: 0;
55
  padding: 15px;
56
  }
57
- #WBCR .wbcr-factory-pages-427-impressive-page-template .alert + .wbcr-factory-page-group-header {
58
  margin-top: 0 !important;
59
  }
60
- #WBCR .wbcr-factory-pages-427-impressive-page-template .alert.alert-warning {
61
  background: #fff3d0;
62
  }
63
- #WBCR .wbcr-factory-pages-427-impressive-page-template .alert.alert-warning:nth-child(2n+1) {
64
  background: #fffde9;
65
  }
66
- #WBCR .wbcr-factory-pages-427-impressive-page-template .alert.alert-danger {
67
  background: #de716d;
68
  }
69
- #WBCR .wbcr-factory-pages-427-impressive-page-template .alert.alert-danger:nth-child(2n+1) {
70
  background: #ec8c89;
71
  }
72
- #WBCR .wbcr-factory-pages-427-impressive-page-template .alert.alert-success {
73
  background: #d0ecc4;
74
  }
75
- #WBCR .wbcr-factory-pages-427-impressive-page-template .alert.alert-success:nth-child(2n+1) {
76
  background: #e0eadb;
77
  }
78
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-header {
79
  padding: 20px 20px 40px;
80
  }
81
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-recomended-text {
82
  display: block;
83
  font-size: 11px;
84
  font-weight: lighter;
85
  color: #179347;
86
  }
87
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-options,
88
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-page {
89
  position: relative;
90
  background: #e6e6e6;
91
  overflow: hidden;
92
  }
93
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-options:after,
94
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-page:after {
95
  display: block;
96
  content: '';
97
  clear: both;
98
  }
99
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-page-group-header {
100
  background: #efefef;
101
  padding: 20px 0 10px 20px;
102
  margin: 30px 0;
103
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
104
  }
105
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-page-group-header:first-child {
106
  margin-top: 0;
107
  }
108
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-page-group-header strong {
109
  font-size: 15px;
110
  }
111
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-page-group-header p {
112
  color: #8c8888;
113
  font-size: 12px;
114
  }
115
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-page-inner-wrap {
116
  margin-left: 230px;
117
  padding: 80px 0 0 0;
118
  vertical-align: top;
119
  background: #fff;
120
  }
121
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab-wrapper,
122
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-page-inner-wrap h2.nav-tab-wrapper,
123
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-page-inner-wrap h1.nav-tab-wrapper {
124
  border: 0;
125
  }
126
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab-active {
127
  background: #efefef !important;
128
  margin-bottom: -2px !important;
129
  border-bottom: 1px solid #efefef !important;
130
  }
131
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab:first-child {
132
  margin: 0;
133
  }
134
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab:hover {
135
  background: #f7f7f7;
136
  }
137
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab {
138
  border: 2px solid #dedede;
139
  border-bottom: 0;
140
  box-shadow: -1px 0 0 rgba(0, 0, 0, 0.1);
141
  }
142
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab:active,
143
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab:focus {
144
  box-shadow: none;
145
  outline: none;
146
  }
147
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-page-header {
148
  position: absolute;
149
  z-index: 13;
150
  top: 0;
@@ -155,7 +155,7 @@
155
  color: #fff;
156
  border-radius: 5px 5px 0 0;
157
  }
158
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-page-header .wbcr-factory-header-logo {
159
  float: left;
160
  padding: 25px 0;
161
  font-size: 20px;
@@ -168,11 +168,11 @@
168
  margin-right: 10px;
169
  background: none;
170
  }
171
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-page-header .wbcr-factory-header-title {
172
  display: inline-block;
173
  vertical-align: middle;
174
  }
175
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-page-header .wbcr-factory-header-title h2 {
176
  font-size: 18px;
177
  line-height: 30px;
178
  font-weight: 300;
@@ -183,12 +183,12 @@
183
  text-overflow: ellipsis;
184
  color: #fff;
185
  }
186
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-page-header .wbcr-factory-control {
187
  position: relative;
188
  float: right;
189
  margin: 12px;
190
  }
191
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button {
192
  display: inline-block;
193
  vertical-align: top;
194
  font-size: 13px;
@@ -211,49 +211,49 @@
211
  text-decoration: none;
212
  z-index: 3;
213
  }
214
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-save {
215
  box-shadow: none;
216
  min-width: 100px;
217
  background-color: #8bc34a;
218
  color: #fff;
219
  }
220
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-save:hover {
221
  background: #9dbb7b;
222
  color: #fff;
223
  }
224
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-save:active {
225
  box-shadow: inset -1px 1px 1px rgba(0, 0, 0, 0.3);
226
  }
227
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-settings {
228
  box-shadow: none;
229
  min-width: 200px;
230
  background-color: #9e9e9e;
231
  color: #fff;
232
  }
233
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-settings:hover {
234
  background: #797979;
235
  color: #fff;
236
  }
237
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-settings:active {
238
  box-shadow: inset -1px 1px 1px rgba(0, 0, 0, 0.3);
239
  }
240
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-left-navigation-bar {
241
  float: left;
242
  vertical-align: top;
243
  width: 230px;
244
  background: #e6e6e6;
245
  }
246
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-left-navigation-bar ul {
247
  padding: 0;
248
  margin-bottom: 0;
249
  margin-top: 80px;
250
  }
251
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab {
252
  display: block;
253
  background: #efefef;
254
  margin: 1px 0;
255
  }
256
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link {
257
  display: block;
258
  width: 100%;
259
  padding: 20px 20px;
@@ -264,83 +264,126 @@
264
  text-align: left;
265
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
266
  }
267
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link .wbcr-factory-tab__title {
268
  display: block;
269
  font-weight: bold;
270
  }
271
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link .wbcr-factory-tab__short-description {
272
  display: block;
273
  font-size: 13px;
274
  font-weight: normal;
275
  text-transform: none;
276
  color: #9a9a9a;
277
  }
278
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link .dashicons {
279
  float: right;
280
  color: #ccc;
281
  }
282
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link::after {
283
  clear: both;
284
  }
285
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:hover {
286
  background: #f7f6f6;
287
  }
288
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:hover .dashicons {
289
  color: #9a9a9a;
290
  }
291
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link,
292
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:active,
293
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:hover,
294
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:active,
295
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:focus {
296
  outline: 0 !important;
297
  box-shadow: none !important;
298
  }
299
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab.wbcr-factory-active-tab {
300
  background: #fff;
 
301
  }
302
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab.wbcr-factory-active-tab a {
303
  color: #ff5722;
304
  font-weight: bold;
305
- border-left: 5px solid #ff5722;
306
  }
307
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab.wbcr-factory-active-tab a .dashicons {
308
  color: #9a9a9a;
309
  }
310
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-content-section,
311
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-right-sidebar-section {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
312
  display: inline-block;
313
  vertical-align: top;
314
  }
315
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-content-section {
316
  width: 74.6%;
317
  }
318
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-content-section.wbcr-fullwidth {
319
  width: 100%;
320
  }
321
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-content-section .nav-tab-wrapper {
322
  margin-top: 15px;
323
  }
324
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-content-section .wbcr-factory-content {
325
  background: #f7f7f7;
326
  padding: 0 0 20px 0;
327
  border: 1px solid #dad8d8;
328
  box-shadow: -1px 0px 1px rgba(0, 0, 0, 0.1);
329
  }
330
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-content-section .wbcr-factory-content > form {
331
  padding-top: 0 !important;
332
  }
333
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-right-sidebar-section {
334
  width: 25%;
335
  padding: 10px;
336
  margin: 0 0 -20px;
337
  background-color: #f9f9f9;
338
  box-shadow: -1px 1px 5px rgba(0, 0, 0, 0.1);
339
  }
340
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-sidebar-widget {
341
  margin: 0 0 20px;
342
  }
343
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-sidebar-widget {
344
  display: inline-block;
345
  min-height: 230px;
346
  width: 100%;
@@ -349,19 +392,19 @@
349
  padding: 20px 15px;
350
  vertical-align: top;
351
  }
352
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-sidebar-widget.wbcr-factory-hide {
353
  display: none;
354
  }
355
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-sidebar-widget.wbcr-factory-warning {
356
  background: #fff4d0;
357
  }
358
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-sidebar-widget.wbcr-factory-danger {
359
  background: #e2ffc0;
360
  }
361
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-sidebar-widget.wbcr-factory-success {
362
  background: #ffebe9;
363
  }
364
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-sidebar-widget .wbcr-factory-hint-icon-simple {
365
  display: inline-block;
366
  width: 16px;
367
  height: 16px;
@@ -373,16 +416,16 @@
373
  background: #E91E63;
374
  border-radius: 3px;
375
  }
376
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-sidebar-widget .wbcr-factory-simple-grey {
377
  background: #E91E63;
378
  }
379
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-sidebar-widget .wbcr-factory-simple-red {
380
  background: #9e9e9e;
381
  }
382
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-sidebar-widget .wbcr-factory-simple-green {
383
  background: #8bc34a;
384
  }
385
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-sidebar-widget .wbcr-factory-icon-5stars {
386
  display: block;
387
  width: 80px;
388
  height: 17px;
@@ -390,23 +433,23 @@
390
  vertical-align: middle;
391
  margin-bottom: 5px;
392
  }
393
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-sidebar-widget #wbcr-factory-paypal-donation-form input[type="image"] {
394
  display: block;
395
  margin: 30px auto 0;
396
  outline: none;
397
  }
398
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-sidebar-widget #wbcr-factory-paypal-donation-form input[type="image"] :focus,
399
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-sidebar-widget #wbcr-factory-paypal-donation-form input[type="image"] :active {
400
  box-shadow: none;
401
  }
402
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-sidebar-widget #wbcr-factory-paypal-donation-form .wbcr-factory-donation-price {
403
  font-size: 50px;
404
  margin-top: 30px;
405
  text-align: center;
406
  font-weight: 600;
407
  color: #8BC34A;
408
  }
409
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-feature-box {
410
  min-height: 240px;
411
  margin-bottom: 20px;
412
  text-align: center;
@@ -414,24 +457,24 @@
414
  padding: 30px;
415
  border: 1px solid #f3f1e7;
416
  }
417
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-feature-box .dashicons {
418
  width: 50px;
419
  height: 50px;
420
  font-size: 50px;
421
  color: #FFC107;
422
  line-height: normal;
423
  }
424
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-feature-box h3 {
425
  color: #7b6111;
426
  }
427
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-feature-box p {
428
  color: #9e9e9e;
429
  }
430
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-buttons-wrap {
431
  margin-top: 20px;
432
  text-align: center;
433
  }
434
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-premium-button {
435
  display: inline-block;
436
  padding: 20px 60px;
437
  background-color: #FFC107;
@@ -441,67 +484,67 @@
441
  font-weight: bold;
442
  transition: background-color 0.3s, border-color 0.3s, color 0.3s, opacity 0.3s;
443
  }
444
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-premium-button:hover {
445
  background-color: #ffce3a;
446
  }
447
- #WBCR .wbcr-factory-pages-427-impressive-page-template #wbcr-factory-confirm-dialog {
448
  padding: 20px;
449
  background: #ffffff;
450
  }
451
- #WBCR .wbcr-factory-pages-427-impressive-page-template #wbcr-factory-confirm-dialog .updated,
452
- #WBCR .wbcr-factory-pages-427-impressive-page-template #wbcr-factory-confirm-dialog .alert {
453
  display: none;
454
  }
455
- #WBCR .wbcr-factory-pages-427-impressive-page-template #wbcr-factory-confirm-dialog h2 {
456
  font-size: 18px;
457
  margin-top: 10px;
458
  }
459
- #WBCR .wbcr-factory-pages-427-impressive-page-template #wbcr-factory-confirm-dialog .wbcr-factory-confirm-description {
460
  padding: 10px;
461
  background: #ffedeb;
462
  border: 1px solid #ffdfdc;
463
  margin: 15px 0;
464
  }
465
- #WBCR .wbcr-factory-pages-427-impressive-page-template #wbcr-factory-confirm-dialog .wbcr-factory-confirm-hint {
466
  margin-bottom: 15px;
467
  color: #7b7b7b;
468
  }
469
  @media screen and (max-width: 1367px) {
470
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-content-section {
471
  width: 69.6%;
472
  }
473
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-right-sidebar-section {
474
  width: 30%;
475
  }
476
  }
477
  @media screen and (max-width: 1320px) {
478
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-content-section {
479
  width: 100%;
480
  }
481
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-right-sidebar-section {
482
  display: none !important;
483
  }
484
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-header-logo .dash {
485
  display: none !important;
486
  }
487
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-header-title {
488
  display: none !important;
489
  }
490
  }
491
  @media screen and (max-width: 950px) {
492
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-left-navigation-bar {
493
  width: 70px;
494
  }
495
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab a {
496
  font-size: 0;
497
  }
498
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__title {
499
  font-size: 0;
500
  }
501
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__short-description {
502
  display: none !important;
503
  }
504
- #WBCR .wbcr-factory-pages-427-impressive-page-template .wbcr-factory-page-inner-wrap {
505
  margin-left: 70px;
506
  }
507
  }
8
  #WBCR .error {
9
  display: none !important;
10
  }
11
+ #WBCR .wbcr-factory-pages-428-impressive-page-template {
12
  position: relative;
13
  /**
14
  Content sections
17
  Widget in the sidebar of the plugin
18
  */
19
  }
20
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-color-grey {
21
  color: #9a9a9a;
22
  }
23
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-orange-color {
24
  color: #ffc107;
25
  }
26
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-light-orange-color {
27
  color: #ffeb3b;
28
  }
29
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .form-group {
30
  padding: 0 20px;
31
  }
32
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .form-group label {
33
  font-weight: normal;
34
  }
35
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .form-horizontal .control-label {
36
  max-width: 300px;
37
  }
38
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .factory-control-buttons {
39
  text-align: right;
40
  padding-right: 20px;
41
  }
42
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .factory-from-control-list label span {
43
  display: inline-block;
44
  vertical-align: bottom;
45
  }
46
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .factory-from-control-list label span input[type="checkbox"],
47
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .factory-from-control-list label span input[type="checkbox"]:focus {
48
  outline: none;
49
  }
50
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .alert {
51
  font-weight: bold;
52
  margin: 0 !important;
53
  border: 0;
54
  border-radius: 0;
55
  padding: 15px;
56
  }
57
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .alert + .wbcr-factory-page-group-header {
58
  margin-top: 0 !important;
59
  }
60
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .alert.alert-warning {
61
  background: #fff3d0;
62
  }
63
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .alert.alert-warning:nth-child(2n+1) {
64
  background: #fffde9;
65
  }
66
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .alert.alert-danger {
67
  background: #de716d;
68
  }
69
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .alert.alert-danger:nth-child(2n+1) {
70
  background: #ec8c89;
71
  }
72
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .alert.alert-success {
73
  background: #d0ecc4;
74
  }
75
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .alert.alert-success:nth-child(2n+1) {
76
  background: #e0eadb;
77
  }
78
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-header {
79
  padding: 20px 20px 40px;
80
  }
81
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-recomended-text {
82
  display: block;
83
  font-size: 11px;
84
  font-weight: lighter;
85
  color: #179347;
86
  }
87
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-options,
88
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-page {
89
  position: relative;
90
  background: #e6e6e6;
91
  overflow: hidden;
92
  }
93
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-options:after,
94
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-page:after {
95
  display: block;
96
  content: '';
97
  clear: both;
98
  }
99
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-page-group-header {
100
  background: #efefef;
101
  padding: 20px 0 10px 20px;
102
  margin: 30px 0;
103
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
104
  }
105
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-page-group-header:first-child {
106
  margin-top: 0;
107
  }
108
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-page-group-header strong {
109
  font-size: 15px;
110
  }
111
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-page-group-header p {
112
  color: #8c8888;
113
  font-size: 12px;
114
  }
115
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-page-inner-wrap {
116
  margin-left: 230px;
117
  padding: 80px 0 0 0;
118
  vertical-align: top;
119
  background: #fff;
120
  }
121
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab-wrapper,
122
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-page-inner-wrap h2.nav-tab-wrapper,
123
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-page-inner-wrap h1.nav-tab-wrapper {
124
  border: 0;
125
  }
126
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab-active {
127
  background: #efefef !important;
128
  margin-bottom: -2px !important;
129
  border-bottom: 1px solid #efefef !important;
130
  }
131
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab:first-child {
132
  margin: 0;
133
  }
134
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab:hover {
135
  background: #f7f7f7;
136
  }
137
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab {
138
  border: 2px solid #dedede;
139
  border-bottom: 0;
140
  box-shadow: -1px 0 0 rgba(0, 0, 0, 0.1);
141
  }
142
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab:active,
143
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab:focus {
144
  box-shadow: none;
145
  outline: none;
146
  }
147
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-page-header {
148
  position: absolute;
149
  z-index: 13;
150
  top: 0;
155
  color: #fff;
156
  border-radius: 5px 5px 0 0;
157
  }
158
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-page-header .wbcr-factory-header-logo {
159
  float: left;
160
  padding: 25px 0;
161
  font-size: 20px;
168
  margin-right: 10px;
169
  background: none;
170
  }
171
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-page-header .wbcr-factory-header-title {
172
  display: inline-block;
173
  vertical-align: middle;
174
  }
175
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-page-header .wbcr-factory-header-title h2 {
176
  font-size: 18px;
177
  line-height: 30px;
178
  font-weight: 300;
183
  text-overflow: ellipsis;
184
  color: #fff;
185
  }
186
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-page-header .wbcr-factory-control {
187
  position: relative;
188
  float: right;
189
  margin: 12px;
190
  }
191
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button {
192
  display: inline-block;
193
  vertical-align: top;
194
  font-size: 13px;
211
  text-decoration: none;
212
  z-index: 3;
213
  }
214
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-save {
215
  box-shadow: none;
216
  min-width: 100px;
217
  background-color: #8bc34a;
218
  color: #fff;
219
  }
220
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-save:hover {
221
  background: #9dbb7b;
222
  color: #fff;
223
  }
224
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-save:active {
225
  box-shadow: inset -1px 1px 1px rgba(0, 0, 0, 0.3);
226
  }
227
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-settings {
228
  box-shadow: none;
229
  min-width: 200px;
230
  background-color: #9e9e9e;
231
  color: #fff;
232
  }
233
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-settings:hover {
234
  background: #797979;
235
  color: #fff;
236
  }
237
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-settings:active {
238
  box-shadow: inset -1px 1px 1px rgba(0, 0, 0, 0.3);
239
  }
240
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-left-navigation-bar {
241
  float: left;
242
  vertical-align: top;
243
  width: 230px;
244
  background: #e6e6e6;
245
  }
246
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-left-navigation-bar ul {
247
  padding: 0;
248
  margin-bottom: 0;
249
  margin-top: 80px;
250
  }
251
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab {
252
  display: block;
253
  background: #efefef;
254
  margin: 1px 0;
255
  }
256
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link {
257
  display: block;
258
  width: 100%;
259
  padding: 20px 20px;
264
  text-align: left;
265
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
266
  }
267
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link .wbcr-factory-tab__title {
268
  display: block;
269
  font-weight: bold;
270
  }
271
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link .wbcr-factory-tab__short-description {
272
  display: block;
273
  font-size: 13px;
274
  font-weight: normal;
275
  text-transform: none;
276
  color: #9a9a9a;
277
  }
278
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link .dashicons {
279
  float: right;
280
  color: #ccc;
281
  }
282
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link::after {
283
  clear: both;
284
  }
285
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:hover {
286
  background: #f7f6f6;
287
  }
288
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:hover .dashicons {
289
  color: #9a9a9a;
290
  }
291
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link,
292
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:active,
293
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:hover,
294
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:active,
295
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:focus {
296
  outline: 0 !important;
297
  box-shadow: none !important;
298
  }
299
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab.wbcr-factory-active-tab {
300
  background: #fff;
301
+ border-left: 5px solid #ff5722;
302
  }
303
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab.wbcr-factory-active-tab a {
304
  color: #ff5722;
305
  font-weight: bold;
 
306
  }
307
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab.wbcr-factory-active-tab a .dashicons {
308
  color: #9a9a9a;
309
  }
310
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-submenu {
311
+ padding: 0;
312
+ margin: 0;
313
+ }
314
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-submenu li {
315
+ margin: 1px 0 0;
316
+ padding: 0;
317
+ }
318
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-submenu li a {
319
+ display: block;
320
+ font-weight: normal;
321
+ color: #222;
322
+ border: 0;
323
+ margin: 0;
324
+ padding: 5px 5px 5px 30px;
325
+ background: #f5f5f5;
326
+ text-decoration: none;
327
+ outline: none;
328
+ }
329
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-submenu li a:focus,
330
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-submenu li a:link {
331
+ outline: 0 !important;
332
+ text-shadow: none !important;
333
+ }
334
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-submenu li a .dashicons {
335
+ color: #9a9a9a;
336
+ font-size: 13px;
337
+ border: 0;
338
+ -moz-transform: scaleX(-1);
339
+ -webkit-transform: scaleX(-1);
340
+ -o-transform: scaleX(-1);
341
+ transform: scaleX(-1);
342
+ -ms-filter: fliph;
343
+ filter: fliph;
344
+ }
345
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-submenu li a.wbcr-factory-tab-active {
346
+ background: #fff;
347
+ color: #ff5722;
348
+ font-weight: 600;
349
+ }
350
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-submenu li a.wbcr-factory-tab-active .dashicons {
351
+ color: #ff5722;
352
+ }
353
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-content-section,
354
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-right-sidebar-section {
355
  display: inline-block;
356
  vertical-align: top;
357
  }
358
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-content-section {
359
  width: 74.6%;
360
  }
361
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-content-section.wbcr-fullwidth {
362
  width: 100%;
363
  }
364
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-content-section .nav-tab-wrapper {
365
  margin-top: 15px;
366
  }
367
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-content-section .wbcr-factory-content {
368
  background: #f7f7f7;
369
  padding: 0 0 20px 0;
370
  border: 1px solid #dad8d8;
371
  box-shadow: -1px 0px 1px rgba(0, 0, 0, 0.1);
372
  }
373
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-content-section .wbcr-factory-content > form {
374
  padding-top: 0 !important;
375
  }
376
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-right-sidebar-section {
377
  width: 25%;
378
  padding: 10px;
379
  margin: 0 0 -20px;
380
  background-color: #f9f9f9;
381
  box-shadow: -1px 1px 5px rgba(0, 0, 0, 0.1);
382
  }
383
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-sidebar-widget {
384
  margin: 0 0 20px;
385
  }
386
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-sidebar-widget {
387
  display: inline-block;
388
  min-height: 230px;
389
  width: 100%;
392
  padding: 20px 15px;
393
  vertical-align: top;
394
  }
395
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-sidebar-widget.wbcr-factory-hide {
396
  display: none;
397
  }
398
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-sidebar-widget.wbcr-factory-warning {
399
  background: #fff4d0;
400
  }
401
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-sidebar-widget.wbcr-factory-danger {
402
  background: #e2ffc0;
403
  }
404
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-sidebar-widget.wbcr-factory-success {
405
  background: #ffebe9;
406
  }
407
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-sidebar-widget .wbcr-factory-hint-icon-simple {
408
  display: inline-block;
409
  width: 16px;
410
  height: 16px;
416
  background: #E91E63;
417
  border-radius: 3px;
418
  }
419
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-sidebar-widget .wbcr-factory-simple-grey {
420
  background: #E91E63;
421
  }
422
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-sidebar-widget .wbcr-factory-simple-red {
423
  background: #9e9e9e;
424
  }
425
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-sidebar-widget .wbcr-factory-simple-green {
426
  background: #8bc34a;
427
  }
428
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-sidebar-widget .wbcr-factory-icon-5stars {
429
  display: block;
430
  width: 80px;
431
  height: 17px;
433
  vertical-align: middle;
434
  margin-bottom: 5px;
435
  }
436
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-sidebar-widget #wbcr-factory-paypal-donation-form input[type="image"] {
437
  display: block;
438
  margin: 30px auto 0;
439
  outline: none;
440
  }
441
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-sidebar-widget #wbcr-factory-paypal-donation-form input[type="image"] :focus,
442
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-sidebar-widget #wbcr-factory-paypal-donation-form input[type="image"] :active {
443
  box-shadow: none;
444
  }
445
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-sidebar-widget #wbcr-factory-paypal-donation-form .wbcr-factory-donation-price {
446
  font-size: 50px;
447
  margin-top: 30px;
448
  text-align: center;
449
  font-weight: 600;
450
  color: #8BC34A;
451
  }
452
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-feature-box {
453
  min-height: 240px;
454
  margin-bottom: 20px;
455
  text-align: center;
457
  padding: 30px;
458
  border: 1px solid #f3f1e7;
459
  }
460
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-feature-box .dashicons {
461
  width: 50px;
462
  height: 50px;
463
  font-size: 50px;
464
  color: #FFC107;
465
  line-height: normal;
466
  }
467
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-feature-box h3 {
468
  color: #7b6111;
469
  }
470
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-feature-box p {
471
  color: #9e9e9e;
472
  }
473
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-buttons-wrap {
474
  margin-top: 20px;
475
  text-align: center;
476
  }
477
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-premium-button {
478
  display: inline-block;
479
  padding: 20px 60px;
480
  background-color: #FFC107;
484
  font-weight: bold;
485
  transition: background-color 0.3s, border-color 0.3s, color 0.3s, opacity 0.3s;
486
  }
487
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-premium-button:hover {
488
  background-color: #ffce3a;
489
  }
490
+ #WBCR .wbcr-factory-pages-428-impressive-page-template #wbcr-factory-confirm-dialog {
491
  padding: 20px;
492
  background: #ffffff;
493
  }
494
+ #WBCR .wbcr-factory-pages-428-impressive-page-template #wbcr-factory-confirm-dialog .updated,
495
+ #WBCR .wbcr-factory-pages-428-impressive-page-template #wbcr-factory-confirm-dialog .alert {
496
  display: none;
497
  }
498
+ #WBCR .wbcr-factory-pages-428-impressive-page-template #wbcr-factory-confirm-dialog h2 {
499
  font-size: 18px;
500
  margin-top: 10px;
501
  }
502
+ #WBCR .wbcr-factory-pages-428-impressive-page-template #wbcr-factory-confirm-dialog .wbcr-factory-confirm-description {
503
  padding: 10px;
504
  background: #ffedeb;
505
  border: 1px solid #ffdfdc;
506
  margin: 15px 0;
507
  }
508
+ #WBCR .wbcr-factory-pages-428-impressive-page-template #wbcr-factory-confirm-dialog .wbcr-factory-confirm-hint {
509
  margin-bottom: 15px;
510
  color: #7b7b7b;
511
  }
512
  @media screen and (max-width: 1367px) {
513
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-content-section {
514
  width: 69.6%;
515
  }
516
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-right-sidebar-section {
517
  width: 30%;
518
  }
519
  }
520
  @media screen and (max-width: 1320px) {
521
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-content-section {
522
  width: 100%;
523
  }
524
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-right-sidebar-section {
525
  display: none !important;
526
  }
527
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-header-logo .dash {
528
  display: none !important;
529
  }
530
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-header-title {
531
  display: none !important;
532
  }
533
  }
534
  @media screen and (max-width: 950px) {
535
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-left-navigation-bar {
536
  width: 70px;
537
  }
538
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab a {
539
  font-size: 0;
540
  }
541
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__title {
542
  font-size: 0;
543
  }
544
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__short-description {
545
  display: none !important;
546
  }
547
+ #WBCR .wbcr-factory-pages-428-impressive-page-template .wbcr-factory-page-inner-wrap {
548
  margin-left: 70px;
549
  }
550
  }
libs/factory/pages/templates/assets/css/impressive.page.template.less CHANGED
@@ -26,6 +26,7 @@
26
 
27
  .form-group {
28
  padding: 0 20px;
 
29
  label {
30
  font-weight: normal;
31
  }
@@ -45,6 +46,7 @@
45
  span {
46
  display: inline-block;
47
  vertical-align: bottom;
 
48
  input[type="checkbox"], input[type="checkbox"]:focus {
49
  outline: none;
50
  }
@@ -123,12 +125,15 @@
123
  padding: 20px 0 10px 20px;
124
  margin: 30px 0;
125
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
 
126
  &:first-child {
127
  margin-top: 0;
128
  }
 
129
  strong {
130
  font-size: 15px;
131
  }
 
132
  p {
133
  color: #8c8888;
134
  font-size: 12px;
@@ -153,21 +158,26 @@
153
  .nav-tab-wrapper, h2.nav-tab-wrapper, h1.nav-tab-wrapper {
154
  border: 0;
155
  }
 
156
  .nav-tab-active {
157
  background: #efefef !important;
158
  margin-bottom: -2px !important;
159
  border-bottom: 1px solid #efefef !important;
160
  }
 
161
  .nav-tab:first-child {
162
  margin: 0;
163
  }
 
164
  .nav-tab:hover {
165
  background: #f7f7f7;
166
  }
 
167
  .nav-tab {
168
  border: 2px solid #dedede;
169
  border-bottom: 0;
170
  box-shadow: -1px 0 0 rgba(0, 0, 0, 0.1);
 
171
  &:active, &:focus {
172
  box-shadow: none;
173
  outline: none;
@@ -204,6 +214,7 @@
204
  .wbcr-factory-header-title {
205
  display: inline-block;
206
  vertical-align: middle;
 
207
  h2 {
208
  font-size: 18px;
209
  line-height: 30px;
@@ -252,10 +263,12 @@
252
  min-width: 100px;
253
  background-color: #8bc34a;
254
  color: #fff;
 
255
  &:hover {
256
  background: #9dbb7b;
257
  color: #fff;
258
  }
 
259
  &:active {
260
  box-shadow: inset -1px 1px 1px rgba(0, 0, 0, 0.3);
261
  }
@@ -266,10 +279,12 @@
266
  min-width: 200px;
267
  background-color: #9e9e9e;
268
  color: #fff;
 
269
  &:hover {
270
  background: #797979;
271
  color: #fff;
272
  }
 
273
  &:active {
274
  box-shadow: inset -1px 1px 1px rgba(0, 0, 0, 0.3);
275
  }
@@ -288,11 +303,13 @@
288
  padding: 0;
289
  margin-bottom: 0;
290
  margin-top: 80px;
 
291
  .wbcr-factory-nav-tab {
292
  display: block;
293
  background: #efefef;
294
  //padding: 15px 20px;
295
  margin: 1px 0;
 
296
  .wbcr-factory-tab__link {
297
  display: block;
298
  width: 100%;
@@ -329,27 +346,83 @@
329
 
330
  &:hover {
331
  background: #f7f6f6;
 
332
  .dashicons {
333
  color: #9a9a9a;
334
  }
335
  }
 
336
  &, &:active, &:hover, &:active, &:focus {
337
  outline: 0 !important;
338
  box-shadow: none !important;
339
  }
340
 
341
  }
 
342
  &.wbcr-factory-active-tab {
343
  background: #fff;
 
 
344
  a {
345
  color: #ff5722;
346
  font-weight: bold;
347
- border-left: 5px solid #ff5722;
 
348
  .dashicons {
349
  color: #9a9a9a;
350
  }
351
  }
352
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
353
  }
354
  }
355
  }
@@ -357,6 +430,7 @@
357
  /**
358
  Content sections
359
  */
 
360
  .wbcr-factory-content-section, .wbcr-factory-right-sidebar-section {
361
  display: inline-block;
362
  vertical-align: top;
@@ -364,17 +438,21 @@
364
 
365
  .wbcr-factory-content-section {
366
  width: 74.6%;
 
367
  &.wbcr-fullwidth {
368
  width: 100%;
369
  }
 
370
  .nav-tab-wrapper {
371
  margin-top: 15px;
372
  }
 
373
  .wbcr-factory-content {
374
  background: #f7f7f7;
375
  padding: 0 0 20px 0;
376
  border: 1px solid #dad8d8;
377
  box-shadow: -1px 0px 1px rgba(0, 0, 0, 0.1);
 
378
  & > form {
379
  padding-top: 0 !important;
380
  }
@@ -396,6 +474,7 @@
396
  /**
397
  Widget in the sidebar of the plugin
398
  */
 
399
  .wbcr-factory-sidebar-widget {
400
  display: inline-block;
401
  min-height: 230px;
@@ -433,12 +512,15 @@
433
  background: #E91E63;
434
  border-radius: 3px;
435
  }
 
436
  .wbcr-factory-simple-grey {
437
  background: #E91E63;
438
  }
 
439
  .wbcr-factory-simple-red {
440
  background: #9e9e9e;
441
  }
 
442
  .wbcr-factory-simple-green {
443
  background: #8bc34a;
444
  }
@@ -457,10 +539,12 @@
457
  display: block;
458
  margin: 30px auto 0;
459
  outline: none;
 
460
  :focus, :active {
461
  box-shadow: none;
462
  }
463
  }
 
464
  .wbcr-factory-donation-price {
465
  font-size: 50px;
466
  margin-top: 30px;
@@ -480,6 +564,7 @@
480
  background: #fdfcf7;
481
  padding: 30px;
482
  border: 1px solid #f3f1e7;
 
483
  .dashicons {
484
  width: 50px;
485
  height: 50px;
@@ -487,9 +572,11 @@
487
  color: #FFC107;
488
  line-height: normal;
489
  }
 
490
  h3 {
491
  color: #7b6111;
492
  }
 
493
  p {
494
  color: #9e9e9e;
495
  }
@@ -509,6 +596,7 @@
509
  text-transform: uppercase;
510
  font-weight: bold;
511
  transition: background-color 0.3s, border-color 0.3s, color 0.3s, opacity 0.3s;
 
512
  &:hover {
513
  background-color: #ffce3a
514
  }
@@ -522,16 +610,19 @@
522
  .updated, .alert {
523
  display: none;
524
  }
 
525
  h2 {
526
  font-size: 18px;
527
  margin-top: 10px;
528
  }
 
529
  .wbcr-factory-confirm-description {
530
  padding: 10px;
531
  background: #ffedeb;
532
  border: 1px solid #ffdfdc;
533
  margin: 15px 0;
534
  }
 
535
  .wbcr-factory-confirm-hint {
536
  margin-bottom: 15px;
537
  color: #7b7b7b;
@@ -560,14 +651,17 @@
560
  .wbcr-factory-content-section {
561
  width: 100%;
562
  }
 
563
  .wbcr-factory-right-sidebar-section {
564
  display: none !important;
565
  }
 
566
  .wbcr-factory-header-logo {
567
  .dash {
568
  display: none !important;
569
  }
570
  }
 
571
  .wbcr-factory-header-title {
572
  display: none !important;
573
  }
@@ -586,15 +680,18 @@
586
  a {
587
  font-size: 0;
588
  }
 
589
  .wbcr-factory-tab__title {
590
  font-size: 0;
591
  }
 
592
  .wbcr-factory-tab__short-description {
593
  display: none !important;
594
  }
595
  }
596
  }
597
  }
 
598
  .wbcr-factory-page-inner-wrap {
599
  margin-left: 70px;
600
  }
26
 
27
  .form-group {
28
  padding: 0 20px;
29
+
30
  label {
31
  font-weight: normal;
32
  }
46
  span {
47
  display: inline-block;
48
  vertical-align: bottom;
49
+
50
  input[type="checkbox"], input[type="checkbox"]:focus {
51
  outline: none;
52
  }
125
  padding: 20px 0 10px 20px;
126
  margin: 30px 0;
127
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
128
+
129
  &:first-child {
130
  margin-top: 0;
131
  }
132
+
133
  strong {
134
  font-size: 15px;
135
  }
136
+
137
  p {
138
  color: #8c8888;
139
  font-size: 12px;
158
  .nav-tab-wrapper, h2.nav-tab-wrapper, h1.nav-tab-wrapper {
159
  border: 0;
160
  }
161
+
162
  .nav-tab-active {
163
  background: #efefef !important;
164
  margin-bottom: -2px !important;
165
  border-bottom: 1px solid #efefef !important;
166
  }
167
+
168
  .nav-tab:first-child {
169
  margin: 0;
170
  }
171
+
172
  .nav-tab:hover {
173
  background: #f7f7f7;
174
  }
175
+
176
  .nav-tab {
177
  border: 2px solid #dedede;
178
  border-bottom: 0;
179
  box-shadow: -1px 0 0 rgba(0, 0, 0, 0.1);
180
+
181
  &:active, &:focus {
182
  box-shadow: none;
183
  outline: none;
214
  .wbcr-factory-header-title {
215
  display: inline-block;
216
  vertical-align: middle;
217
+
218
  h2 {
219
  font-size: 18px;
220
  line-height: 30px;
263
  min-width: 100px;
264
  background-color: #8bc34a;
265
  color: #fff;
266
+
267
  &:hover {
268
  background: #9dbb7b;
269
  color: #fff;
270
  }
271
+
272
  &:active {
273
  box-shadow: inset -1px 1px 1px rgba(0, 0, 0, 0.3);
274
  }
279
  min-width: 200px;
280
  background-color: #9e9e9e;
281
  color: #fff;
282
+
283
  &:hover {
284
  background: #797979;
285
  color: #fff;
286
  }
287
+
288
  &:active {
289
  box-shadow: inset -1px 1px 1px rgba(0, 0, 0, 0.3);
290
  }
303
  padding: 0;
304
  margin-bottom: 0;
305
  margin-top: 80px;
306
+
307
  .wbcr-factory-nav-tab {
308
  display: block;
309
  background: #efefef;
310
  //padding: 15px 20px;
311
  margin: 1px 0;
312
+
313
  .wbcr-factory-tab__link {
314
  display: block;
315
  width: 100%;
346
 
347
  &:hover {
348
  background: #f7f6f6;
349
+
350
  .dashicons {
351
  color: #9a9a9a;
352
  }
353
  }
354
+
355
  &, &:active, &:hover, &:active, &:focus {
356
  outline: 0 !important;
357
  box-shadow: none !important;
358
  }
359
 
360
  }
361
+
362
  &.wbcr-factory-active-tab {
363
  background: #fff;
364
+ border-left: 5px solid #ff5722;
365
+
366
  a {
367
  color: #ff5722;
368
  font-weight: bold;
369
+
370
+
371
  .dashicons {
372
  color: #9a9a9a;
373
  }
374
  }
375
  }
376
+
377
+ .wbcr-factory-submenu {
378
+ padding: 0;
379
+ margin: 0;
380
+
381
+ li {
382
+ margin: 1px 0 0;
383
+ padding: 0;
384
+
385
+ a {
386
+ display: block;
387
+ font-weight: normal;
388
+ color: #222;
389
+ border: 0;
390
+ margin: 0;
391
+ padding: 5px 5px 5px 30px;
392
+ background: #f5f5f5;
393
+ text-decoration: none;
394
+ outline: none;
395
+
396
+ &:focus, &:link {
397
+ outline: 0 !important;
398
+ text-shadow: none !important;
399
+ }
400
+
401
+ .dashicons {
402
+ color: #9a9a9a;
403
+ font-size: 13px;
404
+ border: 0;
405
+ -moz-transform: scaleX(-1);
406
+ -webkit-transform: scaleX(-1);
407
+ -o-transform: scaleX(-1);
408
+ transform: scaleX(-1);
409
+ -ms-filter: fliph;
410
+ filter: fliph;
411
+ }
412
+
413
+ &.wbcr-factory-tab-active {
414
+ background: #fff;
415
+ color: #ff5722;
416
+ font-weight: 600;
417
+
418
+
419
+ .dashicons {
420
+ color: #ff5722;
421
+ }
422
+ }
423
+ }
424
+ }
425
+ }
426
  }
427
  }
428
  }
430
  /**
431
  Content sections
432
  */
433
+
434
  .wbcr-factory-content-section, .wbcr-factory-right-sidebar-section {
435
  display: inline-block;
436
  vertical-align: top;
438
 
439
  .wbcr-factory-content-section {
440
  width: 74.6%;
441
+
442
  &.wbcr-fullwidth {
443
  width: 100%;
444
  }
445
+
446
  .nav-tab-wrapper {
447
  margin-top: 15px;
448
  }
449
+
450
  .wbcr-factory-content {
451
  background: #f7f7f7;
452
  padding: 0 0 20px 0;
453
  border: 1px solid #dad8d8;
454
  box-shadow: -1px 0px 1px rgba(0, 0, 0, 0.1);
455
+
456
  & > form {
457
  padding-top: 0 !important;
458
  }
474
  /**
475
  Widget in the sidebar of the plugin
476
  */
477
+
478
  .wbcr-factory-sidebar-widget {
479
  display: inline-block;
480
  min-height: 230px;
512
  background: #E91E63;
513
  border-radius: 3px;
514
  }
515
+
516
  .wbcr-factory-simple-grey {
517
  background: #E91E63;
518
  }
519
+
520
  .wbcr-factory-simple-red {
521
  background: #9e9e9e;
522
  }
523
+
524
  .wbcr-factory-simple-green {
525
  background: #8bc34a;
526
  }
539
  display: block;
540
  margin: 30px auto 0;
541
  outline: none;
542
+
543
  :focus, :active {
544
  box-shadow: none;
545
  }
546
  }
547
+
548
  .wbcr-factory-donation-price {
549
  font-size: 50px;
550
  margin-top: 30px;
564
  background: #fdfcf7;
565
  padding: 30px;
566
  border: 1px solid #f3f1e7;
567
+
568
  .dashicons {
569
  width: 50px;
570
  height: 50px;
572
  color: #FFC107;
573
  line-height: normal;
574
  }
575
+
576
  h3 {
577
  color: #7b6111;
578
  }
579
+
580
  p {
581
  color: #9e9e9e;
582
  }
596
  text-transform: uppercase;
597
  font-weight: bold;
598
  transition: background-color 0.3s, border-color 0.3s, color 0.3s, opacity 0.3s;
599
+
600
  &:hover {
601
  background-color: #ffce3a
602
  }
610
  .updated, .alert {
611
  display: none;
612
  }
613
+
614
  h2 {
615
  font-size: 18px;
616
  margin-top: 10px;
617
  }
618
+
619
  .wbcr-factory-confirm-description {
620
  padding: 10px;
621
  background: #ffedeb;
622
  border: 1px solid #ffdfdc;
623
  margin: 15px 0;
624
  }
625
+
626
  .wbcr-factory-confirm-hint {
627
  margin-bottom: 15px;
628
  color: #7b7b7b;
651
  .wbcr-factory-content-section {
652
  width: 100%;
653
  }
654
+
655
  .wbcr-factory-right-sidebar-section {
656
  display: none !important;
657
  }
658
+
659
  .wbcr-factory-header-logo {
660
  .dash {
661
  display: none !important;
662
  }
663
  }
664
+
665
  .wbcr-factory-header-title {
666
  display: none !important;
667
  }
680
  a {
681
  font-size: 0;
682
  }
683
+
684
  .wbcr-factory-tab__title {
685
  font-size: 0;
686
  }
687
+
688
  .wbcr-factory-tab__short-description {
689
  display: none !important;
690
  }
691
  }
692
  }
693
  }
694
+
695
  .wbcr-factory-page-inner-wrap {
696
  margin-left: 70px;
697
  }
libs/factory/pages/templates/impressive-page.class.php CHANGED
@@ -10,15 +10,15 @@
10
  */
11
 
12
  // Exit if accessed directly
13
- if ( ! defined( 'ABSPATH' ) ) {
14
  exit;
15
  }
16
 
17
- if ( ! class_exists( 'Wbcr_FactoryPages427_ImpressiveThemplate' ) ) {
18
  /**
19
- * Class Wbcr_FactoryPages427_ImpressiveThemplate
20
  */
21
- abstract class Wbcr_FactoryPages427_ImpressiveThemplate extends Wbcr_FactoryPages427_AdminPage {
22
 
23
  /**
24
  * Тип страницы:
@@ -112,86 +112,54 @@ if ( ! class_exists( 'Wbcr_FactoryPages427_ImpressiveThemplate' ) ) {
112
  public $page_menu = [];
113
 
114
  /**
115
- * @param Wbcr_Factory427_Plugin $plugin
116
  */
117
- public function __construct( Wbcr_Factory427_Plugin $plugin ) {
118
- $this->menuIcon = FACTORY_PAGES_427_URL . '/templates/assets/img/webcraftic-plugin-icon.png';
119
- //$allow_multisite = apply_filters('wbcr_factory_427_core_admin_allow_multisite', false);
 
120
 
121
- if ( is_multisite() && $this->available_for_multisite && $plugin->isNetworkActive() ) {
122
- $this->network = true;
123
  $this->menu_target = 'settings.php';
124
  $this->capabilitiy = 'manage_network';
125
  }
126
 
127
- parent::__construct( $plugin );
128
 
129
- $this->title_plugin_action_link = __( 'Settings', 'wbcr_factory_pages_427' );
130
 
131
  $this->setPageMenu();
132
  }
133
 
134
- /**
135
- * Set page menu item
136
- */
137
- public function setPageMenu() {
138
- global $factory_impressive_page_menu;
139
-
140
- $dashicon = ( ! empty( $this->page_menu_dashicon ) ) ? ' ' . $this->page_menu_dashicon : '';
141
- $short_description = ( ! empty( $this->page_menu_short_description ) ) ? ' ' . $this->page_menu_short_description : '';
142
-
143
- if ( is_multisite() && is_network_admin() && ! $this->network ) {
144
- return;
145
- }
146
-
147
- $factory_impressive_page_menu[ $this->getMenuScope() ][ $this->getResultId() ] = [
148
- 'type' => $this->type, // page, options
149
- 'url' => $this->getBaseUrl(),
150
- 'title' => $this->getPageTitle() . ' <span class="dashicons' . $dashicon . '"></span>',
151
- 'short_description' => $short_description,
152
- 'position' => $this->page_menu_position,
153
- 'parent' => $this->page_parent_page
154
- ];
155
- }
156
-
157
- /**
158
- * Get page menu items
159
- *
160
- * @return mixed
161
- */
162
- public function getPageMenu() {
163
- global $factory_impressive_page_menu;
164
-
165
- return $factory_impressive_page_menu[ $this->getMenuScope() ];
166
- }
167
-
168
  /**
169
  * Requests assets (js and css) for the page.
170
  *
171
  * @return void
172
  * @since 1.0.0
173
- * @see FactoryPages427_AdminPage
174
  *
175
  */
176
- public function assets( $scripts, $styles ) {
 
177
 
178
- $this->scripts->request( 'jquery' );
179
 
180
- $this->scripts->request( [
181
  'control.checkbox',
182
  'control.dropdown',
183
  'bootstrap.tooltip'
184
- ], 'bootstrap' );
185
 
186
- $this->styles->request( [
187
  'bootstrap.core',
188
  'bootstrap.form-group',
189
  'bootstrap.separator',
190
  'control.dropdown',
191
  'control.checkbox'
192
- ], 'bootstrap' );
193
 
194
- $this->styles->add( FACTORY_PAGES_427_URL . '/templates/assets/css/impressive.page.template.css' );
195
  }
196
 
197
  /**
@@ -199,20 +167,21 @@ if ( ! class_exists( 'Wbcr_FactoryPages427_ImpressiveThemplate' ) ) {
199
  *
200
  * @return string
201
  */
202
- public function getPluginTitle() {
 
203
  /**
204
  * @since 4.0.8 - добавлен
205
  * @since 4.0.9 - является устаревшим
206
  */
207
- $plugin_title = wbcr_factory_427_apply_filters_deprecated( 'wbcr/factory/imppage/plugin_title', [
208
  $this->plugin->getPluginTitle(),
209
  $this->plugin->getPluginName()
210
- ], '4.0.9', 'wbcr/factory/pages/impressive/plugin_title' );
211
 
212
  /**
213
  * @since 4.0.9 - является устаревшим
214
  */
215
- $plugin_title = apply_filters( 'wbcr/factory/pages/impressive/plugin_title', $plugin_title, $this->plugin->getPluginName() );
216
 
217
  return $plugin_title;
218
  }
@@ -222,24 +191,12 @@ if ( ! class_exists( 'Wbcr_FactoryPages427_ImpressiveThemplate' ) ) {
222
  *
223
  * @return string
224
  */
225
- public function getPageUrl() {
 
226
  /**
227
  * @since 4.0.9 - добавлен
228
  */
229
- return apply_filters( 'wbcr/factory/pages/impressive/base_url', $this->getBaseUrl(), $this->plugin->getPluginName(), $this->id );
230
- }
231
-
232
- /**
233
- * Пространство имен для меню плагина
234
- * Можно приклеить меню к другому плагину, просто перезаписав этот метод в дочернем классе
235
- *
236
- * @return string
237
- */
238
- public function getMenuScope() {
239
- /**
240
- * @since 4.0.9 - добавлен
241
- */
242
- return apply_filters( 'wbcr/factory/pages/impressive/menu_scope', $this->plugin->getPluginName(), $this->plugin->getPluginName(), $this->id );
243
  }
244
 
245
  /**
@@ -250,10 +207,11 @@ if ( ! class_exists( 'Wbcr_FactoryPages427_ImpressiveThemplate' ) ) {
250
  *
251
  * @return mixed|void
252
  */
253
- public function getOption( $option_name, $default = false ) {
254
- _deprecated_function( __METHOD__, '4.0.9', '$this->plugin->getOption()' );
 
255
 
256
- return $this->plugin->getOption( $option_name, $default );
257
  }
258
 
259
  /**
@@ -262,9 +220,10 @@ if ( ! class_exists( 'Wbcr_FactoryPages427_ImpressiveThemplate' ) ) {
262
  * @sinve 1.0.0
263
  * @return void
264
  */
265
- public function indexAction() {
 
266
  $page_menu = $this->getPageMenu();
267
- if ( 'options' === $page_menu[ $this->getResultId() ]['type'] ) {
268
  $this->showOptions();
269
  } else {
270
  $this->showPage();
@@ -277,34 +236,35 @@ if ( ! class_exists( 'Wbcr_FactoryPages427_ImpressiveThemplate' ) ) {
277
  * @sinve 4.0.0
278
  * @return void
279
  */
280
- public function flushCacheAndRulesAction() {
281
- check_admin_referer( 'wbcr_factory_' . $this->getResultId() . '_flush_action' );
 
282
 
283
- if ( class_exists( 'WbcrFactoryClearfy219_Helpers' ) ) {
284
- WbcrFactoryClearfy219_Helpers::flushPageCache();
285
  }
286
 
287
  /**
288
  * @since 4.0.1 - является устаревшим
289
  */
290
- wbcr_factory_427_do_action_deprecated( 'wbcr_factory_427_imppage_flush_cache', [
291
  $this->plugin->getPluginName(),
292
  $this->getResultId()
293
- ], '4.0.1', 'wbcr_factory_427_imppage_after_form_save' );
294
 
295
  /**
296
  * @since 4.0.9 - является устаревшим
297
  */
298
- wbcr_factory_427_do_action_deprecated( 'wbcr_factory_427_imppage_after_form_save', [
299
  $this->plugin,
300
  $this
301
- ], '4.0.9', 'wbcr/factory/pages/impressive/after_form_save' );
302
 
303
  /**
304
  * @since 4.0.1 - добавлен
305
  * @since 4.0.9 - изменено название экшена, без привязки к версии фреймворка
306
  */
307
- do_action( 'wbcr/factory/pages/impressive/after_form_save', $this->plugin, $this );
308
 
309
  $this->afterFormSave();
310
 
@@ -314,24 +274,25 @@ if ( ! class_exists( 'Wbcr_FactoryPages427_ImpressiveThemplate' ) ) {
314
  /**
315
  * @since 4.0.9 - является устаревшим
316
  */
317
- $redirect_args = wbcr_factory_427_apply_filters_deprecated( 'wbcr_factory_427_imppage_after_form_save_redirect_args', [ $redirect_args ], '4.0.9', 'wbcr/factory/pages/impressive/save_redirect_args' );
318
 
319
  /**
320
  * @since 4.0.1 - добавлен
321
  * @since 4.0.9 - изменено название экшена, без привязки к версии фреймворка
322
  */
323
- $redirect_args = apply_filters( 'wbcr/factory/pages/impressive/save_redirect_args', $redirect_args );
324
 
325
- $this->redirectToAction( 'index', $redirect_args );
326
  }
327
 
328
 
329
  /**
330
  * Вызывается всегда при загрузке страницы, перед опциями формы с типом страницы options
331
  */
332
- protected function warningNotice() {
 
333
  /*if( WP_CACHE ) {
334
- $this->printWarningNotice(__("It seems that a caching/performance plugin is active on this site. Please manually invalidate that plugin's cache after making any changes to the settings below.", 'wbcr_factory_pages_427'));
335
  }*/
336
  // Метод предназначен для вызова в дочернем классе
337
  }
@@ -345,7 +306,8 @@ if ( ! class_exists( 'Wbcr_FactoryPages427_ImpressiveThemplate' ) ) {
345
  * @since 4.0.0
346
  *
347
  */
348
- protected function getActionNotices( $notices ) {
 
349
  // Метод предназначен для вызова в дочернем классе
350
  return $notices;
351
  }
@@ -356,7 +318,8 @@ if ( ! class_exists( 'Wbcr_FactoryPages427_ImpressiveThemplate' ) ) {
356
  * @return void
357
  * @since 4.0.0
358
  */
359
- protected function beforeFormSave() {
 
360
  // Метод предназначен для вызова в дочернем классе
361
  }
362
 
@@ -366,7 +329,8 @@ if ( ! class_exists( 'Wbcr_FactoryPages427_ImpressiveThemplate' ) ) {
366
  * @return void
367
  * @since 4.0.0
368
  */
369
- protected function afterFormSave() {
 
370
  // Метод предназначен для вызова в дочернем классе
371
  }
372
 
@@ -376,19 +340,23 @@ if ( ! class_exists( 'Wbcr_FactoryPages427_ImpressiveThemplate' ) ) {
376
  * @return void
377
  * @since 4.0.0
378
  */
379
- protected function formSaved() {
 
380
  // Метод предназначен для вызова в дочернем классе
381
  }
382
 
383
- public function printWarningNotice( $message ) {
 
384
  echo '<div class="alert alert-warning wbcr-factory-warning-notice"><p><span class="dashicons dashicons-warning"></span> ' . $message . '</p></div>';
385
  }
386
 
387
- public function printErrorNotice( $message ) {
 
388
  echo '<div class="alert alert-danger wbcr-factory-warning-notice"><p><span class="dashicons dashicons-dismiss"></span> ' . $message . '</p></div>';
389
  }
390
 
391
- public function printSuccessNotice( $message ) {
 
392
  echo '<div class="alert alert-success wbcr-factory-warning-notice"><p><span class="dashicons dashicons-plus"></span> ' . $message . '</p></div>';
393
  }
394
 
@@ -396,256 +364,360 @@ if ( ! class_exists( 'Wbcr_FactoryPages427_ImpressiveThemplate' ) ) {
396
  * Печатает все зарегистрированные системные уведомления внутри интерфейса плагина
397
  * Типы уведомлений: предупреждения, ошибки, успешные выполнения задач
398
  */
399
- protected function printAllNotices() {
 
400
  $this->warningNotice();
401
  $this->showActionsNotice();
402
 
403
  /**
404
  * @since 4.0.9 - является устаревшим
405
  */
406
- wbcr_factory_427_do_action_deprecated( 'wbcr_factory_pages_427_imppage_print_all_notices', [
407
  $this->plugin,
408
  $this
409
- ], '4.0.9', 'wbcr/factory/pages/impressive/print_all_notices' );
410
 
411
  /**
412
  * @since 4.0.1 - добавлен
413
  * @since 4.0.9 - изменено имя
414
  */
415
- do_action( 'wbcr/factory/pages/impressive/print_all_notices', $this->plugin, $this );
416
  }
417
 
418
- private function showActionsNotice() {
 
419
  $notices = [
420
  [
421
  'conditions' => [
422
  $this->plugin->getPluginName() . '_saved' => '1'
423
  ],
424
- 'type' => 'success',
425
- 'message' => __( 'The settings have been updated successfully!', 'wbcr_factory_pages_427' ) . ( WP_CACHE ? '<br>' . __( "It seems that a caching/performance plugin is active on this site. Please manually invalidate that plugin's cache after making any changes to the settings below.", 'wbcr_factory_pages_427' ) : '' )
426
  ]
427
  ];
428
 
429
  /**
430
  * @since 4.0.9 - является устаревшим
431
  */
432
- $notices = wbcr_factory_427_apply_filters_deprecated( 'wbcr_factory_pages_427_imppage_actions_notice', [
433
  $notices,
434
  $this->plugin,
435
  $this->id
436
- ], '4.0.9', 'wbcr/factory/pages/impressive/actions_notice' );
437
 
438
  /**
439
  * @since 4.0.1 - добавлен
440
  * @since 4.0.9 - изменено имя
441
  */
442
- $notices = apply_filters( 'wbcr/factory/pages/impressive/actions_notice', $notices, $this->plugin, $this->id );
443
 
444
- $notices = $this->getActionNotices( $notices );
445
 
446
- foreach ( $notices as $key => $notice ) {
447
  $show_message = true;
448
 
449
- if ( isset( $notice['conditions'] ) && ! empty( $notice['conditions'] ) ) {
450
- foreach ( $notice['conditions'] as $condition_name => $value ) {
451
- if ( ! isset( $_REQUEST[ $condition_name ] ) || $_REQUEST[ $condition_name ] != $value ) {
452
  $show_message = false;
453
  }
454
  }
455
  }
456
- if ( ! $show_message ) {
457
  continue;
458
  }
459
 
460
- $notice_type = isset( $notice['type'] ) ? $notice['type'] : 'success';
461
 
462
- switch ( $notice_type ) {
463
  case 'success':
464
- $this->printSuccessNotice( $notice['message'] );
465
  break;
466
  case 'danger':
467
- $this->printErrorNotice( $notice['message'] );
468
  break;
469
  default:
470
- $this->printWarningNotice( $notice['message'] );
471
  break;
472
  }
473
  }
474
  }
475
 
476
- protected function showPageMenu() {
477
- $page_menu = $this->getPageMenu();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
478
  $self_page_id = $this->getResultId();
479
- $current_page = isset( $page_menu[ $self_page_id ] ) ? $page_menu[ $self_page_id ] : null;
 
 
480
 
481
- $parent_page_id = ! empty( $current_page['parent'] ) ? $this->getResultId( $current_page['parent'] ) : null;
482
 
483
- uasort( $page_menu, [ $this, 'pageMenuSort' ] );
484
  ?>
485
- <ul>
486
- <?php foreach ( $page_menu as $page_screen => $page ): ?>
487
  <?php
488
- if ( ! empty( $page['parent'] ) ) {
489
  continue;
490
  }
491
  $active_tab = '';
492
- if ( $page_screen == $self_page_id || $page_screen == $parent_page_id ) {
493
  $active_tab = ' wbcr-factory-active-tab';
494
  }
495
  ?>
496
- <li class="wbcr-factory-nav-tab<?= $active_tab ?>">
497
- <a href="<?php echo $page['url'] ?>" id="<?= $page_screen ?>-tab"
498
- class="wbcr-factory-tab__link">
499
- <div class="wbcr-factory-tab__title">
500
  <?php echo $page['title'] ?>
501
- </div>
502
- <?php if ( ! empty( $page['short_description'] ) ): ?>
503
- <div class="wbcr-factory-tab__short-description">
504
  <?php echo $page['short_description'] ?>
505
- </div>
506
  <?php endif; ?>
507
- </a>
508
- </li>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
509
  <?php endforeach; ?>
510
- </ul>
511
  <?php
512
  }
513
 
514
- /**
515
- * @param int $a
516
- * @param int $b
517
- *
518
- * @return bool
519
- */
520
- protected function pageMenuSort( $a, $b ) {
521
- return $a['position'] < $b['position'];
522
- }
523
 
524
- protected function showPageSubMenu() {
 
525
  $self_page_id = $this->getResultId();
526
- $page_menu = $this->getPageMenu();
527
- $current_page = isset( $page_menu[ $self_page_id ] ) ? $page_menu[ $self_page_id ] : null;
528
 
529
  $page_submenu = [];
530
- foreach ( $page_menu as $page_screen => $page ) {
531
- if ( ! empty( $page['parent'] ) ) {
532
- $page_parent_id = $this->getResultId( $page['parent'] );
533
 
534
- if ( isset( $page_menu[ $page_parent_id ] ) ) {
535
- $page['title'] = strip_tags( $page['title'] );
536
- $page_submenu[ $page_parent_id ][ $page_screen ] = $page;
537
  }
538
  }
539
  }
540
 
541
- if ( empty( $page_submenu ) ) {
542
  return;
543
  }
544
 
545
- $get_menu_id = null;
546
- $has_parent = ! empty( $current_page ) && ! empty( $current_page['parent'] );
547
- $parent_page_id = $has_parent ? $this->getResultId( $current_page['parent'] ) : null;
548
 
549
- if ( ( $has_parent && isset( $page_submenu[ $parent_page_id ] ) ) ) {
550
  $get_menu_id = $parent_page_id;
551
- } else if ( ! $has_parent && isset( $page_submenu[ $self_page_id ] ) ) {
552
  $get_menu_id = $self_page_id;
553
  }
554
 
555
- if ( ! isset( $page_submenu[ $get_menu_id ] ) ) {
556
  return;
557
  }
558
 
559
  $unshift = [];
560
- if ( isset( $page_menu[ $get_menu_id ] ) ) {
561
- $page_menu[ $get_menu_id ]['title'] = strip_tags( $page_menu[ $get_menu_id ]['title'] );
562
 
563
- $unshift[ $get_menu_id ][ $get_menu_id ] = $page_menu[ $get_menu_id ];
564
- $page_submenu[ $get_menu_id ] = $unshift[ $get_menu_id ] + $page_submenu[ $get_menu_id ];
565
  }
566
 
567
  ?>
568
- <h2 class="nav-tab-wrapper wp-clearfix">
569
- <?php foreach ( (array) $page_submenu[ $get_menu_id ] as $page_screen => $page ): ?>
570
  <?php
571
  $active_tab = '';
572
- if ( $page_screen == $this->getResultId() ) {
573
  $active_tab = ' nav-tab-active';
574
  }
575
  ?>
576
- <a href="<?php echo $page['url'] ?>" id="<?= esc_attr( $page_screen ) ?>-tab"
577
- class="nav-tab<?= esc_attr( $active_tab ) ?>">
578
  <?php echo $page['title'] ?>
579
- </a>
580
  <?php endforeach; ?>
581
- </h2>
582
  <?php
583
  }
584
 
585
- protected function showHeader() {
 
586
  ?>
587
- <style>
588
- .updated, .notice, .error {
589
- display: none !important;
590
- }
591
- </style>
592
- <div class="wbcr-factory-page-header">
593
- <div class="wbcr-factory-header-logo"><?= $this->getPluginTitle(); ?>
594
- <span class="version"><?= $this->plugin->getPluginVersion() ?> </span>
595
- <?php if ( $this->show_page_title ): ?><span class="dash">—</span><?php endif; ?>
596
- </div>
597
- <?php if ( $this->show_page_title ): ?>
598
- <div class="wbcr-factory-header-title">
599
- <h2><?php _e( 'Page' ) ?>: <?= $this->getPageTitle() ?></h2>
600
- </div>
601
  <?php endif; ?>
602
- <div class="wbcr-factory-control">
603
- <?php do_action( 'wbcr/factory/pages/impressive/header', $this->plugin->getPluginName() ) ?>
604
-
605
- <?php if ( $this->type == 'options' ): ?>
606
- <input name="<?= $this->plugin->getPluginName() ?>_save_action"
607
- class="wbcr-factory-button wbcr-factory-type-save" type="submit"
608
- value="<?php _e( 'Save', 'wbcr_factory_pages_427' ); ?>">
609
- <?php wp_nonce_field( 'wbcr_factory_' . $this->getResultId() . '_save_action' ); ?>
610
  <?php endif; ?>
611
- </div>
612
- </div>
613
  <?php
614
  }
615
 
616
- protected function isShowRightSidebar() {
617
- $widgets = $this->getPageWidgets( 'right' );
 
618
 
619
- return ! empty( $widgets ) && $this->show_right_sidebar_in_options;
620
  }
621
 
622
- protected function showRightSidebar() {
623
- $widgets = $this->getPageWidgets( 'right' );
 
624
 
625
- if ( empty( $widgets ) ) {
626
  return;
627
  }
628
 
629
- foreach ( $widgets as $widget_content ):
630
  echo $widget_content;
631
  endforeach;
632
  }
633
 
634
- protected function showBottomSidebar() {
635
- $widgets = $this->getPageWidgets( 'bottom' );
 
636
 
637
- if ( empty( $widgets ) ) {
638
  return;
639
  }
640
  ?>
641
- <div class="row">
642
- <div class="wbcr-factory-top-sidebar">
643
- <?php foreach ( $widgets as $widget_content ): ?>
644
- <div class="col-sm-4">
645
  <?= $widget_content ?>
646
- </div>
647
  <?php endforeach; ?>
648
- </div>
649
  <?php
650
  }
651
 
@@ -654,53 +726,55 @@ if ( ! class_exists( 'Wbcr_FactoryPages427_ImpressiveThemplate' ) ) {
654
  *
655
  * @return mixed|void
656
  */
657
- protected function getPageWidgets( $position = 'bottom' ) {
 
658
  $widgets = [];
659
 
660
  /**
661
  * @since 4.0.9 - является устаревшим
662
  */
663
- $widgets = wbcr_factory_427_apply_filters_deprecated( 'wbcr_factory_pages_427_imppage_get_widgets', [
664
  $widgets,
665
  $position,
666
  $this->plugin,
667
  $this
668
- ], '4.0.9', 'wbcr/factory/pages/impressive/widgets' );
669
 
670
  /**
671
  * @since 4.0.1 - добавлен
672
  * @since 4.0.9 - изменено имя
673
  */
674
- $widgets = apply_filters( 'wbcr/factory/pages/impressive/widgets', $widgets, $position, $this->plugin, $this );
675
 
676
  return $widgets;
677
  }
678
 
679
- protected function showOptions() {
680
- $form = new Wbcr_FactoryForms425_Form( [
681
- 'scope' => rtrim( $this->plugin->getPrefix(), '_' ),
682
- 'name' => $this->getResultId() . "-options"
683
- ], $this->plugin );
 
684
 
685
- $form->setProvider( new Wbcr_FactoryForms425_OptionsValueProvider( $this->plugin ) );
686
 
687
  $options = $this->getPageOptions();
688
 
689
- if ( isset( $options[0] ) && isset( $options[0]['items'] ) && is_array( $options[0]['items'] ) ) {
690
- foreach ( $options[0]['items'] as $key => $value ) {
691
 
692
- if ( $value['type'] == 'div' || $value['type'] == 'more-link' ) {
693
- if ( isset( $options[0]['items'][ $key ]['items'] ) && ! empty( $options[0]['items'][ $key ]['items'] ) ) {
694
- foreach ( $options[0]['items'][ $key ]['items'] as $group_key => $group_value ) {
695
- $options[0]['items'][ $key ]['items'][ $group_key ]['layout']['column-left'] = '4';
696
- $options[0]['items'][ $key ]['items'][ $group_key ]['layout']['column-right'] = '8';
697
  }
698
 
699
  continue;
700
  }
701
  }
702
 
703
- if ( in_array( $value['type'], [
704
  'checkbox',
705
  'textarea',
706
  'integer',
@@ -708,38 +782,38 @@ if ( ! class_exists( 'Wbcr_FactoryPages427_ImpressiveThemplate' ) ) {
708
  'dropdown',
709
  'list',
710
  'wp-editor'
711
- ] ) ) {
712
- $options[0]['items'][ $key ]['layout']['column-left'] = '4';
713
- $options[0]['items'][ $key ]['layout']['column-right'] = '8';
714
  }
715
  }
716
  }
717
 
718
- $form->add( $options );
719
 
720
- if ( isset( $_POST[ $this->plugin->getPluginName() . '_save_action' ] ) ) {
721
 
722
- check_admin_referer( 'wbcr_factory_' . $this->getResultId() . '_save_action' );
723
 
724
- if ( ! current_user_can( 'administrator' ) && ! current_user_can( $this->capabilitiy ) ) {
725
- wp_die( __( 'You do not have permission to edit page.', 'wbcr_factory_pages_427' ) );
726
  exit;
727
  }
728
 
729
  /**
730
  * @since 4.0.9 - является устаревшим
731
  */
732
- wbcr_factory_427_do_action_deprecated( 'wbcr_factory_427_imppage_before_form_save', [
733
  $form,
734
  $this->plugin,
735
  $this
736
- ], '4.0.9', 'wbcr/factory/pages/impressive/before_form_save' );
737
 
738
  /**
739
  * @since 4.0.1 - добавлен
740
  * @since 4.0.9 - изменено имя
741
  */
742
- do_action( 'wbcr/factory/pages/impressive/before_form_save', $form, $this->plugin, $this );
743
 
744
  $this->beforeFormSave();
745
 
@@ -748,123 +822,128 @@ if ( ! class_exists( 'Wbcr_FactoryPages427_ImpressiveThemplate' ) ) {
748
  /**
749
  * @since 4.0.9 - является устаревшим
750
  */
751
- wbcr_factory_427_do_action_deprecated( 'wbcr_factory_427_imppage_form_saved', [
752
  $form,
753
  $this->plugin,
754
  $this
755
- ], '4.0.9', 'wbcr/factory/pages/impressive/form_saved' );
756
 
757
  /**
758
  * @since 4.0.1 - добавлен
759
  * @since 4.0.9 - изменено имя
760
  */
761
- do_action( 'wbcr/factory/pages/impressive/form_saved', $form, $this->plugin, $this );
762
 
763
  $this->formSaved();
764
 
765
- $this->redirectToAction( 'flush-cache-and-rules', [
766
- '_wpnonce' => wp_create_nonce( 'wbcr_factory_' . $this->getResultId() . '_flush_action' )
767
- ] );
768
  }
769
 
770
  ?>
771
- <div id="WBCR" class="wrap">
772
- <div class="wbcr-factory-pages-427-impressive-page-template factory-bootstrap-428 factory-fontawesome-000">
773
- <div class="wbcr-factory-options wbcr-factory-options-<?= esc_attr( $this->id ) ?>">
774
- <div class="wbcr-factory-left-navigation-bar">
775
  <?php $this->showPageMenu() ?>
776
- </div>
777
  <?php
778
  $min_height = 0;
779
- foreach ( $this->getPageMenu() as $page ) {
780
- if ( ! isset( $page['parent'] ) || empty( $page['parent'] ) ) {
781
  $min_height += 77;
782
  }
783
  }
784
  ?>
785
- <div class="wbcr-factory-page-inner-wrap">
786
- <div class="wbcr-factory-content-section<?php if ( ! $this->isShowRightSidebar() ): echo ' wbcr-fullwidth'; endif ?>">
787
- <?php $this->showPageSubMenu() ?>
788
- <div class="wbcr-factory-content" style="min-height:<?= $min_height ?>px">
789
- <form method="post" class="form-horizontal">
 
790
  <?php $this->showHeader(); ?>
791
  <?php $this->printAllNotices(); ?>
792
  <?php $form->html(); ?>
793
- </form>
794
- </div>
795
- </div>
796
- <?php if ( $this->isShowRightSidebar() ): ?>
797
- <div class="wbcr-factory-right-sidebar-section">
798
  <?php $this->showRightSidebar(); ?>
799
- </div>
800
  <?php endif; ?>
801
- </div>
802
- </div>
803
  <?php
804
- if ( $this->show_bottom_sidebar ) {
805
  $this->showBottomSidebar();
806
  }
807
  ?>
808
- <div class="clearfix"></div>
809
- </div>
810
- </div>
811
- </div>
812
  <?php
813
  }
814
 
815
- protected function showPage( $content = null ) { ?>
816
- <div id="WBCR" class="wrap">
817
- <div class="wbcr-factory-pages-427-impressive-page-template factory-bootstrap-428 factory-fontawesome-000">
818
- <div class="wbcr-factory-page wbcr-factory-page-<?= $this->id ?>">
 
819
  <?php $this->showHeader(); ?>
820
- <div class="wbcr-factory-left-navigation-bar">
821
  <?php $this->showPageMenu() ?>
822
- </div>
823
  <?php
824
  $min_height = 0;
825
- foreach ( $this->getPageMenu() as $page ) {
826
- if ( ! isset( $page['parent'] ) || empty( $page['parent'] ) ) {
827
  $min_height += 77;
828
  }
829
  }
830
  ?>
831
- <div class="wbcr-factory-page-inner-wrap">
832
- <div class="wbcr-factory-content-section<?php if ( ! $this->isShowRightSidebar() ): echo ' wbcr-fullwidth'; endif ?>">
833
- <?php $this->showPageSubMenu() ?>
834
- <div class="wbcr-factory-content" style="min-height:<?= $min_height ?>px">
 
835
  <?php $this->printAllNotices(); ?>
836
- <?php if ( empty( $content ) ): ?>
837
  <?php $this->showPageContent() ?>
838
  <?php else: ?>
839
  <?php echo $content; ?>
840
  <?php endif; ?>
841
- </div>
842
- </div>
843
- <?php if ( $this->isShowRightSidebar() ): ?>
844
- <div class="wbcr-factory-right-sidebar-section" style="min-height:<?= $min_height ?>px">
845
  <?php $this->showRightSidebar(); ?>
846
- </div>
847
  <?php endif; ?>
848
- </div>
849
- </div>
850
- <div class="clearfix"></div>
851
  <?php $this->showBottomSidebar(); ?>
852
- </div>
853
- </div>
854
  <?php
855
  }
856
 
857
  /**
858
  * @return array
859
  */
860
- public function getPageOptions() {
 
861
  // используется в классе потомке
862
  }
863
 
864
  /**
865
  * @return void
866
  */
867
- public function showPageContent() {
 
868
  // используется в классе потомке
869
  }
870
 
@@ -874,26 +953,27 @@ if ( ! class_exists( 'Wbcr_FactoryPages427_ImpressiveThemplate' ) ) {
874
  * @sinve 1.0.0
875
  * @return void
876
  */
877
- public function confirmPageTemplate( $data ) {
 
878
  ?>
879
- <div id="WBCR" class="wrap">
880
- <div class="wbcr-factory-pages-427-impressive-page-template factory-bootstrap-428 factory-fontawesome-000">
881
- <div id="wbcr-factory-confirm-dialog">
882
- <h2><?php echo $data['title'] ?></h2>
883
- <p class="wbcr-factory-confirm-description"><?php echo $data['description'] ?></p>
884
- <?php if ( isset( $data['hint'] ) ): ?>
885
- <p class="wbcr-factory-confirm-hint"><?php echo $data['hint'] ?></p>
886
  <?php endif; ?>
887
- <div class='wbcr-factory-confirm-actions'>
888
- <?php foreach ( $data['actions'] as $action ) { ?>
889
- <a href='<?php echo $action['url'] ?>' class='<?php echo $action['class'] ?>'>
890
  <?php echo $action['title'] ?>
891
- </a>
892
  <?php } ?>
893
- </div>
894
- </div>
895
- </div>
896
- </div>
897
  <?php
898
  }
899
  }
10
  */
11
 
12
  // Exit if accessed directly
13
+ if( !defined('ABSPATH') ) {
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryPages428_ImpressiveThemplate') ) {
18
  /**
19
+ * Class Wbcr_FactoryPages428_ImpressiveThemplate
20
  */
21
+ abstract class Wbcr_FactoryPages428_ImpressiveThemplate extends Wbcr_FactoryPages428_AdminPage {
22
 
23
  /**
24
  * Тип страницы:
112
  public $page_menu = [];
113
 
114
  /**
115
+ * @param Wbcr_Factory428_Plugin $plugin
116
  */
117
+ public function __construct(Wbcr_Factory428_Plugin $plugin)
118
+ {
119
+ $this->menuIcon = FACTORY_PAGES_428_URL . '/templates/assets/img/webcraftic-plugin-icon.png';
120
+ //$allow_multisite = apply_filters('wbcr_factory_428_core_admin_allow_multisite', false);
121
 
122
+ if( is_multisite() && $this->available_for_multisite && $plugin->isNetworkActive() ) {
123
+ $this->network = true;
124
  $this->menu_target = 'settings.php';
125
  $this->capabilitiy = 'manage_network';
126
  }
127
 
128
+ parent::__construct($plugin);
129
 
130
+ $this->title_plugin_action_link = __('Settings', 'wbcr_factory_pages_428');
131
 
132
  $this->setPageMenu();
133
  }
134
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
135
  /**
136
  * Requests assets (js and css) for the page.
137
  *
138
  * @return void
139
  * @since 1.0.0
140
+ * @see FactoryPages428_AdminPage
141
  *
142
  */
143
+ public function assets($scripts, $styles)
144
+ {
145
 
146
+ $this->scripts->request('jquery');
147
 
148
+ $this->scripts->request([
149
  'control.checkbox',
150
  'control.dropdown',
151
  'bootstrap.tooltip'
152
+ ], 'bootstrap');
153
 
154
+ $this->styles->request([
155
  'bootstrap.core',
156
  'bootstrap.form-group',
157
  'bootstrap.separator',
158
  'control.dropdown',
159
  'control.checkbox'
160
+ ], 'bootstrap');
161
 
162
+ $this->styles->add(FACTORY_PAGES_428_URL . '/templates/assets/css/impressive.page.template.css');
163
  }
164
 
165
  /**
167
  *
168
  * @return string
169
  */
170
+ public function getPluginTitle()
171
+ {
172
  /**
173
  * @since 4.0.8 - добавлен
174
  * @since 4.0.9 - является устаревшим
175
  */
176
+ $plugin_title = wbcr_factory_428_apply_filters_deprecated('wbcr/factory/imppage/plugin_title', [
177
  $this->plugin->getPluginTitle(),
178
  $this->plugin->getPluginName()
179
+ ], '4.0.9', 'wbcr/factory/pages/impressive/plugin_title');
180
 
181
  /**
182
  * @since 4.0.9 - является устаревшим
183
  */
184
+ $plugin_title = apply_filters('wbcr/factory/pages/impressive/plugin_title', $plugin_title, $this->plugin->getPluginName());
185
 
186
  return $plugin_title;
187
  }
191
  *
192
  * @return string
193
  */
194
+ public function getPageUrl()
195
+ {
196
  /**
197
  * @since 4.0.9 - добавлен
198
  */
199
+ return apply_filters('wbcr/factory/pages/impressive/base_url', $this->getBaseUrl(), $this->plugin->getPluginName(), $this->id);
 
 
 
 
 
 
 
 
 
 
 
 
 
200
  }
201
 
202
  /**
207
  *
208
  * @return mixed|void
209
  */
210
+ public function getOption($option_name, $default = false)
211
+ {
212
+ _deprecated_function(__METHOD__, '4.0.9', '$this->plugin->getOption()');
213
 
214
+ return $this->plugin->getOption($option_name, $default);
215
  }
216
 
217
  /**
220
  * @sinve 1.0.0
221
  * @return void
222
  */
223
+ public function indexAction()
224
+ {
225
  $page_menu = $this->getPageMenu();
226
+ if( 'options' === $page_menu[$this->getResultId()]['type'] ) {
227
  $this->showOptions();
228
  } else {
229
  $this->showPage();
236
  * @sinve 4.0.0
237
  * @return void
238
  */
239
+ public function flushCacheAndRulesAction()
240
+ {
241
+ check_admin_referer('wbcr_factory_' . $this->getResultId() . '_flush_action');
242
 
243
+ if( class_exists('WbcrFactoryClearfy220_Helpers') ) {
244
+ WbcrFactoryClearfy220_Helpers::flushPageCache();
245
  }
246
 
247
  /**
248
  * @since 4.0.1 - является устаревшим
249
  */
250
+ wbcr_factory_428_do_action_deprecated('wbcr_factory_428_imppage_flush_cache', [
251
  $this->plugin->getPluginName(),
252
  $this->getResultId()
253
+ ], '4.0.1', 'wbcr_factory_428_imppage_after_form_save');
254
 
255
  /**
256
  * @since 4.0.9 - является устаревшим
257
  */
258
+ wbcr_factory_428_do_action_deprecated('wbcr_factory_428_imppage_after_form_save', [
259
  $this->plugin,
260
  $this
261
+ ], '4.0.9', 'wbcr/factory/pages/impressive/after_form_save');
262
 
263
  /**
264
  * @since 4.0.1 - добавлен
265
  * @since 4.0.9 - изменено название экшена, без привязки к версии фреймворка
266
  */
267
+ do_action('wbcr/factory/pages/impressive/after_form_save', $this->plugin, $this);
268
 
269
  $this->afterFormSave();
270
 
274
  /**
275
  * @since 4.0.9 - является устаревшим
276
  */
277
+ $redirect_args = wbcr_factory_428_apply_filters_deprecated('wbcr_factory_428_imppage_after_form_save_redirect_args', [$redirect_args], '4.0.9', 'wbcr/factory/pages/impressive/save_redirect_args');
278
 
279
  /**
280
  * @since 4.0.1 - добавлен
281
  * @since 4.0.9 - изменено название экшена, без привязки к версии фреймворка
282
  */
283
+ $redirect_args = apply_filters('wbcr/factory/pages/impressive/save_redirect_args', $redirect_args);
284
 
285
+ $this->redirectToAction('index', $redirect_args);
286
  }
287
 
288
 
289
  /**
290
  * Вызывается всегда при загрузке страницы, перед опциями формы с типом страницы options
291
  */
292
+ protected function warningNotice()
293
+ {
294
  /*if( WP_CACHE ) {
295
+ $this->printWarningNotice(__("It seems that a caching/performance plugin is active on this site. Please manually invalidate that plugin's cache after making any changes to the settings below.", 'wbcr_factory_pages_428'));
296
  }*/
297
  // Метод предназначен для вызова в дочернем классе
298
  }
306
  * @since 4.0.0
307
  *
308
  */
309
+ protected function getActionNotices($notices)
310
+ {
311
  // Метод предназначен для вызова в дочернем классе
312
  return $notices;
313
  }
318
  * @return void
319
  * @since 4.0.0
320
  */
321
+ protected function beforeFormSave()
322
+ {
323
  // Метод предназначен для вызова в дочернем классе
324
  }
325
 
329
  * @return void
330
  * @since 4.0.0
331
  */
332
+ protected function afterFormSave()
333
+ {
334
  // Метод предназначен для вызова в дочернем классе
335
  }
336
 
340
  * @return void
341
  * @since 4.0.0
342
  */
343
+ protected function formSaved()
344
+ {
345
  // Метод предназначен для вызова в дочернем классе
346
  }
347
 
348
+ public function printWarningNotice($message)
349
+ {
350
  echo '<div class="alert alert-warning wbcr-factory-warning-notice"><p><span class="dashicons dashicons-warning"></span> ' . $message . '</p></div>';
351
  }
352
 
353
+ public function printErrorNotice($message)
354
+ {
355
  echo '<div class="alert alert-danger wbcr-factory-warning-notice"><p><span class="dashicons dashicons-dismiss"></span> ' . $message . '</p></div>';
356
  }
357
 
358
+ public function printSuccessNotice($message)
359
+ {
360
  echo '<div class="alert alert-success wbcr-factory-warning-notice"><p><span class="dashicons dashicons-plus"></span> ' . $message . '</p></div>';
361
  }
362
 
364
  * Печатает все зарегистрированные системные уведомления внутри интерфейса плагина
365
  * Типы уведомлений: предупреждения, ошибки, успешные выполнения задач
366
  */
367
+ protected function printAllNotices()
368
+ {
369
  $this->warningNotice();
370
  $this->showActionsNotice();
371
 
372
  /**
373
  * @since 4.0.9 - является устаревшим
374
  */
375
+ wbcr_factory_428_do_action_deprecated('wbcr_factory_pages_428_imppage_print_all_notices', [
376
  $this->plugin,
377
  $this
378
+ ], '4.0.9', 'wbcr/factory/pages/impressive/print_all_notices');
379
 
380
  /**
381
  * @since 4.0.1 - добавлен
382
  * @since 4.0.9 - изменено имя
383
  */
384
+ do_action('wbcr/factory/pages/impressive/print_all_notices', $this->plugin, $this);
385
  }
386
 
387
+ private function showActionsNotice()
388
+ {
389
  $notices = [
390
  [
391
  'conditions' => [
392
  $this->plugin->getPluginName() . '_saved' => '1'
393
  ],
394
+ 'type' => 'success',
395
+ 'message' => __('The settings have been updated successfully!', 'wbcr_factory_pages_428') . (WP_CACHE ? '<br>' . __("It seems that a caching/performance plugin is active on this site. Please manually invalidate that plugin's cache after making any changes to the settings below.", 'wbcr_factory_pages_428') : '')
396
  ]
397
  ];
398
 
399
  /**
400
  * @since 4.0.9 - является устаревшим
401
  */
402
+ $notices = wbcr_factory_428_apply_filters_deprecated('wbcr_factory_pages_428_imppage_actions_notice', [
403
  $notices,
404
  $this->plugin,
405
  $this->id
406
+ ], '4.0.9', 'wbcr/factory/pages/impressive/actions_notice');
407
 
408
  /**
409
  * @since 4.0.1 - добавлен
410
  * @since 4.0.9 - изменено имя
411
  */
412
+ $notices = apply_filters('wbcr/factory/pages/impressive/actions_notice', $notices, $this->plugin, $this->id);
413
 
414
+ $notices = $this->getActionNotices($notices);
415
 
416
+ foreach($notices as $key => $notice) {
417
  $show_message = true;
418
 
419
+ if( isset($notice['conditions']) && !empty($notice['conditions']) ) {
420
+ foreach($notice['conditions'] as $condition_name => $value) {
421
+ if( !isset($_REQUEST[$condition_name]) || $_REQUEST[$condition_name] != $value ) {
422
  $show_message = false;
423
  }
424
  }
425
  }
426
+ if( !$show_message ) {
427
  continue;
428
  }
429
 
430
+ $notice_type = isset($notice['type']) ? $notice['type'] : 'success';
431
 
432
+ switch( $notice_type ) {
433
  case 'success':
434
+ $this->printSuccessNotice($notice['message']);
435
  break;
436
  case 'danger':
437
+ $this->printErrorNotice($notice['message']);
438
  break;
439
  default:
440
+ $this->printWarningNotice($notice['message']);
441
  break;
442
  }
443
  }
444
  }
445
 
446
+ /**
447
+ * Set page menu item
448
+ */
449
+ public function setPageMenu()
450
+ {
451
+ global $factory_impressive_page_menu;
452
+
453
+ $dashicon = (!empty($this->page_menu_dashicon)) ? ' ' . $this->page_menu_dashicon : '';
454
+ $short_description = (!empty($this->page_menu_short_description)) ? ' ' . $this->page_menu_short_description : '';
455
+
456
+ if( is_multisite() && is_network_admin() && !$this->network ) {
457
+ return;
458
+ }
459
+
460
+ $factory_impressive_page_menu[$this->getMenuScope()][$this->getResultId()] = [
461
+ 'type' => $this->type, // page, options
462
+ 'url' => $this->getBaseUrl(),
463
+ 'title' => $this->getPageTitle() . ' <span class="dashicons' . $dashicon . '"></span>',
464
+ 'short_description' => $short_description,
465
+ 'position' => $this->page_menu_position,
466
+ 'parent' => $this->page_parent_page
467
+ ];
468
+ }
469
+
470
+ /**
471
+ * Пространство имен для меню плагина
472
+ * Можно приклеить меню к другому плагину, просто перезаписав этот метод в дочернем классе
473
+ *
474
+ * @return string
475
+ */
476
+ public function getMenuScope()
477
+ {
478
+ /**
479
+ * @since 4.0.9 - добавлен
480
+ */
481
+ return apply_filters('wbcr/factory/pages/impressive/menu_scope', $this->plugin->getPluginName(), $this->plugin->getPluginName(), $this->id);
482
+ }
483
+
484
+ /**
485
+ * Get page menu items
486
+ *
487
+ * @return mixed
488
+ */
489
+ protected function getPageMenu()
490
+ {
491
+ global $factory_impressive_page_menu;
492
+
493
+ return $factory_impressive_page_menu[$this->getMenuScope()];
494
+ }
495
+
496
+ protected function getPageSubMenu($current_page = null)
497
+ {
498
+ $page_menu = $this->getPageMenu();
499
+
500
+ $page_submenu = [];
501
+ foreach($page_menu as $page_screen => $page) {
502
+ if( !empty($page['parent']) ) {
503
+ $page_parent_id = $this->getResultId($page['parent']);
504
+
505
+ if( isset($page_menu[$page_parent_id]) ) {
506
+ $page['title'] = strip_tags($page['title']);
507
+ $page_submenu[$page_parent_id][$page_screen] = $page;
508
+ }
509
+ }
510
+ }
511
+
512
+ return isset($page_submenu[$current_page]) ? $page_submenu[$current_page] : null;
513
+ }
514
+
515
+ /**
516
+ * @param int $a
517
+ * @param int $b
518
+ *
519
+ * @return bool
520
+ */
521
+ protected function pageMenuSort($a, $b)
522
+ {
523
+ return $a['position'] < $b['position'];
524
+ }
525
+
526
+ protected function showPageMenu()
527
+ {
528
+ $page_menu = $this->getPageMenu();
529
  $self_page_id = $this->getResultId();
530
+ $current_page = isset($page_menu[$self_page_id]) ? $page_menu[$self_page_id] : null;
531
+
532
+ $parent_page_id = !empty($current_page['parent']) ? $this->getResultId($current_page['parent']) : null;
533
 
534
+ uasort($page_menu, [$this, 'pageMenuSort']);
535
 
 
536
  ?>
537
+ <ul>
538
+ <?php foreach($page_menu as $page_screen => $page): ?>
539
  <?php
540
+ if( !empty($page['parent']) ) {
541
  continue;
542
  }
543
  $active_tab = '';
544
+ if( $page_screen == $self_page_id || $page_screen == $parent_page_id ) {
545
  $active_tab = ' wbcr-factory-active-tab';
546
  }
547
  ?>
548
+ <li class="wbcr-factory-nav-tab<?php echo esc_attr($active_tab) ?>">
549
+ <a href="<?php echo $page['url'] ?>" id="<?php echo esc_attr($page_screen) ?>-tab"
550
+ class="wbcr-factory-tab__link">
551
+ <div class="wbcr-factory-tab__title">
552
  <?php echo $page['title'] ?>
553
+ </div>
554
+ <?php if( !empty($page['short_description']) ): ?>
555
+ <div class="wbcr-factory-tab__short-description">
556
  <?php echo $page['short_description'] ?>
557
+ </div>
558
  <?php endif; ?>
559
+ </a>
560
+
561
+ <?php
562
+ $sub_menu = $this->getPageSubMenu($page_screen);
563
+ if( !empty($sub_menu) && $page_screen == $self_page_id || $page_screen == $parent_page_id ):
564
+ ?>
565
+ <ul class="wbcr-factory-submenu">
566
+ <?php foreach($sub_menu as $s_menu_page_screen => $s_menu_page): ?>
567
+ <?php
568
+ $active_tab = '';
569
+ if( $s_menu_page_screen == $this->getResultId() ) {
570
+ $active_tab = 'wbcr-factory-tab-active';
571
+ }
572
+ ?>
573
+ <li>
574
+ <a href="<?php echo $s_menu_page['url'] ?>" id="<?= esc_attr($s_menu_page_screen) ?>-tab"
575
+ class="<?= esc_attr($active_tab) ?>">
576
+ <span class="dashicons dashicons-editor-break"></span><?php echo $s_menu_page['title'] ?>
577
+ </a>
578
+ </li>
579
+ <?php endforeach; ?>
580
+ </ul>
581
+ <?php endif; ?>
582
+ </li>
583
+
584
+
585
  <?php endforeach; ?>
586
+ </ul>
587
  <?php
588
  }
589
 
 
 
 
 
 
 
 
 
 
590
 
591
+ protected function showPageSubMenu()
592
+ {
593
  $self_page_id = $this->getResultId();
594
+ $page_menu = $this->getPageMenu();
595
+ $current_page = isset($page_menu[$self_page_id]) ? $page_menu[$self_page_id] : null;
596
 
597
  $page_submenu = [];
598
+ foreach($page_menu as $page_screen => $page) {
599
+ if( !empty($page['parent']) ) {
600
+ $page_parent_id = $this->getResultId($page['parent']);
601
 
602
+ if( isset($page_menu[$page_parent_id]) ) {
603
+ $page['title'] = strip_tags($page['title']);
604
+ $page_submenu[$page_parent_id][$page_screen] = $page;
605
  }
606
  }
607
  }
608
 
609
+ if( empty($page_submenu) ) {
610
  return;
611
  }
612
 
613
+ $get_menu_id = null;
614
+ $has_parent = !empty($current_page) && !empty($current_page['parent']);
615
+ $parent_page_id = $has_parent ? $this->getResultId($current_page['parent']) : null;
616
 
617
+ if( ($has_parent && isset($page_submenu[$parent_page_id])) ) {
618
  $get_menu_id = $parent_page_id;
619
+ } else if( !$has_parent && isset($page_submenu[$self_page_id]) ) {
620
  $get_menu_id = $self_page_id;
621
  }
622
 
623
+ if( !isset($page_submenu[$get_menu_id]) ) {
624
  return;
625
  }
626
 
627
  $unshift = [];
628
+ if( isset($page_menu[$get_menu_id]) ) {
629
+ $page_menu[$get_menu_id]['title'] = strip_tags($page_menu[$get_menu_id]['title']);
630
 
631
+ $unshift[$get_menu_id][$get_menu_id] = $page_menu[$get_menu_id];
632
+ $page_submenu[$get_menu_id] = $unshift[$get_menu_id] + $page_submenu[$get_menu_id];
633
  }
634
 
635
  ?>
636
+ <h2 class="nav-tab-wrapper wp-clearfix">
637
+ <?php foreach((array)$page_submenu[$get_menu_id] as $page_screen => $page): ?>
638
  <?php
639
  $active_tab = '';
640
+ if( $page_screen == $this->getResultId() ) {
641
  $active_tab = ' nav-tab-active';
642
  }
643
  ?>
644
+ <a href="<?php echo $page['url'] ?>" id="<?= esc_attr($page_screen) ?>-tab"
645
+ class="nav-tab<?= esc_attr($active_tab) ?>">
646
  <?php echo $page['title'] ?>
647
+ </a>
648
  <?php endforeach; ?>
649
+ </h2>
650
  <?php
651
  }
652
 
653
+ protected function showHeader()
654
+ {
655
  ?>
656
+ <style>
657
+ .updated, .notice, .error {
658
+ display: none !important;
659
+ }
660
+ </style>
661
+ <div class="wbcr-factory-page-header">
662
+ <div class="wbcr-factory-header-logo"><?= $this->getPluginTitle(); ?>
663
+ <span class="version"><?= $this->plugin->getPluginVersion() ?> </span>
664
+ <?php if( $this->show_page_title ): ?><span class="dash">—</span><?php endif; ?>
665
+ </div>
666
+ <?php if( $this->show_page_title ): ?>
667
+ <div class="wbcr-factory-header-title">
668
+ <h2><?php _e('Page') ?>: <?= $this->getPageTitle() ?></h2>
669
+ </div>
670
  <?php endif; ?>
671
+ <div class="wbcr-factory-control">
672
+ <?php do_action('wbcr/factory/pages/impressive/header', $this->plugin->getPluginName()) ?>
673
+
674
+ <?php if( $this->type == 'options' ): ?>
675
+ <input name="<?= $this->plugin->getPluginName() ?>_save_action"
676
+ class="wbcr-factory-button wbcr-factory-type-save" type="submit"
677
+ value="<?php _e('Save', 'wbcr_factory_pages_428'); ?>">
678
+ <?php wp_nonce_field('wbcr_factory_' . $this->getResultId() . '_save_action'); ?>
679
  <?php endif; ?>
680
+ </div>
681
+ </div>
682
  <?php
683
  }
684
 
685
+ protected function isShowRightSidebar()
686
+ {
687
+ $widgets = $this->getPageWidgets('right');
688
 
689
+ return !empty($widgets) && $this->show_right_sidebar_in_options;
690
  }
691
 
692
+ protected function showRightSidebar()
693
+ {
694
+ $widgets = $this->getPageWidgets('right');
695
 
696
+ if( empty($widgets) ) {
697
  return;
698
  }
699
 
700
+ foreach($widgets as $widget_content):
701
  echo $widget_content;
702
  endforeach;
703
  }
704
 
705
+ protected function showBottomSidebar()
706
+ {
707
+ $widgets = $this->getPageWidgets('bottom');
708
 
709
+ if( empty($widgets) ) {
710
  return;
711
  }
712
  ?>
713
+ <div class="row">
714
+ <div class="wbcr-factory-top-sidebar">
715
+ <?php foreach($widgets as $widget_content): ?>
716
+ <div class="col-sm-4">
717
  <?= $widget_content ?>
718
+ </div>
719
  <?php endforeach; ?>
720
+ </div>
721
  <?php
722
  }
723
 
726
  *
727
  * @return mixed|void
728
  */
729
+ protected function getPageWidgets($position = 'bottom')
730
+ {
731
  $widgets = [];
732
 
733
  /**
734
  * @since 4.0.9 - является устаревшим
735
  */
736
+ $widgets = wbcr_factory_428_apply_filters_deprecated('wbcr_factory_pages_428_imppage_get_widgets', [
737
  $widgets,
738
  $position,
739
  $this->plugin,
740
  $this
741
+ ], '4.0.9', 'wbcr/factory/pages/impressive/widgets');
742
 
743
  /**
744
  * @since 4.0.1 - добавлен
745
  * @since 4.0.9 - изменено имя
746
  */
747
+ $widgets = apply_filters('wbcr/factory/pages/impressive/widgets', $widgets, $position, $this->plugin, $this);
748
 
749
  return $widgets;
750
  }
751
 
752
+ protected function showOptions()
753
+ {
754
+ $form = new Wbcr_FactoryForms426_Form([
755
+ 'scope' => rtrim($this->plugin->getPrefix(), '_'),
756
+ 'name' => $this->getResultId() . "-options"
757
+ ], $this->plugin);
758
 
759
+ $form->setProvider(new Wbcr_FactoryForms426_OptionsValueProvider($this->plugin));
760
 
761
  $options = $this->getPageOptions();
762
 
763
+ if( isset($options[0]) && isset($options[0]['items']) && is_array($options[0]['items']) ) {
764
+ foreach($options[0]['items'] as $key => $value) {
765
 
766
+ if( $value['type'] == 'div' || $value['type'] == 'more-link' ) {
767
+ if( isset($options[0]['items'][$key]['items']) && !empty($options[0]['items'][$key]['items']) ) {
768
+ foreach($options[0]['items'][$key]['items'] as $group_key => $group_value) {
769
+ $options[0]['items'][$key]['items'][$group_key]['layout']['column-left'] = '4';
770
+ $options[0]['items'][$key]['items'][$group_key]['layout']['column-right'] = '8';
771
  }
772
 
773
  continue;
774
  }
775
  }
776
 
777
+ if( in_array($value['type'], [
778
  'checkbox',
779
  'textarea',
780
  'integer',
782
  'dropdown',
783
  'list',
784
  'wp-editor'
785
+ ]) ) {
786
+ $options[0]['items'][$key]['layout']['column-left'] = '4';
787
+ $options[0]['items'][$key]['layout']['column-right'] = '8';
788
  }
789
  }
790
  }
791
 
792
+ $form->add($options);
793
 
794
+ if( isset($_POST[$this->plugin->getPluginName() . '_save_action']) ) {
795
 
796
+ check_admin_referer('wbcr_factory_' . $this->getResultId() . '_save_action');
797
 
798
+ if( !current_user_can('administrator') && !current_user_can($this->capabilitiy) ) {
799
+ wp_die(__('You do not have permission to edit page.', 'wbcr_factory_pages_428'));
800
  exit;
801
  }
802
 
803
  /**
804
  * @since 4.0.9 - является устаревшим
805
  */
806
+ wbcr_factory_428_do_action_deprecated('wbcr_factory_428_imppage_before_form_save', [
807
  $form,
808
  $this->plugin,
809
  $this
810
+ ], '4.0.9', 'wbcr/factory/pages/impressive/before_form_save');
811
 
812
  /**
813
  * @since 4.0.1 - добавлен
814
  * @since 4.0.9 - изменено имя
815
  */
816
+ do_action('wbcr/factory/pages/impressive/before_form_save', $form, $this->plugin, $this);
817
 
818
  $this->beforeFormSave();
819
 
822
  /**
823
  * @since 4.0.9 - является устаревшим
824
  */
825
+ wbcr_factory_428_do_action_deprecated('wbcr_factory_428_imppage_form_saved', [
826
  $form,
827
  $this->plugin,
828
  $this
829
+ ], '4.0.9', 'wbcr/factory/pages/impressive/form_saved');
830
 
831
  /**
832
  * @since 4.0.1 - добавлен
833
  * @since 4.0.9 - изменено имя
834
  */
835
+ do_action('wbcr/factory/pages/impressive/form_saved', $form, $this->plugin, $this);
836
 
837
  $this->formSaved();
838
 
839
+ $this->redirectToAction('flush-cache-and-rules', [
840
+ '_wpnonce' => wp_create_nonce('wbcr_factory_' . $this->getResultId() . '_flush_action')
841
+ ]);
842
  }
843
 
844
  ?>
845
+ <div id="WBCR" class="wrap">
846
+ <div class="wbcr-factory-pages-428-impressive-page-template factory-bootstrap-429 factory-fontawesome-000">
847
+ <div class="wbcr-factory-options wbcr-factory-options-<?= esc_attr($this->id) ?>">
848
+ <div class="wbcr-factory-left-navigation-bar">
849
  <?php $this->showPageMenu() ?>
850
+ </div>
851
  <?php
852
  $min_height = 0;
853
+ foreach($this->getPageMenu() as $page) {
854
+ if( !isset($page['parent']) || empty($page['parent']) ) {
855
  $min_height += 77;
856
  }
857
  }
858
  ?>
859
+ <div class="wbcr-factory-page-inner-wrap">
860
+ <div class="wbcr-factory-content-section<?php if( !$this->isShowRightSidebar() ): echo ' wbcr-fullwidth'; endif ?>">
861
+ <?php //$this->showPageSubMenu()
862
+ ?>
863
+ <div class="wbcr-factory-content" style="min-height:<?= $min_height ?>px">
864
+ <form method="post" class="form-horizontal">
865
  <?php $this->showHeader(); ?>
866
  <?php $this->printAllNotices(); ?>
867
  <?php $form->html(); ?>
868
+ </form>
869
+ </div>
870
+ </div>
871
+ <?php if( $this->isShowRightSidebar() ): ?>
872
+ <div class="wbcr-factory-right-sidebar-section">
873
  <?php $this->showRightSidebar(); ?>
874
+ </div>
875
  <?php endif; ?>
876
+ </div>
877
+ </div>
878
  <?php
879
+ if( $this->show_bottom_sidebar ) {
880
  $this->showBottomSidebar();
881
  }
882
  ?>
883
+ <div class="clearfix"></div>
884
+ </div>
885
+ </div>
886
+ </div>
887
  <?php
888
  }
889
 
890
+ protected function showPage($content = null)
891
+ { ?>
892
+ <div id="WBCR" class="wrap">
893
+ <div class="wbcr-factory-pages-428-impressive-page-template factory-bootstrap-429 factory-fontawesome-000">
894
+ <div class="wbcr-factory-page wbcr-factory-page-<?= $this->id ?>">
895
  <?php $this->showHeader(); ?>
896
+ <div class="wbcr-factory-left-navigation-bar">
897
  <?php $this->showPageMenu() ?>
898
+ </div>
899
  <?php
900
  $min_height = 0;
901
+ foreach($this->getPageMenu() as $page) {
902
+ if( !isset($page['parent']) || empty($page['parent']) ) {
903
  $min_height += 77;
904
  }
905
  }
906
  ?>
907
+ <div class="wbcr-factory-page-inner-wrap">
908
+ <div class="wbcr-factory-content-section<?php if( !$this->isShowRightSidebar() ): echo ' wbcr-fullwidth'; endif ?>">
909
+ <?php //$this->showPageSubMenu()
910
+ ?>
911
+ <div class="wbcr-factory-content" style="min-height:<?= $min_height ?>px">
912
  <?php $this->printAllNotices(); ?>
913
+ <?php if( empty($content) ): ?>
914
  <?php $this->showPageContent() ?>
915
  <?php else: ?>
916
  <?php echo $content; ?>
917
  <?php endif; ?>
918
+ </div>
919
+ </div>
920
+ <?php if( $this->isShowRightSidebar() ): ?>
921
+ <div class="wbcr-factory-right-sidebar-section" style="min-height:<?= $min_height ?>px">
922
  <?php $this->showRightSidebar(); ?>
923
+ </div>
924
  <?php endif; ?>
925
+ </div>
926
+ </div>
927
+ <div class="clearfix"></div>
928
  <?php $this->showBottomSidebar(); ?>
929
+ </div>
930
+ </div>
931
  <?php
932
  }
933
 
934
  /**
935
  * @return array
936
  */
937
+ public function getPageOptions()
938
+ {
939
  // используется в классе потомке
940
  }
941
 
942
  /**
943
  * @return void
944
  */
945
+ public function showPageContent()
946
+ {
947
  // используется в классе потомке
948
  }
949
 
953
  * @sinve 1.0.0
954
  * @return void
955
  */
956
+ public function confirmPageTemplate($data)
957
+ {
958
  ?>
959
+ <div id="WBCR" class="wrap">
960
+ <div class="wbcr-factory-pages-428-impressive-page-template factory-bootstrap-429 factory-fontawesome-000">
961
+ <div id="wbcr-factory-confirm-dialog">
962
+ <h2><?php echo $data['title'] ?></h2>
963
+ <p class="wbcr-factory-confirm-description"><?php echo $data['description'] ?></p>
964
+ <?php if( isset($data['hint']) ): ?>
965
+ <p class="wbcr-factory-confirm-hint"><?php echo $data['hint'] ?></p>
966
  <?php endif; ?>
967
+ <div class='wbcr-factory-confirm-actions'>
968
+ <?php foreach($data['actions'] as $action) { ?>
969
+ <a href='<?php echo $action['url'] ?>' class='<?php echo $action['class'] ?>'>
970
  <?php echo $action['title'] ?>
971
+ </a>
972
  <?php } ?>
973
+ </div>
974
+ </div>
975
+ </div>
976
+ </div>
977
  <?php
978
  }
979
  }
migrations/010103.php CHANGED
@@ -10,7 +10,7 @@ if ( ! defined( 'ABSPATH' ) ) {
10
  exit;
11
  }
12
 
13
- class WCLUpdate010103 extends Wbcr_Factory427_Update {
14
 
15
  public function install() {
16
  global $wpdb;
10
  exit;
11
  }
12
 
13
+ class WCLUpdate010103 extends Wbcr_Factory428_Update {
14
 
15
  public function install() {
16
  global $wpdb;
migrations/010108.php CHANGED
@@ -10,7 +10,7 @@ if( !defined('ABSPATH') ) {
10
  exit;
11
  }
12
 
13
- class WCLUpdate010108 extends Wbcr_Factory427_Update {
14
 
15
  public function install()
16
  {
10
  exit;
11
  }
12
 
13
+ class WCLUpdate010108 extends Wbcr_Factory428_Update {
14
 
15
  public function install()
16
  {
migrations/010200.php CHANGED
@@ -10,7 +10,7 @@ if ( ! defined( 'ABSPATH' ) ) {
10
  exit;
11
  }
12
 
13
- class WCLUpdate010200 extends Wbcr_Factory427_Update {
14
 
15
  public function install() {
16
  WCL_Plugin::app()->deleteOption( 'enable_wordpres_sanitize' );
10
  exit;
11
  }
12
 
13
+ class WCLUpdate010200 extends Wbcr_Factory428_Update {
14
 
15
  public function install() {
16
  WCL_Plugin::app()->deleteOption( 'enable_wordpres_sanitize' );
migrations/010300.php CHANGED
@@ -10,7 +10,7 @@ if ( ! defined( 'ABSPATH' ) ) {
10
  exit;
11
  }
12
 
13
- class WCL_Update010300 extends Wbcr_Factory427_Update {
14
 
15
  public function install() {
16
  // Deactivate components for code minification, if alternative plugins are installed
10
  exit;
11
  }
12
 
13
+ class WCL_Update010300 extends Wbcr_Factory428_Update {
14
 
15
  public function install() {
16
  // Deactivate components for code minification, if alternative plugins are installed
migrations/010402.php CHANGED
@@ -10,7 +10,7 @@ if ( ! defined( 'ABSPATH' ) ) {
10
  exit;
11
  }
12
 
13
- class WCLUpdate010402 extends Wbcr_Factory427_Update {
14
 
15
  public function install() {
16
  /**
10
  exit;
11
  }
12
 
13
+ class WCLUpdate010402 extends Wbcr_Factory428_Update {
14
 
15
  public function install() {
16
  /**
migrations/010501.php CHANGED
@@ -10,7 +10,7 @@ if ( ! defined( 'ABSPATH' ) ) {
10
  exit;
11
  }
12
 
13
- class WCLUpdate010501 extends Wbcr_Factory427_Update {
14
 
15
  public function install() {
16
  require_once( WCL_PLUGIN_DIR . '/components/ga-cache/migrations/030002.php' );
10
  exit;
11
  }
12
 
13
+ class WCLUpdate010501 extends Wbcr_Factory428_Update {
14
 
15
  public function install() {
16
  require_once( WCL_PLUGIN_DIR . '/components/ga-cache/migrations/030002.php' );
migrations/010504.php CHANGED
@@ -10,7 +10,7 @@ if ( ! defined( 'ABSPATH' ) ) {
10
  exit;
11
  }
12
 
13
- class WCLUpdate010504 extends Wbcr_Factory427_Update {
14
 
15
  public function install() {
16
  $deactivate_components = $this->plugin->getPopulateOption( 'deactive_preinstall_components', [] );
10
  exit;
11
  }
12
 
13
+ class WCLUpdate010504 extends Wbcr_Factory428_Update {
14
 
15
  public function install() {
16
  $deactivate_components = $this->plugin->getPopulateOption( 'deactive_preinstall_components', [] );
migrations/010505.php CHANGED
@@ -10,7 +10,7 @@ if ( ! defined( 'ABSPATH' ) ) {
10
  exit;
11
  }
12
 
13
- class WCLUpdate010505 extends Wbcr_Factory427_Update {
14
 
15
  public function install() {
16
  $this->update_premium();
@@ -40,7 +40,7 @@ class WCLUpdate010505 extends Wbcr_Factory427_Update {
40
  */
41
  $this->clean_hide_my_wp_data();
42
 
43
- WbcrFactoryClearfy219_Helpers::flushPageCache();
44
  }
45
 
46
  /**
10
  exit;
11
  }
12
 
13
+ class WCLUpdate010505 extends Wbcr_Factory428_Update {
14
 
15
  public function install() {
16
  $this->update_premium();
40
  */
41
  $this->clean_hide_my_wp_data();
42
 
43
+ WbcrFactoryClearfy220_Helpers::flushPageCache();
44
  }
45
 
46
  /**
migrations/010601.php CHANGED
@@ -10,7 +10,7 @@ if ( ! defined( 'ABSPATH' ) ) {
10
  exit;
11
  }
12
 
13
- class WCLUpdate010601 extends Wbcr_Factory427_Update {
14
 
15
  public function install() {
16
  $this->plugin->updatePopulateOption( "last_check_premium_update_time", 0 );
10
  exit;
11
  }
12
 
13
+ class WCLUpdate010601 extends Wbcr_Factory428_Update {
14
 
15
  public function install() {
16
  $this->plugin->updatePopulateOption( "last_check_premium_update_time", 0 );
migrations/010604.php CHANGED
@@ -10,7 +10,7 @@ if ( ! defined( 'ABSPATH' ) ) {
10
  exit;
11
  }
12
 
13
- class WCLUpdate010604 extends Wbcr_Factory427_Update {
14
 
15
  public function install() {
16
  $this->assets_manager_migration();
10
  exit;
11
  }
12
 
13
+ class WCLUpdate010604 extends Wbcr_Factory428_Update {
14
 
15
  public function install() {
16
  $this->assets_manager_migration();
readme.txt CHANGED
@@ -238,6 +238,14 @@ Of course! To do this, email us your wishes with address, which you will find in
238
 
239
 
240
  == Changelog ==
 
 
 
 
 
 
 
 
241
  = 1.6.6 (29.04.2020) =
242
  * Fixed: Minor bugs
243
 
238
 
239
 
240
  == Changelog ==
241
+ = 1.6.8 (3.06.2020) =
242
+ * Fixed: critical bug
243
+
244
+ = 1.6.7 (3.06.2020) =
245
+ * Added: options search in the plugin interface. You can enter the option name, the plugin will automatically redirect you to the desired page where the option is located.
246
+ * Updated: main navigation menu.
247
+ * Fixed: Minor bugs
248
+
249
  = 1.6.6 (29.04.2020) =
250
  * Fixed: Minor bugs
251