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

Version Description

  • Added: Critical CSS options
Download this release

Release Info

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

Code changes from version 1.6.8 to 1.6.9

Files changed (217) 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/base-statistic.css +405 -406
  5. admin/assets/css/components.css +139 -140
  6. admin/assets/css/general.css +494 -495
  7. admin/assets/css/gutenberg-autosave-control.css +18 -19
  8. admin/assets/css/install-addons.css +31 -32
  9. admin/assets/js/general.js +13 -13
  10. admin/assets/js/install-addons.js +15 -15
  11. admin/assets/js/license-manager.js +4 -4
  12. admin/boot.php +6 -6
  13. admin/includes/compatibility.php +4 -4
  14. admin/pages/class-page.php +8 -8
  15. admin/pages/class-pages-advanced.php +1 -1
  16. admin/pages/class-pages-clearfy-settings.php +2 -2
  17. admin/pages/class-pages-components-license.php +5 -5
  18. admin/pages/class-pages-components.php +6 -6
  19. admin/pages/class-pages-defence-titan.php +3 -3
  20. admin/pages/class-pages-defence.php +2 -2
  21. admin/pages/class-pages-hide-login-page.php +3 -3
  22. admin/pages/class-pages-image-optimization.php +3 -3
  23. admin/pages/class-pages-license.php +3 -3
  24. admin/pages/class-pages-performance-google.php +1 -1
  25. admin/pages/class-pages-quick-start.php +3 -3
  26. admin/pages/class-pages-seo-double-pages.php +1 -1
  27. admin/pages/class-pages-seo.php +1 -1
  28. admin/pages/class-pages-widgets.php +1 -1
  29. assets/css/admin-bar.css +47 -48
  30. clearfy.php +10 -10
  31. components/assets-manager/admin/activation.php +2 -2
  32. components/assets-manager/admin/ajax/save-settings.php +1 -1
  33. components/assets-manager/admin/boot.php +2 -2
  34. components/assets-manager/admin/pages/class-pages-more-features.php +1 -1
  35. components/assets-manager/admin/pages/class-pages-settings.php +4 -4
  36. components/assets-manager/gonzales.php +7 -7
  37. components/assets-manager/includes/class-plugin.php +3 -3
  38. components/assets-manager/includes/classes/class-assets-manager-global.php +2 -2
  39. components/assets-manager/includes/classes/class-views.php +4 -4
  40. components/assets-manager/migrations/010100.php +1 -1
  41. components/assets-manager/migrations/010108.php +1 -1
  42. components/assets-manager/migrations/020005.php +1 -1
  43. components/assets-manager/mu-plugins/assets-manager.php +1 -1
  44. components/comments-plus/admin/boot.php +1 -1
  45. components/comments-plus/admin/pages/class-page-comments.php +3 -3
  46. components/comments-plus/admin/pages/class-page-delete-comments.php +6 -6
  47. components/comments-plus/admin/pages/class-page-more-features.php +1 -1
  48. components/comments-plus/comments-plus.php +7 -7
  49. components/comments-plus/includes/class-plugin.php +3 -3
  50. components/comments-plus/includes/classes/class-configurate-comments.php +3 -3
  51. components/cyrlitera/admin/activation.php +2 -2
  52. components/cyrlitera/admin/boot.php +1 -1
  53. components/cyrlitera/admin/pages/class-page-cyrlitera.php +4 -4
  54. components/cyrlitera/admin/pages/class-page-more-features.php +1 -1
  55. components/cyrlitera/cyrlitera.php +7 -7
  56. components/cyrlitera/includes/class-plugin.php +3 -3
  57. components/cyrlitera/includes/classes/class-configurate-cyrlitera.php +2 -2
  58. components/cyrlitera/migrations/010004.php +1 -1
  59. components/disable-admin-notices/admin/assets/css/notifications-panel.css +3 -3
  60. components/disable-admin-notices/admin/assets/css/settings.css +176 -0
  61. components/disable-admin-notices/admin/assets/css/settings.less +212 -0
  62. components/disable-admin-notices/admin/boot.php +31 -5
  63. components/disable-admin-notices/admin/options.php +88 -52
  64. components/disable-admin-notices/admin/pages/class-pages-edit-admin-bar.php +147 -0
  65. components/disable-admin-notices/admin/pages/class-pages-edit-redirects.php +164 -0
  66. components/disable-admin-notices/admin/pages/class-pages-license.php +103 -0
  67. components/disable-admin-notices/admin/pages/class-pages-settings.php +148 -0
  68. components/disable-admin-notices/admin/pages/class-pages.php +25 -0
  69. components/disable-admin-notices/clearfy.php +1 -1
  70. components/disable-admin-notices/disable-admin-notices.php +37 -20
  71. components/disable-admin-notices/includes/class-plugin.php +22 -14
  72. components/disable-admin-notices/includes/classes/class-configurate-notices.php +126 -133
  73. components/disable-admin-notices/includes/function.php +117 -0
  74. components/disable-admin-notices/migrations/010007.php +1 -1
  75. components/disable-admin-notices/readme.txt +19 -4
  76. components/ga-cache/admin/activation.php +2 -2
  77. components/ga-cache/admin/boot.php +3 -3
  78. components/ga-cache/admin/options.php +1 -1
  79. components/ga-cache/admin/pages/class-pages-general-settings.php +3 -3
  80. components/ga-cache/admin/pages/class-pages-more-features.php +1 -1
  81. components/ga-cache/includes/class-plugin.php +3 -3
  82. components/ga-cache/includes/classes/class-configurate-ga.php +1 -1
  83. components/ga-cache/migrations/030002.php +1 -1
  84. components/ga-cache/simple_google_analytics.php +6 -6
  85. components/html-minify/admin/pages/class-pages-settings.php +3 -3
  86. components/html-minify/html-minify.php +7 -7
  87. components/html-minify/includes/class-plugin.php +3 -3
  88. components/minify-and-combine/admin/boot.php +12 -0
  89. components/minify-and-combine/admin/pages/class-pages-settings.php +30 -7
  90. components/minify-and-combine/includes/3rd-party/class-clearfy-plugin.php +1 -0
  91. components/minify-and-combine/includes/class-plugin.php +4 -3
  92. components/minify-and-combine/includes/classes/class-cache.php +1 -1
  93. components/minify-and-combine/includes/classes/class-criticalcss.php +89 -0
  94. components/minify-and-combine/includes/classes/class-main.php +16 -9
  95. components/minify-and-combine/includes/classes/class-styles.php +38 -13
  96. components/minify-and-combine/minify-and-combine.php +8 -8
  97. components/updates-manager/admin/activation.php +2 -2
  98. components/updates-manager/admin/assets/js/ajax-components.js +4 -4
  99. components/updates-manager/admin/boot.php +1 -1
  100. components/updates-manager/admin/includes/class-abstract-filters.php +1 -1
  101. components/updates-manager/admin/pages/class-page-advanced.php +5 -5
  102. components/updates-manager/admin/pages/class-page-more-features.php +1 -1
  103. components/updates-manager/admin/pages/class-page-plugins.php +5 -5
  104. components/updates-manager/admin/pages/class-page-themes.php +4 -4
  105. components/updates-manager/admin/pages/class-page-updates.php +5 -5
  106. components/updates-manager/includes/class-plugin.php +3 -3
  107. components/updates-manager/includes/classes/class-configurate-updates.php +1 -1
  108. components/updates-manager/migrations/010008.php +1 -1
  109. components/updates-manager/webcraftic-updates-manager.php +7 -7
  110. includes/boot.php +1 -1
  111. includes/class.plugin.php +3 -3
  112. includes/classes/class.configurate-advanced.php +1 -1
  113. includes/classes/class.configurate-google-performance.php +1 -1
  114. includes/classes/class.configurate-performance.php +5 -1
  115. includes/classes/class.configurate-privacy.php +1 -1
  116. includes/classes/class.configurate-security.php +1 -1
  117. includes/classes/class.configurate-seo.php +1 -1
  118. libs/factory/adverts/boot.php +12 -12
  119. libs/factory/adverts/includes/class-base.php +6 -6
  120. libs/factory/adverts/includes/class-dashboard-widget.php +4 -4
  121. libs/factory/adverts/includes/class-rest-request.php +67 -47
  122. libs/factory/adverts/langs/wbcr_factory_adverts_109-ru_RU.mo +0 -0
  123. libs/factory/adverts/langs/wbcr_factory_adverts_109-ru_RU.po +83 -0
  124. libs/factory/bootstrap/assets/cache/c54ca97249456e97dd6f68e39fe5fd8c.min.js +0 -30
  125. libs/factory/bootstrap/assets/cache/d3f7e6e8889a6d921650a5046bd131b4.min.css +0 -69
  126. libs/factory/bootstrap/assets/css-min/bootstrap.accordion.min.css +1 -1
  127. libs/factory/bootstrap/assets/css-min/bootstrap.blue.min.css +1 -1
  128. libs/factory/bootstrap/assets/css-min/bootstrap.coffee.min.css +1 -1
  129. libs/factory/bootstrap/assets/css-min/bootstrap.core.min.css +2 -2
  130. libs/factory/bootstrap/assets/css-min/bootstrap.ectoplasm.min.css +1 -1
  131. libs/factory/bootstrap/assets/css-min/bootstrap.form-group.min.css +1 -1
  132. libs/factory/bootstrap/assets/css-min/bootstrap.light.min.css +1 -1
  133. libs/factory/bootstrap/assets/css-min/bootstrap.midnight.min.css +1 -1
  134. libs/factory/bootstrap/assets/css-min/bootstrap.ocean.min.css +1 -1
  135. libs/factory/bootstrap/assets/css-min/bootstrap.separator.min.css +1 -1
  136. libs/factory/bootstrap/assets/css-min/bootstrap.sunrise.min.css +1 -1
  137. libs/factory/bootstrap/assets/css-min/control.checkbox.min.css +1 -1
  138. libs/factory/bootstrap/assets/css-min/control.dropdown.min.css +1 -1
  139. libs/factory/bootstrap/assets/css-min/control.multiple-textbox.min.css +1 -1
  140. libs/factory/bootstrap/assets/css-min/holder.more-link.min.css +1 -1
  141. libs/factory/bootstrap/assets/js-min/bootstrap.dropdown.min.js +1 -1
  142. libs/factory/bootstrap/assets/js-min/control.checkbox.min.js +1 -1
  143. libs/factory/bootstrap/assets/js-min/control.dropdown.min.js +1 -1
  144. libs/factory/bootstrap/assets/js-min/control.list.min.js +1 -1
  145. libs/factory/bootstrap/assets/js-min/control.multiple-textbox.min.js +1 -1
  146. libs/factory/bootstrap/boot.php +9 -9
  147. libs/factory/bootstrap/includes/functions.php +10 -10
  148. libs/factory/clearfy/assets/css/clearfy-base.css +24 -24
  149. libs/factory/clearfy/assets/css/libs/autocomplete.css +9 -9
  150. libs/factory/clearfy/assets/js/globals.js +15 -15
  151. libs/factory/clearfy/assets/js/libs/jquery.autocomplete.min.js +1 -1
  152. libs/factory/clearfy/assets/js/license-manager.js +4 -4
  153. libs/factory/clearfy/assets/js/search-options.js +2 -2
  154. libs/factory/clearfy/boot.php +16 -16
  155. libs/factory/clearfy/includes/ajax-handlers.php +8 -8
  156. libs/factory/clearfy/includes/class-configurate.php +3 -3
  157. libs/factory/clearfy/includes/class-helpers.php +1 -1
  158. libs/factory/clearfy/includes/class-search-options.php +1 -1
  159. libs/factory/clearfy/langs/wbcr_factory_clearfy_221-ru_RU.mo +0 -0
  160. libs/factory/clearfy/langs/wbcr_factory_clearfy_221-ru_RU.po +307 -0
  161. libs/factory/clearfy/pages/class-page-license.php +33 -33
  162. libs/factory/clearfy/pages/class-page-more-features.php +23 -23
  163. libs/factory/clearfy/pages/class-pages.php +40 -40
  164. libs/factory/core/boot.php +27 -27
  165. libs/factory/core/includes/activation/class-factory-activator.php +3 -3
  166. libs/factory/core/includes/activation/class-factory-update.php +3 -3
  167. libs/factory/core/includes/assets-managment/class-factory-assets-list.php +4 -4
  168. libs/factory/core/includes/assets-managment/class-factory-script-list.php +2 -2
  169. libs/factory/core/includes/assets-managment/class-factory-style-list.php +1 -1
  170. libs/factory/core/includes/class-check-compatibility.php +3 -3
  171. libs/factory/core/includes/class-factory-migrations.php +13 -13
  172. libs/factory/core/includes/class-factory-notices.php +91 -86
  173. libs/factory/core/includes/class-factory-options.php +2 -2
  174. libs/factory/core/includes/class-factory-plugin-abstract.php +52 -52
  175. libs/factory/core/includes/class-factory-plugin-base.php +25 -25
  176. libs/factory/core/includes/class-factory-requests.php +1 -1
  177. libs/factory/core/includes/class-factory-requirements.php +6 -6
  178. libs/factory/core/includes/entities/class-factory-paths.php +1 -1
  179. libs/factory/core/includes/entities/class-factory-support.php +1 -1
  180. libs/factory/core/includes/functions.php +7 -7
  181. libs/factory/core/includes/premium/class-factory-license-interface.php +1 -1
  182. libs/factory/core/includes/premium/class-factory-manager.php +10 -10
  183. libs/factory/core/includes/premium/class-factory-provider-abstract.php +6 -6
  184. libs/factory/core/includes/updates/class-factory-premium-upgrader.php +11 -11
  185. libs/factory/core/includes/updates/class-factory-upgrader.php +9 -9
  186. libs/factory/core/includes/updates/repositories/class-factory-repository-abstract.php +5 -5
  187. libs/factory/core/includes/updates/repositories/class-factory-wordpress.php +4 -4
  188. libs/factory/core/langs/wbcr_factory_429-ru_RU.mo +0 -0
  189. libs/factory/core/langs/wbcr_factory_429-ru_RU.po +128 -0
  190. libs/factory/forms/boot.php +95 -95
  191. libs/factory/forms/controls/checkbox.php +4 -4
  192. libs/factory/forms/controls/color-and-opacity.php +4 -4
  193. libs/factory/forms/controls/color.php +2 -2
  194. libs/factory/forms/controls/customs/html.php +2 -2
  195. libs/factory/forms/controls/customs/separator.php +2 -2
  196. libs/factory/forms/controls/datepicker-range.php +4 -4
  197. libs/factory/forms/controls/dropdown-and-colors.php +6 -6
  198. libs/factory/forms/controls/dropdown.php +5 -5
  199. libs/factory/forms/controls/font.php +11 -11
  200. libs/factory/forms/controls/google-font.php +8 -8
  201. libs/factory/forms/controls/gradient.php +4 -4
  202. libs/factory/forms/controls/hidden.php +2 -2
  203. libs/factory/forms/controls/holders/accordion-item.php +2 -2
  204. libs/factory/forms/controls/holders/accordion.php +2 -2
  205. libs/factory/forms/controls/holders/columns.php +2 -2
  206. libs/factory/forms/controls/holders/control-group-item.php +2 -2
  207. libs/factory/forms/controls/holders/control-group.php +3 -3
  208. libs/factory/forms/controls/holders/div.php +2 -2
  209. libs/factory/forms/controls/holders/form-group.php +2 -2
  210. libs/factory/forms/controls/holders/more-link.php +2 -2
  211. libs/factory/forms/controls/holders/tab-item.php +2 -2
  212. libs/factory/forms/controls/holders/tab.php +4 -4
  213. libs/factory/forms/controls/integer.php +2 -2
  214. libs/factory/forms/controls/list.php +4 -4
  215. libs/factory/forms/controls/multiple-textbox.php +3 -3
  216. libs/factory/forms/controls/paddings-editor.php +3 -3
  217. libs/factory/forms/controls/pattern.php +9 -9
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 Factory428_Activator
8
  * @version 1.0
9
  */
10
 
@@ -13,7 +13,7 @@ if ( ! defined( 'ABSPATH' ) ) {
13
  exit;
14
  }
15
 
16
- class WCL_Activation extends Wbcr_Factory428_Activator {
17
 
18
  /**
19
  * Runs activation actions.
4
  *
5
  * @author Webcraftic <wordpress.webraftic@gmail.com>
6
  * @copyright (c) 09.09.2017, Webcraftic
7
+ * @see Factory429_Activator
8
  * @version 1.0
9
  */
10
 
13
  exit;
14
  }
15
 
16
+ class WCL_Activation extends Wbcr_Factory429_Activator {
17
 
18
  /**
19
  * Runs activation actions.
admin/ajax/configurate.php CHANGED
@@ -57,7 +57,7 @@
57
  }
58
 
59
  if( !$flush_redirect ) {
60
- WbcrFactoryClearfy220_Helpers::flushPageCache();
61
  }
62
 
63
  do_action('wbcr_clearfy_configurated_quick_mode', $mode_name);
57
  }
58
 
59
  if( !$flush_redirect ) {
60
+ WbcrFactoryClearfy221_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 = 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,7 +140,7 @@
140
  //$send_data['update_notice'] = $package_plugin->getUpdateNotice();
141
 
142
  // Сбрасываем кеш для кеширующих плагинов
143
- WbcrFactoryClearfy220_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 = WbcrFactoryClearfy221_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
+ WbcrFactoryClearfy221_Helpers::flushPageCache();
144
 
145
  do_action('wbcr_clearfy_imported_settings');
146
 
admin/assets/css/base-statistic.css CHANGED
@@ -1,406 +1,405 @@
1
- /**
2
- * Styles for the Widget to be displayed in the Clearfy plugin
3
-
4
- * @author Alex Kovalev <alex.kovalevv@gmail.com>
5
- * @copyright Webcraftic 13.06.2018
6
- */
7
- #WBCR {
8
- /* Number display */
9
- /* Number and bars */
10
- /* Doughnut */
11
- /* Widget */
12
- }
13
- #WBCR .wio-clear {
14
- clear: both;
15
- }
16
- #WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers {
17
- margin-top: 30px;
18
- background: none;
19
- padding: 0;
20
- }
21
- #WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers h4 {
22
- font-size: 15px;
23
- font-weight: 700;
24
- }
25
- #WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers button {
26
- padding: 5px 10px;
27
- border: 0;
28
- font-size: 11px;
29
- text-transform: uppercase !important;
30
- font-weight: bold;
31
- border-radius: 4px;
32
- outline: none;
33
- background: #f3f3f3;
34
- color: #656565;
35
- box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
36
- }
37
- #WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers button:active {
38
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.5);
39
- }
40
- #WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers button.wbcr-rio-loading {
41
- width: 56px;
42
- font-size: 0;
43
- background: #f3f3f3 url("../img/quick-start-loader.gif") center no-repeat;
44
- }
45
- #WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers button.wbcr-rio-selected {
46
- background: #f3efe2;
47
- color: #d8d8d8;
48
- }
49
- #WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers button.wbcr-rio-selected:active {
50
- box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
51
- }
52
- #WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers table {
53
- width: 100%;
54
- box-sizing: border-box;
55
- border-spacing: 3px;
56
- background: #fff;
57
- }
58
- #WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers table th,
59
- #WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers table td {
60
- padding: 16px 10px;
61
- text-align: center;
62
- }
63
- #WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers table th {
64
- background: #efefef;
65
- color: #777777;
66
- box-shadow: 0 1px 0 #d8d8d8;
67
- }
68
- #WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers table .wbcr-rio-server-check-proccess {
69
- display: inline-block;
70
- height: 10px;
71
- width: 30px;
72
- background: url("../img/quick-start-loader.gif") center no-repeat;
73
- }
74
- #WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers table .wbcr-rio-servers-list-item-selected {
75
- background: #fffbed;
76
- color: #cec5a8;
77
- font-weight: 600;
78
- }
79
- #WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers table .wbcr-rio-server-success {
80
- color: #8CC152;
81
- }
82
- #WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers table .wbcr-rio-server-error {
83
- color: #fb5d49;
84
- }
85
- #WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers table .wbcr-rio-server-warning {
86
- color: #ffb635;
87
- }
88
- #WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers .wbcr-rio-warning-message {
89
- margin-top: 30px;
90
- padding: 20px;
91
- border: 1px dashed #bfbfbf;
92
- background: #ffffff;
93
- margin-bottom: 40px;
94
- font-size: 15px;
95
- color: #828282;
96
- }
97
- #WBCR .wio-columns {
98
- overflow: hidden;
99
- padding: 15px 0;
100
- counter-reset: cols;
101
- }
102
- #WBCR .wio-columns [class^="col-"] {
103
- float: left;
104
- -webkit-box-sizing: border-box;
105
- -moz-box-sizing: border-box;
106
- box-sizing: border-box;
107
- }
108
- #WBCR .wio-columns .col-1-3 {
109
- width: 33.333%;
110
- padding-left: 28px;
111
- }
112
- #WBCR .wio-columns .col-2-3 {
113
- width: 66.666%;
114
- padding-left: 28px;
115
- }
116
- #WBCR .wio-columns .col-1-2 {
117
- width: 50%;
118
- padding: 0 20px;
119
- }
120
- #WBCR .wio-columns .col-statistics.col-statistics {
121
- width: 60%;
122
- }
123
- #WBCR .wio-columns .col-chart.col-chart {
124
- width: 40%;
125
- position: relative;
126
- padding: 20px;
127
- font-size: 12px;
128
- text-transform: uppercase;
129
- background: #f1f1f1b3;
130
- color: #abacaf;
131
- font-weight: bold;
132
- border-radius: 5px;
133
- margin-top: 10px;
134
- text-align: left;
135
- box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
136
- }
137
- #WBCR .wio-col {
138
- float: left;
139
- width: 50%;
140
- box-sizing: border-box;
141
- -webkit-flex-basis: 50%;
142
- -ms-flex-preferred-size: 50%;
143
- flex-basis: 50%;
144
- }
145
- #WBCR .wio-col {
146
- padding-right: 20px;
147
- }
148
- #WBCR .wio-col + .wio-col {
149
- padding-right: 0;
150
- padding-left: 50px;
151
- }
152
- #WBCR .wio-col:target {
153
- animation: wiohello 1s 3 linear backwards;
154
- }
155
- #WBCR .wio-number-you-optimized {
156
- margin-bottom: 1.35em;
157
- overflow: hidden;
158
- }
159
- #WBCR .wio-number-you-optimized #wio-total-optimized-attachments-pct {
160
- color: #828282;
161
- }
162
- #WBCR .wio-number-you-optimized .wio-number {
163
- display: table-cell;
164
- padding-right: 15px;
165
- font-size: 48px;
166
- font-weight: bold;
167
- line-height: 1;
168
- vertical-align: middle;
169
- white-space: nowrap;
170
- color: #828282;
171
- }
172
- #WBCR .wio-number-you-optimized .wio-text {
173
- display: table-cell;
174
- vertical-align: middle;
175
- overflow: hidden;
176
- font-size: 12px;
177
- color: #828282;
178
- }
179
- #WBCR .wio-number-you-optimized > p {
180
- display: table;
181
- }
182
- #WBCR .wio-bars {
183
- padding-right: 15px;
184
- }
185
- #WBCR .wio-bars p {
186
- font-size: 12px;
187
- margin-bottom: 5px;
188
- }
189
- #WBCR .wio-bars + .wio-number-you-optimized {
190
- border-bottom: 0;
191
- padding-top: 0.85em;
192
- }
193
- #WBCR .wio-bars + .wio-number-you-optimized p {
194
- color: #72a53b;
195
- }
196
- #WBCR .wio-bar-negative .wio-progress {
197
- background: #D2D3D6;
198
- }
199
- #WBCR .wio-bar-negative .wio-barnb {
200
- color: #9d9fa5;
201
- }
202
- #WBCR .wio-progress {
203
- height: 8px;
204
- transition: width 0.3s;
205
- /*.wio-bar-negative {
206
- width: 92% !important;
207
- }*/
208
- }
209
- #WBCR .wio-bar-positive .wio-progress {
210
- background: #8CC152;
211
- }
212
- #WBCR .wio-bar-positive .wio-barnb {
213
- color: #72a53b;
214
- }
215
- #WBCR .wio-bar-primary .wio-progress {
216
- background: #8CC152;
217
- }
218
- #WBCR .wio-bar-primary .wio-barnb {
219
- color: #72a53b;
220
- }
221
- #WBCR .wio-right-outside-number .wio-barnb {
222
- display: block;
223
- margin-right: -5.25em;
224
- text-align: right;
225
- font-weight: bold;
226
- line-height: 0.8;
227
- }
228
- #WBCR .wio-chart {
229
- position: relative;
230
- top: 1px;
231
- display: inline-block;
232
- vertical-align: middle;
233
- }
234
- #WBCR .wio-chart-container {
235
- position: relative;
236
- display: inline-block;
237
- margin-right: 5px;
238
- border: 10px solid #d2d3d6;
239
- border-radius: 100%;
240
- }
241
- #WBCR .wio-chart-container canvas {
242
- display: block;
243
- }
244
- #WBCR .wio-overview-chart-container {
245
- float: left;
246
- margin-right: 20px;
247
- }
248
- #WBCR .wio-chart-percent {
249
- position: absolute;
250
- left: 0;
251
- right: 0;
252
- top: 50%;
253
- margin-top: -0.5em;
254
- line-height: 0.8;
255
- text-align: center;
256
- font-size: 54px;
257
- font-weight: bold;
258
- color: #afafaf;
259
- }
260
- #WBCR .wio-chart-percent span {
261
- font-size: 20px;
262
- vertical-align: super;
263
- }
264
- #WBCR #wio-overview-chart-legend {
265
- overflow: hidden;
266
- }
267
- #WBCR .wio-doughnut-legend li {
268
- display: inline-block;
269
- position: relative;
270
- margin-bottom: 15px;
271
- border-radius: 5px;
272
- padding: 3px 8px 2px 31px;
273
- font-size: 12px;
274
- cursor: default;
275
- -webkit-transition: background-color 200ms ease-in-out;
276
- -moz-transition: background-color 200ms ease-in-out;
277
- -o-transition: background-color 200ms ease-in-out;
278
- transition: background-color 200ms ease-in-out;
279
- }
280
- #WBCR .wio-doughnut-legend li span {
281
- display: block;
282
- position: absolute;
283
- left: 0;
284
- top: 0;
285
- width: 25px;
286
- height: 25px;
287
- border-radius: 50%;
288
- }
289
- #WBCR .wio-optimize-button {
290
- width: 180px;
291
- padding: 12px 30px;
292
- background: #c9deb2;
293
- color: #586549;
294
- border: 0;
295
- box-shadow: none;
296
- font-size: 14px;
297
- text-transform: uppercase !important;
298
- font-weight: bold;
299
- border-radius: 4px;
300
- outline: none;
301
- text-decoration: none;
302
- }
303
- #WBCR .wio-optimize-button:active {
304
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.5);
305
- }
306
- #WBCR .wio-global-optim-phrase {
307
- width: 180px;
308
- padding-top: 20px;
309
- font-size: 14px;
310
- text-align: center;
311
- }
312
- #WBCR .wio-total-percent {
313
- color: #587f2e;
314
- }
315
- #WBCR .wio-text-left {
316
- text-align: left;
317
- }
318
- #WBCR span.wio-num {
319
- display: inline !important;
320
- position: inherit !important;
321
- }
322
- #WBCR .wio-image-optimize-board {
323
- padding: 20px;
324
- }
325
- #WBCR .wio-page-statistic {
326
- padding-left: 40px;
327
- }
328
- #WBCR .wio-page-statistic .wio-chart-percent {
329
- margin-top: -1.1em;
330
- }
331
- #WBCR .wio-widget {
332
- padding: 0 !important;
333
- }
334
- #WBCR .wio-widget .wio-chart-percent {
335
- font-size: 44px;
336
- line-height: 1;
337
- }
338
- #WBCR .wio-widget .wio-bars {
339
- width: 80%;
340
- margin-left: 155px;
341
- box-sizing: border-box;
342
- }
343
- #WBCR .wio-widget .col-chart.col-chart {
344
- width: 100%;
345
- }
346
- #WBCR .wio-widget .col-controls {
347
- width: 45%;
348
- padding-left: 5px;
349
- padding-top: 110px;
350
- }
351
- #WBCR .wio-widget .wio-doughnut-legend {
352
- margin-left: 20px;
353
- text-align: left;
354
- }
355
- #WBCR .wio-widget .wio-widget-bottom {
356
- display: table;
357
- padding-top: 20px !important;
358
- width: 100%;
359
- text-align: right;
360
- }
361
- #WBCR .wio-widget .wio-widget-bottom li {
362
- display: table-cell;
363
- }
364
- #WBCR .wio-widget .wio-widget-bottom li:first-child {
365
- text-align: left;
366
- }
367
- @media (max-width: 830px) {
368
- #WBCR .wio [class^="col-"] {
369
- float: none;
370
- margin-bottom: 1.5em;
371
- }
372
- #WBCR .wio .col-1-3,
373
- #WBCR .wio .col-1-2 {
374
- width: auto;
375
- padding: 0 28px;
376
- clear: both;
377
- padding-top: 1em;
378
- }
379
- }
380
- @keyframes wiohello {
381
- 0%,
382
- 100% {
383
- background: #FFF;
384
- }
385
- 50% {
386
- background: #F4F7F9;
387
- }
388
- }
389
- @media (max-width: 1520px) and (min-width: 1381px), (max-width: 1086px) {
390
- #WBCR .wio-columns .col-statistics.col-statistics,
391
- #WBCR .wio-columns .col-chart.col-chart {
392
- width: 50%;
393
- }
394
- }
395
- @media (max-width: 808px) {
396
- #WBCR .wio-columns .col-statistics.col-statistics,
397
- #WBCR .wio-columns .col-chart.col-chart {
398
- width: auto;
399
- float: none;
400
- padding: 0;
401
- }
402
- #WBCR .wio-columns .col-chart.col-chart {
403
- margin-top: 3em;
404
- }
405
- }
406
- /*# sourceMappingURL=base-statistic.css.map */
1
+ /**
2
+ * Styles for the Widget to be displayed in the Clearfy plugin
3
+
4
+ * @author Alex Kovalev <alex.kovalevv@gmail.com>
5
+ * @copyright Webcraftic 13.06.2018
6
+ */
7
+ #WBCR {
8
+ /* Number display */
9
+ /* Number and bars */
10
+ /* Doughnut */
11
+ /* Widget */
12
+ }
13
+ #WBCR .wio-clear {
14
+ clear: both;
15
+ }
16
+ #WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers {
17
+ margin-top: 30px;
18
+ background: none;
19
+ padding: 0;
20
+ }
21
+ #WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers h4 {
22
+ font-size: 15px;
23
+ font-weight: 700;
24
+ }
25
+ #WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers button {
26
+ padding: 5px 10px;
27
+ border: 0;
28
+ font-size: 11px;
29
+ text-transform: uppercase !important;
30
+ font-weight: bold;
31
+ border-radius: 4px;
32
+ outline: none;
33
+ background: #f3f3f3;
34
+ color: #656565;
35
+ box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
36
+ }
37
+ #WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers button:active {
38
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.5);
39
+ }
40
+ #WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers button.wbcr-rio-loading {
41
+ width: 56px;
42
+ font-size: 0;
43
+ background: #f3f3f3 url("../img/quick-start-loader.gif") center no-repeat;
44
+ }
45
+ #WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers button.wbcr-rio-selected {
46
+ background: #f3efe2;
47
+ color: #d8d8d8;
48
+ }
49
+ #WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers button.wbcr-rio-selected:active {
50
+ box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
51
+ }
52
+ #WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers table {
53
+ width: 100%;
54
+ box-sizing: border-box;
55
+ border-spacing: 3px;
56
+ background: #fff;
57
+ }
58
+ #WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers table th,
59
+ #WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers table td {
60
+ padding: 16px 10px;
61
+ text-align: center;
62
+ }
63
+ #WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers table th {
64
+ background: #efefef;
65
+ color: #777777;
66
+ box-shadow: 0 1px 0 #d8d8d8;
67
+ }
68
+ #WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers table .wbcr-rio-server-check-proccess {
69
+ display: inline-block;
70
+ height: 10px;
71
+ width: 30px;
72
+ background: url("../img/quick-start-loader.gif") center no-repeat;
73
+ }
74
+ #WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers table .wbcr-rio-servers-list-item-selected {
75
+ background: #fffbed;
76
+ color: #cec5a8;
77
+ font-weight: 600;
78
+ }
79
+ #WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers table .wbcr-rio-server-success {
80
+ color: #8CC152;
81
+ }
82
+ #WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers table .wbcr-rio-server-error {
83
+ color: #fb5d49;
84
+ }
85
+ #WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers table .wbcr-rio-server-warning {
86
+ color: #ffb635;
87
+ }
88
+ #WBCR .wbcr-factory-sidebar-widget.wbcr-rio-servers .wbcr-rio-warning-message {
89
+ margin-top: 30px;
90
+ padding: 20px;
91
+ border: 1px dashed #bfbfbf;
92
+ background: #ffffff;
93
+ margin-bottom: 40px;
94
+ font-size: 15px;
95
+ color: #828282;
96
+ }
97
+ #WBCR .wio-columns {
98
+ overflow: hidden;
99
+ padding: 15px 0;
100
+ counter-reset: cols;
101
+ }
102
+ #WBCR .wio-columns [class^="col-"] {
103
+ float: left;
104
+ -webkit-box-sizing: border-box;
105
+ -moz-box-sizing: border-box;
106
+ box-sizing: border-box;
107
+ }
108
+ #WBCR .wio-columns .col-1-3 {
109
+ width: 33.333%;
110
+ padding-left: 28px;
111
+ }
112
+ #WBCR .wio-columns .col-2-3 {
113
+ width: 66.666%;
114
+ padding-left: 28px;
115
+ }
116
+ #WBCR .wio-columns .col-1-2 {
117
+ width: 50%;
118
+ padding: 0 20px;
119
+ }
120
+ #WBCR .wio-columns .col-statistics.col-statistics {
121
+ width: 60%;
122
+ }
123
+ #WBCR .wio-columns .col-chart.col-chart {
124
+ width: 40%;
125
+ position: relative;
126
+ padding: 20px;
127
+ font-size: 12px;
128
+ text-transform: uppercase;
129
+ background: #f1f1f1b3;
130
+ color: #abacaf;
131
+ font-weight: bold;
132
+ border-radius: 5px;
133
+ margin-top: 10px;
134
+ text-align: left;
135
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
136
+ }
137
+ #WBCR .wio-col {
138
+ float: left;
139
+ width: 50%;
140
+ box-sizing: border-box;
141
+ -webkit-flex-basis: 50%;
142
+ -ms-flex-preferred-size: 50%;
143
+ flex-basis: 50%;
144
+ }
145
+ #WBCR .wio-col {
146
+ padding-right: 20px;
147
+ }
148
+ #WBCR .wio-col + .wio-col {
149
+ padding-right: 0;
150
+ padding-left: 50px;
151
+ }
152
+ #WBCR .wio-col:target {
153
+ animation: wiohello 1s 3 linear backwards;
154
+ }
155
+ #WBCR .wio-number-you-optimized {
156
+ margin-bottom: 1.35em;
157
+ overflow: hidden;
158
+ }
159
+ #WBCR .wio-number-you-optimized #wio-total-optimized-attachments-pct {
160
+ color: #828282;
161
+ }
162
+ #WBCR .wio-number-you-optimized .wio-number {
163
+ display: table-cell;
164
+ padding-right: 15px;
165
+ font-size: 48px;
166
+ font-weight: bold;
167
+ line-height: 1;
168
+ vertical-align: middle;
169
+ white-space: nowrap;
170
+ color: #828282;
171
+ }
172
+ #WBCR .wio-number-you-optimized .wio-text {
173
+ display: table-cell;
174
+ vertical-align: middle;
175
+ overflow: hidden;
176
+ font-size: 12px;
177
+ color: #828282;
178
+ }
179
+ #WBCR .wio-number-you-optimized > p {
180
+ display: table;
181
+ }
182
+ #WBCR .wio-bars {
183
+ padding-right: 15px;
184
+ }
185
+ #WBCR .wio-bars p {
186
+ font-size: 12px;
187
+ margin-bottom: 5px;
188
+ }
189
+ #WBCR .wio-bars + .wio-number-you-optimized {
190
+ border-bottom: 0;
191
+ padding-top: 0.85em;
192
+ }
193
+ #WBCR .wio-bars + .wio-number-you-optimized p {
194
+ color: #72a53b;
195
+ }
196
+ #WBCR .wio-bar-negative .wio-progress {
197
+ background: #D2D3D6;
198
+ }
199
+ #WBCR .wio-bar-negative .wio-barnb {
200
+ color: #9d9fa5;
201
+ }
202
+ #WBCR .wio-progress {
203
+ height: 8px;
204
+ transition: width 0.3s;
205
+ /*.wio-bar-negative {
206
+ width: 92% !important;
207
+ }*/
208
+ }
209
+ #WBCR .wio-bar-positive .wio-progress {
210
+ background: #8CC152;
211
+ }
212
+ #WBCR .wio-bar-positive .wio-barnb {
213
+ color: #72a53b;
214
+ }
215
+ #WBCR .wio-bar-primary .wio-progress {
216
+ background: #8CC152;
217
+ }
218
+ #WBCR .wio-bar-primary .wio-barnb {
219
+ color: #72a53b;
220
+ }
221
+ #WBCR .wio-right-outside-number .wio-barnb {
222
+ display: block;
223
+ margin-right: -5.25em;
224
+ text-align: right;
225
+ font-weight: bold;
226
+ line-height: 0.8;
227
+ }
228
+ #WBCR .wio-chart {
229
+ position: relative;
230
+ top: 1px;
231
+ display: inline-block;
232
+ vertical-align: middle;
233
+ }
234
+ #WBCR .wio-chart-container {
235
+ position: relative;
236
+ display: inline-block;
237
+ margin-right: 5px;
238
+ border: 10px solid #d2d3d6;
239
+ border-radius: 100%;
240
+ }
241
+ #WBCR .wio-chart-container canvas {
242
+ display: block;
243
+ }
244
+ #WBCR .wio-overview-chart-container {
245
+ float: left;
246
+ margin-right: 20px;
247
+ }
248
+ #WBCR .wio-chart-percent {
249
+ position: absolute;
250
+ left: 0;
251
+ right: 0;
252
+ top: 50%;
253
+ margin-top: -0.5em;
254
+ line-height: 0.8;
255
+ text-align: center;
256
+ font-size: 54px;
257
+ font-weight: bold;
258
+ color: #afafaf;
259
+ }
260
+ #WBCR .wio-chart-percent span {
261
+ font-size: 20px;
262
+ vertical-align: super;
263
+ }
264
+ #WBCR #wio-overview-chart-legend {
265
+ overflow: hidden;
266
+ }
267
+ #WBCR .wio-doughnut-legend li {
268
+ display: inline-block;
269
+ position: relative;
270
+ margin-bottom: 15px;
271
+ border-radius: 5px;
272
+ padding: 3px 8px 2px 31px;
273
+ font-size: 12px;
274
+ cursor: default;
275
+ -webkit-transition: background-color 200ms ease-in-out;
276
+ -moz-transition: background-color 200ms ease-in-out;
277
+ -o-transition: background-color 200ms ease-in-out;
278
+ transition: background-color 200ms ease-in-out;
279
+ }
280
+ #WBCR .wio-doughnut-legend li span {
281
+ display: block;
282
+ position: absolute;
283
+ left: 0;
284
+ top: 0;
285
+ width: 25px;
286
+ height: 25px;
287
+ border-radius: 50%;
288
+ }
289
+ #WBCR .wio-optimize-button {
290
+ width: 180px;
291
+ padding: 12px 30px;
292
+ background: #c9deb2;
293
+ color: #586549;
294
+ border: 0;
295
+ box-shadow: none;
296
+ font-size: 14px;
297
+ text-transform: uppercase !important;
298
+ font-weight: bold;
299
+ border-radius: 4px;
300
+ outline: none;
301
+ text-decoration: none;
302
+ }
303
+ #WBCR .wio-optimize-button:active {
304
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.5);
305
+ }
306
+ #WBCR .wio-global-optim-phrase {
307
+ width: 180px;
308
+ padding-top: 20px;
309
+ font-size: 14px;
310
+ text-align: center;
311
+ }
312
+ #WBCR .wio-total-percent {
313
+ color: #587f2e;
314
+ }
315
+ #WBCR .wio-text-left {
316
+ text-align: left;
317
+ }
318
+ #WBCR span.wio-num {
319
+ display: inline !important;
320
+ position: inherit !important;
321
+ }
322
+ #WBCR .wio-image-optimize-board {
323
+ padding: 20px;
324
+ }
325
+ #WBCR .wio-page-statistic {
326
+ padding-left: 40px;
327
+ }
328
+ #WBCR .wio-page-statistic .wio-chart-percent {
329
+ margin-top: -1.1em;
330
+ }
331
+ #WBCR .wio-widget {
332
+ padding: 0 !important;
333
+ }
334
+ #WBCR .wio-widget .wio-chart-percent {
335
+ font-size: 44px;
336
+ line-height: 1;
337
+ }
338
+ #WBCR .wio-widget .wio-bars {
339
+ width: 80%;
340
+ margin-left: 155px;
341
+ box-sizing: border-box;
342
+ }
343
+ #WBCR .wio-widget .col-chart.col-chart {
344
+ width: 100%;
345
+ }
346
+ #WBCR .wio-widget .col-controls {
347
+ width: 45%;
348
+ padding-left: 5px;
349
+ padding-top: 110px;
350
+ }
351
+ #WBCR .wio-widget .wio-doughnut-legend {
352
+ margin-left: 20px;
353
+ text-align: left;
354
+ }
355
+ #WBCR .wio-widget .wio-widget-bottom {
356
+ display: table;
357
+ padding-top: 20px !important;
358
+ width: 100%;
359
+ text-align: right;
360
+ }
361
+ #WBCR .wio-widget .wio-widget-bottom li {
362
+ display: table-cell;
363
+ }
364
+ #WBCR .wio-widget .wio-widget-bottom li:first-child {
365
+ text-align: left;
366
+ }
367
+ @media (max-width: 830px) {
368
+ #WBCR .wio [class^="col-"] {
369
+ float: none;
370
+ margin-bottom: 1.5em;
371
+ }
372
+ #WBCR .wio .col-1-3,
373
+ #WBCR .wio .col-1-2 {
374
+ width: auto;
375
+ padding: 0 28px;
376
+ clear: both;
377
+ padding-top: 1em;
378
+ }
379
+ }
380
+ @keyframes wiohello {
381
+ 0%,
382
+ 100% {
383
+ background: #FFF;
384
+ }
385
+ 50% {
386
+ background: #F4F7F9;
387
+ }
388
+ }
389
+ @media (max-width: 1520px) and (min-width: 1381px), (max-width: 1086px) {
390
+ #WBCR .wio-columns .col-statistics.col-statistics,
391
+ #WBCR .wio-columns .col-chart.col-chart {
392
+ width: 50%;
393
+ }
394
+ }
395
+ @media (max-width: 808px) {
396
+ #WBCR .wio-columns .col-statistics.col-statistics,
397
+ #WBCR .wio-columns .col-chart.col-chart {
398
+ width: auto;
399
+ float: none;
400
+ padding: 0;
401
+ }
402
+ #WBCR .wio-columns .col-chart.col-chart {
403
+ margin-top: 3em;
404
+ }
405
+ }
 
admin/assets/css/components.css CHANGED
@@ -1,140 +1,139 @@
1
- /**
2
- * Page components
3
- * @author Alex Kovalev <alex.kovalevv@gmail.com>
4
- * @copyright Alex Kovalev 30.09.2017
5
- */
6
- #WBCR .wbcr-clearfy-components {
7
- padding: 0 20px 20px;
8
- text-align: center;
9
- }
10
- #WBCR .wbcr-clearfy-components .plugin-card {
11
- position: relative;
12
- display: inline-block;
13
- width: 32.7%;
14
- height: 250px;
15
- margin-left: 0;
16
- margin-right: 0;
17
- text-align: left;
18
- float: none;
19
- vertical-align: top;
20
- }
21
- #WBCR .wbcr-clearfy-components .plugin-card:first-child {
22
- margin-left: 0;
23
- }
24
- #WBCR .wbcr-clearfy-components .plugin-card .plugin-card-bottom {
25
- position: absolute;
26
- bottom: 0;
27
- right: 0;
28
- left: 0;
29
- }
30
- #WBCR .wbcr-clearfy-components .plugin-card .plugin-card-top {
31
- min-height: 163px;
32
- }
33
- #WBCR .wbcr-clearfy-components .plugin-card .desc,
34
- #WBCR .wbcr-clearfy-components .plugin-card .name {
35
- margin-right: 0 !important;
36
- }
37
- #WBCR .wbcr-clearfy-components .plugin-card .name h3 {
38
- font-size: 17px;
39
- margin-top: 0 !important;
40
- }
41
- #WBCR .wbcr-clearfy-components .plugin-card .install-now {
42
- float: right;
43
- }
44
- #WBCR .wbcr-clearfy-components .plugin-card .delete-now {
45
- float: right;
46
- margin-left: 5px;
47
- }
48
- #WBCR .wbcr-clearfy-components .plugin-card .delete-now .dashicons,
49
- #WBCR .wbcr-clearfy-components .plugin-card .delete-now .dashicons-before:before {
50
- font-size: 16px !important;
51
- line-height: 1.5 !important;
52
- color: #62696f;
53
- }
54
- #WBCR .wbcr-clearfy-components .plugin-card a.open-plugin-details-modal {
55
- color: #5c5d5f;
56
- text-decoration: none;
57
- font-weight: 600;
58
- font-size: 15px;
59
- }
60
- #WBCR .wbcr-clearfy-components .plugin-card .plugin-card-premium-ribbon {
61
- position: absolute;
62
- bottom: 60px;
63
- right: 0;
64
- height: 30px;
65
- width: 120px;
66
- border-radius: 3px 0 0 3px;
67
- background-color: #f7dea9;
68
- color: #67532f;
69
- text-align: center;
70
- font-size: 12px;
71
- font-weight: 600;
72
- line-height: 2.4;
73
- text-transform: uppercase;
74
- z-index: 1;
75
- }
76
- #WBCR .wbcr-clearfy-components .plugin-card .plugin-card-free-ribbon {
77
- position: absolute;
78
- bottom: 60px;
79
- right: 0;
80
- height: 30px;
81
- width: 120px;
82
- border-radius: 3px 0 0 3px;
83
- background-color: #cccccc;
84
- color: #6b6b6b;
85
- text-align: center;
86
- font-size: 12px;
87
- font-weight: 600;
88
- line-height: 2.4;
89
- text-transform: uppercase;
90
- z-index: 1;
91
- }
92
- #WBCR .wbcr-clearfy-components .plugin-card .plugin-card-freemium-ribbon {
93
- position: absolute;
94
- bottom: 60px;
95
- right: 0;
96
- height: 30px;
97
- width: 120px;
98
- border-radius: 3px 0 0 3px;
99
- background-color: #cae2b3;
100
- color: #546742;
101
- text-align: center;
102
- font-size: 12px;
103
- font-weight: 600;
104
- line-height: 2.4;
105
- text-transform: uppercase;
106
- z-index: 1;
107
- }
108
- #WBCR .wbcr-clearfy-components .plugin-card.premium {
109
- border-color: #e8d7b2;
110
- background-color: #fff9eb;
111
- }
112
- #WBCR .wbcr-clearfy-components .plugin-card.plugin-status-deactive {
113
- background-color: #f1f1f1;
114
- }
115
- #WBCR .wbcr-clearfy-components .plugin-card.plugin-status-deactive a.open-plugin-details-modal {
116
- color: #ababab;
117
- text-decoration: none;
118
- font-weight: 600;
119
- font-size: 15px;
120
- }
121
- #WBCR .wbcr-clearfy-components .plugin-card.plugin-status-deactive .plugin-icon {
122
- opacity: 0.3;
123
- }
124
- #WBCR .wbcr-clearfy-components .plugin-card.plugin-status-deactive .desc {
125
- color: #afafaf;
126
- }
127
- #WBCR .wbcr-clearfy-components .plugin-card.plugin-status-deactive.premium {
128
- background-color: #f9f2f1;
129
- }
130
- @media screen and (max-width: 1750px) {
131
- #WBCR .wbcr-clearfy-components .plugin-card {
132
- width: 49%;
133
- }
134
- }
135
- @media screen and (max-width: 1350px) {
136
- #WBCR .wbcr-clearfy-components .plugin-card {
137
- width: 100%;
138
- }
139
- }
140
- /*# sourceMappingURL=components.css.map */
1
+ /**
2
+ * Page components
3
+ * @author Alex Kovalev <alex.kovalevv@gmail.com>
4
+ * @copyright Alex Kovalev 30.09.2017
5
+ */
6
+ #WBCR .wbcr-clearfy-components {
7
+ padding: 0 20px 20px;
8
+ text-align: center;
9
+ }
10
+ #WBCR .wbcr-clearfy-components .plugin-card {
11
+ position: relative;
12
+ display: inline-block;
13
+ width: 32.7%;
14
+ height: 250px;
15
+ margin-left: 0;
16
+ margin-right: 0;
17
+ text-align: left;
18
+ float: none;
19
+ vertical-align: top;
20
+ }
21
+ #WBCR .wbcr-clearfy-components .plugin-card:first-child {
22
+ margin-left: 0;
23
+ }
24
+ #WBCR .wbcr-clearfy-components .plugin-card .plugin-card-bottom {
25
+ position: absolute;
26
+ bottom: 0;
27
+ right: 0;
28
+ left: 0;
29
+ }
30
+ #WBCR .wbcr-clearfy-components .plugin-card .plugin-card-top {
31
+ min-height: 163px;
32
+ }
33
+ #WBCR .wbcr-clearfy-components .plugin-card .desc,
34
+ #WBCR .wbcr-clearfy-components .plugin-card .name {
35
+ margin-right: 0 !important;
36
+ }
37
+ #WBCR .wbcr-clearfy-components .plugin-card .name h3 {
38
+ font-size: 17px;
39
+ margin-top: 0 !important;
40
+ }
41
+ #WBCR .wbcr-clearfy-components .plugin-card .install-now {
42
+ float: right;
43
+ }
44
+ #WBCR .wbcr-clearfy-components .plugin-card .delete-now {
45
+ float: right;
46
+ margin-left: 5px;
47
+ }
48
+ #WBCR .wbcr-clearfy-components .plugin-card .delete-now .dashicons,
49
+ #WBCR .wbcr-clearfy-components .plugin-card .delete-now .dashicons-before:before {
50
+ font-size: 16px !important;
51
+ line-height: 1.5 !important;
52
+ color: #62696f;
53
+ }
54
+ #WBCR .wbcr-clearfy-components .plugin-card a.open-plugin-details-modal {
55
+ color: #5c5d5f;
56
+ text-decoration: none;
57
+ font-weight: 600;
58
+ font-size: 15px;
59
+ }
60
+ #WBCR .wbcr-clearfy-components .plugin-card .plugin-card-premium-ribbon {
61
+ position: absolute;
62
+ bottom: 60px;
63
+ right: 0;
64
+ height: 30px;
65
+ width: 120px;
66
+ border-radius: 3px 0 0 3px;
67
+ background-color: #f7dea9;
68
+ color: #67532f;
69
+ text-align: center;
70
+ font-size: 12px;
71
+ font-weight: 600;
72
+ line-height: 2.4;
73
+ text-transform: uppercase;
74
+ z-index: 1;
75
+ }
76
+ #WBCR .wbcr-clearfy-components .plugin-card .plugin-card-free-ribbon {
77
+ position: absolute;
78
+ bottom: 60px;
79
+ right: 0;
80
+ height: 30px;
81
+ width: 120px;
82
+ border-radius: 3px 0 0 3px;
83
+ background-color: #cccccc;
84
+ color: #6b6b6b;
85
+ text-align: center;
86
+ font-size: 12px;
87
+ font-weight: 600;
88
+ line-height: 2.4;
89
+ text-transform: uppercase;
90
+ z-index: 1;
91
+ }
92
+ #WBCR .wbcr-clearfy-components .plugin-card .plugin-card-freemium-ribbon {
93
+ position: absolute;
94
+ bottom: 60px;
95
+ right: 0;
96
+ height: 30px;
97
+ width: 120px;
98
+ border-radius: 3px 0 0 3px;
99
+ background-color: #cae2b3;
100
+ color: #546742;
101
+ text-align: center;
102
+ font-size: 12px;
103
+ font-weight: 600;
104
+ line-height: 2.4;
105
+ text-transform: uppercase;
106
+ z-index: 1;
107
+ }
108
+ #WBCR .wbcr-clearfy-components .plugin-card.premium {
109
+ border-color: #e8d7b2;
110
+ background-color: #fff9eb;
111
+ }
112
+ #WBCR .wbcr-clearfy-components .plugin-card.plugin-status-deactive {
113
+ background-color: #f1f1f1;
114
+ }
115
+ #WBCR .wbcr-clearfy-components .plugin-card.plugin-status-deactive a.open-plugin-details-modal {
116
+ color: #ababab;
117
+ text-decoration: none;
118
+ font-weight: 600;
119
+ font-size: 15px;
120
+ }
121
+ #WBCR .wbcr-clearfy-components .plugin-card.plugin-status-deactive .plugin-icon {
122
+ opacity: 0.3;
123
+ }
124
+ #WBCR .wbcr-clearfy-components .plugin-card.plugin-status-deactive .desc {
125
+ color: #afafaf;
126
+ }
127
+ #WBCR .wbcr-clearfy-components .plugin-card.plugin-status-deactive.premium {
128
+ background-color: #f9f2f1;
129
+ }
130
+ @media screen and (max-width: 1750px) {
131
+ #WBCR .wbcr-clearfy-components .plugin-card {
132
+ width: 49%;
133
+ }
134
+ }
135
+ @media screen and (max-width: 1350px) {
136
+ #WBCR .wbcr-clearfy-components .plugin-card {
137
+ width: 100%;
138
+ }
139
+ }
 
admin/assets/css/general.css CHANGED
@@ -1,495 +1,494 @@
1
- /**
2
- * General styles
3
- * @author Alex Kovalev <alex.kovalevv@gmail.com>
4
- * @copyright Alex Kovalev 23.08.2017
5
- */
6
- .wbcr-clearfy-layer {
7
- display: none;
8
- position: absolute;
9
- top: 0;
10
- left: -20px;
11
- right: 0;
12
- bottom: 0;
13
- background: rgba(255, 235, 59, 0.18);
14
- z-index: 9;
15
- }
16
- #WBCR {
17
- /*.wbcr-right-sidebar-section {
18
- width: 49%;
19
- padding-top: 20px;
20
- }*/
21
- /**
22
- * Widgets
23
- */
24
- /**
25
- * Navigation bar
26
- */
27
- /*.wbcr-clearfy-board {
28
- background: #f9f8f8;
29
- box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.1);
30
- padding: 20px;
31
- margin-bottom: 20px;
32
- min-width: 350px;
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 {
43
- display: block !important;
44
- width: auto !important;
45
- table-layout: auto !important;
46
- }
47
- #WBCR .row > div {
48
- display: block !important;
49
- padding: 0 !important;
50
- }
51
- #WBCR .wbcr-clr-logo-label {
52
- position: relative;
53
- padding: 0 10px 3px;
54
- border-radius: 5px;
55
- border-bottom: 1px solid rgba(0, 0, 0, 0.3);
56
- border-top: 1px solid rgba(255, 255, 255, 0.2);
57
- }
58
- #WBCR .wbcr-clr-logo-label:before {
59
- content: '';
60
- display: block;
61
- position: absolute;
62
- width: 20px;
63
- height: 25px;
64
- top: -10px;
65
- right: -10px;
66
- background: url(../../../assets/img/webcraftic-plugin-icon.png) 0 0 no-repeat;
67
- }
68
- #WBCR .wbcr-clr-logo-label.wbcr-clr-free-label-logo {
69
- color: #f1f1f1;
70
- background-color: #636363;
71
- }
72
- #WBCR .wbcr-clr-logo-label.wbcr-clr-premium-label-logo {
73
- color: #000000;
74
- background-color: #ffbe00;
75
- }
76
- #WBCR .wbcr-content-section,
77
- #WBCR .wbcr-right-sidebar-section {
78
- display: inline-block;
79
- vertical-align: top;
80
- }
81
- #WBCR .wbcr-content-section {
82
- width: 100%;
83
- }
84
- #WBCR #wbcr-clr-go-to-premium-widget .wbcr-clr-purchase-premium {
85
- position: relative;
86
- text-decoration: none;
87
- font-weight: bold;
88
- background: #fffaea;
89
- padding: 0;
90
- border-radius: 4px;
91
- outline: none;
92
- margin-top: 15px;
93
- box-shadow: 0 0 8px #fddf67;
94
- }
95
- #WBCR #wbcr-clr-go-to-premium-widget .wbcr-clr-purchase-premium .fa {
96
- position: relative;
97
- margin-right: 3px;
98
- margin-left: 3px;
99
- }
100
- #WBCR .wbcr-factory-left-navigation-bar #components-wbcr_clearfy-tab {
101
- border-left: 5px solid #7edbff;
102
- }
103
- #WBCR .wbcr-factory-left-navigation-bar #license-wbcr_clearfy-tab {
104
- border-left: 5px solid #ffd762;
105
- }
106
- #WBCR .wbcr-factory-left-navigation-bar .wbcr-factory-active-tab #license-wbcr_clearfy-tab {
107
- font-weight: lighter;
108
- color: #222;
109
- }
110
- #WBCR .wbcr-factory-left-navigation-bar .wbcr-factory-active-tab #license-wbcr_clearfy-tab .dashicons-admin-network {
111
- color: #222;
112
- }
113
- #WBCR .wbcr-clearfy-danger-message {
114
- position: relative;
115
- padding: 15px;
116
- background: #ffe0de;
117
- color: #9c6e6e;
118
- border-radius: 3px;
119
- }
120
- #WBCR .wbcr-clearfy-danger-message:after,
121
- #WBCR .wbcr-clearfy-danger-message:before {
122
- bottom: 100%;
123
- left: 20px;
124
- border: solid transparent;
125
- content: " ";
126
- height: 0;
127
- width: 0;
128
- position: absolute;
129
- pointer-events: none;
130
- }
131
- #WBCR .wbcr-clearfy-danger-message:after {
132
- border-color: rgba(136, 183, 213, 0);
133
- border-bottom-color: #ffe0de;
134
- border-width: 10px;
135
- }
136
- #WBCR .wbcr-clearfy-danger-message:before {
137
- border-color: rgba(194, 225, 245, 0);
138
- border-bottom-color: #ffe0de;
139
- border-width: 10px;
140
- }
141
- #WBCR .wbcr-clearfy-group-header {
142
- background: #efefef;
143
- padding: 20px 0 10px 20px;
144
- margin: 30px 0;
145
- box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
146
- }
147
- #WBCR .wbcr-clearfy-group-header:first-child {
148
- margin-top: 0;
149
- }
150
- #WBCR .wbcr-clearfy-group-header strong {
151
- font-size: 15px;
152
- }
153
- #WBCR .wbcr-clearfy-group-header p {
154
- color: #8c8888;
155
- font-size: 12px;
156
- }
157
- #WBCR #wbcr-clearfy-quick-mode-board h4 {
158
- margin-top: 30px;
159
- }
160
- #WBCR .wbcr-clearfy-fake-image-optimizer-board .wbcr-clearfy-fake-widget {
161
- position: relative;
162
- width: 659px;
163
- height: 250px;
164
- }
165
- #WBCR .wbcr-clearfy-fake-image-optimizer-board .wbcr-clearfy-fake-widget .wbcr-clr-proccess-button {
166
- opacity: 0;
167
- position: absolute;
168
- top: 50%;
169
- left: 50%;
170
- margin: -25px 0 0 -100px;
171
- width: 200px;
172
- height: 50px;
173
- font-size: 16px;
174
- font-weight: bold;
175
- text-align: center;
176
- line-height: 3;
177
- background: #fdd599 !important;
178
- color: #a57b3c !important;
179
- text-decoration: none !important;
180
- text-shadow: none !important;
181
- box-shadow: none !important;
182
- border: 1px solid #e0c08f !important;
183
- border-radius: 3px;
184
- outline: none;
185
- -webkit-transition: opacity 1000ms;
186
- -moz-transition: opacity 1000ms;
187
- -o-transition: opacity 1000ms;
188
- transition: opacity 1000ms;
189
- }
190
- #WBCR .wbcr-clearfy-fake-image-optimizer-board .wbcr-clearfy-fake-widget:hover .wbcr-clr-proccess-button {
191
- display: block;
192
- opacity: 1;
193
- }
194
- #WBCR .wbcr-clearfy-fake-image-optimizer-board .wbcr-clearfy-fake-widget:hover .wbcr-clearfy-widget-overlay img {
195
- opacity: 0.2;
196
- }
197
- #WBCR .wbcr-clearfy-fake-image-optimizer-board .wbcr-clearfy-fake-widget .wbcr-clearfy-widget-overlay img {
198
- width: 100%;
199
- -webkit-transition: opacity 500ms;
200
- -moz-transition: opacity 500ms;
201
- -o-transition: opacity 500ms;
202
- transition: opacity 500ms;
203
- }
204
- #WBCR .wbcr-clearfy-switch-success-message,
205
- #WBCR .wbcr-clearfy-switch-error-message {
206
- display: none;
207
- padding: 15px 20px;
208
- font-size: 13px;
209
- font-weight: bold;
210
- margin: 0 0 15px;
211
- border-radius: 4px;
212
- }
213
- #WBCR .wbcr-clearfy-switch-success-message {
214
- background: #e5f9ce;
215
- border-bottom: 3px solid #d3eab9;
216
- color: #56614a;
217
- }
218
- #WBCR .wbcr-clearfy-switch-error-message {
219
- background: #fdc6c2;
220
- border-bottom: 3px solid #e2a19c;
221
- color: #bd6963;
222
- }
223
- #WBCR .wbcr-clearfy-troubleshooting {
224
- padding: 0 50px 20px;
225
- }
226
- #WBCR .wbcr-clearfy-export-import {
227
- padding: 0 50px;
228
- text-align: right;
229
- }
230
- #WBCR .wbcr-clearfy-export-import label {
231
- display: block;
232
- width: 100%;
233
- text-align: left;
234
- padding: 7px 0;
235
- }
236
- #WBCR .wbcr-clearfy-export-import #wbcr-clearfy-import-export {
237
- width: 100%;
238
- box-sizing: border-box;
239
- height: 200px;
240
- line-height: inherit;
241
- margin: 0;
242
- padding: 7px 14px;
243
- box-shadow: none;
244
- border-radius: 3px;
245
- border: 1px solid #eee;
246
- border-top-color: #dedede;
247
- background-color: #f1f1f1;
248
- color: #444;
249
- transition: border-color 0.3s;
250
- -webkit-appearance: none;
251
- }
252
- #WBCR .wbcr-clearfy-export-import .wbcr-clearfy-import-options-button {
253
- display: inline-block;
254
- margin-top: 10px;
255
- }
256
- #WBCR #wbcr-clearfy-quick-mode-board {
257
- padding: 20px;
258
- }
259
- #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch {
260
- position: relative;
261
- padding: 15px 20px;
262
- margin-right: 20px;
263
- font-size: 12px;
264
- text-transform: uppercase;
265
- background: #f1f1f1;
266
- color: #6d6d6d;
267
- font-weight: bold;
268
- border-radius: 5px;
269
- margin-top: 10px;
270
- text-align: left;
271
- box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
272
- -webkit-transition: all 0.2s ease-out;
273
- -moz-transition: all 0.2s ease-out;
274
- -o-transition: all 0.2s ease-out;
275
- transition: all 0.2s ease-out;
276
- /*&.wbcr-clearfy-mode-reset:hover {
277
- & .wbcr-clearfy-button-activate-mode {
278
- background-color: #fb7976;
279
- color: darken(#fb7976, 50%);
280
- &:hover {
281
- background-color: lighten(#fb7976, 3%);
282
- }
283
- }
284
- }*/
285
- }
286
- #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch:after {
287
- display: block;
288
- clear: both;
289
- }
290
- #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch .fa,
291
- #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch .dashicons {
292
- font-size: 25px;
293
- }
294
- #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch .fa,
295
- #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch .dashicons,
296
- #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch span {
297
- display: inline-block !important;
298
- }
299
- #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch span {
300
- margin-left: 15px;
301
- margin-top: 3px;
302
- }
303
- #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-active {
304
- /*.fa, .dashicons:before {
305
- color: #8bc34a;
306
- }
307
-
308
- & .wbcr-clearfy-button-activate-mode {
309
- display: none !important;
310
- }
311
- & .wbcr-clearfy-button-deativate-mode {
312
- display: inline-block !important;
313
- }*/
314
- }
315
- #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-active .wbcr-clearfy-button-activate-mode {
316
- background-color: #f7f7f7 !important;
317
- color: #e0e0e0 !important;
318
- cursor: default;
319
- }
320
- #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-switch-mode-reset .wbcr-clearfy-switch-confirmation {
321
- width: 130px;
322
- }
323
- #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-switch-mode-reset .wbcr-clearfy-switch-confirmation .wbcr-clearfy-button-activate-mode {
324
- width: 130px;
325
- background-color: #fdd599;
326
- color: #a57b3c;
327
- }
328
- #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-switch-mode-reset .wbcr-clearfy-switch-confirmation .wbcr-clearfy-button-activate-mode:hover {
329
- background-color: #fddba8;
330
- }
331
- #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-switch-mode-recommended .fa,
332
- #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-switch-mode-recommended .dashicons:before {
333
- color: #8bc34a;
334
- }
335
- #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-switch-mode-recommended .wbcr-clearfy-button-activate-mode {
336
- background-color: #c9deb2;
337
- color: #586549;
338
- }
339
- #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-switch-mode-recommended .wbcr-clearfy-button-activate-mode:hover {
340
- background-color: #d1e3bd;
341
- }
342
- #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-loading .wbcr-clearfy-switch-confirmation button {
343
- background: url("../img/quick-start-loader.gif") center center no-repeat;
344
- background-color: #f7f7f7 !important;
345
- font-size: 0;
346
- cursor: default !important;
347
- }
348
- #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch .wbcr-clearfy-switch-confirmation {
349
- position: absolute;
350
- top: 0;
351
- right: 20px;
352
- bottom: 0;
353
- width: 100px;
354
- text-align: right;
355
- -webkit-transition: all 0.3s ease-out;
356
- -moz-transition: all 0.3s ease-out;
357
- -o-transition: all 0.3s ease-out;
358
- transition: all 0.3s ease-out;
359
- }
360
- #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch .wbcr-clearfy-switch-confirmation button {
361
- display: inline-block;
362
- width: 100px;
363
- margin: 12px 0 0;
364
- border: 0;
365
- box-shadow: none;
366
- padding: 5px 10px;
367
- font-weight: bold;
368
- font-size: 13px;
369
- border-radius: 3px;
370
- outline: none;
371
- background-color: #dedede;
372
- color: #808080;
373
- /*&.wbcr-clearfy-button-activate-mode {
374
- background-color: #c9deb2;
375
- color: #586549;
376
- &:hover {
377
- background-color: lighten(#c9deb2, 3%);
378
- }
379
- }
380
- &.wbcr-clearfy-button-deativate-mode {
381
- display: none;
382
- background-color: #fdd599;
383
- color: #a57b3c;
384
- margin-right: 0;
385
- &:hover {
386
- background-color: lighten(#fdd599, 3%);
387
- }
388
- }*/
389
- }
390
- #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch .wbcr-clearfy-switch-confirmation button:hover {
391
- background-color: #d6d6d6;
392
- }
393
- #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch .wbcr-clearfy-switch-confirmation button:active {
394
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.5);
395
- }
396
- #WBCR .wbcr-clearfy-confirm-popup {
397
- display: none;
398
- position: fixed;
399
- top: 50%;
400
- left: 50%;
401
- width: 500px;
402
- height: 400px;
403
- margin: -200px 0 0 -250px;
404
- padding: 20px;
405
- background: rgba(255, 255, 255, 0.82);
406
- box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
407
- border: 4px solid rgba(216, 210, 171, 0.44);
408
- z-index: 99;
409
- }
410
- #WBCR .wbcr-clearfy-confirm-popup h3 {
411
- font-size: 17px;
412
- text-align: center;
413
- font-weight: bold;
414
- margin: 5px 0 0;
415
- }
416
- #WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-reset-warning-message {
417
- display: none;
418
- text-align: center;
419
- }
420
- #WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-list-options {
421
- display: none;
422
- height: 230px;
423
- overflow-y: auto;
424
- overflow-x: hidden;
425
- padding-left: 40px;
426
- list-style: decimal;
427
- margin: 20px 0;
428
- }
429
- #WBCR .wbcr-clearfy-confirm-popup.wbcr-clearfy-default-warning-options .wbcr-clearfy-list-options {
430
- display: block;
431
- }
432
- #WBCR .wbcr-clearfy-confirm-popup.wbcr-clearfy-reset-warning-options {
433
- height: 200px;
434
- margin: -100px 0 0 -250px;
435
- }
436
- #WBCR .wbcr-clearfy-confirm-popup.wbcr-clearfy-reset-warning-options .wbcr-clearfy-reset-warning-message {
437
- display: block;
438
- margin: 10px 0;
439
- }
440
- #WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-popup-buttons {
441
- text-align: center;
442
- padding: 10px;
443
- }
444
- #WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-popup-buttons button {
445
- display: inline-block;
446
- padding: 7px 25px;
447
- box-shadow: none;
448
- border: 0;
449
- font-weight: bold;
450
- }
451
- #WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-popup-buttons button,
452
- #WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-popup-buttons button:focus {
453
- outline: 0 !important;
454
- box-shadow: none !important;
455
- }
456
- #WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-popup-buttons button.wbcr-clearfy-popup-button-ok {
457
- background: #FFEB3B;
458
- color: #564f0d;
459
- }
460
- #WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-popup-buttons button.wbcr-clearfy-cancel-mode {
461
- background: #d6d6d6;
462
- color: #5f5d5d;
463
- }
464
- @media screen and (max-width: 1380px) {
465
- #WBCR #wbcr-clearfy-quick-mode-board {
466
- min-width: 450px;
467
- padding-right: 0;
468
- }
469
- #WBCR .wbcr-content-section,
470
- #WBCR .wbcr-right-sidebar-section {
471
- width: 100%;
472
- }
473
- #WBCR .wbcr-clearfy-export-import-board {
474
- margin-top: 20px;
475
- }
476
- }
477
- @media screen and (max-width: 950px) {
478
- #WBCR #wbcr-clearfy-quick-mode-board {
479
- min-width: 100%;
480
- }
481
- #WBCR .wbcr-content-section,
482
- #WBCR .wbcr-right-sidebar-section {
483
- width: 100%;
484
- }
485
- #WBCR .wbcr-clearfy-board {
486
- width: 100%;
487
- min-width: 100%;
488
- }
489
- }
490
- @media screen and (max-width: 550px) {
491
- #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch span {
492
- font-size: 0 !important;
493
- }
494
- }
495
- /*# sourceMappingURL=general.css.map */
1
+ /**
2
+ * General styles
3
+ * @author Alex Kovalev <alex.kovalevv@gmail.com>
4
+ * @copyright Alex Kovalev 23.08.2017
5
+ */
6
+ .wbcr-clearfy-layer {
7
+ display: none;
8
+ position: absolute;
9
+ top: 0;
10
+ left: -20px;
11
+ right: 0;
12
+ bottom: 0;
13
+ background: rgba(255, 235, 59, 0.18);
14
+ z-index: 9;
15
+ }
16
+ #WBCR {
17
+ /*.wbcr-right-sidebar-section {
18
+ width: 49%;
19
+ padding-top: 20px;
20
+ }*/
21
+ /**
22
+ * Widgets
23
+ */
24
+ /**
25
+ * Navigation bar
26
+ */
27
+ /*.wbcr-clearfy-board {
28
+ background: #f9f8f8;
29
+ box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.1);
30
+ padding: 20px;
31
+ margin-bottom: 20px;
32
+ min-width: 350px;
33
+ //float: right;
34
+ }*/
35
+ }
36
+ #WBCR .wbcr-factory-pages-429-impressive-page-template .wbcr-factory-page-header {
37
+ height: 80px !important;
38
+ }
39
+ #WBCR .wbcr-factory-pages-429-impressive-page-template .wbcr-factory-page-header .wbcr-factory-header-logo span {
40
+ display: inline-block !important;
41
+ }
42
+ #WBCR .row {
43
+ display: block !important;
44
+ width: auto !important;
45
+ table-layout: auto !important;
46
+ }
47
+ #WBCR .row > div {
48
+ display: block !important;
49
+ padding: 0 !important;
50
+ }
51
+ #WBCR .wbcr-clr-logo-label {
52
+ position: relative;
53
+ padding: 0 10px 3px;
54
+ border-radius: 5px;
55
+ border-bottom: 1px solid rgba(0, 0, 0, 0.3);
56
+ border-top: 1px solid rgba(255, 255, 255, 0.2);
57
+ }
58
+ #WBCR .wbcr-clr-logo-label:before {
59
+ content: '';
60
+ display: block;
61
+ position: absolute;
62
+ width: 20px;
63
+ height: 25px;
64
+ top: -10px;
65
+ right: -10px;
66
+ background: url(../../../assets/img/webcraftic-plugin-icon.png) 0 0 no-repeat;
67
+ }
68
+ #WBCR .wbcr-clr-logo-label.wbcr-clr-free-label-logo {
69
+ color: #f1f1f1;
70
+ background-color: #636363;
71
+ }
72
+ #WBCR .wbcr-clr-logo-label.wbcr-clr-premium-label-logo {
73
+ color: #000000;
74
+ background-color: #ffbe00;
75
+ }
76
+ #WBCR .wbcr-content-section,
77
+ #WBCR .wbcr-right-sidebar-section {
78
+ display: inline-block;
79
+ vertical-align: top;
80
+ }
81
+ #WBCR .wbcr-content-section {
82
+ width: 100%;
83
+ }
84
+ #WBCR #wbcr-clr-go-to-premium-widget .wbcr-clr-purchase-premium {
85
+ position: relative;
86
+ text-decoration: none;
87
+ font-weight: bold;
88
+ background: #fffaea;
89
+ padding: 0;
90
+ border-radius: 4px;
91
+ outline: none;
92
+ margin-top: 15px;
93
+ box-shadow: 0 0 8px #fddf67;
94
+ }
95
+ #WBCR #wbcr-clr-go-to-premium-widget .wbcr-clr-purchase-premium .fa {
96
+ position: relative;
97
+ margin-right: 3px;
98
+ margin-left: 3px;
99
+ }
100
+ #WBCR .wbcr-factory-left-navigation-bar #components-wbcr_clearfy-tab {
101
+ border-left: 5px solid #7edbff;
102
+ }
103
+ #WBCR .wbcr-factory-left-navigation-bar #license-wbcr_clearfy-tab {
104
+ border-left: 5px solid #ffd762;
105
+ }
106
+ #WBCR .wbcr-factory-left-navigation-bar .wbcr-factory-active-tab #license-wbcr_clearfy-tab {
107
+ font-weight: lighter;
108
+ color: #222;
109
+ }
110
+ #WBCR .wbcr-factory-left-navigation-bar .wbcr-factory-active-tab #license-wbcr_clearfy-tab .dashicons-admin-network {
111
+ color: #222;
112
+ }
113
+ #WBCR .wbcr-clearfy-danger-message {
114
+ position: relative;
115
+ padding: 15px;
116
+ background: #ffe0de;
117
+ color: #9c6e6e;
118
+ border-radius: 3px;
119
+ }
120
+ #WBCR .wbcr-clearfy-danger-message:after,
121
+ #WBCR .wbcr-clearfy-danger-message:before {
122
+ bottom: 100%;
123
+ left: 20px;
124
+ border: solid transparent;
125
+ content: " ";
126
+ height: 0;
127
+ width: 0;
128
+ position: absolute;
129
+ pointer-events: none;
130
+ }
131
+ #WBCR .wbcr-clearfy-danger-message:after {
132
+ border-color: rgba(136, 183, 213, 0);
133
+ border-bottom-color: #ffe0de;
134
+ border-width: 10px;
135
+ }
136
+ #WBCR .wbcr-clearfy-danger-message:before {
137
+ border-color: rgba(194, 225, 245, 0);
138
+ border-bottom-color: #ffe0de;
139
+ border-width: 10px;
140
+ }
141
+ #WBCR .wbcr-clearfy-group-header {
142
+ background: #efefef;
143
+ padding: 20px 0 10px 20px;
144
+ margin: 30px 0;
145
+ box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
146
+ }
147
+ #WBCR .wbcr-clearfy-group-header:first-child {
148
+ margin-top: 0;
149
+ }
150
+ #WBCR .wbcr-clearfy-group-header strong {
151
+ font-size: 15px;
152
+ }
153
+ #WBCR .wbcr-clearfy-group-header p {
154
+ color: #8c8888;
155
+ font-size: 12px;
156
+ }
157
+ #WBCR #wbcr-clearfy-quick-mode-board h4 {
158
+ margin-top: 30px;
159
+ }
160
+ #WBCR .wbcr-clearfy-fake-image-optimizer-board .wbcr-clearfy-fake-widget {
161
+ position: relative;
162
+ width: 659px;
163
+ height: 250px;
164
+ }
165
+ #WBCR .wbcr-clearfy-fake-image-optimizer-board .wbcr-clearfy-fake-widget .wbcr-clr-proccess-button {
166
+ opacity: 0;
167
+ position: absolute;
168
+ top: 50%;
169
+ left: 50%;
170
+ margin: -25px 0 0 -100px;
171
+ width: 200px;
172
+ height: 50px;
173
+ font-size: 16px;
174
+ font-weight: bold;
175
+ text-align: center;
176
+ line-height: 3;
177
+ background: #fdd599 !important;
178
+ color: #a57b3c !important;
179
+ text-decoration: none !important;
180
+ text-shadow: none !important;
181
+ box-shadow: none !important;
182
+ border: 1px solid #e0c08f !important;
183
+ border-radius: 3px;
184
+ outline: none;
185
+ -webkit-transition: opacity 1000ms;
186
+ -moz-transition: opacity 1000ms;
187
+ -o-transition: opacity 1000ms;
188
+ transition: opacity 1000ms;
189
+ }
190
+ #WBCR .wbcr-clearfy-fake-image-optimizer-board .wbcr-clearfy-fake-widget:hover .wbcr-clr-proccess-button {
191
+ display: block;
192
+ opacity: 1;
193
+ }
194
+ #WBCR .wbcr-clearfy-fake-image-optimizer-board .wbcr-clearfy-fake-widget:hover .wbcr-clearfy-widget-overlay img {
195
+ opacity: 0.2;
196
+ }
197
+ #WBCR .wbcr-clearfy-fake-image-optimizer-board .wbcr-clearfy-fake-widget .wbcr-clearfy-widget-overlay img {
198
+ width: 100%;
199
+ -webkit-transition: opacity 500ms;
200
+ -moz-transition: opacity 500ms;
201
+ -o-transition: opacity 500ms;
202
+ transition: opacity 500ms;
203
+ }
204
+ #WBCR .wbcr-clearfy-switch-success-message,
205
+ #WBCR .wbcr-clearfy-switch-error-message {
206
+ display: none;
207
+ padding: 15px 20px;
208
+ font-size: 13px;
209
+ font-weight: bold;
210
+ margin: 0 0 15px;
211
+ border-radius: 4px;
212
+ }
213
+ #WBCR .wbcr-clearfy-switch-success-message {
214
+ background: #e5f9ce;
215
+ border-bottom: 3px solid #d3eab9;
216
+ color: #56614a;
217
+ }
218
+ #WBCR .wbcr-clearfy-switch-error-message {
219
+ background: #fdc6c2;
220
+ border-bottom: 3px solid #e2a19c;
221
+ color: #bd6963;
222
+ }
223
+ #WBCR .wbcr-clearfy-troubleshooting {
224
+ padding: 0 50px 20px;
225
+ }
226
+ #WBCR .wbcr-clearfy-export-import {
227
+ padding: 0 50px;
228
+ text-align: right;
229
+ }
230
+ #WBCR .wbcr-clearfy-export-import label {
231
+ display: block;
232
+ width: 100%;
233
+ text-align: left;
234
+ padding: 7px 0;
235
+ }
236
+ #WBCR .wbcr-clearfy-export-import #wbcr-clearfy-import-export {
237
+ width: 100%;
238
+ box-sizing: border-box;
239
+ height: 200px;
240
+ line-height: inherit;
241
+ margin: 0;
242
+ padding: 7px 14px;
243
+ box-shadow: none;
244
+ border-radius: 3px;
245
+ border: 1px solid #eee;
246
+ border-top-color: #dedede;
247
+ background-color: #f1f1f1;
248
+ color: #444;
249
+ transition: border-color 0.3s;
250
+ -webkit-appearance: none;
251
+ }
252
+ #WBCR .wbcr-clearfy-export-import .wbcr-clearfy-import-options-button {
253
+ display: inline-block;
254
+ margin-top: 10px;
255
+ }
256
+ #WBCR #wbcr-clearfy-quick-mode-board {
257
+ padding: 20px;
258
+ }
259
+ #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch {
260
+ position: relative;
261
+ padding: 15px 20px;
262
+ margin-right: 20px;
263
+ font-size: 12px;
264
+ text-transform: uppercase;
265
+ background: #f1f1f1;
266
+ color: #6d6d6d;
267
+ font-weight: bold;
268
+ border-radius: 5px;
269
+ margin-top: 10px;
270
+ text-align: left;
271
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
272
+ -webkit-transition: all 0.2s ease-out;
273
+ -moz-transition: all 0.2s ease-out;
274
+ -o-transition: all 0.2s ease-out;
275
+ transition: all 0.2s ease-out;
276
+ /*&.wbcr-clearfy-mode-reset:hover {
277
+ & .wbcr-clearfy-button-activate-mode {
278
+ background-color: #fb7976;
279
+ color: darken(#fb7976, 50%);
280
+ &:hover {
281
+ background-color: lighten(#fb7976, 3%);
282
+ }
283
+ }
284
+ }*/
285
+ }
286
+ #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch:after {
287
+ display: block;
288
+ clear: both;
289
+ }
290
+ #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch .fa,
291
+ #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch .dashicons {
292
+ font-size: 25px;
293
+ }
294
+ #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch .fa,
295
+ #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch .dashicons,
296
+ #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch span {
297
+ display: inline-block !important;
298
+ }
299
+ #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch span {
300
+ margin-left: 15px;
301
+ margin-top: 3px;
302
+ }
303
+ #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-active {
304
+ /*.fa, .dashicons:before {
305
+ color: #8bc34a;
306
+ }
307
+
308
+ & .wbcr-clearfy-button-activate-mode {
309
+ display: none !important;
310
+ }
311
+ & .wbcr-clearfy-button-deativate-mode {
312
+ display: inline-block !important;
313
+ }*/
314
+ }
315
+ #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-active .wbcr-clearfy-button-activate-mode {
316
+ background-color: #f7f7f7 !important;
317
+ color: #e0e0e0 !important;
318
+ cursor: default;
319
+ }
320
+ #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-switch-mode-reset .wbcr-clearfy-switch-confirmation {
321
+ width: 130px;
322
+ }
323
+ #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-switch-mode-reset .wbcr-clearfy-switch-confirmation .wbcr-clearfy-button-activate-mode {
324
+ width: 130px;
325
+ background-color: #fdd599;
326
+ color: #a57b3c;
327
+ }
328
+ #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-switch-mode-reset .wbcr-clearfy-switch-confirmation .wbcr-clearfy-button-activate-mode:hover {
329
+ background-color: #fddba8;
330
+ }
331
+ #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-switch-mode-recommended .fa,
332
+ #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-switch-mode-recommended .dashicons:before {
333
+ color: #8bc34a;
334
+ }
335
+ #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-switch-mode-recommended .wbcr-clearfy-button-activate-mode {
336
+ background-color: #c9deb2;
337
+ color: #586549;
338
+ }
339
+ #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-switch-mode-recommended .wbcr-clearfy-button-activate-mode:hover {
340
+ background-color: #d1e3bd;
341
+ }
342
+ #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch.wbcr-clearfy-loading .wbcr-clearfy-switch-confirmation button {
343
+ background: url("../img/quick-start-loader.gif") center center no-repeat;
344
+ background-color: #f7f7f7 !important;
345
+ font-size: 0;
346
+ cursor: default !important;
347
+ }
348
+ #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch .wbcr-clearfy-switch-confirmation {
349
+ position: absolute;
350
+ top: 0;
351
+ right: 20px;
352
+ bottom: 0;
353
+ width: 100px;
354
+ text-align: right;
355
+ -webkit-transition: all 0.3s ease-out;
356
+ -moz-transition: all 0.3s ease-out;
357
+ -o-transition: all 0.3s ease-out;
358
+ transition: all 0.3s ease-out;
359
+ }
360
+ #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch .wbcr-clearfy-switch-confirmation button {
361
+ display: inline-block;
362
+ width: 100px;
363
+ margin: 12px 0 0;
364
+ border: 0;
365
+ box-shadow: none;
366
+ padding: 5px 10px;
367
+ font-weight: bold;
368
+ font-size: 13px;
369
+ border-radius: 3px;
370
+ outline: none;
371
+ background-color: #dedede;
372
+ color: #808080;
373
+ /*&.wbcr-clearfy-button-activate-mode {
374
+ background-color: #c9deb2;
375
+ color: #586549;
376
+ &:hover {
377
+ background-color: lighten(#c9deb2, 3%);
378
+ }
379
+ }
380
+ &.wbcr-clearfy-button-deativate-mode {
381
+ display: none;
382
+ background-color: #fdd599;
383
+ color: #a57b3c;
384
+ margin-right: 0;
385
+ &:hover {
386
+ background-color: lighten(#fdd599, 3%);
387
+ }
388
+ }*/
389
+ }
390
+ #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch .wbcr-clearfy-switch-confirmation button:hover {
391
+ background-color: #d6d6d6;
392
+ }
393
+ #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch .wbcr-clearfy-switch-confirmation button:active {
394
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.5);
395
+ }
396
+ #WBCR .wbcr-clearfy-confirm-popup {
397
+ display: none;
398
+ position: fixed;
399
+ top: 50%;
400
+ left: 50%;
401
+ width: 500px;
402
+ height: 400px;
403
+ margin: -200px 0 0 -250px;
404
+ padding: 20px;
405
+ background: rgba(255, 255, 255, 0.82);
406
+ box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
407
+ border: 4px solid rgba(216, 210, 171, 0.44);
408
+ z-index: 99;
409
+ }
410
+ #WBCR .wbcr-clearfy-confirm-popup h3 {
411
+ font-size: 17px;
412
+ text-align: center;
413
+ font-weight: bold;
414
+ margin: 5px 0 0;
415
+ }
416
+ #WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-reset-warning-message {
417
+ display: none;
418
+ text-align: center;
419
+ }
420
+ #WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-list-options {
421
+ display: none;
422
+ height: 230px;
423
+ overflow-y: auto;
424
+ overflow-x: hidden;
425
+ padding-left: 40px;
426
+ list-style: decimal;
427
+ margin: 20px 0;
428
+ }
429
+ #WBCR .wbcr-clearfy-confirm-popup.wbcr-clearfy-default-warning-options .wbcr-clearfy-list-options {
430
+ display: block;
431
+ }
432
+ #WBCR .wbcr-clearfy-confirm-popup.wbcr-clearfy-reset-warning-options {
433
+ height: 200px;
434
+ margin: -100px 0 0 -250px;
435
+ }
436
+ #WBCR .wbcr-clearfy-confirm-popup.wbcr-clearfy-reset-warning-options .wbcr-clearfy-reset-warning-message {
437
+ display: block;
438
+ margin: 10px 0;
439
+ }
440
+ #WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-popup-buttons {
441
+ text-align: center;
442
+ padding: 10px;
443
+ }
444
+ #WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-popup-buttons button {
445
+ display: inline-block;
446
+ padding: 7px 25px;
447
+ box-shadow: none;
448
+ border: 0;
449
+ font-weight: bold;
450
+ }
451
+ #WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-popup-buttons button,
452
+ #WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-popup-buttons button:focus {
453
+ outline: 0 !important;
454
+ box-shadow: none !important;
455
+ }
456
+ #WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-popup-buttons button.wbcr-clearfy-popup-button-ok {
457
+ background: #FFEB3B;
458
+ color: #564f0d;
459
+ }
460
+ #WBCR .wbcr-clearfy-confirm-popup .wbcr-clearfy-popup-buttons button.wbcr-clearfy-cancel-mode {
461
+ background: #d6d6d6;
462
+ color: #5f5d5d;
463
+ }
464
+ @media screen and (max-width: 1380px) {
465
+ #WBCR #wbcr-clearfy-quick-mode-board {
466
+ min-width: 450px;
467
+ padding-right: 0;
468
+ }
469
+ #WBCR .wbcr-content-section,
470
+ #WBCR .wbcr-right-sidebar-section {
471
+ width: 100%;
472
+ }
473
+ #WBCR .wbcr-clearfy-export-import-board {
474
+ margin-top: 20px;
475
+ }
476
+ }
477
+ @media screen and (max-width: 950px) {
478
+ #WBCR #wbcr-clearfy-quick-mode-board {
479
+ min-width: 100%;
480
+ }
481
+ #WBCR .wbcr-content-section,
482
+ #WBCR .wbcr-right-sidebar-section {
483
+ width: 100%;
484
+ }
485
+ #WBCR .wbcr-clearfy-board {
486
+ width: 100%;
487
+ min-width: 100%;
488
+ }
489
+ }
490
+ @media screen and (max-width: 550px) {
491
+ #WBCR #wbcr-clearfy-quick-mode-board .wbcr-clearfy-switch span {
492
+ font-size: 0 !important;
493
+ }
494
+ }
 
admin/assets/css/gutenberg-autosave-control.css CHANGED
@@ -1,19 +1,18 @@
1
- /**
2
- * Gutenber autosave control styles
3
-
4
- * @author Webcraftic <wordpress.webraftic@gmail.com>
5
- * @copyright (c) 10.12.2018, Webcraftic
6
- * @version 1.0
7
- *
8
- * Credits:
9
- * This code was used from the plugin: https://wordpress.org/plugins/disable-gutenberg-autosave/
10
- * Author websevendev
11
- */
12
- h2.disable-gutenberg-autosave-header {
13
- margin: 0;
14
- }
15
- p.disable-gutenberg-autosave-error {
16
- color: red;
17
- font-family: "Monaco", "Menlo", "Ubuntu Mono", "Consolas", "source-code-pro", monospace;
18
- }
19
- /*# sourceMappingURL=gutenberg-autosave-control.css.map */
1
+ /**
2
+ * Gutenber autosave control styles
3
+
4
+ * @author Webcraftic <wordpress.webraftic@gmail.com>
5
+ * @copyright (c) 10.12.2018, Webcraftic
6
+ * @version 1.0
7
+ *
8
+ * Credits:
9
+ * This code was used from the plugin: https://wordpress.org/plugins/disable-gutenberg-autosave/
10
+ * Author websevendev
11
+ */
12
+ h2.disable-gutenberg-autosave-header {
13
+ margin: 0;
14
+ }
15
+ p.disable-gutenberg-autosave-error {
16
+ color: red;
17
+ font-family: "Monaco", "Menlo", "Ubuntu Mono", "Consolas", "source-code-pro", monospace;
18
+ }
 
admin/assets/css/install-addons.css CHANGED
@@ -1,32 +1,31 @@
1
- /**
2
- * Install addons global styles
3
- * @author Webcraftic <wordpress.webraftic@gmail.com>
4
- * @copyright Webcraftic 11.07.2018
5
- */
6
- .wbcr-clr-new-component {
7
- background: #f7f7f7;
8
- border: 1px solid #eaeaea;
9
- padding: 5px 20px;
10
- margin-bottom: 10px;
11
- }
12
- .wbcr-clr-new-component h4 {
13
- margin: 5px 0;
14
- display: inline-block;
15
- }
16
- .wbcr-clr-new-component .wbcr-clr-proccess-button {
17
- display: inline-block;
18
- margin: 5px 0;
19
- }
20
- .wbcr-clr-new-component.wbcr-clr-premium {
21
- background: #fff6db;
22
- border: 1px solid #e4dea9;
23
- }
24
- .wbcr-clr-new-component.wbcr-clr-premium h4 {
25
- color: #88690c;
26
- }
27
- .wbcr-clr-proccess-button.button-link,
28
- .wbcr-clr-proccess-button.button-link:focus {
29
- outline: none !important;
30
- box-shadow: none !important;
31
- }
32
- /*# sourceMappingURL=install-addons.css.map */
1
+ /**
2
+ * Install addons global styles
3
+ * @author Webcraftic <wordpress.webraftic@gmail.com>
4
+ * @copyright Webcraftic 11.07.2018
5
+ */
6
+ .wbcr-clr-new-component {
7
+ background: #f7f7f7;
8
+ border: 1px solid #eaeaea;
9
+ padding: 5px 20px;
10
+ margin-bottom: 10px;
11
+ }
12
+ .wbcr-clr-new-component h4 {
13
+ margin: 5px 0;
14
+ display: inline-block;
15
+ }
16
+ .wbcr-clr-new-component .wbcr-clr-proccess-button {
17
+ display: inline-block;
18
+ margin: 5px 0;
19
+ }
20
+ .wbcr-clr-new-component.wbcr-clr-premium {
21
+ background: #fff6db;
22
+ border: 1px solid #e4dea9;
23
+ }
24
+ .wbcr-clr-new-component.wbcr-clr-premium h4 {
25
+ color: #88690c;
26
+ }
27
+ .wbcr-clr-proccess-button.button-link,
28
+ .wbcr-clr-proccess-button.button-link:focus {
29
+ outline: none !important;
30
+ box-shadow: none !important;
31
+ }
 
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_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,12 +110,12 @@
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,12 +183,12 @@
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,7 +203,7 @@
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,15 +240,15 @@
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,10 +257,10 @@
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,7 +275,7 @@
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
  }
87
  * Хук выполняет проивольную функцию, после того как получен ajax ответ о том, что в
88
  * результате конфигурации произошла ошибка Реализация системы фильтров и хуков в файле
89
  * libs/clearfy/admin/assests/js/global.js Пример регистрации хука
90
+ * $.wbcr_factory_clearfy_221.hooks.add('wbcr/factory_clearfy_221/updated',
91
  * function(noticeId) {});
92
  * @param {string} modeName - имя режима конфигурации
93
  * @param {object} data
94
  */
95
 
96
+ $.wbcr_factory_clearfy_221.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_221.hooks.add('wbcr/factory_clearfy_221/updated', function(noticeId)
114
  * {});
115
  * @param {string} modeName - имя режима конфигурации
116
  * @param {object} data
117
  */
118
+ $.wbcr_factory_clearfy_221.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_221.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_221.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_221.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_221.app.showNotice(data.error_message, 'danger');
244
  } else {
245
  if( void 0 != wbcr_clearfy_ajax ) {
246
+ noticeId = $.wbcr_factory_clearfy_221.app.showNotice(wbcr_clearfy_ajax.i18n.unknown_error, 'danger');
247
  }
248
  }
249
 
250
  setTimeout(function() {
251
+ $.wbcr_factory_clearfy_221.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_221.app.showNotice(wbcr_clearfy_ajax.i18n.success_update_settings, 'success');
261
 
262
  setTimeout(function() {
263
+ $.wbcr_factory_clearfy_221.app.hideNotice(noticeId);
264
  }, 5000);
265
  }
266
  return;
275
  console.log(xhr.responseText);
276
  console.log(thrownError);
277
 
278
+ var noticeId = $.wbcr_factory_clearfy_221.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_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,7 +77,7 @@
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,7 +96,7 @@
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,7 +146,7 @@
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,7 +193,7 @@
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,7 +216,7 @@
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,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_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,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_220.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_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,7 +345,7 @@
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
  }
52
 
53
  $this.addClass('disabled').text(button_i18n.loading);
54
 
55
+ $.wbcr_factory_clearfy_221.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_221.app.showNotice(response.data.error_message, 'danger');
62
  }
63
 
64
+ $.wbcr_factory_clearfy_221.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_221.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_221.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_221.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_221.hooks.run('clearfy/components/deactivated', [
197
  $this,
198
  data,
199
  response
216
  $this.remove();
217
  }
218
 
219
+ $.wbcr_factory_clearfy_221.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_221.app.showNotice(response.data.need_rewrite_rules, 'warning');
231
  }
232
 
233
+ $.wbcr_factory_clearfy_221.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_221.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_221.app.showNotice(response.data.error_message, 'danger');
320
  }
321
 
322
+ $.wbcr_factory_clearfy_221.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_221.hooks.run('clearfy/components/activated', [sendData.plugin]);
330
  });
331
  },
332
 
345
  console.log(xhr.responseText);
346
  console.log(thrownError);
347
 
348
+ $.wbcr_factory_clearfy_221.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_220.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_220.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_220.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_220.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_221.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_221.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_221.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_221.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
86
 
87
  allNotices.push(noticeId);
88
  }
admin/boot.php CHANGED
@@ -33,8 +33,8 @@ add_action('wbcr/factory/pages/impressive/header', function ($plugin_name) {
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
  {
@@ -76,7 +76,7 @@ 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
 
@@ -85,7 +85,7 @@ add_action('admin_enqueue_scripts', function () {
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
  {
@@ -110,7 +110,7 @@ add_action('flush_rewrite_rules_hard', 'wbcr_clearfy_flush_rewrite_rules');
110
  * Обновить постоынные ссылки, после выполнения быстрых настроек
111
  *
112
  * @param WHM_Plugin $plugin
113
- * @param Wbcr_FactoryPages428_ImpressiveThemplate $obj
114
  */
115
  function wbcr_clearfy_after_form_save($plugin, $obj)
116
  {
@@ -133,7 +133,7 @@ add_action('wbcr/factory/pages/impressive/after_form_save', 'wbcr_clearfy_after_
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) {
33
 
34
  /**
35
  * @param $form
36
+ * @param Wbcr_Factory429_Plugin $plugin
37
+ * @param Wbcr_FactoryPages429_ImpressiveThemplate $obj
38
  */
39
  function wbcr_clearfy_multisite_before_save($form, $plugin, $obj)
40
  {
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-221-global'
80
  ], WCL_Plugin::app()->getPluginVersion());
81
  });
82
 
85
  * Уведомление будет показано на всех страницах Clearfy и его компонентах.
86
  *
87
  * @param WCL_Plugin $plugin
88
+ * @param Wbcr_FactoryPages429_ImpressiveThemplate $obj
89
  */
90
  function wbcr_clearfy_print_notice_rewrite_rules($plugin, $obj)
91
  {
110
  * Обновить постоынные ссылки, после выполнения быстрых настроек
111
  *
112
  * @param WHM_Plugin $plugin
113
+ * @param Wbcr_FactoryPages429_ImpressiveThemplate $obj
114
  */
115
  function wbcr_clearfy_after_form_save($plugin, $obj)
116
  {
133
  *
134
  * @param array $widgets
135
  * @param string $position
136
+ * @param Wbcr_Factory429_Plugin $plugin
137
  */
138
 
139
  add_filter('wbcr/factory/pages/impressive/widgets', function ($widgets, $position, $plugin) {
admin/includes/compatibility.php CHANGED
@@ -22,8 +22,8 @@ add_action( 'plugins_loaded', function () {
22
  * Это необходимо, чтоб напомнить пользователю обновить конфигурацию компонентов плагина,
23
  * иначе вновь активированные компоненты не будет зайдествованы в работе плагина.
24
  *
25
- * @param Wbcr_Factory428_Plugin $plugin
26
- * @param Wbcr_FactoryPages428_ImpressiveThemplate $obj
27
  *
28
  * @return bool
29
  */
@@ -52,8 +52,8 @@ add_action( 'plugins_loaded', function () {
52
  * Это необходимо, чтоб напомнить пользователю обновить конфигурацию компонентов плагина,
53
  * иначе вновь активированные компоненты не будет зайдествованы в работе плагина.
54
  *
55
- * @param Wbcr_Factory428_Plugin $plugin
56
- * @param Wbcr_FactoryPages428_ImpressiveThemplate $obj
57
  *
58
  * @return bool
59
  */
22
  * Это необходимо, чтоб напомнить пользователю обновить конфигурацию компонентов плагина,
23
  * иначе вновь активированные компоненты не будет зайдествованы в работе плагина.
24
  *
25
+ * @param Wbcr_Factory429_Plugin $plugin
26
+ * @param Wbcr_FactoryPages429_ImpressiveThemplate $obj
27
  *
28
  * @return bool
29
  */
52
  * Это необходимо, чтоб напомнить пользователю обновить конфигурацию компонентов плагина,
53
  * иначе вновь активированные компоненты не будет зайдествованы в работе плагина.
54
  *
55
+ * @param Wbcr_Factory429_Plugin $plugin
56
+ * @param Wbcr_FactoryPages429_ImpressiveThemplate $obj
57
  *
58
  * @return bool
59
  */
admin/pages/class-page.php CHANGED
@@ -7,7 +7,7 @@
7
  * @version 1.0
8
  */
9
 
10
- class WCL_Page extends Wbcr_FactoryClearfy220_PageBase {
11
 
12
  /**
13
  * Действие выполняется для всех страниц Clearfy и его компонентах.
@@ -20,15 +20,15 @@ class WCL_Page extends Wbcr_FactoryClearfy220_PageBase {
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>';
7
  * @version 1.0
8
  */
9
 
10
+ class WCL_Page extends Wbcr_FactoryClearfy221_PageBase {
11
 
12
  /**
13
  * Действие выполняется для всех страниц Clearfy и его компонентах.
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-221-multisite-suggetion">';
24
  $html .= '<div class="wbcr-factory-inner-contanier">';
25
+ $html .= '<h3>' . __('Upgrade to Clearfy Business', 'wbcr_factory_clearfy_221') . '</h3>';
26
+ $html .= '<p>' . __('Oops... Sorry for the inconvenience caused!', 'wbcr_factory_clearfy_221') . '</p>';
27
+ $html .= '<p>' . __('Complete multisite support is available in Clearfy Business and Clearfy Business Revolution packages only!', 'wbcr_factory_clearfy_221') . '</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_221') . '</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_221') . '</a> ';
31
+ $html .= '<a href="' . $upgrade_url . '" class="wbcr-factory-purchase-premium" target="_blank" rel="noopener">' . __('Upgrade to Clearfy Business', 'wbcr_factory_clearfy_221') . '</a>';
32
  $html .= '</p>';
33
  $html .= '</div>';
34
  $html .= '</div>';
admin/pages/class-pages-advanced.php CHANGED
@@ -17,7 +17,7 @@ class WCL_AdvancedPage extends WCL_Page {
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
17
  * The id of the page in the admin menu.
18
  *
19
  * Mainly used to navigate between pages.
20
+ * @see FactoryPages429_AdminPage
21
  *
22
  * @since 1.0.0
23
  * @var string
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 FactoryPages428_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 FactoryPages428_AdminPage
62
  *
63
  */
64
  public function assets( $scripts, $styles ) {
19
  * Mainly used to navigate between pages.
20
  *
21
  * @since 1.0.0
22
+ * @see FactoryPages429_AdminPage
23
  *
24
  * @var string
25
  */
58
  *
59
  * @since 1.0.0
60
  * @return void
61
+ * @see FactoryPages429_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_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,7 +73,7 @@
73
  *
74
  * @return void
75
  * @since 1.0.0
76
- * @see FactoryPages428_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_Factory428_StyleList $styles
86
- * @param Wbcr_Factory428_ScriptList $scripts
87
  *
88
  * @since 1.4.0
89
  *
55
  /**
56
  * WCL_LicensePage constructor.
57
  *
58
+ * @param \Wbcr_Factory429_Plugin $plugin
59
  *
60
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
61
  *
62
  */
63
+ public function __construct( Wbcr_Factory429_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 FactoryPages429_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_Factory429_StyleList $styles
86
+ * @param Wbcr_Factory429_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 FactoryPages428_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 FactoryPages428_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_Factory428_StyleList $styles
69
- * @param Wbcr_Factory428_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_Factory428_Plugin $plugin
81
  *
82
  * @return array
83
- * @see libs\factory\pages\themplates\FactoryPages428_ImpressiveThemplate
84
  */
85
  public function getActionNotices($notices)
86
  {
21
  * Mainly used to navigate between pages.
22
  *
23
  * @since 1.0.0
24
+ * @see FactoryPages429_AdminPage
25
  *
26
  * @var string
27
  */
55
  *
56
  * @return void
57
  * @since 1.0.0
58
+ * @see FactoryPages429_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_Factory429_StyleList $styles
69
+ * @param Wbcr_Factory429_ScriptList $scripts
70
  * @since 1.4.0
71
  *
72
  */
77
  * We register notifications for some actions
78
  *
79
  * @param $notices
80
+ * @param Wbcr_Factory429_Plugin $plugin
81
  *
82
  * @return array
83
+ * @see libs\factory\pages\themplates\FactoryPages429_ImpressiveThemplate
84
  */
85
  public function getActionNotices($notices)
86
  {
admin/pages/class-pages-defence-titan.php CHANGED
@@ -19,7 +19,7 @@ class WCL_TitanSecurityPage extends WCL_Page {
19
  * Mainly used to navigate between pages.
20
  *
21
  * @since 1.0.0
22
- * @see FactoryPages428_AdminPage
23
  *
24
  * @var string
25
  */
@@ -83,7 +83,7 @@ class WCL_TitanSecurityPage extends WCL_Page {
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,7 +96,7 @@ class WCL_TitanSecurityPage extends WCL_Page {
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>
19
  * Mainly used to navigate between pages.
20
  *
21
  * @since 1.0.0
22
+ * @see FactoryPages429_AdminPage
23
  *
24
  * @var string
25
  */
83
  ?>
84
  <script>
85
  jQuery(document).ready(function($) {
86
+ $.wbcr_factory_clearfy_221.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-221-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 FactoryPages428_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_428_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 FactoryPages429_AdminPage
21
  *
22
  * @since 1.0.0
23
  * @var string
132
  //'cssClass' => 'postbox'
133
  );
134
 
135
+ return wbcr_factory_429_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 FactoryPages428_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_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,7 +91,7 @@
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
 
17
  * The id of the page in the admin menu.
18
  *
19
  * Mainly used to navigate between pages.
20
+ * @see FactoryPages429_AdminPage
21
  *
22
  * @since 1.0.0
23
  * @var string
78
  ?>
79
  <script>
80
  jQuery(document).ready(function($) {
81
+ $.wbcr_factory_clearfy_221.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-221-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 FactoryPages428_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_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,7 +92,7 @@ class WCL_ImageOptimizationPage extends WCL_Page {
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>
19
  * Mainly used to navigate between pages.
20
  *
21
  * @since 1.0.0
22
+ * @see FactoryPages429_AdminPage
23
  *
24
  * @var string
25
  */
79
  ?>
80
  <script>
81
  jQuery(document).ready(function($) {
82
+ $.wbcr_factory_clearfy_221.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-221-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_FactoryClearfy220_LicensePage {
17
 
18
  /**
19
  * {@inheritdoc}
@@ -36,12 +36,12 @@
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' );
13
  *
14
  * @copyright (c) 2018 Webraftic Ltd
15
  */
16
+ class WCL_LicensePage extends Wbcr_FactoryClearfy221_LicensePage {
17
 
18
  /**
19
  * {@inheritdoc}
36
  /**
37
  * WCL_LicensePage constructor.
38
  *
39
+ * @param \Wbcr_Factory429_Plugin $plugin
40
  *
41
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
42
  *
43
  */
44
+ public function __construct( Wbcr_Factory429_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 FactoryPages428_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 FactoryPages429_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 FactoryPages428_AdminPage
21
  *
22
  * @since 1.0.0
23
  * @var string
@@ -63,7 +63,7 @@
63
  */
64
  public function __construct(WCL_Plugin $plugin)
65
  {
66
- $this->menu_title = __('Clearfy menu', 'clearfy');
67
  $this->page_menu_short_description = __('One-click settings', 'clearfy');
68
 
69
  parent::__construct($plugin);
@@ -79,7 +79,7 @@
79
  /**
80
  * Requests assets (js and css) for the page.
81
  *
82
- * @see FactoryPages428_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 FactoryPages429_AdminPage
21
  *
22
  * @since 1.0.0
23
  * @var string
63
  */
64
  public function __construct(WCL_Plugin $plugin)
65
  {
66
+ $this->menu_title = __('Clearfy', 'clearfy');
67
  $this->page_menu_short_description = __('One-click settings', 'clearfy');
68
 
69
  parent::__construct($plugin);
79
  /**
80
  * Requests assets (js and css) for the page.
81
  *
82
+ * @see FactoryPages429_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 FactoryPages428_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 FactoryPages429_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 FactoryPages428_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 FactoryPages429_AdminPage
20
  *
21
  * @since 1.0.0
22
  * @var string
admin/pages/class-pages-widgets.php CHANGED
@@ -16,7 +16,7 @@ class WCL_WidgetsPage extends WCL_Page {
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
16
  * The id of the page in the admin menu.
17
  *
18
  * Mainly used to navigate between pages.
19
+ * @see FactoryPages429_AdminPage
20
  *
21
  * @since 1.0.0
22
  * @var string
assets/css/admin-bar.css CHANGED
@@ -1,48 +1,47 @@
1
- /**
2
- * Admin bar menu
3
- * @author Webcraftic <wordpress.webraftic@gmail.com>
4
- * @copyright Webcraftic 01.07.2018
5
- */
6
- #wp-admin-bar-clearfy-menu {
7
- background: #443a54 !important;
8
- }
9
- #wp-admin-bar-clearfy-menu::after {
10
- clear: both;
11
- }
12
- #wp-admin-bar-clearfy-menu .dashicons {
13
- font: 400 20px/1 dashicons;
14
- }
15
- #wp-admin-bar-clearfy-menu #wp-admin-bar-clearfy-menu-default {
16
- background: #565656 !important;
17
- }
18
- #wp-admin-bar-clearfy-menu .wbcr-clearfy-admin-bar-menu-icon {
19
- display: inline-block !important;
20
- width: 20px;
21
- height: 25px;
22
- margin-top: 6px;
23
- margin-right: 5px;
24
- float: left;
25
- background: url(../img/webcraftic-plugin-icon.png) 0 0 no-repeat;
26
- }
27
- #wp-admin-bar-clearfy-menu .wbcr-clearfy-admin-bar-menu-title {
28
- display: inline-block !important;
29
- overflow: hidden;
30
- }
31
- #wp-admin-bar-clearfy-menu .wbcr-clearfy-admin-bar-menu-title .dashicons {
32
- font-size: 20px !important;
33
- padding: 6px 0 !important;
34
- }
35
- #wp-admin-bar-clearfy-menu .ab-item .dashicons {
36
- font-size: 14px;
37
- padding: 6px 0;
38
- }
39
- #wp-admin-bar-clearfy-menu .ab-item .dashicons.dashicons-heart {
40
- color: #fb7976;
41
- }
42
- #wp-admin-bar-clearfy-menu .ab-item .dashicons.dashicons-sos {
43
- color: #c6e9f9;
44
- }
45
- #wp-admin-bar-clearfy-menu .ab-item .dashicons.dashicons-star-filled {
46
- color: #ffbe00;
47
- }
48
- /*# sourceMappingURL=admin-bar.css.map */
1
+ /**
2
+ * Admin bar menu
3
+ * @author Webcraftic <wordpress.webraftic@gmail.com>
4
+ * @copyright Webcraftic 01.07.2018
5
+ */
6
+ #wp-admin-bar-clearfy-menu {
7
+ background: #443a54 !important;
8
+ }
9
+ #wp-admin-bar-clearfy-menu::after {
10
+ clear: both;
11
+ }
12
+ #wp-admin-bar-clearfy-menu .dashicons {
13
+ font: 400 20px/1 dashicons;
14
+ }
15
+ #wp-admin-bar-clearfy-menu #wp-admin-bar-clearfy-menu-default {
16
+ background: #565656 !important;
17
+ }
18
+ #wp-admin-bar-clearfy-menu .wbcr-clearfy-admin-bar-menu-icon {
19
+ display: inline-block !important;
20
+ width: 20px;
21
+ height: 25px;
22
+ margin-top: 6px;
23
+ margin-right: 5px;
24
+ float: left;
25
+ background: url(../img/webcraftic-plugin-icon.png) 0 0 no-repeat;
26
+ }
27
+ #wp-admin-bar-clearfy-menu .wbcr-clearfy-admin-bar-menu-title {
28
+ display: inline-block !important;
29
+ overflow: hidden;
30
+ }
31
+ #wp-admin-bar-clearfy-menu .wbcr-clearfy-admin-bar-menu-title .dashicons {
32
+ font-size: 20px !important;
33
+ padding: 6px 0 !important;
34
+ }
35
+ #wp-admin-bar-clearfy-menu .ab-item .dashicons {
36
+ font-size: 14px;
37
+ padding: 6px 0;
38
+ }
39
+ #wp-admin-bar-clearfy-menu .ab-item .dashicons.dashicons-heart {
40
+ color: #fb7976;
41
+ }
42
+ #wp-admin-bar-clearfy-menu .ab-item .dashicons.dashicons-sos {
43
+ color: #c6e9f9;
44
+ }
45
+ #wp-admin-bar-clearfy-menu .ab-item .dashicons.dashicons-star-filled {
46
+ color: #ffbe00;
47
+ }
 
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.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,12 +71,12 @@ $plugin_info = array(
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,7 +116,7 @@ $plugin_info = 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,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_428_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.9
8
  * Text Domain: clearfy
9
  * Domain Path: /languages/
10
  * Author URI: http://clearfy.pro
11
+ * Framework Version: FACTORY_429_VERSION
12
  */
13
 
14
  // Exit if accessed directly
71
  ),
72
  // FRAMEWORK MODULES
73
  'load_factory_modules' => array(
74
+ array('libs/factory/bootstrap', 'factory_bootstrap_430', 'admin'),
75
+ array('libs/factory/forms', 'factory_forms_427', 'admin'),
76
+ array('libs/factory/pages', 'factory_pages_429', 'admin'),
77
+ array('libs/factory/clearfy', 'factory_clearfy_221', 'all'),
78
+ array('libs/factory/freemius', 'factory_freemius_117', 'all'),
79
+ array('libs/factory/adverts', 'factory_adverts_109', 'admin')
80
  ),
81
  'load_plugin_components' => array(
82
  'disable_notices' => array(
116
 
117
 
118
 
119
+ $clearfy_compatibility = new Wbcr_Factory429_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_429_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_Factory428_Activator
9
  * @version 1.0
10
  */
11
 
@@ -14,7 +14,7 @@ if ( ! defined( 'ABSPATH' ) ) {
14
  exit;
15
  }
16
 
17
- class WGNZ_Activation extends Wbcr_Factory428_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_Factory429_Activator
9
  * @version 1.0
10
  */
11
 
14
  exit;
15
  }
16
 
17
+ class WGNZ_Activation extends Wbcr_Factory429_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
- WbcrFactoryClearfy220_Helpers::flushPageCache();
207
  }
208
 
209
  wp_send_json_success( [
203
  wbcr_gnz_deploy_mu_plugin();
204
 
205
  // Flush cache for all cache plugins
206
+ WbcrFactoryClearfy221_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_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,5 +225,5 @@ if ( defined( 'LOADING_ASSETS_MANAGER_AS_ADDON' ) ) {
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
  }
167
  *
168
  * @param array $widgets
169
  * @param string $position
170
+ * @param Wbcr_Factory429_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_429_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_FactoryClearfy220_MoreFeaturesPage {
21
 
22
  }
17
  *
18
  * @copyright (c) 2018 Webraftic Ltd
19
  */
20
+ class WGZ_MoreFeaturesPage extends Wbcr_FactoryClearfy221_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_FactoryClearfy220_PageBase {
20
 
21
  /**
22
  * The id of the page in the admin menu.
@@ -24,7 +24,7 @@ class WGZ_AssetsManagerPage extends Wbcr_FactoryClearfy220_PageBase {
24
  * Mainly used to navigate between pages.
25
  *
26
  * @since 1.0.0
27
- * @see FactoryPages428_AdminPage
28
  *
29
  * @var string
30
  */
@@ -48,9 +48,9 @@ class WGZ_AssetsManagerPage extends Wbcr_FactoryClearfy220_PageBase {
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' ) ) {
16
  *
17
  * @copyright (c) 2018 Webraftic Ltd
18
  */
19
+ class WGZ_AssetsManagerPage extends Wbcr_FactoryClearfy221_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 FactoryPages429_AdminPage
28
  *
29
  * @var string
30
  */
48
  public $available_for_multisite = true;
49
 
50
  /**
51
+ * @param Wbcr_Factory429_Plugin $plugin
52
  */
53
+ public function __construct( Wbcr_Factory429_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_428_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_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',
8
  * Text Domain: gonzales
9
  * Domain Path: /languages/
10
  * Author URI: https://webcraftic.com
11
+ * Framework Version: FACTORY_429_VERSION
12
  */
13
 
14
  // Exit if accessed directly
64
 
65
  // FRAMEWORK MODULES
66
  'load_factory_modules' => array(
67
+ array( 'libs/factory/bootstrap', 'factory_bootstrap_430', 'admin' ),
68
+ array( 'libs/factory/forms', 'factory_forms_427', 'admin' ),
69
+ array( 'libs/factory/pages', 'factory_pages_429', 'admin' ),
70
+ array( 'libs/factory/clearfy', 'factory_clearfy_221', 'all' ),
71
+ array( 'libs/factory/adverts', 'factory_adverts_109', 'admin')
72
  )
73
  );
74
 
75
+ $wgnz_compatibility = new Wbcr_Factory429_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_Factory428_Plugin {
15
 
16
  /**
17
  * @see self::app()
18
- * @var Wbcr_Factory428_Plugin
19
  */
20
  private static $app;
21
 
@@ -53,7 +53,7 @@ class WGZ_Plugin extends Wbcr_Factory428_Plugin {
53
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
54
  * классам.
55
  *
56
- * @return \Wbcr_Factory428_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_Factory429_Plugin {
15
 
16
  /**
17
  * @see self::app()
18
+ * @var Wbcr_Factory429_Plugin
19
  */
20
  private static $app;
21
 
53
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
54
  * классам.
55
  *
56
+ * @return \Wbcr_Factory429_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_Factory428_Plugin $plugin
25
  */
26
- public function __construct( Wbcr_Factory428_Plugin $plugin ) {
27
  $this->plugin = $plugin;
28
 
29
  $this->register_hooks();
21
  public $collection = [];
22
 
23
  /**
24
+ * @param Wbcr_Factory429_Plugin $plugin
25
  */
26
+ public function __construct( Wbcr_Factory429_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_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,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_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
  }
63
  *
64
  * @param string $template The template name.
65
  * @param mixed $data Some data to pass to the template.
66
+ * @param Wbcr_FactoryClearfy221_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_FactoryClearfy221_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_FactoryClearfy221_PageBase $page
96
  */
97
+ public function print_template( $template, $data = [], Wbcr_FactoryClearfy221_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_Factory428_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_Factory429_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_Factory428_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_Factory429_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_Factory428_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_Factory429_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_428_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_429_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_428_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_429_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_FactoryClearfy220_PageBase {
20
 
21
  /**
22
  * {@inheritDoc}
@@ -52,9 +52,9 @@ class WbcrCmp_CommentsPage extends Wbcr_FactoryClearfy220_PageBase {
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
 
16
  *
17
  * @copyright (c) 2018 Webraftic Ltd
18
  */
19
+ class WbcrCmp_CommentsPage extends Wbcr_FactoryClearfy221_PageBase {
20
 
21
  /**
22
  * {@inheritDoc}
52
  *
53
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
54
  *
55
+ * @param \Wbcr_Factory429_Plugin $plugin
56
  */
57
+ public function __construct( Wbcr_Factory429_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_FactoryClearfy220_PageBase {
20
 
21
  /**
22
  * {@inheritDoc}
@@ -66,9 +66,9 @@ class WbcrCmp_DeleteCommentsPage extends Wbcr_FactoryClearfy220_PageBase {
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,10 +78,10 @@ class WbcrCmp_DeleteCommentsPage extends Wbcr_FactoryClearfy220_PageBase {
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,7 +200,7 @@ class WbcrCmp_DeleteCommentsPage extends Wbcr_FactoryClearfy220_PageBase {
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();
16
  *
17
  * @copyright (c) 2018 Webraftic Ltd
18
  */
19
+ class WbcrCmp_DeleteCommentsPage extends Wbcr_FactoryClearfy221_PageBase {
20
 
21
  /**
22
  * {@inheritDoc}
66
  *
67
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
68
  *
69
+ * @param \Wbcr_Factory429_Plugin $plugin
70
  */
71
+ public function __construct( Wbcr_Factory429_Plugin $plugin ) {
72
  $this->menu_title = __( 'Comments cleaner', 'comments-plus' );
73
 
74
  parent::__construct( $plugin );
78
  * {@inheritDoc}
79
  *
80
  * @param $notices
81
+ * @param Wbcr_Factory429_Plugin $plugin
82
  *
83
  * @return array
84
+ * @see libs\factory\pages\themplates\FactoryPages429_ImpressiveThemplate
85
  */
86
  public function getActionNotices( $notices ) {
87
 
200
  /**
201
  * Prints the content of the page
202
  *
203
+ * @see libs\factory\pages\themplates\FactoryPages429_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_FactoryClearfy220_MoreFeaturesPage {
23
 
24
  }
19
  *
20
  * @copyright (c) 2018 Webraftic Ltd
21
  */
22
+ class WbcrCmp_MoreFeaturesPage extends Wbcr_FactoryClearfy221_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_428_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_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',
8
  * Text Domain: comments-plus
9
  * Domain Path: /languages/
10
  * Author URI: https://webcraftic.com
11
+ * Framework Version: FACTORY_429_VERSION
12
  */
13
 
14
  // Exit if accessed directly
64
 
65
  // FRAMEWORK MODULES
66
  'load_factory_modules' => array(
67
+ array( 'libs/factory/bootstrap', 'factory_bootstrap_430', 'admin' ),
68
+ array( 'libs/factory/forms', 'factory_forms_427', 'admin' ),
69
+ array( 'libs/factory/pages', 'factory_pages_429', 'admin' ),
70
+ array( 'libs/factory/clearfy', 'factory_clearfy_221', 'all' ),
71
+ array( 'libs/factory/adverts', 'factory_adverts_109', 'admin')
72
  )
73
  );
74
 
75
+ $wcm_compatibility = new Wbcr_Factory429_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_Factory428_Plugin {
14
 
15
  /**
16
  * @see self::app()
17
- * @var Wbcr_Factory428_Plugin
18
  */
19
  private static $app;
20
 
@@ -59,7 +59,7 @@ class WCM_Plugin extends Wbcr_Factory428_Plugin {
59
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
60
  * классам.
61
  *
62
- * @return \Wbcr_Factory428_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_Factory429_Plugin {
14
 
15
  /**
16
  * @see self::app()
17
+ * @var Wbcr_Factory429_Plugin
18
  */
19
  private static $app;
20
 
59
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
60
  * классам.
61
  *
62
+ * @return \Wbcr_Factory429_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_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
  }
12
  *
13
  * @copyright (c) 2017 Webraftic Ltd
14
  */
15
+ class WbcrCmp_ConfigComments extends Wbcr_FactoryClearfy221_Configurate {
16
 
17
  private $modified_types = [];
18
 
19
  /**
20
+ * @param Wbcr_Factory429_Plugin $plugin
21
  */
22
+ public function __construct( Wbcr_Factory429_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_Factory428_Activator
9
  * @version 1.0
10
  */
11
 
@@ -14,7 +14,7 @@ if ( ! defined( 'ABSPATH' ) ) {
14
  exit;
15
  }
16
 
17
- class WCTR_Activation extends Wbcr_Factory428_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_Factory429_Activator
9
  * @version 1.0
10
  */
11
 
14
  exit;
15
  }
16
 
17
+ class WCTR_Activation extends Wbcr_Factory429_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_428_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_429_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_FactoryClearfy220_PageBase {
20
 
21
  /**
22
  * {@inheritDoc}
@@ -59,9 +59,9 @@ class WCTR_CyrliteraPage extends Wbcr_FactoryClearfy220_PageBase {
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,7 +202,7 @@ class WCTR_CyrliteraPage extends Wbcr_FactoryClearfy220_PageBase {
202
  }
203
 
204
  /**
205
- * @param $html_builder Wbcr_FactoryForms426_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_FactoryClearfy221_PageBase {
20
 
21
  /**
22
  * {@inheritDoc}
59
  *
60
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
61
  *
62
+ * @param \Wbcr_Factory429_Plugin $plugin
63
  */
64
+ public function __construct( Wbcr_Factory429_Plugin $plugin ) {
65
  $this->menu_title = __( 'Cyrlitera', 'cyrlitera' );
66
 
67
  if ( ! defined( 'LOADING_CYRLITERA_AS_ADDON' ) ) {
202
  }
203
 
204
  /**
205
+ * @param $html_builder Wbcr_FactoryForms427_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_FactoryClearfy220_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_FactoryClearfy221_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_428_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_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',
8
  * Text Domain: cyrlitera
9
  * Domain Path: /languages/
10
  * Author URI: https://webcraftic.com
11
+ * Framework Version: FACTORY_429_VERSION
12
  */
13
 
14
  // Exit if accessed directly
64
 
65
  // FRAMEWORK MODULES
66
  'load_factory_modules' => array(
67
+ array( 'libs/factory/bootstrap', 'factory_bootstrap_430', 'admin' ),
68
+ array( 'libs/factory/forms', 'factory_forms_427', 'admin' ),
69
+ array( 'libs/factory/pages', 'factory_pages_429', 'admin' ),
70
+ array( 'libs/factory/clearfy', 'factory_clearfy_221', 'all' ),
71
+ array( 'libs/factory/adverts', 'factory_adverts_109', 'admin')
72
  )
73
  );
74
 
75
+ $wctr_compatibility = new Wbcr_Factory429_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_Factory428_Plugin {
14
 
15
  /**
16
  * @see self::app()
17
- * @var Wbcr_Factory428_Plugin
18
  */
19
  private static $app;
20
 
@@ -57,7 +57,7 @@ class WCTR_Plugin extends Wbcr_Factory428_Plugin {
57
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
58
  * классам.
59
  *
60
- * @return \Wbcr_Factory428_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_Factory429_Plugin {
14
 
15
  /**
16
  * @see self::app()
17
+ * @var Wbcr_Factory429_Plugin
18
  */
19
  private static $app;
20
 
57
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
58
  * классам.
59
  *
60
+ * @return \Wbcr_Factory429_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_FactoryClearfy220_Configurate {
16
 
17
  public function registerActionsAndFilters() {
18
 
@@ -235,7 +235,7 @@ class WCTR_ConfigurateCyrlitera extends Wbcr_FactoryClearfy220_Configurate {
235
  * Перенаправление со старых url, которые были уже преобразованы
236
  */
237
  public function redirectFromOldUrls() {
238
- if ( ! WbcrFactoryClearfy220_Helpers::isPermalink() ) {
239
  return;
240
  }
241
  $is404 = is_404();
12
  exit;
13
  }
14
 
15
+ class WCTR_ConfigurateCyrlitera extends Wbcr_FactoryClearfy221_Configurate {
16
 
17
  public function registerActionsAndFilters() {
18
 
235
  * Перенаправление со старых url, которые были уже преобразованы
236
  */
237
  public function redirectFromOldUrls() {
238
+ if ( ! WbcrFactoryClearfy221_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_Factory428_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_Factory429_Update {
8
 
9
  public function install() {
10
  WCTR_Plugin::app()->deletePopulateOption( 'custom_symbols_pack' );
components/disable-admin-notices/admin/assets/css/notifications-panel.css CHANGED
@@ -47,17 +47,17 @@
47
  #wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .ab-item {
48
  height: 100% !important;
49
  white-space: normal !important;
50
- padding: .5em 1em;
51
  border-bottom: 1px solid #4a4f55;
52
  color: #949494;
53
- line-height: .5em;
54
  }
55
  #wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .ab-item a {
56
  display: inline;
57
  padding: 0;
58
  margin: 0;
59
  text-decoration: underline;
60
- line-height: .5em;
61
  color: #949494;
62
  }
63
  #wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu li:nth-child(2n) {
47
  #wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .ab-item {
48
  height: 100% !important;
49
  white-space: normal !important;
50
+ padding: 0.5em 1em;
51
  border-bottom: 1px solid #4a4f55;
52
  color: #949494;
53
+ line-height: 0.5em;
54
  }
55
  #wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .ab-item a {
56
  display: inline;
57
  padding: 0;
58
  margin: 0;
59
  text-decoration: underline;
60
+ line-height: 0.5em;
61
  color: #949494;
62
  }
63
  #wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu li:nth-child(2n) {
components/disable-admin-notices/admin/assets/css/settings.css ADDED
@@ -0,0 +1,176 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #WBCR .factory-checkbox.wdanpro-checkbox-premium-label:after,
2
+ #WBCR .wdanpro-radio-premium-label .factory-compact_panel:after {
3
+ display: inline-block;
4
+ position: relative;
5
+ content: 'PRO';
6
+ background: #ff5722;
7
+ border-radius: 4px;
8
+ color: #fff;
9
+ font-size: 10px;
10
+ line-height: 1;
11
+ font-style: normal;
12
+ padding: 4px 6px;
13
+ margin-left: 4px;
14
+ vertical-align: top;
15
+ top: -8px;
16
+ left: -10px;
17
+ right: auto;
18
+ z-index: 11;
19
+ }
20
+ #WBCR .wdanpro-radio-premium-label .factory-compact_panel:after {
21
+ position: absolute;
22
+ top: -10px;
23
+ right: -10px;
24
+ left: auto;
25
+ }
26
+ #WBCR .factory-checkbox-disabled input,
27
+ #WBCR .factory-checkbox-disabled button,
28
+ #WBCR .wdanpro-radio-premium-label .factory-compact_panel {
29
+ pointer-events: none;
30
+ cursor: not-allowed;
31
+ opacity: 0.65;
32
+ filter: alpha(opacity=65);
33
+ -webkit-box-shadow: none;
34
+ box-shadow: none;
35
+ }
36
+ #WBCR .wrdan-premium-fake-content {
37
+ position: relative;
38
+ padding: 15px;
39
+ }
40
+ #WBCR .wdan-premium-info {
41
+ position: absolute;
42
+ top: 50px;
43
+ left: 50%;
44
+ margin-left: -250px;
45
+ max-width: 500px;
46
+ z-index: 999;
47
+ }
48
+ #WBCR .wdan-premium-info h3 {
49
+ font-size: 32px;
50
+ font-weight: 300;
51
+ color: inherit;
52
+ margin: 40px 0 10px;
53
+ line-height: 1.2;
54
+ }
55
+ #WBCR .wdan-premium-info p {
56
+ font-size: 16px;
57
+ font-weight: 400;
58
+ color: #a4afb7;
59
+ margin-bottom: 40px;
60
+ }
61
+ #WBCR .wdan-premium-layer {
62
+ position: absolute;
63
+ top: 0;
64
+ left: 0;
65
+ right: 0;
66
+ bottom: 0;
67
+ opacity: 0.9;
68
+ background: #fff;
69
+ }
70
+ #WBCR .wdan-button {
71
+ font-family: Roboto, Arial, Helvetica, Verdana, sans-serif;
72
+ font-weight: 500;
73
+ text-transform: uppercase;
74
+ outline: none;
75
+ border: none;
76
+ text-decoration: none;
77
+ -webkit-border-radius: 3px;
78
+ border-radius: 3px;
79
+ -webkit-transition-property: background, color, opacity, -webkit-box-shadow;
80
+ transition-property: background, color, opacity, -webkit-box-shadow;
81
+ -o-transition-property: background, color, box-shadow, opacity;
82
+ transition-property: background, color, box-shadow, opacity;
83
+ transition-property: background, color, box-shadow, opacity, -webkit-box-shadow;
84
+ -webkit-transition-duration: 0.3s;
85
+ -o-transition-duration: 0.3s;
86
+ transition-duration: 0.3s;
87
+ }
88
+ #WBCR .wdan-button:hover {
89
+ border: none;
90
+ }
91
+ #WBCR .wdan-button:not([disabled]) {
92
+ cursor: pointer;
93
+ }
94
+ #WBCR .wdan-button:not(.wdan-button-state) .wdan-state-icon {
95
+ display: none;
96
+ }
97
+ #WBCR .wdan-button.wdan-button-success {
98
+ color: #fff;
99
+ }
100
+ #WBCR .wdan-button.wdan-button-success[disabled] {
101
+ background-color: #c2cbd2;
102
+ }
103
+ #WBCR .wdan-button.wdan-button-success:not([disabled]) {
104
+ background-color: #39b54a;
105
+ }
106
+ #WBCR .wdan-button.wdan-button-success:not([disabled]):hover {
107
+ opacity: 0.85;
108
+ -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
109
+ box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
110
+ }
111
+ #WBCR .wdan-button.wdan-button-success:not([disabled]):active {
112
+ -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
113
+ box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
114
+ }
115
+ #WBCR .wdan-button.wdan-button-warning {
116
+ background-color: #a4afb7;
117
+ color: #fff;
118
+ }
119
+ #WBCR .wdan-button.wdan-button-warning[disabled] {
120
+ background-color: #c2cbd2;
121
+ }
122
+ #WBCR .wdan-button.wdan-button-warning:not([disabled]):hover {
123
+ background-color: #b01b1b;
124
+ opacity: 0.85;
125
+ -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
126
+ box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
127
+ }
128
+ #WBCR .wdan-button.wdan-button-warning:not([disabled]):active {
129
+ -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
130
+ box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
131
+ }
132
+ #WBCR .wdan-button.wdan-button-danger {
133
+ background-color: #d72b3f;
134
+ color: #fff;
135
+ }
136
+ #WBCR .wdan-button.wdan-button-danger[disabled] {
137
+ background-color: #c2cbd2;
138
+ }
139
+ #WBCR .wdan-button.wdan-button-danger:not([disabled]):hover {
140
+ opacity: 0.85;
141
+ -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
142
+ box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
143
+ }
144
+ #WBCR .wdan-button.wdan-button-danger:not([disabled]):active {
145
+ -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
146
+ box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
147
+ }
148
+ #WBCR .wdan-button.wdan-edit-template {
149
+ display: inline-block;
150
+ margin-top: 15px;
151
+ color: #fff;
152
+ }
153
+ #WBCR .wdan-button.wdan-button-default {
154
+ background-color: #a4afb7;
155
+ color: #fff;
156
+ font-size: 11px;
157
+ padding: 7px 21px;
158
+ }
159
+ #WBCR .wdan-button.wdan-button-default:hover {
160
+ background-color: #6d7882;
161
+ -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
162
+ box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
163
+ }
164
+ #WBCR .wdan-button.wdan-button-default:active {
165
+ -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
166
+ box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
167
+ }
168
+ #WBCR .wdan-button.wdan-button-default:visited {
169
+ color: #fff;
170
+ }
171
+ #WBCR .wdan-button.wdan-button-go-pro {
172
+ background-color: #ff5722;
173
+ }
174
+ #WBCR .wdan-button i {
175
+ margin-right: 10px;
176
+ }
components/disable-admin-notices/admin/assets/css/settings.less ADDED
@@ -0,0 +1,212 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #WBCR {
2
+ .factory-checkbox.wdanpro-checkbox-premium-label:after,
3
+ .wdanpro-radio-premium-label .factory-compact_panel:after {
4
+ display: inline-block;
5
+ position: relative;
6
+ content: 'PRO';
7
+ background: #ff5722;
8
+ border-radius: 4px;
9
+ color: #fff;
10
+ font-size: 10px;
11
+ line-height: 1;
12
+ font-style: normal;
13
+ padding: 4px 6px;
14
+ margin-left: 4px;
15
+ vertical-align: top;
16
+ top: -8px;
17
+ left: -10px;
18
+ right: auto;
19
+ z-index: 11;
20
+ }
21
+
22
+ .wdanpro-radio-premium-label .factory-compact_panel:after {
23
+ position: absolute;
24
+ top: -10px;
25
+ right: -10px;
26
+ left: auto;
27
+ }
28
+
29
+ .factory-checkbox-disabled input,
30
+ .factory-checkbox-disabled button,
31
+ .wdanpro-radio-premium-label .factory-compact_panel {
32
+ pointer-events: none;
33
+ cursor: not-allowed;
34
+ opacity: 0.65;
35
+ filter: alpha(opacity=65);
36
+ -webkit-box-shadow: none;
37
+ box-shadow: none;
38
+ }
39
+
40
+ .wrdan-premium-fake-content {
41
+ position: relative;
42
+ padding: 15px;
43
+
44
+ }
45
+
46
+ .wdan-premium-info {
47
+ position: absolute;
48
+ top: 50px;
49
+ left: 50%;
50
+ margin-left: -250px;
51
+ max-width: 500px;
52
+ z-index: 999;
53
+
54
+ h3 {
55
+ font-size: 32px;
56
+ font-weight: 300;
57
+ color: inherit;
58
+ margin: 40px 0 10px;
59
+ line-height: 1.2;
60
+ }
61
+
62
+ p {
63
+ font-size: 16px;
64
+ font-weight: 400;
65
+ color: #a4afb7;
66
+ margin-bottom: 40px;
67
+ }
68
+ }
69
+
70
+ .wdan-premium-layer {
71
+ position: absolute;
72
+ top: 0;
73
+ left: 0;
74
+ right: 0;
75
+ bottom: 0;
76
+ opacity: 0.9;
77
+ background: #fff;
78
+
79
+
80
+ }
81
+
82
+ .wdan-button {
83
+ font-family: Roboto, Arial, Helvetica, Verdana, sans-serif;
84
+ font-weight: 500;
85
+ text-transform: uppercase;
86
+ outline: none;
87
+ border: none;
88
+ text-decoration: none;
89
+ -webkit-border-radius: 3px;
90
+ border-radius: 3px;
91
+ -webkit-transition-property: background, color, opacity, -webkit-box-shadow;
92
+ transition-property: background, color, opacity, -webkit-box-shadow;
93
+ -o-transition-property: background, color, box-shadow, opacity;
94
+ transition-property: background, color, box-shadow, opacity;
95
+ transition-property: background, color, box-shadow, opacity, -webkit-box-shadow;
96
+ -webkit-transition-duration: .3s;
97
+ -o-transition-duration: .3s;
98
+ transition-duration: .3s
99
+ }
100
+
101
+ .wdan-button:hover {
102
+ border: none
103
+ }
104
+
105
+ .wdan-button:not([disabled]) {
106
+ cursor: pointer
107
+ }
108
+
109
+ .wdan-button:not(.wdan-button-state) .wdan-state-icon {
110
+ display: none
111
+ }
112
+
113
+ .wdan-button.wdan-button-success {
114
+ color: #fff
115
+ }
116
+
117
+ .wdan-button.wdan-button-success[disabled] {
118
+ background-color: #c2cbd2
119
+ }
120
+
121
+ .wdan-button.wdan-button-success:not([disabled]) {
122
+ background-color: #39b54a
123
+ }
124
+
125
+ .wdan-button.wdan-button-success:not([disabled]):hover {
126
+ opacity: .85;
127
+ -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, .12), 0 2px 2px rgba(0, 0, 0, .2);
128
+ box-shadow: 0 0 2px rgba(0, 0, 0, .12), 0 2px 2px rgba(0, 0, 0, .2)
129
+ }
130
+
131
+ .wdan-button.wdan-button-success:not([disabled]):active {
132
+ -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .19), 0 3px 3px rgba(0, 0, 0, .1);
133
+ box-shadow: 0 5px 10px rgba(0, 0, 0, .19), 0 3px 3px rgba(0, 0, 0, .1)
134
+ }
135
+
136
+ .wdan-button.wdan-button-warning {
137
+ background-color: #a4afb7;
138
+ color: #fff
139
+ }
140
+
141
+ .wdan-button.wdan-button-warning[disabled] {
142
+ background-color: #c2cbd2
143
+ }
144
+
145
+ .wdan-button.wdan-button-warning:not([disabled]):hover {
146
+ background-color: #b01b1b;
147
+ opacity: .85;
148
+ -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, .12), 0 2px 2px rgba(0, 0, 0, .2);
149
+ box-shadow: 0 0 2px rgba(0, 0, 0, .12), 0 2px 2px rgba(0, 0, 0, .2)
150
+ }
151
+
152
+ .wdan-button.wdan-button-warning:not([disabled]):active {
153
+ -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .19), 0 3px 3px rgba(0, 0, 0, .1);
154
+ box-shadow: 0 5px 10px rgba(0, 0, 0, .19), 0 3px 3px rgba(0, 0, 0, .1)
155
+ }
156
+
157
+ .wdan-button.wdan-button-danger {
158
+ background-color: #d72b3f;
159
+ color: #fff
160
+ }
161
+
162
+ .wdan-button.wdan-button-danger[disabled] {
163
+ background-color: #c2cbd2
164
+ }
165
+
166
+ .wdan-button.wdan-button-danger:not([disabled]):hover {
167
+ opacity: .85;
168
+ -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, .12), 0 2px 2px rgba(0, 0, 0, .2);
169
+ box-shadow: 0 0 2px rgba(0, 0, 0, .12), 0 2px 2px rgba(0, 0, 0, .2)
170
+ }
171
+
172
+ .wdan-button.wdan-button-danger:not([disabled]):active {
173
+ -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .19), 0 3px 3px rgba(0, 0, 0, .1);
174
+ box-shadow: 0 5px 10px rgba(0, 0, 0, .19), 0 3px 3px rgba(0, 0, 0, .1)
175
+ }
176
+
177
+ .wdan-button.wdan-edit-template {
178
+ display: inline-block;
179
+ margin-top: 15px;
180
+ color: #fff
181
+ }
182
+
183
+ .wdan-button.wdan-button-default {
184
+ background-color: #a4afb7;
185
+ color: #fff;
186
+ font-size: 11px;
187
+ padding: 7px 21px
188
+ }
189
+
190
+ .wdan-button.wdan-button-default:hover {
191
+ background-color: #6d7882;
192
+ -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, .12), 0 2px 2px rgba(0, 0, 0, .2);
193
+ box-shadow: 0 0 2px rgba(0, 0, 0, .12), 0 2px 2px rgba(0, 0, 0, .2)
194
+ }
195
+
196
+ .wdan-button.wdan-button-default:active {
197
+ -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .19), 0 3px 3px rgba(0, 0, 0, .1);
198
+ box-shadow: 0 5px 10px rgba(0, 0, 0, .19), 0 3px 3px rgba(0, 0, 0, .1)
199
+ }
200
+
201
+ .wdan-button.wdan-button-default:visited {
202
+ color: #fff
203
+ }
204
+
205
+ .wdan-button.wdan-button-go-pro {
206
+ background-color: #ff5722
207
+ }
208
+
209
+ .wdan-button i {
210
+ margin-right: 10px
211
+ }
212
+ }
components/disable-admin-notices/admin/boot.php CHANGED
@@ -36,15 +36,15 @@ if ( ! defined( 'LOADING_DISABLE_ADMIN_NOTICES_AS_ADDON' ) ) {
36
  * Ссылка ведет на страницу рейтинга в репозитори Wordpress.org
37
  * https://wordpress.org/support/plugin/disable-admin-notices/reviews/
38
  *
39
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
40
- * @since 1.0
41
- *
42
  * @param string $page_url
43
  * @param string $plugin_name
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
  }
@@ -91,4 +91,30 @@ if ( ! defined( 'LOADING_DISABLE_ADMIN_NOTICES_AS_ADDON' ) ) {
91
 
92
  return $options;
93
  } );
94
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
36
  * Ссылка ведет на страницу рейтинга в репозитори Wordpress.org
37
  * https://wordpress.org/support/plugin/disable-admin-notices/reviews/
38
  *
 
 
 
39
  * @param string $page_url
40
  * @param string $plugin_name
41
  *
42
  * @return string
43
+ * @since 1.0
44
+ *
45
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
46
  */
47
+ add_filter( 'wbcr_factory_pages_429_imppage_rating_widget_url', function ( $page_url, $plugin_name ) {
48
  if ( $plugin_name == WDN_Plugin::app()->getPluginName() ) {
49
  return 'https://goo.gl/68ucHp';
50
  }
91
 
92
  return $options;
93
  } );
94
+ }
95
+
96
+ /**
97
+ * Print admin notice: "Would you like to send them for spam checking?"
98
+ *
99
+ * If user clicked button "Yes, do it", plugin will exec action,
100
+ * that put all unapproved comments to spam check queue.
101
+ */
102
+ add_action( 'wbcr/factory/admin_notices', function ( $notices, $plugin_name ) {
103
+ if ( $plugin_name != WDN_Plugin::app()->getPluginName() ) {
104
+ return $notices;
105
+ }
106
+
107
+ $page_url = 'https://clearfy.pro/disable-admin-notices/';
108
+
109
+ $notice_text = sprintf( __( 'Thanks for using the Disable admin notices plugin! If you need support or all the features of the plugin, please buy the pro version <a class="button" href="%s">Get PRO</a>' ), $page_url );
110
+
111
+ $notices[] = [
112
+ 'id' => 'wdan_get_premium',
113
+ 'type' => 'success',
114
+ 'dismissible' => true,
115
+ 'dismiss_expires' => 0,
116
+ 'text' => '<p><strong>Disable Admin Notices Individually:</strong><br>' . $notice_text . '</p>'
117
+ ];
118
+
119
+ return $notices;
120
+ }, 10, 2 );
components/disable-admin-notices/admin/options.php CHANGED
@@ -21,9 +21,9 @@ if ( ! defined( 'ABSPATH' ) ) {
21
  * Эта функция используется для общей страницы настроек текущего плагина,
22
  * а также для раширения настроек в плагине Clearfy.
23
  *
24
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
25
- * @since 1.0
26
  * @return array Возвращает группу зарегистрируемых опций
 
 
27
  */
28
  function wbcr_dan_get_plugin_options() {
29
  $options = [];
@@ -33,32 +33,43 @@ function wbcr_dan_get_plugin_options() {
33
  'html' => '<div class="wbcr-factory-page-group-header">' . '<strong>' . __( 'Admin notifications, Update nags', 'disable-admin-notices' ) . '</strong>' . '<p>' . __( 'Do you know the situation, when some plugin offers you to update to premium, to collect technical data and shows many annoying notices? You are close these notices every now and again but they newly appears and interfere your work with WordPress. Even worse, some plugin’s authors delete “close” button from notices and they shows in your admin panel forever.', 'disable-admin-notices' ) . '</p>' . '</div>'
34
  ];
35
 
36
- $options[] = [
37
- 'type' => 'dropdown',
38
- 'name' => 'hide_admin_notices',
39
- 'way' => 'buttons',
40
- 'title' => __( 'Hide admin notices', 'disable-admin-notices' ),
41
- 'data' => [
42
- [
43
- 'all',
44
- __( 'All notices', 'disable-admin-notices' ),
45
- __( 'Hide all notices globally.', 'disable-admin-notices' )
46
- ],
47
- [
48
- 'only_selected',
49
- __( 'Only selected', 'disable-admin-notices' ),
50
- __( 'Hide selected notices only. You will see the link "Hide notification forever" in each notice. Push it and they will not bother you anymore.', 'disable-admin-notices' )
51
- ],
52
- [
53
- 'not_hide',
54
- __( "Don't nide", 'disable-admin-notices' ),
55
- __( 'Do not hide notices and do not show “Hide notification forever” link for admin.', 'disable-admin-notices' )
56
- ]
57
  ],
58
- 'layout' => [ 'hint-type' => 'icon', 'hint-icon-color' => 'green' ],
59
- 'hint' => __( 'Some plugins shows notifications about premium version, data collecting or promote their services. Even if you push close button (that sometimes are impossible), notices are shows again in some time. This option allows you to control notices. Hide them all or each individually. Some plugins shows notifications about premium version, data collecting or promote their services. Even if you push close button (that sometimes are impossible), notices are shows again in some time. This option allows you to control notices. Hide them all or each individually.', 'disable-admin-notices' ),
60
- 'default' => 'only_selected',
61
- 'events' => [
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
62
  'all' => [
63
  'show' => '.factory-control-hide_admin_notices_user_roles',
64
  'hide' => '.factory-control-reset_notices_button'
@@ -73,6 +84,30 @@ function wbcr_dan_get_plugin_options() {
73
  ]
74
  ];
75
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
76
  /*$options[] = array(
77
  'type' => 'dropdown',
78
  'name' => 'hide_admin_notices_for',
@@ -130,8 +165,8 @@ function wbcr_dan_get_plugin_options() {
130
  * Это необходимо для того, чтобы не создавать отдельную страницу в плагине Clearfy, \
131
  * с настройками этого плагина, потому что это ухудшает юзабилити.
132
  *
133
- * @param array $form Массив с группой настроек, страницы "Дополнительно" в плагине Clearfy
134
- * @param Wbcr_FactoryPages428_ImpressiveThemplate $page Экземпляр страницы
135
  *
136
  * @return mixed Отсортированный массив с группой опций
137
  */
@@ -158,10 +193,11 @@ add_filter( 'wbcr_clr_additionally_form_options', 'wbcr_dan_additionally_form_op
158
  * Эта модикация является не стандартной, поэтому мы не можете реалировать ее
159
  * через фреймворк.
160
  *
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;
@@ -184,33 +220,33 @@ function wbcr_dan_reset_notices_button( $html_builder ) {
184
  }
185
 
186
  ?>
187
- <div class="form-group form-group-checkbox factory-control-reset_notices_button">
188
- <label for="wbcr_clearfy_reset_notices_button" class="col-sm-4 control-label">
189
  <?= __( 'Reset hidden notices for', 'disable-admin-notices' ); ?>
190
- <span class="factory-hint-icon factory-hint-icon-grey" data-toggle="factory-tooltip" data-placement="right" title="" data-original-title="<?php _e( 'Push reset hidden notices if you need to show hidden notices again.', 'disable-admin-notices' ) ?>">
191
  <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC" alt="">
192
  </span>
193
- </label>
194
- <div class="control-group col-sm-8">
195
- <div class="factory-checkbox factory-from-control-checkbox factory-buttons-way btn-group">
196
- <form method="post">
197
  <?php wp_nonce_field( $form_name, 'wbcr_dan_reset_nonce' ); ?>
198
- <p>
199
- <input type="radio" name="wbcr_dan_reset_for_users" value="current_user" checked/> <?= __( 'current user', 'disable-admin-notices' ); ?>
200
- </p>
201
- <p>
202
- <input type="radio" name="wbcr_dan_reset_for_users" value="all"/> <?= __( 'all users', 'disable-admin-notices' ); ?>
203
- </p>
204
- <p>
205
- <input type="submit" name="wbcr_dan_reset_action" value="<?= __( 'Reset notices', 'disable-admin-notices' ); ?>" class="button button-default"/>
206
- </p>
207
  <?php if ( $reseted ): ?>
208
- <div style="color:green;margin-top:5px;"><?php _e( 'Hidden notices are successfully reset, now you can see them again!', 'disable-admin-notices' ) ?></div>
209
  <?php endif; ?>
210
- </form>
211
- </div>
212
- </div>
213
- </div>
214
  <?php
215
  }
216
 
21
  * Эта функция используется для общей страницы настроек текущего плагина,
22
  * а также для раширения настроек в плагине Clearfy.
23
  *
 
 
24
  * @return array Возвращает группу зарегистрируемых опций
25
+ * @since 1.0
26
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
27
  */
28
  function wbcr_dan_get_plugin_options() {
29
  $options = [];
33
  'html' => '<div class="wbcr-factory-page-group-header">' . '<strong>' . __( 'Admin notifications, Update nags', 'disable-admin-notices' ) . '</strong>' . '<p>' . __( 'Do you know the situation, when some plugin offers you to update to premium, to collect technical data and shows many annoying notices? You are close these notices every now and again but they newly appears and interfere your work with WordPress. Even worse, some plugin’s authors delete “close” button from notices and they shows in your admin panel forever.', 'disable-admin-notices' ) . '</p>' . '</div>'
34
  ];
35
 
36
+ $hide_admin_notices_data = [
37
+ [
38
+ 'not_hide',
39
+ __( "Don't hide", 'disable-admin-notices' ),
40
+ __( 'Do not hide notices and do not show “Hide notification forever” link for admin.', 'disable-admin-notices' )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
41
  ],
42
+ [
43
+ 'all',
44
+ __( 'All notices', 'disable-admin-notices' ),
45
+ __( 'Hide all notices globally.', 'disable-admin-notices' ) . sprintf( __( 'Watch the <a href="%s" target="_blank">video</a> to find out how it works .', 'disable-admin-notices' ), 'https://youtu.be/_Lv5i4P3Gqs' )
46
+ ],
47
+ [
48
+ 'only_selected',
49
+ __( 'Only selected', 'disable-admin-notices' ),
50
+ __( 'Hide selected notices only. You will see the link "Hide notification forever" in each notice. Push it and they will not bother you anymore.', 'disable-admin-notices' ) . sprintf( __( 'Watch the <a href="%s" target="_blank">video</a> to find out how it works .', 'disable-admin-notices' ), 'https://youtu.be/HazI81AsHuY' )
51
+ ]
52
+ ];
53
+
54
+ if ( ! defined( 'WCL_PLUGIN_ACTIVE' ) ) {
55
+ $hide_admin_notices_data[] = [
56
+ 'compact_panel',
57
+ __( 'Compact panel', 'disable-admin-notices' ),
58
+ __( 'Collapse all notifications in one line (panel with notification counters), to see the notifications, you will need to click this panel.', 'disable-admin-notices' ) . sprintf( __( 'Watch the <a href="%s" target="_blank">video</a> to find out how it works .', 'disable-admin-notices' ), 'https://youtu.be/437u1Js2o2M' )
59
+ ];
60
+ }
61
+
62
+ $options[] = [
63
+ 'type' => 'dropdown',
64
+ 'name' => 'hide_admin_notices',
65
+ 'way' => 'buttons',
66
+ 'title' => __( 'Hide admin notices', 'disable-admin-notices' ),
67
+ 'data' => $hide_admin_notices_data,
68
+ 'layout' => [ 'hint-type' => 'icon', 'hint-icon-color' => 'green' ],
69
+ 'hint' => __( 'Some plugins shows notifications about premium version, data collecting or promote their services. Even if you push close button (that sometimes are impossible), notices are shows again in some time. This option allows you to control notices. Hide them all or each individually. Some plugins shows notifications about premium version, data collecting or promote their services. Even if you push close button (that sometimes are impossible), notices are shows again in some time. This option allows you to control notices. Hide them all or each individually.', 'disable-admin-notices' ),
70
+ 'default' => 'only_selected',
71
+ 'cssClass' => ! ( WDN_Plugin::app()->premium->is_activate() && WDN_Plugin::app()->premium->is_install_package() ) ? [ 'wdanpro-radio-premium-label' ] : [],
72
+ 'events' => [
73
  'all' => [
74
  'show' => '.factory-control-hide_admin_notices_user_roles',
75
  'hide' => '.factory-control-reset_notices_button'
84
  ]
85
  ];
86
 
87
+ if ( ! defined( 'WCL_PLUGIN_ACTIVE' ) ) {
88
+ $options[] = [
89
+ 'type' => 'checkbox',
90
+ 'way' => 'buttons',
91
+ 'name' => 'disable_updates_nags_for_plugins',
92
+ 'title' => __( 'Disable plugins updates nags', 'disable-admin-notices' ),
93
+ 'layout' => [ 'hint-type' => 'icon', 'hint-icon-color' => 'grey' ],
94
+ 'hint' => __( 'Disable plugins updates nags', 'disable-admin-notices' ),
95
+ 'cssClass' => ! ( WDN_Plugin::app()->premium->is_activate() && WDN_Plugin::app()->premium->is_install_package() ) ? [ 'factory-checkbox-disabled wdanpro-checkbox-premium-label' ] : [],
96
+ 'default' => false
97
+ ];
98
+
99
+ $options[] = [
100
+ 'type' => 'checkbox',
101
+ 'way' => 'buttons',
102
+ 'name' => 'disable_updates_nags_for_core',
103
+ 'title' => __( 'Disable core updates nags', 'disable-admin-notices' ),
104
+ 'layout' => [ 'hint-type' => 'icon', 'hint-icon-color' => 'grey' ],
105
+ 'hint' => __( 'Disable core updates nags', 'disable-admin-notices' ),
106
+ 'cssClass' => ! ( WDN_Plugin::app()->premium->is_activate() && WDN_Plugin::app()->premium->is_install_package() ) ? [ 'factory-checkbox-disabled wdanpro-checkbox-premium-label' ] : [],
107
+ 'default' => false
108
+ ];
109
+ }
110
+
111
  /*$options[] = array(
112
  'type' => 'dropdown',
113
  'name' => 'hide_admin_notices_for',
165
  * Это необходимо для того, чтобы не создавать отдельную страницу в плагине Clearfy, \
166
  * с настройками этого плагина, потому что это ухудшает юзабилити.
167
  *
168
+ * @param array $form Массив с группой настроек, страницы "Дополнительно" в плагине Clearfy
169
+ * @param Wbcr_FactoryPages429_ImpressiveThemplate $page Экземпляр страницы
170
  *
171
  * @return mixed Отсортированный массив с группой опций
172
  */
193
  * Эта модикация является не стандартной, поэтому мы не можете реалировать ее
194
  * через фреймворк.
195
  *
196
+ * @param @param $html_builder Wbcr_FactoryForms427_Html
197
+ *
198
  * @since 1.0
199
  *
200
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
201
  */
202
  function wbcr_dan_reset_notices_button( $html_builder ) {
203
  global $wpdb;
220
  }
221
 
222
  ?>
223
+ <div class="form-group form-group-checkbox factory-control-reset_notices_button">
224
+ <label for="wbcr_clearfy_reset_notices_button" class="col-sm-4 control-label">
225
  <?= __( 'Reset hidden notices for', 'disable-admin-notices' ); ?>
226
+ <span class="factory-hint-icon factory-hint-icon-grey" data-toggle="factory-tooltip" data-placement="right" title="" data-original-title="<?php _e( 'Push reset hidden notices if you need to show hidden notices again.', 'disable-admin-notices' ) ?>">
227
  <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC" alt="">
228
  </span>
229
+ </label>
230
+ <div class="control-group col-sm-8">
231
+ <div class="factory-checkbox factory-from-control-checkbox factory-buttons-way btn-group">
232
+ <form method="post">
233
  <?php wp_nonce_field( $form_name, 'wbcr_dan_reset_nonce' ); ?>
234
+ <p>
235
+ <input type="radio" name="wbcr_dan_reset_for_users" value="current_user" checked/> <?= __( 'current user', 'disable-admin-notices' ); ?>
236
+ </p>
237
+ <p>
238
+ <input type="radio" name="wbcr_dan_reset_for_users" value="all"/> <?= __( 'all users', 'disable-admin-notices' ); ?>
239
+ </p>
240
+ <p>
241
+ <input type="submit" name="wbcr_dan_reset_action" value="<?= __( 'Reset notices', 'disable-admin-notices' ); ?>" class="button button-default"/>
242
+ </p>
243
  <?php if ( $reseted ): ?>
244
+ <div style="color:green;margin-top:5px;"><?php _e( 'Hidden notices are successfully reset, now you can see them again!', 'disable-admin-notices' ) ?></div>
245
  <?php endif; ?>
246
+ </form>
247
+ </div>
248
+ </div>
249
+ </div>
250
  <?php
251
  }
252
 
components/disable-admin-notices/admin/pages/class-pages-edit-admin-bar.php ADDED
@@ -0,0 +1,147 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // Exit if accessed directly
4
+ if ( ! defined( 'ABSPATH' ) ) {
5
+ exit;
6
+ }
7
+
8
+ /**
9
+ * Страница общих настроек для этого плагина.
10
+ *
11
+ * Не поддерживает режим работы с мультисаймами.
12
+ *
13
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
14
+ * @copyright (c) 2019 Webraftic Ltd
15
+ * @version 1.0
16
+ */
17
+ class WDAN_Edit_Admin_Bar extends Wbcr_FactoryClearfy221_PageBase {
18
+
19
+ /**
20
+ * {@inheritDoc}
21
+ *
22
+ * @var string
23
+ */
24
+ public $id = "wdanp-edit-admin-bar";
25
+
26
+ /**
27
+ * {@inheritDoc}
28
+ *
29
+ * @var string
30
+ */
31
+ public $type = "page";
32
+
33
+ /**
34
+ * {@inheritDoc}
35
+ *
36
+ * @var string
37
+ */
38
+ public $page_menu_dashicon = 'dashicons-hidden';
39
+
40
+ /**
41
+ * {@inheritDoc}
42
+ *
43
+ * @since 2.0.5 - добавлен
44
+ * @var bool
45
+ */
46
+ public $show_right_sidebar_in_options = false;
47
+
48
+
49
+ /**
50
+ * @param WDN_Plugin $plugin
51
+ */
52
+ public function __construct( $plugin ) {
53
+ $this->menu_title = __( 'Hide adminbar items', 'disable-admin-notices' );
54
+ $this->page_menu_short_description = __( 'You can hide an annoying adminbar menu', 'disable-admin-notices' );
55
+
56
+ parent::__construct( $plugin );
57
+
58
+ $this->plugin = $plugin;
59
+
60
+ add_action( 'wp_before_admin_bar_render', [ $this, 'remove_from_admin_bar' ], 999 );
61
+ }
62
+
63
+ /**
64
+ * Requests assets (js and css) for the page.
65
+ *
66
+ * @param Wbcr_Factory429_ScriptList $scripts
67
+ * @param Wbcr_Factory429_StyleList $styles
68
+ *
69
+ * @return void
70
+ * @see Wbcr_FactoryPages429_AdminPage
71
+ *
72
+ */
73
+ public function assets( $scripts, $styles ) {
74
+ parent::assets( $scripts, $styles );
75
+
76
+ $this->styles->add( WDN_PLUGIN_URL . '/admin/assets/css/settings.css' );
77
+ }
78
+
79
+ public function remove_from_admin_bar() {
80
+ global $wp_admin_bar;
81
+
82
+ if ( empty( $wp_admin_bar ) ) {
83
+ return;
84
+ }
85
+
86
+ $hidden_items = $this->plugin->getPopulateOption( 'hidden_adminbar_items', [] );
87
+
88
+ $nodes = [];
89
+ foreach ( $wp_admin_bar->get_nodes() as $node ) {
90
+ if ( false === $node->parent && ! empty( $node->title ) ) {
91
+ if ( "updates" === $node->id ) {
92
+ $node->title = "Updates";
93
+ }
94
+ if ( "comments" === $node->id ) {
95
+ $node->title = "Comments";
96
+ }
97
+ $nodes[ $node->id ] = strip_tags( $node->title );
98
+ }
99
+ }
100
+
101
+ $this->plugin->updatePopulateOption( 'adminbar_items', $nodes );
102
+ }
103
+
104
+ public function showPageContent() {
105
+ $all_items = $this->plugin->getPopulateOption( 'adminbar_items', [] );
106
+ $hidden_items = $this->plugin->getPopulateOption( 'hidden_adminbar_items', [] );
107
+
108
+ ?>
109
+
110
+ <div class="wrdan-premium-fake-content">
111
+ <div class="wdan-premium-info">
112
+ <h3>Hide admin bar items (menu) PRO</h3>
113
+ <p>This function allows you to disable annoying menu items in the admin bar. Some plugins take up space
114
+ in
115
+ the admin bar to insert their ads. Just get rid of this ad with the premium features of our
116
+ plugin.</p>
117
+ <a class="wdan-button wdan-button-default wdan-button-go-pro" target="_blank" href="https://clearfy.pro/disable-admin-notices/">Go
118
+ Pro</a>
119
+ </div>
120
+ <div class="wdan-premium-layer"></div>
121
+
122
+ <h4>Disable adminbar items</h4>
123
+ <table class="wp-list-table widefat fixed striped">
124
+ <tr>
125
+ <th><strong>Menu title</strong></th>
126
+ <th style="width:100px;"><strong>Action</strong></th>
127
+ </tr>
128
+ <?php foreach ( (array) $all_items as $ID => $title ): ?>
129
+
130
+ <tr>
131
+ <td><?php echo $title; ?></td>
132
+ <td>
133
+ <?php if ( ! isset( $hidden_items[ $ID ] ) ): ?>
134
+ <a style="color:#e66113;" href="<?php echo wp_nonce_url( $this->getActionUrl( 'disable-adminbar-item', [ 'id' => $ID ] ), 'disable_adminbar_item_' . $ID ); ?>">Disable</a>
135
+ <?php else: ?>
136
+ <a style="color:#428bca;" href="<?php echo wp_nonce_url( $this->getActionUrl( 'enable-adminbar-item', [ 'id' => $ID ] ), 'enable_adminbar_item_' . $ID ); ?>">Enable</a>
137
+ <?php endif; ?>
138
+ </td>
139
+ </tr>
140
+ <?php endforeach; ?>
141
+ </table>
142
+ </div>
143
+
144
+ <?php
145
+ }
146
+
147
+ }
components/disable-admin-notices/admin/pages/class-pages-edit-redirects.php ADDED
@@ -0,0 +1,164 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // Exit if accessed directly
4
+ if ( ! defined( 'ABSPATH' ) ) {
5
+ exit;
6
+ }
7
+
8
+ /**
9
+ * Страница общих настроек для этого плагина.
10
+ *
11
+ * Не поддерживает режим работы с мультисаймами.
12
+ *
13
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
14
+ * @copyright (c) 2019 Webraftic Ltd
15
+ * @version 1.0
16
+ */
17
+ class WDAN_Block_Ad_Redirects extends Wbcr_FactoryClearfy221_PageBase {
18
+
19
+ /**
20
+ * {@inheritDoc}
21
+ *
22
+ * @var string
23
+ */
24
+ public $id = "wdanp-edit-redirects";
25
+
26
+ /**
27
+ * {@inheritDoc}
28
+ *
29
+ * @var string
30
+ */
31
+ public $type = "page";
32
+
33
+ /**
34
+ * {@inheritDoc}
35
+ *
36
+ * @var string
37
+ */
38
+ public $page_menu_dashicon = 'dashicons dashicons-undo';
39
+
40
+ /**
41
+ * {@inheritDoc}
42
+ *
43
+ * @since 2.0.5 - добавлен
44
+ * @var bool
45
+ */
46
+ public $show_right_sidebar_in_options = false;
47
+
48
+
49
+ /**
50
+ * @param WDN_Plugin $plugin
51
+ */
52
+ public function __construct( $plugin ) {
53
+ $this->menu_title = __( 'Block ad redirects', 'disable-admin-notices' );
54
+ $this->page_menu_short_description = __( 'Break advertising redirects', 'disable-admin-notices' );
55
+
56
+ parent::__construct( $plugin );
57
+
58
+ $this->plugin = $plugin;
59
+ }
60
+
61
+ /**
62
+ * Requests assets (js and css) for the page.
63
+ *
64
+ * @param Wbcr_Factory429_ScriptList $scripts
65
+ * @param Wbcr_Factory429_StyleList $styles
66
+ *
67
+ * @return void
68
+ * @see Wbcr_FactoryPages429_AdminPage
69
+ *
70
+ */
71
+ public function assets( $scripts, $styles ) {
72
+ parent::assets( $scripts, $styles );
73
+
74
+ $this->styles->add( WDN_PLUGIN_URL . '/admin/assets/css/settings.css' );
75
+ }
76
+
77
+ public function get_break_redirects() {
78
+ return [];
79
+ }
80
+
81
+ public function showPageContent() {
82
+ $redirects = $this->get_break_redirects();
83
+ ?>
84
+
85
+ <div class="wrdan-premium-fake-content">
86
+ <div class="wdan-premium-info">
87
+ <h3>Block Ad redirects PRO</h3>
88
+ <p>This feature will be useful to you to break advertising redirects. Some plugins, when updating or
89
+ during
90
+ installation, may redirect you to their page with advertisements or news. If plugins do this too
91
+ often,
92
+ it can be a headache for you. Break these redirects with our premium features.</p>
93
+ <a class="wdan-button wdan-button-default wdan-button-go-pro" target="_blank" href="https://clearfy.pro/disable-admin-notices/">
94
+ Go Pro
95
+ </a>
96
+ </div>
97
+ <div class="wdan-premium-layer"></div>
98
+
99
+ <h4>Block ad redirects</h4>
100
+ <form method="post">
101
+ <label for="wdnpro-redirect-url">Enter url for block:</label><br>
102
+ <input id="wdnpro-redirect-url" style="width:400px;" type="text" name="wdnpro_redirect_url">
103
+ <input type="submit" name="wdnpro_add_block" class="button" value="Add block">
104
+ </form>
105
+ <br>
106
+ <table class="wp-list-table widefat fixed striped">
107
+ <tr>
108
+ <th>Url</th>
109
+ <th style="width:200px;">Action</th>
110
+ </tr>
111
+ <tr>
112
+ <td>
113
+ https://site.com/wp-admin/?page=plugin-name&ads=redirect
114
+ </td>
115
+ <td>
116
+ <a style="color:#428bca;" href="#">Unblock</a>
117
+ </td>
118
+ </tr>
119
+ <tr>
120
+ <td>
121
+ https://site.com/wp-admin/?page=plugin-name&ads=redirect
122
+ </td>
123
+ <td>
124
+ <a style="color:#428bca;" href="#">Unblock</a>
125
+ </td>
126
+ </tr>
127
+ <tr>
128
+ <td>
129
+ https://site.com/wp-admin/?page=plugin-name&ads=redirect
130
+ </td>
131
+ <td>
132
+ <a style="color:#428bca;" href="#">Unblock</a>
133
+ </td>
134
+ </tr>
135
+ <tr>
136
+ <td>
137
+ https://site.com/wp-admin/?page=plugin-name&ads=redirect
138
+ </td>
139
+ <td>
140
+ <a style="color:#428bca;" href="#">Unblock</a>
141
+ </td>
142
+ </tr>
143
+ <tr>
144
+ <td>
145
+ https://site.com/wp-admin/?page=plugin-name&ads=redirect
146
+ </td>
147
+ <td>
148
+ <a style="color:#428bca;" href="#">Unblock</a>
149
+ </td>
150
+ </tr>
151
+ <tr>
152
+ <td>
153
+ https://site.com/wp-admin/?page=plugin-name&ads=redirect
154
+ </td>
155
+ <td>
156
+ <a style="color:#428bca;" href="#">Unblock</a>
157
+ </td>
158
+ </tr>
159
+ </table>
160
+ </div>
161
+ <?php
162
+ }
163
+
164
+ }
components/disable-admin-notices/admin/pages/class-pages-license.php ADDED
@@ -0,0 +1,103 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ // Exit if accessed directly
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
+ exit;
5
+ }
6
+
7
+ /**
8
+ * Страница лицензирования плагина.
9
+ *
10
+ * Поддерживает режим работы с мультисаймами. Вы можете увидеть эту страницу в панели настройки сети.
11
+ *
12
+ * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
13
+ *
14
+ * @copyright (c) 2018 Webraftic Ltd
15
+ */
16
+ class WDN_LicensePage extends Wbcr_FactoryClearfy221_LicensePage {
17
+
18
+ /**
19
+ * {@inheritdoc}
20
+ *
21
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
22
+ * @since 1.6.0
23
+ * @var string
24
+ */
25
+ public $id = 'wdn_license';
26
+
27
+ /**
28
+ * {@inheritdoc}
29
+ *
30
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
31
+ * @since 1.6.0
32
+ * @var string
33
+ */
34
+ public $page_parent_page;
35
+
36
+ /**
37
+ * WCL_LicensePage constructor.
38
+ *
39
+ * @param \Wbcr_Factory429_Plugin $plugin
40
+ *
41
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
42
+ *
43
+ */
44
+ public function __construct( Wbcr_Factory429_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 = __( 'Disable admin notices premium', 'robin-image-optimizer' );
48
+
49
+ /*if ( defined( 'WIO_PLUGIN_ACTIVE' ) && ! wrio_is_clearfy_license_activate() ) {
50
+ $this->page_parent_page = 'none';
51
+ }*/
52
+
53
+ parent::__construct( $plugin );
54
+
55
+ /**
56
+ * Adds a new plugin card to license components page
57
+ *
58
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
59
+ * @since 1.6.2
60
+ */
61
+ /*add_filter( 'wbcr/clearfy/license/list_components', function ( $components ) {
62
+ $title = 'Free';
63
+ $icon = 'clearfy-premium-icon-256x256--lock.png';
64
+
65
+ if ( $this->is_premium ) {
66
+ $title = 'Premium';
67
+ $icon = 'clearfy-premium-icon-256x256--default.png';
68
+ }
69
+
70
+ $components[] = [
71
+ 'name' => 'clearfy',
72
+ 'title' => sprintf( __( 'Clearfy [%s]', 'clearfy' ), $title ),
73
+ 'type' => 'internal',
74
+ 'build' => $this->is_premium ? 'premium' : 'free',
75
+ 'key' => $this->get_hidden_license_key(),
76
+ 'plan' => $this->get_plan(),
77
+ 'expiration_days' => $this->get_expiration_days(),
78
+ 'quota' => $this->is_premium ? $this->premium_license->get_count_active_sites() . ' ' . __( 'of', 'clearfy' ) . ' ' . $this->premium_license->get_sites_quota() : null,
79
+ 'subscription' => $this->is_premium && $this->premium_has_subscription ? sprintf( __( 'Automatic renewal, every %s', '' ), esc_attr( $this->get_billing_cycle_readable() ) ) : null,
80
+ 'url' => 'https://clearfy.pro/',
81
+ 'icon' => WCL_PLUGIN_URL . '/admin/assets/img/' . $icon,
82
+ 'description' => __( '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.', 'clearfy' ),
83
+ 'license_page_id' => 'clearfy_license'
84
+ ];
85
+
86
+ return $components;
87
+ } );*/
88
+ }
89
+
90
+ /**
91
+ * {@inheritdoc}
92
+ *
93
+ * @return string
94
+ * @since 1.6.0
95
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
96
+ */
97
+ /*public function get_plan_description() {
98
+ $description = '<p style="font-size: 16px;">' . __( '<b>Clearfy Business</b> is a paid package of components for the popular free WordPress plugin named Clearfy. You get access to all paid components at one price.', 'clearfy' ) . '</p>';
99
+ $description .= '<p style="font-size: 16px;">' . __( 'Paid license guarantees that you can download and update existing and future paid components of the plugin.', 'clearfy' ) . '</p>';
100
+
101
+ return $description;
102
+ }*/
103
+ }
components/disable-admin-notices/admin/pages/class-pages-settings.php ADDED
@@ -0,0 +1,148 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Страница общих настроек для этого плагина.
4
+ *
5
+ * Может быть использована только, если этот плагин используется как отдельный плагин, а не как аддон
6
+ * дя плагина Clearfy. Если плагин загружен, как аддон для Clearfy, эта страница не будет подключена.
7
+ *
8
+ * Поддерживает режим работы с мультисаймами. Вы можете увидеть эту страницу в панели настройки сети.
9
+ *
10
+ * Github: https://github.com/alexkovalevv
11
+ *
12
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
13
+ * @copyright (c) 2018 Webraftic Ltd
14
+ * @version 1.0
15
+ */
16
+
17
+ // Exit if accessed directly
18
+ if ( ! defined( 'ABSPATH' ) ) {
19
+ exit;
20
+ }
21
+
22
+ class WDN_Settings_Page extends Wbcr_FactoryClearfy221_PageBase {
23
+
24
+ /**
25
+ * {@inheritDoc}
26
+ *
27
+ * @var string
28
+ */
29
+ public $id = "wdan_settings";
30
+
31
+ /**
32
+ * {@inheritDoc}
33
+ *
34
+ * @var string
35
+ */
36
+ public $page_menu_dashicon = 'dashicons-admin-generic';
37
+
38
+ /**
39
+ * {@inheritDoc}
40
+ *
41
+ * @var bool
42
+ */
43
+ public $available_for_multisite = true;
44
+
45
+ /**
46
+ * {@inheritDoc}
47
+ *
48
+ * @since 1.1.0
49
+ * @var bool
50
+ */
51
+ public $show_right_sidebar_in_options = true;
52
+
53
+ /**
54
+ * {@inheritDoc}
55
+ *
56
+ * @since 1.1.3 - Added
57
+ * @var bool - true show, false hide
58
+ */
59
+ public $show_search_options_form = false;
60
+
61
+ /**
62
+ * {@inheritDoc}
63
+ * @var int
64
+ */
65
+ public $page_menu_position = 100;
66
+
67
+
68
+ /**
69
+ * @param Wbcr_Factory429_Plugin $plugin
70
+ */
71
+ public function __construct( Wbcr_Factory429_Plugin $plugin ) {
72
+ $this->menu_title = __( 'Hide admin notices', 'disable-admin-notices' );
73
+ $this->page_menu_short_description = __( 'General settings', 'disable-admin-notices' );
74
+
75
+ $this->internal = false;
76
+ $this->menu_target = 'options-general.php';
77
+ $this->add_link_to_plugin_actions = true;
78
+
79
+ parent::__construct( $plugin );
80
+
81
+ $this->plugin = $plugin;
82
+ }
83
+
84
+ public function getPageTitle() {
85
+ return __( 'Settings', 'disable-admin-notices' );
86
+ }
87
+
88
+ /**
89
+ * Requests assets (js and css) for the page.
90
+ *
91
+ * @param Wbcr_Factory429_ScriptList $scripts
92
+ * @param Wbcr_Factory429_StyleList $styles
93
+ *
94
+ * @return void
95
+ * @see Wbcr_FactoryPages429_AdminPage
96
+ *
97
+ */
98
+ public function assets( $scripts, $styles ) {
99
+ parent::assets( $scripts, $styles );
100
+
101
+ $this->styles->add( WDN_PLUGIN_URL . '/admin/assets/css/settings.css' );
102
+ }
103
+
104
+ /**
105
+ * {@inheritDoc}
106
+ *
107
+ * @return array
108
+ */
109
+ public function actionsNotice( $notices ) {
110
+ $notices[] = [
111
+ 'conditions' => [
112
+ 'wbcr_dan_reseted_notices' => 1
113
+ ],
114
+ 'type' => 'success',
115
+ 'message' => __( 'Hidden notices are successfully reset, now you can see them again!', 'disable-admin-notices' )
116
+ ];
117
+
118
+ /*$notices[] = array(
119
+ 'conditions' => array(
120
+ 'wbcr_dan_clear_comments_error' => 1,
121
+ 'wbcr_dan_code' => 'interal_error'
122
+ ),
123
+ 'type' => 'danger',
124
+ 'message' => __('An error occurred while trying to delete comments. Internal error occured. Please try again later.', 'factory_pages_429')
125
+ );*/
126
+
127
+ return $notices;
128
+ }
129
+
130
+ /**
131
+ * {@inheritDoc}
132
+ *
133
+ * @return array
134
+ */
135
+ public function getPageOptions() {
136
+ $options = wbcr_dan_get_plugin_options();
137
+
138
+ $formOptions = [];
139
+
140
+ $formOptions[] = [
141
+ 'type' => 'form-group',
142
+ 'items' => $options,
143
+ //'cssClass' => 'postbox'
144
+ ];
145
+
146
+ return apply_filters( 'wbcr_dan_notices_form_options', $formOptions, $this );
147
+ }
148
+ }
components/disable-admin-notices/admin/pages/class-pages.php ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Страница общих настроек для этого плагина.
4
+ *
5
+ * Может быть использована только, если этот плагин используется как отдельный плагин, а не как аддон
6
+ * дя плагина Clearfy. Если плагин загружен, как аддон для Clearfy, эта страница не будет подключена.
7
+ *
8
+ * Поддерживает режим работы с мультисаймами. Вы можете увидеть эту страницу в панели настройки сети.
9
+ *
10
+ * Github: https://github.com/alexkovalevv
11
+ *
12
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
13
+ * @copyright (c) 2018 Webraftic Ltd
14
+ * @version 1.0
15
+ */
16
+
17
+ // Exit if accessed directly
18
+ if ( ! defined( 'ABSPATH' ) ) {
19
+ exit;
20
+ }
21
+
22
+ class WDN_Page extends Wbcr_FactoryClearfy221_PageBase {
23
+
24
+
25
+ }
components/disable-admin-notices/clearfy.php CHANGED
@@ -18,7 +18,7 @@ if ( ! defined( 'ABSPATH' ) ) {
18
  }
19
 
20
  if ( ! defined( 'WDN_PLUGIN_ACTIVE' ) ) {
21
- define( 'WDN_PLUGIN_VERSION', '1.1.0' );
22
  define( 'WDN_TEXT_DOMAIN', 'disable-admin-notices' );
23
  define( 'WDN_PLUGIN_ACTIVE', true );
24
 
18
  }
19
 
20
  if ( ! defined( 'WDN_PLUGIN_ACTIVE' ) ) {
21
+ define( 'WDN_PLUGIN_VERSION', '1.1.2' );
22
  define( 'WDN_TEXT_DOMAIN', 'disable-admin-notices' );
23
  define( 'WDN_PLUGIN_ACTIVE', true );
24
 
components/disable-admin-notices/disable-admin-notices.php CHANGED
@@ -4,11 +4,11 @@
4
  * Plugin URI: https://webcraftic.com
5
  * Description: Disable admin notices plugin gives you the option to hide updates warnings and inline notices in the admin panel.
6
  * Author: Webcraftic <wordpress.webraftic@gmail.com>
7
- * Version: 1.1.1
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
  /**
@@ -41,38 +41,55 @@ require_once( dirname( __FILE__ ) . '/libs/factory/core/includes/class-factory-r
41
 
42
  // @formatter:off
43
  $wdan_plugin_info = array(
44
- 'prefix' => 'wbcr_dan_',
45
- 'plugin_name' => 'wbcr_dan',
46
- 'plugin_title' => __( 'Webcraftic disable admin notices', 'disable-admin-notices' ),
47
 
48
  // PLUGIN SUPPORT
49
  'support_details' => array(
50
- 'url' => 'https://webcraftic.com',
51
  'pages_map' => array(
52
- 'support' => 'support', // {site}/support
53
- 'docs' => 'docs' // {site}/docs
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
54
  )
55
  ),
56
-
57
  // PLUGIN ADVERTS
58
- 'render_adverts' => true,
59
- 'adverts_settings' => array(
60
- 'dashboard_widget' => true, // show dashboard widget (default: false)
61
  'right_sidebar' => true, // show adverts sidebar (default: false)
62
- 'notice' => true, // show notice message (default: false)
63
  ),
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',
@@ -80,6 +97,7 @@ $wdan_compatibility = new Wbcr_Factory428_Requirements( __FILE__, array_merge( $
80
  ) ) );
81
 
82
 
 
83
  /**
84
  * If the plugin is compatible, then it will continue its work, otherwise it will be stopped,
85
  * and the user will throw a warning.
@@ -105,7 +123,6 @@ define( 'WDN_PLUGIN_URL', plugins_url( null, __FILE__ ) );
105
 
106
 
107
 
108
-
109
  /**
110
  * -----------------------------------------------------------------------------
111
  * PLUGIN INIT
4
  * Plugin URI: https://webcraftic.com
5
  * Description: Disable admin notices plugin gives you the option to hide updates warnings and inline notices in the admin panel.
6
  * Author: Webcraftic <wordpress.webraftic@gmail.com>
7
+ * Version: 1.2.1
8
  * Text Domain: disable-admin-notices
9
  * Domain Path: /languages/
10
  * Author URI: https://webcraftic.com
11
+ * Framework Version: FACTORY_429_VERSION
12
  */
13
 
14
  /**
41
 
42
  // @formatter:off
43
  $wdan_plugin_info = array(
44
+ 'prefix' => 'wbcr_dan_',
45
+ 'plugin_name' => 'wbcr_dan',
46
+ 'plugin_title' => __( 'Webcraftic disable admin notices', 'disable-admin-notices' ),
47
 
48
  // PLUGIN SUPPORT
49
  'support_details' => array(
50
+ 'url' => 'https://clearfy.pro/',
51
  'pages_map' => array(
52
+ 'support' => 'support', // {site}/support
53
+ 'docs' => 'docs', // {site}/docs,
54
+ 'pricing' => 'disable-admin-notices'
55
+ )
56
+ ),
57
+ // PLUGIN PREMIUM SETTINGS
58
+ 'has_premium' => true,
59
+ 'license_settings' => array(
60
+ 'provider' => 'freemius',
61
+ 'slug' => 'disable-admin-notices-premium',
62
+ 'plugin_id' => '6456',
63
+ 'public_key' => 'pk_0570ec3c1b4100b9c9a0cbfe80f9f',
64
+ 'price' => 29,
65
+ 'has_updates' => true,
66
+ 'updates_settings' => array(
67
+ 'maybe_rollback' => true,
68
+ 'rollback_settings' => array(
69
+ 'prev_stable_version' => '0.0.0'
70
+ )
71
  )
72
  ),
 
73
  // PLUGIN ADVERTS
74
+ 'render_adverts' => true,
75
+ 'adverts_settings' => array(
76
+ 'dashboard_widget' => false, // show dashboard widget (default: false)
77
  'right_sidebar' => true, // show adverts sidebar (default: false)
78
+ 'notice' => false, // show notice message (default: false)
79
  ),
80
 
81
  // FRAMEWORK MODULES
82
  'load_factory_modules' => array(
83
+ array( 'libs/factory/bootstrap', 'factory_bootstrap_430', 'admin' ),
84
+ array( 'libs/factory/forms', 'factory_forms_427', 'admin' ),
85
+ array( 'libs/factory/pages', 'factory_pages_429', 'admin' ),
86
+ array( 'libs/factory/clearfy', 'factory_clearfy_221', 'all' ),
87
+ array( 'libs/factory/freemius', 'factory_freemius_117', 'all' ),
88
+ array( 'libs/factory/adverts', 'factory_adverts_109', 'admin' )
89
  )
90
  );
91
 
92
+ $wdan_compatibility = new Wbcr_Factory429_Requirements( __FILE__, array_merge( $wdan_plugin_info, array(
93
  'plugin_already_activate' => defined( 'WDN_PLUGIN_ACTIVE' ),
94
  'required_php_version' => '5.4',
95
  'required_wp_version' => '4.2.0',
97
  ) ) );
98
 
99
 
100
+
101
  /**
102
  * If the plugin is compatible, then it will continue its work, otherwise it will be stopped,
103
  * and the user will throw a warning.
123
 
124
 
125
 
 
126
  /**
127
  * -----------------------------------------------------------------------------
128
  * PLUGIN INIT
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_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;
@@ -26,7 +26,7 @@ class WDN_Plugin extends Wbcr_Factory428_Plugin {
26
 
27
  /**
28
  * @param string $plugin_path
29
- * @param array $data
30
  *
31
  * @throws Exception
32
  */
@@ -44,35 +44,43 @@ class WDN_Plugin extends Wbcr_Factory428_Plugin {
44
  }
45
 
46
  /**
47
- * @return Wbcr_Factory428_Plugin
48
  */
49
  public static function app() {
50
  return self::$app;
51
  }
52
 
53
  private function registerPages() {
54
- if ( $this->as_addon ) {
55
- return;
 
 
 
56
  }
57
 
58
- self::app()->registerPage( 'WDN_NoticesPage', WDN_PLUGIN_DIR . '/admin/pages/class-pages-notices.php' );
59
- self::app()->registerPage( 'WDN_MoreFeaturesPage', WDN_PLUGIN_DIR . '/admin/pages/class-pages-more-features.php' );
60
  }
61
 
62
  private function admin_scripts() {
63
  require( WDN_PLUGIN_DIR . '/admin/options.php' );
64
 
65
  if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
66
- require( WDN_PLUGIN_DIR . '/admin/ajax/hide-notice.php' );
67
- require( WDN_PLUGIN_DIR . '/admin/ajax/restore-notice.php' );
68
  }
69
 
70
- require( WDN_PLUGIN_DIR . '/admin/boot.php' );
71
- $this->registerPages();
 
 
 
 
 
72
  }
73
 
74
  private function global_scripts() {
75
- require( WDN_PLUGIN_DIR . '/includes/classes/class-configurate-notices.php' );
 
76
  new WDN_ConfigHideNotices( self::$app );
77
  }
78
  }
9
  */
10
 
11
  // Exit if accessed directly
12
+ //use WBCR\Factory_Adverts_109\Base;
13
 
14
  if ( ! defined( 'ABSPATH' ) ) {
15
  exit;
16
  }
17
 
18
+ class WDN_Plugin extends Wbcr_Factory429_Plugin {
19
 
20
  /**
21
+ * @var Wbcr_Factory429_Plugin
22
  */
23
  private static $app;
24
  private $plugin_data;
26
 
27
  /**
28
  * @param string $plugin_path
29
+ * @param array $data
30
  *
31
  * @throws Exception
32
  */
44
  }
45
 
46
  /**
47
+ * @return Wbcr_Factory429_Plugin
48
  */
49
  public static function app() {
50
  return self::$app;
51
  }
52
 
53
  private function registerPages() {
54
+ self::app()->registerPage( 'WDN_Settings_Page', WDN_PLUGIN_DIR . '/admin/pages/class-pages-settings.php' );
55
+
56
+ if ( ! ( $this->premium->is_activate() && $this->premium->is_install_package() ) ) {
57
+ self::app()->registerPage( 'WDAN_Block_Ad_Redirects', WDN_PLUGIN_DIR . '/admin/pages/class-pages-edit-redirects.php' );
58
+ self::app()->registerPage( 'WDAN_Edit_Admin_Bar', WDN_PLUGIN_DIR . '/admin/pages/class-pages-edit-admin-bar.php' );
59
  }
60
 
61
+ self::app()->registerPage( 'WDN_LicensePage', WDN_PLUGIN_DIR . '/admin/pages/class-pages-license.php' );
 
62
  }
63
 
64
  private function admin_scripts() {
65
  require( WDN_PLUGIN_DIR . '/admin/options.php' );
66
 
67
  if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
68
+ require_once( WDN_PLUGIN_DIR . '/admin/ajax/hide-notice.php' );
69
+ require_once( WDN_PLUGIN_DIR . '/admin/ajax/restore-notice.php' );
70
  }
71
 
72
+ require_once( WDN_PLUGIN_DIR . '/admin/boot.php' );
73
+ require_once( WDN_PLUGIN_DIR . '/admin/pages/class-pages-edit-admin-bar.php' );
74
+ require_once( WDN_PLUGIN_DIR . '/admin/pages/class-pages-edit-redirects.php' );
75
+
76
+ add_action( 'plugins_loaded', function () {
77
+ $this->registerPages();
78
+ }, 30 );
79
  }
80
 
81
  private function global_scripts() {
82
+ require_once( WDN_PLUGIN_DIR . '/includes/function.php' );
83
+ require_once( WDN_PLUGIN_DIR . '/includes/classes/class-configurate-notices.php' );
84
  new WDN_ConfigHideNotices( self::$app );
85
  }
86
  }
components/disable-admin-notices/includes/classes/class-configurate-notices.php CHANGED
@@ -11,109 +11,104 @@
11
  */
12
 
13
  // Exit if accessed directly
14
- if( !defined('ABSPATH') ) {
15
  exit;
16
  }
17
 
18
- class WDN_ConfigHideNotices extends Wbcr_FactoryClearfy220_Configurate {
19
 
20
- public function registerActionsAndFilters()
21
- {
22
- if( is_admin() ) {
23
- $hide_notices_type = $this->getPopulateOption('hide_admin_notices');
24
 
25
- if( $hide_notices_type != 'not_hide' ) {
26
- add_action('admin_print_scripts', [$this, 'catchNotices'], 999);
27
 
28
- if( empty($hide_notices_type) || $hide_notices_type == 'only_selected' ) {
29
- add_action('admin_head', [$this, 'printNotices'], 999);
30
  }
31
 
32
- if( !empty($hide_notices_type) ) {
33
- add_action('admin_bar_menu', [$this, 'notificationsPanel'], 999);
34
- add_action('admin_enqueue_scripts', [$this, 'notificationsPanelStyles']);
35
  }
36
  }
37
  }
38
  }
39
 
40
- public function printNotices()
41
- {
42
- if( is_multisite() && is_network_admin() ) {
43
- add_action('network_admin_notices', [$this, 'noticesCollection']);
44
  } else {
45
- add_action('admin_notices', [$this, 'noticesCollection']);
46
  }
47
  }
48
 
49
 
50
- public function notificationsPanelStyles()
51
- {
52
- if( !$this->getPopulateOption('show_notices_in_adminbar', false) && current_user_can('manage_network') ) {
53
  return;
54
  }
55
 
56
- wp_enqueue_style('wbcr-notification-panel-styles', WDN_PLUGIN_URL . '/admin/assets/css/notifications-panel.css', [], $this->plugin->getPluginVersion());
57
- wp_enqueue_script('wbcr-notification-panel-scripts', WDN_PLUGIN_URL . '/admin/assets/js/notifications-panel.js', [], $this->plugin->getPluginVersion());
58
  }
59
 
60
- public function notificationsPanel(&$wp_admin_bar)
61
- {
62
- if( !$this->getPopulateOption('show_notices_in_adminbar', false) ) {
63
  return;
64
  }
65
 
66
- if( current_user_can('manage_options') || current_user_can('manage_network') ) {
67
  $titles = [];
68
 
69
- $notifications = get_user_meta(get_current_user_id(), WDN_Plugin::app()->getOptionName('hidden_notices'), true);
70
 
71
- if( empty($notifications) ) {
72
  return;
73
  }
74
 
75
- $cont_notifications = sizeof($notifications);
76
 
77
  // Add top menu
78
- $wp_admin_bar->add_menu([
79
- 'id' => 'wbcr-han-notify-panel',
80
  'parent' => 'top-secondary',
81
- 'title' => sprintf(__('Notifications %s', 'disable-admin-notices'), '<span class="wbcr-han-adminbar-counter">' . $cont_notifications . '</span>'),
82
- 'href' => false
83
- ]);
84
 
85
  // loop
86
- if( !empty($notifications) ) {
87
  $i = 0;
88
- foreach($notifications as $notice_id => $message) {
89
- $message = $this->getExcerpt(stripslashes($message), 0, 350);
90
  $message .= '<div class="wbcr-han-panel-restore-notify-line">';
91
- $message .= '<a href="#" data-nonce="' . wp_create_nonce($this->plugin->getPluginName() . '_ajax_restore_notice_nonce');
92
- $message .= '" data-notice-id="' . esc_attr($notice_id) . '" class="wbcr-han-panel-restore-notify-link">';
93
- $message .= __('Restore notice', 'clearfy') . (isset($titles[$notice_id]) ? ' (' . $titles[$notice_id] . ')' : '');
94
  $message .= '</a></div>';
95
 
96
- $wp_admin_bar->add_menu([
97
- 'id' => 'wbcr-han-notify-panel-item-' . $i,
98
  'parent' => 'wbcr-han-notify-panel',
99
- 'title' => $message,
100
- 'href' => false,
101
- 'meta' => [
102
  'class' => ''
103
  ]
104
- ]);
105
 
106
- $i++;
107
  }
108
  }
109
  }
110
  }
111
 
112
- public function noticesCollection()
113
- {
114
  global $wbcr_dan_plugin_all_notices;
115
 
116
- if( empty($wbcr_dan_plugin_all_notices) ) {
117
  return;
118
  }
119
  ?>
@@ -201,20 +196,19 @@ class WDN_ConfigHideNotices extends Wbcr_FactoryClearfy220_Configurate {
201
  });
202
  </script>
203
  <?php
204
- foreach($wbcr_dan_plugin_all_notices as $val) {
205
  echo $val;
206
  }
207
  }
208
 
209
- public function catchNotices()
210
- {
211
  global $wbcr_dan_plugin_all_notices;
212
 
213
  try {
214
- if( is_multisite() && is_network_admin() ) {
215
- $wp_filter_admin_notices = &$this->getWPFilter('network_admin_notices');
216
  } else {
217
- $wp_filter_admin_notices = &$this->getWPFilter('admin_notices');
218
  }
219
  //todo: Доработать all admin notices
220
 
@@ -222,16 +216,16 @@ class WDN_ConfigHideNotices extends Wbcr_FactoryClearfy220_Configurate {
222
  $wp_filter_admin_notices = null;
223
  }
224
 
225
- $hide_notices_type = $this->getPopulateOption('hide_admin_notices');
226
 
227
- if( empty($hide_notices_type) || $hide_notices_type == 'only_selected' ) {
228
- $get_hidden_notices = get_user_meta(get_current_user_id(), WDN_Plugin::app()->getOptionName('hidden_notices'), true);
229
 
230
  $content = [];
231
- foreach((array)$wp_filter_admin_notices as $filters) {
232
- foreach($filters as $callback_name => $callback) {
233
 
234
- if( 'usof_hide_admin_notices_start' == $callback_name || 'usof_hide_admin_notices_end' == $callback_name ) {
235
  continue;
236
  }
237
 
@@ -239,68 +233,69 @@ class WDN_ConfigHideNotices extends Wbcr_FactoryClearfy220_Configurate {
239
 
240
  // #CLRF-140 fix bug for php7
241
  // when the developers forgot to delete the argument in the function of implementing the notification.
242
- $args = [];
243
- $accepted_args = isset($callback['accepted_args']) && !empty($callback['accepted_args']) ? $callback['accepted_args'] : 0;
244
 
245
- if( $accepted_args > 0 ) {
246
- for($i = 0; $i < (int)$accepted_args; $i++) {
247
  $args[] = null;
248
  }
249
  }
250
  //===========
251
 
252
- call_user_func_array($callback['function'], $args);
253
  $cont = ob_get_clean();
254
 
255
- if( empty($cont) ) {
256
  continue;
257
  }
258
 
259
- $salt = is_multisite() ? get_current_blog_id() : '';
260
- $uniq_id1 = md5($cont . $salt);
261
- $uniq_id2 = md5($callback_name . $salt);
262
 
263
- if( is_array($callback['function']) && sizeof($callback['function']) == 2 ) {
264
  $class = $callback['function'][0];
265
- if( is_object($class) ) {
266
- $class_name = get_class($class);
267
  $method_name = $callback['function'][1];
268
- $uniq_id2 = md5($class_name . ':' . $method_name);
269
  }
270
  }
 
271
  //838339d1a188e17fec838c2df3058603
272
  //838339d1a188e17fec838c2df3058603
273
- if( !empty($get_hidden_notices) ) {
274
 
275
  $skip_notice = true;
276
- foreach((array)$get_hidden_notices as $key => $notice) {
277
- $splited_notice_id = explode('_', $key);
278
- if( empty($splited_notice_id) || sizeof($splited_notice_id) < 2 ) {
279
  continue;
280
  }
281
  $compare_notice_id_1 = $splited_notice_id[0];
282
  $compare_notice_id_2 = $splited_notice_id[1];
283
 
284
- if( $compare_notice_id_1 == $uniq_id1 || $compare_notice_id_2 == $uniq_id2 ) {
285
  $skip_notice = false;
286
  }
287
  }
288
 
289
- if( !$skip_notice ) {
290
  continue;
291
  }
292
  }
293
 
294
- $hide_link = '<a href="#" data-nonce="' . wp_create_nonce($this->plugin->getPluginName() . '_ajax_hide_notices_nonce') . '" data-notice-id="' . $uniq_id1 . '_' . $uniq_id2 . '" class="wbcr-dan-hide-notice-link">[' . __('Hide notification forever', 'disable-admin-notices') . ']</a>';
295
 
296
  // Fix for Woocommerce membership
297
- if( $cont != '<div class="js-wc-memberships-admin-notice-placeholder"></div>' ) {
298
- $cont = preg_replace('/<(script|style)([^>]+)?>(.*?)<\/(script|style)>/is', '', $cont);
299
- $cont = rtrim(trim($cont));
300
- $cont = preg_replace('/^(<div[^>]+>)(.*?)(<\/div>)$/is', '$1<div class="wbcr-dan-hide-notices">$2' . $hide_link . '</div>$3', $cont);
301
  }
302
 
303
- if( empty($cont) ) {
304
  continue;
305
  }
306
  $content[] = $cont;
@@ -311,83 +306,83 @@ class WDN_ConfigHideNotices extends Wbcr_FactoryClearfy220_Configurate {
311
  }
312
 
313
  try {
314
- $wp_filter_user_admin_notices = &$this->getWPFilter('user_admin_notices');
315
  } catch( Exception $e ) {
316
  $wp_filter_user_admin_notices = null;
317
  }
318
 
319
  try {
320
- $wp_filter_network_admin_notices = &$this->getWPFilter('network_admin_notices');
321
  } catch( Exception $e ) {
322
  $wp_filter_network_admin_notices = null;
323
  }
324
 
325
- if( is_user_admin() && $wp_filter_user_admin_notices !== null ) {
326
  $wp_filter_user_admin_notices = null;
327
- } else if( is_network_admin() && $wp_filter_network_admin_notices !== null ) {
328
  //unset($wp_filter['network_admin_notices']);
329
- foreach($wp_filter_network_admin_notices as $f_key => $f) {
330
- foreach($f as $c_name => $clback) {
331
- if( is_array($clback['function']) && sizeof($clback['function']) == 2 ) {
332
  $class = $clback['function'][0];
333
- if( is_object($class) ) {
334
- $class_name = get_class($class);
335
  }
336
  }
337
 
338
- unset($wp_filter_network_admin_notices[$f_key][$c_name]);
339
  }
340
  }
341
- } else if( $wp_filter_admin_notices !== null ) {
342
- foreach($wp_filter_admin_notices as $f_key => $f) {
343
- foreach($f as $c_name => $clback) {
344
- if( is_array($clback['function']) && sizeof($clback['function']) == 2 ) {
345
  $class = $clback['function'][0];
346
- if( is_object($class) ) {
347
- $class_name = get_class($class);
348
  }
349
  }
350
 
351
- unset($wp_filter_admin_notices[$f_key][$c_name]);
352
  }
353
  }
354
 
355
- unset($f_key);
356
- unset($f);
357
  }
358
 
359
  try {
360
- $wp_filter_all_admin_notices = &$this->getWPfilter('all_admin_notices');
361
  } catch( Exception $e ) {
362
  $wp_filter_all_admin_notices = null;
363
  }
364
 
365
- if( $wp_filter_all_admin_notices !== null ) {
366
- foreach($wp_filter_all_admin_notices as $f_key => $f) {
367
- foreach($f as $c_name => $clback) {
368
- if( is_array($clback['function']) && sizeof($clback['function']) == 2 ) {
369
  $class = $clback['function'][0];
370
- if( is_object($class) ) {
371
- $class_name = get_class($class);
372
 
373
  #Fix for Learn dash && Woocommerce membership && YITH WooCommerce Gift Cards
374
- if( $class_name == 'Learndash_Admin_Menus_Tabs' || $class_name == 'WC_Memberships_Admin' || $class_name == 'YIT_Plugin_Panel_WooCommerce' ) {
375
  continue;
376
  }
377
  }
378
  }
379
 
380
  #Fix for Divi theme
381
- if( $c_name == 'et_pb_export_layouts_interface' ) {
382
  continue;
383
  }
384
 
385
- unset($wp_filter_all_admin_notices[$f_key][$c_name]);
386
  }
387
  }
388
 
389
- unset($f_key);
390
- unset($f);
391
  }
392
  }
393
 
@@ -401,13 +396,12 @@ class WDN_ConfigHideNotices extends Wbcr_FactoryClearfy220_Configurate {
401
  *
402
  * @return String excerpt
403
  */
404
- public function getExcerpt($str, $startPos = 0, $maxLength = 100)
405
- {
406
- if( strlen($str) > $maxLength ) {
407
- $excerpt = substr($str, $startPos, $maxLength - 3);
408
- $lastSpace = strrpos($excerpt, ' ');
409
- $excerpt = substr($excerpt, 0, $lastSpace);
410
- $excerpt .= '...';
411
  } else {
412
  $excerpt = $str;
413
  }
@@ -426,17 +420,16 @@ class WDN_ConfigHideNotices extends Wbcr_FactoryClearfy220_Configurate {
426
  * @return array $wp_filter callbacks array by link
427
  * @throws Exception if key not exists
428
  */
429
- private function &getWPFilter($key)
430
- {
431
  global $wp_version, $wp_filter;
432
 
433
- if( !isset($wp_filter[$key]) ) {
434
- throw new Exception('key not exists');
435
  }
436
- if( version_compare($wp_version, '4.7.0', '>=') ) {
437
- return $wp_filter[$key]->callbacks;
438
  } else {
439
- return $wp_filter[$key];
440
  }
441
  }
442
  }
11
  */
12
 
13
  // Exit if accessed directly
14
+ if ( ! defined( 'ABSPATH' ) ) {
15
  exit;
16
  }
17
 
18
+ class WDN_ConfigHideNotices extends Wbcr_FactoryClearfy221_Configurate {
19
 
20
+ public function registerActionsAndFilters() {
21
+ if ( is_admin() ) {
22
+ $hide_notices_type = $this->getPopulateOption( 'hide_admin_notices' );
 
23
 
24
+ if ( 'not_hide' !== $hide_notices_type && 'compact_panel' !== $hide_notices_type ) {
25
+ add_action( 'admin_print_scripts', [ $this, 'catchNotices' ], 999 );
26
 
27
+ if ( empty( $hide_notices_type ) || $hide_notices_type == 'only_selected' ) {
28
+ add_action( 'admin_head', [ $this, 'printNotices' ], 999 );
29
  }
30
 
31
+ if ( ! empty( $hide_notices_type ) ) {
32
+ add_action( 'admin_bar_menu', [ $this, 'notificationsPanel' ], 999 );
33
+ add_action( 'admin_enqueue_scripts', [ $this, 'notificationsPanelStyles' ] );
34
  }
35
  }
36
  }
37
  }
38
 
39
+ public function printNotices() {
40
+ if ( is_multisite() && is_network_admin() ) {
41
+ add_action( 'network_admin_notices', [ $this, 'noticesCollection' ] );
 
42
  } else {
43
+ add_action( 'admin_notices', [ $this, 'noticesCollection' ] );
44
  }
45
  }
46
 
47
 
48
+ public function notificationsPanelStyles() {
49
+ if ( ! $this->getPopulateOption( 'show_notices_in_adminbar', false ) && current_user_can( 'manage_network' ) ) {
 
50
  return;
51
  }
52
 
53
+ wp_enqueue_style( 'wbcr-notification-panel-styles', WDN_PLUGIN_URL . '/admin/assets/css/notifications-panel.css', [], $this->plugin->getPluginVersion() );
54
+ wp_enqueue_script( 'wbcr-notification-panel-scripts', WDN_PLUGIN_URL . '/admin/assets/js/notifications-panel.js', [], $this->plugin->getPluginVersion() );
55
  }
56
 
57
+ public function notificationsPanel( &$wp_admin_bar ) {
58
+ if ( ! $this->getPopulateOption( 'show_notices_in_adminbar', false ) ) {
 
59
  return;
60
  }
61
 
62
+ if ( current_user_can( 'manage_options' ) || current_user_can( 'manage_network' ) ) {
63
  $titles = [];
64
 
65
+ $notifications = get_user_meta( get_current_user_id(), WDN_Plugin::app()->getOptionName( 'hidden_notices' ), true );
66
 
67
+ if ( empty( $notifications ) ) {
68
  return;
69
  }
70
 
71
+ $cont_notifications = sizeof( $notifications );
72
 
73
  // Add top menu
74
+ $wp_admin_bar->add_menu( [
75
+ 'id' => 'wbcr-han-notify-panel',
76
  'parent' => 'top-secondary',
77
+ 'title' => sprintf( __( 'Notifications %s', 'disable-admin-notices' ), '<span class="wbcr-han-adminbar-counter">' . $cont_notifications . '</span>' ),
78
+ 'href' => false
79
+ ] );
80
 
81
  // loop
82
+ if ( ! empty( $notifications ) ) {
83
  $i = 0;
84
+ foreach ( $notifications as $notice_id => $message ) {
85
+ $message = $this->getExcerpt( stripslashes( $message ), 0, 350 );
86
  $message .= '<div class="wbcr-han-panel-restore-notify-line">';
87
+ $message .= '<a href="#" data-nonce="' . wp_create_nonce( $this->plugin->getPluginName() . '_ajax_restore_notice_nonce' );
88
+ $message .= '" data-notice-id="' . esc_attr( $notice_id ) . '" class="wbcr-han-panel-restore-notify-link">';
89
+ $message .= __( 'Restore notice', 'clearfy' ) . ( isset( $titles[ $notice_id ] ) ? ' (' . $titles[ $notice_id ] . ')' : '' );
90
  $message .= '</a></div>';
91
 
92
+ $wp_admin_bar->add_menu( [
93
+ 'id' => 'wbcr-han-notify-panel-item-' . $i,
94
  'parent' => 'wbcr-han-notify-panel',
95
+ 'title' => $message,
96
+ 'href' => false,
97
+ 'meta' => [
98
  'class' => ''
99
  ]
100
+ ] );
101
 
102
+ $i ++;
103
  }
104
  }
105
  }
106
  }
107
 
108
+ public function noticesCollection() {
 
109
  global $wbcr_dan_plugin_all_notices;
110
 
111
+ if ( empty( $wbcr_dan_plugin_all_notices ) ) {
112
  return;
113
  }
114
  ?>
196
  });
197
  </script>
198
  <?php
199
+ foreach ( $wbcr_dan_plugin_all_notices as $val ) {
200
  echo $val;
201
  }
202
  }
203
 
204
+ public function catchNotices() {
 
205
  global $wbcr_dan_plugin_all_notices;
206
 
207
  try {
208
+ if ( is_multisite() && is_network_admin() ) {
209
+ $wp_filter_admin_notices = &$this->getWPFilter( 'network_admin_notices' );
210
  } else {
211
+ $wp_filter_admin_notices = &$this->getWPFilter( 'admin_notices' );
212
  }
213
  //todo: Доработать all admin notices
214
 
216
  $wp_filter_admin_notices = null;
217
  }
218
 
219
+ $hide_notices_type = $this->getPopulateOption( 'hide_admin_notices' );
220
 
221
+ if ( empty( $hide_notices_type ) || $hide_notices_type == 'only_selected' ) {
222
+ $get_hidden_notices = get_user_meta( get_current_user_id(), WDN_Plugin::app()->getOptionName( 'hidden_notices' ), true );
223
 
224
  $content = [];
225
+ foreach ( (array) $wp_filter_admin_notices as $filters ) {
226
+ foreach ( $filters as $callback_name => $callback ) {
227
 
228
+ if ( 'usof_hide_admin_notices_start' == $callback_name || 'usof_hide_admin_notices_end' == $callback_name ) {
229
  continue;
230
  }
231
 
233
 
234
  // #CLRF-140 fix bug for php7
235
  // when the developers forgot to delete the argument in the function of implementing the notification.
236
+ $args = [];
237
+ $accepted_args = isset( $callback['accepted_args'] ) && ! empty( $callback['accepted_args'] ) ? $callback['accepted_args'] : 0;
238
 
239
+ if ( $accepted_args > 0 ) {
240
+ for ( $i = 0; $i < (int) $accepted_args; $i ++ ) {
241
  $args[] = null;
242
  }
243
  }
244
  //===========
245
 
246
+ call_user_func_array( $callback['function'], $args );
247
  $cont = ob_get_clean();
248
 
249
+ if ( empty( $cont ) ) {
250
  continue;
251
  }
252
 
253
+ $salt = is_multisite() ? get_current_blog_id() : '';
254
+ $uniq_id1 = md5( $cont . $salt );
255
+ $uniq_id2 = md5( $callback_name . $salt );
256
 
257
+ if ( is_array( $callback['function'] ) && sizeof( $callback['function'] ) == 2 ) {
258
  $class = $callback['function'][0];
259
+ if ( is_object( $class ) ) {
260
+ $class_name = get_class( $class );
261
  $method_name = $callback['function'][1];
262
+ $uniq_id2 = md5( $class_name . ':' . $method_name );
263
  }
264
  }
265
+
266
  //838339d1a188e17fec838c2df3058603
267
  //838339d1a188e17fec838c2df3058603
268
+ if ( ! empty( $get_hidden_notices ) ) {
269
 
270
  $skip_notice = true;
271
+ foreach ( (array) $get_hidden_notices as $key => $notice ) {
272
+ $splited_notice_id = explode( '_', $key );
273
+ if ( empty( $splited_notice_id ) || sizeof( $splited_notice_id ) < 2 ) {
274
  continue;
275
  }
276
  $compare_notice_id_1 = $splited_notice_id[0];
277
  $compare_notice_id_2 = $splited_notice_id[1];
278
 
279
+ if ( $compare_notice_id_1 == $uniq_id1 || $compare_notice_id_2 == $uniq_id2 ) {
280
  $skip_notice = false;
281
  }
282
  }
283
 
284
+ if ( ! $skip_notice ) {
285
  continue;
286
  }
287
  }
288
 
289
+ $hide_link = '<a href="#" data-nonce="' . wp_create_nonce( $this->plugin->getPluginName() . '_ajax_hide_notices_nonce' ) . '" data-notice-id="' . $uniq_id1 . '_' . $uniq_id2 . '" class="wbcr-dan-hide-notice-link">[' . __( 'Hide notification forever', 'disable-admin-notices' ) . ']</a>';
290
 
291
  // Fix for Woocommerce membership
292
+ if ( $cont != '<div class="js-wc-memberships-admin-notice-placeholder"></div>' ) {
293
+ $cont = preg_replace( '/<(script|style)([^>]+)?>(.*?)<\/(script|style)>/is', '', $cont );
294
+ $cont = rtrim( trim( $cont ) );
295
+ $cont = preg_replace( '/^(<div[^>]+>)(.*?)(<\/div>)$/is', '$1<div class="wbcr-dan-hide-notices">$2' . $hide_link . '</div>$3', $cont );
296
  }
297
 
298
+ if ( empty( $cont ) ) {
299
  continue;
300
  }
301
  $content[] = $cont;
306
  }
307
 
308
  try {
309
+ $wp_filter_user_admin_notices = &$this->getWPFilter( 'user_admin_notices' );
310
  } catch( Exception $e ) {
311
  $wp_filter_user_admin_notices = null;
312
  }
313
 
314
  try {
315
+ $wp_filter_network_admin_notices = &$this->getWPFilter( 'network_admin_notices' );
316
  } catch( Exception $e ) {
317
  $wp_filter_network_admin_notices = null;
318
  }
319
 
320
+ if ( is_user_admin() && $wp_filter_user_admin_notices !== null ) {
321
  $wp_filter_user_admin_notices = null;
322
+ } else if ( is_network_admin() && $wp_filter_network_admin_notices !== null ) {
323
  //unset($wp_filter['network_admin_notices']);
324
+ foreach ( $wp_filter_network_admin_notices as $f_key => $f ) {
325
+ foreach ( $f as $c_name => $clback ) {
326
+ if ( is_array( $clback['function'] ) && sizeof( $clback['function'] ) == 2 ) {
327
  $class = $clback['function'][0];
328
+ if ( is_object( $class ) ) {
329
+ $class_name = get_class( $class );
330
  }
331
  }
332
 
333
+ unset( $wp_filter_network_admin_notices[ $f_key ][ $c_name ] );
334
  }
335
  }
336
+ } else if ( $wp_filter_admin_notices !== null ) {
337
+ foreach ( $wp_filter_admin_notices as $f_key => $f ) {
338
+ foreach ( $f as $c_name => $clback ) {
339
+ if ( is_array( $clback['function'] ) && sizeof( $clback['function'] ) == 2 ) {
340
  $class = $clback['function'][0];
341
+ if ( is_object( $class ) ) {
342
+ $class_name = get_class( $class );
343
  }
344
  }
345
 
346
+ unset( $wp_filter_admin_notices[ $f_key ][ $c_name ] );
347
  }
348
  }
349
 
350
+ unset( $f_key );
351
+ unset( $f );
352
  }
353
 
354
  try {
355
+ $wp_filter_all_admin_notices = &$this->getWPfilter( 'all_admin_notices' );
356
  } catch( Exception $e ) {
357
  $wp_filter_all_admin_notices = null;
358
  }
359
 
360
+ if ( $wp_filter_all_admin_notices !== null ) {
361
+ foreach ( $wp_filter_all_admin_notices as $f_key => $f ) {
362
+ foreach ( $f as $c_name => $clback ) {
363
+ if ( is_array( $clback['function'] ) && sizeof( $clback['function'] ) == 2 ) {
364
  $class = $clback['function'][0];
365
+ if ( is_object( $class ) ) {
366
+ $class_name = get_class( $class );
367
 
368
  #Fix for Learn dash && Woocommerce membership && YITH WooCommerce Gift Cards
369
+ if ( $class_name == 'Learndash_Admin_Menus_Tabs' || $class_name == 'WC_Memberships_Admin' || $class_name == 'YIT_Plugin_Panel_WooCommerce' ) {
370
  continue;
371
  }
372
  }
373
  }
374
 
375
  #Fix for Divi theme
376
+ if ( $c_name == 'et_pb_export_layouts_interface' ) {
377
  continue;
378
  }
379
 
380
+ unset( $wp_filter_all_admin_notices[ $f_key ][ $c_name ] );
381
  }
382
  }
383
 
384
+ unset( $f_key );
385
+ unset( $f );
386
  }
387
  }
388
 
396
  *
397
  * @return String excerpt
398
  */
399
+ public function getExcerpt( $str, $startPos = 0, $maxLength = 100 ) {
400
+ if ( strlen( $str ) > $maxLength ) {
401
+ $excerpt = substr( $str, $startPos, $maxLength - 3 );
402
+ $lastSpace = strrpos( $excerpt, ' ' );
403
+ $excerpt = substr( $excerpt, 0, $lastSpace );
404
+ $excerpt .= '...';
 
405
  } else {
406
  $excerpt = $str;
407
  }
420
  * @return array $wp_filter callbacks array by link
421
  * @throws Exception if key not exists
422
  */
423
+ private function &getWPFilter( $key ) {
 
424
  global $wp_version, $wp_filter;
425
 
426
+ if ( ! isset( $wp_filter[ $key ] ) ) {
427
+ throw new Exception( 'key not exists' );
428
  }
429
+ if ( version_compare( $wp_version, '4.7.0', '>=' ) ) {
430
+ return $wp_filter[ $key ]->callbacks;
431
  } else {
432
+ return $wp_filter[ $key ];
433
  }
434
  }
435
  }
components/disable-admin-notices/includes/function.php ADDED
@@ -0,0 +1,117 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Helper functions
4
+ * @author Webcraftic <alex.kovalevv@gmail.com>
5
+ * @copyright (c) 05.07.2020, Webcraftic
6
+ * @version 1.0
7
+ */
8
+
9
+ /**
10
+ * Access to global variable $wp_filter in WP core.
11
+ * Migration from WP 4.2 to 4.9
12
+ *
13
+ * @see https://codex.wordpress.org/Version_4.7 WP 4.7 changelog (WP_Hook)
14
+ *
15
+ * @param $key string filter name
16
+ *
17
+ * @return array callbacks array by link
18
+ */
19
+ function &wdan_get_wp_filter( $key ) {
20
+ global $wp_version, $wp_filter;
21
+
22
+ if ( version_compare( $wp_version, '4.7.0', '>=' ) ) {
23
+ return $wp_filter[ $key ]->callbacks;
24
+ } else {
25
+ return $wp_filter[ $key ];
26
+ }
27
+ }
28
+
29
+ function wdan_collect_notices( $key ) {
30
+ if ( 'admin_notices' === $key ) {
31
+ if ( is_multisite() && is_network_admin() ) {
32
+ $wp_filter = &wdan_get_wp_filter( 'network_admin_notices' );
33
+ } else {
34
+ $wp_filter = &wdan_get_wp_filter( 'admin_notices' );
35
+ }
36
+ } else {
37
+ $wp_filter = &wdan_get_wp_filter( $key );
38
+ }
39
+
40
+ $content = [];
41
+ foreach ( (array) $wp_filter as $filters ) {
42
+ foreach ( $filters as $callback_name => $callback ) {
43
+
44
+ if ( 'usof_hide_admin_notices_start' == $callback_name || 'usof_hide_admin_notices_end' == $callback_name ) {
45
+ continue;
46
+ }
47
+
48
+ ob_start();
49
+
50
+ // #CLRF-140 fix bug for php7
51
+ // when the developers forgot to delete the argument in the function of implementing the notification.
52
+ $args = [];
53
+ $accepted_args = isset( $callback['accepted_args'] ) && ! empty( $callback['accepted_args'] ) ? $callback['accepted_args'] : 0;
54
+
55
+ if ( $accepted_args > 0 ) {
56
+ for ( $i = 0; $i < (int) $accepted_args; $i ++ ) {
57
+ $args[] = null;
58
+ }
59
+ }
60
+ //===========
61
+
62
+ call_user_func_array( $callback['function'], $args );
63
+ $cont = ob_get_clean();
64
+
65
+ if ( ! empty( $cont ) ) {
66
+ $salt = is_multisite() ? get_current_blog_id() : '';
67
+ $uniq_id1 = md5( $cont . $salt );
68
+ $uniq_id2 = md5( $callback_name . $salt );
69
+
70
+ if ( is_array( $callback['function'] ) && sizeof( $callback['function'] ) == 2 ) {
71
+ $class = $callback['function'][0];
72
+ if ( is_object( $class ) ) {
73
+ $class_name = get_class( $class );
74
+ $method_name = $callback['function'][1];
75
+ $uniq_id2 = md5( $class_name . ':' . $method_name );
76
+ }
77
+ }
78
+
79
+ $content[ $uniq_id1 . "_" . $uniq_id2 ] = $cont;
80
+ }
81
+ }
82
+ }
83
+
84
+ return $content;
85
+ }
86
+
87
+ function wdan_clear_all_notices( $key, $excluded_classes = [], $excluded_callback_names = [] ) {
88
+ if ( 'admin_notices' === $key ) {
89
+ if ( is_multisite() && is_network_admin() ) {
90
+ $wp_filter = &wdan_get_wp_filter( 'network_admin_notices' );
91
+ } else {
92
+ $wp_filter = &wdan_get_wp_filter( 'admin_notices' );
93
+ }
94
+ } else {
95
+ $wp_filter = &wdan_get_wp_filter( $key );
96
+ }
97
+
98
+ foreach ( $wp_filter as $f_key => $f ) {
99
+ foreach ( $f as $c_name => $clback ) {
100
+ if ( is_array( $clback['function'] ) && sizeof( $clback['function'] ) == 2 ) {
101
+ $class = $clback['function'][0];
102
+ if ( is_object( $class ) ) {
103
+ $class_name = get_class( $class );
104
+
105
+ if ( in_array( $class_name, $excluded_classes ) ) {
106
+ continue;
107
+ }
108
+ }
109
+ }
110
+
111
+ if ( in_array( $c_name, $excluded_callback_names ) ) {
112
+ continue;
113
+ }
114
+ unset( $wp_filter[ $f_key ][ $c_name ] );
115
+ }
116
+ }
117
+ }
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_Factory428_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_Factory429_Update {
8
 
9
  public function install()
10
  {
components/disable-admin-notices/readme.txt CHANGED
@@ -1,10 +1,10 @@
1
  === Disable admin notices individually ===
2
  Tags: hide admin notices, hide updates nags, hide nags, disable notices, disable update nags, disable nags, disable admin notices
3
  Contributors: webcraftic, alexkovalevv, creativemotion
4
- Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=VDX7JNTQPNPFW
5
- Requires at least: 4.2
6
- Tested up to: 5.2
7
- Requires PHP: 5.4
8
  Stable tag: trunk
9
  License: GPLv2
10
 
@@ -54,6 +54,21 @@ If you want to help with the translation, please contact me through this site or
54
  3. Notifications panel (optional)
55
 
56
  == Changelog ==
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
57
  = 1.1.1 =
58
  * Added: Compatibility with Learndash
59
  * Added: Compatibility with Wordpress 4.2 - 5.x
1
  === Disable admin notices individually ===
2
  Tags: hide admin notices, hide updates nags, hide nags, disable notices, disable update nags, disable nags, disable admin notices
3
  Contributors: webcraftic, alexkovalevv, creativemotion
4
+ Donate link: https://clearfy.pro/disable-admin-notices/
5
+ Requires at least: 4.8
6
+ Tested up to: 5.4
7
+ Requires PHP: 5.6
8
  Stable tag: trunk
9
  License: GPLv2
10
 
54
  3. Notifications panel (optional)
55
 
56
  == Changelog ==
57
+ = 1.2.0 (16.07.2020) =
58
+ * Fixed: Minor bugs
59
+
60
+ = 1.2.0 (10.07.2020) =
61
+ * Fixed: Fixed some compatibility issues with third-party plugins.
62
+ * Added: Premium features
63
+
64
+ = 1.1.3 (01.07.2020) =
65
+ * Removed: Ads notices and dashboard widget
66
+ * Fixed: Minor bugs
67
+
68
+ = 1.1.2 (23.06.2020) =
69
+ * Added: Compatibility with Wordpress 5.4
70
+ * Fixed: Minor bugs
71
+
72
  = 1.1.1 =
73
  * Added: Compatibility with Learndash
74
  * Added: Compatibility with Wordpress 4.2 - 5.x
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 Factory428_Activator
9
  * @version 1.0
10
  */
11
 
@@ -14,7 +14,7 @@ if ( ! defined( 'ABSPATH' ) ) {
14
  exit;
15
  }
16
 
17
- class WGA_Activation extends Wbcr_Factory428_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 Factory429_Activator
9
  * @version 1.0
10
  */
11
 
14
  exit;
15
  }
16
 
17
+ class WGA_Activation extends Wbcr_Factory429_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_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
  }
23
  *
24
  * @since 3.0.1
25
  *
26
+ * @param Wbcr_FactoryPages429_ImpressiveThemplate $page
27
  *
28
+ * @param Wbcr_Factory429_Plugin $plugin
29
  *
30
  * @return void
31
  */
32
+ add_action( 'wbcr_factory_429_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_FactoryPages428_ImpressiveThemplate
121
  *
122
  * @return mixed
123
  */
117
 
118
  /**
119
  * @param $form
120
+ * @param $page Wbcr_FactoryPages429_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_FactoryClearfy220_PageBase {
20
 
21
  /**
22
  * {@inheritDoc}
@@ -48,9 +48,9 @@ class WGA_CachePage extends Wbcr_FactoryClearfy220_PageBase {
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' ) ) {
16
  * @copyright (c) 2018 Webraftic Ltd
17
  * @version 1.0
18
  */
19
+ class WGA_CachePage extends Wbcr_FactoryClearfy221_PageBase {
20
 
21
  /**
22
  * {@inheritDoc}
48
  public $show_right_sidebar_in_options = true;
49
 
50
  /**
51
+ * @param Wbcr_Factory429_Plugin $plugin
52
  */
53
+ public function __construct( Wbcr_Factory429_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_FactoryClearfy220_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_FactoryClearfy221_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_Factory428_Plugin {
14
 
15
  /**
16
  * @see self::app()
17
- * @var Wbcr_Factory428_Plugin
18
  */
19
  private static $app;
20
 
@@ -58,7 +58,7 @@ class WGA_Plugin extends Wbcr_Factory428_Plugin {
58
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
59
  * классам.
60
  *
61
- * @return \Wbcr_Factory428_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_Factory429_Plugin {
14
 
15
  /**
16
  * @see self::app()
17
+ * @var Wbcr_Factory429_Plugin
18
  */
19
  private static $app;
20
 
58
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
59
  * классам.
60
  *
61
+ * @return \Wbcr_Factory429_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_FactoryClearfy220_Configurate {
16
 
17
 
18
  public function registerActionsAndFilters() {
12
  exit;
13
  }
14
 
15
+ class WGA_ConfigGACache extends Wbcr_FactoryClearfy221_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_Factory428_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_Factory429_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_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',
63
 
64
  // FRAMEWORK MODULES
65
  'load_factory_modules' => array(
66
+ array( 'libs/factory/bootstrap', 'factory_bootstrap_430', 'admin' ),
67
+ array( 'libs/factory/forms', 'factory_forms_427', 'admin' ),
68
+ array( 'libs/factory/pages', 'factory_pages_429', 'admin' ),
69
+ array( 'libs/factory/clearfy', 'factory_clearfy_221', 'all' ),
70
+ array( 'libs/factory/adverts', 'factory_adverts_109', 'admin')
71
  )
72
  );
73
 
74
+ $wga_compatibility = new Wbcr_Factory429_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_FactoryClearfy220_PageBase {
13
 
14
  /**
15
  * {@inheritDoc}
@@ -52,9 +52,9 @@ class WHTM_SettingsPage extends Wbcr_FactoryClearfy220_PageBase {
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
 
9
  *
10
  * @since 1.0.0
11
  */
12
+ class WHTM_SettingsPage extends Wbcr_FactoryClearfy221_PageBase {
13
 
14
  /**
15
  * {@inheritDoc}
52
  *
53
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
54
  *
55
+ * @param \Wbcr_Factory429_Plugin $plugin
56
  */
57
+ public function __construct( Wbcr_Factory429_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_428_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_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',
8
  * Text Domain: html-minify
9
  * Domain Path: /languages/
10
  * Author URI: https://webcraftic.com
11
+ * Framework Version: FACTORY_429_VERSION
12
  */
13
 
14
  /*
59
 
60
  // FRAMEWORK MODULES
61
  'load_factory_modules' => array(
62
+ array( 'libs/factory/bootstrap', 'factory_bootstrap_430', 'admin' ),
63
+ array( 'libs/factory/forms', 'factory_forms_427', 'admin' ),
64
+ array( 'libs/factory/pages', 'factory_pages_429', 'admin' ),
65
+ array( 'libs/factory/clearfy', 'factory_clearfy_221', 'all' ),
66
+ array( 'libs/factory/adverts', 'factory_adverts_109', 'admin')
67
  )
68
  );
69
 
70
+ $whtml_compatibility = new Wbcr_Factory429_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_Factory428_Plugin {
17
 
18
  /**
19
  * @see self::app()
20
- * @var Wbcr_Factory428_Plugin
21
  */
22
  private static $app;
23
 
@@ -53,7 +53,7 @@ class WHTM_Plugin extends Wbcr_Factory428_Plugin {
53
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
54
  * классам.
55
  *
56
- * @return \Wbcr_Factory428_Plugin|\WCM_Plugin
57
  */
58
  public static function app() {
59
  return self::$app;
13
  }
14
 
15
 
16
+ class WHTM_Plugin extends Wbcr_Factory429_Plugin {
17
 
18
  /**
19
  * @see self::app()
20
+ * @var Wbcr_Factory429_Plugin
21
  */
22
  private static $app;
23
 
53
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
54
  * классам.
55
  *
56
+ * @return \Wbcr_Factory429_Plugin|\WCM_Plugin
57
  */
58
  public static function app() {
59
  return self::$app;
components/minify-and-combine/admin/boot.php CHANGED
@@ -120,6 +120,18 @@
120
  'tags' => array()
121
  );
122
 
 
 
 
 
 
 
 
 
 
 
 
 
123
  return $options;
124
  });
125
 
120
  'tags' => array()
121
  );
122
 
123
+ $options[] = array(
124
+ 'name' => 'css_critical',
125
+ 'title' => __('Critical CSS files', 'minify-and-combine'),
126
+ 'tags' => array()
127
+ );
128
+
129
+ $options[] = array(
130
+ 'name' => 'css_critical_style',
131
+ 'title' => __('Critical CSS code', 'minify-and-combine'),
132
+ 'tags' => array()
133
+ );
134
+
135
  return $options;
136
  });
137
 
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_FactoryClearfy220_PageBase {
13
 
14
  /**
15
  * {@inheritDoc}
@@ -50,11 +50,12 @@ class WMAC_MinifyAndCombineSettingsPage extends Wbcr_FactoryClearfy220_PageBase
50
  /**
51
  * WMAC_MinifyAndCombineSettingsPage constructor.
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' ) ) {
@@ -70,9 +71,9 @@ class WMAC_MinifyAndCombineSettingsPage extends Wbcr_FactoryClearfy220_PageBase
70
  /**
71
  * {@inheritDoc}
72
  *
73
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
74
- * @since 1.0.0
75
  * @return string|void
 
 
76
  */
77
  public function getMenuTitle() {
78
  return defined( 'LOADING_MINIFY_AND_COMBINE_AS_ADDON' ) ? __( 'Minify (Html/JS/CSS)', 'minify-and-combine' ) : __( 'General', 'minify-and-combine' );
@@ -100,8 +101,8 @@ class WMAC_MinifyAndCombineSettingsPage extends Wbcr_FactoryClearfy220_PageBase
100
  /**
101
  * {@inheritDoc}
102
  *
103
- * @since 1.0.0
104
  * @return mixed[]
 
105
  */
106
  public function getPageOptions() {
107
  $options = [];
@@ -318,6 +319,27 @@ This can be fully automated for different types of pages with the Мinify And Co
318
  'items' => $css_options
319
  ];
320
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
321
  $options[] = [
322
  'type' => 'html',
323
  'html' => '<div class="wbcr-factory-page-group-header"><strong>' . __( 'Cache Info', 'minify-and-combine' ) . '</strong><p></p></div>'
@@ -379,7 +401,8 @@ This can be fully automated for different types of pages with the Мinify And Co
379
  <label for="wbcr_mac_css_optimize" class="col-sm-4 control-label">
380
  </label>
381
  <div class="control-group col-sm-8">
382
- <a class="btn btn-default" href="<?= wp_nonce_url( $this->getActionUrl( 'clear-cache' ), 'clear_cache_' . $this->getResultId() ); ?>">
 
383
  <?php _e( 'Clear cache', 'minify-and-combine' ) ?>
384
  </a>
385
  </div>
9
  *
10
  * @since 1.0.0
11
  */
12
+ class WMAC_MinifyAndCombineSettingsPage extends Wbcr_FactoryClearfy221_PageBase {
13
 
14
  /**
15
  * {@inheritDoc}
50
  /**
51
  * WMAC_MinifyAndCombineSettingsPage constructor.
52
  *
53
+ * @param \Wbcr_Factory429_Plugin $plugin
54
+ *
55
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
56
  *
 
57
  */
58
+ public function __construct( Wbcr_Factory429_Plugin $plugin ) {
59
  $this->menu_title = __( 'Minify (JS/CSS)', 'minify-and-combine' );
60
 
61
  if ( ! defined( 'LOADING_MINIFY_AND_COMBINE_AS_ADDON' ) ) {
71
  /**
72
  * {@inheritDoc}
73
  *
 
 
74
  * @return string|void
75
+ * @since 1.0.0
76
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
77
  */
78
  public function getMenuTitle() {
79
  return defined( 'LOADING_MINIFY_AND_COMBINE_AS_ADDON' ) ? __( 'Minify (Html/JS/CSS)', 'minify-and-combine' ) : __( 'General', 'minify-and-combine' );
101
  /**
102
  * {@inheritDoc}
103
  *
 
104
  * @return mixed[]
105
+ * @since 1.0.0
106
  */
107
  public function getPageOptions() {
108
  $options = [];
319
  'items' => $css_options
320
  ];
321
 
322
+ $options[] = [
323
+ 'type' => 'html',
324
+ 'html' => '<div class="wbcr-factory-page-group-header"><strong>' . __( 'Critical CSS', 'minify-and-combine' ) . '</strong><p></p></div>'
325
+ ];
326
+
327
+ $options[] = [
328
+ 'type' => 'textarea',
329
+ 'name' => 'css_critical',
330
+ 'title' => __( 'Critical CSS files:', 'minify-and-combine' ),
331
+ 'hint' => __( 'A comma-separated list of Critical CSS files. (You can use the * mask in file names. * - these are any characters.)', 'minify-and-combine' ),
332
+ 'default' => 'style.css, themes/*/style.css, style.min.css, themes/*/style.min.css'
333
+ ];
334
+
335
+ $options[] = [
336
+ 'type' => 'textarea',
337
+ 'name' => 'css_critical_style',
338
+ 'title' => __( 'Critical CSS code:', 'minify-and-combine' ),
339
+ 'hint' => htmlspecialchars( __( 'Add critical CSS here. We will insert it into <style> tags in your <head> section of each page.', 'minify-and-combine' ) ),
340
+ 'default' => ''
341
+ ];
342
+
343
  $options[] = [
344
  'type' => 'html',
345
  'html' => '<div class="wbcr-factory-page-group-header"><strong>' . __( 'Cache Info', 'minify-and-combine' ) . '</strong><p></p></div>'
401
  <label for="wbcr_mac_css_optimize" class="col-sm-4 control-label">
402
  </label>
403
  <div class="control-group col-sm-8">
404
+ <a class="btn btn-default"
405
+ href="<?= wp_nonce_url( $this->getActionUrl( 'clear-cache' ), 'clear_cache_' . $this->getResultId() ); ?>">
406
  <?php _e( 'Clear cache', 'minify-and-combine' ) ?>
407
  </a>
408
  </div>
components/minify-and-combine/includes/3rd-party/class-clearfy-plugin.php CHANGED
@@ -73,6 +73,7 @@ class WMAC_Plugin {
73
  require_once( WMAC_PLUGIN_DIR . '/includes/classes/class-scripts.php' );
74
  require_once( WMAC_PLUGIN_DIR . '/includes/classes/class-css-min.php' );
75
  require_once( WMAC_PLUGIN_DIR . '/includes/classes/class-styles.php' );
 
76
  require_once( WMAC_PLUGIN_DIR . '/includes/classes/class-main.php' );
77
  require_once( WMAC_PLUGIN_DIR . '/includes/classes/class-helper.php' );
78
 
73
  require_once( WMAC_PLUGIN_DIR . '/includes/classes/class-scripts.php' );
74
  require_once( WMAC_PLUGIN_DIR . '/includes/classes/class-css-min.php' );
75
  require_once( WMAC_PLUGIN_DIR . '/includes/classes/class-styles.php' );
76
+ require_once( WMAC_PLUGIN_DIR . '/includes/classes/class-criticalcss.php' );
77
  require_once( WMAC_PLUGIN_DIR . '/includes/classes/class-main.php' );
78
  require_once( WMAC_PLUGIN_DIR . '/includes/classes/class-helper.php' );
79
 
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_Factory428_Plugin {
17
 
18
  /**
19
  * @see self::app()
20
- * @var Wbcr_Factory428_Plugin
21
  */
22
  private static $app;
23
 
@@ -55,7 +55,7 @@ class WMAC_Plugin extends Wbcr_Factory428_Plugin {
55
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
56
  * классам.
57
  *
58
- * @return \Wbcr_Factory428_Plugin|\WCM_Plugin
59
  */
60
  public static function app() {
61
  return self::$app;
@@ -73,6 +73,7 @@ class WMAC_Plugin extends Wbcr_Factory428_Plugin {
73
  require_once( WMAC_PLUGIN_DIR . '/includes/classes/class-scripts.php' );
74
  require_once( WMAC_PLUGIN_DIR . '/includes/classes/class-css-min.php' );
75
  require_once( WMAC_PLUGIN_DIR . '/includes/classes/class-styles.php' );
 
76
  require_once( WMAC_PLUGIN_DIR . '/includes/classes/class-main.php' );
77
  require_once( WMAC_PLUGIN_DIR . '/includes/classes/class-helper.php' );
78
 
13
  }
14
 
15
 
16
+ class WMAC_Plugin extends Wbcr_Factory429_Plugin {
17
 
18
  /**
19
  * @see self::app()
20
+ * @var Wbcr_Factory429_Plugin
21
  */
22
  private static $app;
23
 
55
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
56
  * классам.
57
  *
58
+ * @return \Wbcr_Factory429_Plugin|\WCM_Plugin
59
  */
60
  public static function app() {
61
  return self::$app;
73
  require_once( WMAC_PLUGIN_DIR . '/includes/classes/class-scripts.php' );
74
  require_once( WMAC_PLUGIN_DIR . '/includes/classes/class-css-min.php' );
75
  require_once( WMAC_PLUGIN_DIR . '/includes/classes/class-styles.php' );
76
+ require_once( WMAC_PLUGIN_DIR . '/includes/classes/class-criticalcss.php' );
77
  require_once( WMAC_PLUGIN_DIR . '/includes/classes/class-main.php' );
78
  require_once( WMAC_PLUGIN_DIR . '/includes/classes/class-helper.php' );
79
 
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', [ 'WbcrFactoryClearfy220_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', [ 'WbcrFactoryClearfy221_Helpers', 'flushPageCache' ], 10, 0 );
389
  }
390
 
391
  // Warm cache (part of speedupper)!
components/minify-and-combine/includes/classes/class-criticalcss.php ADDED
@@ -0,0 +1,89 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Operations with Critical CSS
4
+ *
5
+ * @author Webcraftic <wordpress.webraftic@gmail.com>
6
+ * @copyright (c) 2020 Webraftic Ltd
7
+ * @version 1.0
8
+ */
9
+
10
+ if ( ! defined( 'ABSPATH' ) ) {
11
+ exit;
12
+ }
13
+
14
+ /**
15
+ * Class WMAC_PluginCriticalCss
16
+ */
17
+ class WMAC_PluginCriticalCss extends WMAC_PluginStyles {
18
+
19
+ private $css_critical_style = '';
20
+ private $css_critical = [];
21
+ private $replaceTag = [ '<title', 'before' ];
22
+
23
+ /**
24
+ * Reads the page and collects style tags.
25
+ *
26
+ * @param array $options
27
+ *
28
+ * @return bool
29
+ */
30
+ public function read( $options ) {
31
+ $this->replaceTag = apply_filters( 'wmac_filter_css_replacetag', $this->replaceTag, $this->content );
32
+
33
+ // Set critical css code
34
+ // value: string
35
+ $this->css_critical_style = $options['css_critical_style'];
36
+ $this->css_critical_style = apply_filters( 'wmac_filter_css_critical_style', $this->css_critical_style, $this->content );
37
+
38
+ $style = "<style type='text/css'>{$this->css_critical_style}</style>";
39
+ $this->injectInHtml( $style, $this->replaceTag );
40
+
41
+ // Set critical css files
42
+ // value: array
43
+ $this->css_critical = $options['css_critical'];
44
+ $this->css_critical = apply_filters( 'wmac_filter_css_critical', $this->css_critical, $this->content );
45
+
46
+ if ( '' !== $this->css_critical ) {
47
+ $this->css_critical = array_filter( array_map( 'trim', explode( ',', $this->css_critical ) ) );
48
+ } else {
49
+ $this->css_critical = [];
50
+ }
51
+
52
+ // Get <style> and <link>.
53
+ if ( preg_match_all( '#(<style[^>]*>.*</style>)|(<link[^>]*stylesheet[^>]*>)#Usmi', $this->content, $matches ) ) {
54
+
55
+ foreach ( $matches[0] as $tag ) {
56
+ if ( $this->isCritical( $tag ) ) {
57
+ $this->content = str_replace( $tag, '', $this->content );
58
+ $this->injectInHtml( $tag, $this->replaceTag );
59
+ }
60
+ }
61
+
62
+ return true;
63
+ }
64
+
65
+ // Really, no styles?
66
+ return false;
67
+ }
68
+
69
+ /**
70
+ * @param $tag
71
+ *
72
+ * @return bool
73
+ */
74
+ private function isCritical( $tag ) {
75
+ if ( is_array( $this->css_critical ) && ! empty( $this->css_critical ) ) {
76
+ foreach ( $this->css_critical as $match ) {
77
+ $pattern = str_replace( '.', '\.', $match );
78
+ $pattern = str_replace( '*', '.*', $pattern );
79
+ $pattern = str_replace( '/', '\/', $pattern );
80
+ if ( preg_match( "/{$pattern}/", $tag ) ) {
81
+ return true;
82
+ }
83
+ }
84
+ }
85
+
86
+ return false;
87
+ }
88
+
89
+ }
components/minify-and-combine/includes/classes/class-main.php CHANGED
@@ -93,7 +93,10 @@ class WMAC_PluginMain {
93
  public function run() {
94
  if ( WMAC_PluginCache::cacheAvail() ) {
95
 
96
- if ( WMAC_Plugin::app()->getPopulateOption( 'js_optimize' ) || WMAC_Plugin::app()->getPopulateOption( 'css_optimize' ) ) {
 
 
 
97
  // Hook into WordPress frontend.
98
  if ( defined( 'WMAC_INIT_EARLIER' ) ) {
99
  add_action( 'init', [ $this, 'startBuffering' ], self::INIT_EARLIER_PRIORITY );
@@ -165,7 +168,7 @@ class WMAC_PluginMain {
165
  }
166
 
167
  if ( apply_filters( 'wmac_filter_obkiller', false ) ) {
168
- while( ob_get_level() > 0 ) {
169
  ob_end_clean();
170
  }
171
  }
@@ -178,7 +181,7 @@ class WMAC_PluginMain {
178
  /**
179
  * Returns true if all the conditions to start output buffering are satisfied.
180
  *
181
- * @param bool $doing_tests Allows overriding the optimization of only
182
  * deciding once per request (for use in tests).
183
  *
184
  * @return bool
@@ -237,7 +240,7 @@ class WMAC_PluginMain {
237
  /**
238
  * Returns true if given markup is considered valid/processable/optimizable.
239
  *
240
- * @param string $content Markup.
241
  *
242
  * @return bool
243
  */
@@ -268,7 +271,7 @@ class WMAC_PluginMain {
268
  * Returns true if given $content is considered to be AMP markup.
269
  * This is far from actual validation against AMP spec, but it'll do for now.
270
  *
271
- * @param string $content Markup to check.
272
  *
273
  * @return bool
274
  */
@@ -282,7 +285,7 @@ class WMAC_PluginMain {
282
  * Processes/optimizes the output-buffered content and returns it.
283
  * If the content is not processable, it is returned unmodified.
284
  *
285
- * @param string $content Buffered content.
286
  *
287
  * @return string
288
  */
@@ -293,7 +296,7 @@ class WMAC_PluginMain {
293
  }
294
 
295
  // Determine what needs to be ran.
296
- $classes = [];
297
  if ( WMAC_Plugin::app()->getPopulateOption( 'js_optimize' ) ) {
298
  $classes[] = 'WMAC_PluginScripts';
299
  }
@@ -302,14 +305,14 @@ class WMAC_PluginMain {
302
  }
303
 
304
  $classoptions = [
305
- 'WMAC_PluginScripts' => [
306
  'aggregate' => WMAC_Plugin::app()->getPopulateOption( 'js_aggregate' ),
307
  'forcehead' => WMAC_Plugin::app()->getPopulateOption( 'js_forcehead' ),
308
  'trycatch' => WMAC_Plugin::app()->getPopulateOption( 'js_trycatch' ),
309
  'js_exclude' => WMAC_Plugin::app()->getPopulateOption( 'js_exclude' ),
310
  'include_inline' => WMAC_Plugin::app()->getPopulateOption( 'js_include_inline' ),
311
  ],
312
- 'WMAC_PluginStyles' => [
313
  'aggregate' => WMAC_Plugin::app()->getPopulateOption( 'css_aggregate' ),
314
  'datauris' => WMAC_Plugin::app()->getPopulateOption( 'css_datauris' ),
315
  'defer' => WMAC_Plugin::app()->getPopulateOption( 'css_defer' ),
@@ -317,6 +320,10 @@ class WMAC_PluginMain {
317
  'css_exclude' => WMAC_Plugin::app()->getPopulateOption( 'css_exclude' ),
318
  'include_inline' => WMAC_Plugin::app()->getPopulateOption( 'css_include_inline' ),
319
  ],
 
 
 
 
320
  ];
321
 
322
  $content = apply_filters( 'wmac_filter_html_before_minify', $content );
93
  public function run() {
94
  if ( WMAC_PluginCache::cacheAvail() ) {
95
 
96
+ if ( WMAC_Plugin::app()->getPopulateOption( 'js_optimize' )
97
+ || WMAC_Plugin::app()->getPopulateOption( 'css_optimize' )
98
+ || WMAC_Plugin::app()->getPopulateOption( 'css_critical' )
99
+ || WMAC_Plugin::app()->getPopulateOption( 'css_critical_style' ) ) {
100
  // Hook into WordPress frontend.
101
  if ( defined( 'WMAC_INIT_EARLIER' ) ) {
102
  add_action( 'init', [ $this, 'startBuffering' ], self::INIT_EARLIER_PRIORITY );
168
  }
169
 
170
  if ( apply_filters( 'wmac_filter_obkiller', false ) ) {
171
+ while ( ob_get_level() > 0 ) {
172
  ob_end_clean();
173
  }
174
  }
181
  /**
182
  * Returns true if all the conditions to start output buffering are satisfied.
183
  *
184
+ * @param bool $doing_tests Allows overriding the optimization of only
185
  * deciding once per request (for use in tests).
186
  *
187
  * @return bool
240
  /**
241
  * Returns true if given markup is considered valid/processable/optimizable.
242
  *
243
+ * @param string $content Markup.
244
  *
245
  * @return bool
246
  */
271
  * Returns true if given $content is considered to be AMP markup.
272
  * This is far from actual validation against AMP spec, but it'll do for now.
273
  *
274
+ * @param string $content Markup to check.
275
  *
276
  * @return bool
277
  */
285
  * Processes/optimizes the output-buffered content and returns it.
286
  * If the content is not processable, it is returned unmodified.
287
  *
288
+ * @param string $content Buffered content.
289
  *
290
  * @return string
291
  */
296
  }
297
 
298
  // Determine what needs to be ran.
299
+ $classes[] = 'WMAC_PluginCriticalCss';
300
  if ( WMAC_Plugin::app()->getPopulateOption( 'js_optimize' ) ) {
301
  $classes[] = 'WMAC_PluginScripts';
302
  }
305
  }
306
 
307
  $classoptions = [
308
+ 'WMAC_PluginScripts' => [
309
  'aggregate' => WMAC_Plugin::app()->getPopulateOption( 'js_aggregate' ),
310
  'forcehead' => WMAC_Plugin::app()->getPopulateOption( 'js_forcehead' ),
311
  'trycatch' => WMAC_Plugin::app()->getPopulateOption( 'js_trycatch' ),
312
  'js_exclude' => WMAC_Plugin::app()->getPopulateOption( 'js_exclude' ),
313
  'include_inline' => WMAC_Plugin::app()->getPopulateOption( 'js_include_inline' ),
314
  ],
315
+ 'WMAC_PluginStyles' => [
316
  'aggregate' => WMAC_Plugin::app()->getPopulateOption( 'css_aggregate' ),
317
  'datauris' => WMAC_Plugin::app()->getPopulateOption( 'css_datauris' ),
318
  'defer' => WMAC_Plugin::app()->getPopulateOption( 'css_defer' ),
320
  'css_exclude' => WMAC_Plugin::app()->getPopulateOption( 'css_exclude' ),
321
  'include_inline' => WMAC_Plugin::app()->getPopulateOption( 'css_include_inline' ),
322
  ],
323
+ 'WMAC_PluginCriticalCss' => [
324
+ 'css_critical' => WMAC_Plugin::app()->getPopulateOption( 'css_critical' ),
325
+ 'css_critical_style' => WMAC_Plugin::app()->getPopulateOption( 'css_critical_style' ),
326
+ ],
327
  ];
328
 
329
  $content = apply_filters( 'wmac_filter_html_before_minify', $content );
components/minify-and-combine/includes/classes/class-styles.php CHANGED
@@ -54,6 +54,8 @@ class WMAC_PluginStyles extends WMAC_PluginBase {
54
  private $cssremovables = [];
55
  private $include_inline = false;
56
  private $inject_min_late = '';
 
 
57
 
58
  /**
59
  * Reads the page and collects style tags.
@@ -399,7 +401,7 @@ class WMAC_PluginStyles extends WMAC_PluginBase {
399
  * it does so by replacing the longest-matching strings first.
400
  *
401
  * @param string $string
402
- * @param array $replacements
403
  *
404
  * @return string
405
  */
@@ -616,7 +618,7 @@ class WMAC_PluginStyles extends WMAC_PluginBase {
616
 
617
  // remove comments to avoid importing commented-out imports.
618
  $thiscss_nocomments = preg_replace( '#/\*.*\*/#Us', '', $thiscss );
619
- while( preg_match_all( '#@import +(?:url)?(?:(?:\((["\']?)(?:[^"\')]+)\1\)|(["\'])(?:[^"\']+)\2)(?:[^,;"\']+(?:,[^,;"\']+)*)?)(?:;)#mi', $thiscss_nocomments, $matches ) ) {
620
  foreach ( $matches[0] as $import ) {
621
  if ( $this->isremovable( $import, $this->cssremovables ) ) {
622
  $thiscss = str_replace( $import, '', $thiscss );
@@ -816,6 +818,10 @@ class WMAC_PluginStyles extends WMAC_PluginBase {
816
  }
817
  }
818
 
 
 
 
 
819
  // Return the modified stylesheet.
820
  return $this->content;
821
  }
@@ -937,7 +943,10 @@ class WMAC_PluginStyles extends WMAC_PluginBase {
937
  *
938
  * @return bool
939
  */
940
- private function canInjectLate( $cssPath, $css ) {
 
 
 
941
  $consider_minified_array = apply_filters( 'wmac_filter_css_consider_minified', false, $cssPath );
942
  if ( true !== $this->inject_min_late ) {
943
  // late-inject turned off.
@@ -961,12 +970,15 @@ class WMAC_PluginStyles extends WMAC_PluginBase {
961
  * Minifies a single local css file
962
  * and returns its (cached) url.
963
  *
964
- * @param string $filepath Filepath.
965
- * @param bool $cache_miss Optional. Force a cache miss. Default false.
966
  *
967
  * @return bool|string Url pointing to the minified css file or false.
968
  */
969
- public function minifySingle( $filepath, $cache_miss = false ) {
 
 
 
970
  $contents = $this->prepareMinifySingle( $filepath );
971
 
972
  if ( empty( $contents ) ) {
@@ -1000,7 +1012,8 @@ class WMAC_PluginStyles extends WMAC_PluginBase {
1000
  *
1001
  * @return string
1002
  */
1003
- public function getAoCssPreloadOnload() {
 
1004
  $preload_onload = apply_filters( 'wmac_filter_css_preload_onload', "this.onload=null;this.rel='stylesheet'" );
1005
 
1006
  return $preload_onload;
@@ -1011,7 +1024,8 @@ class WMAC_PluginStyles extends WMAC_PluginBase {
1011
  *
1012
  * @return string
1013
  */
1014
- public function getAoCssPreloadPolyfill() {
 
1015
  $preload_poly = apply_filters( 'wmac_filter_css_preload_polyfill', '<script data-cfasync=\'false\'>!function(t){"use strict";t.loadCSS||(t.loadCSS=function(){});var e=loadCSS.relpreload={};if(e.support=function(){var e;try{e=t.document.createElement("link").relList.supports("preload")}catch(t){e=!1}return function(){return e}}(),e.bindMediaToggle=function(t){function e(){t.media=a}var a=t.media||"all";t.addEventListener?t.addEventListener("load",e):t.attachEvent&&t.attachEvent("onload",e),setTimeout(function(){t.rel="stylesheet",t.media="only x"}),setTimeout(e,3e3)},e.poly=function(){if(!e.support())for(var a=t.document.getElementsByTagName("link"),n=0;n<a.length;n++){var o=a[n];"preload"!==o.rel||"style"!==o.getAttribute("as")||o.getAttribute("data-loadcss")||(o.setAttribute("data-loadcss",!0),e.bindMediaToggle(o))}},!e.support()){e.poly();var a=t.setInterval(e.poly,500);t.addEventListener?t.addEventListener("load",function(){e.poly(),t.clearInterval(a)}):t.attachEvent&&t.attachEvent("onload",function(){e.poly(),t.clearInterval(a)})}"undefined"!=typeof exports?exports.loadCSS=loadCSS:t.loadCSS=loadCSS}("undefined"!=typeof global?global:this);</script>' );
1016
 
1017
  return $preload_poly;
@@ -1022,21 +1036,26 @@ class WMAC_PluginStyles extends WMAC_PluginBase {
1022
  *
1023
  * @return bool
1024
  */
1025
- public function aggregating() {
 
1026
  return $this->aggregate;
1027
  }
1028
 
1029
  /**
1030
  * @return array
1031
  */
1032
- public function getOptions() {
 
1033
  return $this->options;
1034
  }
1035
 
1036
  /**
1037
  * @param $options
1038
  */
1039
- public function replaceOptions( $options ) {
 
 
 
1040
  $this->options = $options;
1041
  }
1042
 
@@ -1044,7 +1063,10 @@ class WMAC_PluginStyles extends WMAC_PluginBase {
1044
  * @param $name
1045
  * @param $value
1046
  */
1047
- public function setOption( $name, $value ) {
 
 
 
1048
  $this->options[ $name ] = $value;
1049
  $this->$name = $value;
1050
  }
@@ -1054,7 +1076,10 @@ class WMAC_PluginStyles extends WMAC_PluginBase {
1054
  *
1055
  * @return mixed
1056
  */
1057
- public function getOption( $name ) {
 
 
 
1058
  return $this->options[ $name ];
1059
  }
1060
  }
54
  private $cssremovables = [];
55
  private $include_inline = false;
56
  private $inject_min_late = '';
57
+ private $css_critical_style = '';
58
+ private $css_critical = [];
59
 
60
  /**
61
  * Reads the page and collects style tags.
401
  * it does so by replacing the longest-matching strings first.
402
  *
403
  * @param string $string
404
+ * @param array $replacements
405
  *
406
  * @return string
407
  */
618
 
619
  // remove comments to avoid importing commented-out imports.
620
  $thiscss_nocomments = preg_replace( '#/\*.*\*/#Us', '', $thiscss );
621
+ while ( preg_match_all( '#@import +(?:url)?(?:(?:\((["\']?)(?:[^"\')]+)\1\)|(["\'])(?:[^"\']+)\2)(?:[^,;"\']+(?:,[^,;"\']+)*)?)(?:;)#mi', $thiscss_nocomments, $matches ) ) {
622
  foreach ( $matches[0] as $import ) {
623
  if ( $this->isremovable( $import, $this->cssremovables ) ) {
624
  $thiscss = str_replace( $import, '', $thiscss );
818
  }
819
  }
820
 
821
+ if ( ! empty( $this->css_critical_style ) ) {
822
+ $this->injectInHtml( "<style type='text/css'>{$this->css_critical_style}</style>", $replaceTag );
823
+ }
824
+
825
  // Return the modified stylesheet.
826
  return $this->content;
827
  }
943
  *
944
  * @return bool
945
  */
946
+ private
947
+ function canInjectLate(
948
+ $cssPath, $css
949
+ ) {
950
  $consider_minified_array = apply_filters( 'wmac_filter_css_consider_minified', false, $cssPath );
951
  if ( true !== $this->inject_min_late ) {
952
  // late-inject turned off.
970
  * Minifies a single local css file
971
  * and returns its (cached) url.
972
  *
973
+ * @param string $filepath Filepath.
974
+ * @param bool $cache_miss Optional. Force a cache miss. Default false.
975
  *
976
  * @return bool|string Url pointing to the minified css file or false.
977
  */
978
+ public
979
+ function minifySingle(
980
+ $filepath, $cache_miss = false
981
+ ) {
982
  $contents = $this->prepareMinifySingle( $filepath );
983
 
984
  if ( empty( $contents ) ) {
1012
  *
1013
  * @return string
1014
  */
1015
+ public
1016
+ function getAoCssPreloadOnload() {
1017
  $preload_onload = apply_filters( 'wmac_filter_css_preload_onload', "this.onload=null;this.rel='stylesheet'" );
1018
 
1019
  return $preload_onload;
1024
  *
1025
  * @return string
1026
  */
1027
+ public
1028
+ function getAoCssPreloadPolyfill() {
1029
  $preload_poly = apply_filters( 'wmac_filter_css_preload_polyfill', '<script data-cfasync=\'false\'>!function(t){"use strict";t.loadCSS||(t.loadCSS=function(){});var e=loadCSS.relpreload={};if(e.support=function(){var e;try{e=t.document.createElement("link").relList.supports("preload")}catch(t){e=!1}return function(){return e}}(),e.bindMediaToggle=function(t){function e(){t.media=a}var a=t.media||"all";t.addEventListener?t.addEventListener("load",e):t.attachEvent&&t.attachEvent("onload",e),setTimeout(function(){t.rel="stylesheet",t.media="only x"}),setTimeout(e,3e3)},e.poly=function(){if(!e.support())for(var a=t.document.getElementsByTagName("link"),n=0;n<a.length;n++){var o=a[n];"preload"!==o.rel||"style"!==o.getAttribute("as")||o.getAttribute("data-loadcss")||(o.setAttribute("data-loadcss",!0),e.bindMediaToggle(o))}},!e.support()){e.poly();var a=t.setInterval(e.poly,500);t.addEventListener?t.addEventListener("load",function(){e.poly(),t.clearInterval(a)}):t.attachEvent&&t.attachEvent("onload",function(){e.poly(),t.clearInterval(a)})}"undefined"!=typeof exports?exports.loadCSS=loadCSS:t.loadCSS=loadCSS}("undefined"!=typeof global?global:this);</script>' );
1030
 
1031
  return $preload_poly;
1036
  *
1037
  * @return bool
1038
  */
1039
+ public
1040
+ function aggregating() {
1041
  return $this->aggregate;
1042
  }
1043
 
1044
  /**
1045
  * @return array
1046
  */
1047
+ public
1048
+ function getOptions() {
1049
  return $this->options;
1050
  }
1051
 
1052
  /**
1053
  * @param $options
1054
  */
1055
+ public
1056
+ function replaceOptions(
1057
+ $options
1058
+ ) {
1059
  $this->options = $options;
1060
  }
1061
 
1063
  * @param $name
1064
  * @param $value
1065
  */
1066
+ public
1067
+ function setOption(
1068
+ $name, $value
1069
+ ) {
1070
  $this->options[ $name ] = $value;
1071
  $this->$name = $value;
1072
  }
1076
  *
1077
  * @return mixed
1078
  */
1079
+ public
1080
+ function getOption(
1081
+ $name
1082
+ ) {
1083
  return $this->options[ $name ];
1084
  }
1085
  }
components/minify-and-combine/minify-and-combine.php CHANGED
@@ -4,11 +4,11 @@
4
  * Plugin URI: https://webcraftic.com
5
  * Description: Optimizes your website, concatenating the CSS and JavaScript code, and compressing it.
6
  * Author: Webcraftic <wordpress.webraftic@gmail.com>
7
- * Version: 1.1.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,15 +59,15 @@ $wmac_plugin_info = array(
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',
4
  * Plugin URI: https://webcraftic.com
5
  * Description: Optimizes your website, concatenating the CSS and JavaScript code, and compressing it.
6
  * Author: Webcraftic <wordpress.webraftic@gmail.com>
7
+ * Version: 1.1.1
8
  * Text Domain: minify-and-combine
9
  * Domain Path: /languages/
10
  * Author URI: https://webcraftic.com
11
+ * Framework Version: FACTORY_429_VERSION
12
  */
13
 
14
  /*
59
 
60
  // FRAMEWORK MODULES
61
  'load_factory_modules' => array(
62
+ array( 'libs/factory/bootstrap', 'factory_bootstrap_430', 'admin' ),
63
+ array( 'libs/factory/forms', 'factory_forms_427', 'admin' ),
64
+ array( 'libs/factory/pages', 'factory_pages_429', 'admin' ),
65
+ array( 'libs/factory/clearfy', 'factory_clearfy_221', 'all' ),
66
+ array( 'libs/factory/adverts', 'factory_adverts_109', 'admin')
67
  )
68
  );
69
 
70
+ $wmac_compatibility = new Wbcr_Factory429_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 Factory428_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_Factory428_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 Factory429_Activator
9
  */
10
 
11
  // Exit if accessed directly
13
  exit;
14
  }
15
 
16
+ class WUPM_Activation extends Wbcr_Factory429_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_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,7 +75,7 @@ jQuery(function($) {
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
  });
59
 
60
  if( !response || !response.success ) {
61
  if( response.data.error_message ) {
62
+ $.wbcr_factory_clearfy_221.app.showNotice('Error: [' + response.data.error_message + ']', 'danger');
63
  }
64
  return false;
65
  }
66
 
67
+ /*var noticeId = $.wbcr_factory_clearfy_221.app.showNotice('Settings successfully updated', 'success');
68
 
69
  setTimeout(function() {
70
+ $.wbcr_factory_clearfy_221.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_221.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_428_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_429_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_Factory428_Plugin $plugin ) {
18
  $this->plugin = $plugin;
19
  $this->load();
20
  }
14
  protected $is_disable_translation_updates;
15
 
16
 
17
+ function __construct( Wbcr_Factory429_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_FactoryClearfy220_PageBase {
20
 
21
  /**
22
  * {@inheritDoc}
@@ -66,9 +66,9 @@ class WUPM_AdvancedPage extends Wbcr_FactoryClearfy220_PageBase {
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,8 +79,8 @@ class WUPM_AdvancedPage extends Wbcr_FactoryClearfy220_PageBase {
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 );
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_FactoryClearfy221_PageBase {
20
 
21
  /**
22
  * {@inheritDoc}
66
  *
67
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
68
  *
69
+ * @param \Wbcr_Factory429_Plugin $plugin
70
  */
71
+ public function __construct( Wbcr_Factory429_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_Factory429_ScriptList $scripts
83
+ * @param \Wbcr_Factory429_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_FactoryClearfy220_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_FactoryClearfy221_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_FactoryClearfy220_PageBase {
20
 
21
  /**
22
  *{@inheritDoc}
@@ -83,9 +83,9 @@ class WUPM_PluginsPage extends Wbcr_FactoryClearfy220_PageBase {
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,8 +121,8 @@ class WUPM_PluginsPage extends Wbcr_FactoryClearfy220_PageBase {
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 );
16
  *
17
  * @copyright (c) 2018 Webraftic Ltd
18
  */
19
+ class WUPM_PluginsPage extends Wbcr_FactoryClearfy221_PageBase {
20
 
21
  /**
22
  *{@inheritDoc}
83
  *
84
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
85
  *
86
+ * @param \Wbcr_Factory429_Plugin $plugin
87
  */
88
+ public function __construct( Wbcr_Factory429_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_Factory429_ScriptList $scripts
125
+ * @param \Wbcr_Factory429_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_FactoryClearfy220_PageBase {
19
 
20
  /**
21
  * {@inheritDoc}
@@ -85,9 +85,9 @@ class WUPM_ThemesPage extends Wbcr_FactoryClearfy220_PageBase {
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,7 +123,7 @@ class WUPM_ThemesPage extends Wbcr_FactoryClearfy220_PageBase {
123
  *
124
  * @since 1.0.0
125
  * @return void
126
- * @see FactoryPages428_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_FactoryClearfy221_PageBase {
19
 
20
  /**
21
  * {@inheritDoc}
85
  private $themes_update_filters = [];
86
 
87
  /**
88
+ * @param Wbcr_Factory429_Plugin $plugin
89
  */
90
+ public function __construct( Wbcr_Factory429_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 FactoryPages429_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_FactoryClearfy220_PageBase {
19
 
20
  /**
21
  * {@inheritDoc}
@@ -51,9 +51,9 @@ class WUPM_UpdatesPage extends Wbcr_FactoryClearfy220_PageBase {
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,8 +85,8 @@ class WUPM_UpdatesPage extends Wbcr_FactoryClearfy220_PageBase {
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 );
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_FactoryClearfy221_PageBase {
19
 
20
  /**
21
  * {@inheritDoc}
51
  *
52
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
53
  *
54
+ * @param \Wbcr_Factory429_Plugin $plugin
55
  */
56
+ public function __construct( Wbcr_Factory429_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_Factory429_ScriptList $scripts
89
+ * @param \Wbcr_Factory429_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_Factory428_Plugin {
14
 
15
  /**
16
  * @see self::app()
17
- * @var Wbcr_Factory428_Plugin
18
  */
19
  private static $app;
20
 
@@ -57,7 +57,7 @@ class WUPM_Plugin extends Wbcr_Factory428_Plugin {
57
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
58
  * классам.
59
  *
60
- * @return \Wbcr_Factory428_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_Factory429_Plugin {
14
 
15
  /**
16
  * @see self::app()
17
+ * @var Wbcr_Factory429_Plugin
18
  */
19
  private static $app;
20
 
57
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
58
  * классам.
59
  *
60
+ * @return \Wbcr_Factory429_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_FactoryClearfy220_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_FactoryClearfy221_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_Factory428_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_Factory429_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_428_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_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',
8
  * Text Domain: webcraftic-updates-manager
9
  * Domain Path: /languages/
10
  * Author URI: https://webcraftic.com
11
+ * Framework Version: FACTORY_429_VERSION
12
  */
13
 
14
  // Exit if accessed directly
64
 
65
  // FRAMEWORK MODULES
66
  'load_factory_modules' => array(
67
+ array( 'libs/factory/bootstrap', 'factory_bootstrap_430', 'admin' ),
68
+ array( 'libs/factory/forms', 'factory_forms_427', 'admin' ),
69
+ array( 'libs/factory/pages', 'factory_pages_429', 'admin' ),
70
+ array( 'libs/factory/clearfy', 'factory_clearfy_221', 'all' ),
71
+ array( 'libs/factory/adverts', 'factory_adverts_109', 'admin')
72
  )
73
  );
74
 
75
+ $wupm_compatibility = new Wbcr_Factory429_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_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 - добавлен
54
  * @since 1.1.3 - добавлен
55
  * @since 1.1.4 - является устаревшим
56
  */
57
+ $menu_items = wbcr_factory_429_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_Factory428_Plugin {
16
 
17
  /**
18
  * @see self::app()
19
- * @var Wbcr_Factory428_Plugin
20
  */
21
  private static $app;
22
 
@@ -71,7 +71,7 @@ class WCL_Plugin extends Wbcr_Factory428_Plugin {
71
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
72
  * классам.
73
  *
74
- * @return \Wbcr_Factory428_Plugin|\WCL_Plugin
75
  */
76
  public static function app()
77
  {
12
  exit;
13
  }
14
 
15
+ class WCL_Plugin extends Wbcr_Factory429_Plugin {
16
 
17
  /**
18
  * @see self::app()
19
+ * @var Wbcr_Factory429_Plugin
20
  */
21
  private static $app;
22
 
71
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
72
  * классам.
73
  *
74
+ * @return \Wbcr_Factory429_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_FactoryClearfy220_Configurate {
15
 
16
  /**
17
  * @param WCL_Plugin $plugin
11
  exit;
12
  }
13
 
14
+ class WCL_ConfigAdvanced extends Wbcr_FactoryClearfy221_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_FactoryClearfy220_Configurate {
16
 
17
  /**
18
  * @param WCL_Plugin $plugin
12
  exit;
13
  }
14
 
15
+ class WCL_ConfigGooglePerformance extends Wbcr_FactoryClearfy221_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_FactoryClearfy220_Configurate {
16
 
17
  /**
18
  * @param WCL_Plugin $plugin
@@ -216,6 +216,10 @@ class WCL_ConfigPerformance extends Wbcr_FactoryClearfy220_Configurate {
216
  $num = (int) $revision_limit;
217
  }
218
 
 
 
 
 
219
  if ( $this->getPopulateOption( 'revisions_disable' ) ) {
220
  $num = 0;
221
  }
12
  exit;
13
  }
14
 
15
+ class WCL_ConfigPerformance extends Wbcr_FactoryClearfy221_Configurate {
16
 
17
  /**
18
  * @param WCL_Plugin $plugin
216
  $num = (int) $revision_limit;
217
  }
218
 
219
+ if ( 'default' == $revision_limit ) {
220
+ $num = true;
221
+ }
222
+
223
  if ( $this->getPopulateOption( 'revisions_disable' ) ) {
224
  $num = 0;
225
  }
includes/classes/class.configurate-privacy.php CHANGED
@@ -13,7 +13,7 @@ if ( ! defined( 'ABSPATH' ) ) {
13
  exit;
14
  }
15
 
16
- class WCL_ConfigPrivacy extends Wbcr_FactoryClearfy220_Configurate {
17
 
18
  /**
19
  * @param WCL_Plugin $plugin
13
  exit;
14
  }
15
 
16
+ class WCL_ConfigPrivacy extends Wbcr_FactoryClearfy221_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_FactoryClearfy220_Configurate {
15
 
16
  /**
17
  * @param WCL_Plugin $plugin
11
  exit;
12
  }
13
 
14
+ class WCL_ConfigSecurity extends Wbcr_FactoryClearfy221_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_FactoryClearfy220_Configurate {
17
 
18
  /**
19
  * @param WCL_Plugin $plugin
13
  exit;
14
  }
15
 
16
+ class WCL_ConfigSeo extends Wbcr_FactoryClearfy221_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_108\Base;
4
 
5
  /**
6
  * Factory Adverts
@@ -20,31 +20,31 @@ 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
  });
1
  <?php
2
 
3
+ use WBCR\Factory_Adverts_109\Base;
4
 
5
  /**
6
  * Factory Adverts
20
  exit;
21
  }
22
 
23
+ if( defined('FACTORY_ADVERTS_109_LOADED') || (defined('FACTORY_ADVERTS_BLOCK') && FACTORY_ADVERTS_BLOCK) ) {
24
  return;
25
  }
26
 
27
  # Устанавливаем константу, что модуль уже загружен
28
+ define('FACTORY_ADVERTS_109_LOADED', true);
29
 
30
  # Устанавливаем версию модуля
31
+ define('FACTORY_ADVERTS_109_VERSION', '1.0.9');
32
 
33
  # Регистрируем тектовый домен, для интернализации интерфейса модуля
34
+ load_plugin_textdomain('wbcr_factory_adverts_109', false, dirname(plugin_basename(__FILE__)) . '/langs');
35
 
36
  # Устанавливаем директорию модуля
37
+ define('FACTORY_ADVERTS_109_DIR', dirname(__FILE__));
38
 
39
  # Устанавливаем url модуля
40
+ define('FACTORY_ADVERTS_109_URL', plugins_url(null, __FILE__));
41
 
42
+ require_once(FACTORY_ADVERTS_109_DIR . '/includes/class-rest-request.php');
43
+ require_once(FACTORY_ADVERTS_109_DIR . '/includes/class-base.php');
44
 
45
  /**
46
+ * @param Wbcr_Factory429_Plugin $plugin
47
  */
48
+ add_action('wbcr_factory_adverts_109_plugin_created', function ($plugin) {
49
+ $plugin->set_adverts_manager("WBCR\Factory_Adverts_109\Base");
50
  });
libs/factory/adverts/includes/class-base.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_Adverts_108;
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_Factory428_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_108\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_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,7 +257,7 @@ class Base {
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
  }
1
  <?php
2
 
3
+ namespace WBCR\Factory_Adverts_109;
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_Factory429_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_109\Creative_Motion_API
57
  */
58
  private $api;
59
 
82
  *
83
  * @since 1.0.0 Added
84
  *
85
+ * @param \Wbcr_Factory429_Plugin $plugin
86
  */
87
+ public function __construct( \Wbcr_Factory429_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_109_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_108;
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_Factory428_Plugin
39
  */
40
  private $plugin;
41
 
@@ -46,10 +46,10 @@ class Dashboard_Widget {
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;
1
  <?php
2
 
3
+ namespace WBCR\Factory_Adverts_109;
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_Factory429_Plugin
39
  */
40
  private $plugin;
41
 
46
  *
47
  * @since 1.0.0 Added
48
  *
49
+ * @param \Wbcr_Factory429_Plugin $plugin
50
  * @param string $content
51
  */
52
+ public function __construct( \Wbcr_Factory429_Plugin $plugin, $content ) {
53
 
54
  $this->plugin = $plugin;
55
  $this->content = $content;
libs/factory/adverts/includes/class-rest-request.php CHANGED
@@ -1,9 +1,9 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_Adverts_108;
4
 
5
  // Exit if accessed directly
6
- if ( ! defined( 'ABSPATH' ) ) {
7
  exit;
8
  }
9
 
@@ -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_Factory428_Plugin
69
  */
70
  private $plugin;
71
 
@@ -75,32 +75,34 @@ class Creative_Motion_API {
75
  *
76
  * Variable initialization.
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
 
86
  /**
87
  * Get adverts content.
88
  *
89
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
90
- * @since 1.0.1
91
- *
92
  * @param $position
93
  *
94
  * @return string|\WP_Error
 
 
 
95
  */
96
- public function get_content( $position ) {
97
- $data = $this->get_cache( $position );
 
98
 
99
- if ( is_wp_error( $data ) ) {
100
  return $data;
101
  }
102
 
103
- return strip_tags( $data['content'], '<b>,<a>,<i>,<strong>,<img>,<ul>,<ol>,<li>' );
104
  }
105
 
106
  /**
@@ -108,47 +110,52 @@ class Creative_Motion_API {
108
  *
109
  * If data in the cache, not empty and not expired, then get data from cache. Or get data from server.
110
  *
111
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
112
- *
113
- * @since 1.0.1 Полностью переписан, с перехватом api ошибок
114
- * @since 1.0.0 Added
115
- *
116
  * @return mixed array(
117
  * 'plugin' => 'wbcr_insert_php',
118
  * 'content' => '<p></p>',
119
  * 'expires' => 1563542199,
120
  * );
 
 
 
 
 
121
  */
122
- private function get_cache( $position ) {
 
123
 
124
- if ( defined( 'FACTORY_ADVERTS_DEBUG' ) && FACTORY_ADVERTS_DEBUG ) {
125
- return $this->do_api_request( $position );
126
  }
127
 
128
- $key = $this->plugin->getPrefix() . md5( $position . 'adverts_transient_' );
 
 
 
 
129
 
130
- $cached = get_transient( $key );
131
 
132
- if ( $cached !== false ) {
133
- if ( isset( $cached['error_code'] ) && isset( $cached['error'] ) ) {
134
- return new \WP_Error( $cached['error_code'], $cached['error'] );
135
  }
136
-
137
  return $cached;
138
  }
139
 
140
- $data = $this->do_api_request( $position );
141
 
142
- if ( is_wp_error( $data ) ) {
143
- set_transient( $key, [
144
- 'error' => $data->get_error_message(),
145
  'error_code' => $data->get_error_code()
146
- ], self::SERVER_UNAVAILABLE_INTERVAL * HOUR_IN_SECONDS );
147
 
148
  return $data;
149
  }
150
-
151
- set_transient( $key, $data, self::DEFAULT_REQUESTS_INTERVAL * HOUR_IN_SECONDS );
152
 
153
  return $data;
154
  }
@@ -159,39 +166,52 @@ class Creative_Motion_API {
159
  * In some case on the server (Apache) in the .htaccess must be set
160
  * RewriteRule ^wp-json/(.*)[?](.*) /?rest_route=/$1&$2 [L]
161
  *
162
- * @since 1.0.1 Добавлен перехват ошибок, рефакторинг кода.
163
- * @since 1.0.0 Added
164
- *
165
  * @return mixed array(
166
  * 'plugin' => 'wbcr_insert_php',
167
  * 'content' => '<p></p>',
168
  * 'expires' => 1563542199,
169
  * );
 
 
 
170
  */
171
- private function do_api_request( $position ) {
 
172
  $default_result = [
173
  'content' => '',
174
  'expires' => self::DEFAULT_REQUESTS_INTERVAL * HOUR_IN_SECONDS,
175
  ];
176
 
177
- $url = untrailingslashit( self::SERVER_URL ) . '/wp-json' . self::REST_ROUTE;
178
- $url = add_query_arg( [ 'plugin' => $this->plugin->getPluginName(), 'position' => $position ], $url );
 
 
 
 
 
 
 
 
 
 
 
 
179
 
180
- $response = wp_remote_get( $url );
181
 
182
- $code = wp_remote_retrieve_response_code( $response );
183
- $body = wp_remote_retrieve_body( $response );
184
 
185
- $data = @json_decode( $body, true );
186
 
187
- if ( is_wp_error( $response ) ) {
188
  return $response;
189
  }
190
 
191
- if ( 200 !== $code ) {
192
- return new \WP_Error( 'http_request_error', 'Failed request to the remote server. Code: ' . $code );
193
  }
194
 
195
- return wp_parse_args( $data, $default_result );
196
  }
197
  }
1
  <?php
2
 
3
+ namespace WBCR\Factory_Adverts_109;
4
 
5
  // Exit if accessed directly
6
+ if( !defined('ABSPATH') ) {
7
  exit;
8
  }
9
 
65
  *
66
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
67
  * @since 1.0.1
68
+ * @var \Wbcr_Factory429_Plugin
69
  */
70
  private $plugin;
71
 
75
  *
76
  * Variable initialization.
77
  *
78
+ * @param \Wbcr_Factory429_Plugin $plugin_name
79
  * @since 1.0.0 Added
80
  *
 
81
  */
82
+ public function __construct(\Wbcr_Factory429_Plugin $plugin)
83
+ {
84
  $this->plugin = $plugin;
85
  }
86
 
87
  /**
88
  * Get adverts content.
89
  *
 
 
 
90
  * @param $position
91
  *
92
  * @return string|\WP_Error
93
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
94
+ * @since 1.0.1
95
+ *
96
  */
97
+ public function get_content($position)
98
+ {
99
+ $data = $this->get_cache($position);
100
 
101
+ if( is_wp_error($data) ) {
102
  return $data;
103
  }
104
 
105
+ return strip_tags($data['content'], '<b>,<a>,<i>,<strong>,<img>,<ul>,<ol>,<li>');
106
  }
107
 
108
  /**
110
  *
111
  * If data in the cache, not empty and not expired, then get data from cache. Or get data from server.
112
  *
 
 
 
 
 
113
  * @return mixed array(
114
  * 'plugin' => 'wbcr_insert_php',
115
  * 'content' => '<p></p>',
116
  * 'expires' => 1563542199,
117
  * );
118
+ * @since 1.0.1 Полностью переписан, с перехватом api ошибок
119
+ * @since 1.0.0 Added
120
+ *
121
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
122
+ *
123
  */
124
+ private function get_cache($position)
125
+ {
126
 
127
+ if( defined('FACTORY_ADVERTS_DEBUG') && FACTORY_ADVERTS_DEBUG ) {
128
+ return $this->do_api_request($position);
129
  }
130
 
131
+ $key = $this->plugin->getPrefix() . md5($position . 'adverts_transient_');
132
+
133
+ if( 'ru_RU' === get_locale() ) {
134
+ $key .= 'ru_';
135
+ }
136
 
137
+ $cached = get_transient($key);
138
 
139
+ if( $cached !== false ) {
140
+ if( isset($cached['error_code']) && isset($cached['error']) ) {
141
+ return new \WP_Error($cached['error_code'], $cached['error']);
142
  }
143
+
144
  return $cached;
145
  }
146
 
147
+ $data = $this->do_api_request($position);
148
 
149
+ if( is_wp_error($data) ) {
150
+ set_transient($key, [
151
+ 'error' => $data->get_error_message(),
152
  'error_code' => $data->get_error_code()
153
+ ], self::SERVER_UNAVAILABLE_INTERVAL * HOUR_IN_SECONDS);
154
 
155
  return $data;
156
  }
157
+
158
+ set_transient($key, $data, self::DEFAULT_REQUESTS_INTERVAL * HOUR_IN_SECONDS);
159
 
160
  return $data;
161
  }
166
  * In some case on the server (Apache) in the .htaccess must be set
167
  * RewriteRule ^wp-json/(.*)[?](.*) /?rest_route=/$1&$2 [L]
168
  *
 
 
 
169
  * @return mixed array(
170
  * 'plugin' => 'wbcr_insert_php',
171
  * 'content' => '<p></p>',
172
  * 'expires' => 1563542199,
173
  * );
174
+ * @since 1.0.0 Added
175
+ *
176
+ * @since 1.0.1 Добавлен перехват ошибок, рефакторинг кода.
177
  */
178
+ private function do_api_request($position)
179
+ {
180
  $default_result = [
181
  'content' => '',
182
  'expires' => self::DEFAULT_REQUESTS_INTERVAL * HOUR_IN_SECONDS,
183
  ];
184
 
185
+ $url = untrailingslashit(self::SERVER_URL) . '/wp-json' . self::REST_ROUTE;
186
+
187
+ $ads_ID = $this->plugin->getPluginName();
188
+
189
+ if( 'ru_RU' === get_locale() ) {
190
+ $ads_ID .= '-ru';
191
+ }
192
+
193
+ $url = add_query_arg([
194
+ 'plugin' => $ads_ID,
195
+ 'position' => $position,
196
+ 'plugin_title' => $this->plugin->getPluginTitle(),
197
+ 'lang' => get_locale()
198
+ ], $url);
199
 
200
+ $response = wp_remote_get($url);
201
 
202
+ $code = wp_remote_retrieve_response_code($response);
203
+ $body = wp_remote_retrieve_body($response);
204
 
205
+ $data = @json_decode($body, true);
206
 
207
+ if( is_wp_error($response) ) {
208
  return $response;
209
  }
210
 
211
+ if( 200 !== $code ) {
212
+ return new \WP_Error('http_request_error', 'Failed request to the remote server. Code: ' . $code);
213
  }
214
 
215
+ return wp_parse_args($data, $default_result);
216
  }
217
  }
libs/factory/adverts/langs/wbcr_factory_adverts_109-ru_RU.mo ADDED
Binary file
libs/factory/adverts/langs/wbcr_factory_adverts_109-ru_RU.po ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: factory_forms\n"
4
+ "POT-Creation-Date: 2018-10-16 22:44+0300\n"
5
+ "PO-Revision-Date: 2018-10-16 22:45+0300\n"
6
+ "Last-Translator: \n"
7
+ "Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
8
+ "Language: ru_RU\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Poedit 2.1.1\n"
13
+ "X-Poedit-Basepath: ..\n"
14
+ "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
15
+ "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
16
+ "X-Poedit-SourceCharset: UTF-8\n"
17
+ "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
18
+ "X-Poedit-SearchPath-0: .\n"
19
+
20
+ #: includes/check-compatibility.php:80
21
+ msgid "warning"
22
+ msgstr "предупреждение"
23
+
24
+ #: includes/check-compatibility.php:82
25
+ #, php-format
26
+ msgid "The %s plugin has stopped."
27
+ msgstr "Работа плагина %s была остановлена."
28
+
29
+ #: includes/check-compatibility.php:83
30
+ msgid "Possible reasons:"
31
+ msgstr "Возможные причины:"
32
+
33
+ #: includes/check-compatibility.php:89
34
+ #, php-format
35
+ msgid "You need to update the PHP version to %s or higher!"
36
+ msgstr "Вам нужно обновить версию PHP до %s или выше!"
37
+
38
+ #: includes/check-compatibility.php:94
39
+ #, php-format
40
+ msgid "You need to update WordPress to %s or higher!"
41
+ msgstr "Вам нужно обновить WordPress до %s или выше!"
42
+
43
+ #: includes/functions.php:132
44
+ #, php-format
45
+ msgid ""
46
+ "%1$s is <strong>deprecated</strong> since version %2$s! Use %3$s instead."
47
+ msgstr ""
48
+ "%1$s является <strong>устаревшим,</strong> начиная с версии %2$s в "
49
+ "Wordpress! Используйте %3$s."
50
+
51
+ #: includes/functions.php:134
52
+ #, php-format
53
+ msgid ""
54
+ "%1$s is <strong>deprecated</strong> since version %2$s with no alternative "
55
+ "available."
56
+ msgstr ""
57
+ "%1$s был вызван с параметром, который является <strong>устаревшими</strong> "
58
+ "начиная с версии %2$s , в настоящее время доступных альтернатив нет."
59
+
60
+ #: includes/plugin.class.php:202 includes/plugin.class.php:237
61
+ msgid ""
62
+ "You are trying to call this earlier than the plugin menu will be registered."
63
+ msgstr ""
64
+ "Вы пытаетесь вызвать это раньше, чем будет зарегистрировано меню плагина."
65
+
66
+ #: includes/plugin.class.php:220
67
+ msgid ""
68
+ "You are trying to get a link to a page that does not have multisite mode. "
69
+ "Clicking this link will lead the user to a non-existent page."
70
+ msgstr ""
71
+ "Вы пытаетесь получить ссылку на страницу, которая не имеет "
72
+ "многопользовательского режима. Щелчок по этой ссылке приведет пользователя "
73
+ "к несуществующей странице."
74
+
75
+ #: includes/plugin.class.php:222
76
+ msgid ""
77
+ "Trying to get a link to an unregistered page. You are trying to call this "
78
+ "earlier than the plugin menu will be registered."
79
+ msgstr ""
80
+ "Попытка получить ссылку на незарегистрированную страницу. Вы пытаетесь "
81
+ "вызвать это раньше, чем будет зарегистрировано меню плагина."
82
+
83
+
libs/factory/bootstrap/assets/cache/c54ca97249456e97dd6f68e39fe5fd8c.min.js DELETED
@@ -1,30 +0,0 @@
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 DELETED
@@ -1,69 +0,0 @@
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-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}
8
  */
9
 
10
 
11
+ .factory-bootstrap-430 .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-430 .factory-accordion>h3{border-bottom:1px solid #DDD;cursor:pointer;padding:8px 15px;margin:0}.factory-bootstrap-430 .factory-accordion>div{display:none;margin:0;border-bottom:1px solid #DDD}.factory-bootstrap-430 .factory-accordion-item{display:none}.factory-bootstrap-430 .inner-factory-accordion-item{padding:10px 0}.factory-bootstrap-430 .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-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}
8
  */
9
 
10
 
11
+ .factory-bootstrap-430 .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-430 .btn-primary:focus,.factory-bootstrap-430 .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-430 .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-430 .btn-primary:disabled,.factory-bootstrap-430 .btn-primary[disabled]{color:#d1cdc7!important;background:#db9825!important;border-color:#bd831f!important;text-shadow:none!important}.factory-bootstrap-430 .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-430 .pagination>.active>a,.factory-bootstrap-430 .pagination>.active>a:focus,.factory-bootstrap-430 .pagination>.active>a:hover,.factory-bootstrap-430 .pagination>.active>span,.factory-bootstrap-430 .pagination>.active>span:focus,.factory-bootstrap-430 .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-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}
8
  */
9
 
10
 
11
+ .factory-bootstrap-430 .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-430 .btn-primary:focus,.factory-bootstrap-430 .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-430 .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-430 .btn-primary:disabled,.factory-bootstrap-430 .btn-primary[disabled]{color:#d1cbc7!important;background:#ba906d!important;border-color:#ae7d55!important;text-shadow:none!important}.factory-bootstrap-430 .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-430 .pagination>.active>a,.factory-bootstrap-430 .pagination>.active>a:focus,.factory-bootstrap-430 .pagination>.active>a:hover,.factory-bootstrap-430 .pagination>.active>span,.factory-bootstrap-430 .pagination>.active>span:focus,.factory-bootstrap-430 .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-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,4 +22,4 @@
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}
8
  */
9
 
10
 
11
+ .factory-bootstrap-430 article,.factory-bootstrap-430 aside,.factory-bootstrap-430 details,.factory-bootstrap-430 figcaption,.factory-bootstrap-430 figure,.factory-bootstrap-430 footer,.factory-bootstrap-430 header,.factory-bootstrap-430 hgroup,.factory-bootstrap-430 main,.factory-bootstrap-430 nav,.factory-bootstrap-430 section,.factory-bootstrap-430 summary{display:block}.factory-bootstrap-430 audio,.factory-bootstrap-430 canvas,.factory-bootstrap-430 video{display:inline-block}.factory-bootstrap-430 audio:not([controls]){display:none;height:0}.factory-bootstrap-430 [hidden],.factory-bootstrap-430 template{display:none}.factory-bootstrap-430 body{margin:0}.factory-bootstrap-430 a{background:0 0}.factory-bootstrap-430 a:focus{outline:thin dotted}.factory-bootstrap-430 a:active,.factory-bootstrap-430 a:hover{outline:0}.factory-bootstrap-430 h1{margin:.67em 0}.factory-bootstrap-430 b,.factory-bootstrap-430 strong{font-weight:700}.factory-bootstrap-430 dfn{font-style:italic}.factory-bootstrap-430 hr{height:0;-moz-box-sizing:content-box;box-sizing:content-box}.factory-bootstrap-430 mark{color:#000;background:#ff0}.factory-bootstrap-430 code,.factory-bootstrap-430 kbd,.factory-bootstrap-430 pre,.factory-bootstrap-430 samp{font-size:1em}.factory-bootstrap-430 pre{white-space:pre-wrap}.factory-bootstrap-430 q{quotes:"\201C" "\201D" "\2018" "\2019"}.factory-bootstrap-430 sub,.factory-bootstrap-430 sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}.factory-bootstrap-430 sup{top:-.5em}.factory-bootstrap-430 sub{bottom:-.25em}.factory-bootstrap-430 img{border:0}.factory-bootstrap-430 svg:not(:root){overflow:hidden}.factory-bootstrap-430 figure{margin:0}.factory-bootstrap-430 button,.factory-bootstrap-430 input,.factory-bootstrap-430 select,.factory-bootstrap-430 textarea{margin:0}.factory-bootstrap-430 button,.factory-bootstrap-430 select{text-transform:none}.factory-bootstrap-430 select{padding-right:4px!important}.factory-bootstrap-430 button,.factory-bootstrap-430 input[type=reset],.factory-bootstrap-430 input[type=submit],html .factory-bootstrap-430 input[type=button]{cursor:pointer;-webkit-appearance:button}.factory-bootstrap-430 button[disabled],html .factory-bootstrap-430 input[disabled]{cursor:default}.factory-bootstrap-430 input[type=checkbox],.factory-bootstrap-430 input[type=radio]{padding:0;box-sizing:border-box}.factory-bootstrap-430 input[type=search]{-webkit-appearance:textfield}.factory-bootstrap-430 input[type=search]::-webkit-search-cancel-button,.factory-bootstrap-430 input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.factory-bootstrap-430 button::-moz-focus-inner,.factory-bootstrap-430 input::-moz-focus-inner{padding:0;border:0}.factory-bootstrap-430 textarea{overflow:auto;vertical-align:top}.factory-bootstrap-430 table{border-collapse:collapse;border-spacing:0}@media print{.factory-bootstrap-430 *{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}.factory-bootstrap-430 a,.factory-bootstrap-430 a:visited{text-decoration:underline}.factory-bootstrap-430 a[href]:after{content:" (" attr(href) ")"}.factory-bootstrap-430 abbr[title]:after{content:" (" attr(title) ")"}.factory-bootstrap-430 a[href^="javascript:"]:after,.factory-bootstrap-430 a[href^="#"]:after{content:""}.factory-bootstrap-430 blockquote,.factory-bootstrap-430 pre{border:1px solid #999;page-break-inside:avoid}.factory-bootstrap-430 thead{display:table-header-group}.factory-bootstrap-430 img,.factory-bootstrap-430 tr{page-break-inside:avoid}.factory-bootstrap-430 img{max-width:100%!important}@page{margin:2cm .5cm}.factory-bootstrap-430 h2,.factory-bootstrap-430 h3,.factory-bootstrap-430 p{orphans:3;widows:3}.factory-bootstrap-430 h2,.factory-bootstrap-430 h3{page-break-after:avoid}.factory-bootstrap-430 select{background:#fff!important}.factory-bootstrap-430 .navbar{display:none}.factory-bootstrap-430 .table td,.factory-bootstrap-430 .table th{background-color:#fff!important}.factory-bootstrap-430 .btn>.caret,.factory-bootstrap-430 .dropup>.btn>.caret{border-top-color:#000!important}.factory-bootstrap-430 .label{border:1px solid #000}.factory-bootstrap-430 .table{border-collapse:collapse!important}.factory-bootstrap-430 .table-bordered td,.factory-bootstrap-430 .table-bordered th{border:1px solid #ddd!important}}.factory-bootstrap-430 *,.factory-bootstrap-430 :after,.factory-bootstrap-430 :before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html .factory-bootstrap-430{-webkit-tap-highlight-color:rgba(0,0,0,0)}.factory-bootstrap-430 body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.428571429;color:#333;background-color:#fff}.factory-bootstrap-430 button,.factory-bootstrap-430 input,.factory-bootstrap-430 select,.factory-bootstrap-430 textarea{font-family:inherit;font-size:inherit;line-height:inherit}.factory-bootstrap-430 img{vertical-align:middle}.factory-bootstrap-430 .img-responsive{display:block;height:auto;max-width:100%}.factory-bootstrap-430 .img-rounded{border-radius:6px}.factory-bootstrap-430 .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-430 .img-circle{border-radius:50%}.factory-bootstrap-430 hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.factory-bootstrap-430 .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.factory-bootstrap-430 .h1,.factory-bootstrap-430 .h2,.factory-bootstrap-430 .h3,.factory-bootstrap-430 .h4,.factory-bootstrap-430 .h5,.factory-bootstrap-430 .h6,.factory-bootstrap-430 h1,.factory-bootstrap-430 h2,.factory-bootstrap-430 h3,.factory-bootstrap-430 h4,.factory-bootstrap-430 h5,.factory-bootstrap-430 h6{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;line-height:1.1;color:inherit}.factory-bootstrap-430 .h1 .small,.factory-bootstrap-430 .h1 small,.factory-bootstrap-430 .h2 .small,.factory-bootstrap-430 .h2 small,.factory-bootstrap-430 .h3 .small,.factory-bootstrap-430 .h3 small,.factory-bootstrap-430 .h4 .small,.factory-bootstrap-430 .h4 small,.factory-bootstrap-430 .h5 .small,.factory-bootstrap-430 .h5 small,.factory-bootstrap-430 .h6 .small,.factory-bootstrap-430 .h6 small,.factory-bootstrap-430 h1 .small,.factory-bootstrap-430 h1 small,.factory-bootstrap-430 h2 .small,.factory-bootstrap-430 h2 small,.factory-bootstrap-430 h3 .small,.factory-bootstrap-430 h3 small,.factory-bootstrap-430 h4 .small,.factory-bootstrap-430 h4 small,.factory-bootstrap-430 h5 .small,.factory-bootstrap-430 h5 small,.factory-bootstrap-430 h6 .small,.factory-bootstrap-430 h6 small{font-weight:400;line-height:1;color:#999}.factory-bootstrap-430 h1,.factory-bootstrap-430 h2,.factory-bootstrap-430 h3{margin-top:20px;margin-bottom:10px}.factory-bootstrap-430 h1 .small,.factory-bootstrap-430 h1 small,.factory-bootstrap-430 h2 .small,.factory-bootstrap-430 h2 small,.factory-bootstrap-430 h3 .small,.factory-bootstrap-430 h3 small{font-size:65%}.factory-bootstrap-430 h4,.factory-bootstrap-430 h5,.factory-bootstrap-430 h6{margin-top:10px;margin-bottom:10px}.factory-bootstrap-430 h4 .small,.factory-bootstrap-430 h4 small,.factory-bootstrap-430 h5 .small,.factory-bootstrap-430 h5 small,.factory-bootstrap-430 h6 .small,.factory-bootstrap-430 h6 small{font-size:75%}.factory-bootstrap-430 .h1,.factory-bootstrap-430 h1{font-size:36px}.factory-bootstrap-430 .h2,.factory-bootstrap-430 h2{font-size:30px}.factory-bootstrap-430 .h3,.factory-bootstrap-430 h3{font-size:24px}.factory-bootstrap-430 .h4,.factory-bootstrap-430 h4{font-size:18px}.factory-bootstrap-430 .h5,.factory-bootstrap-430 h5{font-size:14px}.factory-bootstrap-430 .h6,.factory-bootstrap-430 h6{font-size:12px}.factory-bootstrap-430 p{margin:0 0 10px}.factory-bootstrap-430 .lead{margin-bottom:20px;font-size:16px;font-weight:200;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.factory-bootstrap-430 .small,.factory-bootstrap-430 small{font-size:85%}.factory-bootstrap-430 cite{font-style:normal}.factory-bootstrap-430 .text-muted{color:#999}.factory-bootstrap-430 .text-primary{color:#428bca}.factory-bootstrap-430 .text-primary:hover{color:#3071a9}.factory-bootstrap-430 .text-warning{color:#8a6d3b}.factory-bootstrap-430 .text-warning:hover{color:#66512c}.factory-bootstrap-430 .text-danger{color:#a94442}.factory-bootstrap-430 .text-danger:hover{color:#843534}.factory-bootstrap-430 .text-success{color:#3c763d}.factory-bootstrap-430 .text-success:hover{color:#2b542c}.factory-bootstrap-430 .text-info{color:#31708f}.factory-bootstrap-430 .text-info:hover{color:#245269}.factory-bootstrap-430 .text-left{text-align:left}.factory-bootstrap-430 .text-right{text-align:right}.factory-bootstrap-430 .text-center{text-align:center}.factory-bootstrap-430 .page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}.factory-bootstrap-430 ol,.factory-bootstrap-430 ul{margin-top:0;margin-bottom:10px}.factory-bootstrap-430 ol ol,.factory-bootstrap-430 ol ul,.factory-bootstrap-430 ul ol,.factory-bootstrap-430 ul ul{margin-bottom:0}.factory-bootstrap-430 .list-inline,.factory-bootstrap-430 .list-unstyled{padding-left:0;list-style:none}.factory-bootstrap-430 .list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}.factory-bootstrap-430 .list-inline>li:first-child{padding-left:0}.factory-bootstrap-430 dl{margin-top:0;margin-bottom:20px}.factory-bootstrap-430 dd,.factory-bootstrap-430 dt{line-height:1.428571429}.factory-bootstrap-430 dt{font-weight:700}.factory-bootstrap-430 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-430 abbr[data-original-title],.factory-bootstrap-430 abbr[title]{cursor:help;border-bottom:1px dotted #999}.factory-bootstrap-430 .initialism{font-size:90%;text-transform:uppercase}.factory-bootstrap-430 blockquote{padding:10px 20px;margin:0 0 20px;border-left:5px solid #eee}.factory-bootstrap-430 blockquote p{font-size:17.5px;font-weight:300;line-height:1.25}.factory-bootstrap-430 blockquote p:last-child{margin-bottom:0}.factory-bootstrap-430 blockquote .small,.factory-bootstrap-430 blockquote small{display:block;line-height:1.428571429;color:#999}.factory-bootstrap-430 blockquote .small:before,.factory-bootstrap-430 blockquote small:before{content:'\2014 \00A0'}.factory-bootstrap-430 blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}.factory-bootstrap-430 blockquote.pull-right .small,.factory-bootstrap-430 blockquote.pull-right p,.factory-bootstrap-430 blockquote.pull-right small{text-align:right}.factory-bootstrap-430 blockquote.pull-right .small:before,.factory-bootstrap-430 blockquote.pull-right small:before{content:''}.factory-bootstrap-430 blockquote.pull-right .small:after,.factory-bootstrap-430 blockquote.pull-right small:after{content:'\00A0 \2014'}.factory-bootstrap-430 blockquote:after,.factory-bootstrap-430 blockquote:before{content:""}.factory-bootstrap-430 address{margin-bottom:20px;font-style:normal;line-height:1.428571429}.factory-bootstrap-430 code,.factory-bootstrap-430 kbd,.factory-bootstrap-430 pre,.factory-bootstrap-430 samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}.factory-bootstrap-430 code{padding:2px 4px;font-size:90%;color:#c7254e;white-space:nowrap;background-color:#f9f2f4;border-radius:4px}.factory-bootstrap-430 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-430 pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.factory-bootstrap-430 .pre-scrollable{max-height:340px;overflow-y:scroll}.factory-bootstrap-430 .container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.factory-bootstrap-430 .container:after,.factory-bootstrap-430 .container:before{display:table;content:" "}.factory-bootstrap-430 .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-430 .row{margin-right:-15px;margin-left:-15px}.factory-bootstrap-430 .row:after,.factory-bootstrap-430 .row:before{display:table;content:" "}.factory-bootstrap-430 .row:after{clear:both}.factory-bootstrap-430 .col-lg-1,.factory-bootstrap-430 .col-lg-10,.factory-bootstrap-430 .col-lg-11,.factory-bootstrap-430 .col-lg-12,.factory-bootstrap-430 .col-lg-2,.factory-bootstrap-430 .col-lg-3,.factory-bootstrap-430 .col-lg-4,.factory-bootstrap-430 .col-lg-5,.factory-bootstrap-430 .col-lg-6,.factory-bootstrap-430 .col-lg-7,.factory-bootstrap-430 .col-lg-8,.factory-bootstrap-430 .col-lg-9,.factory-bootstrap-430 .col-md-1,.factory-bootstrap-430 .col-md-10,.factory-bootstrap-430 .col-md-11,.factory-bootstrap-430 .col-md-12,.factory-bootstrap-430 .col-md-2,.factory-bootstrap-430 .col-md-3,.factory-bootstrap-430 .col-md-4,.factory-bootstrap-430 .col-md-5,.factory-bootstrap-430 .col-md-6,.factory-bootstrap-430 .col-md-7,.factory-bootstrap-430 .col-md-8,.factory-bootstrap-430 .col-md-9,.factory-bootstrap-430 .col-sm-1,.factory-bootstrap-430 .col-sm-10,.factory-bootstrap-430 .col-sm-11,.factory-bootstrap-430 .col-sm-12,.factory-bootstrap-430 .col-sm-2,.factory-bootstrap-430 .col-sm-3,.factory-bootstrap-430 .col-sm-4,.factory-bootstrap-430 .col-sm-5,.factory-bootstrap-430 .col-sm-6,.factory-bootstrap-430 .col-sm-7,.factory-bootstrap-430 .col-sm-8,.factory-bootstrap-430 .col-sm-9,.factory-bootstrap-430 .col-xs-1,.factory-bootstrap-430 .col-xs-10,.factory-bootstrap-430 .col-xs-11,.factory-bootstrap-430 .col-xs-12,.factory-bootstrap-430 .col-xs-2,.factory-bootstrap-430 .col-xs-3,.factory-bootstrap-430 .col-xs-4,.factory-bootstrap-430 .col-xs-5,.factory-bootstrap-430 .col-xs-6,.factory-bootstrap-430 .col-xs-7,.factory-bootstrap-430 .col-xs-8,.factory-bootstrap-430 .col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.factory-bootstrap-430 .col-xs-1,.factory-bootstrap-430 .col-xs-10,.factory-bootstrap-430 .col-xs-11,.factory-bootstrap-430 .col-xs-12,.factory-bootstrap-430 .col-xs-2,.factory-bootstrap-430 .col-xs-3,.factory-bootstrap-430 .col-xs-4,.factory-bootstrap-430 .col-xs-5,.factory-bootstrap-430 .col-xs-6,.factory-bootstrap-430 .col-xs-7,.factory-bootstrap-430 .col-xs-8,.factory-bootstrap-430 .col-xs-9{float:left}.factory-bootstrap-430 .col-xs-12{width:100%}.factory-bootstrap-430 .col-xs-11{width:91.66666666666666%}.factory-bootstrap-430 .col-xs-10{width:83.33333333333334%}.factory-bootstrap-430 .col-xs-9{width:75%}.factory-bootstrap-430 .col-xs-8{width:66.66666666666666%}.factory-bootstrap-430 .col-xs-7{width:58.333333333333336%}.factory-bootstrap-430 .col-xs-6{width:50%}.factory-bootstrap-430 .col-xs-5{width:41.66666666666667%}.factory-bootstrap-430 .col-xs-4{width:33.33333333333333%}.factory-bootstrap-430 .col-xs-3{width:25%}.factory-bootstrap-430 .col-xs-2{width:16.666666666666664%}.factory-bootstrap-430 .col-xs-1{width:8.333333333333332%}.factory-bootstrap-430 .col-xs-pull-12{right:100%}.factory-bootstrap-430 .col-xs-pull-11{right:91.66666666666666%}.factory-bootstrap-430 .col-xs-pull-10{right:83.33333333333334%}.factory-bootstrap-430 .col-xs-pull-9{right:75%}.factory-bootstrap-430 .col-xs-pull-8{right:66.66666666666666%}.factory-bootstrap-430 .col-xs-pull-7{right:58.333333333333336%}.factory-bootstrap-430 .col-xs-pull-6{right:50%}.factory-bootstrap-430 .col-xs-pull-5{right:41.66666666666667%}.factory-bootstrap-430 .col-xs-pull-4{right:33.33333333333333%}.factory-bootstrap-430 .col-xs-pull-3{right:25%}.factory-bootstrap-430 .col-xs-pull-2{right:16.666666666666664%}.factory-bootstrap-430 .col-xs-pull-1{right:8.333333333333332%}.factory-bootstrap-430 .col-xs-pull-0{right:0}.factory-bootstrap-430 .col-xs-push-12{left:100%}.factory-bootstrap-430 .col-xs-push-11{left:91.66666666666666%}.factory-bootstrap-430 .col-xs-push-10{left:83.33333333333334%}.factory-bootstrap-430 .col-xs-push-9{left:75%}.factory-bootstrap-430 .col-xs-push-8{left:66.66666666666666%}.factory-bootstrap-430 .col-xs-push-7{left:58.333333333333336%}.factory-bootstrap-430 .col-xs-push-6{left:50%}.factory-bootstrap-430 .col-xs-push-5{left:41.66666666666667%}.factory-bootstrap-430 .col-xs-push-4{left:33.33333333333333%}.factory-bootstrap-430 .col-xs-push-3{left:25%}.factory-bootstrap-430 .col-xs-push-2{left:16.666666666666664%}.factory-bootstrap-430 .col-xs-push-1{left:8.333333333333332%}.factory-bootstrap-430 .col-xs-push-0{left:0}.factory-bootstrap-430 .col-xs-offset-12{margin-left:100%}.factory-bootstrap-430 .col-xs-offset-11{margin-left:91.66666666666666%}.factory-bootstrap-430 .col-xs-offset-10{margin-left:83.33333333333334%}.factory-bootstrap-430 .col-xs-offset-9{margin-left:75%}.factory-bootstrap-430 .col-xs-offset-8{margin-left:66.66666666666666%}.factory-bootstrap-430 .col-xs-offset-7{margin-left:58.333333333333336%}.factory-bootstrap-430 .col-xs-offset-6{margin-left:50%}.factory-bootstrap-430 .col-xs-offset-5{margin-left:41.66666666666667%}.factory-bootstrap-430 .col-xs-offset-4{margin-left:33.33333333333333%}.factory-bootstrap-430 .col-xs-offset-3{margin-left:25%}.factory-bootstrap-430 .col-xs-offset-2{margin-left:16.666666666666664%}.factory-bootstrap-430 .col-xs-offset-1{margin-left:8.333333333333332%}.factory-bootstrap-430 .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-430 table{max-width:100%;background-color:transparent}.factory-bootstrap-430 th{text-align:left}.factory-bootstrap-430 .table{width:100%;margin-bottom:20px}.factory-bootstrap-430 .table>tbody>tr>td,.factory-bootstrap-430 .table>tbody>tr>th,.factory-bootstrap-430 .table>tfoot>tr>td,.factory-bootstrap-430 .table>tfoot>tr>th,.factory-bootstrap-430 .table>thead>tr>td,.factory-bootstrap-430 .table>thead>tr>th{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #ddd}.factory-bootstrap-430 .table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.factory-bootstrap-430 .table>caption+thead>tr:first-child>td,.factory-bootstrap-430 .table>caption+thead>tr:first-child>th,.factory-bootstrap-430 .table>colgroup+thead>tr:first-child>td,.factory-bootstrap-430 .table>colgroup+thead>tr:first-child>th,.factory-bootstrap-430 .table>thead:first-child>tr:first-child>td,.factory-bootstrap-430 .table>thead:first-child>tr:first-child>th{border-top:0}.factory-bootstrap-430 .table>tbody+tbody{border-top:2px solid #ddd}.factory-bootstrap-430 .table .table{background-color:#fff}.factory-bootstrap-430 .table-condensed>tbody>tr>td,.factory-bootstrap-430 .table-condensed>tbody>tr>th,.factory-bootstrap-430 .table-condensed>tfoot>tr>td,.factory-bootstrap-430 .table-condensed>tfoot>tr>th,.factory-bootstrap-430 .table-condensed>thead>tr>td,.factory-bootstrap-430 .table-condensed>thead>tr>th{padding:5px}.factory-bootstrap-430 .table-bordered,.factory-bootstrap-430 .table-bordered>tbody>tr>td,.factory-bootstrap-430 .table-bordered>tbody>tr>th,.factory-bootstrap-430 .table-bordered>tfoot>tr>td,.factory-bootstrap-430 .table-bordered>tfoot>tr>th,.factory-bootstrap-430 .table-bordered>thead>tr>td,.factory-bootstrap-430 .table-bordered>thead>tr>th{border:1px solid #ddd}.factory-bootstrap-430 .table-bordered>thead>tr>td,.factory-bootstrap-430 .table-bordered>thead>tr>th{border-bottom-width:2px}.factory-bootstrap-430 .table-striped>tbody>tr:nth-child(odd)>td,.factory-bootstrap-430 .table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.factory-bootstrap-430 .table-hover>tbody>tr:hover>td,.factory-bootstrap-430 .table-hover>tbody>tr:hover>th{background-color:#f5f5f5}.factory-bootstrap-430 table col[class*=col-]{position:static;display:table-column;float:none}.factory-bootstrap-430 table td[class*=col-],.factory-bootstrap-430 table th[class*=col-]{display:table-cell;float:none}.factory-bootstrap-430 .table>tbody>.active>td,.factory-bootstrap-430 .table>tbody>.active>th,.factory-bootstrap-430 .table>tbody>tr>.active,.factory-bootstrap-430 .table>tfoot>.active>td,.factory-bootstrap-430 .table>tfoot>.active>th,.factory-bootstrap-430 .table>tfoot>tr>.active,.factory-bootstrap-430 .table>thead>.active>td,.factory-bootstrap-430 .table>thead>.active>th,.factory-bootstrap-430 .table>thead>tr>.active{background-color:#f5f5f5}.factory-bootstrap-430 .table-hover>tbody>.active:hover>td,.factory-bootstrap-430 .table-hover>tbody>.active:hover>th,.factory-bootstrap-430 .table-hover>tbody>tr>.active:hover{background-color:#e8e8e8}.factory-bootstrap-430 .table>tbody>.success>td,.factory-bootstrap-430 .table>tbody>.success>th,.factory-bootstrap-430 .table>tbody>tr>.success,.factory-bootstrap-430 .table>tfoot>.success>td,.factory-bootstrap-430 .table>tfoot>.success>th,.factory-bootstrap-430 .table>tfoot>tr>.success,.factory-bootstrap-430 .table>thead>.success>td,.factory-bootstrap-430 .table>thead>.success>th,.factory-bootstrap-430 .table>thead>tr>.success{background-color:#dff0d8}.factory-bootstrap-430 .table-hover>tbody>.success:hover>td,.factory-bootstrap-430 .table-hover>tbody>.success:hover>th,.factory-bootstrap-430 .table-hover>tbody>tr>.success:hover{background-color:#d0e9c6}.factory-bootstrap-430 .table>tbody>.danger>td,.factory-bootstrap-430 .table>tbody>.danger>th,.factory-bootstrap-430 .table>tbody>tr>.danger,.factory-bootstrap-430 .table>tfoot>.danger>td,.factory-bootstrap-430 .table>tfoot>.danger>th,.factory-bootstrap-430 .table>tfoot>tr>.danger,.factory-bootstrap-430 .table>thead>.danger>td,.factory-bootstrap-430 .table>thead>.danger>th,.factory-bootstrap-430 .table>thead>tr>.danger{background-color:#f2dede}.factory-bootstrap-430 .table-hover>tbody>.danger:hover>td,.factory-bootstrap-430 .table-hover>tbody>.danger:hover>th,.factory-bootstrap-430 .table-hover>tbody>tr>.danger:hover{background-color:#ebcccc}.factory-bootstrap-430 .table>tbody>.warning>td,.factory-bootstrap-430 .table>tbody>.warning>th,.factory-bootstrap-430 .table>tbody>tr>.warning,.factory-bootstrap-430 .table>tfoot>.warning>td,.factory-bootstrap-430 .table>tfoot>.warning>th,.factory-bootstrap-430 .table>tfoot>tr>.warning,.factory-bootstrap-430 .table>thead>.warning>td,.factory-bootstrap-430 .table>thead>.warning>th,.factory-bootstrap-430 .table>thead>tr>.warning{background-color:#fcf8e3}.factory-bootstrap-430 .table-hover>tbody>.warning:hover>td,.factory-bootstrap-430 .table-hover>tbody>.warning:hover>th,.factory-bootstrap-430 .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-430 fieldset{padding:0;margin:0;border:0}.factory-bootstrap-430 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-430 label{display:inline-block;margin-bottom:5px;font-weight:700}.factory-bootstrap-430 input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.factory-bootstrap-430 input[type=checkbox],.factory-bootstrap-430 input[type=radio]{margin:4px 0 0;margin-top:1px \9;line-height:normal}.factory-bootstrap-430 input[type=file]{display:block}.factory-bootstrap-430 select[multiple],.factory-bootstrap-430 select[size]{height:auto}.factory-bootstrap-430 select optgroup{font-family:inherit;font-size:inherit;font-style:inherit}.factory-bootstrap-430 input[type=checkbox]:focus,.factory-bootstrap-430 input[type=file]:focus,.factory-bootstrap-430 input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.factory-bootstrap-430 input[type=number]::-webkit-inner-spin-button,.factory-bootstrap-430 input[type=number]::-webkit-outer-spin-button{height:auto}.factory-bootstrap-430 output{display:block;padding-top:7px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle}.factory-bootstrap-430 .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-430 .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-430 .form-control:-moz-placeholder{color:#999}.factory-bootstrap-430 .form-control::-moz-placeholder{color:#999;opacity:1}.factory-bootstrap-430 .form-control:-ms-input-placeholder{color:#999}.factory-bootstrap-430 .form-control::-webkit-input-placeholder{color:#999}.factory-bootstrap-430 .form-control[disabled],.factory-bootstrap-430 .form-control[readonly],.factory-bootstrap-430 fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee}.factory-bootstrap-430 textarea.form-control{height:auto}.factory-bootstrap-430 .form-group{margin-bottom:15px}.factory-bootstrap-430 .checkbox,.factory-bootstrap-430 .radio{display:block;min-height:20px;padding-left:20px;margin-top:10px;margin-bottom:10px;vertical-align:middle}.factory-bootstrap-430 .checkbox label,.factory-bootstrap-430 .radio label{display:inline;margin-bottom:0;font-weight:400;cursor:pointer}.factory-bootstrap-430 .checkbox input[type=checkbox],.factory-bootstrap-430 .checkbox-inline input[type=checkbox],.factory-bootstrap-430 .radio input[type=radio],.factory-bootstrap-430 .radio-inline input[type=radio]{float:left;margin-left:-20px}.factory-bootstrap-430 .checkbox+.checkbox,.factory-bootstrap-430 .radio+.radio{margin-top:-5px}.factory-bootstrap-430 .checkbox-inline,.factory-bootstrap-430 .radio-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.factory-bootstrap-430 .checkbox-inline+.checkbox-inline,.factory-bootstrap-430 .radio-inline+.radio-inline{margin-top:0;margin-left:10px}.factory-bootstrap-430 .checkbox-inline[disabled],.factory-bootstrap-430 .checkbox[disabled],.factory-bootstrap-430 .radio-inline[disabled],.factory-bootstrap-430 .radio[disabled],.factory-bootstrap-430 fieldset[disabled] .checkbox,.factory-bootstrap-430 fieldset[disabled] .checkbox-inline,.factory-bootstrap-430 fieldset[disabled] .radio,.factory-bootstrap-430 fieldset[disabled] .radio-inline,.factory-bootstrap-430 fieldset[disabled] input[type=checkbox],.factory-bootstrap-430 fieldset[disabled] input[type=radio],.factory-bootstrap-430 input[type=checkbox][disabled],.factory-bootstrap-430 input[type=radio][disabled]{cursor:not-allowed}.factory-bootstrap-430 .input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-430 select.input-sm{height:30px;line-height:30px}.factory-bootstrap-430 textarea.input-sm{height:auto}.factory-bootstrap-430 .input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-430 select.input-lg{height:46px;line-height:46px}.factory-bootstrap-430 textarea.input-lg{height:auto}.factory-bootstrap-430 .has-warning .checkbox,.factory-bootstrap-430 .has-warning .checkbox-inline,.factory-bootstrap-430 .has-warning .control-label,.factory-bootstrap-430 .has-warning .help-block,.factory-bootstrap-430 .has-warning .radio,.factory-bootstrap-430 .has-warning .radio-inline{color:#8a6d3b}.factory-bootstrap-430 .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-430 .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-430 .has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.factory-bootstrap-430 .has-error .checkbox,.factory-bootstrap-430 .has-error .checkbox-inline,.factory-bootstrap-430 .has-error .control-label,.factory-bootstrap-430 .has-error .help-block,.factory-bootstrap-430 .has-error .radio,.factory-bootstrap-430 .has-error .radio-inline{color:#a94442}.factory-bootstrap-430 .controls{display:block}.factory-bootstrap-430 .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-430 .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-430 .has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.factory-bootstrap-430 .has-success .checkbox,.factory-bootstrap-430 .has-success .checkbox-inline,.factory-bootstrap-430 .has-success .control-label,.factory-bootstrap-430 .has-success .help-block,.factory-bootstrap-430 .has-success .radio,.factory-bootstrap-430 .has-success .radio-inline{color:#3c763d}.factory-bootstrap-430 .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-430 .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-430 .has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.factory-bootstrap-430 .form-control-static{margin-bottom:0}.factory-bootstrap-430 .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-430 .form-horizontal .checkbox,.factory-bootstrap-430 .form-horizontal .checkbox-inline,.factory-bootstrap-430 .form-horizontal .control-label,.factory-bootstrap-430 .form-horizontal .radio,.factory-bootstrap-430 .form-horizontal .radio-inline{position:relative;padding-top:7px;margin-top:0;margin-bottom:0}.factory-bootstrap-430 .form-horizontal .control-label{max-width:200px}.factory-bootstrap-430 .form-horizontal .checkbox,.factory-bootstrap-430 .form-horizontal .radio{min-height:27px}.factory-bootstrap-430 .form-horizontal .form-group{margin-right:-15px;margin-left:-15px}.factory-bootstrap-430 .form-horizontal .form-group:after,.factory-bootstrap-430 .form-horizontal .form-group:before{display:table;content:" "}.factory-bootstrap-430 .form-horizontal .form-group:after{clear:both}.factory-bootstrap-430 .form-horizontal .form-control-static{padding-top:7px}@media (min-width:768px){.form-horizontal .control-label{text-align:right}}.factory-bootstrap-430 .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-430 .btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.factory-bootstrap-430 .btn{text-decoration:none}.factory-bootstrap-430 .btn:focus,.factory-bootstrap-430 .btn:hover{color:#333;text-decoration:none}.factory-bootstrap-430 .btn.disabled,.factory-bootstrap-430 .btn[disabled],.factory-bootstrap-430 fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-430 .btn-default.active,.factory-bootstrap-430 .btn-default:active,.factory-bootstrap-430 .btn-default:focus,.factory-bootstrap-430 .btn-default:hover,.factory-bootstrap-430 .open .dropdown-toggle.btn-default{background:#fafafa;border-color:#999;color:#222}.factory-bootstrap-430 .btn-default.active,.factory-bootstrap-430 .btn-default:active,.factory-bootstrap-430 .open .dropdown-toggle.btn-default{background-image:none}.factory-bootstrap-430 .btn-default.disabled,.factory-bootstrap-430 .btn-default.disabled.active,.factory-bootstrap-430 .btn-default.disabled:active,.factory-bootstrap-430 .btn-default.disabled:focus,.factory-bootstrap-430 .btn-default.disabled:hover,.factory-bootstrap-430 .btn-default[disabled],.factory-bootstrap-430 .btn-default[disabled].active,.factory-bootstrap-430 .btn-default[disabled]:active,.factory-bootstrap-430 .btn-default[disabled]:focus,.factory-bootstrap-430 .btn-default[disabled]:hover,.factory-bootstrap-430 fieldset[disabled] .btn-default,.factory-bootstrap-430 fieldset[disabled] .btn-default.active,.factory-bootstrap-430 fieldset[disabled] .btn-default:active,.factory-bootstrap-430 fieldset[disabled] .btn-default:focus,.factory-bootstrap-430 fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.factory-bootstrap-430 .btn-default .badge{color:#fff;background-color:#fff}.factory-bootstrap-430 .btn-primary.active,.factory-bootstrap-430 .btn-primary:active,.factory-bootstrap-430 .btn-primary:focus,.factory-bootstrap-430 .btn-primary:hover,.factory-bootstrap-430 .open .dropdown-toggle.btn-primary{color:#fff;background-color:#3276b1;border-color:#285e8e}.factory-bootstrap-430 .btn-primary.active,.factory-bootstrap-430 .btn-primary:active,.factory-bootstrap-430 .open .dropdown-toggle.btn-primary{background-image:none}.factory-bootstrap-430 .btn-primary.disabled,.factory-bootstrap-430 .btn-primary.disabled.active,.factory-bootstrap-430 .btn-primary.disabled:active,.factory-bootstrap-430 .btn-primary.disabled:focus,.factory-bootstrap-430 .btn-primary.disabled:hover,.factory-bootstrap-430 .btn-primary[disabled],.factory-bootstrap-430 .btn-primary[disabled].active,.factory-bootstrap-430 .btn-primary[disabled]:active,.factory-bootstrap-430 .btn-primary[disabled]:focus,.factory-bootstrap-430 .btn-primary[disabled]:hover,.factory-bootstrap-430 fieldset[disabled] .btn-primary,.factory-bootstrap-430 fieldset[disabled] .btn-primary.active,.factory-bootstrap-430 fieldset[disabled] .btn-primary:active,.factory-bootstrap-430 fieldset[disabled] .btn-primary:focus,.factory-bootstrap-430 fieldset[disabled] .btn-primary:hover{background-color:#428bca;border-color:#357ebd}.factory-bootstrap-430 .btn-primary .badge{color:#428bca;background-color:#fff}.factory-bootstrap-430 .btn-warning{color:#fff;background-color:#f0ad4e}.factory-bootstrap-430 .btn-warning.active,.factory-bootstrap-430 .btn-warning:active,.factory-bootstrap-430 .btn-warning:focus,.factory-bootstrap-430 .btn-warning:hover,.factory-bootstrap-430 .open .dropdown-toggle.btn-warning{color:#fff;background-color:#ed9c28;border-color:#d58512}.factory-bootstrap-430 .btn-warning.active,.factory-bootstrap-430 .btn-warning:active,.factory-bootstrap-430 .open .dropdown-toggle.btn-warning{background-image:none}.factory-bootstrap-430 .btn-warning.disabled,.factory-bootstrap-430 .btn-warning.disabled.active,.factory-bootstrap-430 .btn-warning.disabled:active,.factory-bootstrap-430 .btn-warning.disabled:focus,.factory-bootstrap-430 .btn-warning.disabled:hover,.factory-bootstrap-430 .btn-warning[disabled],.factory-bootstrap-430 .btn-warning[disabled].active,.factory-bootstrap-430 .btn-warning[disabled]:active,.factory-bootstrap-430 .btn-warning[disabled]:focus,.factory-bootstrap-430 .btn-warning[disabled]:hover,.factory-bootstrap-430 fieldset[disabled] .btn-warning,.factory-bootstrap-430 fieldset[disabled] .btn-warning.active,.factory-bootstrap-430 fieldset[disabled] .btn-warning:active,.factory-bootstrap-430 fieldset[disabled] .btn-warning:focus,.factory-bootstrap-430 fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.factory-bootstrap-430 .btn-warning .badge{color:#f0ad4e;background-color:#fff}.factory-bootstrap-430 .btn-success{color:#fff;background-color:#5cb85c}.factory-bootstrap-430 .btn-success.active,.factory-bootstrap-430 .btn-success:active,.factory-bootstrap-430 .btn-success:focus,.factory-bootstrap-430 .btn-success:hover,.factory-bootstrap-430 .open .dropdown-toggle.btn-success{color:#fff;background-color:#47a447;border-color:#398439}.factory-bootstrap-430 .btn-success.active,.factory-bootstrap-430 .btn-success:active,.factory-bootstrap-430 .open .dropdown-toggle.btn-success{background-image:none}.factory-bootstrap-430 .btn-success.disabled,.factory-bootstrap-430 .btn-success.disabled.active,.factory-bootstrap-430 .btn-success.disabled:active,.factory-bootstrap-430 .btn-success.disabled:focus,.factory-bootstrap-430 .btn-success.disabled:hover,.factory-bootstrap-430 .btn-success[disabled],.factory-bootstrap-430 .btn-success[disabled].active,.factory-bootstrap-430 .btn-success[disabled]:active,.factory-bootstrap-430 .btn-success[disabled]:focus,.factory-bootstrap-430 .btn-success[disabled]:hover,.factory-bootstrap-430 fieldset[disabled] .btn-success,.factory-bootstrap-430 fieldset[disabled] .btn-success.active,.factory-bootstrap-430 fieldset[disabled] .btn-success:active,.factory-bootstrap-430 fieldset[disabled] .btn-success:focus,.factory-bootstrap-430 fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.factory-bootstrap-430 .btn-success .badge{color:#5cb85c;background-color:#fff}.factory-bootstrap-430 .btn-info{color:#fff;background-color:#5bc0de}.factory-bootstrap-430 .btn-info.active,.factory-bootstrap-430 .btn-info:active,.factory-bootstrap-430 .btn-info:focus,.factory-bootstrap-430 .btn-info:hover,.factory-bootstrap-430 .open .dropdown-toggle.btn-info{color:#fff;background-color:#39b3d7;border-color:#269abc}.factory-bootstrap-430 .btn-info.active,.factory-bootstrap-430 .btn-info:active,.factory-bootstrap-430 .open .dropdown-toggle.btn-info{background-image:none}.factory-bootstrap-430 .btn-info.disabled,.factory-bootstrap-430 .btn-info.disabled.active,.factory-bootstrap-430 .btn-info.disabled:active,.factory-bootstrap-430 .btn-info.disabled:focus,.factory-bootstrap-430 .btn-info.disabled:hover,.factory-bootstrap-430 .btn-info[disabled],.factory-bootstrap-430 .btn-info[disabled].active,.factory-bootstrap-430 .btn-info[disabled]:active,.factory-bootstrap-430 .btn-info[disabled]:focus,.factory-bootstrap-430 .btn-info[disabled]:hover,.factory-bootstrap-430 fieldset[disabled] .btn-info,.factory-bootstrap-430 fieldset[disabled] .btn-info.active,.factory-bootstrap-430 fieldset[disabled] .btn-info:active,.factory-bootstrap-430 fieldset[disabled] .btn-info:focus,.factory-bootstrap-430 fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.factory-bootstrap-430 .btn-info .badge{color:#5bc0de;background-color:#fff}.factory-bootstrap-430 .btn-link{font-weight:400;color:#428bca;cursor:pointer;border-radius:0}.factory-bootstrap-430 .btn-link,.factory-bootstrap-430 .btn-link:active,.factory-bootstrap-430 .btn-link[disabled],.factory-bootstrap-430 fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-430 .btn-link,.factory-bootstrap-430 .btn-link:active,.factory-bootstrap-430 .btn-link:focus,.factory-bootstrap-430 .btn-link:hover{border-color:transparent}.factory-bootstrap-430 .btn-link:focus,.factory-bootstrap-430 .btn-link:hover{color:#2a6496;text-decoration:underline;background-color:transparent}.factory-bootstrap-430 .btn-link[disabled]:focus,.factory-bootstrap-430 .btn-link[disabled]:hover,.factory-bootstrap-430 fieldset[disabled] .btn-link:focus,.factory-bootstrap-430 fieldset[disabled] .btn-link:hover{color:#999;text-decoration:none}.factory-bootstrap-430 .btn-lg{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-430 .btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-430 .btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-430 .btn-block{display:block;width:100%;padding-right:0;padding-left:0}.factory-bootstrap-430 .btn-block+.btn-block{margin-top:5px}.factory-bootstrap-430 input[type=button].btn-block,.factory-bootstrap-430 input[type=reset].btn-block,.factory-bootstrap-430 input[type=submit].btn-block{width:100%}.factory-bootstrap-430 .fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.factory-bootstrap-430 .fade.in{opacity:1}.factory-bootstrap-430 .collapse{display:none}.factory-bootstrap-430 .collapse.in{display:block}.factory-bootstrap-430 .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-430 .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-430 .glyphicon:empty{width:1em}.factory-bootstrap-430 .glyphicon-asterisk:before{content:"\2a"}.factory-bootstrap-430 .glyphicon-plus:before{content:"\2b"}.factory-bootstrap-430 .glyphicon-euro:before{content:"\20ac"}.factory-bootstrap-430 .glyphicon-minus:before{content:"\2212"}.factory-bootstrap-430 .glyphicon-cloud:before{content:"\2601"}.factory-bootstrap-430 .glyphicon-envelope:before{content:"\2709"}.factory-bootstrap-430 .glyphicon-pencil:before{content:"\270f"}.factory-bootstrap-430 .glyphicon-glass:before{content:"\e001"}.factory-bootstrap-430 .glyphicon-music:before{content:"\e002"}.factory-bootstrap-430 .glyphicon-search:before{content:"\e003"}.factory-bootstrap-430 .glyphicon-heart:before{content:"\e005"}.factory-bootstrap-430 .glyphicon-star:before{content:"\e006"}.factory-bootstrap-430 .glyphicon-star-empty:before{content:"\e007"}.factory-bootstrap-430 .glyphicon-user:before{content:"\e008"}.factory-bootstrap-430 .glyphicon-film:before{content:"\e009"}.factory-bootstrap-430 .glyphicon-th-large:before{content:"\e010"}.factory-bootstrap-430 .glyphicon-th:before{content:"\e011"}.factory-bootstrap-430 .glyphicon-th-list:before{content:"\e012"}.factory-bootstrap-430 .glyphicon-ok:before{content:"\e013"}.factory-bootstrap-430 .glyphicon-remove:before{content:"\e014"}.factory-bootstrap-430 .glyphicon-zoom-in:before{content:"\e015"}.factory-bootstrap-430 .glyphicon-zoom-out:before{content:"\e016"}.factory-bootstrap-430 .glyphicon-off:before{content:"\e017"}.factory-bootstrap-430 .glyphicon-signal:before{content:"\e018"}.factory-bootstrap-430 .glyphicon-cog:before{content:"\e019"}.factory-bootstrap-430 .glyphicon-trash:before{content:"\e020"}.factory-bootstrap-430 .glyphicon-home:before{content:"\e021"}.factory-bootstrap-430 .glyphicon-file:before{content:"\e022"}.factory-bootstrap-430 .glyphicon-time:before{content:"\e023"}.factory-bootstrap-430 .glyphicon-road:before{content:"\e024"}.factory-bootstrap-430 .glyphicon-download-alt:before{content:"\e025"}.factory-bootstrap-430 .glyphicon-download:before{content:"\e026"}.factory-bootstrap-430 .glyphicon-upload:before{content:"\e027"}.factory-bootstrap-430 .glyphicon-inbox:before{content:"\e028"}.factory-bootstrap-430 .glyphicon-play-circle:before{content:"\e029"}.factory-bootstrap-430 .glyphicon-repeat:before{content:"\e030"}.factory-bootstrap-430 .glyphicon-refresh:before{content:"\e031"}.factory-bootstrap-430 .glyphicon-list-alt:before{content:"\e032"}.factory-bootstrap-430 .glyphicon-lock:before{content:"\e033"}.factory-bootstrap-430 .glyphicon-flag:before{content:"\e034"}.factory-bootstrap-430 .glyphicon-headphones:before{content:"\e035"}.factory-bootstrap-430 .glyphicon-volume-off:before{content:"\e036"}.factory-bootstrap-430 .glyphicon-volume-down:before{content:"\e037"}.factory-bootstrap-430 .glyphicon-volume-up:before{content:"\e038"}.factory-bootstrap-430 .glyphicon-qrcode:before{content:"\e039"}.factory-bootstrap-430 .glyphicon-barcode:before{content:"\e040"}.factory-bootstrap-430 .glyphicon-tag:before{content:"\e041"}.factory-bootstrap-430 .glyphicon-tags:before{content:"\e042"}.factory-bootstrap-430 .glyphicon-book:before{content:"\e043"}.factory-bootstrap-430 .glyphicon-bookmark:before{content:"\e044"}.factory-bootstrap-430 .glyphicon-print:before{content:"\e045"}.factory-bootstrap-430 .glyphicon-camera:before{content:"\e046"}.factory-bootstrap-430 .glyphicon-font:before{content:"\e047"}.factory-bootstrap-430 .glyphicon-bold:before{content:"\e048"}.factory-bootstrap-430 .glyphicon-italic:before{content:"\e049"}.factory-bootstrap-430 .glyphicon-text-height:before{content:"\e050"}.factory-bootstrap-430 .glyphicon-text-width:before{content:"\e051"}.factory-bootstrap-430 .glyphicon-align-left:before{content:"\e052"}.factory-bootstrap-430 .glyphicon-align-center:before{content:"\e053"}.factory-bootstrap-430 .glyphicon-align-right:before{content:"\e054"}.factory-bootstrap-430 .glyphicon-align-justify:before{content:"\e055"}.factory-bootstrap-430 .glyphicon-list:before{content:"\e056"}.factory-bootstrap-430 .glyphicon-indent-left:before{content:"\e057"}.factory-bootstrap-430 .glyphicon-indent-right:before{content:"\e058"}.factory-bootstrap-430 .glyphicon-facetime-video:before{content:"\e059"}.factory-bootstrap-430 .glyphicon-picture:before{content:"\e060"}.factory-bootstrap-430 .glyphicon-map-marker:before{content:"\e062"}.factory-bootstrap-430 .glyphicon-adjust:before{content:"\e063"}.factory-bootstrap-430 .glyphicon-tint:before{content:"\e064"}.factory-bootstrap-430 .glyphicon-edit:before{content:"\e065"}.factory-bootstrap-430 .glyphicon-share:before{content:"\e066"}.factory-bootstrap-430 .glyphicon-check:before{content:"\e067"}.factory-bootstrap-430 .glyphicon-move:before{content:"\e068"}.factory-bootstrap-430 .glyphicon-step-backward:before{content:"\e069"}.factory-bootstrap-430 .glyphicon-fast-backward:before{content:"\e070"}.factory-bootstrap-430 .glyphicon-backward:before{content:"\e071"}.factory-bootstrap-430 .glyphicon-play:before{content:"\e072"}.factory-bootstrap-430 .glyphicon-pause:before{content:"\e073"}.factory-bootstrap-430 .glyphicon-stop:before{content:"\e074"}.factory-bootstrap-430 .glyphicon-forward:before{content:"\e075"}.factory-bootstrap-430 .glyphicon-fast-forward:before{content:"\e076"}.factory-bootstrap-430 .glyphicon-step-forward:before{content:"\e077"}.factory-bootstrap-430 .glyphicon-eject:before{content:"\e078"}.factory-bootstrap-430 .glyphicon-chevron-left:before{content:"\e079"}.factory-bootstrap-430 .glyphicon-chevron-right:before{content:"\e080"}.factory-bootstrap-430 .glyphicon-plus-sign:before{content:"\e081"}.factory-bootstrap-430 .glyphicon-minus-sign:before{content:"\e082"}.factory-bootstrap-430 .glyphicon-remove-sign:before{content:"\e083"}.factory-bootstrap-430 .glyphicon-ok-sign:before{content:"\e084"}.factory-bootstrap-430 .glyphicon-question-sign:before{content:"\e085"}.factory-bootstrap-430 .glyphicon-info-sign:before{content:"\e086"}.factory-bootstrap-430 .glyphicon-screenshot:before{content:"\e087"}.factory-bootstrap-430 .glyphicon-remove-circle:before{content:"\e088"}.factory-bootstrap-430 .glyphicon-ok-circle:before{content:"\e089"}.factory-bootstrap-430 .glyphicon-ban-circle:before{content:"\e090"}.factory-bootstrap-430 .glyphicon-arrow-left:before{content:"\e091"}.factory-bootstrap-430 .glyphicon-arrow-right:before{content:"\e092"}.factory-bootstrap-430 .glyphicon-arrow-up:before{content:"\e093"}.factory-bootstrap-430 .glyphicon-arrow-down:before{content:"\e094"}.factory-bootstrap-430 .glyphicon-share-alt:before{content:"\e095"}.factory-bootstrap-430 .glyphicon-resize-full:before{content:"\e096"}.factory-bootstrap-430 .glyphicon-resize-small:before{content:"\e097"}.factory-bootstrap-430 .glyphicon-exclamation-sign:before{content:"\e101"}.factory-bootstrap-430 .glyphicon-gift:before{content:"\e102"}.factory-bootstrap-430 .glyphicon-leaf:before{content:"\e103"}.factory-bootstrap-430 .glyphicon-fire:before{content:"\e104"}.factory-bootstrap-430 .glyphicon-eye-open:before{content:"\e105"}.factory-bootstrap-430 .glyphicon-eye-close:before{content:"\e106"}.factory-bootstrap-430 .glyphicon-warning-sign:before{content:"\e107"}.factory-bootstrap-430 .glyphicon-plane:before{content:"\e108"}.factory-bootstrap-430 .glyphicon-calendar:before{content:"\e109"}.factory-bootstrap-430 .glyphicon-random:before{content:"\e110"}.factory-bootstrap-430 .glyphicon-comment:before{content:"\e111"}.factory-bootstrap-430 .glyphicon-magnet:before{content:"\e112"}.factory-bootstrap-430 .glyphicon-chevron-up:before{content:"\e113"}.factory-bootstrap-430 .glyphicon-chevron-down:before{content:"\e114"}.factory-bootstrap-430 .glyphicon-retweet:before{content:"\e115"}.factory-bootstrap-430 .glyphicon-shopping-cart:before{content:"\e116"}.factory-bootstrap-430 .glyphicon-folder-close:before{content:"\e117"}.factory-bootstrap-430 .glyphicon-folder-open:before{content:"\e118"}.factory-bootstrap-430 .glyphicon-resize-vertical:before{content:"\e119"}.factory-bootstrap-430 .glyphicon-resize-horizontal:before{content:"\e120"}.factory-bootstrap-430 .glyphicon-hdd:before{content:"\e121"}.factory-bootstrap-430 .glyphicon-bullhorn:before{content:"\e122"}.factory-bootstrap-430 .glyphicon-bell:before{content:"\e123"}.factory-bootstrap-430 .glyphicon-certificate:before{content:"\e124"}.factory-bootstrap-430 .glyphicon-thumbs-up:before{content:"\e125"}.factory-bootstrap-430 .glyphicon-thumbs-down:before{content:"\e126"}.factory-bootstrap-430 .glyphicon-hand-right:before{content:"\e127"}.factory-bootstrap-430 .glyphicon-hand-left:before{content:"\e128"}.factory-bootstrap-430 .glyphicon-hand-up:before{content:"\e129"}.factory-bootstrap-430 .glyphicon-hand-down:before{content:"\e130"}.factory-bootstrap-430 .glyphicon-circle-arrow-right:before{content:"\e131"}.factory-bootstrap-430 .glyphicon-circle-arrow-left:before{content:"\e132"}.factory-bootstrap-430 .glyphicon-circle-arrow-up:before{content:"\e133"}.factory-bootstrap-430 .glyphicon-circle-arrow-down:before{content:"\e134"}.factory-bootstrap-430 .glyphicon-globe:before{content:"\e135"}.factory-bootstrap-430 .glyphicon-wrench:before{content:"\e136"}.factory-bootstrap-430 .glyphicon-tasks:before{content:"\e137"}.factory-bootstrap-430 .glyphicon-filter:before{content:"\e138"}.factory-bootstrap-430 .glyphicon-briefcase:before{content:"\e139"}.factory-bootstrap-430 .glyphicon-fullscreen:before{content:"\e140"}.factory-bootstrap-430 .glyphicon-dashboard:before{content:"\e141"}.factory-bootstrap-430 .glyphicon-paperclip:before{content:"\e142"}.factory-bootstrap-430 .glyphicon-heart-empty:before{content:"\e143"}.factory-bootstrap-430 .glyphicon-link:before{content:"\e144"}.factory-bootstrap-430 .glyphicon-phone:before{content:"\e145"}.factory-bootstrap-430 .glyphicon-pushpin:before{content:"\e146"}.factory-bootstrap-430 .glyphicon-usd:before{content:"\e148"}.factory-bootstrap-430 .glyphicon-gbp:before{content:"\e149"}.factory-bootstrap-430 .glyphicon-sort:before{content:"\e150"}.factory-bootstrap-430 .glyphicon-sort-by-alphabet:before{content:"\e151"}.factory-bootstrap-430 .glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.factory-bootstrap-430 .glyphicon-sort-by-order:before{content:"\e153"}.factory-bootstrap-430 .glyphicon-sort-by-order-alt:before{content:"\e154"}.factory-bootstrap-430 .glyphicon-sort-by-attributes:before{content:"\e155"}.factory-bootstrap-430 .glyphicon-sort-by-attributes-alt:before{content:"\e156"}.factory-bootstrap-430 .glyphicon-unchecked:before{content:"\e157"}.factory-bootstrap-430 .glyphicon-expand:before{content:"\e158"}.factory-bootstrap-430 .glyphicon-collapse-down:before{content:"\e159"}.factory-bootstrap-430 .glyphicon-collapse-up:before{content:"\e160"}.factory-bootstrap-430 .glyphicon-log-in:before{content:"\e161"}.factory-bootstrap-430 .glyphicon-flash:before{content:"\e162"}.factory-bootstrap-430 .glyphicon-log-out:before{content:"\e163"}.factory-bootstrap-430 .glyphicon-new-window:before{content:"\e164"}.factory-bootstrap-430 .glyphicon-record:before{content:"\e165"}.factory-bootstrap-430 .glyphicon-save:before{content:"\e166"}.factory-bootstrap-430 .glyphicon-open:before{content:"\e167"}.factory-bootstrap-430 .glyphicon-saved:before{content:"\e168"}.factory-bootstrap-430 .glyphicon-import:before{content:"\e169"}.factory-bootstrap-430 .glyphicon-export:before{content:"\e170"}.factory-bootstrap-430 .glyphicon-send:before{content:"\e171"}.factory-bootstrap-430 .glyphicon-floppy-disk:before{content:"\e172"}.factory-bootstrap-430 .glyphicon-floppy-saved:before{content:"\e173"}.factory-bootstrap-430 .glyphicon-floppy-remove:before{content:"\e174"}.factory-bootstrap-430 .glyphicon-floppy-save:before{content:"\e175"}.factory-bootstrap-430 .glyphicon-floppy-open:before{content:"\e176"}.factory-bootstrap-430 .glyphicon-credit-card:before{content:"\e177"}.factory-bootstrap-430 .glyphicon-transfer:before{content:"\e178"}.factory-bootstrap-430 .glyphicon-cutlery:before{content:"\e179"}.factory-bootstrap-430 .glyphicon-header:before{content:"\e180"}.factory-bootstrap-430 .glyphicon-compressed:before{content:"\e181"}.factory-bootstrap-430 .glyphicon-earphone:before{content:"\e182"}.factory-bootstrap-430 .glyphicon-phone-alt:before{content:"\e183"}.factory-bootstrap-430 .glyphicon-tower:before{content:"\e184"}.factory-bootstrap-430 .glyphicon-stats:before{content:"\e185"}.factory-bootstrap-430 .glyphicon-sd-video:before{content:"\e186"}.factory-bootstrap-430 .glyphicon-hd-video:before{content:"\e187"}.factory-bootstrap-430 .glyphicon-subtitles:before{content:"\e188"}.factory-bootstrap-430 .glyphicon-sound-stereo:before{content:"\e189"}.factory-bootstrap-430 .glyphicon-sound-dolby:before{content:"\e190"}.factory-bootstrap-430 .glyphicon-sound-5-1:before{content:"\e191"}.factory-bootstrap-430 .glyphicon-sound-6-1:before{content:"\e192"}.factory-bootstrap-430 .glyphicon-sound-7-1:before{content:"\e193"}.factory-bootstrap-430 .glyphicon-copyright-mark:before{content:"\e194"}.factory-bootstrap-430 .glyphicon-registration-mark:before{content:"\e195"}.factory-bootstrap-430 .glyphicon-cloud-download:before{content:"\e197"}.factory-bootstrap-430 .glyphicon-cloud-upload:before{content:"\e198"}.factory-bootstrap-430 .glyphicon-tree-conifer:before{content:"\e199"}.factory-bootstrap-430 .glyphicon-tree-deciduous:before{content:"\e200"}.factory-bootstrap-430 .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-430 .dropdown{position:relative}.factory-bootstrap-430 .dropdown-toggle:focus{outline:0}.factory-bootstrap-430 .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-430 .dropdown-menu.pull-right{right:0;left:auto}.factory-bootstrap-430 .dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.factory-bootstrap-430 .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-430 .dropdown-menu>li>a:focus,.factory-bootstrap-430 .dropdown-menu>li>a:hover{color:#262626;text-decoration:none}.factory-bootstrap-430 .dropdown-menu>.active>a,.factory-bootstrap-430 .dropdown-menu>.active>a:focus,.factory-bootstrap-430 .dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;outline:0}.factory-bootstrap-430 .dropdown-menu>.disabled>a,.factory-bootstrap-430 .dropdown-menu>.disabled>a:focus,.factory-bootstrap-430 .dropdown-menu>.disabled>a:hover{color:#999}.factory-bootstrap-430 .dropdown-menu>.disabled>a:focus,.factory-bootstrap-430 .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-430 .open>.dropdown-menu{display:block}.factory-bootstrap-430 .open>a{outline:0}.factory-bootstrap-430 .dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#999}.factory-bootstrap-430 .dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.factory-bootstrap-430 .pull-right>.dropdown-menu{right:0;left:auto}.factory-bootstrap-430 .dropup .caret,.factory-bootstrap-430 .navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.factory-bootstrap-430 .dropup .dropdown-menu,.factory-bootstrap-430 .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-430 .btn-group,.factory-bootstrap-430 .btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.factory-bootstrap-430 .btn-group-vertical>.btn,.factory-bootstrap-430 .btn-group>.btn{position:relative;float:left}.factory-bootstrap-430 .btn-group-vertical>.btn.active,.factory-bootstrap-430 .btn-group-vertical>.btn:active,.factory-bootstrap-430 .btn-group-vertical>.btn:focus,.factory-bootstrap-430 .btn-group-vertical>.btn:hover,.factory-bootstrap-430 .btn-group>.btn.active,.factory-bootstrap-430 .btn-group>.btn:active,.factory-bootstrap-430 .btn-group>.btn:focus,.factory-bootstrap-430 .btn-group>.btn:hover{z-index:2}.factory-bootstrap-430 .btn-group-vertical>.btn:focus,.factory-bootstrap-430 .btn-group>.btn:focus{outline:0}.factory-bootstrap-430 .btn-group .btn+.btn,.factory-bootstrap-430 .btn-group .btn+.btn-group,.factory-bootstrap-430 .btn-group .btn-group+.btn,.factory-bootstrap-430 .btn-group .btn-group+.btn-group{margin-left:-1px}.factory-bootstrap-430 .btn-toolbar:after,.factory-bootstrap-430 .btn-toolbar:before{display:table;content:" "}.factory-bootstrap-430 .btn-toolbar:after{clear:both}.factory-bootstrap-430 .btn-toolbar .btn-group{float:left}.factory-bootstrap-430 .btn-toolbar>.btn+.btn,.factory-bootstrap-430 .btn-toolbar>.btn+.btn-group,.factory-bootstrap-430 .btn-toolbar>.btn-group+.btn,.factory-bootstrap-430 .btn-toolbar>.btn-group+.btn-group{margin-left:5px}.factory-bootstrap-430 .btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.factory-bootstrap-430 .btn-group>.btn:first-child{margin-left:0}.factory-bootstrap-430 .btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-430 .btn-group>.btn:last-child:not(:first-child),.factory-bootstrap-430 .btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-430 .btn-group>.btn-group{float:left}.factory-bootstrap-430 .btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.factory-bootstrap-430 .btn-group>.btn-group:first-child>.btn:last-child,.factory-bootstrap-430 .btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-430 .btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-430 .btn-group .dropdown-toggle:active,.factory-bootstrap-430 .btn-group.open .dropdown-toggle{outline:0}.factory-bootstrap-430 .btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-430 .btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-430 .btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-430 .btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.factory-bootstrap-430 .btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.factory-bootstrap-430 .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-430 .btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-430 .btn-group{border:4px solid #f9f9f9;border-radius:4px}.factory-bootstrap-430 .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-430 .btn .caret{margin-left:0}.factory-bootstrap-430 .btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.factory-bootstrap-430 .dropup .btn-lg .caret{border-width:0 5px 5px}.factory-bootstrap-430 .btn-group-vertical>.btn,.factory-bootstrap-430 .btn-group-vertical>.btn-group,.factory-bootstrap-430 .btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.factory-bootstrap-430 .btn-group-vertical>.btn-group:after,.factory-bootstrap-430 .btn-group-vertical>.btn-group:before{display:table;content:" "}.factory-bootstrap-430 .btn-group-vertical>.btn-group:after{clear:both}.factory-bootstrap-430 .btn-group-vertical>.btn-group>.btn{float:none}.factory-bootstrap-430 .btn-group-vertical>.btn+.btn,.factory-bootstrap-430 .btn-group-vertical>.btn+.btn-group,.factory-bootstrap-430 .btn-group-vertical>.btn-group+.btn,.factory-bootstrap-430 .btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.factory-bootstrap-430 .btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.factory-bootstrap-430 .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-430 .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-430 .btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.factory-bootstrap-430 .btn-group-vertical>.btn-group:first-child>.btn:last-child,.factory-bootstrap-430 .btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-430 .btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-430 .btn-group-justified{display:table;width:100%;border-collapse:separate;table-layout:fixed}.factory-bootstrap-430 .btn-group-justified>.btn,.factory-bootstrap-430 .btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.factory-bootstrap-430 .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-430 .input-group{position:relative;display:table;border-collapse:separate}.factory-bootstrap-430 .input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.factory-bootstrap-430 .input-group .form-control{width:100%;margin-bottom:0}.factory-bootstrap-430 .input-group-lg>.form-control,.factory-bootstrap-430 .input-group-lg>.input-group-addon,.factory-bootstrap-430 .input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-430 select.input-group-lg>.form-control,.factory-bootstrap-430 select.input-group-lg>.input-group-addon,.factory-bootstrap-430 select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}.factory-bootstrap-430 textarea.input-group-lg>.form-control,.factory-bootstrap-430 textarea.input-group-lg>.input-group-addon,.factory-bootstrap-430 textarea.input-group-lg>.input-group-btn>.btn{height:auto}.factory-bootstrap-430 .input-group-sm>.form-control,.factory-bootstrap-430 .input-group-sm>.input-group-addon,.factory-bootstrap-430 .input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-430 select.input-group-sm>.form-control,.factory-bootstrap-430 select.input-group-sm>.input-group-addon,.factory-bootstrap-430 select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}.factory-bootstrap-430 textarea.input-group-sm>.form-control,.factory-bootstrap-430 textarea.input-group-sm>.input-group-addon,.factory-bootstrap-430 textarea.input-group-sm>.input-group-btn>.btn{height:auto}.factory-bootstrap-430 .input-group .form-control,.factory-bootstrap-430 .input-group-addon,.factory-bootstrap-430 .input-group-btn{display:table-cell}.factory-bootstrap-430 .input-group .form-control:not(:first-child):not(:last-child),.factory-bootstrap-430 .input-group-addon:not(:first-child):not(:last-child),.factory-bootstrap-430 .input-group-btn:not(:first-child):not(:last-child){border-radius:0}.factory-bootstrap-430 .input-group-addon,.factory-bootstrap-430 .input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.factory-bootstrap-430 .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-430 .input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.factory-bootstrap-430 .input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.factory-bootstrap-430 .input-group-addon input[type=checkbox],.factory-bootstrap-430 .input-group-addon input[type=radio]{margin-top:0}.factory-bootstrap-430 .input-group .form-control:first-child,.factory-bootstrap-430 .input-group-addon:first-child,.factory-bootstrap-430 .input-group-btn:first-child>.btn,.factory-bootstrap-430 .input-group-btn:first-child>.dropdown-toggle,.factory-bootstrap-430 .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-430 .input-group-addon:first-child{border-right:0}.factory-bootstrap-430 .input-group .form-control:last-child,.factory-bootstrap-430 .input-group-addon:last-child,.factory-bootstrap-430 .input-group-btn:first-child>.btn:not(:first-child),.factory-bootstrap-430 .input-group-btn:last-child>.btn,.factory-bootstrap-430 .input-group-btn:last-child>.dropdown-toggle{border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-430 .input-group-addon:last-child{border-left:0}.factory-bootstrap-430 .input-group-btn{position:relative;white-space:nowrap}.factory-bootstrap-430 .input-group-btn:first-child>.btn{margin-right:-1px}.factory-bootstrap-430 .input-group-btn:last-child>.btn{margin-left:-1px}.factory-bootstrap-430 .input-group-btn>.btn{position:relative}.factory-bootstrap-430 .input-group-btn>.btn+.btn{margin-left:-4px}.factory-bootstrap-430 .input-group-btn>.btn:active,.factory-bootstrap-430 .input-group-btn>.btn:hover{z-index:2}.factory-bootstrap-430 .nav{padding-left:0;margin-bottom:0;list-style:none}.factory-bootstrap-430 .nav:after,.factory-bootstrap-430 .nav:before{display:table;content:" "}.factory-bootstrap-430 .nav:after{clear:both}.factory-bootstrap-430 .nav>li{position:relative;display:block}.factory-bootstrap-430 .nav>li>a{position:relative;display:block;padding:10px 15px}.factory-bootstrap-430 .nav>li>a:focus,.factory-bootstrap-430 .nav>li>a:hover{text-decoration:none;background-color:#eee}.factory-bootstrap-430 .nav>li.disabled>a{color:#999}.factory-bootstrap-430 .nav>li.disabled>a:focus,.factory-bootstrap-430 .nav>li.disabled>a:hover{color:#999;text-decoration:none;cursor:not-allowed;background-color:transparent}.factory-bootstrap-430 .nav .open>a,.factory-bootstrap-430 .nav .open>a:focus,.factory-bootstrap-430 .nav .open>a:hover{background-color:#eee;border-color:#428bca}.factory-bootstrap-430 .nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.factory-bootstrap-430 .nav>li>a>img{max-width:none}.factory-bootstrap-430 .nav-tabs{border-bottom:1px solid #ddd}.factory-bootstrap-430 .nav-tabs>li{float:left;margin-bottom:-1px}.factory-bootstrap-430 .nav-tabs>li>a{margin-right:2px;line-height:1.428571429;border:1px solid transparent;border-radius:4px 4px 0 0}.factory-bootstrap-430 .nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.factory-bootstrap-430 .nav-tabs>li.active>a,.factory-bootstrap-430 .nav-tabs>li.active>a:focus,.factory-bootstrap-430 .nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.factory-bootstrap-430 .nav-tabs.nav-justified{width:100%;border-bottom:0}.factory-bootstrap-430 .nav-tabs.nav-justified>li{float:none}.factory-bootstrap-430 .nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.factory-bootstrap-430 .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-430 .nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.factory-bootstrap-430 .nav-tabs.nav-justified>.active>a,.factory-bootstrap-430 .nav-tabs.nav-justified>.active>a:focus,.factory-bootstrap-430 .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-430 .nav-pills>li{float:left}.factory-bootstrap-430 .nav-pills>li>a{border-radius:4px}.factory-bootstrap-430 .nav-pills>li+li{margin-left:2px}.factory-bootstrap-430 .nav-pills>li.active>a,.factory-bootstrap-430 .nav-pills>li.active>a:focus,.factory-bootstrap-430 .nav-pills>li.active>a:hover{color:#fff;background-color:#428bca}.factory-bootstrap-430 .nav-stacked>li{float:none}.factory-bootstrap-430 .nav-stacked>li+li{margin-top:2px;margin-left:0}.factory-bootstrap-430 .nav-justified{width:100%}.factory-bootstrap-430 .nav-justified>li{float:none}.factory-bootstrap-430 .nav-justified>li>a{margin-bottom:5px;text-align:center}.factory-bootstrap-430 .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-430 .nav-tabs-justified{border-bottom:0}.factory-bootstrap-430 .nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.factory-bootstrap-430 .nav-tabs-justified>.active>a,.factory-bootstrap-430 .nav-tabs-justified>.active>a:focus,.factory-bootstrap-430 .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-430 .tab-content>.tab-pane{display:none}.factory-bootstrap-430 .tab-content>.active{display:block}.factory-bootstrap-430 .nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-430 .navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.factory-bootstrap-430 .navbar:after,.factory-bootstrap-430 .navbar:before{display:table;content:" "}.factory-bootstrap-430 .navbar:after{clear:both}@media (min-width:768px){.navbar{border-radius:4px}}.factory-bootstrap-430 .navbar-header:after,.factory-bootstrap-430 .navbar-header:before{display:table;content:" "}.factory-bootstrap-430 .navbar-header:after{clear:both}@media (min-width:768px){.navbar-header{float:left}}.factory-bootstrap-430 .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-430 .navbar-collapse:after,.factory-bootstrap-430 .navbar-collapse:before{display:table;content:" "}.factory-bootstrap-430 .navbar-collapse:after{clear:both}.factory-bootstrap-430 .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-430 .container>.navbar-collapse,.factory-bootstrap-430 .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-430 .navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.factory-bootstrap-430 .navbar-fixed-bottom,.factory-bootstrap-430 .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-430 .navbar-fixed-top{top:0;border-width:0 0 1px}.factory-bootstrap-430 .navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.factory-bootstrap-430 .navbar-brand{float:left;padding:15px;font-size:18px;line-height:20px}.factory-bootstrap-430 .navbar-brand:focus,.factory-bootstrap-430 .navbar-brand:hover{text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand{margin-left:-15px}}.factory-bootstrap-430 .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-430 .navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.factory-bootstrap-430 .navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.factory-bootstrap-430 .navbar-nav{margin:7.5px -15px}.factory-bootstrap-430 .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-430 .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-430 .navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-430 .navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-430 .navbar-nav.pull-right>li>.dropdown-menu,.factory-bootstrap-430 .navbar-nav>li>.dropdown-menu.pull-right{right:0;left:auto}.factory-bootstrap-430 .navbar-btn{margin-top:8px;margin-bottom:8px}.factory-bootstrap-430 .navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.factory-bootstrap-430 .navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.factory-bootstrap-430 .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-430 .navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.factory-bootstrap-430 .navbar-default .navbar-brand{color:#777}.factory-bootstrap-430 .navbar-default .navbar-brand:focus,.factory-bootstrap-430 .navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.factory-bootstrap-430 .navbar-default .navbar-nav>li>a,.factory-bootstrap-430 .navbar-default .navbar-text{color:#777}.factory-bootstrap-430 .navbar-default .navbar-nav>li>a:focus,.factory-bootstrap-430 .navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.factory-bootstrap-430 .navbar-default .navbar-nav>.active>a,.factory-bootstrap-430 .navbar-default .navbar-nav>.active>a:focus,.factory-bootstrap-430 .navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.factory-bootstrap-430 .navbar-default .navbar-nav>.disabled>a,.factory-bootstrap-430 .navbar-default .navbar-nav>.disabled>a:focus,.factory-bootstrap-430 .navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.factory-bootstrap-430 .navbar-default .navbar-toggle{border-color:#ddd}.factory-bootstrap-430 .navbar-default .navbar-toggle:focus,.factory-bootstrap-430 .navbar-default .navbar-toggle:hover{background-color:#ddd}.factory-bootstrap-430 .navbar-default .navbar-toggle .icon-bar{background-color:#ccc}.factory-bootstrap-430 .navbar-default .navbar-collapse,.factory-bootstrap-430 .navbar-default .navbar-form{border-color:#e7e7e7}.factory-bootstrap-430 .navbar-default .navbar-nav>.open>a,.factory-bootstrap-430 .navbar-default .navbar-nav>.open>a:focus,.factory-bootstrap-430 .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-430 .navbar-default .navbar-link{color:#777}.factory-bootstrap-430 .navbar-default .navbar-link:hover{color:#333}.factory-bootstrap-430 .navbar-inverse{background-color:#222;border-color:#080808}.factory-bootstrap-430 .navbar-inverse .navbar-brand{color:#999}.factory-bootstrap-430 .navbar-inverse .navbar-brand:focus,.factory-bootstrap-430 .navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.factory-bootstrap-430 .navbar-inverse .navbar-nav>li>a,.factory-bootstrap-430 .navbar-inverse .navbar-text{color:#999}.factory-bootstrap-430 .navbar-inverse .navbar-nav>li>a:focus,.factory-bootstrap-430 .navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.factory-bootstrap-430 .navbar-inverse .navbar-nav>.active>a,.factory-bootstrap-430 .navbar-inverse .navbar-nav>.active>a:focus,.factory-bootstrap-430 .navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.factory-bootstrap-430 .navbar-inverse .navbar-nav>.disabled>a,.factory-bootstrap-430 .navbar-inverse .navbar-nav>.disabled>a:focus,.factory-bootstrap-430 .navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.factory-bootstrap-430 .navbar-inverse .navbar-toggle{border-color:#333}.factory-bootstrap-430 .navbar-inverse .navbar-toggle:focus,.factory-bootstrap-430 .navbar-inverse .navbar-toggle:hover{background-color:#333}.factory-bootstrap-430 .navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.factory-bootstrap-430 .navbar-inverse .navbar-collapse,.factory-bootstrap-430 .navbar-inverse .navbar-form{border-color:#101010}.factory-bootstrap-430 .navbar-inverse .navbar-nav>.open>a,.factory-bootstrap-430 .navbar-inverse .navbar-nav>.open>a:focus,.factory-bootstrap-430 .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-430 .navbar-inverse .navbar-link{color:#999}.factory-bootstrap-430 .navbar-inverse .navbar-link:hover{color:#fff}.factory-bootstrap-430 .breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.factory-bootstrap-430 .breadcrumb>li{display:inline-block}.factory-bootstrap-430 .breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.factory-bootstrap-430 .breadcrumb>.active{color:#999}.factory-bootstrap-430 .pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.factory-bootstrap-430 .pagination>li{display:inline}.factory-bootstrap-430 .pagination>li>a,.factory-bootstrap-430 .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-430 .pagination>li:first-child>a,.factory-bootstrap-430 .pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.factory-bootstrap-430 .pagination>li:last-child>a,.factory-bootstrap-430 .pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.factory-bootstrap-430 .pagination>li>a:focus,.factory-bootstrap-430 .pagination>li>a:hover,.factory-bootstrap-430 .pagination>li>span:focus,.factory-bootstrap-430 .pagination>li>span:hover{background-color:#eee}.factory-bootstrap-430 .pagination>.active>a,.factory-bootstrap-430 .pagination>.active>a:focus,.factory-bootstrap-430 .pagination>.active>a:hover,.factory-bootstrap-430 .pagination>.active>span,.factory-bootstrap-430 .pagination>.active>span:focus,.factory-bootstrap-430 .pagination>.active>span:hover{z-index:2;color:#fff;cursor:default;background-color:#1e8cbe;border-color:#0074a2}.factory-bootstrap-430 .pagination>.disabled>a,.factory-bootstrap-430 .pagination>.disabled>a:focus,.factory-bootstrap-430 .pagination>.disabled>a:hover,.factory-bootstrap-430 .pagination>.disabled>span,.factory-bootstrap-430 .pagination>.disabled>span:focus,.factory-bootstrap-430 .pagination>.disabled>span:hover{color:#999;cursor:not-allowed;background-color:#fff;border-color:#ddd}.factory-bootstrap-430 .pagination-lg>li>a,.factory-bootstrap-430 .pagination-lg>li>span{padding:10px 16px;font-size:18px}.factory-bootstrap-430 .pagination-lg>li:first-child>a,.factory-bootstrap-430 .pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.factory-bootstrap-430 .pagination-lg>li:last-child>a,.factory-bootstrap-430 .pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.factory-bootstrap-430 .pagination-sm>li>a,.factory-bootstrap-430 .pagination-sm>li>span{padding:5px 10px;font-size:12px}.factory-bootstrap-430 .pagination-sm>li:first-child>a,.factory-bootstrap-430 .pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.factory-bootstrap-430 .pagination-sm>li:last-child>a,.factory-bootstrap-430 .pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.factory-bootstrap-430 .pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.factory-bootstrap-430 .pager:after,.factory-bootstrap-430 .pager:before{display:table;content:" "}.factory-bootstrap-430 .pager:after{clear:both}.factory-bootstrap-430 .pager li{display:inline}.factory-bootstrap-430 .pager li>a,.factory-bootstrap-430 .pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.factory-bootstrap-430 .pager li>a:focus,.factory-bootstrap-430 .pager li>a:hover{text-decoration:none;background-color:#eee}.factory-bootstrap-430 .pager .next>a,.factory-bootstrap-430 .pager .next>span{float:right}.factory-bootstrap-430 .pager .previous>a,.factory-bootstrap-430 .pager .previous>span{float:left}.factory-bootstrap-430 .pager .disabled>a,.factory-bootstrap-430 .pager .disabled>a:focus,.factory-bootstrap-430 .pager .disabled>a:hover,.factory-bootstrap-430 .pager .disabled>span{color:#999;cursor:not-allowed;background-color:#fff}.factory-bootstrap-430 .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-430 .label[href]:focus,.factory-bootstrap-430 .label[href]:hover{color:#fff;text-decoration:none;cursor:pointer}.factory-bootstrap-430 .label:empty{display:none}.factory-bootstrap-430 .btn .label{position:relative;top:-1px}.factory-bootstrap-430 .label-default{background-color:#999}.factory-bootstrap-430 .label-default[href]:focus,.factory-bootstrap-430 .label-default[href]:hover{background-color:gray}.factory-bootstrap-430 .label-primary{background-color:#428bca}.factory-bootstrap-430 .label-primary[href]:focus,.factory-bootstrap-430 .label-primary[href]:hover{background-color:#3071a9}.factory-bootstrap-430 .label-success{background-color:#5cb85c}.factory-bootstrap-430 .label-success[href]:focus,.factory-bootstrap-430 .label-success[href]:hover{background-color:#449d44}.factory-bootstrap-430 .label-info{background-color:#5bc0de}.factory-bootstrap-430 .label-info[href]:focus,.factory-bootstrap-430 .label-info[href]:hover{background-color:#31b0d5}.factory-bootstrap-430 .label-warning{background-color:#f0ad4e}.factory-bootstrap-430 .label-warning[href]:focus,.factory-bootstrap-430 .label-warning[href]:hover{background-color:#ec971f}.factory-bootstrap-430 .label-danger{background-color:#d9534f}.factory-bootstrap-430 .label-danger[href]:focus,.factory-bootstrap-430 .label-danger[href]:hover{background-color:#c9302c}.factory-bootstrap-430 .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-430 .badge:empty{display:none}.factory-bootstrap-430 .btn .badge{position:relative;top:-1px}.factory-bootstrap-430 a.badge:focus,.factory-bootstrap-430 a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.factory-bootstrap-430 .nav-pills>.active>a>.badge,.factory-bootstrap-430 a.list-group-item.active>.badge{color:#428bca;background-color:#fff}.factory-bootstrap-430 .nav-pills>li>a>.badge{margin-left:3px}.factory-bootstrap-430 .jumbotron{padding:30px;margin-bottom:30px;font-size:21px;font-weight:200;line-height:2.1428571435;color:inherit;background-color:#eee}.factory-bootstrap-430 .jumbotron .h1,.factory-bootstrap-430 .jumbotron h1{line-height:1;color:inherit}.factory-bootstrap-430 .jumbotron p{line-height:1.4}.factory-bootstrap-430 .container .jumbotron{border-radius:6px}.factory-bootstrap-430 .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-430 .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-430 .thumbnail a>img,.factory-bootstrap-430 .thumbnail>img{display:block;height:auto;max-width:100%;margin-right:auto;margin-left:auto}.factory-bootstrap-430 a.thumbnail.active,.factory-bootstrap-430 a.thumbnail:focus,.factory-bootstrap-430 a.thumbnail:hover{border-color:#428bca}.factory-bootstrap-430 .thumbnail .caption{padding:9px;color:#333}.factory-bootstrap-430 .alert{border:1px solid transparent;border-radius:4px}.factory-bootstrap-430 .alert h4{margin-top:0;color:inherit}.factory-bootstrap-430 .alert .alert-link{font-weight:700}.factory-bootstrap-430 .alert>p,.factory-bootstrap-430 .alert>ul{margin-bottom:0}.factory-bootstrap-430 .alert>p+p{margin-top:5px}.factory-bootstrap-430 .alert-dismissable{padding-right:35px}.factory-bootstrap-430 .alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit}.factory-bootstrap-430 .alert-info{color:#31708f;background-color:#d9edf7}.factory-bootstrap-430 .alert-info hr{border-top-color:#a6e1ec}.factory-bootstrap-430 .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-430 .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-430 .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-430 .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-430 .progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.factory-bootstrap-430 .progress-bar-success{background-color:#5cb85c}.factory-bootstrap-430 .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-430 .progress-bar-info{background-color:#5bc0de}.factory-bootstrap-430 .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-430 .progress-bar-warning{background-color:#f0ad4e}.factory-bootstrap-430 .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-430 .progress-bar-danger{background-color:#d9534f}.factory-bootstrap-430 .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-430 .media,.factory-bootstrap-430 .media-body{overflow:hidden;zoom:1}.factory-bootstrap-430 .media,.factory-bootstrap-430 .media .media{margin-top:15px}.factory-bootstrap-430 .media:first-child{margin-top:0}.factory-bootstrap-430 .media-object{display:block}.factory-bootstrap-430 .media-heading{margin:0 0 5px}.factory-bootstrap-430 .media>.pull-left{margin-right:10px}.factory-bootstrap-430 .media>.pull-right{margin-left:10px}.factory-bootstrap-430 .media-list{padding-left:0;list-style:none}.factory-bootstrap-430 .list-group{padding-left:0;margin-bottom:20px}.factory-bootstrap-430 .list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.factory-bootstrap-430 .list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.factory-bootstrap-430 .list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.factory-bootstrap-430 .list-group-item>.badge{float:right}.factory-bootstrap-430 .list-group-item>.badge+.badge{margin-right:5px}.factory-bootstrap-430 a.list-group-item{color:#555}.factory-bootstrap-430 a.list-group-item .list-group-item-heading{color:#333}.factory-bootstrap-430 a.list-group-item:focus,.factory-bootstrap-430 a.list-group-item:hover{text-decoration:none;background-color:#f5f5f5}.factory-bootstrap-430 a.list-group-item.active,.factory-bootstrap-430 a.list-group-item.active:focus,.factory-bootstrap-430 a.list-group-item.active:hover{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.factory-bootstrap-430 a.list-group-item.active .list-group-item-heading,.factory-bootstrap-430 a.list-group-item.active:focus .list-group-item-heading,.factory-bootstrap-430 a.list-group-item.active:hover .list-group-item-heading{color:inherit}.factory-bootstrap-430 a.list-group-item.active .list-group-item-text,.factory-bootstrap-430 a.list-group-item.active:focus .list-group-item-text,.factory-bootstrap-430 a.list-group-item.active:hover .list-group-item-text{color:#e1edf7}.factory-bootstrap-430 .list-group-item-heading{margin-top:0;margin-bottom:5px}.factory-bootstrap-430 .list-group-item-text{margin-bottom:0;line-height:1.3}.factory-bootstrap-430 .panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px}.factory-bootstrap-430 .panel-body{padding:15px}.factory-bootstrap-430 .panel-body:after,.factory-bootstrap-430 .panel-body:before{display:table;content:" "}.factory-bootstrap-430 .panel-body:after{clear:both}.factory-bootstrap-430 .panel>.list-group{margin-bottom:0}.factory-bootstrap-430 .panel>.list-group .list-group-item{border-width:1px 0}.factory-bootstrap-430 .panel>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-430 .panel>.list-group .list-group-item:last-child{border-bottom:0}.factory-bootstrap-430 .panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.factory-bootstrap-430 .panel>.table,.factory-bootstrap-430 .panel>.table-responsive>.table{margin-bottom:0}.factory-bootstrap-430 .panel>.panel-body+.table,.factory-bootstrap-430 .panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.factory-bootstrap-430 .panel>.table>tbody:first-child td,.factory-bootstrap-430 .panel>.table>tbody:first-child th{border-top:0}.factory-bootstrap-430 .panel>.table-bordered,.factory-bootstrap-430 .panel>.table-responsive>.table-bordered{border:0}.factory-bootstrap-430 .panel>.table-bordered>tbody>tr>td:first-child,.factory-bootstrap-430 .panel>.table-bordered>tbody>tr>th:first-child,.factory-bootstrap-430 .panel>.table-bordered>tfoot>tr>td:first-child,.factory-bootstrap-430 .panel>.table-bordered>tfoot>tr>th:first-child,.factory-bootstrap-430 .panel>.table-bordered>thead>tr>td:first-child,.factory-bootstrap-430 .panel>.table-bordered>thead>tr>th:first-child,.factory-bootstrap-430 .panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.factory-bootstrap-430 .panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.factory-bootstrap-430 .panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.factory-bootstrap-430 .panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.factory-bootstrap-430 .panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.factory-bootstrap-430 .panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.factory-bootstrap-430 .panel>.table-bordered>tbody>tr>td:last-child,.factory-bootstrap-430 .panel>.table-bordered>tbody>tr>th:last-child,.factory-bootstrap-430 .panel>.table-bordered>tfoot>tr>td:last-child,.factory-bootstrap-430 .panel>.table-bordered>tfoot>tr>th:last-child,.factory-bootstrap-430 .panel>.table-bordered>thead>tr>td:last-child,.factory-bootstrap-430 .panel>.table-bordered>thead>tr>th:last-child,.factory-bootstrap-430 .panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.factory-bootstrap-430 .panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.factory-bootstrap-430 .panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.factory-bootstrap-430 .panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.factory-bootstrap-430 .panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.factory-bootstrap-430 .panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.factory-bootstrap-430 .panel>.table-bordered>tbody>tr:last-child>td,.factory-bootstrap-430 .panel>.table-bordered>tbody>tr:last-child>th,.factory-bootstrap-430 .panel>.table-bordered>tfoot>tr:last-child>td,.factory-bootstrap-430 .panel>.table-bordered>tfoot>tr:last-child>th,.factory-bootstrap-430 .panel>.table-bordered>thead>tr:last-child>td,.factory-bootstrap-430 .panel>.table-bordered>thead>tr:last-child>th,.factory-bootstrap-430 .panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.factory-bootstrap-430 .panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.factory-bootstrap-430 .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.factory-bootstrap-430 .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.factory-bootstrap-430 .panel>.table-responsive>.table-bordered>thead>tr:last-child>td,.factory-bootstrap-430 .panel>.table-responsive>.table-bordered>thead>tr:last-child>th{border-bottom:0}.factory-bootstrap-430 .panel>.table-responsive{margin-bottom:0;border:0}.factory-bootstrap-430 .panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.factory-bootstrap-430 .panel-heading>.dropdown .dropdown-toggle{color:inherit}.factory-bootstrap-430 .panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.factory-bootstrap-430 .panel-title>a{color:inherit}.factory-bootstrap-430 .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-430 .panel-group .panel{margin-bottom:0;overflow:hidden;border-radius:4px}.factory-bootstrap-430 .panel-group .panel+.panel{margin-top:5px}.factory-bootstrap-430 .panel-group .panel-heading{border-bottom:0}.factory-bootstrap-430 .panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #ddd}.factory-bootstrap-430 .panel-group .panel-footer{border-top:0}.factory-bootstrap-430 .panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.factory-bootstrap-430 .panel-default{border-color:#ddd}.factory-bootstrap-430 .panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.factory-bootstrap-430 .panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#ddd}.factory-bootstrap-430 .panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ddd}.factory-bootstrap-430 .panel-primary{border-color:#428bca}.factory-bootstrap-430 .panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.factory-bootstrap-430 .panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#428bca}.factory-bootstrap-430 .panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#428bca}.factory-bootstrap-430 .panel-success{border-color:#d6e9c6}.factory-bootstrap-430 .panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.factory-bootstrap-430 .panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#d6e9c6}.factory-bootstrap-430 .panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6}.factory-bootstrap-430 .panel-warning{border-color:#faebcc}.factory-bootstrap-430 .panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.factory-bootstrap-430 .panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#faebcc}.factory-bootstrap-430 .panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#faebcc}.factory-bootstrap-430 .panel-danger{border-color:#ebccd1}.factory-bootstrap-430 .panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.factory-bootstrap-430 .panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#ebccd1}.factory-bootstrap-430 .panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ebccd1}.factory-bootstrap-430 .panel-info{border-color:#bce8f1}.factory-bootstrap-430 .panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.factory-bootstrap-430 .panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#bce8f1}.factory-bootstrap-430 .panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1}.factory-bootstrap-430 .well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px}.factory-bootstrap-430 .well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.factory-bootstrap-430 .well-lg{padding:24px;border-radius:6px}.factory-bootstrap-430 .well-sm{padding:9px;border-radius:3px}.factory-bootstrap-430 .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-430 .alert .close{position:relative;top:-8px;right:-7px}.factory-bootstrap-430 .close:focus,.factory-bootstrap-430 .close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-430 button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.factory-bootstrap-430 .modal-open{overflow:hidden}.factory-bootstrap-430 .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-430 .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-430 .modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}.factory-bootstrap-430 .modal-dialog{position:relative;z-index:1050;width:auto;margin:10px}.factory-bootstrap-430 .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-430 .modal-backdrop,.factory-bootstrap-430-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1030;background-color:#000}.factory-bootstrap-430 .modal-backdrop.fade,.factory-bootstrap-430-modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.factory-bootstrap-430 .modal-backdrop.in,.factory-bootstrap-430-modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-430 .modal-header{min-height:16.428571429px;padding:15px;border-bottom:1px solid #e5e5e5}.factory-bootstrap-430 .modal-header .close{margin-top:-2px}.factory-bootstrap-430 .modal-title{margin:0;line-height:1.428571429}.factory-bootstrap-430 .modal-body{position:relative;padding:20px;max-height:none}.factory-bootstrap-430 .modal-footer{padding:19px 20px 20px;margin-top:15px;text-align:right;border-top:1px solid #e5e5e5}.factory-bootstrap-430 .modal-footer:after,.factory-bootstrap-430 .modal-footer:before{display:table;content:" "}.factory-bootstrap-430 .modal-footer:after{clear:both}.factory-bootstrap-430 .modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.factory-bootstrap-430 .modal-footer .btn-group .btn+.btn{margin-left:-1px}.factory-bootstrap-430 .modal-footer .btn-block+.btn-block{margin-left:0}@media screen and (min-width:768px){.factory-bootstrap-430 .modal-dialog{width:600px;margin:30px auto}.factory-bootstrap-430 .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-430 .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-430 .tooltip.in{opacity:.9;filter:alpha(opacity=90)}.factory-bootstrap-430 .tooltip.top{padding:5px 0;margin-top:-3px}.factory-bootstrap-430 .tooltip.right{padding:0 5px;margin-left:3px}.factory-bootstrap-430 .tooltip.bottom{padding:5px 0;margin-top:3px}.factory-bootstrap-430 .tooltip.left{padding:0 5px;margin-left:-3px}.factory-bootstrap-430 .tooltip-inner{width:400px;padding:15px 20px;color:#fff;text-align:left;text-decoration:none;background-color:#673ab7;border-radius:3px}.factory-bootstrap-430 .tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.factory-bootstrap-430 .tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-430 .tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-430 .tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-430 .tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#673ab7;border-width:5px 5px 5px 0}.factory-bootstrap-430 .tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#673ab7;border-width:5px 0 5px 5px}.factory-bootstrap-430 .tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-430 .tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-430 .tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-430 .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-430 .popover.top{margin-top:-10px}.factory-bootstrap-430 .popover.right{margin-left:10px}.factory-bootstrap-430 .popover.bottom{margin-top:10px}.factory-bootstrap-430 .popover.left{margin-left:-10px}.factory-bootstrap-430 .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-430 .popover-content{padding:9px 14px}.factory-bootstrap-430 .popover .arrow,.factory-bootstrap-430 .popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.factory-bootstrap-430 .popover .arrow{border-width:11px}.factory-bootstrap-430 .popover .arrow:after{border-width:10px;content:""}.factory-bootstrap-430 .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-430 .popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0;content:" "}.factory-bootstrap-430 .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-430 .popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0;content:" "}.factory-bootstrap-430 .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-430 .popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0;content:" "}.factory-bootstrap-430 .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-430 .popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0;content:" "}.factory-bootstrap-430 .carousel{position:relative}.factory-bootstrap-430 .carousel-inner{position:relative;width:100%;overflow:hidden}.factory-bootstrap-430 .carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.factory-bootstrap-430 .carousel-inner>.item>a>img,.factory-bootstrap-430 .carousel-inner>.item>img{display:block;height:auto;max-width:100%;line-height:1}.factory-bootstrap-430 .carousel-inner>.active,.factory-bootstrap-430 .carousel-inner>.next,.factory-bootstrap-430 .carousel-inner>.prev{display:block}.factory-bootstrap-430 .carousel-inner>.active{left:0}.factory-bootstrap-430 .carousel-inner>.next,.factory-bootstrap-430 .carousel-inner>.prev{position:absolute;top:0;width:100%}.factory-bootstrap-430 .carousel-inner>.next{left:100%}.factory-bootstrap-430 .carousel-inner>.prev{left:-100%}.factory-bootstrap-430 .carousel-inner>.next.left,.factory-bootstrap-430 .carousel-inner>.prev.right{left:0}.factory-bootstrap-430 .carousel-inner>.active.left{left:-100%}.factory-bootstrap-430 .carousel-inner>.active.right{left:100%}.factory-bootstrap-430 .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-430 .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-430 .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-430 .carousel-control:focus,.factory-bootstrap-430 .carousel-control:hover{color:#fff;text-decoration:none;outline:0;opacity:.9;filter:alpha(opacity=90)}.factory-bootstrap-430 .carousel-control .glyphicon-chevron-left,.factory-bootstrap-430 .carousel-control .glyphicon-chevron-right,.factory-bootstrap-430 .carousel-control .icon-next,.factory-bootstrap-430 .carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block}.factory-bootstrap-430 .carousel-control .glyphicon-chevron-left,.factory-bootstrap-430 .carousel-control .icon-prev{left:50%}.factory-bootstrap-430 .carousel-control .glyphicon-chevron-right,.factory-bootstrap-430 .carousel-control .icon-next{right:50%}.factory-bootstrap-430 .carousel-control .icon-next,.factory-bootstrap-430 .carousel-control .icon-prev{width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:serif}.factory-bootstrap-430 .carousel-control .icon-prev:before{content:'\2039'}.factory-bootstrap-430 .carousel-control .icon-next:before{content:'\203a'}.factory-bootstrap-430 .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-430 .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-430 .carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.factory-bootstrap-430 .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-430 .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-430 .clearfix:after,.factory-bootstrap-430 .clearfix:before{display:table;content:" "}.factory-bootstrap-430 .clearfix:after{clear:both}.factory-bootstrap-430 .center-block{display:block;margin-right:auto;margin-left:auto}.factory-bootstrap-430 .pull-right{float:right!important}.factory-bootstrap-430 .pull-left{float:left!important}.factory-bootstrap-430 .hide{display:none!important}.factory-bootstrap-430 .show{display:block!important}.factory-bootstrap-430 .invisible{visibility:hidden}.factory-bootstrap-430 .text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.factory-bootstrap-430 .hidden{display:none!important;visibility:hidden!important}.factory-bootstrap-430 .affix{position:fixed}@-ms-viewport{width:device-width}.factory-bootstrap-430 .visible-lg,.factory-bootstrap-430 .visible-md,.factory-bootstrap-430 .visible-sm,.factory-bootstrap-430 .visible-xs,.factory-bootstrap-430 td.visible-lg,.factory-bootstrap-430 td.visible-md,.factory-bootstrap-430 td.visible-sm,.factory-bootstrap-430 td.visible-xs,.factory-bootstrap-430 th.visible-lg,.factory-bootstrap-430 th.visible-md,.factory-bootstrap-430 th.visible-sm,.factory-bootstrap-430 th.visible-xs,.factory-bootstrap-430 tr.visible-lg,.factory-bootstrap-430 tr.visible-md,.factory-bootstrap-430 tr.visible-sm,.factory-bootstrap-430 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-430 .hidden-xs{display:block!important}.factory-bootstrap-430 table.hidden-xs{display:table}.factory-bootstrap-430 tr.hidden-xs{display:table-row!important}.factory-bootstrap-430 td.hidden-xs,.factory-bootstrap-430 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-430 .hidden-sm{display:block!important}.factory-bootstrap-430 table.hidden-sm{display:table}.factory-bootstrap-430 tr.hidden-sm{display:table-row!important}.factory-bootstrap-430 td.hidden-sm,.factory-bootstrap-430 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-430 .hidden-md{display:block!important}.factory-bootstrap-430 table.hidden-md{display:table}.factory-bootstrap-430 tr.hidden-md{display:table-row!important}.factory-bootstrap-430 td.hidden-md,.factory-bootstrap-430 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-430 .hidden-lg{display:block!important}.factory-bootstrap-430 table.hidden-lg{display:table}.factory-bootstrap-430 tr.hidden-lg{display:table-row!important}.factory-bootstrap-430 td.hidden-lg,.factory-bootstrap-430 th.hidden-lg{display:table-cell!important}@media (max-width:767px){.factory-bootstrap-430 .hidden-lg.hidden-xs,.factory-bootstrap-430 td.hidden-lg.hidden-xs,.factory-bootstrap-430 th.hidden-lg.hidden-xs,.factory-bootstrap-430 tr.hidden-lg.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.factory-bootstrap-430 .hidden-lg.hidden-sm,.factory-bootstrap-430 td.hidden-lg.hidden-sm,.factory-bootstrap-430 th.hidden-lg.hidden-sm,.factory-bootstrap-430 tr.hidden-lg.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.factory-bootstrap-430 .hidden-lg.hidden-md,.factory-bootstrap-430 td.hidden-lg.hidden-md,.factory-bootstrap-430 th.hidden-lg.hidden-md,.factory-bootstrap-430 tr.hidden-lg.hidden-md{display:none!important}}@media (min-width:1200px){.factory-bootstrap-430 .hidden-lg,.factory-bootstrap-430 td.hidden-lg,.factory-bootstrap-430 th.hidden-lg,.factory-bootstrap-430 tr.hidden-lg{display:none!important}}.factory-bootstrap-430 .visible-print,.factory-bootstrap-430 td.visible-print,.factory-bootstrap-430 th.visible-print,.factory-bootstrap-430 tr.visible-print{display:none!important}@media print{.factory-bootstrap-430 .visible-print{display:block!important}.factory-bootstrap-430 table.visible-print{display:table}.factory-bootstrap-430 tr.visible-print{display:table-row!important}.factory-bootstrap-430 td.visible-print,.factory-bootstrap-430 th.visible-print{display:table-cell!important}.factory-bootstrap-430 .hidden-print,.factory-bootstrap-430 td.hidden-print,.factory-bootstrap-430 th.hidden-print,.factory-bootstrap-430 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-430 .btn-danger,.factory-bootstrap-430 .btn-default,.factory-bootstrap-430 .btn-info,.factory-bootstrap-430 .btn-primary,.factory-bootstrap-430 .btn-success,.factory-bootstrap-430 .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-430 .btn-danger.active,.factory-bootstrap-430 .btn-danger:active,.factory-bootstrap-430 .btn-default.active,.factory-bootstrap-430 .btn-default:active,.factory-bootstrap-430 .btn-info.active,.factory-bootstrap-430 .btn-info:active,.factory-bootstrap-430 .btn-primary.active,.factory-bootstrap-430 .btn-primary:active,.factory-bootstrap-430 .btn-success.active,.factory-bootstrap-430 .btn-success:active,.factory-bootstrap-430 .btn-warning.active,.factory-bootstrap-430 .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-430 .btn.active,.factory-bootstrap-430 .btn:active{background-image:none}.factory-bootstrap-430 .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-430 .btn-default.active,.factory-bootstrap-430 .btn-default:active{background-color:#fff;border-color:#dbdbdb}.factory-bootstrap-430 .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-430 .btn-gold:focus,.factory-bootstrap-430 .btn-gold:hover{background:#fef0a1}.factory-bootstrap-430 .btn-gold.active,.factory-bootstrap-430 .btn-gold:active{background:#fef0a1;-webkit-box-shadow:inset 0 3px 8px 0 #f8ba36;box-shadow:inset 0 3px 8px 0 #f8ba36}.factory-bootstrap-430 .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-430 .btn-primary:focus,.factory-bootstrap-430 .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-430 .btn-primary.active,.factory-bootstrap-430 .btn-primary:active{background-color:#2d6ca2;border-color:#2b669a}.factory-bootstrap-430 .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-430 .btn-success:focus,.factory-bootstrap-430 .btn-success:hover{background-color:#419641;background-position:0 -15px}.factory-bootstrap-430 .btn-success.active,.factory-bootstrap-430 .btn-success:active{background-color:#419641;border-color:#3e8f3e}.factory-bootstrap-430 .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-430 .btn-warning:focus,.factory-bootstrap-430 .btn-warning:hover{background-color:#eb9316;background-position:0 -15px}.factory-bootstrap-430 .btn-warning.active,.factory-bootstrap-430 .btn-warning:active{background-color:#eb9316;border-color:#e38d13}.factory-bootstrap-430 .btn-danger{color:#fff;background:#d9534f;border-color:#d43f3a}.factory-bootstrap-430 .btn-danger.active,.factory-bootstrap-430 .btn-danger:active,.factory-bootstrap-430 .btn-danger:focus,.factory-bootstrap-430 .btn-danger:hover,.factory-bootstrap-430 .open .dropdown-toggle.btn-danger{color:#fff;background-color:#d2322d;border-color:#ac2925}.factory-bootstrap-430 .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-430 .btn-info:focus,.factory-bootstrap-430 .btn-info:hover{background-color:#2aabd2;background-position:0 -15px}.factory-bootstrap-430 .btn-info.active,.factory-bootstrap-430 .btn-info:active{background-color:#2aabd2;border-color:#28a4c9}.factory-bootstrap-430 .img-thumbnail,.factory-bootstrap-430 .thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.factory-bootstrap-430 .dropdown-menu>li>a:focus,.factory-bootstrap-430 .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-430 .dropdown-menu>.active>a,.factory-bootstrap-430 .dropdown-menu>.active>a:focus,.factory-bootstrap-430 .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-430 .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-430 .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-430 .navbar-brand,.factory-bootstrap-430 .navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.factory-bootstrap-430 .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-430 .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-430 .navbar-inverse .navbar-brand,.factory-bootstrap-430 .navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.factory-bootstrap-430 .navbar-fixed-bottom,.factory-bootstrap-430 .navbar-fixed-top,.factory-bootstrap-430 .navbar-static-top{border-radius:0}.factory-bootstrap-430 .alert{-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.factory-bootstrap-430 .alert .actions{padding-top:10px}.factory-bootstrap-430 .alert-success{color:#3c763d;background-color:#dff0d8;border-bottom:2px solid #c8e5bc}.factory-bootstrap-430 .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-430 .alert{text-shadow:none;box-shadow:none;margin:0;margin-top:10px;margin-bottom:10px;padding:10px}.factory-bootstrap-430 .alert-normal,.factory-bootstrap-430 .alert-warning{background:#fcf8e3;color:#8a6d3b;border:1px solid #b8823b}.factory-bootstrap-430 .alert-danger{background:#cf4944;color:#fff;border-bottom:2px solid #b23e3a}.factory-bootstrap-430 .alert-danger a:not(.btn),.factory-bootstrap-430 .alert-error a:not(.btn){color:#fff}.factory-bootstrap-430 .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-430 .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-430 .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-430 .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-430 .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-430 .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-430 .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-430 .list-group-item.active,.factory-bootstrap-430 .list-group-item.active:focus,.factory-bootstrap-430 .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-430 .panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.factory-bootstrap-430 .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-430 .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-430 .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-430 .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-430 .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-430 .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-430 .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-430 .factory-after{margin-left:7px;display:inline-block}.factory-bootstrap-430 .factory-hidden{display:none}.factory-bootstrap-430 .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-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}
8
  */
9
 
10
 
11
+ .factory-bootstrap-430 .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-430 .btn-primary:focus,.factory-bootstrap-430 .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-430 .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-430 .btn-primary:disabled,.factory-bootstrap-430 .btn-primary[disabled]{color:#cfd1c7!important;background:#89993a!important;border-color:#727f30!important;text-shadow:none!important}.factory-bootstrap-430 .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-430 .pagination>.active>a,.factory-bootstrap-430 .pagination>.active>a:focus,.factory-bootstrap-430 .pagination>.active>a:hover,.factory-bootstrap-430 .pagination>.active>span,.factory-bootstrap-430 .pagination>.active>span:focus,.factory-bootstrap-430 .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-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}
8
  */
9
 
10
 
11
+ .factory-bootstrap-430 .factory-form-group .factory-legend{padding:9px 12px;background-color:#f9f9f9}.factory-bootstrap-430 .factory-form-group .factory-title{font-weight:700;font-size:14px;line-height:14px;color:#555;margin:0}.factory-bootstrap-430 .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-430 .factory-form-group .factory-hint-icon.factory-hint-icon-green{background:#8bc34a}.factory-bootstrap-430 .factory-form-group .factory-hint-icon.factory-hint-icon-grey{background:#9e9e9e}.factory-bootstrap-430 .factory-form-group .factory-hint-icon.factory-hint-icon-red{background:#E91E63}.factory-bootstrap-430 .factory-form-group .factory-hint{margin:0;font-size:12px;line-height:16px;margin-top:6px}.factory-bootstrap-430 .factory-form-group+.factory-form-group{margin-top:30px}.factory-bootstrap-430 .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-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}
8
  */
9
 
10
 
11
+ .factory-bootstrap-430 .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-430 .btn-primary:focus,.factory-bootstrap-430 .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-430 .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-430 .btn-primary:disabled,.factory-bootstrap-430 .btn-primary[disabled]{color:#c7cfd1!important;background:#0384a4!important;border-color:#036881!important;text-shadow:none!important}.factory-bootstrap-430 .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-430 .pagination>.active>a,.factory-bootstrap-430 .pagination>.active>a:focus,.factory-bootstrap-430 .pagination>.active>a:hover,.factory-bootstrap-430 .pagination>.active>span,.factory-bootstrap-430 .pagination>.active>span:focus,.factory-bootstrap-430 .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-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}
8
  */
9
 
10
 
11
+ .factory-bootstrap-430 .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-430 .btn-primary:focus,.factory-bootstrap-430 .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-430 .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-430 .btn-primary:disabled,.factory-bootstrap-430 .btn-primary[disabled]{color:#d1c7c7!important;background:#d92c23!important;border-color:#ba251e!important;text-shadow:none!important}.factory-bootstrap-430 .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-430 .pagination>.active>a,.factory-bootstrap-430 .pagination>.active>a:focus,.factory-bootstrap-430 .pagination>.active>a:hover,.factory-bootstrap-430 .pagination>.active>span,.factory-bootstrap-430 .pagination>.active>span:focus,.factory-bootstrap-430 .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-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}
8
  */
9
 
10
 
11
+ .factory-bootstrap-430 .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-430 .btn-primary:focus,.factory-bootstrap-430 .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-430 .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-430 .btn-primary:disabled,.factory-bootstrap-430 .btn-primary[disabled]{color:#c7d1c8!important;background:#86a988!important;border-color:#719a74!important;text-shadow:none!important}.factory-bootstrap-430 .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-430 .pagination>.active>a,.factory-bootstrap-430 .pagination>.active>a:focus,.factory-bootstrap-430 .pagination>.active>a:hover,.factory-bootstrap-430 .pagination>.active>span,.factory-bootstrap-430 .pagination>.active>span:focus,.factory-bootstrap-430 .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-429 .factory-separator{border-bottom:1px solid #f9f9f9;border-top:1px solid #d1d1d1;margin-bottom:25px}
8
  */
9
 
10
 
11
+ .factory-bootstrap-430 .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-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}
8
  */
9
 
10
 
11
+ .factory-bootstrap-430 .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-430 .btn-primary:focus,.factory-bootstrap-430 .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-430 .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-430 .btn-primary:disabled,.factory-bootstrap-430 .btn-primary[disabled]{color:#d1cbc7!important;background:#cc6c23!important;border-color:#ad5c1e!important;text-shadow:none!important}.factory-bootstrap-430 .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-430 .pagination>.active>a,.factory-bootstrap-430 .pagination>.active>a:focus,.factory-bootstrap-430 .pagination>.active>a:hover,.factory-bootstrap-430 .pagination>.active>span,.factory-bootstrap-430 .pagination>.active>span:focus,.factory-bootstrap-430 .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-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}
8
  */
9
 
10
 
11
+ #side-sortables .factory-bootstrap-430 .factory-buttons-way{float:right;position:relative;top:-25px;left:5px;border:3px solid #f9f9f9;border-radius:4px}.factory-bootstrap-430 .factory-buttons-way{border:3px solid #f9f9f9;border-radius:4px}.factory-bootstrap-430 .factory-buttons-way button{padding-left:10px;padding-right:10px}.factory-bootstrap-430 .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-430 .factory-checkbox-tumbler-hint{margin-top:5px}.factory-bootstrap-430 .factory-checkbox-tumbler-hint .factory-tumbler-content{display:inline-block;background-color:#ffd;padding:1px 5px}.admin-color-light .factory-bootstrap-430 .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-430 .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-430 .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-430 .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-430 .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-430 .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-430 .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-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}
8
  */
9
 
10
 
11
+ .factory-bootstrap-430 .factory-dropdown.factory-buttons-way .fa{margin-right:6px;position:relative}.factory-bootstrap-430 .factory-dropdown.factory-buttons-way{border:0;border-radius:0}.factory-bootstrap-430 .factory-hints .factory-hint{margin-top:5px;display:inline-block;background-color:#ffd;padding:1px 5px}.admin-color-light .factory-bootstrap-430 .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-430 .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-430 .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-430 .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-430 .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-430 .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-430 .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-430 .factory-dropdown.factory-ddslick-way .dd-select{background-color:#fff!important}.factory-bootstrap-430 .factory-dropdown.factory-ddslick-way label{margin-bottom:1px}.factory-bootstrap-430 .factory-dropdown.factory-ddslick-way .dd-option,.factory-bootstrap-430 .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-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}
8
  */
9
 
10
 
11
+ .factory-bootstrap-430 .factory-mtextbox-item{position:relative;margin-bottom:5px}.factory-bootstrap-430 .factory-mtextbox-item input,.factory-mtextbox-remove-item{display:inline-block}.factory-bootstrap-430 .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-430 .factory-mtextbox-item .factory-mtextbox-remove-item:focus,.factory-bootstrap-430 .factory-mtextbox-item .factory-mtextbox-remove-item:hover{box-shadow:none;outline:0}.factory-bootstrap-430 .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-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}
8
  */
9
 
10
 
11
+ .factory-bootstrap-430 .factory-more-link-content{border-top:1px dashed #DDD;padding-top:25px;width:100%;padding-right:20px;position:relative}.factory-bootstrap-430 .factory-tab .factory-more-link-show{display:inline-block;text-decoration:none;border-bottom:1px dotted #21759b;position:relative}.factory-bootstrap-430 .factory-tab .factory-more-link-show:hover{border-color:#d54e21}.factory-bootstrap-430 .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-430 .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.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);
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.factoryBootstrap430_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.factoryBootstrap430_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.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);
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.factoryBootstrap430_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.factoryBootstrap430_checkboxControl.Constructor=b,a(function(){a(".factory-bootstrap-430 .factory-checkbox.factory-buttons-way").factoryBootstrap430_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.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);
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.factoryBootstrap430_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.factoryBootstrap430_dropdownControl.Constructor=b,a(function(){a(".factory-bootstrap-430 .factory-dropdown").factoryBootstrap430_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.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);
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.factoryBootstrap430_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.factoryBootstrap430_listControl.Constructor=b,a(function(){a(".factory-bootstrap-430 .factory-list").factoryBootstrap430_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.factoryBootstrap429_MultipleTextboxControl=function(){return this.each(function(){new b(this)})},a(function(){a(".factory-bootstrap-429 .factory-multiple-textbox-group").factoryBootstrap429_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.factoryBootstrap430_MultipleTextboxControl=function(){return this.each(function(){new b(this)})},a(function(){a(".factory-bootstrap-430 .factory-multiple-textbox-group").factoryBootstrap430_MultipleTextboxControl()})}(jQuery);
libs/factory/bootstrap/boot.php CHANGED
@@ -19,27 +19,27 @@ 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
 
19
  return;
20
  }
21
 
22
+ if( defined('FACTORY_BOOTSTRAP_430_LOADED') ) {
23
  return;
24
  }
25
 
26
+ define('FACTORY_BOOTSTRAP_430_VERSION', '4.3.0');
27
+ define('FACTORY_BOOTSTRAP_430_LOADED', true);
28
 
29
  if( !defined('FACTORY_FLAT_ADMIN') ) {
30
  define('FACTORY_FLAT_ADMIN', true);
31
  }
32
 
33
+ define('FACTORY_BOOTSTRAP_430_DIR', dirname(__FILE__));
34
+ define('FACTORY_BOOTSTRAP_430_URL', plugins_url(null, __FILE__));
35
 
36
+ require_once(FACTORY_BOOTSTRAP_430_DIR . '/includes/functions.php');
37
 
38
  /**
39
+ * @param Wbcr_Factory429_Plugin $plugin
40
  */
41
+ add_action('wbcr_factory_bootstrap_430_plugin_created', function ($plugin) {
42
+ $manager = new Wbcr_FactoryBootstrap430_Manager($plugin);
43
  $plugin->setBootstap($manager);
44
  });
45
 
libs/factory/bootstrap/includes/functions.php CHANGED
@@ -20,13 +20,13 @@ if ( ! defined( 'ABSPATH' ) ) {
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,7 +51,7 @@ class Wbcr_FactoryBootstrap429_Manager {
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,8 +111,8 @@ class Wbcr_FactoryBootstrap429_Manager {
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,8 +156,8 @@ class Wbcr_FactoryBootstrap429_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_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,7 +184,7 @@ class Wbcr_FactoryBootstrap429_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_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,9 +192,9 @@ class Wbcr_FactoryBootstrap429_Manager {
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
  }
20
  *
21
  * @since 3.2.0
22
  */
23
+ class Wbcr_FactoryBootstrap430_Manager {
24
 
25
  /**
26
  * A plugin for which the manager was created.
27
  *
28
  * @since 3.2.0
29
+ * @var Wbcr_Factory429_Plugin
30
  */
31
  public $plugin;
32
 
51
  *
52
  * @since 1.0.0
53
  */
54
+ public function __construct( Wbcr_Factory429_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_429_bootstrap_enqueue_scripts', $hook );
115
+ do_action( 'wbcr_factory_429_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_430_DIR . '/assets/cache/';
160
+ $cache_dir_url = FACTORY_BOOTSTRAP_430_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_430_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_430_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_430_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-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,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-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,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-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,16 +89,16 @@
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,7 +112,7 @@
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,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-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;
5
  * @copyright Webcraftic 06.10.2018
6
  * @sicne 2.0.5
7
  */
8
+ #WBCR .wbcr-factory-pages-429-impressive-page-template .wbcr-factory-clearfy-221-multisite-suggetion {
9
  padding: 30px 80px;
10
  }
11
+ #WBCR .wbcr-factory-pages-429-impressive-page-template .wbcr-factory-clearfy-221-multisite-suggetion h3 {
12
  margin: 0 0 20px;
13
  }
14
+ #WBCR .wbcr-factory-pages-429-impressive-page-template .wbcr-factory-clearfy-221-multisite-suggetion .wbcr-factory-inner-contanier {
15
  border: 2px dashed #8bc34a;
16
  background: #fff;
17
  padding: 20px;
18
  }
19
+ #WBCR .wbcr-factory-pages-429-impressive-page-template .wbcr-factory-clearfy-221-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-429-impressive-page-template .wbcr-factory-clearfy-221-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-429-impressive-page-template .wbcr-factory-clearfy-221-multisite-suggetion .wbcr-factory-activate-premium:focus {
44
  outline: none;
45
  border: 0;
46
  }
47
+ #WBCR .wbcr-factory-pages-429-impressive-page-template .wbcr-factory-clearfy-221-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-429-impressive-page-template .wbcr-factory-clearfy-221-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-429-impressive-page-template .wbcr-factory-clearfy-221-multisite-suggetion .wbcr-factory-purchase-premium:focus {
72
  outline: none;
73
  border: 0;
74
  }
75
+ #WBCR .wbcr-factory-pages-429-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-221-pro-suggettion {
76
  background: #fff;
77
  color: #353535;
78
  font-weight: 600;
79
  border: 2px dashed #8bc34a;
80
  }
81
+ #WBCR .wbcr-factory-pages-429-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-221-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-429-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-221-pro-suggettion ul {
93
  position: relative;
94
  margin-bottom: 20px;
95
  }
96
+ #WBCR .wbcr-factory-pages-429-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-221-pro-suggettion ul li {
97
  font-size: 15px;
98
  padding: 7px;
99
  padding-left: 20px;
100
  }
101
+ #WBCR .wbcr-factory-pages-429-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-221-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-429-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-221-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-429-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-221-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-429-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-221-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-429-impressive-page-template .wbcr-factory-clearfy-221-multisite-pro-suggetion {
145
  padding: 10px 80px;
146
  }
147
+ #WBCR .wbcr-factory-pages-429-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-221-pro-suggettion {
148
  padding: 10px;
149
  }
150
+ #WBCR .wbcr-factory-pages-429-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-221-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-429-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-221-pro-suggettion ul {
157
  margin-bottom: 20px;
158
  }
159
+ #WBCR .wbcr-factory-pages-429-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-221-pro-suggettion ul li {
160
  font-size: 13px;
161
  padding: 2px;
162
  padding-left: 10px;
163
  }
164
+ #WBCR .wbcr-factory-pages-429-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-221-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-429-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-221-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 CHANGED
@@ -5,39 +5,39 @@
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
  }
5
  *
6
  * @since 2.2.0
7
  */
8
+ #wbcr-factory-clearfy-221__search_options_form #wbcr-factory-clearfy-221__autocomplete {
9
  width: 100%;
10
  box-sizing: border-box;
11
  border-color: #d6d4d4;
12
  }
13
+ #wbcr-factory-clearfy-221__search_options_form.wbcr-factory-clearfy-221__autocomplete-wrap {
14
  padding: 10px;
15
  }
16
+ #wbcr-factory-clearfy-221__search_options_form .wbcr-factory-clearfy-221__autocomplete-label {
17
  display: block !important;
18
  }
19
+ .wbcr-factory-clearfy-221__autocomplete-suggestions {
20
  border: 1px solid #999;
21
  background: #FFF;
22
  overflow: auto;
23
  }
24
+ .wbcr-factory-clearfy-221__autocomplete-suggestion {
25
  padding: 2px 5px;
26
  white-space: nowrap;
27
  overflow: hidden;
28
  cursor: pointer;
29
  }
30
+ .wbcr-factory-clearfy-221__autocomplete-selected {
31
  background: #F0F0F0;
32
  }
33
+ .wbcr-factory-clearfy-221__autocomplete-suggestions strong {
34
  font-weight: normal;
35
  color: #3399FF;
36
  }
37
+ .wbcr-factory-clearfy-221__autocomplete-group {
38
  padding: 2px 5px;
39
  }
40
+ .wbcr-factory-clearfy-221__autocomplete-group strong {
41
  display: block;
42
  border-bottom: 1px solid #000;
43
  }
libs/factory/clearfy/assets/js/globals.js CHANGED
@@ -2,8 +2,8 @@
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,11 +13,11 @@
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,12 +63,12 @@
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,13 +93,13 @@
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,7 +116,7 @@
116
 
117
  };
118
 
119
- $.wbcr_factory_clearfy_220.filters = $.wbcr_factory_clearfy_220.filters || {
120
 
121
  /**
122
  * A set of registered filters.
@@ -183,20 +183,20 @@
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
 
2
  * Глобальный JS файл, который регистрирует глобальные переменные с общими методами для всех компонентов Clearfy
3
  * и самого Clearfy.
4
  *
5
+ * $.wbcr_factory_clearfy_221.app - методы для работы с приложением. Скрыть, показать уведомления.
6
+ * $.wbcr_factory_clearfy_221.hooks - это иммитация хуков и фильтров аналогично тем, что используются в Wordpress
7
  *
8
  * Copyright 2018, Webcraftic, http://webcraftic.com
9
  *
13
  (function($) {
14
  'use strict';
15
 
16
+ if( !$.wbcr_factory_clearfy_221 ) {
17
+ $.wbcr_factory_clearfy_221 = {};
18
  }
19
 
20
+ $.wbcr_factory_clearfy_221.app = $.wbcr_factory_clearfy_221.app || {
21
  /**
22
  * Создает и показывает уведомление внутри интерфейса Clearfy
23
  *
63
  /**
64
  * Хук выполняет проивольную функцию, после того как уведомление отображено
65
  * Реализация системы фильтров и хуков в файле libs/clearfy/admin/assests/js/global.js
66
+ * Пример регистрации хука $.wbcr_factory_clearfy_221.hooks.add('wbcr/factory_clearfy_221/updated',
67
  * function(noticeId) {});
68
  * @param {string} noticeId - id уведомления
69
  */
70
+ $.wbcr_factory_clearfy_221.hooks.run('wbcr/factory_clearfy_221/showed_notice', [noticeId]);
71
+ $.wbcr_factory_clearfy_221.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_221.hooks.add('wbcr/factory_clearfy_221/updated',
97
  * function(noticeId)
98
  * {});
99
  * @param {string} noticeId - id уведомления
100
  */
101
+ $.wbcr_factory_clearfy_221.hooks.run('wbcr/factory_clearfy_221/hidded_notice', [noticeId]);
102
+ $.wbcr_factory_clearfy_221.hooks.run('wbcr/clearfy/hidded_notice', [noticeId]);
103
  });
104
  },
105
 
116
 
117
  };
118
 
119
+ $.wbcr_factory_clearfy_221.filters = $.wbcr_factory_clearfy_221.filters || {
120
 
121
  /**
122
  * A set of registered filters.
183
  }
184
  };
185
 
186
+ $.wbcr_factory_clearfy_221.hooks = $.wbcr_factory_clearfy_221.hooks || {
187
 
188
  /**
189
  * Applies filters to a given input value.
190
  */
191
  run: function(filterName, args) {
192
+ $.wbcr_factory_clearfy_221.filters.run(filterName, args);
193
  },
194
 
195
  /**
196
  * Registers a new filter.
197
  */
198
  add: function(filterName, callback, priority) {
199
+ $.wbcr_factory_clearfy_221.filters.add(filterName, callback, priority);
200
  }
201
  };
202
 
libs/factory/clearfy/assets/js/libs/jquery.autocomplete.min.js CHANGED
@@ -5,4 +5,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)});
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-221__autocomplete-selected",suggestion:"wbcr-factory-clearfy-221__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-221__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-221__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_220.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_220.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_220.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_220.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_221.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_221.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_221.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_221.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 CHANGED
@@ -28,10 +28,10 @@
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
  });
28
  throw new Error('Global var {wfactory_clearfy_search_options} is not declared.');
29
  }
30
 
31
+ $('#wbcr-factory-clearfy-221__autocomplete').wfactory_clearfy_autocomplete({
32
  lookup: wfactory_clearfy_search_options,
33
  onSelect: function(suggestion) {
34
+ $('#wbcr-factory-clearfy-221__autocomplete').prop("disabled", true);
35
  window.location.href = suggestion.data.page_url;
36
  }
37
  });
libs/factory/clearfy/boot.php CHANGED
@@ -14,22 +14,22 @@ 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() ) {
@@ -38,10 +38,10 @@ if( is_admin() ) {
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;
@@ -72,9 +72,9 @@ if( is_admin() ) {
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
  }
14
  exit;
15
  }
16
 
17
+ if( defined('FACTORY_CLEARFY_221_LOADED') ) {
18
  return;
19
  }
20
 
21
+ define('FACTORY_CLEARFY_221_LOADED', true);
22
 
23
+ define('FACTORY_CLEARFY_221', '2.2.1');
24
 
25
+ define('FACTORY_CLEARFY_221_DIR', dirname(__FILE__));
26
+ define('FACTORY_CLEARFY_221_URL', plugins_url(null, __FILE__));
27
 
28
+ load_plugin_textdomain('wbcr_factory_clearfy_221', false, dirname(plugin_basename(__FILE__)) . '/langs');
29
 
30
+ require(FACTORY_CLEARFY_221_DIR . '/includes/ajax-handlers.php');
31
+ require(FACTORY_CLEARFY_221_DIR . '/includes/class-helpers.php');
32
+ require(FACTORY_CLEARFY_221_DIR . '/includes/class-configurate.php');
33
 
34
  // module provides function only for the admin area
35
  if( is_admin() ) {
38
  * на все страницы админпанели.
39
  */
40
  add_action('admin_enqueue_scripts', function () {
41
+ wp_enqueue_script('wbcr-factory-clearfy-221-global', FACTORY_CLEARFY_221_URL . '/assets/js/globals.js', ['jquery'], FACTORY_CLEARFY_221);
42
 
43
+ require_once FACTORY_CLEARFY_221_DIR . '/includes/class-search-options.php';
44
+ $all_options = \WBCR\Factory_Clearfy_221\Search_Options::get_all_options();
45
 
46
  if( empty($all_options) ) {
47
  return;
72
  wp_localize_script('jquery', 'wfactory_clearfy_search_options', $formated_options);
73
  });
74
 
75
+ if( defined('FACTORY_PAGES_429_LOADED') ) {
76
+ require(FACTORY_CLEARFY_221_DIR . '/pages/class-pages.php');
77
+ require(FACTORY_CLEARFY_221_DIR . '/pages/class-page-more-features.php');
78
+ require(FACTORY_CLEARFY_221_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_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,7 +34,7 @@ function wbcr_factory_clearfy_220_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_220' ) ] );
38
  die();
39
  }
40
 
@@ -45,23 +45,23 @@ function wbcr_factory_clearfy_220_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_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 ) {
17
  *
18
  * @since 2.0.7
19
  *
20
+ * @param Wbcr_Factory429_Plugin $plugin_instance
21
  *
22
  */
23
+ function wbcr_factory_clearfy_221_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_221' ) ] );
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_221' ) ] );
49
  } else {
50
  $plugin_instance->premium->activate( $license_key );
51
+ $success_message = __( 'Your license has been successfully activated', 'wbcr_factory_clearfy_221' );
52
  }
53
  break;
54
  case 'deactivate':
55
  $plugin_instance->premium->deactivate();
56
+ $success_message = __( 'The license is deactivated', 'wbcr_factory_clearfy_221' );
57
  break;
58
  case 'sync':
59
  $plugin_instance->premium->sync();
60
+ $success_message = __( 'The license has been updated', 'wbcr_factory_clearfy_221' );
61
  break;
62
  case 'unsubscribe':
63
  $plugin_instance->premium->cancel_paid_subscription();
64
+ $success_message = __( 'Subscription success cancelled', 'wbcr_factory_clearfy_221' );
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_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
  }
13
  * @copyright (c) 2018, Webcraftic Ltd
14
  *
15
  */
16
+ abstract class Wbcr_FactoryClearfy221_Configurate {
17
 
18
  /**
19
+ * @param Wbcr_Factory429_Plugin $plugin
20
  */
21
+ public function __construct( Wbcr_Factory429_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 WbcrFactoryClearfy220_Helpers {
18
 
19
  /**
20
  * Recursive sanitation for an array
14
  * @copyright (c) 2018, Webcraftic Ltd
15
  *
16
  */
17
+ class WbcrFactoryClearfy221_Helpers {
18
 
19
  /**
20
  * Recursive sanitation for an array
libs/factory/clearfy/includes/class-search-options.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_Clearfy_220;
4
 
5
  /**
6
  * Class Search options
1
  <?php
2
 
3
+ namespace WBCR\Factory_Clearfy_221;
4
 
5
  /**
6
  * Class Search options
libs/factory/clearfy/langs/wbcr_factory_clearfy_221-ru_RU.mo ADDED
Binary file
libs/factory/clearfy/langs/wbcr_factory_clearfy_221-ru_RU.po ADDED
@@ -0,0 +1,307 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: clearfy\n"
4
+ "POT-Creation-Date: 2018-10-16 22:37+0300\n"
5
+ "PO-Revision-Date: 2018-10-16 22:41+0300\n"
6
+ "Last-Translator: alex.kovalevv@gmail.com <alex.kovalevv@gmail.com>\n"
7
+ "Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
8
+ "Language: ru_RU\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Poedit 2.1.1\n"
13
+ "X-Poedit-Basepath: ..\n"
14
+ "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
15
+ "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
16
+ "X-Poedit-SourceCharset: UTF-8\n"
17
+ "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
18
+ "X-Poedit-SearchPath-0: .\n"
19
+
20
+ #: includes/check-clearfy-compatibility.php:265
21
+ msgid "Clearfy warning"
22
+ msgstr "Clearfy предупреждение"
23
+
24
+ #: includes/check-clearfy-compatibility.php:266
25
+ #, php-format
26
+ msgid "The %s component"
27
+ msgstr "Работа компонента %s"
28
+
29
+ #: includes/check-clearfy-compatibility.php:268
30
+ msgid "warning"
31
+ msgstr "предупреждение"
32
+
33
+ #: includes/check-clearfy-compatibility.php:269
34
+ #, php-format
35
+ msgid "The %s plugin"
36
+ msgstr "Работа плагина %s"
37
+
38
+ #: includes/check-clearfy-compatibility.php:272
39
+ msgid "has stopped."
40
+ msgstr "была остановлена."
41
+
42
+ #: includes/check-clearfy-compatibility.php:273
43
+ msgid "Possible reasons:"
44
+ msgstr "Возможные причины:"
45
+
46
+ #: includes/check-clearfy-compatibility.php:279
47
+ #, php-format
48
+ msgid "You need to update the PHP version to %s or higher!"
49
+ msgstr "Вам нужно обновить версию PHP до %s или выше!"
50
+
51
+ #: includes/check-clearfy-compatibility.php:284
52
+ #, php-format
53
+ msgid "You need to update WordPress to %s or higher!"
54
+ msgstr "Вам нужно обновить WordPress до %s или выше!"
55
+
56
+ #: includes/check-clearfy-compatibility.php:289
57
+ #, php-format
58
+ msgid "You need to update the Clearfy plugin version to %s or higher!"
59
+ msgstr "Вам нужно обновить версию плагина Clearfy до %s или выше!"
60
+
61
+ #: includes/check-clearfy-compatibility.php:294
62
+ msgid "This plugin is already activated, you are trying to activate it again."
63
+ msgstr "Этот плагин уже активирован, вы пытаетесь активировать его снова."
64
+
65
+ #: includes/check-clearfy-compatibility.php:299
66
+ #, php-format
67
+ msgid ""
68
+ "Clearfy has the features of the %s plugin. Please, deactivate %s to avoid "
69
+ "conflicts of plugins!"
70
+ msgstr ""
71
+ "Плагин Clearfy уже включает в себя функции плагина %s. Пожалуйста, "
72
+ "деактивируйте плагин %s, чтобы не создавать конфликтов!"
73
+
74
+ #: pages/class.pages.php:212
75
+ msgid "Upgrade to Clearfy Business"
76
+ msgstr "Перейти на Clearfy Бизнес"
77
+
78
+ #: pages/class.pages.php:213
79
+ msgid "Oops... Sorry for the inconvenience caused!"
80
+ msgstr "Упс... Мы приносим свои извинения за неудобства!"
81
+
82
+ #: pages/class.pages.php:214
83
+ msgid ""
84
+ "Complete multisite support is available in Clearfy Business and Clearfy "
85
+ "Business Revolution packages only!"
86
+ msgstr ""
87
+ "Полная поддержка мультисайтов доступна только в пакете Clearfy Бизнес и "
88
+ "Clearfy Бизнес Революция!"
89
+
90
+ #: pages/class.pages.php:215
91
+ msgid ""
92
+ "You can activate the plugin on each website and use it with zero "
93
+ "limitations. But you can’t save the plugin’s settings under the Super "
94
+ "Administrator role!"
95
+ msgstr ""
96
+ "Вы можете активировать плагин отдельно для каждого сайта и использовать его "
97
+ "без ограничений, но в режиме суперадминистратора, вы не можете сохранять "
98
+ "настройки плагина!"
99
+
100
+ #: pages/class.pages.php:217
101
+ msgid "Activate license "
102
+ msgstr "Активировать лицензию "
103
+
104
+ #: pages/class.pages.php:218
105
+ #, php-format
106
+ msgid "Upgrade to Clearfy Business for $%d"
107
+ msgstr "Обновить до Clearfy Бизнес за $%d"
108
+
109
+ #: pages/class.pages.php:273
110
+ msgid "MORE IN CLEARFY <span>BUSINESS</span>"
111
+ msgstr "ЛУЧШЕЕ В CLEARFY <span>БИЗНЕС</span>"
112
+
113
+ #: pages/class.pages.php:275
114
+ msgid "4 premium components now;"
115
+ msgstr "4 премиум компонента сейчас;"
116
+
117
+ #: pages/class.pages.php:276
118
+ msgid "40 new premium components within a year for the single price;"
119
+ msgstr "40 новых премиум компонентов в год по одной цене;"
120
+
121
+ #: pages/class.pages.php:277
122
+ msgid "Multisite support;"
123
+ msgstr "Поддержка мультисайтов;"
124
+
125
+ #: pages/class.pages.php:278
126
+ msgid "Advanced settings;"
127
+ msgstr "Дополнительные настройки;"
128
+
129
+ #: pages/class.pages.php:279
130
+ msgid "No ads;"
131
+ msgstr "Нет рекламы;"
132
+
133
+ #: pages/class.pages.php:280
134
+ msgid "Perfect support."
135
+ msgstr "Лучшая поддержка."
136
+
137
+ #: pages/class.pages.php:283
138
+ #, php-format
139
+ msgid "Upgrade for $%s"
140
+ msgstr "Обновиться за $%s"
141
+
142
+ #: pages/class.pages.php:299
143
+ msgid ""
144
+ "A neutral setting that can not harm your site, but you must be sure that you "
145
+ "need to use it."
146
+ msgstr ""
147
+ "Нейтральная настройка, которая не может нанести вред вашему сайту, но вы "
148
+ "должны быть уверены, что вам нужно ее использовать."
149
+
150
+ #: pages/class.pages.php:305
151
+ msgid ""
152
+ "When set this option, you must be careful. Plugins and themes may depend on "
153
+ "this function. You must be sure that you can disable this feature for the "
154
+ "site."
155
+ msgstr ""
156
+ "При включении этой настройки, вы должны быть осторожны. Некоторые плагины и "
157
+ "темы могут зависеть от этой функции. Вы должны быть уверены, что эту функцию "
158
+ "можно отключить для сайта."
159
+
160
+ #: pages/class.pages.php:311
161
+ msgid "Absolutely safe setting, We recommend to use."
162
+ msgstr "Абсолютно безопасная настройка, рекомендуем использовать."
163
+
164
+ #: pages/class.pages.php:316
165
+ msgid "Hover to the icon to get help for the feature you selected."
166
+ msgstr ""
167
+ "Наведите указатель мыши на значок, чтобы получить справку по выбранной "
168
+ "функции."
169
+
170
+ #: pages/class.pages.php:334
171
+ msgid "Do you want the plugin to improved and update?"
172
+ msgstr "Вы хотите, чтобы плагин улучшался и обновлялся?"
173
+
174
+ #: pages/class.pages.php:337
175
+ msgid ""
176
+ "Help the author, leave a review on wordpress.org. Thanks to feedback, I will "
177
+ "know that the plugin is really useful to you and is needed."
178
+ msgstr ""
179
+ "Помогите автору, оставьте отзыв на wordpress.org. Благодаря отзывам, я буду "
180
+ "знать, что плагин действительно полезен для вас и необходим."
181
+
182
+ #: pages/class.pages.php:339
183
+ msgid "And also write your ideas on how to extend or improve the plugin."
184
+ msgstr "А также напишите свои идеи о том, как расширить или улучшить плагин."
185
+
186
+ #: pages/class.pages.php:344
187
+ msgid "Go rate us and push ideas"
188
+ msgstr "Оставить отзыв или поделиться идеей"
189
+
190
+ #: pages/class.pages.php:356
191
+ msgid "Donation for plugin development"
192
+ msgstr "Пожертвования на развитие плагина"
193
+
194
+ #: pages/more-features.php:31
195
+ msgid "More features (<b>free</b>)"
196
+ msgstr "Дополнительно"
197
+
198
+ #: pages/more-features.php:40
199
+ msgid "install the ultimate version of the plugin for free!"
200
+ msgstr "установите полную версию плагина бесплатно!"
201
+
202
+ #: pages/more-features.php:51
203
+ msgid "Code cleaning"
204
+ msgstr "Очищает код"
205
+
206
+ #: pages/more-features.php:53
207
+ msgid "Clears the source code of the page from unused code."
208
+ msgstr "Очищает исходный код страницы от неиспользуемого кода."
209
+
210
+ #: pages/more-features.php:60
211
+ msgid "Improve SEO"
212
+ msgstr "Улучшает SEO"
213
+
214
+ #: pages/more-features.php:62
215
+ msgid ""
216
+ "Removes duplicate pages, closes external links, changes the headers of the "
217
+ "server."
218
+ msgstr ""
219
+ "Удаляет дубликаты страниц, закрывает внешние ссылки, изменяет заголовки "
220
+ "сервера."
221
+
222
+ #: pages/more-features.php:69
223
+ msgid "Site protection"
224
+ msgstr "Защита сайта"
225
+
226
+ #: pages/more-features.php:71
227
+ msgid "Enables and disables features that improve the protection of your site."
228
+ msgstr "Включает и отключает функции, которые улучшают защиту вашего сайта."
229
+
230
+ #: pages/more-features.php:78
231
+ msgid "Disable comments"
232
+ msgstr "Отключает комментарии"
233
+
234
+ #: pages/more-features.php:80
235
+ msgid "Disables comments on the entire site or on specific pages."
236
+ msgstr "Отключает комментарии на всем сайте или у определенных страниц."
237
+
238
+ #: pages/more-features.php:87
239
+ msgid "Manage updates"
240
+ msgstr "Менеджер обновлений"
241
+
242
+ #: pages/more-features.php:89
243
+ msgid ""
244
+ "Enables or disables automatically updates for plugins, themes and core. It "
245
+ "is also possible\n"
246
+ "\t\t\t\t\t\t\tto disable all updates."
247
+ msgstr ""
248
+ "Включает или отключает автоматические обновление плагинов, тем и ядра. Также "
249
+ "возможно\n"
250
+ "отключение всех обновлений."
251
+
252
+ #: pages/more-features.php:97
253
+ msgid "Manage widgets"
254
+ msgstr "Управление виджетами"
255
+
256
+ #: pages/more-features.php:99
257
+ msgid "Allows you to remove unused widgets."
258
+ msgstr "Позволяет удалить неиспользуемые виджеты."
259
+
260
+ #: pages/more-features.php:106
261
+ msgid "Speed Optimization"
262
+ msgstr "Оптимизация производительности"
263
+
264
+ #: pages/more-features.php:108
265
+ msgid ""
266
+ "Increases performance by disabling unused functions and reducing the number "
267
+ "of requests."
268
+ msgstr ""
269
+ "Повышает производительность, отключая неиспользуемые функции и уменьшая "
270
+ "количество запросов."
271
+
272
+ #: pages/more-features.php:115
273
+ msgid "Site privacy"
274
+ msgstr "Конфиденциальность сайта"
275
+
276
+ #: pages/more-features.php:117
277
+ msgid ""
278
+ "Allows you to hide the version of the site and plugins. Allows you to hide "
279
+ "your\n"
280
+ "\t\t\t\t\t\t\tWordPress."
281
+ msgstr ""
282
+ "Позволяет скрыть версию сайта и плагинов. Позволяет скрыть ваш\n"
283
+ "WordPress."
284
+
285
+ #: pages/more-features.php:125
286
+ msgid "Easy setup"
287
+ msgstr "Простая настройка"
288
+
289
+ #: pages/more-features.php:127
290
+ msgid ""
291
+ "In quick mode, you can easily configure the plugin according to your needs."
292
+ msgstr ""
293
+ "В быстром режиме вы можете легко настроить плагин в соответствии с вашими "
294
+ "потребностями."
295
+
296
+ #: pages/more-features.php:142
297
+ msgid "Get the ultimate plugin 100% FREE"
298
+ msgstr "Получить полную версию бесплатно на 100%."
299
+
300
+ #~ msgid "component"
301
+ #~ msgstr "компонент"
302
+
303
+ #~ msgid "plugin"
304
+ #~ msgstr "плагин"
305
+
306
+ #~ msgid "Site ptotection"
307
+ #~ msgstr "Защищает ваш сайт"
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_FactoryClearfy220_LicensePage extends Wbcr_FactoryClearfy220_PageBase {
15
 
16
  /**
17
  * {@inheritdoc}
@@ -80,7 +80,7 @@ class Wbcr_FactoryClearfy220_LicensePage extends Wbcr_FactoryClearfy220_PageBase
80
 
81
  /**
82
  * @since 2.0.7
83
- * @var \WBCR\Factory_428\Premium\Provider
84
  */
85
  protected $premium;
86
 
@@ -98,7 +98,7 @@ class Wbcr_FactoryClearfy220_LicensePage extends Wbcr_FactoryClearfy220_PageBase
98
 
99
  /**
100
  * @since 2.0.7
101
- * @var \WBCR\Factory_428\Premium\Interfaces\License
102
  */
103
  protected $premium_license;
104
 
@@ -107,9 +107,9 @@ class Wbcr_FactoryClearfy220_LicensePage extends Wbcr_FactoryClearfy220_PageBase
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,8 +136,8 @@ class Wbcr_FactoryClearfy220_LicensePage extends Wbcr_FactoryClearfy220_PageBase
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,7 +147,7 @@ class Wbcr_FactoryClearfy220_LicensePage extends Wbcr_FactoryClearfy220_PageBase
147
  */
148
  public function ajax_handler()
149
  {
150
- wbcr_factory_clearfy_220_check_license($this->plugin);
151
  }
152
 
153
  /**
@@ -157,7 +157,7 @@ class Wbcr_FactoryClearfy220_LicensePage extends Wbcr_FactoryClearfy220_PageBase
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,11 +263,11 @@ class Wbcr_FactoryClearfy220_LicensePage extends Wbcr_FactoryClearfy220_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_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,16 +279,16 @@ class Wbcr_FactoryClearfy220_LicensePage extends Wbcr_FactoryClearfy220_PageBase
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,20 +298,20 @@ class Wbcr_FactoryClearfy220_LicensePage extends Wbcr_FactoryClearfy220_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_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,19 +330,19 @@ class Wbcr_FactoryClearfy220_LicensePage extends Wbcr_FactoryClearfy220_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_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,19 +350,19 @@ class Wbcr_FactoryClearfy220_LicensePage extends Wbcr_FactoryClearfy220_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_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,8 +372,8 @@ class Wbcr_FactoryClearfy220_LicensePage extends Wbcr_FactoryClearfy220_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_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,9 +383,9 @@ class Wbcr_FactoryClearfy220_LicensePage extends Wbcr_FactoryClearfy220_PageBase
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,14 +396,14 @@ class Wbcr_FactoryClearfy220_LicensePage extends Wbcr_FactoryClearfy220_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_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"/>
11
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
12
  * @since 2.0.7
13
  */
14
+ class Wbcr_FactoryClearfy221_LicensePage extends Wbcr_FactoryClearfy221_PageBase {
15
 
16
  /**
17
  * {@inheritdoc}
80
 
81
  /**
82
  * @since 2.0.7
83
+ * @var \WBCR\Factory_429\Premium\Provider
84
  */
85
  protected $premium;
86
 
98
 
99
  /**
100
  * @since 2.0.7
101
+ * @var \WBCR\Factory_429\Premium\Interfaces\License
102
  */
103
  protected $premium_license;
104
 
107
 
108
  /**
109
  * {@inheritdoc}
110
+ * @param Wbcr_Factory429_Plugin $plugin
111
  */
112
+ public function __construct(Wbcr_Factory429_Plugin $plugin)
113
  {
114
  $this->plugin = $plugin;
115
 
136
  {
137
  parent::assets($scripts, $styles);
138
 
139
+ $this->styles->add(FACTORY_CLEARFY_221_URL . '/assets/css/license-manager.css');
140
+ $this->scripts->add(FACTORY_CLEARFY_221_URL . '/assets/js/license-manager.js');
141
  }
142
 
143
  /**
147
  */
148
  public function ajax_handler()
149
  {
150
+ wbcr_factory_clearfy_221_check_license($this->plugin);
151
  }
152
 
153
  /**
157
  {
158
  ?>
159
  <div id="wcl-license-wrapper"
160
+ data-loader="<?php echo FACTORY_CLEARFY_221_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_221'), $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_221'), $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-430 onp-page-wrap <?= $this->get_license_type() ?>-license-manager-content">
283
  <div>
284
+ <h3><?php printf(__('Activate %s', 'wbcr_factory_clearfy_221'), $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_221') ?></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_221') ?>
302
  </span>
303
  </a>
304
+ <p><?php printf(__('Your current license for %1$s:', 'wbcr_factory_clearfy_221'), $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_221') ?>
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_221') ?>
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_221') ?></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_221') ?></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_221') ?>
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_221'), '') ?>
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_221') ?></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_221') ?></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_221') ?>
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_221') ?></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_221') ?></span>
376
+ <span class="license-value-name"><?php _e('please update the key', 'wbcr_factory_clearfy_221') ?></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_221') ?></small>
387
  </span>
388
+ <span class="license-value-name"><?php _e('remained', 'wbcr_factory_clearfy_221') ?></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_221') ?><p>
400
  <?php else: ?>
401
+ <p><?php _e('Have a key to activate the plugin? Paste it here:', 'wbcr_factory_clearfy_221') ?>
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_221') ?>
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_FactoryClearfy220_MoreFeaturesPage extends Wbcr_FactoryPages428_ImpressiveThemplate {
19
 
20
  /**
21
  * {@inheritDoc}
@@ -60,8 +60,8 @@ class Wbcr_FactoryClearfy220_MoreFeaturesPage extends Wbcr_FactoryPages428_Impre
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,7 +74,7 @@ class Wbcr_FactoryClearfy220_MoreFeaturesPage extends Wbcr_FactoryPages428_Impre
74
  * @return string
75
  */
76
  public function getPageTitle() {
77
- return __( 'More features', 'wbcr_factory_clearfy_220' );
78
  }
79
 
80
  /**
@@ -88,66 +88,66 @@ class Wbcr_FactoryClearfy220_MoreFeaturesPage extends Wbcr_FactoryPages428_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_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,7 +161,7 @@ class Wbcr_FactoryClearfy220_MoreFeaturesPage extends Wbcr_FactoryPages428_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_220' ) ?>
165
  </a>
166
  </div>
167
  <?php
15
  }
16
 
17
 
18
+ class Wbcr_FactoryClearfy221_MoreFeaturesPage extends Wbcr_FactoryPages429_ImpressiveThemplate {
19
 
20
  /**
21
  * {@inheritDoc}
60
  */
61
  public $internal = true;
62
 
63
+ public function __construct( Wbcr_Factory429_Plugin $plugin ) {
64
+ $this->menu_title = __( 'More features (<b>free</b>)', 'wbcr_factory_clearfy_221' );
65
 
66
  parent::__construct( $plugin );
67
 
74
  * @return string
75
  */
76
  public function getPageTitle() {
77
+ return __( 'More features', 'wbcr_factory_clearfy_221' );
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_221' ) ?></h3>
92
+ <p><?php _e( 'Clears the source code of the page from unused code.', 'wbcr_factory_clearfy_221' ) ?></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_221' ) ?></h3>
99
+ <p><?php _e( 'Removes duplicate pages, closes external links, changes the headers of the server.', 'wbcr_factory_clearfy_221' ) ?></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_221' ) ?></h3>
106
+ <p><?php _e( 'Enables and disables features that improve the protection of your site.', 'wbcr_factory_clearfy_221' ) ?></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_221' ) ?></h3>
113
+ <p><?php _e( 'Disables comments on the entire site or on specific pages.', 'wbcr_factory_clearfy_221' ) ?></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_221' ) ?></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_221' ) ?></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_221' ) ?></h3>
128
+ <p><?php _e( 'Allows you to remove unused widgets.', 'wbcr_factory_clearfy_221' ) ?></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_221' ) ?></h3>
135
+ <p><?php _e( 'Increases performance by disabling unused functions and reducing the number of requests.', 'wbcr_factory_clearfy_221' ) ?></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_221' ) ?></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_221' ) ?></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_221' ) ?></h3>
150
+ <p><?php _e( 'In quick mode, you can easily configure the plugin according to your needs.', 'wbcr_factory_clearfy_221' ) ?></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_221' ) ?>
165
  </a>
166
  </div>
167
  <?php
libs/factory/clearfy/pages/class-pages.php CHANGED
@@ -14,7 +14,7 @@ if( !defined('ABSPATH') ) {
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
@@ -22,7 +22,7 @@ if( !defined('ABSPATH') ) {
22
  * @method string getBusinessSuggetionWidget()
23
  * @method string getSupportWidget
24
  */
25
- class Wbcr_FactoryClearfy220_PageBase extends Wbcr_FactoryPages428_ImpressiveThemplate {
26
 
27
  /**
28
  * {@inheritDoc}
@@ -57,9 +57,9 @@ class Wbcr_FactoryClearfy220_PageBase extends Wbcr_FactoryPages428_ImpressiveThe
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
 
@@ -95,18 +95,18 @@ class Wbcr_FactoryClearfy220_PageBase extends Wbcr_FactoryPages428_ImpressiveThe
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') ) {
@@ -115,10 +115,10 @@ class Wbcr_FactoryClearfy220_PageBase extends Wbcr_FactoryPages428_ImpressiveThe
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
  /**
@@ -131,7 +131,7 @@ class Wbcr_FactoryClearfy220_PageBase extends Wbcr_FactoryPages428_ImpressiveThe
131
  }
132
 
133
  /**
134
- * @return Wbcr_Factory428_Request
135
  */
136
  public function request()
137
  {
@@ -227,7 +227,7 @@ class Wbcr_FactoryClearfy220_PageBase extends Wbcr_FactoryPages428_ImpressiveThe
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,
@@ -256,24 +256,24 @@ class Wbcr_FactoryClearfy220_PageBase extends Wbcr_FactoryPages428_ImpressiveThe
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
@@ -289,7 +289,7 @@ class Wbcr_FactoryClearfy220_PageBase extends Wbcr_FactoryPages428_ImpressiveThe
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) ): ?>
@@ -300,7 +300,7 @@ class Wbcr_FactoryClearfy220_PageBase extends Wbcr_FactoryPages428_ImpressiveThe
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
@@ -322,25 +322,25 @@ class Wbcr_FactoryClearfy220_PageBase extends Wbcr_FactoryPages428_ImpressiveThe
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
  }
@@ -362,19 +362,19 @@ class Wbcr_FactoryClearfy220_PageBase extends Wbcr_FactoryPages428_ImpressiveThe
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>
@@ -392,7 +392,7 @@ class Wbcr_FactoryClearfy220_PageBase extends Wbcr_FactoryPages428_ImpressiveThe
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"
@@ -400,7 +400,7 @@ class Wbcr_FactoryClearfy220_PageBase extends Wbcr_FactoryPages428_ImpressiveThe
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: ?>
@@ -452,13 +452,13 @@ class Wbcr_FactoryClearfy220_PageBase extends Wbcr_FactoryPages428_ImpressiveThe
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
  /**
@@ -472,11 +472,11 @@ class Wbcr_FactoryClearfy220_PageBase extends Wbcr_FactoryPages428_ImpressiveThe
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
14
  }
15
 
16
  /**
17
+ * Class Wbcr_FactoryPages429_ImpressiveThemplate
18
  *
19
  * @method string getInfoWidget() - get widget content information
20
  * @method string getRatingWidget(array $args = []) - get widget content rating
22
  * @method string getBusinessSuggetionWidget()
23
  * @method string getSupportWidget
24
  */
25
+ class Wbcr_FactoryClearfy221_PageBase extends Wbcr_FactoryPages429_ImpressiveThemplate {
26
 
27
  /**
28
  * {@inheritDoc}
57
  public $show_search_options_form = true;
58
 
59
  /**
60
+ * @param Wbcr_Factory429_Plugin $plugin
61
  */
62
+ public function __construct(Wbcr_Factory429_Plugin $plugin)
63
  {
64
  parent::__construct($plugin);
65
 
95
  /**
96
  * Requests assets (js and css) for the page.
97
  *
98
+ * @param Wbcr_Factory429_ScriptList $scripts
99
+ * @param Wbcr_Factory429_StyleList $styles
100
  *
101
  * @return void
102
+ * @see Wbcr_FactoryPages429_AdminPage
103
  *
104
  */
105
  public function assets($scripts, $styles)
106
  {
107
  parent::assets($scripts, $styles);
108
 
109
+ $this->styles->add(FACTORY_CLEARFY_221_URL . '/assets/css/clearfy-base.css');
110
 
111
  // todo: вынести все общие скрипты и стили фреймворка, продумать совместимость с другими плагинами
112
  if( defined('WCL_PLUGIN_URL') ) {
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_221_URL . '/assets/css/libs/autocomplete.css');
119
 
120
+ $this->scripts->add(FACTORY_CLEARFY_221_URL . '/assets/js/libs/jquery.autocomplete.min.js');
121
+ $this->scripts->add(FACTORY_CLEARFY_221_URL . '/assets/js/search-options.js');
122
  }
123
 
124
  /**
131
  }
132
 
133
  /**
134
+ * @return Wbcr_Factory429_Request
135
  */
136
  public function request()
137
  {
227
  /**
228
  * @since 4.0.9 - является устаревшим
229
  */
230
+ $widgets = wbcr_factory_429_apply_filters_deprecated('wbcr_factory_pages_429_imppage_get_widgets', [
231
  $widgets,
232
  $position,
233
  $this->plugin,
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_221'),
260
+ '40_premium' => __('40 new premium components within a year for the single price;', 'wbcr_factory_clearfy_221'),
261
+ 'multisite_support' => __('Multisite support;', 'wbcr_factory_clearfy_221'),
262
+ 'advance_settings' => __('Advanced settings;', 'wbcr_factory_clearfy_221'),
263
+ 'no_ads' => __('No ads;', 'wbcr_factory_clearfy_221'),
264
+ 'perfect_support' => __('Perfect support.', 'wbcr_factory_clearfy_221')
265
  ];
266
 
267
  /**
268
  * @since 2.0.8 - added
269
  */
270
+ $suggetion_title = __('MORE IN CLEARFY <span>BUSINESS</span>', 'wbcr_factory_clearfy_221');
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_429_apply_filters_deprecated('wbcr/clearfy/page_bussines_suggetion_features', [
277
  $default_features,
278
  $this->plugin->getPluginName(),
279
  $this->id
289
  $suggetion_features = $default_features;
290
  }
291
  ?>
292
+ <div class="wbcr-factory-sidebar-widget wbcr-factory-clearfy-221-pro-suggettion">
293
  <h3><?php echo $suggetion_title; ?></h3>
294
  <ul>
295
  <?php if( !empty($suggetion_features) ): ?>
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_221'), $upgrade_price) ?>
304
  </a>
305
  </div>
306
  <?php
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_221'); ?>
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_221'); ?>
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_221'); ?>
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_221'); ?></p>
344
  </div>
345
  <?php
346
  }
362
  $page_url = $args[0];
363
  }
364
 
365
+ $page_url = apply_filters('wbcr_factory_pages_429_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_221'); ?></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_221'); ?></p>
373
+ <p><?php _e('And also write your ideas on how to extend or improve the plugin.', 'wbcr_factory_clearfy_221'); ?></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_221'); ?></strong>
378
  </a>
379
  </p>
380
  </div>
392
  ?>
393
  <div class="wbcr-factory-sidebar-widget">
394
  <p>
395
+ <strong><?php _e('Donation for plugin development', 'wbcr_factory_clearfy_221'); ?></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"
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_429_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: ?>
452
  */
453
  public function register_options_to_search()
454
  {
455
+ require_once FACTORY_CLEARFY_221_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_221\Search_Options::register_options($options, $page_url, $page_id);
462
  }
463
 
464
  /**
472
  return;
473
  }
474
  ?>
475
+ <div id="wbcr-factory-clearfy-221__search_options_form" class="wbcr-factory-clearfy-221__autocomplete-wrap">
476
+ <label for="autocomplete" class="wbcr-factory-clearfy-221__autocomplete-label">
477
+ <?php _e('Can\'t find the settings you need? Use the search by the plugin options:', 'wbcr_factory_clearfy_221'); ?>
478
  </label>
479
+ <input type="text" name="country" id="wbcr-factory-clearfy-221__autocomplete"/>
480
 
481
  </div>
482
  <?php
libs/factory/core/boot.php CHANGED
@@ -14,49 +14,49 @@ if( !defined('ABSPATH') ) {
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
14
  exit;
15
  }
16
 
17
+ if( defined('FACTORY_429_LOADED') ) {
18
  return;
19
  }
20
 
21
+ define('FACTORY_429_LOADED', true);
22
 
23
+ define('FACTORY_429_VERSION', '4.2.9');
24
 
25
+ define('FACTORY_429_DIR', dirname(__FILE__));
26
+ define('FACTORY_429_URL', plugins_url(null, __FILE__));
27
 
28
+ load_plugin_textdomain('wbcr_factory_429', false, dirname(plugin_basename(__FILE__)) . '/langs');
29
 
30
  #comp merge
31
+ require_once(FACTORY_429_DIR . '/includes/functions.php');
32
 
33
+ require_once(FACTORY_429_DIR . '/includes/entities/class-factory-paths.php');
34
+ require_once(FACTORY_429_DIR . '/includes/entities/class-factory-support.php');
35
 
36
+ require_once(FACTORY_429_DIR . '/includes/class-factory-requests.php');
37
+ require_once(FACTORY_429_DIR . '/includes/class-factory-options.php');
38
+ require_once(FACTORY_429_DIR . '/includes/class-factory-plugin-base.php');
39
+ require_once(FACTORY_429_DIR . '/includes/class-factory-migrations.php');
40
+ require_once(FACTORY_429_DIR . '/includes/class-factory-notices.php');
41
 
42
  // ASSETS
43
+ require_once(FACTORY_429_DIR . '/includes/assets-managment/class-factory-assets-list.php');
44
+ require_once(FACTORY_429_DIR . '/includes/assets-managment/class-factory-script-list.php');
45
+ require_once(FACTORY_429_DIR . '/includes/assets-managment/class-factory-style-list.php');
46
 
47
  // PREMIUM
48
+ require_once(FACTORY_429_DIR . '/includes/premium/class-factory-license-interface.php');
49
+ require_once(FACTORY_429_DIR . '/includes/premium/class-factory-provider-abstract.php');
50
+ require_once(FACTORY_429_DIR . '/includes/premium/class-factory-manager.php');
51
 
52
  // UPDATES
53
+ require_once(FACTORY_429_DIR . '/includes/updates/repositories/class-factory-repository-abstract.php');
54
+ require_once(FACTORY_429_DIR . '/includes/updates/repositories/class-factory-wordpress.php');
55
+ require_once(FACTORY_429_DIR . '/includes/updates/class-factory-upgrader.php');
56
+ require_once(FACTORY_429_DIR . '/includes/updates/class-factory-premium-upgrader.php');
57
 
58
+ require_once(FACTORY_429_DIR . '/includes/class-factory-plugin-abstract.php');
59
 
60
+ require_once(FACTORY_429_DIR . '/includes/activation/class-factory-activator.php');
61
+ require_once(FACTORY_429_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_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
 
19
  *
20
  * @since 1.0.0
21
  */
22
+ abstract class Wbcr_Factory429_Activator {
23
 
24
  /**
25
  * Curent plugin.
26
  *
27
+ * @var Wbcr_Factory429_Plugin
28
  */
29
  public $plugin;
30
 
31
+ public function __construct( Wbcr_Factory429_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_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
 
20
  *
21
  * @since 1.0.0
22
  */
23
+ abstract class Wbcr_Factory429_Update {
24
 
25
  /**
26
  * Current plugin
27
  *
28
+ * @var Wbcr_Factory429_Plugin
29
  */
30
  var $plugin;
31
 
32
+ public function __construct( Wbcr_Factory429_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_Factory428_AssetsList {
23
 
24
  protected $all = [];
25
  public $header_place = [];
@@ -29,15 +29,15 @@ class Wbcr_Factory428_AssetsList {
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 ) {
19
  *
20
  * @since 1.0.0
21
  */
22
+ class Wbcr_Factory429_AssetsList {
23
 
24
  protected $all = [];
25
  public $header_place = [];
29
  protected $default_place;
30
 
31
  /**
32
+ * @var Wbcr_Factory429_Plugin
33
  */
34
  protected $plugin;
35
 
36
  /**
37
+ * @param Wbcr_Factory429_Plugin $plugin
38
  * @param bool $defaultIsFooter
39
  */
40
+ public function __construct( Wbcr_Factory429_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_Factory428_ScriptList extends Wbcr_Factory428_AssetsList {
24
 
25
  public $localize_data = [];
26
  public $use_ajax = false;
@@ -149,7 +149,7 @@ class Wbcr_Factory428_ScriptList extends Wbcr_Factory428_AssetsList {
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 );
20
  *
21
  * @since 1.0.0
22
  */
23
+ class Wbcr_Factory429_ScriptList extends Wbcr_Factory429_AssetsList {
24
 
25
  public $localize_data = [];
26
  public $use_ajax = false;
149
  * @param string $varname
150
  * @param string $data
151
  *
152
+ * @return Wbcr_Factory429_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_Factory428_StyleList extends Wbcr_Factory428_AssetsList {
24
 
25
  /**
26
  * Adds new items to the collection (default place).
20
  *
21
  * @since 1.0.0
22
  */
23
+ class Wbcr_Factory429_StyleList extends Wbcr_Factory429_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_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 ) {
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_221' ), $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_429' ), $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_429' ), $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_428;
4
 
5
  use Exception;
6
- use Wbcr_Factory428_Plugin;
7
 
8
  if ( ! defined( 'ABSPATH' ) ) {
9
  exit;
@@ -35,11 +35,11 @@ class Migrations {
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,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_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,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_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,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_428' ) );
509
  }
510
 
511
  $tokens = token_get_all( $phpCode );
1
  <?php
2
 
3
+ namespace WBCR\Factory_429;
4
 
5
  use Exception;
6
+ use Wbcr_Factory429_Plugin;
7
 
8
  if ( ! defined( 'ABSPATH' ) ) {
9
  exit;
35
  /**
36
  * Migrations constructor.
37
  *
38
+ * @param Wbcr_Factory429_Plugin $plugin
39
  *
40
  * @throws Exception
41
  */
42
+ public function __construct( Wbcr_Factory429_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_429' ) . "</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_429' ) . '</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_429" ) . ' ' . date( "Y-m-d H:i:s", $this->get_plugin_activated_time() ) . "<br>";
166
 
167
+ $notice_text .= __( "Old plugin version (debug):", "wbcr_factory_429" ) . ' ' . $this->get_old_plugin_version() . "<br>";
168
+ $notice_text .= __( "Current plugin version:", "wbcr_factory_429" ) . ' ' . $this->get_current_plugin_version() . "<br>";
169
+ $notice_text .= __( "Need migration:", "wbcr_factory_429" ) . ' ' . ( $this->need_migration() ? "true" : "false" ) . "<br><br>";
170
+ $notice_text .= "<a href='{$migrate_url}' class='button button-default'>" . __( "Migrate now", "wbcr_factory_429" ) . "</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_429' ) . '</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_429' ) );
509
  }
510
 
511
  $tokens = token_get_all( $phpCode );
libs/factory/core/includes/class-factory-notices.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_428;
4
 
5
- use Wbcr_Factory428_Plugin;
6
 
7
  // Exit if accessed directly
8
- if ( ! defined( 'ABSPATH' ) ) {
9
  exit;
10
  }
11
 
@@ -27,7 +27,7 @@ if ( ! defined( 'ABSPATH' ) ) {
27
  class Notices {
28
 
29
  /**
30
- * @var Wbcr_Factory428_Plugin
31
  */
32
  protected $plugin;
33
  /**
@@ -58,22 +58,23 @@ class Notices {
58
  /**
59
  * Инициализируем уведомлений сразу после загрузки модуля уведомлений
60
  *
61
- * @param Wbcr_Factory428_Plugin $plugin
62
  */
63
- public function __construct( $plugin ) {
 
64
  //default notices
65
  //---
66
 
67
- $this->plugin = $plugin;
68
- $this->dissmised_notices = $this->plugin->getPopulateOption( 'factory_dismissed_notices', [] );
69
 
70
- add_action( 'current_screen', [ $this, 'currentScreenAction' ] );
71
 
72
- if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
73
- add_action( 'wp_ajax_' . $this->plugin->getPluginName() . '_dismiss_notice', [
74
  $this,
75
  'dismiss_notice'
76
- ] );
77
  }
78
  }
79
 
@@ -82,51 +83,37 @@ class Notices {
82
  * Уведомления собираются через фильтр wbcr_factory_admin_notices, если в массиве уведомлений,
83
  * хотя бы одно, соответствует условиям в параметре $notice['where'], то метод печает вспомогательные скрипты и уведомления.
84
  */
85
- public function currentScreenAction() {
 
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
-
99
- if ( count( $this->notices ) == 0 ) {
100
  return;
101
  }
102
 
103
  $screen = get_current_screen();
104
 
105
  $has_notices = false;
106
- foreach ( (array) $this->notices as $notice ) {
107
- if ( ! isset( $notice['id'] ) ) {
108
  continue;
109
  }
110
 
111
- $where = ! isset( $notice['where'] ) || empty( $notice['where'] ) ? $this->default_where : $notice['where'];
112
 
113
- if ( in_array( $screen->base, $where ) && ! $this->is_dissmissed( $notice['id'] ) ) {
114
  $has_notices = true;
115
  break;
116
  };
117
  }
118
 
119
- if ( $has_notices ) {
120
- add_action( 'admin_footer', [ $this, 'print_js_code' ] );
121
 
122
- if ( $this->plugin->isNetworkActive() ) {
123
- if ( current_user_can( 'manage_network' ) ) {
124
- add_action( 'network_admin_notices', [ $this, 'show_notices' ] );
125
- add_action( 'admin_notices', [ $this, 'show_notices' ] );
126
- }
127
- } else {
128
- add_action( 'admin_notices', [ $this, 'show_notices' ] );
129
- }
130
  }
131
  }
132
 
@@ -135,27 +122,41 @@ class Notices {
135
  * Уведомления показываются только на определенных страницах через параметр $notice['where'],
136
  * если уведомление ранее было скрыто или не соотвествует правилам $notice['where'], оно не будет показано!
137
  */
138
- public function show_notices() {
139
- if ( count( $this->notices ) == 0 ) {
 
140
  return;
141
  }
142
 
143
- if ( ! current_user_can( 'activate_plugins' ) || ! current_user_can( 'edit_plugins' ) || ! current_user_can( 'install_plugins' ) ) {
144
  return;
145
  }
146
 
147
  $screen = get_current_screen();
148
 
149
- foreach ( $this->notices as $notice ) {
150
 
151
- if ( ! isset( $notice['id'] ) ) {
152
  continue;
153
  }
154
 
155
- $where = ! isset( $notice['where'] ) || empty( $notice['where'] ) ? $this->default_where : $notice['where'];
156
-
157
- if ( in_array( $screen->base, $where ) && ! $this->is_dissmissed( $notice['id'] ) ) {
158
- $this->show_notice( $notice );
 
 
 
 
 
 
 
 
 
 
 
 
 
159
  };
160
  }
161
  }
@@ -163,7 +164,7 @@ class Notices {
163
  /**
164
  * Показывает уведомление, по переданным параметрам
165
  *
166
- * @param array $data - Параметры уведомления
167
  * $data['id'] - Индентификатор уведомления
168
  * $data['type'] - Тип уведомления (error, warning, success)
169
  * $notice['where'] - На каких страницах показывать уведомление ('plugins', 'dashboard', 'edit')
@@ -173,36 +174,37 @@ class Notices {
173
  * Пример time() + 3600 (1ч), уведомление будет скрыто на 1 час.
174
  * $data['classes'] - Произвольный классы для контейнера уведомления.
175
  */
176
- public function show_notice( $data ) {
177
- $settings = wp_parse_args( $data, [
178
- 'id' => null,
179
- 'text' => null,
180
- 'type' => 'error',
181
- 'dismissible' => false,
 
182
  'dismiss_expires' => 0,
183
- 'classes' => []
184
- ] );
185
 
186
- if ( empty( $settings['id'] ) || empty( $settings['text'] ) ) {
187
  return;
188
  }
189
 
190
- $plugin_name = str_replace( '_', '-', $this->plugin->getPluginName() );
191
 
192
- $classes = array_merge( [
193
  'notice',
194
  'notice-' . $settings['type'],
195
  $plugin_name . '-factory-notice'
196
- ], $settings['classes'] );
197
 
198
- if ( $settings['dismissible'] ) {
199
  $classes[] = 'is-dismissible';
200
  $classes[] = $plugin_name . '-factory-notice-dismiss';
201
  }
202
  ?>
203
- <div data-name="wbcr_factory_notice_<?php echo esc_attr( $data['id'] ) ?>" data-expires="<?= esc_attr( $settings['dismiss_expires'] ) ?>" data-nonce="<?php echo wp_create_nonce( $this->plugin->getPluginName() . '_factory_dismiss_notice' ); ?>" class="<?php echo esc_attr( implode( ' ', $classes ) ) ?>">
204
  <?= $data['text'] ?>
205
- </div>
206
  <?php
207
  }
208
 
@@ -210,37 +212,38 @@ class Notices {
210
  * Когда пользователь нажимает кнопку закрыть уведомление,
211
  * отправляется ajax запрос с вызовом текущего метода
212
  */
213
- public function dismiss_notice() {
214
- if ( ! current_user_can( 'activate_plugins' ) || ! current_user_can( 'edit_plugins' ) || ! current_user_can( 'install_plugins' ) ) {
215
- wp_die( - 1, 403 );
 
216
  }
217
 
218
- check_admin_referer( $this->plugin->getPluginName() . '_factory_dismiss_notice', 'nonce' );
219
 
220
  // Имя уведомления (идентификатор)
221
- $name = $this->plugin->request->post( 'name', null, true );
222
 
223
  // Время в Unix timestamp, по истечению, которого уведомление снова будет показано
224
  // Если передан 0, то уведомление будет скрыто навсегда
225
- $expires = $this->plugin->request->post( 'expires', 0, 'intval' );
226
 
227
- if ( empty( $name ) ) {
228
- wp_send_json_error( [ 'error_message' => 'You must pass the notification "Name"! Action was rejected.' ] );
229
  }
230
 
231
- $notices = $this->plugin->getPopulateOption( "factory_dismissed_notices", [] );
232
 
233
- if ( ! empty( $notices ) ) {
234
- foreach ( (array) $notices as $notice_id => $notice_expires ) {
235
- if ( $notice_expires !== 0 && $notice_expires < time() ) {
236
- unset( $notices[ $notice_id ] );
237
  }
238
  }
239
  }
240
 
241
- $notices[ $name ] = $expires;
242
 
243
- $this->plugin->updatePopulateOption( 'factory_dismissed_notices', $notices );
244
 
245
  wp_send_json_success();
246
  }
@@ -250,11 +253,12 @@ class Notices {
250
  * Печает в подвале страницы код, для взаимодействия с сервером через ajax,
251
  * код используется при нажатии на кнопку закрыть уведомление. *
252
  */
253
- public function print_js_code() {
254
- $plugin_name = str_replace( '_', '-', $this->plugin->getPluginName() );
 
255
 
256
  ?>
257
- <script type="text/javascript">
258
  jQuery(function($) {
259
 
260
  $(document).on('click', '.<?php echo $plugin_name; ?>-factory-notice-dismiss .notice-dismiss', function() {
@@ -267,7 +271,7 @@ class Notices {
267
  });
268
 
269
  });
270
- </script>
271
  <?php
272
  }
273
 
@@ -275,13 +279,14 @@ class Notices {
275
  /**
276
  * Проверяет скрыто уведоление или нет
277
  *
278
- * @param string $notice_id - имя уведомления
279
  *
280
  * @return bool
281
  */
282
- protected function is_dissmissed( $notice_id ) {
283
- if ( ! empty( $this->dissmised_notices ) && isset( $this->dissmised_notices[ 'wbcr_factory_notice_' . $notice_id ] ) ) {
284
- $expires = (int) $this->dissmised_notices[ 'wbcr_factory_notice_' . $notice_id ];
 
285
 
286
  return $expires === 0 || $expires > time();
287
  }
1
  <?php
2
 
3
+ namespace WBCR\Factory_429;
4
 
5
+ use Wbcr_Factory429_Plugin;
6
 
7
  // Exit if accessed directly
8
+ if( !defined('ABSPATH') ) {
9
  exit;
10
  }
11
 
27
  class Notices {
28
 
29
  /**
30
+ * @var Wbcr_Factory429_Plugin
31
  */
32
  protected $plugin;
33
  /**
58
  /**
59
  * Инициализируем уведомлений сразу после загрузки модуля уведомлений
60
  *
61
+ * @param Wbcr_Factory429_Plugin $plugin
62
  */
63
+ public function __construct($plugin)
64
+ {
65
  //default notices
66
  //---
67
 
68
+ $this->plugin = $plugin;
69
+ $this->dissmised_notices = $this->plugin->getPopulateOption('factory_dismissed_notices', []);
70
 
71
+ add_action('current_screen', [$this, 'currentScreenAction']);
72
 
73
+ if( defined('DOING_AJAX') && DOING_AJAX ) {
74
+ add_action('wp_ajax_' . $this->plugin->getPluginName() . '_dismiss_notice', [
75
  $this,
76
  'dismiss_notice'
77
+ ]);
78
  }
79
  }
80
 
83
  * Уведомления собираются через фильтр wbcr_factory_admin_notices, если в массиве уведомлений,
84
  * хотя бы одно, соответствует условиям в параметре $notice['where'], то метод печает вспомогательные скрипты и уведомления.
85
  */
86
+ public function currentScreenAction()
87
+ {
88
  /**
89
+ * @since 2.1.2 - Добавлен, модуль factory_notices_000 был удален. Поэтому в этому хуке мы заменили префикс на factory_429
90
  */
91
+ $this->notices = apply_filters('wbcr/factory/admin_notices', $this->notices, $this->plugin->getPluginName());
 
 
 
92
 
93
+ if( count($this->notices) == 0 ) {
 
 
 
 
 
94
  return;
95
  }
96
 
97
  $screen = get_current_screen();
98
 
99
  $has_notices = false;
100
+ foreach((array)$this->notices as $notice) {
101
+ if( !isset($notice['id']) ) {
102
  continue;
103
  }
104
 
105
+ $where = !isset($notice['where']) || empty($notice['where']) ? $this->default_where : $notice['where'];
106
 
107
+ if( in_array($screen->base, $where) && !$this->is_dissmissed($notice['id']) ) {
108
  $has_notices = true;
109
  break;
110
  };
111
  }
112
 
113
+ if( $has_notices ) {
114
+ add_action('admin_footer', [$this, 'print_js_code']);
115
 
116
+ $this->show_notices();
 
 
 
 
 
 
 
117
  }
118
  }
119
 
122
  * Уведомления показываются только на определенных страницах через параметр $notice['where'],
123
  * если уведомление ранее было скрыто или не соотвествует правилам $notice['where'], оно не будет показано!
124
  */
125
+ public function show_notices()
126
+ {
127
+ if( count($this->notices) == 0 ) {
128
  return;
129
  }
130
 
131
+ if( !current_user_can('activate_plugins') || !current_user_can('edit_plugins') || !current_user_can('install_plugins') ) {
132
  return;
133
  }
134
 
135
  $screen = get_current_screen();
136
 
137
+ foreach($this->notices as $notice) {
138
 
139
+ if( !isset($notice['id']) ) {
140
  continue;
141
  }
142
 
143
+ $where = !isset($notice['where']) || empty($notice['where']) ? $this->default_where : $notice['where'];
144
+
145
+ if( in_array($screen->base, $where) && !$this->is_dissmissed($notice['id']) ) {
146
+ if( $this->plugin->isNetworkActive() ) {
147
+ if( current_user_can('manage_network') ) {
148
+ add_action('network_admin_notices', function () use ($notice) {
149
+ $this->show_notice($notice);
150
+ });
151
+ add_action('admin_notices', function () use ($notice) {
152
+ $this->show_notice($notice);
153
+ });
154
+ }
155
+ } else {
156
+ add_action('admin_notices', function () use ($notice) {
157
+ $this->show_notice($notice);
158
+ });
159
+ }
160
  };
161
  }
162
  }
164
  /**
165
  * Показывает уведомление, по переданным параметрам
166
  *
167
+ * @param array $data - Параметры уведомления
168
  * $data['id'] - Индентификатор уведомления
169
  * $data['type'] - Тип уведомления (error, warning, success)
170
  * $notice['where'] - На каких страницах показывать уведомление ('plugins', 'dashboard', 'edit')
174
  * Пример time() + 3600 (1ч), уведомление будет скрыто на 1 час.
175
  * $data['classes'] - Произвольный классы для контейнера уведомления.
176
  */
177
+ public function show_notice($data)
178
+ {
179
+ $settings = wp_parse_args($data, [
180
+ 'id' => null,
181
+ 'text' => null,
182
+ 'type' => 'error',
183
+ 'dismissible' => false,
184
  'dismiss_expires' => 0,
185
+ 'classes' => []
186
+ ]);
187
 
188
+ if( empty($settings['id']) || empty($settings['text']) ) {
189
  return;
190
  }
191
 
192
+ $plugin_name = str_replace('_', '-', $this->plugin->getPluginName());
193
 
194
+ $classes = array_merge([
195
  'notice',
196
  'notice-' . $settings['type'],
197
  $plugin_name . '-factory-notice'
198
+ ], $settings['classes']);
199
 
200
+ if( $settings['dismissible'] ) {
201
  $classes[] = 'is-dismissible';
202
  $classes[] = $plugin_name . '-factory-notice-dismiss';
203
  }
204
  ?>
205
+ <div data-name="wbcr_factory_notice_<?php echo esc_attr($data['id']) ?>" data-expires="<?= esc_attr($settings['dismiss_expires']) ?>" data-nonce="<?php echo wp_create_nonce($this->plugin->getPluginName() . '_factory_dismiss_notice'); ?>" class="<?php echo esc_attr(implode(' ', $classes)) ?>">
206
  <?= $data['text'] ?>
207
+ </div>
208
  <?php
209
  }
210
 
212
  * Когда пользователь нажимает кнопку закрыть уведомление,
213
  * отправляется ajax запрос с вызовом текущего метода
214
  */
215
+ public function dismiss_notice()
216
+ {
217
+ if( !current_user_can('activate_plugins') || !current_user_can('edit_plugins') || !current_user_can('install_plugins') ) {
218
+ wp_die(-1, 403);
219
  }
220
 
221
+ check_admin_referer($this->plugin->getPluginName() . '_factory_dismiss_notice', 'nonce');
222
 
223
  // Имя уведомления (идентификатор)
224
+ $name = $this->plugin->request->post('name', null, true);
225
 
226
  // Время в Unix timestamp, по истечению, которого уведомление снова будет показано
227
  // Если передан 0, то уведомление будет скрыто навсегда
228
+ $expires = $this->plugin->request->post('expires', 0, 'intval');
229
 
230
+ if( empty($name) ) {
231
+ wp_send_json_error(['error_message' => 'You must pass the notification "Name"! Action was rejected.']);
232
  }
233
 
234
+ $notices = $this->plugin->getPopulateOption("factory_dismissed_notices", []);
235
 
236
+ if( !empty($notices) ) {
237
+ foreach((array)$notices as $notice_id => $notice_expires) {
238
+ if( $notice_expires !== 0 && $notice_expires < time() ) {
239
+ unset($notices[$notice_id]);
240
  }
241
  }
242
  }
243
 
244
+ $notices[$name] = $expires;
245
 
246
+ $this->plugin->updatePopulateOption('factory_dismissed_notices', $notices);
247
 
248
  wp_send_json_success();
249
  }
253
  * Печает в подвале страницы код, для взаимодействия с сервером через ajax,
254
  * код используется при нажатии на кнопку закрыть уведомление. *
255
  */
256
+ public function print_js_code()
257
+ {
258
+ $plugin_name = str_replace('_', '-', $this->plugin->getPluginName());
259
 
260
  ?>
261
+ <script type="text/javascript">
262
  jQuery(function($) {
263
 
264
  $(document).on('click', '.<?php echo $plugin_name; ?>-factory-notice-dismiss .notice-dismiss', function() {
271
  });
272
 
273
  });
274
+ </script>
275
  <?php
276
  }
277
 
279
  /**
280
  * Проверяет скрыто уведоление или нет
281
  *
282
+ * @param string $notice_id - имя уведомления
283
  *
284
  * @return bool
285
  */
286
+ protected function is_dissmissed($notice_id)
287
+ {
288
+ if( !empty($this->dissmised_notices) && isset($this->dissmised_notices['wbcr_factory_notice_' . $notice_id]) ) {
289
+ $expires = (int)$this->dissmised_notices['wbcr_factory_notice_' . $notice_id];
290
 
291
  return $expires === 0 || $expires > time();
292
  }
libs/factory/core/includes/class-factory-options.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_428;
4
 
5
  // Exit if accessed directly
6
  use Exception;
@@ -10,7 +10,7 @@ if ( ! defined( 'ABSPATH' ) ) {
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. Основная задача была получать, обновлять, удалять опции без использования префиксов,
1
  <?php
2
 
3
+ namespace WBCR\Factory_429;
4
 
5
  // Exit if accessed directly
6
  use Exception;
10
  }
11
 
12
  /**
13
+ * Трейт используется для расширения базового класса плагина Wbcr_Factory429_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_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,7 +86,7 @@ abstract class Wbcr_Factory428_Plugin extends Wbcr_Factory428_Base {
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,8 +106,8 @@ abstract class Wbcr_Factory428_Plugin extends Wbcr_Factory428_Base {
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,9 +139,9 @@ abstract class Wbcr_Factory428_Plugin extends Wbcr_Factory428_Base {
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,9 +149,9 @@ abstract class Wbcr_Factory428_Plugin extends Wbcr_Factory428_Base {
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,8 +183,8 @@ abstract class Wbcr_Factory428_Plugin extends Wbcr_Factory428_Base {
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,8 +202,8 @@ abstract class Wbcr_Factory428_Plugin extends Wbcr_Factory428_Base {
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,7 +213,7 @@ abstract class Wbcr_Factory428_Plugin extends Wbcr_Factory428_Base {
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,18 +249,18 @@ abstract class Wbcr_Factory428_Plugin extends Wbcr_Factory428_Base {
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,7 +270,7 @@ abstract class Wbcr_Factory428_Plugin extends Wbcr_Factory428_Base {
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,11 +292,11 @@ abstract class Wbcr_Factory428_Plugin extends Wbcr_Factory428_Base {
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,16 +346,16 @@ abstract class Wbcr_Factory428_Plugin extends Wbcr_Factory428_Base {
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,7 +364,7 @@ abstract class Wbcr_Factory428_Plugin extends Wbcr_Factory428_Base {
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,16 +380,16 @@ abstract class Wbcr_Factory428_Plugin extends Wbcr_Factory428_Base {
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,16 +430,16 @@ abstract class Wbcr_Factory428_Plugin extends Wbcr_Factory428_Base {
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,7 +448,7 @@ abstract class Wbcr_Factory428_Plugin extends Wbcr_Factory428_Base {
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,11 +460,11 @@ abstract class Wbcr_Factory428_Plugin extends Wbcr_Factory428_Base {
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,7 +473,7 @@ abstract class Wbcr_Factory428_Plugin extends Wbcr_Factory428_Base {
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,8 +511,8 @@ abstract class Wbcr_Factory428_Plugin extends Wbcr_Factory428_Base {
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,7 +521,7 @@ abstract class Wbcr_Factory428_Plugin extends Wbcr_Factory428_Base {
521
  return null;
522
  }
523
 
524
- return Wbcr_FactoryPages428::getPageUrl($this, $page_id, $args);
525
  }
526
 
527
  /**
@@ -622,12 +622,12 @@ abstract class Wbcr_Factory428_Plugin extends Wbcr_Factory428_Base {
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,7 +654,7 @@ abstract class Wbcr_Factory428_Plugin extends Wbcr_Factory428_Base {
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,7 +670,7 @@ abstract class Wbcr_Factory428_Plugin extends Wbcr_Factory428_Base {
670
  */
671
  protected function init_plugin_migrations()
672
  {
673
- new WBCR\Factory_428\Migrations($this);
674
  }
675
 
676
  /**
@@ -681,7 +681,7 @@ abstract class Wbcr_Factory428_Plugin extends Wbcr_Factory428_Base {
681
  */
682
  protected function init_plugin_notices()
683
  {
684
- new Wbcr\Factory_428\Notices($this);
685
  }
686
 
687
  /**
@@ -697,7 +697,7 @@ abstract class Wbcr_Factory428_Plugin extends Wbcr_Factory428_Base {
697
  protected function init_plugin_updates()
698
  {
699
  if( $this->has_updates ) {
700
- new WBCR\Factory_428\Updates\Upgrader($this);
701
  }
702
  }
703
 
@@ -720,11 +720,11 @@ abstract class Wbcr_Factory428_Plugin extends Wbcr_Factory428_Base {
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
  }
24
  * @package factory-core
25
  *
26
  */
27
+ abstract class Wbcr_Factory429_Plugin extends Wbcr_Factory429_Base {
28
 
29
  /**
30
+ * Instance class Wbcr_Factory429_Request, required manages http requests
31
  *
32
  * @see https://webcraftic.atlassian.net/wiki/spaces/FFD/pages/390561806
33
+ * @var Wbcr_Factory429_Request
34
  */
35
  public $request;
36
 
37
  /**
38
  * @see https://webcraftic.atlassian.net/wiki/spaces/FFD/pages/393936924
39
+ * @var \WBCR\Factory_429\Premium\Provider
40
  */
41
  public $premium;
42
 
43
  /**
44
  * The Bootstrap Manager class
45
  *
46
+ * @var Wbcr_FactoryBootstrap430_Manager
47
  */
48
  public $bootstrap;
49
 
50
  /**
51
  * The Bootstrap Manager class
52
  *
53
+ * @var Wbcr_FactoryForms427_Manager
54
  */
55
  public $forms;
56
 
57
  /**
58
+ * Простой массив со списком зарегистрированных классов унаследованных от Wbcr_Factory429_Activator.
59
  * Классы активации используются для упаковки набора функций, которые нужно выполнить во время
60
  * активации плагина.
61
  *
62
+ * @var array[] Wbcr_Factory429_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_109\Base
90
  */
91
  private $adverts;
92
 
106
 
107
  parent::__construct($plugin_path, $data);
108
 
109
+ $this->request = new Wbcr_Factory429_Request();
110
+ //$this->route = new Wbcr_Factory429_Route();
111
 
112
  // INIT PLUGIN FRAMEWORK MODULES
113
  // Framework modules should always be loaded first,
139
  * Устанавливает класс менеджер, которому плагин будет делегировать подключение ресурсов (картинок,
140
  * скриптов, стилей) фреймворка.
141
  *
142
+ * @param Wbcr_FactoryBootstrap430_Manager $bootstrap
143
  */
144
+ public function setBootstap(Wbcr_FactoryBootstrap430_Manager $bootstrap)
145
  {
146
  $this->bootstrap = $bootstrap;
147
  }
149
  /**
150
  * Устанавливает класс менеджер, которому будет делегирована работа с html формами фреймворка.
151
  *
152
+ * @param Wbcr_FactoryForms427_Manager $forms
153
  */
154
+ public function setForms(Wbcr_FactoryForms427_Manager $forms)
155
  {
156
  $this->forms = $forms;
157
  }
183
  */
184
  public function set_license_provider($name, $class_name)
185
  {
186
+ if( !isset(WBCR\Factory_429\Premium\Manager::$providers[$name]) ) {
187
+ WBCR\Factory_429\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_429\Updates\Upgrader::$repositories[$name]) ) {
206
+ WBCR\Factory_429\Updates\Upgrader::$repositories[$name] = $class_name;
207
  }
208
  }
209
 
213
  * Доступен глобально через метод app(), чаще всего используется для создания точек для ротации
214
  * рекламных объявлений.
215
  *
216
+ * @return \WBCR\Factory_Adverts_109\Base
217
  * @since 1.1
218
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
219
  */
249
 
250
  public function newScriptList()
251
  {
252
+ return new Wbcr_Factory429_ScriptList($this);
253
  }
254
 
255
  public function newStyleList()
256
  {
257
+ return new Wbcr_Factory429_StyleList($this);
258
  }
259
 
260
  /**
261
  * Все страницы плагина создаются через специальную обертку, за которую отвечает модуль
262
  * фреймворка pages. Разработчик создает собственный класс, унаследованный от
263
+ * Wbcr_FactoryPages429_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_FactoryPages429_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_FactoryPages429') ) {
296
+ throw new Exception('The factory_pages_429 module is not included.');
297
  }
298
 
299
+ Wbcr_FactoryPages429::register($this, $class_name);
300
  }
301
 
302
  /**
346
  /**
347
  * @since 4.1.1 - change hook name
348
  */
349
+ if( apply_filters("wbcr/factory_429/cancel_plugin_activation_{$this->plugin_name}", false) ) {
350
  return;
351
  }
352
 
353
  /**
354
+ * wbcr_factory_429_plugin_activation
355
  *
356
  * @since 4.1.1 - deprecated
357
  */
358
+ wbcr_factory_429_do_action_deprecated('wbcr_factory_429_plugin_activation', [
359
  $this
360
  ], '4.1.1', "wbcr/factory/plugin_activation");
361
 
364
  *
365
  * @since 4.1.2 - deprecated
366
  */
367
+ wbcr_factory_429_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_429_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_429_plugin_activation_' . $this->plugin_name
389
  *
390
  * @since 4.1.1 - deprecated
391
  */
392
+ wbcr_factory_429_do_action_deprecated('wbcr_factory_429_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_429/cancel_plugin_deactivation_{$this->plugin_name}", false) ) {
434
  return;
435
  }
436
 
437
  /**
438
+ * wbcr_factory_429_plugin_deactivation
439
  *
440
  * @since 4.1.1 - deprecated
441
  */
442
+ wbcr_factory_429_do_action_deprecated('wbcr_factory_429_plugin_deactivation', [
443
  $this
444
  ], '4.1.1', "wbcr/factory/plugin_deactivation");
445
 
448
  *
449
  * @since 4.1.2 - deprecated
450
  */
451
+ wbcr_factory_429_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_429_plugin_deactivation_ . $this->plugin_name
464
  *
465
  * @since 4.1.1 - deprecated
466
  */
467
+ wbcr_factory_429_do_action_deprecated('wbcr_factory_429_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_429_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_FactoryPages429') ) {
515
+ throw new Exception('The factory_pages_429 module is not included.');
516
  }
517
 
518
  if( !is_admin() ) {
521
  return null;
522
  }
523
 
524
+ return Wbcr_FactoryPages429::getPageUrl($this, $page_id, $args);
525
  }
526
 
527
  /**
622
  /**
623
  * @since 4.1.1 - deprecated
624
  */
625
+ wbcr_factory_429_do_action_deprecated('wbcr_factory_429_core_modules_loaded-' . $this->plugin_name, [], '4.1.1', "wbcr/factory_429/modules_loaded-" . $this->plugin_name);
626
 
627
  /**
628
  * @since 4.1.1 - add
629
  */
630
+ do_action('wbcr/factory_429/modules_loaded-' . $this->plugin_name);
631
  }
632
 
633
 
654
  });
655
 
656
  if( is_admin() ) {
657
+ add_filter('wbcr_factory_429_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_429\Migrations($this);
674
  }
675
 
676
  /**
681
  */
682
  protected function init_plugin_notices()
683
  {
684
+ new Wbcr\Factory_429\Notices($this);
685
  }
686
 
687
  /**
697
  protected function init_plugin_updates()
698
  {
699
  if( $this->has_updates ) {
700
+ new WBCR\Factory_429\Updates\Upgrader($this);
701
  }
702
  }
703
 
720
  }
721
 
722
  // Создаем экземляр премиум менеджера, мы сможем к нему обращаться глобально.
723
+ $this->premium = WBCR\Factory_429\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_429\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_Factory428_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_Factory428_Base {
21
 
22
- use WBCR\Factory_428\Options;
23
 
24
  /**
25
  * Обязательное свойство. Префикс, используется для создания пространство имен.
@@ -81,7 +81,7 @@ class Wbcr_Factory428_Base {
81
  * https://robin-image-optimizer.webcraftic.com/premium-features.
82
  *
83
  * Это свойство заполняется для того, чтобы в процессе разработки вы могли использовать
84
- * экземпляр класса \WBCR\Factory_428\Entities\Support, для получения информации о сайте плагина.
85
  * Тем самым вы избавляете себя от жесткого прописывания ссылок на лендинг плагина и
86
  * можете изменить все ссылки в одном месте.
87
  *
@@ -127,7 +127,7 @@ class Wbcr_Factory428_Base {
127
  * к примеру: freemius, codecanyon, templatemonster, вам нужно указать только настройки для
128
  * взаимодействия с выбранным вами провайдером. Каждая реализация провайдера лицензий может иметь
129
  * индивидуальный настройки, в этом примере приведены настройки для freemius провайдера
130
- * WBCR\Factory_428\Premium\Provider > WBCR\Factory_Freemius_116\Premium\Provider
131
  *
132
  * На текущий момент существует только реализация для freemius провайдера.
133
  *
@@ -177,9 +177,9 @@ class Wbcr_Factory428_Base {
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,20 +209,20 @@ class Wbcr_Factory428_Base {
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,8 +270,8 @@ class Wbcr_Factory428_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_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,7 +391,7 @@ class Wbcr_Factory428_Base {
391
  * Проверяет, включен ли премиум для этого плагина или нет.
392
  *
393
  * @return bool Возвращает true, если премиум пакет включен для этого плагина.
394
- * См. Wbcr_Factory428_Base::has_premium
395
  */
396
  public function has_premium() {
397
  return $this->has_premium;
@@ -400,7 +400,7 @@ class Wbcr_Factory428_Base {
400
  /**
401
  * Позволяет получить заголовок плагина.
402
  *
403
- * @return string Возвращает заголовок плагина. См. Wbcr_Factory428_Base::plugin_title
404
  */
405
  public function getPluginTitle() {
406
  return $this->plugin_title;
@@ -409,7 +409,7 @@ class Wbcr_Factory428_Base {
409
  /**
410
  * Позволяет получить префикс плагина.
411
  *
412
- * @return string Возвращает префикс плагина.См. Wbcr_Factory428_Base::prefix
413
  */
414
  public function getPrefix() {
415
  return $this->prefix;
@@ -418,7 +418,7 @@ class Wbcr_Factory428_Base {
418
  /**
419
  * Позволяет получить имя плагина.
420
  *
421
- * @return string Возвращает имя плагина. См. Wbcr_Factory428_Base::plugin_name
422
  */
423
  public function getPluginName() {
424
  return $this->plugin_name;
@@ -427,7 +427,7 @@ class Wbcr_Factory428_Base {
427
  /**
428
  * Позволяет получить версию плагина.
429
  *
430
- * @return string Возвращает версию плагина. См. Wbcr_Factory428_Base::plugin_version
431
  */
432
  public function getPluginVersion() {
433
  return $this->plugin_version;
@@ -449,7 +449,7 @@ class Wbcr_Factory428_Base {
449
  * какие-то данные не описанные в интерфейсе этого плагина.
450
  *
451
  * @param string $attr_name Имя атрибута, который нужно получить. Идентично ключу в массиве
452
- * Wbcr_Factory428_Base::plugin_data
453
  *
454
  * @return null
455
  */
@@ -462,18 +462,18 @@ class Wbcr_Factory428_Base {
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,7 +482,7 @@ class Wbcr_Factory428_Base {
482
  /**
483
  * Позволяет получить сырые данные плагина в виде объекта StdClass.
484
  *
485
- * @return object Возвращает объект с сырыми данными плагина. См. Wbcr_Factory428_Base::plugin_data
486
  */
487
  public function getPluginInfo() {
488
  return (object) $this->plugin_data;
5
  }
6
 
7
  /**
8
+ * Базовый класс для создания нового плагина. Полную реализацию класса смотрите в Wbcr_Factory429_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_Factory429_Base {
21
 
22
+ use WBCR\Factory_429\Options;
23
 
24
  /**
25
  * Обязательное свойство. Префикс, используется для создания пространство имен.
81
  * https://robin-image-optimizer.webcraftic.com/premium-features.
82
  *
83
  * Это свойство заполняется для того, чтобы в процессе разработки вы могли использовать
84
+ * экземпляр класса \WBCR\Factory_429\Entities\Support, для получения информации о сайте плагина.
85
  * Тем самым вы избавляете себя от жесткого прописывания ссылок на лендинг плагина и
86
  * можете изменить все ссылки в одном месте.
87
  *
127
  * к примеру: freemius, codecanyon, templatemonster, вам нужно указать только настройки для
128
  * взаимодействия с выбранным вами провайдером. Каждая реализация провайдера лицензий может иметь
129
  * индивидуальный настройки, в этом примере приведены настройки для freemius провайдера
130
+ * WBCR\Factory_429\Premium\Provider > WBCR\Factory_Freemius_117\Premium\Provider
131
  *
132
  * На текущий момент существует только реализация для freemius провайдера.
133
  *
177
  * }
178
  */
179
  protected $load_factory_modules = [
180
+ [ 'libs/factory/bootstrap', 'factory_bootstrap_430', 'admin' ],
181
+ [ 'libs/factory/forms', 'factory_forms_427', 'admin' ],
182
+ [ 'libs/factory/pages', 'factory_pages_429', 'admin' ],
183
  ];
184
 
185
  /**
209
 
210
 
211
  /**
212
+ * Экземпляр класса \WBCR\Factory_429\Entities\Support используется для получения информации
213
  * о сайте плагина. Чаще всего используется для получения ссылки на страницу с тарифами или
214
  * ссылки на форму обратной связи. Встроен механизм отслеживания по utm меткам.
215
  *
216
+ * @var \WBCR\Factory_429\Entities\Support
217
  */
218
  protected $support;
219
 
220
  /**
221
+ * Экземпляр класса \WBCR\Factory_429\Entities\Paths используется для получения информации о
222
  * путях плагина. Часто используется для получения путей или ссылок на место хранения плагина
223
  * или его входного файла.
224
  *
225
+ * @var \WBCR\Factory_429\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_429\Entities\Support( $this->support_details );
274
+ $this->paths = new \WBCR\Factory_429\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_Factory429_Base::has_premium
395
  */
396
  public function has_premium() {
397
  return $this->has_premium;
400
  /**
401
  * Позволяет получить заголовок плагина.
402
  *
403
+ * @return string Возвращает заголовок плагина. См. Wbcr_Factory429_Base::plugin_title
404
  */
405
  public function getPluginTitle() {
406
  return $this->plugin_title;
409
  /**
410
  * Позволяет получить префикс плагина.
411
  *
412
+ * @return string Возвращает префикс плагина.См. Wbcr_Factory429_Base::prefix
413
  */
414
  public function getPrefix() {
415
  return $this->prefix;
418
  /**
419
  * Позволяет получить имя плагина.
420
  *
421
+ * @return string Возвращает имя плагина. См. Wbcr_Factory429_Base::plugin_name
422
  */
423
  public function getPluginName() {
424
  return $this->plugin_name;
427
  /**
428
  * Позволяет получить версию плагина.
429
  *
430
+ * @return string Возвращает версию плагина. См. Wbcr_Factory429_Base::plugin_version
431
  */
432
  public function getPluginVersion() {
433
  return $this->plugin_version;
449
  * какие-то данные не описанные в интерфейсе этого плагина.
450
  *
451
  * @param string $attr_name Имя атрибута, который нужно получить. Идентично ключу в массиве
452
+ * Wbcr_Factory429_Base::plugin_data
453
  *
454
  * @return null
455
  */
462
  }
463
 
464
  /**
465
+ * Предоставляет доступ к экземпляру класса \WBCR\Factory_429\Entities\Support.
466
  *
467
+ * @return \WBCR\Factory_429\Entities\Support
468
  */
469
  public function get_support() {
470
  return $this->support;
471
  }
472
 
473
  /**
474
+ * Предоставляет доступ к экземпляру класса \WBCR\Factory_429\Entities\Paths.
475
  *
476
+ * @return \WBCR\Factory_429\Entities\Paths
477
  */
478
  public function get_paths() {
479
  return $this->paths;
482
  /**
483
  * Позволяет получить сырые данные плагина в виде объекта StdClass.
484
  *
485
+ * @return object Возвращает объект с сырыми данными плагина. См. Wbcr_Factory429_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_Factory428_Request {
15
 
16
  /**
17
  * @param null $param
11
  * @package factory-core
12
  */
13
 
14
+ class Wbcr_Factory429_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_Factory428_Requirements' ) ) {
16
- class Wbcr_Factory428_Requirements {
17
 
18
  /**
19
  * Factory framework version
@@ -242,7 +242,7 @@ if ( ! class_exists( 'Wbcr_Factory428_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_220' ), $this->plugin_title ) . ' ';
246
  $notice_default_text .= __( 'Possible reasons:', '' ) . ' <br>';
247
 
248
  $has_one = false;
@@ -273,21 +273,21 @@ if ( ! class_exists( 'Wbcr_Factory428_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_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
  }
12
  * @since 4.0.9
13
  */
14
  // @formatter:off
15
+ if ( ! class_exists( 'Wbcr_Factory429_Requirements' ) ) {
16
+ class Wbcr_Factory429_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_221' ), $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_429' ), $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_429' ), $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_429' ), $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_428\Entities;
4
 
5
  if ( ! defined( 'ABSPATH' ) ) {
6
  exit;
1
  <?php
2
 
3
+ namespace WBCR\Factory_429\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_428\Entities;
4
 
5
  if ( ! defined( 'ABSPATH' ) ) {
6
  exit;
1
  <?php
2
 
3
+ namespace WBCR\Factory_429\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_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,7 +89,7 @@ function wbcr_factory_428_apply_filters_deprecated( $tag, $args, $version, $repl
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,14 +98,14 @@ function wbcr_factory_428_do_action_deprecated( $tag, $args, $version, $replacem
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,7 +123,7 @@ function wbcr_factory_428_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_428_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_429_deprecated_hook()
57
  *
58
  */
59
+ function wbcr_factory_429_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_429_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_429_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_429_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_429_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_429_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_428\Premium\Interfaces;
4
 
5
  // Exit if accessed directly
6
  if ( ! defined( 'ABSPATH' ) ) {
1
  <?php
2
 
3
+ namespace WBCR\Factory_429\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_428\Premium;
4
 
5
  use Exception;
6
- use Wbcr_Factory428_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_Factory428_Plugin
28
  */
29
  protected $plugin;
30
 
@@ -36,24 +36,24 @@ class Manager {
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,7 +62,7 @@ class Manager {
62
  /**
63
  * @param $provider_name
64
  *
65
- * @return \WBCR\Factory_Freemius_116\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_428\Premium\Provider interface!" );
74
  }
75
 
76
  return new self::$providers[ $provider_name ]( $this->plugin, $this->settings );
1
  <?php
2
 
3
+ namespace WBCR\Factory_429\Premium;
4
 
5
  use Exception;
6
+ use Wbcr_Factory429_Plugin;
7
 
8
  // Exit if accessed directly
9
  if ( ! defined( 'ABSPATH' ) ) {
24
  public static $providers;
25
 
26
  /**
27
+ * @var Wbcr_Factory429_Plugin
28
  */
29
  protected $plugin;
30
 
36
  /**
37
  * Manager constructor.
38
  *
39
+ * @param Wbcr_Factory429_Plugin $plugin
40
  * @param array $settings
41
  *
42
  * @throws Exception
43
  */
44
+ public function __construct( Wbcr_Factory429_Plugin $plugin, array $settings ) {
45
  $this->plugin = $plugin;
46
  $this->settings = $settings;
47
  }
48
 
49
  /**
50
+ * @param Wbcr_Factory429_Plugin $plugin
51
  * @param array $settings
52
  *
53
+ * @return \WBCR\Factory_Freemius_117\Premium\Provider
54
  * @throws Exception
55
  */
56
+ public static function instance( Wbcr_Factory429_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_117\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_429\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_428\Premium;
4
 
5
  use Exception;
6
- use Wbcr_Factory428_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_Factory428_Plugin
25
  */
26
  protected $plugin;
27
 
@@ -38,10 +38,10 @@ abstract class Provider {
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,7 +244,7 @@ abstract class Provider {
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
 
1
  <?php
2
 
3
+ namespace WBCR\Factory_429\Premium;
4
 
5
  use Exception;
6
+ use Wbcr_Factory429_Plugin;
7
 
8
  // Exit if accessed directly
9
  if( !defined('ABSPATH') ) {
21
  abstract class Provider {
22
 
23
  /**
24
+ * @var Wbcr_Factory429_Plugin
25
  */
26
  protected $plugin;
27
 
38
  /**
39
  * Provider constructor.
40
  *
41
+ * @param Wbcr_Factory429_Plugin $plugin
42
  * @param array $settings
43
  */
44
+ public function __construct(Wbcr_Factory429_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_429\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_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,13 +37,13 @@ class Premium_Upgrader extends Upgrader {
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,9 +234,9 @@ class Premium_Upgrader extends Upgrader {
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,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_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]) ) {
1
  <?php
2
 
3
+ namespace WBCR\Factory_429\Updates;
4
 
5
  use Exception;
6
  use Plugin_Installer_Skin;
7
  use Plugin_Upgrader;
8
+ use Wbcr_Factory429_Plugin;
9
+ use Wbcr_FactoryPages429_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_Factory429_Plugin $plugin
41
  *
42
  * @throws Exception
43
  * @since 4.1.1
44
  *
45
  */
46
+ public function __construct(Wbcr_Factory429_Plugin $plugin)
47
  {
48
  parent::__construct($plugin);
49
 
234
  /**
235
  * Выводит уведомление внутри интерфейса плагина, на всех страницах плагина.
236
  *
237
+ * @param Wbcr_FactoryPages429_ImpressiveThemplate $obj
238
  *
239
+ * @param Wbcr_Factory429_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_429'),
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_429'),
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_429'), $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_429'), $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_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,8 +28,8 @@ class Upgrader {
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,7 +42,7 @@ class Upgrader {
42
  protected $type = 'default';
43
 
44
  /**
45
- * @var Wbcr_Factory428_Plugin
46
  */
47
  protected $plugin;
48
 
@@ -90,13 +90,13 @@ class Upgrader {
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,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_428\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_428\Updates\Repository interface!" );
291
  }
292
 
293
  return new self::$repositories[ $repository_name ]( $this->plugin );
1
  <?php
2
 
3
+ namespace WBCR\Factory_429\Updates;
4
 
5
  use Exception;
6
  use stdClass;
7
+ use Wbcr_Factory429_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_117\Updates\Freemius_Repository',
32
+ * 'freemius' => '\WBCR\Factory_429\Updates\Wordpress_Repository'
33
  * ]
34
  */
35
  public static $repositories = [];
42
  protected $type = 'default';
43
 
44
  /**
45
+ * @var Wbcr_Factory429_Plugin
46
  */
47
  protected $plugin;
48
 
90
  *
91
  * @since 4.1.1
92
  *
93
+ * @param Wbcr_Factory429_Plugin $plugin
94
  * @param $args
95
  * @param bool $is_premium
96
  *
97
  * @throws Exception
98
  */
99
+ public function __construct( Wbcr_Factory429_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_429\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_429\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_428\Updates;
4
 
5
  // Exit if accessed directly
6
- use Wbcr_Factory428_Plugin;
7
 
8
  if ( ! defined( 'ABSPATH' ) ) {
9
  exit;
@@ -23,17 +23,17 @@ abstract class Repository {
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
1
  <?php
2
 
3
+ namespace WBCR\Factory_429\Updates;
4
 
5
  // Exit if accessed directly
6
+ use Wbcr_Factory429_Plugin;
7
 
8
  if ( ! defined( 'ABSPATH' ) ) {
9
  exit;
23
  protected $initialized = false;
24
 
25
  /**
26
+ * @var Wbcr_Factory429_Plugin
27
  */
28
  protected $plugin;
29
 
30
  /**
31
  * Repository constructor.
32
  *
33
+ * @param Wbcr_Factory429_Plugin $plugin
34
  * @param bool $is_premium
35
  */
36
+ abstract public function __construct( Wbcr_Factory429_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_428\Updates;
4
 
5
  // Exit if accessed directly
6
- use Wbcr_Factory428_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_Factory428_Plugin $plugin
24
  * @param bool $is_premium
25
  */
26
- public function __construct( Wbcr_Factory428_Plugin $plugin ) {
27
  $this->plugin = $plugin;
28
  }
29
 
1
  <?php
2
 
3
+ namespace WBCR\Factory_429\Updates;
4
 
5
  // Exit if accessed directly
6
+ use Wbcr_Factory429_Plugin;
7
 
8
  if ( ! defined( 'ABSPATH' ) ) {
9
  exit;
20
  /**
21
  * Wordpress constructor.
22
  *
23
+ * @param Wbcr_Factory429_Plugin $plugin
24
  * @param bool $is_premium
25
  */
26
+ public function __construct( Wbcr_Factory429_Plugin $plugin ) {
27
  $this->plugin = $plugin;
28
  }
29
 
libs/factory/core/langs/wbcr_factory_429-ru_RU.mo ADDED
Binary file
libs/factory/core/langs/wbcr_factory_429-ru_RU.po ADDED
@@ -0,0 +1,128 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: factory_forms\n"
4
+ "POT-Creation-Date: 2018-10-16 22:44+0300\n"
5
+ "PO-Revision-Date: 2018-10-16 22:45+0300\n"
6
+ "Last-Translator: \n"
7
+ "Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
8
+ "Language: ru_RU\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Poedit 2.1.1\n"
13
+ "X-Poedit-Basepath: ..\n"
14
+ "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
15
+ "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
16
+ "X-Poedit-SourceCharset: UTF-8\n"
17
+ "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
18
+ "X-Poedit-SearchPath-0: .\n"
19
+
20
+ #: includes/check-compatibility.php:80
21
+ msgid "warning"
22
+ msgstr "предупреждение"
23
+
24
+ #: includes/check-compatibility.php:82
25
+ #, php-format
26
+ msgid "The %s plugin has stopped."
27
+ msgstr "Работа плагина %s была остановлена."
28
+
29
+ #: includes/check-compatibility.php:83
30
+ msgid "Possible reasons:"
31
+ msgstr "Возможные причины:"
32
+
33
+ #: includes/check-compatibility.php:89
34
+ #, php-format
35
+ msgid "You need to update the PHP version to %s or higher!"
36
+ msgstr "Вам нужно обновить версию PHP до %s или выше!"
37
+
38
+ #: includes/check-compatibility.php:94
39
+ #, php-format
40
+ msgid "You need to update WordPress to %s or higher!"
41
+ msgstr "Вам нужно обновить WordPress до %s или выше!"
42
+
43
+ #: includes/functions.php:132
44
+ #, php-format
45
+ msgid ""
46
+ "%1$s is <strong>deprecated</strong> since version %2$s! Use %3$s instead."
47
+ msgstr ""
48
+ "%1$s является <strong>устаревшим,</strong> начиная с версии %2$s в "
49
+ "Wordpress! Используйте %3$s."
50
+
51
+ #: includes/functions.php:134
52
+ #, php-format
53
+ msgid ""
54
+ "%1$s is <strong>deprecated</strong> since version %2$s with no alternative "
55
+ "available."
56
+ msgstr ""
57
+ "%1$s был вызван с параметром, который является <strong>устаревшими</strong> "
58
+ "начиная с версии %2$s , в настоящее время доступных альтернатив нет."
59
+
60
+ #: includes/plugin.class.php:202 includes/plugin.class.php:237
61
+ msgid ""
62
+ "You are trying to call this earlier than the plugin menu will be registered."
63
+ msgstr ""
64
+ "Вы пытаетесь вызвать это раньше, чем будет зарегистрировано меню плагина."
65
+
66
+ #: includes/plugin.class.php:220
67
+ msgid ""
68
+ "You are trying to get a link to a page that does not have multisite mode. "
69
+ "Clicking this link will lead the user to a non-existent page."
70
+ msgstr ""
71
+ "Вы пытаетесь получить ссылку на страницу, которая не имеет "
72
+ "многопользовательского режима. Щелчок по этой ссылке приведет пользователя "
73
+ "к несуществующей странице."
74
+
75
+ #: includes/plugin.class.php:222
76
+ msgid ""
77
+ "Trying to get a link to an unregistered page. You are trying to call this "
78
+ "earlier than the plugin menu will be registered."
79
+ msgstr ""
80
+ "Попытка получить ссылку на незарегистрированную страницу. Вы пытаетесь "
81
+ "вызвать это раньше, чем будет зарегистрировано меню плагина."
82
+
83
+ #~ msgid "On"
84
+ #~ msgstr "Вкл"
85
+
86
+ #~ msgid "Off"
87
+ #~ msgstr "Выкл"
88
+
89
+ #~ msgid "(use default website font)"
90
+ #~ msgstr "(шрифт сайта по умолчанию)"
91
+
92
+ #~ msgid "Sans Serif:"
93
+ #~ msgstr "Группа Sans Serif:"
94
+
95
+ #~ msgid "Serif:"
96
+ #~ msgstr "Группа Serif:"
97
+
98
+ #~ msgid "Monospaced:"
99
+ #~ msgstr "Группа Monospaced:"
100
+
101
+ #~ msgid "vertical"
102
+ #~ msgstr "вертикальный"
103
+
104
+ #~ msgid "horizontal"
105
+ #~ msgstr "горизонтальный"
106
+
107
+ #~ msgid "hide extra options"
108
+ #~ msgstr "скрыть дополнительные настроки"
109
+
110
+ #~ msgid "Select a side and move the slider to set up:"
111
+ #~ msgstr "Выберите сторону и переместите ползунок:"
112
+
113
+ #~ msgid "Change color"
114
+ #~ msgstr "Выбрать цвет"
115
+
116
+ #~ msgid "re-color"
117
+ #~ msgstr "Перекрасить"
118
+
119
+ #~ msgid "Select color:"
120
+ #~ msgstr "Выберите цвет:"
121
+
122
+ #~ msgid "Changing the color may takes a minute or more. Please be patient."
123
+ #~ msgstr ""
124
+ #~ "В некоторых случаях изменение цвета может занять около минуты. "
125
+ #~ "Пожалуйста, будьте терпеливы."
126
+
127
+ #~ msgid "Upload Pattern"
128
+ #~ msgstr "Добавить шаблон"
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_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,53 +198,53 @@ if( !function_exists('wbcr_factory_forms_426_register_default_controls') ) {
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,23 +252,23 @@ if( !function_exists('wbcr_factory_forms_426_register_default_controls') ) {
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
  }
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_427_LOADED') ) {
26
  return;
27
  }
28
 
29
+ define('FACTORY_FORMS_427_LOADED', true);
30
 
31
+ define('FACTORY_FORMS_427_VERSION', '4.2.7');
32
 
33
  // absolute path and URL to the files and resources of the module.
34
+ define('FACTORY_FORMS_427_DIR', dirname(__FILE__));
35
+ define('FACTORY_FORMS_427_URL', plugins_url(null, __FILE__));
36
 
37
  #comp merge
38
+ require_once(FACTORY_FORMS_427_DIR . '/includes/providers/value-provider.interface.php');
39
+ require_once(FACTORY_FORMS_427_DIR . '/includes/providers/meta-value-provider.class.php');
40
+ require_once(FACTORY_FORMS_427_DIR . '/includes/providers/options-value-provider.class.php');
41
 
42
+ require_once(FACTORY_FORMS_427_DIR . '/includes/form.class.php');
43
  #endcomp
44
 
45
+ load_plugin_textdomain('wbcr_factory_forms_427', 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_427_register_controls' hook
53
  *
54
  */
55
+ if( !function_exists('wbcr_factory_forms_427_register_default_controls') ) {
56
 
57
  /**
58
+ * @param Wbcr_Factory429_Plugin $plugin
59
  *
60
  * @throws Exception
61
  */
62
+ function wbcr_factory_forms_427_register_default_controls(Wbcr_Factory429_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_427_DIR . '/includes/html-builder.class.php');
70
+ require_once(FACTORY_FORMS_427_DIR . '/includes/form-element.class.php');
71
+ require_once(FACTORY_FORMS_427_DIR . '/includes/control.class.php');
72
+ require_once(FACTORY_FORMS_427_DIR . '/includes/complex-control.class.php');
73
+ require_once(FACTORY_FORMS_427_DIR . '/includes/holder.class.php');
74
+ require_once(FACTORY_FORMS_427_DIR . '/includes/control-holder.class.php');
75
+ require_once(FACTORY_FORMS_427_DIR . '/includes/custom-element.class.php');
76
+ require_once(FACTORY_FORMS_427_DIR . '/includes/form-layout.class.php');
77
 
78
  // registration of controls
79
  $plugin->forms->registerControls([
80
  [
81
  'type' => 'checkbox',
82
+ 'class' => 'Wbcr_FactoryForms427_CheckboxControl',
83
+ 'include' => FACTORY_FORMS_427_DIR . '/controls/checkbox.php'
84
  ],
85
  [
86
  'type' => 'list',
87
+ 'class' => 'Wbcr_FactoryForms427_ListControl',
88
+ 'include' => FACTORY_FORMS_427_DIR . '/controls/list.php'
89
  ],
90
  [
91
  'type' => 'dropdown',
92
+ 'class' => 'Wbcr_FactoryForms427_DropdownControl',
93
+ 'include' => FACTORY_FORMS_427_DIR . '/controls/dropdown.php'
94
  ],
95
  [
96
  'type' => 'dropdown-and-colors',
97
+ 'class' => 'Wbcr_FactoryForms427_DropdownAndColorsControl',
98
+ 'include' => FACTORY_FORMS_427_DIR . '/controls/dropdown-and-colors.php'
99
  ],
100
  [
101
  'type' => 'hidden',
102
+ 'class' => 'Wbcr_FactoryForms427_HiddenControl',
103
+ 'include' => FACTORY_FORMS_427_DIR . '/controls/hidden.php'
104
  ],
105
  [
106
  'type' => 'hidden',
107
+ 'class' => 'Wbcr_FactoryForms427_HiddenControl',
108
+ 'include' => FACTORY_FORMS_427_DIR . '/controls/hidden.php'
109
  ],
110
  [
111
  'type' => 'radio',
112
+ 'class' => 'Wbcr_FactoryForms427_RadioControl',
113
+ 'include' => FACTORY_FORMS_427_DIR . '/controls/radio.php'
114
  ],
115
  [
116
  'type' => 'radio-colors',
117
+ 'class' => 'Wbcr_FactoryForms427_RadioColorsControl',
118
+ 'include' => FACTORY_FORMS_427_DIR . '/controls/radio-colors.php'
119
  ],
120
  [
121
  'type' => 'textarea',
122
+ 'class' => 'Wbcr_FactoryForms427_TextareaControl',
123
+ 'include' => FACTORY_FORMS_427_DIR . '/controls/textarea.php'
124
  ],
125
  [
126
  'type' => 'textbox',
127
+ 'class' => 'Wbcr_FactoryForms427_TextboxControl',
128
+ 'include' => FACTORY_FORMS_427_DIR . '/controls/textbox.php'
129
  ],
130
  [
131
  'type' => 'multiple-textbox',
132
+ 'class' => 'Wbcr_FactoryForms427_MultipleTextboxControl',
133
+ 'include' => FACTORY_FORMS_427_DIR . '/controls/multiple-textbox.php'
134
  ],
135
  [
136
  'type' => 'datetimepicker-range',
137
+ 'class' => 'Wbcr_FactoryForms427_DatepickerRangeControl',
138
+ 'include' => FACTORY_FORMS_427_DIR . '/controls/datepicker-range.php'
139
  ],
140
  [
141
  'type' => 'url',
142
+ 'class' => 'Wbcr_FactoryForms427_UrlControl',
143
+ 'include' => FACTORY_FORMS_427_DIR . '/controls/url.php'
144
  ],
145
  [
146
  'type' => 'wp-editor',
147
+ 'class' => 'Wbcr_FactoryForms427_WpEditorControl',
148
+ 'include' => FACTORY_FORMS_427_DIR . '/controls/wp-editor.php'
149
  ],
150
  [
151
  'type' => 'color',
152
+ 'class' => 'Wbcr_FactoryForms427_ColorControl',
153
+ 'include' => FACTORY_FORMS_427_DIR . '/controls/color.php'
154
  ],
155
  [
156
  'type' => 'color-and-opacity',
157
+ 'class' => 'Wbcr_FactoryForms427_ColorAndOpacityControl',
158
+ 'include' => FACTORY_FORMS_427_DIR . '/controls/color-and-opacity.php'
159
  ],
160
  [
161
  'type' => 'gradient',
162
+ 'class' => 'Wbcr_FactoryForms427_GradientControl',
163
+ 'include' => FACTORY_FORMS_427_DIR . '/controls/gradient.php'
164
  ],
165
  [
166
  'type' => 'font',
167
+ 'class' => 'Wbcr_FactoryForms427_FontControl',
168
+ 'include' => FACTORY_FORMS_427_DIR . '/controls/font.php'
169
  ],
170
  [
171
  'type' => 'google-font',
172
+ 'class' => 'Wbcr_FactoryForms427_GoogleFontControl',
173
+ 'include' => FACTORY_FORMS_427_DIR . '/controls/google-font.php'
174
  ],
175
  [
176
  'type' => 'pattern',
177
+ 'class' => 'Wbcr_FactoryForms427_PatternControl',
178
+ 'include' => FACTORY_FORMS_427_DIR . '/controls/pattern.php'
179
  ],
180
  [
181
  'type' => 'integer',
182
+ 'class' => 'Wbcr_FactoryForms427_IntegerControl',
183
+ 'include' => FACTORY_FORMS_427_DIR . '/controls/integer.php'
184
  ],
185
  [
186
  'type' => 'control-group',
187
+ 'class' => 'Wbcr_FactoryForms427_ControlGroupHolder',
188
+ 'include' => FACTORY_FORMS_427_DIR . '/controls/holders/control-group.php'
189
  ],
190
  [
191
  'type' => 'paddings-editor',
192
+ 'class' => 'Wbcr_FactoryForms427_PaddingsEditorControl',
193
+ 'include' => FACTORY_FORMS_427_DIR . '/controls/paddings-editor.php'
194
  ],
195
  ]);
196
 
198
  $plugin->forms->registerHolders([
199
  [
200
  'type' => 'tab',
201
+ 'class' => 'Wbcr_FactoryForms427_TabHolder',
202
+ 'include' => FACTORY_FORMS_427_DIR . '/controls/holders/tab.php'
203
  ],
204
  [
205
  'type' => 'tab-item',
206
+ 'class' => 'Wbcr_FactoryForms427_TabItemHolder',
207
+ 'include' => FACTORY_FORMS_427_DIR . '/controls/holders/tab-item.php'
208
  ],
209
  [
210
  'type' => 'accordion',
211
+ 'class' => 'Wbcr_FactoryForms427_AccordionHolder',
212
+ 'include' => FACTORY_FORMS_427_DIR . '/controls/holders/accordion.php'
213
  ],
214
  [
215
  'type' => 'accordion-item',
216
+ 'class' => 'Wbcr_FactoryForms427_AccordionItemHolder',
217
+ 'include' => FACTORY_FORMS_427_DIR . '/controls/holders/accordion-item.php'
218
  ],
219
  [
220
  'type' => 'control-group',
221
+ 'class' => 'Wbcr_FactoryForms427_ControlGroupHolder',
222
+ 'include' => FACTORY_FORMS_427_DIR . '/controls/holders/control-group.php'
223
  ],
224
  [
225
  'type' => 'control-group-item',
226
+ 'class' => 'Wbcr_FactoryForms427_ControlGroupItem',
227
+ 'include' => FACTORY_FORMS_427_DIR . '/controls/holders/control-group-item.php'
228
  ],
229
  [
230
  'type' => 'form-group',
231
+ 'class' => 'Wbcr_FactoryForms427_FormGroupHolder',
232
+ 'include' => FACTORY_FORMS_427_DIR . '/controls/holders/form-group.php'
233
  ],
234
  [
235
  'type' => 'more-link',
236
+ 'class' => 'Wbcr_FactoryForms427_MoreLinkHolder',
237
+ 'include' => FACTORY_FORMS_427_DIR . '/controls/holders/more-link.php'
238
  ],
239
  [
240
  'type' => 'div',
241
+ 'class' => 'Wbcr_FactoryForms427_DivHolder',
242
+ 'include' => FACTORY_FORMS_427_DIR . '/controls/holders/div.php'
243
  ],
244
  [
245
  'type' => 'columns',
246
+ 'class' => 'Wbcr_FactoryForms427_ColumnsHolder',
247
+ 'include' => FACTORY_FORMS_427_DIR . '/controls/holders/columns.php'
248
  ]
249
  ]);
250
 
252
  $plugin->forms->registerCustomElements([
253
  [
254
  'type' => 'html',
255
+ 'class' => 'Wbcr_FactoryForms427_Html',
256
+ 'include' => FACTORY_FORMS_427_DIR . '/controls/customs/html.php',
257
  ],
258
  [
259
  'type' => 'separator',
260
+ 'class' => 'Wbcr_FactoryForms427_Separator',
261
+ 'include' => FACTORY_FORMS_427_DIR . '/controls/customs/separator.php',
262
  ],
263
  ]);
264
 
265
  // registration of form layouts
266
  $plugin->forms->registerFormLayout([
267
  'name' => 'bootstrap-3',
268
+ 'class' => 'Wbcr_FactoryForms427_Bootstrap3FormLayout',
269
+ 'include' => FACTORY_FORMS_427_DIR . '/layouts/bootstrap-3/bootstrap-3.php'
270
  ]);
271
  }
272
 
273
+ add_action('wbcr_factory_forms_427_register_controls', 'wbcr_factory_forms_427_register_default_controls');
274
  }
libs/factory/forms/controls/checkbox.php CHANGED
@@ -20,9 +20,9 @@
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,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_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
  } ?>" />
20
  exit;
21
  }
22
 
23
+ if( !class_exists('Wbcr_FactoryForms427_CheckboxControl') ) {
24
 
25
+ class Wbcr_FactoryForms427_CheckboxControl extends Wbcr_FactoryForms427_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_427') ?></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_427') ?></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_FactoryForms426_ColorAndOpacityControl') ) {
24
  }
25
 
26
- class Wbcr_FactoryForms426_ColorAndOpacityControl extends Wbcr_FactoryForms426_ComplexControl {
27
 
28
  public $type = 'color-and-opacity';
29
 
@@ -57,8 +57,8 @@
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
  }
20
  exit;
21
  }
22
 
23
+ if( !class_exists('Wbcr_FactoryForms427_ColorAndOpacityControl') ) {
24
  }
25
 
26
+ class Wbcr_FactoryForms427_ColorAndOpacityControl extends Wbcr_FactoryForms427_ComplexControl {
27
 
28
  public $type = 'color-and-opacity';
29
 
57
  'way' => 'slider'
58
  ));
59
 
60
+ $this->color = new Wbcr_FactoryForms427_ColorControl($options['color'], $form, $provider);
61
+ $this->opacity = new Wbcr_FactoryForms427_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_FactoryForms426_ColorControl') ) {
24
 
25
- class Wbcr_FactoryForms426_ColorControl extends Wbcr_FactoryForms426_Control {
26
 
27
  public $type = 'color';
28
 
20
  exit;
21
  }
22
 
23
+ if( !class_exists('Wbcr_FactoryForms427_ColorControl') ) {
24
 
25
+ class Wbcr_FactoryForms427_ColorControl extends Wbcr_FactoryForms427_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_FactoryForms426_Html') ) {
18
 
19
- class Wbcr_FactoryForms426_Html extends Wbcr_FactoryForms426_CustomElement {
20
 
21
  public $type = 'html';
22
 
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms427_Html') ) {
18
 
19
+ class Wbcr_FactoryForms427_Html extends Wbcr_FactoryForms427_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_FactoryForms426_Separator') ) {
18
- class Wbcr_FactoryForms426_Separator extends Wbcr_FactoryForms426_CustomElement {
19
 
20
  public $type = 'separator';
21
 
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms427_Separator') ) {
18
+ class Wbcr_FactoryForms427_Separator extends Wbcr_FactoryForms427_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_FactoryForms426_DatepickerRangeControl') ) {
33
 
34
- class Wbcr_FactoryForms426_DatepickerRangeControl extends Wbcr_FactoryForms426_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_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) {
29
  exit;
30
  }
31
 
32
+ if( !class_exists('Wbcr_FactoryForms427_DatepickerRangeControl') ) {
33
 
34
+ class Wbcr_FactoryForms427_DatepickerRangeControl extends Wbcr_FactoryForms427_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_FactoryForms427_TextboxControl($options['range_1'], $form, $provider);
69
+ $this->range_2 = new Wbcr_FactoryForms427_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 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,9 +37,9 @@
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,8 +69,8 @@
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');
5
  *
6
  * Main options:
7
  * name => a name of the control
8
+ * // see FactoryForms427_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 FactoryForms427_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_FactoryForms427_DropdownAndColorsControl') ) {
41
 
42
+ class Wbcr_FactoryForms427_DropdownAndColorsControl extends Wbcr_FactoryForms427_ComplexControl {
43
 
44
  public $type = 'dropdown-and-colors';
45
 
69
  'name' => $this->options['name'] . '__colors',
70
  ));
71
 
72
+ $this->dropdown = new Wbcr_FactoryForms427_DropdownControl($options['dropdown'], $form, $provider);
73
+ $this->colors = new Wbcr_FactoryForms427_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_FactoryForms426_DropdownControl' ) ) {
25
 
26
- class Wbcr_FactoryForms426_DropdownControl extends Wbcr_FactoryForms426_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_426' ) ) ?>'
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_426' ) );
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_426' );
353
 
354
  $data = isset( $item['data'] ) ? $item['data'] : null;
355
  } else {
21
  exit;
22
  }
23
 
24
+ if ( ! class_exists( 'Wbcr_FactoryForms427_DropdownControl' ) ) {
25
 
26
+ class Wbcr_FactoryForms427_DropdownControl extends Wbcr_FactoryForms427_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_427' ) ) ?>'
127
  };
128
  </script>
129
  <?php
268
  }
269
 
270
  $is_empty = $this->isAjax() || empty( $items );
271
+ $empty_list = $this->getOption( 'empty', __( '- empty -', 'wbcr_factory_forms_427' ) );
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_427' );
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_FactoryForms426_FontControl') ) {
24
 
25
- class Wbcr_FactoryForms426_FontControl extends Wbcr_FactoryForms426_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_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,8 +66,8 @@
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,10 +77,10 @@
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,7 +131,7 @@
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,7 +187,7 @@
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'),
20
  exit;
21
  }
22
 
23
+ if( !class_exists('Wbcr_FactoryForms427_FontControl') ) {
24
 
25
+ class Wbcr_FactoryForms427_FontControl extends Wbcr_FactoryForms427_ComplexControl {
26
 
27
  public $type = 'font';
28
 
54
  'pickerTarget' => '.factory-control-' . $this->options['name'] . ' .factory-picker-target'
55
  );
56
 
57
+ $this->size = new Wbcr_FactoryForms427_IntegerControl($option_font_size, $form, $provider);
58
+ $this->family = new Wbcr_FactoryForms427_DropdownControl($option_font_family, $form, $provider);
59
+ $this->color = new Wbcr_FactoryForms427_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_427_fonts', $fonts);
70
+ $fonts = apply_filters('wbcr_factory_forms_427_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_427')),
81
  array(
82
  'group',
83
+ __('Sans Serif:', 'wbcr_factory_forms_427'),
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_427'),
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_427'),
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_FactoryForms426_GoogleFontControl extends Wbcr_FactoryForms426_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_FactoryForms426_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_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,7 +65,7 @@
65
  )
66
  );
67
 
68
- $fontsGoogleFonts = array('group', __('Google Fonts:', 'wbcr_factory_forms_426'), 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_426');
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_426');
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_426');
137
 
138
  return $body;
139
  }
15
  * @package core
16
  * @since 1.0.0
17
  */
18
+ class Wbcr_FactoryForms427_GoogleFontControl extends Wbcr_FactoryForms427_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_FactoryForms427_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_427'))
53
  );
54
 
55
  $fontsCommon = array(
56
  'group',
57
+ __('Standard:', 'wbcr_factory_forms_427'),
58
  array(
59
 
60
  array('Arial, "Helvetica Neue", Helvetica, sans-serif', 'Arial'),
65
  )
66
  );
67
 
68
+ $fontsGoogleFonts = array('group', __('Google Fonts:', 'wbcr_factory_forms_427'), 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_427');
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_427');
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_427');
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_FactoryForms426_GradientControl') ) {
29
- class Wbcr_FactoryForms426_GradientControl extends Wbcr_FactoryForms426_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_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">
25
  exit;
26
  }
27
 
28
+ if( !class_exists('Wbcr_FactoryForms427_GradientControl') ) {
29
+ class Wbcr_FactoryForms427_GradientControl extends Wbcr_FactoryForms427_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_427' ) ?>';
70
+ factory.res.resHorizontal = '<?php _e( 'horizontal', 'wbcr_factory_forms_427' ) ?>';
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_FactoryForms426_HiddenControl') ) {
24
 
25
- class Wbcr_FactoryForms426_HiddenControl extends Wbcr_FactoryForms426_Control {
26
 
27
  public $type = 'hidden';
28
 
20
  exit;
21
  }
22
 
23
+ if( !class_exists('Wbcr_FactoryForms427_HiddenControl') ) {
24
 
25
+ class Wbcr_FactoryForms427_HiddenControl extends Wbcr_FactoryForms427_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_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.
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms427_AccordionItemHolder') ) {
18
 
19
  /**
20
  * Tab Control Holder
21
  *
22
  * @since 1.0.0
23
  */
24
+ class Wbcr_FactoryForms427_AccordionItemHolder extends Wbcr_FactoryForms427_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_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.
13
  if( !defined('ABSPATH') ) {
14
  exit;
15
  }
16
+ if( !class_exists('Wbcr_FactoryForms427_AccordionHolder') ) {
17
  /**
18
  * Tab Control Holder
19
  *
20
  * @since 1.0.0
21
  */
22
+ class Wbcr_FactoryForms427_AccordionHolder extends Wbcr_FactoryForms427_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_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.
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms427_ColumnsHolder') ) {
18
  /**
19
  * Columns Holder
20
  *
21
  * @since 1.0.0
22
  */
23
+ class Wbcr_FactoryForms427_ColumnsHolder extends Wbcr_FactoryForms427_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_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.
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms427_ControlGroupItem') ) {
18
 
19
  /**
20
  * Tab Control Holder
21
  *
22
  * @since 1.0.0
23
  */
24
+ class Wbcr_FactoryForms427_ControlGroupItem extends Wbcr_FactoryForms427_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_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,7 +61,7 @@
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'));
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms427_ControlGroupHolder') ) {
18
 
19
  /**
20
  * Tab Control Holder
21
  *
22
  * @since 1.0.0
23
  */
24
+ class Wbcr_FactoryForms427_ControlGroupHolder extends Wbcr_FactoryForms427_ControlHolder {
25
 
26
  /**
27
  * A holder type.
61
  continue;
62
  }
63
 
64
+ $builder = new Wbcr_FactoryForms427_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_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.
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms427_DivHolder') ) {
18
  /**
19
  * Div Control Holder
20
  *
21
  * @since 1.0.0
22
  */
23
+ class Wbcr_FactoryForms427_DivHolder extends Wbcr_FactoryForms427_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_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.
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms427_FormGroupHolder') ) {
18
  /**
19
  * Group Holder
20
  *
21
  * @since 1.0.0
22
  */
23
+ class Wbcr_FactoryForms427_FormGroupHolder extends Wbcr_FactoryForms427_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_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.
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms427_MoreLinkHolder') ) {
18
 
19
  /**
20
  * Collapsed Group Holder
21
  *
22
  * @since 1.0.0
23
  */
24
+ class Wbcr_FactoryForms427_MoreLinkHolder extends Wbcr_FactoryForms427_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_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.
13
  exit;
14
  }
15
 
16
+ if( !class_exists('Wbcr_FactoryForms427_TabItemHolder') ) {
17
  /**
18
  * Tab Item Control Holder
19
  *
20
  * @since 1.0.0
21
  */
22
+ class Wbcr_FactoryForms427_TabItemHolder extends Wbcr_FactoryForms427_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_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,7 +44,7 @@
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,7 +88,7 @@
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());
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms427_TabHolder') ) {
18
 
19
  /**
20
  * Tab Control Holder
21
  *
22
  * @since 1.0.0
23
  */
24
+ class Wbcr_FactoryForms427_TabHolder extends Wbcr_FactoryForms427_Holder {
25
 
26
  /**
27
  * A holder type.
44
  *
45
  * @since 1.0.0
46
  * @param mixed[] $options A holder options.
47
+ * @param FactoryForms427_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_FactoryForms427_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_FactoryForms426_IntegerControl') ) {
36
 
37
- class Wbcr_FactoryForms426_IntegerControl extends Wbcr_FactoryForms426_Control {
38
 
39
  public $type = 'integer';
40
 
32
  exit;
33
  }
34
 
35
+ if( !class_exists('Wbcr_FactoryForms427_IntegerControl') ) {
36
 
37
+ class Wbcr_FactoryForms427_IntegerControl extends Wbcr_FactoryForms427_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_FactoryForms426_ListControl') ) {
25
 
26
- class Wbcr_FactoryForms426_ListControl extends Wbcr_FactoryForms426_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_426') ) ?>'
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_426'));
140
 
141
  if( $is_empty ) {
142
  $this->addCssClass('factory-empty');
21
  exit;
22
  }
23
 
24
+ if( !class_exists('Wbcr_FactoryForms427_ListControl') ) {
25
 
26
+ class Wbcr_FactoryForms427_ListControl extends Wbcr_FactoryForms427_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_427') ) ?>'
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_427'));
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_FactoryForms426_MultipleTextboxControl') ) {
19
 
20
- class Wbcr_FactoryForms426_MultipleTextboxControl extends Wbcr_FactoryForms426_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_426') ?>
90
  </button>
91
  </div>
92
 
15
  exit;
16
  }
17
 
18
+ if( !class_exists('Wbcr_FactoryForms427_MultipleTextboxControl') ) {
19
 
20
+ class Wbcr_FactoryForms427_MultipleTextboxControl extends Wbcr_FactoryForms427_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_427') ?>
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_FactoryForms426_PaddingsEditorControl') ) {
18
 
19
- class Wbcr_FactoryForms426_PaddingsEditorControl extends Wbcr_FactoryForms426_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_426') ?>
71
  </label>
72
 
73
  <div class="factory-slider">
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms427_PaddingsEditorControl') ) {
18
 
19
+ class Wbcr_FactoryForms427_PaddingsEditorControl extends Wbcr_FactoryForms427_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_427') ?>
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_FactoryForms426_PatternControl') ) {
19
 
20
- class Wbcr_FactoryForms426_PatternControl extends Wbcr_FactoryForms426_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_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,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_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"></
15
  exit;
16
  }
17
 
18
+ if( !class_exists('Wbcr_FactoryForms427_PatternControl') ) {
19
 
20
+ class Wbcr_FactoryForms427_PatternControl extends Wbcr_FactoryForms427_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_427_patterns', array());
56
+ $this->patterns = apply_filters('wbcr_factory_forms_427_patterns-' . $name, $this->patterns);
57
 
58
  $this->custom_patterns = $this->getOption('patterns', array());
59
 
60
+ $this->color = new Wbcr_FactoryForms427_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_427') ?>">
106
  <i class="fa fa-flask"></i>
107
+ <span><?php _e('re-color', 'wbcr_factory_forms_427') ?></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_427') ?></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_427') ?></i>
118
  </div>
119
  </div>
120
  <div class="factory-picker-target"></