Advanced AJAX Product Filters - Version 1.4.2

Version Description

  • Enhancement - Compatibility version: Wordpress 5.4 and WooCommerce 4.0
  • Enhancement - Compatibility with Math Rank SEO
  • Fix - PHP Notice on some sites
Download this release

Release Info

Developer RazyRx
Plugin Icon wp plugin Advanced AJAX Product Filters
Version 1.4.2
Comparing to
See all releases

Code changes from version 1.4.1.9 to 1.4.2

addons/additional_tables/add_table.php CHANGED
@@ -1,331 +1,331 @@
1
- <?php
2
- class BeRocket_aapf_variations_tables {
3
- function __construct() {
4
- add_filter('berocket_aapf_wcvariation_filtering_total_query', array($this, 'wcvariation_filtering_total_query'), 10, 4);
5
- add_filter('berocket_aapf_wcvariation_filtering_main_query', array($this, 'wcvariation_filtering_main_query'), 10, 4);
6
- add_action( 'woocommerce_variation_set_stock_status', array($this, 'set_stock_status'), 10, 3 );
7
- add_action( 'woocommerce_product_set_stock_status', array($this, 'set_stock_status'), 10, 3 );
8
- add_action( 'delete_post', array($this, 'delete_post'), 10, 1 );
9
- add_action( 'woocommerce_after_product_object_save', array($this, 'variation_object_save'), 10, 1 );
10
- //hierarhical recount custom table
11
- add_action('berocket_aapf_recount_terms_initialized', array($this, 'recount_terms_initialized'), 10, 1);
12
- }
13
- function wcvariation_filtering_main_query($query, $input, $terms, $limits) {
14
- $current_terms = array(0);
15
- if( is_array($terms) && count($terms) ) {
16
- foreach($terms as $term) {
17
- if( substr( $term[0], 0, 3 ) == 'pa_' ) {
18
- $current_terms[] = $term[1];
19
- }
20
- }
21
- }
22
- if( is_array($limits) && count($limits) ) {
23
- foreach($limits as $attr => $term_ids) {
24
- if( substr( $attr, 0, 3 ) == 'pa_' ) {
25
- $current_attributes[] = sanitize_title('attribute_' . $attr);
26
- foreach($term_ids as $term_id) {
27
- $term = get_term($term_id);
28
- if( ! empty($term) && ! is_wp_error($term) ) {
29
- $current_terms[] = $term->term_id;
30
- }
31
- }
32
- }
33
- }
34
- }
35
- global $wpdb;
36
- $table_name = $wpdb->prefix . 'braapf_product_variation_attributes';
37
- $query = array(
38
- 'select' => 'SELECT '.$table_name.'.post_id as var_id, '.$table_name.'.parent_id as ID, COUNT('.$table_name.'.post_id) as meta_count',
39
- 'from' => 'FROM '.$table_name,
40
- 'where' => 'WHERE '.$table_name.'.meta_value_id IN ('.implode(',', $current_terms).')',
41
- 'group' => 'GROUP BY '.$table_name.'.post_id'
42
- );
43
- return $query;
44
- }
45
- function wcvariation_filtering_total_query($query, $input, $terms, $limits) {
46
- $current_attributes = array();
47
- if( is_array($terms) && count($terms) ) {
48
- foreach($terms as $term) {
49
- if( substr( $term[0], 0, 3 ) == 'pa_' ) {
50
- $current_attributes[] = sanitize_title($term[0]);
51
- }
52
- }
53
- }
54
- if( is_array($limits) && count($limits) ) {
55
- foreach($limits as $attr => $term_ids) {
56
- if( substr( $attr, 0, 3 ) == 'pa_' ) {
57
- $current_attributes[] = sanitize_title($attr);
58
- }
59
- }
60
- }
61
- $current_attributes = array_unique($current_attributes);
62
- global $wpdb;
63
- $query_custom = array(
64
- 'select' => "SELECT {$wpdb->prefix}braapf_product_stock_status_parent.post_id as id, IF({$wpdb->prefix}braapf_product_stock_status_parent.stock_status = 1, 0, 1) as out_of_stock_init",
65
- 'from' => "FROM {$wpdb->prefix}braapf_product_stock_status_parent",
66
- );
67
- $query['subquery']['subquery_2'] = array(
68
- 'select' => 'SELECT post_id as ID, COUNT(post_id) as max_meta_count',
69
- 'from' => "FROM {$wpdb->prefix}braapf_variation_attributes",
70
- 'where' => "WHERE taxonomy IN ('".implode("','", $current_attributes)."')",
71
- 'group' => 'GROUP BY post_id',
72
- );
73
- $query['subquery']['join_close_1'] = ') as max_filtered_post ON max_filtered_post.ID = filtered_post.ID';
74
- $query['subquery']['select'] = 'SELECT filtered_post.*, max_filtered_post.max_meta_count, IF(max_filtered_post.max_meta_count != filtered_post.meta_count OR stock_table.out_of_stock_init = 1, 1, 0) as out_of_stock';
75
- /*if ( ! empty($_POST['price_ranges']) || ! empty($_POST['price']) ) {
76
- $query_custom['join'] = "JOIN {$wpdb->prefix}wc_product_meta_lookup as wc_product_meta_lookup ON wc_product_meta_lookup.product_id = {$wpdb->prefix}braapf_product_stock_status_parent.post_id";
77
- $query_custom['where_open'] = 'WHERE';
78
- if ( ! empty($_POST['price']) ) {
79
- $min = isset( $_POST['price'][0] ) ? floatval( $_POST['price'][0] ) : 0;
80
- $max = isset( $_POST['price'][1] ) ? floatval( $_POST['price'][1] ) : 9999999999;
81
- $query_custom['where_1'] = $wpdb->prepare(
82
- 'wc_product_meta_lookup.min_price < %f AND wc_product_meta_lookup.max_price > %f ',
83
- $min,
84
- $max
85
- );
86
- } else {
87
- $price_ranges = array();
88
- foreach ( $_POST['price_ranges'] as $range ) {
89
- $range = explode( '*', $range );
90
- $min = isset( $range[0] ) ? floatval( ($range[0] - 1) ) : 0;
91
- $max = isset( $range[1] ) ? floatval( $range[1] ) : 0;
92
- $price_ranges[] = $wpdb->prepare(
93
- 'wc_product_meta_lookup.min_price < %f AND wc_product_meta_lookup.max_price > %f ',
94
- $min,
95
- $max
96
- );
97
- }
98
- $query_custom['where_1'] = implode(' AND ', $price_ranges);
99
- }
100
- }*/
101
- $query_custom['group'] = 'GROUP BY id';
102
- $query['subquery']['subquery_3'] = $query_custom;
103
- return $query;
104
- }
105
- function delete_post($product_id) {
106
- global $wpdb;
107
- $sql = "DELETE FROM {$wpdb->prefix}braapf_product_stock_status_parent WHERE post_id={$product_id};";
108
- $wpdb->query($sql);
109
- $sql = "DELETE FROM {$wpdb->prefix}braapf_product_stock_status_parent WHERE parent_id={$product_id};";
110
- $wpdb->query($sql);
111
- $sql = "DELETE FROM {$wpdb->prefix}braapf_product_variation_attributes WHERE post_id={$product_id};";
112
- $wpdb->query($sql);
113
- $sql = "DELETE FROM {$wpdb->prefix}braapf_product_variation_attributes WHERE parent_id={$product_id};";
114
- $wpdb->query($sql);
115
- $sql = "DELETE FROM {$wpdb->prefix}braapf_variation_attributes WHERE post_id={$product_id};";
116
- $wpdb->query($sql);
117
- }
118
- function set_stock_status($product_id, $stock_status, $product) {
119
- global $wpdb;
120
- $parent = wp_get_post_parent_id($product_id);
121
- $stock_status_int = ($stock_status == 'instock' ? 1 : 0);
122
- $sql = "INSERT IGNORE INTO {$wpdb->prefix}braapf_product_stock_status_parent (post_id, parent_id, stock_status) VALUES({$product_id}, {$parent}, {$stock_status_int}) ON DUPLICATE KEY UPDATE stock_status={$stock_status_int}";
123
- $wpdb->query($sql);
124
-
125
- if ( $product->get_manage_stock() ) {
126
- $children = $product->get_children();
127
- if ( $children ) {
128
- $status = $product->get_stock_status();
129
- $format = array_fill( 0, count( $children ), '%d' );
130
- $query_in = '(' . implode( ',', $format ) . ')';
131
- $managed_children = array_unique( $wpdb->get_col( $wpdb->prepare( "SELECT post_id FROM $wpdb->postmeta WHERE meta_key = '_manage_stock' AND meta_value != 'yes' AND post_id IN {$query_in}", $children ) ) );
132
- foreach ( $managed_children as $managed_child ) {
133
- $sql = "INSERT IGNORE INTO {$wpdb->prefix}braapf_product_stock_status_parent (post_id, parent_id, stock_status) VALUES({$managed_child}, {$product_id}, {$stock_status_int}) ON DUPLICATE KEY UPDATE stock_status={$stock_status_int}";
134
- $wpdb->query($sql);
135
- }
136
- }
137
- }
138
- }
139
- function variation_object_save($product) {
140
- $product_id = $product->get_id();
141
- $product_type = $product->get_type();
142
- if ( defined( 'ICL_SITEPRESS_VERSION' ) && ! ICL_PLUGIN_INACTIVE && class_exists( 'SitePress' ) ) {
143
- $current_language = apply_filters( 'wpml_current_language', NULL );
144
- $language_code = apply_filters('wpml_element_language_code', NULL, array('element_id' => $product_id, 'element_type' => ( $product_type == 'variation' ? 'product_variation' : 'product' ) ));
145
- do_action( 'wpml_switch_language', $language_code );
146
- }
147
- if( $product_type == 'variation' ) {
148
- global $wpdb;
149
- $parent_id = $product->get_parent_id();
150
- $product_attributes = $product->get_variation_attributes();
151
- $parent_product = wc_get_product($parent_id);
152
- $sql = "DELETE FROM {$wpdb->prefix}braapf_product_variation_attributes WHERE post_id={$product_id};";
153
- $wpdb->query($sql);
154
- foreach($product_attributes as $taxonomy => $attributes) {
155
- $taxonomy = str_replace('attribute_', '', $taxonomy);
156
- if( empty($attributes) ) {
157
- $attributes = $parent_product->get_variation_attributes();
158
- if( isset($attributes[$taxonomy]) ) {
159
- $attributes = $attributes[$taxonomy];
160
- } else {
161
- $attributes = array();
162
- }
163
- } elseif( ! is_array($attributes) ) {
164
- $attributes = array($attributes);
165
- }
166
- foreach($attributes as $attribute) {
167
- $term = get_term_by('slug', $attribute, $taxonomy);
168
- if( $term !== false ) {
169
- $sql = "INSERT IGNORE INTO {$wpdb->prefix}braapf_product_variation_attributes (post_id, parent_id, meta_key, meta_value_id) VALUES({$product_id}, {$parent_id}, '{$taxonomy}', {$term->term_id})";
170
- $wpdb->query($sql);
171
- }
172
- }
173
- }
174
- } elseif( $product_type == 'variable' ) {
175
- foreach ( $product->get_children() as $child_id ) {
176
- $variation = wc_get_product( $child_id );
177
- if ( ! $variation || ! $variation->exists() || $variation->get_type() != 'variation' ) {
178
- continue;
179
- }
180
- $this->variation_object_save($variation);
181
- }
182
- global $wpdb;
183
- $sql = "DELETE FROM {$wpdb->prefix}braapf_variation_attributes WHERE post_id={$product_id};";
184
- $wpdb->query($sql);
185
- $sql = "INSERT IGNORE INTO {$wpdb->prefix}braapf_variation_attributes
186
- SELECT parent_id as post_id, meta_key as taxonomy
187
- FROM {$wpdb->prefix}braapf_product_variation_attributes
188
- WHERE parent_id={$product_id}
189
- GROUP BY meta_key, parent_id";
190
- $wpdb->query($sql);
191
- }
192
- if ( defined( 'ICL_SITEPRESS_VERSION' ) && ! ICL_PLUGIN_INACTIVE && class_exists( 'SitePress' ) ) {
193
- do_action( 'wpml_switch_language', $current_language );
194
- }
195
- }
196
- function recount_terms_initialized($recount_object) {
197
- remove_filter('berocket_aapf_recount_terms_query', array($recount_object, 'child_include'), 50, 3);
198
- add_filter('berocket_aapf_recount_terms_query', array($this, 'child_include'), 50, 3);
199
- }
200
- function child_include($query, $taxonomy_data, $terms) {
201
- global $wpdb;
202
- extract($taxonomy_data);
203
- if( $include_child ) {
204
- $taxonomy_object = get_taxonomy($taxonomy);
205
- if( ! empty($taxonomy_object->hierarchical) ) {
206
- $this->set_hierarhical_data_to_table($taxonomy);
207
- $table_name = $wpdb->prefix . 'braapf_term_taxonomy_hierarchical';
208
- $join_query = "INNER JOIN (SELECT object_id,term_taxonomy.term_taxonomy_id as term_taxonomy_id, term_order FROM {$wpdb->term_relationships}
209
- JOIN $table_name as term_taxonomy
210
- ON {$wpdb->term_relationships}.term_taxonomy_id = term_taxonomy.term_taxonomy_child_id ) as term_relationships ON {$wpdb->posts}.ID = term_relationships.object_id";
211
- $query['join']['term_relationships'] = $join_query;
212
- }
213
- }
214
- return $query;
215
- }
216
- function set_hierarhical_data_to_table($taxonomy) {
217
- global $wpdb;
218
- $newmd5 = $wpdb->get_var(
219
- $wpdb->prepare(
220
- "SELECT MD5(GROUP_CONCAT(CONCAT(tt.term_taxonomy_id, tt.term_id, tt.parent, tt.count))) FROM $wpdb->term_taxonomy AS tt
221
- WHERE tt.taxonomy IN (%s)",
222
- $taxonomy
223
- )
224
- );
225
- $newmd5 = apply_filters('BRaapf_cache_check_md5', $newmd5, 'br_generate_child_relation', $taxonomy);
226
- $md5 = get_option(apply_filters('br_aapf_md5_cache_text', 'br_custom_table_hierarhical_'.$taxonomy));
227
- if($md5 != $newmd5) {
228
- $categories_ids = $this->get_terms_all(array('taxonomy' => $taxonomy, 'hide_empty' => false, 'suppress_filter' => true));
229
- if( empty($categories_ids) || is_wp_error($categories_ids) ) {
230
- return;
231
- }
232
- $hierarchy = $this->taxonomy_hierarchical_get($taxonomy);
233
- $new_categories = array();
234
- foreach($categories_ids as $categories_id) {
235
- $new_categories[$categories_id->term_id] = $categories_id;
236
- }
237
- unset($categories_ids);
238
- $table_name = $wpdb->prefix . 'braapf_term_taxonomy_hierarchical';
239
- $wpdb->query("DELETE FROM $table_name WHERE taxonomy = '$taxonomy';");
240
- $join_query = "INSERT IGNORE INTO $table_name VALUES ";
241
- $join_list = array();
242
- $drop_query = array();
243
- $count = 0;
244
- foreach($hierarchy as $term_id => $term_childs) {
245
- foreach($term_childs as $term_child) {
246
- if( ! empty($new_categories[$term_id]) && ! empty($new_categories[$term_child]) ) {
247
- $drop_query[] = sprintf("(%d,%d,%d,%d,'%s')",
248
- $new_categories[$term_child]->term_taxonomy_id,
249
- $new_categories[$term_child]->term_id,
250
- $new_categories[$term_id]->term_taxonomy_id,
251
- $new_categories[$term_id]->term_id,
252
- $new_categories[$term_id]->taxonomy);
253
- $count++;
254
- if( $count > 100 ) {
255
- $join_list[] = $drop_query;
256
- $drop_query = array();
257
- $count = 0;
258
- }
259
- }
260
- }
261
- }
262
- $join_list[] = $drop_query;
263
- unset($drop_query, $count);
264
- foreach($join_list as $drop_query) {
265
- if( empty($drop_query) ) continue;
266
- $drop_query = implode(',', $drop_query);
267
- $drop_query = $join_query . $drop_query;
268
- $wpdb->query($drop_query);
269
- }
270
- update_option(apply_filters('br_aapf_md5_cache_text', 'br_custom_table_hierarhical_'.$taxonomy), $newmd5);
271
- }
272
- }
273
- function taxonomy_hierarchical_get($taxonomy) {
274
- $terms = $this->get_terms_all(array(
275
- 'hide_empty' => false,
276
- 'taxonomy' => $taxonomy,
277
- 'suppress_filter' => true
278
- ));
279
- $term_id_terms = array();
280
- foreach($terms as $term) {
281
- $term_id_terms[$term->term_id] = $term;
282
- }
283
- unset($terms);
284
- foreach($term_id_terms as $term_id => $term) {
285
- $term_id_terms = $this->find_all_parent($term_id_terms, $term_id);
286
- }
287
- foreach($term_id_terms as $term_id => $term) {
288
- $term_id_terms[$term_id] = $term->all_parents;
289
- }
290
- return $term_id_terms;
291
- }
292
- function find_all_parent($terms, $i) {
293
- if( ! empty($terms[$i]->all_parents) ) {
294
- return $terms;
295
- }
296
- $ids = array();
297
- $ids[] = $terms[$i]->term_id;
298
- if( $terms[$i]->parent != 0 && isset($terms[$terms[$i]->parent]) ) {
299
- if( empty($terms[$terms[$i]->parent]->all_parents) ) {
300
- $terms = $this->find_all_parent($terms, $terms[$i]->parent);
301
- }
302
- $ids = array_merge($ids, $terms[$terms[$i]->parent]->all_parents);
303
- }
304
- $terms[$i]->all_parents = $ids;
305
- return $terms;
306
- }
307
- function get_terms_all($args) {
308
- //WPML Compatibility Part
309
- $languages = apply_filters('wpml_active_languages', array());
310
- $wpml_active_languages = apply_filters('wpml_current_language', NULL);
311
- if( is_array($languages) && count($languages) && $wpml_active_languages != NULL ) {
312
- $terms = array();
313
- foreach($languages as $language_code => $language) {
314
- do_action( 'wpml_switch_language', $language_code );
315
- $single_lang_terms = get_terms($args);
316
- if( is_array($single_lang_terms) ) {
317
- $terms = array_merge($terms, $single_lang_terms);
318
- }
319
- }
320
- do_action( 'wpml_switch_language', $wpml_active_languages );
321
- } elseif( function_exists('pll_current_language') ) {
322
- //Polylang Compatibility Part
323
- $args['lang'] = '';
324
- $terms = get_terms($args);
325
- } else {
326
- $terms = get_terms($args);
327
- }
328
- return $terms;
329
- }
330
- }
331
- new BeRocket_aapf_variations_tables();
1
+ <?php
2
+ class BeRocket_aapf_variations_tables {
3
+ function __construct() {
4
+ add_filter('berocket_aapf_wcvariation_filtering_total_query', array($this, 'wcvariation_filtering_total_query'), 10, 4);
5
+ add_filter('berocket_aapf_wcvariation_filtering_main_query', array($this, 'wcvariation_filtering_main_query'), 10, 4);
6
+ add_action( 'woocommerce_variation_set_stock_status', array($this, 'set_stock_status'), 10, 3 );
7
+ add_action( 'woocommerce_product_set_stock_status', array($this, 'set_stock_status'), 10, 3 );
8
+ add_action( 'delete_post', array($this, 'delete_post'), 10, 1 );
9
+ add_action( 'woocommerce_after_product_object_save', array($this, 'variation_object_save'), 10, 1 );
10
+ //hierarhical recount custom table
11
+ add_action('berocket_aapf_recount_terms_initialized', array($this, 'recount_terms_initialized'), 10, 1);
12
+ }
13
+ function wcvariation_filtering_main_query($query, $input, $terms, $limits) {
14
+ $current_terms = array(0);
15
+ if( is_array($terms) && count($terms) ) {
16
+ foreach($terms as $term) {
17
+ if( substr( $term[0], 0, 3 ) == 'pa_' ) {
18
+ $current_terms[] = $term[1];
19
+ }
20
+ }
21
+ }
22
+ if( is_array($limits) && count($limits) ) {
23
+ foreach($limits as $attr => $term_ids) {
24
+ if( substr( $attr, 0, 3 ) == 'pa_' ) {
25
+ $current_attributes[] = sanitize_title('attribute_' . $attr);
26
+ foreach($term_ids as $term_id) {
27
+ $term = get_term($term_id);
28
+ if( ! empty($term) && ! is_wp_error($term) ) {
29
+ $current_terms[] = $term->term_id;
30
+ }
31
+ }
32
+ }
33
+ }
34
+ }
35
+ global $wpdb;
36
+ $table_name = $wpdb->prefix . 'braapf_product_variation_attributes';
37
+ $query = array(
38
+ 'select' => 'SELECT '.$table_name.'.post_id as var_id, '.$table_name.'.parent_id as ID, COUNT('.$table_name.'.post_id) as meta_count',
39
+ 'from' => 'FROM '.$table_name,
40
+ 'where' => 'WHERE '.$table_name.'.meta_value_id IN ('.implode(',', $current_terms).')',
41
+ 'group' => 'GROUP BY '.$table_name.'.post_id'
42
+ );
43
+ return $query;
44
+ }
45
+ function wcvariation_filtering_total_query($query, $input, $terms, $limits) {
46
+ $current_attributes = array();
47
+ if( is_array($terms) && count($terms) ) {
48
+ foreach($terms as $term) {
49
+ if( substr( $term[0], 0, 3 ) == 'pa_' ) {
50
+ $current_attributes[] = sanitize_title($term[0]);
51
+ }
52
+ }
53
+ }
54
+ if( is_array($limits) && count($limits) ) {
55
+ foreach($limits as $attr => $term_ids) {
56
+ if( substr( $attr, 0, 3 ) == 'pa_' ) {
57
+ $current_attributes[] = sanitize_title($attr);
58
+ }
59
+ }
60
+ }
61
+ $current_attributes = array_unique($current_attributes);
62
+ global $wpdb;
63
+ $query_custom = array(
64
+ 'select' => "SELECT {$wpdb->prefix}braapf_product_stock_status_parent.post_id as id, IF({$wpdb->prefix}braapf_product_stock_status_parent.stock_status = 1, 0, 1) as out_of_stock_init",
65
+ 'from' => "FROM {$wpdb->prefix}braapf_product_stock_status_parent",
66
+ );
67
+ $query['subquery']['subquery_2'] = array(
68
+ 'select' => 'SELECT post_id as ID, COUNT(post_id) as max_meta_count',
69
+ 'from' => "FROM {$wpdb->prefix}braapf_variation_attributes",
70
+ 'where' => "WHERE taxonomy IN ('".implode("','", $current_attributes)."')",
71
+ 'group' => 'GROUP BY post_id',
72
+ );
73
+ $query['subquery']['join_close_1'] = ') as max_filtered_post ON max_filtered_post.ID = filtered_post.ID';
74
+ $query['subquery']['select'] = 'SELECT filtered_post.*, max_filtered_post.max_meta_count, IF(max_filtered_post.max_meta_count != filtered_post.meta_count OR stock_table.out_of_stock_init = 1, 1, 0) as out_of_stock';
75
+ /*if ( ! empty($_POST['price_ranges']) || ! empty($_POST['price']) ) {
76
+ $query_custom['join'] = "JOIN {$wpdb->prefix}wc_product_meta_lookup as wc_product_meta_lookup ON wc_product_meta_lookup.product_id = {$wpdb->prefix}braapf_product_stock_status_parent.post_id";
77
+ $query_custom['where_open'] = 'WHERE';
78
+ if ( ! empty($_POST['price']) ) {
79
+ $min = isset( $_POST['price'][0] ) ? floatval( $_POST['price'][0] ) : 0;
80
+ $max = isset( $_POST['price'][1] ) ? floatval( $_POST['price'][1] ) : 9999999999;
81
+ $query_custom['where_1'] = $wpdb->prepare(
82
+ 'wc_product_meta_lookup.min_price < %f AND wc_product_meta_lookup.max_price > %f ',
83
+ $min,
84
+ $max
85
+ );
86
+ } else {
87
+ $price_ranges = array();
88
+ foreach ( $_POST['price_ranges'] as $range ) {
89
+ $range = explode( '*', $range );
90
+ $min = isset( $range[0] ) ? floatval( ($range[0] - 1) ) : 0;
91
+ $max = isset( $range[1] ) ? floatval( $range[1] ) : 0;
92
+ $price_ranges[] = $wpdb->prepare(
93
+ 'wc_product_meta_lookup.min_price < %f AND wc_product_meta_lookup.max_price > %f ',
94
+ $min,
95
+ $max
96
+ );
97
+ }
98
+ $query_custom['where_1'] = implode(' AND ', $price_ranges);
99
+ }
100
+ }*/
101
+ $query_custom['group'] = 'GROUP BY id';
102
+ $query['subquery']['subquery_3'] = $query_custom;
103
+ return $query;
104
+ }
105
+ function delete_post($product_id) {
106
+ global $wpdb;
107
+ $sql = "DELETE FROM {$wpdb->prefix}braapf_product_stock_status_parent WHERE post_id={$product_id};";
108
+ $wpdb->query($sql);
109
+ $sql = "DELETE FROM {$wpdb->prefix}braapf_product_stock_status_parent WHERE parent_id={$product_id};";
110
+ $wpdb->query($sql);
111
+ $sql = "DELETE FROM {$wpdb->prefix}braapf_product_variation_attributes WHERE post_id={$product_id};";
112
+ $wpdb->query($sql);
113
+ $sql = "DELETE FROM {$wpdb->prefix}braapf_product_variation_attributes WHERE parent_id={$product_id};";
114
+ $wpdb->query($sql);
115
+ $sql = "DELETE FROM {$wpdb->prefix}braapf_variation_attributes WHERE post_id={$product_id};";
116
+ $wpdb->query($sql);
117
+ }
118
+ function set_stock_status($product_id, $stock_status, $product) {
119
+ global $wpdb;
120
+ $parent = wp_get_post_parent_id($product_id);
121
+ $stock_status_int = ($stock_status == 'instock' ? 1 : 0);
122
+ $sql = "INSERT IGNORE INTO {$wpdb->prefix}braapf_product_stock_status_parent (post_id, parent_id, stock_status) VALUES({$product_id}, {$parent}, {$stock_status_int}) ON DUPLICATE KEY UPDATE stock_status={$stock_status_int}";
123
+ $wpdb->query($sql);
124
+
125
+ if ( $product->get_manage_stock() ) {
126
+ $children = $product->get_children();
127
+ if ( $children ) {
128
+ $status = $product->get_stock_status();
129
+ $format = array_fill( 0, count( $children ), '%d' );
130
+ $query_in = '(' . implode( ',', $format ) . ')';
131
+ $managed_children = array_unique( $wpdb->get_col( $wpdb->prepare( "SELECT post_id FROM $wpdb->postmeta WHERE meta_key = '_manage_stock' AND meta_value != 'yes' AND post_id IN {$query_in}", $children ) ) );
132
+ foreach ( $managed_children as $managed_child ) {
133
+ $sql = "INSERT IGNORE INTO {$wpdb->prefix}braapf_product_stock_status_parent (post_id, parent_id, stock_status) VALUES({$managed_child}, {$product_id}, {$stock_status_int}) ON DUPLICATE KEY UPDATE stock_status={$stock_status_int}";
134
+ $wpdb->query($sql);
135
+ }
136
+ }
137
+ }
138
+ }
139
+ function variation_object_save($product) {
140
+ $product_id = $product->get_id();
141
+ $product_type = $product->get_type();
142
+ if ( defined( 'ICL_SITEPRESS_VERSION' ) && ! ICL_PLUGIN_INACTIVE && class_exists( 'SitePress' ) ) {
143
+ $current_language = apply_filters( 'wpml_current_language', NULL );
144
+ $language_code = apply_filters('wpml_element_language_code', NULL, array('element_id' => $product_id, 'element_type' => ( $product_type == 'variation' ? 'product_variation' : 'product' ) ));
145
+ do_action( 'wpml_switch_language', $language_code );
146
+ }
147
+ if( $product_type == 'variation' ) {
148
+ global $wpdb;
149
+ $parent_id = $product->get_parent_id();
150
+ $product_attributes = $product->get_variation_attributes();
151
+ $parent_product = wc_get_product($parent_id);
152
+ $sql = "DELETE FROM {$wpdb->prefix}braapf_product_variation_attributes WHERE post_id={$product_id};";
153
+ $wpdb->query($sql);
154
+ foreach($product_attributes as $taxonomy => $attributes) {
155
+ $taxonomy = str_replace('attribute_', '', $taxonomy);
156
+ if( empty($attributes) ) {
157
+ $attributes = $parent_product->get_variation_attributes();
158
+ if( isset($attributes[$taxonomy]) ) {
159
+ $attributes = $attributes[$taxonomy];
160
+ } else {
161
+ $attributes = array();
162
+ }
163
+ } elseif( ! is_array($attributes) ) {
164
+ $attributes = array($attributes);
165
+ }
166
+ foreach($attributes as $attribute) {
167
+ $term = get_term_by('slug', $attribute, $taxonomy);
168
+ if( $term !== false ) {
169
+ $sql = "INSERT IGNORE INTO {$wpdb->prefix}braapf_product_variation_attributes (post_id, parent_id, meta_key, meta_value_id) VALUES({$product_id}, {$parent_id}, '{$taxonomy}', {$term->term_id})";
170
+ $wpdb->query($sql);
171
+ }
172
+ }
173
+ }
174
+ } elseif( $product_type == 'variable' ) {
175
+ foreach ( $product->get_children() as $child_id ) {
176
+ $variation = wc_get_product( $child_id );
177
+ if ( ! $variation || ! $variation->exists() || $variation->get_type() != 'variation' ) {
178
+ continue;
179
+ }
180
+ $this->variation_object_save($variation);
181
+ }
182
+ global $wpdb;
183
+ $sql = "DELETE FROM {$wpdb->prefix}braapf_variation_attributes WHERE post_id={$product_id};";
184
+ $wpdb->query($sql);
185
+ $sql = "INSERT IGNORE INTO {$wpdb->prefix}braapf_variation_attributes
186
+ SELECT parent_id as post_id, meta_key as taxonomy
187
+ FROM {$wpdb->prefix}braapf_product_variation_attributes
188
+ WHERE parent_id={$product_id}
189
+ GROUP BY meta_key, parent_id";
190
+ $wpdb->query($sql);
191
+ }
192
+ if ( defined( 'ICL_SITEPRESS_VERSION' ) && ! ICL_PLUGIN_INACTIVE && class_exists( 'SitePress' ) ) {
193
+ do_action( 'wpml_switch_language', $current_language );
194
+ }
195
+ }
196
+ function recount_terms_initialized($recount_object) {
197
+ remove_filter('berocket_aapf_recount_terms_query', array($recount_object, 'child_include'), 50, 3);
198
+ add_filter('berocket_aapf_recount_terms_query', array($this, 'child_include'), 50, 3);
199
+ }
200
+ function child_include($query, $taxonomy_data, $terms) {
201
+ global $wpdb;
202
+ extract($taxonomy_data);
203
+ if( $include_child ) {
204
+ $taxonomy_object = get_taxonomy($taxonomy);
205
+ if( ! empty($taxonomy_object->hierarchical) ) {
206
+ $this->set_hierarhical_data_to_table($taxonomy);
207
+ $table_name = $wpdb->prefix . 'braapf_term_taxonomy_hierarchical';
208
+ $join_query = "INNER JOIN (SELECT object_id,term_taxonomy.term_taxonomy_id as term_taxonomy_id, term_order FROM {$wpdb->term_relationships}
209
+ JOIN $table_name as term_taxonomy
210
+ ON {$wpdb->term_relationships}.term_taxonomy_id = term_taxonomy.term_taxonomy_child_id ) as term_relationships ON {$wpdb->posts}.ID = term_relationships.object_id";
211
+ $query['join']['term_relationships'] = $join_query;
212
+ }
213
+ }
214
+ return $query;
215
+ }
216
+ function set_hierarhical_data_to_table($taxonomy) {
217
+ global $wpdb;
218
+ $newmd5 = $wpdb->get_var(
219
+ $wpdb->prepare(
220
+ "SELECT MD5(GROUP_CONCAT(CONCAT(tt.term_taxonomy_id, tt.term_id, tt.parent, tt.count))) FROM $wpdb->term_taxonomy AS tt
221
+ WHERE tt.taxonomy IN (%s)",
222
+ $taxonomy
223
+ )
224
+ );
225
+ $newmd5 = apply_filters('BRaapf_cache_check_md5', $newmd5, 'br_generate_child_relation', $taxonomy);
226
+ $md5 = get_option(apply_filters('br_aapf_md5_cache_text', 'br_custom_table_hierarhical_'.$taxonomy));
227
+ if($md5 != $newmd5) {
228
+ $categories_ids = $this->get_terms_all(array('taxonomy' => $taxonomy, 'hide_empty' => false, 'suppress_filter' => true));
229
+ if( empty($categories_ids) || is_wp_error($categories_ids) ) {
230
+ return;
231
+ }
232
+ $hierarchy = $this->taxonomy_hierarchical_get($taxonomy);
233
+ $new_categories = array();
234
+ foreach($categories_ids as $categories_id) {
235
+ $new_categories[$categories_id->term_id] = $categories_id;
236
+ }
237
+ unset($categories_ids);
238
+ $table_name = $wpdb->prefix . 'braapf_term_taxonomy_hierarchical';
239
+ $wpdb->query("DELETE FROM $table_name WHERE taxonomy = '$taxonomy';");
240
+ $join_query = "INSERT IGNORE INTO $table_name VALUES ";
241
+ $join_list = array();
242
+ $drop_query = array();
243
+ $count = 0;
244
+ foreach($hierarchy as $term_id => $term_childs) {
245
+ foreach($term_childs as $term_child) {
246
+ if( ! empty($new_categories[$term_id]) && ! empty($new_categories[$term_child]) ) {
247
+ $drop_query[] = sprintf("(%d,%d,%d,%d,'%s')",
248
+ $new_categories[$term_child]->term_taxonomy_id,
249
+ $new_categories[$term_child]->term_id,
250
+ $new_categories[$term_id]->term_taxonomy_id,
251
+ $new_categories[$term_id]->term_id,
252
+ $new_categories[$term_id]->taxonomy);
253
+ $count++;
254
+ if( $count > 100 ) {
255
+ $join_list[] = $drop_query;
256
+ $drop_query = array();
257
+ $count = 0;
258
+ }
259
+ }
260
+ }
261
+ }
262
+ $join_list[] = $drop_query;
263
+ unset($drop_query, $count);
264
+ foreach($join_list as $drop_query) {
265
+ if( empty($drop_query) ) continue;
266
+ $drop_query = implode(',', $drop_query);
267
+ $drop_query = $join_query . $drop_query;
268
+ $wpdb->query($drop_query);
269
+ }
270
+ update_option(apply_filters('br_aapf_md5_cache_text', 'br_custom_table_hierarhical_'.$taxonomy), $newmd5);
271
+ }
272
+ }
273
+ function taxonomy_hierarchical_get($taxonomy) {
274
+ $terms = $this->get_terms_all(array(
275
+ 'hide_empty' => false,
276
+ 'taxonomy' => $taxonomy,
277
+ 'suppress_filter' => true
278
+ ));
279
+ $term_id_terms = array();
280
+ foreach($terms as $term) {
281
+ $term_id_terms[$term->term_id] = $term;
282
+ }
283
+ unset($terms);
284
+ foreach($term_id_terms as $term_id => $term) {
285
+ $term_id_terms = $this->find_all_parent($term_id_terms, $term_id);
286
+ }
287
+ foreach($term_id_terms as $term_id => $term) {
288
+ $term_id_terms[$term_id] = $term->all_parents;
289
+ }
290
+ return $term_id_terms;
291
+ }
292
+ function find_all_parent($terms, $i) {
293
+ if( ! empty($terms[$i]->all_parents) ) {
294
+ return $terms;
295
+ }
296
+ $ids = array();
297
+ $ids[] = $terms[$i]->term_id;
298
+ if( $terms[$i]->parent != 0 && isset($terms[$terms[$i]->parent]) ) {
299
+ if( empty($terms[$terms[$i]->parent]->all_parents) ) {
300
+ $terms = $this->find_all_parent($terms, $terms[$i]->parent);
301
+ }
302
+ $ids = array_merge($ids, $terms[$terms[$i]->parent]->all_parents);
303
+ }
304
+ $terms[$i]->all_parents = $ids;
305
+ return $terms;
306
+ }
307
+ function get_terms_all($args) {
308
+ //WPML Compatibility Part
309
+ $languages = apply_filters('wpml_active_languages', array());
310
+ $wpml_active_languages = apply_filters('wpml_current_language', NULL);
311
+ if( is_array($languages) && count($languages) && $wpml_active_languages != NULL ) {
312
+ $terms = array();
313
+ foreach($languages as $language_code => $language) {
314
+ do_action( 'wpml_switch_language', $language_code );
315
+ $single_lang_terms = get_terms($args);
316
+ if( is_array($single_lang_terms) ) {
317
+ $terms = array_merge($terms, $single_lang_terms);
318
+ }
319
+ }
320
+ do_action( 'wpml_switch_language', $wpml_active_languages );
321
+ } elseif( function_exists('pll_current_language') ) {
322
+ //Polylang Compatibility Part
323
+ $args['lang'] = '';
324
+ $terms = get_terms($args);
325
+ } else {
326
+ $terms = get_terms($args);
327
+ }
328
+ return $terms;
329
+ }
330
+ }
331
+ new BeRocket_aapf_variations_tables();
addons/additional_tables/additional_tables.php CHANGED
@@ -1,549 +1,549 @@
1
- <?php
2
- class BeRocket_aapf_variations_tables_addon extends BeRocket_framework_addon_lib {
3
- public $addon_file = __FILE__;
4
- public $plugin_name = 'ajax_filters';
5
- public $php_file_name = 'add_table';
6
- public $last_postion = 9;
7
- public $position_data = array(
8
- 1 => array(
9
- 'percentage' => 1
10
- ),
11
- 2 => array(
12
- 'percentage' => 1
13
- ),
14
- 3 => array(
15
- 'percentage' => 13
16
- ),
17
- 4 => array(
18
- 'percentage' => 1
19
- ),
20
- 5 => array(
21
- 'percentage' => 80
22
- ),
23
- 6 => array(
24
- 'percentage' => 1
25
- ),
26
- 7 => array(
27
- 'percentage' => 2
28
- ),
29
- 8 => array(
30
- 'percentage' => 1
31
- ),
32
- 9 => array(
33
- 'percentage' => 0
34
- ),
35
- );
36
- function __construct() {
37
- parent::__construct();
38
- $active_addons = apply_filters('berocket_addons_active_'.$this->plugin_name, array());
39
- $create_position = $this->get_current_create_position();
40
- if( in_array($this->addon_file, $active_addons) ) {
41
- if( $create_position < $this->last_postion ) {
42
- $this->activate();
43
- $create_position = $this->get_current_create_position();
44
- if( $create_position < $this->last_postion ) {
45
- $this->activate_hooks();
46
- }
47
- }
48
- } else {
49
- delete_option('BeRocket_aapf_additional_tables_addon_position');
50
- delete_option('BeRocket_aapf_additional_tables_addon_position_data');
51
- if( ! empty($create_position) ) {
52
- $this->deactivate();
53
- }
54
- }
55
- }
56
- function get_addon_data() {
57
- $data = parent::get_addon_data();
58
- return array_merge($data, array(
59
- 'addon_name' => __('Additional Tables (BETA)', 'BeRocket_AJAX_domain'),
60
- 'tooltip' => __('Create 4 additional tables.<ul><li>Table to speed up hierarchical taxonomies recount: <strong>Product categories</strong>, <strong>Brands</strong> etc</li><li>3 tables to speed up functions for variation filtering</li></ul>', 'BeRocket_AJAX_domain'),
61
- ));
62
- }
63
- function check_init() {
64
- $create_position = get_option('BeRocket_aapf_additional_tables_addon_position');
65
- if( $create_position >= $this->last_postion ) {
66
- parent::check_init();
67
- }
68
- }
69
- function get_current_create_position() {
70
- return get_option('BeRocket_aapf_additional_tables_addon_position');
71
- }
72
- function set_current_create_position($position) {
73
- update_option('BeRocket_aapf_additional_tables_addon_position', $position);
74
- }
75
- function get_current_create_position_data() {
76
- return get_option('BeRocket_aapf_additional_tables_addon_position_data');
77
- }
78
- function set_current_create_position_data($data) {
79
- update_option('BeRocket_aapf_additional_tables_addon_position_data', $data);
80
- }
81
- function activate($current_position = -1, $brajax = false) {
82
- if( $current_position == -1 ) {
83
- $current_position = $this->get_current_create_position();
84
- }
85
- if( empty($current_position) ) {
86
- $this->create_table_braapf_term_taxonomy_hierarchical();
87
- } elseif( $current_position == 2 ) {
88
- $this->create_table_braapf_product_stock_status_parent();
89
- } elseif( $current_position == 3 && $brajax ) {
90
- $this->insert_table_braapf_product_stock_status_parent();
91
- } elseif( $current_position == 4 ) {
92
- $this->create_table_braapf_product_variation_attributes();
93
- } elseif( $current_position == 5 && $brajax ) {
94
- $this->insert_table_braapf_product_variation_attributes();
95
- } elseif( $current_position == 6 ) {
96
- $this->create_table_braapf_variation_attributes();
97
- } elseif( $current_position == 7 && $brajax ) {
98
- $this->insert_table_braapf_variation_attributes();
99
- } elseif( $current_position == 8 ) {
100
- wp_unschedule_hook('berocket_create_table_braapf_product_stock_status_parent');
101
- wp_unschedule_hook('berocket_create_table_braapf_product_variation_attributes');
102
- wp_unschedule_hook('berocket_create_table_braapf_variation_attributes');
103
- if( class_exists('berocket_information_notices') ) {
104
- new berocket_information_notices(array(
105
- 'name' => $this->plugin_name.'_additional_table_status_end',
106
- 'html' => '<strong>BeRocket AJAX Product Filters</strong> '.__('Additional tables was succesfully generated. They will be used automatically when needed.', 'BeRocket_AJAX_domain'),
107
- 'righthtml' => '<a class="berocket_no_thanks">Got it</a>',
108
- 'rightwidth' => 50,
109
- 'nothankswidth' => 50,
110
- 'contentwidth' => 400,
111
- 'subscribe' => false,
112
- 'height' => 50,
113
- ));
114
- }
115
- $this->set_current_create_position(9);
116
- }
117
- }
118
- function activate_hooks() {
119
- add_action('berocket_create_table_braapf_product_stock_status_parent', array($this, 'insert_table_braapf_product_stock_status_parent'), 10, 3);
120
- add_action('berocket_create_table_braapf_product_variation_attributes', array($this, 'insert_table_braapf_product_variation_attributes'), 10, 3);
121
- add_action('berocket_create_table_braapf_variation_attributes', array($this, 'insert_table_braapf_variation_attributes'), 10);
122
- //Notices
123
- add_filter('berocket_display_additional_notices', array($this, 'status_notice'));
124
- add_action( "wp_ajax_braapf_additional_table_status", array( $this, 'get_global_status_ajax' ) );
125
- add_action( "wp_footer", array( $this, 'script_update' ) );
126
- add_action( "admin_footer", array( $this, 'script_update' ) );
127
- }
128
- function status_notice($notices) {
129
- $current_status = $this->get_current_global_status();
130
- $notices[] = array(
131
- 'start' => 0,
132
- 'end' => 0,
133
- 'name' => $this->plugin_name.'_additional_table_status',
134
- 'html' => '<strong>BeRocket AJAX Product Filters</strong> '.sprintf(__('Additional tables are generating. They will be used after generation is completed. Current status is <strong><span class="braapf_additional_table_status">%d</span>%s</strong>', 'BeRocket_AJAX_domain'), $current_status, '%'),
135
- 'righthtml' => '',
136
- 'rightwidth' => 0,
137
- 'nothankswidth' => 0,
138
- 'contentwidth' => 1600,
139
- 'subscribe' => false,
140
- 'priority' => 10,
141
- 'height' => 70,
142
- 'repeat' => false,
143
- 'repeatcount' => 1,
144
- 'image' => array(
145
- 'local' => '',
146
- 'width' => 0,
147
- 'height' => 0,
148
- 'scale' => 1,
149
- )
150
- );
151
- return $notices;
152
- }
153
- function script_update() {
154
- echo '<script>
155
- if( jQuery(".braapf_additional_table_status").length ) {
156
- var braapf_additional_table_status = setInterval(function() {
157
- jQuery.get(ajaxurl, {action:"braapf_additional_table_status"}, function(data) {
158
- data = parseInt(data);
159
- jQuery(".braapf_additional_table_status").text(data);
160
- if( data >= 100 ) {
161
- clearInterval(braapf_additional_table_status);
162
- }
163
- }).error(function() {
164
- clearInterval(braapf_additional_table_status);
165
- jQuery(".braapf_additional_table_status").parents(".berocket_admin_notice").remove();
166
- });
167
- }, 4000);
168
- }
169
- </script>';
170
- }
171
- function get_global_status_ajax() {
172
- echo $this->get_current_global_status();
173
- if ( function_exists( 'fastcgi_finish_request' ) && version_compare( phpversion(), '7.0.16', '>=' ) ) {
174
- fastcgi_finish_request();
175
- }
176
- $run_data = $this->get_current_create_position_data();
177
- if( ! empty($run_data) && ! empty($run_data['run']) ) {
178
- if( ! empty($run_data['ajax_status_check']) ) {
179
- if( intval($run_data['ajax_status_check']) > time() ) {
180
- $run_data['run'] = false;
181
- unset($run_data['ajax_status_check']);
182
- }
183
- } else {
184
- $run_data['ajax_status_check'] = time() + 30;
185
- }
186
- $this->set_current_create_position_data($run_data);
187
- }
188
- $this->activate(-1, true);
189
- wp_die();
190
- }
191
- function get_current_global_status($current_position = -1) {
192
- if( $current_position == -1 ) {
193
- $current_position = $this->get_current_create_position();
194
- }
195
- $position_data = $this->get_current_create_position_data();
196
- $position_status = br_get_value_from_array($position_data, 'status', 0);
197
- $global_status = 0;
198
- foreach($this->position_data as $position_i => $position_data_arr) {
199
- if( $position_i < $current_position ) {
200
- $global_status += $position_data_arr['percentage'];
201
- } elseif( $position_i == $current_position ) {
202
- $global_status += ( $position_data_arr['percentage'] / 100 * $position_status );
203
- }
204
- }
205
- $global_status = intval($global_status);
206
- return $global_status;
207
- }
208
- function save_query_error($query, $error = false) {
209
- global $wpdb;
210
- if( $error === false ) {
211
- $error = $wpdb->last_error;
212
- }
213
- BeRocket_error_notices::add_plugin_error(1, 'Additional tables generation', array(
214
- 'query' => $query,
215
- 'error' => $error,
216
- 'cron' => (defined('DISABLE_WP_CRON') && DISABLE_WP_CRON ? 'DISABLED' : 'ENABLED')
217
- ));
218
- }
219
- function create_table_braapf_term_taxonomy_hierarchical() {
220
- $run_data = $this->get_current_create_position_data();
221
- if( ! empty($run_data) && ! empty($run_data['run']) ) {
222
- return false;
223
- }
224
- $this->set_current_create_position_data(array(
225
- 'status' => 0,
226
- 'run' => true,
227
- ));
228
- $this->set_current_create_position_data($run_data);
229
- global $wpdb;
230
- $charset_collate = $wpdb->get_charset_collate();
231
- require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
232
- $table_name = $wpdb->prefix . 'braapf_term_taxonomy_hierarchical';
233
- $sql = "DROP TABLE IF EXISTS {$table_name};";
234
- $wpdb->query($sql);
235
- $sql = "CREATE TABLE $table_name (
236
- term_taxonomy_id bigint(20) NOT NULL,
237
- term_id bigint(20) NOT NULL,
238
- term_taxonomy_child_id bigint(20) NOT NULL,
239
- term_child_id bigint(20) NOT NULL,
240
- taxonomy varchar(32) NOT NULL,
241
- INDEX term_taxonomy_id (term_taxonomy_id),
242
- INDEX term_taxonomy_child_id (term_taxonomy_child_id),
243
- INDEX child_parent_id (term_taxonomy_id, term_taxonomy_child_id),
244
- UNIQUE uniqueid (term_taxonomy_id, term_id, term_taxonomy_child_id, term_child_id)
245
- ) $charset_collate;";
246
- $query_status = dbDelta( $sql );
247
- $this->save_query_error($sql, $query_status);
248
- $this->set_current_create_position(2);
249
- $this->set_current_create_position_data(array(
250
- 'status' => 0,
251
- 'run' => false,
252
- ));
253
- }
254
- function create_table_braapf_product_stock_status_parent() {
255
- $run_data = $this->get_current_create_position_data();
256
- if( ! empty($run_data) && ! empty($run_data['run']) ) {
257
- return false;
258
- }
259
- $this->set_current_create_position_data(array(
260
- 'status' => 0,
261
- 'run' => true,
262
- ));
263
- global $wpdb;
264
- $charset_collate = $wpdb->get_charset_collate();
265
- require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
266
- $table_name = $wpdb->prefix . 'braapf_product_stock_status_parent';
267
- $sql = "DROP TABLE IF EXISTS {$table_name};";
268
- $wpdb->query($sql);
269
- $sql = "CREATE TABLE $table_name (
270
- post_id bigint(20) NOT NULL,
271
- parent_id bigint(20) NOT NULL,
272
- stock_status tinyint(2),
273
- PRIMARY KEY (post_id),
274
- INDEX stock_status (stock_status)
275
- ) $charset_collate;";
276
- $query_status = dbDelta( $sql );
277
- $this->save_query_error($sql, $query_status);
278
- $sql = "SELECT MIN({$wpdb->prefix}wc_product_meta_lookup.product_id) as min, MAX({$wpdb->prefix}wc_product_meta_lookup.product_id) as max FROM {$wpdb->prefix}wc_product_meta_lookup";
279
- $product_data = $wpdb->get_row($sql);
280
- $this->save_query_error($sql, $product_data);
281
- if( ! empty($product_data) && ! empty($product_data->min) && ! empty($product_data->max) ) {
282
- $this->set_current_create_position(3);
283
- $this->set_current_create_position_data(array(
284
- 'status' => 0,
285
- 'run' => false,
286
- 'start_id' => $product_data->min,
287
- 'min_id' => $product_data->min,
288
- 'max_id' => $product_data->max
289
- ));
290
- wp_schedule_single_event( time(), 'berocket_create_table_braapf_product_stock_status_parent' );
291
- } else {
292
- $this->set_current_create_position(4);
293
- $this->set_current_create_position_data(array(
294
- 'status' => 0,
295
- 'run' => false,
296
- ));
297
- }
298
- }
299
- function insert_table_braapf_product_stock_status_parent() {
300
- $run_data = $this->get_current_create_position_data();
301
- if( empty($run_data) || ! empty($run_data['run']) ) {
302
- return false;
303
- }
304
- $run_data['run'] = true;
305
- $this->set_current_create_position_data($run_data);
306
- $start_id = intval($run_data['start_id']);
307
- $min_id = intval($run_data['min_id']);
308
- $max_id = intval($run_data['max_id']);
309
- $end_id = $start_id + 5000;
310
- BeRocket_error_notices::add_plugin_error(1, 'insert_table_braapf_product_stock_status_parent', array(
311
- 'start_id' => $start_id,
312
- 'end_id' => $end_id,
313
- ));
314
- global $wpdb;
315
- $table_name = $wpdb->prefix . 'braapf_product_stock_status_parent';
316
- $charset_collate = $wpdb->get_charset_collate();
317
- require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
318
- $sql_select = "SELECT {$wpdb->posts}.ID as post_id, {$wpdb->posts}.post_parent as parent_id, IF({$wpdb->prefix}wc_product_meta_lookup.stock_status = 'instock', 1, 0) as stock_status FROM {$wpdb->prefix}wc_product_meta_lookup
319
- JOIN {$wpdb->posts} ON {$wpdb->prefix}wc_product_meta_lookup.product_id = {$wpdb->posts}.ID
320
- WHERE {$wpdb->prefix}wc_product_meta_lookup.product_id >= {$start_id} AND {$wpdb->prefix}wc_product_meta_lookup.product_id < {$end_id}";
321
- $test_row = $wpdb->get_row($sql_select);
322
- BeRocket_error_notices::add_plugin_error(1, 'insert_table_braapf_product_stock_status_parent test', array(
323
- 'start_id' => $start_id,
324
- 'end_id' => $end_id,
325
- 'min_id' => $min_id,
326
- 'max_id' => $max_id,
327
- 'result' => $test_row,
328
- ));
329
- if( ! empty($test_row) ) {
330
- $sql = "INSERT IGNORE INTO {$table_name} {$sql_select}";
331
- $query_status = $wpdb->query($sql);
332
- if( $query_status === FALSE ) {
333
- $this->save_query_error($sql);
334
- }
335
- }
336
- $status = max(0, min(100, (($end_id - $min_id) / (($max_id - $min_id) == 0 ? 1 : ($max_id - $min_id)) * 100)));
337
- if( $end_id <= $max_id ) {
338
- $this->set_current_create_position_data(array(
339
- 'status' => $status,
340
- 'run' => false,
341
- 'start_id' => $end_id,
342
- 'min_id' => $min_id,
343
- 'max_id' => $max_id
344
- ));
345
- wp_schedule_single_event( (time()+1), 'berocket_create_table_braapf_product_stock_status_parent' );
346
- } else {
347
- $this->set_current_create_position(4);
348
- $this->set_current_create_position_data(array(
349
- 'status' => 0,
350
- 'run' => false
351
- ));
352
- }
353
- }
354
- function create_table_braapf_product_variation_attributes() {
355
- $run_data = $this->get_current_create_position_data();
356
- if( ! empty($run_data) && ! empty($run_data['run']) ) {
357
- return false;
358
- }
359
- $this->set_current_create_position_data(array(
360
- 'status' => 0,
361
- 'run' => true,
362
- ));
363
- global $wpdb;
364
- $charset_collate = $wpdb->get_charset_collate();
365
- require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
366
- $table_name = $wpdb->prefix . 'braapf_product_variation_attributes';
367
- $sql = "DROP TABLE IF EXISTS {$table_name};";
368
- $wpdb->query($sql);
369
- $sql = "CREATE TABLE $table_name (
370
- post_id bigint(20) NOT NULL,
371
- parent_id bigint(20) NOT NULL,
372
- meta_key varchar(32) NOT NULL,
373
- meta_value_id bigint(20) NOT NULL,
374
- INDEX post_id (post_id),
375
- INDEX meta_key (meta_key),
376
- INDEX meta_value_id (meta_value_id),
377
- UNIQUE uniqueid (post_id, meta_key, meta_value_id)
378
- ) $charset_collate;";
379
- $query_status = dbDelta( $sql );
380
- $this->save_query_error($sql, $query_status);
381
- $sql = "SELECT MIN({$wpdb->postmeta}.meta_id) as min, MAX({$wpdb->postmeta}.meta_id) as max FROM {$wpdb->postmeta}";
382
- $postmeta_data = $wpdb->get_row($sql);
383
- if( ! empty($postmeta_data) && ! empty($postmeta_data->min) && ! empty($postmeta_data->max) ) {
384
- $this->set_current_create_position(5);
385
- $this->set_current_create_position_data(array(
386
- 'status' => 0,
387
- 'run' => false,
388
- 'start_id' => $postmeta_data->min,
389
- 'min_id' => $postmeta_data->min,
390
- 'max_id' => $postmeta_data->max
391
- ));
392
- wp_schedule_single_event( (time()+1), 'berocket_create_table_braapf_product_variation_attributes' );
393
- } else {
394
- $this->set_current_create_position(6);
395
- $this->set_current_create_position_data(array(
396
- 'status' => 0,
397
- 'run' => false,
398
- ));
399
- }
400
- }
401
- function insert_table_braapf_product_variation_attributes() {
402
- $run_data = $this->get_current_create_position_data();
403
- if( empty($run_data) || ! empty($run_data['run']) ) {
404
- return false;
405
- }
406
- $run_data['run'] = true;
407
- $this->set_current_create_position_data($run_data);
408
- $start_id = intval($run_data['start_id']);
409
- $min_id = intval($run_data['min_id']);
410
- $max_id = intval($run_data['max_id']);
411
- $end_id = $start_id + 10000;
412
- global $wpdb;
413
- $table_name = $wpdb->prefix . 'braapf_product_variation_attributes';
414
- $charset_collate = $wpdb->get_charset_collate();
415
- require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
416
- $sql_select = "SELECT {$wpdb->postmeta}.post_id as post_id, {$wpdb->posts}.post_parent as parent_id, {$wpdb->term_taxonomy}.taxonomy as meta_key, {$wpdb->terms}.term_id as meta_value_id FROM {$wpdb->postmeta}
417
- JOIN {$wpdb->term_taxonomy} ON CONCAT('attribute_', {$wpdb->term_taxonomy}.taxonomy) = {$wpdb->postmeta}.meta_key
418
- JOIN {$wpdb->terms} ON {$wpdb->terms}.term_id = {$wpdb->term_taxonomy}.term_id AND {$wpdb->postmeta}.meta_value = {$wpdb->terms}.slug
419
- JOIN {$wpdb->posts} ON {$wpdb->postmeta}.post_id = {$wpdb->posts}.ID
420
- WHERE {$wpdb->postmeta}.meta_id >= {$start_id} AND {$wpdb->postmeta}.meta_id < {$end_id}
421
- AND {$wpdb->postmeta}.meta_key LIKE 'attribute_pa_%'";
422
- $test_row = $wpdb->get_row($sql_select);
423
- if( ! empty($test_row) ) {
424
- $sql = "INSERT IGNORE INTO {$table_name} {$sql_select}";
425
- $query_status = $wpdb->query($sql);
426
- if( $query_status === FALSE ) {
427
- $this->save_query_error($sql);
428
- }
429
- }
430
- $sql_select = "SELECT {$wpdb->posts}.ID as post_id, {$wpdb->posts}.post_parent as parent_id, {$wpdb->term_taxonomy}.taxonomy as meta_key, {$wpdb->term_taxonomy}.term_id as meta_value_id
431
- FROM {$wpdb->postmeta}
432
- JOIN {$wpdb->posts} ON {$wpdb->postmeta}.post_id = {$wpdb->posts}.ID
433
- JOIN {$wpdb->term_relationships} ON {$wpdb->posts}.post_parent = {$wpdb->term_relationships}.object_id
434
- JOIN {$wpdb->term_taxonomy} ON {$wpdb->term_relationships}.term_taxonomy_id = {$wpdb->term_taxonomy}.term_taxonomy_id
435
- AND CONCAT('attribute_', {$wpdb->term_taxonomy}.taxonomy) = {$wpdb->postmeta}.meta_key
436
- WHERE {$wpdb->postmeta}.meta_id >= {$start_id} AND {$wpdb->postmeta}.meta_id < {$end_id}
437
- AND {$wpdb->postmeta}.meta_key LIKE 'attribute_pa_%' AND {$wpdb->postmeta}.meta_value = ''";
438
- $test_row = $wpdb->get_row($sql_select);
439
- if( ! empty($test_row) ) {
440
- $sql = "INSERT IGNORE INTO {$table_name} {$sql_select}";
441
- $query_status = $wpdb->query($sql);
442
- if( $query_status === FALSE ) {
443
- $this->save_query_error($sql);
444
- }
445
- }
446
- $status = max(0, min(100, (($end_id - $min_id) / (($max_id - $min_id) == 0 ? 1 : ($max_id - $min_id)) * 100)));
447
- if( $end_id <= $max_id ) {
448
- $this->set_current_create_position_data(array(
449
- 'status' => $status,
450
- 'run' => false,
451
- 'start_id' => $end_id,
452
- 'min_id' => $min_id,
453
- 'max_id' => $max_id
454
- ));
455
- wp_schedule_single_event( (time()+1), 'berocket_create_table_braapf_product_variation_attributes' );
456
- } else {
457
- $this->set_current_create_position(6);
458
- $this->set_current_create_position_data(array(
459
- 'status' => 0,
460
- 'run' => false
461
- ));
462
- }
463
- }
464
- function create_table_braapf_variation_attributes() {
465
- $run_data = $this->get_current_create_position_data();
466
- if( ! empty($run_data) && ! empty($run_data['run']) ) {
467
- return false;
468
- }
469
- $this->set_current_create_position_data(array(
470
- 'status' => 0,
471
- 'run' => true,
472
- ));
473
- global $wpdb;
474
- $charset_collate = $wpdb->get_charset_collate();
475
- require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
476
- $table_name = $wpdb->prefix . 'braapf_variation_attributes';
477
- $sql = "DROP TABLE IF EXISTS {$table_name};";
478
- $wpdb->query($sql);
479
- $sql = "CREATE TABLE $table_name (
480
- post_id bigint(20) NOT NULL,
481
- taxonomy varchar(32) NOT NULL,
482
- INDEX post_id (post_id),
483
- INDEX taxonomy (taxonomy),
484
- UNIQUE uniqueid (post_id, taxonomy)
485
- ) $charset_collate;";
486
- $query_status = dbDelta( $sql );
487
- $this->save_query_error($sql, $query_status);
488
- $this->set_current_create_position(7);
489
- $this->set_current_create_position_data(array(
490
- 'status' => 0,
491
- 'run' => false,
492
- ));
493
- wp_schedule_single_event( (time()+1), 'berocket_create_table_braapf_variation_attributes' );
494
- }
495
- function insert_table_braapf_variation_attributes() {
496
- $run_data = $this->get_current_create_position_data();
497
- if( ! empty($run_data) && ! empty($run_data['run']) ) {
498
- return false;
499
- }
500
- $this->set_current_create_position_data(array(
501
- 'status' => 0,
502
- 'run' => true,
503
- ));
504
- global $wpdb;
505
- $table_name = $wpdb->prefix . 'braapf_variation_attributes';
506
- $charset_collate = $wpdb->get_charset_collate();
507
- require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
508
- $sql_select = "SELECT parent_id as post_id, meta_key as taxonomy
509
- FROM {$wpdb->prefix}braapf_product_variation_attributes
510
- GROUP BY meta_key, parent_id";
511
- $test_row = $wpdb->get_row($sql_select);
512
- if( ! empty($test_row) ) {
513
- $sql = "INSERT IGNORE INTO {$table_name} {$sql_select}";
514
- $query_status = $wpdb->query($sql);
515
- if( $query_status === FALSE ) {
516
- $this->save_query_error($sql);
517
- }
518
- }
519
- $this->set_current_create_position(8);
520
- $this->set_current_create_position_data(array(
521
- 'status' => 100,
522
- 'run' => false,
523
- ));
524
- }
525
- function deactivate() {
526
- global $wpdb;
527
- wp_unschedule_hook('berocket_create_table_braapf_product_stock_status_parent');
528
- wp_unschedule_hook('berocket_create_table_braapf_product_variation_attributes');
529
- wp_unschedule_hook('berocket_create_table_braapf_variation_attributes');
530
- $tables_drop = array(
531
- 'braapf_product_stock_status_parent',
532
- 'braapf_product_variation_attributes',
533
- 'braapf_variation_attributes',
534
- 'braapf_term_taxonomy_hierarchical'
535
- );
536
- foreach($tables_drop as $table_drop) {
537
- $table_name = $wpdb->prefix . $table_drop;
538
- $sql = "DROP TABLE IF EXISTS {$table_name};";
539
- $wpdb->query($sql);
540
- }
541
- $wpdb->query("DELETE FROM {$wpdb->prefix}options WHERE option_name LIKE '%br_custom_table_hierarhical_%';");
542
- $this->set_current_create_position(false);
543
- $this->set_current_create_position_data(array(
544
- 'status' => 0,
545
- 'run' => false,
546
- ));
547
- }
548
- }
549
- new BeRocket_aapf_variations_tables_addon();
1
+ <?php
2
+ class BeRocket_aapf_variations_tables_addon extends BeRocket_framework_addon_lib {
3
+ public $addon_file = __FILE__;
4
+ public $plugin_name = 'ajax_filters';
5
+ public $php_file_name = 'add_table';
6
+ public $last_postion = 9;
7
+ public $position_data = array(
8
+ 1 => array(
9
+ 'percentage' => 1
10
+ ),
11
+ 2 => array(
12
+ 'percentage' => 1
13
+ ),
14
+ 3 => array(
15
+ 'percentage' => 13
16
+ ),
17
+ 4 => array(
18
+ 'percentage' => 1
19
+ ),
20
+ 5 => array(
21
+ 'percentage' => 80
22
+ ),
23
+ 6 => array(
24
+ 'percentage' => 1
25
+ ),
26
+ 7 => array(
27
+ 'percentage' => 2
28
+ ),
29
+ 8 => array(
30
+ 'percentage' => 1
31
+ ),
32
+ 9 => array(
33
+ 'percentage' => 0
34
+ ),
35
+ );
36
+ function __construct() {
37
+ parent::__construct();
38
+ $active_addons = apply_filters('berocket_addons_active_'.$this->plugin_name, array());
39
+ $create_position = $this->get_current_create_position();
40
+ if( in_array($this->addon_file, $active_addons) ) {
41
+ if( $create_position < $this->last_postion ) {
42
+ $this->activate();
43
+ $create_position = $this->get_current_create_position();
44
+ if( $create_position < $this->last_postion ) {
45
+ $this->activate_hooks();
46
+ }
47
+ }
48
+ } else {
49
+ delete_option('BeRocket_aapf_additional_tables_addon_position');
50
+ delete_option('BeRocket_aapf_additional_tables_addon_position_data');
51
+ if( ! empty($create_position) ) {
52
+ $this->deactivate();
53
+ }
54
+ }
55
+ }
56
+ function get_addon_data() {
57
+ $data = parent::get_addon_data();
58
+ return array_merge($data, array(
59
+ 'addon_name' => __('Additional Tables (BETA)', 'BeRocket_AJAX_domain'),
60
+ 'tooltip' => __('Create 4 additional tables.<ul><li>Table to speed up hierarchical taxonomies recount: <strong>Product categories</strong>, <strong>Brands</strong> etc</li><li>3 tables to speed up functions for variation filtering</li></ul>', 'BeRocket_AJAX_domain'),
61
+ ));
62
+ }
63
+ function check_init() {
64
+ $create_position = get_option('BeRocket_aapf_additional_tables_addon_position');
65
+ if( $create_position >= $this->last_postion ) {
66
+ parent::check_init();
67
+ }
68
+ }
69
+ function get_current_create_position() {
70
+ return get_option('BeRocket_aapf_additional_tables_addon_position');
71
+ }
72
+ function set_current_create_position($position) {
73
+ update_option('BeRocket_aapf_additional_tables_addon_position', $position);
74
+ }
75
+ function get_current_create_position_data() {
76
+ return get_option('BeRocket_aapf_additional_tables_addon_position_data');
77
+ }
78
+ function set_current_create_position_data($data) {
79
+ update_option('BeRocket_aapf_additional_tables_addon_position_data', $data);
80
+ }
81
+ function activate($current_position = -1, $brajax = false) {
82
+ if( $current_position == -1 ) {
83
+ $current_position = $this->get_current_create_position();
84
+ }
85
+ if( empty($current_position) ) {
86
+ $this->create_table_braapf_term_taxonomy_hierarchical();
87
+ } elseif( $current_position == 2 ) {
88
+ $this->create_table_braapf_product_stock_status_parent();
89
+ } elseif( $current_position == 3 && $brajax ) {
90
+ $this->insert_table_braapf_product_stock_status_parent();
91
+ } elseif( $current_position == 4 ) {
92
+ $this->create_table_braapf_product_variation_attributes();
93
+ } elseif( $current_position == 5 && $brajax ) {
94
+ $this->insert_table_braapf_product_variation_attributes();
95
+ } elseif( $current_position == 6 ) {
96
+ $this->create_table_braapf_variation_attributes();
97
+ } elseif( $current_position == 7 && $brajax ) {
98
+ $this->insert_table_braapf_variation_attributes();
99
+ } elseif( $current_position == 8 ) {
100
+ wp_unschedule_hook('berocket_create_table_braapf_product_stock_status_parent');
101
+ wp_unschedule_hook('berocket_create_table_braapf_product_variation_attributes');
102
+ wp_unschedule_hook('berocket_create_table_braapf_variation_attributes');
103
+ if( class_exists('berocket_information_notices') ) {
104
+ new berocket_information_notices(array(
105
+ 'name' => $this->plugin_name.'_additional_table_status_end',
106
+ 'html' => '<strong>BeRocket AJAX Product Filters</strong> '.__('Additional tables was succesfully generated. They will be used automatically when needed.', 'BeRocket_AJAX_domain'),
107
+ 'righthtml' => '<a class="berocket_no_thanks">Got it</a>',
108
+ 'rightwidth' => 50,
109
+ 'nothankswidth' => 50,
110
+ 'contentwidth' => 400,
111
+ 'subscribe' => false,
112
+ 'height' => 50,
113
+ ));
114
+ }
115
+ $this->set_current_create_position(9);
116
+ }
117
+ }
118
+ function activate_hooks() {
119
+ add_action('berocket_create_table_braapf_product_stock_status_parent', array($this, 'insert_table_braapf_product_stock_status_parent'), 10, 3);
120
+ add_action('berocket_create_table_braapf_product_variation_attributes', array($this, 'insert_table_braapf_product_variation_attributes'), 10, 3);
121
+ add_action('berocket_create_table_braapf_variation_attributes', array($this, 'insert_table_braapf_variation_attributes'), 10);
122
+ //Notices
123
+ add_filter('berocket_display_additional_notices', array($this, 'status_notice'));
124
+ add_action( "wp_ajax_braapf_additional_table_status", array( $this, 'get_global_status_ajax' ) );
125
+ add_action( "wp_footer", array( $this, 'script_update' ) );
126
+ add_action( "admin_footer", array( $this, 'script_update' ) );
127
+ }
128
+ function status_notice($notices) {
129
+ $current_status = $this->get_current_global_status();
130
+ $notices[] = array(
131
+ 'start' => 0,
132
+ 'end' => 0,
133
+ 'name' => $this->plugin_name.'_additional_table_status',
134
+ 'html' => '<strong>BeRocket AJAX Product Filters</strong> '.sprintf(__('Additional tables are generating. They will be used after generation is completed. Current status is <strong><span class="braapf_additional_table_status">%d</span>%s</strong>', 'BeRocket_AJAX_domain'), $current_status, '%'),
135
+ 'righthtml' => '',
136
+ 'rightwidth' => 0,
137
+ 'nothankswidth' => 0,
138
+ 'contentwidth' => 1600,
139
+ 'subscribe' => false,
140
+ 'priority' => 10,
141
+ 'height' => 70,
142
+ 'repeat' => false,
143
+ 'repeatcount' => 1,
144
+ 'image' => array(
145
+ 'local' => '',
146
+ 'width' => 0,
147
+ 'height' => 0,
148
+ 'scale' => 1,
149
+ )
150
+ );
151
+ return $notices;
152
+ }
153
+ function script_update() {
154
+ echo '<script>
155
+ if( jQuery(".braapf_additional_table_status").length ) {
156
+ var braapf_additional_table_status = setInterval(function() {
157
+ jQuery.get(ajaxurl, {action:"braapf_additional_table_status"}, function(data) {
158
+ data = parseInt(data);
159
+ jQuery(".braapf_additional_table_status").text(data);
160
+ if( data >= 100 ) {
161
+ clearInterval(braapf_additional_table_status);
162
+ }
163
+ }).error(function() {
164
+ clearInterval(braapf_additional_table_status);
165
+ jQuery(".braapf_additional_table_status").parents(".berocket_admin_notice").remove();
166
+ });
167
+ }, 4000);
168
+ }
169
+ </script>';
170
+ }
171
+ function get_global_status_ajax() {
172
+ echo $this->get_current_global_status();
173
+ if ( function_exists( 'fastcgi_finish_request' ) && version_compare( phpversion(), '7.0.16', '>=' ) ) {
174
+ fastcgi_finish_request();
175
+ }
176
+ $run_data = $this->get_current_create_position_data();
177
+ if( ! empty($run_data) && ! empty($run_data['run']) ) {
178
+ if( ! empty($run_data['ajax_status_check']) ) {
179
+ if( intval($run_data['ajax_status_check']) > time() ) {
180
+ $run_data['run'] = false;
181
+ unset($run_data['ajax_status_check']);
182
+ }
183
+ } else {
184
+ $run_data['ajax_status_check'] = time() + 30;
185
+ }
186
+ $this->set_current_create_position_data($run_data);
187
+ }
188
+ $this->activate(-1, true);
189
+ wp_die();
190
+ }
191
+ function get_current_global_status($current_position = -1) {
192
+ if( $current_position == -1 ) {
193
+ $current_position = $this->get_current_create_position();
194
+ }
195
+ $position_data = $this->get_current_create_position_data();
196
+ $position_status = br_get_value_from_array($position_data, 'status', 0);
197
+ $global_status = 0;
198
+ foreach($this->position_data as $position_i => $position_data_arr) {
199
+ if( $position_i < $current_position ) {
200
+ $global_status += $position_data_arr['percentage'];
201
+ } elseif( $position_i == $current_position ) {
202
+ $global_status += ( $position_data_arr['percentage'] / 100 * $position_status );
203
+ }
204
+ }
205
+ $global_status = intval($global_status);
206
+ return $global_status;
207
+ }
208
+ function save_query_error($query, $error = false) {
209
+ global $wpdb;
210
+ if( $error === false ) {
211
+ $error = $wpdb->last_error;
212
+ }
213
+ BeRocket_error_notices::add_plugin_error(1, 'Additional tables generation', array(
214
+ 'query' => $query,
215
+ 'error' => $error,
216
+ 'cron' => (defined('DISABLE_WP_CRON') && DISABLE_WP_CRON ? 'DISABLED' : 'ENABLED')
217
+ ));
218
+ }
219
+ function create_table_braapf_term_taxonomy_hierarchical() {
220
+ $run_data = $this->get_current_create_position_data();
221
+ if( ! empty($run_data) && ! empty($run_data['run']) ) {
222
+ return false;
223
+ }
224
+ $this->set_current_create_position_data(array(
225
+ 'status' => 0,
226
+ 'run' => true,
227
+ ));
228
+ $this->set_current_create_position_data($run_data);
229
+ global $wpdb;
230
+ $charset_collate = $wpdb->get_charset_collate();
231
+ require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
232
+ $table_name = $wpdb->prefix . 'braapf_term_taxonomy_hierarchical';
233
+ $sql = "DROP TABLE IF EXISTS {$table_name};";
234
+ $wpdb->query($sql);
235
+ $sql = "CREATE TABLE $table_name (
236
+ term_taxonomy_id bigint(20) NOT NULL,
237
+ term_id bigint(20) NOT NULL,
238
+ term_taxonomy_child_id bigint(20) NOT NULL,
239
+ term_child_id bigint(20) NOT NULL,
240
+ taxonomy varchar(32) NOT NULL,
241
+ INDEX term_taxonomy_id (term_taxonomy_id),
242
+ INDEX term_taxonomy_child_id (term_taxonomy_child_id),
243
+ INDEX child_parent_id (term_taxonomy_id, term_taxonomy_child_id),
244
+ UNIQUE uniqueid (term_taxonomy_id, term_id, term_taxonomy_child_id, term_child_id)
245
+ ) $charset_collate;";
246
+ $query_status = dbDelta( $sql );
247
+ $this->save_query_error($sql, $query_status);
248
+ $this->set_current_create_position(2);
249
+ $this->set_current_create_position_data(array(
250
+ 'status' => 0,
251
+ 'run' => false,
252
+ ));
253
+ }
254
+ function create_table_braapf_product_stock_status_parent() {
255
+ $run_data = $this->get_current_create_position_data();
256
+ if( ! empty($run_data) && ! empty($run_data['run']) ) {
257
+ return false;
258
+ }
259
+ $this->set_current_create_position_data(array(
260
+ 'status' => 0,
261
+ 'run' => true,
262
+ ));
263
+ global $wpdb;
264
+ $charset_collate = $wpdb->get_charset_collate();
265
+ require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
266
+ $table_name = $wpdb->prefix . 'braapf_product_stock_status_parent';
267
+ $sql = "DROP TABLE IF EXISTS {$table_name};";
268
+ $wpdb->query($sql);
269
+ $sql = "CREATE TABLE $table_name (
270
+ post_id bigint(20) NOT NULL,
271
+ parent_id bigint(20) NOT NULL,
272
+ stock_status tinyint(2),
273
+ PRIMARY KEY (post_id),
274
+ INDEX stock_status (stock_status)
275
+ ) $charset_collate;";
276
+ $query_status = dbDelta( $sql );
277
+ $this->save_query_error($sql, $query_status);
278
+ $sql = "SELECT MIN({$wpdb->prefix}wc_product_meta_lookup.product_id) as min, MAX({$wpdb->prefix}wc_product_meta_lookup.product_id) as max FROM {$wpdb->prefix}wc_product_meta_lookup";
279
+ $product_data = $wpdb->get_row($sql);
280
+ $this->save_query_error($sql, $product_data);
281
+ if( ! empty($product_data) && ! empty($product_data->min) && ! empty($product_data->max) ) {
282
+ $this->set_current_create_position(3);
283
+ $this->set_current_create_position_data(array(
284
+ 'status' => 0,
285
+ 'run' => false,
286
+ 'start_id' => $product_data->min,
287
+ 'min_id' => $product_data->min,
288
+ 'max_id' => $product_data->max
289
+ ));
290
+ wp_schedule_single_event( time(), 'berocket_create_table_braapf_product_stock_status_parent' );
291
+ } else {
292
+ $this->set_current_create_position(4);
293
+ $this->set_current_create_position_data(array(
294
+ 'status' => 0,
295
+ 'run' => false,
296
+ ));
297
+ }
298
+ }
299
+ function insert_table_braapf_product_stock_status_parent() {
300
+ $run_data = $this->get_current_create_position_data();
301
+ if( empty($run_data) || ! empty($run_data['run']) ) {
302
+ return false;
303
+ }
304
+ $run_data['run'] = true;
305
+ $this->set_current_create_position_data($run_data);
306
+ $start_id = intval($run_data['start_id']);
307
+ $min_id = intval($run_data['min_id']);
308
+ $max_id = intval($run_data['max_id']);
309
+ $end_id = $start_id + 5000;
310
+ BeRocket_error_notices::add_plugin_error(1, 'insert_table_braapf_product_stock_status_parent', array(
311
+ 'start_id' => $start_id,
312
+ 'end_id' => $end_id,
313
+ ));
314
+ global $wpdb;
315
+ $table_name = $wpdb->prefix . 'braapf_product_stock_status_parent';
316
+ $charset_collate = $wpdb->get_charset_collate();
317
+ require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
318
+ $sql_select = "SELECT {$wpdb->posts}.ID as post_id, {$wpdb->posts}.post_parent as parent_id, IF({$wpdb->prefix}wc_product_meta_lookup.stock_status = 'instock', 1, 0) as stock_status FROM {$wpdb->prefix}wc_product_meta_lookup
319
+ JOIN {$wpdb->posts} ON {$wpdb->prefix}wc_product_meta_lookup.product_id = {$wpdb->posts}.ID
320
+ WHERE {$wpdb->prefix}wc_product_meta_lookup.product_id >= {$start_id} AND {$wpdb->prefix}wc_product_meta_lookup.product_id < {$end_id}";
321
+ $test_row = $wpdb->get_row($sql_select);
322
+ BeRocket_error_notices::add_plugin_error(1, 'insert_table_braapf_product_stock_status_parent test', array(
323
+ 'start_id' => $start_id,
324
+ 'end_id' => $end_id,
325
+ 'min_id' => $min_id,
326
+ 'max_id' => $max_id,
327
+ 'result' => $test_row,
328
+ ));
329
+ if( ! empty($test_row) ) {
330
+ $sql = "INSERT IGNORE INTO {$table_name} {$sql_select}";
331
+ $query_status = $wpdb->query($sql);
332
+ if( $query_status === FALSE ) {
333
+ $this->save_query_error($sql);
334
+ }
335
+ }
336
+ $status = max(0, min(100, (($end_id - $min_id) / (($max_id - $min_id) == 0 ? 1 : ($max_id - $min_id)) * 100)));
337
+ if( $end_id <= $max_id ) {
338
+ $this->set_current_create_position_data(array(
339
+ 'status' => $status,
340
+ 'run' => false,
341
+ 'start_id' => $end_id,
342
+ 'min_id' => $min_id,
343
+ 'max_id' => $max_id
344
+ ));
345
+ wp_schedule_single_event( (time()+1), 'berocket_create_table_braapf_product_stock_status_parent' );
346
+ } else {
347
+ $this->set_current_create_position(4);
348
+ $this->set_current_create_position_data(array(
349
+ 'status' => 0,
350
+ 'run' => false
351
+ ));
352
+ }
353
+ }
354
+ function create_table_braapf_product_variation_attributes() {
355
+ $run_data = $this->get_current_create_position_data();
356
+ if( ! empty($run_data) && ! empty($run_data['run']) ) {
357
+ return false;
358
+ }
359
+ $this->set_current_create_position_data(array(
360
+ 'status' => 0,
361
+ 'run' => true,
362
+ ));
363
+ global $wpdb;
364
+ $charset_collate = $wpdb->get_charset_collate();
365
+ require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
366
+ $table_name = $wpdb->prefix . 'braapf_product_variation_attributes';
367
+ $sql = "DROP TABLE IF EXISTS {$table_name};";
368
+ $wpdb->query($sql);
369
+ $sql = "CREATE TABLE $table_name (
370
+ post_id bigint(20) NOT NULL,
371
+ parent_id bigint(20) NOT NULL,
372
+ meta_key varchar(32) NOT NULL,
373
+ meta_value_id bigint(20) NOT NULL,
374
+ INDEX post_id (post_id),
375
+ INDEX meta_key (meta_key),
376
+ INDEX meta_value_id (meta_value_id),
377
+ UNIQUE uniqueid (post_id, meta_key, meta_value_id)
378
+ ) $charset_collate;";
379
+ $query_status = dbDelta( $sql );
380
+ $this->save_query_error($sql, $query_status);
381
+ $sql = "SELECT MIN({$wpdb->postmeta}.meta_id) as min, MAX({$wpdb->postmeta}.meta_id) as max FROM {$wpdb->postmeta}";
382
+ $postmeta_data = $wpdb->get_row($sql);
383
+ if( ! empty($postmeta_data) && ! empty($postmeta_data->min) && ! empty($postmeta_data->max) ) {
384
+ $this->set_current_create_position(5);
385
+ $this->set_current_create_position_data(array(
386
+ 'status' => 0,
387
+ 'run' => false,
388
+ 'start_id' => $postmeta_data->min,
389
+ 'min_id' => $postmeta_data->min,
390
+ 'max_id' => $postmeta_data->max
391
+ ));
392
+ wp_schedule_single_event( (time()+1), 'berocket_create_table_braapf_product_variation_attributes' );
393
+ } else {
394
+ $this->set_current_create_position(6);
395
+ $this->set_current_create_position_data(array(
396
+ 'status' => 0,
397
+ 'run' => false,
398
+ ));
399
+ }
400
+ }
401
+ function insert_table_braapf_product_variation_attributes() {
402
+ $run_data = $this->get_current_create_position_data();
403
+ if( empty($run_data) || ! empty($run_data['run']) ) {
404
+ return false;
405
+ }
406
+ $run_data['run'] = true;
407
+ $this->set_current_create_position_data($run_data);
408
+ $start_id = intval($run_data['start_id']);
409
+ $min_id = intval($run_data['min_id']);
410
+ $max_id = intval($run_data['max_id']);
411
+ $end_id = $start_id + 10000;
412
+ global $wpdb;
413
+ $table_name = $wpdb->prefix . 'braapf_product_variation_attributes';
414
+ $charset_collate = $wpdb->get_charset_collate();
415
+ require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
416
+ $sql_select = "SELECT {$wpdb->postmeta}.post_id as post_id, {$wpdb->posts}.post_parent as parent_id, {$wpdb->term_taxonomy}.taxonomy as meta_key, {$wpdb->terms}.term_id as meta_value_id FROM {$wpdb->postmeta}
417
+ JOIN {$wpdb->term_taxonomy} ON CONCAT('attribute_', {$wpdb->term_taxonomy}.taxonomy) = {$wpdb->postmeta}.meta_key
418
+ JOIN {$wpdb->terms} ON {$wpdb->terms}.term_id = {$wpdb->term_taxonomy}.term_id AND {$wpdb->postmeta}.meta_value = {$wpdb->terms}.slug
419
+ JOIN {$wpdb->posts} ON {$wpdb->postmeta}.post_id = {$wpdb->posts}.ID
420
+ WHERE {$wpdb->postmeta}.meta_id >= {$start_id} AND {$wpdb->postmeta}.meta_id < {$end_id}
421
+ AND {$wpdb->postmeta}.meta_key LIKE 'attribute_pa_%'";
422
+ $test_row = $wpdb->get_row($sql_select);
423
+ if( ! empty($test_row) ) {
424
+ $sql = "INSERT IGNORE INTO {$table_name} {$sql_select}";
425
+ $query_status = $wpdb->query($sql);
426
+ if( $query_status === FALSE ) {
427
+ $this->save_query_error($sql);
428
+ }
429
+ }
430
+ $sql_select = "SELECT {$wpdb->posts}.ID as post_id, {$wpdb->posts}.post_parent as parent_id, {$wpdb->term_taxonomy}.taxonomy as meta_key, {$wpdb->term_taxonomy}.term_id as meta_value_id
431
+ FROM {$wpdb->postmeta}
432
+ JOIN {$wpdb->posts} ON {$wpdb->postmeta}.post_id = {$wpdb->posts}.ID
433
+ JOIN {$wpdb->term_relationships} ON {$wpdb->posts}.post_parent = {$wpdb->term_relationships}.object_id
434
+ JOIN {$wpdb->term_taxonomy} ON {$wpdb->term_relationships}.term_taxonomy_id = {$wpdb->term_taxonomy}.term_taxonomy_id
435
+ AND CONCAT('attribute_', {$wpdb->term_taxonomy}.taxonomy) = {$wpdb->postmeta}.meta_key
436
+ WHERE {$wpdb->postmeta}.meta_id >= {$start_id} AND {$wpdb->postmeta}.meta_id < {$end_id}
437
+ AND {$wpdb->postmeta}.meta_key LIKE 'attribute_pa_%' AND {$wpdb->postmeta}.meta_value = ''";
438
+ $test_row = $wpdb->get_row($sql_select);
439
+ if( ! empty($test_row) ) {
440
+ $sql = "INSERT IGNORE INTO {$table_name} {$sql_select}";
441
+ $query_status = $wpdb->query($sql);
442
+ if( $query_status === FALSE ) {
443
+ $this->save_query_error($sql);
444
+ }
445
+ }
446
+ $status = max(0, min(100, (($end_id - $min_id) / (($max_id - $min_id) == 0 ? 1 : ($max_id - $min_id)) * 100)));
447
+ if( $end_id <= $max_id ) {
448
+ $this->set_current_create_position_data(array(
449
+ 'status' => $status,
450
+ 'run' => false,
451
+ 'start_id' => $end_id,
452
+ 'min_id' => $min_id,
453
+ 'max_id' => $max_id
454
+ ));
455
+ wp_schedule_single_event( (time()+1), 'berocket_create_table_braapf_product_variation_attributes' );
456
+ } else {
457
+ $this->set_current_create_position(6);
458
+ $this->set_current_create_position_data(array(
459
+ 'status' => 0,
460
+ 'run' => false
461
+ ));
462
+ }
463
+ }
464
+ function create_table_braapf_variation_attributes() {
465
+ $run_data = $this->get_current_create_position_data();
466
+ if( ! empty($run_data) && ! empty($run_data['run']) ) {
467
+ return false;
468
+ }
469
+ $this->set_current_create_position_data(array(
470
+ 'status' => 0,
471
+ 'run' => true,
472
+ ));
473
+ global $wpdb;
474
+ $charset_collate = $wpdb->get_charset_collate();
475
+ require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
476
+ $table_name = $wpdb->prefix . 'braapf_variation_attributes';
477
+ $sql = "DROP TABLE IF EXISTS {$table_name};";
478
+ $wpdb->query($sql);
479
+ $sql = "CREATE TABLE $table_name (
480
+ post_id bigint(20) NOT NULL,
481
+ taxonomy varchar(32) NOT NULL,
482
+ INDEX post_id (post_id),
483
+ INDEX taxonomy (taxonomy),
484
+ UNIQUE uniqueid (post_id, taxonomy)
485
+ ) $charset_collate;";
486
+ $query_status = dbDelta( $sql );
487
+ $this->save_query_error($sql, $query_status);
488
+ $this->set_current_create_position(7);
489
+ $this->set_current_create_position_data(array(
490
+ 'status' => 0,
491
+ 'run' => false,
492
+ ));
493
+ wp_schedule_single_event( (time()+1), 'berocket_create_table_braapf_variation_attributes' );
494
+ }
495
+ function insert_table_braapf_variation_attributes() {
496
+ $run_data = $this->get_current_create_position_data();
497
+ if( ! empty($run_data) && ! empty($run_data['run']) ) {
498
+ return false;
499
+ }
500
+ $this->set_current_create_position_data(array(
501
+ 'status' => 0,
502
+ 'run' => true,
503
+ ));
504
+ global $wpdb;
505
+ $table_name = $wpdb->prefix . 'braapf_variation_attributes';
506
+ $charset_collate = $wpdb->get_charset_collate();
507
+ require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
508
+ $sql_select = "SELECT parent_id as post_id, meta_key as taxonomy
509
+ FROM {$wpdb->prefix}braapf_product_variation_attributes
510
+ GROUP BY meta_key, parent_id";
511
+ $test_row = $wpdb->get_row($sql_select);
512
+ if( ! empty($test_row) ) {
513
+ $sql = "INSERT IGNORE INTO {$table_name} {$sql_select}";
514
+ $query_status = $wpdb->query($sql);
515
+ if( $query_status === FALSE ) {
516
+ $this->save_query_error($sql);
517
+ }
518
+ }
519
+ $this->set_current_create_position(8);
520
+ $this->set_current_create_position_data(array(
521
+ 'status' => 100,
522
+ 'run' => false,
523
+ ));
524
+ }
525
+ function deactivate() {
526
+ global $wpdb;
527
+ wp_unschedule_hook('berocket_create_table_braapf_product_stock_status_parent');
528
+ wp_unschedule_hook('berocket_create_table_braapf_product_variation_attributes');
529
+ wp_unschedule_hook('berocket_create_table_braapf_variation_attributes');
530
+ $tables_drop = array(
531
+ 'braapf_product_stock_status_parent',
532
+ 'braapf_product_variation_attributes',
533
+ 'braapf_variation_attributes',
534
+ 'braapf_term_taxonomy_hierarchical'
535
+ );
536
+ foreach($tables_drop as $table_drop) {
537
+ $table_name = $wpdb->prefix . $table_drop;
538
+ $sql = "DROP TABLE IF EXISTS {$table_name};";
539
+ $wpdb->query($sql);
540
+ }
541
+ $wpdb->query("DELETE FROM {$wpdb->prefix}options WHERE option_name LIKE '%br_custom_table_hierarhical_%';");
542
+ $this->set_current_create_position(false);
543
+ $this->set_current_create_position_data(array(
544
+ 'status' => 0,
545
+ 'run' => false,
546
+ ));
547
+ }
548
+ }
549
+ new BeRocket_aapf_variations_tables_addon();
addons/custom_sidebar/custom_sidebar.php CHANGED
@@ -1,14 +1,14 @@
1
- <?php
2
- class BeRocket_aapf_custom_sidebar_addon extends BeRocket_framework_addon_lib {
3
- public $addon_file = __FILE__;
4
- public $plugin_name = 'ajax_filters';
5
- public $php_file_name = 'sidebar_include';
6
- function get_addon_data() {
7
- $data = parent::get_addon_data();
8
- return array_merge($data, array(
9
- 'addon_name' => __('Custom Sidebar', 'BeRocket_AJAX_domain'),
10
- 'paid' => true
11
- ));
12
- }
13
- }
14
- new BeRocket_aapf_custom_sidebar_addon();
1
+ <?php
2
+ class BeRocket_aapf_custom_sidebar_addon extends BeRocket_framework_addon_lib {
3
+ public $addon_file = __FILE__;
4
+ public $plugin_name = 'ajax_filters';
5
+ public $php_file_name = 'sidebar_include';
6
+ function get_addon_data() {
7
+ $data = parent::get_addon_data();
8
+ return array_merge($data, array(
9
+ 'addon_name' => __('Custom Sidebar', 'BeRocket_AJAX_domain'),
10
+ 'paid' => true
11
+ ));
12
+ }
13
+ }
14
+ new BeRocket_aapf_custom_sidebar_addon();
addons/deprecated_compat/widget.php CHANGED
@@ -1,2282 +1,2282 @@
1
- <?php
2
- include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
3
-
4
- /**
5
- * BeRocket_AAPF_Widget - main filter widget. One filter for any needs
6
- */
7
- class BeRocket_AAPF_Widget extends WP_Widget {
8
-
9
- public static $defaults = array(
10
- 'br_wp_footer' => false,
11
- 'widget_type' => 'filter',
12
- 'title' => '',
13
- 'filter_type' => 'attribute',
14
- 'attribute' => 'price',
15
- 'custom_taxonomy' => 'product_cat',
16
- 'type' => 'slider',
17
- 'select_first_element_text' => '',
18
- 'operator' => 'OR',
19
- 'order_values_by' => '',
20
- 'order_values_type' => '',
21
- 'text_before_price' => '',
22
- 'text_after_price' => '',
23
- 'enable_slider_inputs' => '',
24
- 'parent_product_cat' => '',
25
- 'depth_count' => '0',
26
- 'widget_collapse_enable' => '0',
27
- 'widget_is_hide' => '0',
28
- 'show_product_count_per_attr' => '0',
29
- 'hide_child_attributes' => '0',
30
- 'hide_collapse_arrow' => '0',
31
- 'use_value_with_color' => '0',
32
- 'values_per_row' => '1',
33
- 'icon_before_title' => '',
34
- 'icon_after_title' => '',
35
- 'icon_before_value' => '',
36
- 'icon_after_value' => '',
37
- 'price_values' => '',
38
- 'description' => '',
39
- 'css_class' => '',
40
- 'tag_cloud_height' => '0',
41
- 'tag_cloud_min_font' => '12',
42
- 'tag_cloud_max_font' => '14',
43
- 'tag_cloud_tags_count' => '100',
44
- 'tag_cloud_type' => 'doe',
45
- 'use_min_price' => '0',
46
- 'min_price' => '0',
47
- 'use_max_price' => '0',
48
- 'max_price' => '1',
49
- 'height' => 'auto',
50
- 'scroll_theme' => 'dark',
51
- 'selected_area_show' => '0',
52
- 'hide_selected_arrow' => '0',
53
- 'selected_is_hide' => '0',
54
- 'slider_default' => '0',
55
- 'number_style' => '0',
56
- 'number_style_thousand_separate'=> '',
57
- 'number_style_decimal_separate' => '.',
58
- 'number_style_decimal_number' => '2',
59
- 'is_hide_mobile' => '0',
60
- 'user_can_see' => '',
61
- 'cat_propagation' => '0',
62
- 'product_cat' => '',
63
- 'parent_product_cat_current' => '0',
64
- 'attribute_count' => '',
65
- 'show_page' => array( 'shop', 'product_cat', 'product_tag', 'product_taxonomy' ),
66
- 'cat_value_limit' => '0',
67
- 'child_parent' => '',
68
- 'child_parent_depth' => '1',
69
- 'child_parent_no_values' => '',
70
- 'child_parent_previous' => '',
71
- 'child_parent_no_products' => '',
72
- 'child_onew_count' => '1',
73
- 'child_onew_childs' => array(
74
- 1 => array('title' => '', 'no_product' => '', 'no_values' => '', 'previous' => ''),
75
- 2 => array('title' => '', 'no_product' => '', 'no_values' => '', 'previous' => ''),
76
- 3 => array('title' => '', 'no_product' => '', 'no_values' => '', 'previous' => ''),
77
- 4 => array('title' => '', 'no_product' => '', 'no_values' => '', 'previous' => ''),
78
- 5 => array('title' => '', 'no_product' => '', 'no_values' => '', 'previous' => ''),
79
- 6 => array('title' => '', 'no_product' => '', 'no_values' => '', 'previous' => ''),
80
- 7 => array('title' => '', 'no_product' => '', 'no_values' => '', 'previous' => ''),
81
- 8 => array('title' => '', 'no_product' => '', 'no_values' => '', 'previous' => ''),
82
- 9 => array('title' => '', 'no_product' => '', 'no_values' => '', 'previous' => ''),
83
- 10 => array('title' => '', 'no_product' => '', 'no_values' => '', 'previous' => ''),
84
- ),
85
- 'search_box_link_type' => 'shop_page',
86
- 'search_box_url' => '',
87
- 'search_box_category' => '',
88
- 'search_box_count' => '1',
89
- 'search_box_attributes' => array(
90
- 1 => array('type' => 'attribute', 'attribute' => '', 'custom_taxonomy' => '', 'title' => '', 'visual_type' => 'select'),
91
- 2 => array('type' => 'attribute', 'attribute' => '', 'custom_taxonomy' => '', 'title' => '', 'visual_type' => 'select'),
92
- 3 => array('type' => 'attribute', 'attribute' => '', 'custom_taxonomy' => '', 'title' => '', 'visual_type' => 'select'),
93
- 4 => array('type' => 'attribute', 'attribute' => '', 'custom_taxonomy' => '', 'title' => '', 'visual_type' => 'select'),
94
- 5 => array('type' => 'attribute', 'attribute' => '', 'custom_taxonomy' => '', 'title' => '', 'visual_type' => 'select'),
95
- 6 => array('type' => 'attribute', 'attribute' => '', 'custom_taxonomy' => '', 'title' => '', 'visual_type' => 'select'),
96
- 7 => array('type' => 'attribute', 'attribute' => '', 'custom_taxonomy' => '', 'title' => '', 'visual_type' => 'select'),
97
- 8 => array('type' => 'attribute', 'attribute' => '', 'custom_taxonomy' => '', 'title' => '', 'visual_type' => 'select'),
98
- 9 => array('type' => 'attribute', 'attribute' => '', 'custom_taxonomy' => '', 'title' => '', 'visual_type' => 'select'),
99
- 10 => array('type' => 'attribute', 'attribute' => '', 'custom_taxonomy' => '', 'title' => '', 'visual_type' => 'select'),
100
- ),
101
- 'search_box_style' => array(
102
- 'position' => 'vertical',
103
- 'search_position' => 'after',
104
- 'search_text' => 'Search',
105
- 'background' => 'bbbbff',
106
- 'back_opacity' => '0',
107
- 'button_background' => '888800',
108
- 'button_background_over' => 'aaaa00',
109
- 'text_color' => '000000',
110
- 'text_color_over' => '000000',
111
- ),
112
- 'ranges' => array( 1, 10 ),
113
- 'hide_first_last_ranges' => '',
114
- 'include_exclude_select' => '',
115
- 'include_exclude_list' => array(),
116
- );
117
-
118
- /**
119
- * Constructor
120
- */
121
- function __construct() {
122
- global $wp_version;
123
- /* Widget settings. */
124
- $widget_ops = array( 'classname' => 'widget_berocket_aapf', 'description' => __('Add Filters to Products page', 'BeRocket_AJAX_domain') );
125
-
126
- /* Widget control settings. */
127
- $control_ops = array( 'id_base' => 'berocket_aapf_widget' );
128
-
129
- /* Create the widget. */
130
- parent::__construct( 'berocket_aapf_widget', __('AJAX Product Filters (Deprecated)', 'BeRocket_AJAX_domain'), $widget_ops, $control_ops );
131
-
132
- add_filter( 'berocket_aapf_listener_wp_query_args', 'br_aapf_args_parser' );
133
- }
134
- public static function br_widget_ajax_set() {
135
- if ( ( is_plugin_active( 'woocommerce/woocommerce.php' ) || is_plugin_active_for_network( 'woocommerce/woocommerce.php' ) ) && br_get_woocommerce_version() >= 2.1 ) {
136
-
137
- add_action( 'wp_ajax_nopriv_berocket_aapf_listener', array( __CLASS__, 'listener' ) );
138
- add_action( 'wp_ajax_berocket_aapf_listener', array( __CLASS__, 'listener' ) );
139
- add_action( 'wp_ajax_berocket_aapf_color_listener', array( __CLASS__, 'color_listener' ) );
140
- add_action( 'wp_ajax_br_include_exclude_list', array( __CLASS__, 'ajax_include_exclude_list' ) );
141
- }
142
- }
143
-
144
- /**
145
- * Show widget to user
146
- *
147
- * @param array $args
148
- * @param array $instance
149
- */
150
- function widget( $args, $instance ) {
151
- if( ! empty($args['widget_id']) ) {
152
- $this->id = $args['widget_id'];
153
- $this->number = $args['widget_id'];
154
- }
155
- if( empty($this->number) || $this->number == -1 ) {
156
- global $berocket_aapf_shortcode_id;
157
- if( empty($berocket_aapf_shortcode_id) ) {
158
- $berocket_aapf_shortcode_id = 1;
159
- } else {
160
- $berocket_aapf_shortcode_id++;
161
- }
162
- $this->id = 'berocket_aapf_widget-s'.$berocket_aapf_shortcode_id;
163
- $args['widget_id'] = $this->id;
164
- $this->number = 's'.$berocket_aapf_shortcode_id;
165
- }
166
- $set_query_var_title = array();
167
- $set_query_var_main = array();
168
- $set_query_var_footer = array();
169
- $filter_type_array = array(
170
- 'attribute' => array(
171
- 'name' => __('Attribute', 'BeRocket_AJAX_domain'),
172
- 'sameas' => 'attribute',
173
- ),
174
- 'tag' => array(
175
- 'name' => __('Tag', 'BeRocket_AJAX_domain'),
176
- 'sameas' => 'tag',
177
- ),
178
- 'all_product_cat' => array(
179
- 'name' => __('Product Category', 'BeRocket_AJAX_domain'),
180
- 'sameas' => 'custom_taxonomy',
181
- 'attribute' => 'product_cat',
182
- ),
183
- );
184
- if ( function_exists('wc_get_product_visibility_term_ids') ) {
185
- $filter_type_array['_rating'] = array(
186
- 'name' => __('Rating', 'BeRocket_AJAX_domain'),
187
- 'sameas' => '_rating',
188
- );
189
- }
190
- $filter_type_array = apply_filters('berocket_filter_filter_type_array', $filter_type_array, $instance);
191
- if( empty($instance['filter_type']) || ! array_key_exists($instance['filter_type'], $filter_type_array) ) {
192
- foreach($filter_type_array as $filter_type_key => $filter_type_val) {
193
- $instance['filter_type'] = $filter_type_key;
194
- break;
195
- }
196
- }
197
- if( ! empty($instance['filter_type']) && ! empty($filter_type_array[$instance['filter_type']]) && ! empty($filter_type_array[$instance['filter_type']]['sameas']) ) {
198
- $sameas = $filter_type_array[$instance['filter_type']];
199
- $instance['filter_type'] = $sameas['sameas'];
200
- if( ! empty($sameas['attribute']) ) {
201
- if( $sameas['sameas'] == 'custom_taxonomy' ) {
202
- $instance['custom_taxonomy'] = $sameas['attribute'];
203
- } elseif( $sameas['sameas'] == 'attribute' ) {
204
- $instance['attribute'] = $sameas['attribute'];
205
- }
206
- }
207
- }
208
- //CHECK WIDGET TYPES
209
- $berocket_admin_filter_types = array(
210
- 'tag' => array('checkbox','radio','select','color','image','tag_cloud'),
211
- 'product_cat' => array('checkbox','radio','select','color','image'),
212
- 'sale' => array('checkbox','radio','select'),
213
- 'custom_taxonomy' => array('checkbox','radio','select','color','image'),
214
- 'attribute' => array('checkbox','radio','select','color','image'),
215
- 'price' => array('slider'),
216
- 'filter_by' => array('checkbox','radio','select','color','image'),
217
- );
218
- $berocket_admin_filter_types_by_attr = array(
219
- 'checkbox' => array('value' => 'checkbox', 'text' => 'Checkbox'),
220
- 'radio' => array('value' => 'radio', 'text' => 'Radio'),
221
- 'select' => array('value' => 'select', 'text' => 'Select'),
222
- 'color' => array('value' => 'color', 'text' => 'Color'),
223
- 'image' => array('value' => 'image', 'text' => 'Image'),
224
- 'slider' => array('value' => 'slider', 'text' => 'Slider'),
225
- 'tag_cloud' => array('value' => 'tag_cloud', 'text' => 'Tag cloud'),
226
- );
227
- list($berocket_admin_filter_types, $berocket_admin_filter_types_by_attr) = apply_filters( 'berocket_admin_filter_types_by_attr', array($berocket_admin_filter_types, $berocket_admin_filter_types_by_attr) );
228
- $select_options_variants = array();
229
- if ( $instance['filter_type'] == 'tag' ) {
230
- $select_options_variants = $berocket_admin_filter_types['tag'];
231
- } else if ( $instance['filter_type'] == 'product_cat' || ( $instance['filter_type'] == 'custom_taxonomy' && ( $instance['custom_taxonomy'] == 'product_tag' || $instance['custom_taxonomy'] == 'product_cat' ) ) ) {
232
- $select_options_variants = $berocket_admin_filter_types['product_cat'];
233
- } else if ( $instance['filter_type'] == '_sale' || $instance['filter_type'] == '_stock_status' || $instance['filter_type'] == '_rating' ) {
234
- $select_options_variants = $berocket_admin_filter_types['sale'];
235
- } else if ( $instance['filter_type'] == 'custom_taxonomy' ) {
236
- $select_options_variants = $berocket_admin_filter_types['custom_taxonomy'];
237
- } else if ( $instance['filter_type'] == 'attribute' ) {
238
- if ( $instance['attribute'] == 'price' ) {
239
- $select_options_variants = $berocket_admin_filter_types['price'];
240
- } else {
241
- $select_options_variants = $berocket_admin_filter_types['attribute'];
242
- }
243
- } else if ( $instance['filter_type'] == 'filter_by' ) {
244
- $select_options_variants = $berocket_admin_filter_types['filter_by'];
245
- }
246
- $selected = false;
247
- $first = false;
248
- foreach($select_options_variants as $select_options_variant) {
249
- if( ! empty($berocket_admin_filter_types_by_attr[$select_options_variant]) ) {
250
- if( $instance['type'] == $berocket_admin_filter_types_by_attr[$select_options_variant]['value'] ) {
251
- $selected = true;
252
- break;
253
- }
254
- if( $first === false ) {
255
- $first = $berocket_admin_filter_types_by_attr[$select_options_variant]['value'];
256
- }
257
- }
258
- }
259
- if( ! $selected ) {
260
- $instance['type'] = $first;
261
- }
262
- $widget_type_array = apply_filters( 'berocket_widget_widget_type_array', apply_filters( 'berocket_aapf_display_filter_type_list', array(
263
- 'filter' => __('Filter', 'BeRocket_AJAX_domain'),
264
- ) ) );
265
- if( ! array_key_exists($instance['widget_type'], $widget_type_array) ) {
266
- foreach($widget_type_array as $widget_type_id => $widget_type_name) {
267
- $instance['widget_type'] = $widget_type_id;
268
- break;
269
- }
270
- }
271
- $instance['title'] = apply_filters( 'widget_title', empty($instance['title']) ? '' : $instance['title'], $instance );
272
- $br_options = apply_filters( 'berocket_aapf_listener_br_options', BeRocket_AAPF::get_aapf_option() );
273
- $default_language = apply_filters( 'wpml_default_language', NULL );
274
-
275
- global $wp_query, $wp_the_query, $wp, $sitepress, $br_wc_query;
276
- if( ! isset( BeRocket_AAPF::$error_log['6_widgets'] ) )
277
- {
278
- BeRocket_AAPF::$error_log['6_widgets'] = array();
279
- }
280
- $widget_error_log = array();
281
-
282
- $instance = array_merge( self::$defaults, $instance );
283
- $instance = apply_filters('aapf_widget_instance', $instance);
284
- $args = apply_filters('aapf_widget_args', $args);
285
- if( ( $instance['user_can_see'] == 'logged' && ! is_user_logged_in() ) || ( $instance['user_can_see'] == 'not_logged' && is_user_logged_in() ) ) {
286
- return false;
287
- }
288
-
289
- if( BeRocket_AAPF::$debug_mode ) {
290
- $widget_error_log['wp_query'] = $wp_query;
291
- $widget_error_log['args'] = $args;
292
- $widget_error_log['instance'] = $instance;
293
- }
294
-
295
- $BeRocket_AAPF = BeRocket_AAPF::getInstance();
296
- if( ! empty($br_options['user_func']) && is_array( $br_options['user_func'] ) ) {
297
- $user_func = array_merge( $BeRocket_AAPF->defaults['user_func'], $br_options['user_func'] );
298
- } else {
299
- $user_func = $BeRocket_AAPF->defaults['user_func'];
300
- }
301
-
302
- if( ! empty($br_options['filters_turn_off']) ) return false;
303
-
304
- if( ! empty($instance['child_parent']) && in_array($instance['child_parent'], array('child', 'parent')) ) {
305
- $br_options['show_all_values'] = true;
306
- }
307
-
308
- if ( ! empty($instance['show_page']) ) {
309
- $pageid = get_the_ID();
310
- $pageid = apply_filters( 'wpml_object_id', $pageid, 'page', true, $default_language );
311
- $pagelimit = FALSE;
312
-
313
- foreach ( $instance['show_page'] as $page => $is_show ) {
314
- if( $is_show ) {
315
- $pagelimit = TRUE;
316
- break;
317
- }
318
- }
319
- if ( $pagelimit &&
320
- ( ( ! is_product_category() && ! is_shop() && ! is_product_tag() && ! is_product_taxonomy() && ! is_product() && ! in_array( $pageid, $instance['show_page'] ) ) ||
321
- ( is_shop() && ! in_array( 'shop', $instance['show_page'] ) ) ||
322
- ( is_product_category() && ! in_array( 'product_cat', $instance['show_page'] ) ) ||
323
- ( is_product() && ! in_array( 'single_product', $instance['show_page'] ) ) ||
324
- ( is_product_taxonomy() && ! in_array( 'product_taxonomy', $instance['show_page'] ) && ! is_product_category() ) ||
325
- ( is_product_tag() && ! in_array( 'product_tag', $instance['show_page'] ) ) )
326
- ) {
327
-
328
- if( BeRocket_AAPF::$debug_mode ) {
329
- $widget_error_log['return'] = 'hidden';
330
- BeRocket_AAPF::$error_log['6_widgets'][] = $widget_error_log;
331
- }
332
- return false;
333
- }
334
- }
335
-
336
- if ( isset ( $br_wc_query ) ) {
337
- if( ! is_a($br_wc_query, 'WP_Query') ) {
338
- $br_wc_query = new WP_Query( $br_wc_query );
339
- }
340
- if( class_exists('WC_Query') && method_exists('WC_Query', 'product_query') && method_exists('WC_Query', 'get_main_query') ) {
341
- $wc_query = wc()->query->get_main_query();
342
- }
343
- $old_query = $wp_query;
344
- $old_the_query = $wp_the_query;
345
- $wp_query = $br_wc_query;
346
- $wp_the_query = $br_wc_query;
347
- if( class_exists('WC_Query') && method_exists('WC_Query', 'product_query') && method_exists('WC_Query', 'get_main_query') ) {
348
- wc()->query->product_query($wp_query);
349
- }
350
- }
351
-
352
- $wp_query_product_cat = '-1';
353
- $wp_check_product_cat = '1q1main_shop1q1';
354
- if ( ! empty($wp_query->query['product_cat']) ) {
355
- $wp_query_product_cat = explode( "/", $wp_query->query['product_cat'] );
356
- $wp_query_product_cat = $wp_query_product_cat[ count( $wp_query_product_cat ) - 1 ];
357
- $wp_query_product_cat = urldecode($wp_query_product_cat);
358
- $wp_check_product_cat = $wp_query_product_cat;
359
- }
360
-
361
- if ( empty($br_options['products_holder_id']) ) $br_options['products_holder_id'] = 'ul.products';
362
-
363
- if ( empty($instance['br_wp_footer']) ) {
364
- global $br_widget_ids;
365
- if ( ! isset( $br_widget_ids ) ) {
366
- $br_widget_ids = array();
367
- }
368
- $br_widget_ids[] = array('instance' => $instance, 'args' => $args);
369
- }
370
-
371
- extract( $args );
372
- extract( $instance );
373
-
374
- $text_before_price = apply_filters('aapf_widget_text_before_price', ( isset($text_before_price) ? $text_before_price : '' ) );
375
- $text_after_price = apply_filters('aapf_widget_text_after_price', ( isset($text_after_price) ? $text_after_price : '' ) );
376
- if( ! empty($text_before_price) || ! empty($text_after_price) ) {
377
- $cur_symbol = get_woocommerce_currency_symbol();
378
- $cur_slug = get_woocommerce_currency();
379
- if( !empty($text_before_price) ) {
380
- $text_before_price = str_replace(array('%cur_symbol%', '%cur_slug%'), array($cur_symbol, $cur_slug), $text_before_price);
381
- }
382
- if( !empty($text_after_price) ) {
383
- $text_after_price = str_replace(array('%cur_symbol%', '%cur_slug%'), array($cur_symbol, $cur_slug), $text_after_price);
384
- }
385
- }
386
-
387
- if ( empty($order_values_by) ) {
388
- $order_values_by = 'Default';
389
- }
390
-
391
- if ( ! empty($filter_type) && ( $filter_type == 'product_cat' || $filter_type == '_stock_status' || $filter_type == '_sale' || $filter_type == '_rating' ) ) {
392
- $attribute = $filter_type;
393
- $filter_type = 'attribute';
394
- }
395
-
396
- $product_cat = @ json_decode( $product_cat );
397
-
398
- if ( $product_cat && is_product() && ! empty($instance['show_page']) && is_array($instance['show_page']) && in_array( 'single_product', $instance['show_page'] ) ) {
399
- $hide_widget = true;
400
- global $post;
401
- $product_cat_id = array();
402
- $terms = get_the_terms( $post->ID, 'product_cat' );
403
- if( ! empty($terms) && is_array($terms) ) {
404
- foreach ($terms as $term) {
405
- $cur_cat_id = apply_filters( 'wpml_object_id', $term->term_id, 'product_cat', true, $default_language );
406
- $product_cat_id[] = $cur_cat_id;
407
- if ( ! empty($cat_propagation) ) {
408
- $cur_cat_ancestors = get_ancestors( $term->term_id, 'product_cat' );
409
- foreach ( $cur_cat_ancestors as $cat_ancestor ) {
410
- $cur_cat_ancestor = apply_filters( 'wpml_object_id', $cat_ancestor, 'product_cat', true, $default_language );
411
- $product_cat_id[] = $cur_cat_ancestor;
412
- }
413
- }
414
- foreach ( $product_cat as $cat ) {
415
- $cur_cat = get_term_by( 'slug', $cat, 'product_cat' );
416
- $cur_cat_id = apply_filters( 'wpml_object_id', $cur_cat->term_id, 'product_cat', true, $default_language );
417
- if ( ! empty($cur_cat_id) && is_array($product_cat_id) && in_array( $cur_cat_id, $product_cat_id ) ) {
418
- $hide_widget = false;
419
- break;
420
- }
421
- }
422
- }
423
- }
424
-
425
- if ( $hide_widget ) {
426
- $widget_error_log['return'] = 'hide_widget';
427
- BeRocket_AAPF::$error_log['6_widgets'][] = $widget_error_log;
428
- $this->restore_wp_the_query($br_wc_query, $wp_the_query, $wp_query, $wc_query, $old_the_query, $old_query);
429
- return true;
430
- }
431
- }
432
-
433
- if ( $product_cat && is_product_category() ) {
434
- $hide_widget = true;
435
-
436
- $cur_cat = get_term_by( 'slug', $wp_query_product_cat, 'product_cat' );
437
- $cur_cat_id = apply_filters( 'wpml_object_id', $cur_cat->term_id, 'product_cat', true, $default_language );
438
-
439
- if ( ! empty($cat_propagation) ) {
440
- $cur_cat_ancestors = get_ancestors( $cur_cat_id, 'product_cat' );
441
- $cur_cat_ancestors[] = $cur_cat_id;
442
- foreach ( $cur_cat_ancestors as &$cat_ancestor ) {
443
- $cat_ancestor = apply_filters( 'wpml_object_id', $cat_ancestor, 'product_cat', true, $default_language );
444
- }
445
- foreach ( $product_cat as $cat ) {
446
- $cat = get_term_by( 'slug', $cat, 'product_cat' );
447
- $cat_id = apply_filters( 'wpml_object_id', $cat->term_id, 'product_cat', true, $default_language );
448
-
449
- if ( ! empty($cat_id) && is_array($cur_cat_ancestors) && in_array( $cat_id, $cur_cat_ancestors ) ) {
450
- $hide_widget = false;
451
- break;
452
- }
453
- }
454
- } else {
455
- foreach ( $product_cat as $cat ) {
456
- $cat = get_term_by( 'slug', $cat, 'product_cat' );
457
- $cat_id = apply_filters( 'wpml_object_id', $cat->term_id, 'product_cat', true, $default_language );
458
- if ( $cat_id == $cur_cat_id ) {
459
- $hide_widget = false;
460
- break;
461
- }
462
- }
463
- }
464
-
465
- if ( $hide_widget ) {
466
- $widget_error_log['return'] = 'hide_widget';
467
- BeRocket_AAPF::$error_log['6_widgets'][] = $widget_error_log;
468
- $this->restore_wp_the_query($br_wc_query, $wp_the_query, $wp_query, $wc_query, $old_the_query, $old_query);
469
- return true;
470
- }
471
- }
472
-
473
- if( empty($br_options['ajax_site']) ) {
474
- do_action('br_footer_script');
475
- } else {
476
- echo '<script>jQuery(document).ready(function() {if(typeof(berocket_filters_first_load) == "function") {berocket_filters_first_load();}});</script>';
477
- }
478
- if( apply_filters( 'berocket_aapf_widget_display_custom_filter', false, berocket_isset($widget_type), $instance, $args, $this ) ) return '';
479
-
480
- if( ! empty($widget_type) && $custom_type_html = apply_filters('berocket_aapf_display_filter_custom_type', '', $widget_type, array('options' => $instance, 'args' => $args)) ) {
481
- if( $custom_type_html !== TRUE ) {
482
- echo $before_widget;
483
- echo $custom_type_html;
484
- echo $after_widget;
485
- }
486
- $widget_error_log['return'] = $widget_type;
487
- BeRocket_AAPF::$error_log['6_widgets'][] = $widget_error_log;
488
- $this->restore_wp_the_query($br_wc_query, $wp_the_query, $wp_query, $wc_query, $old_the_query, $old_query);
489
- return '';
490
- }
491
-
492
- $woocommerce_hide_out_of_stock_items = BeRocket_AAPF_Widget::woocommerce_hide_out_of_stock_items();
493
- if( $woocommerce_hide_out_of_stock_items == 'yes' && $filter_type == 'attribute' && $attribute == '_stock_status' ) {
494
- $widget_error_log['return'] = 'stock_status';
495
- BeRocket_AAPF::$error_log['6_widgets'][] = $widget_error_log;
496
- $this->restore_wp_the_query($br_wc_query, $wp_the_query, $wp_query, $wc_query, $old_the_query, $old_query);
497
- return true;
498
- }
499
-
500
- if( $type == "slider" ) {
501
- $operator = 'OR';
502
- $order_values_by = '';
503
- $order_values_type = 'asc';
504
- }
505
-
506
- $terms = $sort_terms = $price_range = array();
507
- $instance['wp_check_product_cat'] = $wp_check_product_cat;
508
- $instance['wp_query_product_cat'] = $wp_query_product_cat;
509
- list($terms_error_return, $terms_ready, $terms, $type) = apply_filters( 'berocket_widget_attribute_type_terms', array(false, false, $terms, $type), $attribute, $filter_type, $instance );
510
- if( $terms_ready ) {
511
- if( $terms_error_return === FALSE ) {
512
- $set_query_var_title['terms'] = apply_filters( 'berocket_aapf_widget_terms', $terms );
513
- if( BeRocket_AAPF::$debug_mode ) {
514
- $widget_error_log['terms'] = $terms;
515
- }
516
- } else {
517
- $widget_error_log['terms'] = $terms;
518
- $widget_error_log['return'] = $terms_error_return;
519
- BeRocket_AAPF::$error_log['6_widgets'][] = $widget_error_log;
520
- $this->restore_wp_the_query($br_wc_query, $wp_the_query, $wp_query, $wc_query, $old_the_query, $old_query);
521
- return false;
522
- }
523
- } else {
524
- if ( $filter_type == 'attribute' ) {
525
- if ( $attribute == 'price' ) {
526
- if ( ! empty($price_values) ) {
527
- $price_range = explode( ",", $price_values );
528
- } elseif( $use_min_price && $use_max_price ) {
529
- $price_range = array($min_price, $max_price);
530
- } else {
531
- $price_range = br_get_cache( 'price_range', $wp_check_product_cat );
532
- if ( $price_range === false ) {
533
- $price_range = BeRocket_AAPF_Widget::get_price_range( $wp_query_product_cat, ( isset($cat_value_limit) ? $cat_value_limit : null ) );
534
- br_set_cache( 'price_range', $price_range, $wp_check_product_cat, BeRocket_AJAX_cache_expire );
535
- }
536
- if ( ! $price_range or count( $price_range ) < 2 ) {
537
- $widget_error_log['price_range'] = $price_range;
538
- $widget_error_log['return'] = 'price_range < 2';
539
- BeRocket_AAPF::$error_log['6_widgets'][] = $widget_error_log;
540
- $this->restore_wp_the_query($br_wc_query, $wp_the_query, $wp_query, $wc_query, $old_the_query, $old_query);
541
- return false;
542
- }
543
- }
544
- if( BeRocket_AAPF::$debug_mode ) {
545
- $widget_error_log['price_range'] = $price_range;
546
- }
547
- } elseif ( $attribute == '_rating' ) {
548
- $terms = array();
549
- $term = get_term_by('slug', 'rated-1', 'product_visibility');
550
- $term->name = ( $type == 'select' ? __('1 star', 'BeRocket_AJAX_domain') : __('<i class="fa fa-star"></i><i class="fa fa-star-o"></i><i class="fa fa-star-o"></i><i class="fa fa-star-o"></i><i class="fa fa-star-o"></i>', 'BeRocket_AJAX_domain') );
551
- array_push($terms, $term);
552
- $term = get_term_by('slug', 'rated-2', 'product_visibility');
553
- $term->name = ( $type == 'select' ? __('2 stars', 'BeRocket_AJAX_domain') : __('<i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star-o"></i><i class="fa fa-star-o"></i><i class="fa fa-star-o"></i>', 'BeRocket_AJAX_domain') );
554
- array_push($terms, $term);
555
- $term = get_term_by('slug', 'rated-3', 'product_visibility');
556
- $term->name = ( $type == 'select' ? __('3 stars', 'BeRocket_AJAX_domain') : __('<i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star-o"></i><i class="fa fa-star-o"></i>', 'BeRocket_AJAX_domain') );
557
- array_push($terms, $term);
558
- $term = get_term_by('slug', 'rated-4', 'product_visibility');
559
- $term->name = ( $type == 'select' ? __('4 stars', 'BeRocket_AJAX_domain') : __('<i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star-o"></i>', 'BeRocket_AJAX_domain') );
560
- array_push($terms, $term);
561
- $term = get_term_by('slug', 'rated-5', 'product_visibility');
562
- $term->name = ( $type == 'select' ? __('5 stars', 'BeRocket_AJAX_domain') : __('<i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star"></i>', 'BeRocket_AJAX_domain') );
563
- array_push($terms, $term);
564
- $terms = BeRocket_AAPF_Widget::get_attribute_values( $attribute, 'id', braapf_filters_must_be_recounted('first'), ( braapf_filters_must_be_recounted() ), $terms, ( isset($cat_value_limit) ? $cat_value_limit : null ), $operator );
565
- foreach($terms as &$term) {
566
- $term->taxonomy = '_rating';
567
- }
568
- if( ! empty( $order_values_type ) && $order_values_type == 'desc' ) {
569
- $terms = array_reverse($terms);
570
- }
571
- $set_query_var_title['terms'] = apply_filters( 'berocket_aapf_widget_terms', $terms );
572
- if( BeRocket_AAPF::$debug_mode ) {
573
- $widget_error_log['terms'] = $terms;
574
- }
575
- } elseif ( $attribute == 'product_cat' ) {
576
- if( $parent_product_cat_current ) {
577
- $cate = get_queried_object();
578
- if( isset($cate->term_id) ) {
579
- $cateID = $cate->term_id;
580
- $title = str_replace( '%product_cat%', $cate->name, $title );
581
- } else {
582
- $cateID = 0;
583
- $title = str_replace( '%product_cat%', '', $title );
584
- }
585
- $parent_product_cat_cache = $cateID;
586
- $parent_product_cat = $cateID;
587
- } else {
588
- $parent_product_cat_cache = $parent_product_cat;
589
- }
590
- $terms = br_get_cache ( $attribute . $order_values_by, $wp_check_product_cat . $parent_product_cat_cache . $depth_count );
591
- if ( br_is_filtered() || $terms === false ) {
592
- $terms_unsort = br_get_cat_hierarchy(array(), $parent_product_cat, $depth_count );
593
- self::sort_terms( $terms_unsort, array(
594
- "order_values_by" => $order_values_by,
595
- "attribute" => $attribute,
596
- "order_values_type"=> (empty($order_values_type) || $order_values_type == 'asc' ? SORT_ASC : SORT_DESC)
597
- ) );
598
-
599
- $terms_unsort = self::set_terms_on_same_level( $terms_unsort, array(), ($type != 'checkbox' && $type != 'radio') );
600
- $terms = BeRocket_AAPF_Widget::get_attribute_values( $attribute, 'id', braapf_filters_must_be_recounted('first'), ( braapf_filters_must_be_recounted() ), $terms_unsort, ( isset($cat_value_limit) ? $cat_value_limit : null ), $operator );
601
- if ( isset( $depth_count ) ) {
602
- $old_terms = array();
603
- foreach($terms as $term_data) {
604
- $old_terms[$term_data->term_id] = $term_data;
605
- }
606
- $terms = array();
607
-
608
- foreach( $terms_unsort as $term_unsort ) {
609
- if ( ! empty( $old_terms[ $term_unsort->term_id ] ) ) {
610
- $terms[ $term_unsort->term_id ] = $old_terms[ $term_unsort->term_id ];
611
- }
612
- }
613
- }
614
-
615
- if ( ! br_is_filtered() ) {
616
- br_set_cache( $attribute.$order_values_by, $terms, $wp_check_product_cat.$parent_product_cat_cache.$depth_count, BeRocket_AJAX_cache_expire );
617
- }
618
- }
619
-
620
- if( BeRocket_AAPF::$debug_mode ) {
621
- $widget_error_log['terms'] = $terms;
622
- }
623
- $terms = apply_filters('berocket_aapf_widget_include_exclude_items', $terms, $instance);
624
-
625
- if ( empty($terms) || ! is_array($terms) || count( $terms ) < 1 ) {
626
- $widget_error_log['terms'] = $terms;
627
- $widget_error_log['return'] = 'terms < 1';
628
- BeRocket_AAPF::$error_log['6_widgets'][] = $widget_error_log;
629
- $this->restore_wp_the_query($br_wc_query, $wp_the_query, $wp_query, $wc_query, $old_the_query, $old_query);
630
- return false;
631
- }
632
- $set_query_var_title['terms'] = apply_filters( 'berocket_aapf_widget_terms', $terms );
633
- unset( $terms, $terms_unsort );
634
- } else {
635
- $sort_array = array();
636
- $wc_order_by = wc_attribute_orderby( $attribute );
637
-
638
- $terms = br_get_cache ( $attribute, $wp_check_product_cat );
639
- if( br_is_filtered() || $terms === false || ( ! empty($child_parent) && ( $child_parent == 'parent' || $child_parent == 'child' ) ) ) {
640
- $current_terms = self::get_terms_child_parent ( ( empty($child_parent) ? '' : $child_parent ), $attribute, FALSE, ( isset($child_parent_depth) ? $child_parent_depth : null ) );
641
- $terms = BeRocket_AAPF_Widget::get_attribute_values( $attribute, 'id', braapf_filters_must_be_recounted('first'), ( braapf_filters_must_be_recounted() ), $current_terms, ( isset($cat_value_limit) ? $cat_value_limit : null ), $operator );
642
- if( ! br_is_filtered() && ( empty($child_parent) || ( $child_parent != 'parent' && $child_parent != 'child' ) ) ) {
643
- br_set_cache ( $attribute, $terms, $wp_check_product_cat, BeRocket_AJAX_cache_expire );
644
- }
645
- }
646
- $terms = apply_filters('berocket_aapf_widget_include_exclude_items', $terms, $instance);
647
-
648
- if ( empty($terms) || ! is_array($terms) || count( $terms ) < 1 ) {
649
- $widget_error_log['terms'] = $terms;
650
- $widget_error_log['return'] = 'terms < 1';
651
- BeRocket_AAPF::$error_log['6_widgets'][] = $widget_error_log;
652
- $this->restore_wp_the_query($br_wc_query, $wp_the_query, $wp_query, $wc_query, $old_the_query, $old_query);
653
- return false;
654
- }
655
-
656
- if ( $wc_order_by == 'menu_order' and $order_values_by == 'Default' ) {
657
- foreach ( $terms as $term ) {
658
- if( isset($term->term_id) ) {
659
- $sort_array[] = get_term_meta( $term->term_id, ( br_woocommerce_version_check('3.6') ? 'order' : 'order_' . $attribute ), true );
660
- }
661
- }
662
- array_multisort( $sort_array, (empty($order_values_type) || $order_values_type == 'asc' ? SORT_ASC : SORT_DESC), $terms );
663
- } else {
664
- self::sort_terms( $terms, array(
665
- "wc_order_by" => $wc_order_by,
666
- "order_values_by" => $order_values_by,
667
- "filter_type" => $filter_type,
668
- "order_values_type"=> (empty($order_values_type) || $order_values_type == 'asc' ? SORT_ASC : SORT_DESC)
669
- ) );
670
- }
671
-
672
- if( BeRocket_AAPF::$debug_mode ) {
673
- $widget_error_log['terms'] = $terms;
674
- }
675
- $set_query_var_title['terms'] = apply_filters( 'berocket_aapf_widget_terms', $terms );
676
- }
677
-
678
- } elseif ( $filter_type == 'tag' ) {
679
- $attribute = 'product_tag';
680
- $terms = br_get_cache ( $attribute.$order_values_by, $wp_check_product_cat );
681
- if( br_is_filtered() || $terms === false ) {
682
- $terms = BeRocket_AAPF_Widget::get_attribute_values( $attribute, 'id', braapf_filters_must_be_recounted('first'), ( braapf_filters_must_be_recounted() ), FALSE, ( isset($cat_value_limit) ? $cat_value_limit : null ), $operator );
683
-
684
- if ( $order_values_by != 'Default' ) {
685
- self::sort_terms( $terms, array(
686
- "order_values_by" => $order_values_by,
687
- "attribute" => $attribute,
688
- "order_values_type"=> (empty($order_values_type) || $order_values_type == 'asc' ? SORT_ASC : SORT_DESC)
689
- ) );
690
- }
691
- if( ! br_is_filtered() ) {
692
- br_set_cache ( $attribute.$order_values_by, $terms, $wp_check_product_cat, BeRocket_AJAX_cache_expire );
693
- }
694
- }
695
-
696
- if( BeRocket_AAPF::$debug_mode ) {
697
- $widget_error_log['terms'] = $terms;
698
- }
699
-
700
- $terms = apply_filters('berocket_aapf_widget_include_exclude_items', $terms, $instance);
701
-
702
- $set_query_var_title['terms'] = apply_filters( 'berocket_aapf_widget_terms', $terms );
703
-
704
- if ( empty($terms) || ! is_array($terms) || count( $terms ) < 1 ) {
705
- $widget_error_log['terms'] = $terms;
706
- $widget_error_log['return'] = 'terms < 1';
707
- BeRocket_AAPF::$error_log['6_widgets'][] = $widget_error_log;
708
- $this->restore_wp_the_query($br_wc_query, $wp_the_query, $wp_query, $wc_query, $old_the_query, $old_query);
709
- return false;
710
- }
711
- } elseif ( $filter_type == 'custom_taxonomy' ) {
712
- $terms = br_get_cache ( $custom_taxonomy.$order_values_by, $filter_type.$wp_check_product_cat );
713
- if( br_is_filtered() || $terms === false || ( ! empty($child_parent) && ( $child_parent == 'parent' || $child_parent == 'child' ) ) ) {
714
- if ( $custom_taxonomy == 'product_cat' ) {
715
- if( empty($child_parent) || ( $child_parent != 'parent' && $child_parent != 'child' ) ) {
716
- $terms = br_get_cat_hierarchy(array());
717
- $terms = self::set_terms_on_same_level( $terms, array(), ($type != 'checkbox' && $type != 'radio') );
718
- } else {
719
- $terms = self::get_terms_child_parent ( ( empty($child_parent) ? '' : $child_parent ), $custom_taxonomy, FALSE, ( isset($child_parent_depth) ? $child_parent_depth : null ) );
720
- }
721
- } else {
722
- $terms = self::get_terms_child_parent ( $child_parent, $custom_taxonomy, FALSE, ( isset($child_parent_depth) ? $child_parent_depth : 0 ) );
723
- $terms = BeRocket_AAPF_Widget::get_attribute_values( $custom_taxonomy, 'id', braapf_filters_must_be_recounted('first'), ( braapf_filters_must_be_recounted() ), $terms, ( isset($cat_value_limit) ? $cat_value_limit : null ), $operator );
724
- }
725
- if( $custom_taxonomy == 'product_cat' ) {
726
- $terms = BeRocket_AAPF_Widget::get_attribute_values( $custom_taxonomy, 'id', braapf_filters_must_be_recounted('first'), ( braapf_filters_must_be_recounted() ), $terms, ( isset($cat_value_limit) ? $cat_value_limit : null ), $operator );
727
- }
728
- if ( $order_values_by != 'Default' || in_array($custom_taxonomy, array('berocket_brand', 'product_cat')) ) {
729
- if( $custom_taxonomy == 'product_cat' ) {
730
- $terms_unsort = br_get_cat_hierarchy(array(), 0, 0 );
731
- self::sort_terms( $terms_unsort, array(
732
- "order_values_by" => $order_values_by,
733
- "attribute" => $custom_taxonomy,
734
- "order_values_type"=> (empty($order_values_type) || $order_values_type == 'asc' ? SORT_ASC : SORT_DESC)
735
- ) );
736
-
737
- $terms_unsort = self::set_terms_on_same_level( $terms_unsort, array(), ($type != 'checkbox' && $type != 'radio') );
738
- if ( isset( $depth_count ) ) {
739
- $old_terms = array();
740
- foreach($terms as $term_data) {
741
- $old_terms[$term_data->term_id] = $term_data;
742
- }
743
- $terms = array();
744
-
745
- foreach( $terms_unsort as $term_unsort ) {
746
- if ( ! empty( $old_terms[ $term_unsort->term_id ] ) ) {
747
- $terms[ $term_unsort->term_id ] = $old_terms[ $term_unsort->term_id ];
748
- }
749
- }
750
- }
751
- } else {
752
- self::sort_terms( $terms, array(
753
- "order_values_by" => $order_values_by,
754
- "attribute" => $custom_taxonomy,
755
- "order_values_type"=> (empty($order_values_type) || $order_values_type == 'asc' ? SORT_ASC : SORT_DESC)
756
- ) );
757
- }
758
- }
759
- if ( ! br_is_filtered() && $child_parent != 'parent' && $child_parent != 'child' ) {
760
- br_set_cache( $custom_taxonomy . $order_values_by, $terms, $filter_type . $wp_check_product_cat, BeRocket_AJAX_cache_expire );
761
- }
762
- }
763
-
764
- if( BeRocket_AAPF::$debug_mode ) {
765
- $widget_error_log['terms'] = $terms;
766
- }
767
- $terms = apply_filters('berocket_aapf_widget_include_exclude_items', $terms, $instance);
768
-
769
- $set_query_var_title['terms'] = apply_filters( 'berocket_aapf_widget_terms', $terms );
770
- $sort_array = self::sort_child_parent_hierarchy($terms);
771
- @ array_multisort( $sort_array, (empty($order_values_type) || $order_values_type == 'asc' ? SORT_ASC : SORT_DESC), SORT_NUMERIC, $terms );
772
-
773
- if ( ! isset($terms) || ! is_array($terms) || count( $terms ) < 1 ) {
774
- $widget_error_log['terms'] = ( isset($terms) ? $terms : '' );
775
- $widget_error_log['return'] = 'terms < 1';
776
- BeRocket_AAPF::$error_log['6_widgets'][] = $widget_error_log;
777
- $this->restore_wp_the_query($br_wc_query, $wp_the_query, $wp_query, $wc_query, $old_the_query, $old_query);
778
- return false;
779
- }
780
- }
781
- }
782
-
783
- $style = $class = '';
784
- $style = br_get_value_from_array($args, 'widget_inline_style');
785
- if( ! empty($height) and $height != 'auto' ){
786
- $style .= "max-height: {$height}px; overflow: hidden;";
787
- $class = "berocket_aapf_widget_height_control";
788
- }
789
-
790
- if( !$scroll_theme ) $scroll_theme = 'dark';
791
- if( $filter_type == 'custom_taxonomy' )
792
- $attribute = $custom_taxonomy;
793
- if( ! isset($attribute_count) || $attribute_count == '' ) {
794
- $attribute_count = br_get_value_from_array($br_options,'attribute_count');
795
- }
796
-
797
- if( $type == 'select' || $type == 'slider' ) {
798
- $values_per_row = 1;
799
- }
800
-
801
- $set_query_var_title['operator'] = $operator;
802
- $set_query_var_title['attribute'] = $attribute;
803
- $set_query_var_title['type'] = $type;
804
- $set_query_var_title['title'] = apply_filters( 'berocket_aapf_widget_title', $title );
805
- $set_query_var_title['class'] = apply_filters( 'berocket_aapf_widget_class', $class );
806
- $set_query_var_title['css_class'] = apply_filters( 'berocket_aapf_widget_css_class', (isset($css_class) ? $css_class : '') );
807
- $set_query_var_title['style'] = apply_filters( 'berocket_aapf_widget_style', $style );
808
- $set_query_var_title['scroll_theme'] = $scroll_theme;
809
- $set_query_var_title['x'] = time();
810
- $set_query_var_title['filter_type'] = $filter_type;
811
- $set_query_var_title['uo'] = br_aapf_converter_styles( (empty($br_options['styles']) ? '' : $br_options['styles']) );
812
- $set_query_var_title['notuo'] = (empty($br_options['styles']) ? '' : $br_options['styles']);
813
- $set_query_var_title['widget_is_hide'] = (! empty($widget_collapse_enable) && ! empty($widget_is_hide));
814
- $set_query_var_title['widget_collapse_disable'] = empty($widget_collapse_enable);
815
- $set_query_var_title['is_hide_mobile'] = ! empty($is_hide_mobile);
816
- $set_query_var_title['show_product_count_per_attr'] = ! empty($show_product_count_per_attr);
817
- $set_query_var_title['hide_child_attributes'] = ! empty($hide_child_attributes);
818
- $set_query_var_title['cat_value_limit'] = ( isset($cat_value_limit) ? $cat_value_limit : null );
819
- $set_query_var_title['select_first_element_text'] = ( empty($select_first_element_text) ? __('Any', 'BeRocket_AJAX_domain') : $select_first_element_text );
820
- $set_query_var_title['icon_before_title'] = (isset($icon_before_title) ? $icon_before_title : null);
821
- $set_query_var_title['icon_after_title'] = (isset($icon_after_title) ? $icon_after_title : null);
822
- $set_query_var_title['hide_o_value'] = ! empty($br_options['hide_value']['o']);
823
- $set_query_var_title['hide_sel_value'] = ! empty($br_options['hide_value']['sel']);
824
- $set_query_var_title['hide_empty_value'] = ! empty($br_options['hide_value']['empty']);
825
- $set_query_var_title['hide_button_value'] = ! empty($br_options['hide_value']['button']);
826
- $set_query_var_title['attribute_count_show_hide'] = berocket_isset($attribute_count_show_hide);
827
- $set_query_var_title['attribute_count'] = $attribute_count;
828
- $set_query_var_title['description'] = (isset($description) ? $description : null);
829
- $set_query_var_title['hide_collapse_arrow'] = (empty($widget_collapse_enable) || ! empty($hide_collapse_arrow));
830
- $set_query_var_title['values_per_row'] = (isset($values_per_row) ? $values_per_row : null);
831
- $set_query_var_title['child_parent'] = (isset($child_parent) ? $child_parent : null);
832
- $set_query_var_title['child_parent_depth'] = (isset($child_parent_depth) ? $child_parent_depth : null);
833
- $set_query_var_title['product_count_style'] = (isset($br_options['styles_input']['product_count']) ? $br_options['styles_input']['product_count'] : '').'pcs '.(isset($br_options['styles_input']['product_count_position']) ? $br_options['styles_input']['product_count_position'] : null).'pcs';
834
- $set_query_var_title['styles_input'] = (isset($br_options['styles_input']) ? $br_options['styles_input'] : array());
835
- $set_query_var_title['child_parent_previous'] = (isset($child_parent_previous) ? $child_parent_previous : null);
836
- $set_query_var_title['child_parent_no_values'] = (isset($child_parent_no_values) ? $child_parent_no_values : null);
837
- $set_query_var_title['child_parent_no_products'] = (isset($child_parent_no_products) ? $child_parent_no_products : null);
838
- $set_query_var_title['before_title'] = (isset($before_title) ? $before_title : null);
839
- $set_query_var_title['after_title'] = (isset($after_title) ? $after_title : null);
840
- $set_query_var_title['widget_id'] = ( $this->id ? $this->id : $widget_id );
841
- $set_query_var_title['widget_id_number'] = ( $this->number ? $this->number : $widget_id_number );
842
- $set_query_var_title['slug_urls'] = ! empty($br_options['slug_urls']);
843
- $set_query_var_title = apply_filters('berocket_aapf_query_var_title_filter', $set_query_var_title, $instance, $br_options);
844
- set_query_var( 'berocket_query_var_title', $set_query_var_title );
845
-
846
- // widget title and start tag ( <ul> ) can be found in templates/widget_start.php
847
- echo $before_widget;
848
- do_action('berocket_aapf_widget_before_start');
849
- br_get_template_part('widget_start');
850
- do_action('berocket_aapf_widget_after_start');
851
-
852
- $slider_with_string = false;
853
- $stringed_is_numeric = true;
854
- $slider_step = 1;
855
-
856
- if ( $type == 'slider' ) {
857
- $min = $max = false;
858
- $main_class = 'slider';
859
- $slider_class = 'berocket_filter_slider';
860
-
861
- if ( $attribute == 'price' ){
862
- wp_localize_script(
863
- 'berocket_aapf_widget-script',
864
- 'br_price_text',
865
- array(
866
- 'before' => (isset($text_before_price) ? $text_before_price : ''),
867
- 'after' => (isset($text_after_price) ? $text_after_price : ''),
868
- )
869
- );
870
- if ( ! empty($price_values) ) {
871
- $all_terms_name = $price_range;
872
- $all_terms_slug = $price_range;
873
- $stringed_is_numeric = true;
874
- $min = 0;
875
- $max = count( $all_terms_name ) - 1;
876
- $slider_with_string = true;
877
- } else {
878
- if( $price_range ) {
879
- foreach ( $price_range as $price ) {
880
- if ( $min === false or $min > (int) $price ) {
881
- $min = $price;
882
- }
883
- if ( $max === false or $max < (int) $price ) {
884
- $max = $price;
885
- }
886
- }
887
- }
888
- if( $use_min_price ) {
889
- $min = $min_price;
890
- }
891
- if ( $use_max_price ) {
892
- $max = $max_price;
893
- }
894
- }
895
- $id = 'br_price';
896
- $slider_class .= ' berocket_filter_price_slider';
897
- $main_class .= ' price';
898
-
899
- $min = floor( $min );
900
- $max = ceil( $max );
901
- } else {
902
- if ( $slider_default ) {
903
- $slider_with_string = true;
904
- }
905
-
906
- if ( isset($terms) && is_array($terms) && count( $terms ) < 1 ) {
907
- $widget_error_log['terms'] = $terms;
908
- $widget_error_log['return'] = 'terms < 1';
909
- BeRocket_AAPF::$error_log['6_widgets'][] = $widget_error_log;
910
- $this->restore_wp_the_query($br_wc_query, $wp_the_query, $wp_query, $wc_query, $old_the_query, $old_query);
911
- return false;
912
- }
913
-
914
- if( ! empty($terms) && is_array($terms) ) {
915
- $all_terms_name = array();
916
- $all_terms_slug = array();
917
- foreach ( $terms as $term ) {
918
- if ( ! is_numeric( $term->name ) ) {
919
- $slider_with_string = true;
920
- if ( ! is_numeric( substr( $term->name, 0, 1 ) ) ) {
921
- $stringed_is_numeric = false;
922
- }
923
- }
924
- if ( $min === false or strcmp( $min, $term->name ) > 0 ) {
925
- $min = $term->name;
926
- }
927
- if ( $max === false or strcmp( $max, $term->name ) < 0 ) {
928
- $max = $term->name;
929
- }
930
- array_push( $all_terms_name, urldecode($term->slug) );
931
- array_push( $all_terms_slug, $term->name );
932
- }
933
-
934
- if ( ! $slider_with_string ) {
935
- $min = false;
936
- $max = false;
937
- foreach ( $terms as $term ) {
938
- if ( (float) $term->name != (int) (float) $term->name ) {
939
- if ( round( (float) $term->name, 1 ) == (float) $term->name && $slider_step != 100 ) {
940
- $slider_step = 10;
941
- } else {
942
- $slider_step = 100;
943
- }
944
- }
945
- if ( $min === false or $min > (float) $term->name ) {
946
- $min = round( (float) $term->name, 2 );
947
- if ( $min > (float) $term->name ) {
948
- $min -= 0.01;
949
- }
950
- }
951
- if ( $max === false or $max < (float) $term->name ) {
952
- $max = round( (float) $term->name, 2 );
953
- if ( $max < (float) $term->name ) {
954
- $max += 0.01;
955
- }
956
- }
957
- }
958
- }
959
- }
960
- $widget_error_log['slider_with_string'] = (isset($slider_with_string) ? $slider_with_string : null);
961
- $widget_error_log['stringed_is_numeric'] = (isset($stringed_is_numeric) ? $stringed_is_numeric : null);
962
-
963
- $id = $term->taxonomy;
964
- if ( empty($slider_with_string) ) {
965
- $min *= $slider_step;
966
- $max *= $slider_step;
967
- $all_terms_name = null;
968
- } else {
969
- if ( count( $all_terms_name ) == 1 ) {
970
- array_push( $all_terms_name, $all_terms_name[0] );
971
- array_push( $all_terms_slug, $all_terms_slug[0] );
972
- }
973
- $min = 0;
974
- $max = count( $all_terms_name ) - 1;
975
- if( ! empty($stringed_is_numeric) ) {
976
- array_multisort( $all_terms_slug, SORT_NUMERIC, $all_terms_slug, $all_terms_name );
977
- } elseif($filter_type == 'custom_taxonomy') {
978
- array_multisort( $all_terms_name, $all_terms_name, $all_terms_slug );
979
- }
980
- }
981
- $widget_error_log['all_terms_slug'] = (isset($all_terms_slug) ? $all_terms_slug : null);
982
- $widget_error_log['all_terms_name'] = (isset($all_terms_name) ? $all_terms_name : null);
983
- }
984
-
985
- $slider_value1 = $min;
986
- $slider_value2 = $max;
987
-
988
- if ( $attribute == 'price' and ! empty($_POST['price']) ) {
989
- if ( ! empty($price_values) ) {
990
- $slider_value1 = array_search( $_POST['price'][0], $all_terms_name );
991
- $slider_value2 = array_search( $_POST['price'][1], $all_terms_name );
992
- } else {
993
- $slider_value1 = apply_filters('berocket_price_filter_widget_min_amount', apply_filters('berocket_price_slider_widget_min_amount', apply_filters('woocommerce_price_filter_widget_min_amount', $_POST['price'][0])), $_POST['price'][0]);
994
- $slider_value2 = apply_filters('berocket_price_filter_widget_max_amount', apply_filters('berocket_price_slider_widget_max_amount', apply_filters('woocommerce_price_filter_widget_max_amount', $_POST['price'][1])), $_POST['price'][1]);
995
- }
996
- }
997
- if ( $attribute != 'price' and ! empty($_POST['limits']) and is_array($_POST['limits']) ) {
998
- foreach ( $_POST['limits'] as $p_limit ) {
999
- if ( $p_limit[0] == $attribute ) {
1000
- $slider_value1 = $p_limit[1];
1001
- $slider_value2 = $p_limit[2];
1002
- if ( ! $slider_with_string ) {
1003
- $slider_value1 *= $slider_step;
1004
- $slider_value2 *= $slider_step;
1005
- } else {
1006
- $p_limit[1] = urldecode( $p_limit[1] );
1007
- $p_limit[2] = urldecode( $p_limit[2] );
1008
- $slider_value1 = array_search( $p_limit[1], $all_terms_name );
1009
- $slider_value2 = array_search( $p_limit[2], $all_terms_name );
1010
- if( $slider_value1 === FALSE ) {
1011
- $slider_value1 = 0;
1012
- }
1013
- if( $slider_value2 === FALSE ) {
1014
- $slider_value2 = count($all_terms_name) - 1;
1015
- }
1016
- }
1017
- }
1018
- }
1019
- if( BeRocket_AAPF::$debug_mode ) {
1020
- $widget_error_log['value_1'] = $slider_value1;
1021
- $widget_error_log['value_2'] = $slider_value2;
1022
- $widget_error_log['step'] = $slider_step;
1023
- }
1024
- }
1025
-
1026
- $wpml_id = preg_replace( '#^pa_#', '', $id );
1027
- $wpml_id = 'pa_'.berocket_wpml_attribute_translate($wpml_id);
1028
- $set_query_var_title['slider_value1'] = $slider_value1;
1029
- $set_query_var_title['slider_value2'] = $slider_value2;
1030
- $set_query_var_title['filter_slider_id'] = $wpml_id;
1031
- $set_query_var_title['main_class'] = $main_class;
1032
- $set_query_var_title['slider_class'] = $slider_class;
1033
- $set_query_var_title['min'] = $min;
1034
- $set_query_var_title['max'] = $max;
1035
- $set_query_var_title['step'] = $slider_step;
1036
- $set_query_var_title['slider_with_string'] = $slider_with_string;
1037
- $set_query_var_title['all_terms_name'] = ( empty($all_terms_name) ? null : $all_terms_name );
1038
- $set_query_var_title['all_terms_slug'] = ( empty($all_terms_slug) ? null : $all_terms_slug );
1039
- $set_query_var_title['text_before_price'] = (isset($text_before_price) ? $text_before_price : null);
1040
- $set_query_var_title['text_after_price'] = (isset($text_after_price) ? $text_after_price : null);
1041
- $set_query_var_title['enable_slider_inputs'] = (isset($enable_slider_inputs) ? $enable_slider_inputs : null);
1042
- if( ! empty($number_style) ) {
1043
- $set_query_var_title['number_style'] = array(
1044
- ( empty($number_style_thousand_separate) ? '' : $number_style_thousand_separate ),
1045
- ( empty($number_style_decimal_separate) ? '' : $number_style_decimal_separate ),
1046
- ( empty($number_style_decimal_number) ? '' : $number_style_decimal_number )
1047
- );
1048
- } else {
1049
- $set_query_var_title['number_style'] = '';
1050
- }
1051
- }
1052
- $set_query_var_title['first_page_jump'] = ( empty($first_page_jump) ? '' : $first_page_jump );
1053
- $set_query_var_title['icon_before_value'] = (isset($icon_before_value) ? $icon_before_value : null);
1054
- $set_query_var_title['icon_after_value'] = (isset($icon_after_value) ? $icon_after_value : null);
1055
-
1056
- if ( $type == 'tag_cloud' ) {
1057
- $tag_script_var = array(
1058
- 'height' => $tag_cloud_height,
1059
- 'min_font_size' => $tag_cloud_min_font,
1060
- 'max_font_size' => $tag_cloud_max_font,
1061
- 'tags_count' => $tag_cloud_tags_count,
1062
- 'tags_type' => $tag_cloud_type
1063
- );
1064
- $set_query_var_title['tag_script_var'] = $tag_script_var;
1065
- } elseif ( $type == 'color' || $type == 'image' ) {
1066
- $set_query_var_title['use_value_with_color'] = (isset($use_value_with_color) ? $use_value_with_color : null);
1067
- $set_query_var_title['disable_multiple'] = (isset($disable_multiple) ? $disable_multiple : null);
1068
- $set_query_var_title['color_image_block_size'] = berocket_isset($color_image_block_size, false, 'h2em w2em');
1069
- $set_query_var_title['color_image_checked'] = berocket_isset($color_image_checked, false, 'brchecked_default');
1070
- $set_query_var_title['color_image_checked_custom_css'] = berocket_isset($color_image_checked_custom_css);
1071
- $set_query_var_title['color_image_block_size_height'] = berocket_isset($color_image_block_size_height);
1072
- $set_query_var_title['color_image_block_size_width'] = berocket_isset($color_image_block_size_width);
1073
- }
1074
- if( $type == 'select' ) {
1075
- if( ! empty($br_options['use_select2']) ) {
1076
- if( ! empty($br_options['fixed_select2']) ) {
1077
- wp_enqueue_style( 'br_select2' );
1078
- } else {
1079
- wp_enqueue_style( 'select2' );
1080
- }
1081
- wp_enqueue_script( 'select2' );
1082
- }
1083
- $set_query_var_title['select_multiple'] = ! empty($select_multiple);
1084
- }
1085
- set_query_var( 'berocket_query_var_title', apply_filters('berocket_query_var_title_before_widget', $set_query_var_title, $type, $instance));
1086
- br_get_template_part( apply_filters('berocket_widget_load_template_name', $type, $instance, (empty($terms) ? '' : $terms)) );
1087
-
1088
- do_action('berocket_aapf_widget_before_end');
1089
- br_get_template_part('widget_end');
1090
- do_action('berocket_aapf_widget_after_end');
1091
- echo $after_widget;
1092
- if( BeRocket_AAPF::$debug_mode ) {
1093
- $widget_error_log['terms'] = (isset($terms) ? $terms : null);
1094
- }
1095
- $widget_error_log['return'] = 'OK';
1096
- BeRocket_AAPF::$error_log['6_widgets'][] = $widget_error_log;
1097
- $this->restore_wp_the_query($br_wc_query, $wp_the_query, $wp_query, $wc_query, $old_the_query, $old_query);
1098
- }
1099
-
1100
- public static function restore_wp_the_query(&$br_wc_query, &$wp_the_query, &$wp_query, &$wc_query, &$old_the_query, &$old_query) {
1101
- if ( isset ( $br_wc_query ) ) {
1102
- if ( isset ( $old_query ) ) {
1103
- $wp_the_query = $old_the_query;
1104
- $wp_query = $old_query;
1105
- }
1106
- if( ! empty($wc_query) && is_a($wc_query, 'WP_Query') && class_exists('WC_Query') && method_exists('WC_Query', 'product_query') && method_exists('WC_Query', 'get_main_query') ) {
1107
- wc()->query->product_query($wc_query);
1108
- }
1109
- wc()->query->remove_ordering_args();
1110
- }
1111
- }
1112
-
1113
- public static function woocommerce_hide_out_of_stock_items(){
1114
- $hide = get_option( 'woocommerce_hide_out_of_stock_items', null );
1115
-
1116
- if ( is_array( $hide ) ) {
1117
- $hide = array_map( 'stripslashes', $hide );
1118
- } elseif ( ! is_null( $hide ) ) {
1119
- $hide = stripslashes( $hide );
1120
- }
1121
-
1122
- return apply_filters( 'berocket_aapf_hide_out_of_stock_items', $hide );
1123
- }
1124
-
1125
- public static function price_range_count($term, $from, $to) {
1126
- if( class_exists('WP_Meta_Query') && class_exists('WP_Tax_Query') ) {
1127
- global $wpdb, $wp_query;
1128
- $old_join_posts = '';
1129
- $has_new_function = method_exists('WC_Query', 'get_main_query') && method_exists('WC_Query', 'get_main_meta_query') && method_exists('WC_Query', 'get_main_tax_query');
1130
- if( $has_new_function ) {
1131
- $WC_Query_get_main_query = WC_Query::get_main_query();
1132
- $has_new_function = ! empty($WC_Query_get_main_query);
1133
- }
1134
- if( ! $has_new_function ) {
1135
- $old_query_vars = self::old_wc_compatible($wp_query);
1136
- $old_meta_query = (empty( $old_query_vars[ 'meta_query' ] ) || ! is_array($old_query_vars[ 'meta_query' ]) ? array() : $old_query_vars['meta_query']);
1137
- $old_tax_query = (empty($old_query_vars['tax_query']) || ! is_array($old_query_vars[ 'tax_query' ]) ? array() : $old_query_vars['tax_query']);
1138
- } else {
1139
- $old_query_vars = self::old_wc_compatible($wp_query, true);
1140
- }
1141
- if( ! empty( $old_query_vars['posts__in'] ) ) {
1142
- $old_join_posts = " AND {$wpdb->posts}.ID IN (".implode(',', $old_query_vars['posts__in']).") ";
1143
- }
1144
- if( $has_new_function ) {
1145
- $tax_query = WC_Query::get_main_tax_query();
1146
- } else {
1147
- $tax_query = $old_tax_query;
1148
- }
1149
- if( $has_new_function ) {
1150
- $meta_query = WC_Query::get_main_meta_query();
1151
- } else {
1152
- $meta_query = $old_meta_query;
1153
- }
1154
- foreach( $meta_query as $key => $val ) {
1155
- if( is_array($val) ) {
1156
- if ( ! empty( $val['price_filter'] ) || ! empty( $val['rating_filter'] ) ) {
1157
- unset( $meta_query[ $key ] );
1158
- }
1159
- if( isset( $val['relation']) ) {
1160
- unset($val['relation']);
1161
- foreach( $val as $key2 => $val2 ) {
1162
- if ( isset( $val2['key'] ) && $val2['key'] == apply_filters('berocket_price_filter_meta_key', '_price', 'widget_1162') ) {
1163
- if ( isset( $meta_query[ $key ][ $key2 ] ) ) unset( $meta_query[ $key ][ $key2 ] );
1164
- }
1165
- }
1166
- if( count($meta_query[ $key ]) <= 1 ) {
1167
- unset( $meta_query[ $key ] );
1168
- }
1169
- } else {
1170
- if ( isset( $val['key'] ) && $val['key'] == apply_filters('berocket_price_filter_meta_key', '_price', 'widget_1170') ) {
1171
- if ( isset( $meta_query[ $key ] ) ) unset( $meta_query[ $key ] );
1172
- }
1173
- }
1174
- }
1175
- }
1176
- $queried_object = $wp_query->get_queried_object_id();
1177
- if( ! empty($queried_object) ) {
1178
- $query_object = $wp_query->get_queried_object();
1179
- if( ! empty($query_object->taxonomy) && ! empty($query_object->slug) ) {
1180
- $tax_query[ $query_object->taxonomy ] = array(
1181
- 'taxonomy' => $query_object->taxonomy,
1182
- 'terms' => array( $query_object->slug ),
1183
- 'field' => 'slug',
1184
- );
1185
- }
1186
- }
1187
- $meta_query = new WP_Meta_Query( $meta_query );
1188
- $tax_query = new WP_Tax_Query( $tax_query );
1189
- $meta_query_sql = $meta_query->get_sql( 'post', $wpdb->posts, 'ID' );
1190
- $tax_query_sql = $tax_query->get_sql( $wpdb->posts, 'ID' );
1191
-
1192
- // Generate query
1193
- $query = array();
1194
- $query['select'] = "SELECT COUNT( DISTINCT {$wpdb->posts}.ID ) as range_count";
1195
- $query['from'] = "FROM {$wpdb->posts}";
1196
- $query['join'] = "
1197
- INNER JOIN {$wpdb->postmeta} AS price_term ON {$wpdb->posts}.ID = price_term.post_id
1198
- " . $tax_query_sql['join'] . $meta_query_sql['join'];
1199
- $query['where'] = "
1200
- WHERE {$wpdb->posts}.post_type IN ( 'product' )
1201
- AND " . br_select_post_status() . "
1202
- " . $tax_query_sql['where'] . $meta_query_sql['where'] . "
1203
- AND price_term.meta_key = '".apply_filters('berocket_price_filter_meta_key', '_price', 'widget_1203')."'
1204
- AND price_term.meta_value >= {$from} AND price_term.meta_value <= {$to}
1205
- ";
1206
- if( defined( 'WCML_VERSION' ) && defined('ICL_LANGUAGE_CODE') ) {
1207
- $query['join'] = $query['join']." INNER JOIN {$wpdb->prefix}icl_translations as wpml_lang ON ( {$wpdb->posts}.ID = wpml_lang.element_id )";
1208
- $query['where'] = $query['where']." AND wpml_lang.language_code = '".ICL_LANGUAGE_CODE."' AND wpml_lang.element_type = 'post_product'";
1209
- }
1210
- br_where_search( $query );
1211
- $query['where'] .= $old_join_posts;
1212
- $query = apply_filters( 'woocommerce_get_filtered_ranges_product_counts_query', $query );
1213
- $query = implode( ' ', $query );
1214
-
1215
- $results = $wpdb->get_results( $query );
1216
- if( isset( $results[0]->range_count ) ) {
1217
- $term->count = $results[0]->range_count;
1218
- }
1219
- }
1220
- return $term;
1221
- }
1222
-
1223
- public static function get_price_range( $wp_query_product_cat, $product_cat = null ) {
1224
- global $wpdb;
1225
-
1226
- $BeRocket_AAPF = BeRocket_AAPF::getInstance();
1227
- $br_options = $BeRocket_AAPF->get_option();
1228
-
1229
- if( br_woocommerce_version_check('3.6') ) {
1230
- $query[ 'select' ] = "SELECT MIN(cast(FLOOR(wc_product_meta_lookup.min_price) as decimal)) as min_price,
1231
- MAX(cast(CEIL(wc_product_meta_lookup.max_price) as decimal)) as max_price ";
1232
- $query[ 'from' ] = "FROM {$wpdb->posts}";
1233
- $query[ 'join' ] = " INNER JOIN {$wpdb->wc_product_meta_lookup} as wc_product_meta_lookup ON $wpdb->posts.ID = wc_product_meta_lookup.product_id ";
1234
- } else {
1235
- $query[ 'select' ] = "SELECT MIN(cast(FLOOR(wp_price_check.meta_value) as decimal)) as min_price,
1236
- MAX(cast(CEIL(wp_price_check.meta_value) as decimal)) as max_price ";
1237
- $query[ 'from' ] = "FROM {$wpdb->postmeta} as wp_price_check";
1238
- $query[ 'join' ] = "INNER JOIN {$wpdb->posts} ON ({$wpdb->posts}.ID = wp_price_check.post_id)";
1239
- }
1240
- if ( ! braapf_filters_must_be_recounted('first') ) {
1241
- $query[ 'where' ] = " WHERE {$wpdb->posts}.post_type = 'product' AND " . br_select_post_status();
1242
- } else {
1243
- $query = br_filters_query( $query, 'price', $product_cat );
1244
- }
1245
-
1246
- if( !br_woocommerce_version_check('3.6') ) {
1247
- if ( $query[ 'where' ] ) {
1248
- $query[ 'where' ] .= " AND ";
1249
- } else {
1250
- $query[ 'where' ] = " WHERE ";
1251
- }
1252
- $query[ 'where' ] .= "wp_price_check.meta_key = '".apply_filters('berocket_price_filter_meta_key', '_price', 'widget_1243')."' AND wp_price_check.meta_value > ''";
1253
- }
1254
-
1255
- if ( $post__not_in = apply_filters('berocket_aapf_get_attribute_values_post__not_in_outside', false) ) {
1256
- if ( $query[ 'where' ] ) {
1257
- $query[ 'where' ] .= " AND ";
1258
- } else {
1259
- $query[ 'where' ] = " WHERE ";
1260
- }
1261
-
1262
- $query[ 'where' ] .= "$wpdb->posts.ID NOT IN(" . implode( ',', $post__not_in ) . ")";
1263
- }
1264
- if ( $post__in = apply_filters('berocket_aapf_get_attribute_values_post__in_outside', false) ) {
1265
- if ( $query[ 'where' ] ) {
1266
- $query[ 'where' ] .= " AND ";
1267
- } else {
1268
- $query[ 'where' ] = " WHERE ";
1269
- }
1270
-
1271
- $query[ 'where' ] .= "$wpdb->posts.ID IN(" . implode( ',', $post__not_in ) . ")";
1272
- }
1273
-
1274
-
1275
- $query_string = implode( ' ', $query );
1276
-
1277
- $query_string = $wpdb->get_row( $query_string );
1278
-
1279
- $price_range = false;
1280
- if ( isset( $query_string->min_price ) && isset( $query_string->max_price ) && $query_string->min_price != $query_string->max_price ) {
1281
- $price_range = array(
1282
- apply_filters('berocket_price_filter_widget_min_amount', apply_filters('berocket_price_slider_widget_min_amount', apply_filters( 'woocommerce_price_filter_widget_min_amount', $query_string->min_price )), $query_string->min_price),
1283
- apply_filters('berocket_price_filter_widget_max_amount', apply_filters('berocket_price_slider_widget_max_amount', apply_filters( 'woocommerce_price_filter_widget_max_amount', $query_string->max_price )), $query_string->max_price)
1284
- );
1285
- }
1286
-
1287
- return apply_filters( 'berocket_aapf_get_price_range', $price_range );
1288
- }
1289
-
1290
- public static function get_attribute_values( $taxonomy = '', $order_by = 'id', $hide_empty = false, $count_filtering = true, $input_terms = FALSE, $product_cat = FALSE, $operator = 'OR' ) {
1291
- $br_options = apply_filters( 'berocket_aapf_listener_br_options', BeRocket_AAPF::get_aapf_option() );
1292
- if ( ! $taxonomy || $taxonomy == 'price' ) return array();
1293
- if( $taxonomy == '_rating' ) $taxonomy = 'product_visibility';
1294
- $terms = (empty($input_terms) ? FALSE : $input_terms);
1295
- if( is_array($terms) && count($terms) ) {
1296
- $first_element = array_shift($terms);
1297
- if(empty($first_element) || $first_element->term_id != 'R__term_id__R') {
1298
- $terms = (empty($input_terms) ? FALSE : $input_terms);
1299
- unset($first_element);
1300
- }
1301
- }
1302
- if( empty($terms) && ! empty($input_terms) ) {
1303
- return $input_terms;
1304
- }
1305
-
1306
- global $wp_query, $br_wc_query, $br_aapf_wc_footer_widget;
1307
-
1308
- $post__in = ( isset($wp_query->query_vars['post__in']) ? $wp_query->query_vars['post__in'] : array() );
1309
- if (
1310
- ! empty( $br_wc_query ) and
1311
- ! empty( $br_wc_query->query ) and
1312
- isset( $br_wc_query->query['post__in'] ) and
1313
- is_array( $br_wc_query->query['post__in'] )
1314
- ) {
1315
- $post__in = array_merge( $post__in, $br_wc_query->query[ 'post__in' ] );
1316
- }
1317
-
1318
- if( empty($post__in) || ! is_array($post__in) || count($post__in) == 0 ) {
1319
- $post__in = false;
1320
- }
1321
- $post__not_in = ( isset($wp_query->query_vars['post__not_in']) ? $wp_query->query_vars['post__not_in'] : array() );
1322
- if( empty($post__not_in) || ! is_array($post__not_in) || count($post__not_in) == 0 ) {
1323
- $post__not_in = false;
1324
- }
1325
- global $braapf_not_filtered_data;
1326
- if( isset($braapf_not_filtered_data['post__not_in']) ) {
1327
- $post__not_in = $braapf_not_filtered_data['post__not_in'];
1328
- }
1329
- $recount_args = array(
1330
- 'taxonomy' => $taxonomy,
1331
- 'operator' => $operator,
1332
- 'use_filters' => FALSE,
1333
- 'post__not_in' => apply_filters('berocket_aapf_get_attribute_values_post__not_in_outside', $post__not_in),
1334
- 'post__in' => apply_filters('berocket_aapf_get_attribute_values_post__in_outside', $post__in)
1335
- );
1336
- if( ! empty($product_cat) ) {
1337
- $recount_args['additional_tax_query'] = array(
1338
- 'field' => 'slug',
1339
- 'include_children' => true,
1340
- 'operator' => 'IN',
1341
- 'taxonomy' => 'product_cat',
1342
- 'terms' => array($product_cat)
1343
- );
1344
- }
1345
- if( $hide_empty ) {
1346
- $terms = apply_filters('berocket_aapf_recount_terms_apply', $terms, $recount_args);
1347
- } elseif(empty($terms)) {
1348
- $terms = get_terms( array(
1349
- 'taxonomy' => $taxonomy,
1350
- 'hide_empty' => true,
1351
- 'hierarchical' => true,
1352
- 'post__not_in' => apply_filters('berocket_aapf_get_attribute_values_post__not_in_outside', false),
1353
- 'post__in' => apply_filters('berocket_aapf_get_attribute_values_post__in_outside', false)
1354
- ) );
1355
- }
1356
- if( empty($terms) || ! is_array($terms) ) {
1357
- $terms = array();
1358
- }
1359
- if( $hide_empty ) {
1360
- foreach($terms as $term_id => $term) {
1361
- if( $term->count == 0 ) {
1362
- unset($terms[$term_id]);
1363
- }
1364
- }
1365
- }
1366
- if (
1367
- ( ! $hide_empty
1368
- || apply_filters( 'berocket_aapf_is_filtered_page_check', ! empty($_GET['filters']), 'get_filter_args', $wp_query )
1369
- || ( ! empty($br_options['out_of_stock_variable_reload']) && ! empty($br_options['out_of_stock_variable']) )
1370
- || is_filtered()
1371
- ) && $count_filtering
1372
- ) {
1373
- $recount_args['use_filters'] = true;
1374
- $terms = apply_filters('berocket_aapf_recount_terms_apply', $terms, $recount_args);
1375
- }
1376
- if( isset($first_element) ) {
1377
- array_unshift($terms, $first_element);
1378
- }
1379
- return $terms;
1380
- }
1381
-
1382
- public static function sort_child_parent_hierarchy($terms) {
1383
- $terms_sort = array();
1384
- $new_terms = $terms;
1385
- $terms = array_reverse($terms);
1386
- foreach($terms as $term_id => $term) {
1387
- if(empty($term->parent)) {
1388
- $terms_sort[] = $term->term_id;
1389
- unset($terms[$term_id]);
1390
- }
1391
- }
1392
- $length = 0;
1393
- while(count($terms) && $length < 30) {
1394
- foreach($terms as $term_id => $term) {
1395
- $term_i = array_search($term->parent, $terms_sort);
1396
- if( $term_i !== FALSE ) {
1397
- array_splice($terms_sort, $term_i, 0, array($term->term_id));
1398
- unset($terms[$term_id]);
1399
- }
1400
- }
1401
- $length++;
1402
- }
1403
- if( count($terms) ) {
1404
- foreach($terms as $term_id => $term) {
1405
- $terms_sort[] = $term->term_id;
1406
- }
1407
- }
1408
- $sort_array = array();
1409
- foreach($new_terms as $terms) {
1410
- $sort_array[] = array_search($terms->term_id, $terms_sort);
1411
- }
1412
- return $sort_array;
1413
- }
1414
-
1415
- public static function sort_terms( &$terms, $sort_data ) {
1416
- $sort_array = array();
1417
- if ( ! empty($terms) && is_array( $terms ) && count( $terms ) ) {
1418
- if ( ! empty($sort_data['attribute']) and in_array($sort_data['attribute'], array('product_cat', 'berocket_brand')) and ! empty($sort_data['order_values_by']) and $sort_data['order_values_by'] == 'Default' ) {
1419
- foreach ( $terms as $term ) {
1420
- $element_of_sort = get_term_meta( $term->term_id, 'order', true );
1421
- if( is_array($element_of_sort) || $element_of_sort === false ) {
1422
- $sort_array[] = 0;
1423
- } else {
1424
- $sort_array[] = $element_of_sort;
1425
- }
1426
- if ( ! empty($term->child) ) {
1427
- self::sort_terms( $term->child, $sort_data );
1428
- }
1429
- }
1430
- if( BeRocket_AAPF::$debug_mode ) {
1431
- BeRocket_AAPF::$error_log[$sort_data['attribute'].'_sort'] = array('array' => $sort_array, 'sort' => $terms, 'data' => $sort_data );
1432
- }
1433
- @ array_multisort( $sort_array, $sort_data['order_values_type'], SORT_NUMERIC, $terms );
1434
- } elseif ( ! empty($sort_data['wc_order_by']) or ! empty($sort_data['order_values_by']) ) {
1435
- if ( ! empty($sort_data['order_values_by']) and $sort_data['order_values_by'] == 'Numeric' ) {
1436
- foreach ( $terms as $term ) {
1437
- $sort_array[] = (float)preg_replace('/\s+/', '', str_replace(',', '.', $term->name));
1438
- if ( ! empty($term->child) ) {
1439
- self::sort_terms( $term->child, $sort_data );
1440
- }
1441
- }
1442
- @ array_multisort( $sort_array, $sort_data['order_values_type'], SORT_NUMERIC, $terms );
1443
- } else {
1444
- $get_terms_args = array( 'hide_empty' => '0', 'fields' => 'ids' );
1445
-
1446
- if ( ! empty($sort_data['order_values_by']) and $sort_data['order_values_by'] == 'Alpha' ) {
1447
- $orderby = 'name';
1448
- } else {
1449
- $orderby = 'name';
1450
- foreach($terms as $term_sort) {
1451
- $orderby = wc_attribute_orderby( $term_sort->taxonomy );
1452
- break;
1453
- }
1454
- }
1455
-
1456
- switch ( $orderby ) {
1457
- case 'name':
1458
- $get_terms_args['orderby'] = 'name';
1459
- $get_terms_args['menu_order'] = false;
1460
- break;
1461
- case 'id':
1462
- $get_terms_args['orderby'] = 'id';
1463
- $get_terms_args['order'] = 'ASC';
1464
- $get_terms_args['menu_order'] = false;
1465
- break;
1466
- case 'menu_order':
1467
- $get_terms_args['menu_order'] = 'ASC';
1468
- break;
1469
- default:
1470
- break;
1471
- }
1472
-
1473
- if( count($terms) ) {
1474
- $terms_first = reset($terms);
1475
- $terms2 = get_terms( $terms_first->taxonomy, $get_terms_args );
1476
- foreach ( $terms as $term ) {
1477
- $sort_array[] = array_search($term->term_id, $terms2);
1478
- if ( ! empty($term->child) ) {
1479
- self::sort_terms( $term->child, $sort_data );
1480
- }
1481
- }
1482
- @ array_multisort( $sort_array, $sort_data['order_values_type'], SORT_NUMERIC, $terms );
1483
- }
1484
- }
1485
- $sort_array = self::sort_child_parent_hierarchy($terms);
1486
- @ array_multisort( $sort_array, SORT_DESC, SORT_NUMERIC, $terms );
1487
- }
1488
- }
1489
- }
1490
-
1491
- public static function set_terms_on_same_level( $terms, $return_array = array(), $add_spaces = true ) {
1492
- if ( ! empty($terms) && is_array( $terms ) && count( $terms ) ) {
1493
- foreach ( $terms as $term ) {
1494
- if ( $add_spaces ) {
1495
- for ( $i = 0; $i < $term->depth; $i++ ) {
1496
- $term->name = "&nbsp;&nbsp;" . $term->name;
1497
- }
1498
- }
1499
-
1500
- if( ! empty($term->child) ) {
1501
- $child = $term->child;
1502
- unset( $term->child );
1503
- }
1504
-
1505
- $return_array[] = $term;
1506
-
1507
- if ( ! empty($child) ) {
1508
- $return_array = self::set_terms_on_same_level( $child, $return_array, $add_spaces );
1509
- unset($child);
1510
- }
1511
- }
1512
- } else {
1513
- $return_array = $terms;
1514
- }
1515
- return $return_array;
1516
- }
1517
-
1518
- public static function get_filter_products( $wp_query_product_cat, $woocommerce_hide_out_of_stock_items, $use_filters = true ) {
1519
- $BeRocket_AAPF = BeRocket_AAPF::getInstance();
1520
- global $wp_query, $wp_rewrite;
1521
- $_POST['product_cat'] = $wp_query_product_cat;
1522
-
1523
- $old_post_terms = (isset($_POST['terms']) ? $_POST['terms'] : null);
1524
-
1525
- add_filter( 'woocommerce_pagination_args', array( __CLASS__, 'pagination_args' ) );
1526
-
1527
- $args = apply_filters( 'berocket_aapf_listener_wp_query_args', array() );
1528
- $tags = (isset($args['product_tag']) ? $args['product_tag'] : null);
1529
- $meta_query = $BeRocket_AAPF->remove_out_of_stock( array() , true, $woocommerce_hide_out_of_stock_items != 'yes' );
1530
- $args['post__in'] = array();
1531
-
1532
- if( $woocommerce_hide_out_of_stock_items == 'yes' ) {
1533
- $args['post__in'] = $BeRocket_AAPF->remove_out_of_stock( $args['post__in'] );
1534
- }
1535
- if ( $use_filters ) {
1536
- $args['post__in'] = $BeRocket_AAPF->limits_filter( $args['post__in'] );
1537
- $args['post__in'] = $BeRocket_AAPF->price_filter( $args['post__in'] );
1538
- $args['post__in'] = $BeRocket_AAPF->add_terms( $args['post__in'] );
1539
- } else {
1540
- $args = array( 'posts_per_page' => -1 );
1541
- if ( ! empty($_POST['product_cat']) and $_POST['product_cat'] != '-1' ) {
1542
- $args['tax_query'][] = array(
1543
- 'taxonomy' => 'product_cat',
1544
- 'field' => 'slug',
1545
- 'terms' => strip_tags( $_POST['product_cat'] ),
1546
- 'operator' => 'IN'
1547
- );
1548
- }
1549
- }
1550
-
1551
- $args['post_status'] = 'publish';
1552
- $args['post_type'] = 'product';
1553
-
1554
- if( isset($args['tax_query']) ) {
1555
- $tax_query_reset = $args['tax_query'];
1556
- unset($args['tax_query']);
1557
- }
1558
- $wp_query = new WP_Query( $args );
1559
- if( isset($tax_query_reset) ) {
1560
- $wp_query->set('tax_query', $tax_query_reset);
1561
- $args['tax_query'] = $tax_query_reset;
1562
- unset($tax_query_reset);
1563
- }
1564
-
1565
- // here we get max products to know if current page is not too big
1566
- if( ! isset($_POST['location']) ) {
1567
- $_POST['location'] = '';
1568
- }
1569
- if ( $wp_rewrite->using_permalinks() and preg_match( "~/page/([0-9]+)~", $_POST['location'], $mathces ) or preg_match( "~paged?=([0-9]+)~", $_POST['location'], $mathces ) ) {
1570
- $args['paged'] = min( $mathces[1], $wp_query->max_num_pages );
1571
- if( isset($args['tax_query']) ) {
1572
- $tax_query_reset = $args['tax_query'];
1573
- unset($args['tax_query']);
1574
- }
1575
- $wp_query = new WP_Query( $args );
1576
- if( isset($tax_query_reset) ) {
1577
- $wp_query->set('tax_query', $tax_query_reset);
1578
- $args['tax_query'] = $tax_query_reset;
1579
- unset($tax_query_reset);
1580
- }
1581
- }
1582
- if ( $wp_query->found_posts <= 1 ) {
1583
- $args['paged'] = 0;
1584
- if( isset($args['tax_query']) ) {
1585
- $tax_query_reset = $args['tax_query'];
1586
- unset($args['tax_query']);
1587
- }
1588
- $wp_query = new WP_Query( $args );
1589
- if( isset($tax_query_reset) ) {
1590
- $wp_query->set('tax_query', $tax_query_reset);
1591
- $args['tax_query'] = $tax_query_reset;
1592
- unset($tax_query_reset);
1593
- }
1594
- }
1595
-
1596
- $products = array();
1597
- if ( $wp_query->have_posts() ) {
1598
- while ( have_posts() ) {
1599
- the_post();
1600
- $products[] = get_the_ID();
1601
- }
1602
- }
1603
-
1604
- wp_reset_query();
1605
- if( isset($meta_query) && is_array( $meta_query ) && count( $meta_query ) > 0 ) {
1606
- $q_vars = $wp_query->query_vars;
1607
- foreach( $q_vars['meta_query'] as $key_meta => $val_meta ) {
1608
- if( $key_meta != 'relation' && $val_meta['key'] == '_stock_status') {
1609
- unset( $q_vars['meta_query'][$key_meta] );
1610
- }
1611
- }
1612
- $q_vars['meta_query'] = array_merge( $q_vars['meta_query'], $meta_query );
1613
- $wp_query->set('meta_query', $q_vars['meta_query']);
1614
- }
1615
- if( ! empty($tags) ) {
1616
- $q_vars = $wp_query->query_vars;
1617
- $q_vars['product_tag'] = $tags;
1618
- unset($q_vars['s']);
1619
- if( isset($q_vars['tax_query']) ) {
1620
- $tax_query_reset = $q_vars['tax_query'];
1621
- unset($q_vars['tax_query']);
1622
- }
1623
- $wp_query = new WP_Query( $q_vars );
1624
- if( isset($tax_query_reset) ) {
1625
- $wp_query->set('tax_query', $tax_query_reset);
1626
- $q_vars['tax_query'] = $tax_query_reset;
1627
- unset($tax_query_reset);
1628
- }
1629
- }
1630
-
1631
- $_POST['terms'] = $old_post_terms;
1632
- return $products;
1633
- }
1634
-
1635
- /**
1636
- * Validating and updating widget data
1637
- *
1638
- * @param array $new_instance
1639
- * @param array $old_instance
1640
- *
1641
- * @return array - new merged instance
1642
- */
1643
- function update( $new_instance, $old_instance ) {
1644
- return $old_instance;
1645
- }
1646
-
1647
- /**
1648
- * Output admin form
1649
- *
1650
- * @param array $instance
1651
- *
1652
- * @return string|void
1653
- */
1654
- function form( $instance ) {
1655
- $BeRocket_AAPF = BeRocket_AAPF::getInstance();
1656
- $BeRocket_AAPF->register_admin_scripts();
1657
- wp_enqueue_script( 'berocket_aapf_widget-admin' );
1658
-
1659
- wp_register_style( 'berocket_aapf_widget-style-admin', plugins_url('../css/admin.css', __FILE__), "", BeRocket_AJAX_filters_version );
1660
- wp_enqueue_style( 'berocket_aapf_widget-style-admin' );
1661
-
1662
- $default = apply_filters( 'berocket_aapf_form_defaults', self::$defaults );
1663
-
1664
- $instance = wp_parse_args( (array) $instance, $default );
1665
- if( ! empty($instance['product_cat']) && is_array($instance['product_cat']) ) {
1666
- foreach($instance['product_cat'] as &$product_cat_el) {
1667
- $product_cat_el = urldecode($product_cat_el);
1668
- }
1669
- }
1670
- $instance['product_cat'] = (isset($instance['product_cat']) ? $instance['product_cat'] : '');
1671
- $attributes = br_aapf_get_attributes();
1672
- $categories = self::get_product_categories( @ json_decode( $instance['product_cat'] ) );
1673
- $categories = self::set_terms_on_same_level( $categories );
1674
- $tags = get_terms( 'product_tag' );
1675
- $custom_taxonomies = get_object_taxonomies( 'product' );
1676
- $custom_taxonomies = array_combine($custom_taxonomies, $custom_taxonomies);
1677
-
1678
- include AAPF_TEMPLATE_PATH . "admin.php";
1679
- }
1680
-
1681
- /**
1682
- * Widget ajax listener
1683
- */
1684
- public static function listener(){
1685
- global $wp_query, $wp_rewrite;
1686
- $br_options = apply_filters( 'berocket_aapf_listener_br_options', BeRocket_AAPF::get_aapf_option() );
1687
-
1688
- $wp_query = self::listener_wp_query();
1689
- if( class_exists('WC_Query') && method_exists('WC_Query', 'product_query') ) {
1690
- $wp_query->get_posts();
1691
- wc()->query->product_query($wp_query);
1692
- }
1693
-
1694
- if( ! empty($br_options['alternative_load']) && $br_options['alternative_load_type'] == 'wpajax' ) {
1695
- ob_start();
1696
-
1697
- $is_have_post = $wp_query->have_posts();
1698
- if ( $is_have_post ) {
1699
- do_action('woocommerce_before_shop_loop');
1700
-
1701
- woocommerce_product_loop_start();
1702
- woocommerce_product_subcategories();
1703
-
1704
- while ( have_posts() ) {
1705
- the_post();
1706
- wc_get_template_part( 'content', 'product' );
1707
- }
1708
-
1709
- woocommerce_product_loop_end();
1710
-
1711
- do_action('woocommerce_after_shop_loop');
1712
-
1713
- wp_reset_postdata();
1714
-
1715
- $_RESPONSE['products'] = ob_get_contents();
1716
- } else {
1717
- echo apply_filters( 'berocket_aapf_listener_no_products_message', "<div class='no-products" . ( ( $br_options['no_products_class'] ) ? ' '.$br_options['no_products_class'] : '' ) . "'>" . $br_options['no_products_message'] . "</div>" );
1718
-
1719
- $_RESPONSE['no_products'] = ob_get_contents();
1720
- }
1721
- ob_end_clean();
1722
- if( empty($br_options['woocommerce_removes']['ordering']) ) {
1723
- ob_start();
1724
- woocommerce_catalog_ordering();
1725
- $_RESPONSE['catalog_ordering'] = ob_get_contents();
1726
- ob_end_clean();
1727
- }
1728
- if( empty($br_options['woocommerce_removes']['result_count']) ) {
1729
- ob_start();
1730
- woocommerce_result_count();
1731
- $_RESPONSE['result_count'] = ob_get_contents();
1732
- ob_end_clean();
1733
- }
1734
- if( empty($br_options['woocommerce_removes']['pagination']) ) {
1735
- ob_start();
1736
- woocommerce_pagination();
1737
- $_RESPONSE['pagination'] = ob_get_contents();
1738
- ob_end_clean();
1739
- }
1740
- }
1741
-
1742
- if( braapf_filters_must_be_recounted() ) {
1743
- $_RESPONSE['attributesname'] = array();
1744
- $_RESPONSE['attributes'] = array();
1745
- if(isset($_POST['attributes']) && is_array($_POST['attributes'])) {
1746
- $attributes = array_combine ( $_POST['attributes'], $_POST['cat_limit'] );
1747
- foreach( $attributes as $attribute => $cat_limit ) {
1748
- if($attribute != 'price') {
1749
- $terms = FALSE;
1750
- if( $attribute == '_stock_status' ) {
1751
- $terms = array();
1752
- array_push($terms, (object)array('term_id' => '1', 'term_taxonomy_id' => '1','name' => __('In stock', 'BeRocket_AJAX_domain'), 'slug' => 'instock', 'taxonomy' => '_stock_status', 'count' => 1));
1753
- array_push($terms, (object)array('term_id' => '2', 'term_taxonomy_id' => '2', 'name' => __('Out of stock', 'BeRocket_AJAX_domain'), 'slug' => 'outofstock', 'taxonomy' => '_stock_status', 'count' => 1));
1754
- }
1755
- $_RESPONSE['attributesname'][] = $attribute;
1756
- $terms = BeRocket_AAPF_Widget::get_attribute_values( $attribute, 'id', false, TRUE, $terms, $cat_limit );
1757
- $_RESPONSE['attributes'][] = self::remove_pid( array_values($terms) );
1758
- }
1759
- }
1760
- }
1761
- }
1762
- $_RESPONSE = apply_filters('berocket_ajax_response_without_fix', $_RESPONSE);
1763
- echo json_encode( $_RESPONSE );
1764
-
1765
- die();
1766
- }
1767
-
1768
- public static function remove_pid( $terms ) {
1769
-
1770
- foreach ( $terms as &$term ) {
1771
- if ( isset( $term ) ) {
1772
- if ( isset( $term->PID ) ) {
1773
- $term->PID = '';
1774
- }
1775
-
1776
- if ( is_array( $term ) ) {
1777
- foreach ( $term as &$subterm ) {
1778
- if ( isset( $subterm ) and isset( $subterm->PID ) ) {
1779
- $subterm->PID = '';
1780
- }
1781
- }
1782
- }
1783
-
1784
- }
1785
- }
1786
- return $terms;
1787
- }
1788
-
1789
- public static function listener_wp_query() {
1790
- global $wp_query, $wp_rewrite;
1791
- $br_options = apply_filters( 'berocket_aapf_listener_br_options', BeRocket_AAPF::get_aapf_option() );
1792
-
1793
- $add_to_args = array();
1794
- if ( ! empty($_POST['limits']) && is_array($_POST['limits']) ) {
1795
- foreach ( $_POST['limits'] as $post_key => $t ) {
1796
- if( $t[0] == '_date' ) {
1797
- $from = $t[1];
1798
- $to = $t[2];
1799
- $from = substr($from, 0, 2).'/'.substr($from, 2, 2).'/'.substr($from, 4, 4);
1800
- $to = substr($to, 0, 2).'/'.substr($to, 2, 2).'/'.substr($to, 4, 4);
1801
- $from = date('Y-m-d 00:00:00', strtotime($from));
1802
- $to = date('Y-m-d 23:59:59', strtotime($to));
1803
- $add_to_args['date_query'] = array(
1804
- 'after' => $from,
1805
- 'before' => $to,
1806
- );
1807
- unset($_POST['limits'][$post_key]);
1808
- }
1809
- }
1810
- }
1811
- $BeRocket_AAPF = BeRocket_AAPF::getInstance();
1812
- if ( ! empty($_POST['terms']) && is_array($_POST['terms']) ) {
1813
- $stop_sale = false;
1814
- $check_sale = $check_notsale = 0;
1815
- foreach ( $_POST['terms'] as $post_key => $t ) {
1816
- if( $t[0] == 'price' ) {
1817
- if( preg_match( "~\*~", $t[1] ) ) {
1818
- if( ! isset( $_POST['price_ranges'] ) ) {
1819
- $_POST['price_ranges'] = array();
1820
- }
1821
- $_POST['price_ranges'][] = $t[1];
1822
- unset( $_POST['terms'][$post_key] );
1823
- }
1824
- } elseif( $t[0] == '_sale' ) {
1825
- // if both used do nothing
1826
- if ( $t[0] == '_sale' and $t[3] == 'sale' ) {
1827
- $check_sale++;
1828
- }
1829
- if ( $t[0] == '_sale' and $t[3] == 'notsale' ) {
1830
- $check_notsale++;
1831
- }
1832
- unset($_POST['terms'][$post_key]);
1833
- } elseif( $t[0] == '_rating' ) {
1834
- $_POST['terms'][$post_key][0] = 'product_visibility';
1835
- }
1836
- }
1837
- if ( ! empty($br_options['slug_urls']) ) {
1838
- foreach ( $_POST['terms'] as $post_key => $t ) {
1839
- if( $t[0] == '_stock_status' ) {
1840
- $_stock_status = array( 'instock' => 1, 'outofstock' => 2);
1841
- $_POST['terms'][$post_key][1] = (isset($_stock_status[$t[1]]) ? $_stock_status[$t[1]] : $_stock_status['instock']);
1842
- } else {
1843
- $t[1] = get_term_by( 'slug', $t[3], $t[0] );
1844
- $t[1] = $t[1]->term_id;
1845
- $_POST['terms'][$post_key] = $t;
1846
- }
1847
- }
1848
- }
1849
-
1850
- if ( ! ($check_sale and $check_notsale) ) {
1851
- if ( $check_sale ) {
1852
- $add_to_args['post__in'] = array_merge( array( 0 ), wc_get_product_ids_on_sale() );
1853
- } elseif( $check_notsale ) {
1854
- $add_to_args['post__in'] = array_merge( array( 0 ), $BeRocket_AAPF->wc_get_product_ids_not_on_sale() );
1855
- }
1856
- }
1857
- }
1858
-
1859
- add_filter( 'post_class', array( __CLASS__, 'add_product_class' ) );
1860
- add_filter( 'woocommerce_pagination_args', array( __CLASS__, 'pagination_args' ) );
1861
-
1862
- $woocommerce_hide_out_of_stock_items = BeRocket_AAPF_Widget::woocommerce_hide_out_of_stock_items();
1863
-
1864
- $meta_query = $BeRocket_AAPF->remove_out_of_stock( array() , true, $woocommerce_hide_out_of_stock_items != 'yes' );
1865
-
1866
- $args = apply_filters( 'berocket_aapf_listener_wp_query_args', array() );
1867
- foreach($add_to_args as $arg_name => $add_arg) {
1868
- $args[$arg_name] = $add_arg;
1869
- }
1870
- if( ! empty($_POST['limits']) ) {
1871
- $args = apply_filters('berocket_aapf_convert_limits_to_tax_query', $args, $_POST['limits']);
1872
- }
1873
- if( ! isset($args['post__in']) ) {
1874
- $args['post__in'] = array();
1875
- }
1876
- if( $woocommerce_hide_out_of_stock_items == 'yes' ) {
1877
- $args['post__in'] = $BeRocket_AAPF->remove_out_of_stock( $args['post__in'] );
1878
- }
1879
- if( ! br_woocommerce_version_check() ) {
1880
- $args['post__in'] = $BeRocket_AAPF->remove_hidden( $args['post__in'] );
1881
- }
1882
- $args['meta_query'] = $meta_query;
1883
-
1884
- if( ! empty($_POST['limits']) ) {
1885
- $args = apply_filters('berocket_aapf_convert_limits_to_tax_query', $args, $_POST['limits']);
1886
- }
1887
- if( isset($_POST['price']) && is_array($_POST['price']) ) {
1888
- $_POST['price'] = apply_filters('berocket_min_max_filter', $_POST['price']);
1889
- }
1890
- $min = isset( $_POST['price'][0] ) ? floatval( $_POST['price'][0] ) : 0;
1891
- $max = isset( $_POST['price'][1] ) ? floatval( $_POST['price'][1] ) : 9999999999;
1892
-
1893
- $args['meta_query'][] = array(
1894
- 'key' => apply_filters('berocket_price_filter_meta_key', '_price', 'widget_2847'),
1895
- 'value' => array( $min, $max ),
1896
- 'compare' => 'BETWEEN',
1897
- 'type' => 'DECIMAL',
1898
- 'price_filter' => true,
1899
- );
1900
- $args['post_status'] = 'publish';
1901
- if ( is_user_logged_in() ) {
1902
- $args['post_status'] .= '|private';
1903
- }
1904
- $args['post_type'] = 'product';
1905
- $default_posts_per_page = get_option( 'posts_per_page' );
1906
- $args['posts_per_page'] = apply_filters( 'loop_shop_per_page', $default_posts_per_page );
1907
- if ( ! empty($_POST['price_ranges']) && is_array($_POST['price_ranges']) ) {
1908
- $price_range_query = array( 'relation' => 'OR' );
1909
- foreach ( $_POST['price_ranges'] as $range ) {
1910
- $range = explode( '*', $range );
1911
- $price_range_query[] = array( 'key' => apply_filters('berocket_price_filter_meta_key', '_price', 'widget_2867'), 'compare' => 'BETWEEN', 'type' => 'NUMERIC', 'value' => array( ($range[0] - 1), $range[1] ) );
1912
- }
1913
- $args['meta_query'][] = $price_range_query;
1914
- }
1915
- if ( ! empty($_POST['price']) && is_array($_POST['price']) ) {
1916
- $args['meta_query'][] = array( 'key' => apply_filters('berocket_price_filter_meta_key', '_price', 'widget_2872'), 'compare' => 'BETWEEN', 'type' => 'NUMERIC', 'value' => array( ($_POST['price'][0]), $_POST['price'][1] ) );
1917
- }
1918
-
1919
- if( isset($_POST['product_taxonomy']) && $_POST['product_taxonomy'] != '-1' && strpos( $_POST['product_taxonomy'], '|' ) !== FALSE ) {
1920
- $product_taxonomy = explode( '|', $_POST['product_taxonomy'] );
1921
- $args['taxonomy'] = $product_taxonomy[0];
1922
- $args['term'] = $product_taxonomy[1];
1923
- }
1924
- if( isset($_POST['s']) && strlen($_POST['s']) > 0 ) {
1925
- $args['s'] = $_POST['s'];
1926
- }
1927
-
1928
- if( function_exists('wc_get_product_visibility_term_ids') ) {
1929
- $product_visibility_term_ids = wc_get_product_visibility_term_ids();
1930
-
1931
- $args['tax_query'][] = array(
1932
- 'taxonomy' => 'product_visibility',
1933
- 'field' => 'term_taxonomy_id',
1934
- 'terms' => array($product_visibility_term_ids['exclude-from-catalog']),
1935
- 'operator' => 'NOT IN'
1936
- );
1937
- }
1938
- $args = array_merge($args, WC()->query->get_catalog_ordering_args());
1939
- $wp_query = new WP_Query( $args );
1940
-
1941
- // here we get max products to know if current page is not too big
1942
- $is_using_permalinks = $wp_rewrite->using_permalinks();
1943
- $_POST['location'] = (empty($_POST['location']) ? $_GET['location'] : $_POST['location']);
1944
- if ( $is_using_permalinks and preg_match( "~/page/([0-9]+)~", $_POST['location'], $mathces ) or preg_match( "~paged?=([0-9]+)~", $_POST['location'], $mathces ) ) {
1945
- $args['paged'] = min( $mathces[1], $wp_query->max_num_pages );
1946
-
1947
- $wp_query = new WP_Query( $args );
1948
- }
1949
- return apply_filters('berocket_listener_wp_query_return', $wp_query, $args);
1950
- }
1951
-
1952
- public static function rebuild() {
1953
- add_action('woocommerce_before_shop_loop', array( __CLASS__, 'tags_restore' ), 999999);
1954
- }
1955
-
1956
- public static function tags_restore() {
1957
- global $wp_query;
1958
- $args = apply_filters( 'berocket_aapf_listener_wp_query_args', array() );
1959
- $tags = ( empty($args['product_tag']) ? '' : $args['product_tag'] );
1960
- if( ! empty($tags) ) {
1961
- $q_vars = $wp_query->query_vars;
1962
- $q_vars['product_tag'] = $tags;
1963
- $q_vars['taxonomy'] = '';
1964
- $q_vars['term'] = '';
1965
- unset( $q_vars['s'] );
1966
- if( isset($q_vars['tax_query']) ) {
1967
- $tax_query_reset = $q_vars['tax_query'];
1968
- unset($q_vars['tax_query']);
1969
- }
1970
- $wp_query = new WP_Query( $q_vars );
1971
- if( isset($tax_query_reset) ) {
1972
- $wp_query->set('tax_query', $tax_query_reset);
1973
- $q_vars['tax_query'] = $tax_query_reset;
1974
- unset($tax_query_reset);
1975
- }
1976
- }
1977
- }
1978
-
1979
- public static function woocommerce_before_main_content() {
1980
- ?>||EXPLODE||<?php
1981
- self::tags_restore();
1982
- }
1983
-
1984
- public static function woocommerce_after_main_content() {
1985
- ?>||EXPLODE||<?php
1986
- }
1987
-
1988
- public static function pre_get_posts() {
1989
- add_action( 'woocommerce_before_shop_loop', array( __CLASS__, 'woocommerce_before_main_content' ), 999999 );
1990
- add_action( 'woocommerce_after_shop_loop', array( __CLASS__, 'woocommerce_after_main_content' ), 1 );
1991
- }
1992
-
1993
- public static function end_clean() {
1994
- global $wp_query, $wp_rewrite;
1995
- $br_options = apply_filters( 'berocket_aapf_listener_br_options', BeRocket_AAPF::get_aapf_option() );
1996
- if ( $br_options['alternative_load_type'] != 'js' ) {
1997
- $_RESPONSE['products'] = explode('||EXPLODE||', ob_get_contents());
1998
- $_RESPONSE['products'] = $_RESPONSE['products'][1];
1999
- ob_end_clean();
2000
-
2001
- if ( $_RESPONSE['products'] == null ) {
2002
- unset( $_RESPONSE['products'] );
2003
- ob_start();
2004
- echo apply_filters( 'berocket_aapf_listener_no_products_message', "<p class='no-products woocommerce-info" . ( ( $br_options['no_products_class'] ) ? ' '.$br_options['no_products_class'] : '' ) . "'>" . $br_options['no_products_message'] . "</p>" );
2005
- $_RESPONSE['no_products'] = ob_get_contents();
2006
- ob_end_clean();
2007
- } else {
2008
- $_RESPONSE['products'] = str_replace( 'explode=explode#038;', '', $_RESPONSE['products'] );
2009
- $_RESPONSE['products'] = str_replace( '&#038;explode=explode', '', $_RESPONSE['products'] );
2010
- $_RESPONSE['products'] = str_replace( '?explode=explode', '', $_RESPONSE['products'] );
2011
- }
2012
- }
2013
-
2014
- if ( braapf_filters_must_be_recounted() ) {
2015
- $_RESPONSE['attributesname'] = array();
2016
- $_RESPONSE['attributes'] = array();
2017
-
2018
- if ( isset($_POST['attributes']) && is_array( $_POST['attributes'] ) ) {
2019
- $attributes = array_combine ( $_POST['attributes'], $_POST['cat_limit'] );
2020
- foreach ( $attributes as $attribute => $cat_limit ) {
2021
- if ( $attribute != 'price' ) {
2022
- $terms = FALSE;
2023
- if( $attribute == '_stock_status' ) {
2024
- $terms = array();
2025
- array_push($terms, (object)array('term_id' => '1', 'term_taxonomy_id' => '1','name' => __('In stock', 'BeRocket_AJAX_domain'), 'slug' => 'instock', 'taxonomy' => '_stock_status', 'count' => 1));
2026
- array_push($terms, (object)array('term_id' => '2', 'term_taxonomy_id' => '2', 'name' => __('Out of stock', 'BeRocket_AJAX_domain'), 'slug' => 'outofstock', 'taxonomy' => '_stock_status', 'count' => 1));
2027
- }
2028
- $_RESPONSE['attributesname'][] = $attribute;
2029
- $terms = BeRocket_AAPF_Widget::get_attribute_values( $attribute, 'id', braapf_filters_must_be_recounted('first'), TRUE, $terms, $cat_limit );
2030
- $_RESPONSE['attributes'][] = self::remove_pid( array_values($terms));
2031
- }
2032
- }
2033
- }
2034
- }
2035
- if( empty($br_options['woocommerce_removes']['ordering']) ) {
2036
- ob_start();
2037
- woocommerce_catalog_ordering();
2038
- $_RESPONSE['catalog_ordering'] = ob_get_contents();
2039
- ob_end_clean();
2040
- }
2041
- if( empty($br_options['woocommerce_removes']['result_count']) ) {
2042
- ob_start();
2043
- woocommerce_result_count();
2044
- $_RESPONSE['result_count'] = ob_get_contents();
2045
- ob_end_clean();
2046
- }
2047
- if( empty($br_options['woocommerce_removes']['pagination']) ) {
2048
- ob_start();
2049
- woocommerce_pagination();
2050
- $_RESPONSE['pagination'] = ob_get_contents();
2051
- $_RESPONSE['pagination'] = str_replace( 'explode=explode#038;', '', $_RESPONSE['pagination'] );
2052
- $_RESPONSE['pagination'] = str_replace( '&#038;explode=explode', '', $_RESPONSE['pagination'] );
2053
- $_RESPONSE['pagination'] = str_replace( '?explode=explode', '', $_RESPONSE['pagination'] );
2054
- ob_end_clean();
2055
- }
2056
- if ( $br_options['alternative_load_type'] == 'js' ) echo '||JSON||';
2057
- $_RESPONSE = apply_filters('berocket_ajax_response_with_fix', $_RESPONSE);
2058
- $_RESPONSE['attributesname'] = array_values($_RESPONSE['attributesname']);
2059
- $_RESPONSE['attributes'] = array_values($_RESPONSE['attributes']);
2060
- foreach($_RESPONSE['attributesname'] as &$attributesname) {
2061
- if( ! is_array($attributesname) ) {
2062
- $attributesname = array();
2063
- }
2064
- }
2065
- foreach($_RESPONSE['attributes'] as &$attributes) {
2066
- if( ! is_array($attributes) ) {
2067
- $attributes = array();
2068
- }
2069
- }
2070
- echo json_encode( $_RESPONSE );
2071
- if ( $br_options['alternative_load_type'] == 'js' ) echo '||JSON||';
2072
-
2073
- die();
2074
- }
2075
-
2076
- public static function start_clean() {
2077
- $br_options = apply_filters( 'berocket_aapf_listener_br_options', BeRocket_AAPF::get_aapf_option() );
2078
- if ( $br_options['alternative_load_type'] != 'js' ) {
2079
- ob_start();
2080
- }
2081
- }
2082
-
2083
- public static function color_listener() {
2084
- if ( defined('DOING_AJAX') && DOING_AJAX && !isset( $_POST ['tax_color_set'] ) && isset( $_POST ['br_widget_color'] ) ) {
2085
- $_POST ['tax_color_set'] = $_POST ['br_widget_color'];
2086
- }
2087
- if( isset( $_POST ['tax_color_set'] ) ) {
2088
- if ( current_user_can( 'manage_woocommerce' ) ) {
2089
- foreach( $_POST['tax_color_set'] as $key => $value ) {
2090
- if( $_POST['type'] == 'color' ) {
2091
- foreach($value as $term_key => $term_val) {
2092
- if( !empty($term_val) ) {
2093
- update_metadata( 'berocket_term', $term_key, $key, $term_val );
2094
- } else {
2095
- delete_metadata( 'berocket_term', $term_key, $key );
2096
- }
2097
- }
2098
- } else {
2099
- update_metadata( 'berocket_term', $key, $_POST['type'], $value );
2100
- }
2101
- }
2102
- unset( $_POST['tax_color_set'] );
2103
- }
2104
- } else {
2105
- BeRocket_AAPF_Widget::color_list_view( $_POST['type'], $_POST['tax_color_name'], true );
2106
- wp_die();
2107
- }
2108
- }
2109
-
2110
- public static function color_list_view( $type, $taxonomy_name, $load_script = false ) {
2111
- $terms = get_terms( $taxonomy_name, array( 'hide_empty' => false ) );
2112
- $set_query_var_color = array();
2113
- $set_query_var_color['terms'] = $terms;
2114
- $set_query_var_color['type'] = $type;
2115
- $set_query_var_color['load_script'] = $load_script;
2116
- set_query_var( 'berocket_query_var_color', $set_query_var_color );
2117
- br_get_template_part( 'color_ajax' );
2118
- }
2119
-
2120
- public static function ajax_include_exclude_list() {
2121
- if( ! empty($_POST['taxonomy_name']) ) {
2122
- echo self::include_exclude_terms_list($_POST['taxonomy_name']);
2123
- }
2124
- wp_die();
2125
- }
2126
-
2127
- public static function include_exclude_terms_list($taxonomy_name = false, $selected = array() ) {
2128
- $terms = get_terms( $taxonomy_name, array( 'hide_empty' => false ) );
2129
- $set_query_var_exclude_list = array();
2130
- $set_query_var_exclude_list['taxonomy'] = $taxonomy_name;
2131
- $set_query_var_exclude_list['terms'] = $terms;
2132
- $set_query_var_exclude_list['selected'] = $selected;
2133
- set_query_var( 'berocket_var_exclude_list', $set_query_var_exclude_list );
2134
- ob_start();
2135
- br_get_template_part( 'include_exclude_list' );
2136
- return ob_get_clean();
2137
- }
2138
-
2139
- public static function get_product_categories( $current_product_cat = '', $parent = 0, $data = array(), $depth = 0, $max_count = 9, $follow_hierarchy = false ) {
2140
- return br_get_sub_categories( $parent, 'id', array( 'return' => 'hierarchy_objects', 'max_depth' => $max_count ) );
2141
- }
2142
-
2143
- public static function add_product_class( $classes ) {
2144
- $classes[] = 'product';
2145
- return apply_filters( 'berocket_aapf_add_product_class', $classes );
2146
- }
2147
-
2148
- public static function pagination_args( $args = array() ) {
2149
- $args['base'] = str_replace( 999999999, '%#%', self::get_pagenum_link( 999999999 ) );
2150
- return $args;
2151
- }
2152
-
2153
- // 99% copy of WordPress' get_pagenum_link.
2154
- public static function get_pagenum_link( $pagenum = 1, $escape = true ) {
2155
- global $wp_rewrite;
2156
-
2157
- $pagenum = (int) $pagenum;
2158
-
2159
- $request = remove_query_arg( 'paged', preg_replace( "~".home_url()."~", "", (isset($_POST['location']) ? $_POST['location'] : '') ) );
2160
-
2161
- $home_root = parse_url( home_url() );
2162
- $home_root = ( isset( $home_root['path'] ) ) ? $home_root['path'] : '';
2163
- $home_root = preg_quote( $home_root, '|' );
2164
-
2165
- $request = preg_replace( '|^' . $home_root . '|i', '', $request );
2166
- $request = preg_replace( '|^/+|', '', $request );
2167
-
2168
- $is_using_permalinks = $wp_rewrite->using_permalinks();
2169
- if ( ! $is_using_permalinks ) {
2170
- $base = trailingslashit( get_bloginfo( 'url' ) );
2171
-
2172
- if ( $pagenum > 1 ) {
2173
- $result = add_query_arg( 'paged', $pagenum, $base . $request );
2174
- } else {
2175
- $result = $base . $request;
2176
- }
2177
- } else {
2178
- $qs_regex = '|\?.*?$|';
2179
- preg_match( $qs_regex, $request, $qs_match );
2180
-
2181
- if ( ! empty( $qs_match[0] ) ) {
2182
- $query_string = $qs_match[0];
2183
- $request = preg_replace( $qs_regex, '', $request );
2184
- } else {
2185
- $query_string = '';
2186
- }
2187
-
2188
- $request = preg_replace( "|$wp_rewrite->pagination_base/\d+/?$|", '', $request );
2189
- $request = preg_replace( '|^' . preg_quote( $wp_rewrite->index, '|' ) . '|i', '', $request );
2190
- $request = ltrim( $request, '/' );
2191
-
2192
- $base = trailingslashit( get_bloginfo( 'url' ) );
2193
-
2194
- $is_using_index_permalinks = $wp_rewrite->using_index_permalinks();
2195
- if ( $is_using_index_permalinks && ( $pagenum > 1 || '' != $request ) )
2196
- $base .= $wp_rewrite->index . '/';
2197
-
2198
- if ( $pagenum > 1 ) {
2199
- $request = ( ( !empty( $request ) ) ? trailingslashit( $request ) : $request ) . user_trailingslashit( $wp_rewrite->pagination_base . "/" . $pagenum, 'paged' );
2200
- }
2201
-
2202
- $result = $base . $request . $query_string;
2203
- }
2204
-
2205
- /**
2206
- * Filter the page number link for the current request.
2207
- *
2208
- * @since 2.5.0
2209
- *
2210
- * @param string $result The page number link.
2211
- */
2212
- $result = apply_filters( 'get_pagenum_link', $result );
2213
-
2214
- if ( $escape )
2215
- return esc_url( $result );
2216
- else
2217
- return esc_url_raw( $result );
2218
- }
2219
-
2220
- public static function get_terms_child_parent ( $child_parent, $attribute, $current_terms = FALSE, $child_parent_depth = 1 ) {
2221
- if ( isset($child_parent) && $child_parent == 'parent' ) {
2222
- $args_terms = array(
2223
- 'orderby' => 'id',
2224
- 'order' => 'ASC',
2225
- 'hide_empty' => false,
2226
- 'parent' => 0,
2227
- );
2228
- if( $attribute == 'product_cat' ) {
2229
- $current_terms = br_get_taxonomy_hierarchy(array(), 0, 1);
2230
- } else {
2231
- $current_terms = get_terms( $attribute, $args_terms );
2232
- }
2233
- }
2234
- if ( isset($child_parent) && $child_parent == 'child' ) {
2235
- $current_terms = array( (object) array( 'depth' => 0, 'child' => 0, 'term_id' => 'R__term_id__R', 'count' => 'R__count__R', 'slug' => 'R__slug__R', 'name' => 'R__name__R', 'taxonomy' => 'R__taxonomy__R' ) );
2236
- $selected_terms = br_get_selected_term( $attribute );
2237
- $selected_terms_id = array();
2238
- if( empty($child_parent_depth) ) {
2239
- $child_parent_depth = 0;
2240
- }
2241
- foreach( $selected_terms as $selected_term ) {
2242
- $ancestors = get_ancestors( $selected_term, $attribute );
2243
- if( count( $ancestors ) >= ( $child_parent_depth - 1 ) ) {
2244
- if( count( $ancestors ) > ( $child_parent_depth - 1 ) ) {
2245
- $selected_term = $ancestors[count( $ancestors ) - ( $child_parent_depth )];
2246
- }
2247
- if ( ! in_array( $selected_term, $selected_terms_id ) ) {
2248
- $args_terms = array(
2249
- 'orderby' => 'id',
2250
- 'order' => 'ASC',
2251
- 'hide_empty' => false,
2252
- 'parent' => $selected_term,
2253
- );
2254
- $selected_terms_id[] = $selected_term;
2255
- $additional_terms = get_terms( $attribute, $args_terms );
2256
- $current_terms = array_merge( $current_terms, $additional_terms );
2257
- }
2258
- }
2259
- }
2260
- }
2261
- return $current_terms;
2262
- }
2263
-
2264
- public static function is_parent_selected($attribute, $child_parent_depth = 1) {
2265
- $selected_terms = br_get_selected_term( $attribute );
2266
- $selected_terms_id = array();
2267
- foreach( $selected_terms as $selected_term ) {
2268
- if( empty($child_parent_depth) ) {
2269
- $child_parent_depth = 0;
2270
- }
2271
- $ancestors = get_ancestors( $selected_term, $attribute );
2272
- if( count( $ancestors ) > ( $child_parent_depth - 1 ) ) {
2273
- return true;
2274
- }
2275
- }
2276
- return false;
2277
- }
2278
-
2279
- public static function old_wc_compatible( $query, $new = false ) {
2280
- return br_filters_old_wc_compatible( $query, $new );
2281
- }
2282
- }
1
+ <?php
2
+ include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
3
+
4
+ /**
5
+ * BeRocket_AAPF_Widget - main filter widget. One filter for any needs
6
+ */
7
+ class BeRocket_AAPF_Widget extends WP_Widget {
8
+
9
+ public static $defaults = array(
10
+ 'br_wp_footer' => false,
11
+ 'widget_type' => 'filter',
12
+ 'title' => '',
13
+ 'filter_type' => 'attribute',
14
+ 'attribute' => 'price',
15
+ 'custom_taxonomy' => 'product_cat',
16
+ 'type' => 'slider',
17
+ 'select_first_element_text' => '',
18
+ 'operator' => 'OR',
19
+ 'order_values_by' => '',
20
+ 'order_values_type' => '',
21
+ 'text_before_price' => '',
22
+ 'text_after_price' => '',
23
+ 'enable_slider_inputs' => '',
24
+ 'parent_product_cat' => '',
25
+ 'depth_count' => '0',
26
+ 'widget_collapse_enable' => '0',
27
+ 'widget_is_hide' => '0',
28
+ 'show_product_count_per_attr' => '0',
29
+ 'hide_child_attributes' => '0',
30
+ 'hide_collapse_arrow' => '0',
31
+ 'use_value_with_color' => '0',
32
+ 'values_per_row' => '1',
33
+ 'icon_before_title' => '',
34
+ 'icon_after_title' => '',
35
+ 'icon_before_value' => '',
36
+ 'icon_after_value' => '',
37
+ 'price_values' => '',
38
+ 'description' => '',
39
+ 'css_class' => '',
40
+ 'tag_cloud_height' => '0',
41
+ 'tag_cloud_min_font' => '12',
42
+ 'tag_cloud_max_font' => '14',
43
+ 'tag_cloud_tags_count' => '100',
44
+ 'tag_cloud_type' => 'doe',
45
+ 'use_min_price' => '0',
46
+ 'min_price' => '0',
47
+ 'use_max_price' => '0',
48
+ 'max_price' => '1',
49
+ 'height' => 'auto',
50
+ 'scroll_theme' => 'dark',
51
+ 'selected_area_show' => '0',
52
+ 'hide_selected_arrow' => '0',
53
+ 'selected_is_hide' => '0',
54
+ 'slider_default' => '0',
55
+ 'number_style' => '0',
56
+ 'number_style_thousand_separate'=> '',
57
+ 'number_style_decimal_separate' => '.',
58
+ 'number_style_decimal_number' => '2',
59
+ 'is_hide_mobile' => '0',
60
+ 'user_can_see' => '',
61
+ 'cat_propagation' => '0',
62
+ 'product_cat' => '',
63
+ 'parent_product_cat_current' => '0',
64
+ 'attribute_count' => '',
65
+ 'show_page' => array( 'shop', 'product_cat', 'product_tag', 'product_taxonomy' ),
66
+ 'cat_value_limit' => '0',
67
+ 'child_parent' => '',
68
+ 'child_parent_depth' => '1',
69
+ 'child_parent_no_values' => '',
70
+ 'child_parent_previous' => '',
71
+ 'child_parent_no_products' => '',
72
+ 'child_onew_count' => '1',
73
+ 'child_onew_childs' => array(
74
+ 1 => array('title' => '', 'no_product' => '', 'no_values' => '', 'previous' => ''),
75
+ 2 => array('title' => '', 'no_product' => '', 'no_values' => '', 'previous' => ''),
76
+ 3 => array('title' => '', 'no_product' => '', 'no_values' => '', 'previous' => ''),
77
+ 4 => array('title' => '', 'no_product' => '', 'no_values' => '', 'previous' => ''),
78
+ 5 => array('title' => '', 'no_product' => '', 'no_values' => '', 'previous' => ''),
79
+ 6 => array('title' => '', 'no_product' => '', 'no_values' => '', 'previous' => ''),
80
+ 7 => array('title' => '', 'no_product' => '', 'no_values' => '', 'previous' => ''),
81
+ 8 => array('title' => '', 'no_product' => '', 'no_values' => '', 'previous' => ''),
82
+ 9 => array('title' => '', 'no_product' => '', 'no_values' => '', 'previous' => ''),
83
+ 10 => array('title' => '', 'no_product' => '', 'no_values' => '', 'previous' => ''),
84
+ ),
85
+ 'search_box_link_type' => 'shop_page',
86
+ 'search_box_url' => '',
87
+ 'search_box_category' => '',
88
+ 'search_box_count' => '1',
89
+ 'search_box_attributes' => array(
90
+ 1 => array('type' => 'attribute', 'attribute' => '', 'custom_taxonomy' => '', 'title' => '', 'visual_type' => 'select'),
91
+ 2 => array('type' => 'attribute', 'attribute' => '', 'custom_taxonomy' => '', 'title' => '', 'visual_type' => 'select'),
92
+ 3 => array('type' => 'attribute', 'attribute' => '', 'custom_taxonomy' => '', 'title' => '', 'visual_type' => 'select'),
93
+ 4 => array('type' => 'attribute', 'attribute' => '', 'custom_taxonomy' => '', 'title' => '', 'visual_type' => 'select'),
94
+ 5 => array('type' => 'attribute', 'attribute' => '', 'custom_taxonomy' => '', 'title' => '', 'visual_type' => 'select'),
95
+ 6 => array('type' => 'attribute', 'attribute' => '', 'custom_taxonomy' => '', 'title' => '', 'visual_type' => 'select'),
96
+ 7 => array('type' => 'attribute', 'attribute' => '', 'custom_taxonomy' => '', 'title' => '', 'visual_type' => 'select'),
97
+ 8 => array('type' => 'attribute', 'attribute' => '', 'custom_taxonomy' => '', 'title' => '', 'visual_type' => 'select'),
98
+ 9 => array('type' => 'attribute', 'attribute' => '', 'custom_taxonomy' => '', 'title' => '', 'visual_type' => 'select'),
99
+ 10 => array('type' => 'attribute', 'attribute' => '', 'custom_taxonomy' => '', 'title' => '', 'visual_type' => 'select'),
100
+ ),
101
+ 'search_box_style' => array(
102
+ 'position' => 'vertical',
103
+ 'search_position' => 'after',
104
+ 'search_text' => 'Search',
105
+ 'background' => 'bbbbff',
106
+ 'back_opacity' => '0',
107
+ 'button_background' => '888800',
108
+ 'button_background_over' => 'aaaa00',
109
+ 'text_color' => '000000',
110
+ 'text_color_over' => '000000',
111
+ ),
112
+ 'ranges' => array( 1, 10 ),
113
+ 'hide_first_last_ranges' => '',
114
+ 'include_exclude_select' => '',
115
+ 'include_exclude_list' => array(),
116
+ );
117
+
118
+ /**
119
+ * Constructor
120
+ */
121
+ function __construct() {
122
+ global $wp_version;
123
+ /* Widget settings. */
124
+ $widget_ops = array( 'classname' => 'widget_berocket_aapf', 'description' => __('Add Filters to Products page', 'BeRocket_AJAX_domain') );
125
+
126
+ /* Widget control settings. */
127
+ $control_ops = array( 'id_base' => 'berocket_aapf_widget' );
128
+
129
+ /* Create the widget. */
130
+ parent::__construct( 'berocket_aapf_widget', __('AJAX Product Filters (Deprecated)', 'BeRocket_AJAX_domain'), $widget_ops, $control_ops );
131
+
132
+ add_filter( 'berocket_aapf_listener_wp_query_args', 'br_aapf_args_parser' );
133
+ }
134
+ public static function br_widget_ajax_set() {
135
+ if ( ( is_plugin_active( 'woocommerce/woocommerce.php' ) || is_plugin_active_for_network( 'woocommerce/woocommerce.php' ) ) && br_get_woocommerce_version() >= 2.1 ) {
136
+
137
+ add_action( 'wp_ajax_nopriv_berocket_aapf_listener', array( __CLASS__, 'listener' ) );
138
+ add_action( 'wp_ajax_berocket_aapf_listener', array( __CLASS__, 'listener' ) );
139
+ add_action( 'wp_ajax_berocket_aapf_color_listener', array( __CLASS__, 'color_listener' ) );
140
+ add_action( 'wp_ajax_br_include_exclude_list', array( __CLASS__, 'ajax_include_exclude_list' ) );
141
+ }
142
+ }
143
+
144
+ /**
145
+ * Show widget to user
146
+ *
147
+ * @param array $args
148
+ * @param array $instance
149
+ */
150
+ function widget( $args, $instance ) {
151
+ if( ! empty($args['widget_id']) ) {
152
+ $this->id = $args['widget_id'];
153
+ $this->number = $args['widget_id'];
154
+ }
155
+ if( empty($this->number) || $this->number == -1 ) {
156
+ global $berocket_aapf_shortcode_id;
157
+ if( empty($berocket_aapf_shortcode_id) ) {
158
+ $berocket_aapf_shortcode_id = 1;
159
+ } else {
160
+ $berocket_aapf_shortcode_id++;
161
+ }
162
+ $this->id = 'berocket_aapf_widget-s'.$berocket_aapf_shortcode_id;
163
+ $args['widget_id'] = $this->id;
164
+ $this->number = 's'.$berocket_aapf_shortcode_id;
165
+ }
166
+ $set_query_var_title = array();
167
+ $set_query_var_main = array();
168
+ $set_query_var_footer = array();
169
+ $filter_type_array = array(
170
+ 'attribute' => array(
171
+ 'name' => __('Attribute', 'BeRocket_AJAX_domain'),
172
+ 'sameas' => 'attribute',
173
+ ),
174
+ 'tag' => array(
175
+ 'name' => __('Tag', 'BeRocket_AJAX_domain'),
176
+ 'sameas' => 'tag',
177
+ ),
178
+ 'all_product_cat' => array(
179
+ 'name' => __('Product Category', 'BeRocket_AJAX_domain'),
180
+ 'sameas' => 'custom_taxonomy',
181
+ 'attribute' => 'product_cat',
182
+ ),
183
+ );
184
+ if ( function_exists('wc_get_product_visibility_term_ids') ) {
185
+ $filter_type_array['_rating'] = array(
186
+ 'name' => __('Rating', 'BeRocket_AJAX_domain'),
187
+ 'sameas' => '_rating',
188
+ );
189
+ }
190
+ $filter_type_array = apply_filters('berocket_filter_filter_type_array', $filter_type_array, $instance);
191
+ if( empty($instance['filter_type']) || ! array_key_exists($instance['filter_type'], $filter_type_array) ) {
192
+ foreach($filter_type_array as $filter_type_key => $filter_type_val) {
193
+ $instance['filter_type'] = $filter_type_key;
194
+ break;
195
+ }
196
+ }
197
+ if( ! empty($instance['filter_type']) && ! empty($filter_type_array[$instance['filter_type']]) && ! empty($filter_type_array[$instance['filter_type']]['sameas']) ) {
198
+ $sameas = $filter_type_array[$instance['filter_type']];
199
+ $instance['filter_type'] = $sameas['sameas'];
200
+ if( ! empty($sameas['attribute']) ) {
201
+ if( $sameas['sameas'] == 'custom_taxonomy' ) {
202
+ $instance['custom_taxonomy'] = $sameas['attribute'];
203
+ } elseif( $sameas['sameas'] == 'attribute' ) {
204
+ $instance['attribute'] = $sameas['attribute'];
205
+ }
206
+ }
207
+ }
208
+ //CHECK WIDGET TYPES
209
+ $berocket_admin_filter_types = array(
210
+ 'tag' => array('checkbox','radio','select','color','image','tag_cloud'),
211
+ 'product_cat' => array('checkbox','radio','select','color','image'),
212
+ 'sale' => array('checkbox','radio','select'),
213
+ 'custom_taxonomy' => array('checkbox','radio','select','color','image'),
214
+ 'attribute' => array('checkbox','radio','select','color','image'),
215
+ 'price' => array('slider'),
216
+ 'filter_by' => array('checkbox','radio','select','color','image'),
217
+ );
218
+ $berocket_admin_filter_types_by_attr = array(
219
+ 'checkbox' => array('value' => 'checkbox', 'text' => 'Checkbox'),
220
+ 'radio' => array('value' => 'radio', 'text' => 'Radio'),
221
+ 'select' => array('value' => 'select', 'text' => 'Select'),
222
+ 'color' => array('value' => 'color', 'text' => 'Color'),
223
+ 'image' => array('value' => 'image', 'text' => 'Image'),
224
+ 'slider' => array('value' => 'slider', 'text' => 'Slider'),
225
+ 'tag_cloud' => array('value' => 'tag_cloud', 'text' => 'Tag cloud'),
226
+ );
227
+ list($berocket_admin_filter_types, $berocket_admin_filter_types_by_attr) = apply_filters( 'berocket_admin_filter_types_by_attr', array($berocket_admin_filter_types, $berocket_admin_filter_types_by_attr) );
228
+ $select_options_variants = array();
229
+ if ( $instance['filter_type'] == 'tag' ) {
230
+ $select_options_variants = $berocket_admin_filter_types['tag'];
231
+ } else if ( $instance['filter_type'] == 'product_cat' || ( $instance['filter_type'] == 'custom_taxonomy' && ( $instance['custom_taxonomy'] == 'product_tag' || $instance['custom_taxonomy'] == 'product_cat' ) ) ) {
232
+ $select_options_variants = $berocket_admin_filter_types['product_cat'];
233
+ } else if ( $instance['filter_type'] == '_sale' || $instance['filter_type'] == '_stock_status' || $instance['filter_type'] == '_rating' ) {
234
+ $select_options_variants = $berocket_admin_filter_types['sale'];
235
+ } else if ( $instance['filter_type'] == 'custom_taxonomy' ) {
236
+ $select_options_variants = $berocket_admin_filter_types['custom_taxonomy'];
237
+ } else if ( $instance['filter_type'] == 'attribute' ) {
238
+ if ( $instance['attribute'] == 'price' ) {
239
+ $select_options_variants = $berocket_admin_filter_types['price'];
240
+ } else {
241
+ $select_options_variants = $berocket_admin_filter_types['attribute'];
242
+ }
243
+ } else if ( $instance['filter_type'] == 'filter_by' ) {
244
+ $select_options_variants = $berocket_admin_filter_types['filter_by'];
245
+ }
246
+ $selected = false;
247
+ $first = false;
248
+ foreach($select_options_variants as $select_options_variant) {
249
+ if( ! empty($berocket_admin_filter_types_by_attr[$select_options_variant]) ) {
250
+ if( $instance['type'] == $berocket_admin_filter_types_by_attr[$select_options_variant]['value'] ) {
251
+ $selected = true;
252
+ break;
253
+ }
254
+ if( $first === false ) {
255
+ $first = $berocket_admin_filter_types_by_attr[$select_options_variant]['value'];
256
+ }
257
+ }
258
+ }
259
+ if( ! $selected ) {
260
+ $instance['type'] = $first;
261
+ }
262
+ $widget_type_array = apply_filters( 'berocket_widget_widget_type_array', apply_filters( 'berocket_aapf_display_filter_type_list', array(
263
+ 'filter' => __('Filter', 'BeRocket_AJAX_domain'),
264
+ ) ) );
265
+ if( ! array_key_exists($instance['widget_type'], $widget_type_array) ) {
266
+ foreach($widget_type_array as $widget_type_id => $widget_type_name) {
267
+ $instance['widget_type'] = $widget_type_id;
268
+ break;
269
+ }
270
+ }
271
+ $instance['title'] = apply_filters( 'widget_title', empty($instance['title']) ? '' : $instance['title'], $instance );
272
+ $br_options = apply_filters( 'berocket_aapf_listener_br_options', BeRocket_AAPF::get_aapf_option() );
273
+ $default_language = apply_filters( 'wpml_default_language', NULL );
274
+
275
+ global $wp_query, $wp_the_query, $wp, $sitepress, $br_wc_query;
276
+ if( ! isset( BeRocket_AAPF::$error_log['6_widgets'] ) )
277
+ {
278
+ BeRocket_AAPF::$error_log['6_widgets'] = array();
279
+ }
280
+ $widget_error_log = array();
281
+
282
+ $instance = array_merge( self::$defaults, $instance );
283
+ $instance = apply_filters('aapf_widget_instance', $instance);
284
+ $args = apply_filters('aapf_widget_args', $args);
285
+ if( ( $instance['user_can_see'] == 'logged' && ! is_user_logged_in() ) || ( $instance['user_can_see'] == 'not_logged' && is_user_logged_in() ) ) {
286
+ return false;
287
+ }
288
+
289
+ if( BeRocket_AAPF::$debug_mode ) {
290
+ $widget_error_log['wp_query'] = $wp_query;
291
+ $widget_error_log['args'] = $args;
292
+ $widget_error_log['instance'] = $instance;
293
+ }
294
+
295
+ $BeRocket_AAPF = BeRocket_AAPF::getInstance();
296
+ if( ! empty($br_options['user_func']) && is_array( $br_options['user_func'] ) ) {
297
+ $user_func = array_merge( $BeRocket_AAPF->defaults['user_func'], $br_options['user_func'] );
298
+ } else {
299
+ $user_func = $BeRocket_AAPF->defaults['user_func'];
300
+ }
301
+
302
+ if( ! empty($br_options['filters_turn_off']) ) return false;
303
+
304
+ if( ! empty($instance['child_parent']) && in_array($instance['child_parent'], array('child', 'parent')) ) {
305
+ $br_options['show_all_values'] = true;
306
+ }
307
+
308
+ if ( ! empty($instance['show_page']) ) {
309
+ $pageid = get_the_ID();
310
+ $pageid = apply_filters( 'wpml_object_id', $pageid, 'page', true, $default_language );
311
+ $pagelimit = FALSE;
312
+
313
+ foreach ( $instance['show_page'] as $page => $is_show ) {
314
+ if( $is_show ) {
315
+ $pagelimit = TRUE;
316
+ break;
317
+ }
318
+ }
319
+ if ( $pagelimit &&
320
+ ( ( ! is_product_category() && ! is_shop() && ! is_product_tag() && ! is_product_taxonomy() && ! is_product() && ! in_array( $pageid, $instance['show_page'] ) ) ||
321
+ ( is_shop() && ! in_array( 'shop', $instance['show_page'] ) ) ||
322
+ ( is_product_category() && ! in_array( 'product_cat', $instance['show_page'] ) ) ||
323
+ ( is_product() && ! in_array( 'single_product', $instance['show_page'] ) ) ||
324
+ ( is_product_taxonomy() && ! in_array( 'product_taxonomy', $instance['show_page'] ) && ! is_product_category() ) ||
325
+ ( is_product_tag() && ! in_array( 'product_tag', $instance['show_page'] ) ) )
326
+ ) {
327
+
328
+ if( BeRocket_AAPF::$debug_mode ) {
329
+ $widget_error_log['return'] = 'hidden';
330
+ BeRocket_AAPF::$error_log['6_widgets'][] = $widget_error_log;
331
+ }
332
+ return false;
333
+ }
334
+ }
335
+
336
+ if ( isset ( $br_wc_query ) ) {
337
+ if( ! is_a($br_wc_query, 'WP_Query') ) {
338
+ $br_wc_query = new WP_Query( $br_wc_query );
339
+ }
340
+ if( class_exists('WC_Query') && method_exists('WC_Query', 'product_query') && method_exists('WC_Query', 'get_main_query') ) {
341
+ $wc_query = wc()->query->get_main_query();
342
+ }
343
+ $old_query = $wp_query;
344
+ $old_the_query = $wp_the_query;
345
+ $wp_query = $br_wc_query;
346
+ $wp_the_query = $br_wc_query;
347
+ if( class_exists('WC_Query') && method_exists('WC_Query', 'product_query') && method_exists('WC_Query', 'get_main_query') ) {
348
+ wc()->query->product_query($wp_query);
349
+ }
350
+ }
351
+
352
+ $wp_query_product_cat = '-1';
353
+ $wp_check_product_cat = '1q1main_shop1q1';
354
+ if ( ! empty($wp_query->query['product_cat']) ) {
355
+ $wp_query_product_cat = explode( "/", $wp_query->query['product_cat'] );
356
+ $wp_query_product_cat = $wp_query_product_cat[ count( $wp_query_product_cat ) - 1 ];
357
+ $wp_query_product_cat = urldecode($wp_query_product_cat);
358
+ $wp_check_product_cat = $wp_query_product_cat;
359
+ }
360
+
361
+ if ( empty($br_options['products_holder_id']) ) $br_options['products_holder_id'] = 'ul.products';
362
+
363
+ if ( empty($instance['br_wp_footer']) ) {
364
+ global $br_widget_ids;
365
+ if ( ! isset( $br_widget_ids ) ) {
366
+ $br_widget_ids = array();
367
+ }
368
+ $br_widget_ids[] = array('instance' => $instance, 'args' => $args);
369
+ }
370
+
371
+ extract( $args );
372
+ extract( $instance );
373
+
374
+ $text_before_price = apply_filters('aapf_widget_text_before_price', ( isset($text_before_price) ? $text_before_price : '' ) );
375
+ $text_after_price = apply_filters('aapf_widget_text_after_price', ( isset($text_after_price) ? $text_after_price : '' ) );
376
+ if( ! empty($text_before_price) || ! empty($text_after_price) ) {
377
+ $cur_symbol = get_woocommerce_currency_symbol();
378
+ $cur_slug = get_woocommerce_currency();
379
+ if( !empty($text_before_price) ) {
380
+ $text_before_price = str_replace(array('%cur_symbol%', '%cur_slug%'), array($cur_symbol, $cur_slug), $text_before_price);
381
+ }
382
+ if( !empty($text_after_price) ) {
383
+ $text_after_price = str_replace(array('%cur_symbol%', '%cur_slug%'), array($cur_symbol, $cur_slug), $text_after_price);
384
+ }
385
+ }
386
+
387
+ if ( empty($order_values_by) ) {
388
+ $order_values_by = 'Default';
389
+ }
390
+
391
+ if ( ! empty($filter_type) && ( $filter_type == 'product_cat' || $filter_type == '_stock_status' || $filter_type == '_sale' || $filter_type == '_rating' ) ) {
392
+ $attribute = $filter_type;
393
+ $filter_type = 'attribute';
394
+ }
395
+
396
+ $product_cat = @ json_decode( $product_cat );
397
+
398
+ if ( $product_cat && is_product() && ! empty($instance['show_page']) && is_array($instance['show_page']) && in_array( 'single_product', $instance['show_page'] ) ) {
399
+ $hide_widget = true;
400
+ global $post;
401
+ $product_cat_id = array();
402
+ $terms = get_the_terms( $post->ID, 'product_cat' );
403
+ if( ! empty($terms) && is_array($terms) ) {
404
+ foreach ($terms as $term) {
405
+ $cur_cat_id = apply_filters( 'wpml_object_id', $term->term_id, 'product_cat', true, $default_language );
406
+ $product_cat_id[] = $cur_cat_id;
407
+ if ( ! empty($cat_propagation) ) {
408
+ $cur_cat_ancestors = get_ancestors( $term->term_id, 'product_cat' );
409
+ foreach ( $cur_cat_ancestors as $cat_ancestor ) {
410
+ $cur_cat_ancestor = apply_filters( 'wpml_object_id', $cat_ancestor, 'product_cat', true, $default_language );
411
+ $product_cat_id[] = $cur_cat_ancestor;
412
+ }
413
+ }
414
+ foreach ( $product_cat as $cat ) {
415
+ $cur_cat = get_term_by( 'slug', $cat, 'product_cat' );
416
+ $cur_cat_id = apply_filters( 'wpml_object_id', $cur_cat->term_id, 'product_cat', true, $default_language );
417
+ if ( ! empty($cur_cat_id) && is_array($product_cat_id) && in_array( $cur_cat_id, $product_cat_id ) ) {
418
+ $hide_widget = false;
419
+ break;
420
+ }
421
+ }
422
+ }
423
+ }
424
+
425
+ if ( $hide_widget ) {
426
+ $widget_error_log['return'] = 'hide_widget';
427
+ BeRocket_AAPF::$error_log['6_widgets'][] = $widget_error_log;
428
+ $this->restore_wp_the_query($br_wc_query, $wp_the_query, $wp_query, $wc_query, $old_the_query, $old_query);
429
+ return true;
430
+ }
431
+ }
432
+
433
+ if ( $product_cat && is_product_category() ) {
434
+ $hide_widget = true;
435
+
436
+ $cur_cat = get_term_by( 'slug', $wp_query_product_cat, 'product_cat' );
437
+ $cur_cat_id = apply_filters( 'wpml_object_id', $cur_cat->term_id, 'product_cat', true, $default_language );
438
+
439
+ if ( ! empty($cat_propagation) ) {
440
+ $cur_cat_ancestors = get_ancestors( $cur_cat_id, 'product_cat' );
441
+ $cur_cat_ancestors[] = $cur_cat_id;
442
+ foreach ( $cur_cat_ancestors as &$cat_ancestor ) {
443
+ $cat_ancestor = apply_filters( 'wpml_object_id', $cat_ancestor, 'product_cat', true, $default_language );
444
+ }
445
+ foreach ( $product_cat as $cat ) {
446
+ $cat = get_term_by( 'slug', $cat, 'product_cat' );
447
+ $cat_id = apply_filters( 'wpml_object_id', $cat->term_id, 'product_cat', true, $default_language );
448
+
449
+ if ( ! empty($cat_id) && is_array($cur_cat_ancestors) && in_array( $cat_id, $cur_cat_ancestors ) ) {
450
+ $hide_widget = false;
451
+ break;
452
+ }
453
+ }
454
+ } else {
455
+ foreach ( $product_cat as $cat ) {
456
+ $cat = get_term_by( 'slug', $cat, 'product_cat' );
457
+ $cat_id = apply_filters( 'wpml_object_id', $cat->term_id, 'product_cat', true, $default_language );
458
+ if ( $cat_id == $cur_cat_id ) {
459
+ $hide_widget = false;
460
+ break;
461
+ }
462
+ }
463
+ }
464
+
465
+ if ( $hide_widget ) {
466
+ $widget_error_log['return'] = 'hide_widget';
467
+ BeRocket_AAPF::$error_log['6_widgets'][] = $widget_error_log;
468
+ $this->restore_wp_the_query($br_wc_query, $wp_the_query, $wp_query, $wc_query, $old_the_query, $old_query);
469
+ return true;
470
+ }
471
+ }
472
+
473
+ if( empty($br_options['ajax_site']) ) {
474
+ do_action('br_footer_script');
475
+ } else {
476
+ echo '<script>jQuery(document).ready(function() {if(typeof(berocket_filters_first_load) == "function") {berocket_filters_first_load();}});</script>';
477
+ }
478
+ if( apply_filters( 'berocket_aapf_widget_display_custom_filter', false, berocket_isset($widget_type), $instance, $args, $this ) ) return '';
479
+
480
+ if( ! empty($widget_type) && $custom_type_html = apply_filters('berocket_aapf_display_filter_custom_type', '', $widget_type, array('options' => $instance, 'args' => $args)) ) {
481
+ if( $custom_type_html !== TRUE ) {
482
+ echo $before_widget;
483
+ echo $custom_type_html;
484
+ echo $after_widget;
485
+ }
486
+ $widget_error_log['return'] = $widget_type;
487
+ BeRocket_AAPF::$error_log['6_widgets'][] = $widget_error_log;
488
+ $this->restore_wp_the_query($br_wc_query, $wp_the_query, $wp_query, $wc_query, $old_the_query, $old_query);
489
+ return '';
490
+ }
491
+
492
+ $woocommerce_hide_out_of_stock_items = BeRocket_AAPF_Widget::woocommerce_hide_out_of_stock_items();
493
+ if( $woocommerce_hide_out_of_stock_items == 'yes' && $filter_type == 'attribute' && $attribute == '_stock_status' ) {
494
+ $widget_error_log['return'] = 'stock_status';
495
+ BeRocket_AAPF::$error_log['6_widgets'][] = $widget_error_log;
496
+ $this->restore_wp_the_query($br_wc_query, $wp_the_query, $wp_query, $wc_query, $old_the_query, $old_query);
497
+ return true;
498
+ }
499
+
500
+ if( $type == "slider" ) {
501
+ $operator = 'OR';
502
+ $order_values_by = '';
503
+ $order_values_type = 'asc';
504
+ }
505
+
506
+ $terms = $sort_terms = $price_range = array();
507
+ $instance['wp_check_product_cat'] = $wp_check_product_cat;
508
+ $instance['wp_query_product_cat'] = $wp_query_product_cat;
509
+ list($terms_error_return, $terms_ready, $terms, $type) = apply_filters( 'berocket_widget_attribute_type_terms', array(false, false, $terms, $type), $attribute, $filter_type, $instance );
510
+ if( $terms_ready ) {
511
+ if( $terms_error_return === FALSE ) {
512
+ $set_query_var_title['terms'] = apply_filters( 'berocket_aapf_widget_terms', $terms );
513
+ if( BeRocket_AAPF::$debug_mode ) {
514
+ $widget_error_log['terms'] = $terms;
515
+ }
516
+ } else {
517
+ $widget_error_log['terms'] = $terms;
518
+ $widget_error_log['return'] = $terms_error_return;
519
+ BeRocket_AAPF::$error_log['6_widgets'][] = $widget_error_log;
520
+ $this->restore_wp_the_query($br_wc_query, $wp_the_query, $wp_query, $wc_query, $old_the_query, $old_query);
521
+ return false;
522
+ }
523
+ } else {
524
+ if ( $filter_type == 'attribute' ) {
525
+ if ( $attribute == 'price' ) {
526
+ if ( ! empty($price_values) ) {
527
+ $price_range = explode( ",", $price_values );
528
+ } elseif( $use_min_price && $use_max_price ) {
529
+ $price_range = array($min_price, $max_price);
530
+ } else {
531
+ $price_range = br_get_cache( 'price_range', $wp_check_product_cat );
532
+ if ( $price_range === false ) {
533
+ $price_range = BeRocket_AAPF_Widget::get_price_range( $wp_query_product_cat, ( isset($cat_value_limit) ? $cat_value_limit : null ) );
534
+ br_set_cache( 'price_range', $price_range, $wp_check_product_cat, BeRocket_AJAX_cache_expire );
535
+ }
536
+ if ( ! $price_range or count( $price_range ) < 2 ) {
537
+ $widget_error_log['price_range'] = $price_range;
538
+ $widget_error_log['return'] = 'price_range < 2';
539
+ BeRocket_AAPF::$error_log['6_widgets'][] = $widget_error_log;
540
+ $this->restore_wp_the_query($br_wc_query, $wp_the_query, $wp_query, $wc_query, $old_the_query, $old_query);
541
+ return false;
542
+ }
543
+ }
544
+ if( BeRocket_AAPF::$debug_mode ) {
545
+ $widget_error_log['price_range'] = $price_range;
546
+ }
547
+ } elseif ( $attribute == '_rating' ) {
548
+ $terms = array();
549
+ $term = get_term_by('slug', 'rated-1', 'product_visibility');
550
+ $term->name = ( $type == 'select' ? __('1 star', 'BeRocket_AJAX_domain') : __('<i class="fa fa-star"></i><i class="fa fa-star-o"></i><i class="fa fa-star-o"></i><i class="fa fa-star-o"></i><i class="fa fa-star-o"></i>', 'BeRocket_AJAX_domain') );
551
+ array_push($terms, $term);
552
+ $term = get_term_by('slug', 'rated-2', 'product_visibility');
553
+ $term->name = ( $type == 'select' ? __('2 stars', 'BeRocket_AJAX_domain') : __('<i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star-o"></i><i class="fa fa-star-o"></i><i class="fa fa-star-o"></i>', 'BeRocket_AJAX_domain') );
554
+ array_push($terms, $term);
555
+ $term = get_term_by('slug', 'rated-3', 'product_visibility');
556
+ $term->name = ( $type == 'select' ? __('3 stars', 'BeRocket_AJAX_domain') : __('<i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star-o"></i><i class="fa fa-star-o"></i>', 'BeRocket_AJAX_domain') );
557
+ array_push($terms, $term);
558
+ $term = get_term_by('slug', 'rated-4', 'product_visibility');
559
+ $term->name = ( $type == 'select' ? __('4 stars', 'BeRocket_AJAX_domain') : __('<i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star-o"></i>', 'BeRocket_AJAX_domain') );
560
+ array_push($terms, $term);
561
+ $term = get_term_by('slug', 'rated-5', 'product_visibility');
562
+ $term->name = ( $type == 'select' ? __('5 stars', 'BeRocket_AJAX_domain') : __('<i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star"></i>', 'BeRocket_AJAX_domain') );
563
+ array_push($terms, $term);
564
+ $terms = BeRocket_AAPF_Widget::get_attribute_values( $attribute, 'id', braapf_filters_must_be_recounted('first'), ( braapf_filters_must_be_recounted() ), $terms, ( isset($cat_value_limit) ? $cat_value_limit : null ), $operator );
565
+ foreach($terms as &$term) {
566
+ $term->taxonomy = '_rating';
567
+ }
568
+ if( ! empty( $order_values_type ) && $order_values_type == 'desc' ) {
569
+ $terms = array_reverse($terms);
570
+ }
571
+ $set_query_var_title['terms'] = apply_filters( 'berocket_aapf_widget_terms', $terms );
572
+ if( BeRocket_AAPF::$debug_mode ) {
573
+ $widget_error_log['terms'] = $terms;
574
+ }
575
+ } elseif ( $attribute == 'product_cat' ) {
576
+ if( $parent_product_cat_current ) {
577
+ $cate = get_queried_object();
578
+ if( isset($cate->term_id) ) {
579
+ $cateID = $cate->term_id;
580
+ $title = str_replace( '%product_cat%', $cate->name, $title );
581
+ } else {
582
+ $cateID = 0;
583
+ $title = str_replace( '%product_cat%', '', $title );
584
+ }
585
+ $parent_product_cat_cache = $cateID;
586
+ $parent_product_cat = $cateID;
587
+ } else {
588
+ $parent_product_cat_cache = $parent_product_cat;
589
+ }
590
+ $terms = br_get_cache ( $attribute . $order_values_by, $wp_check_product_cat . $parent_product_cat_cache . $depth_count );
591
+ if ( br_is_filtered() || $terms === false ) {
592
+ $terms_unsort = br_get_cat_hierarchy(array(), $parent_product_cat, $depth_count );
593
+ self::sort_terms( $terms_unsort, array(
594
+ "order_values_by" => $order_values_by,
595
+ "attribute" => $attribute,
596
+ "order_values_type"=> (empty($order_values_type) || $order_values_type == 'asc' ? SORT_ASC : SORT_DESC)
597
+ ) );
598
+
599
+ $terms_unsort = self::set_terms_on_same_level( $terms_unsort, array(), ($type != 'checkbox' && $type != 'radio') );
600
+ $terms = BeRocket_AAPF_Widget::get_attribute_values( $attribute, 'id', braapf_filters_must_be_recounted('first'), ( braapf_filters_must_be_recounted() ), $terms_unsort, ( isset($cat_value_limit) ? $cat_value_limit : null ), $operator );
601
+ if ( isset( $depth_count ) ) {
602
+ $old_terms = array();
603
+ foreach($terms as $term_data) {
604
+ $old_terms[$term_data->term_id] = $term_data;
605
+ }
606
+ $terms = array();
607
+
608
+ foreach( $terms_unsort as $term_unsort ) {
609
+ if ( ! empty( $old_terms[ $term_unsort->term_id ] ) ) {
610
+ $terms[ $term_unsort->term_id ] = $old_terms[ $term_unsort->term_id ];
611
+ }
612
+ }
613
+ }
614
+
615
+ if ( ! br_is_filtered() ) {
616
+ br_set_cache( $attribute.$order_values_by, $terms, $wp_check_product_cat.$parent_product_cat_cache.$depth_count, BeRocket_AJAX_cache_expire );
617
+ }
618
+ }
619
+
620
+ if( BeRocket_AAPF::$debug_mode ) {
621
+ $widget_error_log['terms'] = $terms;
622
+ }
623
+ $terms = apply_filters('berocket_aapf_widget_include_exclude_items', $terms, $instance);
624
+
625
+ if ( empty($terms) || ! is_array($terms) || count( $terms ) < 1 ) {
626
+ $widget_error_log['terms'] = $terms;
627
+ $widget_error_log['return'] = 'terms < 1';
628
+ BeRocket_AAPF::$error_log['6_widgets'][] = $widget_error_log;
629
+ $this->restore_wp_the_query($br_wc_query, $wp_the_query, $wp_query, $wc_query, $old_the_query, $old_query);
630
+ return false;
631
+ }
632
+ $set_query_var_title['terms'] = apply_filters( 'berocket_aapf_widget_terms', $terms );
633
+ unset( $terms, $terms_unsort );
634
+ } else {
635
+ $sort_array = array();
636
+ $wc_order_by = wc_attribute_orderby( $attribute );
637
+
638
+ $terms = br_get_cache ( $attribute, $wp_check_product_cat );
639
+ if( br_is_filtered() || $terms === false || ( ! empty($child_parent) && ( $child_parent == 'parent' || $child_parent == 'child' ) ) ) {
640
+ $current_terms = self::get_terms_child_parent ( ( empty($child_parent) ? '' : $child_parent ), $attribute, FALSE, ( isset($child_parent_depth) ? $child_parent_depth : null ) );
641
+ $terms = BeRocket_AAPF_Widget::get_attribute_values( $attribute, 'id', braapf_filters_must_be_recounted('first'), ( braapf_filters_must_be_recounted() ), $current_terms, ( isset($cat_value_limit) ? $cat_value_limit : null ), $operator );
642
+ if( ! br_is_filtered() && ( empty($child_parent) || ( $child_parent != 'parent' && $child_parent != 'child' ) ) ) {
643
+ br_set_cache ( $attribute, $terms, $wp_check_product_cat, BeRocket_AJAX_cache_expire );
644
+ }
645
+ }
646
+ $terms = apply_filters('berocket_aapf_widget_include_exclude_items', $terms, $instance);
647
+
648
+ if ( empty($terms) || ! is_array($terms) || count( $terms ) < 1 ) {
649
+ $widget_error_log['terms'] = $terms;
650
+ $widget_error_log['return'] = 'terms < 1';
651
+ BeRocket_AAPF::$error_log['6_widgets'][] = $widget_error_log;
652
+ $this->restore_wp_the_query($br_wc_query, $wp_the_query, $wp_query, $wc_query, $old_the_query, $old_query);
653
+ return false;
654
+ }
655
+
656
+ if ( $wc_order_by == 'menu_order' and $order_values_by == 'Default' ) {
657
+ foreach ( $terms as $term ) {
658
+ if( isset($term->term_id) ) {
659
+ $sort_array[] = get_term_meta( $term->term_id, ( br_woocommerce_version_check('3.6') ? 'order' : 'order_' . $attribute ), true );
660
+ }
661
+ }
662
+ array_multisort( $sort_array, (empty($order_values_type) || $order_values_type == 'asc' ? SORT_ASC : SORT_DESC), $terms );
663
+ } else {
664
+ self::sort_terms( $terms, array(
665
+ "wc_order_by" => $wc_order_by,
666
+ "order_values_by" => $order_values_by,
667
+ "filter_type" => $filter_type,
668
+ "order_values_type"=> (empty($order_values_type) || $order_values_type == 'asc' ? SORT_ASC : SORT_DESC)
669
+ ) );
670
+ }
671
+
672
+ if( BeRocket_AAPF::$debug_mode ) {
673
+ $widget_error_log['terms'] = $terms;
674
+ }
675
+ $set_query_var_title['terms'] = apply_filters( 'berocket_aapf_widget_terms', $terms );
676
+ }
677
+
678
+ } elseif ( $filter_type == 'tag' ) {
679
+ $attribute = 'product_tag';
680
+ $terms = br_get_cache ( $attribute.$order_values_by, $wp_check_product_cat );
681
+ if( br_is_filtered() || $terms === false ) {
682
+ $terms = BeRocket_AAPF_Widget::get_attribute_values( $attribute, 'id', braapf_filters_must_be_recounted('first'), ( braapf_filters_must_be_recounted() ), FALSE, ( isset($cat_value_limit) ? $cat_value_limit : null ), $operator );
683
+
684
+ if ( $order_values_by != 'Default' ) {
685
+ self::sort_terms( $terms, array(
686
+ "order_values_by" => $order_values_by,
687
+ "attribute" => $attribute,
688
+ "order_values_type"=> (empty($order_values_type) || $order_values_type == 'asc' ? SORT_ASC : SORT_DESC)
689
+ ) );
690
+ }
691
+ if( ! br_is_filtered() ) {
692
+ br_set_cache ( $attribute.$order_values_by, $terms, $wp_check_product_cat, BeRocket_AJAX_cache_expire );
693
+ }
694
+ }
695
+
696
+ if( BeRocket_AAPF::$debug_mode ) {
697
+ $widget_error_log['terms'] = $terms;
698
+ }
699
+
700
+ $terms = apply_filters('berocket_aapf_widget_include_exclude_items', $terms, $instance);
701
+
702
+ $set_query_var_title['terms'] = apply_filters( 'berocket_aapf_widget_terms', $terms );
703
+
704
+ if ( empty($terms) || ! is_array($terms) || count( $terms ) < 1 ) {
705
+ $widget_error_log['terms'] = $terms;
706
+ $widget_error_log['return'] = 'terms < 1';
707
+ BeRocket_AAPF::$error_log['6_widgets'][] = $widget_error_log;
708
+ $this->restore_wp_the_query($br_wc_query, $wp_the_query, $wp_query, $wc_query, $old_the_query, $old_query);
709
+ return false;
710
+ }
711
+ } elseif ( $filter_type == 'custom_taxonomy' ) {
712
+ $terms = br_get_cache ( $custom_taxonomy.$order_values_by, $filter_type.$wp_check_product_cat );
713
+ if( br_is_filtered() || $terms === false || ( ! empty($child_parent) && ( $child_parent == 'parent' || $child_parent == 'child' ) ) ) {
714
+ if ( $custom_taxonomy == 'product_cat' ) {
715
+ if( empty($child_parent) || ( $child_parent != 'parent' && $child_parent != 'child' ) ) {
716
+ $terms = br_get_cat_hierarchy(array());
717
+ $terms = self::set_terms_on_same_level( $terms, array(), ($type != 'checkbox' && $type != 'radio') );
718
+ } else {
719
+ $terms = self::get_terms_child_parent ( ( empty($child_parent) ? '' : $child_parent ), $custom_taxonomy, FALSE, ( isset($child_parent_depth) ? $child_parent_depth : null ) );
720
+ }
721
+ } else {
722
+ $terms = self::get_terms_child_parent ( $child_parent, $custom_taxonomy, FALSE, ( isset($child_parent_depth) ? $child_parent_depth : 0 ) );
723
+ $terms = BeRocket_AAPF_Widget::get_attribute_values( $custom_taxonomy, 'id', braapf_filters_must_be_recounted('first'), ( braapf_filters_must_be_recounted() ), $terms, ( isset($cat_value_limit) ? $cat_value_limit : null ), $operator );
724
+ }
725
+ if( $custom_taxonomy == 'product_cat' ) {
726
+ $terms = BeRocket_AAPF_Widget::get_attribute_values( $custom_taxonomy, 'id', braapf_filters_must_be_recounted('first'), ( braapf_filters_must_be_recounted() ), $terms, ( isset($cat_value_limit) ? $cat_value_limit : null ), $operator );
727
+ }
728
+ if ( $order_values_by != 'Default' || in_array($custom_taxonomy, array('berocket_brand', 'product_cat')) ) {
729
+ if( $custom_taxonomy == 'product_cat' ) {
730
+ $terms_unsort = br_get_cat_hierarchy(array(), 0, 0 );
731
+ self::sort_terms( $terms_unsort, array(
732
+ "order_values_by" => $order_values_by,
733
+ "attribute" => $custom_taxonomy,
734
+ "order_values_type"=> (empty($order_values_type) || $order_values_type == 'asc' ? SORT_ASC : SORT_DESC)
735
+ ) );
736
+
737
+ $terms_unsort = self::set_terms_on_same_level( $terms_unsort, array(), ($type != 'checkbox' && $type != 'radio') );
738
+ if ( isset( $depth_count ) ) {
739
+ $old_terms = array();
740
+ foreach($terms as $term_data) {
741
+ $old_terms[$term_data->term_id] = $term_data;
742
+ }
743
+ $terms = array();
744
+
745
+ foreach( $terms_unsort as $term_unsort ) {
746
+ if ( ! empty( $old_terms[ $term_unsort->term_id ] ) ) {
747
+ $terms[ $term_unsort->term_id ] = $old_terms[ $term_unsort->term_id ];
748
+ }
749
+ }
750
+ }
751
+ } else {
752
+ self::sort_terms( $terms, array(
753
+ "order_values_by" => $order_values_by,
754
+ "attribute" => $custom_taxonomy,
755
+ "order_values_type"=> (empty($order_values_type) || $order_values_type == 'asc' ? SORT_ASC : SORT_DESC)
756
+ ) );
757
+ }
758
+ }
759
+ if ( ! br_is_filtered() && $child_parent != 'parent' && $child_parent != 'child' ) {
760
+ br_set_cache( $custom_taxonomy . $order_values_by, $terms, $filter_type . $wp_check_product_cat, BeRocket_AJAX_cache_expire );
761
+ }
762
+ }
763
+
764
+ if( BeRocket_AAPF::$debug_mode ) {
765
+ $widget_error_log['terms'] = $terms;
766
+ }
767
+ $terms = apply_filters('berocket_aapf_widget_include_exclude_items', $terms, $instance);
768
+
769
+ $set_query_var_title['terms'] = apply_filters( 'berocket_aapf_widget_terms', $terms );
770
+ $sort_array = self::sort_child_parent_hierarchy($terms);
771
+ @ array_multisort( $sort_array, (empty($order_values_type) || $order_values_type == 'asc' ? SORT_ASC : SORT_DESC), SORT_NUMERIC, $terms );
772
+
773
+ if ( ! isset($terms) || ! is_array($terms) || count( $terms ) < 1 ) {
774
+ $widget_error_log['terms'] = ( isset($terms) ? $terms : '' );
775
+ $widget_error_log['return'] = 'terms < 1';
776
+ BeRocket_AAPF::$error_log['6_widgets'][] = $widget_error_log;
777
+ $this->restore_wp_the_query($br_wc_query, $wp_the_query, $wp_query, $wc_query, $old_the_query, $old_query);
778
+ return false;
779
+ }
780
+ }
781
+ }
782
+
783
+ $style = $class = '';
784
+ $style = br_get_value_from_array($args, 'widget_inline_style');
785
+ if( ! empty($height) and $height != 'auto' ){
786
+ $style .= "max-height: {$height}px; overflow: hidden;";
787
+ $class = "berocket_aapf_widget_height_control";
788
+ }
789
+
790
+ if( !$scroll_theme ) $scroll_theme = 'dark';
791
+ if( $filter_type == 'custom_taxonomy' )
792
+ $attribute = $custom_taxonomy;
793
+ if( ! isset($attribute_count) || $attribute_count == '' ) {
794
+ $attribute_count = br_get_value_from_array($br_options,'attribute_count');
795
+ }
796
+
797
+ if( $type == 'select' || $type == 'slider' ) {
798
+ $values_per_row = 1;
799
+ }
800
+
801
+ $set_query_var_title['operator'] = $operator;
802
+ $set_query_var_title['attribute'] = $attribute;
803
+ $set_query_var_title['type'] = $type;
804
+ $set_query_var_title['title'] = apply_filters( 'berocket_aapf_widget_title', $title );
805
+ $set_query_var_title['class'] = apply_filters( 'berocket_aapf_widget_class', $class );
806
+ $set_query_var_title['css_class'] = apply_filters( 'berocket_aapf_widget_css_class', (isset($css_class) ? $css_class : '') );
807
+ $set_query_var_title['style'] = apply_filters( 'berocket_aapf_widget_style', $style );
808
+ $set_query_var_title['scroll_theme'] = $scroll_theme;
809
+ $set_query_var_title['x'] = time();
810
+ $set_query_var_title['filter_type'] = $filter_type;
811
+ $set_query_var_title['uo'] = br_aapf_converter_styles( (empty($br_options['styles']) ? '' : $br_options['styles']) );
812
+ $set_query_var_title['notuo'] = (empty($br_options['styles']) ? '' : $br_options['styles']);
813
+ $set_query_var_title['widget_is_hide'] = (! empty($widget_collapse_enable) && ! empty($widget_is_hide));
814
+ $set_query_var_title['widget_collapse_disable'] = empty($widget_collapse_enable);
815
+ $set_query_var_title['is_hide_mobile'] = ! empty($is_hide_mobile);
816
+ $set_query_var_title['show_product_count_per_attr'] = ! empty($show_product_count_per_attr);
817
+ $set_query_var_title['hide_child_attributes'] = ! empty($hide_child_attributes);
818
+ $set_query_var_title['cat_value_limit'] = ( isset($cat_value_limit) ? $cat_value_limit : null );
819
+ $set_query_var_title['select_first_element_text'] = ( empty($select_first_element_text) ? __('Any', 'BeRocket_AJAX_domain') : $select_first_element_text );
820
+ $set_query_var_title['icon_before_title'] = (isset($icon_before_title) ? $icon_before_title : null);
821
+ $set_query_var_title['icon_after_title'] = (isset($icon_after_title) ? $icon_after_title : null);
822
+ $set_query_var_title['hide_o_value'] = ! empty($br_options['hide_value']['o']);
823
+ $set_query_var_title['hide_sel_value'] = ! empty($br_options['hide_value']['sel']);
824
+ $set_query_var_title['hide_empty_value'] = ! empty($br_options['hide_value']['empty']);
825
+ $set_query_var_title['hide_button_value'] = ! empty($br_options['hide_value']['button']);
826
+ $set_query_var_title['attribute_count_show_hide'] = berocket_isset($attribute_count_show_hide);
827
+ $set_query_var_title['attribute_count'] = $attribute_count;
828
+ $set_query_var_title['description'] = (isset($description) ? $description : null);
829
+ $set_query_var_title['hide_collapse_arrow'] = (empty($widget_collapse_enable) || ! empty($hide_collapse_arrow));
830
+ $set_query_var_title['values_per_row'] = (isset($values_per_row) ? $values_per_row : null);
831
+ $set_query_var_title['child_parent'] = (isset($child_parent) ? $child_parent : null);
832
+ $set_query_var_title['child_parent_depth'] = (isset($child_parent_depth) ? $child_parent_depth : null);
833
+ $set_query_var_title['product_count_style'] = (isset($br_options['styles_input']['product_count']) ? $br_options['styles_input']['product_count'] : '').'pcs '.(isset($br_options['styles_input']['product_count_position']) ? $br_options['styles_input']['product_count_position'] : null).'pcs';
834
+ $set_query_var_title['styles_input'] = (isset($br_options['styles_input']) ? $br_options['styles_input'] : array());
835
+ $set_query_var_title['child_parent_previous'] = (isset($child_parent_previous) ? $child_parent_previous : null);
836
+ $set_query_var_title['child_parent_no_values'] = (isset($child_parent_no_values) ? $child_parent_no_values : null);
837
+ $set_query_var_title['child_parent_no_products'] = (isset($child_parent_no_products) ? $child_parent_no_products : null);
838
+ $set_query_var_title['before_title'] = (isset($before_title) ? $before_title : null);
839
+ $set_query_var_title['after_title'] = (isset($after_title) ? $after_title : null);
840
+ $set_query_var_title['widget_id'] = ( $this->id ? $this->id : $widget_id );
841
+ $set_query_var_title['widget_id_number'] = ( $this->number ? $this->number : $widget_id_number );
842
+ $set_query_var_title['slug_urls'] = ! empty($br_options['slug_urls']);
843
+ $set_query_var_title = apply_filters('berocket_aapf_query_var_title_filter', $set_query_var_title, $instance, $br_options);
844
+ set_query_var( 'berocket_query_var_title', $set_query_var_title );
845
+
846
+ // widget title and start tag ( <ul> ) can be found in templates/widget_start.php
847
+ echo $before_widget;
848
+ do_action('berocket_aapf_widget_before_start');
849
+ br_get_template_part('widget_start');
850
+ do_action('berocket_aapf_widget_after_start');
851
+
852
+ $slider_with_string = false;
853
+ $stringed_is_numeric = true;
854
+ $slider_step = 1;
855
+
856
+ if ( $type == 'slider' ) {
857
+ $min = $max = false;
858
+ $main_class = 'slider';
859
+ $slider_class = 'berocket_filter_slider';
860
+
861
+ if ( $attribute == 'price' ){
862
+ wp_localize_script(
863
+ 'berocket_aapf_widget-script',
864
+ 'br_price_text',
865
+ array(
866
+ 'before' => (isset($text_before_price) ? $text_before_price : ''),
867
+ 'after' => (isset($text_after_price) ? $text_after_price : ''),
868
+ )
869
+ );
870
+ if ( ! empty($price_values) ) {
871
+ $all_terms_name = $price_range;
872
+ $all_terms_slug = $price_range;
873
+ $stringed_is_numeric = true;
874
+ $min = 0;
875
+ $max = count( $all_terms_name ) - 1;
876
+ $slider_with_string = true;
877
+ } else {
878
+ if( $price_range ) {
879
+ foreach ( $price_range as $price ) {
880
+ if ( $min === false or $min > (int) $price ) {
881
+ $min = $price;
882
+ }
883
+ if ( $max === false or $max < (int) $price ) {
884
+ $max = $price;
885
+ }
886
+ }
887
+ }
888
+ if( $use_min_price ) {
889
+ $min = $min_price;
890
+ }
891
+ if ( $use_max_price ) {
892
+ $max = $max_price;
893
+ }
894
+ }
895
+ $id = 'br_price';
896
+ $slider_class .= ' berocket_filter_price_slider';
897
+ $main_class .= ' price';
898
+
899
+ $min = floor( $min );
900
+ $max = ceil( $max );
901
+ } else {
902
+ if ( $slider_default ) {
903
+ $slider_with_string = true;
904
+ }
905
+
906
+ if ( isset($terms) && is_array($terms) && count( $terms ) < 1 ) {
907
+ $widget_error_log['terms'] = $terms;
908
+ $widget_error_log['return'] = 'terms < 1';
909
+ BeRocket_AAPF::$error_log['6_widgets'][] = $widget_error_log;
910
+ $this->restore_wp_the_query($br_wc_query, $wp_the_query, $wp_query, $wc_query, $old_the_query, $old_query);
911
+ return false;
912
+ }
913
+
914
+ if( ! empty($terms) && is_array($terms) ) {
915
+ $all_terms_name = array();
916
+ $all_terms_slug = array();
917
+ foreach ( $terms as $term ) {
918
+ if ( ! is_numeric( $term->name ) ) {
919
+ $slider_with_string = true;
920
+ if ( ! is_numeric( substr( $term->name, 0, 1 ) ) ) {
921
+ $stringed_is_numeric = false;
922
+ }
923
+ }
924
+ if ( $min === false or strcmp( $min, $term->name ) > 0 ) {
925
+ $min = $term->name;
926
+ }
927
+ if ( $max === false or strcmp( $max, $term->name ) < 0 ) {
928
+ $max = $term->name;
929
+ }
930
+ array_push( $all_terms_name, urldecode($term->slug) );
931
+ array_push( $all_terms_slug, $term->name );
932
+ }
933
+
934
+ if ( ! $slider_with_string ) {
935
+ $min = false;
936
+ $max = false;
937
+ foreach ( $terms as $term ) {
938
+ if ( (float) $term->name != (int) (float) $term->name ) {
939
+ if ( round( (float) $term->name, 1 ) == (float) $term->name && $slider_step != 100 ) {
940
+ $slider_step = 10;
941
+ } else {
942
+ $slider_step = 100;
943
+ }
944
+ }
945
+ if ( $min === false or $min > (float) $term->name ) {
946
+ $min = round( (float) $term->name, 2 );
947
+ if ( $min > (float) $term->name ) {
948
+ $min -= 0.01;
949
+ }
950
+ }
951
+ if ( $max === false or $max < (float) $term->name ) {
952
+ $max = round( (float) $term->name, 2 );
953
+ if ( $max < (float) $term->name ) {
954
+ $max += 0.01;
955
+ }
956
+ }
957
+ }
958
+ }
959
+ }
960
+ $widget_error_log['slider_with_string'] = (isset($slider_with_string) ? $slider_with_string : null);
961
+ $widget_error_log['stringed_is_numeric'] = (isset($stringed_is_numeric) ? $stringed_is_numeric : null);
962
+
963
+ $id = $term->taxonomy;
964
+ if ( empty($slider_with_string) ) {
965
+ $min *= $slider_step;
966
+ $max *= $slider_step;
967
+ $all_terms_name = null;
968
+ } else {
969
+ if ( count( $all_terms_name ) == 1 ) {
970
+ array_push( $all_terms_name, $all_terms_name[0] );
971
+ array_push( $all_terms_slug, $all_terms_slug[0] );
972
+ }
973
+ $min = 0;
974
+ $max = count( $all_terms_name ) - 1;
975
+ if( ! empty($stringed_is_numeric) ) {
976
+ array_multisort( $all_terms_slug, SORT_NUMERIC, $all_terms_slug, $all_terms_name );
977
+ } elseif($filter_type == 'custom_taxonomy') {
978
+ array_multisort( $all_terms_name, $all_terms_name, $all_terms_slug );
979
+ }
980
+ }
981
+ $widget_error_log['all_terms_slug'] = (isset($all_terms_slug) ? $all_terms_slug : null);
982
+ $widget_error_log['all_terms_name'] = (isset($all_terms_name) ? $all_terms_name : null);
983
+ }
984
+
985
+ $slider_value1 = $min;
986
+ $slider_value2 = $max;
987
+
988
+ if ( $attribute == 'price' and ! empty($_POST['price']) ) {
989
+ if ( ! empty($price_values) ) {
990
+ $slider_value1 = array_search( $_POST['price'][0], $all_terms_name );
991
+ $slider_value2 = array_search( $_POST['price'][1], $all_terms_name );
992
+ } else {
993
+ $slider_value1 = apply_filters('berocket_price_filter_widget_min_amount', apply_filters('berocket_price_slider_widget_min_amount', apply_filters('woocommerce_price_filter_widget_min_amount', $_POST['price'][0])), $_POST['price'][0]);
994
+ $slider_value2 = apply_filters('berocket_price_filter_widget_max_amount', apply_filters('berocket_price_slider_widget_max_amount', apply_filters('woocommerce_price_filter_widget_max_amount', $_POST['price'][1])), $_POST['price'][1]);
995
+ }
996
+ }
997
+ if ( $attribute != 'price' and ! empty($_POST['limits']) and is_array($_POST['limits']) ) {
998
+ foreach ( $_POST['limits'] as $p_limit ) {
999
+ if ( $p_limit[0] == $attribute ) {
1000
+ $slider_value1 = $p_limit[1];
1001
+ $slider_value2 = $p_limit[2];
1002
+ if ( ! $slider_with_string ) {
1003
+ $slider_value1 *= $slider_step;
1004
+ $slider_value2 *= $slider_step;
1005
+ } else {
1006
+ $p_limit[1] = urldecode( $p_limit[1] );
1007
+ $p_limit[2] = urldecode( $p_limit[2] );
1008
+ $slider_value1 = array_search( $p_limit[1], $all_terms_name );
1009
+ $slider_value2 = array_search( $p_limit[2], $all_terms_name );
1010
+ if( $slider_value1 === FALSE ) {
1011
+ $slider_value1 = 0;
1012
+ }
1013
+ if( $slider_value2 === FALSE ) {
1014
+ $slider_value2 = count($all_terms_name) - 1;
1015
+ }
1016
+ }
1017
+ }
1018
+ }
1019
+ if( BeRocket_AAPF::$debug_mode ) {
1020
+ $widget_error_log['value_1'] = $slider_value1;
1021
+ $widget_error_log['value_2'] = $slider_value2;
1022
+ $widget_error_log['step'] = $slider_step;
1023
+ }
1024
+ }
1025
+
1026
+ $wpml_id = preg_replace( '#^pa_#', '', $id );
1027
+ $wpml_id = 'pa_'.berocket_wpml_attribute_translate($wpml_id);
1028
+ $set_query_var_title['slider_value1'] = $slider_value1;
1029
+ $set_query_var_title['slider_value2'] = $slider_value2;
1030
+ $set_query_var_title['filter_slider_id'] = $wpml_id;
1031
+ $set_query_var_title['main_class'] = $main_class;
1032
+ $set_query_var_title['slider_class'] = $slider_class;
1033
+ $set_query_var_title['min'] = $min;
1034
+ $set_query_var_title['max'] = $max;
1035
+ $set_query_var_title['step'] = $slider_step;
1036
+ $set_query_var_title['slider_with_string'] = $slider_with_string;
1037
+ $set_query_var_title['all_terms_name'] = ( empty($all_terms_name) ? null : $all_terms_name );
1038
+ $set_query_var_title['all_terms_slug'] = ( empty($all_terms_slug) ? null : $all_terms_slug );
1039
+ $set_query_var_title['text_before_price'] = (isset($text_before_price) ? $text_before_price : null);
1040
+ $set_query_var_title['text_after_price'] = (isset($text_after_price) ? $text_after_price : null);
1041
+ $set_query_var_title['enable_slider_inputs'] = (isset($enable_slider_inputs) ? $enable_slider_inputs : null);
1042
+ if( ! empty($number_style) ) {
1043
+ $set_query_var_title['number_style'] = array(
1044
+ ( empty($number_style_thousand_separate) ? '' : $number_style_thousand_separate ),
1045
+ ( empty($number_style_decimal_separate) ? '' : $number_style_decimal_separate ),
1046
+ ( empty($number_style_decimal_number) ? '' : $number_style_decimal_number )
1047
+ );
1048
+ } else {
1049
+ $set_query_var_title['number_style'] = '';
1050
+ }
1051
+ }
1052
+ $set_query_var_title['first_page_jump'] = ( empty($first_page_jump) ? '' : $first_page_jump );
1053
+ $set_query_var_title['icon_before_value'] = (isset($icon_before_value) ? $icon_before_value : null);
1054
+ $set_query_var_title['icon_after_value'] = (isset($icon_after_value) ? $icon_after_value : null);
1055
+
1056
+ if ( $type == 'tag_cloud' ) {
1057
+ $tag_script_var = array(
1058
+ 'height' => $tag_cloud_height,
1059
+ 'min_font_size' => $tag_cloud_min_font,
1060
+ 'max_font_size' => $tag_cloud_max_font,
1061
+ 'tags_count' => $tag_cloud_tags_count,
1062
+ 'tags_type' => $tag_cloud_type
1063
+ );
1064
+ $set_query_var_title['tag_script_var'] = $tag_script_var;
1065
+ } elseif ( $type == 'color' || $type == 'image' ) {
1066
+ $set_query_var_title['use_value_with_color'] = (isset($use_value_with_color) ? $use_value_with_color : null);
1067
+ $set_query_var_title['disable_multiple'] = (isset($disable_multiple) ? $disable_multiple : null);
1068
+ $set_query_var_title['color_image_block_size'] = berocket_isset($color_image_block_size, false, 'h2em w2em');
1069
+ $set_query_var_title['color_image_checked'] = berocket_isset($color_image_checked, false, 'brchecked_default');
1070
+ $set_query_var_title['color_image_checked_custom_css'] = berocket_isset($color_image_checked_custom_css);
1071
+ $set_query_var_title['color_image_block_size_height'] = berocket_isset($color_image_block_size_height);
1072
+ $set_query_var_title['color_image_block_size_width'] = berocket_isset($color_image_block_size_width);
1073
+ }
1074
+ if( $type == 'select' ) {
1075
+ if( ! empty($br_options['use_select2']) ) {
1076
+ if( ! empty($br_options['fixed_select2']) ) {
1077
+ wp_enqueue_style( 'br_select2' );
1078
+ } else {
1079
+ wp_enqueue_style( 'select2' );
1080
+ }
1081
+ wp_enqueue_script( 'select2' );
1082
+ }
1083
+ $set_query_var_title['select_multiple'] = ! empty($select_multiple);
1084
+ }
1085
+ set_query_var( 'berocket_query_var_title', apply_filters('berocket_query_var_title_before_widget', $set_query_var_title, $type, $instance));
1086
+ br_get_template_part( apply_filters('berocket_widget_load_template_name', $type, $instance, (empty($terms) ? '' : $terms)) );
1087
+
1088
+ do_action('berocket_aapf_widget_before_end');
1089
+ br_get_template_part('widget_end');
1090
+ do_action('berocket_aapf_widget_after_end');
1091
+ echo $after_widget;
1092
+ if( BeRocket_AAPF::$debug_mode ) {
1093
+ $widget_error_log['terms'] = (isset($terms) ? $terms : null);
1094
+ }
1095
+ $widget_error_log['return'] = 'OK';
1096
+ BeRocket_AAPF::$error_log['6_widgets'][] = $widget_error_log;
1097
+ $this->restore_wp_the_query($br_wc_query, $wp_the_query, $wp_query, $wc_query, $old_the_query, $old_query);
1098
+ }
1099
+
1100
+ public static function restore_wp_the_query(&$br_wc_query, &$wp_the_query, &$wp_query, &$wc_query, &$old_the_query, &$old_query) {
1101
+ if ( isset ( $br_wc_query ) ) {
1102
+ if ( isset ( $old_query ) ) {
1103
+ $wp_the_query = $old_the_query;
1104
+ $wp_query = $old_query;
1105
+ }
1106
+ if( ! empty($wc_query) && is_a($wc_query, 'WP_Query') && class_exists('WC_Query') && method_exists('WC_Query', 'product_query') && method_exists('WC_Query', 'get_main_query') ) {
1107
+ wc()->query->product_query($wc_query);
1108
+ }
1109
+ wc()->query->remove_ordering_args();
1110
+ }
1111
+ }
1112
+
1113
+ public static function woocommerce_hide_out_of_stock_items(){
1114
+ $hide = get_option( 'woocommerce_hide_out_of_stock_items', null );
1115
+
1116
+ if ( is_array( $hide ) ) {
1117
+ $hide = array_map( 'stripslashes', $hide );
1118
+ } elseif ( ! is_null( $hide ) ) {
1119
+ $hide = stripslashes( $hide );
1120
+ }
1121
+
1122
+ return apply_filters( 'berocket_aapf_hide_out_of_stock_items', $hide );
1123
+ }
1124
+
1125
+ public static function price_range_count($term, $from, $to) {
1126
+ if( class_exists('WP_Meta_Query') && class_exists('WP_Tax_Query') ) {
1127
+ global $wpdb, $wp_query;
1128
+ $old_join_posts = '';
1129
+ $has_new_function = method_exists('WC_Query', 'get_main_query') && method_exists('WC_Query', 'get_main_meta_query') && method_exists('WC_Query', 'get_main_tax_query');
1130
+ if( $has_new_function ) {
1131
+ $WC_Query_get_main_query = WC_Query::get_main_query();
1132
+ $has_new_function = ! empty($WC_Query_get_main_query);
1133
+ }
1134
+ if( ! $has_new_function ) {
1135
+ $old_query_vars = self::old_wc_compatible($wp_query);
1136
+ $old_meta_query = (empty( $old_query_vars[ 'meta_query' ] ) || ! is_array($old_query_vars[ 'meta_query' ]) ? array() : $old_query_vars['meta_query']);
1137
+ $old_tax_query = (empty($old_query_vars['tax_query']) || ! is_array($old_query_vars[ 'tax_query' ]) ? array() : $old_query_vars['tax_query']);
1138
+ } else {
1139
+ $old_query_vars = self::old_wc_compatible($wp_query, true);
1140
+ }
1141
+ if( ! empty( $old_query_vars['posts__in'] ) ) {
1142
+ $old_join_posts = " AND {$wpdb->posts}.ID IN (".implode(',', $old_query_vars['posts__in']).") ";
1143
+ }
1144
+ if( $has_new_function ) {
1145
+ $tax_query = WC_Query::get_main_tax_query();
1146
+ } else {
1147
+ $tax_query = $old_tax_query;
1148
+ }
1149
+ if( $has_new_function ) {
1150
+ $meta_query = WC_Query::get_main_meta_query();
1151
+ } else {
1152
+ $meta_query = $old_meta_query;
1153
+ }
1154
+ foreach( $meta_query as $key => $val ) {
1155
+ if( is_array($val) ) {
1156
+ if ( ! empty( $val['price_filter'] ) || ! empty( $val['rating_filter'] ) ) {
1157
+ unset( $meta_query[ $key ] );
1158
+ }
1159
+ if( isset( $val['relation']) ) {
1160
+ unset($val['relation']);
1161
+ foreach( $val as $key2 => $val2 ) {
1162
+ if ( isset( $val2['key'] ) && $val2['key'] == apply_filters('berocket_price_filter_meta_key', '_price', 'widget_1162') ) {
1163
+ if ( isset( $meta_query[ $key ][ $key2 ] ) ) unset( $meta_query[ $key ][ $key2 ] );
1164
+ }
1165
+ }
1166
+ if( count($meta_query[ $key ]) <= 1 ) {
1167
+ unset( $meta_query[ $key ] );
1168
+ }
1169
+ } else {
1170
+ if ( isset( $val['key'] ) && $val['key'] == apply_filters('berocket_price_filter_meta_key', '_price', 'widget_1170') ) {
1171
+ if ( isset( $meta_query[ $key ] ) ) unset( $meta_query[ $key ] );
1172
+ }
1173
+ }
1174
+ }
1175
+ }
1176
+ $queried_object = $wp_query->get_queried_object_id();
1177
+ if( ! empty($queried_object) ) {
1178
+ $query_object = $wp_query->get_queried_object();
1179
+ if( ! empty($query_object->taxonomy) && ! empty($query_object->slug) ) {
1180
+ $tax_query[ $query_object->taxonomy ] = array(
1181
+ 'taxonomy' => $query_object->taxonomy,
1182
+ 'terms' => array( $query_object->slug ),
1183
+ 'field' => 'slug',
1184
+ );
1185
+ }
1186
+ }
1187
+ $meta_query = new WP_Meta_Query( $meta_query );
1188
+ $tax_query = new WP_Tax_Query( $tax_query );
1189
+ $meta_query_sql = $meta_query->get_sql( 'post', $wpdb->posts, 'ID' );
1190
+ $tax_query_sql = $tax_query->get_sql( $wpdb->posts, 'ID' );
1191
+
1192
+ // Generate query
1193
+ $query = array();
1194
+ $query['select'] = "SELECT COUNT( DISTINCT {$wpdb->posts}.ID ) as range_count";
1195
+ $query['from'] = "FROM {$wpdb->posts}";
1196
+ $query['join'] = "
1197
+ INNER JOIN {$wpdb->postmeta} AS price_term ON {$wpdb->posts}.ID = price_term.post_id
1198
+ " . $tax_query_sql['join'] . $meta_query_sql['join'];
1199
+ $query['where'] = "
1200
+ WHERE {$wpdb->posts}.post_type IN ( 'product' )
1201
+ AND " . br_select_post_status() . "
1202
+ " . $tax_query_sql['where'] . $meta_query_sql['where'] . "
1203
+ AND price_term.meta_key = '".apply_filters('berocket_price_filter_meta_key', '_price', 'widget_1203')."'
1204
+ AND price_term.meta_value >= {$from} AND price_term.meta_value <= {$to}
1205
+ ";
1206
+ if( defined( 'WCML_VERSION' ) && defined('ICL_LANGUAGE_CODE') ) {
1207
+ $query['join'] = $query['join']." INNER JOIN {$wpdb->prefix}icl_translations as wpml_lang ON ( {$wpdb->posts}.ID = wpml_lang.element_id )";
1208
+ $query['where'] = $query['where']." AND wpml_lang.language_code = '".ICL_LANGUAGE_CODE."' AND wpml_lang.element_type = 'post_product'";
1209
+ }
1210
+ br_where_search( $query );
1211
+ $query['where'] .= $old_join_posts;
1212
+ $query = apply_filters( 'woocommerce_get_filtered_ranges_product_counts_query', $query );
1213
+ $query = implode( ' ', $query );
1214
+
1215
+ $results = $wpdb->get_results( $query );
1216
+ if( isset( $results[0]->range_count ) ) {
1217
+ $term->count = $results[0]->range_count;
1218
+ }
1219
+ }
1220
+ return $term;
1221
+ }
1222
+
1223
+ public static function get_price_range( $wp_query_product_cat, $product_cat = null ) {
1224
+ global $wpdb;
1225
+
1226
+ $BeRocket_AAPF = BeRocket_AAPF::getInstance();
1227
+ $br_options = $BeRocket_AAPF->get_option();
1228
+
1229
+ if( br_woocommerce_version_check('3.6') ) {
1230
+ $query[ 'select' ] = "SELECT MIN(cast(FLOOR(wc_product_meta_lookup.min_price) as decimal)) as min_price,
1231
+ MAX(cast(CEIL(wc_product_meta_lookup.max_price) as decimal)) as max_price ";
1232
+ $query[ 'from' ] = "FROM {$wpdb->posts}";
1233
+ $query[ 'join' ] = " INNER JOIN {$wpdb->wc_product_meta_lookup} as wc_product_meta_lookup ON $wpdb->posts.ID = wc_product_meta_lookup.product_id ";
1234
+ } else {
1235
+ $query[ 'select' ] = "SELECT MIN(cast(FLOOR(wp_price_check.meta_value) as decimal)) as min_price,
1236
+ MAX(cast(CEIL(wp_price_check.meta_value) as decimal)) as max_price ";
1237
+ $query[ 'from' ] = "FROM {$wpdb->postmeta} as wp_price_check";
1238
+ $query[ 'join' ] = "INNER JOIN {$wpdb->posts} ON ({$wpdb->posts}.ID = wp_price_check.post_id)";
1239
+ }
1240
+ if ( ! braapf_filters_must_be_recounted('first') ) {
1241
+ $query[ 'where' ] = " WHERE {$wpdb->posts}.post_type = 'product' AND " . br_select_post_status();
1242
+ } else {
1243
+ $query = br_filters_query( $query, 'price', $product_cat );
1244
+ }
1245
+
1246
+ if( !br_woocommerce_version_check('3.6') ) {
1247
+ if ( $query[ 'where' ] ) {
1248
+ $query[ 'where' ] .= " AND ";
1249
+ } else {
1250
+ $query[ 'where' ] = " WHERE ";
1251
+ }
1252
+ $query[ 'where' ] .= "wp_price_check.meta_key = '".apply_filters('berocket_price_filter_meta_key', '_price', 'widget_1243')."' AND wp_price_check.meta_value > ''";
1253
+ }
1254
+
1255
+ if ( $post__not_in = apply_filters('berocket_aapf_get_attribute_values_post__not_in_outside', false) ) {
1256
+ if ( $query[ 'where' ] ) {
1257
+ $query[ 'where' ] .= " AND ";
1258
+ } else {
1259
+ $query[ 'where' ] = " WHERE ";
1260
+ }
1261
+
1262
+ $query[ 'where' ] .= "$wpdb->posts.ID NOT IN(" . implode( ',', $post__not_in ) . ")";
1263
+ }
1264
+ if ( $post__in = apply_filters('berocket_aapf_get_attribute_values_post__in_outside', false) ) {
1265
+ if ( $query[ 'where' ] ) {
1266
+ $query[ 'where' ] .= " AND ";
1267
+ } else {
1268
+ $query[ 'where' ] = " WHERE ";
1269
+ }
1270
+
1271
+ $query[ 'where' ] .= "$wpdb->posts.ID IN(" . implode( ',', $post__not_in ) . ")";
1272
+ }
1273
+
1274
+
1275
+ $query_string = implode( ' ', $query );
1276
+
1277
+ $query_string = $wpdb->get_row( $query_string );
1278
+
1279
+ $price_range = false;
1280
+ if ( isset( $query_string->min_price ) && isset( $query_string->max_price ) && $query_string->min_price != $query_string->max_price ) {
1281
+ $price_range = array(
1282
+ apply_filters('berocket_price_filter_widget_min_amount', apply_filters('berocket_price_slider_widget_min_amount', apply_filters( 'woocommerce_price_filter_widget_min_amount', $query_string->min_price )), $query_string->min_price),
1283
+ apply_filters('berocket_price_filter_widget_max_amount', apply_filters('berocket_price_slider_widget_max_amount', apply_filters( 'woocommerce_price_filter_widget_max_amount', $query_string->max_price )), $query_string->max_price)
1284
+ );
1285
+ }
1286
+
1287
+ return apply_filters( 'berocket_aapf_get_price_range', $price_range );
1288
+ }
1289
+
1290
+ public static function get_attribute_values( $taxonomy = '', $order_by = 'id', $hide_empty = false, $count_filtering = true, $input_terms = FALSE, $product_cat = FALSE, $operator = 'OR' ) {
1291
+ $br_options = apply_filters( 'berocket_aapf_listener_br_options', BeRocket_AAPF::get_aapf_option() );
1292
+ if ( ! $taxonomy || $taxonomy == 'price' ) return array();
1293
+ if( $taxonomy == '_rating' ) $taxonomy = 'product_visibility';
1294
+ $terms = (empty($input_terms) ? FALSE : $input_terms);
1295
+ if( is_array($terms) && count($terms) ) {
1296
+ $first_element = array_shift($terms);
1297
+ if(empty($first_element) || $first_element->term_id != 'R__term_id__R') {
1298
+ $terms = (empty($input_terms) ? FALSE : $input_terms);
1299
+ unset($first_element);
1300
+ }
1301
+ }
1302
+ if( empty($terms) && ! empty($input_terms) ) {
1303
+ return $input_terms;
1304
+ }
1305
+
1306
+ global $wp_query, $br_wc_query, $br_aapf_wc_footer_widget;
1307
+
1308
+ $post__in = ( isset($wp_query->query_vars['post__in']) ? $wp_query->query_vars['post__in'] : array() );
1309
+ if (
1310
+ ! empty( $br_wc_query ) and
1311
+ ! empty( $br_wc_query->query ) and
1312
+ isset( $br_wc_query->query['post__in'] ) and
1313
+ is_array( $br_wc_query->query['post__in'] )
1314
+ ) {
1315
+ $post__in = array_merge( $post__in, $br_wc_query->query[ 'post__in' ] );
1316
+ }
1317
+
1318
+ if( empty($post__in) || ! is_array($post__in) || count($post__in) == 0 ) {
1319
+ $post__in = false;
1320
+ }
1321
+ $post__not_in = ( isset($wp_query->query_vars['post__not_in']) ? $wp_query->query_vars['post__not_in'] : array() );
1322
+ if( empty($post__not_in) || ! is_array($post__not_in) || count($post__not_in) == 0 ) {
1323
+ $post__not_in = false;
1324
+ }
1325
+ global $braapf_not_filtered_data;
1326
+ if( isset($braapf_not_filtered_data['post__not_in']) ) {
1327
+ $post__not_in = $braapf_not_filtered_data['post__not_in'];
1328
+ }
1329
+ $recount_args = array(
1330
+ 'taxonomy' => $taxonomy,
1331
+ 'operator' => $operator,
1332
+ 'use_filters' => FALSE,
1333
+ 'post__not_in' => apply_filters('berocket_aapf_get_attribute_values_post__not_in_outside', $post__not_in),
1334
+ 'post__in' => apply_filters('berocket_aapf_get_attribute_values_post__in_outside', $post__in)
1335
+ );
1336
+ if( ! empty($product_cat) ) {
1337
+ $recount_args['additional_tax_query'] = array(
1338
+ 'field' => 'slug',
1339
+ 'include_children' => true,
1340
+ 'operator' => 'IN',
1341
+ 'taxonomy' => 'product_cat',
1342
+ 'terms' => array($product_cat)
1343
+ );
1344
+ }
1345
+ if( $hide_empty ) {
1346
+ $terms = apply_filters('berocket_aapf_recount_terms_apply', $terms, $recount_args);
1347
+ } elseif(empty($terms)) {
1348
+ $terms = get_terms( array(
1349
+ 'taxonomy' => $taxonomy,
1350
+ 'hide_empty' => true,
1351
+ 'hierarchical' => true,
1352
+ 'post__not_in' => apply_filters('berocket_aapf_get_attribute_values_post__not_in_outside', false),
1353
+ 'post__in' => apply_filters('berocket_aapf_get_attribute_values_post__in_outside', false)
1354
+ ) );
1355
+ }
1356
+ if( empty($terms) || ! is_array($terms) ) {
1357
+ $terms = array();
1358
+ }
1359
+ if( $hide_empty ) {
1360
+ foreach($terms as $term_id => $term) {
1361
+ if( $term->count == 0 ) {
1362
+ unset($terms[$term_id]);
1363
+ }
1364
+ }
1365
+ }
1366
+ if (
1367
+ ( ! $hide_empty
1368
+ || apply_filters( 'berocket_aapf_is_filtered_page_check', ! empty($_GET['filters']), 'get_filter_args', $wp_query )
1369
+ || ( ! empty($br_options['out_of_stock_variable_reload']) && ! empty($br_options['out_of_stock_variable']) )
1370
+ || is_filtered()
1371
+ ) && $count_filtering
1372
+ ) {
1373
+ $recount_args['use_filters'] = true;
1374
+ $terms = apply_filters('berocket_aapf_recount_terms_apply', $terms, $recount_args);
1375
+ }
1376
+ if( isset($first_element) ) {
1377
+ array_unshift($terms, $first_element);
1378
+ }
1379
+ return $terms;
1380
+ }
1381
+
1382
+ public static function sort_child_parent_hierarchy($terms) {
1383
+ $terms_sort = array();
1384
+ $new_terms = $terms;
1385
+ $terms = array_reverse($terms);
1386
+ foreach($terms as $term_id => $term) {
1387
+ if(empty($term->parent)) {
1388
+ $terms_sort[] = $term->term_id;
1389
+ unset($terms[$term_id]);
1390
+ }
1391
+ }
1392
+ $length = 0;
1393
+ while(count($terms) && $length < 30) {
1394
+ foreach($terms as $term_id => $term) {
1395
+ $term_i = array_search($term->parent, $terms_sort);
1396
+ if( $term_i !== FALSE ) {
1397
+ array_splice($terms_sort, $term_i, 0, array($term->term_id));
1398
+ unset($terms[$term_id]);
1399
+ }
1400
+ }
1401
+ $length++;
1402
+ }
1403
+ if( count($terms) ) {
1404
+ foreach($terms as $term_id => $term) {
1405
+ $terms_sort[] = $term->term_id;
1406
+ }
1407
+ }
1408
+ $sort_array = array();
1409
+ foreach($new_terms as $terms) {
1410
+ $sort_array[] = array_search($terms->term_id, $terms_sort);
1411
+ }
1412
+ return $sort_array;
1413
+ }
1414
+
1415
+ public static function sort_terms( &$terms, $sort_data ) {
1416
+ $sort_array = array();
1417
+ if ( ! empty($terms) && is_array( $terms ) && count( $terms ) ) {
1418
+ if ( ! empty($sort_data['attribute']) and in_array($sort_data['attribute'], array('product_cat', 'berocket_brand')) and ! empty($sort_data['order_values_by']) and $sort_data['order_values_by'] == 'Default' ) {
1419
+ foreach ( $terms as $term ) {
1420
+ $element_of_sort = get_term_meta( $term->term_id, 'order', true );
1421
+ if( is_array($element_of_sort) || $element_of_sort === false ) {
1422
+ $sort_array[] = 0;
1423
+ } else {
1424
+ $sort_array[] = $element_of_sort;
1425
+ }
1426
+ if ( ! empty($term->child) ) {
1427
+ self::sort_terms( $term->child, $sort_data );
1428
+ }
1429
+ }
1430
+ if( BeRocket_AAPF::$debug_mode ) {
1431
+ BeRocket_AAPF::$error_log[$sort_data['attribute'].'_sort'] = array('array' => $sort_array, 'sort' => $terms, 'data' => $sort_data );
1432
+ }
1433
+ @ array_multisort( $sort_array, $sort_data['order_values_type'], SORT_NUMERIC, $terms );
1434
+ } elseif ( ! empty($sort_data['wc_order_by']) or ! empty($sort_data['order_values_by']) ) {
1435
+ if ( ! empty($sort_data['order_values_by']) and $sort_data['order_values_by'] == 'Numeric' ) {
1436
+ foreach ( $terms as $term ) {
1437
+ $sort_array[] = (float)preg_replace('/\s+/', '', str_replace(',', '.', $term->name));
1438
+ if ( ! empty($term->child) ) {
1439
+ self::sort_terms( $term->child, $sort_data );
1440
+ }
1441
+ }
1442
+ @ array_multisort( $sort_array, $sort_data['order_values_type'], SORT_NUMERIC, $terms );
1443
+ } else {
1444
+ $get_terms_args = array( 'hide_empty' => '0', 'fields' => 'ids' );
1445
+
1446
+ if ( ! empty($sort_data['order_values_by']) and $sort_data['order_values_by'] == 'Alpha' ) {
1447
+ $orderby = 'name';
1448
+ } else {
1449
+ $orderby = 'name';
1450
+ foreach($terms as $term_sort) {
1451
+ $orderby = wc_attribute_orderby( $term_sort->taxonomy );
1452
+ break;
1453
+ }
1454
+ }
1455
+
1456
+ switch ( $orderby ) {
1457
+ case 'name':
1458
+ $get_terms_args['orderby'] = 'name';
1459
+ $get_terms_args['menu_order'] = false;
1460
+ break;
1461
+ case 'id':
1462
+ $get_terms_args['orderby'] = 'id';
1463
+ $get_terms_args['order'] = 'ASC';
1464
+ $get_terms_args['menu_order'] = false;
1465
+ break;
1466
+ case 'menu_order':
1467
+ $get_terms_args['menu_order'] = 'ASC';
1468
+ break;
1469
+ default:
1470
+ break;
1471
+ }
1472
+
1473
+ if( count($terms) ) {
1474
+ $terms_first = reset($terms);
1475
+ $terms2 = get_terms( $terms_first->taxonomy, $get_terms_args );
1476
+ foreach ( $terms as $term ) {
1477
+ $sort_array[] = array_search($term->term_id, $terms2);
1478
+ if ( ! empty($term->child) ) {
1479
+ self::sort_terms( $term->child, $sort_data );
1480
+ }
1481
+ }
1482
+ @ array_multisort( $sort_array, $sort_data['order_values_type'], SORT_NUMERIC, $terms );
1483
+ }
1484
+ }
1485
+ $sort_array = self::sort_child_parent_hierarchy($terms);
1486
+ @ array_multisort( $sort_array, SORT_DESC, SORT_NUMERIC, $terms );
1487
+ }
1488
+ }
1489
+ }
1490
+
1491
+ public static function set_terms_on_same_level( $terms, $return_array = array(), $add_spaces = true ) {
1492
+ if ( ! empty($terms) && is_array( $terms ) && count( $terms ) ) {
1493
+ foreach ( $terms as $term ) {
1494
+ if ( $add_spaces ) {
1495
+ for ( $i = 0; $i < $term->depth; $i++ ) {
1496
+ $term->name = "&nbsp;&nbsp;" . $term->name;
1497
+ }
1498
+ }
1499
+
1500
+ if( ! empty($term->child) ) {
1501
+ $child = $term->child;
1502
+ unset( $term->child );
1503
+ }
1504
+
1505
+ $return_array[] = $term;
1506
+
1507
+ if ( ! empty($child) ) {
1508
+ $return_array = self::set_terms_on_same_level( $child, $return_array, $add_spaces );
1509
+ unset($child);
1510
+ }
1511
+ }
1512
+ } else {
1513
+ $return_array = $terms;
1514
+ }
1515
+ return $return_array;
1516
+ }
1517
+
1518
+ public static function get_filter_products( $wp_query_product_cat, $woocommerce_hide_out_of_stock_items, $use_filters = true ) {
1519
+ $BeRocket_AAPF = BeRocket_AAPF::getInstance();
1520
+ global $wp_query, $wp_rewrite;
1521
+ $_POST['product_cat'] = $wp_query_product_cat;
1522
+
1523
+ $old_post_terms = (isset($_POST['terms']) ? $_POST['terms'] : null);
1524
+
1525
+ add_filter( 'woocommerce_pagination_args', array( __CLASS__, 'pagination_args' ) );
1526
+
1527
+ $args = apply_filters( 'berocket_aapf_listener_wp_query_args', array() );
1528
+ $tags = (isset($args['product_tag']) ? $args['product_tag'] : null);
1529
+ $meta_query = $BeRocket_AAPF->remove_out_of_stock( array() , true, $woocommerce_hide_out_of_stock_items != 'yes' );
1530
+ $args['post__in'] = array();
1531
+
1532
+ if( $woocommerce_hide_out_of_stock_items == 'yes' ) {
1533
+ $args['post__in'] = $BeRocket_AAPF->remove_out_of_stock( $args['post__in'] );
1534
+ }
1535
+ if ( $use_filters ) {
1536
+ $args['post__in'] = $BeRocket_AAPF->limits_filter( $args['post__in'] );
1537
+ $args['post__in'] = $BeRocket_AAPF->price_filter( $args['post__in'] );
1538
+ $args['post__in'] = $BeRocket_AAPF->add_terms( $args['post__in'] );
1539
+ } else {
1540
+ $args = array( 'posts_per_page' => -1 );
1541
+ if ( ! empty($_POST['product_cat']) and $_POST['product_cat'] != '-1' ) {
1542
+ $args['tax_query'][] = array(
1543
+ 'taxonomy' => 'product_cat',
1544
+ 'field' => 'slug',
1545
+ 'terms' => strip_tags( $_POST['product_cat'] ),
1546
+ 'operator' => 'IN'
1547
+ );
1548
+ }
1549
+ }
1550
+
1551
+ $args['post_status'] = 'publish';
1552
+ $args['post_type'] = 'product';
1553
+
1554
+ if( isset($args['tax_query']) ) {
1555
+ $tax_query_reset = $args['tax_query'];
1556
+ unset($args['tax_query']);
1557
+ }
1558
+ $wp_query = new WP_Query( $args );
1559
+ if( isset($tax_query_reset) ) {
1560
+ $wp_query->set('tax_query', $tax_query_reset);
1561
+ $args['tax_query'] = $tax_query_reset;
1562
+ unset($tax_query_reset);
1563
+ }
1564
+
1565
+ // here we get max products to know if current page is not too big
1566
+ if( ! isset($_POST['location']) ) {
1567
+ $_POST['location'] = '';
1568
+ }
1569
+ if ( $wp_rewrite->using_permalinks() and preg_match( "~/page/([0-9]+)~", $_POST['location'], $mathces ) or preg_match( "~paged?=([0-9]+)~", $_POST['location'], $mathces ) ) {
1570
+ $args['paged'] = min( $mathces[1], $wp_query->max_num_pages );
1571
+ if( isset($args['tax_query']) ) {
1572
+ $tax_query_reset = $args['tax_query'];
1573
+ unset($args['tax_query']);
1574
+ }
1575
+ $wp_query = new WP_Query( $args );
1576
+ if( isset($tax_query_reset) ) {
1577
+ $wp_query->set('tax_query', $tax_query_reset);
1578
+ $args['tax_query'] = $tax_query_reset;
1579
+ unset($tax_query_reset);
1580
+ }
1581
+ }
1582
+ if ( $wp_query->found_posts <= 1 ) {
1583
+ $args['paged'] = 0;
1584
+ if( isset($args['tax_query']) ) {
1585
+ $tax_query_reset = $args['tax_query'];
1586
+ unset($args['tax_query']);
1587
+ }
1588
+ $wp_query = new WP_Query( $args );
1589
+ if( isset($tax_query_reset) ) {
1590
+ $wp_query->set('tax_query', $tax_query_reset);
1591
+ $args['tax_query'] = $tax_query_reset;
1592
+ unset($tax_query_reset);
1593
+ }
1594
+ }
1595
+
1596
+ $products = array();
1597
+ if ( $wp_query->have_posts() ) {
1598
+ while ( have_posts() ) {
1599
+ the_post();
1600
+ $products[] = get_the_ID();
1601
+ }
1602
+ }
1603
+
1604
+ wp_reset_query();
1605
+ if( isset($meta_query) && is_array( $meta_query ) && count( $meta_query ) > 0 ) {
1606
+ $q_vars = $wp_query->query_vars;
1607
+ foreach( $q_vars['meta_query'] as $key_meta => $val_meta ) {
1608
+ if( $key_meta != 'relation' && $val_meta['key'] == '_stock_status') {
1609
+ unset( $q_vars['meta_query'][$key_meta] );
1610
+ }
1611
+ }
1612
+ $q_vars['meta_query'] = array_merge( $q_vars['meta_query'], $meta_query );
1613
+ $wp_query->set('meta_query', $q_vars['meta_query']);
1614
+ }
1615
+ if( ! empty($tags) ) {
1616
+ $q_vars = $wp_query->query_vars;
1617
+ $q_vars['product_tag'] = $tags;
1618
+ unset($q_vars['s']);
1619
+ if( isset($q_vars['tax_query']) ) {
1620
+ $tax_query_reset = $q_vars['tax_query'];
1621
+ unset($q_vars['tax_query']);
1622
+ }
1623
+ $wp_query = new WP_Query( $q_vars );
1624
+ if( isset($tax_query_reset) ) {
1625
+ $wp_query->set('tax_query', $tax_query_reset);
1626
+ $q_vars['tax_query'] = $tax_query_reset;
1627
+ unset($tax_query_reset);
1628
+ }
1629
+ }
1630
+
1631
+ $_POST['terms'] = $old_post_terms;
1632
+ return $products;
1633
+ }
1634
+
1635
+ /**
1636
+ * Validating and updating widget data
1637
+ *
1638
+ * @param array $new_instance
1639
+ * @param array $old_instance
1640
+ *
1641
+ * @return array - new merged instance
1642
+ */
1643
+ function update( $new_instance, $old_instance ) {
1644
+ return $old_instance;
1645
+ }
1646
+
1647
+ /**
1648
+ * Output admin form
1649
+ *
1650
+ * @param array $instance
1651
+ *
1652
+ * @return string|void
1653
+ */
1654
+ function form( $instance ) {
1655
+ $BeRocket_AAPF = BeRocket_AAPF::getInstance();
1656
+ $BeRocket_AAPF->register_admin_scripts();
1657
+ wp_enqueue_script( 'berocket_aapf_widget-admin' );
1658
+
1659
+ wp_register_style( 'berocket_aapf_widget-style-admin', plugins_url('../css/admin.css', __FILE__), "", BeRocket_AJAX_filters_version );
1660
+ wp_enqueue_style( 'berocket_aapf_widget-style-admin' );
1661
+
1662
+ $default = apply_filters( 'berocket_aapf_form_defaults', self::$defaults );
1663
+
1664
+ $instance = wp_parse_args( (array) $instance, $default );
1665
+ if( ! empty($instance['product_cat']) && is_array($instance['product_cat']) ) {
1666
+ foreach($instance['product_cat'] as &$product_cat_el) {
1667
+ $product_cat_el = urldecode($product_cat_el);
1668
+ }
1669
+ }
1670
+ $instance['product_cat'] = (isset($instance['product_cat']) ? $instance['product_cat'] : '');
1671
+ $attributes = br_aapf_get_attributes();
1672
+ $categories = self::get_product_categories( @ json_decode( $instance['product_cat'] ) );
1673
+ $categories = self::set_terms_on_same_level( $categories );
1674
+ $tags = get_terms( 'product_tag' );
1675
+ $custom_taxonomies = get_object_taxonomies( 'product' );
1676
+ $custom_taxonomies = array_combine($custom_taxonomies, $custom_taxonomies);
1677
+
1678
+ include AAPF_TEMPLATE_PATH . "admin.php";
1679
+ }
1680
+
1681
+ /**
1682
+ * Widget ajax listener
1683
+ */
1684
+ public static function listener(){
1685
+ global $wp_query, $wp_rewrite;
1686
+ $br_options = apply_filters( 'berocket_aapf_listener_br_options', BeRocket_AAPF::get_aapf_option() );
1687
+
1688
+ $wp_query = self::listener_wp_query();
1689
+ if( class_exists('WC_Query') && method_exists('WC_Query', 'product_query') ) {
1690
+ $wp_query->get_posts();
1691
+ wc()->query->product_query($wp_query);
1692
+ }
1693
+
1694
+ if( ! empty($br_options['alternative_load']) && $br_options['alternative_load_type'] == 'wpajax' ) {
1695
+ ob_start();
1696
+
1697
+ $is_have_post = $wp_query->have_posts();
1698
+ if ( $is_have_post ) {
1699
+ do_action('woocommerce_before_shop_loop');
1700
+
1701
+ woocommerce_product_loop_start();
1702
+ woocommerce_product_subcategories();
1703
+
1704
+ while ( have_posts() ) {
1705
+ the_post();
1706
+ wc_get_template_part( 'content', 'product' );
1707
+ }
1708
+
1709
+ woocommerce_product_loop_end();
1710
+
1711
+ do_action('woocommerce_after_shop_loop');
1712
+
1713
+ wp_reset_postdata();
1714
+
1715
+ $_RESPONSE['products'] = ob_get_contents();
1716
+ } else {
1717
+ echo apply_filters( 'berocket_aapf_listener_no_products_message', "<div class='no-products" . ( ( $br_options['no_products_class'] ) ? ' '.$br_options['no_products_class'] : '' ) . "'>" . $br_options['no_products_message'] . "</div>" );
1718
+
1719
+ $_RESPONSE['no_products'] = ob_get_contents();
1720
+ }
1721
+ ob_end_clean();
1722
+ if( empty($br_options['woocommerce_removes']['ordering']) ) {
1723
+ ob_start();
1724
+ woocommerce_catalog_ordering();
1725
+ $_RESPONSE['catalog_ordering'] = ob_get_contents();
1726
+ ob_end_clean();
1727
+ }
1728
+ if( empty($br_options['woocommerce_removes']['result_count']) ) {
1729
+ ob_start();
1730
+ woocommerce_result_count();
1731
+ $_RESPONSE['result_count'] = ob_get_contents();
1732
+ ob_end_clean();
1733
+ }
1734
+ if( empty($br_options['woocommerce_removes']['pagination']) ) {
1735
+ ob_start();
1736
+ woocommerce_pagination();
1737
+ $_RESPONSE['pagination'] = ob_get_contents();
1738
+ ob_end_clean();
1739
+ }
1740
+ }
1741
+
1742
+ if( braapf_filters_must_be_recounted() ) {
1743
+ $_RESPONSE['attributesname'] = array();
1744
+ $_RESPONSE['attributes'] = array();
1745
+ if(isset($_POST['attributes']) && is_array($_POST['attributes'])) {
1746
+ $attributes = array_combine ( $_POST['attributes'], $_POST['cat_limit'] );
1747
+ foreach( $attributes as $attribute => $cat_limit ) {
1748
+ if($attribute != 'price') {
1749
+ $terms = FALSE;
1750
+ if( $attribute == '_stock_status' ) {
1751
+ $terms = array();
1752
+ array_push($terms, (object)array('term_id' => '1', 'term_taxonomy_id' => '1','name' => __('In stock', 'BeRocket_AJAX_domain'), 'slug' => 'instock', 'taxonomy' => '_stock_status', 'count' => 1));
1753
+ array_push($terms, (object)array('term_id' => '2', 'term_taxonomy_id' => '2', 'name' => __('Out of stock', 'BeRocket_AJAX_domain'), 'slug' => 'outofstock', 'taxonomy' => '_stock_status', 'count' => 1));
1754
+ }
1755
+ $_RESPONSE['attributesname'][] = $attribute;
1756
+ $terms = BeRocket_AAPF_Widget::get_attribute_values( $attribute, 'id', false, TRUE, $terms, $cat_limit );
1757
+ $_RESPONSE['attributes'][] = self::remove_pid( array_values($terms) );
1758
+ }
1759
+ }
1760
+ }
1761
+ }
1762
+ $_RESPONSE = apply_filters('berocket_ajax_response_without_fix', $_RESPONSE);
1763
+ echo json_encode( $_RESPONSE );
1764
+
1765
+ die();
1766
+ }
1767
+
1768
+ public static function remove_pid( $terms ) {
1769
+
1770
+ foreach ( $terms as &$term ) {
1771
+ if ( isset( $term ) ) {
1772
+ if ( isset( $term->PID ) ) {
1773
+ $term->PID = '';
1774
+ }
1775
+
1776
+ if ( is_array( $term ) ) {
1777
+ foreach ( $term as &$subterm ) {
1778
+ if ( isset( $subterm ) and isset( $subterm->PID ) ) {
1779
+ $subterm->PID = '';
1780
+ }
1781
+ }
1782
+ }
1783
+
1784
+ }
1785
+ }
1786
+ return $terms;
1787
+ }
1788
+
1789
+ public static function listener_wp_query() {
1790
+ global $wp_query, $wp_rewrite;
1791
+ $br_options = apply_filters( 'berocket_aapf_listener_br_options', BeRocket_AAPF::get_aapf_option() );
1792
+
1793
+ $add_to_args = array();
1794
+ if ( ! empty($_POST['limits']) && is_array($_POST['limits']) ) {
1795
+ foreach ( $_POST['limits'] as $post_key => $t ) {
1796
+ if( $t[0] == '_date' ) {
1797
+ $from = $t[1];
1798
+ $to = $t[2];
1799
+ $from = substr($from, 0, 2).'/'.substr($from, 2, 2).'/'.substr($from, 4, 4);
1800
+ $to = substr($to, 0, 2).'/'.substr($to, 2, 2).'/'.substr($to, 4, 4);
1801
+ $from = date('Y-m-d 00:00:00', strtotime($from));
1802
+ $to = date('Y-m-d 23:59:59', strtotime($to));
1803
+ $add_to_args['date_query'] = array(
1804
+ 'after' => $from,
1805
+ 'before' => $to,
1806
+ );
1807
+ unset($_POST['limits'][$post_key]);
1808
+ }
1809
+ }
1810
+ }
1811
+ $BeRocket_AAPF = BeRocket_AAPF::getInstance();
1812
+ if ( ! empty($_POST['terms']) && is_array($_POST['terms']) ) {
1813
+ $stop_sale = false;
1814
+ $check_sale = $check_notsale = 0;
1815
+ foreach ( $_POST['terms'] as $post_key => $t ) {
1816
+ if( $t[0] == 'price' ) {
1817
+ if( preg_match( "~\*~", $t[1] ) ) {
1818
+ if( ! isset( $_POST['price_ranges'] ) ) {
1819
+ $_POST['price_ranges'] = array();
1820
+ }
1821
+ $_POST['price_ranges'][] = $t[1];
1822
+ unset( $_POST['terms'][$post_key] );
1823
+ }
1824
+ } elseif( $t[0] == '_sale' ) {
1825
+ // if both used do nothing
1826
+ if ( $t[0] == '_sale' and $t[3] == 'sale' ) {
1827
+ $check_sale++;
1828
+ }
1829
+ if ( $t[0] == '_sale' and $t[3] == 'notsale' ) {
1830
+ $check_notsale++;
1831
+ }
1832
+ unset($_POST['terms'][$post_key]);
1833
+ } elseif( $t[0] == '_rating' ) {
1834
+ $_POST['terms'][$post_key][0] = 'product_visibility';
1835
+ }
1836
+ }
1837
+ if ( ! empty($br_options['slug_urls']) ) {
1838
+ foreach ( $_POST['terms'] as $post_key => $t ) {
1839
+ if( $t[0] == '_stock_status' ) {
1840
+ $_stock_status = array( 'instock' => 1, 'outofstock' => 2);
1841
+ $_POST['terms'][$post_key][1] = (isset($_stock_status[$t[1]]) ? $_stock_status[$t[1]] : $_stock_status['instock']);
1842
+ } else {
1843
+ $t[1] = get_term_by( 'slug', $t[3], $t[0] );
1844
+ $t[1] = $t[1]->term_id;
1845
+ $_POST['terms'][$post_key] = $t;
1846
+ }
1847
+ }
1848
+ }
1849
+
1850
+ if ( ! ($check_sale and $check_notsale) ) {
1851
+ if ( $check_sale ) {
1852
+ $add_to_args['post__in'] = array_merge( array( 0 ), wc_get_product_ids_on_sale() );
1853
+ } elseif( $check_notsale ) {
1854
+ $add_to_args['post__in'] = array_merge( array( 0 ), $BeRocket_AAPF->wc_get_product_ids_not_on_sale() );
1855
+ }
1856
+ }
1857
+ }
1858
+
1859
+ add_filter( 'post_class', array( __CLASS__, 'add_product_class' ) );
1860
+ add_filter( 'woocommerce_pagination_args', array( __CLASS__, 'pagination_args' ) );
1861
+
1862
+ $woocommerce_hide_out_of_stock_items = BeRocket_AAPF_Widget::woocommerce_hide_out_of_stock_items();
1863
+
1864
+ $meta_query = $BeRocket_AAPF->remove_out_of_stock( array() , true, $woocommerce_hide_out_of_stock_items != 'yes' );
1865
+
1866
+ $args = apply_filters( 'berocket_aapf_listener_wp_query_args', array() );
1867
+ foreach($add_to_args as $arg_name => $add_arg) {
1868
+ $args[$arg_name] = $add_arg;
1869
+ }
1870
+ if( ! empty($_POST['limits']) ) {
1871
+ $args = apply_filters('berocket_aapf_convert_limits_to_tax_query', $args, $_POST['limits']);
1872
+ }
1873
+ if( ! isset($args['post__in']) ) {
1874
+ $args['post__in'] = array();
1875
+ }
1876
+ if( $woocommerce_hide_out_of_stock_items == 'yes' ) {
1877
+ $args['post__in'] = $BeRocket_AAPF->remove_out_of_stock( $args['post__in'] );
1878
+ }
1879
+ if( ! br_woocommerce_version_check() ) {
1880
+ $args['post__in'] = $BeRocket_AAPF->remove_hidden( $args['post__in'] );
1881
+ }
1882
+ $args['meta_query'] = $meta_query;
1883
+
1884
+ if( ! empty($_POST['limits']) ) {
1885
+ $args = apply_filters('berocket_aapf_convert_limits_to_tax_query', $args, $_POST['limits']);
1886
+ }
1887
+ if( isset($_POST['price']) && is_array($_POST['price']) ) {
1888
+ $_POST['price'] = apply_filters('berocket_min_max_filter', $_POST['price']);
1889
+ }
1890
+ $min = isset( $_POST['price'][0] ) ? floatval( $_POST['price'][0] ) : 0;
1891
+ $max = isset( $_POST['price'][1] ) ? floatval( $_POST['price'][1] ) : 9999999999;
1892
+
1893
+ $args['meta_query'][] = array(
1894
+ 'key' => apply_filters('berocket_price_filter_meta_key', '_price', 'widget_2847'),
1895
+ 'value' => array( $min, $max ),
1896
+ 'compare' => 'BETWEEN',
1897
+ 'type' => 'DECIMAL',
1898
+ 'price_filter' => true,
1899
+ );
1900
+ $args['post_status'] = 'publish';
1901
+ if ( is_user_logged_in() ) {
1902
+ $args['post_status'] .= '|private';
1903
+ }
1904
+ $args['post_type'] = 'product';
1905
+ $default_posts_per_page = get_option( 'posts_per_page' );
1906
+ $args['posts_per_page'] = apply_filters( 'loop_shop_per_page', $default_posts_per_page );
1907
+ if ( ! empty($_POST['price_ranges']) && is_array($_POST['price_ranges']) ) {
1908
+ $price_range_query = array( 'relation' => 'OR' );
1909
+ foreach ( $_POST['price_ranges'] as $range ) {
1910
+ $range = explode( '*', $range );
1911
+ $price_range_query[] = array( 'key' => apply_filters('berocket_price_filter_meta_key', '_price', 'widget_2867'), 'compare' => 'BETWEEN', 'type' => 'NUMERIC', 'value' => array( ($range[0] - 1), $range[1] ) );
1912
+ }
1913
+ $args['meta_query'][] = $price_range_query;
1914
+ }
1915
+ if ( ! empty($_POST['price']) && is_array($_POST['price']) ) {
1916
+ $args['meta_query'][] = array( 'key' => apply_filters('berocket_price_filter_meta_key', '_price', 'widget_2872'), 'compare' => 'BETWEEN', 'type' => 'NUMERIC', 'value' => array( ($_POST['price'][0]), $_POST['price'][1] ) );
1917
+ }
1918
+
1919
+ if( isset($_POST['product_taxonomy']) && $_POST['product_taxonomy'] != '-1' && strpos( $_POST['product_taxonomy'], '|' ) !== FALSE ) {
1920
+ $product_taxonomy = explode( '|', $_POST['product_taxonomy'] );
1921
+ $args['taxonomy'] = $product_taxonomy[0];
1922
+ $args['term'] = $product_taxonomy[1];
1923
+ }
1924
+ if( isset($_POST['s']) && strlen($_POST['s']) > 0 ) {
1925
+ $args['s'] = $_POST['s'];
1926
+ }
1927
+
1928
+ if( function_exists('wc_get_product_visibility_term_ids') ) {
1929
+ $product_visibility_term_ids = wc_get_product_visibility_term_ids();
1930
+
1931
+ $args['tax_query'][] = array(
1932
+ 'taxonomy' => 'product_visibility',
1933
+ 'field' => 'term_taxonomy_id',
1934
+ 'terms' => array($product_visibility_term_ids['exclude-from-catalog']),
1935
+ 'operator' => 'NOT IN'
1936
+ );
1937
+ }
1938
+ $args = array_merge($args, WC()->query->get_catalog_ordering_args());
1939
+ $wp_query = new WP_Query( $args );
1940
+
1941
+ // here we get max products to know if current page is not too big
1942
+ $is_using_permalinks = $wp_rewrite->using_permalinks();
1943
+ $_POST['location'] = (empty($_POST['location']) ? $_GET['location'] : $_POST['location']);
1944
+ if ( $is_using_permalinks and preg_match( "~/page/([0-9]+)~", $_POST['location'], $mathces ) or preg_match( "~paged?=([0-9]+)~", $_POST['location'], $mathces ) ) {
1945
+ $args['paged'] = min( $mathces[1], $wp_query->max_num_pages );
1946
+
1947
+ $wp_query = new WP_Query( $args );
1948
+ }
1949
+ return apply_filters('berocket_listener_wp_query_return', $wp_query, $args);
1950
+ }
1951
+
1952
+ public static function rebuild() {
1953
+ add_action('woocommerce_before_shop_loop', array( __CLASS__, 'tags_restore' ), 999999);
1954
+ }
1955
+
1956
+ public static function tags_restore() {
1957
+ global $wp_query;
1958
+ $args = apply_filters( 'berocket_aapf_listener_wp_query_args', array() );
1959
+ $tags = ( empty($args['product_tag']) ? '' : $args['product_tag'] );
1960
+ if( ! empty($tags) ) {
1961
+ $q_vars = $wp_query->query_vars;
1962
+ $q_vars['product_tag'] = $tags;
1963
+ $q_vars['taxonomy'] = '';
1964
+ $q_vars['term'] = '';
1965
+ unset( $q_vars['s'] );
1966
+ if( isset($q_vars['tax_query']) ) {
1967
+ $tax_query_reset = $q_vars['tax_query'];
1968
+ unset($q_vars['tax_query']);
1969
+ }
1970
+ $wp_query = new WP_Query( $q_vars );
1971
+ if( isset($tax_query_reset) ) {
1972
+ $wp_query->set('tax_query', $tax_query_reset);
1973
+ $q_vars['tax_query'] = $tax_query_reset;
1974
+ unset($tax_query_reset);
1975
+ }
1976
+ }
1977
+ }
1978
+
1979
+ public static function woocommerce_before_main_content() {
1980
+ ?>||EXPLODE||<?php
1981
+ self::tags_restore();
1982
+ }
1983
+
1984
+ public static function woocommerce_after_main_content() {
1985
+ ?>||EXPLODE||<?php
1986
+ }
1987
+
1988
+ public static function pre_get_posts() {
1989
+ add_action( 'woocommerce_before_shop_loop', array( __CLASS__, 'woocommerce_before_main_content' ), 999999 );
1990
+ add_action( 'woocommerce_after_shop_loop', array( __CLASS__, 'woocommerce_after_main_content' ), 1 );
1991
+ }
1992
+
1993
+ public static function end_clean() {
1994
+ global $wp_query, $wp_rewrite;
1995
+ $br_options = apply_filters( 'berocket_aapf_listener_br_options', BeRocket_AAPF::get_aapf_option() );
1996
+ if ( $br_options['alternative_load_type'] != 'js' ) {
1997
+ $_RESPONSE['products'] = explode('||EXPLODE||', ob_get_contents());
1998
+ $_RESPONSE['products'] = $_RESPONSE['products'][1];
1999
+ ob_end_clean();
2000
+
2001
+ if ( $_RESPONSE['products'] == null ) {
2002
+ unset( $_RESPONSE['products'] );
2003
+ ob_start();
2004
+ echo apply_filters( 'berocket_aapf_listener_no_products_message', "<p class='no-products woocommerce-info" . ( ( $br_options['no_products_class'] ) ? ' '.$br_options['no_products_class'] : '' ) . "'>" . $br_options['no_products_message'] . "</p>" );
2005
+ $_RESPONSE['no_products'] = ob_get_contents();
2006
+ ob_end_clean();
2007
+ } else {
2008
+ $_RESPONSE['products'] = str_replace( 'explode=explode#038;', '', $_RESPONSE['products'] );
2009
+ $_RESPONSE['products'] = str_replace( '&#038;explode=explode', '', $_RESPONSE['products'] );
2010
+ $_RESPONSE['products'] = str_replace( '?explode=explode', '', $_RESPONSE['products'] );
2011
+ }
2012
+ }
2013
+
2014
+ if ( braapf_filters_must_be_recounted() ) {
2015
+ $_RESPONSE['attributesname'] = array();
2016
+ $_RESPONSE['attributes'] = array();
2017
+
2018
+ if ( isset($_POST['attributes']) && is_array( $_POST['attributes'] ) ) {
2019
+ $attributes = array_combine ( $_POST['attributes'], $_POST['cat_limit'] );
2020
+ foreach ( $attributes as $attribute => $cat_limit ) {
2021
+ if ( $attribute != 'price' ) {
2022
+ $terms = FALSE;
2023
+ if( $attribute == '_stock_status' ) {
2024
+ $terms = array();
2025
+ array_push($terms, (object)array('term_id' => '1', 'term_taxonomy_id' => '1','name' => __('In stock', 'BeRocket_AJAX_domain'), 'slug' => 'instock', 'taxonomy' => '_stock_status', 'count' => 1));
2026
+ array_push($terms, (object)array('term_id' => '2', 'term_taxonomy_id' => '2', 'name' => __('Out of stock', 'BeRocket_AJAX_domain'), 'slug' => 'outofstock', 'taxonomy' => '_stock_status', 'count' => 1));
2027
+ }
2028
+ $_RESPONSE['attributesname'][] = $attribute;
2029
+ $terms = BeRocket_AAPF_Widget::get_attribute_values( $attribute, 'id', braapf_filters_must_be_recounted('first'), TRUE, $terms, $cat_limit );
2030
+ $_RESPONSE['attributes'][] = self::remove_pid( array_values($terms));
2031
+ }
2032
+ }
2033
+ }
2034
+ }
2035
+ if( empty($br_options['woocommerce_removes']['ordering']) ) {
2036
+ ob_start();
2037
+ woocommerce_catalog_ordering();
2038
+ $_RESPONSE['catalog_ordering'] = ob_get_contents();
2039
+ ob_end_clean();
2040
+ }
2041
+ if( empty($br_options['woocommerce_removes']['result_count']) ) {
2042
+ ob_start();
2043
+ woocommerce_result_count();
2044
+ $_RESPONSE['result_count'] = ob_get_contents();
2045
+ ob_end_clean();
2046
+ }
2047
+ if( empty($br_options['woocommerce_removes']['pagination']) ) {
2048
+ ob_start();
2049
+ woocommerce_pagination();
2050
+ $_RESPONSE['pagination'] = ob_get_contents();
2051
+ $_RESPONSE['pagination'] = str_replace( 'explode=explode#038;', '', $_RESPONSE['pagination'] );
2052
+ $_RESPONSE['pagination'] = str_replace( '&#038;explode=explode', '', $_RESPONSE['pagination'] );
2053
+ $_RESPONSE['pagination'] = str_replace( '?explode=explode', '', $_RESPONSE['pagination'] );
2054
+ ob_end_clean();
2055
+ }
2056
+ if ( $br_options['alternative_load_type'] == 'js' ) echo '||JSON||';
2057
+ $_RESPONSE = apply_filters('berocket_ajax_response_with_fix', $_RESPONSE);
2058
+ $_RESPONSE['attributesname'] = array_values($_RESPONSE['attributesname']);
2059
+ $_RESPONSE['attributes'] = array_values($_RESPONSE['attributes']);
2060
+ foreach($_RESPONSE['attributesname'] as &$attributesname) {
2061
+ if( ! is_array($attributesname) ) {
2062
+ $attributesname = array();
2063
+ }
2064
+ }
2065
+ foreach($_RESPONSE['attributes'] as &$attributes) {
2066
+ if( ! is_array($attributes) ) {
2067
+ $attributes = array();
2068
+ }
2069
+ }
2070
+ echo json_encode( $_RESPONSE );
2071
+ if ( $br_options['alternative_load_type'] == 'js' ) echo '||JSON||';
2072
+
2073
+ die();
2074
+ }
2075
+
2076
+ public static function start_clean() {
2077
+ $br_options = apply_filters( 'berocket_aapf_listener_br_options', BeRocket_AAPF::get_aapf_option() );
2078
+ if ( $br_options['alternative_load_type'] != 'js' ) {
2079
+ ob_start();
2080
+ }
2081
+ }
2082
+
2083
+ public static function color_listener() {
2084
+ if ( defined('DOING_AJAX') && DOING_AJAX && !isset( $_POST ['tax_color_set'] ) && isset( $_POST ['br_widget_color'] ) ) {
2085
+ $_POST ['tax_color_set'] = $_POST ['br_widget_color'];
2086
+ }
2087
+ if( isset( $_POST ['tax_color_set'] ) ) {
2088
+ if ( current_user_can( 'manage_woocommerce' ) ) {
2089
+ foreach( $_POST['tax_color_set'] as $key => $value ) {
2090
+ if( $_POST['type'] == 'color' ) {
2091
+ foreach($value as $term_key => $term_val) {
2092
+ if( !empty($term_val) ) {
2093
+ update_metadata( 'berocket_term', $term_key, $key, $term_val );
2094
+ } else {
2095
+ delete_metadata( 'berocket_term', $term_key, $key );
2096
+ }
2097
+ }
2098
+ } else {
2099
+ update_metadata( 'berocket_term', $key, $_POST['type'], $value );
2100
+ }
2101
+ }
2102
+ unset( $_POST['tax_color_set'] );
2103
+ }
2104
+ } else {
2105
+ BeRocket_AAPF_Widget::color_list_view( $_POST['type'], $_POST['tax_color_name'], true );
2106
+ wp_die();
2107
+ }
2108
+ }
2109
+
2110
+ public static function color_list_view( $type, $taxonomy_name, $load_script = false ) {
2111
+ $terms = get_terms( $taxonomy_name, array( 'hide_empty' => false ) );
2112
+ $set_query_var_color = array();
2113
+ $set_query_var_color['terms'] = $terms;
2114
+ $set_query_var_color['type'] = $type;
2115
+ $set_query_var_color['load_script'] = $load_script;
2116
+ set_query_var( 'berocket_query_var_color', $set_query_var_color );
2117
+ br_get_template_part( 'color_ajax' );
2118
+ }
2119
+
2120
+ public static function ajax_include_exclude_list() {
2121
+ if( ! empty($_POST['taxonomy_name']) ) {
2122
+ echo self::include_exclude_terms_list($_POST['taxonomy_name']);
2123
+ }
2124
+ wp_die();
2125
+ }
2126
+
2127
+ public static function include_exclude_terms_list($taxonomy_name = false, $selected = array() ) {
2128
+ $terms = get_terms( $taxonomy_name, array( 'hide_empty' => false ) );
2129
+ $set_query_var_exclude_list = array();
2130
+ $set_query_var_exclude_list['taxonomy'] = $taxonomy_name;
2131
+ $set_query_var_exclude_list['terms'] = $terms;
2132
+ $set_query_var_exclude_list['selected'] = $selected;
2133
+ set_query_var( 'berocket_var_exclude_list', $set_query_var_exclude_list );
2134
+ ob_start();
2135
+ br_get_template_part( 'include_exclude_list' );
2136
+ return ob_get_clean();
2137
+ }
2138
+
2139
+ public static function get_product_categories( $current_product_cat = '', $parent = 0, $data = array(), $depth = 0, $max_count = 9, $follow_hierarchy = false ) {
2140
+ return br_get_sub_categories( $parent, 'id', array( 'return' => 'hierarchy_objects', 'max_depth' => $max_count ) );
2141
+ }
2142
+
2143
+ public static function add_product_class( $classes ) {
2144
+ $classes[] = 'product';
2145
+ return apply_filters( 'berocket_aapf_add_product_class', $classes );
2146
+ }
2147
+
2148
+ public static function pagination_args( $args = array() ) {
2149
+ $args['base'] = str_replace( 999999999, '%#%', self::get_pagenum_link( 999999999 ) );
2150
+ return $args;
2151
+ }
2152
+
2153
+ // 99% copy of WordPress' get_pagenum_link.
2154
+ public static function get_pagenum_link( $pagenum = 1, $escape = true ) {
2155
+ global $wp_rewrite;
2156
+
2157
+ $pagenum = (int) $pagenum;
2158
+
2159
+ $request = remove_query_arg( 'paged', preg_replace( "~".home_url()."~", "", (isset($_POST['location']) ? $_POST['location'] : '') ) );
2160
+
2161
+ $home_root = parse_url( home_url() );
2162
+ $home_root = ( isset( $home_root['path'] ) ) ? $home_root['path'] : '';
2163
+ $home_root = preg_quote( $home_root, '|' );
2164
+
2165
+ $request = preg_replace( '|^' . $home_root . '|i', '', $request );
2166
+ $request = preg_replace( '|^/+|', '', $request );
2167
+
2168
+ $is_using_permalinks = $wp_rewrite->using_permalinks();
2169
+ if ( ! $is_using_permalinks ) {
2170
+ $base = trailingslashit( get_bloginfo( 'url' ) );
2171
+
2172
+ if ( $pagenum > 1 ) {
2173
+ $result = add_query_arg( 'paged', $pagenum, $base . $request );
2174
+ } else {
2175
+ $result = $base . $request;
2176
+ }
2177
+ } else {
2178
+ $qs_regex = '|\?.*?$|';
2179
+ preg_match( $qs_regex, $request, $qs_match );
2180
+
2181
+ if ( ! empty( $qs_match[0] ) ) {
2182
+ $query_string = $qs_match[0];
2183
+ $request = preg_replace( $qs_regex, '', $request );
2184
+ } else {
2185
+ $query_string = '';
2186
+ }
2187
+
2188
+ $request = preg_replace( "|$wp_rewrite->pagination_base/\d+/?$|", '', $request );
2189
+ $request = preg_replace( '|^' . preg_quote( $wp_rewrite->index, '|' ) . '|i', '', $request );
2190
+ $request = ltrim( $request, '/' );
2191
+
2192
+ $base = trailingslashit( get_bloginfo( 'url' ) );
2193
+
2194
+ $is_using_index_permalinks = $wp_rewrite->using_index_permalinks();
2195
+ if ( $is_using_index_permalinks && ( $pagenum > 1 || '' != $request ) )
2196
+ $base .= $wp_rewrite->index . '/';
2197
+
2198
+ if ( $pagenum > 1 ) {
2199
+ $request = ( ( !empty( $request ) ) ? trailingslashit( $request ) : $request ) . user_trailingslashit( $wp_rewrite->pagination_base . "/" . $pagenum, 'paged' );
2200
+ }
2201
+
2202
+ $result = $base . $request . $query_string;
2203
+ }
2204
+
2205
+ /**
2206
+ * Filter the page number link for the current request.
2207
+ *
2208
+ * @since 2.5.0
2209
+ *
2210
+ * @param string $result The page number link.
2211
+ */
2212
+ $result = apply_filters( 'get_pagenum_link', $result );
2213
+
2214
+ if ( $escape )
2215
+ return esc_url( $result );
2216
+ else
2217
+ return esc_url_raw( $result );
2218
+ }
2219
+
2220
+ public static function get_terms_child_parent ( $child_parent, $attribute, $current_terms = FALSE, $child_parent_depth = 1 ) {
2221
+ if ( isset($child_parent) && $child_parent == 'parent' ) {
2222
+ $args_terms = array(
2223
+ 'orderby' => 'id',
2224
+ 'order' => 'ASC',
2225
+ 'hide_empty' => false,
2226
+ 'parent' => 0,
2227
+ );
2228
+ if( $attribute == 'product_cat' ) {
2229
+ $current_terms = br_get_taxonomy_hierarchy(array(), 0, 1);
2230
+ } else {
2231
+ $current_terms = get_terms( $attribute, $args_terms );
2232
+ }
2233
+ }
2234
+ if ( isset($child_parent) && $child_parent == 'child' ) {
2235
+ $current_terms = array( (object) array( 'depth' => 0, 'child' => 0, 'term_id' => 'R__term_id__R', 'count' => 'R__count__R', 'slug' => 'R__slug__R', 'name' => 'R__name__R', 'taxonomy' => 'R__taxonomy__R' ) );
2236
+ $selected_terms = br_get_selected_term( $attribute );
2237
+ $selected_terms_id = array();
2238
+ if( empty($child_parent_depth) ) {
2239
+ $child_parent_depth = 0;
2240
+ }
2241
+ foreach( $selected_terms as $selected_term ) {
2242
+ $ancestors = get_ancestors( $selected_term, $attribute );
2243
+ if( count( $ancestors ) >= ( $child_parent_depth - 1 ) ) {
2244
+ if( count( $ancestors ) > ( $child_parent_depth - 1 ) ) {
2245
+ $selected_term = $ancestors[count( $ancestors ) - ( $child_parent_depth )];
2246
+ }
2247
+ if ( ! in_array( $selected_term, $selected_terms_id ) ) {
2248
+ $args_terms = array(
2249
+ 'orderby' => 'id',
2250
+ 'order' => 'ASC',
2251
+ 'hide_empty' => false,
2252
+ 'parent' => $selected_term,
2253
+ );
2254
+ $selected_terms_id[] = $selected_term;
2255
+ $additional_terms = get_terms( $attribute, $args_terms );
2256
+ $current_terms = array_merge( $current_terms, $additional_terms );
2257
+ }
2258
+ }
2259
+ }
2260
+ }
2261
+ return $current_terms;
2262
+ }
2263
+
2264
+ public static function is_parent_selected($attribute, $child_parent_depth = 1) {
2265
+ $selected_terms = br_get_selected_term( $attribute );
2266
+ $selected_terms_id = array();
2267
+ foreach( $selected_terms as $selected_term ) {
2268
+ if( empty($child_parent_depth) ) {
2269
+ $child_parent_depth = 0;
2270
+ }
2271
+ $ancestors = get_ancestors( $selected_term, $attribute );
2272
+ if( count( $ancestors ) > ( $child_parent_depth - 1 ) ) {
2273
+ return true;
2274
+ }
2275
+ }
2276
+ return false;
2277
+ }
2278
+
2279
+ public static function old_wc_compatible( $query, $new = false ) {
2280
+ return br_filters_old_wc_compatible( $query, $new );
2281
+ }
2282
+ }
addons/filtering_conditions/add_conditions.php CHANGED
@@ -1,57 +1,57 @@
1
- <?php
2
- class BeRocket_filtering_conditions_AAPF extends BeRocket_conditions {
3
- public static function get_conditions() {
4
- $conditions = parent::get_conditions();
5
- $conditions['condition_attribute_filtering'] = array(
6
- 'func' => 'check_condition_attribute_filtering',
7
- 'type' => 'attribute_filtering',
8
- 'name' => __('Attribute', 'BeRocket_domain')
9
- );
10
- return $conditions;
11
- }
12
- public static function condition_attribute_filtering($html, $name, $options) {
13
- return self::condition_product_attribute($html, $name, $options);
14
- }
15
-
16
- public static function check_condition_attribute_filtering($show, $condition, $additional) {
17
- $selected_terms = br_get_selected_term($condition['attribute']);
18
- $show = ( count($selected_terms) && (
19
- $condition['values'][$condition['attribute']] === ''
20
- ||
21
- in_array($condition['values'][$condition['attribute']], $selected_terms)
22
- ) );
23
- if( $condition['equal'] == 'not_equal' ) {
24
- $show = ! $show;
25
- }
26
- return $show;
27
- }
28
- }
29
- class BeRocket_aapf_filtering_conditions {
30
- public $post_name;
31
- public $AAPF_single_filter;
32
- public $hook_name = 'berocket_aapf_filtering_conditions';
33
- public $conditions;
34
- function __construct() {
35
- $this->AAPF_single_filter = BeRocket_AAPF_single_filter::getInstance();
36
- $this->post_name = $this->AAPF_single_filter->post_name;
37
- add_action('ajax_filters_framework_construct', array($this, 'init_conditions'));
38
- add_filter('BeRocket_AAPF_widget_old_display_conditions', array($this, 'check_conditions'), 10, 4);
39
- $this->AAPF_single_filter->add_meta_box('filtering_conditions', __( 'Nested Filters (BETA)', 'BeRocket_AJAX_domain' ), array($this, 'conditions'));
40
- }
41
- public function init_conditions() {
42
- $this->conditions = new BeRocket_filtering_conditions_AAPF($this->post_name.'[data2]', $this->hook_name, array(
43
- 'condition_attribute_filtering'
44
- ));
45
- }
46
- public function conditions($post) {
47
- echo '<p>'.__( 'Use this to display products only after filtering by some attribute and value', 'BeRocket_AJAX_domain' ).'</p>';
48
- $options = $this->AAPF_single_filter->get_option( $post->ID );
49
- echo $this->conditions->build($options['data2']);
50
- }
51
- function check_conditions($show, $filter_data, $instance, $args) {
52
- $options = $this->AAPF_single_filter->get_option( $instance['filter_id'] );
53
- $show = empty($options['data2']) || $this->conditions->check($options['data2'], $this->hook_name);
54
- return $show;
55
- }
56
- }
57
- new BeRocket_aapf_filtering_conditions();
1
+ <?php
2
+ class BeRocket_filtering_conditions_AAPF extends BeRocket_conditions {
3
+ public static function get_conditions() {
4
+ $conditions = parent::get_conditions();
5
+ $conditions['condition_attribute_filtering'] = array(
6
+ 'func' => 'check_condition_attribute_filtering',
7
+ 'type' => 'attribute_filtering',
8
+ 'name' => __('Attribute', 'BeRocket_domain')
9
+ );
10
+ return $conditions;
11
+ }
12
+ public static function condition_attribute_filtering($html, $name, $options) {
13
+ return self::condition_product_attribute($html, $name, $options);
14
+ }
15
+
16
+ public static function check_condition_attribute_filtering($show, $condition, $additional) {
17
+ $selected_terms = br_get_selected_term($condition['attribute']);
18
+ $show = ( count($selected_terms) && (
19
+ $condition['values'][$condition['attribute']] === ''
20
+ ||
21
+ in_array($condition['values'][$condition['attribute']], $selected_terms)
22
+ ) );
23
+ if( $condition['equal'] == 'not_equal' ) {
24
+ $show = ! $show;
25
+ }
26
+ return $show;
27
+ }
28
+ }
29
+ class BeRocket_aapf_filtering_conditions {
30
+ public $post_name;
31
+ public $AAPF_single_filter;
32
+ public $hook_name = 'berocket_aapf_filtering_conditions';
33
+ public $conditions;
34
+ function __construct() {
35
+ $this->AAPF_single_filter = BeRocket_AAPF_single_filter::getInstance();
36
+ $this->post_name = $this->AAPF_single_filter->post_name;
37
+ add_action('ajax_filters_framework_construct', array($this, 'init_conditions'));
38
+ add_filter('BeRocket_AAPF_widget_old_display_conditions', array($this, 'check_conditions'), 10, 4);
39
+ $this->AAPF_single_filter->add_meta_box('filtering_conditions', __( 'Nested Filters (BETA)', 'BeRocket_AJAX_domain' ), array($this, 'conditions'));
40
+ }
41
+ public function init_conditions() {
42
+ $this->conditions = new BeRocket_filtering_conditions_AAPF($this->post_name.'[data2]', $this->hook_name, array(
43
+ 'condition_attribute_filtering'
44
+ ));
45
+ }
46
+ public function conditions($post) {
47
+ echo '<p>'.__( 'Use this to display products only after filtering by some attribute and value', 'BeRocket_AJAX_domain' ).'</p>';
48
+ $options = $this->AAPF_single_filter->get_option( $post->ID );
49
+ echo $this->conditions->build($options['data2']);
50
+ }
51
+ function check_conditions($show, $filter_data, $instance, $args) {
52
+ $options = $this->AAPF_single_filter->get_option( $instance['filter_id'] );
53
+ $show = empty($options['data2']) || $this->conditions->check($options['data2'], $this->hook_name);
54
+ return $show;
55
+ }
56
+ }
57
+ new BeRocket_aapf_filtering_conditions();
addons/filtering_conditions/filtering_conditions.php CHANGED
@@ -1,15 +1,15 @@
1
- <?php
2
- class BeRocket_aapf_filtering_conditions_addon extends BeRocket_framework_addon_lib {
3
- public $addon_file = __FILE__;
4
- public $plugin_name = 'ajax_filters';
5
- public $php_file_name = 'add_conditions';
6
- function get_addon_data() {
7
- $data = parent::get_addon_data();
8
- return array_merge($data, array(
9
- 'addon_name' => __('Nested Filters (BETA)', 'BeRocket_AJAX_domain'),
10
- 'tooltip' => __('The ability to set conditions for the filters based on other filters status', 'BeRocket_AJAX_domain')
11
-
12
- ));
13
- }
14
- }
15
- new BeRocket_aapf_filtering_conditions_addon();
1
+ <?php
2
+ class BeRocket_aapf_filtering_conditions_addon extends BeRocket_framework_addon_lib {
3
+ public $addon_file = __FILE__;
4
+ public $plugin_name = 'ajax_filters';
5
+ public $php_file_name = 'add_conditions';
6
+ function get_addon_data() {
7
+ $data = parent::get_addon_data();
8
+ return array_merge($data, array(
9
+ 'addon_name' => __('Nested Filters (BETA)', 'BeRocket_AJAX_domain'),
10
+ 'tooltip' => __('The ability to set conditions for the filters based on other filters status', 'BeRocket_AJAX_domain')
11
+
12
+ ));
13
+ }
14
+ }
15
+ new BeRocket_aapf_filtering_conditions_addon();
addons/separate_link/separate_link.php CHANGED
@@ -1,16 +1,16 @@
1
- <?php
2
- class BeRocket_aapf_separate_link_addon extends BeRocket_framework_addon_lib {
3
- public $addon_file = __FILE__;
4
- public $plugin_name = 'ajax_filters';
5
- public $php_file_name = 'separate_vars';
6
- function get_addon_data() {
7
- $data = parent::get_addon_data();
8
- return array_merge($data, array(
9
- 'addon_name' => __('Link like WooCommerce (BETA)', 'BeRocket_AJAX_domain'),
10
- 'tooltip' => __('Links after filtering will look like Woocommerce.<br>
11
- <i>Example:</i><br><span style="color: #aaf;">https://example.com/shop/?pa-color=bronze,green&pa-product_cat_operator=or&pa-product_cat=dress</span>
12
- <a class="button" href="https://docs.berocket.com/docs_section/link-like-woocommerce-beta" target="_blank">Read more</a>', 'BeRocket_AJAX_domain')
13
- ));
14
- }
15
- }
16
- new BeRocket_aapf_separate_link_addon();
1
+ <?php
2
+ class BeRocket_aapf_separate_link_addon extends BeRocket_framework_addon_lib {
3
+ public $addon_file = __FILE__;
4
+ public $plugin_name = 'ajax_filters';
5
+ public $php_file_name = 'separate_vars';
6
+ function get_addon_data() {
7
+ $data = parent::get_addon_data();
8
+ return array_merge($data, array(
9
+ 'addon_name' => __('Link like WooCommerce (BETA)', 'BeRocket_AJAX_domain'),
10
+ 'tooltip' => __('Links after filtering will look like Woocommerce.<br>
11
+ <i>Example:</i><br><span style="color: #aaf;">https://example.com/shop/?pa-color=bronze,green&pa-product_cat_operator=or&pa-product_cat=dress</span>
12
+ <a class="button" href="https://docs.berocket.com/docs_section/link-like-woocommerce-beta" target="_blank">Read more</a>', 'BeRocket_AJAX_domain')
13
+ ));
14
+ }
15
+ }
16
+ new BeRocket_aapf_separate_link_addon();
addons/separate_link/separate_vars.php CHANGED
@@ -1,441 +1,441 @@
1
- <?php
2
- class BeRocket_AAPF_lp_separate_vars extends BeRocket_AAPF_link_parser {
3
- function __construct() {
4
- parent::__construct();
5
- if( ! is_admin() ) {
6
- add_filter('berocket_aapf_is_filtered_page_check', array($this, 'php_parse_inside_test'));
7
- add_action('wp_footer', array($this, 'js_footer_new_func'));
8
- }
9
- $BeRocket_AAPF = BeRocket_AAPF::getInstance();
10
- $option = $BeRocket_AAPF->get_option();
11
- add_filter('brfr_data_ajax_filters', array($this, 'brfr_data'), 50, 1);
12
- if( ! empty( $option['use_links_filters'] ) ) {
13
- add_action( 'current_screen', array( $this, 'register_permalink_option' ), 50 );
14
- }
15
- }
16
- function register_permalink_option() {
17
- global $wp_settings_sections;
18
- if( isset($wp_settings_sections[ 'permalink' ][ 'berocket_permalinks' ]) ) {
19
- unset($wp_settings_sections[ 'permalink' ][ 'berocket_permalinks' ]);
20
- }
21
- }
22
- function brfr_data($data) {
23
- if( isset($data['SEO']['nice_urls']) ) {
24
- unset($data['SEO']['nice_urls']);
25
- }
26
- $data['SEO']['default_operator_and'] = array(
27
- "label" => __( 'Default operator for URLs', "BeRocket_AJAX_domain" ),
28
- "name" => "default_operator_and",
29
- "type" => "selectbox",
30
- "options" => array(
31
- array('value' => '', 'text' => __('OR', 'BeRocket_AJAX_domain')),
32
- array('value' => '1', 'text' => __('AND', 'BeRocket_AJAX_domain')),
33
- ),
34
- "value" => '',
35
- 'label_for' => __('Default operator will not be added to the URL', 'BeRocket_AJAX_domain'),
36
- );
37
- return $data;
38
- }
39
- function add_filter_to_link($current_url = FALSE, $args = array()) {
40
- $args = array_merge(array(
41
- 'attribute' => '',
42
- 'values' => array(),
43
- 'operator' => 'OR',
44
- 'remove_attribute' => FALSE,
45
- 'slider' => FALSE
46
- ), $args);
47
- extract($args);
48
- $BeRocket_AAPF = BeRocket_AAPF::getInstance();
49
- $options = $BeRocket_AAPF->get_option();
50
- if( ! is_array($values) ) {
51
- $values = array($values);
52
- }
53
- if( taxonomy_is_product_attribute($attribute) && substr($attribute, 0, 3) == 'pa_' ) {
54
- $attribute = substr($attribute, 3);
55
- }
56
-
57
- $current_url = $this->get_query_vars_name_link($current_url);
58
-
59
- $link_data = $this->get_query_vars_name($current_url);
60
- $new_url = $current_url;
61
- if( $slider && count($values) == 2 ) {
62
- $values = array_values($values);
63
- $get_key1 = 'pa-'.$attribute.'_from';
64
- $get_key2 = 'pa-'.$attribute.'_to';
65
- $taxonomy_value1 = $values[0];
66
- $taxonomy_value2 = $values[1];
67
- $new_url = add_query_arg(array($get_key1 => $taxonomy_value1, $get_key2 => $taxonomy_value2), $new_url);
68
- } else {
69
- $taxonomy_value = implode(',', $values);
70
- $get_key = 'pa-'.$attribute;
71
- foreach($link_data['taxonomy'] as $taxonomy) {
72
- if( $taxonomy['get_key'] == $attribute ) {
73
- $terms = $taxonomy['data']['terms'] ;
74
- $terms = explode(',', $terms);
75
- foreach($values as $value) {
76
- if( ($position = array_search($value, $terms)) === FALSE ) {
77
- $terms[] = $value;
78
- } else {
79
- unset($terms[$position]);
80
- }
81
- }
82
- $taxonomy_value = implode(',', $terms);
83
- $get_key = 'pa-'.$taxonomy['get_key'];
84
- }
85
- }
86
- if( empty($taxonomy_value) ) {
87
- $new_url = add_query_arg(array($get_key => null, $get_key.'_operator' => null), $new_url);
88
- } else {
89
- $operator_set = $operator;
90
- if( $operator == (empty($options['default_operator_and']) ? 'OR' : 'AND') ) {
91
- $operator_set = null;
92
- }
93
- $new_url = add_query_arg(array($get_key => $taxonomy_value, $get_key.'_operator' => $operator_set), $new_url);
94
- }
95
- }
96
- return $new_url;
97
- }
98
- function js_parse_inside($data, $args = array()) {
99
- return $data;
100
- }
101
- function js_footer_new_func() {
102
- echo '<script>function newUpdateLocation( args, pushstate, return_request ){';
103
- echo $this->js_generate_inside('');
104
- echo '}</script>';
105
- }
106
- function js_generate_inside($data, $args = array()) {
107
- $BeRocket_AAPF = BeRocket_AAPF::getInstance();
108
- $options = $BeRocket_AAPF->get_option();
109
- ob_start();
110
- ?>
111
- if ( typeof return_request == 'undefined' ) return_request = false;
112
- uri_request_array = [];
113
- var uri_request = '';
114
- temp_terms = [];
115
- var taxonomy_sparator = "|", start_terms = "[", end_terms = "]", variable = 'filters';
116
-
117
- if (typeof the_ajax_script.nn_url_variable != "undefined" && the_ajax_script.nn_url_variable.length > 0) {
118
- variable = the_ajax_script.nn_url_variable;
119
- }
120
- if (typeof the_ajax_script.nn_url_value_1 != "undefined" && the_ajax_script.nn_url_value_1.length > 0) {
121
- start_terms = the_ajax_script.nn_url_value_1;
122
- end_terms = the_ajax_script.nn_url_value_2;
123
- }
124
- if (typeof the_ajax_script.nn_url_split != "undefined" && the_ajax_script.nn_url_split.length > 0) {
125
- taxonomy_sparator = the_ajax_script.nn_url_split;
126
- }
127
-
128
- if( the_ajax_script.nice_urls ) {
129
- taxonomy_sparator = the_ajax_script.nice_url_split;
130
- start_terms = the_ajax_script.nice_url_value_1;
131
- end_terms = the_ajax_script.nice_url_value_2;
132
- variable = the_ajax_script.nice_url_variable;
133
- }
134
-
135
- if( args.price ){
136
- $price_obj = jQuery('.berocket_filter_price_slider');
137
- if( ( args.price[0] || args.price[0] === 0 ) && ( args.price[1] || args.price[1] === 0 ) && ( args.price[0] != $price_obj.data('min') || args.price[1] != $price_obj.data('max') ) ){
138
- if( uri_request ) uri_request += taxonomy_sparator;
139
- uri_request += 'pa-price_from='+args.price[0]+'&pa-price_to='+args.price[1];
140
- }
141
- }
142
-
143
- if( args.limits ){
144
- jQuery(args.limits).each(function (i,o){
145
- if( o[0].substring(0, 3) == 'pa_' ) {
146
- if( !berocket_in_array( o[0].substring(3), temp_terms ) ){
147
- temp_terms[temp_terms.length] = o[0].substring(3);
148
- }
149
- if( typeof uri_request_array[berocket_in_array( o[0].substring(3), temp_terms )] == 'undefined' ) {
150
- uri_request_array[berocket_in_array(o[0].substring(3), temp_terms)] = [];
151
- }
152
- uri_request_array[berocket_in_array( o[0].substring(3), temp_terms )]
153
- [uri_request_array[berocket_in_array( o[0].substring(3), temp_terms )].length] = [o[1],o[2]];
154
- } else {
155
- if( !berocket_in_array( o[0], temp_terms ) ){
156
- temp_terms[temp_terms.length] = o[0];
157
- }
158
- if( typeof uri_request_array[berocket_in_array( o[0], temp_terms )] == 'undefined' ) {
159
- uri_request_array[berocket_in_array(o[0], temp_terms)] = [];
160
- }
161
- uri_request_array[berocket_in_array( o[0], temp_terms )]
162
- [uri_request_array[berocket_in_array( o[0], temp_terms )].length] = [o[1],o[2]];
163
- }
164
- });
165
- }
166
- if( args.terms ){
167
- jQuery(args.terms).each(function (i,o){
168
- if ( the_ajax_script.slug_urls ) {
169
- o[1] = o[3];
170
- }
171
- if( o[0].substring(0, 3) == 'pa_' ) {
172
- if( !berocket_in_array( o[0].substring(3), temp_terms ) ){
173
- temp_terms[temp_terms.length] = o[0].substring(3);
174
- }
175
- if( typeof uri_request_array[berocket_in_array( o[0].substring(3), temp_terms )] == 'undefined' ) {
176
- uri_request_array[berocket_in_array(o[0].substring(3), temp_terms)] = [];
177
- }
178
- uri_request_array[berocket_in_array( o[0].substring(3), temp_terms )]
179
- [uri_request_array[berocket_in_array( o[0].substring(3), temp_terms )].length] = [o[1],o[2]];
180
- } else {
181
- if( !berocket_in_array( o[0], temp_terms ) ){
182
- temp_terms[temp_terms.length] = o[0];
183
- }
184
- if( typeof uri_request_array[berocket_in_array( o[0], temp_terms )] == 'undefined' ) {
185
- uri_request_array[berocket_in_array(o[0], temp_terms)] = [];
186
- }
187
- uri_request_array[berocket_in_array( o[0], temp_terms )]
188
- [uri_request_array[berocket_in_array( o[0], temp_terms )].length] = [o[1],o[2]];
189
- }
190
- });
191
- }
192
-
193
- if( uri_request_array.length ) {
194
- jQuery(uri_request_array).each(function (i,o){
195
- if( uri_request ) uri_request += '&';
196
-
197
- if( typeof o != 'object' ){
198
- if( the_ajax_script.seo_uri_decode ) {
199
- uri_request += encodeURIComponent( o );
200
- } else {
201
- uri_request += o;
202
- }
203
- }else{
204
- cnt_oo = false;
205
- var element_uri_request = '';
206
- var temp_term_name = temp_terms[i];
207
- if( the_ajax_script.seo_uri_decode ) {
208
- temp_term_name = encodeURIComponent( temp_term_name );
209
- }
210
- temp_term_name = 'pa-'+temp_term_name;
211
-
212
- jQuery(o).each(function (ii,oo){
213
- if( ( oo[1] == 'AND' || oo[1] == 'OR' ) ){
214
- if (! element_uri_request) {
215
- if(oo[1] == '<?php echo (empty($options['default_operator_and']) ? 'AND' : 'OR'); ?>'){
216
- element_uri_request += temp_term_name+'_operator=<?php echo (empty($options['default_operator_and']) ? 'and' : 'or'); ?>&';
217
- }
218
- element_uri_request += temp_term_name + '=';
219
- }
220
- if( cnt_oo ){
221
- if( the_ajax_script.seo_uri_decode ) {
222
- element_uri_request += encodeURIComponent(',');
223
- } else {
224
- element_uri_request += ',';
225
- }
226
- }
227
- if( the_ajax_script.seo_uri_decode ) {
228
- element_uri_request += encodeURIComponent(oo[0]);
229
- } else {
230
- element_uri_request += oo[0];
231
- }
232
- }else{
233
- element_uri_request += temp_term_name+'_from='+oo[0]+'&'+temp_term_name+'_to='+oo[1];
234
- }
235
- cnt_oo = true;
236
- });
237
- uri_request += element_uri_request;
238
- }
239
- });
240
- }
241
- uri_request = uri_request;
242
-
243
- if( !pushstate ) {
244
- return uri_request;
245
- }
246
-
247
- var uri = the_ajax_script.current_page_url;
248
- if ( /\?/.test(uri) ) {
249
- passed_vars1 = uri.split('?');
250
- uri = passed_vars1[0];
251
- }
252
- if( uri && uri.slice(-1) != '/' && ( the_ajax_script.trailing_slash ) ) {
253
- uri += '/';
254
- }
255
-
256
- var cur_page = jQuery(the_ajax_script.pagination_class).find('.current').first().text();
257
- var paginate_regex = new RegExp(".+\/"+the_ajax_script.pagination_base+"\/([0-9]+).+", "i");
258
- if( prev_page = parseInt( location.href.replace(paginate_regex, "$1") ) ) {
259
- if( ! parseInt( cur_page ) ){
260
- cur_page = prev_page;
261
- }
262
- }
263
- if(berocket_aapf_widget_first_page_jump && the_ajax_script.first_page) {
264
- cur_page = 1;
265
- }
266
- cur_page = parseInt( cur_page );
267
- var additional_datas = '';
268
- something_added = false;
269
- if( /\?/.test(location.href) ){
270
- passed_vars1 = location.href;
271
- if ( /\#/.test(passed_vars1) ) {
272
- passed_vars1 = passed_vars1.split('#');
273
- passed_vars1 = passed_vars1[0];
274
- }
275
- passed_vars1 = passed_vars1.split('?');
276
- if( passed_vars1[1] ){
277
- passed_vars2 = [];
278
- if( /&/.test(passed_vars1[1]) ) {
279
- passed_vars2 = passed_vars1[1].split('&');
280
- } else {
281
- passed_vars2[0] = passed_vars1[1];
282
- }
283
- passed_vars2_length = passed_vars2.length;
284
- for ( k = 0; k < passed_vars2.length; k++ ) {
285
- temp = passed_vars2[k].split('=');
286
- passed_vars2[k] = [];
287
- passed_vars2[k][0] = temp.shift();
288
- passed_vars2[k][1] = temp.join("=");
289
- if( passed_vars2[k][0].substr(0, 3) == 'pa-' || passed_vars2[k][0] == 'page' || passed_vars2[k][0] == 'paged' || passed_vars2[k][0] == 'product-page' ) continue;
290
-
291
- if( the_ajax_script.control_sorting && passed_vars2[k][0] == 'orderby' ) continue;
292
-
293
- if( something_added ) {
294
- additional_datas += '&';
295
- } else {
296
- additional_datas += '?';
297
- }
298
-
299
- additional_datas += passed_vars2[k][0]+'='+passed_vars2[k][1];
300
- something_added = true;
301
- }
302
- }
303
- }
304
- var next_symbol_sep = '?';
305
- if( something_added ) {
306
- uri = uri + additional_datas;
307
- next_symbol_sep = '&';
308
- }
309
- if( cur_page > 1 && jQuery(the_ajax_script.pagination_class+' a').last().length && jQuery(the_ajax_script.pagination_class+' a').last().attr('href').search('product-page=') == -1 ) {
310
- uri = uri + next_symbol_sep + "paged=" + cur_page;
311
- next_symbol_sep = '&';
312
- }
313
- if( uri_request ) {
314
- uri = uri + next_symbol_sep + uri_request;
315
- next_symbol_sep = '&';
316
- }
317
-
318
- if( the_ajax_script.control_sorting && args.orderby && the_ajax_script.default_sorting != args.orderby ){
319
- uri = uri + next_symbol_sep + 'orderby=' + args.orderby;
320
- next_symbol_sep = '&';
321
- }
322
-
323
- if( cur_page > 1 && jQuery(the_ajax_script.pagination_class+' a').last().length && jQuery(the_ajax_script.pagination_class+' a').last().attr('href').search('product-page=') != -1 ) {
324
- uri = uri + next_symbol_sep + "product-page=" + cur_page;
325
- }
326
- if ( /\#/.test(location.href) ) {
327
- passed_vars1 = location.href.split('#');
328
- passed_vars1 = passed_vars1[1];
329
- uri += '#'+passed_vars1;
330
- }
331
-
332
- if( return_request ) {
333
- return uri;
334
- } else {
335
- var stateParameters = { BeRocket: "Rules" };
336
- history.replaceState(stateParameters, "BeRocket Rules");
337
- history.pushState(stateParameters, "BeRocket Rules", uri);
338
- history.pathname = uri;
339
- }
340
- <?php
341
- return ob_get_clean();
342
- }
343
- function php_parse_inside_test($isset) {
344
- $link_data = $this->php_parse(array());
345
- $filters = array();
346
- if( ! empty($link_data['taxonomy']) && is_array($link_data['taxonomy']) ) {
347
- foreach($link_data['taxonomy'] as $taxonomy) {
348
- if( $taxonomy['type'] == 'single' ) {
349
- $filters[] = $taxonomy['taxonomy'].'['.implode(($taxonomy['data']['operator'] == 'OR' ? '-' : '+'), explode(',', $taxonomy['data']['terms'])).']';
350
- } elseif( $taxonomy['type'] == 'from_to' ) {
351
- $filters[] = $taxonomy['taxonomy'].'['.$taxonomy['data']['from']. '_' . $taxonomy['data']['to'] .']';
352
- }
353
- }
354
- }
355
- if( count($filters) ) {
356
- $filters = implode('|', $filters);
357
- $_GET['filters'] = $filters;
358
- return true;
359
- }
360
- return $isset;
361
- }
362
- function php_parse_inside($data, $args = array()) {
363
- $link_data = $this->get_query_vars_name();
364
- return $link_data;
365
- }
366
- function php_generate_inside($data, $args = array()) {
367
- return $data;
368
- }
369
- function get_query_vars_name($link = false) {
370
- $BeRocket_AAPF = BeRocket_AAPF::getInstance();
371
- $options = $BeRocket_AAPF->get_option();
372
- $link = $this->get_query_vars_name_link($link);
373
- $parts = wp_parse_url($link);
374
- $link_data = array(
375
- 'var_names' => array(),
376
- 'taxonomy' => array()
377
- );
378
- if( ! empty($parts['query']) ) {
379
- parse_str($parts['query'], $query_vars);
380
- if( is_array($query_vars) ) {
381
- $skip = array();
382
- foreach($query_vars as $get_key => $get_value) {
383
- if( substr($get_key, 0, 3) == 'pa-' ) {
384
- $get_key = substr($get_key, 3);
385
- } else {
386
- continue;
387
- }
388
- if( in_array($get_key, $link_data['var_names']) ) continue;
389
- if( ($taxonomy = $this->check_taxonomy($get_key)) !== false ) {
390
- $link_data['var_names'][] = $get_key;
391
- $operator = (empty($options['default_operator_and']) ? 'OR' : 'AND');
392
- $operator_var = 'pa-'.$get_key . '_operator';
393
- if( ! empty($query_vars[$operator_var]) ) {
394
- $operator = $query_vars[$operator_var];
395
- $link_data['var_names'][] = $operator_var;
396
- }
397
- $link_data['taxonomy'][] = array(
398
- 'taxonomy' => $taxonomy,
399
- 'get_key' => $get_key,
400
- 'data' => array(
401
- 'terms' => $get_value,
402
- 'operator' => strtoupper($operator)
403
- ),
404
- 'type' => 'single'
405
- );
406
- } elseif( strlen($get_key) > 5 && substr($get_key, -5) == '_from' && ! empty($query_vars['pa-'.substr_replace($get_key, '_to', -5)]) ) {
407
- if( $taxonomy = $this->check_taxonomy(substr_replace($get_key, '', -5)) ) {
408
- $link_data['var_names'][] = $get_key;
409
- $link_data['var_names'][] = substr_replace($get_key, '_to', -5);
410
- $link_data['taxonomy'][] = array(
411
- 'taxonomy' => $taxonomy,
412
- 'get_key' => $get_key,
413
- 'data' => array(
414
- 'from' => $get_value,
415
- 'to' => $query_vars['pa-'.substr_replace($get_key, '_to', -5)]
416
- ),
417
- 'type' => 'from_to'
418
- );
419
- }
420
- } elseif( strlen($get_key) > 3 && substr($get_key, -3) == '_to' && ! empty($query_vars['pa-'.substr_replace($get_key, '_from', -3)]) ) {
421
- if( $taxonomy = $this->check_taxonomy(substr_replace($get_key, '', -3)) ) {
422
- $link_data['var_names'][] = $get_key;
423
- $link_data['var_names'][] = substr_replace($get_key, '_from', -3);
424
- $link_data['taxonomy'][] = array(
425
- 'taxonomy' => $taxonomy,
426
- 'get_key' => $get_key,
427
- 'data' => array(
428
- 'to' => $get_value,
429
- 'from' => $query_vars['pa-'.substr_replace($get_key, '_from', -3)]
430
- ),
431
- 'type' => 'from_to'
432
- );
433
- }
434
- }
435
- }
436
- }
437
- }
438
- return $link_data;
439
- }
440
- }
441
- new BeRocket_AAPF_lp_separate_vars();
1
+ <?php
2
+ class BeRocket_AAPF_lp_separate_vars extends BeRocket_AAPF_link_parser {
3
+ function __construct() {
4
+ parent::__construct();
5
+ if( ! is_admin() ) {
6
+ add_filter('berocket_aapf_is_filtered_page_check', array($this, 'php_parse_inside_test'));
7
+ add_action('wp_footer', array($this, 'js_footer_new_func'));
8
+ }
9
+ $BeRocket_AAPF = BeRocket_AAPF::getInstance();
10
+ $option = $BeRocket_AAPF->get_option();
11
+ add_filter('brfr_data_ajax_filters', array($this, 'brfr_data'), 50, 1);
12
+ if( ! empty( $option['use_links_filters'] ) ) {
13
+ add_action( 'current_screen', array( $this, 'register_permalink_option' ), 50 );
14
+ }
15
+ }
16
+ function register_permalink_option() {
17
+ global $wp_settings_sections;
18
+ if( isset($wp_settings_sections[ 'permalink' ][ 'berocket_permalinks' ]) ) {
19
+ unset($wp_settings_sections[ 'permalink' ][ 'berocket_permalinks' ]);
20
+ }
21
+ }
22
+ function brfr_data($data) {
23
+ if( isset($data['SEO']['nice_urls']) ) {
24
+ unset($data['SEO']['nice_urls']);
25
+ }
26
+ $data['SEO']['default_operator_and'] = array(
27
+ "label" => __( 'Default operator for URLs', "BeRocket_AJAX_domain" ),
28
+ "name" => "default_operator_and",
29
+ "type" => "selectbox",
30
+ "options" => array(
31
+ array('value' => '', 'text' => __('OR', 'BeRocket_AJAX_domain')),
32
+ array('value' => '1', 'text' => __('AND', 'BeRocket_AJAX_domain')),
33
+ ),
34
+ "value" => '',
35
+ 'label_for' => __('Default operator will not be added to the URL', 'BeRocket_AJAX_domain'),
36
+ );
37
+ return $data;
38
+ }
39
+ function add_filter_to_link($current_url = FALSE, $args = array()) {
40
+ $args = array_merge(array(
41
+ 'attribute' => '',
42
+ 'values' => array(),
43
+ 'operator' => 'OR',
44
+ 'remove_attribute' => FALSE,
45
+ 'slider' => FALSE
46
+ ), $args);
47
+ extract($args);
48
+ $BeRocket_AAPF = BeRocket_AAPF::getInstance();
49
+ $options = $BeRocket_AAPF->get_option();
50
+ if( ! is_array($values) ) {
51
+ $values = array($values);
52
+ }
53
+ if( taxonomy_is_product_attribute($attribute) && substr($attribute, 0, 3) == 'pa_' ) {
54
+ $attribute = substr($attribute, 3);
55
+ }
56
+
57
+ $current_url = $this->get_query_vars_name_link($current_url);
58
+
59
+ $link_data = $this->get_query_vars_name($current_url);
60
+ $new_url = $current_url;
61
+ if( $slider && count($values) == 2 ) {
62
+ $values = array_values($values);
63
+ $get_key1 = 'pa-'.$attribute.'_from';
64
+ $get_key2 = 'pa-'.$attribute.'_to';
65
+ $taxonomy_value1 = $values[0];
66
+ $taxonomy_value2 = $values[1];
67
+ $new_url = add_query_arg(array($get_key1 => $taxonomy_value1, $get_key2 => $taxonomy_value2), $new_url);
68
+ } else {
69
+ $taxonomy_value = implode(',', $values);
70
+ $get_key = 'pa-'.$attribute;
71
+ foreach($link_data['taxonomy'] as $taxonomy) {
72
+ if( $taxonomy['get_key'] == $attribute ) {
73
+ $terms = $taxonomy['data']['terms'] ;
74
+ $terms = explode(',', $terms);
75
+ foreach($values as $value) {
76
+ if( ($position = array_search($value, $terms)) === FALSE ) {
77
+ $terms[] = $value;
78
+ } else {
79
+ unset($terms[$position]);
80
+ }
81
+ }
82
+ $taxonomy_value = implode(',', $terms);
83
+ $get_key = 'pa-'.$taxonomy['get_key'];
84
+ }
85
+ }
86
+ if( empty($taxonomy_value) ) {
87
+ $new_url = add_query_arg(array($get_key => null, $get_key.'_operator' => null), $new_url);
88
+ } else {
89
+ $operator_set = $operator;
90
+ if( $operator == (empty($options['default_operator_and']) ? 'OR' : 'AND') ) {
91
+ $operator_set = null;
92
+ }
93
+ $new_url = add_query_arg(array($get_key => $taxonomy_value, $get_key.'_operator' => $operator_set), $new_url);
94
+ }
95
+ }
96
+ return $new_url;
97
+ }
98
+ function js_parse_inside($data, $args = array()) {
99
+ return $data;
100
+ }
101
+ function js_footer_new_func() {
102
+ echo '<script>function newUpdateLocation( args, pushstate, return_request ){';
103
+ echo $this->js_generate_inside('');
104
+ echo '}</script>';
105
+ }
106
+ function js_generate_inside($data, $args = array()) {
107
+ $BeRocket_AAPF = BeRocket_AAPF::getInstance();
108
+ $options = $BeRocket_AAPF->get_option();
109
+ ob_start();
110
+ ?>
111
+ if ( typeof return_request == 'undefined' ) return_request = false;
112
+ uri_request_array = [];
113
+ var uri_request = '';
114
+ temp_terms = [];
115
+ var taxonomy_sparator = "|", start_terms = "[", end_terms = "]", variable = 'filters';
116
+
117
+ if (typeof the_ajax_script.nn_url_variable != "undefined" && the_ajax_script.nn_url_variable.length > 0) {
118
+ variable = the_ajax_script.nn_url_variable;
119
+ }
120
+ if (typeof the_ajax_script.nn_url_value_1 != "undefined" && the_ajax_script.nn_url_value_1.length > 0) {
121
+ start_terms = the_ajax_script.nn_url_value_1;
122
+ end_terms = the_ajax_script.nn_url_value_2;
123
+ }
124
+ if (typeof the_ajax_script.nn_url_split != "undefined" && the_ajax_script.nn_url_split.length > 0) {
125
+ taxonomy_sparator = the_ajax_script.nn_url_split;
126
+ }
127
+
128
+ if( the_ajax_script.nice_urls ) {
129
+ taxonomy_sparator = the_ajax_script.nice_url_split;
130
+ start_terms = the_ajax_script.nice_url_value_1;
131
+ end_terms = the_ajax_script.nice_url_value_2;
132
+ variable = the_ajax_script.nice_url_variable;
133
+ }
134
+
135
+ if( args.price ){
136
+ $price_obj = jQuery('.berocket_filter_price_slider');
137
+ if( ( args.price[0] || args.price[0] === 0 ) && ( args.price[1] || args.price[1] === 0 ) && ( args.price[0] != $price_obj.data('min') || args.price[1] != $price_obj.data('max') ) ){
138
+ if( uri_request ) uri_request += taxonomy_sparator;
139
+ uri_request += 'pa-price_from='+args.price[0]+'&pa-price_to='+args.price[1];
140
+ }
141
+ }
142
+
143
+ if( args.limits ){
144
+ jQuery(args.limits).each(function (i,o){
145
+ if( o[0].substring(0, 3) == 'pa_' ) {
146
+ if( !berocket_in_array( o[0].substring(3), temp_terms ) ){
147
+ temp_terms[temp_terms.length] = o[0].substring(3);
148
+ }
149
+ if( typeof uri_request_array[berocket_in_array( o[0].substring(3), temp_terms )] == 'undefined' ) {
150
+ uri_request_array[berocket_in_array(o[0].substring(3), temp_terms)] = [];
151
+ }
152
+ uri_request_array[berocket_in_array( o[0].substring(3), temp_terms )]
153
+ [uri_request_array[berocket_in_array( o[0].substring(3), temp_terms )].length] = [o[1],o[2]];
154
+ } else {
155
+ if( !berocket_in_array( o[0], temp_terms ) ){
156
+ temp_terms[temp_terms.length] = o[0];
157
+ }
158
+ if( typeof uri_request_array[berocket_in_array( o[0], temp_terms )] == 'undefined' ) {
159
+ uri_request_array[berocket_in_array(o[0], temp_terms)] = [];
160
+ }
161
+ uri_request_array[berocket_in_array( o[0], temp_terms )]
162
+ [uri_request_array[berocket_in_array( o[0], temp_terms )].length] = [o[1],o[2]];
163
+ }
164
+ });
165
+ }
166
+ if( args.terms ){
167
+ jQuery(args.terms).each(function (i,o){
168
+ if ( the_ajax_script.slug_urls ) {
169
+ o[1] = o[3];
170
+ }
171
+ if( o[0].substring(0, 3) == 'pa_' ) {
172
+ if( !berocket_in_array( o[0].substring(3), temp_terms ) ){
173
+ temp_terms[temp_terms.length] = o[0].substring(3);
174
+ }
175
+ if( typeof uri_request_array[berocket_in_array( o[0].substring(3), temp_terms )] == 'undefined' ) {
176
+ uri_request_array[berocket_in_array(o[0].substring(3), temp_terms)] = [];
177
+ }
178
+ uri_request_array[berocket_in_array( o[0].substring(3), temp_terms )]
179
+ [uri_request_array[berocket_in_array( o[0].substring(3), temp_terms )].length] = [o[1],o[2]];
180
+ } else {
181
+ if( !berocket_in_array( o[0], temp_terms ) ){
182
+ temp_terms[temp_terms.length] = o[0];
183
+ }
184
+ if( typeof uri_request_array[berocket_in_array( o[0], temp_terms )] == 'undefined' ) {
185
+ uri_request_array[berocket_in_array(o[0], temp_terms)] = [];
186
+ }
187
+ uri_request_array[berocket_in_array( o[0], temp_terms )]
188
+ [uri_request_array[berocket_in_array( o[0], temp_terms )].length] = [o[1],o[2]];
189
+ }
190
+ });
191
+ }
192
+
193
+ if( uri_request_array.length ) {
194
+ jQuery(uri_request_array).each(function (i,o){
195
+ if( uri_request ) uri_request += '&';
196
+
197
+ if( typeof o != 'object' ){
198
+ if( the_ajax_script.seo_uri_decode ) {
199
+ uri_request += encodeURIComponent( o );
200
+ } else {
201
+ uri_request += o;
202
+ }
203
+ }else{
204
+ cnt_oo = false;
205
+ var element_uri_request = '';
206
+ var temp_term_name = temp_terms[i];
207
+ if( the_ajax_script.seo_uri_decode ) {
208
+ temp_term_name = encodeURIComponent( temp_term_name );
209
+ }
210
+ temp_term_name = 'pa-'+temp_term_name;
211
+
212
+ jQuery(o).each(function (ii,oo){
213
+ if( ( oo[1] == 'AND' || oo[1] == 'OR' ) ){
214
+ if (! element_uri_request) {
215
+ if(oo[1] == '<?php echo (empty($options['default_operator_and']) ? 'AND' : 'OR'); ?>'){
216
+ element_uri_request += temp_term_name+'_operator=<?php echo (empty($options['default_operator_and']) ? 'and' : 'or'); ?>&';
217
+ }
218
+ element_uri_request += temp_term_name + '=';
219
+ }
220
+ if( cnt_oo ){
221
+ if( the_ajax_script.seo_uri_decode ) {
222
+ element_uri_request += encodeURIComponent(',');
223
+ } else {
224
+ element_uri_request += ',';
225
+ }
226
+ }
227
+ if( the_ajax_script.seo_uri_decode ) {
228
+ element_uri_request += encodeURIComponent(oo[0]);
229
+ } else {
230
+ element_uri_request += oo[0];
231
+ }
232
+ }else{
233
+ element_uri_request += temp_term_name+'_from='+oo[0]+'&'+temp_term_name+'_to='+oo[1];
234
+ }
235
+ cnt_oo = true;
236
+ });
237
+ uri_request += element_uri_request;
238
+ }
239
+ });
240
+ }
241
+ uri_request = uri_request;
242
+
243
+ if( !pushstate ) {
244
+ return uri_request;
245
+ }
246
+
247
+ var uri = the_ajax_script.current_page_url;
248
+ if ( /\?/.test(uri) ) {
249
+ passed_vars1 = uri.split('?');
250
+ uri = passed_vars1[0];
251
+ }
252
+ if( uri && uri.slice(-1) != '/' && ( the_ajax_script.trailing_slash ) ) {
253
+ uri += '/';
254
+ }
255
+
256
+ var cur_page = jQuery(the_ajax_script.pagination_class).find('.current').first().text();
257
+ var paginate_regex = new RegExp(".+\/"+the_ajax_script.pagination_base+"\/([0-9]+).+", "i");
258
+ if( prev_page = parseInt( location.href.replace(paginate_regex, "$1") ) ) {
259
+ if( ! parseInt( cur_page ) ){
260
+ cur_page = prev_page;
261
+ }
262
+ }
263
+ if(berocket_aapf_widget_first_page_jump && the_ajax_script.first_page) {
264
+ cur_page = 1;
265
+ }
266
+ cur_page = parseInt( cur_page );
267
+ var additional_datas = '';
268
+ something_added = false;
269
+ if( /\?/.test(location.href) ){
270
+ passed_vars1 = location.href;
271
+ if ( /\#/.test(passed_vars1) ) {
272
+ passed_vars1 = passed_vars1.split('#');
273
+ passed_vars1 = passed_vars1[0];
274
+ }
275
+ passed_vars1 = passed_vars1.split('?');
276
+ if( passed_vars1[1] ){
277
+ passed_vars2 = [];
278
+ if( /&/.test(passed_vars1[1]) ) {
279
+ passed_vars2 = passed_vars1[1].split('&');
280
+ } else {
281
+ passed_vars2[0] = passed_vars1[1];
282
+ }
283
+ passed_vars2_length = passed_vars2.length;
284
+ for ( k = 0; k < passed_vars2.length; k++ ) {
285
+ temp = passed_vars2[k].split('=');
286
+ passed_vars2[k] = [];
287
+ passed_vars2[k][0] = temp.shift();
288
+ passed_vars2[k][1] = temp.join("=");
289
+ if( passed_vars2[k][0].substr(0, 3) == 'pa-' || passed_vars2[k][0] == 'page' || passed_vars2[k][0] == 'paged' || passed_vars2[k][0] == 'product-page' ) continue;
290
+
291
+ if( the_ajax_script.control_sorting && passed_vars2[k][0] == 'orderby' ) continue;
292
+
293
+ if( something_added ) {
294
+ additional_datas += '&';
295
+ } else {
296
+ additional_datas += '?';
297
+ }
298
+
299
+ additional_datas += passed_vars2[k][0]+'='+passed_vars2[k][1];
300
+ something_added = true;
301
+ }
302
+ }
303
+ }
304
+ var next_symbol_sep = '?';
305
+ if( something_added ) {
306
+ uri = uri + additional_datas;
307
+ next_symbol_sep = '&';
308
+ }
309
+ if( cur_page > 1 && jQuery(the_ajax_script.pagination_class+' a').last().length && jQuery(the_ajax_script.pagination_class+' a').last().attr('href').search('product-page=') == -1 ) {
310
+ uri = uri + next_symbol_sep + "paged=" + cur_page;
311
+ next_symbol_sep = '&';
312
+ }
313
+ if( uri_request ) {
314
+ uri = uri + next_symbol_sep + uri_request;
315
+ next_symbol_sep = '&';
316
+ }
317
+
318
+ if( the_ajax_script.control_sorting && args.orderby && the_ajax_script.default_sorting != args.orderby ){
319
+ uri = uri + next_symbol_sep + 'orderby=' + args.orderby;
320
+ next_symbol_sep = '&';
321
+ }
322
+
323
+ if( cur_page > 1 && jQuery(the_ajax_script.pagination_class+' a').last().length && jQuery(the_ajax_script.pagination_class+' a').last().attr('href').search('product-page=') != -1 ) {
324
+ uri = uri + next_symbol_sep + "product-page=" + cur_page;
325
+ }
326
+ if ( /\#/.test(location.href) ) {
327
+ passed_vars1 = location.href.split('#');
328
+ passed_vars1 = passed_vars1[1];
329
+ uri += '#'+passed_vars1;
330
+ }
331
+
332
+ if( return_request ) {
333
+ return uri;
334
+ } else {
335
+ var stateParameters = { BeRocket: "Rules" };
336
+ history.replaceState(stateParameters, "BeRocket Rules");
337
+ history.pushState(stateParameters, "BeRocket Rules", uri);
338
+ history.pathname = uri;
339
+ }
340
+ <?php
341
+ return ob_get_clean();
342
+ }
343
+ function php_parse_inside_test($isset) {
344
+ $link_data = $this->php_parse(array());
345
+ $filters = array();
346
+ if( ! empty($link_data['taxonomy']) && is_array($link_data['taxonomy']) ) {
347
+ foreach($link_data['taxonomy'] as $taxonomy) {
348
+ if( $taxonomy['type'] == 'single' ) {
349
+ $filters[] = $taxonomy['taxonomy'].'['.implode(($taxonomy['data']['operator'] == 'OR' ? '-' : '+'), explode(',', $taxonomy['data']['terms'])).']';
350
+ } elseif( $taxonomy['type'] == 'from_to' ) {
351
+ $filters[] = $taxonomy['taxonomy'].'['.$taxonomy['data']['from']. '_' . $taxonomy['data']['to'] .']';
352
+ }
353
+ }
354
+ }
355
+ if( count($filters) ) {
356
+ $filters = implode('|', $filters);
357
+ $_GET['filters'] = $filters;
358
+ return true;
359
+ }
360
+ return $isset;
361
+ }
362
+ function php_parse_inside($data, $args = array()) {
363
+ $link_data = $this->get_query_vars_name();
364
+ return $link_data;
365
+ }
366
+ function php_generate_inside($data, $args = array()) {
367
+ return $data;
368
+ }
369
+ function get_query_vars_name($link = false) {
370
+ $BeRocket_AAPF = BeRocket_AAPF::getInstance();
371
+ $options = $BeRocket_AAPF->get_option();
372
+ $link = $this->get_query_vars_name_link($link);
373
+ $parts = wp_parse_url($link);
374
+ $link_data = array(
375
+ 'var_names' => array(),
376
+ 'taxonomy' => array()
377
+ );
378
+ if( ! empty($parts['query']) ) {
379
+ parse_str($parts['query'], $query_vars);
380
+ if( is_array($query_vars) ) {
381
+ $skip = array();
382
+ foreach($query_vars as $get_key => $get_value) {
383
+ if( substr($get_key, 0, 3) == 'pa-' ) {
384
+ $get_key = substr($get_key, 3);
385
+ } else {
386
+ continue;
387
+ }
388
+ if( in_array($get_key, $link_data['var_names']) ) continue;
389
+ if( ($taxonomy = $this->check_taxonomy($get_key)) !== false ) {
390
+ $link_data['var_names'][] = $get_key;
391
+ $operator = (empty($options['default_operator_and']) ? 'OR' : 'AND');
392
+ $operator_var = 'pa-'.$get_key . '_operator';
393
+ if( ! empty($query_vars[$operator_var]) ) {
394
+ $operator = $query_vars[$operator_var];
395
+ $link_data['var_names'][] = $operator_var;
396
+ }
397
+ $link_data['taxonomy'][] = array(
398
+ 'taxonomy' => $taxonomy,
399
+ 'get_key' => $get_key,
400
+ 'data' => array(
401
+ 'terms' => $get_value,
402
+ 'operator' => strtoupper($operator)
403
+ ),
404
+ 'type' => 'single'
405
+ );
406
+ } elseif( strlen($get_key) > 5 && substr($get_key, -5) == '_from' && ! empty($query_vars['pa-'.substr_replace($get_key, '_to', -5)]) ) {
407
+ if( $taxonomy = $this->check_taxonomy(substr_replace($get_key, '', -5)) ) {
408
+ $link_data['var_names'][] = $get_key;
409
+ $link_data['var_names'][] = substr_replace($get_key, '_to', -5);
410
+ $link_data['taxonomy'][] = array(
411
+ 'taxonomy' => $taxonomy,
412
+ 'get_key' => $get_key,
413
+ 'data' => array(
414
+ 'from' => $get_value,
415
+ 'to' => $query_vars['pa-'.substr_replace($get_key, '_to', -5)]
416
+ ),
417
+ 'type' => 'from_to'
418
+ );
419
+ }
420
+ } elseif( strlen($get_key) > 3 && substr($get_key, -3) == '_to' && ! empty($query_vars['pa-'.substr_replace($get_key, '_from', -3)]) ) {
421
+ if( $taxonomy = $this->check_taxonomy(substr_replace($get_key, '', -3)) ) {
422
+ $link_data['var_names'][] = $get_key;
423
+ $link_data['var_names'][] = substr_replace($get_key, '_from', -3);
424
+ $link_data['taxonomy'][] = array(
425
+ 'taxonomy' => $taxonomy,
426
+ 'get_key' => $get_key,
427
+ 'data' => array(
428
+ 'to' => $get_value,
429
+ 'from' => $query_vars['pa-'.substr_replace($get_key, '_from', -3)]
430
+ ),
431
+ 'type' => 'from_to'
432
+ );
433
+ }
434
+ }
435
+ }
436
+ }
437
+ }
438
+ return $link_data;
439
+ }
440
+ }
441
+ new BeRocket_AAPF_lp_separate_vars();
berocket/assets/css/admin.css CHANGED
@@ -1,1525 +1,1525 @@
1
- .br_framework_settings{
2
- position: relative;
3
- padding-bottom: 30px;
4
- }
5
- .br_framework_settings .nav-block{
6
- display: none;
7
- }
8
- .br_framework_settings .nav-block.nav-block-active{
9
- display: block;
10
- }
11
- .br_framework_settings textarea{
12
- width: 100%;
13
- resize: vertical;
14
- min-height: 200px;
15
- }
16
- .br_framework_settings textarea.small {
17
- min-height: 100px;
18
- }
19
- .br_framework_settings .br_line_delimiter {
20
- display: inline;
21
- margin-right: 2em;
22
- }
23
- .br_saved,
24
- .br_not_saved{
25
- position: fixed;
26
- top: 50px;
27
- right: 50px;
28
- z-index: 9999999;
29
- color: #333333;
30
- display: block;
31
- width: 50px;
32
- height: 50px;
33
- border-radius: 50%;
34
- animation-name: br_saved_anim;
35
- animation-duration: 0.2s;
36
- transition: background-color 0.6s;
37
- transition: box-shadow 0.6s;
38
- }
39
- @keyframes br_saved_anim {
40
- from {
41
- right: -50px;
42
- }
43
-
44
- to {
45
- right: 50px;
46
- }
47
- }
48
- .br_saved_remove {
49
- animation-name: br_saved_remove_anim;
50
- animation-duration: 0.2s;
51
- }
52
- @keyframes br_saved_remove_anim {
53
- from {
54
- right: 50px;
55
- }
56
-
57
- to {
58
- right: -50px;
59
- }
60
- }
61
- .br_saved{
62
- box-shadow: 1px 1px 3px 1px #55ff55 inset, 0 0 5px 0;
63
- background-color: #33bb33;
64
- }
65
- .br_not_saved{
66
- box-shadow: 1px 1px 3px 1px #ff5555 inset, 0 0 5px 0;
67
- background-color: #bb3333!important;
68
- }
69
- .br_saving {
70
- box-shadow: 1px 1px 3px 1px #cfcfcf inset, 0 0 5px 0;
71
- background-color: #bbbbbb!important;
72
- }
73
- .br_saved .fa,
74
- .br_not_saved .fa{
75
- width: 50px;
76
- display: block;
77
- line-height: 50px;
78
- vertical-align: middle;
79
- text-align: center;
80
- font-size: 32px;
81
- }
82
- .br_saved .fa-check,
83
- .br_not_saved .fa-times{
84
- animation-name: br_saved_anim_fa;
85
- animation-duration: 0.4s;
86
- }
87
- @keyframes br_saved_anim_fa {
88
- 0% {
89
- font-size: 0px;
90
- }
91
-
92
- 50% {
93
- font-size: 0px;
94
- }
95
-
96
- 100% {
97
- font-size: 32px;
98
- }
99
- }
100
-
101
- .berocket_framework_sidebar_save_button {
102
- height: 50px;
103
- }
104
- .berocket_framework_sidebar_save_button .button-primary.button:not(.not_berocket_button) {
105
- display: none;
106
- padding: 9px 0;
107
- margin: 0;
108
- position: absolute;
109
- width: 150px;
110
- border-radius: 0;
111
- min-width: initial;
112
- z-index: 100;
113
- transition: 0.2s bottom;
114
- }
115
- .br_framework_settings .body ul.side li.berocket_framework_sidebar_save_button {
116
- position: initial;
117
- }
118
-
119
- /* New Design */
120
-
121
- .br_framework_settings h2 {
122
- padding: 20px 0 30px!important;
123
- }
124
-
125
- .br_framework_settings header {
126
- background-color: #2c3b48;
127
- height: 80px;
128
- position: relative;
129
- z-index: 1000;
130
- }
131
-
132
- .br_framework_settings header .br_logo_white {
133
- width: 130px;
134
- height: 60px;
135
- position: absolute;
136
- top: 0;
137
- left: 0;
138
- padding: 10px;
139
- text-align: center;
140
- }
141
-
142
- .br_framework_settings header .br_logo_white img {
143
- max-width: 100%;
144
- max-height: 100%;
145
- }
146
-
147
- .br_framework_settings header .br_plugin_name {
148
- box-sizing: border-box;
149
- font-size: 20px;
150
- line-height: 20px;
151
- overflow: hidden;
152
- padding: 14px 40px 14px 150px;
153
- }
154
-
155
- .br_framework_settings header .br_plugin_name h1,
156
- .br_framework_settings header .br_plugin_name h3 {
157
- color: white;
158
- margin: 0;
159
- padding: 0;
160
- font-size: 18px;
161
- overflow: hidden;
162
- text-overflow: ellipsis;
163
- white-space: nowrap;
164
- }
165
-
166
- .br_framework_settings header .br_plugin_name h3 {
167
- font-size: 13px;
168
- font-weight: normal;
169
- color: #B8B8B8;
170
- }
171
-
172
- .br_framework_settings header nav.premium {
173
- float: right;
174
- }
175
-
176
- .br_framework_settings header nav.premium a {
177
- color: white;
178
- font-size: 42px;
179
- line-height: 80px;
180
- margin-right: 30px;
181
- text-decoration: none;
182
- }
183
-
184
- .br_framework_settings .body {
185
- position: relative;
186
- background-color: #f0f0f0;
187
- display: table;
188
- width: 100%;
189
- }
190
-
191
- .br_framework_settings .body ul.side {
192
- width: 150px;
193
- display: table-cell;
194
- background-color: #2c3b48;
195
- box-shadow: 4px 0 6px #ddd;
196
- margin: 0;
197
- padding: 0 0 60px;
198
- list-style-type: none;
199
- position: relative;
200
- }
201
-
202
- .br_framework_settings .body .content {
203
- box-sizing: border-box;
204
- display: table-cell;
205
- min-height: 400px;
206
- padding: 0 30px 20px 30px;
207
- width: 90%;
208
- }
209
-
210
- .br_framework_settings .body ul.side li {
211
- list-style-type: none;
212
- display: block;
213
- text-align: center;
214
- margin: 0;
215
- position: relative;
216
- z-index: 100;
217
- background-color: #2c3b48;
218
- }
219
-
220
- .br_framework_settings .body ul.side li a {
221
- display: block;
222
- color: #B8B8B8;
223
- text-decoration: none;
224
- font-size: 14px;
225
- padding: 20px 5px;
226
- transition: 0.5s background;
227
- }
228
- .br_framework_settings .body ul.side li a.redirect_link.default {
229
- background-color: #0085ba;
230
- }
231
-
232
- .br_framework_settings .body ul.side li a,
233
- .br_framework_settings .body ul.side li a:hover,
234
- .br_framework_settings .body ul.side li a:active,
235
- .br_framework_settings .body ul.side li a:focus {
236
- outline: none;
237
- box-shadow: none;
238
- }
239
-
240
- .br_framework_settings .body ul.side li:hover a {
241
- color: white;
242
- }
243
-
244
- .br_framework_settings .body ul.side li a.active {
245
- background: rgba(0, 0, 0, 0.2) none repeat scroll 0 0;
246
- border-left: 3px solid #009688;
247
- border-right: 3px solid #2c3b48;
248
- color: white;
249
- }
250
-
251
- .br_framework_settings .body ul.side li span {
252
- display: block;
253
- color: white;
254
- font-size: 32px;
255
- margin-bottom: 6px;
256
- }
257
-
258
- .br_framework_settings .body .content .title {
259
- margin-left: -30px;
260
- margin-right: -30px;
261
- padding-left: 40px;
262
- height: 50px;
263
- line-height: 50px;
264
- background: white;
265
- color: #777;
266
- font-size: 18px;
267
- position: relative;
268
- box-shadow: -5px 0 8px #ddd;
269
- box-sizing: border-box;
270
- margin-bottom: 30px;
271
- }
272
-
273
- .br_framework_settings .body .content .title:after {
274
- content: "\f054";
275
- font-family: "Font Awesome 5 Free";
276
- font-weight: 900;
277
- left: 20px;
278
- position: absolute;
279
- }
280
-
281
- .br_framework_settings .body .content .title span {
282
- margin-right: 5px;
283
- }
284
-
285
- .br_framework_settings .body .content .framework-form-table {
286
- margin-top: 0;
287
- width: 100%;
288
- }
289
-
290
- .br_framework_settings .framework-form-table h2{
291
- padding: 0 !important
292
- }
293
-
294
-
295
- .br_framework_settings form.show_premium {
296
- float: left;
297
- width: 70%;
298
- box-sizing: border-box;
299
- }
300
-
301
- .br_framework_settings .paid_features,
302
- .br_framework_settings .berocket_subscribe {
303
- float: right;
304
- clear: right;
305
- width: 28%;
306
- box-sizing: border-box;
307
- text-align: center;
308
- margin-bottom: 30px;
309
- }
310
- .br_framework_settings .paid_features .berocket_paid_features_support {
311
- line-height: 1.7em;
312
- }
313
-
314
- .br_framework_settings .paid_features h3 {
315
- color: #ff5252;
316
- font-size: 2em;
317
- line-height: 1em;
318
- }
319
-
320
- .br_framework_settings .paid_features ul li {
321
- text-align: left;
322
- }
323
-
324
- .br_framework_settings .button:not(.not_berocket_button) {
325
- margin-top: 30px;
326
- margin-bottom: 20px;
327
- color: #fff;
328
- box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);
329
- text-shadow: none;
330
- border: 0 none;
331
- min-width: 120px;
332
- -moz-user-select: none;
333
- background: #009688 none repeat scroll 0 0;
334
- box-sizing: border-box;
335
- cursor: pointer;
336
- display: inline-block;
337
- font-size: 14px;
338
- outline: 0 none;
339
- padding: 8px 32px;
340
- position: relative;
341
- text-align: center;
342
- text-decoration: none;
343
- transition: box-shadow 0.4s cubic-bezier(0.25, 0.8, 0.25, 1) 0s, background-color 0.4s cubic-bezier(0.25, 0.8, 0.25, 1) 0s;
344
- white-space: nowrap;
345
- height: auto;
346
- }
347
-
348
- .br_framework_settings .button.tiny-button:not(.not_berocket_button) {
349
- padding: 2px 13px;
350
- min-width: 40px;
351
- font-size: 13px;
352
- }
353
-
354
- .br_framework_settings .br_colorpicker {
355
- width: 2em;
356
- height: 2em;
357
- border: 2px solid #009688;
358
- position: relative;
359
- display: inline-block;
360
- padding: 6px;
361
- cursor: pointer;
362
- }
363
-
364
- .br_framework_settings .berocket_color {
365
- display: inline-block;
366
- }
367
-
368
- .br_framework_settings .br_colorpicker:hover {
369
- border: 2px solid #00beb0;
370
- }
371
-
372
- .br_framework_settings .br_colorpicker ~ .br_colorpicker_default {
373
- margin: 0;
374
- margin-left: 10px;
375
- }
376
-
377
- .berocket_selected_image {
378
- height: 90px;
379
- width: 90px;
380
- display: inline-block;
381
- line-height: 85px;
382
- padding: 5px;
383
- vertical-align: bottom;
384
- }
385
- .berocket_selected_image img {
386
- max-width: 90px;
387
- max-height: 90px;
388
- vertical-align: middle;
389
- }
390
-
391
- /* FONT AWESOME SELECTOR */
392
-
393
- .berocket_select_fontawesome {
394
- margin: 0.5em 0;
395
- }
396
-
397
- .br_framework_settings .berocket_select_fontawesome .button:not(.not_berocket_button) {
398
- margin-top: 10px;
399
- margin-bottom: 10px;
400
- }
401
-
402
- .br_framework_settings .berocket_select_fontawesome .berocket_selected_fa {
403
- font-size: 32px;
404
- line-height: 62px;
405
- width: 50px;
406
- display: inline-block;
407
- text-align: center;
408
- }
409
-
410
- .br_framework_settings .berocket_select_fontawesome .berocket_selected_image.berocket_selected_fa {
411
- font-size: 62px;
412
- line-height: 90px;
413
- height: 90px;
414
- width: 90px;
415
- display: inline-block;
416
- text-align: center;
417
- }
418
-
419
- .br_framework_settings .berocket_select_fontawesome.berocket_select_image .button:not(.not_berocket_button) {
420
- margin: 29px 0.5em 29px 0;
421
- }
422
-
423
- .berocket_select_fontawesome .berocket_fa_dark {
424
- display: none;
425
- position: fixed;
426
- top: 0;
427
- bottom: 0;
428
- left: 0;
429
- right: 0;
430
- z-index: 50000;
431
- background-color: rgba(0, 0, 0, 0.5);
432
- }
433
- .berocket_select_fontawesome .berocket_fa_popup {
434
- position: fixed;
435
- top: 10%;
436
- bottom: 10%;
437
- left: 10%;
438
- right: 10%;
439
- z-index: 50100;
440
- background-color: rgb(241, 241, 241);
441
- border-radius: 5px;
442
- }
443
-
444
- .berocket_select_fontawesome .berocket_fa_search {
445
- height: 30px;
446
- box-sizing: border-box;
447
- margin: 5px 15%;
448
- width: 70%;
449
- }
450
-
451
- .berocket_select_fontawesome .berocket_fa_close {
452
- font-size: 32px;
453
- color: #555;
454
- cursor: pointer;
455
- position: absolute;
456
- top: 5px;
457
- right: 5px;
458
- z-index: 500;
459
- }
460
-
461
- .berocket_select_fontawesome .berocket_fa_close:hover {
462
- color: #338;
463
- }
464
-
465
- .berocket_select_fontawesome .berocket_fa_list {
466
- position: absolute;
467
- top: 40px;
468
- bottom: 0;
469
- left: 0;
470
- right: 0;
471
- overflow: auto;
472
- padding: 0.5em;
473
- }
474
-
475
- .berocket_select_fontawesome .berocket_fa_list .berocket_fa_icon {
476
- font-size: 32px;
477
- display: inline-block;
478
- line-height: 50px;
479
- width: 50px;
480
- height: 50px;
481
- text-align: center;
482
- vertical-align: middle;
483
- position: relative;
484
- margin: 0 0.5em;
485
- }
486
-
487
- .berocket_select_fontawesome .berocket_fa_list .berocket_fa_icon .fa {
488
- font-size: 32px;
489
- line-height: 50px;
490
- width: 50px;
491
- height: 50px;
492
- color: #555;
493
- }
494
-
495
- .berocket_select_fontawesome .berocket_fa_list .berocket_fa_icon .berocket_fa_preview {
496
- position: absolute;
497
- height: 50px;
498
- top: 0;
499
- left: 0;
500
- white-space: nowrap;
501
- border-radius: 5px;
502
- }
503
-
504
- .berocket_select_fontawesome .berocket_fa_list .berocket_fa_icon .berocket_fa_hover {
505
- position: absolute;
506
- top: 0;
507
- bottom: 0;
508
- left: 0;
509
- right: 0;
510
- z-index: 100;
511
- cursor: pointer;
512
- }
513
-
514
- .berocket_select_fontawesome .berocket_fa_list .berocket_fa_icon .berocket_fa_hover:hover ~ .berocket_fa_preview {
515
- background-color: #CCC;
516
- z-index: 50;
517
- }
518
-
519
- .berocket_select_fontawesome .berocket_fa_list .berocket_fa_icon .berocket_fa_preview span {
520
- display: none;
521
- font-size: 18px;
522
- white-space: nowrap;
523
- padding-right: 10px;
524
- padding-left: 10px;
525
- line-height: 50px;
526
- vertical-align: top;
527
- color: #555;
528
- }
529
-
530
- .berocket_select_fontawesome .berocket_fa_list .berocket_fa_icon .berocket_fa_hover:hover ~ .berocket_fa_preview span {
531
- display: inline-block;
532
- }
533
-
534
- /* PRODUCTS SELECTOR */
535
-
536
- .br_framework_settings .berocket_search_box {
537
- position: relative;
538
- }
539
- .br_framework_settings .berocket_products_search {
540
- border: 1px solid #777;
541
- background: #ffffff;
542
- padding: 0.3em 0.3em 0 0.3em;
543
- cursor: text;
544
- margin: 0;
545
- position: relative;
546
- top: 1px;
547
- }
548
- .br_framework_settings .berocket_products_search * {
549
- font-size: 1em;
550
- }
551
- .br_framework_settings .berocket_products_search li {
552
- display: inline-block;
553
- font-size: 1em;
554
- line-height: 1em;
555
- padding: 0;
556
- margin: 0;
557
- margin-right: 0.3em!important;
558
- margin-bottom: 0.3em!important;
559
- }
560
- .br_framework_settings .berocket_products_search li .berocket_loads {
561
- position: absolute;
562
- right: 0.3em;
563
- bottom: 0.3em;
564
- font-size: 28px;
565
- }
566
- .br_framework_settings .berocket_products_search .berocket_search_input {
567
- font-size: 1em;
568
- line-height: 1em;
569
- padding: 0.1em;
570
- border: 0;
571
- outline: 0;
572
- min-width: 250px;
573
- height: 28px;
574
- box-shadow: none;
575
- }
576
- .br_framework_settings .berocket_products_search .berocket_search_input:focus {
577
- outline: 0;
578
- box-shadow: none;
579
- }
580
- .berocket_search_result {
581
- border: 1px solid #999;
582
- border-top: 0;
583
- background: #f7f7f7;
584
- margin: 0;
585
- position: absolute;
586
- left: 0;
587
- right: 0;
588
- top: 100%;
589
- max-height: 200px;
590
- overflow: auto;
591
- padding: 0.3em;
592
- z-index: 1000;
593
- }
594
- .berocket_search_result li {
595
- cursor: pointer;
596
- padding: 0.3em;
597
- }
598
- .berocket_search_result li:hover {
599
- background: #efefef;
600
- }
601
-
602
- .br_framework_settings .berocket_products_search li.button:not(.not_berocket_button) {
603
- line-height: 26px;
604
- padding: 0 10px;
605
- max-width: 600px;
606
- overflow: hidden;
607
- margin: 0;
608
- }
609
- .br_framework_settings .single_product .berocket_products_search li.button:not(.not_berocket_button) {
610
- max-width: initial;
611
- width: 100%;
612
- }
613
-
614
- /* ----------------- */
615
-
616
- .br_framework_settings .button:not(.not_berocket_button):hover,
617
- .br_framework_settings .button:not(.not_berocket_button):focus,
618
- .br_framework_settings .button:not(.not_berocket_button):active{
619
- background: #00beb0 none repeat scroll 0 0;
620
- color: white;
621
- }
622
-
623
- .br_framework_settings form .framework-form-table > tbody > tr > th,
624
- .br_framework_settings form .framework-form-table > thead > tr > th,
625
- .br_framework_settings form .framework-form-table > tfoot > tr > th,
626
- .br_framework_settings form .framework-form-table > tr > th {
627
- width: 210px;
628
- padding: 10px 10px 10px 0;
629
- font-size: 15px;
630
- text-align: left;
631
- }
632
-
633
-
634
- .br_framework_settings .framework-form-table > tbody > tr > td,
635
- .br_framework_settings .framework-form-table > thead > tr > td,
636
- .br_framework_settings .framework-form-table > tfoot > tr > td,
637
- .br_framework_settings .framework-form-table > tr > td {
638
- padding: 10px;
639
- }
640
-
641
- .br_framework_settings form .nav-block,
642
- .br_framework_settings .paid_features,
643
- .br_framework_settings .berocket_subscribe {
644
- border-radius: 3px;
645
- box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.06);
646
- overflow: auto;
647
- position: relative;
648
- background-color: rgb(255, 255, 255);
649
- color: rgba(0, 0, 0, 0.87);
650
- padding: 0 25px;
651
- }
652
- .br_framework_settings .berocket_subscribe {
653
- background-color: #2c3644;
654
- background-image: url(mail.png);
655
- background-position: right top;
656
- background-repeat: no-repeat;
657
- color: #aaa;
658
- font-size: 16px;
659
- overflow: hidden;
660
- }
661
- .br_framework_settings .berocket_subscribe h3 {
662
- color: white;
663
- }
664
- .br_framework_settings .berocket_subscribe p {
665
- font-size: 12px;
666
- text-align: left;
667
- }
668
- .br_framework_settings .berocket_subscribe .error {
669
- color: #d02c21;
670
- }
671
- .br_framework_settings .berocket_subscribe .berocket_subscribe_email {
672
- background-color: #404c5d;
673
- border: 0;
674
- outline: 0;
675
- color: #aaa;
676
- width: 100%;
677
- line-height: 2em;
678
- font-size: 16px;
679
- padding-left: 15px;
680
- padding-right: 15px;
681
- }
682
-
683
- .br_framework_settings .berocket_subscribe .berocket_notice_submit,
684
- .br_framework_settings .get_premium_version,
685
- .br_framework_settings .buy_premium_version {
686
- margin-top: 30px;
687
- margin-bottom: 20px;
688
- color: #fff;
689
- box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);
690
- text-shadow: none;
691
- border: 0 none;
692
- min-width: 120px;
693
- -moz-user-select: none;
694
- background: #ff5252 none repeat scroll 0 0;
695
- box-sizing: border-box;
696
- cursor: pointer;
697
- display: inline-block;
698
- font-size: 14px;
699
- outline: 0 none;
700
- padding: 8px;
701
- position: relative;
702
- text-align: center;
703
- text-decoration: none;
704
- transition: box-shadow 0.4s cubic-bezier(0.25, 0.8, 0.25, 1) 0s, background-color 0.4s cubic-bezier(0.25, 0.8, 0.25, 1) 0s;
705
- white-space: nowrap;
706
- height: auto;
707
- vertical-align: top;
708
- line-height: 25px;
709
- border-radius: 3px;
710
- font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;
711
- font-weight: bold;
712
- }
713
- .br_framework_settings .berocket_subscribe .berocket_notice_submit {
714
- width: 100%;
715
- margin-top: 15px;
716
- }
717
- .br_framework_settings .get_premium_version,
718
- .br_framework_settings .buy_premium_version {
719
- width: 90%;
720
- }
721
- .br_framework_settings .get_premium_version {
722
- margin: 5px 0;
723
- background: transparent;
724
- border: 2px solid #97b9cf;
725
- color: #7496ad;
726
- }
727
- .br_framework_settings .buy_premium_version {
728
- margin: 5px 0 15px;
729
- padding: 10px;
730
- }
731
- .br_framework_settings .premium_buttons {
732
- margin-top: 30px;
733
- margin-bottom: 20px;
734
- }
735
- .br_framework_settings .premium_buttons span {
736
- display: block;
737
- color: #7496ad;
738
- }
739
- .br_framework_settings .premium_buttons span.divider {
740
- line-height: 2.4em;
741
- font-size: 20px;
742
- font-weight: bold;
743
- position: relative;
744
- }
745
- .br_framework_settings .premium_buttons span.divider:before,
746
- .br_framework_settings .premium_buttons span.divider:after{
747
- position: absolute;
748
- top: 50%;
749
- left: 5%;
750
- right: 60%;
751
- height: 1px;
752
- background: #97b9cf;
753
- content: "";
754
- }
755
- .br_framework_settings .premium_buttons span.divider:after{
756
- left: 60%;
757
- right: 5%;
758
- }
759
- .br_framework_settings .premium_buttons span:last-child b{
760
- font-size: 16px;
761
- }
762
- .br_framework_settings .berocket_subscribe .berocket_notice_submit:hover,
763
- .br_framework_settings .berocket_subscribe .berocket_notice_submit:focus,
764
- .br_framework_settings .berocket_subscribe .berocket_notice_submit:active,
765
- .br_framework_settings .buy_premium_version:hover,
766
- .br_framework_settings .buy_premium_version:focus,
767
- .br_framework_settings .buy_premium_version:active {
768
- background: #ff6e68 none repeat scroll 0 0;
769
- color: white;
770
- }
771
- .br_framework_settings .get_premium_version:hover,
772
- .br_framework_settings .get_premium_version:focus,
773
- .br_framework_settings .get_premium_version:active{
774
- background: #97b9cf;
775
- color: white;
776
- }
777
- .br_framework_settings form .nav-block {
778
- padding-top: 15px;
779
- padding-bottom: 15px;
780
- }
781
-
782
- #berocket_product_key {
783
- width: 80%;
784
- min-width: 100px;
785
- }
786
-
787
- .br_settings_footer {
788
- margin-right: 20px;
789
- }
790
-
791
- .br_settings_footer a {
792
- color: #009688;
793
- text-decoration: none;
794
- }
795
-
796
- .br_framework_settings .button.accent:not(.not_berocket_button) {
797
- background: #ff5252 none repeat scroll 0 0;
798
- }
799
-
800
- .br_framework_settings .button.accent:not(.not_berocket_button):hover,
801
- .br_framework_settings .button.accent:not(.not_berocket_button):focus,
802
- .br_framework_settings .button.accent:not(.not_berocket_button):active {
803
- background: #ff6e68 none repeat scroll 0 0;
804
- color: white;
805
- }
806
-
807
- .paid_features ul li{
808
- list-style: initial;
809
- margin-left: 2em;
810
- }
811
-
812
- #footer-thankyou, #footer-upgrade{
813
- display: none;
814
- }
815
-
816
- .clear-both {
817
- clear: both;
818
- }
819
-
820
-
821
-
822
-
823
- /* Responsive styles */
824
-
825
- @media screen and (max-width: 900px) {
826
- .br_framework_settings form.show_premium,
827
- .br_framework_settings .paid_features,
828
- .br_framework_settings .berocket_subscribe {
829
- float: none;
830
- width: 100%;
831
- }
832
-
833
- .br_framework_settings .paid_features,
834
- .br_framework_settings .berocket_subscribe {
835
- margin-top: 30px;
836
- margin-bottom: 0;
837
- }
838
- }
839
-
840
- @media screen and (max-width: 782px) {
841
- .br_framework_settings header .br_logo_white {
842
- width: 60px;
843
- }
844
-
845
- .br_framework_settings header .br_plugin_name {
846
- padding-left: 80px;
847
- }
848
-
849
- .br_framework_settings .body ul.side {
850
- width: 100px;
851
- }
852
-
853
- .br_framework_settings .body .content {
854
- padding-left: 20px;
855
- }
856
-
857
- .br_framework_settings .body .content .title {
858
- margin-left: -20px;
859
- }
860
-
861
- .br_framework_settings .framework-form-table > tbody > tr > td,
862
- .br_framework_settings .framework-form-table > thead > tr > td,
863
- .br_framework_settings .framework-form-table > tfoot > tr > td,
864
- .br_framework_settings .framework-form-table > tr > td,
865
- .br_framework_settings .framework-form-table > tbody > tr > th,
866
- .br_framework_settings .framework-form-table > thead > tr > th,
867
- .br_framework_settings .framework-form-table > tfoot > tr > th,
868
- .br_framework_settings .framework-form-table > tr > th {
869
- display: table-cell;
870
- padding: 5px 10px;
871
- }
872
-
873
- .br_framework_settings .framework-form-table > tbody > tr > td,
874
- .br_framework_settings .framework-form-table > thead > tr > td,
875
- .br_framework_settings .framework-form-table > tfoot > tr > td,
876
- .br_framework_settings .framework-form-table > tr > td {
877
- padding: 10px 10px 10px 0;
878
- }
879
-
880
- .br_framework_settings header nav.premium a {
881
- font-size: 32px;
882
- }
883
-
884
- .br_framework_settings header .br_plugin_name h1 {
885
- font-size: 14px;
886
- }
887
-
888
- .br_framework_settings header .br_plugin_name h3 {
889
- font-size: 12px;
890
- }
891
- }
892
-
893
- @media screen and (max-width: 600px) {
894
- .br_framework_settings header .br_plugin_name {
895
- display: none;
896
- }
897
-
898
- .br_framework_settings .body .content .title {
899
- padding-left: 20px;
900
- }
901
-
902
- .br_framework_settings .framework-form-table > tbody > tr > td,
903
- .br_framework_settings .framework-form-table > thead > tr > td,
904
- .br_framework_settings .framework-form-table > tfoot > tr > td,
905
- .br_framework_settings .framework-form-table > tr > td,
906
- .br_framework_settings .framework-form-table > tbody > tr > th,
907
- .br_framework_settings .framework-form-table > thead > tr > th,
908
- .br_framework_settings .framework-form-table > tfoot > tr > th,
909
- .br_framework_settings .framework-form-table > tr > th {
910
- display: block;
911
- padding: 10px 10px 0 0;
912
- }
913
-
914
- .br_framework_settings .framework-form-table > tbody > tr > td,
915
- .br_framework_settings .framework-form-table > thead > tr > td,
916
- .br_framework_settings .framework-form-table > tfoot > tr > td,
917
- .br_framework_settings .framework-form-table > tr > td {
918
- margin-bottom: 0;
919
- padding: 4px 10px 6px 0;
920
- }
921
- .br_framework_settings {
922
- margin-right: 0;
923
- margin-left: -10px;
924
- }
925
- .br_framework_settings .body .content {
926
- padding-left: 0;
927
- padding-right: 0;
928
- }
929
- .br_framework_settings .body .content .title {
930
- padding-left: 40px;
931
- margin-left: -10px;
932
- margin-right: 0;
933
- }
934
- .br_framework_settings form .nav-block {
935
- padding-left: 5px;
936
- padding-right: 5px;
937
- }
938
- }
939
- .berocket_display_block_messages_hide {
940
- position: absolute;
941
- background-color: rgba(0,0,0,0.5);
942
- z-index:999999997;
943
- color: white;
944
- font-size: 24px;
945
- font-weight: bold;
946
- box-sizing: border-box;
947
- padding: 20px;
948
- }
949
- .berocket_display_block_messages_hide.inside {
950
- background-color: transparent;
951
- }
952
- .berocket_display_block_messages_hide.top span{
953
- position: absolute;
954
- bottom: 20px;
955
- }
956
- .berocket_display_block_messages_close_button {
957
- position: absolute;
958
- bottom: -25px;
959
- left: 10px;
960
- z-index:999999999;
961
- color: white;
962
- text-decoration: none;
963
- font-size: 18px;
964
- text-shadow: 0 0 2px black,0 0 2px black,0 0 2px black;
965
- }
966
- .berocket_display_block_messages_next_button {
967
- position: absolute;
968
- bottom: -25px;
969
- right: 10px;
970
- z-index:999999999;
971
- color: white;
972
- text-decoration: none;
973
- font-size: 18px;
974
- font-weight: bold;
975
- text-shadow: 0 0 2px black,0 0 2px black,0 0 2px black;
976
- }
977
- .berocket_display_tooltip {
978
- position: absolute;
979
- z-index:999999998;
980
- box-sizing: border-box;
981
- padding: 15px;
982
- background-color: #f1f1f1;
983
- border: 1px solid #23282d;
984
- box-shadow: 0 0 5px #23282d;
985
- border-radius: 5px;
986
- min-width: 150px;
987
- max-width: 500px
988
- }
989
- .berocket_display_tooltip .br_add1 {
990
- background-color: #f1f1f1;
991
- position: absolute;
992
- display: block;
993
- width: 20px;
994
- height: 20px;
995
- border-color:#23282d;
996
- border-style: solid;
997
- border-width: 0;
998
- border-top-width: 1px;
999
- border-left-width: 1px;
1000
- box-shadow: -2px -2px 1px -2px #23282d;
1001
- }
1002
- .berocket_display_tooltip.position_left .br_add1 {
1003
- right: -11px;
1004
- top: 10px;
1005
- transform: rotate(135deg);
1006
- }
1007
- .berocket_display_tooltip.position_right .br_add1 {
1008
- left: -11px;
1009
- top: 10px;
1010
- transform: rotate(-45deg);
1011
- }
1012
- .berocket_display_tooltip.position_element .br_add1 {
1013
- left: 50%;
1014
- top: -11px;
1015
- margin-left: -10px;
1016
- transform: rotate(45deg);
1017
- }
1018
- @media screen and (min-width: 901px) and (max-width: 1300px) {
1019
- .br_framework_settings form .nav-block,
1020
- .br_framework_settings .paid_features,
1021
- .br_framework_settings .berocket_subscribe {
1022
- padding: 0 10px;
1023
- }
1024
- }
1025
- /* SORTABLE CUSTOM POST */
1026
- .column-berocket_sortable {
1027
- width: 120px;
1028
- text-align: right;
1029
- }
1030
- .berocket_post_set_new_sortable_input {
1031
- position: relative;
1032
- }
1033
- .berocket_post_set_new_sortable_input input {
1034
- width: 80px;
1035
- padding-right: 20px;
1036
- }
1037
- .berocket_post_set_new_sortable_input .fa{
1038
- position: absolute;
1039
- right: 5px;
1040
- height: 100%;
1041
- vertical-align: middle;
1042
- display: inline-block;
1043
- font-size: 1.4em;
1044
- top: -0.1em;
1045
- }
1046
-
1047
- /* -------------- */
1048
- /* ADDON LIST */
1049
- .berocket_addons_list .berocket_addon_is_active {
1050
- display: none;
1051
- }
1052
- .berocket_addons_list .berocket_addon_label {
1053
- position: relative;
1054
- display: inline-block;
1055
- font-size: 6px;
1056
- width: 250px;
1057
- }
1058
- .berocket_addons_list.col8-addons .berocket_addon_label {
1059
- width: 12.4%;
1060
- }
1061
- .berocket_addons_list.col7-addons .berocket_addon_label {
1062
- width: 14.2%;
1063
- }
1064
- .berocket_addons_list.col6-addons .berocket_addon_label {
1065
- width: 16.6%;
1066
- }
1067
- .berocket_addons_list.col5-addons .berocket_addon_label {
1068
- width: 19.9%;
1069
- }
1070
- .berocket_addons_list.col4-addons .berocket_addon_label {
1071
- width: 24.9%;
1072
- }
1073
- .berocket_addons_list.col3-addons .berocket_addon_label {
1074
- width: 33%;
1075
- }
1076
- .berocket_addons_list.col2-addons .berocket_addon_label {
1077
- width: 49.9%;
1078
- }
1079
- .berocket_addons_list.col-addons .berocket_addon_label {
1080
- width: 100%;
1081
- }
1082
- .berocket_addons_list .berocket_addon_block {
1083
- display: inline-block;
1084
- position: relative;
1085
- padding: 15px;
1086
- padding-bottom: 70px;
1087
- width: 100%;
1088
- text-align: center;
1089
- box-sizing: border-box;
1090
- }
1091
- .berocket_addons_list .berocket_addon_block .berocket_addon_active {
1092
- position: absolute;
1093
- left: 50%;
1094
- top: calc(50% - 17.5px);
1095
- transform: translate(-50%,-50%);
1096
- -moz-transform: translate(-50%,-50%);
1097
- -o-transform: translate(-50%,-50%);
1098
- -webkit-transform: translate(-50%,-50%);
1099
- display: block;
1100
- z-index: 100;
1101
- background-color: #009688;
1102
- width: 10em;
1103
- height: 10em;
1104
- border-radius: 50%;
1105
- border: 2em solid #a4d2ce;
1106
- line-height: 14em;
1107
- color: white;
1108
- transition: 0.3s;
1109
- opacity: 0;
1110
- }
1111
- .berocket_addons_list .berocket_addon_block .berocket_addon_active i {
1112
- font-size: 6em;
1113
- }
1114
- .berocket_addons_list .berocket_addon_block img {
1115
- display: block;
1116
- width: 100%;
1117
- opacity: 0.7;
1118
- }
1119
- .berocket_addons_list .berocket_addon_block .berocket_addon_name {
1120
- font-size: 24px;
1121
- margin-top: 15px;
1122
- display: inline-block;
1123
- position: absolute;
1124
- bottom: 15px;
1125
- left: 15px;
1126
- right: 15px;
1127
- line-height: 1em;
1128
- }
1129
- .berocket_addons_list .berocket_addon_is_active:checked ~ span .berocket_addon_active {
1130
- opacity: 1;
1131
- }
1132
- .berocket_addons_list .berocket_addon_is_active:checked ~ span img {
1133
- opacity: 1;
1134
- }
1135
- .berocket_addons_list .berocket_addon_paid_sign {
1136
- position: absolute;
1137
- right: 20px;
1138
- top: 20px;
1139
- font-size: 1em;
1140
- z-index: 200;
1141
- }
1142
- .berocket_addons_list .berocket_addon_paid_sign:before {
1143
- font-size: 4em;
1144
- }
1145
- .berocket_addons_list .berocket_addon_paid_get {
1146
- transition: all 0.2s ease-out 0s;
1147
- position: absolute;
1148
- text-align: center;
1149
- z-index: 150;
1150
- top: 0;
1151
- left: 0;
1152
- right: 0;
1153
- bottom: 0;
1154
- background-color: #2c3b48;
1155
- color: white;
1156
- border-radius:10px;
1157
- opacity: 0;
1158
- }
1159
- .berocket_addons_list .berocket_addon_label:hover .berocket_addon_paid_get {
1160
- opacity: 1;
1161
- }
1162
- .berocket_addons_list .berocket_addon_paid_get a {
1163
- position: absolute;
1164
- top: 0;
1165
- left: 0;
1166
- right: 0;
1167
- bottom: 0;
1168
- text-decoration: none;
1169
- }
1170
- .berocket_addons_list .berocket_addon_paid_get a span {
1171
- position: relative;
1172
- top: 50%;
1173
- transform: translateY(-50%);
1174
- font-size: 3.6em;
1175
- line-height: 1em;
1176
- display: block;
1177
- color: gold;
1178
- }
1179
- .br_framework_settings .berocket_addon_paid_sign {
1180
- color: #f16543;
1181
- }
1182
- .br_framework_settings .berocket_addon_label:hover .berocket_addon_paid_sign {
1183
- color: gold;
1184
- }
1185
- /* -------------- */
1186
- /* TEMPLATES LIST */
1187
- .berocket_templates_list .berocket_template_is_active {
1188
- display: none;
1189
- }
1190
- .berocket_templates_list .berocket_template_label {
1191
- display: inline-block;
1192
- width: 33%;
1193
- position: relative;
1194
- font-size: 10px;
1195
- }
1196
- .berocket_templates_list .berocket_template_block {
1197
- display: inline-block;
1198
- position: relative;
1199
- padding: 15px;
1200
- width: 100%;
1201
- text-align: center;
1202
- box-sizing: border-box;
1203
- height: auto;
1204
- padding-bottom: 50px;
1205
- }
1206
- .berocket_templates_list .berocket_template_block .berocket_template_active {
1207
- position: absolute;
1208
- left: 50%;
1209
- top: calc(50% - 17.5px);
1210
- transform: translate(-50%,-50%);
1211
- -moz-transform: translate(-50%,-50%);
1212
- -o-transform: translate(-50%,-50%);
1213
- -webkit-transform: translate(-50%,-50%);
1214
- display: block;
1215
- z-index: 100;
1216
- background-color: #009688;
1217
- width: 10em;
1218
- height: 10em;
1219
- border-radius: 50%;
1220
- border: 2em solid #a4d2ce;
1221
- line-height: 14em;
1222
- color: white;
1223
- transition: 0.3s;
1224
- opacity: 0;
1225
- }
1226
- .berocket_templates_list .berocket_template_block .berocket_template_active i {
1227
- font-size: 6em;
1228
- }
1229
- .berocket_templates_list .berocket_template_block img {
1230
- display: block;
1231
- width: 100%;
1232
- opacity: 1;
1233
- height: auto;
1234
- transition: 0.3s;
1235
- }
1236
- .berocket_templates_list .berocket_template_block:hover img {
1237
- box-shadow: 0 0 15px 0 #5b9691;
1238
- }
1239
- .berocket_templates_list .berocket_template_block .berocket_template_name {
1240
- font-size: 24px;
1241
- margin-top: 15px;
1242
- display: inline-block;
1243
- position: absolute;
1244
- bottom: 15px;
1245
- left: 15px;
1246
- right: 15px;
1247
- line-height: 1em;
1248
- }
1249
- .berocket_templates_list .berocket_template_is_active:checked ~ span .berocket_template_active {
1250
- opacity: 1;
1251
- }
1252
- .berocket_templates_list .berocket_template_is_active:checked ~ span img {
1253
- opacity: 1;
1254
- }
1255
- .berocket_templates_list .berocket_template_paid_sign {
1256
- position: absolute;
1257
- left: 20px;
1258
- top: 17px;
1259
- font-size: 1em;
1260
- z-index: 200;
1261
- }
1262
- .berocket_templates_list .berocket_template_paid_sign:before {
1263
- font-size: 4em;
1264
- }
1265
- .berocket_templates_list .berocket_template_paid_get {
1266
- transition: all 0.2s ease-out 0s;
1267
- position: absolute;
1268
- text-align: center;
1269
- z-index: 150;
1270
- top: 0;
1271
- left: 0;
1272
- right: 0;
1273
- bottom: 0;
1274
- background-color: #2c3b48;
1275
- color: white;
1276
- border-radius:10px;
1277
- opacity: 0;
1278
- }
1279
- .berocket_templates_list .berocket_template_label:hover .berocket_template_paid_get {
1280
- opacity: 1;
1281
- }
1282
- .berocket_templates_list .berocket_template_paid_get a {
1283
- position: absolute;
1284
- top: 0;
1285
- left: 0;
1286
- right: 0;
1287
- bottom: 0;
1288
- text-decoration: none;
1289
- }
1290
- .berocket_templates_list .berocket_template_paid_get a span {
1291
- position: relative;
1292
- top: 50%;
1293
- transform: translateY(-50%);
1294
- font-size: 3.6em;
1295
- line-height: 1em;
1296
- display: block;
1297
- color: gold;
1298
- }
1299
- .berocket_templates_list .berocket_template_paid_get a span i {
1300
- font-size: 0.8em;
1301
- }
1302
- .berocket_templates_list .berocket_template_paid_get a span i:first-child,
1303
- .berocket_templates_list .berocket_template_paid_get a span i:last-child {
1304
- font-size: 0.4em;
1305
- }
1306
- .berocket_templates_list .berocket_template_paid_get a span i:nth-child(2),
1307
- .berocket_templates_list .berocket_template_paid_get a span i:nth-child(5){
1308
- font-size: 0.6em;
1309
- }
1310
- .br_framework_settings .berocket_template_paid_sign {
1311
- color: #f16543;
1312
- }
1313
- .br_framework_settings .berocket_template_label:hover .berocket_template_paid_sign {
1314
- color: gold;
1315
- }
1316
- @media screen and (min-width: 1450px) and (max-width: 1600px) {
1317
- .berocket_templates_list .berocket_template_label {
1318
- font-size: 9px;
1319
- }
1320
- }
1321
- @media screen and (min-width: 1300px) and (max-width: 1450px) {
1322
- .berocket_templates_list .berocket_template_label {
1323
- font-size: 8px;
1324
- }
1325
- }
1326
- @media screen and (min-width: 901px) and (max-width: 1300px) {
1327
- .br_framework_submit_form .berocket_templates_list .berocket_template_label {
1328
- width: 49%;
1329
- }
1330
- .berocket_templates_list .berocket_template_label {
1331
- font-size: 7px;
1332
- }
1333
- }
1334
- @media screen and (max-width: 900px) {
1335
- .berocket_templates_list .berocket_template_paid_sign {
1336
- top: 20px;
1337
- right: 20px;
1338
- }
1339
- .br_framework_submit_form .berocket_templates_list .berocket_template_label {
1340
- width: 100%;
1341
- }
1342
- .berocket_templates_list .berocket_template_label {
1343
- font-size: 7px;
1344
- }
1345
- }
1346
- @media screen and (max-width: 600px) {
1347
- .berocket_templates_list .berocket_template_block {
1348
- padding-left: 0;
1349
- padding-right: 0;
1350
- }
1351
- .berocket_templates_list .berocket_template_block .berocket_template_active {
1352
- width: 5em;
1353
- height: 5em;
1354
- line-height: 6.2em;
1355
- border-width: 1.5em;
1356
- }
1357
- .berocket_templates_list .berocket_template_block .berocket_template_active i {
1358
- font-size: 3em;
1359
- }
1360
- .berocket_templates_list .berocket_template_block .berocket_template_name {
1361
- font-size: 18px;
1362
- }
1363
- .berocket_templates_list .berocket_template_paid_sign {
1364
- font-size: 9px;
1365
- }
1366
- .berocket_templates_list .berocket_template_paid_get a span {
1367
- font-size: 28px;
1368
- }
1369
- }
1370
-
1371
- @media screen and (max-width: 500px) {
1372
- .berocket_templates_list .berocket_template_block .berocket_template_active {
1373
- width: 3em;
1374
- height: 3em;
1375
- line-height: 3.3em;
1376
- border-width: 1em;
1377
- }
1378
- .berocket_templates_list .berocket_template_block .berocket_template_active i {
1379
- font-size: 1.5em;
1380
- }
1381
- .berocket_templates_list .berocket_template_block .berocket_template_name {
1382
- font-size: 14px;
1383
- }
1384
- .berocket_templates_list .berocket_template_paid_sign {
1385
- font-size: 8px;
1386
- }
1387
- .berocket_templates_list .berocket_template_paid_get a span {
1388
- font-size: 18px;
1389
- }
1390
- }
1391
-
1392
- @media screen and (max-width: 400px) {
1393
- .berocket_templates_list .berocket_template_block .berocket_template_active {
1394
- width: 2em;
1395
- height: 2em;
1396
- line-height: 2em;
1397
- border-width: 0.5em;
1398
- }
1399
- .berocket_templates_list .berocket_template_block .berocket_template_active i {
1400
- font-size: 1em;
1401
- }
1402
- .berocket_templates_list .berocket_template_block .berocket_template_name {
1403
- font-size: 13px;
1404
- }
1405
- .berocket_templates_list .berocket_template_paid_sign {
1406
- font-size: 6px;
1407
- }
1408
- .berocket_templates_list .berocket_template_paid_get a span {
1409
- font-size: 14px;
1410
- }
1411
- }
1412
-
1413
- /* TEMPLATE FREE ONLY */
1414
- .show_premium .berocket_templates_list .berocket_template_label {
1415
- width: 49%;
1416
- }
1417
- @media screen and (max-width: 1300px) {
1418
- .show_premium.br_framework_submit_form .berocket_templates_list .berocket_template_label {
1419
- width: 100%;
1420
- }
1421
- .show_premium .berocket_templates_list .berocket_template_label {
1422
- font-size: 10px;
1423
- }
1424
- }
1425
- /* -------------- */
1426
- /* CONDITIONS */
1427
- .br_conditions .br_html_condition {
1428
- margin-top: 40px;
1429
- }
1430
- .br_conditions .br_html_condition:first-child {
1431
- margin-top: 0;
1432
- }
1433
- .br_conditions .br_html_condition:before {
1434
- content: "OR";
1435
- display: block;
1436
- position: absolute;
1437
- top: -30px;
1438
- font-size: 30px;
1439
- line-height: 18px;
1440
- }
1441
- .br_conditions .br_html_condition:first-child:before {
1442
- display: none;
1443
- }
1444
- .br_html_condition .br_cond_select {
1445
- margin-top: 40px;
1446
- position: relative;
1447
- }
1448
- .br_html_condition .br_cond_select:first-child {
1449
- margin-top: 0;
1450
- }
1451
- .br_html_condition .br_cond_select:before {
1452
- content: "AND";
1453
- display: block;
1454
- position: absolute;
1455
- top: -30px;
1456
- font-size: 30px;
1457
- line-height: 18px;
1458
- }
1459
- .br_html_condition .br_cond_select:first-child:before {
1460
- display: none;
1461
- }
1462
- .br_html_condition .br_cond_one .br_cond_select:first-child .berocket_remove_condition {
1463
- display: none;
1464
- }
1465
- .br_html_condition {
1466
- border: 1px solid #999;
1467
- background-color: #fafafa;
1468
- padding: 0.5em;
1469
- margin-bottom: 1em;
1470
- position: relative;
1471
- }
1472
- .br_html_condition .br_remove_group {
1473
- position: absolute!important;
1474
- top:-10px;
1475
- right: -10px;
1476
- }
1477
- .br_cond_select {
1478
- padding-bottom: 1em;
1479
- }
1480
- .br_cond_select {
1481
- border: 1px solid #999;
1482
- padding: 0.5em;
1483
- margin-bottom: 0.5em;
1484
- background-color: #eee;
1485
- }
1486
- .br_framework_settings .button.berocket_remove_condition:not(.not_berocket_button),
1487
- .br_framework_settings .button.berocket_add_condition:not(.not_berocket_button),
1488
- .br_framework_settings .button.br_remove_group:not(.not_berocket_button),
1489
- .br_framework_settings .button.br_add_group:not(.not_berocket_button) {
1490
- padding: 0 10px;
1491
- margin: 0;
1492
- width: initial;
1493
- min-width: initial;
1494
- }
1495
- /* ---------- */
1496
- #the-list .fa-bars {
1497
- padding: 2px 10px;
1498
- cursor: move;
1499
- }
1500
-
1501
- .account_key_send.br_framework_settings .button.tiny-button {
1502
- margin: 0;
1503
- }
1504
- .wp-list-table .berocket_disabled_post {
1505
- opacity:0.5;
1506
- }
1507
- .wp-list-table .berocket_disabled_post:hover {
1508
- opacity: 0.8;
1509
- }
1510
- /*WORDPRESS 5.3 FIX*/
1511
- .br_framework_settings input[type=date],
1512
- .br_framework_settings input[type=datetime-local],
1513
- .br_framework_settings input[type=datetime],
1514
- .br_framework_settings input[type=email],
1515
- .br_framework_settings input[type=month],
1516
- .br_framework_settings input[type=number],
1517
- .br_framework_settings input[type=password],
1518
- .br_framework_settings input[type=search],
1519
- .br_framework_settings input[type=tel],
1520
- .br_framework_settings input[type=text],
1521
- .br_framework_settings input[type=time],
1522
- .br_framework_settings input[type=url],
1523
- .br_framework_settings input[type=week]{
1524
- padding: 0 0 0 2px;
1525
- }
1
+ .br_framework_settings{
2
+ position: relative;
3
+ padding-bottom: 30px;
4
+ }
5
+ .br_framework_settings .nav-block{
6
+ display: none;
7
+ }
8
+ .br_framework_settings .nav-block.nav-block-active{
9
+ display: block;
10
+ }
11
+ .br_framework_settings textarea{
12
+ width: 100%;
13
+ resize: vertical;
14
+ min-height: 200px;
15
+ }
16
+ .br_framework_settings textarea.small {
17
+ min-height: 100px;
18
+ }
19
+ .br_framework_settings .br_line_delimiter {
20
+ display: inline;
21
+ margin-right: 2em;
22
+ }
23
+ .br_saved,
24
+ .br_not_saved{
25
+ position: fixed;
26
+ top: 50px;
27
+ right: 50px;
28
+ z-index: 9999999;
29
+ color: #333333;
30
+ display: block;
31
+ width: 50px;
32
+ height: 50px;
33
+ border-radius: 50%;
34
+ animation-name: br_saved_anim;
35
+ animation-duration: 0.2s;
36
+ transition: background-color 0.6s;
37
+ transition: box-shadow 0.6s;
38
+ }
39
+ @keyframes br_saved_anim {
40
+ from {
41
+ right: -50px;
42
+ }
43
+
44
+ to {
45
+ right: 50px;
46
+ }
47
+ }
48
+ .br_saved_remove {
49
+ animation-name: br_saved_remove_anim;
50
+ animation-duration: 0.2s;
51
+ }
52
+ @keyframes br_saved_remove_anim {
53
+ from {
54
+ right: 50px;
55
+ }
56
+
57
+ to {
58
+ right: -50px;
59
+ }
60
+ }
61
+ .br_saved{
62
+ box-shadow: 1px 1px 3px 1px #55ff55 inset, 0 0 5px 0;
63
+ background-color: #33bb33;
64
+ }
65
+ .br_not_saved{
66
+ box-shadow: 1px 1px 3px 1px #ff5555 inset, 0 0 5px 0;
67
+ background-color: #bb3333!important;
68
+ }
69
+ .br_saving {
70
+ box-shadow: 1px 1px 3px 1px #cfcfcf inset, 0 0 5px 0;
71
+ background-color: #bbbbbb!important;
72
+ }
73
+ .br_saved .fa,
74
+ .br_not_saved .fa{
75
+ width: 50px;
76
+ display: block;
77
+ line-height: 50px;
78
+ vertical-align: middle;
79
+ text-align: center;
80
+ font-size: 32px;
81
+ }
82
+ .br_saved .fa-check,
83
+ .br_not_saved .fa-times{
84
+ animation-name: br_saved_anim_fa;
85
+ animation-duration: 0.4s;
86
+ }
87
+ @keyframes br_saved_anim_fa {
88
+ 0% {
89
+ font-size: 0px;
90
+ }
91
+
92
+ 50% {
93
+ font-size: 0px;
94
+ }
95
+
96
+ 100% {
97
+ font-size: 32px;
98
+ }
99
+ }
100
+
101
+ .berocket_framework_sidebar_save_button {
102
+ height: 50px;
103
+ }
104
+ .berocket_framework_sidebar_save_button .button-primary.button:not(.not_berocket_button) {
105
+ display: none;
106
+ padding: 9px 0;
107
+ margin: 0;
108
+ position: absolute;
109
+ width: 150px;
110
+ border-radius: 0;
111
+ min-width: initial;
112
+ z-index: 100;
113
+ transition: 0.2s bottom;
114
+ }
115
+ .br_framework_settings .body ul.side li.berocket_framework_sidebar_save_button {
116
+ position: initial;
117
+ }
118
+
119
+ /* New Design */
120
+
121
+ .br_framework_settings h2 {
122
+ padding: 20px 0 30px!important;
123
+ }
124
+
125
+ .br_framework_settings header {
126
+ background-color: #2c3b48;
127
+ height: 80px;
128
+ position: relative;
129
+ z-index: 1000;
130
+ }
131
+
132
+ .br_framework_settings header .br_logo_white {
133
+ width: 130px;
134
+ height: 60px;
135
+ position: absolute;
136
+ top: 0;
137
+ left: 0;
138
+ padding: 10px;
139
+ text-align: center;
140
+ }
141
+
142
+ .br_framework_settings header .br_logo_white img {
143
+ max-width: 100%;
144
+ max-height: 100%;
145
+ }
146
+
147
+ .br_framework_settings header .br_plugin_name {
148
+ box-sizing: border-box;
149
+ font-size: 20px;
150
+ line-height: 20px;
151
+ overflow: hidden;
152
+ padding: 14px 40px 14px 150px;
153
+ }
154
+
155
+ .br_framework_settings header .br_plugin_name h1,
156
+ .br_framework_settings header .br_plugin_name h3 {
157
+ color: white;
158
+ margin: 0;
159
+ padding: 0;
160
+ font-size: 18px;
161
+ overflow: hidden;
162
+ text-overflow: ellipsis;
163
+ white-space: nowrap;
164
+ }
165
+
166
+ .br_framework_settings header .br_plugin_name h3 {
167
+ font-size: 13px;
168
+ font-weight: normal;
169
+ color: #B8B8B8;
170
+ }
171
+
172
+ .br_framework_settings header nav.premium {
173
+ float: right;
174
+ }
175
+
176
+ .br_framework_settings header nav.premium a {
177
+ color: white;
178
+ font-size: 42px;
179
+ line-height: 80px;
180
+ margin-right: 30px;
181
+ text-decoration: none;
182
+ }
183
+
184
+ .br_framework_settings .body {
185
+ position: relative;
186
+ background-color: #f0f0f0;
187
+ display: table;
188
+ width: 100%;
189
+ }
190
+
191
+ .br_framework_settings .body ul.side {
192
+ width: 150px;
193
+ display: table-cell;
194
+ background-color: #2c3b48;
195
+ box-shadow: 4px 0 6px #ddd;
196
+ margin: 0;
197
+ padding: 0 0 60px;
198
+ list-style-type: none;
199
+ position: relative;
200
+ }
201
+
202
+ .br_framework_settings .body .content {
203
+ box-sizing: border-box;
204
+ display: table-cell;
205
+ min-height: 400px;
206
+ padding: 0 30px 20px 30px;
207
+ width: 90%;
208
+ }
209
+
210
+ .br_framework_settings .body ul.side li {
211
+ list-style-type: none;
212
+ display: block;
213
+ text-align: center;
214
+ margin: 0;
215
+ position: relative;
216
+ z-index: 100;
217
+ background-color: #2c3b48;
218
+ }
219
+
220
+ .br_framework_settings .body ul.side li a {
221
+ display: block;
222
+ color: #B8B8B8;
223
+ text-decoration: none;
224
+ font-size: 14px;
225
+ padding: 20px 5px;
226
+ transition: 0.5s background;
227
+ }
228
+ .br_framework_settings .body ul.side li a.redirect_link.default {
229
+ background-color: #0085ba;
230
+ }
231
+
232
+ .br_framework_settings .body ul.side li a,
233
+ .br_framework_settings .body ul.side li a:hover,
234
+ .br_framework_settings .body ul.side li a:active,
235
+ .br_framework_settings .body ul.side li a:focus {
236
+ outline: none;
237
+ box-shadow: none;
238
+ }
239
+
240
+ .br_framework_settings .body ul.side li:hover a {
241
+ color: white;
242
+ }
243
+
244
+ .br_framework_settings .body ul.side li a.active {
245
+ background: rgba(0, 0, 0, 0.2) none repeat scroll 0 0;
246
+ border-left: 3px solid #009688;
247
+ border-right: 3px solid #2c3b48;
248
+ color: white;
249
+ }
250
+
251
+ .br_framework_settings .body ul.side li span {
252
+ display: block;
253
+ color: white;
254
+ font-size: 32px;
255
+ margin-bottom: 6px;
256
+ }
257
+
258
+ .br_framework_settings .body .content .title {
259
+ margin-left: -30px;
260
+ margin-right: -30px;
261
+ padding-left: 40px;
262
+ height: 50px;
263
+ line-height: 50px;
264
+ background: white;
265
+ color: #777;
266
+ font-size: 18px;
267
+ position: relative;
268
+ box-shadow: -5px 0 8px #ddd;
269
+ box-sizing: border-box;
270
+ margin-bottom: 30px;
271
+ }
272
+
273
+ .br_framework_settings .body .content .title:after {
274
+ content: "\f054";
275
+ font-family: "Font Awesome 5 Free";
276
+ font-weight: 900;
277
+ left: 20px;
278
+ position: absolute;
279
+ }
280
+
281
+ .br_framework_settings .body .content .title span {
282
+ margin-right: 5px;
283
+ }
284
+
285
+ .br_framework_settings .body .content .framework-form-table {
286
+ margin-top: 0;
287
+ width: 100%;
288
+ }
289
+
290
+ .br_framework_settings .framework-form-table h2{
291
+ padding: 0 !important
292
+ }
293
+
294
+
295
+ .br_framework_settings form.show_premium {
296
+ float: left;
297
+ width: 70%;
298
+ box-sizing: border-box;
299
+ }
300
+
301
+ .br_framework_settings .paid_features,
302
+ .br_framework_settings .berocket_subscribe {
303
+ float: right;
304
+ clear: right;
305
+ width: 28%;
306
+ box-sizing: border-box;
307
+ text-align: center;
308
+ margin-bottom: 30px;
309
+ }
310
+ .br_framework_settings .paid_features .berocket_paid_features_support {
311
+ line-height: 1.7em;
312
+ }
313
+
314
+ .br_framework_settings .paid_features h3 {
315
+ color: #ff5252;
316
+ font-size: 2em;
317
+ line-height: 1em;
318
+ }
319
+
320
+ .br_framework_settings .paid_features ul li {
321
+ text-align: left;
322
+ }
323
+
324
+ .br_framework_settings .button:not(.not_berocket_button) {
325
+ margin-top: 30px;
326
+ margin-bottom: 20px;
327
+ color: #fff;
328
+ box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);
329
+ text-shadow: none;
330
+ border: 0 none;
331
+ min-width: 120px;
332
+ -moz-user-select: none;
333
+ background: #009688 none repeat scroll 0 0;
334
+ box-sizing: border-box;
335
+ cursor: pointer;
336
+ display: inline-block;
337
+ font-size: 14px;
338
+ outline: 0 none;
339
+ padding: 8px 32px;
340
+ position: relative;
341
+ text-align: center;
342
+ text-decoration: none;
343
+ transition: box-shadow 0.4s cubic-bezier(0.25, 0.8, 0.25, 1) 0s, background-color 0.4s cubic-bezier(0.25, 0.8, 0.25, 1) 0s;
344
+ white-space: nowrap;
345
+ height: auto;
346
+ }
347
+
348
+ .br_framework_settings .button.tiny-button:not(.not_berocket_button) {
349
+ padding: 2px 13px;
350
+ min-width: 40px;
351
+ font-size: 13px;
352
+ }
353
+
354
+ .br_framework_settings .br_colorpicker {
355
+ width: 2em;
356
+ height: 2em;
357
+ border: 2px solid #009688;
358
+ position: relative;
359
+ display: inline-block;
360
+ padding: 6px;
361
+ cursor: pointer;
362
+ }
363
+
364
+ .br_framework_settings .berocket_color {
365
+ display: inline-block;
366
+ }
367
+
368
+ .br_framework_settings .br_colorpicker:hover {
369
+ border: 2px solid #00beb0;
370
+ }
371
+
372
+ .br_framework_settings .br_colorpicker ~ .br_colorpicker_default {
373
+ margin: 0;
374
+ margin-left: 10px;
375
+ }
376
+
377
+ .berocket_selected_image {
378
+ height: 90px;
379
+ width: 90px;
380
+ display: inline-block;
381
+ line-height: 85px;
382
+ padding: 5px;
383
+ vertical-align: bottom;
384
+ }
385
+ .berocket_selected_image img {
386
+ max-width: 90px;
387
+ max-height: 90px;
388
+ vertical-align: middle;
389
+ }
390
+
391
+ /* FONT AWESOME SELECTOR */
392
+
393
+ .berocket_select_fontawesome {
394
+ margin: 0.5em 0;
395
+ }
396
+
397
+ .br_framework_settings .berocket_select_fontawesome .button:not(.not_berocket_button) {
398
+ margin-top: 10px;
399
+ margin-bottom: 10px;
400
+ }
401
+
402
+ .br_framework_settings .berocket_select_fontawesome .berocket_selected_fa {
403
+ font-size: 32px;
404
+ line-height: 62px;
405
+ width: 50px;
406
+ display: inline-block;
407
+ text-align: center;
408
+ }
409
+
410
+ .br_framework_settings .berocket_select_fontawesome .berocket_selected_image.berocket_selected_fa {
411
+ font-size: 62px;
412
+ line-height: 90px;
413
+ height: 90px;
414
+ width: 90px;
415
+ display: inline-block;
416
+ text-align: center;
417
+ }
418
+
419
+ .br_framework_settings .berocket_select_fontawesome.berocket_select_image .button:not(.not_berocket_button) {
420
+ margin: 29px 0.5em 29px 0;
421
+ }
422
+
423
+ .berocket_select_fontawesome .berocket_fa_dark {
424
+ display: none;
425
+ position: fixed;
426
+ top: 0;
427
+ bottom: 0;
428
+ left: 0;
429
+ right: 0;
430
+ z-index: 50000;
431
+ background-color: rgba(0, 0, 0, 0.5);
432
+ }
433
+ .berocket_select_fontawesome .berocket_fa_popup {
434
+ position: fixed;
435
+ top: 10%;
436
+ bottom: 10%;
437
+ left: 10%;
438
+ right: 10%;
439
+ z-index: 50100;
440
+ background-color: rgb(241, 241, 241);
441
+ border-radius: 5px;
442
+ }
443
+
444
+ .berocket_select_fontawesome .berocket_fa_search {
445
+ height: 30px;
446
+ box-sizing: border-box;
447
+ margin: 5px 15%;
448
+ width: 70%;
449
+ }
450
+
451
+ .berocket_select_fontawesome .berocket_fa_close {
452
+ font-size: 32px;
453
+ color: #555;
454
+ cursor: pointer;
455
+ position: absolute;
456
+ top: 5px;
457
+ right: 5px;
458
+ z-index: 500;
459
+ }
460
+
461
+ .berocket_select_fontawesome .berocket_fa_close:hover {
462
+ color: #338;
463
+ }
464
+
465
+ .berocket_select_fontawesome .berocket_fa_list {
466
+ position: absolute;
467
+ top: 40px;
468
+ bottom: 0;
469
+ left: 0;
470
+ right: 0;
471
+ overflow: auto;
472
+ padding: 0.5em;
473
+ }
474
+
475
+ .berocket_select_fontawesome .berocket_fa_list .berocket_fa_icon {
476
+ font-size: 32px;
477
+ display: inline-block;
478
+ line-height: 50px;
479
+ width: 50px;
480
+ height: 50px;
481
+ text-align: center;
482
+ vertical-align: middle;
483
+ position: relative;
484
+ margin: 0 0.5em;
485
+ }
486
+
487
+ .berocket_select_fontawesome .berocket_fa_list .berocket_fa_icon .fa {
488
+ font-size: 32px;
489
+ line-height: 50px;
490
+ width: 50px;
491
+ height: 50px;
492
+ color: #555;
493
+ }
494
+
495
+ .berocket_select_fontawesome .berocket_fa_list .berocket_fa_icon .berocket_fa_preview {
496
+ position: absolute;
497
+ height: 50px;
498
+ top: 0;
499
+ left: 0;
500
+ white-space: nowrap;
501
+ border-radius: 5px;
502
+ }
503
+
504
+ .berocket_select_fontawesome .berocket_fa_list .berocket_fa_icon .berocket_fa_hover {
505
+ position: absolute;
506
+ top: 0;
507
+ bottom: 0;
508
+ left: 0;
509
+ right: 0;
510
+ z-index: 100;
511
+ cursor: pointer;
512
+ }
513
+
514
+ .berocket_select_fontawesome .berocket_fa_list .berocket_fa_icon .berocket_fa_hover:hover ~ .berocket_fa_preview {
515
+ background-color: #CCC;
516
+ z-index: 50;
517
+ }
518
+
519
+ .berocket_select_fontawesome .berocket_fa_list .berocket_fa_icon .berocket_fa_preview span {
520
+ display: none;
521
+ font-size: 18px;
522
+ white-space: nowrap;
523
+ padding-right: 10px;
524
+ padding-left: 10px;
525
+ line-height: 50px;
526
+ vertical-align: top;
527
+ color: #555;
528
+ }
529
+
530
+ .berocket_select_fontawesome .berocket_fa_list .berocket_fa_icon .berocket_fa_hover:hover ~ .berocket_fa_preview span {
531
+ display: inline-block;
532
+ }
533
+
534
+ /* PRODUCTS SELECTOR */
535
+
536
+ .br_framework_settings .berocket_search_box {
537
+ position: relative;
538
+ }
539
+ .br_framework_settings .berocket_products_search {
540
+ border: 1px solid #777;
541
+ background: #ffffff;
542
+ padding: 0.3em 0.3em 0 0.3em;
543
+ cursor: text;
544
+ margin: 0;
545
+ position: relative;
546
+ top: 1px;
547
+ }
548
+ .br_framework_settings .berocket_products_search * {
549
+ font-size: 1em;
550
+ }
551
+ .br_framework_settings .berocket_products_search li {
552
+ display: inline-block;
553
+ font-size: 1em;
554
+ line-height: 1em;
555
+ padding: 0;
556
+ margin: 0;
557
+ margin-right: 0.3em!important;
558
+ margin-bottom: 0.3em!important;
559
+ }
560
+ .br_framework_settings .berocket_products_search li .berocket_loads {
561
+ position: absolute;
562
+ right: 0.3em;
563
+ bottom: 0.3em;
564
+ font-size: 28px;
565
+ }
566
+ .br_framework_settings .berocket_products_search .berocket_search_input {
567
+ font-size: 1em;
568
+ line-height: 1em;
569
+ padding: 0.1em;
570
+ border: 0;
571
+ outline: 0;
572
+ min-width: 250px;
573
+ height: 28px;
574
+ box-shadow: none;
575
+ }
576
+ .br_framework_settings .berocket_products_search .berocket_search_input:focus {
577
+ outline: 0;
578
+ box-shadow: none;
579
+ }
580
+ .berocket_search_result {
581
+ border: 1px solid #999;
582
+ border-top: 0;
583
+ background: #f7f7f7;
584
+ margin: 0;
585
+ position: absolute;
586
+ left: 0;
587
+ right: 0;
588
+ top: 100%;
589
+ max-height: 200px;
590
+ overflow: auto;
591
+ padding: 0.3em;
592
+ z-index: 1000;
593
+ }
594
+ .berocket_search_result li {
595
+ cursor: pointer;
596
+ padding: 0.3em;
597
+ }
598
+ .berocket_search_result li:hover {
599
+ background: #efefef;
600
+ }
601
+
602
+ .br_framework_settings .berocket_products_search li.button:not(.not_berocket_button) {
603
+ line-height: 26px;
604
+ padding: 0 10px;
605
+ max-width: 600px;
606
+ overflow: hidden;
607
+ margin: 0;
608
+ }
609
+ .br_framework_settings .single_product .berocket_products_search li.button:not(.not_berocket_button) {
610
+ max-width: initial;
611
+ width: 100%;
612
+ }
613
+
614
+ /* ----------------- */
615
+
616
+ .br_framework_settings .button:not(.not_berocket_button):hover,
617
+ .br_framework_settings .button:not(.not_berocket_button):focus,
618
+ .br_framework_settings .button:not(.not_berocket_button):active{
619
+ background: #00beb0 none repeat scroll 0 0;
620
+ color: white;
621
+ }
622
+
623
+ .br_framework_settings form .framework-form-table > tbody > tr > th,
624
+ .br_framework_settings form .framework-form-table > thead > tr > th,
625
+ .br_framework_settings form .framework-form-table > tfoot > tr > th,
626
+ .br_framework_settings form .framework-form-table > tr > th {
627
+ width: 210px;
628
+ padding: 10px 10px 10px 0;
629
+ font-size: 15px;
630
+ text-align: left;
631
+ }
632
+
633
+
634
+ .br_framework_settings .framework-form-table > tbody > tr > td,
635
+ .br_framework_settings .framework-form-table > thead > tr > td,
636
+ .br_framework_settings .framework-form-table > tfoot > tr > td,
637
+ .br_framework_settings .framework-form-table > tr > td {
638
+ padding: 10px;
639
+ }
640
+
641
+ .br_framework_settings form .nav-block,
642
+ .br_framework_settings .paid_features,
643
+ .br_framework_settings .berocket_subscribe {
644
+ border-radius: 3px;
645
+ box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.06);
646
+ overflow: auto;
647
+ position: relative;
648
+ background-color: rgb(255, 255, 255);
649
+ color: rgba(0, 0, 0, 0.87);
650
+ padding: 0 25px;
651
+ }
652
+ .br_framework_settings .berocket_subscribe {
653
+ background-color: #2c3644;
654
+ background-image: url(mail.png);
655
+ background-position: right top;
656
+ background-repeat: no-repeat;
657
+ color: #aaa;
658
+ font-size: 16px;
659
+ overflow: hidden;
660
+ }
661
+ .br_framework_settings .berocket_subscribe h3 {
662
+ color: white;
663
+ }
664
+ .br_framework_settings .berocket_subscribe p {
665
+ font-size: 12px;
666
+ text-align: left;
667
+ }
668
+ .br_framework_settings .berocket_subscribe .error {
669
+ color: #d02c21;
670
+ }
671
+ .br_framework_settings .berocket_subscribe .berocket_subscribe_email {
672
+ background-color: #404c5d;
673
+ border: 0;
674
+ outline: 0;
675
+ color: #aaa;
676
+ width: 100%;
677
+ line-height: 2em;
678
+ font-size: 16px;
679
+ padding-left: 15px;
680
+ padding-right: 15px;
681
+ }
682
+
683
+ .br_framework_settings .berocket_subscribe .berocket_notice_submit,
684
+ .br_framework_settings .get_premium_version,
685
+ .br_framework_settings .buy_premium_version {
686
+ margin-top: 30px;
687
+ margin-bottom: 20px;
688
+ color: #fff;
689
+ box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);
690
+ text-shadow: none;
691
+ border: 0 none;
692
+ min-width: 120px;
693
+ -moz-user-select: none;
694
+ background: #ff5252 none repeat scroll 0 0;
695
+ box-sizing: border-box;
696
+ cursor: pointer;
697
+ display: inline-block;
698
+ font-size: 14px;
699
+ outline: 0 none;
700
+ padding: 8px;
701
+ position: relative;
702
+ text-align: center;
703
+ text-decoration: none;
704
+ transition: box-shadow 0.4s cubic-bezier(0.25, 0.8, 0.25, 1) 0s, background-color 0.4s cubic-bezier(0.25, 0.8, 0.25, 1) 0s;
705
+ white-space: nowrap;
706
+ height: auto;
707
+ vertical-align: top;
708
+ line-height: 25px;
709
+ border-radius: 3px;
710
+ font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;
711
+ font-weight: bold;
712
+ }
713
+ .br_framework_settings .berocket_subscribe .berocket_notice_submit {
714
+ width: 100%;
715
+ margin-top: 15px;
716
+ }
717
+ .br_framework_settings .get_premium_version,
718
+ .br_framework_settings .buy_premium_version {
719
+ width: 90%;
720
+ }
721
+ .br_framework_settings .get_premium_version {
722
+ margin: 5px 0;
723
+ background: transparent;
724
+ border: 2px solid #97b9cf;
725
+ color: #7496ad;
726
+ }
727
+ .br_framework_settings .buy_premium_version {
728
+ margin: 5px 0 15px;
729
+ padding: 10px;
730
+ }
731
+ .br_framework_settings .premium_buttons {
732
+ margin-top: 30px;
733
+ margin-bottom: 20px;
734
+ }
735
+ .br_framework_settings .premium_buttons span {
736
+ display: block;
737
+ color: #7496ad;
738
+ }
739
+ .br_framework_settings .premium_buttons span.divider {
740
+ line-height: 2.4em;
741
+ font-size: 20px;
742
+ font-weight: bold;
743
+ position: relative;
744
+ }
745
+ .br_framework_settings .premium_buttons span.divider:before,
746
+ .br_framework_settings .premium_buttons span.divider:after{
747
+ position: absolute;
748
+ top: 50%;
749
+ left: 5%;
750
+ right: 60%;
751
+ height: 1px;
752
+ background: #97b9cf;
753
+ content: "";
754
+ }
755
+ .br_framework_settings .premium_buttons span.divider:after{
756
+ left: 60%;
757
+ right: 5%;
758
+ }
759
+ .br_framework_settings .premium_buttons span:last-child b{
760
+ font-size: 16px;
761
+ }
762
+ .br_framework_settings .berocket_subscribe .berocket_notice_submit:hover,
763
+ .br_framework_settings .berocket_subscribe .berocket_notice_submit:focus,
764
+ .br_framework_settings .berocket_subscribe .berocket_notice_submit:active,
765
+ .br_framework_settings .buy_premium_version:hover,
766
+ .br_framework_settings .buy_premium_version:focus,
767
+ .br_framework_settings .buy_premium_version:active {
768
+ background: #ff6e68 none repeat scroll 0 0;
769
+ color: white;
770
+ }
771
+ .br_framework_settings .get_premium_version:hover,
772
+ .br_framework_settings .get_premium_version:focus,
773
+ .br_framework_settings .get_premium_version:active{
774
+ background: #97b9cf;
775
+ color: white;
776
+ }
777
+ .br_framework_settings form .nav-block {
778
+ padding-top: 15px;
779
+ padding-bottom: 15px;
780
+ }
781
+
782
+ #berocket_product_key {
783
+ width: 80%;
784
+ min-width: 100px;
785
+ }
786
+
787
+ .br_settings_footer {
788
+ margin-right: 20px;
789
+ }
790
+
791
+ .br_settings_footer a {
792
+ color: #009688;
793
+ text-decoration: none;
794
+ }
795
+
796
+ .br_framework_settings .button.accent:not(.not_berocket_button) {
797
+ background: #ff5252 none repeat scroll 0 0;
798
+ }
799
+
800
+ .br_framework_settings .button.accent:not(.not_berocket_button):hover,
801
+ .br_framework_settings .button.accent:not(.not_berocket_button):focus,
802
+ .br_framework_settings .button.accent:not(.not_berocket_button):active {
803
+ background: #ff6e68 none repeat scroll 0 0;
804
+ color: white;
805
+ }
806
+
807
+ .paid_features ul li{
808
+ list-style: initial;
809
+ margin-left: 2em;
810
+ }
811
+
812
+ #footer-thankyou, #footer-upgrade{
813
+ display: none;
814
+ }
815
+
816
+ .clear-both {
817
+ clear: both;
818
+ }
819
+
820
+
821
+
822
+
823
+ /* Responsive styles */
824
+
825
+ @media screen and (max-width: 900px) {
826
+ .br_framework_settings form.show_premium,
827
+ .br_framework_settings .paid_features,
828
+ .br_framework_settings .berocket_subscribe {
829
+ float: none;
830
+ width: 100%;
831
+ }
832
+
833
+ .br_framework_settings .paid_features,
834
+ .br_framework_settings .berocket_subscribe {
835
+ margin-top: 30px;
836
+ margin-bottom: 0;
837
+ }
838
+ }
839
+
840
+ @media screen and (max-width: 782px) {
841
+ .br_framework_settings header .br_logo_white {
842
+ width: 60px;
843
+ }
844
+
845
+ .br_framework_settings header .br_plugin_name {
846
+ padding-left: 80px;
847
+ }
848
+
849
+ .br_framework_settings .body ul.side {
850
+ width: 100px;
851
+ }
852
+
853
+ .br_framework_settings .body .content {
854
+ padding-left: 20px;
855
+ }
856
+
857
+ .br_framework_settings .body .content .title {
858
+ margin-left: -20px;
859
+ }
860
+
861
+ .br_framework_settings .framework-form-table > tbody > tr > td,
862
+ .br_framework_settings .framework-form-table > thead > tr > td,
863
+ .br_framework_settings .framework-form-table > tfoot > tr > td,
864
+ .br_framework_settings .framework-form-table > tr > td,
865
+ .br_framework_settings .framework-form-table > tbody > tr > th,
866
+ .br_framework_settings .framework-form-table > thead > tr > th,
867
+ .br_framework_settings .framework-form-table > tfoot > tr > th,
868
+ .br_framework_settings .framework-form-table > tr > th {
869
+ display: table-cell;
870
+ padding: 5px 10px;
871
+ }
872
+
873
+ .br_framework_settings .framework-form-table > tbody > tr > td,
874
+ .br_framework_settings .framework-form-table > thead > tr > td,
875
+ .br_framework_settings .framework-form-table > tfoot > tr > td,
876
+ .br_framework_settings .framework-form-table > tr > td {
877
+ padding: 10px 10px 10px 0;
878
+ }
879
+
880
+ .br_framework_settings header nav.premium a {
881
+ font-size: 32px;
882
+ }
883
+
884
+ .br_framework_settings header .br_plugin_name h1 {
885
+ font-size: 14px;
886
+ }
887
+
888
+ .br_framework_settings header .br_plugin_name h3 {
889
+ font-size: 12px;
890
+ }
891
+ }
892
+
893
+ @media screen and (max-width: 600px) {
894
+ .br_framework_settings header .br_plugin_name {
895
+ display: none;
896
+ }
897
+
898
+ .br_framework_settings .body .content .title {
899
+ padding-left: 20px;
900
+ }
901
+
902
+ .br_framework_settings .framework-form-table > tbody > tr > td,
903
+ .br_framework_settings .framework-form-table > thead > tr > td,
904
+ .br_framework_settings .framework-form-table > tfoot > tr > td,
905
+ .br_framework_settings .framework-form-table > tr > td,
906
+ .br_framework_settings .framework-form-table > tbody > tr > th,
907
+ .br_framework_settings .framework-form-table > thead > tr > th,
908
+ .br_framework_settings .framework-form-table > tfoot > tr > th,
909
+ .br_framework_settings .framework-form-table > tr > th {
910
+ display: block;
911
+ padding: 10px 10px 0 0;
912
+ }
913
+
914
+ .br_framework_settings .framework-form-table > tbody > tr > td,
915
+ .br_framework_settings .framework-form-table > thead > tr > td,
916
+ .br_framework_settings .framework-form-table > tfoot > tr > td,
917
+ .br_framework_settings .framework-form-table > tr > td {
918
+ margin-bottom: 0;
919
+ padding: 4px 10px 6px 0;
920
+ }
921
+ .br_framework_settings {
922
+ margin-right: 0;
923
+ margin-left: -10px;
924
+ }
925
+ .br_framework_settings .body .content {
926
+ padding-left: 0;
927
+ padding-right: 0;
928
+ }
929
+ .br_framework_settings .body .content .title {
930
+ padding-left: 40px;
931
+ margin-left: -10px;
932
+ margin-right: 0;
933
+ }
934
+ .br_framework_settings form .nav-block {
935
+ padding-left: 5px;
936
+ padding-right: 5px;
937
+ }
938
+ }
939
+ .berocket_display_block_messages_hide {
940
+ position: absolute;
941
+ background-color: rgba(0,0,0,0.5);
942
+ z-index:999999997;
943
+ color: white;
944
+ font-size: 24px;
945
+ font-weight: bold;
946
+ box-sizing: border-box;
947
+ padding: 20px;
948
+ }
949
+ .berocket_display_block_messages_hide.inside {
950
+ background-color: transparent;
951
+ }
952
+ .berocket_display_block_messages_hide.top span{
953
+ position: absolute;
954
+ bottom: 20px;
955
+ }
956
+ .berocket_display_block_messages_close_button {
957
+ position: absolute;
958
+ bottom: -25px;
959
+ left: 10px;
960
+ z-index:999999999;
961
+ color: white;
962
+ text-decoration: none;
963
+ font-size: 18px;
964
+ text-shadow: 0 0 2px black,0 0 2px black,0 0 2px black;
965
+ }
966
+ .berocket_display_block_messages_next_button {
967
+ position: absolute;
968
+ bottom: -25px;
969
+ right: 10px;
970
+ z-index:999999999;
971
+ color: white;
972
+ text-decoration: none;
973
+ font-size: 18px;
974
+ font-weight: bold;
975
+ text-shadow: 0 0 2px black,0 0 2px black,0 0 2px black;
976
+ }
977
+ .berocket_display_tooltip {
978
+ position: absolute;
979
+ z-index:999999998;
980
+ box-sizing: border-box;
981
+ padding: 15px;
982
+ background-color: #f1f1f1;
983
+ border: 1px solid #23282d;
984
+ box-shadow: 0 0 5px #23282d;
985
+ border-radius: 5px;
986
+ min-width: 150px;
987
+ max-width: 500px
988
+ }
989
+ .berocket_display_tooltip .br_add1 {
990
+ background-color: #f1f1f1;
991
+ position: absolute;
992
+ display: block;
993
+ width: 20px;
994
+ height: 20px;
995
+ border-color:#23282d;
996
+ border-style: solid;
997
+ border-width: 0;
998
+ border-top-width: 1px;
999
+ border-left-width: 1px;
1000
+ box-shadow: -2px -2px 1px -2px #23282d;
1001
+ }
1002
+ .berocket_display_tooltip.position_left .br_add1 {
1003
+ right: -11px;
1004
+ top: 10px;
1005
+ transform: rotate(135deg);
1006
+ }
1007
+ .berocket_display_tooltip.position_right .br_add1 {
1008
+ left: -11px;
1009
+ top: 10px;
1010
+ transform: rotate(-45deg);
1011
+ }
1012
+ .berocket_display_tooltip.position_element .br_add1 {
1013
+ left: 50%;
1014
+ top: -11px;
1015
+ margin-left: -10px;
1016
+ transform: rotate(45deg);
1017
+ }
1018
+ @media screen and (min-width: 901px) and (max-width: 1300px) {
1019
+ .br_framework_settings form .nav-block,
1020
+ .br_framework_settings .paid_features,
1021
+ .br_framework_settings .berocket_subscribe {
1022
+ padding: 0 10px;
1023
+ }
1024
+ }
1025
+ /* SORTABLE CUSTOM POST */
1026
+ .column-berocket_sortable {
1027
+ width: 120px;
1028
+ text-align: right;
1029
+ }
1030
+ .berocket_post_set_new_sortable_input {
1031
+ position: relative;
1032
+ }
1033
+ .berocket_post_set_new_sortable_input input {
1034
+ width: 80px;
1035
+ padding-right: 20px;
1036
+ }
1037
+ .berocket_post_set_new_sortable_input .fa{
1038
+ position: absolute;
1039
+ right: 5px;
1040
+ height: 100%;
1041
+ vertical-align: middle;
1042
+ display: inline-block;
1043
+ font-size: 1.4em;
1044
+ top: -0.1em;
1045
+ }
1046
+
1047
+ /* -------------- */
1048
+ /* ADDON LIST */
1049
+ .berocket_addons_list .berocket_addon_is_active {
1050
+ display: none;
1051
+ }
1052
+ .berocket_addons_list .berocket_addon_label {
1053
+ position: relative;
1054
+ display: inline-block;
1055
+ font-size: 6px;
1056
+ width: 250px;
1057
+ }
1058
+ .berocket_addons_list.col8-addons .berocket_addon_label {
1059
+ width: 12.4%;
1060
+ }
1061
+ .berocket_addons_list.col7-addons .berocket_addon_label {
1062
+ width: 14.2%;
1063
+ }
1064
+ .berocket_addons_list.col6-addons .berocket_addon_label {
1065
+ width: 16.6%;
1066
+ }
1067
+ .berocket_addons_list.col5-addons .berocket_addon_label {
1068
+ width: 19.9%;
1069
+ }
1070
+ .berocket_addons_list.col4-addons .berocket_addon_label {
1071
+ width: 24.9%;
1072
+ }
1073
+ .berocket_addons_list.col3-addons .berocket_addon_label {
1074
+ width: 33%;
1075
+ }
1076
+ .berocket_addons_list.col2-addons .berocket_addon_label {
1077
+ width: 49.9%;
1078
+ }
1079
+ .berocket_addons_list.col-addons .berocket_addon_label {
1080
+ width: 100%;
1081
+ }
1082
+ .berocket_addons_list .berocket_addon_block {
1083
+ display: inline-block;
1084
+ position: relative;
1085
+ padding: 15px;
1086
+ padding-bottom: 70px;
1087
+ width: 100%;
1088
+ text-align: center;
1089
+ box-sizing: border-box;
1090
+ }
1091
+ .berocket_addons_list .berocket_addon_block .berocket_addon_active {
1092
+ position: absolute;
1093
+ left: 50%;
1094
+ top: calc(50% - 17.5px);
1095
+ transform: translate(-50%,-50%);
1096
+ -moz-transform: translate(-50%,-50%);
1097
+ -o-transform: translate(-50%,-50%);
1098
+ -webkit-transform: translate(-50%,-50%);
1099
+ display: block;
1100
+ z-index: 100;
1101
+ background-color: #009688;
1102
+ width: 10em;
1103
+ height: 10em;
1104
+ border-radius: 50%;
1105
+ border: 2em solid #a4d2ce;
1106
+ line-height: 14em;
1107
+ color: white;
1108
+ transition: 0.3s;
1109
+ opacity: 0;
1110
+ }
1111
+ .berocket_addons_list .berocket_addon_block .berocket_addon_active i {
1112
+ font-size: 6em;
1113
+ }
1114
+ .berocket_addons_list .berocket_addon_block img {
1115
+ display: block;
1116
+ width: 100%;
1117
+ opacity: 0.7;
1118
+ }
1119
+ .berocket_addons_list .berocket_addon_block .berocket_addon_name {
1120
+ font-size: 24px;
1121
+ margin-top: 15px;
1122
+ display: inline-block;
1123
+ position: absolute;
1124
+ bottom: 15px;
1125
+ left: 15px;
1126
+ right: 15px;
1127
+ line-height: 1em;
1128
+ }
1129
+ .berocket_addons_list .berocket_addon_is_active:checked ~ span .berocket_addon_active {
1130
+ opacity: 1;
1131
+ }
1132
+ .berocket_addons_list .berocket_addon_is_active:checked ~ span img {
1133
+ opacity: 1;
1134
+ }
1135
+ .berocket_addons_list .berocket_addon_paid_sign {
1136
+ position: absolute;
1137
+ right: 20px;
1138
+ top: 20px;
1139
+ font-size: 1em;
1140
+ z-index: 200;
1141
+ }
1142
+ .berocket_addons_list .berocket_addon_paid_sign:before {
1143
+ font-size: 4em;
1144
+ }
1145
+ .berocket_addons_list .berocket_addon_paid_get {
1146
+ transition: all 0.2s ease-out 0s;
1147
+ position: absolute;
1148
+ text-align: center;
1149
+ z-index: 150;
1150
+ top: 0;
1151
+ left: 0;
1152
+ right: 0;
1153
+ bottom: 0;
1154
+ background-color: #2c3b48;
1155
+ color: white;
1156
+ border-radius:10px;
1157
+ opacity: 0;
1158
+ }
1159
+ .berocket_addons_list .berocket_addon_label:hover .berocket_addon_paid_get {
1160
+ opacity: 1;
1161
+ }
1162
+ .berocket_addons_list .berocket_addon_paid_get a {
1163
+ position: absolute;
1164
+ top: 0;
1165
+ left: 0;
1166
+ right: 0;
1167
+ bottom: 0;
1168
+ text-decoration: none;
1169
+ }
1170
+ .berocket_addons_list .berocket_addon_paid_get a span {
1171
+ position: relative;
1172
+ top: 50%;
1173
+ transform: translateY(-50%);
1174
+ font-size: 3.6em;
1175
+ line-height: 1em;
1176
+ display: block;
1177
+ color: gold;
1178
+ }
1179
+ .br_framework_settings .berocket_addon_paid_sign {
1180
+ color: #f16543;
1181
+ }
1182
+ .br_framework_settings .berocket_addon_label:hover .berocket_addon_paid_sign {
1183
+ color: gold;
1184
+ }
1185
+ /* -------------- */
1186
+ /* TEMPLATES LIST */
1187
+ .berocket_templates_list .berocket_template_is_active {
1188
+ display: none;
1189
+ }
1190
+ .berocket_templates_list .berocket_template_label {
1191
+ display: inline-block;
1192
+ width: 33%;
1193
+ position: relative;
1194
+ font-size: 10px;
1195
+ }
1196
+ .berocket_templates_list .berocket_template_block {
1197
+ display: inline-block;
1198
+ position: relative;
1199
+ padding: 15px;
1200
+ width: 100%;
1201
+ text-align: center;
1202
+ box-sizing: border-box;
1203
+ height: auto;
1204
+ padding-bottom: 50px;
1205
+ }
1206
+ .berocket_templates_list .berocket_template_block .berocket_template_active {
1207
+ position: absolute;
1208
+ left: 50%;
1209
+ top: calc(50% - 17.5px);
1210
+ transform: translate(-50%,-50%);
1211
+ -moz-transform: translate(-50%,-50%);
1212
+ -o-transform: translate(-50%,-50%);
1213
+ -webkit-transform: translate(-50%,-50%);
1214
+ display: block;
1215
+ z-index: 100;
1216
+ background-color: #009688;
1217
+ width: 10em;
1218
+ height: 10em;
1219
+ border-radius: 50%;
1220
+ border: 2em solid #a4d2ce;
1221
+ line-height: 14em;
1222
+ color: white;
1223
+ transition: 0.3s;
1224
+ opacity: 0;
1225
+ }
1226
+ .berocket_templates_list .berocket_template_block .berocket_template_active i {
1227
+ font-size: 6em;
1228
+ }
1229
+ .berocket_templates_list .berocket_template_block img {
1230
+ display: block;
1231
+ width: 100%;
1232
+ opacity: 1;
1233
+ height: auto;
1234
+ transition: 0.3s;
1235
+ }
1236
+ .berocket_templates_list .berocket_template_block:hover img {
1237
+ box-shadow: 0 0 15px 0 #5b9691;
1238
+ }
1239
+ .berocket_templates_list .berocket_template_block .berocket_template_name {
1240
+ font-size: 24px;
1241
+ margin-top: 15px;
1242
+ display: inline-block;
1243
+ position: absolute;
1244
+ bottom: 15px;
1245
+ left: 15px;
1246
+ right: 15px;
1247
+ line-height: 1em;
1248
+ }
1249
+ .berocket_templates_list .berocket_template_is_active:checked ~ span .berocket_template_active {
1250
+ opacity: 1;
1251
+ }
1252
+ .berocket_templates_list .berocket_template_is_active:checked ~ span img {
1253
+ opacity: 1;
1254
+ }
1255
+ .berocket_templates_list .berocket_template_paid_sign {
1256
+ position: absolute;
1257
+ left: 20px;
1258
+ top: 17px;
1259
+ font-size: 1em;
1260
+ z-index: 200;
1261
+ }
1262
+ .berocket_templates_list .berocket_template_paid_sign:before {
1263
+ font-size: 4em;
1264
+ }
1265
+ .berocket_templates_list .berocket_template_paid_get {
1266
+ transition: all 0.2s ease-out 0s;
1267
+ position: absolute;
1268
+ text-align: center;
1269
+ z-index: 150;
1270
+ top: 0;
1271
+ left: 0;
1272
+ right: 0;
1273
+ bottom: 0;
1274
+ background-color: #2c3b48;
1275
+ color: white;
1276
+ border-radius:10px;
1277
+ opacity: 0;
1278
+ }
1279
+ .berocket_templates_list .berocket_template_label:hover .berocket_template_paid_get {
1280
+ opacity: 1;
1281
+ }
1282
+ .berocket_templates_list .berocket_template_paid_get a {
1283
+ position: absolute;
1284
+ top: 0;
1285
+ left: 0;
1286
+ right: 0;
1287
+ bottom: 0;
1288
+ text-decoration: none;
1289
+ }
1290
+ .berocket_templates_list .berocket_template_paid_get a span {
1291
+ position: relative;
1292
+ top: 50%;
1293
+ transform: translateY(-50%);
1294
+ font-size: 3.6em;
1295
+ line-height: 1em;
1296
+ display: block;
1297
+ color: gold;
1298
+ }
1299
+ .berocket_templates_list .berocket_template_paid_get a span i {
1300
+ font-size: 0.8em;
1301
+ }
1302
+ .berocket_templates_list .berocket_template_paid_get a span i:first-child,
1303
+ .berocket_templates_list .berocket_template_paid_get a span i:last-child {
1304
+ font-size: 0.4em;
1305
+ }
1306
+ .berocket_templates_list .berocket_template_paid_get a span i:nth-child(2),
1307
+ .berocket_templates_list .berocket_template_paid_get a span i:nth-child(5){
1308
+ font-size: 0.6em;
1309
+ }
1310
+ .br_framework_settings .berocket_template_paid_sign {
1311
+ color: #f16543;
1312
+ }
1313
+ .br_framework_settings .berocket_template_label:hover .berocket_template_paid_sign {
1314
+ color: gold;
1315
+ }
1316
+ @media screen and (min-width: 1450px) and (max-width: 1600px) {
1317
+ .berocket_templates_list .berocket_template_label {
1318
+ font-size: 9px;
1319
+ }
1320
+ }
1321
+ @media screen and (min-width: 1300px) and (max-width: 1450px) {
1322
+ .berocket_templates_list .berocket_template_label {
1323
+ font-size: 8px;
1324
+ }
1325
+ }
1326
+ @media screen and (min-width: 901px) and (max-width: 1300px) {
1327
+ .br_framework_submit_form .berocket_templates_list .berocket_template_label {
1328
+ width: 49%;
1329
+ }
1330
+ .berocket_templates_list .berocket_template_label {
1331
+ font-size: 7px;
1332
+ }
1333
+ }
1334
+ @media screen and (max-width: 900px) {
1335
+ .berocket_templates_list .berocket_template_paid_sign {
1336
+ top: 20px;
1337
+ right: 20px;
1338
+ }
1339
+ .br_framework_submit_form .berocket_templates_list .berocket_template_label {
1340
+ width: 100%;
1341
+ }
1342
+ .berocket_templates_list .berocket_template_label {
1343
+ font-size: 7px;
1344
+ }
1345
+ }
1346
+ @media screen and (max-width: 600px) {
1347
+ .berocket_templates_list .berocket_template_block {
1348
+ padding-left: 0;
1349
+ padding-right: 0;
1350
+ }
1351
+ .berocket_templates_list .berocket_template_block .berocket_template_active {
1352
+ width: 5em;
1353
+ height: 5em;
1354
+ line-height: 6.2em;
1355
+ border-width: 1.5em;
1356
+ }
1357
+ .berocket_templates_list .berocket_template_block .berocket_template_active i {
1358
+ font-size: 3em;
1359
+ }
1360
+ .berocket_templates_list .berocket_template_block .berocket_template_name {
1361
+ font-size: 18px;
1362
+ }
1363
+ .berocket_templates_list .berocket_template_paid_sign {
1364
+ font-size: 9px;
1365
+ }
1366
+ .berocket_templates_list .berocket_template_paid_get a span {
1367
+ font-size: 28px;
1368
+ }
1369
+ }
1370
+
1371
+ @media screen and (max-width: 500px) {
1372
+ .berocket_templates_list .berocket_template_block .berocket_template_active {
1373
+ width: 3em;
1374
+ height: 3em;
1375
+ line-height: 3.3em;
1376
+ border-width: 1em;
1377
+ }
1378
+ .berocket_templates_list .berocket_template_block .berocket_template_active i {
1379
+ font-size: 1.5em;
1380
+ }
1381
+ .berocket_templates_list .berocket_template_block .berocket_template_name {
1382
+ font-size: 14px;
1383
+ }
1384
+ .berocket_templates_list .berocket_template_paid_sign {
1385
+ font-size: 8px;
1386
+ }
1387
+ .berocket_templates_list .berocket_template_paid_get a span {
1388
+ font-size: 18px;
1389
+ }
1390
+ }
1391
+
1392
+ @media screen and (max-width: 400px) {
1393
+ .berocket_templates_list .berocket_template_block .berocket_template_active {
1394
+ width: 2em;
1395
+ height: 2em;
1396
+ line-height: 2em;
1397
+ border-width: 0.5em;
1398
+ }
1399
+ .berocket_templates_list .berocket_template_block .berocket_template_active i {
1400
+ font-size: 1em;
1401
+ }
1402
+ .berocket_templates_list .berocket_template_block .berocket_template_name {
1403
+ font-size: 13px;
1404
+ }
1405
+ .berocket_templates_list .berocket_template_paid_sign {
1406
+ font-size: 6px;
1407
+ }
1408
+ .berocket_templates_list .berocket_template_paid_get a span {
1409
+ font-size: 14px;
1410
+ }
1411
+ }
1412
+
1413
+ /* TEMPLATE FREE ONLY */
1414
+ .show_premium .berocket_templates_list .berocket_template_label {
1415
+ width: 49%;
1416
+ }
1417
+ @media screen and (max-width: 1300px) {
1418
+ .show_premium.br_framework_submit_form .berocket_templates_list .berocket_template_label {
1419
+ width: 100%;
1420
+ }
1421
+ .show_premium .berocket_templates_list .berocket_template_label {
1422
+ font-size: 10px;
1423
+ }
1424
+ }
1425
+ /* -------------- */
1426
+ /* CONDITIONS */
1427
+ .br_conditions .br_html_condition {
1428
+ margin-top: 40px;
1429
+ }
1430
+ .br_conditions .br_html_condition:first-child {
1431
+ margin-top: 0;
1432
+ }
1433
+ .br_conditions .br_html_condition:before {
1434
+ content: "OR";
1435
+ display: block;
1436
+ position: absolute;
1437
+ top: -30px;
1438
+ font-size: 30px;
1439
+ line-height: 18px;
1440
+ }
1441
+ .br_conditions .br_html_condition:first-child:before {
1442
+ display: none;
1443
+ }
1444
+ .br_html_condition .br_cond_select {
1445
+ margin-top: 40px;
1446
+ position: relative;
1447
+ }
1448
+ .br_html_condition .br_cond_select:first-child {
1449
+ margin-top: 0;
1450
+ }
1451
+ .br_html_condition .br_cond_select:before {
1452
+ content: "AND";
1453
+ display: block;
1454
+ position: absolute;
1455
+ top: -30px;
1456
+ font-size: 30px;
1457
+ line-height: 18px;
1458
+ }
1459
+ .br_html_condition .br_cond_select:first-child:before {
1460
+ display: none;
1461
+ }
1462
+ .br_html_condition .br_cond_one .br_cond_select:first-child .berocket_remove_condition {
1463
+ display: none;
1464
+ }
1465
+ .br_html_condition {
1466
+ border: 1px solid #999;
1467
+ background-color: #fafafa;
1468
+ padding: 0.5em;
1469
+ margin-bottom: 1em;
1470
+ position: relative;
1471
+ }
1472
+ .br_html_condition .br_remove_group {
1473
+ position: absolute!important;
1474
+ top:-10px;
1475
+ right: -10px;
1476
+ }
1477
+ .br_cond_select {
1478
+ padding-bottom: 1em;
1479
+ }
1480
+ .br_cond_select {
1481
+ border: 1px solid #999;
1482
+ padding: 0.5em;
1483
+ margin-bottom: 0.5em;
1484
+ background-color: #eee;
1485
+ }
1486
+ .br_framework_settings .button.berocket_remove_condition:not(.not_berocket_button),
1487
+ .br_framework_settings .button.berocket_add_condition:not(.not_berocket_button),
1488
+ .br_framework_settings .button.br_remove_group:not(.not_berocket_button),
1489
+ .br_framework_settings .button.br_add_group:not(.not_berocket_button) {
1490
+ padding: 0 10px;
1491
+ margin: 0;
1492
+ width: initial;
1493
+ min-width: initial;
1494
+ }
1495
+ /* ---------- */
1496
+ #the-list .fa-bars {
1497
+ padding: 2px 10px;
1498
+ cursor: move;
1499
+ }
1500
+
1501
+ .account_key_send.br_framework_settings .button.tiny-button {
1502
+ margin: 0;
1503
+ }
1504
+ .wp-list-table .berocket_disabled_post {
1505
+ opacity:0.5;
1506
+ }
1507
+ .wp-list-table .berocket_disabled_post:hover {
1508
+ opacity: 0.8;
1509
+ }
1510
+ /*WORDPRESS 5.3 FIX*/
1511
+ .br_framework_settings input[type=date],
1512
+ .br_framework_settings input[type=datetime-local],
1513
+ .br_framework_settings input[type=datetime],
1514
+ .br_framework_settings input[type=email],
1515
+ .br_framework_settings input[type=month],
1516
+ .br_framework_settings input[type=number],
1517
+ .br_framework_settings input[type=password],
1518
+ .br_framework_settings input[type=search],
1519
+ .br_framework_settings input[type=tel],
1520
+ .br_framework_settings input[type=text],
1521
+ .br_framework_settings input[type=time],
1522
+ .br_framework_settings input[type=url],
1523
+ .br_framework_settings input[type=week]{
1524
+ padding: 0 0 0 2px;
1525
+ }
berocket/assets/css/colpick.css CHANGED
@@ -1,420 +1,420 @@
1
- /*
2
- colpick Color Picker / colpick.com
3
- */
4
-
5
- /*Main container*/
6
- .colpick {
7
- position: absolute;
8
- width: 346px;
9
- height: 170px;
10
- overflow: hidden;
11
- display: none;
12
- font-family: Arial, Helvetica, sans-serif;
13
- background:#ebebeb;
14
- border: 1px solid #bbb;
15
- -webkit-border-radius: 5px;
16
- -moz-border-radius: 5px;
17
- border-radius: 5px;
18
-
19
- /*Prevents selecting text when dragging the selectors*/
20
- -webkit-user-select: none;
21
- -moz-user-select: none;
22
- -ms-user-select: none;
23
- -o-user-select: none;
24
- user-select: none;
25
- }
26
- /*Color selection box with gradients*/
27
- .colpick_color {
28
- position: absolute;
29
- left: 7px;
30
- top: 7px;
31
- width: 156px;
32
- height: 156px;
33
- overflow: hidden;
34
- outline: 1px solid #aaa;
35
- cursor: crosshair;
36
- }
37
- .colpick_color_overlay1 {
38
- position: absolute;
39
- left:0;
40
- top:0;
41
- width: 156px;
42
- height: 156px;
43
- -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr='#ffffff', endColorstr='#00ffffff')"; /* IE8 */
44
- background: -moz-linear-gradient(left, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%); /* FF3.6+ */
45
- background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(255,255,255,1)), color-stop(100%,rgba(255,255,255,0))); /* Chrome,Safari4+ */
46
- background: -webkit-linear-gradient(left, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%); /* Chrome10+,Safari5.1+ */
47
- background: -o-linear-gradient(left, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%); /* Opera 11.10+ */
48
- background: -ms-linear-gradient(left, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%); /* IE10+ */
49
- background: linear-gradient(to right, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
50
- filter: progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr='#ffffff', endColorstr='#00ffffff'); /* IE6 & IE7 */
51
- }
52
- .colpick_color_overlay2 {
53
- position: absolute;
54
- left:0;
55
- top:0;
56
- width: 156px;
57
- height: 156px;
58
- -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#00000000', endColorstr='#000000')"; /* IE8 */
59
- background: -moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%); /* FF3.6+ */
60
- background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(0,0,0,0)), color-stop(100%,rgba(0,0,0,1))); /* Chrome,Safari4+ */
61
- background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,1) 100%); /* Chrome10+,Safari5.1+ */
62
- background: -o-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,1) 100%); /* Opera 11.10+ */
63
- background: -ms-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,1) 100%); /* IE10+ */
64
- background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,1) 100%); /* W3C */
65
- filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#000000',GradientType=0 ); /* IE6-9 */
66
- }
67
- /*Circular color selector*/
68
- .colpick_selector_outer {
69
- background:none;
70
- position: absolute;
71
- width: 11px;
72
- height: 11px;
73
- margin: -6px 0 0 -6px;
74
- border: 1px solid black;
75
- border-radius: 50%;
76
- }
77
- .colpick_selector_inner{
78
- position: absolute;
79
- width: 9px;
80
- height: 9px;
81
- border: 1px solid white;
82
- border-radius: 50%;
83
- }
84
- /*Vertical hue bar*/
85
- .colpick_hue {
86
- position: absolute;
87
- top: 6px;
88
- left: 175px;
89
- width: 19px;
90
- height: 156px;
91
- border: 1px solid #aaa;
92
- cursor: n-resize;
93
- }
94
- /*Hue bar sliding indicator*/
95
- .colpick_hue_arrs {
96
- position: absolute;
97
- left: -8px;
98
- width: 35px;
99
- height: 7px;
100
- margin: -7px 0 0 0;
101
- }
102
- .colpick_hue_larr {
103
- position:absolute;
104
- width: 0;
105
- height: 0;
106
- border-top: 6px solid transparent;
107
- border-bottom: 6px solid transparent;
108
- border-left: 7px solid #858585;
109
- }
110
- .colpick_hue_rarr {
111
- position:absolute;
112
- right:0;
113
- width: 0;
114
- height: 0;
115
- border-top: 6px solid transparent;
116
- border-bottom: 6px solid transparent;
117
- border-right: 7px solid #858585;
118
- }
119
- /*New color box*/
120
- .colpick_new_color {
121
- position: absolute;
122
- left: 207px;
123
- top: 6px;
124
- width: 60px;
125
- height: 27px;
126
- background: #f00;
127
- border: 1px solid #8f8f8f;
128
- }
129
- /*Current color box*/
130
- .colpick_current_color {
131
- position: absolute;
132
- left: 277px;
133
- top: 6px;
134
- width: 60px;
135
- height: 27px;
136
- background: #f00;
137
- border: 1px solid #8f8f8f;
138
- }
139
- /*Input field containers*/
140
- .colpick_field, .colpick_hex_field {
141
- position: absolute;
142
- height: 20px;
143
- width: 60px;
144
- overflow:hidden;
145
- background:#f3f3f3;
146
- color:#b8b8b8;
147
- font-size:12px;
148
- border:1px solid #bdbdbd;
149
- -webkit-border-radius: 3px;
150
- -moz-border-radius: 3px;
151
- border-radius: 3px;
152
- }
153
- .colpick_rgb_r {
154
- top: 40px;
155
- left: 207px;
156
- }
157
- .colpick_rgb_g {
158
- top: 67px;
159
- left: 207px;
160
- }
161
- .colpick_rgb_b {
162
- top: 94px;
163
- left: 207px;
164
- }
165
- .colpick_hsb_h {
166
- top: 40px;
167
- left: 277px;
168
- }
169
- .colpick_hsb_s {
170
- top: 67px;
171
- left: 277px;
172
- }
173
- .colpick_hsb_b {
174
- top: 94px;
175
- left: 277px;
176
- }
177
- .colpick_hex_field {
178
- width: 68px;
179
- left: 207px;
180
- top: 121px;
181
- }
182
- /*Text field container on focus*/
183
- .colpick_focus {
184
- border-color: #999;
185
- }
186
- /*Field label container*/
187
- .colpick_field_letter {
188
- position: absolute;
189
- width: 12px;
190
- height: 20px;
191
- line-height: 20px;
192
- padding-left: 4px;
193
- background: #efefef;
194
- border-right: 1px solid #bdbdbd;
195
- font-weight: bold;
196
- color:#777;
197
- }
198
- /*Text inputs*/
199
- .colpick_field input, .colpick_hex_field input {
200
- position: absolute;
201
- right: 11px;
202
- margin: 0;
203
- padding: 0;
204
- height: 20px;
205
- line-height: 20px;
206
- background: transparent;
207
- border: none;
208
- font-size: 12px;
209
- font-family: Arial, Helvetica, sans-serif;
210
- color: #555;
211
- text-align: right;
212
- outline: none;
213
- }
214
- .colpick_hex_field input {
215
- right: 4px;
216
- }
217
- /*Field up/down arrows*/
218
- .colpick_field_arrs {
219
- position: absolute;
220
- top: 0;
221
- right: 0;
222
- width: 9px;
223
- height: 21px;
224
- cursor: n-resize;
225
- }
226
- .colpick_field_uarr {
227
- position: absolute;
228
- top: 5px;
229
- width: 0;
230
- height: 0;
231
- border-left: 4px solid transparent;
232
- border-right: 4px solid transparent;
233
- border-bottom: 4px solid #959595;
234
- }
235
- .colpick_field_darr {
236
- position: absolute;
237
- bottom:5px;
238
- width: 0;
239
- height: 0;
240
- border-left: 4px solid transparent;
241
- border-right: 4px solid transparent;
242
- border-top: 4px solid #959595;
243
- }
244
- /*Submit/Select button*/
245
- .colpick_submit {
246
- position: absolute;
247
- left: 207px;
248
- top: 149px;
249
- width: 130px;
250
- height: 22px;
251
- line-height:22px;
252
- background: #efefef;
253
- text-align: center;
254
- color: #555;
255
- font-size: 12px;
256
- font-weight:bold;
257
- border: 1px solid #bdbdbd;
258
- -webkit-border-radius: 3px;
259
- -moz-border-radius: 3px;
260
- border-radius: 3px;
261
- }
262
- .colpick_submit:hover {
263
- background:#f3f3f3;
264
- border-color:#999;
265
- cursor: pointer;
266
- }
267
-
268
- /*full layout with no submit button*/
269
- .colpick_full_ns .colpick_submit, .colpick_full_ns .colpick_current_color{
270
- display:none;
271
- }
272
- .colpick_full_ns .colpick_new_color {
273
- width: 130px;
274
- height: 25px;
275
- }
276
- .colpick_full_ns .colpick_rgb_r, .colpick_full_ns .colpick_hsb_h {
277
- top: 42px;
278
- }
279
- .colpick_full_ns .colpick_rgb_g, .colpick_full_ns .colpick_hsb_s {
280
- top: 73px;
281
- }
282
- .colpick_full_ns .colpick_rgb_b, .colpick_full_ns .colpick_hsb_b {
283
- top: 104px;
284
- }
285
- .colpick_full_ns .colpick_hex_field {
286
- top: 135px;
287
- }
288
-
289
- /*rgbhex layout*/
290
- .colpick_rgbhex .colpick_hsb_h, .colpick_rgbhex .colpick_hsb_s, .colpick_rgbhex .colpick_hsb_b {
291
- display:none;
292
- }
293
- .colpick_rgbhex {
294
- width:282px;
295
- }
296
- .colpick_rgbhex .colpick_field, .colpick_rgbhex .colpick_submit {
297
- width:68px;
298
- }
299
- .colpick_rgbhex .colpick_new_color {
300
- width:34px;
301
- border-right:none;
302
- }
303
- .colpick_rgbhex .colpick_current_color {
304
- width:34px;
305
- left:240px;
306
- border-left:none;
307
- }
308
-
309
- /*rgbhex layout, no submit button*/
310
- .colpick_rgbhex_ns .colpick_submit, .colpick_rgbhex_ns .colpick_current_color{
311
- display:none;
312
- }
313
- .colpick_rgbhex_ns .colpick_new_color{
314
- width:68px;
315
- border: 1px solid #8f8f8f;
316
- }
317
- .colpick_rgbhex_ns .colpick_rgb_r {
318
- top: 42px;
319
- }
320
- .colpick_rgbhex_ns .colpick_rgb_g {
321
- top: 73px;
322
- }
323
- .colpick_rgbhex_ns .colpick_rgb_b {
324
- top: 104px;
325
- }
326
- .colpick_rgbhex_ns .colpick_hex_field {
327
- top: 135px;
328
- }
329
-
330
- /*hex layout*/
331
- .colpick_hex .colpick_hsb_h, .colpick_hex .colpick_hsb_s, .colpick_hex .colpick_hsb_b, .colpick_hex .colpick_rgb_r, .colpick_hex .colpick_rgb_g, .colpick_hex .colpick_rgb_b {
332
- display:none;
333
- }
334
- .colpick_hex {
335
- width:206px;
336
- height:201px;
337
- }
338
- .colpick_hex .colpick_hex_field {
339
- width:72px;
340
- height:25px;
341
- top:168px;
342
- left:80px;
343
- }
344
- .colpick_hex .colpick_hex_field div, .colpick_hex .colpick_hex_field input {
345
- height: 25px;
346
- line-height: 25px;
347
- }
348
- .colpick_hex .colpick_new_color {
349
- left:9px;
350
- top:168px;
351
- width:30px;
352
- border-right:none;
353
- }
354
- .colpick_hex .colpick_current_color {
355
- left:39px;
356
- top:168px;
357
- width:30px;
358
- border-left:none;
359
- }
360
- .colpick_hex .colpick_submit {
361
- left:164px;
362
- top: 168px;
363
- width:30px;
364
- height:25px;
365
- line-height: 25px;
366
- }
367
-
368
- /*hex layout, no submit button*/
369
- .colpick_hex_ns .colpick_submit, .colpick_hex_ns .colpick_current_color {
370
- display:none;
371
- }
372
- .colpick_hex_ns .colpick_hex_field {
373
- width:80px;
374
- }
375
- .colpick_hex_ns .colpick_new_color{
376
- width:60px;
377
- border: 1px solid #8f8f8f;
378
- }
379
-
380
- /*Dark color scheme*/
381
- .colpick_dark {
382
- background: #161616;
383
- border-color: #2a2a2a;
384
- }
385
- .colpick_dark .colpick_color {
386
- outline-color: #333;
387
- }
388
- .colpick_dark .colpick_hue {
389
- border-color: #555;
390
- }
391
- .colpick_dark .colpick_field, .colpick_dark .colpick_hex_field {
392
- background: #101010;
393
- border-color: #2d2d2d;
394
- }
395
- .colpick_dark .colpick_field_letter {
396
- background: #131313;
397
- border-color: #2d2d2d;
398
- color: #696969;
399
- }
400
- .colpick_dark .colpick_field input, .colpick_dark .colpick_hex_field input {
401
- color: #7a7a7a;
402
- }
403
- .colpick_dark .colpick_field_uarr {
404
- border-bottom-color:#696969;
405
- }
406
- .colpick_dark .colpick_field_darr {
407
- border-top-color:#696969;
408
- }
409
- .colpick_dark .colpick_focus {
410
- border-color:#444;
411
- }
412
- .colpick_dark .colpick_submit {
413
- background: #131313;
414
- border-color:#2d2d2d;
415
- color:#7a7a7a;
416
- }
417
- .colpick_dark .colpick_submit:hover {
418
- background-color:#101010;
419
- border-color:#444;
420
  }
1
+ /*
2
+ colpick Color Picker / colpick.com
3
+ */
4
+
5
+ /*Main container*/
6
+ .colpick {
7
+ position: absolute;
8
+ width: 346px;
9
+ height: 170px;
10
+ overflow: hidden;
11
+ display: none;
12
+ font-family: Arial, Helvetica, sans-serif;
13
+ background:#ebebeb;
14
+ border: 1px solid #bbb;
15
+ -webkit-border-radius: 5px;
16
+ -moz-border-radius: 5px;
17
+ border-radius: 5px;
18
+
19
+ /*Prevents selecting text when dragging the selectors*/
20
+ -webkit-user-select: none;
21
+ -moz-user-select: none;
22
+ -ms-user-select: none;
23
+ -o-user-select: none;
24
+ user-select: none;
25
+ }
26
+ /*Color selection box with gradients*/
27
+ .colpick_color {
28
+ position: absolute;
29
+ left: 7px;
30
+ top: 7px;
31
+ width: 156px;
32
+ height: 156px;
33
+ overflow: hidden;
34
+ outline: 1px solid #aaa;
35
+ cursor: crosshair;
36
+ }
37
+ .colpick_color_overlay1 {
38
+ position: absolute;
39
+ left:0;
40
+ top:0;
41
+ width: 156px;
42
+ height: 156px;
43
+ -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr='#ffffff', endColorstr='#00ffffff')"; /* IE8 */
44
+ background: -moz-linear-gradient(left, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%); /* FF3.6+ */
45
+ background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(255,255,255,1)), color-stop(100%,rgba(255,255,255,0))); /* Chrome,Safari4+ */
46
+ background: -webkit-linear-gradient(left, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%); /* Chrome10+,Safari5.1+ */
47
+ background: -o-linear-gradient(left, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%); /* Opera 11.10+ */
48
+ background: -ms-linear-gradient(left, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%); /* IE10+ */
49
+ background: linear-gradient(to right, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
50
+ filter: progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr='#ffffff', endColorstr='#00ffffff'); /* IE6 & IE7 */
51
+ }
52
+ .colpick_color_overlay2 {
53
+ position: absolute;
54
+ left:0;
55
+ top:0;
56
+ width: 156px;
57
+ height: 156px;
58
+ -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#00000000', endColorstr='#000000')"; /* IE8 */
59
+ background: -moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%); /* FF3.6+ */
60
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(0,0,0,0)), color-stop(100%,rgba(0,0,0,1))); /* Chrome,Safari4+ */
61
+ background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,1) 100%); /* Chrome10+,Safari5.1+ */
62
+ background: -o-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,1) 100%); /* Opera 11.10+ */
63
+ background: -ms-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,1) 100%); /* IE10+ */
64
+ background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,1) 100%); /* W3C */
65
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#000000',GradientType=0 ); /* IE6-9 */
66
+ }
67
+ /*Circular color selector*/
68
+ .colpick_selector_outer {
69
+ background:none;
70
+ position: absolute;
71
+ width: 11px;
72
+ height: 11px;
73
+ margin: -6px 0 0 -6px;
74
+ border: 1px solid black;
75
+ border-radius: 50%;
76
+ }
77
+ .colpick_selector_inner{
78
+ position: absolute;
79
+ width: 9px;
80
+ height: 9px;
81
+ border: 1px solid white;
82
+ border-radius: 50%;
83
+ }
84
+ /*Vertical hue bar*/
85
+ .colpick_hue {
86
+ position: absolute;
87
+ top: 6px;
88
+ left: 175px;
89
+ width: 19px;
90
+ height: 156px;
91
+ border: 1px solid #aaa;
92
+ cursor: n-resize;
93
+ }
94
+ /*Hue bar sliding indicator*/
95
+ .colpick_hue_arrs {
96
+ position: absolute;
97
+ left: -8px;
98
+ width: 35px;
99
+ height: 7px;
100
+ margin: -7px 0 0 0;
101
+ }
102
+ .colpick_hue_larr {
103
+ position:absolute;
104
+ width: 0;
105
+ height: 0;
106
+ border-top: 6px solid transparent;
107
+ border-bottom: 6px solid transparent;
108
+ border-left: 7px solid #858585;
109
+ }
110
+ .colpick_hue_rarr {
111
+ position:absolute;
112
+ right:0;
113
+ width: 0;
114
+ height: 0;
115
+ border-top: 6px solid transparent;
116
+ border-bottom: 6px solid transparent;
117
+ border-right: 7px solid #858585;
118
+ }
119
+ /*New color box*/
120
+ .colpick_new_color {
121
+ position: absolute;
122
+ left: 207px;
123
+ top: 6px;
124
+ width: 60px;
125
+ height: 27px;
126
+ background: #f00;
127
+ border: 1px solid #8f8f8f;
128
+ }
129
+ /*Current color box*/
130
+ .colpick_current_color {
131
+ position: absolute;
132
+ left: 277px;
133
+ top: 6px;
134
+ width: 60px;
135
+ height: 27px;
136
+ background: #f00;
137
+ border: 1px solid #8f8f8f;
138
+ }
139
+ /*Input field containers*/
140
+ .colpick_field, .colpick_hex_field {
141
+ position: absolute;
142
+ height: 20px;
143
+ width: 60px;
144
+ overflow:hidden;
145
+ background:#f3f3f3;
146
+ color:#b8b8b8;
147
+ font-size:12px;
148
+ border:1px solid #bdbdbd;
149
+ -webkit-border-radius: 3px;
150
+ -moz-border-radius: 3px;
151
+ border-radius: 3px;
152
+ }
153
+ .colpick_rgb_r {
154
+ top: 40px;
155
+ left: 207px;
156
+ }
157
+ .colpick_rgb_g {
158
+ top: 67px;
159
+ left: 207px;
160
+ }
161
+ .colpick_rgb_b {
162
+ top: 94px;
163
+ left: 207px;
164
+ }
165
+ .colpick_hsb_h {
166
+ top: 40px;
167
+ left: 277px;
168
+ }
169
+ .colpick_hsb_s {
170
+ top: 67px;
171
+ left: 277px;
172
+ }
173
+ .colpick_hsb_b {
174
+ top: 94px;
175
+ left: 277px;
176
+ }
177
+ .colpick_hex_field {
178
+ width: 68px;
179
+ left: 207px;
180
+ top: 121px;
181
+ }
182
+ /*Text field container on focus*/
183
+ .colpick_focus {
184
+ border-color: #999;
185
+ }
186
+ /*Field label container*/
187
+ .colpick_field_letter {
188
+ position: absolute;
189
+ width: 12px;
190
+ height: 20px;
191
+ line-height: 20px;
192
+ padding-left: 4px;
193
+ background: #efefef;
194
+ border-right: 1px solid #bdbdbd;
195
+ font-weight: bold;
196
+ color:#777;
197
+ }
198
+ /*Text inputs*/
199
+ .colpick_field input, .colpick_hex_field input {
200
+ position: absolute;
201
+ right: 11px;
202
+ margin: 0;
203
+ padding: 0;
204
+ height: 20px;
205
+ line-height: 20px;
206
+ background: transparent;
207
+ border: none;
208
+ font-size: 12px;
209
+ font-family: Arial, Helvetica, sans-serif;
210
+ color: #555;
211
+ text-align: right;
212
+ outline: none;
213
+ }
214
+ .colpick_hex_field input {
215
+ right: 4px;
216
+ }
217
+ /*Field up/down arrows*/
218
+ .colpick_field_arrs {
219
+ position: absolute;
220
+ top: 0;
221
+ right: 0;
222
+ width: 9px;
223
+ height: 21px;
224
+ cursor: n-resize;
225
+ }
226
+ .colpick_field_uarr {
227
+ position: absolute;
228
+ top: 5px;
229
+ width: 0;
230
+ height: 0;
231
+ border-left: 4px solid transparent;
232
+ border-right: 4px solid transparent;
233
+ border-bottom: 4px solid #959595;
234
+ }
235
+ .colpick_field_darr {
236
+ position: absolute;
237
+ bottom:5px;
238
+ width: 0;
239
+ height: 0;
240
+ border-left: 4px solid transparent;
241
+ border-right: 4px solid transparent;
242
+ border-top: 4px solid #959595;
243
+ }
244
+ /*Submit/Select button*/
245
+ .colpick_submit {
246
+ position: absolute;
247
+ left: 207px;
248
+ top: 149px;
249
+ width: 130px;
250
+ height: 22px;
251
+ line-height:22px;
252
+ background: #efefef;
253
+ text-align: center;
254
+ color: #555;
255
+ font-size: 12px;
256
+ font-weight:bold;
257
+ border: 1px solid #bdbdbd;
258
+ -webkit-border-radius: 3px;
259
+ -moz-border-radius: 3px;
260
+ border-radius: 3px;
261
+ }
262
+ .colpick_submit:hover {
263
+ background:#f3f3f3;
264
+ border-color:#999;
265
+ cursor: pointer;
266
+ }
267
+
268
+ /*full layout with no submit button*/
269
+ .colpick_full_ns .colpick_submit, .colpick_full_ns .colpick_current_color{
270
+ display:none;
271
+ }
272
+ .colpick_full_ns .colpick_new_color {
273
+ width: 130px;
274
+ height: 25px;
275
+ }
276
+ .colpick_full_ns .colpick_rgb_r, .colpick_full_ns .colpick_hsb_h {
277
+ top: 42px;
278
+ }
279
+ .colpick_full_ns .colpick_rgb_g, .colpick_full_ns .colpick_hsb_s {
280
+ top: 73px;
281
+ }
282
+ .colpick_full_ns .colpick_rgb_b, .colpick_full_ns .colpick_hsb_b {
283
+ top: 104px;
284
+ }
285
+ .colpick_full_ns .colpick_hex_field {
286
+ top: 135px;
287
+ }
288
+
289
+ /*rgbhex layout*/
290
+ .colpick_rgbhex .colpick_hsb_h, .colpick_rgbhex .colpick_hsb_s, .colpick_rgbhex .colpick_hsb_b {
291
+ display:none;
292
+ }
293
+ .colpick_rgbhex {
294
+ width:282px;
295
+ }
296
+ .colpick_rgbhex .colpick_field, .colpick_rgbhex .colpick_submit {
297
+ width:68px;
298
+ }
299
+ .colpick_rgbhex .colpick_new_color {
300
+ width:34px;
301
+ border-right:none;
302
+ }
303
+ .colpick_rgbhex .colpick_current_color {
304
+ width:34px;
305
+ left:240px;
306
+ border-left:none;
307
+ }
308
+
309
+ /*rgbhex layout, no submit button*/
310
+ .colpick_rgbhex_ns .colpick_submit, .colpick_rgbhex_ns .colpick_current_color{
311
+ display:none;
312
+ }
313
+ .colpick_rgbhex_ns .colpick_new_color{
314
+ width:68px;
315
+ border: 1px solid #8f8f8f;
316
+ }
317
+ .colpick_rgbhex_ns .colpick_rgb_r {
318
+ top: 42px;
319
+ }
320
+ .colpick_rgbhex_ns .colpick_rgb_g {
321
+ top: 73px;
322
+ }
323
+ .colpick_rgbhex_ns .colpick_rgb_b {
324
+ top: 104px;
325
+ }
326
+ .colpick_rgbhex_ns .colpick_hex_field {
327
+ top: 135px;
328
+ }
329
+
330
+ /*hex layout*/
331
+ .colpick_hex .colpick_hsb_h, .colpick_hex .colpick_hsb_s, .colpick_hex .colpick_hsb_b, .colpick_hex .colpick_rgb_r, .colpick_hex .colpick_rgb_g, .colpick_hex .colpick_rgb_b {
332
+ display:none;
333
+ }
334
+ .colpick_hex {
335
+ width:206px;
336
+ height:201px;
337
+ }
338
+ .colpick_hex .colpick_hex_field {
339
+ width:72px;
340
+ height:25px;
341
+ top:168px;
342
+ left:80px;
343
+ }
344
+ .colpick_hex .colpick_hex_field div, .colpick_hex .colpick_hex_field input {
345
+ height: 25px;
346
+ line-height: 25px;
347
+ }
348
+ .colpick_hex .colpick_new_color {
349
+ left:9px;
350
+ top:168px;
351
+ width:30px;
352
+ border-right:none;
353
+ }
354
+ .colpick_hex .colpick_current_color {
355
+ left:39px;
356
+ top:168px;
357
+ width:30px;
358
+ border-left:none;
359
+ }
360
+ .colpick_hex .colpick_submit {
361
+ left:164px;
362
+ top: 168px;
363
+ width:30px;
364
+ height:25px;
365
+ line-height: 25px;
366
+ }
367
+
368
+ /*hex layout, no submit button*/
369
+ .colpick_hex_ns .colpick_submit, .colpick_hex_ns .colpick_current_color {
370
+ display:none;
371
+ }
372
+ .colpick_hex_ns .colpick_hex_field {
373
+ width:80px;
374
+ }
375
+ .colpick_hex_ns .colpick_new_color{
376
+ width:60px;
377
+ border: 1px solid #8f8f8f;
378
+ }
379
+
380
+ /*Dark color scheme*/
381
+ .colpick_dark {
382
+ background: #161616;
383
+ border-color: #2a2a2a;
384
+ }
385
+ .colpick_dark .colpick_color {
386
+ outline-color: #333;
387
+ }
388
+ .colpick_dark .colpick_hue {
389
+ border-color: #555;
390
+ }
391
+ .colpick_dark .colpick_field, .colpick_dark .colpick_hex_field {
392
+ background: #101010;
393
+ border-color: #2d2d2d;
394
+ }
395
+ .colpick_dark .colpick_field_letter {
396
+ background: #131313;
397
+ border-color: #2d2d2d;
398
+ color: #696969;
399
+ }
400
+ .colpick_dark .colpick_field input, .colpick_dark .colpick_hex_field input {
401
+ color: #7a7a7a;
402
+ }
403
+ .colpick_dark .colpick_field_uarr {
404
+ border-bottom-color:#696969;
405
+ }
406
+ .colpick_dark .colpick_field_darr {
407
+ border-top-color:#696969;
408
+ }
409
+ .colpick_dark .colpick_focus {
410
+ border-color:#444;
411
+ }
412
+ .colpick_dark .colpick_submit {
413
+ background: #131313;
414
+ border-color:#2d2d2d;
415
+ color:#7a7a7a;
416
+ }
417
+ .colpick_dark .colpick_submit:hover {
418
+ background-color:#101010;
419
+ border-color:#444;
420
  }
berocket/assets/css/font-awesome.min.css CHANGED
@@ -1,4 +1,4 @@
1
- /*!
2
- * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
3
- * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
4
- */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}
1
+ /*!
2
+ * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
3
+ * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
4
+ */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}
berocket/assets/css/fontawesome4-compat.min.css CHANGED
@@ -1,5 +1,5 @@
1
- /*!
2
- * Font Awesome Free 5.3.1 by @fontawesome - https://fontawesome.com
3
- * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
4
- */
5
  .fa.fa-glass:before{content:"\f000"}.fa.fa-meetup{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-star-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-star-o:before{content:"\f005"}.fa.fa-close:before,.fa.fa-remove:before{content:"\f00d"}.fa.fa-gear:before{content:"\f013"}.fa.fa-trash-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-trash-o:before{content:"\f2ed"}.fa.fa-file-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-o:before{content:"\f15b"}.fa.fa-clock-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-clock-o:before{content:"\f017"}.fa.fa-arrow-circle-o-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-arrow-circle-o-down:before{content:"\f358"}.fa.fa-arrow-circle-o-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-arrow-circle-o-up:before{content:"\f35b"}.fa.fa-play-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-play-circle-o:before{content:"\f144"}.fa.fa-repeat:before,.fa.fa-rotate-right:before{content:"\f01e"}.fa.fa-refresh:before{content:"\f021"}.fa.fa-list-alt{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-dedent:before{content:"\f03b"}.fa.fa-video-camera:before{content:"\f03d"}.fa.fa-picture-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-picture-o:before{content:"\f03e"}.fa.fa-photo{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-photo:before{content:"\f03e"}.fa.fa-image{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-image:before{content:"\f03e"}.fa.fa-pencil:before{content:"\f303"}.fa.fa-map-marker:before{content:"\f3c5"}.fa.fa-pencil-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-pencil-square-o:before{content:"\f044"}.fa.fa-share-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-share-square-o:before{content:"\f14d"}.fa.fa-check-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-check-square-o:before{content:"\f14a"}.fa.fa-arrows:before{content:"\f0b2"}.fa.fa-times-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-times-circle-o:before{content:"\f057"}.fa.fa-check-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-check-circle-o:before{content:"\f058"}.fa.fa-mail-forward:before{content:"\f064"}.fa.fa-eye,.fa.fa-eye-slash{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-warning:before{content:"\f071"}.fa.fa-calendar:before{content:"\f073"}.fa.fa-arrows-v:before{content:"\f338"}.fa.fa-arrows-h:before{content:"\f337"}.fa.fa-bar-chart{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bar-chart:before{content:"\f080"}.fa.fa-bar-chart-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bar-chart-o:before{content:"\f080"}.fa.fa-facebook-square,.fa.fa-twitter-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-gears:before{content:"\f085"}.fa.fa-thumbs-o-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-thumbs-o-up:before{content:"\f164"}.fa.fa-thumbs-o-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-thumbs-o-down:before{content:"\f165"}.fa.fa-heart-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-heart-o:before{content:"\f004"}.fa.fa-sign-out:before{content:"\f2f5"}.fa.fa-linkedin-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-linkedin-square:before{content:"\f08c"}.fa.fa-thumb-tack:before{content:"\f08d"}.fa.fa-external-link:before{content:"\f35d"}.fa.fa-sign-in:before{content:"\f2f6"}.fa.fa-github-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-lemon-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-lemon-o:before{content:"\f094"}.fa.fa-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-square-o:before{content:"\f0c8"}.fa.fa-bookmark-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bookmark-o:before{content:"\f02e"}.fa.fa-facebook,.fa.fa-twitter{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-facebook:before{content:"\f39e"}.fa.fa-facebook-f{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-facebook-f:before{content:"\f39e"}.fa.fa-github{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-credit-card{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-feed:before{content:"\f09e"}.fa.fa-hdd-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hdd-o:before{content:"\f0a0"}.fa.fa-hand-o-right{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-o-right:before{content:"\f0a4"}.fa.fa-hand-o-left{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-o-left:before{content:"\f0a5"}.fa.fa-hand-o-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-o-up:before{content:"\f0a6"}.fa.fa-hand-o-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-o-down:before{content:"\f0a7"}.fa.fa-arrows-alt:before{content:"\f31e"}.fa.fa-group:before{content:"\f0c0"}.fa.fa-chain:before{content:"\f0c1"}.fa.fa-scissors:before{content:"\f0c4"}.fa.fa-files-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-files-o:before{content:"\f0c5"}.fa.fa-floppy-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-floppy-o:before{content:"\f0c7"}.fa.fa-navicon:before,.fa.fa-reorder:before{content:"\f0c9"}.fa.fa-google-plus,.fa.fa-google-plus-square,.fa.fa-pinterest,.fa.fa-pinterest-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-google-plus:before{content:"\f0d5"}.fa.fa-money{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-money:before{content:"\f3d1"}.fa.fa-unsorted:before{content:"\f0dc"}.fa.fa-sort-desc:before{content:"\f0dd"}.fa.fa-sort-asc:before{content:"\f0de"}.fa.fa-linkedin{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-linkedin:before{content:"\f0e1"}.fa.fa-rotate-left:before{content:"\f0e2"}.fa.fa-legal:before{content:"\f0e3"}.fa.fa-dashboard:before,.fa.fa-tachometer:before{content:"\f3fd"}.fa.fa-comment-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-comment-o:before{content:"\f075"}.fa.fa-comments-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-comments-o:before{content:"\f086"}.fa.fa-flash:before{content:"\f0e7"}.fa.fa-clipboard,.fa.fa-paste{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-paste:before{content:"\f328"}.fa.fa-lightbulb-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-lightbulb-o:before{content:"\f0eb"}.fa.fa-exchange:before{content:"\f362"}.fa.fa-cloud-download:before{content:"\f381"}.fa.fa-cloud-upload:before{content:"\f382"}.fa.fa-bell-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bell-o:before{content:"\f0f3"}.fa.fa-cutlery:before{content:"\f2e7"}.fa.fa-file-text-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-text-o:before{content:"\f15c"}.fa.fa-building-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-building-o:before{content:"\f1ad"}.fa.fa-hospital-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hospital-o:before{content:"\f0f8"}.fa.fa-tablet:before{content:"\f3fa"}.fa.fa-mobile-phone:before,.fa.fa-mobile:before{content:"\f3cd"}.fa.fa-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-circle-o:before{content:"\f111"}.fa.fa-mail-reply:before{content:"\f3e5"}.fa.fa-github-alt{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-folder-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-folder-o:before{content:"\f07b"}.fa.fa-folder-open-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-folder-open-o:before{content:"\f07c"}.fa.fa-smile-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-smile-o:before{content:"\f118"}.fa.fa-frown-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-frown-o:before{content:"\f119"}.fa.fa-meh-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-meh-o:before{content:"\f11a"}.fa.fa-keyboard-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-keyboard-o:before{content:"\f11c"}.fa.fa-flag-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-flag-o:before{content:"\f024"}.fa.fa-mail-reply-all:before{content:"\f122"}.fa.fa-star-half-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-star-half-o:before{content:"\f089"}.fa.fa-star-half-empty{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-star-half-empty:before{content:"\f089"}.fa.fa-star-half-full{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-star-half-full:before{content:"\f089"}.fa.fa-code-fork:before{content:"\f126"}.fa.fa-chain-broken:before{content:"\f127"}.fa.fa-shield:before{content:"\f3ed"}.fa.fa-calendar-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-o:before{content:"\f133"}.fa.fa-css3,.fa.fa-html5,.fa.fa-maxcdn{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-ticket:before{content:"\f3ff"}.fa.fa-minus-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-minus-square-o:before{content:"\f146"}.fa.fa-level-up:before{content:"\f3bf"}.fa.fa-level-down:before{content:"\f3be"}.fa.fa-pencil-square:before{content:"\f14b"}.fa.fa-external-link-square:before{content:"\f360"}.fa.fa-compass{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-down:before{content:"\f150"}.fa.fa-toggle-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-toggle-down:before{content:"\f150"}.fa.fa-caret-square-o-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-up:before{content:"\f151"}.fa.fa-toggle-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-toggle-up:before{content:"\f151"}.fa.fa-caret-square-o-right{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-right:before{content:"\f152"}.fa.fa-toggle-right{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-toggle-right:before{content:"\f152"}.fa.fa-eur:before,.fa.fa-euro:before{content:"\f153"}.fa.fa-gbp:before{content:"\f154"}.fa.fa-dollar:before,.fa.fa-usd:before{content:"\f155"}.fa.fa-inr:before,.fa.fa-rupee:before{content:"\f156"}.fa.fa-cny:before,.fa.fa-jpy:before,.fa.fa-rmb:before,.fa.fa-yen:before{content:"\f157"}.fa.fa-rouble:before,.fa.fa-rub:before,.fa.fa-ruble:before{content:"\f158"}.fa.fa-krw:before,.fa.fa-won:before{content:"\f159"}.fa.fa-bitcoin,.fa.fa-btc{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-bitcoin:before{content:"\f15a"}.fa.fa-file-text:before{content:"\f15c"}.fa.fa-sort-alpha-asc:before{content:"\f15d"}.fa.fa-sort-alpha-desc:before{content:"\f15e"}.fa.fa-sort-amount-asc:before{content:"\f160"}.fa.fa-sort-amount-desc:before{content:"\f161"}.fa.fa-sort-numeric-asc:before{content:"\f162"}.fa.fa-sort-numeric-desc:before{content:"\f163"}.fa.fa-xing,.fa.fa-xing-square,.fa.fa-youtube,.fa.fa-youtube-play,.fa.fa-youtube-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-youtube-play:before{content:"\f167"}.fa.fa-adn,.fa.fa-bitbucket,.fa.fa-bitbucket-square,.fa.fa-dropbox,.fa.fa-flickr,.fa.fa-instagram,.fa.fa-stack-overflow{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-bitbucket-square:before{content:"\f171"}.fa.fa-tumblr,.fa.fa-tumblr-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-long-arrow-down:before{content:"\f309"}.fa.fa-long-arrow-up:before{content:"\f30c"}.fa.fa-long-arrow-left:before{content:"\f30a"}.fa.fa-long-arrow-right:before{content:"\f30b"}.fa.fa-android,.fa.fa-apple,.fa.fa-dribbble,.fa.fa-foursquare,.fa.fa-gittip,.fa.fa-gratipay,.fa.fa-linux,.fa.fa-skype,.fa.fa-trello,.fa.fa-windows{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-gittip:before{content:"\f184"}.fa.fa-sun-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-sun-o:before{content:"\f185"}.fa.fa-moon-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-moon-o:before{content:"\f186"}.fa.fa-pagelines,.fa.fa-renren,.fa.fa-stack-exchange,.fa.fa-vk,.fa.fa-weibo{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-arrow-circle-o-right{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-arrow-circle-o-right:before{content:"\f35a"}.fa.fa-arrow-circle-o-left{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-arrow-circle-o-left:before{content:"\f359"}.fa.fa-caret-square-o-left{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-left:before{content:"\f191"}.fa.fa-toggle-left{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-toggle-left:before{content:"\f191"}.fa.fa-dot-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-dot-circle-o:before{content:"\f192"}.fa.fa-vimeo-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-try:before,.fa.fa-turkish-lira:before{content:"\f195"}.fa.fa-plus-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-plus-square-o:before{content:"\f0fe"}.fa.fa-openid,.fa.fa-slack,.fa.fa-wordpress{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-bank:before,.fa.fa-institution:before{content:"\f19c"}.fa.fa-mortar-board:before{content:"\f19d"}.fa.fa-delicious,.fa.fa-digg,.fa.fa-drupal,.fa.fa-google,.fa.fa-joomla,.fa.fa-pied-piper-alt,.fa.fa-pied-piper-pp,.fa.fa-reddit,.fa.fa-reddit-square,.fa.fa-stumbleupon,.fa.fa-stumbleupon-circle,.fa.fa-yahoo{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-spoon:before{content:"\f2e5"}.fa.fa-behance,.fa.fa-behance-square,.fa.fa-steam,.fa.fa-steam-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-automobile:before{content:"\f1b9"}.fa.fa-cab:before{content:"\f1ba"}.fa.fa-envelope-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-envelope-o:before{content:"\f0e0"}.fa.fa-deviantart,.fa.fa-soundcloud{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-file-pdf-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-pdf-o:before{content:"\f1c1"}.fa.fa-file-word-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-word-o:before{content:"\f1c2"}.fa.fa-file-excel-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-excel-o:before{content:"\f1c3"}.fa.fa-file-powerpoint-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-powerpoint-o:before{content:"\f1c4"}.fa.fa-file-image-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-image-o:before{content:"\f1c5"}.fa.fa-file-photo-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-photo-o:before{content:"\f1c5"}.fa.fa-file-picture-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-picture-o:before{content:"\f1c5"}.fa.fa-file-archive-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-archive-o:before{content:"\f1c6"}.fa.fa-file-zip-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-zip-o:before{content:"\f1c6"}.fa.fa-file-audio-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-audio-o:before{content:"\f1c7"}.fa.fa-file-sound-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-sound-o:before{content:"\f1c7"}.fa.fa-file-video-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-video-o:before{content:"\f1c8"}.fa.fa-file-movie-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-movie-o:before{content:"\f1c8"}.fa.fa-file-code-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-code-o:before{content:"\f1c9"}.fa.fa-codepen,.fa.fa-jsfiddle,.fa.fa-vine{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-life-bouy,.fa.fa-life-ring{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-life-bouy:before{content:"\f1cd"}.fa.fa-life-buoy{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-life-buoy:before{content:"\f1cd"}.fa.fa-life-saver{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-life-saver:before{content:"\f1cd"}.fa.fa-support{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-support:before{content:"\f1cd"}.fa.fa-circle-o-notch:before{content:"\f1ce"}.fa.fa-ra,.fa.fa-rebel{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-ra:before{content:"\f1d0"}.fa.fa-resistance{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-resistance:before{content:"\f1d0"}.fa.fa-empire,.fa.fa-ge{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-ge:before{content:"\f1d1"}.fa.fa-git,.fa.fa-git-square,.fa.fa-hacker-news,.fa.fa-y-combinator-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-y-combinator-square:before{content:"\f1d4"}.fa.fa-yc-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-yc-square:before{content:"\f1d4"}.fa.fa-qq,.fa.fa-tencent-weibo,.fa.fa-wechat,.fa.fa-weixin{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-wechat:before{content:"\f1d7"}.fa.fa-send:before{content:"\f1d8"}.fa.fa-paper-plane-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-paper-plane-o:before{content:"\f1d8"}.fa.fa-send-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-send-o:before{content:"\f1d8"}.fa.fa-circle-thin{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-circle-thin:before{content:"\f111"}.fa.fa-header:before{content:"\f1dc"}.fa.fa-sliders:before{content:"\f1de"}.fa.fa-futbol-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-futbol-o:before{content:"\f1e3"}.fa.fa-soccer-ball-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-soccer-ball-o:before{content:"\f1e3"}.fa.fa-slideshare,.fa.fa-twitch,.fa.fa-yelp{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-newspaper-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-newspaper-o:before{content:"\f1ea"}.fa.fa-cc-amex,.fa.fa-cc-discover,.fa.fa-cc-mastercard,.fa.fa-cc-paypal,.fa.fa-cc-stripe,.fa.fa-cc-visa,.fa.fa-google-wallet,.fa.fa-paypal{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-bell-slash-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bell-slash-o:before{content:"\f1f6"}.fa.fa-trash:before{content:"\f2ed"}.fa.fa-copyright{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-eyedropper:before{content:"\f1fb"}.fa.fa-area-chart:before{content:"\f1fe"}.fa.fa-pie-chart:before{content:"\f200"}.fa.fa-line-chart:before{content:"\f201"}.fa.fa-angellist,.fa.fa-ioxhost,.fa.fa-lastfm,.fa.fa-lastfm-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-cc{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-cc:before{content:"\f20a"}.fa.fa-ils:before,.fa.fa-shekel:before,.fa.fa-sheqel:before{content:"\f20b"}.fa.fa-meanpath{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-meanpath:before{content:"\f2b4"}.fa.fa-buysellads,.fa.fa-connectdevelop,.fa.fa-dashcube,.fa.fa-forumbee,.fa.fa-leanpub,.fa.fa-sellsy,.fa.fa-shirtsinbulk,.fa.fa-simplybuilt,.fa.fa-skyatlas{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-diamond{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-diamond:before{content:"\f3a5"}.fa.fa-intersex:before{content:"\f224"}.fa.fa-facebook-official{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-facebook-official:before{content:"\f09a"}.fa.fa-pinterest-p,.fa.fa-whatsapp{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-hotel:before{content:"\f236"}.fa.fa-medium,.fa.fa-viacoin,.fa.fa-y-combinator,.fa.fa-yc{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-yc:before{content:"\f23b"}.fa.fa-expeditedssl,.fa.fa-opencart,.fa.fa-optin-monster{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-battery-4:before,.fa.fa-battery:before{content:"\f240"}.fa.fa-battery-3:before{content:"\f241"}.fa.fa-battery-2:before{content:"\f242"}.fa.fa-battery-1:before{content:"\f243"}.fa.fa-battery-0:before{content:"\f244"}.fa.fa-object-group,.fa.fa-object-ungroup,.fa.fa-sticky-note-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-sticky-note-o:before{content:"\f249"}.fa.fa-cc-diners-club,.fa.fa-cc-jcb{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-clone,.fa.fa-hourglass-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hourglass-o:before{content:"\f254"}.fa.fa-hourglass-1:before{content:"\f251"}.fa.fa-hourglass-2:before{content:"\f252"}.fa.fa-hourglass-3:before{content:"\f253"}.fa.fa-hand-rock-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-rock-o:before{content:"\f255"}.fa.fa-hand-grab-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-grab-o:before{content:"\f255"}.fa.fa-hand-paper-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-paper-o:before{content:"\f256"}.fa.fa-hand-stop-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-stop-o:before{content:"\f256"}.fa.fa-hand-scissors-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-scissors-o:before{content:"\f257"}.fa.fa-hand-lizard-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-lizard-o:before{content:"\f258"}.fa.fa-hand-spock-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-spock-o:before{content:"\f259"}.fa.fa-hand-pointer-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-pointer-o:before{content:"\f25a"}.fa.fa-hand-peace-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-peace-o:before{content:"\f25b"}.fa.fa-registered{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-chrome,.fa.fa-creative-commons,.fa.fa-firefox,.fa.fa-get-pocket,.fa.fa-gg,.fa.fa-gg-circle,.fa.fa-internet-explorer,.fa.fa-odnoklassniki,.fa.fa-odnoklassniki-square,.fa.fa-opera,.fa.fa-safari,.fa.fa-tripadvisor,.fa.fa-wikipedia-w{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-television:before{content:"\f26c"}.fa.fa-500px,.fa.fa-amazon,.fa.fa-contao{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-calendar-plus-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-plus-o:before{content:"\f271"}.fa.fa-calendar-minus-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-minus-o:before{content:"\f272"}.fa.fa-calendar-times-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-times-o:before{content:"\f273"}.fa.fa-calendar-check-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-check-o:before{content:"\f274"}.fa.fa-map-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-map-o:before{content:"\f279"}.fa.fa-commenting{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-commenting:before{content:"\f4ad"}.fa.fa-commenting-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-commenting-o:before{content:"\f4ad"}.fa.fa-houzz,.fa.fa-vimeo{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-vimeo:before{content:"\f27d"}.fa.fa-black-tie,.fa.fa-edge,.fa.fa-fonticons,.fa.fa-reddit-alien{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-credit-card-alt:before{content:"\f09d"}.fa.fa-codiepie,.fa.fa-fort-awesome,.fa.fa-mixcloud,.fa.fa-modx,.fa.fa-product-hunt,.fa.fa-scribd,.fa.fa-usb{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-pause-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-pause-circle-o:before{content:"\f28b"}.fa.fa-stop-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-stop-circle-o:before{content:"\f28d"}.fa.fa-bluetooth,.fa.fa-bluetooth-b,.fa.fa-envira,.fa.fa-gitlab,.fa.fa-wheelchair-alt,.fa.fa-wpbeginner,.fa.fa-wpforms{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-wheelchair-alt:before{content:"\f368"}.fa.fa-question-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-question-circle-o:before{content:"\f059"}.fa.fa-volume-control-phone:before{content:"\f2a0"}.fa.fa-asl-interpreting:before{content:"\f2a3"}.fa.fa-deafness:before,.fa.fa-hard-of-hearing:before{content:"\f2a4"}.fa.fa-glide,.fa.fa-glide-g{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-signing:before{content:"\f2a7"}.fa.fa-first-order,.fa.fa-google-plus-official,.fa.fa-pied-piper,.fa.fa-snapchat,.fa.fa-snapchat-ghost,.fa.fa-snapchat-square,.fa.fa-themeisle,.fa.fa-viadeo,.fa.fa-viadeo-square,.fa.fa-yoast{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-google-plus-official:before{content:"\f2b3"}.fa.fa-google-plus-circle{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-google-plus-circle:before{content:"\f2b3"}.fa.fa-fa,.fa.fa-font-awesome{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-fa:before{content:"\f2b4"}.fa.fa-handshake-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-handshake-o:before{content:"\f2b5"}.fa.fa-envelope-open-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-envelope-open-o:before{content:"\f2b6"}.fa.fa-linode{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-address-book-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-address-book-o:before{content:"\f2b9"}.fa.fa-vcard:before{content:"\f2bb"}.fa.fa-address-card-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-address-card-o:before{content:"\f2bb"}.fa.fa-vcard-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-vcard-o:before{content:"\f2bb"}.fa.fa-user-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-user-circle-o:before{content:"\f2bd"}.fa.fa-user-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-user-o:before{content:"\f007"}.fa.fa-id-badge{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-drivers-license:before{content:"\f2c2"}.fa.fa-id-card-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-id-card-o:before{content:"\f2c2"}.fa.fa-drivers-license-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-drivers-license-o:before{content:"\f2c2"}.fa.fa-free-code-camp,.fa.fa-quora,.fa.fa-telegram{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-thermometer-4:before,.fa.fa-thermometer:before{content:"\f2c7"}.fa.fa-thermometer-3:before{content:"\f2c8"}.fa.fa-thermometer-2:before{content:"\f2c9"}.fa.fa-thermometer-1:before{content:"\f2ca"}.fa.fa-thermometer-0:before{content:"\f2cb"}.fa.fa-bathtub:before,.fa.fa-s15:before{content:"\f2cd"}.fa.fa-window-maximize,.fa.fa-window-restore{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-times-rectangle:before{content:"\f410"}.fa.fa-window-close-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-window-close-o:before{content:"\f410"}.fa.fa-times-rectangle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-times-rectangle-o:before{content:"\f410"}.fa.fa-bandcamp,.fa.fa-eercast,.fa.fa-etsy,.fa.fa-grav,.fa.fa-imdb,.fa.fa-ravelry{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-eercast:before{content:"\f2da"}.fa.fa-snowflake-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-snowflake-o:before{content:"\f2dc"}.fa.fa-spotify,.fa.fa-superpowers,.fa.fa-wpexplorer{font-family:"Font Awesome 5 Brands";font-weight:400}
1
+ /*!
2
+ * Font Awesome Free 5.3.1 by @fontawesome - https://fontawesome.com
3
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
4
+ */
5
  .fa.fa-glass:before{content:"\f000"}.fa.fa-meetup{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-star-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-star-o:before{content:"\f005"}.fa.fa-close:before,.fa.fa-remove:before{content:"\f00d"}.fa.fa-gear:before{content:"\f013"}.fa.fa-trash-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-trash-o:before{content:"\f2ed"}.fa.fa-file-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-o:before{content:"\f15b"}.fa.fa-clock-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-clock-o:before{content:"\f017"}.fa.fa-arrow-circle-o-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-arrow-circle-o-down:before{content:"\f358"}.fa.fa-arrow-circle-o-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-arrow-circle-o-up:before{content:"\f35b"}.fa.fa-play-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-play-circle-o:before{content:"\f144"}.fa.fa-repeat:before,.fa.fa-rotate-right:before{content:"\f01e"}.fa.fa-refresh:before{content:"\f021"}.fa.fa-list-alt{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-dedent:before{content:"\f03b"}.fa.fa-video-camera:before{content:"\f03d"}.fa.fa-picture-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-picture-o:before{content:"\f03e"}.fa.fa-photo{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-photo:before{content:"\f03e"}.fa.fa-image{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-image:before{content:"\f03e"}.fa.fa-pencil:before{content:"\f303"}.fa.fa-map-marker:before{content:"\f3c5"}.fa.fa-pencil-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-pencil-square-o:before{content:"\f044"}.fa.fa-share-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-share-square-o:before{content:"\f14d"}.fa.fa-check-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-check-square-o:before{content:"\f14a"}.fa.fa-arrows:before{content:"\f0b2"}.fa.fa-times-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-times-circle-o:before{content:"\f057"}.fa.fa-check-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-check-circle-o:before{content:"\f058"}.fa.fa-mail-forward:before{content:"\f064"}.fa.fa-eye,.fa.fa-eye-slash{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-warning:before{content:"\f071"}.fa.fa-calendar:before{content:"\f073"}.fa.fa-arrows-v:before{content:"\f338"}.fa.fa-arrows-h:before{content:"\f337"}.fa.fa-bar-chart{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bar-chart:before{content:"\f080"}.fa.fa-bar-chart-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bar-chart-o:before{content:"\f080"}.fa.fa-facebook-square,.fa.fa-twitter-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-gears:before{content:"\f085"}.fa.fa-thumbs-o-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-thumbs-o-up:before{content:"\f164"}.fa.fa-thumbs-o-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-thumbs-o-down:before{content:"\f165"}.fa.fa-heart-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-heart-o:before{content:"\f004"}.fa.fa-sign-out:before{content:"\f2f5"}.fa.fa-linkedin-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-linkedin-square:before{content:"\f08c"}.fa.fa-thumb-tack:before{content:"\f08d"}.fa.fa-external-link:before{content:"\f35d"}.fa.fa-sign-in:before{content:"\f2f6"}.fa.fa-github-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-lemon-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-lemon-o:before{content:"\f094"}.fa.fa-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-square-o:before{content:"\f0c8"}.fa.fa-bookmark-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bookmark-o:before{content:"\f02e"}.fa.fa-facebook,.fa.fa-twitter{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-facebook:before{content:"\f39e"}.fa.fa-facebook-f{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-facebook-f:before{content:"\f39e"}.fa.fa-github{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-credit-card{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-feed:before{content:"\f09e"}.fa.fa-hdd-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hdd-o:before{content:"\f0a0"}.fa.fa-hand-o-right{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-o-right:before{content:"\f0a4"}.fa.fa-hand-o-left{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-o-left:before{content:"\f0a5"}.fa.fa-hand-o-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-o-up:before{content:"\f0a6"}.fa.fa-hand-o-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-o-down:before{content:"\f0a7"}.fa.fa-arrows-alt:before{content:"\f31e"}.fa.fa-group:before{content:"\f0c0"}.fa.fa-chain:before{content:"\f0c1"}.fa.fa-scissors:before{content:"\f0c4"}.fa.fa-files-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-files-o:before{content:"\f0c5"}.fa.fa-floppy-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-floppy-o:before{content:"\f0c7"}.fa.fa-navicon:before,.fa.fa-reorder:before{content:"\f0c9"}.fa.fa-google-plus,.fa.fa-google-plus-square,.fa.fa-pinterest,.fa.fa-pinterest-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-google-plus:before{content:"\f0d5"}.fa.fa-money{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-money:before{content:"\f3d1"}.fa.fa-unsorted:before{content:"\f0dc"}.fa.fa-sort-desc:before{content:"\f0dd"}.fa.fa-sort-asc:before{content:"\f0de"}.fa.fa-linkedin{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-linkedin:before{content:"\f0e1"}.fa.fa-rotate-left:before{content:"\f0e2"}.fa.fa-legal:before{content:"\f0e3"}.fa.fa-dashboard:before,.fa.fa-tachometer:before{content:"\f3fd"}.fa.fa-comment-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-comment-o:before{content:"\f075"}.fa.fa-comments-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-comments-o:before{content:"\f086"}.fa.fa-flash:before{content:"\f0e7"}.fa.fa-clipboard,.fa.fa-paste{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-paste:before{content:"\f328"}.fa.fa-lightbulb-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-lightbulb-o:before{content:"\f0eb"}.fa.fa-exchange:before{content:"\f362"}.fa.fa-cloud-download:before{content:"\f381"}.fa.fa-cloud-upload:before{content:"\f382"}.fa.fa-bell-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bell-o:before{content:"\f0f3"}.fa.fa-cutlery:before{content:"\f2e7"}.fa.fa-file-text-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-text-o:before{content:"\f15c"}.fa.fa-building-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-building-o:before{content:"\f1ad"}.fa.fa-hospital-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hospital-o:before{content:"\f0f8"}.fa.fa-tablet:before{content:"\f3fa"}.fa.fa-mobile-phone:before,.fa.fa-mobile:before{content:"\f3cd"}.fa.fa-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-circle-o:before{content:"\f111"}.fa.fa-mail-reply:before{content:"\f3e5"}.fa.fa-github-alt{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-folder-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-folder-o:before{content:"\f07b"}.fa.fa-folder-open-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-folder-open-o:before{content:"\f07c"}.fa.fa-smile-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-smile-o:before{content:"\f118"}.fa.fa-frown-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-frown-o:before{content:"\f119"}.fa.fa-meh-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-meh-o:before{content:"\f11a"}.fa.fa-keyboard-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-keyboard-o:before{content:"\f11c"}.fa.fa-flag-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-flag-o:before{content:"\f024"}.fa.fa-mail-reply-all:before{content:"\f122"}.fa.fa-star-half-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-star-half-o:before{content:"\f089"}.fa.fa-star-half-empty{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-star-half-empty:before{content:"\f089"}.fa.fa-star-half-full{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-star-half-full:before{content:"\f089"}.fa.fa-code-fork:before{content:"\f126"}.fa.fa-chain-broken:before{content:"\f127"}.fa.fa-shield:before{content:"\f3ed"}.fa.fa-calendar-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-o:before{content:"\f133"}.fa.fa-css3,.fa.fa-html5,.fa.fa-maxcdn{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-ticket:before{content:"\f3ff"}.fa.fa-minus-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-minus-square-o:before{content:"\f146"}.fa.fa-level-up:before{content:"\f3bf"}.fa.fa-level-down:before{content:"\f3be"}.fa.fa-pencil-square:before{content:"\f14b"}.fa.fa-external-link-square:before{content:"\f360"}.fa.fa-compass{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-down:before{content:"\f150"}.fa.fa-toggle-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-toggle-down:before{content:"\f150"}.fa.fa-caret-square-o-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-up:before{content:"\f151"}.fa.fa-toggle-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-toggle-up:before{content:"\f151"}.fa.fa-caret-square-o-right{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-right:before{content:"\f152"}.fa.fa-toggle-right{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-toggle-right:before{content:"\f152"}.fa.fa-eur:before,.fa.fa-euro:before{content:"\f153"}.fa.fa-gbp:before{content:"\f154"}.fa.fa-dollar:before,.fa.fa-usd:before{content:"\f155"}.fa.fa-inr:before,.fa.fa-rupee:before{content:"\f156"}.fa.fa-cny:before,.fa.fa-jpy:before,.fa.fa-rmb:before,.fa.fa-yen:before{content:"\f157"}.fa.fa-rouble:before,.fa.fa-rub:before,.fa.fa-ruble:before{content:"\f158"}.fa.fa-krw:before,.fa.fa-won:before{content:"\f159"}.fa.fa-bitcoin,.fa.fa-btc{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-bitcoin:before{content:"\f15a"}.fa.fa-file-text:before{content:"\f15c"}.fa.fa-sort-alpha-asc:before{content:"\f15d"}.fa.fa-sort-alpha-desc:before{content:"\f15e"}.fa.fa-sort-amount-asc:before{content:"\f160"}.fa.fa-sort-amount-desc:before{content:"\f161"}.fa.fa-sort-numeric-asc:before{content:"\f162"}.fa.fa-sort-numeric-desc:before{content:"\f163"}.fa.fa-xing,.fa.fa-xing-square,.fa.fa-youtube,.fa.fa-youtube-play,.fa.fa-youtube-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-youtube-play:before{content:"\f167"}.fa.fa-adn,.fa.fa-bitbucket,.fa.fa-bitbucket-square,.fa.fa-dropbox,.fa.fa-flickr,.fa.fa-instagram,.fa.fa-stack-overflow{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-bitbucket-square:before{content:"\f171"}.fa.fa-tumblr,.fa.fa-tumblr-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-long-arrow-down:before{content:"\f309"}.fa.fa-long-arrow-up:before{content:"\f30c"}.fa.fa-long-arrow-left:before{content:"\f30a"}.fa.fa-long-arrow-right:before{content:"\f30b"}.fa.fa-android,.fa.fa-apple,.fa.fa-dribbble,.fa.fa-foursquare,.fa.fa-gittip,.fa.fa-gratipay,.fa.fa-linux,.fa.fa-skype,.fa.fa-trello,.fa.fa-windows{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-gittip:before{content:"\f184"}.fa.fa-sun-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-sun-o:before{content:"\f185"}.fa.fa-moon-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-moon-o:before{content:"\f186"}.fa.fa-pagelines,.fa.fa-renren,.fa.fa-stack-exchange,.fa.fa-vk,.fa.fa-weibo{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-arrow-circle-o-right{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-arrow-circle-o-right:before{content:"\f35a"}.fa.fa-arrow-circle-o-left{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-arrow-circle-o-left:before{content:"\f359"}.fa.fa-caret-square-o-left{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-left:before{content:"\f191"}.fa.fa-toggle-left{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-toggle-left:before{content:"\f191"}.fa.fa-dot-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-dot-circle-o:before{content:"\f192"}.fa.fa-vimeo-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-try:before,.fa.fa-turkish-lira:before{content:"\f195"}.fa.fa-plus-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-plus-square-o:before{content:"\f0fe"}.fa.fa-openid,.fa.fa-slack,.fa.fa-wordpress{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-bank:before,.fa.fa-institution:before{content:"\f19c"}.fa.fa-mortar-board:before{content:"\f19d"}.fa.fa-delicious,.fa.fa-digg,.fa.fa-drupal,.fa.fa-google,.fa.fa-joomla,.fa.fa-pied-piper-alt,.fa.fa-pied-piper-pp,.fa.fa-reddit,.fa.fa-reddit-square,.fa.fa-stumbleupon,.fa.fa-stumbleupon-circle,.fa.fa-yahoo{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-spoon:before{content:"\f2e5"}.fa.fa-behance,.fa.fa-behance-square,.fa.fa-steam,.fa.fa-steam-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-automobile:before{content:"\f1b9"}.fa.fa-cab:before{content:"\f1ba"}.fa.fa-envelope-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-envelope-o:before{content:"\f0e0"}.fa.fa-deviantart,.fa.fa-soundcloud{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-file-pdf-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-pdf-o:before{content:"\f1c1"}.fa.fa-file-word-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-word-o:before{content:"\f1c2"}.fa.fa-file-excel-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-excel-o:before{content:"\f1c3"}.fa.fa-file-powerpoint-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-powerpoint-o:before{content:"\f1c4"}.fa.fa-file-image-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-image-o:before{content:"\f1c5"}.fa.fa-file-photo-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-photo-o:before{content:"\f1c5"}.fa.fa-file-picture-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-picture-o:before{content:"\f1c5"}.fa.fa-file-archive-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-archive-o:before{content:"\f1c6"}.fa.fa-file-zip-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-zip-o:before{content:"\f1c6"}.fa.fa-file-audio-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-audio-o:before{content:"\f1c7"}.fa.fa-file-sound-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-sound-o:before{content:"\f1c7"}.fa.fa-file-video-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-video-o:before{content:"\f1c8"}.fa.fa-file-movie-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-movie-o:before{content:"\f1c8"}.fa.fa-file-code-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-code-o:before{content:"\f1c9"}.fa.fa-codepen,.fa.fa-jsfiddle,.fa.fa-vine{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-life-bouy,.fa.fa-life-ring{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-life-bouy:before{content:"\f1cd"}.fa.fa-life-buoy{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-life-buoy:before{content:"\f1cd"}.fa.fa-life-saver{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-life-saver:before{content:"\f1cd"}.fa.fa-support{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-support:before{content:"\f1cd"}.fa.fa-circle-o-notch:before{content:"\f1ce"}.fa.fa-ra,.fa.fa-rebel{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-ra:before{content:"\f1d0"}.fa.fa-resistance{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-resistance:before{content:"\f1d0"}.fa.fa-empire,.fa.fa-ge{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-ge:before{content:"\f1d1"}.fa.fa-git,.fa.fa-git-square,.fa.fa-hacker-news,.fa.fa-y-combinator-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-y-combinator-square:before{content:"\f1d4"}.fa.fa-yc-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-yc-square:before{content:"\f1d4"}.fa.fa-qq,.fa.fa-tencent-weibo,.fa.fa-wechat,.fa.fa-weixin{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-wechat:before{content:"\f1d7"}.fa.fa-send:before{content:"\f1d8"}.fa.fa-paper-plane-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-paper-plane-o:before{content:"\f1d8"}.fa.fa-send-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-send-o:before{content:"\f1d8"}.fa.fa-circle-thin{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-circle-thin:before{content:"\f111"}.fa.fa-header:before{content:"\f1dc"}.fa.fa-sliders:before{content:"\f1de"}.fa.fa-futbol-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-futbol-o:before{content:"\f1e3"}.fa.fa-soccer-ball-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-soccer-ball-o:before{content:"\f1e3"}.fa.fa-slideshare,.fa.fa-twitch,.fa.fa-yelp{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-newspaper-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-newspaper-o:before{content:"\f1ea"}.fa.fa-cc-amex,.fa.fa-cc-discover,.fa.fa-cc-mastercard,.fa.fa-cc-paypal,.fa.fa-cc-stripe,.fa.fa-cc-visa,.fa.fa-google-wallet,.fa.fa-paypal{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-bell-slash-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bell-slash-o:before{content:"\f1f6"}.fa.fa-trash:before{content:"\f2ed"}.fa.fa-copyright{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-eyedropper:before{content:"\f1fb"}.fa.fa-area-chart:before{content:"\f1fe"}.fa.fa-pie-chart:before{content:"\f200"}.fa.fa-line-chart:before{content:"\f201"}.fa.fa-angellist,.fa.fa-ioxhost,.fa.fa-lastfm,.fa.fa-lastfm-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-cc{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-cc:before{content:"\f20a"}.fa.fa-ils:before,.fa.fa-shekel:before,.fa.fa-sheqel:before{content:"\f20b"}.fa.fa-meanpath{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-meanpath:before{content:"\f2b4"}.fa.fa-buysellads,.fa.fa-connectdevelop,.fa.fa-dashcube,.fa.fa-forumbee,.fa.fa-leanpub,.fa.fa-sellsy,.fa.fa-shirtsinbulk,.fa.fa-simplybuilt,.fa.fa-skyatlas{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-diamond{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-diamond:before{content:"\f3a5"}.fa.fa-intersex:before{content:"\f224"}.fa.fa-facebook-official{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-facebook-official:before{content:"\f09a"}.fa.fa-pinterest-p,.fa.fa-whatsapp{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-hotel:before{content:"\f236"}.fa.fa-medium,.fa.fa-viacoin,.fa.fa-y-combinator,.fa.fa-yc{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-yc:before{content:"\f23b"}.fa.fa-expeditedssl,.fa.fa-opencart,.fa.fa-optin-monster{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-battery-4:before,.fa.fa-battery:before{content:"\f240"}.fa.fa-battery-3:before{content:"\f241"}.fa.fa-battery-2:before{content:"\f242"}.fa.fa-battery-1:before{content:"\f243"}.fa.fa-battery-0:before{content:"\f244"}.fa.fa-object-group,.fa.fa-object-ungroup,.fa.fa-sticky-note-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-sticky-note-o:before{content:"\f249"}.fa.fa-cc-diners-club,.fa.fa-cc-jcb{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-clone,.fa.fa-hourglass-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hourglass-o:before{content:"\f254"}.fa.fa-hourglass-1:before{content:"\f251"}.fa.fa-hourglass-2:before{content:"\f252"}.fa.fa-hourglass-3:before{content:"\f253"}.fa.fa-hand-rock-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-rock-o:before{content:"\f255"}.fa.fa-hand-grab-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-grab-o:before{content:"\f255"}.fa.fa-hand-paper-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-paper-o:before{content:"\f256"}.fa.fa-hand-stop-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-stop-o:before{content:"\f256"}.fa.fa-hand-scissors-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-scissors-o:before{content:"\f257"}.fa.fa-hand-lizard-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-lizard-o:before{content:"\f258"}.fa.fa-hand-spock-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-spock-o:before{content:"\f259"}.fa.fa-hand-pointer-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-pointer-o:before{content:"\f25a"}.fa.fa-hand-peace-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-peace-o:before{content:"\f25b"}.fa.fa-registered{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-chrome,.fa.fa-creative-commons,.fa.fa-firefox,.fa.fa-get-pocket,.fa.fa-gg,.fa.fa-gg-circle,.fa.fa-internet-explorer,.fa.fa-odnoklassniki,.fa.fa-odnoklassniki-square,.fa.fa-opera,.fa.fa-safari,.fa.fa-tripadvisor,.fa.fa-wikipedia-w{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-television:before{content:"\f26c"}.fa.fa-500px,.fa.fa-amazon,.fa.fa-contao{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-calendar-plus-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-plus-o:before{content:"\f271"}.fa.fa-calendar-minus-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-minus-o:before{content:"\f272"}.fa.fa-calendar-times-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-times-o:before{content:"\f273"}.fa.fa-calendar-check-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-check-o:before{content:"\f274"}.fa.fa-map-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-map-o:before{content:"\f279"}.fa.fa-commenting{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-commenting:before{content:"\f4ad"}.fa.fa-commenting-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-commenting-o:before{content:"\f4ad"}.fa.fa-houzz,.fa.fa-vimeo{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-vimeo:before{content:"\f27d"}.fa.fa-black-tie,.fa.fa-edge,.fa.fa-fonticons,.fa.fa-reddit-alien{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-credit-card-alt:before{content:"\f09d"}.fa.fa-codiepie,.fa.fa-fort-awesome,.fa.fa-mixcloud,.fa.fa-modx,.fa.fa-product-hunt,.fa.fa-scribd,.fa.fa-usb{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-pause-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-pause-circle-o:before{content:"\f28b"}.fa.fa-stop-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-stop-circle-o:before{content:"\f28d"}.fa.fa-bluetooth,.fa.fa-bluetooth-b,.fa.fa-envira,.fa.fa-gitlab,.fa.fa-wheelchair-alt,.fa.fa-wpbeginner,.fa.fa-wpforms{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-wheelchair-alt:before{content:"\f368"}.fa.fa-question-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-question-circle-o:before{content:"\f059"}.fa.fa-volume-control-phone:before{content:"\f2a0"}.fa.fa-asl-interpreting:before{content:"\f2a3"}.fa.fa-deafness:before,.fa.fa-hard-of-hearing:before{content:"\f2a4"}.fa.fa-glide,.fa.fa-glide-g{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-signing:before{content:"\f2a7"}.fa.fa-first-order,.fa.fa-google-plus-official,.fa.fa-pied-piper,.fa.fa-snapchat,.fa.fa-snapchat-ghost,.fa.fa-snapchat-square,.fa.fa-themeisle,.fa.fa-viadeo,.fa.fa-viadeo-square,.fa.fa-yoast{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-google-plus-official:before{content:"\f2b3"}.fa.fa-google-plus-circle{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-google-plus-circle:before{content:"\f2b3"}.fa.fa-fa,.fa.fa-font-awesome{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-fa:before{content:"\f2b4"}.fa.fa-handshake-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-handshake-o:before{content:"\f2b5"}.fa.fa-envelope-open-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-envelope-open-o:before{content:"\f2b6"}.fa.fa-linode{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-address-book-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-address-book-o:before{content:"\f2b9"}.fa.fa-vcard:before{content:"\f2bb"}.fa.fa-address-card-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-address-card-o:before{content:"\f2bb"}.fa.fa-vcard-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-vcard-o:before{content:"\f2bb"}.fa.fa-user-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-user-circle-o:before{content:"\f2bd"}.fa.fa-user-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-user-o:before{content:"\f007"}.fa.fa-id-badge{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-drivers-license:before{content:"\f2c2"}.fa.fa-id-card-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-id-card-o:before{content:"\f2c2"}.fa.fa-drivers-license-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-drivers-license-o:before{content:"\f2c2"}.fa.fa-free-code-camp,.fa.fa-quora,.fa.fa-telegram{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-thermometer-4:before,.fa.fa-thermometer:before{content:"\f2c7"}.fa.fa-thermometer-3:before{content:"\f2c8"}.fa.fa-thermometer-2:before{content:"\f2c9"}.fa.fa-thermometer-1:before{content:"\f2ca"}.fa.fa-thermometer-0:before{content:"\f2cb"}.fa.fa-bathtub:before,.fa.fa-s15:before{content:"\f2cd"}.fa.fa-window-maximize,.fa.fa-window-restore{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-times-rectangle:before{content:"\f410"}.fa.fa-window-close-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-window-close-o:before{content:"\f410"}.fa.fa-times-rectangle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-times-rectangle-o:before{content:"\f410"}.fa.fa-bandcamp,.fa.fa-eercast,.fa.fa-etsy,.fa.fa-grav,.fa.fa-imdb,.fa.fa-ravelry{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-eercast:before{content:"\f2da"}.fa.fa-snowflake-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-snowflake-o:before{content:"\f2dc"}.fa.fa-spotify,.fa.fa-superpowers,.fa.fa-wpexplorer{font-family:"Font Awesome 5 Brands";font-weight:400}
berocket/assets/css/fontawesome5.css CHANGED
@@ -1,5971 +1,5971 @@
1
- /*!
2
- * Font Awesome Free 5.3.1 by @fontawesome - https://fontawesome.com
3
- * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
4
- */
5
- @font-face {
6
- font-family: 'Font Awesome 5 Free';
7
- font-style: normal;
8
- font-weight: 400;
9
- src: url("../webfonts/fa-regular-400.eot");
10
- src: url("../webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.woff") format("woff"), url("../webfonts/fa-regular-400.ttf") format("truetype"), url("../webfonts/fa-regular-400.svg#fontawesome") format("svg"); }
11
-
12
- .far {
13
- font-family: 'Font Awesome 5 Free';
14
- font-weight: 400; }
15
-
16
- @font-face {
17
- font-family: 'Font Awesome 5 Free';
18
- font-style: normal;
19
- font-weight: 900;
20
- src: url("../webfonts/fa-solid-900.eot");
21
- src: url("../webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.woff") format("woff"), url("../webfonts/fa-solid-900.ttf") format("truetype"), url("../webfonts/fa-solid-900.svg#fontawesome") format("svg"); }
22
-
23
- .fa,
24
- .fas {
25
- font-family: 'Font Awesome 5 Free';
26
- font-weight: 900; }
27
- .fa,
28
- .fas,
29
- .far,
30
- .fal,
31
- .fab {
32
- -moz-osx-font-smoothing: grayscale;
33
- -webkit-font-smoothing: antialiased;
34
- display: inline-block;
35
- font-style: normal;
36
- font-variant: normal;
37
- text-rendering: auto;
38
- line-height: 1; }
39
-
40
- .fa-lg {
41
- font-size: 1.33333em;
42
- line-height: 0.75em;
43
- vertical-align: -.0667em; }
44
-
45
- .fa-xs {
46
- font-size: .75em; }
47
-
48
- .fa-sm {
49
- font-size: .875em; }
50
-
51
- .fa-1x {
52
- font-size: 1em; }
53
-
54
- .fa-2x {
55
- font-size: 2em; }
56
-
57
- .fa-3x {
58
- font-size: 3em; }
59
-
60
- .fa-4x {
61
- font-size: 4em; }
62
-
63
- .fa-5x {
64
- font-size: 5em; }
65
-
66
- .fa-6x {
67
- font-size: 6em; }
68
-
69
- .fa-7x {
70
- font-size: 7em; }
71
-
72
- .fa-8x {
73
- font-size: 8em; }
74
-
75
- .fa-9x {
76
- font-size: 9em; }
77
-
78
- .fa-10x {
79
- font-size: 10em; }
80
-
81
- .fa-fw {
82
- text-align: center;
83
- width: 1.25em; }
84
-
85
- .fa-ul {
86
- list-style-type: none;
87
- margin-left: 2.5em;
88
- padding-left: 0; }
89
- .fa-ul > li {
90
- position: relative; }
91
-
92
- .fa-li {
93
- left: -2em;
94
- position: absolute;
95
- text-align: center;
96
- width: 2em;
97
- line-height: inherit; }
98
-
99
- .fa-border {
100
- border: solid 0.08em #eee;
101
- border-radius: .1em;
102
- padding: .2em .25em .15em; }
103
-
104
- .fa-pull-left {
105
- float: left; }
106
-
107
- .fa-pull-right {
108
- float: right; }
109
-
110
- .fa.fa-pull-left,
111
- .fas.fa-pull-left,
112
- .far.fa-pull-left,
113
- .fal.fa-pull-left,
114
- .fab.fa-pull-left {
115
- margin-right: .3em; }
116
-
117
- .fa.fa-pull-right,
118
- .fas.fa-pull-right,
119
- .far.fa-pull-right,
120
- .fal.fa-pull-right,
121
- .fab.fa-pull-right {
122
- margin-left: .3em; }
123
-
124
- .fa-spin {
125
- -webkit-animation: fa-spin 2s infinite linear;
126
- animation: fa-spin 2s infinite linear; }
127
-
128
- .fa-pulse {
129
- -webkit-animation: fa-spin 1s infinite steps(8);
130
- animation: fa-spin 1s infinite steps(8); }
131
-
132
- @-webkit-keyframes fa-spin {
133
- 0% {
134
- -webkit-transform: rotate(0deg);
135
- transform: rotate(0deg); }
136
- 100% {
137
- -webkit-transform: rotate(360deg);
138
- transform: rotate(360deg); } }
139
-
140
- @keyframes fa-spin {
141
- 0% {
142
- -webkit-transform: rotate(0deg);
143
- transform: rotate(0deg); }
144
- 100% {
145
- -webkit-transform: rotate(360deg);
146
- transform: rotate(360deg); } }
147
-
148
- .fa-rotate-90 {
149
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
150
- -webkit-transform: rotate(90deg);
151
- transform: rotate(90deg); }
152
-
153
- .fa-rotate-180 {
154
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
155
- -webkit-transform: rotate(180deg);
156
- transform: rotate(180deg); }
157
-
158
- .fa-rotate-270 {
159
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
160
- -webkit-transform: rotate(270deg);
161
- transform: rotate(270deg); }
162
-
163
- .fa-flip-horizontal {
164
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
165
- -webkit-transform: scale(-1, 1);
166
- transform: scale(-1, 1); }
167
-
168
- .fa-flip-vertical {
169
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
170
- -webkit-transform: scale(1, -1);
171
- transform: scale(1, -1); }
172
-
173
- .fa-flip-horizontal.fa-flip-vertical {
174
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
175
- -webkit-transform: scale(-1, -1);
176
- transform: scale(-1, -1); }
177
-
178
- :root .fa-rotate-90,
179
- :root .fa-rotate-180,
180
- :root .fa-rotate-270,
181
- :root .fa-flip-horizontal,
182
- :root .fa-flip-vertical {
183
- -webkit-filter: none;
184
- filter: none; }
185
-
186
- .fa-stack {
187
- display: inline-block;
188
- height: 2em;
189
- line-height: 2em;
190
- position: relative;
191
- vertical-align: middle;
192
- width: 2em; }
193
-
194
- .fa-stack-1x,
195
- .fa-stack-2x {
196
- left: 0;
197
- position: absolute;
198
- text-align: center;
199
- width: 100%; }
200
-
201
- .fa-stack-1x {
202
- line-height: inherit; }
203
-
204
- .fa-stack-2x {
205
- font-size: 2em; }
206
-
207
- .fa-inverse {
208
- color: #fff; }
209
-
210
- /* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
211
- readers do not read off random characters that represent icons */
212
- .fa-500px:before {
213
- content: "\f26e"; }
214
-
215
- .fa-accessible-icon:before {
216
- content: "\f368"; }
217
-
218
- .fa-accusoft:before {
219
- content: "\f369"; }
220
-
221
- .fa-ad:before {
222
- content: "\f641"; }
223
-
224
- .fa-address-book:before {
225
- content: "\f2b9"; }
226
-
227
- .fa-address-card:before {
228
- content: "\f2bb"; }
229
-
230
- .fa-adjust:before {
231
- content: "\f042"; }
232
-
233
- .fa-adn:before {
234
- content: "\f170"; }
235
-
236
- .fa-adversal:before {
237
- content: "\f36a"; }
238
-
239
- .fa-affiliatetheme:before {
240
- content: "\f36b"; }
241
-
242
- .fa-air-freshener:before {
243
- content: "\f5d0"; }
244
-
245
- .fa-algolia:before {
246
- content: "\f36c"; }
247
-
248
- .fa-align-center:before {
249
- content: "\f037"; }
250
-
251
- .fa-align-justify:before {
252
- content: "\f039"; }
253
-
254
- .fa-align-left:before {
255
- content: "\f036"; }
256
-
257
- .fa-align-right:before {
258
- content: "\f038"; }
259
-
260
- .fa-alipay:before {
261
- content: "\f642"; }
262
-
263
- .fa-allergies:before {
264
- content: "\f461"; }
265
-
266
- .fa-amazon:before {
267
- content: "\f270"; }
268
-
269
- .fa-amazon-pay:before {
270
- content: "\f42c"; }
271
-
272
- .fa-ambulance:before {
273
- content: "\f0f9"; }
274
-
275
- .fa-american-sign-language-interpreting:before {
276
- content: "\f2a3"; }
277
-
278
- .fa-amilia:before {
279
- content: "\f36d"; }
280
-
281
- .fa-anchor:before {
282
- content: "\f13d"; }
283
-
284
- .fa-android:before {
285
- content: "\f17b"; }
286
-
287
- .fa-angellist:before {
288
- content: "\f209"; }
289
-
290
- .fa-angle-double-down:before {
291
- content: "\f103"; }
292
-
293
- .fa-angle-double-left:before {
294
- content: "\f100"; }
295
-
296
- .fa-angle-double-right:before {
297
- content: "\f101"; }
298
-
299
- .fa-angle-double-up:before {
300
- content: "\f102"; }
301
-
302
- .fa-angle-down:before {
303
- content: "\f107"; }
304
-
305
- .fa-angle-left:before {
306
- content: "\f104"; }
307
-
308
- .fa-angle-right:before {
309
- content: "\f105"; }
310
-
311
- .fa-angle-up:before {
312
- content: "\f106"; }
313
-
314
- .fa-angry:before {
315
- content: "\f556"; }
316
-
317
- .fa-angrycreative:before {
318
- content: "\f36e"; }
319
-
320
- .fa-angular:before {
321
- content: "\f420"; }
322
-
323
- .fa-ankh:before {
324
- content: "\f644"; }
325
-
326
- .fa-app-store:before {
327
- content: "\f36f"; }
328
-
329
- .fa-app-store-ios:before {
330
- content: "\f370"; }
331
-
332
- .fa-apper:before {
333
- content: "\f371"; }
334
-
335
- .fa-apple:before {
336
- content: "\f179"; }
337
-
338
- .fa-apple-alt:before {
339
- content: "\f5d1"; }
340
-
341
- .fa-apple-pay:before {
342
- content: "\f415"; }
343
-
344
- .fa-archive:before {
345
- content: "\f187"; }
346
-
347
- .fa-archway:before {
348
- content: "\f557"; }
349
-
350
- .fa-arrow-alt-circle-down:before {
351
- content: "\f358"; }
352
-
353
- .fa-arrow-alt-circle-left:before {
354
- content: "\f359"; }
355
-
356
- .fa-arrow-alt-circle-right:before {
357
- content: "\f35a"; }
358
-
359
- .fa-arrow-alt-circle-up:before {
360
- content: "\f35b"; }
361
-
362
- .fa-arrow-circle-down:before {
363
- content: "\f0ab"; }
364
-
365
- .fa-arrow-circle-left:before {
366
- content: "\f0a8"; }
367
-
368
- .fa-arrow-circle-right:before {
369
- content: "\f0a9"; }
370
-
371
- .fa-arrow-circle-up:before {
372
- content: "\f0aa"; }
373
-
374
- .fa-arrow-down:before {
375
- content: "\f063"; }
376
-
377
- .fa-arrow-left:before {
378
- content: "\f060"; }
379
-
380
- .fa-arrow-right:before {
381
- content: "\f061"; }
382
-
383
- .fa-arrow-up:before {
384
- content: "\f062"; }
385
-
386
- .fa-arrows-alt:before {
387
- content: "\f0b2"; }
388
-
389
- .fa-arrows-alt-h:before {
390
- content: "\f337"; }
391
-
392
- .fa-arrows-alt-v:before {
393
- content: "\f338"; }
394
-
395
- .fa-assistive-listening-systems:before {
396
- content: "\f2a2"; }
397
-
398
- .fa-asterisk:before {
399
- content: "\f069"; }
400
-
401
- .fa-asymmetrik:before {
402
- content: "\f372"; }
403
-
404
- .fa-at:before {
405
- content: "\f1fa"; }
406
-
407
- .fa-atlas:before {
408
- content: "\f558"; }
409
-
410
- .fa-atom:before {
411
- content: "\f5d2"; }
412
-
413
- .fa-audible:before {
414
- content: "\f373"; }
415
-
416
- .fa-audio-description:before {
417
- content: "\f29e"; }
418
-
419
- .fa-autoprefixer:before {
420
- content: "\f41c"; }
421
-
422
- .fa-avianex:before {
423
- content: "\f374"; }
424
-
425
- .fa-aviato:before {
426
- content: "\f421"; }
427
-
428
- .fa-award:before {
429
- content: "\f559"; }
430
-
431
- .fa-aws:before {
432
- content: "\f375"; }
433
-
434
- .fa-backspace:before {
435
- content: "\f55a"; }
436
-
437
- .fa-backward:before {
438
- content: "\f04a"; }
439
-
440
- .fa-balance-scale:before {
441
- content: "\f24e"; }
442
-
443
- .fa-ban:before {
444
- content: "\f05e"; }
445
-
446
- .fa-band-aid:before {
447
- content: "\f462"; }
448
-
449
- .fa-bandcamp:before {
450
- content: "\f2d5"; }
451
-
452
- .fa-barcode:before {
453
- content: "\f02a"; }
454
-
455
- .fa-bars:before {
456
- content: "\f0c9"; }
457
-
458
- .fa-baseball-ball:before {
459
- content: "\f433"; }
460
-
461
- .fa-basketball-ball:before {
462
- content: "\f434"; }
463
-
464
- .fa-bath:before {
465
- content: "\f2cd"; }
466
-
467
- .fa-battery-empty:before {
468
- content: "\f244"; }
469
-
470
- .fa-battery-full:before {
471
- content: "\f240"; }
472
-
473
- .fa-battery-half:before {
474
- content: "\f242"; }
475
-
476
- .fa-battery-quarter:before {
477
- content: "\f243"; }
478
-
479
- .fa-battery-three-quarters:before {
480
- content: "\f241"; }
481
-
482
- .fa-bed:before {
483
- content: "\f236"; }
484
-
485
- .fa-beer:before {
486
- content: "\f0fc"; }
487
-
488
- .fa-behance:before {
489
- content: "\f1b4"; }
490
-
491
- .fa-behance-square:before {
492
- content: "\f1b5"; }
493
-
494
- .fa-bell:before {
495
- content: "\f0f3"; }
496
-
497
- .fa-bell-slash:before {
498
- content: "\f1f6"; }
499
-
500
- .fa-bezier-curve:before {
501
- content: "\f55b"; }
502
-
503
- .fa-bible:before {
504
- content: "\f647"; }
505
-
506
- .fa-bicycle:before {
507
- content: "\f206"; }
508
-
509
- .fa-bimobject:before {
510
- content: "\f378"; }
511
-
512
- .fa-binoculars:before {
513
- content: "\f1e5"; }
514
-
515
- .fa-birthday-cake:before {
516
- content: "\f1fd"; }
517
-
518
- .fa-bitbucket:before {
519
- content: "\f171"; }
520
-
521
- .fa-bitcoin:before {
522
- content: "\f379"; }
523
-
524
- .fa-bity:before {
525
- content: "\f37a"; }
526
-
527
- .fa-black-tie:before {
528
- content: "\f27e"; }
529
-
530
- .fa-blackberry:before {
531
- content: "\f37b"; }
532
-
533
- .fa-blender:before {
534
- content: "\f517"; }
535
-
536
- .fa-blind:before {
537
- content: "\f29d"; }
538
-
539
- .fa-blogger:before {
540
- content: "\f37c"; }
541
-
542
- .fa-blogger-b:before {
543
- content: "\f37d"; }
544
-
545
- .fa-bluetooth:before {
546
- content: "\f293"; }
547
-
548
- .fa-bluetooth-b:before {
549
- content: "\f294"; }
550
-
551
- .fa-bold:before {
552
- content: "\f032"; }
553
-
554
- .fa-bolt:before {
555
- content: "\f0e7"; }
556
-
557
- .fa-bomb:before {
558
- content: "\f1e2"; }
559
-
560
- .fa-bone:before {
561
- content: "\f5d7"; }
562
-
563
- .fa-bong:before {
564
- content: "\f55c"; }
565
-
566
- .fa-book:before {
567
- content: "\f02d"; }
568
-
569
- .fa-book-open:before {
570
- content: "\f518"; }
571
-
572
- .fa-book-reader:before {
573
- content: "\f5da"; }
574
-
575
- .fa-bookmark:before {
576
- content: "\f02e"; }
577
-
578
- .fa-bowling-ball:before {
579
- content: "\f436"; }
580
-
581
- .fa-box:before {
582
- content: "\f466"; }
583
-
584
- .fa-box-open:before {
585
- content: "\f49e"; }
586
-
587
- .fa-boxes:before {
588
- content: "\f468"; }
589
-
590
- .fa-braille:before {
591
- content: "\f2a1"; }
592
-
593
- .fa-brain:before {
594
- content: "\f5dc"; }
595
-
596
- .fa-briefcase:before {
597
- content: "\f0b1"; }
598
-
599
- .fa-briefcase-medical:before {
600
- content: "\f469"; }
601
-
602
- .fa-broadcast-tower:before {
603
- content: "\f519"; }
604
-
605
- .fa-broom:before {
606
- content: "\f51a"; }
607
-
608
- .fa-brush:before {
609
- content: "\f55d"; }
610
-
611
- .fa-btc:before {
612
- content: "\f15a"; }
613
-
614
- .fa-bug:before {
615
- content: "\f188"; }
616
-
617
- .fa-building:before {
618
- content: "\f1ad"; }
619
-
620
- .fa-bullhorn:before {
621
- content: "\f0a1"; }
622
-
623
- .fa-bullseye:before {
624
- content: "\f140"; }
625
-
626
- .fa-burn:before {
627
- content: "\f46a"; }
628
-
629
- .fa-buromobelexperte:before {
630
- content: "\f37f"; }
631
-
632
- .fa-bus:before {
633
- content: "\f207"; }
634
-
635
- .fa-bus-alt:before {
636
- content: "\f55e"; }
637
-
638
- .fa-business-time:before {
639
- content: "\f64a"; }
640
-
641
- .fa-buysellads:before {
642
- content: "\f20d"; }
643
-
644
- .fa-calculator:before {
645
- content: "\f1ec"; }
646
-
647
- .fa-calendar:before {
648
- content: "\f133"; }
649
-
650
- .fa-calendar-alt:before {
651
- content: "\f073"; }
652
-
653
- .fa-calendar-check:before {
654
- content: "\f274"; }
655
-
656
- .fa-calendar-minus:before {
657
- content: "\f272"; }
658
-
659
- .fa-calendar-plus:before {
660
- content: "\f271"; }
661
-
662
- .fa-calendar-times:before {
663
- content: "\f273"; }
664
-
665
- .fa-camera:before {
666
- content: "\f030"; }
667
-
668
- .fa-camera-retro:before {
669
- content: "\f083"; }
670
-
671
- .fa-cannabis:before {
672
- content: "\f55f"; }
673
-
674
- .fa-capsules:before {
675
- content: "\f46b"; }
676
-
677
- .fa-car:before {
678
- content: "\f1b9"; }
679
-
680
- .fa-car-alt:before {
681
- content: "\f5de"; }
682
-
683
- .fa-car-battery:before {
684
- content: "\f5df"; }
685
-
686
- .fa-car-crash:before {
687
- content: "\f5e1"; }
688
-
689
- .fa-car-side:before {
690
- content: "\f5e4"; }
691
-
692
- .fa-caret-down:before {
693
- content: "\f0d7"; }
694
-
695
- .fa-caret-left:before {
696
- content: "\f0d9"; }
697
-
698
- .fa-caret-right:before {
699
- content: "\f0da"; }
700
-
701
- .fa-caret-square-down:before {
702
- content: "\f150"; }
703
-
704
- .fa-caret-square-left:before {
705
- content: "\f191"; }
706
-
707
- .fa-caret-square-right:before {
708
- content: "\f152"; }
709
-
710
- .fa-caret-square-up:before {
711
- content: "\f151"; }
712
-
713
- .fa-caret-up:before {
714
- content: "\f0d8"; }
715
-
716
- .fa-cart-arrow-down:before {
717
- content: "\f218"; }
718
-
719
- .fa-cart-plus:before {
720
- content: "\f217"; }
721
-
722
- .fa-cc-amazon-pay:before {
723
- content: "\f42d"; }
724
-
725
- .fa-cc-amex:before {
726
- content: "\f1f3"; }
727
-
728
- .fa-cc-apple-pay:before {
729
- content: "\f416"; }
730
-
731
- .fa-cc-diners-club:before {
732
- content: "\f24c"; }
733
-
734
- .fa-cc-discover:before {
735
- content: "\f1f2"; }
736
-
737
- .fa-cc-jcb:before {
738
- content: "\f24b"; }
739
-
740
- .fa-cc-mastercard:before {
741
- content: "\f1f1"; }
742
-
743
- .fa-cc-paypal:before {
744
- content: "\f1f4"; }
745
-
746
- .fa-cc-stripe:before {
747
- content: "\f1f5"; }
748
-
749
- .fa-cc-visa:before {
750
- content: "\f1f0"; }
751
-
752
- .fa-centercode:before {
753
- content: "\f380"; }
754
-
755
- .fa-certificate:before {
756
- content: "\f0a3"; }
757
-
758
- .fa-chalkboard:before {
759
- content: "\f51b"; }
760
-
761
- .fa-chalkboard-teacher:before {
762
- content: "\f51c"; }
763
-
764
- .fa-charging-station:before {
765
- content: "\f5e7"; }
766
-
767
- .fa-chart-area:before {
768
- content: "\f1fe"; }
769
-
770
- .fa-chart-bar:before {
771
- content: "\f080"; }
772
-
773
- .fa-chart-line:before {
774
- content: "\f201"; }
775
-
776
- .fa-chart-pie:before {
777
- content: "\f200"; }
778
-
779
- .fa-check:before {
780
- content: "\f00c"; }
781
-
782
- .fa-check-circle:before {
783
- content: "\f058"; }
784
-
785
- .fa-check-double:before {
786
- content: "\f560"; }
787
-
788
- .fa-check-square:before {
789
- content: "\f14a"; }
790
-
791
- .fa-chess:before {
792
- content: "\f439"; }
793
-
794
- .fa-chess-bishop:before {
795
- content: "\f43a"; }
796
-
797
- .fa-chess-board:before {
798
- content: "\f43c"; }
799
-
800
- .fa-chess-king:before {
801
- content: "\f43f"; }
802
-
803
- .fa-chess-knight:before {
804
- content: "\f441"; }
805
-
806
- .fa-chess-pawn:before {
807
- content: "\f443"; }
808
-
809
- .fa-chess-queen:before {
810
- content: "\f445"; }
811
-
812
- .fa-chess-rook:before {
813
- content: "\f447"; }
814
-
815
- .fa-chevron-circle-down:before {
816
- content: "\f13a"; }
817
-
818
- .fa-chevron-circle-left:before {
819
- content: "\f137"; }
820
-
821
- .fa-chevron-circle-right:before {
822
- content: "\f138"; }
823
-
824
- .fa-chevron-circle-up:before {
825
- content: "\f139"; }
826
-
827
- .fa-chevron-down:before {
828
- content: "\f078"; }
829
-
830
- .fa-chevron-left:before {
831
- content: "\f053"; }
832
-
833
- .fa-chevron-right:before {
834
- content: "\f054"; }
835
-
836
- .fa-chevron-up:before {
837
- content: "\f077"; }
838
-
839
- .fa-child:before {
840
- content: "\f1ae"; }
841
-
842
- .fa-chrome:before {
843
- content: "\f268"; }
844
-
845
- .fa-church:before {
846
- content: "\f51d"; }
847
-
848
- .fa-circle:before {
849
- content: "\f111"; }
850
-
851
- .fa-circle-notch:before {
852
- content: "\f1ce"; }
853
-
854
- .fa-city:before {
855
- content: "\f64f"; }
856
-
857
- .fa-clipboard:before {
858
- content: "\f328"; }
859
-
860
- .fa-clipboard-check:before {
861
- content: "\f46c"; }
862
-
863
- .fa-clipboard-list:before {
864
- content: "\f46d"; }
865
-
866
- .fa-clock:before {
867
- content: "\f017"; }
868
-
869
- .fa-clone:before {
870
- content: "\f24d"; }
871
-
872
- .fa-closed-captioning:before {
873
- content: "\f20a"; }
874
-
875
- .fa-cloud:before {
876
- content: "\f0c2"; }
877
-
878
- .fa-cloud-download-alt:before {
879
- content: "\f381"; }
880
-
881
- .fa-cloud-upload-alt:before {
882
- content: "\f382"; }
883
-
884
- .fa-cloudscale:before {
885
- content: "\f383"; }
886
-
887
- .fa-cloudsmith:before {
888
- content: "\f384"; }
889
-
890
- .fa-cloudversify:before {
891
- content: "\f385"; }
892
-
893
- .fa-cocktail:before {
894
- content: "\f561"; }
895
-
896
- .fa-code:before {
897
- content: "\f121"; }
898
-
899
- .fa-code-branch:before {
900
- content: "\f126"; }
901
-
902
- .fa-codepen:before {
903
- content: "\f1cb"; }
904
-
905
- .fa-codiepie:before {
906
- content: "\f284"; }
907
-
908
- .fa-coffee:before {
909
- content: "\f0f4"; }
910
-
911
- .fa-cog:before {
912
- content: "\f013"; }
913
-
914
- .fa-cogs:before {
915
- content: "\f085"; }
916
-
917
- .fa-coins:before {
918
- content: "\f51e"; }
919
-
920
- .fa-columns:before {
921
- content: "\f0db"; }
922
-
923
- .fa-comment:before {
924
- content: "\f075"; }
925
-
926
- .fa-comment-alt:before {
927
- content: "\f27a"; }
928
-
929
- .fa-comment-dollar:before {
930
- content: "\f651"; }
931
-
932
- .fa-comment-dots:before {
933
- content: "\f4ad"; }
934
-
935
- .fa-comment-slash:before {
936
- content: "\f4b3"; }
937
-
938
- .fa-comments:before {
939
- content: "\f086"; }
940
-
941
- .fa-comments-dollar:before {
942
- content: "\f653"; }
943
-
944
- .fa-compact-disc:before {
945
- content: "\f51f"; }
946
-
947
- .fa-compass:before {
948
- content: "\f14e"; }
949
-
950
- .fa-compress:before {
951
- content: "\f066"; }
952
-
953
- .fa-concierge-bell:before {
954
- content: "\f562"; }
955
-
956
- .fa-connectdevelop:before {
957
- content: "\f20e"; }
958
-
959
- .fa-contao:before {
960
- content: "\f26d"; }
961
-
962
- .fa-cookie:before {
963
- content: "\f563"; }
964
-
965
- .fa-cookie-bite:before {
966
- content: "\f564"; }
967
-
968
- .fa-copy:before {
969
- content: "\f0c5"; }
970
-
971
- .fa-copyright:before {
972
- content: "\f1f9"; }
973
-
974
- .fa-couch:before {
975
- content: "\f4b8"; }
976
-
977
- .fa-cpanel:before {
978
- content: "\f388"; }
979
-
980
- .fa-creative-commons:before {
981
- content: "\f25e"; }
982
-
983
- .fa-creative-commons-by:before {
984
- content: "\f4e7"; }
985
-
986
- .fa-creative-commons-nc:before {
987
- content: "\f4e8"; }
988
-
989
- .fa-creative-commons-nc-eu:before {
990
- content: "\f4e9"; }
991
-
992
- .fa-creative-commons-nc-jp:before {
993
- content: "\f4ea"; }
994
-
995
- .fa-creative-commons-nd:before {
996
- content: "\f4eb"; }
997
-
998
- .fa-creative-commons-pd:before {
999
- content: "\f4ec"; }
1000
-
1001
- .fa-creative-commons-pd-alt:before {
1002
- content: "\f4ed"; }
1003
-
1004
- .fa-creative-commons-remix:before {
1005
- content: "\f4ee"; }
1006
-
1007
- .fa-creative-commons-sa:before {
1008
- content: "\f4ef"; }
1009
-
1010
- .fa-creative-commons-sampling:before {
1011
- content: "\f4f0"; }
1012
-
1013
- .fa-creative-commons-sampling-plus:before {
1014
- content: "\f4f1"; }
1015
-
1016
- .fa-creative-commons-share:before {
1017
- content: "\f4f2"; }
1018
-
1019
- .fa-credit-card:before {
1020
- content: "\f09d"; }
1021
-
1022
- .fa-crop:before {
1023
- content: "\f125"; }
1024
-
1025
- .fa-crop-alt:before {
1026
- content: "\f565"; }
1027
-
1028
- .fa-cross:before {
1029
- content: "\f654"; }
1030
-
1031
- .fa-crosshairs:before {
1032
- content: "\f05b"; }
1033
-
1034
- .fa-crow:before {
1035
- content: "\f520"; }
1036
-
1037
- .fa-crown:before {
1038
- content: "\f521"; }
1039
-
1040
- .fa-css3:before {
1041
- content: "\f13c"; }
1042
-
1043
- .fa-css3-alt:before {
1044
- content: "\f38b"; }
1045
-
1046
- .fa-cube:before {
1047
- content: "\f1b2"; }
1048
-
1049
- .fa-cubes:before {
1050
- content: "\f1b3"; }
1051
-
1052
- .fa-cut:before {
1053
- content: "\f0c4"; }
1054
-
1055
- .fa-cuttlefish:before {
1056
- content: "\f38c"; }
1057
-
1058
- .fa-d-and-d:before {
1059
- content: "\f38d"; }
1060
-
1061
- .fa-dashcube:before {
1062
- content: "\f210"; }
1063
-
1064
- .fa-database:before {
1065
- content: "\f1c0"; }
1066
-
1067
- .fa-deaf:before {
1068
- content: "\f2a4"; }
1069
-
1070
- .fa-delicious:before {
1071
- content: "\f1a5"; }
1072
-
1073
- .fa-deploydog:before {
1074
- content: "\f38e"; }
1075
-
1076
- .fa-deskpro:before {
1077
- content: "\f38f"; }
1078
-
1079
- .fa-desktop:before {
1080
- content: "\f108"; }
1081
-
1082
- .fa-deviantart:before {
1083
- content: "\f1bd"; }
1084
-
1085
- .fa-dharmachakra:before {
1086
- content: "\f655"; }
1087
-
1088
- .fa-diagnoses:before {
1089
- content: "\f470"; }
1090
-
1091
- .fa-dice:before {
1092
- content: "\f522"; }
1093
-
1094
- .fa-dice-five:before {
1095
- content: "\f523"; }
1096
-
1097
- .fa-dice-four:before {
1098
- content: "\f524"; }
1099
-
1100
- .fa-dice-one:before {
1101
- content: "\f525"; }
1102
-
1103
- .fa-dice-six:before {
1104
- content: "\f526"; }
1105
-
1106
- .fa-dice-three:before {
1107
- content: "\f527"; }
1108
-
1109
- .fa-dice-two:before {
1110
- content: "\f528"; }
1111
-
1112
- .fa-digg:before {
1113
- content: "\f1a6"; }
1114
-
1115
- .fa-digital-ocean:before {
1116
- content: "\f391"; }
1117
-
1118
- .fa-digital-tachograph:before {
1119
- content: "\f566"; }
1120
-
1121
- .fa-directions:before {
1122
- content: "\f5eb"; }
1123
-
1124
- .fa-discord:before {
1125
- content: "\f392"; }
1126
-
1127
- .fa-discourse:before {
1128
- content: "\f393"; }
1129
-
1130
- .fa-divide:before {
1131
- content: "\f529"; }
1132
-
1133
- .fa-dizzy:before {
1134
- content: "\f567"; }
1135
-
1136
- .fa-dna:before {
1137
- content: "\f471"; }
1138
-
1139
- .fa-dochub:before {
1140
- content: "\f394"; }
1141
-
1142
- .fa-docker:before {
1143
- content: "\f395"; }
1144
-
1145
- .fa-dollar-sign:before {
1146
- content: "\f155"; }
1147
-
1148
- .fa-dolly:before {
1149
- content: "\f472"; }
1150
-
1151
- .fa-dolly-flatbed:before {
1152
- content: "\f474"; }
1153
-
1154
- .fa-donate:before {
1155
- content: "\f4b9"; }
1156
-
1157
- .fa-door-closed:before {
1158
- content: "\f52a"; }
1159
-
1160
- .fa-door-open:before {
1161
- content: "\f52b"; }
1162
-
1163
- .fa-dot-circle:before {
1164
- content: "\f192"; }
1165
-
1166
- .fa-dove:before {
1167
- content: "\f4ba"; }
1168
-
1169
- .fa-download:before {
1170
- content: "\f019"; }
1171
-
1172
- .fa-draft2digital:before {
1173
- content: "\f396"; }
1174
-
1175
- .fa-drafting-compass:before {
1176
- content: "\f568"; }
1177
-
1178
- .fa-draw-polygon:before {
1179
- content: "\f5ee"; }
1180
-
1181
- .fa-dribbble:before {
1182
- content: "\f17d"; }
1183
-
1184
- .fa-dribbble-square:before {
1185
- content: "\f397"; }
1186
-
1187
- .fa-dropbox:before {
1188
- content: "\f16b"; }
1189
-
1190
- .fa-drum:before {
1191
- content: "\f569"; }
1192
-
1193
- .fa-drum-steelpan:before {
1194
- content: "\f56a"; }
1195
-
1196
- .fa-drupal:before {
1197
- content: "\f1a9"; }
1198
-
1199
- .fa-dumbbell:before {
1200
- content: "\f44b"; }
1201
-
1202
- .fa-dyalog:before {
1203
- content: "\f399"; }
1204
-
1205
- .fa-earlybirds:before {
1206
- content: "\f39a"; }
1207
-
1208
- .fa-ebay:before {
1209
- content: "\f4f4"; }
1210
-
1211
- .fa-edge:before {
1212
- content: "\f282"; }
1213
-
1214
- .fa-edit:before {
1215
- content: "\f044"; }
1216
-
1217
- .fa-eject:before {
1218
- content: "\f052"; }
1219
-
1220
- .fa-elementor:before {
1221
- content: "\f430"; }
1222
-
1223
- .fa-ellipsis-h:before {
1224
- content: "\f141"; }
1225
-
1226
- .fa-ellipsis-v:before {
1227
- content: "\f142"; }
1228
-
1229
- .fa-ello:before {
1230
- content: "\f5f1"; }
1231
-
1232
- .fa-ember:before {
1233
- content: "\f423"; }
1234
-
1235
- .fa-empire:before {
1236
- content: "\f1d1"; }
1237
-
1238
- .fa-envelope:before {
1239
- content: "\f0e0"; }
1240
-
1241
- .fa-envelope-open:before {
1242
- content: "\f2b6"; }
1243
-
1244
- .fa-envelope-open-text:before {
1245
- content: "\f658"; }
1246
-
1247
- .fa-envelope-square:before {
1248
- content: "\f199"; }
1249
-
1250
- .fa-envira:before {
1251
- content: "\f299"; }
1252
-
1253
- .fa-equals:before {
1254
- content: "\f52c"; }
1255
-
1256
- .fa-eraser:before {
1257
- content: "\f12d"; }
1258
-
1259
- .fa-erlang:before {
1260
- content: "\f39d"; }
1261
-
1262
- .fa-ethereum:before {
1263
- content: "\f42e"; }
1264
-
1265
- .fa-etsy:before {
1266
- content: "\f2d7"; }
1267
-
1268
- .fa-euro-sign:before {
1269
- content: "\f153"; }
1270
-
1271
- .fa-exchange-alt:before {
1272
- content: "\f362"; }
1273
-
1274
- .fa-exclamation:before {
1275
- content: "\f12a"; }
1276
-
1277
- .fa-exclamation-circle:before {
1278
- content: "\f06a"; }
1279
-
1280
- .fa-exclamation-triangle:before {
1281
- content: "\f071"; }
1282
-
1283
- .fa-expand:before {
1284
- content: "\f065"; }
1285
-
1286
- .fa-expand-arrows-alt:before {
1287
- content: "\f31e"; }
1288
-
1289
- .fa-expeditedssl:before {
1290
- content: "\f23e"; }
1291
-
1292
- .fa-external-link-alt:before {
1293
- content: "\f35d"; }
1294
-
1295
- .fa-external-link-square-alt:before {
1296
- content: "\f360"; }
1297
-
1298
- .fa-eye:before {
1299
- content: "\f06e"; }
1300
-
1301
- .fa-eye-dropper:before {
1302
- content: "\f1fb"; }
1303
-
1304
- .fa-eye-slash:before {
1305
- content: "\f070"; }
1306
-
1307
- .fa-facebook:before {
1308
- content: "\f09a"; }
1309
-
1310
- .fa-facebook-f:before {
1311
- content: "\f39e"; }
1312
-
1313
- .fa-facebook-messenger:before {
1314
- content: "\f39f"; }
1315
-
1316
- .fa-facebook-square:before {
1317
- content: "\f082"; }
1318
-
1319
- .fa-fast-backward:before {
1320
- content: "\f049"; }
1321
-
1322
- .fa-fast-forward:before {
1323
- content: "\f050"; }
1324
-
1325
- .fa-fax:before {
1326
- content: "\f1ac"; }
1327
-
1328
- .fa-feather:before {
1329
- content: "\f52d"; }
1330
-
1331
- .fa-feather-alt:before {
1332
- content: "\f56b"; }
1333
-
1334
- .fa-female:before {
1335
- content: "\f182"; }
1336
-
1337
- .fa-fighter-jet:before {
1338
- content: "\f0fb"; }
1339
-
1340
- .fa-file:before {
1341
- content: "\f15b"; }
1342
-
1343
- .fa-file-alt:before {
1344
- content: "\f15c"; }
1345
-
1346
- .fa-file-archive:before {
1347
- content: "\f1c6"; }
1348
-
1349
- .fa-file-audio:before {
1350
- content: "\f1c7"; }
1351
-
1352
- .fa-file-code:before {
1353
- content: "\f1c9"; }
1354
-
1355
- .fa-file-contract:before {
1356
- content: "\f56c"; }
1357
-
1358
- .fa-file-download:before {
1359
- content: "\f56d"; }
1360
-
1361
- .fa-file-excel:before {
1362
- content: "\f1c3"; }
1363
-
1364
- .fa-file-export:before {
1365
- content: "\f56e"; }
1366
-
1367
- .fa-file-image:before {
1368
- content: "\f1c5"; }
1369
-
1370
- .fa-file-import:before {
1371
- content: "\f56f"; }
1372
-
1373
- .fa-file-invoice:before {
1374
- content: "\f570"; }
1375
-
1376
- .fa-file-invoice-dollar:before {
1377
- content: "\f571"; }
1378
-
1379
- .fa-file-medical:before {
1380
- content: "\f477"; }
1381
-
1382
- .fa-file-medical-alt:before {
1383
- content: "\f478"; }
1384
-
1385
- .fa-file-pdf:before {
1386
- content: "\f1c1"; }
1387
-
1388
- .fa-file-powerpoint:before {
1389
- content: "\f1c4"; }
1390
-
1391
- .fa-file-prescription:before {
1392
- content: "\f572"; }
1393
-
1394
- .fa-file-signature:before {
1395
- content: "\f573"; }
1396
-
1397
- .fa-file-upload:before {
1398
- content: "\f574"; }
1399
-
1400
- .fa-file-video:before {
1401
- content: "\f1c8"; }
1402
-
1403
- .fa-file-word:before {
1404
- content: "\f1c2"; }
1405
-
1406
- .fa-fill:before {
1407
- content: "\f575"; }
1408
-
1409
- .fa-fill-drip:before {
1410
- content: "\f576"; }
1411
-
1412
- .fa-film:before {
1413
- content: "\f008"; }
1414
-
1415
- .fa-filter:before {
1416
- content: "\f0b0"; }
1417
-
1418
- .fa-fingerprint:before {
1419
- content: "\f577"; }
1420
-
1421
- .fa-fire:before {
1422
- content: "\f06d"; }
1423
-
1424
- .fa-fire-extinguisher:before {
1425
- content: "\f134"; }
1426
-
1427
- .fa-firefox:before {
1428
- content: "\f269"; }
1429
-
1430
- .fa-first-aid:before {
1431
- content: "\f479"; }
1432
-
1433
- .fa-first-order:before {
1434
- content: "\f2b0"; }
1435
-
1436
- .fa-first-order-alt:before {
1437
- content: "\f50a"; }
1438
-
1439
- .fa-firstdraft:before {
1440
- content: "\f3a1"; }
1441
-
1442
- .fa-fish:before {
1443
- content: "\f578"; }
1444
-
1445
- .fa-flag:before {
1446
- content: "\f024"; }
1447
-
1448
- .fa-flag-checkered:before {
1449
- content: "\f11e"; }
1450
-
1451
- .fa-flask:before {
1452
- content: "\f0c3"; }
1453
-
1454
- .fa-flickr:before {
1455
- content: "\f16e"; }
1456
-
1457
- .fa-flipboard:before {
1458
- content: "\f44d"; }
1459
-
1460
- .fa-flushed:before {
1461
- content: "\f579"; }
1462
-
1463
- .fa-fly:before {
1464
- content: "\f417"; }
1465
-
1466
- .fa-folder:before {
1467
- content: "\f07b"; }
1468
-
1469
- .fa-folder-minus:before {
1470
- content: "\f65d"; }
1471
-
1472
- .fa-folder-open:before {
1473
- content: "\f07c"; }
1474
-
1475
- .fa-folder-plus:before {
1476
- content: "\f65e"; }
1477
-
1478
- .fa-font:before {
1479
- content: "\f031"; }
1480
-
1481
- .fa-font-awesome:before {
1482
- content: "\f2b4"; }
1483
-
1484
- .fa-font-awesome-alt:before {
1485
- content: "\f35c"; }
1486
-
1487
- .fa-font-awesome-flag:before {
1488
- content: "\f425"; }
1489
-
1490
- .fa-font-awesome-logo-full:before {
1491
- content: "\f4e6"; }
1492
-
1493
- .fa-fonticons:before {
1494
- content: "\f280"; }
1495
-
1496
- .fa-fonticons-fi:before {
1497
- content: "\f3a2"; }
1498
-
1499
- .fa-football-ball:before {
1500
- content: "\f44e"; }
1501
-
1502
- .fa-fort-awesome:before {
1503
- content: "\f286"; }
1504
-
1505
- .fa-fort-awesome-alt:before {
1506
- content: "\f3a3"; }
1507
-
1508
- .fa-forumbee:before {
1509
- content: "\f211"; }
1510
-
1511
- .fa-forward:before {
1512
- content: "\f04e"; }
1513
-
1514
- .fa-foursquare:before {
1515
- content: "\f180"; }
1516
-
1517
- .fa-free-code-camp:before {
1518
- content: "\f2c5"; }
1519
-
1520
- .fa-freebsd:before {
1521
- content: "\f3a4"; }
1522
-
1523
- .fa-frog:before {
1524
- content: "\f52e"; }
1525
-
1526
- .fa-frown:before {
1527
- content: "\f119"; }
1528
-
1529
- .fa-frown-open:before {
1530
- content: "\f57a"; }
1531
-
1532
- .fa-fulcrum:before {
1533
- content: "\f50b"; }
1534
-
1535
- .fa-funnel-dollar:before {
1536
- content: "\f662"; }
1537
-
1538
- .fa-futbol:before {
1539
- content: "\f1e3"; }
1540
-
1541
- .fa-galactic-republic:before {
1542
- content: "\f50c"; }
1543
-
1544
- .fa-galactic-senate:before {
1545
- content: "\f50d"; }
1546
-
1547
- .fa-gamepad:before {
1548
- content: "\f11b"; }
1549
-
1550
- .fa-gas-pump:before {
1551
- content: "\f52f"; }
1552
-
1553
- .fa-gavel:before {
1554
- content: "\f0e3"; }
1555
-
1556
- .fa-gem:before {
1557
- content: "\f3a5"; }
1558
-
1559
- .fa-genderless:before {
1560
- content: "\f22d"; }
1561
-
1562
- .fa-get-pocket:before {
1563
- content: "\f265"; }
1564
-
1565
- .fa-gg:before {
1566
- content: "\f260"; }
1567
-
1568
- .fa-gg-circle:before {
1569
- content: "\f261"; }
1570
-
1571
- .fa-gift:before {
1572
- content: "\f06b"; }
1573
-
1574
- .fa-git:before {
1575
- content: "\f1d3"; }
1576
-
1577
- .fa-git-square:before {
1578
- content: "\f1d2"; }
1579
-
1580
- .fa-github:before {
1581
- content: "\f09b"; }
1582
-
1583
- .fa-github-alt:before {
1584
- content: "\f113"; }
1585
-
1586
- .fa-github-square:before {
1587
- content: "\f092"; }
1588
-
1589
- .fa-gitkraken:before {
1590
- content: "\f3a6"; }
1591
-
1592
- .fa-gitlab:before {
1593
- content: "\f296"; }
1594
-
1595
- .fa-gitter:before {
1596
- content: "\f426"; }
1597
-
1598
- .fa-glass-martini:before {
1599
- content: "\f000"; }
1600
-
1601
- .fa-glass-martini-alt:before {
1602
- content: "\f57b"; }
1603
-
1604
- .fa-glasses:before {
1605
- content: "\f530"; }
1606
-
1607
- .fa-glide:before {
1608
- content: "\f2a5"; }
1609
-
1610
- .fa-glide-g:before {
1611
- content: "\f2a6"; }
1612
-
1613
- .fa-globe:before {
1614
- content: "\f0ac"; }
1615
-
1616
- .fa-globe-africa:before {
1617
- content: "\f57c"; }
1618
-
1619
- .fa-globe-americas:before {
1620
- content: "\f57d"; }
1621
-
1622
- .fa-globe-asia:before {
1623
- content: "\f57e"; }
1624
-
1625
- .fa-gofore:before {
1626
- content: "\f3a7"; }
1627
-
1628
- .fa-golf-ball:before {
1629
- content: "\f450"; }
1630
-
1631
- .fa-goodreads:before {
1632
- content: "\f3a8"; }
1633
-
1634
- .fa-goodreads-g:before {
1635
- content: "\f3a9"; }
1636
-
1637
- .fa-google:before {
1638
- content: "\f1a0"; }
1639
-
1640
- .fa-google-drive:before {
1641
- content: "\f3aa"; }
1642
-
1643
- .fa-google-play:before {
1644
- content: "\f3ab"; }
1645
-
1646
- .fa-google-plus:before {
1647
- content: "\f2b3"; }
1648
-
1649
- .fa-google-plus-g:before {
1650
- content: "\f0d5"; }
1651
-
1652
- .fa-google-plus-square:before {
1653
- content: "\f0d4"; }
1654
-
1655
- .fa-google-wallet:before {
1656
- content: "\f1ee"; }
1657
-
1658
- .fa-gopuram:before {
1659
- content: "\f664"; }
1660
-
1661
- .fa-graduation-cap:before {
1662
- content: "\f19d"; }
1663
-
1664
- .fa-gratipay:before {
1665
- content: "\f184"; }
1666
-
1667
- .fa-grav:before {
1668
- content: "\f2d6"; }
1669
-
1670
- .fa-greater-than:before {
1671
- content: "\f531"; }
1672
-
1673
- .fa-greater-than-equal:before {
1674
- content: "\f532"; }
1675
-
1676
- .fa-grimace:before {
1677
- content: "\f57f"; }
1678
-
1679
- .fa-grin:before {
1680
- content: "\f580"; }
1681
-
1682
- .fa-grin-alt:before {
1683
- content: "\f581"; }
1684
-
1685
- .fa-grin-beam:before {
1686
- content: "\f582"; }
1687
-
1688
- .fa-grin-beam-sweat:before {
1689
- content: "\f583"; }
1690
-
1691
- .fa-grin-hearts:before {
1692
- content: "\f584"; }
1693
-
1694
- .fa-grin-squint:before {
1695
- content: "\f585"; }
1696
-
1697
- .fa-grin-squint-tears:before {
1698
- content: "\f586"; }
1699
-
1700
- .fa-grin-stars:before {
1701
- content: "\f587"; }
1702
-
1703
- .fa-grin-tears:before {
1704
- content: "\f588"; }
1705
-
1706
- .fa-grin-tongue:before {
1707
- content: "\f589"; }
1708
-
1709
- .fa-grin-tongue-squint:before {
1710
- content: "\f58a"; }
1711
-
1712
- .fa-grin-tongue-wink:before {
1713
- content: "\f58b"; }
1714
-
1715
- .fa-grin-wink:before {
1716
- content: "\f58c"; }
1717
-
1718
- .fa-grip-horizontal:before {
1719
- content: "\f58d"; }
1720
-
1721
- .fa-grip-vertical:before {
1722
- content: "\f58e"; }
1723
-
1724
- .fa-gripfire:before {
1725
- content: "\f3ac"; }
1726
-
1727
- .fa-grunt:before {
1728
- content: "\f3ad"; }
1729
-
1730
- .fa-gulp:before {
1731
- content: "\f3ae"; }
1732
-
1733
- .fa-h-square:before {
1734
- content: "\f0fd"; }
1735
-
1736
- .fa-hacker-news:before {
1737
- content: "\f1d4"; }
1738
-
1739
- .fa-hacker-news-square:before {
1740
- content: "\f3af"; }
1741
-
1742
- .fa-hackerrank:before {
1743
- content: "\f5f7"; }
1744
-
1745
- .fa-hamsa:before {
1746
- content: "\f665"; }
1747
-
1748
- .fa-hand-holding:before {
1749
- content: "\f4bd"; }
1750
-
1751
- .fa-hand-holding-heart:before {
1752
- content: "\f4be"; }
1753
-
1754
- .fa-hand-holding-usd:before {
1755
- content: "\f4c0"; }
1756
-
1757
- .fa-hand-lizard:before {
1758
- content: "\f258"; }
1759
-
1760
- .fa-hand-paper:before {
1761
- content: "\f256"; }
1762
-
1763
- .fa-hand-peace:before {
1764
- content: "\f25b"; }
1765
-
1766
- .fa-hand-point-down:before {
1767
- content: "\f0a7"; }
1768
-
1769
- .fa-hand-point-left:before {
1770
- content: "\f0a5"; }
1771
-
1772
- .fa-hand-point-right:before {
1773
- content: "\f0a4"; }
1774
-
1775
- .fa-hand-point-up:before {
1776
- content: "\f0a6"; }
1777
-
1778
- .fa-hand-pointer:before {
1779
- content: "\f25a"; }
1780
-
1781
- .fa-hand-rock:before {
1782
- content: "\f255"; }
1783
-
1784
- .fa-hand-scissors:before {
1785
- content: "\f257"; }
1786
-
1787
- .fa-hand-spock:before {
1788
- content: "\f259"; }
1789
-
1790
- .fa-hands:before {
1791
- content: "\f4c2"; }
1792
-
1793
- .fa-hands-helping:before {
1794
- content: "\f4c4"; }
1795
-
1796
- .fa-handshake:before {
1797
- content: "\f2b5"; }
1798
-
1799
- .fa-hashtag:before {
1800
- content: "\f292"; }
1801
-
1802
- .fa-haykal:before {
1803
- content: "\f666"; }
1804
-
1805
- .fa-hdd:before {
1806
- content: "\f0a0"; }
1807
-
1808
- .fa-heading:before {
1809
- content: "\f1dc"; }
1810
-
1811
- .fa-headphones:before {
1812
- content: "\f025"; }
1813
-
1814
- .fa-headphones-alt:before {
1815
- content: "\f58f"; }
1816
-
1817
- .fa-headset:before {
1818
- content: "\f590"; }
1819
-
1820
- .fa-heart:before {
1821
- content: "\f004"; }
1822
-
1823
- .fa-heartbeat:before {
1824
- content: "\f21e"; }
1825
-
1826
- .fa-helicopter:before {
1827
- content: "\f533"; }
1828
-
1829
- .fa-highlighter:before {
1830
- content: "\f591"; }
1831
-
1832
- .fa-hips:before {
1833
- content: "\f452"; }
1834
-
1835
- .fa-hire-a-helper:before {
1836
- content: "\f3b0"; }
1837
-
1838
- .fa-history:before {
1839
- content: "\f1da"; }
1840
-
1841
- .fa-hockey-puck:before {
1842
- content: "\f453"; }
1843
-
1844
- .fa-home:before {
1845
- content: "\f015"; }
1846
-
1847
- .fa-hooli:before {
1848
- content: "\f427"; }
1849
-
1850
- .fa-hornbill:before {
1851
- content: "\f592"; }
1852
-
1853
- .fa-hospital:before {
1854
- content: "\f0f8"; }
1855
-
1856
- .fa-hospital-alt:before {
1857
- content: "\f47d"; }
1858
-
1859
- .fa-hospital-symbol:before {
1860
- content: "\f47e"; }
1861
-
1862
- .fa-hot-tub:before {
1863
- content: "\f593"; }
1864
-
1865
- .fa-hotel:before {
1866
- content: "\f594"; }
1867
-
1868
- .fa-hotjar:before {
1869
- content: "\f3b1"; }
1870
-
1871
- .fa-hourglass:before {
1872
- content: "\f254"; }
1873
-
1874
- .fa-hourglass-end:before {
1875
- content: "\f253"; }
1876
-
1877
- .fa-hourglass-half:before {
1878
- content: "\f252"; }
1879
-
1880
- .fa-hourglass-start:before {
1881
- content: "\f251"; }
1882
-
1883
- .fa-houzz:before {
1884
- content: "\f27c"; }
1885
-
1886
- .fa-html5:before {
1887
- content: "\f13b"; }
1888
-
1889
- .fa-hubspot:before {
1890
- content: "\f3b2"; }
1891
-
1892
- .fa-i-cursor:before {
1893
- content: "\f246"; }
1894
-
1895
- .fa-id-badge:before {
1896
- content: "\f2c1"; }
1897
-
1898
- .fa-id-card:before {
1899
- content: "\f2c2"; }
1900
-
1901
- .fa-id-card-alt:before {
1902
- content: "\f47f"; }
1903
-
1904
- .fa-image:before {
1905
- content: "\f03e"; }
1906
-
1907
- .fa-images:before {
1908
- content: "\f302"; }
1909
-
1910
- .fa-imdb:before {
1911
- content: "\f2d8"; }
1912
-
1913
- .fa-inbox:before {
1914
- content: "\f01c"; }
1915
-
1916
- .fa-indent:before {
1917
- content: "\f03c"; }
1918
-
1919
- .fa-industry:before {
1920
- content: "\f275"; }
1921
-
1922
- .fa-infinity:before {
1923
- content: "\f534"; }
1924
-
1925
- .fa-info:before {
1926
- content: "\f129"; }
1927
-
1928
- .fa-info-circle:before {
1929
- content: "\f05a"; }
1930
-
1931
- .fa-instagram:before {
1932
- content: "\f16d"; }
1933
-
1934
- .fa-internet-explorer:before {
1935
- content: "\f26b"; }
1936
-
1937
- .fa-ioxhost:before {
1938
- content: "\f208"; }
1939
-
1940
- .fa-italic:before {
1941
- content: "\f033"; }
1942
-
1943
- .fa-itunes:before {
1944
- content: "\f3b4"; }
1945
-
1946
- .fa-itunes-note:before {
1947
- content: "\f3b5"; }
1948
-
1949
- .fa-java:before {
1950
- content: "\f4e4"; }
1951
-
1952
- .fa-jedi:before {
1953
- content: "\f669"; }
1954
-
1955
- .fa-jedi-order:before {
1956
- content: "\f50e"; }
1957
-
1958
- .fa-jenkins:before {
1959
- content: "\f3b6"; }
1960
-
1961
- .fa-joget:before {
1962
- content: "\f3b7"; }
1963
-
1964
- .fa-joint:before {
1965
- content: "\f595"; }
1966
-
1967
- .fa-joomla:before {
1968
- content: "\f1aa"; }
1969
-
1970
- .fa-journal-whills:before {
1971
- content: "\f66a"; }
1972
-
1973
- .fa-js:before {
1974
- content: "\f3b8"; }
1975
-
1976
- .fa-js-square:before {
1977
- content: "\f3b9"; }
1978
-
1979
- .fa-jsfiddle:before {
1980
- content: "\f1cc"; }
1981
-
1982
- .fa-kaaba:before {
1983
- content: "\f66b"; }
1984
-
1985
- .fa-kaggle:before {
1986
- content: "\f5fa"; }
1987
-
1988
- .fa-key:before {
1989
- content: "\f084"; }
1990
-
1991
- .fa-keybase:before {
1992
- content: "\f4f5"; }
1993
-
1994
- .fa-keyboard:before {
1995
- content: "\f11c"; }
1996
-
1997
- .fa-keycdn:before {
1998
- content: "\f3ba"; }
1999
-
2000
- .fa-khanda:before {
2001
- content: "\f66d"; }
2002
-
2003
- .fa-kickstarter:before {
2004
- content: "\f3bb"; }
2005
-
2006
- .fa-kickstarter-k:before {
2007
- content: "\f3bc"; }
2008
-
2009
- .fa-kiss:before {
2010
- content: "\f596"; }
2011
-
2012
- .fa-kiss-beam:before {
2013
- content: "\f597"; }
2014
-
2015
- .fa-kiss-wink-heart:before {
2016
- content: "\f598"; }
2017
-
2018
- .fa-kiwi-bird:before {
2019
- content: "\f535"; }
2020
-
2021
- .fa-korvue:before {
2022
- content: "\f42f"; }
2023
-
2024
- .fa-landmark:before {
2025
- content: "\f66f"; }
2026
-
2027
- .fa-language:before {
2028
- content: "\f1ab"; }
2029
-
2030
- .fa-laptop:before {
2031
- content: "\f109"; }
2032
-
2033
- .fa-laptop-code:before {
2034
- content: "\f5fc"; }
2035
-
2036
- .fa-laravel:before {
2037
- content: "\f3bd"; }
2038
-
2039
- .fa-lastfm:before {
2040
- content: "\f202"; }
2041
-
2042
- .fa-lastfm-square:before {
2043
- content: "\f203"; }
2044
-
2045
- .fa-laugh:before {
2046
- content: "\f599"; }
2047
-
2048
- .fa-laugh-beam:before {
2049
- content: "\f59a"; }
2050
-
2051
- .fa-laugh-squint:before {
2052
- content: "\f59b"; }
2053
-
2054
- .fa-laugh-wink:before {
2055
- content: "\f59c"; }
2056
-
2057
- .fa-layer-group:before {
2058
- content: "\f5fd"; }
2059
-
2060
- .fa-leaf:before {
2061
- content: "\f06c"; }
2062
-
2063
- .fa-leanpub:before {
2064
- content: "\f212"; }
2065
-
2066
- .fa-lemon:before {
2067
- content: "\f094"; }
2068
-
2069
- .fa-less:before {
2070
- content: "\f41d"; }
2071
-
2072
- .fa-less-than:before {
2073
- content: "\f536"; }
2074
-
2075
- .fa-less-than-equal:before {
2076
- content: "\f537"; }
2077
-
2078
- .fa-level-down-alt:before {
2079
- content: "\f3be"; }
2080
-
2081
- .fa-level-up-alt:before {
2082
- content: "\f3bf"; }
2083
-
2084
- .fa-life-ring:before {
2085
- content: "\f1cd"; }
2086
-
2087
- .fa-lightbulb:before {
2088
- content: "\f0eb"; }
2089
-
2090
- .fa-line:before {
2091
- content: "\f3c0"; }
2092
-
2093
- .fa-link:before {
2094
- content: "\f0c1"; }
2095
-
2096
- .fa-linkedin:before {
2097
- content: "\f08c"; }
2098
-
2099
- .fa-linkedin-in:before {
2100
- content: "\f0e1"; }
2101
-
2102
- .fa-linode:before {
2103
- content: "\f2b8"; }
2104
-
2105
- .fa-linux:before {
2106
- content: "\f17c"; }
2107
-
2108
- .fa-lira-sign:before {
2109
- content: "\f195"; }
2110
-
2111
- .fa-list:before {
2112
- content: "\f03a"; }
2113
-
2114
- .fa-list-alt:before {
2115
- content: "\f022"; }
2116
-
2117
- .fa-list-ol:before {
2118
- content: "\f0cb"; }
2119
-
2120
- .fa-list-ul:before {
2121
- content: "\f0ca"; }
2122
-
2123
- .fa-location-arrow:before {
2124
- content: "\f124"; }
2125
-
2126
- .fa-lock:before {
2127
- content: "\f023"; }
2128
-
2129
- .fa-lock-open:before {
2130
- content: "\f3c1"; }
2131
-
2132
- .fa-long-arrow-alt-down:before {
2133
- content: "\f309"; }
2134
-
2135
- .fa-long-arrow-alt-left:before {
2136
- content: "\f30a"; }
2137
-
2138
- .fa-long-arrow-alt-right:before {
2139
- content: "\f30b"; }
2140
-
2141
- .fa-long-arrow-alt-up:before {
2142
- content: "\f30c"; }
2143
-
2144
- .fa-low-vision:before {
2145
- content: "\f2a8"; }
2146
-
2147
- .fa-luggage-cart:before {
2148
- content: "\f59d"; }
2149
-
2150
- .fa-lyft:before {
2151
- content: "\f3c3"; }
2152
-
2153
- .fa-magento:before {
2154
- content: "\f3c4"; }
2155
-
2156
- .fa-magic:before {
2157
- content: "\f0d0"; }
2158
-
2159
- .fa-magnet:before {
2160
- content: "\f076"; }
2161
-
2162
- .fa-mail-bulk:before {
2163
- content: "\f674"; }
2164
-
2165
- .fa-mailchimp:before {
2166
- content: "\f59e"; }
2167
-
2168
- .fa-male:before {
2169
- content: "\f183"; }
2170
-
2171
- .fa-mandalorian:before {
2172
- content: "\f50f"; }
2173
-
2174
- .fa-map:before {
2175
- content: "\f279"; }
2176
-
2177
- .fa-map-marked:before {
2178
- content: "\f59f"; }
2179
-
2180
- .fa-map-marked-alt:before {
2181
- content: "\f5a0"; }
2182
-
2183
- .fa-map-marker:before {
2184
- content: "\f041"; }
2185
-
2186
- .fa-map-marker-alt:before {
2187
- content: "\f3c5"; }
2188
-
2189
- .fa-map-pin:before {
2190
- content: "\f276"; }
2191
-
2192
- .fa-map-signs:before {
2193
- content: "\f277"; }
2194
-
2195
- .fa-markdown:before {
2196
- content: "\f60f"; }
2197
-
2198
- .fa-marker:before {
2199
- content: "\f5a1"; }
2200
-
2201
- .fa-mars:before {
2202
- content: "\f222"; }
2203
-
2204
- .fa-mars-double:before {
2205
- content: "\f227"; }
2206
-
2207
- .fa-mars-stroke:before {
2208
- content: "\f229"; }
2209
-
2210
- .fa-mars-stroke-h:before {
2211
- content: "\f22b"; }
2212
-
2213
- .fa-mars-stroke-v:before {
2214
- content: "\f22a"; }
2215
-
2216
- .fa-mastodon:before {
2217
- content: "\f4f6"; }
2218
-
2219
- .fa-maxcdn:before {
2220
- content: "\f136"; }
2221
-
2222
- .fa-medal:before {
2223
- content: "\f5a2"; }
2224
-
2225
- .fa-medapps:before {
2226
- content: "\f3c6"; }
2227
-
2228
- .fa-medium:before {
2229
- content: "\f23a"; }
2230
-
2231
- .fa-medium-m:before {
2232
- content: "\f3c7"; }
2233
-
2234
- .fa-medkit:before {
2235
- content: "\f0fa"; }
2236
-
2237
- .fa-medrt:before {
2238
- content: "\f3c8"; }
2239
-
2240
- .fa-meetup:before {
2241
- content: "\f2e0"; }
2242
-
2243
- .fa-megaport:before {
2244
- content: "\f5a3"; }
2245
-
2246
- .fa-meh:before {
2247
- content: "\f11a"; }
2248
-
2249
- .fa-meh-blank:before {
2250
- content: "\f5a4"; }
2251
-
2252
- .fa-meh-rolling-eyes:before {
2253
- content: "\f5a5"; }
2254
-
2255
- .fa-memory:before {
2256
- content: "\f538"; }
2257
-
2258
- .fa-menorah:before {
2259
- content: "\f676"; }
2260
-
2261
- .fa-mercury:before {
2262
- content: "\f223"; }
2263
-
2264
- .fa-microchip:before {
2265
- content: "\f2db"; }
2266
-
2267
- .fa-microphone:before {
2268
- content: "\f130"; }
2269
-
2270
- .fa-microphone-alt:before {
2271
- content: "\f3c9"; }
2272
-
2273
- .fa-microphone-alt-slash:before {
2274
- content: "\f539"; }
2275
-
2276
- .fa-microphone-slash:before {
2277
- content: "\f131"; }
2278
-
2279
- .fa-microscope:before {
2280
- content: "\f610"; }
2281
-
2282
- .fa-microsoft:before {
2283
- content: "\f3ca"; }
2284
-
2285
- .fa-minus:before {
2286
- content: "\f068"; }
2287
-
2288
- .fa-minus-circle:before {
2289
- content: "\f056"; }
2290
-
2291
- .fa-minus-square:before {
2292
- content: "\f146"; }
2293
-
2294
- .fa-mix:before {
2295
- content: "\f3cb"; }
2296
-
2297
- .fa-mixcloud:before {
2298
- content: "\f289"; }
2299
-
2300
- .fa-mizuni:before {
2301
- content: "\f3cc"; }
2302
-
2303
- .fa-mobile:before {
2304
- content: "\f10b"; }
2305
-
2306
- .fa-mobile-alt:before {
2307
- content: "\f3cd"; }
2308
-
2309
- .fa-modx:before {
2310
- content: "\f285"; }
2311
-
2312
- .fa-monero:before {
2313
- content: "\f3d0"; }
2314
-
2315
- .fa-money-bill:before {
2316
- content: "\f0d6"; }
2317
-
2318
- .fa-money-bill-alt:before {
2319
- content: "\f3d1"; }
2320
-
2321
- .fa-money-bill-wave:before {
2322
- content: "\f53a"; }
2323
-
2324
- .fa-money-bill-wave-alt:before {
2325
- content: "\f53b"; }
2326
-
2327
- .fa-money-check:before {
2328
- content: "\f53c"; }
2329
-
2330
- .fa-money-check-alt:before {
2331
- content: "\f53d"; }
2332
-
2333
- .fa-monument:before {
2334
- content: "\f5a6"; }
2335
-
2336
- .fa-moon:before {
2337
- content: "\f186"; }
2338
-
2339
- .fa-mortar-pestle:before {
2340
- content: "\f5a7"; }
2341
-
2342
- .fa-mosque:before {
2343
- content: "\f678"; }
2344
-
2345
- .fa-motorcycle:before {
2346
- content: "\f21c"; }
2347
-
2348
- .fa-mouse-pointer:before {
2349
- content: "\f245"; }
2350
-
2351
- .fa-music:before {
2352
- content: "\f001"; }
2353
-
2354
- .fa-napster:before {
2355
- content: "\f3d2"; }
2356
-
2357
- .fa-neos:before {
2358
- content: "\f612"; }
2359
-
2360
- .fa-neuter:before {
2361
- content: "\f22c"; }
2362
-
2363
- .fa-newspaper:before {
2364
- content: "\f1ea"; }
2365
-
2366
- .fa-nimblr:before {
2367
- content: "\f5a8"; }
2368
-
2369
- .fa-nintendo-switch:before {
2370
- content: "\f418"; }
2371
-
2372
- .fa-node:before {
2373
- content: "\f419"; }
2374
-
2375
- .fa-node-js:before {
2376
- content: "\f3d3"; }
2377
-
2378
- .fa-not-equal:before {
2379
- content: "\f53e"; }
2380
-
2381
- .fa-notes-medical:before {
2382
- content: "\f481"; }
2383
-
2384
- .fa-npm:before {
2385
- content: "\f3d4"; }
2386
-
2387
- .fa-ns8:before {
2388
- content: "\f3d5"; }
2389
-
2390
- .fa-nutritionix:before {
2391
- content: "\f3d6"; }
2392
-
2393
- .fa-object-group:before {
2394
- content: "\f247"; }
2395
-
2396
- .fa-object-ungroup:before {
2397
- content: "\f248"; }
2398
-
2399
- .fa-odnoklassniki:before {
2400
- content: "\f263"; }
2401
-
2402
- .fa-odnoklassniki-square:before {
2403
- content: "\f264"; }
2404
-
2405
- .fa-oil-can:before {
2406
- content: "\f613"; }
2407
-
2408
- .fa-old-republic:before {
2409
- content: "\f510"; }
2410
-
2411
- .fa-om:before {
2412
- content: "\f679"; }
2413
-
2414
- .fa-opencart:before {
2415
- content: "\f23d"; }
2416
-
2417
- .fa-openid:before {
2418
- content: "\f19b"; }
2419
-
2420
- .fa-opera:before {
2421
- content: "\f26a"; }
2422
-
2423
- .fa-optin-monster:before {
2424
- content: "\f23c"; }
2425
-
2426
- .fa-osi:before {
2427
- content: "\f41a"; }
2428
-
2429
- .fa-outdent:before {
2430
- content: "\f03b"; }
2431
-
2432
- .fa-page4:before {
2433
- content: "\f3d7"; }
2434
-
2435
- .fa-pagelines:before {
2436
- content: "\f18c"; }
2437
-
2438
- .fa-paint-brush:before {
2439
- content: "\f1fc"; }
2440
-
2441
- .fa-paint-roller:before {
2442
- content: "\f5aa"; }
2443
-
2444
- .fa-palette:before {
2445
- content: "\f53f"; }
2446
-
2447
- .fa-palfed:before {
2448
- content: "\f3d8"; }
2449
-
2450
- .fa-pallet:before {
2451
- content: "\f482"; }
2452
-
2453
- .fa-paper-plane:before {
2454
- content: "\f1d8"; }
2455
-
2456
- .fa-paperclip:before {
2457
- content: "\f0c6"; }
2458
-
2459
- .fa-parachute-box:before {
2460
- content: "\f4cd"; }
2461
-
2462
- .fa-paragraph:before {
2463
- content: "\f1dd"; }
2464
-
2465
- .fa-parking:before {
2466
- content: "\f540"; }
2467
-
2468
- .fa-passport:before {
2469
- content: "\f5ab"; }
2470
-
2471
- .fa-pastafarianism:before {
2472
- content: "\f67b"; }
2473
-
2474
- .fa-paste:before {
2475
- content: "\f0ea"; }
2476
-
2477
- .fa-patreon:before {
2478
- content: "\f3d9"; }
2479
-
2480
- .fa-pause:before {
2481
- content: "\f04c"; }
2482
-
2483
- .fa-pause-circle:before {
2484
- content: "\f28b"; }
2485
-
2486
- .fa-paw:before {
2487
- content: "\f1b0"; }
2488
-
2489
- .fa-paypal:before {
2490
- content: "\f1ed"; }
2491
-
2492
- .fa-peace:before {
2493
- content: "\f67c"; }
2494
-
2495
- .fa-pen:before {
2496
- content: "\f304"; }
2497
-
2498
- .fa-pen-alt:before {
2499
- content: "\f305"; }
2500
-
2501
- .fa-pen-fancy:before {
2502
- content: "\f5ac"; }
2503
-
2504
- .fa-pen-nib:before {
2505
- content: "\f5ad"; }
2506
-
2507
- .fa-pen-square:before {
2508
- content: "\f14b"; }
2509
-
2510
- .fa-pencil-alt:before {
2511
- content: "\f303"; }
2512
-
2513
- .fa-pencil-ruler:before {
2514
- content: "\f5ae"; }
2515
-
2516
- .fa-people-carry:before {
2517
- content: "\f4ce"; }
2518
-
2519
- .fa-percent:before {
2520
- content: "\f295"; }
2521
-
2522
- .fa-percentage:before {
2523
- content: "\f541"; }
2524
-
2525
- .fa-periscope:before {
2526
- content: "\f3da"; }
2527
-
2528
- .fa-phabricator:before {
2529
- content: "\f3db"; }
2530
-
2531
- .fa-phoenix-framework:before {
2532
- content: "\f3dc"; }
2533
-
2534
- .fa-phoenix-squadron:before {
2535
- content: "\f511"; }
2536
-
2537
- .fa-phone:before {
2538
- content: "\f095"; }
2539
-
2540
- .fa-phone-slash:before {
2541
- content: "\f3dd"; }
2542
-
2543
- .fa-phone-square:before {
2544
- content: "\f098"; }
2545
-
2546
- .fa-phone-volume:before {
2547
- content: "\f2a0"; }
2548
-
2549
- .fa-php:before {
2550
- content: "\f457"; }
2551
-
2552
- .fa-pied-piper:before {
2553
- content: "\f2ae"; }
2554
-
2555
- .fa-pied-piper-alt:before {
2556
- content: "\f1a8"; }
2557
-
2558
- .fa-pied-piper-hat:before {
2559
- content: "\f4e5"; }
2560
-
2561
- .fa-pied-piper-pp:before {
2562
- content: "\f1a7"; }
2563
-
2564
- .fa-piggy-bank:before {
2565
- content: "\f4d3"; }
2566
-
2567
- .fa-pills:before {
2568
- content: "\f484"; }
2569
-
2570
- .fa-pinterest:before {
2571
- content: "\f0d2"; }
2572
-
2573
- .fa-pinterest-p:before {
2574
- content: "\f231"; }
2575
-
2576
- .fa-pinterest-square:before {
2577
- content: "\f0d3"; }
2578
-
2579
- .fa-place-of-worship:before {
2580
- content: "\f67f"; }
2581
-
2582
- .fa-plane:before {
2583
- content: "\f072"; }
2584
-
2585
- .fa-plane-arrival:before {
2586
- content: "\f5af"; }
2587
-
2588
- .fa-plane-departure:before {
2589
- content: "\f5b0"; }
2590
-
2591
- .fa-play:before {
2592
- content: "\f04b"; }
2593
-
2594
- .fa-play-circle:before {
2595
- content: "\f144"; }
2596
-
2597
- .fa-playstation:before {
2598
- content: "\f3df"; }
2599
-
2600
- .fa-plug:before {
2601
- content: "\f1e6"; }
2602
-
2603
- .fa-plus:before {
2604
- content: "\f067"; }
2605
-
2606
- .fa-plus-circle:before {
2607
- content: "\f055"; }
2608
-
2609
- .fa-plus-square:before {
2610
- content: "\f0fe"; }
2611
-
2612
- .fa-podcast:before {
2613
- content: "\f2ce"; }
2614
-
2615
- .fa-poll:before {
2616
- content: "\f681"; }
2617
-
2618
- .fa-poll-h:before {
2619
- content: "\f682"; }
2620
-
2621
- .fa-poo:before {
2622
- content: "\f2fe"; }
2623
-
2624
- .fa-poop:before {
2625
- content: "\f619"; }
2626
-
2627
- .fa-portrait:before {
2628
- content: "\f3e0"; }
2629
-
2630
- .fa-pound-sign:before {
2631
- content: "\f154"; }
2632
-
2633
- .fa-power-off:before {
2634
- content: "\f011"; }
2635
-
2636
- .fa-pray:before {
2637
- content: "\f683"; }
2638
-
2639
- .fa-praying-hands:before {
2640
- content: "\f684"; }
2641
-
2642
- .fa-prescription:before {
2643
- content: "\f5b1"; }
2644
-
2645
- .fa-prescription-bottle:before {
2646
- content: "\f485"; }
2647
-
2648
- .fa-prescription-bottle-alt:before {
2649
- content: "\f486"; }
2650
-
2651
- .fa-print:before {
2652
- content: "\f02f"; }
2653
-
2654
- .fa-procedures:before {
2655
- content: "\f487"; }
2656
-
2657
- .fa-product-hunt:before {
2658
- content: "\f288"; }
2659
-
2660
- .fa-project-diagram:before {
2661
- content: "\f542"; }
2662
-
2663
- .fa-pushed:before {
2664
- content: "\f3e1"; }
2665
-
2666
- .fa-puzzle-piece:before {
2667
- content: "\f12e"; }
2668
-
2669
- .fa-python:before {
2670
- content: "\f3e2"; }
2671
-
2672
- .fa-qq:before {
2673
- content: "\f1d6"; }
2674
-
2675
- .fa-qrcode:before {
2676
- content: "\f029"; }
2677
-
2678
- .fa-question:before {
2679
- content: "\f128"; }
2680
-
2681
- .fa-question-circle:before {
2682
- content: "\f059"; }
2683
-
2684
- .fa-quidditch:before {
2685
- content: "\f458"; }
2686
-
2687
- .fa-quinscape:before {
2688
- content: "\f459"; }
2689
-
2690
- .fa-quora:before {
2691
- content: "\f2c4"; }
2692
-
2693
- .fa-quote-left:before {
2694
- content: "\f10d"; }
2695
-
2696
- .fa-quote-right:before {
2697
- content: "\f10e"; }
2698
-
2699
- .fa-quran:before {
2700
- content: "\f687"; }
2701
-
2702
- .fa-r-project:before {
2703
- content: "\f4f7"; }
2704
-
2705
- .fa-random:before {
2706
- content: "\f074"; }
2707
-
2708
- .fa-ravelry:before {
2709
- content: "\f2d9"; }
2710
-
2711
- .fa-react:before {
2712
- content: "\f41b"; }
2713
-
2714
- .fa-readme:before {
2715
- content: "\f4d5"; }
2716
-
2717
- .fa-rebel:before {
2718
- content: "\f1d0"; }
2719
-
2720
- .fa-receipt:before {
2721
- content: "\f543"; }
2722
-
2723
- .fa-recycle:before {
2724
- content: "\f1b8"; }
2725
-
2726
- .fa-red-river:before {
2727
- content: "\f3e3"; }
2728
-
2729
- .fa-reddit:before {
2730
- content: "\f1a1"; }
2731
-
2732
- .fa-reddit-alien:before {
2733
- content: "\f281"; }
2734
-
2735
- .fa-reddit-square:before {
2736
- content: "\f1a2"; }
2737
-
2738
- .fa-redo:before {
2739
- content: "\f01e"; }
2740
-
2741
- .fa-redo-alt:before {
2742
- content: "\f2f9"; }
2743
-
2744
- .fa-registered:before {
2745
- content: "\f25d"; }
2746
-
2747
- .fa-rendact:before {
2748
- content: "\f3e4"; }
2749
-
2750
- .fa-renren:before {
2751
- content: "\f18b"; }
2752
-
2753
- .fa-reply:before {
2754
- content: "\f3e5"; }
2755
-
2756
- .fa-reply-all:before {
2757
- content: "\f122"; }
2758
-
2759
- .fa-replyd:before {
2760
- content: "\f3e6"; }
2761
-
2762
- .fa-researchgate:before {
2763
- content: "\f4f8"; }
2764
-
2765
- .fa-resolving:before {
2766
- content: "\f3e7"; }
2767
-
2768
- .fa-retweet:before {
2769
- content: "\f079"; }
2770
-
2771
- .fa-rev:before {
2772
- content: "\f5b2"; }
2773
-
2774
- .fa-ribbon:before {
2775
- content: "\f4d6"; }
2776
-
2777
- .fa-road:before {
2778
- content: "\f018"; }
2779
-
2780
- .fa-robot:before {
2781
- content: "\f544"; }
2782
-
2783
- .fa-rocket:before {
2784
- content: "\f135"; }
2785
-
2786
- .fa-rocketchat:before {
2787
- content: "\f3e8"; }
2788
-
2789
- .fa-rockrms:before {
2790
- content: "\f3e9"; }
2791
-
2792
- .fa-route:before {
2793
- content: "\f4d7"; }
2794
-
2795
- .fa-rss:before {
2796
- content: "\f09e"; }
2797
-
2798
- .fa-rss-square:before {
2799
- content: "\f143"; }
2800
-
2801
- .fa-ruble-sign:before {
2802
- content: "\f158"; }
2803
-
2804
- .fa-ruler:before {
2805
- content: "\f545"; }
2806
-
2807
- .fa-ruler-combined:before {
2808
- content: "\f546"; }
2809
-
2810
- .fa-ruler-horizontal:before {
2811
- content: "\f547"; }
2812
-
2813
- .fa-ruler-vertical:before {
2814
- content: "\f548"; }
2815
-
2816
- .fa-rupee-sign:before {
2817
- content: "\f156"; }
2818
-
2819
- .fa-sad-cry:before {
2820
- content: "\f5b3"; }
2821
-
2822
- .fa-sad-tear:before {
2823
- content: "\f5b4"; }
2824
-
2825
- .fa-safari:before {
2826
- content: "\f267"; }
2827
-
2828
- .fa-sass:before {
2829
- content: "\f41e"; }
2830
-
2831
- .fa-save:before {
2832
- content: "\f0c7"; }
2833
-
2834
- .fa-schlix:before {
2835
- content: "\f3ea"; }
2836
-
2837
- .fa-school:before {
2838
- content: "\f549"; }
2839
-
2840
- .fa-screwdriver:before {
2841
- content: "\f54a"; }
2842
-
2843
- .fa-scribd:before {
2844
- content: "\f28a"; }
2845
-
2846
- .fa-search:before {
2847
- content: "\f002"; }
2848
-
2849
- .fa-search-dollar:before {
2850
- content: "\f688"; }
2851
-
2852
- .fa-search-location:before {
2853
- content: "\f689"; }
2854
-
2855
- .fa-search-minus:before {
2856
- content: "\f010"; }
2857
-
2858
- .fa-search-plus:before {
2859
- content: "\f00e"; }
2860
-
2861
- .fa-searchengin:before {
2862
- content: "\f3eb"; }
2863
-
2864
- .fa-seedling:before {
2865
- content: "\f4d8"; }
2866
-
2867
- .fa-sellcast:before {
2868
- content: "\f2da"; }
2869
-
2870
- .fa-sellsy:before {
2871
- content: "\f213"; }
2872
-
2873
- .fa-server:before {
2874
- content: "\f233"; }
2875
-
2876
- .fa-servicestack:before {
2877
- content: "\f3ec"; }
2878
-
2879
- .fa-shapes:before {
2880
- content: "\f61f"; }
2881
-
2882
- .fa-share:before {
2883
- content: "\f064"; }
2884
-
2885
- .fa-share-alt:before {
2886
- content: "\f1e0"; }
2887
-
2888
- .fa-share-alt-square:before {
2889
- content: "\f1e1"; }
2890
-
2891
- .fa-share-square:before {
2892
- content: "\f14d"; }
2893
-
2894
- .fa-shekel-sign:before {
2895
- content: "\f20b"; }
2896
-
2897
- .fa-shield-alt:before {
2898
- content: "\f3ed"; }
2899
-
2900
- .fa-ship:before {
2901
- content: "\f21a"; }
2902
-
2903
- .fa-shipping-fast:before {
2904
- content: "\f48b"; }
2905
-
2906
- .fa-shirtsinbulk:before {
2907
- content: "\f214"; }
2908
-
2909
- .fa-shoe-prints:before {
2910
- content: "\f54b"; }
2911
-
2912
- .fa-shopping-bag:before {
2913
- content: "\f290"; }
2914
-
2915
- .fa-shopping-basket:before {
2916
- content: "\f291"; }
2917
-
2918
- .fa-shopping-cart:before {
2919
- content: "\f07a"; }
2920
-
2921
- .fa-shopware:before {
2922
- content: "\f5b5"; }
2923
-
2924
- .fa-shower:before {
2925
- content: "\f2cc"; }
2926
-
2927
- .fa-shuttle-van:before {
2928
- content: "\f5b6"; }
2929
-
2930
- .fa-sign:before {
2931
- content: "\f4d9"; }
2932
-
2933
- .fa-sign-in-alt:before {
2934
- content: "\f2f6"; }
2935
-
2936
- .fa-sign-language:before {
2937
- content: "\f2a7"; }
2938
-
2939
- .fa-sign-out-alt:before {
2940
- content: "\f2f5"; }
2941
-
2942
- .fa-signal:before {
2943
- content: "\f012"; }
2944
-
2945
- .fa-signature:before {
2946
- content: "\f5b7"; }
2947
-
2948
- .fa-simplybuilt:before {
2949
- content: "\f215"; }
2950
-
2951
- .fa-sistrix:before {
2952
- content: "\f3ee"; }
2953
-
2954
- .fa-sitemap:before {
2955
- content: "\f0e8"; }
2956
-
2957
- .fa-sith:before {
2958
- content: "\f512"; }
2959
-
2960
- .fa-skull:before {
2961
- content: "\f54c"; }
2962
-
2963
- .fa-skyatlas:before {
2964
- content: "\f216"; }
2965
-
2966
- .fa-skype:before {
2967
- content: "\f17e"; }
2968
-
2969
- .fa-slack:before {
2970
- content: "\f198"; }
2971
-
2972
- .fa-slack-hash:before {
2973
- content: "\f3ef"; }
2974
-
2975
- .fa-sliders-h:before {
2976
- content: "\f1de"; }
2977
-
2978
- .fa-slideshare:before {
2979
- content: "\f1e7"; }
2980
-
2981
- .fa-smile:before {
2982
- content: "\f118"; }
2983
-
2984
- .fa-smile-beam:before {
2985
- content: "\f5b8"; }
2986
-
2987
- .fa-smile-wink:before {
2988
- content: "\f4da"; }
2989
-
2990
- .fa-smoking:before {
2991
- content: "\f48d"; }
2992
-
2993
- .fa-smoking-ban:before {
2994
- content: "\f54d"; }
2995
-
2996
- .fa-snapchat:before {
2997
- content: "\f2ab"; }
2998
-
2999
- .fa-snapchat-ghost:before {
3000
- content: "\f2ac"; }
3001
-
3002
- .fa-snapchat-square:before {
3003
- content: "\f2ad"; }
3004
-
3005
- .fa-snowflake:before {
3006
- content: "\f2dc"; }
3007
-
3008
- .fa-socks:before {
3009
- content: "\f696"; }
3010
-
3011
- .fa-solar-panel:before {
3012
- content: "\f5ba"; }
3013
-
3014
- .fa-sort:before {
3015
- content: "\f0dc"; }
3016
-
3017
- .fa-sort-alpha-down:before {
3018
- content: "\f15d"; }
3019
-
3020
- .fa-sort-alpha-up:before {
3021
- content: "\f15e"; }
3022
-
3023
- .fa-sort-amount-down:before {
3024
- content: "\f160"; }
3025
-
3026
- .fa-sort-amount-up:before {
3027
- content: "\f161"; }
3028
-
3029
- .fa-sort-down:before {
3030
- content: "\f0dd"; }
3031
-
3032
- .fa-sort-numeric-down:before {
3033
- content: "\f162"; }
3034
-
3035
- .fa-sort-numeric-up:before {
3036
- content: "\f163"; }
3037
-
3038
- .fa-sort-up:before {
3039
- content: "\f0de"; }
3040
-
3041
- .fa-soundcloud:before {
3042
- content: "\f1be"; }
3043
-
3044
- .fa-spa:before {
3045
- content: "\f5bb"; }
3046
-
3047
- .fa-space-shuttle:before {
3048
- content: "\f197"; }
3049
-
3050
- .fa-speakap:before {
3051
- content: "\f3f3"; }
3052
-
3053
- .fa-spinner:before {
3054
- content: "\f110"; }
3055
-
3056
- .fa-splotch:before {
3057
- content: "\f5bc"; }
3058
-
3059
- .fa-spotify:before {
3060
- content: "\f1bc"; }
3061
-
3062
- .fa-spray-can:before {
3063
- content: "\f5bd"; }
3064
-
3065
- .fa-square:before {
3066
- content: "\f0c8"; }
3067
-
3068
- .fa-square-full:before {
3069
- content: "\f45c"; }
3070
-
3071
- .fa-square-root-alt:before {
3072
- content: "\f698"; }
3073
-
3074
- .fa-squarespace:before {
3075
- content: "\f5be"; }
3076
-
3077
- .fa-stack-exchange:before {
3078
- content: "\f18d"; }
3079
-
3080
- .fa-stack-overflow:before {
3081
- content: "\f16c"; }
3082
-
3083
- .fa-stamp:before {
3084
- content: "\f5bf"; }
3085
-
3086
- .fa-star:before {
3087
- content: "\f005"; }
3088
-
3089
- .fa-star-and-crescent:before {
3090
- content: "\f699"; }
3091
-
3092
- .fa-star-half:before {
3093
- content: "\f089"; }
3094
-
3095
- .fa-star-half-alt:before {
3096
- content: "\f5c0"; }
3097
-
3098
- .fa-star-of-david:before {
3099
- content: "\f69a"; }
3100
-
3101
- .fa-star-of-life:before {
3102
- content: "\f621"; }
3103
-
3104
- .fa-staylinked:before {
3105
- content: "\f3f5"; }
3106
-
3107
- .fa-steam:before {
3108
- content: "\f1b6"; }
3109
-
3110
- .fa-steam-square:before {
3111
- content: "\f1b7"; }
3112
-
3113
- .fa-steam-symbol:before {
3114
- content: "\f3f6"; }
3115
-
3116
- .fa-step-backward:before {
3117
- content: "\f048"; }
3118
-
3119
- .fa-step-forward:before {
3120
- content: "\f051"; }
3121
-
3122
- .fa-stethoscope:before {
3123
- content: "\f0f1"; }
3124
-
3125
- .fa-sticker-mule:before {
3126
- content: "\f3f7"; }
3127
-
3128
- .fa-sticky-note:before {
3129
- content: "\f249"; }
3130
-
3131
- .fa-stop:before {
3132
- content: "\f04d"; }
3133
-
3134
- .fa-stop-circle:before {
3135
- content: "\f28d"; }
3136
-
3137
- .fa-stopwatch:before {
3138
- content: "\f2f2"; }
3139
-
3140
- .fa-store:before {
3141
- content: "\f54e"; }
3142
-
3143
- .fa-store-alt:before {
3144
- content: "\f54f"; }
3145
-
3146
- .fa-strava:before {
3147
- content: "\f428"; }
3148
-
3149
- .fa-stream:before {
3150
- content: "\f550"; }
3151
-
3152
- .fa-street-view:before {
3153
- content: "\f21d"; }
3154
-
3155
- .fa-strikethrough:before {
3156
- content: "\f0cc"; }
3157
-
3158
- .fa-stripe:before {
3159
- content: "\f429"; }
3160
-
3161
- .fa-stripe-s:before {
3162
- content: "\f42a"; }
3163
-
3164
- .fa-stroopwafel:before {
3165
- content: "\f551"; }
3166
-
3167
- .fa-studiovinari:before {
3168
- content: "\f3f8"; }
3169
-
3170
- .fa-stumbleupon:before {
3171
- content: "\f1a4"; }
3172
-
3173
- .fa-stumbleupon-circle:before {
3174
- content: "\f1a3"; }
3175
-
3176
- .fa-subscript:before {
3177
- content: "\f12c"; }
3178
-
3179
- .fa-subway:before {
3180
- content: "\f239"; }
3181
-
3182
- .fa-suitcase:before {
3183
- content: "\f0f2"; }
3184
-
3185
- .fa-suitcase-rolling:before {
3186
- content: "\f5c1"; }
3187
-
3188
- .fa-sun:before {
3189
- content: "\f185"; }
3190
-
3191
- .fa-superpowers:before {
3192
- content: "\f2dd"; }
3193
-
3194
- .fa-superscript:before {
3195
- content: "\f12b"; }
3196
-
3197
- .fa-supple:before {
3198
- content: "\f3f9"; }
3199
-
3200
- .fa-surprise:before {
3201
- content: "\f5c2"; }
3202
-
3203
- .fa-swatchbook:before {
3204
- content: "\f5c3"; }
3205
-
3206
- .fa-swimmer:before {
3207
- content: "\f5c4"; }
3208
-
3209
- .fa-swimming-pool:before {
3210
- content: "\f5c5"; }
3211
-
3212
- .fa-synagogue:before {
3213
- content: "\f69b"; }
3214
-
3215
- .fa-sync:before {
3216
- content: "\f021"; }
3217
-
3218
- .fa-sync-alt:before {
3219
- content: "\f2f1"; }
3220
-
3221
- .fa-syringe:before {
3222
- content: "\f48e"; }
3223
-
3224
- .fa-table:before {
3225
- content: "\f0ce"; }
3226
-
3227
- .fa-table-tennis:before {
3228
- content: "\f45d"; }
3229
-
3230
- .fa-tablet:before {
3231
- content: "\f10a"; }
3232
-
3233
- .fa-tablet-alt:before {
3234
- content: "\f3fa"; }
3235
-
3236
- .fa-tablets:before {
3237
- content: "\f490"; }
3238
-
3239
- .fa-tachometer-alt:before {
3240
- content: "\f3fd"; }
3241
-
3242
- .fa-tag:before {
3243
- content: "\f02b"; }
3244
-
3245
- .fa-tags:before {
3246
- content: "\f02c"; }
3247
-
3248
- .fa-tape:before {
3249
- content: "\f4db"; }
3250
-
3251
- .fa-tasks:before {
3252
- content: "\f0ae"; }
3253
-
3254
- .fa-taxi:before {
3255
- content: "\f1ba"; }
3256
-
3257
- .fa-teamspeak:before {
3258
- content: "\f4f9"; }
3259
-
3260
- .fa-teeth:before {
3261
- content: "\f62e"; }
3262
-
3263
- .fa-teeth-open:before {
3264
- content: "\f62f"; }
3265
-
3266
- .fa-telegram:before {
3267
- content: "\f2c6"; }
3268
-
3269
- .fa-telegram-plane:before {
3270
- content: "\f3fe"; }
3271
-
3272
- .fa-tencent-weibo:before {
3273
- content: "\f1d5"; }
3274
-
3275
- .fa-terminal:before {
3276
- content: "\f120"; }
3277
-
3278
- .fa-text-height:before {
3279
- content: "\f034"; }
3280
-
3281
- .fa-text-width:before {
3282
- content: "\f035"; }
3283
-
3284
- .fa-th:before {
3285
- content: "\f00a"; }
3286
-
3287
- .fa-th-large:before {
3288
- content: "\f009"; }
3289
-
3290
- .fa-th-list:before {
3291
- content: "\f00b"; }
3292
-
3293
- .fa-the-red-yeti:before {
3294
- content: "\f69d"; }
3295
-
3296
- .fa-theater-masks:before {
3297
- content: "\f630"; }
3298
-
3299
- .fa-themeco:before {
3300
- content: "\f5c6"; }
3301
-
3302
- .fa-themeisle:before {
3303
- content: "\f2b2"; }
3304
-
3305
- .fa-thermometer:before {
3306
- content: "\f491"; }
3307
-
3308
- .fa-thermometer-empty:before {
3309
- content: "\f2cb"; }
3310
-
3311
- .fa-thermometer-full:before {
3312
- content: "\f2c7"; }
3313
-
3314
- .fa-thermometer-half:before {
3315
- content: "\f2c9"; }
3316
-
3317
- .fa-thermometer-quarter:before {
3318
- content: "\f2ca"; }
3319
-
3320
- .fa-thermometer-three-quarters:before {
3321
- content: "\f2c8"; }
3322
-
3323
- .fa-thumbs-down:before {
3324
- content: "\f165"; }
3325
-
3326
- .fa-thumbs-up:before {
3327
- content: "\f164"; }
3328
-
3329
- .fa-thumbtack:before {
3330
- content: "\f08d"; }
3331
-
3332
- .fa-ticket-alt:before {
3333
- content: "\f3ff"; }
3334
-
3335
- .fa-times:before {
3336
- content: "\f00d"; }
3337
-
3338
- .fa-times-circle:before {
3339
- content: "\f057"; }
3340
-
3341
- .fa-tint:before {
3342
- content: "\f043"; }
3343
-
3344
- .fa-tint-slash:before {
3345
- content: "\f5c7"; }
3346
-
3347
- .fa-tired:before {
3348
- content: "\f5c8"; }
3349
-
3350
- .fa-toggle-off:before {
3351
- content: "\f204"; }
3352
-
3353
- .fa-toggle-on:before {
3354
- content: "\f205"; }
3355
-
3356
- .fa-toolbox:before {
3357
- content: "\f552"; }
3358
-
3359
- .fa-tooth:before {
3360
- content: "\f5c9"; }
3361
-
3362
- .fa-torah:before {
3363
- content: "\f6a0"; }
3364
-
3365
- .fa-torii-gate:before {
3366
- content: "\f6a1"; }
3367
-
3368
- .fa-trade-federation:before {
3369
- content: "\f513"; }
3370
-
3371
- .fa-trademark:before {
3372
- content: "\f25c"; }
3373
-
3374
- .fa-traffic-light:before {
3375
- content: "\f637"; }
3376
-
3377
- .fa-train:before {
3378
- content: "\f238"; }
3379
-
3380
- .fa-transgender:before {
3381
- content: "\f224"; }
3382
-
3383
- .fa-transgender-alt:before {
3384
- content: "\f225"; }
3385
-
3386
- .fa-trash:before {
3387
- content: "\f1f8"; }
3388
-
3389
- .fa-trash-alt:before {
3390
- content: "\f2ed"; }
3391
-
3392
- .fa-tree:before {
3393
- content: "\f1bb"; }
3394
-
3395
- .fa-trello:before {
3396
- content: "\f181"; }
3397
-
3398
- .fa-tripadvisor:before {
3399
- content: "\f262"; }
3400
-
3401
- .fa-trophy:before {
3402
- content: "\f091"; }
3403
-
3404
- .fa-truck:before {
3405
- content: "\f0d1"; }
3406
-
3407
- .fa-truck-loading:before {
3408
- content: "\f4de"; }
3409
-
3410
- .fa-truck-monster:before {
3411
- content: "\f63b"; }
3412
-
3413
- .fa-truck-moving:before {
3414
- content: "\f4df"; }
3415
-
3416
- .fa-truck-pickup:before {
3417
- content: "\f63c"; }
3418
-
3419
- .fa-tshirt:before {
3420
- content: "\f553"; }
3421
-
3422
- .fa-tty:before {
3423
- content: "\f1e4"; }
3424
-
3425
- .fa-tumblr:before {
3426
- content: "\f173"; }
3427
-
3428
- .fa-tumblr-square:before {
3429
- content: "\f174"; }
3430
-
3431
- .fa-tv:before {
3432
- content: "\f26c"; }
3433
-
3434
- .fa-twitch:before {
3435
- content: "\f1e8"; }
3436
-
3437
- .fa-twitter:before {
3438
- content: "\f099"; }
3439
-
3440
- .fa-twitter-square:before {
3441
- content: "\f081"; }
3442
-
3443
- .fa-typo3:before {
3444
- content: "\f42b"; }
3445
-
3446
- .fa-uber:before {
3447
- content: "\f402"; }
3448
-
3449
- .fa-uikit:before {
3450
- content: "\f403"; }
3451
-
3452
- .fa-umbrella:before {
3453
- content: "\f0e9"; }
3454
-
3455
- .fa-umbrella-beach:before {
3456
- content: "\f5ca"; }
3457
-
3458
- .fa-underline:before {
3459
- content: "\f0cd"; }
3460
-
3461
- .fa-undo:before {
3462
- content: "\f0e2"; }
3463
-
3464
- .fa-undo-alt:before {
3465
- content: "\f2ea"; }
3466
-
3467
- .fa-uniregistry:before {
3468
- content: "\f404"; }
3469
-
3470
- .fa-universal-access:before {
3471
- content: "\f29a"; }
3472
-
3473
- .fa-university:before {
3474
- content: "\f19c"; }
3475
-
3476
- .fa-unlink:before {
3477
- content: "\f127"; }
3478
-
3479
- .fa-unlock:before {
3480
- content: "\f09c"; }
3481
-
3482
- .fa-unlock-alt:before {
3483
- content: "\f13e"; }
3484
-
3485
- .fa-untappd:before {
3486
- content: "\f405"; }
3487
-
3488
- .fa-upload:before {
3489
- content: "\f093"; }
3490
-
3491
- .fa-usb:before {
3492
- content: "\f287"; }
3493
-
3494
- .fa-user:before {
3495
- content: "\f007"; }
3496
-
3497
- .fa-user-alt:before {
3498
- content: "\f406"; }
3499
-
3500
- .fa-user-alt-slash:before {
3501
- content: "\f4fa"; }
3502
-
3503
- .fa-user-astronaut:before {
3504
- content: "\f4fb"; }
3505
-
3506
- .fa-user-check:before {
3507
- content: "\f4fc"; }
3508
-
3509
- .fa-user-circle:before {
3510
- content: "\f2bd"; }
3511
-
3512
- .fa-user-clock:before {
3513
- content: "\f4fd"; }
3514
-
3515
- .fa-user-cog:before {
3516
- content: "\f4fe"; }
3517
-
3518
- .fa-user-edit:before {
3519
- content: "\f4ff"; }
3520
-
3521
- .fa-user-friends:before {
3522
- content: "\f500"; }
3523
-
3524
- .fa-user-graduate:before {
3525
- content: "\f501"; }
3526
-
3527
- .fa-user-lock:before {
3528
- content: "\f502"; }
3529
-
3530
- .fa-user-md:before {
3531
- content: "\f0f0"; }
3532
-
3533
- .fa-user-minus:before {
3534
- content: "\f503"; }
3535
-
3536
- .fa-user-ninja:before {
3537
- content: "\f504"; }
3538
-
3539
- .fa-user-plus:before {
3540
- content: "\f234"; }
3541
-
3542
- .fa-user-secret:before {
3543
- content: "\f21b"; }
3544
-
3545
- .fa-user-shield:before {
3546
- content: "\f505"; }
3547
-
3548
- .fa-user-slash:before {
3549
- content: "\f506"; }
3550
-
3551
- .fa-user-tag:before {
3552
- content: "\f507"; }
3553
-
3554
- .fa-user-tie:before {
3555
- content: "\f508"; }
3556
-
3557
- .fa-user-times:before {
3558
- content: "\f235"; }
3559
-
3560
- .fa-users:before {
3561
- content: "\f0c0"; }
3562
-
3563
- .fa-users-cog:before {
3564
- content: "\f509"; }
3565
-
3566
- .fa-ussunnah:before {
3567
- content: "\f407"; }
3568
-
3569
- .fa-utensil-spoon:before {
3570
- content: "\f2e5"; }
3571
-
3572
- .fa-utensils:before {
3573
- content: "\f2e7"; }
3574
-
3575
- .fa-vaadin:before {
3576
- content: "\f408"; }
3577
-
3578
- .fa-vector-square:before {
3579
- content: "\f5cb"; }
3580
-
3581
- .fa-venus:before {
3582
- content: "\f221"; }
3583
-
3584
- .fa-venus-double:before {
3585
- content: "\f226"; }
3586
-
3587
- .fa-venus-mars:before {
3588
- content: "\f228"; }
3589
-
3590
- .fa-viacoin:before {
3591
- content: "\f237"; }
3592
-
3593
- .fa-viadeo:before {
3594
- content: "\f2a9"; }
3595
-
3596
- .fa-viadeo-square:before {
3597
- content: "\f2aa"; }
3598
-
3599
- .fa-vial:before {
3600
- content: "\f492"; }
3601
-
3602
- .fa-vials:before {
3603
- content: "\f493"; }
3604
-
3605
- .fa-viber:before {
3606
- content: "\f409"; }
3607
-
3608
- .fa-video:before {
3609
- content: "\f03d"; }
3610
-
3611
- .fa-video-slash:before {
3612
- content: "\f4e2"; }
3613
-
3614
- .fa-vihara:before {
3615
- content: "\f6a7"; }
3616
-
3617
- .fa-vimeo:before {
3618
- content: "\f40a"; }
3619
-
3620
- .fa-vimeo-square:before {
3621
- content: "\f194"; }
3622
-
3623
- .fa-vimeo-v:before {
3624
- content: "\f27d"; }
3625
-
3626
- .fa-vine:before {
3627
- content: "\f1ca"; }
3628
-
3629
- .fa-vk:before {
3630
- content: "\f189"; }
3631
-
3632
- .fa-vnv:before {
3633
- content: "\f40b"; }
3634
-
3635
- .fa-volleyball-ball:before {
3636
- content: "\f45f"; }
3637
-
3638
- .fa-volume-down:before {
3639
- content: "\f027"; }
3640
-
3641
- .fa-volume-off:before {
3642
- content: "\f026"; }
3643
-
3644
- .fa-volume-up:before {
3645
- content: "\f028"; }
3646
-
3647
- .fa-vuejs:before {
3648
- content: "\f41f"; }
3649
-
3650
- .fa-walking:before {
3651
- content: "\f554"; }
3652
-
3653
- .fa-wallet:before {
3654
- content: "\f555"; }
3655
-
3656
- .fa-warehouse:before {
3657
- content: "\f494"; }
3658
-
3659
- .fa-weebly:before {
3660
- content: "\f5cc"; }
3661
-
3662
- .fa-weibo:before {
3663
- content: "\f18a"; }
3664
-
3665
- .fa-weight:before {
3666
- content: "\f496"; }
3667
-
3668
- .fa-weight-hanging:before {
3669
- content: "\f5cd"; }
3670
-
3671
- .fa-weixin:before {
3672
- content: "\f1d7"; }
3673
-
3674
- .fa-whatsapp:before {
3675
- content: "\f232"; }
3676
-
3677
- .fa-whatsapp-square:before {
3678
- content: "\f40c"; }
3679
-
3680
- .fa-wheelchair:before {
3681
- content: "\f193"; }
3682
-
3683
- .fa-whmcs:before {
3684
- content: "\f40d"; }
3685
-
3686
- .fa-wifi:before {
3687
- content: "\f1eb"; }
3688
-
3689
- .fa-wikipedia-w:before {
3690
- content: "\f266"; }
3691
-
3692
- .fa-window-close:before {
3693
- content: "\f410"; }
3694
-
3695
- .fa-window-maximize:before {
3696
- content: "\f2d0"; }
3697
-
3698
- .fa-window-minimize:before {
3699
- content: "\f2d1"; }
3700
-
3701
- .fa-window-restore:before {
3702
- content: "\f2d2"; }
3703
-
3704
- .fa-windows:before {
3705
- content: "\f17a"; }
3706
-
3707
- .fa-wine-glass:before {
3708
- content: "\f4e3"; }
3709
-
3710
- .fa-wine-glass-alt:before {
3711
- content: "\f5ce"; }
3712
-
3713
- .fa-wix:before {
3714
- content: "\f5cf"; }
3715
-
3716
- .fa-wolf-pack-battalion:before {
3717
- content: "\f514"; }
3718
-
3719
- .fa-won-sign:before {
3720
- content: "\f159"; }
3721
-
3722
- .fa-wordpress:before {
3723
- content: "\f19a"; }
3724
-
3725
- .fa-wordpress-simple:before {
3726
- content: "\f411"; }
3727
-
3728
- .fa-wpbeginner:before {
3729
- content: "\f297"; }
3730
-
3731
- .fa-wpexplorer:before {
3732
- content: "\f2de"; }
3733
-
3734
- .fa-wpforms:before {
3735
- content: "\f298"; }
3736
-
3737
- .fa-wrench:before {
3738
- content: "\f0ad"; }
3739
-
3740
- .fa-x-ray:before {
3741
- content: "\f497"; }
3742
-
3743
- .fa-xbox:before {
3744
- content: "\f412"; }
3745
-
3746
- .fa-xing:before {
3747
- content: "\f168"; }
3748
-
3749
- .fa-xing-square:before {
3750
- content: "\f169"; }
3751
-
3752
- .fa-y-combinator:before {
3753
- content: "\f23b"; }
3754
-
3755
- .fa-yahoo:before {
3756
- content: "\f19e"; }
3757
-
3758
- .fa-yandex:before {
3759
- content: "\f413"; }
3760
-
3761
- .fa-yandex-international:before {
3762
- content: "\f414"; }
3763
-
3764
- .fa-yelp:before {
3765
- content: "\f1e9"; }
3766
-
3767
- .fa-yen-sign:before {
3768
- content: "\f157"; }
3769
-
3770
- .fa-yin-yang:before {
3771
- content: "\f6ad"; }
3772
-
3773
- .fa-yoast:before {
3774
- content: "\f2b1"; }
3775
-
3776
- .fa-youtube:before {
3777
- content: "\f167"; }
3778
-
3779
- .fa-youtube-square:before {
3780
- content: "\f431"; }
3781
-
3782
- .fa-zhihu:before {
3783
- content: "\f63f"; }
3784
-
3785
- .sr-only {
3786
- border: 0;
3787
- clip: rect(0, 0, 0, 0);
3788
- height: 1px;
3789
- margin: -1px;
3790
- overflow: hidden;
3791
- padding: 0;
3792
- position: absolute;
3793
- width: 1px; }
3794
-
3795
- .sr-only-focusable:active, .sr-only-focusable:focus {
3796
- clip: auto;
3797
- height: auto;
3798
- margin: 0;
3799
- overflow: visible;
3800
- position: static;
3801
- width: auto; }
3802
- /*!
3803
- * Font Awesome Free 5.3.1 by @fontawesome - https://fontawesome.com
3804
- * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
3805
- */
3806
- .fa.fa-glass:before {
3807
- content: "\f000"; }
3808
-
3809
- .fa.fa-meetup {
3810
- font-family: 'Font Awesome 5 Brands';
3811
- font-weight: 400; }
3812
-
3813
- .fa.fa-star-o {
3814
- font-family: 'Font Awesome 5 Free';
3815
- font-weight: 400; }
3816
-
3817
- .fa.fa-star-o:before {
3818
- content: "\f005"; }
3819
-
3820
- .fa.fa-remove:before {
3821
- content: "\f00d"; }
3822
-
3823
- .fa.fa-close:before {
3824
- content: "\f00d"; }
3825
-
3826
- .fa.fa-gear:before {
3827
- content: "\f013"; }
3828
-
3829
- .fa.fa-trash-o {
3830
- font-family: 'Font Awesome 5 Free';
3831
- font-weight: 400; }
3832
-
3833
- .fa.fa-trash-o:before {
3834
- content: "\f2ed"; }
3835
-
3836
- .fa.fa-file-o {
3837
- font-family: 'Font Awesome 5 Free';
3838
- font-weight: 400; }
3839
-
3840
- .fa.fa-file-o:before {
3841
- content: "\f15b"; }
3842
-
3843
- .fa.fa-clock-o {
3844
- font-family: 'Font Awesome 5 Free';
3845
- font-weight: 400; }
3846
-
3847
- .fa.fa-clock-o:before {
3848
- content: "\f017"; }
3849
-
3850
- .fa.fa-arrow-circle-o-down {
3851
- font-family: 'Font Awesome 5 Free';
3852
- font-weight: 400; }
3853
-
3854
- .fa.fa-arrow-circle-o-down:before {
3855
- content: "\f358"; }
3856
-
3857
- .fa.fa-arrow-circle-o-up {
3858
- font-family: 'Font Awesome 5 Free';
3859
- font-weight: 400; }
3860
-
3861
- .fa.fa-arrow-circle-o-up:before {
3862
- content: "\f35b"; }
3863
-
3864
- .fa.fa-play-circle-o {
3865
- font-family: 'Font Awesome 5 Free';
3866
- font-weight: 400; }
3867
-
3868
- .fa.fa-play-circle-o:before {
3869
- content: "\f144"; }
3870
-
3871
- .fa.fa-repeat:before {
3872
- content: "\f01e"; }
3873
-
3874
- .fa.fa-rotate-right:before {
3875
- content: "\f01e"; }
3876
-
3877
- .fa.fa-refresh:before {
3878
- content: "\f021"; }
3879
-
3880
- .fa.fa-list-alt {
3881
- font-family: 'Font Awesome 5 Free';
3882
- font-weight: 400; }
3883
-
3884
- .fa.fa-dedent:before {
3885
- content: "\f03b"; }
3886
-
3887
- .fa.fa-video-camera:before {
3888
- content: "\f03d"; }
3889
-
3890
- .fa.fa-picture-o {
3891
- font-family: 'Font Awesome 5 Free';
3892
- font-weight: 400; }
3893
-
3894
- .fa.fa-picture-o:before {
3895
- content: "\f03e"; }
3896
-
3897
- .fa.fa-photo {
3898
- font-family: 'Font Awesome 5 Free';
3899
- font-weight: 400; }
3900
-
3901
- .fa.fa-photo:before {
3902
- content: "\f03e"; }
3903
-
3904
- .fa.fa-image {
3905
- font-family: 'Font Awesome 5 Free';
3906
- font-weight: 400; }
3907
-
3908
- .fa.fa-image:before {
3909
- content: "\f03e"; }
3910
-
3911
- .fa.fa-pencil:before {
3912
- content: "\f303"; }
3913
-
3914
- .fa.fa-map-marker:before {
3915
- content: "\f3c5"; }
3916
-
3917
- .fa.fa-pencil-square-o {
3918
- font-family: 'Font Awesome 5 Free';
3919
- font-weight: 400; }
3920
-
3921
- .fa.fa-pencil-square-o:before {
3922
- content: "\f044"; }
3923
-
3924
- .fa.fa-share-square-o {
3925
- font-family: 'Font Awesome 5 Free';
3926
- font-weight: 400; }
3927
-
3928
- .fa.fa-share-square-o:before {
3929
- content: "\f14d"; }
3930
-
3931
- .fa.fa-check-square-o {
3932
- font-family: 'Font Awesome 5 Free';
3933
- font-weight: 400; }
3934
-
3935
- .fa.fa-check-square-o:before {
3936
- content: "\f14a"; }
3937
-
3938
- .fa.fa-arrows:before {
3939
- content: "\f0b2"; }
3940
-
3941
- .fa.fa-times-circle-o {
3942
- font-family: 'Font Awesome 5 Free';
3943
- font-weight: 400; }
3944
-
3945
- .fa.fa-times-circle-o:before {
3946
- content: "\f057"; }
3947
-
3948
- .fa.fa-check-circle-o {
3949
- font-family: 'Font Awesome 5 Free';
3950
- font-weight: 400; }
3951
-
3952
- .fa.fa-check-circle-o:before {
3953
- content: "\f058"; }
3954
-
3955
- .fa.fa-mail-forward:before {
3956
- content: "\f064"; }
3957
-
3958
- .fa.fa-eye {
3959
- font-family: 'Font Awesome 5 Free';
3960
- font-weight: 400; }
3961
-
3962
- .fa.fa-eye-slash {
3963
- font-family: 'Font Awesome 5 Free';
3964
- font-weight: 400; }
3965
-
3966
- .fa.fa-warning:before {
3967
- content: "\f071"; }
3968
-
3969
- .fa.fa-calendar:before {
3970
- content: "\f073"; }
3971
-
3972
- .fa.fa-arrows-v:before {
3973
- content: "\f338"; }
3974
-
3975
- .fa.fa-arrows-h:before {
3976
- content: "\f337"; }
3977
-
3978
- .fa.fa-bar-chart {
3979
- font-family: 'Font Awesome 5 Free';
3980
- font-weight: 400; }
3981
-
3982
- .fa.fa-bar-chart:before {
3983
- content: "\f080"; }
3984
-
3985
- .fa.fa-bar-chart-o {
3986
- font-family: 'Font Awesome 5 Free';
3987
- font-weight: 400; }
3988
-
3989
- .fa.fa-bar-chart-o:before {
3990
- content: "\f080"; }
3991
-
3992
- .fa.fa-twitter-square {
3993
- font-family: 'Font Awesome 5 Brands';
3994
- font-weight: 400; }
3995
-
3996
- .fa.fa-facebook-square {
3997
- font-family: 'Font Awesome 5 Brands';
3998
- font-weight: 400; }
3999
-
4000
- .fa.fa-gears:before {
4001
- content: "\f085"; }
4002
-
4003
- .fa.fa-thumbs-o-up {
4004
- font-family: 'Font Awesome 5 Free';
4005
- font-weight: 400; }
4006
-
4007
- .fa.fa-thumbs-o-up:before {
4008
- content: "\f164"; }
4009
-
4010
- .fa.fa-thumbs-o-down {
4011
- font-family: 'Font Awesome 5 Free';
4012
- font-weight: 400; }
4013
-
4014
- .fa.fa-thumbs-o-down:before {
4015
- content: "\f165"; }
4016
-
4017
- .fa.fa-heart-o {
4018
- font-family: 'Font Awesome 5 Free';
4019
- font-weight: 400; }
4020
-
4021
- .fa.fa-heart-o:before {
4022
- content: "\f004"; }
4023
-
4024
- .fa.fa-sign-out:before {
4025
- content: "\f2f5"; }
4026
-
4027
- .fa.fa-linkedin-square {
4028
- font-family: 'Font Awesome 5 Brands';
4029
- font-weight: 400; }
4030
-
4031
- .fa.fa-linkedin-square:before {
4032
- content: "\f08c"; }
4033
-
4034
- .fa.fa-thumb-tack:before {
4035
- content: "\f08d"; }
4036
-
4037
- .fa.fa-external-link:before {
4038
- content: "\f35d"; }
4039
-
4040
- .fa.fa-sign-in:before {
4041
- content: "\f2f6"; }
4042
-
4043
- .fa.fa-github-square {
4044
- font-family: 'Font Awesome 5 Brands';
4045
- font-weight: 400; }
4046
-
4047
- .fa.fa-lemon-o {
4048
- font-family: 'Font Awesome 5 Free';
4049
- font-weight: 400; }
4050
-
4051
- .fa.fa-lemon-o:before {
4052
- content: "\f094"; }
4053
-
4054
- .fa.fa-square-o {
4055
- font-family: 'Font Awesome 5 Free';
4056
- font-weight: 400; }
4057
-
4058
- .fa.fa-square-o:before {
4059
- content: "\f0c8"; }
4060
-
4061
- .fa.fa-bookmark-o {
4062
- font-family: 'Font Awesome 5 Free';
4063
- font-weight: 400; }
4064
-
4065
- .fa.fa-bookmark-o:before {
4066
- content: "\f02e"; }
4067
-
4068
- .fa.fa-twitter {
4069
- font-family: 'Font Awesome 5 Brands';
4070
- font-weight: 400; }
4071
-
4072
- .fa.fa-facebook {
4073
- font-family: 'Font Awesome 5 Brands';
4074
- font-weight: 400; }
4075
-
4076
- .fa.fa-facebook:before {
4077
- content: "\f39e"; }
4078
-
4079
- .fa.fa-facebook-f {
4080
- font-family: 'Font Awesome 5 Brands';
4081
- font-weight: 400; }
4082
-
4083
- .fa.fa-facebook-f:before {
4084
- content: "\f39e"; }
4085
-
4086
- .fa.fa-github {
4087
- font-family: 'Font Awesome 5 Brands';
4088
- font-weight: 400; }
4089
-
4090
- .fa.fa-credit-card {
4091
- font-family: 'Font Awesome 5 Free';
4092
- font-weight: 400; }
4093
-
4094
- .fa.fa-feed:before {
4095
- content: "\f09e"; }
4096
-
4097
- .fa.fa-hdd-o {
4098
- font-family: 'Font Awesome 5 Free';
4099
- font-weight: 400; }
4100
-
4101
- .fa.fa-hdd-o:before {
4102
- content: "\f0a0"; }
4103
-
4104
- .fa.fa-hand-o-right {
4105
- font-family: 'Font Awesome 5 Free';
4106
- font-weight: 400; }
4107
-
4108
- .fa.fa-hand-o-right:before {
4109
- content: "\f0a4"; }
4110
-
4111
- .fa.fa-hand-o-left {
4112
- font-family: 'Font Awesome 5 Free';
4113
- font-weight: 400; }
4114
-
4115
- .fa.fa-hand-o-left:before {
4116
- content: "\f0a5"; }
4117
-
4118
- .fa.fa-hand-o-up {
4119
- font-family: 'Font Awesome 5 Free';
4120
- font-weight: 400; }
4121
-
4122
- .fa.fa-hand-o-up:before {
4123
- content: "\f0a6"; }
4124
-
4125
- .fa.fa-hand-o-down {
4126
- font-family: 'Font Awesome 5 Free';
4127
- font-weight: 400; }
4128
-
4129
- .fa.fa-hand-o-down:before {
4130
- content: "\f0a7"; }
4131
-
4132
- .fa.fa-arrows-alt:before {
4133
- content: "\f31e"; }
4134
-
4135
- .fa.fa-group:before {
4136
- content: "\f0c0"; }
4137
-
4138
- .fa.fa-chain:before {
4139
- content: "\f0c1"; }
4140
-
4141
- .fa.fa-scissors:before {
4142
- content: "\f0c4"; }
4143
-
4144
- .fa.fa-files-o {
4145
- font-family: 'Font Awesome 5 Free';
4146
- font-weight: 400; }
4147
-
4148
- .fa.fa-files-o:before {
4149
- content: "\f0c5"; }
4150
-
4151
- .fa.fa-floppy-o {
4152
- font-family: 'Font Awesome 5 Free';
4153
- font-weight: 400; }
4154
-
4155
- .fa.fa-floppy-o:before {
4156
- content: "\f0c7"; }
4157
-
4158
- .fa.fa-navicon:before {
4159
- content: "\f0c9"; }
4160
-
4161
- .fa.fa-reorder:before {
4162
- content: "\f0c9"; }
4163
-
4164
- .fa.fa-pinterest {
4165
- font-family: 'Font Awesome 5 Brands';
4166
- font-weight: 400; }
4167
-
4168
- .fa.fa-pinterest-square {
4169
- font-family: 'Font Awesome 5 Brands';
4170
- font-weight: 400; }
4171
-
4172
- .fa.fa-google-plus-square {
4173
- font-family: 'Font Awesome 5 Brands';
4174
- font-weight: 400; }
4175
-
4176
- .fa.fa-google-plus {
4177
- font-family: 'Font Awesome 5 Brands';
4178
- font-weight: 400; }
4179
-
4180
- .fa.fa-google-plus:before {
4181
- content: "\f0d5"; }
4182
-
4183
- .fa.fa-money {
4184
- font-family: 'Font Awesome 5 Free';
4185
- font-weight: 400; }
4186
-
4187
- .fa.fa-money:before {
4188
- content: "\f3d1"; }
4189
-
4190
- .fa.fa-unsorted:before {
4191
- content: "\f0dc"; }
4192
-
4193
- .fa.fa-sort-desc:before {
4194
- content: "\f0dd"; }
4195
-
4196
- .fa.fa-sort-asc:before {
4197
- content: "\f0de"; }
4198
-
4199
- .fa.fa-linkedin {
4200
- font-family: 'Font Awesome 5 Brands';
4201
- font-weight: 400; }
4202
-
4203
- .fa.fa-linkedin:before {
4204
- content: "\f0e1"; }
4205
-
4206
- .fa.fa-rotate-left:before {
4207
- content: "\f0e2"; }
4208
-
4209
- .fa.fa-legal:before {
4210
- content: "\f0e3"; }
4211
-
4212
- .fa.fa-tachometer:before {
4213
- content: "\f3fd"; }
4214
-
4215
- .fa.fa-dashboard:before {
4216
- content: "\f3fd"; }
4217
-
4218
- .fa.fa-comment-o {
4219
- font-family: 'Font Awesome 5 Free';
4220
- font-weight: 400; }
4221
-
4222
- .fa.fa-comment-o:before {
4223
- content: "\f075"; }
4224
-
4225
- .fa.fa-comments-o {
4226
- font-family: 'Font Awesome 5 Free';
4227
- font-weight: 400; }
4228
-
4229
- .fa.fa-comments-o:before {
4230
- content: "\f086"; }
4231
-
4232
- .fa.fa-flash:before {
4233
- content: "\f0e7"; }
4234
-
4235
- .fa.fa-clipboard {
4236
- font-family: 'Font Awesome 5 Free';
4237
- font-weight: 400; }
4238
-
4239
- .fa.fa-paste {
4240
- font-family: 'Font Awesome 5 Free';
4241
- font-weight: 400; }
4242
-
4243
- .fa.fa-paste:before {
4244
- content: "\f328"; }
4245
-
4246
- .fa.fa-lightbulb-o {
4247
- font-family: 'Font Awesome 5 Free';
4248
- font-weight: 400; }
4249
-
4250
- .fa.fa-lightbulb-o:before {
4251
- content: "\f0eb"; }
4252
-
4253
- .fa.fa-exchange:before {
4254
- content: "\f362"; }
4255
-
4256
- .fa.fa-cloud-download:before {
4257
- content: "\f381"; }
4258
-
4259
- .fa.fa-cloud-upload:before {
4260
- content: "\f382"; }
4261
-
4262
- .fa.fa-bell-o {
4263
- font-family: 'Font Awesome 5 Free';
4264
- font-weight: 400; }
4265
-
4266
- .fa.fa-bell-o:before {
4267
- content: "\f0f3"; }
4268
-
4269
- .fa.fa-cutlery:before {
4270
- content: "\f2e7"; }
4271
-
4272
- .fa.fa-file-text-o {
4273
- font-family: 'Font Awesome 5 Free';
4274
- font-weight: 400; }
4275
-
4276
- .fa.fa-file-text-o:before {
4277
- content: "\f15c"; }
4278
-
4279
- .fa.fa-building-o {
4280
- font-family: 'Font Awesome 5 Free';
4281
- font-weight: 400; }
4282
-
4283
- .fa.fa-building-o:before {
4284
- content: "\f1ad"; }
4285
-
4286
- .fa.fa-hospital-o {
4287
- font-family: 'Font Awesome 5 Free';
4288
- font-weight: 400; }
4289
-
4290
- .fa.fa-hospital-o:before {
4291
- content: "\f0f8"; }
4292
-
4293
- .fa.fa-tablet:before {
4294
- content: "\f3fa"; }
4295
-
4296
- .fa.fa-mobile:before {
4297
- content: "\f3cd"; }
4298
-
4299
- .fa.fa-mobile-phone:before {
4300
- content: "\f3cd"; }
4301
-
4302
- .fa.fa-circle-o {
4303
- font-family: 'Font Awesome 5 Free';
4304
- font-weight: 400; }
4305
-
4306
- .fa.fa-circle-o:before {
4307
- content: "\f111"; }
4308
-
4309
- .fa.fa-mail-reply:before {
4310
- content: "\f3e5"; }
4311
-
4312
- .fa.fa-github-alt {
4313
- font-family: 'Font Awesome 5 Brands';
4314
- font-weight: 400; }
4315
-
4316
- .fa.fa-folder-o {
4317
- font-family: 'Font Awesome 5 Free';
4318
- font-weight: 400; }
4319
-
4320
- .fa.fa-folder-o:before {
4321
- content: "\f07b"; }
4322
-
4323
- .fa.fa-folder-open-o {
4324
- font-family: 'Font Awesome 5 Free';
4325
- font-weight: 400; }
4326
-
4327
- .fa.fa-folder-open-o:before {
4328
- content: "\f07c"; }
4329
-
4330
- .fa.fa-smile-o {
4331
- font-family: 'Font Awesome 5 Free';
4332
- font-weight: 400; }
4333
-
4334
- .fa.fa-smile-o:before {
4335
- content: "\f118"; }
4336
-
4337
- .fa.fa-frown-o {
4338
- font-family: 'Font Awesome 5 Free';
4339
- font-weight: 400; }
4340
-
4341
- .fa.fa-frown-o:before {
4342
- content: "\f119"; }
4343
-
4344
- .fa.fa-meh-o {
4345
- font-family: 'Font Awesome 5 Free';
4346
- font-weight: 400; }
4347
-
4348
- .fa.fa-meh-o:before {
4349
- content: "\f11a"; }
4350
-
4351
- .fa.fa-keyboard-o {
4352
- font-family: 'Font Awesome 5 Free';
4353
- font-weight: 400; }
4354
-
4355
- .fa.fa-keyboard-o:before {
4356
- content: "\f11c"; }
4357
-
4358
- .fa.fa-flag-o {
4359
- font-family: 'Font Awesome 5 Free';
4360
- font-weight: 400; }
4361
-
4362
- .fa.fa-flag-o:before {
4363
- content: "\f024"; }
4364
-
4365
- .fa.fa-mail-reply-all:before {
4366
- content: "\f122"; }
4367
-
4368
- .fa.fa-star-half-o {
4369
- font-family: 'Font Awesome 5 Free';
4370
- font-weight: 400; }
4371
-
4372
- .fa.fa-star-half-o:before {
4373
- content: "\f089"; }
4374
-
4375
- .fa.fa-star-half-empty {
4376
- font-family: 'Font Awesome 5 Free';
4377
- font-weight: 400; }
4378
-
4379
- .fa.fa-star-half-empty:before {
4380
- content: "\f089"; }
4381
-
4382
- .fa.fa-star-half-full {
4383
- font-family: 'Font Awesome 5 Free';
4384
- font-weight: 400; }
4385
-
4386
- .fa.fa-star-half-full:before {
4387
- content: "\f089"; }
4388
-
4389
- .fa.fa-code-fork:before {
4390
- content: "\f126"; }
4391
-
4392
- .fa.fa-chain-broken:before {
4393
- content: "\f127"; }
4394
-
4395
- .fa.fa-shield:before {
4396
- content: "\f3ed"; }
4397
-
4398
- .fa.fa-calendar-o {
4399
- font-family: 'Font Awesome 5 Free';
4400
- font-weight: 400; }
4401
-
4402
- .fa.fa-calendar-o:before {
4403
- content: "\f133"; }
4404
-
4405
- .fa.fa-maxcdn {
4406
- font-family: 'Font Awesome 5 Brands';
4407
- font-weight: 400; }
4408
-
4409
- .fa.fa-html5 {
4410
- font-family: 'Font Awesome 5 Brands';
4411
- font-weight: 400; }
4412
-
4413
- .fa.fa-css3 {
4414
- font-family: 'Font Awesome 5 Brands';
4415
- font-weight: 400; }
4416
-
4417
- .fa.fa-ticket:before {
4418
- content: "\f3ff"; }
4419
-
4420
- .fa.fa-minus-square-o {
4421
- font-family: 'Font Awesome 5 Free';
4422
- font-weight: 400; }
4423
-
4424
- .fa.fa-minus-square-o:before {
4425
- content: "\f146"; }
4426
-
4427
- .fa.fa-level-up:before {
4428
- content: "\f3bf"; }
4429
-
4430
- .fa.fa-level-down:before {
4431
- content: "\f3be"; }
4432
-
4433
- .fa.fa-pencil-square:before {
4434
- content: "\f14b"; }
4435
-
4436
- .fa.fa-external-link-square:before {
4437
- content: "\f360"; }
4438
-
4439
- .fa.fa-compass {
4440
- font-family: 'Font Awesome 5 Free';
4441
- font-weight: 400; }
4442
-
4443
- .fa.fa-caret-square-o-down {
4444
- font-family: 'Font Awesome 5 Free';
4445
- font-weight: 400; }
4446
-
4447
- .fa.fa-caret-square-o-down:before {
4448
- content: "\f150"; }
4449
-
4450
- .fa.fa-toggle-down {
4451
- font-family: 'Font Awesome 5 Free';
4452
- font-weight: 400; }
4453
-
4454
- .fa.fa-toggle-down:before {
4455
- content: "\f150"; }
4456
-
4457
- .fa.fa-caret-square-o-up {
4458
- font-family: 'Font Awesome 5 Free';
4459
- font-weight: 400; }
4460
-
4461
- .fa.fa-caret-square-o-up:before {
4462
- content: "\f151"; }
4463
-
4464
- .fa.fa-toggle-up {
4465
- font-family: 'Font Awesome 5 Free';
4466
- font-weight: 400; }
4467
-
4468
- .fa.fa-toggle-up:before {
4469
- content: "\f151"; }
4470
-
4471
- .fa.fa-caret-square-o-right {
4472
- font-family: 'Font Awesome 5 Free';
4473
- font-weight: 400; }
4474
-
4475
- .fa.fa-caret-square-o-right:before {
4476
- content: "\f152"; }
4477
-
4478
- .fa.fa-toggle-right {
4479
- font-family: 'Font Awesome 5 Free';
4480
- font-weight: 400; }
4481
-
4482
- .fa.fa-toggle-right:before {
4483
- content: "\f152"; }
4484
-
4485
- .fa.fa-eur:before {
4486
- content: "\f153"; }
4487
-
4488
- .fa.fa-euro:before {
4489
- content: "\f153"; }
4490
-
4491
- .fa.fa-gbp:before {
4492
- content: "\f154"; }
4493
-
4494
- .fa.fa-usd:before {
4495
- content: "\f155"; }
4496
-
4497
- .fa.fa-dollar:before {
4498
- content: "\f155"; }
4499
-
4500
- .fa.fa-inr:before {
4501
- content: "\f156"; }
4502
-
4503
- .fa.fa-rupee:before {
4504
- content: "\f156"; }
4505
-
4506
- .fa.fa-jpy:before {
4507
- content: "\f157"; }
4508
-
4509
- .fa.fa-cny:before {
4510
- content: "\f157"; }
4511
-
4512
- .fa.fa-rmb:before {
4513
- content: "\f157"; }
4514
-
4515
- .fa.fa-yen:before {
4516
- content: "\f157"; }
4517
-
4518
- .fa.fa-rub:before {
4519
- content: "\f158"; }
4520
-
4521
- .fa.fa-ruble:before {
4522
- content: "\f158"; }
4523
-
4524
- .fa.fa-rouble:before {
4525
- content: "\f158"; }
4526
-
4527
- .fa.fa-krw:before {
4528
- content: "\f159"; }
4529
-
4530
- .fa.fa-won:before {
4531
- content: "\f159"; }
4532
-
4533
- .fa.fa-btc {
4534
- font-family: 'Font Awesome 5 Brands';
4535
- font-weight: 400; }
4536
-
4537
- .fa.fa-bitcoin {
4538
- font-family: 'Font Awesome 5 Brands';
4539
- font-weight: 400; }
4540
-
4541
- .fa.fa-bitcoin:before {
4542
- content: "\f15a"; }
4543
-
4544
- .fa.fa-file-text:before {
4545
- content: "\f15c"; }
4546
-
4547
- .fa.fa-sort-alpha-asc:before {
4548
- content: "\f15d"; }
4549
-
4550
- .fa.fa-sort-alpha-desc:before {
4551
- content: "\f15e"; }
4552
-
4553
- .fa.fa-sort-amount-asc:before {
4554
- content: "\f160"; }
4555
-
4556
- .fa.fa-sort-amount-desc:before {
4557
- content: "\f161"; }
4558
-
4559
- .fa.fa-sort-numeric-asc:before {
4560
- content: "\f162"; }
4561
-
4562
- .fa.fa-sort-numeric-desc:before {
4563
- content: "\f163"; }
4564
-
4565
- .fa.fa-youtube-square {
4566
- font-family: 'Font Awesome 5 Brands';
4567
- font-weight: 400; }
4568
-
4569
- .fa.fa-youtube {
4570
- font-family: 'Font Awesome 5 Brands';
4571
- font-weight: 400; }
4572
-
4573
- .fa.fa-xing {
4574
- font-family: 'Font Awesome 5 Brands';
4575
- font-weight: 400; }
4576
-
4577
- .fa.fa-xing-square {
4578
- font-family: 'Font Awesome 5 Brands';
4579
- font-weight: 400; }
4580
-
4581
- .fa.fa-youtube-play {
4582
- font-family: 'Font Awesome 5 Brands';
4583
- font-weight: 400; }
4584
-
4585
- .fa.fa-youtube-play:before {
4586
- content: "\f167"; }
4587
-
4588
- .fa.fa-dropbox {
4589
- font-family: 'Font Awesome 5 Brands';
4590
- font-weight: 400; }
4591
-
4592
- .fa.fa-stack-overflow {
4593
- font-family: 'Font Awesome 5 Brands';
4594
- font-weight: 400; }
4595
-
4596
- .fa.fa-instagram {
4597
- font-family: 'Font Awesome 5 Brands';
4598
- font-weight: 400; }
4599
-
4600
- .fa.fa-flickr {
4601
- font-family: 'Font Awesome 5 Brands';
4602
- font-weight: 400; }
4603
-
4604
- .fa.fa-adn {
4605
- font-family: 'Font Awesome 5 Brands';
4606
- font-weight: 400; }
4607
-
4608
- .fa.fa-bitbucket {
4609
- font-family: 'Font Awesome 5 Brands';
4610
- font-weight: 400; }
4611
-
4612
- .fa.fa-bitbucket-square {
4613
- font-family: 'Font Awesome 5 Brands';
4614
- font-weight: 400; }
4615
-
4616
- .fa.fa-bitbucket-square:before {
4617
- content: "\f171"; }
4618
-
4619
- .fa.fa-tumblr {
4620
- font-family: 'Font Awesome 5 Brands';
4621
- font-weight: 400; }
4622
-
4623
- .fa.fa-tumblr-square {
4624
- font-family: 'Font Awesome 5 Brands';
4625
- font-weight: 400; }
4626
-
4627
- .fa.fa-long-arrow-down:before {
4628
- content: "\f309"; }
4629
-
4630
- .fa.fa-long-arrow-up:before {
4631
- content: "\f30c"; }
4632
-
4633
- .fa.fa-long-arrow-left:before {
4634
- content: "\f30a"; }
4635
-
4636
- .fa.fa-long-arrow-right:before {
4637
- content: "\f30b"; }
4638
-
4639
- .fa.fa-apple {
4640
- font-family: 'Font Awesome 5 Brands';
4641
- font-weight: 400; }
4642
-
4643
- .fa.fa-windows {
4644
- font-family: 'Font Awesome 5 Brands';
4645
- font-weight: 400; }
4646
-
4647
- .fa.fa-android {
4648
- font-family: 'Font Awesome 5 Brands';
4649
- font-weight: 400; }
4650
-
4651
- .fa.fa-linux {
4652
- font-family: 'Font Awesome 5 Brands';
4653
- font-weight: 400; }
4654
-
4655
- .fa.fa-dribbble {
4656
- font-family: 'Font Awesome 5 Brands';
4657
- font-weight: 400; }
4658
-
4659
- .fa.fa-skype {
4660
- font-family: 'Font Awesome 5 Brands';
4661
- font-weight: 400; }
4662
-
4663
- .fa.fa-foursquare {
4664
- font-family: 'Font Awesome 5 Brands';
4665
- font-weight: 400; }
4666
-
4667
- .fa.fa-trello {
4668
- font-family: 'Font Awesome 5 Brands';
4669
- font-weight: 400; }
4670
-
4671
- .fa.fa-gratipay {
4672
- font-family: 'Font Awesome 5 Brands';
4673
- font-weight: 400; }
4674
-
4675
- .fa.fa-gittip {
4676
- font-family: 'Font Awesome 5 Brands';
4677
- font-weight: 400; }
4678
-
4679
- .fa.fa-gittip:before {
4680
- content: "\f184"; }
4681
-
4682
- .fa.fa-sun-o {
4683
- font-family: 'Font Awesome 5 Free';
4684
- font-weight: 400; }
4685
-
4686
- .fa.fa-sun-o:before {
4687
- content: "\f185"; }
4688
-
4689
- .fa.fa-moon-o {
4690
- font-family: 'Font Awesome 5 Free';
4691
- font-weight: 400; }
4692
-
4693
- .fa.fa-moon-o:before {
4694
- content: "\f186"; }
4695
-
4696
- .fa.fa-vk {
4697
- font-family: 'Font Awesome 5 Brands';
4698
- font-weight: 400; }
4699
-
4700
- .fa.fa-weibo {
4701
- font-family: 'Font Awesome 5 Brands';
4702
- font-weight: 400; }
4703
-
4704
- .fa.fa-renren {
4705
- font-family: 'Font Awesome 5 Brands';
4706
- font-weight: 400; }
4707
-
4708
- .fa.fa-pagelines {
4709
- font-family: 'Font Awesome 5 Brands';
4710
- font-weight: 400; }
4711
-
4712
- .fa.fa-stack-exchange {
4713
- font-family: 'Font Awesome 5 Brands';
4714
- font-weight: 400; }
4715
-
4716
- .fa.fa-arrow-circle-o-right {
4717
- font-family: 'Font Awesome 5 Free';
4718
- font-weight: 400; }
4719
-
4720
- .fa.fa-arrow-circle-o-right:before {
4721
- content: "\f35a"; }
4722
-
4723
- .fa.fa-arrow-circle-o-left {
4724
- font-family: 'Font Awesome 5 Free';
4725
- font-weight: 400; }
4726
-
4727
- .fa.fa-arrow-circle-o-left:before {
4728
- content: "\f359"; }
4729
-
4730
- .fa.fa-caret-square-o-left {
4731
- font-family: 'Font Awesome 5 Free';
4732
- font-weight: 400; }
4733
-
4734
- .fa.fa-caret-square-o-left:before {
4735
- content: "\f191"; }
4736
-
4737
- .fa.fa-toggle-left {
4738
- font-family: 'Font Awesome 5 Free';
4739
- font-weight: 400; }
4740
-
4741
- .fa.fa-toggle-left:before {
4742
- content: "\f191"; }
4743
-
4744
- .fa.fa-dot-circle-o {
4745
- font-family: 'Font Awesome 5 Free';
4746
- font-weight: 400; }
4747
-
4748
- .fa.fa-dot-circle-o:before {
4749
- content: "\f192"; }
4750
-
4751
- .fa.fa-vimeo-square {
4752
- font-family: 'Font Awesome 5 Brands';
4753
- font-weight: 400; }
4754
-
4755
- .fa.fa-try:before {
4756
- content: "\f195"; }
4757
-
4758
- .fa.fa-turkish-lira:before {
4759
- content: "\f195"; }
4760
-
4761
- .fa.fa-plus-square-o {
4762
- font-family: 'Font Awesome 5 Free';
4763
- font-weight: 400; }
4764
-
4765
- .fa.fa-plus-square-o:before {
4766
- content: "\f0fe"; }
4767
-
4768
- .fa.fa-slack {
4769
- font-family: 'Font Awesome 5 Brands';
4770
- font-weight: 400; }
4771
-
4772
- .fa.fa-wordpress {
4773
- font-family: 'Font Awesome 5 Brands';
4774
- font-weight: 400; }
4775
-
4776
- .fa.fa-openid {
4777
- font-family: 'Font Awesome 5 Brands';
4778
- font-weight: 400; }
4779
-
4780
- .fa.fa-institution:before {
4781
- content: "\f19c"; }
4782
-
4783
- .fa.fa-bank:before {
4784
- content: "\f19c"; }
4785
-
4786
- .fa.fa-mortar-board:before {
4787
- content: "\f19d"; }
4788
-
4789
- .fa.fa-yahoo {
4790
- font-family: 'Font Awesome 5 Brands';
4791
- font-weight: 400; }
4792
-
4793
- .fa.fa-google {
4794
- font-family: 'Font Awesome 5 Brands';
4795
- font-weight: 400; }
4796
-
4797
- .fa.fa-reddit {
4798
- font-family: 'Font Awesome 5 Brands';
4799
- font-weight: 400; }
4800
-
4801
- .fa.fa-reddit-square {
4802
- font-family: 'Font Awesome 5 Brands';
4803
- font-weight: 400; }
4804
-
4805
- .fa.fa-stumbleupon-circle {
4806
- font-family: 'Font Awesome 5 Brands';
4807
- font-weight: 400; }
4808
-
4809
- .fa.fa-stumbleupon {
4810
- font-family: 'Font Awesome 5 Brands';
4811
- font-weight: 400; }
4812
-
4813
- .fa.fa-delicious {
4814
- font-family: 'Font Awesome 5 Brands';
4815
- font-weight: 400; }
4816
-
4817
- .fa.fa-digg {
4818
- font-family: 'Font Awesome 5 Brands';
4819
- font-weight: 400; }
4820
-
4821
- .fa.fa-pied-piper-pp {
4822
- font-family: 'Font Awesome 5 Brands';
4823
- font-weight: 400; }
4824
-
4825
- .fa.fa-pied-piper-alt {
4826
- font-family: 'Font Awesome 5 Brands';
4827
- font-weight: 400; }
4828
-
4829
- .fa.fa-drupal {
4830
- font-family: 'Font Awesome 5 Brands';
4831
- font-weight: 400; }
4832
-
4833
- .fa.fa-joomla {
4834
- font-family: 'Font Awesome 5 Brands';
4835
- font-weight: 400; }
4836
-
4837
- .fa.fa-spoon:before {
4838
- content: "\f2e5"; }
4839
-
4840
- .fa.fa-behance {
4841
- font-family: 'Font Awesome 5 Brands';
4842
- font-weight: 400; }
4843
-
4844
- .fa.fa-behance-square {
4845
- font-family: 'Font Awesome 5 Brands';
4846
- font-weight: 400; }
4847
-
4848
- .fa.fa-steam {
4849
- font-family: 'Font Awesome 5 Brands';
4850
- font-weight: 400; }
4851
-
4852
- .fa.fa-steam-square {
4853
- font-family: 'Font Awesome 5 Brands';
4854
- font-weight: 400; }
4855
-
4856
- .fa.fa-automobile:before {
4857
- content: "\f1b9"; }
4858
-
4859
- .fa.fa-cab:before {
4860
- content: "\f1ba"; }
4861
-
4862
- .fa.fa-envelope-o {
4863
- font-family: 'Font Awesome 5 Free';
4864
- font-weight: 400; }
4865
-
4866
- .fa.fa-envelope-o:before {
4867
- content: "\f0e0"; }
4868
-
4869
- .fa.fa-deviantart {
4870
- font-family: 'Font Awesome 5 Brands';
4871
- font-weight: 400; }
4872
-
4873
- .fa.fa-soundcloud {
4874
- font-family: 'Font Awesome 5 Brands';
4875
- font-weight: 400; }
4876
-
4877
- .fa.fa-file-pdf-o {
4878
- font-family: 'Font Awesome 5 Free';
4879
- font-weight: 400; }
4880
-
4881
- .fa.fa-file-pdf-o:before {
4882
- content: "\f1c1"; }
4883
-
4884
- .fa.fa-file-word-o {
4885
- font-family: 'Font Awesome 5 Free';
4886
- font-weight: 400; }
4887
-
4888
- .fa.fa-file-word-o:before {
4889
- content: "\f1c2"; }
4890
-
4891
- .fa.fa-file-excel-o {
4892
- font-family: 'Font Awesome 5 Free';
4893
- font-weight: 400; }
4894
-
4895
- .fa.fa-file-excel-o:before {
4896
- content: "\f1c3"; }
4897
-
4898
- .fa.fa-file-powerpoint-o {
4899
- font-family: 'Font Awesome 5 Free';
4900
- font-weight: 400; }
4901
-
4902
- .fa.fa-file-powerpoint-o:before {
4903
- content: "\f1c4"; }
4904
-
4905
- .fa.fa-file-image-o {
4906
- font-family: 'Font Awesome 5 Free';
4907
- font-weight: 400; }
4908
-
4909
- .fa.fa-file-image-o:before {
4910
- content: "\f1c5"; }
4911
-
4912
- .fa.fa-file-photo-o {
4913
- font-family: 'Font Awesome 5 Free';
4914
- font-weight: 400; }
4915
-
4916
- .fa.fa-file-photo-o:before {
4917
- content: "\f1c5"; }
4918
-
4919
- .fa.fa-file-picture-o {
4920
- font-family: 'Font Awesome 5 Free';
4921
- font-weight: 400; }
4922
-
4923
- .fa.fa-file-picture-o:before {
4924
- content: "\f1c5"; }
4925
-
4926
- .fa.fa-file-archive-o {
4927
- font-family: 'Font Awesome 5 Free';
4928
- font-weight: 400; }
4929
-
4930
- .fa.fa-file-archive-o:before {
4931
- content: "\f1c6"; }
4932
-
4933
- .fa.fa-file-zip-o {
4934
- font-family: 'Font Awesome 5 Free';
4935
- font-weight: 400; }
4936
-
4937
- .fa.fa-file-zip-o:before {
4938
- content: "\f1c6"; }
4939
-
4940
- .fa.fa-file-audio-o {
4941
- font-family: 'Font Awesome 5 Free';
4942
- font-weight: 400; }
4943
-
4944
- .fa.fa-file-audio-o:before {
4945
- content: "\f1c7"; }
4946
-
4947
- .fa.fa-file-sound-o {
4948
- font-family: 'Font Awesome 5 Free';
4949
- font-weight: 400; }
4950
-
4951
- .fa.fa-file-sound-o:before {
4952
- content: "\f1c7"; }
4953
-
4954
- .fa.fa-file-video-o {
4955
- font-family: 'Font Awesome 5 Free';
4956
- font-weight: 400; }
4957
-
4958
- .fa.fa-file-video-o:before {
4959
- content: "\f1c8"; }
4960
-
4961
- .fa.fa-file-movie-o {
4962
- font-family: 'Font Awesome 5 Free';
4963
- font-weight: 400; }
4964
-
4965
- .fa.fa-file-movie-o:before {
4966
- content: "\f1c8"; }
4967
-
4968
- .fa.fa-file-code-o {
4969
- font-family: 'Font Awesome 5 Free';
4970
- font-weight: 400; }
4971
-
4972
- .fa.fa-file-code-o:before {
4973
- content: "\f1c9"; }
4974
-
4975
- .fa.fa-vine {
4976
- font-family: 'Font Awesome 5 Brands';
4977
- font-weight: 400; }
4978
-
4979
- .fa.fa-codepen {
4980
- font-family: 'Font Awesome 5 Brands';
4981
- font-weight: 400; }
4982
-
4983
- .fa.fa-jsfiddle {
4984
- font-family: 'Font Awesome 5 Brands';
4985
- font-weight: 400; }
4986
-
4987
- .fa.fa-life-ring {
4988
- font-family: 'Font Awesome 5 Free';
4989
- font-weight: 400; }
4990
-
4991
- .fa.fa-life-bouy {
4992
- font-family: 'Font Awesome 5 Free';
4993
- font-weight: 400; }
4994
-
4995
- .fa.fa-life-bouy:before {
4996
- content: "\f1cd"; }
4997
-
4998
- .fa.fa-life-buoy {
4999
- font-family: 'Font Awesome 5 Free';
5000
- font-weight: 400; }
5001
-
5002
- .fa.fa-life-buoy:before {
5003
- content: "\f1cd"; }
5004
-
5005
- .fa.fa-life-saver {
5006
- font-family: 'Font Awesome 5 Free';
5007
- font-weight: 400; }
5008
-
5009
- .fa.fa-life-saver:before {
5010
- content: "\f1cd"; }
5011
-
5012
- .fa.fa-support {
5013
- font-family: 'Font Awesome 5 Free';
5014
- font-weight: 400; }
5015
-
5016
- .fa.fa-support:before {
5017
- content: "\f1cd"; }
5018
-
5019
- .fa.fa-circle-o-notch:before {
5020
- content: "\f1ce"; }
5021
-
5022
- .fa.fa-rebel {
5023
- font-family: 'Font Awesome 5 Brands';
5024
- font-weight: 400; }
5025
-
5026
- .fa.fa-ra {
5027
- font-family: 'Font Awesome 5 Brands';
5028
- font-weight: 400; }
5029
-
5030
- .fa.fa-ra:before {
5031
- content: "\f1d0"; }
5032
-
5033
- .fa.fa-resistance {
5034
- font-family: 'Font Awesome 5 Brands';
5035
- font-weight: 400; }
5036
-
5037
- .fa.fa-resistance:before {
5038
- content: "\f1d0"; }
5039
-
5040
- .fa.fa-empire {
5041
- font-family: 'Font Awesome 5 Brands';
5042
- font-weight: 400; }
5043
-
5044
- .fa.fa-ge {
5045
- font-family: 'Font Awesome 5 Brands';
5046
- font-weight: 400; }
5047
-
5048
- .fa.fa-ge:before {
5049
- content: "\f1d1"; }
5050
-
5051
- .fa.fa-git-square {
5052
- font-family: 'Font Awesome 5 Brands';
5053
- font-weight: 400; }
5054
-
5055
- .fa.fa-git {
5056
- font-family: 'Font Awesome 5 Brands';
5057
- font-weight: 400; }
5058
-
5059
- .fa.fa-hacker-news {
5060
- font-family: 'Font Awesome 5 Brands';
5061
- font-weight: 400; }
5062
-
5063
- .fa.fa-y-combinator-square {
5064
- font-family: 'Font Awesome 5 Brands';
5065
- font-weight: 400; }
5066
-
5067
- .fa.fa-y-combinator-square:before {
5068
- content: "\f1d4"; }
5069
-
5070
- .fa.fa-yc-square {
5071
- font-family: 'Font Awesome 5 Brands';
5072
- font-weight: 400; }
5073
-
5074
- .fa.fa-yc-square:before {
5075
- content: "\f1d4"; }
5076
-
5077
- .fa.fa-tencent-weibo {
5078
- font-family: 'Font Awesome 5 Brands';
5079
- font-weight: 400; }
5080
-
5081
- .fa.fa-qq {
5082
- font-family: 'Font Awesome 5 Brands';
5083
- font-weight: 400; }
5084
-
5085
- .fa.fa-weixin {
5086
- font-family: 'Font Awesome 5 Brands';
5087
- font-weight: 400; }
5088
-
5089
- .fa.fa-wechat {
5090
- font-family: 'Font Awesome 5 Brands';
5091
- font-weight: 400; }
5092
-
5093
- .fa.fa-wechat:before {
5094
- content: "\f1d7"; }
5095
-
5096
- .fa.fa-send:before {
5097
- content: "\f1d8"; }
5098
-
5099
- .fa.fa-paper-plane-o {
5100
- font-family: 'Font Awesome 5 Free';
5101
- font-weight: 400; }
5102
-
5103
- .fa.fa-paper-plane-o:before {
5104
- content: "\f1d8"; }
5105
-
5106
- .fa.fa-send-o {
5107
- font-family: 'Font Awesome 5 Free';
5108
- font-weight: 400; }
5109
-
5110
- .fa.fa-send-o:before {
5111
- content: "\f1d8"; }
5112
-
5113
- .fa.fa-circle-thin {
5114
- font-family: 'Font Awesome 5 Free';
5115
- font-weight: 400; }
5116
-
5117
- .fa.fa-circle-thin:before {
5118
- content: "\f111"; }
5119
-
5120
- .fa.fa-header:before {
5121
- content: "\f1dc"; }
5122
-
5123
- .fa.fa-sliders:before {
5124
- content: "\f1de"; }
5125
-
5126
- .fa.fa-futbol-o {
5127
- font-family: 'Font Awesome 5 Free';
5128
- font-weight: 400; }
5129
-
5130
- .fa.fa-futbol-o:before {
5131
- content: "\f1e3"; }
5132
-
5133
- .fa.fa-soccer-ball-o {
5134
- font-family: 'Font Awesome 5 Free';
5135
- font-weight: 400; }
5136
-
5137
- .fa.fa-soccer-ball-o:before {
5138
- content: "\f1e3"; }
5139
-
5140
- .fa.fa-slideshare {
5141
- font-family: 'Font Awesome 5 Brands';
5142
- font-weight: 400; }
5143
-
5144
- .fa.fa-twitch {
5145
- font-family: 'Font Awesome 5 Brands';
5146
- font-weight: 400; }
5147
-
5148
- .fa.fa-yelp {
5149
- font-family: 'Font Awesome 5 Brands';
5150
- font-weight: 400; }
5151
-
5152
- .fa.fa-newspaper-o {
5153
- font-family: 'Font Awesome 5 Free';
5154
- font-weight: 400; }
5155
-
5156
- .fa.fa-newspaper-o:before {
5157
- content: "\f1ea"; }
5158
-
5159
- .fa.fa-paypal {
5160
- font-family: 'Font Awesome 5 Brands';
5161
- font-weight: 400; }
5162
-
5163
- .fa.fa-google-wallet {
5164
- font-family: 'Font Awesome 5 Brands';
5165
- font-weight: 400; }
5166
-
5167
- .fa.fa-cc-visa {
5168
- font-family: 'Font Awesome 5 Brands';
5169
- font-weight: 400; }
5170
-
5171
- .fa.fa-cc-mastercard {
5172
- font-family: 'Font Awesome 5 Brands';
5173
- font-weight: 400; }
5174
-
5175
- .fa.fa-cc-discover {
5176
- font-family: 'Font Awesome 5 Brands';
5177
- font-weight: 400; }
5178
-
5179
- .fa.fa-cc-amex {
5180
- font-family: 'Font Awesome 5 Brands';
5181
- font-weight: 400; }
5182
-
5183
- .fa.fa-cc-paypal {
5184
- font-family: 'Font Awesome 5 Brands';
5185
- font-weight: 400; }
5186
-
5187
- .fa.fa-cc-stripe {
5188
- font-family: 'Font Awesome 5 Brands';
5189
- font-weight: 400; }
5190
-
5191
- .fa.fa-bell-slash-o {
5192
- font-family: 'Font Awesome 5 Free';
5193
- font-weight: 400; }
5194
-
5195
- .fa.fa-bell-slash-o:before {
5196
- content: "\f1f6"; }
5197
-
5198
- .fa.fa-trash:before {
5199
- content: "\f2ed"; }
5200
-
5201
- .fa.fa-copyright {
5202
- font-family: 'Font Awesome 5 Free';
5203
- font-weight: 400; }
5204
-
5205
- .fa.fa-eyedropper:before {
5206
- content: "\f1fb"; }
5207
-
5208
- .fa.fa-area-chart:before {
5209
- content: "\f1fe"; }
5210
-
5211
- .fa.fa-pie-chart:before {
5212
- content: "\f200"; }
5213
-
5214
- .fa.fa-line-chart:before {
5215
- content: "\f201"; }
5216
-
5217
- .fa.fa-lastfm {
5218
- font-family: 'Font Awesome 5 Brands';
5219
- font-weight: 400; }
5220
-
5221
- .fa.fa-lastfm-square {
5222
- font-family: 'Font Awesome 5 Brands';
5223
- font-weight: 400; }
5224
-
5225
- .fa.fa-ioxhost {
5226
- font-family: 'Font Awesome 5 Brands';
5227
- font-weight: 400; }
5228
-
5229
- .fa.fa-angellist {
5230
- font-family: 'Font Awesome 5 Brands';
5231
- font-weight: 400; }
5232
-
5233
- .fa.fa-cc {
5234
- font-family: 'Font Awesome 5 Free';
5235
- font-weight: 400; }
5236
-
5237
- .fa.fa-cc:before {
5238
- content: "\f20a"; }
5239
-
5240
- .fa.fa-ils:before {
5241
- content: "\f20b"; }
5242
-
5243
- .fa.fa-shekel:before {
5244
- content: "\f20b"; }
5245
-
5246
- .fa.fa-sheqel:before {
5247
- content: "\f20b"; }
5248
-
5249
- .fa.fa-meanpath {
5250
- font-family: 'Font Awesome 5 Brands';
5251
- font-weight: 400; }
5252
-
5253
- .fa.fa-meanpath:before {
5254
- content: "\f2b4"; }
5255
-
5256
- .fa.fa-buysellads {
5257
- font-family: 'Font Awesome 5 Brands';
5258
- font-weight: 400; }
5259
-
5260
- .fa.fa-connectdevelop {
5261
- font-family: 'Font Awesome 5 Brands';
5262
- font-weight: 400; }
5263
-
5264
- .fa.fa-dashcube {
5265
- font-family: 'Font Awesome 5 Brands';
5266
- font-weight: 400; }
5267
-
5268
- .fa.fa-forumbee {
5269
- font-family: 'Font Awesome 5 Brands';
5270
- font-weight: 400; }
5271
-
5272
- .fa.fa-leanpub {
5273
- font-family: 'Font Awesome 5 Brands';
5274
- font-weight: 400; }
5275
-
5276
- .fa.fa-sellsy {
5277
- font-family: 'Font Awesome 5 Brands';
5278
- font-weight: 400; }
5279
-
5280
- .fa.fa-shirtsinbulk {
5281
- font-family: 'Font Awesome 5 Brands';
5282
- font-weight: 400; }
5283
-
5284
- .fa.fa-simplybuilt {
5285
- font-family: 'Font Awesome 5 Brands';
5286
- font-weight: 400; }
5287
-
5288
- .fa.fa-skyatlas {
5289
- font-family: 'Font Awesome 5 Brands';
5290
- font-weight: 400; }
5291
-
5292
- .fa.fa-diamond {
5293
- font-family: 'Font Awesome 5 Free';
5294
- font-weight: 400; }
5295
-
5296
- .fa.fa-diamond:before {
5297
- content: "\f3a5"; }
5298
-
5299
- .fa.fa-intersex:before {
5300
- content: "\f224"; }
5301
-
5302
- .fa.fa-facebook-official {
5303
- font-family: 'Font Awesome 5 Brands';
5304
- font-weight: 400; }
5305
-
5306
- .fa.fa-facebook-official:before {
5307
- content: "\f09a"; }
5308
-
5309
- .fa.fa-pinterest-p {
5310
- font-family: 'Font Awesome 5 Brands';
5311
- font-weight: 400; }
5312
-
5313
- .fa.fa-whatsapp {
5314
- font-family: 'Font Awesome 5 Brands';
5315
- font-weight: 400; }
5316
-
5317
- .fa.fa-hotel:before {
5318
- content: "\f236"; }
5319
-
5320
- .fa.fa-viacoin {
5321
- font-family: 'Font Awesome 5 Brands';
5322
- font-weight: 400; }
5323
-
5324
- .fa.fa-medium {
5325
- font-family: 'Font Awesome 5 Brands';
5326
- font-weight: 400; }
5327
-
5328
- .fa.fa-y-combinator {
5329
- font-family: 'Font Awesome 5 Brands';
5330
- font-weight: 400; }
5331
-
5332
- .fa.fa-yc {
5333
- font-family: 'Font Awesome 5 Brands';
5334
- font-weight: 400; }
5335
-
5336
- .fa.fa-yc:before {
5337
- content: "\f23b"; }
5338
-
5339
- .fa.fa-optin-monster {
5340
- font-family: 'Font Awesome 5 Brands';
5341
- font-weight: 400; }
5342
-
5343
- .fa.fa-opencart {
5344
- font-family: 'Font Awesome 5 Brands';
5345
- font-weight: 400; }
5346
-
5347
- .fa.fa-expeditedssl {
5348
- font-family: 'Font Awesome 5 Brands';
5349
- font-weight: 400; }
5350
-
5351
- .fa.fa-battery-4:before {
5352
- content: "\f240"; }
5353
-
5354
- .fa.fa-battery:before {
5355
- content: "\f240"; }
5356
-
5357
- .fa.fa-battery-3:before {
5358
- content: "\f241"; }
5359
-
5360
- .fa.fa-battery-2:before {
5361
- content: "\f242"; }
5362
-
5363
- .fa.fa-battery-1:before {
5364
- content: "\f243"; }
5365
-
5366
- .fa.fa-battery-0:before {
5367
- content: "\f244"; }
5368
-
5369
- .fa.fa-object-group {
5370
- font-family: 'Font Awesome 5 Free';
5371
- font-weight: 400; }
5372
-
5373
- .fa.fa-object-ungroup {
5374
- font-family: 'Font Awesome 5 Free';
5375
- font-weight: 400; }
5376
-
5377
- .fa.fa-sticky-note-o {
5378
- font-family: 'Font Awesome 5 Free';
5379
- font-weight: 400; }
5380
-
5381
- .fa.fa-sticky-note-o:before {
5382
- content: "\f249"; }
5383
-
5384
- .fa.fa-cc-jcb {
5385
- font-family: 'Font Awesome 5 Brands';
5386
- font-weight: 400; }
5387
-
5388
- .fa.fa-cc-diners-club {
5389
- font-family: 'Font Awesome 5 Brands';
5390
- font-weight: 400; }
5391
-
5392
- .fa.fa-clone {
5393
- font-family: 'Font Awesome 5 Free';
5394
- font-weight: 400; }
5395
-
5396
- .fa.fa-hourglass-o {
5397
- font-family: 'Font Awesome 5 Free';
5398
- font-weight: 400; }
5399
-
5400
- .fa.fa-hourglass-o:before {
5401
- content: "\f254"; }
5402
-
5403
- .fa.fa-hourglass-1:before {
5404
- content: "\f251"; }
5405
-
5406
- .fa.fa-hourglass-2:before {
5407
- content: "\f252"; }
5408
-
5409
- .fa.fa-hourglass-3:before {
5410
- content: "\f253"; }
5411
-
5412
- .fa.fa-hand-rock-o {
5413
- font-family: 'Font Awesome 5 Free';
5414
- font-weight: 400; }
5415
-
5416
- .fa.fa-hand-rock-o:before {
5417
- content: "\f255"; }
5418
-
5419
- .fa.fa-hand-grab-o {
5420
- font-family: 'Font Awesome 5 Free';
5421
- font-weight: 400; }
5422
-
5423
- .fa.fa-hand-grab-o:before {
5424
- content: "\f255"; }
5425
-
5426
- .fa.fa-hand-paper-o {
5427
- font-family: 'Font Awesome 5 Free';
5428
- font-weight: 400; }
5429
-
5430
- .fa.fa-hand-paper-o:before {
5431
- content: "\f256"; }
5432
-
5433
- .fa.fa-hand-stop-o {
5434
- font-family: 'Font Awesome 5 Free';
5435
- font-weight: 400; }
5436
-
5437
- .fa.fa-hand-stop-o:before {
5438
- content: "\f256"; }
5439
-
5440
- .fa.fa-hand-scissors-o {
5441
- font-family: 'Font Awesome 5 Free';
5442
- font-weight: 400; }
5443
-
5444
- .fa.fa-hand-scissors-o:before {
5445
- content: "\f257"; }
5446
-
5447
- .fa.fa-hand-lizard-o {
5448
- font-family: 'Font Awesome 5 Free';
5449
- font-weight: 400; }
5450
-
5451
- .fa.fa-hand-lizard-o:before {
5452
- content: "\f258"; }
5453
-
5454
- .fa.fa-hand-spock-o {
5455
- font-family: 'Font Awesome 5 Free';
5456
- font-weight: 400; }
5457
-
5458
- .fa.fa-hand-spock-o:before {
5459
- content: "\f259"; }
5460
-
5461
- .fa.fa-hand-pointer-o {
5462
- font-family: 'Font Awesome 5 Free';
5463
- font-weight: 400; }
5464
-
5465
- .fa.fa-hand-pointer-o:before {
5466
- content: "\f25a"; }
5467
-
5468
- .fa.fa-hand-peace-o {
5469
- font-family: 'Font Awesome 5 Free';
5470
- font-weight: 400; }
5471
-
5472
- .fa.fa-hand-peace-o:before {
5473
- content: "\f25b"; }
5474
-
5475
- .fa.fa-registered {
5476
- font-family: 'Font Awesome 5 Free';
5477
- font-weight: 400; }
5478
-
5479
- .fa.fa-creative-commons {
5480
- font-family: 'Font Awesome 5 Brands';
5481
- font-weight: 400; }
5482
-
5483
- .fa.fa-gg {
5484
- font-family: 'Font Awesome 5 Brands';
5485
- font-weight: 400; }
5486
-
5487
- .fa.fa-gg-circle {
5488
- font-family: 'Font Awesome 5 Brands';
5489
- font-weight: 400; }
5490
-
5491
- .fa.fa-tripadvisor {
5492
- font-family: 'Font Awesome 5 Brands';
5493
- font-weight: 400; }
5494
-
5495
- .fa.fa-odnoklassniki {
5496
- font-family: 'Font Awesome 5 Brands';
5497
- font-weight: 400; }
5498
-
5499
- .fa.fa-odnoklassniki-square {
5500
- font-family: 'Font Awesome 5 Brands';
5501
- font-weight: 400; }
5502
-
5503
- .fa.fa-get-pocket {
5504
- font-family: 'Font Awesome 5 Brands';
5505
- font-weight: 400; }
5506
-
5507
- .fa.fa-wikipedia-w {
5508
- font-family: 'Font Awesome 5 Brands';
5509
- font-weight: 400; }
5510
-
5511
- .fa.fa-safari {
5512
- font-family: 'Font Awesome 5 Brands';
5513
- font-weight: 400; }
5514
-
5515
- .fa.fa-chrome {
5516
- font-family: 'Font Awesome 5 Brands';
5517
- font-weight: 400; }
5518
-
5519
- .fa.fa-firefox {
5520
- font-family: 'Font Awesome 5 Brands';
5521
- font-weight: 400; }
5522
-
5523
- .fa.fa-opera {
5524
- font-family: 'Font Awesome 5 Brands';
5525
- font-weight: 400; }
5526
-
5527
- .fa.fa-internet-explorer {
5528
- font-family: 'Font Awesome 5 Brands';
5529
- font-weight: 400; }
5530
-
5531
- .fa.fa-television:before {
5532
- content: "\f26c"; }
5533
-
5534
- .fa.fa-contao {
5535
- font-family: 'Font Awesome 5 Brands';
5536
- font-weight: 400; }
5537
-
5538
- .fa.fa-500px {
5539
- font-family: 'Font Awesome 5 Brands';
5540
- font-weight: 400; }
5541
-
5542
- .fa.fa-amazon {
5543
- font-family: 'Font Awesome 5 Brands';
5544
- font-weight: 400; }
5545
-
5546
- .fa.fa-calendar-plus-o {
5547
- font-family: 'Font Awesome 5 Free';
5548
- font-weight: 400; }
5549
-
5550
- .fa.fa-calendar-plus-o:before {
5551
- content: "\f271"; }
5552
-
5553
- .fa.fa-calendar-minus-o {
5554
- font-family: 'Font Awesome 5 Free';
5555
- font-weight: 400; }
5556
-
5557
- .fa.fa-calendar-minus-o:before {
5558
- content: "\f272"; }
5559
-
5560
- .fa.fa-calendar-times-o {
5561
- font-family: 'Font Awesome 5 Free';
5562
- font-weight: 400; }
5563
-
5564
- .fa.fa-calendar-times-o:before {
5565
- content: "\f273"; }
5566
-
5567
- .fa.fa-calendar-check-o {
5568
- font-family: 'Font Awesome 5 Free';
5569
- font-weight: 400; }
5570
-
5571
- .fa.fa-calendar-check-o:before {
5572
- content: "\f274"; }
5573
-
5574
- .fa.fa-map-o {
5575
- font-family: 'Font Awesome 5 Free';
5576
- font-weight: 400; }
5577
-
5578
- .fa.fa-map-o:before {
5579
- content: "\f279"; }
5580
-
5581
- .fa.fa-commenting {
5582
- font-family: 'Font Awesome 5 Free';
5583
- font-weight: 400; }
5584
-
5585
- .fa.fa-commenting:before {
5586
- content: "\f4ad"; }
5587
-
5588
- .fa.fa-commenting-o {
5589
- font-family: 'Font Awesome 5 Free';
5590
- font-weight: 400; }
5591
-
5592
- .fa.fa-commenting-o:before {
5593
- content: "\f4ad"; }
5594
-
5595
- .fa.fa-houzz {
5596
- font-family: 'Font Awesome 5 Brands';
5597
- font-weight: 400; }
5598
-
5599
- .fa.fa-vimeo {
5600
- font-family: 'Font Awesome 5 Brands';
5601
- font-weight: 400; }
5602
-
5603
- .fa.fa-vimeo:before {
5604
- content: "\f27d"; }
5605
-
5606
- .fa.fa-black-tie {
5607
- font-family: 'Font Awesome 5 Brands';
5608
- font-weight: 400; }
5609
-
5610
- .fa.fa-fonticons {
5611
- font-family: 'Font Awesome 5 Brands';
5612
- font-weight: 400; }
5613
-
5614
- .fa.fa-reddit-alien {
5615
- font-family: 'Font Awesome 5 Brands';
5616
- font-weight: 400; }
5617
-
5618
- .fa.fa-edge {
5619
- font-family: 'Font Awesome 5 Brands';
5620
- font-weight: 400; }
5621
-
5622
- .fa.fa-credit-card-alt:before {
5623
- content: "\f09d"; }
5624
-
5625
- .fa.fa-codiepie {
5626
- font-family: 'Font Awesome 5 Brands';
5627
- font-weight: 400; }
5628
-
5629
- .fa.fa-modx {
5630
- font-family: 'Font Awesome 5 Brands';
5631
- font-weight: 400; }
5632
-
5633
- .fa.fa-fort-awesome {
5634
- font-family: 'Font Awesome 5 Brands';
5635
- font-weight: 400; }
5636
-
5637
- .fa.fa-usb {
5638
- font-family: 'Font Awesome 5 Brands';
5639
- font-weight: 400; }
5640
-
5641
- .fa.fa-product-hunt {
5642
- font-family: 'Font Awesome 5 Brands';
5643
- font-weight: 400; }
5644
-
5645
- .fa.fa-mixcloud {
5646
- font-family: 'Font Awesome 5 Brands';
5647
- font-weight: 400; }
5648
-
5649
- .fa.fa-scribd {
5650
- font-family: 'Font Awesome 5 Brands';
5651
- font-weight: 400; }
5652
-
5653
- .fa.fa-pause-circle-o {
5654
- font-family: 'Font Awesome 5 Free';
5655
- font-weight: 400; }
5656
-
5657
- .fa.fa-pause-circle-o:before {
5658
- content: "\f28b"; }
5659
-
5660
- .fa.fa-stop-circle-o {
5661
- font-family: 'Font Awesome 5 Free';
5662
- font-weight: 400; }
5663
-
5664
- .fa.fa-stop-circle-o:before {
5665
- content: "\f28d"; }
5666
-
5667
- .fa.fa-bluetooth {
5668
- font-family: 'Font Awesome 5 Brands';
5669
- font-weight: 400; }
5670
-
5671
- .fa.fa-bluetooth-b {
5672
- font-family: 'Font Awesome 5 Brands';
5673
- font-weight: 400; }
5674
-
5675
- .fa.fa-gitlab {
5676
- font-family: 'Font Awesome 5 Brands';
5677
- font-weight: 400; }
5678
-
5679
- .fa.fa-wpbeginner {
5680
- font-family: 'Font Awesome 5 Brands';
5681
- font-weight: 400; }
5682
-
5683
- .fa.fa-wpforms {
5684
- font-family: 'Font Awesome 5 Brands';
5685
- font-weight: 400; }
5686
-
5687
- .fa.fa-envira {
5688
- font-family: 'Font Awesome 5 Brands';
5689
- font-weight: 400; }
5690
-
5691
- .fa.fa-wheelchair-alt {
5692
- font-family: 'Font Awesome 5 Brands';
5693
- font-weight: 400; }
5694
-
5695
- .fa.fa-wheelchair-alt:before {
5696
- content: "\f368"; }
5697
-
5698
- .fa.fa-question-circle-o {
5699
- font-family: 'Font Awesome 5 Free';
5700
- font-weight: 400; }
5701
-
5702
- .fa.fa-question-circle-o:before {
5703
- content: "\f059"; }
5704
-
5705
- .fa.fa-volume-control-phone:before {
5706
- content: "\f2a0"; }
5707
-
5708
- .fa.fa-asl-interpreting:before {
5709
- content: "\f2a3"; }
5710
-
5711
- .fa.fa-deafness:before {
5712
- content: "\f2a4"; }
5713
-
5714
- .fa.fa-hard-of-hearing:before {
5715
- content: "\f2a4"; }
5716
-
5717
- .fa.fa-glide {
5718
- font-family: 'Font Awesome 5 Brands';
5719
- font-weight: 400; }
5720
-
5721
- .fa.fa-glide-g {
5722
- font-family: 'Font Awesome 5 Brands';
5723
- font-weight: 400; }
5724
-
5725
- .fa.fa-signing:before {
5726
- content: "\f2a7"; }
5727
-
5728
- .fa.fa-viadeo {
5729
- font-family: 'Font Awesome 5 Brands';
5730
- font-weight: 400; }
5731
-
5732
- .fa.fa-viadeo-square {
5733
- font-family: 'Font Awesome 5 Brands';
5734
- font-weight: 400; }
5735
-
5736
- .fa.fa-snapchat {
5737
- font-family: 'Font Awesome 5 Brands';
5738
- font-weight: 400; }
5739
-
5740
- .fa.fa-snapchat-ghost {
5741
- font-family: 'Font Awesome 5 Brands';
5742
- font-weight: 400; }
5743
-
5744
- .fa.fa-snapchat-square {
5745
- font-family: 'Font Awesome 5 Brands';
5746
- font-weight: 400; }
5747
-
5748
- .fa.fa-pied-piper {
5749
- font-family: 'Font Awesome 5 Brands';
5750
- font-weight: 400; }
5751
-
5752
- .fa.fa-first-order {
5753
- font-family: 'Font Awesome 5 Brands';
5754
- font-weight: 400; }
5755
-
5756
- .fa.fa-yoast {
5757
- font-family: 'Font Awesome 5 Brands';
5758
- font-weight: 400; }
5759
-
5760
- .fa.fa-themeisle {
5761
- font-family: 'Font Awesome 5 Brands';
5762
- font-weight: 400; }
5763
-
5764
- .fa.fa-google-plus-official {
5765
- font-family: 'Font Awesome 5 Brands';
5766
- font-weight: 400; }
5767
-
5768
- .fa.fa-google-plus-official:before {
5769
- content: "\f2b3"; }
5770
-
5771
- .fa.fa-google-plus-circle {
5772
- font-family: 'Font Awesome 5 Brands';
5773
- font-weight: 400; }
5774
-
5775
- .fa.fa-google-plus-circle:before {
5776
- content: "\f2b3"; }
5777
-
5778
- .fa.fa-font-awesome {
5779
- font-family: 'Font Awesome 5 Brands';
5780
- font-weight: 400; }
5781
-
5782
- .fa.fa-fa {
5783
- font-family: 'Font Awesome 5 Brands';
5784
- font-weight: 400; }
5785
-
5786
- .fa.fa-fa:before {
5787
- content: "\f2b4"; }
5788
-
5789
- .fa.fa-handshake-o {
5790
- font-family: 'Font Awesome 5 Free';
5791
- font-weight: 400; }
5792
-
5793
- .fa.fa-handshake-o:before {
5794
- content: "\f2b5"; }
5795
-
5796
- .fa.fa-envelope-open-o {
5797
- font-family: 'Font Awesome 5 Free';
5798
- font-weight: 400; }
5799
-
5800
- .fa.fa-envelope-open-o:before {
5801
- content: "\f2b6"; }
5802
-
5803
- .fa.fa-linode {
5804
- font-family: 'Font Awesome 5 Brands';
5805
- font-weight: 400; }
5806
-
5807
- .fa.fa-address-book-o {
5808
- font-family: 'Font Awesome 5 Free';
5809
- font-weight: 400; }
5810
-
5811
- .fa.fa-address-book-o:before {
5812
- content: "\f2b9"; }
5813
-
5814
- .fa.fa-vcard:before {
5815
- content: "\f2bb"; }
5816
-
5817
- .fa.fa-address-card-o {
5818
- font-family: 'Font Awesome 5 Free';
5819
- font-weight: 400; }
5820
-
5821
- .fa.fa-address-card-o:before {
5822
- content: "\f2bb"; }
5823
-
5824
- .fa.fa-vcard-o {
5825
- font-family: 'Font Awesome 5 Free';
5826
- font-weight: 400; }
5827
-
5828
- .fa.fa-vcard-o:before {
5829
- content: "\f2bb"; }
5830
-
5831
- .fa.fa-user-circle-o {
5832
- font-family: 'Font Awesome 5 Free';
5833
- font-weight: 400; }
5834
-
5835
- .fa.fa-user-circle-o:before {
5836
- content: "\f2bd"; }
5837
-
5838
- .fa.fa-user-o {
5839
- font-family: 'Font Awesome 5 Free';
5840
- font-weight: 400; }
5841
-
5842
- .fa.fa-user-o:before {
5843
- content: "\f007"; }
5844
-
5845
- .fa.fa-id-badge {
5846
- font-family: 'Font Awesome 5 Free';
5847
- font-weight: 400; }
5848
-
5849
- .fa.fa-drivers-license:before {
5850
- content: "\f2c2"; }
5851
-
5852
- .fa.fa-id-card-o {
5853
- font-family: 'Font Awesome 5 Free';
5854
- font-weight: 400; }
5855
-
5856
- .fa.fa-id-card-o:before {
5857
- content: "\f2c2"; }
5858
-
5859
- .fa.fa-drivers-license-o {
5860
- font-family: 'Font Awesome 5 Free';
5861
- font-weight: 400; }
5862
-
5863
- .fa.fa-drivers-license-o:before {
5864
- content: "\f2c2"; }
5865
-
5866
- .fa.fa-quora {
5867
- font-family: 'Font Awesome 5 Brands';
5868
- font-weight: 400; }
5869
-
5870
- .fa.fa-free-code-camp {
5871
- font-family: 'Font Awesome 5 Brands';
5872
- font-weight: 400; }
5873
-
5874
- .fa.fa-telegram {
5875
- font-family: 'Font Awesome 5 Brands';
5876
- font-weight: 400; }
5877
-
5878
- .fa.fa-thermometer-4:before {
5879
- content: "\f2c7"; }
5880
-
5881
- .fa.fa-thermometer:before {
5882
- content: "\f2c7"; }
5883
-
5884
- .fa.fa-thermometer-3:before {
5885
- content: "\f2c8"; }
5886
-
5887
- .fa.fa-thermometer-2:before {
5888
- content: "\f2c9"; }
5889
-
5890
- .fa.fa-thermometer-1:before {
5891
- content: "\f2ca"; }
5892
-
5893
- .fa.fa-thermometer-0:before {
5894
- content: "\f2cb"; }
5895
-
5896
- .fa.fa-bathtub:before {
5897
- content: "\f2cd"; }
5898
-
5899
- .fa.fa-s15:before {
5900
- content: "\f2cd"; }
5901
-
5902
- .fa.fa-window-maximize {
5903
- font-family: 'Font Awesome 5 Free';
5904
- font-weight: 400; }
5905
-
5906
- .fa.fa-window-restore {
5907
- font-family: 'Font Awesome 5 Free';
5908
- font-weight: 400; }
5909
-
5910
- .fa.fa-times-rectangle:before {
5911
- content: "\f410"; }
5912
-
5913
- .fa.fa-window-close-o {
5914
- font-family: 'Font Awesome 5 Free';
5915
- font-weight: 400; }
5916
-
5917
- .fa.fa-window-close-o:before {
5918
- content: "\f410"; }
5919
-
5920
- .fa.fa-times-rectangle-o {
5921
- font-family: 'Font Awesome 5 Free';
5922
- font-weight: 400; }
5923
-
5924
- .fa.fa-times-rectangle-o:before {
5925
- content: "\f410"; }
5926
-
5927
- .fa.fa-bandcamp {
5928
- font-family: 'Font Awesome 5 Brands';
5929
- font-weight: 400; }
5930
-
5931
- .fa.fa-grav {
5932
- font-family: 'Font Awesome 5 Brands';
5933
- font-weight: 400; }
5934
-
5935
- .fa.fa-etsy {
5936
- font-family: 'Font Awesome 5 Brands';
5937
- font-weight: 400; }
5938
-
5939
- .fa.fa-imdb {
5940
- font-family: 'Font Awesome 5 Brands';
5941
- font-weight: 400; }
5942
-
5943
- .fa.fa-ravelry {
5944
- font-family: 'Font Awesome 5 Brands';
5945
- font-weight: 400; }
5946
-
5947
- .fa.fa-eercast {
5948
- font-family: 'Font Awesome 5 Brands';
5949
- font-weight: 400; }
5950
-
5951
- .fa.fa-eercast:before {
5952
- content: "\f2da"; }
5953
-
5954
- .fa.fa-snowflake-o {
5955
- font-family: 'Font Awesome 5 Free';
5956
- font-weight: 400; }
5957
-
5958
- .fa.fa-snowflake-o:before {
5959
- content: "\f2dc"; }
5960
-
5961
- .fa.fa-superpowers {
5962
- font-family: 'Font Awesome 5 Brands';
5963
- font-weight: 400; }
5964
-
5965
- .fa.fa-wpexplorer {
5966
- font-family: 'Font Awesome 5 Brands';
5967
- font-weight: 400; }
5968
-
5969
- .fa.fa-spotify {
5970
- font-family: 'Font Awesome 5 Brands';
5971
- font-weight: 400; }
1
+ /*!
2
+ * Font Awesome Free 5.3.1 by @fontawesome - https://fontawesome.com
3
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
4
+ */
5
+ @font-face {
6
+ font-family: 'Font Awesome 5 Free';
7
+ font-style: normal;
8
+ font-weight: 400;
9
+ src: url("../webfonts/fa-regular-400.eot");
10
+ src: url("../webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.woff") format("woff"), url("../webfonts/fa-regular-400.ttf") format("truetype"), url("../webfonts/fa-regular-400.svg#fontawesome") format("svg"); }
11
+
12
+ .far {
13
+ font-family: 'Font Awesome 5 Free';
14
+ font-weight: 400; }
15
+
16
+ @font-face {
17
+ font-family: 'Font Awesome 5 Free';
18
+ font-style: normal;
19
+ font-weight: 900;
20
+ src: url("../webfonts/fa-solid-900.eot");
21
+ src: url("../webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.woff") format("woff"), url("../webfonts/fa-solid-900.ttf") format("truetype"), url("../webfonts/fa-solid-900.svg#fontawesome") format("svg"); }
22
+
23
+ .fa,
24
+ .fas {
25
+ font-family: 'Font Awesome 5 Free';
26
+ font-weight: 900; }
27
+ .fa,
28
+ .fas,
29
+ .far,
30
+ .fal,
31
+ .fab {
32
+ -moz-osx-font-smoothing: grayscale;
33
+ -webkit-font-smoothing: antialiased;
34
+ display: inline-block;
35
+ font-style: normal;
36
+ font-variant: normal;
37
+ text-rendering: auto;
38
+ line-height: 1; }
39
+
40
+ .fa-lg {
41
+ font-size: 1.33333em;
42
+ line-height: 0.75em;
43
+ vertical-align: -.0667em; }
44
+
45
+ .fa-xs {
46
+ font-size: .75em; }
47
+
48
+ .fa-sm {
49
+ font-size: .875em; }
50
+
51
+ .fa-1x {
52
+ font-size: 1em; }
53
+
54
+ .fa-2x {
55
+ font-size: 2em; }
56
+
57
+ .fa-3x {
58
+ font-size: 3em; }
59
+
60
+ .fa-4x {
61
+ font-size: 4em; }
62
+
63
+ .fa-5x {
64
+ font-size: 5em; }
65
+
66
+ .fa-6x {
67
+ font-size: 6em; }
68
+
69
+ .fa-7x {
70
+ font-size: 7em; }
71
+
72
+ .fa-8x {
73
+ font-size: 8em; }
74
+
75
+ .fa-9x {
76
+ font-size: 9em; }
77
+
78
+ .fa-10x {
79
+ font-size: 10em; }
80
+
81
+ .fa-fw {
82
+ text-align: center;
83
+ width: 1.25em; }
84
+
85
+ .fa-ul {
86
+ list-style-type: none;
87
+ margin-left: 2.5em;
88
+ padding-left: 0; }
89
+ .fa-ul > li {
90
+ position: relative; }
91
+
92
+ .fa-li {
93
+ left: -2em;
94
+ position: absolute;
95
+ text-align: center;
96
+ width: 2em;
97
+ line-height: inherit; }
98
+
99
+ .fa-border {
100
+ border: solid 0.08em #eee;
101
+ border-radius: .1em;
102
+ padding: .2em .25em .15em; }
103
+
104
+ .fa-pull-left {
105
+ float: left; }
106
+
107
+ .fa-pull-right {
108
+ float: right; }
109
+
110
+ .fa.fa-pull-left,
111
+ .fas.fa-pull-left,
112
+ .far.fa-pull-left,
113
+ .fal.fa-pull-left,
114
+ .fab.fa-pull-left {
115
+ margin-right: .3em; }
116
+
117
+ .fa.fa-pull-right,
118
+ .fas.fa-pull-right,
119
+ .far.fa-pull-right,
120
+ .fal.fa-pull-right,
121
+ .fab.fa-pull-right {
122
+ margin-left: .3em; }
123
+
124
+ .fa-spin {
125
+ -webkit-animation: fa-spin 2s infinite linear;
126
+ animation: fa-spin 2s infinite linear; }
127
+
128
+ .fa-pulse {
129
+ -webkit-animation: fa-spin 1s infinite steps(8);
130
+ animation: fa-spin 1s infinite steps(8); }
131
+
132
+ @-webkit-keyframes fa-spin {
133
+ 0% {
134
+ -webkit-transform: rotate(0deg);
135
+ transform: rotate(0deg); }
136
+ 100% {
137
+ -webkit-transform: rotate(360deg);
138
+ transform: rotate(360deg); } }
139
+
140
+ @keyframes fa-spin {
141
+ 0% {
142
+ -webkit-transform: rotate(0deg);
143
+ transform: rotate(0deg); }
144
+ 100% {
145
+ -webkit-transform: rotate(360deg);
146
+ transform: rotate(360deg); } }
147
+
148
+ .fa-rotate-90 {
149
+ -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
150
+ -webkit-transform: rotate(90deg);
151
+ transform: rotate(90deg); }
152
+
153
+ .fa-rotate-180 {
154
+ -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
155
+ -webkit-transform: rotate(180deg);
156
+ transform: rotate(180deg); }
157
+
158
+ .fa-rotate-270 {
159
+ -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
160
+ -webkit-transform: rotate(270deg);
161
+ transform: rotate(270deg); }
162
+
163
+ .fa-flip-horizontal {
164
+ -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
165
+ -webkit-transform: scale(-1, 1);
166
+ transform: scale(-1, 1); }
167
+
168
+ .fa-flip-vertical {
169
+ -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
170
+ -webkit-transform: scale(1, -1);
171
+ transform: scale(1, -1); }
172
+
173
+ .fa-flip-horizontal.fa-flip-vertical {
174
+ -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
175
+ -webkit-transform: scale(-1, -1);
176
+ transform: scale(-1, -1); }
177
+
178
+ :root .fa-rotate-90,
179
+ :root .fa-rotate-180,
180
+ :root .fa-rotate-270,
181
+ :root .fa-flip-horizontal,
182
+ :root .fa-flip-vertical {
183
+ -webkit-filter: none;
184
+ filter: none; }
185
+
186
+ .fa-stack {
187
+ display: inline-block;
188
+ height: 2em;
189
+ line-height: 2em;
190
+ position: relative;
191
+ vertical-align: middle;
192
+ width: 2em; }
193
+
194
+ .fa-stack-1x,
195
+ .fa-stack-2x {
196
+ left: 0;
197
+ position: absolute;
198
+ text-align: center;
199
+ width: 100%; }
200
+
201
+ .fa-stack-1x {
202
+ line-height: inherit; }
203
+
204
+ .fa-stack-2x {
205
+ font-size: 2em; }
206
+
207
+ .fa-inverse {
208
+ color: #fff; }
209
+
210
+ /* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
211
+ readers do not read off random characters that represent icons */
212
+ .fa-500px:before {
213
+ content: "\f26e"; }
214
+
215
+ .fa-accessible-icon:before {
216
+ content: "\f368"; }
217
+
218
+ .fa-accusoft:before {
219
+ content: "\f369"; }
220
+
221
+ .fa-ad:before {
222
+ content: "\f641"; }
223
+
224
+ .fa-address-book:before {
225
+ content: "\f2b9"; }
226
+
227
+ .fa-address-card:before {
228
+ content: "\f2bb"; }
229
+
230
+ .fa-adjust:before {
231
+ content: "\f042"; }
232
+
233
+ .fa-adn:before {
234
+ content: "\f170"; }
235
+
236
+ .fa-adversal:before {
237
+ content: "\f36a"; }
238
+
239
+ .fa-affiliatetheme:before {
240
+ content: "\f36b"; }
241
+
242
+ .fa-air-freshener:before {
243
+ content: "\f5d0"; }
244
+
245
+ .fa-algolia:before {
246
+ content: "\f36c"; }
247
+
248
+ .fa-align-center:before {
249
+ content: "\f037"; }
250
+
251
+ .fa-align-justify:before {
252
+ content: "\f039"; }
253
+
254
+ .fa-align-left:before {
255
+ content: "\f036"; }
256
+
257
+ .fa-align-right:before {
258
+ content: "\f038"; }
259
+
260
+ .fa-alipay:before {
261
+ content: "\f642"; }
262
+
263
+ .fa-allergies:before {
264
+ content: "\f461"; }
265
+
266
+ .fa-amazon:before {
267
+ content: "\f270"; }
268
+
269
+ .fa-amazon-pay:before {
270
+ content: "\f42c"; }
271
+
272
+ .fa-ambulance:before {
273
+ content: "\f0f9"; }
274
+
275
+ .fa-american-sign-language-interpreting:before {
276
+ content: "\f2a3"; }
277
+
278
+ .fa-amilia:before {
279
+ content: "\f36d"; }
280
+
281
+ .fa-anchor:before {
282
+ content: "\f13d"; }
283
+
284
+ .fa-android:before {
285
+ content: "\f17b"; }
286
+
287
+ .fa-angellist:before {
288
+ content: "\f209"; }
289
+
290
+ .fa-angle-double-down:before {
291
+ content: "\f103"; }
292
+
293
+ .fa-angle-double-left:before {
294
+ content: "\f100"; }
295
+
296
+ .fa-angle-double-right:before {
297
+ content: "\f101"; }
298
+
299
+ .fa-angle-double-up:before {
300
+ content: "\f102"; }
301
+
302
+ .fa-angle-down:before {
303
+ content: "\f107"; }
304
+
305
+ .fa-angle-left:before {
306
+ content: "\f104"; }
307
+
308
+ .fa-angle-right:before {
309
+ content: "\f105"; }
310
+
311
+ .fa-angle-up:before {
312
+ content: "\f106"; }
313
+
314
+ .fa-angry:before {
315
+ content: "\f556"; }
316
+
317
+ .fa-angrycreative:before {
318
+ content: "\f36e"; }
319
+
320
+ .fa-angular:before {
321
+ content: "\f420"; }
322
+
323
+ .fa-ankh:before {
324
+ content: "\f644"; }
325
+
326
+ .fa-app-store:before {
327
+ content: "\f36f"; }
328
+
329
+ .fa-app-store-ios:before {
330
+ content: "\f370"; }
331
+
332
+ .fa-apper:before {
333
+ content: "\f371"; }
334
+
335
+ .fa-apple:before {
336
+ content: "\f179"; }
337
+
338
+ .fa-apple-alt:before {
339
+ content: "\f5d1"; }
340
+
341
+ .fa-apple-pay:before {
342
+ content: "\f415"; }
343
+
344
+ .fa-archive:before {
345
+ content: "\f187"; }
346
+
347
+ .fa-archway:before {
348
+ content: "\f557"; }
349
+
350
+ .fa-arrow-alt-circle-down:before {
351
+ content: "\f358"; }
352
+
353
+ .fa-arrow-alt-circle-left:before {
354
+ content: "\f359"; }
355
+
356
+ .fa-arrow-alt-circle-right:before {
357
+ content: "\f35a"; }
358
+
359
+ .fa-arrow-alt-circle-up:before {
360
+ content: "\f35b"; }
361
+
362
+ .fa-arrow-circle-down:before {
363
+ content: "\f0ab"; }
364
+
365
+ .fa-arrow-circle-left:before {
366
+ content: "\f0a8"; }
367
+
368
+ .fa-arrow-circle-right:before {
369
+ content: "\f0a9"; }
370
+
371
+ .fa-arrow-circle-up:before {
372
+ content: "\f0aa"; }
373
+
374
+ .fa-arrow-down:before {
375
+ content: "\f063"; }
376
+
377
+ .fa-arrow-left:before {
378
+ content: "\f060"; }
379
+
380
+ .fa-arrow-right:before {
381
+ content: "\f061"; }
382
+
383
+ .fa-arrow-up:before {
384
+ content: "\f062"; }
385
+
386
+ .fa-arrows-alt:before {
387
+ content: "\f0b2"; }
388
+
389
+ .fa-arrows-alt-h:before {
390
+ content: "\f337"; }
391
+
392
+ .fa-arrows-alt-v:before {
393
+ content: "\f338"; }
394
+
395
+ .fa-assistive-listening-systems:before {
396
+ content: "\f2a2"; }
397
+
398
+ .fa-asterisk:before {
399
+ content: "\f069"; }
400
+
401
+ .fa-asymmetrik:before {
402
+ content: "\f372"; }
403
+
404
+ .fa-at:before {
405
+ content: "\f1fa"; }
406
+
407
+ .fa-atlas:before {
408
+ content: "\f558"; }
409
+
410
+ .fa-atom:before {
411
+ content: "\f5d2"; }
412
+
413
+ .fa-audible:before {
414
+ content: "\f373"; }
415
+
416
+ .fa-audio-description:before {
417
+ content: "\f29e"; }
418
+
419
+ .fa-autoprefixer:before {
420
+ content: "\f41c"; }
421
+
422
+ .fa-avianex:before {
423
+ content: "\f374"; }
424
+
425
+ .fa-aviato:before {
426
+ content: "\f421"; }
427
+
428
+ .fa-award:before {
429
+ content: "\f559"; }
430
+
431
+ .fa-aws:before {
432
+ content: "\f375"; }
433
+
434
+ .fa-backspace:before {
435
+ content: "\f55a"; }
436
+
437
+ .fa-backward:before {
438
+ content: "\f04a"; }
439
+
440
+ .fa-balance-scale:before {
441
+ content: "\f24e"; }
442
+
443
+ .fa-ban:before {
444
+ content: "\f05e"; }
445
+
446
+ .fa-band-aid:before {
447
+ content: "\f462"; }
448
+
449
+ .fa-bandcamp:before {
450
+ content: "\f2d5"; }
451
+
452
+ .fa-barcode:before {
453
+ content: "\f02a"; }
454
+
455
+ .fa-bars:before {
456
+ content: "\f0c9"; }
457
+
458
+ .fa-baseball-ball:before {
459
+ content: "\f433"; }
460
+
461
+ .fa-basketball-ball:before {
462
+ content: "\f434"; }
463
+
464
+ .fa-bath:before {
465
+ content: "\f2cd"; }
466
+
467
+ .fa-battery-empty:before {
468
+ content: "\f244"; }
469
+
470
+ .fa-battery-full:before {
471
+ content: "\f240"; }
472
+
473
+ .fa-battery-half:before {
474
+ content: "\f242"; }
475
+
476
+ .fa-battery-quarter:before {
477
+ content: "\f243"; }
478
+
479
+ .fa-battery-three-quarters:before {
480
+ content: "\f241"; }
481
+
482
+ .fa-bed:before {
483
+ content: "\f236"; }
484
+
485
+ .fa-beer:before {
486
+ content: "\f0fc"; }
487
+
488
+ .fa-behance:before {
489
+ content: "\f1b4"; }
490
+
491
+ .fa-behance-square:before {
492
+ content: "\f1b5"; }
493
+
494
+ .fa-bell:before {
495
+ content: "\f0f3"; }
496
+
497
+ .fa-bell-slash:before {
498
+ content: "\f1f6"; }
499
+
500
+ .fa-bezier-curve:before {
501
+ content: "\f55b"; }
502
+
503
+ .fa-bible:before {
504
+ content: "\f647"; }
505
+
506
+ .fa-bicycle:before {
507
+ content: "\f206"; }
508
+
509
+ .fa-bimobject:before {
510
+ content: "\f378"; }
511
+
512
+ .fa-binoculars:before {
513
+ content: "\f1e5"; }
514
+
515
+ .fa-birthday-cake:before {
516
+ content: "\f1fd"; }
517
+
518
+ .fa-bitbucket:before {
519
+ content: "\f171"; }
520
+
521
+ .fa-bitcoin:before {
522
+ content: "\f379"; }
523
+
524
+ .fa-bity:before {
525
+ content: "\f37a"; }
526
+
527
+ .fa-black-tie:before {
528
+ content: "\f27e"; }
529
+
530
+ .fa-blackberry:before {
531
+ content: "\f37b"; }
532
+
533
+ .fa-blender:before {
534
+ content: "\f517"; }
535
+
536
+ .fa-blind:before {
537
+ content: "\f29d"; }
538
+
539
+ .fa-blogger:before {
540
+ content: "\f37c"; }
541
+
542
+ .fa-blogger-b:before {
543
+ content: "\f37d"; }
544
+
545
+ .fa-bluetooth:before {
546
+ content: "\f293"; }
547
+
548
+ .fa-bluetooth-b:before {
549
+ content: "\f294"; }
550
+
551
+ .fa-bold:before {
552
+ content: "\f032"; }
553
+
554
+ .fa-bolt:before {
555
+ content: "\f0e7"; }
556
+
557
+ .fa-bomb:before {
558
+ content: "\f1e2"; }
559
+
560
+ .fa-bone:before {
561
+ content: "\f5d7"; }
562
+
563
+ .fa-bong:before {
564
+ content: "\f55c"; }
565
+
566
+ .fa-book:before {
567
+ content: "\f02d"; }
568
+
569
+ .fa-book-open:before {
570
+ content: "\f518"; }
571
+
572
+ .fa-book-reader:before {
573
+ content: "\f5da"; }
574
+
575
+ .fa-bookmark:before {
576
+ content: "\f02e"; }
577
+
578
+ .fa-bowling-ball:before {
579
+ content: "\f436"; }
580
+
581
+ .fa-box:before {
582
+ content: "\f466"; }
583
+
584
+ .fa-box-open:before {
585
+ content: "\f49e"; }
586
+
587
+ .fa-boxes:before {
588
+ content: "\f468"; }
589
+
590
+ .fa-braille:before {
591
+ content: "\f2a1"; }
592
+
593
+ .fa-brain:before {
594
+ content: "\f5dc"; }
595
+
596
+ .fa-briefcase:before {
597
+ content: "\f0b1"; }
598
+
599
+ .fa-briefcase-medical:before {
600
+ content: "\f469"; }
601
+
602
+ .fa-broadcast-tower:before {
603
+ content: "\f519"; }
604
+
605
+ .fa-broom:before {
606
+ content: "\f51a"; }
607
+
608
+ .fa-brush:before {
609
+ content: "\f55d"; }
610
+
611
+ .fa-btc:before {
612
+ content: "\f15a"; }
613
+
614
+ .fa-bug:before {
615
+ content: "\f188"; }
616
+
617
+ .fa-building:before {
618
+ content: "\f1ad"; }
619
+
620
+ .fa-bullhorn:before {
621
+ content: "\f0a1"; }
622
+
623
+ .fa-bullseye:before {
624
+ content: "\f140"; }
625
+
626
+ .fa-burn:before {
627
+ content: "\f46a"; }
628
+
629
+ .fa-buromobelexperte:before {
630
+ content: "\f37f"; }
631
+
632
+ .fa-bus:before {
633
+ content: "\f207"; }
634
+
635
+ .fa-bus-alt:before {
636
+ content: "\f55e"; }
637
+
638
+ .fa-business-time:before {
639
+ content: "\f64a"; }
640
+
641
+ .fa-buysellads:before {
642
+ content: "\f20d"; }
643
+
644
+ .fa-calculator:before {
645
+ content: "\f1ec"; }
646
+
647
+ .fa-calendar:before {
648
+ content: "\f133"; }
649
+
650
+ .fa-calendar-alt:before {
651
+ content: "\f073"; }
652
+
653
+ .fa-calendar-check:before {
654
+ content: "\f274"; }
655
+
656
+ .fa-calendar-minus:before {
657
+ content: "\f272"; }
658
+
659
+ .fa-calendar-plus:before {
660
+ content: "\f271"; }
661
+
662
+ .fa-calendar-times:before {
663
+ content: "\f273"; }
664
+
665
+ .fa-camera:before {
666
+ content: "\f030"; }
667
+
668
+ .fa-camera-retro:before {
669
+ content: "\f083"; }
670
+
671
+ .fa-cannabis:before {
672
+ content: "\f55f"; }
673
+
674
+ .fa-capsules:before {
675
+ content: "\f46b"; }
676
+
677
+ .fa-car:before {
678
+ content: "\f1b9"; }
679
+
680
+ .fa-car-alt:before {
681
+ content: "\f5de"; }
682
+
683
+ .fa-car-battery:before {
684
+ content: "\f5df"; }
685
+
686
+ .fa-car-crash:before {
687
+ content: "\f5e1"; }
688
+
689
+ .fa-car-side:before {
690
+ content: "\f5e4"; }
691
+
692
+ .fa-caret-down:before {
693
+ content: "\f0d7"; }
694
+
695
+ .fa-caret-left:before {
696
+ content: "\f0d9"; }
697
+
698
+ .fa-caret-right:before {
699
+ content: "\f0da"; }
700
+
701
+ .fa-caret-square-down:before {
702
+ content: "\f150"; }
703
+
704
+ .fa-caret-square-left:before {
705
+ content: "\f191"; }
706
+
707
+ .fa-caret-square-right:before {
708
+ content: "\f152"; }
709
+
710
+ .fa-caret-square-up:before {
711
+ content: "\f151"; }
712
+
713
+ .fa-caret-up:before {
714
+ content: "\f0d8"; }
715
+
716
+ .fa-cart-arrow-down:before {
717
+ content: "\f218"; }
718
+
719
+ .fa-cart-plus:before {
720
+ content: "\f217"; }
721
+
722
+ .fa-cc-amazon-pay:before {
723
+ content: "\f42d"; }
724
+
725
+ .fa-cc-amex:before {
726
+ content: "\f1f3"; }
727
+
728
+ .fa-cc-apple-pay:before {
729
+ content: "\f416"; }
730
+
731
+ .fa-cc-diners-club:before {
732
+ content: "\f24c"; }
733
+
734
+ .fa-cc-discover:before {
735
+ content: "\f1f2"; }
736
+
737
+ .fa-cc-jcb:before {
738
+ content: "\f24b"; }
739
+
740
+ .fa-cc-mastercard:before {
741
+ content: "\f1f1"; }
742
+
743
+ .fa-cc-paypal:before {
744
+ content: "\f1f4"; }
745
+
746
+ .fa-cc-stripe:before {
747
+ content: "\f1f5"; }
748
+
749
+ .fa-cc-visa:before {
750
+ content: "\f1f0"; }
751
+
752
+ .fa-centercode:before {
753
+ content: "\f380"; }
754
+
755
+ .fa-certificate:before {
756
+ content: "\f0a3"; }
757
+
758
+ .fa-chalkboard:before {
759
+ content: "\f51b"; }
760
+
761
+ .fa-chalkboard-teacher:before {
762
+ content: "\f51c"; }
763
+
764
+ .fa-charging-station:before {
765
+ content: "\f5e7"; }
766
+
767
+ .fa-chart-area:before {
768
+ content: "\f1fe"; }
769
+
770
+ .fa-chart-bar:before {
771
+ content: "\f080"; }
772
+
773
+ .fa-chart-line:before {
774
+ content: "\f201"; }
775
+
776
+ .fa-chart-pie:before {
777
+ content: "\f200"; }
778
+
779
+ .fa-check:before {
780
+ content: "\f00c"; }
781
+
782
+ .fa-check-circle:before {
783
+ content: "\f058"; }
784
+
785
+ .fa-check-double:before {
786
+ content: "\f560"; }
787
+
788
+ .fa-check-square:before {
789
+ content: "\f14a"; }
790
+
791
+ .fa-chess:before {
792
+ content: "\f439"; }
793
+
794
+ .fa-chess-bishop:before {
795
+ content: "\f43a"; }
796
+
797
+ .fa-chess-board:before {
798
+ content: "\f43c"; }
799
+
800
+ .fa-chess-king:before {
801
+ content: "\f43f"; }
802
+
803
+ .fa-chess-knight:before {
804
+ content: "\f441"; }
805
+
806
+ .fa-chess-pawn:before {
807
+ content: "\f443"; }
808
+
809
+ .fa-chess-queen:before {
810
+ content: "\f445"; }
811
+
812
+ .fa-chess-rook:before {
813
+ content: "\f447"; }
814
+
815
+ .fa-chevron-circle-down:before {
816
+ content: "\f13a"; }
817
+
818
+ .fa-chevron-circle-left:before {
819
+ content: "\f137"; }
820
+
821
+ .fa-chevron-circle-right:before {
822
+ content: "\f138"; }
823
+
824
+ .fa-chevron-circle-up:before {
825
+ content: "\f139"; }
826
+
827
+ .fa-chevron-down:before {
828
+ content: "\f078"; }
829
+
830
+ .fa-chevron-left:before {
831
+ content: "\f053"; }
832
+
833
+ .fa-chevron-right:before {
834
+ content: "\f054"; }
835
+
836
+ .fa-chevron-up:before {
837
+ content: "\f077"; }
838
+
839
+ .fa-child:before {
840
+ content: "\f1ae"; }
841
+
842
+ .fa-chrome:before {
843
+ content: "\f268"; }
844
+
845
+ .fa-church:before {
846
+ content: "\f51d"; }
847
+
848
+ .fa-circle:before {
849
+ content: "\f111"; }
850
+
851
+ .fa-circle-notch:before {
852
+ content: "\f1ce"; }
853
+
854
+ .fa-city:before {
855
+ content: "\f64f"; }
856
+
857
+ .fa-clipboard:before {
858
+ content: "\f328"; }
859
+
860
+ .fa-clipboard-check:before {
861
+ content: "\f46c"; }
862
+
863
+ .fa-clipboard-list:before {
864
+ content: "\f46d"; }
865
+
866
+ .fa-clock:before {
867
+ content: "\f017"; }
868
+
869
+ .fa-clone:before {
870
+ content: "\f24d"; }
871
+
872
+ .fa-closed-captioning:before {
873
+ content: "\f20a"; }
874
+
875
+ .fa-cloud:before {
876
+ content: "\f0c2"; }
877
+
878
+ .fa-cloud-download-alt:before {
879
+ content: "\f381"; }
880
+
881
+ .fa-cloud-upload-alt:before {
882
+ content: "\f382"; }
883
+
884
+ .fa-cloudscale:before {
885
+ content: "\f383"; }
886
+
887
+ .fa-cloudsmith:before {
888
+ content: "\f384"; }
889
+
890
+ .fa-cloudversify:before {
891
+ content: "\f385"; }
892
+
893
+ .fa-cocktail:before {
894
+ content: "\f561"; }
895
+
896
+ .fa-code:before {
897
+ content: "\f121"; }
898
+
899
+ .fa-code-branch:before {
900
+ content: "\f126"; }
901
+
902
+ .fa-codepen:before {
903
+ content: "\f1cb"; }
904
+
905
+ .fa-codiepie:before {
906
+ content: "\f284"; }
907
+
908
+ .fa-coffee:before {
909
+ content: "\f0f4"; }
910
+
911
+ .fa-cog:before {
912
+ content: "\f013"; }
913
+
914
+ .fa-cogs:before {
915
+ content: "\f085"; }
916
+
917
+ .fa-coins:before {
918
+ content: "\f51e"; }
919
+
920
+ .fa-columns:before {
921
+ content: "\f0db"; }
922
+
923
+ .fa-comment:before {
924
+ content: "\f075"; }
925
+
926
+ .fa-comment-alt:before {
927
+ content: "\f27a"; }
928
+
929
+ .fa-comment-dollar:before {
930
+ content: "\f651"; }
931
+
932
+ .fa-comment-dots:before {
933
+ content: "\f4ad"; }
934
+
935
+ .fa-comment-slash:before {
936
+ content: "\f4b3"; }
937
+
938
+ .fa-comments:before {
939
+ content: "\f086"; }
940
+
941
+ .fa-comments-dollar:before {
942
+ content: "\f653"; }
943
+
944
+ .fa-compact-disc:before {
945
+ content: "\f51f"; }
946
+
947
+ .fa-compass:before {
948
+ content: "\f14e"; }
949
+
950
+ .fa-compress:before {
951
+ content: "\f066"; }
952
+
953
+ .fa-concierge-bell:before {
954
+ content: "\f562"; }
955
+
956
+ .fa-connectdevelop:before {
957
+ content: "\f20e"; }
958
+
959
+ .fa-contao:before {
960
+ content: "\f26d"; }
961
+
962
+ .fa-cookie:before {
963
+ content: "\f563"; }
964
+
965
+ .fa-cookie-bite:before {
966
+ content: "\f564"; }
967
+
968
+ .fa-copy:before {
969
+ content: "\f0c5"; }
970
+
971
+ .fa-copyright:before {
972
+ content: "\f1f9"; }
973
+
974
+ .fa-couch:before {
975
+ content: "\f4b8"; }
976
+
977
+ .fa-cpanel:before {
978
+ content: "\f388"; }
979
+
980
+ .fa-creative-commons:before {
981
+ content: "\f25e"; }
982
+
983
+ .fa-creative-commons-by:before {
984
+ content: "\f4e7"; }
985
+
986
+ .fa-creative-commons-nc:before {
987
+ content: "\f4e8"; }
988
+
989
+ .fa-creative-commons-nc-eu:before {
990
+ content: "\f4e9"; }
991
+
992
+ .fa-creative-commons-nc-jp:before {
993
+ content: "\f4ea"; }
994
+
995
+ .fa-creative-commons-nd:before {
996
+ content: "\f4eb"; }
997
+
998
+ .fa-creative-commons-pd:before {
999
+ content: "\f4ec"; }
1000
+
1001
+ .fa-creative-commons-pd-alt:before {
1002
+ content: "\f4ed"; }
1003
+
1004
+ .fa-creative-commons-remix:before {
1005
+ content: "\f4ee"; }
1006
+
1007
+ .fa-creative-commons-sa:before {
1008
+ content: "\f4ef"; }
1009
+
1010
+ .fa-creative-commons-sampling:before {
1011
+ content: "\f4f0"; }
1012
+
1013
+ .fa-creative-commons-sampling-plus:before {
1014
+ content: "\f4f1"; }
1015
+
1016
+ .fa-creative-commons-share:before {
1017
+ content: "\f4f2"; }
1018
+
1019
+ .fa-credit-card:before {
1020
+ content: "\f09d"; }
1021
+
1022
+ .fa-crop:before {
1023
+ content: "\f125"; }
1024
+
1025
+ .fa-crop-alt:before {
1026
+ content: "\f565"; }
1027
+
1028
+ .fa-cross:before {
1029
+ content: "\f654"; }
1030
+
1031
+ .fa-crosshairs:before {
1032
+ content: "\f05b"; }
1033
+
1034
+ .fa-crow:before {
1035
+ content: "\f520"; }
1036
+
1037
+ .fa-crown:before {
1038
+ content: "\f521"; }
1039
+
1040
+ .fa-css3:before {
1041
+ content: "\f13c"; }
1042
+
1043
+ .fa-css3-alt:before {
1044
+ content: "\f38b"; }
1045
+
1046
+ .fa-cube:before {
1047
+ content: "\f1b2"; }
1048
+
1049
+ .fa-cubes:before {
1050
+ content: "\f1b3"; }
1051
+
1052
+ .fa-cut:before {
1053
+ content: "\f0c4"; }
1054
+
1055
+ .fa-cuttlefish:before {
1056
+ content: "\f38c"; }
1057
+
1058
+ .fa-d-and-d:before {
1059
+ content: "\f38d"; }
1060
+
1061
+ .fa-dashcube:before {
1062
+ content: "\f210"; }
1063
+
1064
+ .fa-database:before {
1065
+ content: "\f1c0"; }
1066
+
1067
+ .fa-deaf:before {
1068
+ content: "\f2a4"; }
1069
+
1070
+ .fa-delicious:before {
1071
+ content: "\f1a5"; }
1072
+
1073
+ .fa-deploydog:before {
1074
+ content: "\f38e"; }
1075
+
1076
+ .fa-deskpro:before {
1077
+ content: "\f38f"; }
1078
+
1079
+ .fa-desktop:before {
1080
+ content: "\f108"; }
1081
+
1082
+ .fa-deviantart:before {
1083
+ content: "\f1bd"; }
1084
+
1085
+ .fa-dharmachakra:before {
1086
+ content: "\f655"; }
1087
+
1088
+ .fa-diagnoses:before {
1089
+ content: "\f470"; }
1090
+
1091
+ .fa-dice:before {
1092
+ content: "\f522"; }
1093
+
1094
+ .fa-dice-five:before {
1095
+ content: "\f523"; }
1096
+
1097
+ .fa-dice-four:before {
1098
+ content: "\f524"; }
1099
+
1100
+ .fa-dice-one:before {
1101
+ content: "\f525"; }
1102
+
1103
+ .fa-dice-six:before {
1104
+ content: "\f526"; }
1105
+
1106
+ .fa-dice-three:before {
1107
+ content: "\f527"; }
1108
+
1109
+ .fa-dice-two:before {
1110
+ content: "\f528"; }
1111
+
1112
+ .fa-digg:before {
1113
+ content: "\f1a6"; }
1114
+
1115
+ .fa-digital-ocean:before {
1116
+ content: "\f391"; }
1117
+
1118
+ .fa-digital-tachograph:before {
1119
+ content: "\f566"; }
1120
+
1121
+ .fa-directions:before {
1122
+ content: "\f5eb"; }
1123
+
1124
+ .fa-discord:before {
1125
+ content: "\f392"; }
1126
+
1127
+ .fa-discourse:before {
1128
+ content: "\f393"; }
1129
+
1130
+ .fa-divide:before {
1131
+ content: "\f529"; }
1132
+
1133
+ .fa-dizzy:before {
1134
+ content: "\f567"; }
1135
+
1136
+ .fa-dna:before {
1137
+ content: "\f471"; }
1138
+
1139
+ .fa-dochub:before {
1140
+ content: "\f394"; }
1141
+
1142
+ .fa-docker:before {
1143
+ content: "\f395"; }
1144
+
1145
+ .fa-dollar-sign:before {
1146
+ content: "\f155"; }
1147
+
1148
+ .fa-dolly:before {
1149
+ content: "\f472"; }
1150
+
1151
+ .fa-dolly-flatbed:before {
1152
+ content: "\f474"; }
1153
+
1154
+ .fa-donate:before {
1155
+ content: "\f4b9"; }
1156
+
1157
+ .fa-door-closed:before {
1158
+ content: "\f52a"; }
1159
+
1160
+ .fa-door-open:before {
1161
+ content: "\f52b"; }
1162
+
1163
+ .fa-dot-circle:before {
1164
+ content: "\f192"; }
1165
+
1166
+ .fa-dove:before {
1167
+ content: "\f4ba"; }
1168
+
1169
+ .fa-download:before {
1170
+ content: "\f019"; }
1171
+
1172
+ .fa-draft2digital:before {
1173
+ content: "\f396"; }
1174
+
1175
+ .fa-drafting-compass:before {
1176
+ content: "\f568"; }
1177
+
1178
+ .fa-draw-polygon:before {
1179
+ content: "\f5ee"; }
1180
+
1181
+ .fa-dribbble:before {
1182
+ content: "\f17d"; }
1183
+
1184
+ .fa-dribbble-square:before {
1185
+ content: "\f397"; }
1186
+
1187
+ .fa-dropbox:before {
1188
+ content: "\f16b"; }
1189
+
1190
+ .fa-drum:before {
1191
+ content: "\f569"; }
1192
+
1193
+ .fa-drum-steelpan:before {
1194
+ content: "\f56a"; }
1195
+
1196
+ .fa-drupal:before {
1197
+ content: "\f1a9"; }
1198
+
1199
+ .fa-dumbbell:before {
1200
+ content: "\f44b"; }
1201
+
1202
+ .fa-dyalog:before {
1203
+ content: "\f399"; }
1204
+
1205
+ .fa-earlybirds:before {
1206
+ content: "\f39a"; }
1207
+
1208
+ .fa-ebay:before {
1209
+ content: "\f4f4"; }
1210
+
1211
+ .fa-edge:before {
1212
+ content: "\f282"; }
1213
+
1214
+ .fa-edit:before {
1215
+ content: "\f044"; }
1216
+
1217
+ .fa-eject:before {
1218
+ content: "\f052"; }
1219
+
1220
+ .fa-elementor:before {
1221
+ content: "\f430"; }
1222
+
1223
+ .fa-ellipsis-h:before {
1224
+ content: "\f141"; }
1225
+
1226
+ .fa-ellipsis-v:before {
1227
+ content: "\f142"; }
1228
+
1229
+ .fa-ello:before {
1230
+ content: "\f5f1"; }
1231
+
1232
+ .fa-ember:before {
1233
+ content: "\f423"; }
1234
+
1235
+ .fa-empire:before {
1236
+ content: "\f1d1"; }
1237
+
1238
+ .fa-envelope:before {
1239
+ content: "\f0e0"; }
1240
+
1241
+ .fa-envelope-open:before {
1242
+ content: "\f2b6"; }
1243
+
1244
+ .fa-envelope-open-text:before {
1245
+ content: "\f658"; }
1246
+
1247
+ .fa-envelope-square:before {
1248
+ content: "\f199"; }
1249
+
1250
+ .fa-envira:before {
1251
+ content: "\f299"; }
1252
+
1253
+ .fa-equals:before {
1254
+ content: "\f52c"; }
1255
+
1256
+ .fa-eraser:before {
1257
+ content: "\f12d"; }
1258
+
1259
+ .fa-erlang:before {
1260
+ content: "\f39d"; }
1261
+
1262
+ .fa-ethereum:before {
1263
+ content: "\f42e"; }
1264
+
1265
+ .fa-etsy:before {
1266
+ content: "\f2d7"; }
1267
+
1268
+ .fa-euro-sign:before {
1269
+ content: "\f153"; }
1270
+
1271
+ .fa-exchange-alt:before {
1272
+ content: "\f362"; }
1273
+
1274
+ .fa-exclamation:before {
1275
+ content: "\f12a"; }
1276
+
1277
+ .fa-exclamation-circle:before {
1278
+ content: "\f06a"; }
1279
+
1280
+ .fa-exclamation-triangle:before {
1281
+ content: "\f071"; }
1282
+
1283
+ .fa-expand:before {
1284
+ content: "\f065"; }
1285
+
1286
+ .fa-expand-arrows-alt:before {
1287
+ content: "\f31e"; }
1288
+
1289
+ .fa-expeditedssl:before {
1290
+ content: "\f23e"; }
1291
+
1292
+ .fa-external-link-alt:before {
1293
+ content: "\f35d"; }
1294
+
1295
+ .fa-external-link-square-alt:before {
1296
+ content: "\f360"; }
1297
+
1298
+ .fa-eye:before {
1299
+ content: "\f06e"; }
1300
+
1301
+ .fa-eye-dropper:before {
1302
+ content: "\f1fb"; }
1303
+
1304
+ .fa-eye-slash:before {
1305
+ content: "\f070"; }
1306
+
1307
+ .fa-facebook:before {
1308
+ content: "\f09a"; }
1309
+
1310
+ .fa-facebook-f:before {
1311
+ content: "\f39e"; }
1312
+
1313
+ .fa-facebook-messenger:before {
1314
+ content: "\f39f"; }
1315
+
1316
+ .fa-facebook-square:before {
1317
+ content: "\f082"; }
1318
+
1319
+ .fa-fast-backward:before {
1320
+ content: "\f049"; }
1321
+
1322
+ .fa-fast-forward:before {
1323
+ content: "\f050"; }
1324
+
1325
+ .fa-fax:before {
1326
+ content: "\f1ac"; }
1327
+
1328
+ .fa-feather:before {
1329
+ content: "\f52d"; }
1330
+
1331
+ .fa-feather-alt:before {
1332
+ content: "\f56b"; }
1333
+
1334
+ .fa-female:before {
1335
+ content: "\f182"; }
1336
+
1337
+ .fa-fighter-jet:before {
1338
+ content: "\f0fb"; }
1339
+
1340
+ .fa-file:before {
1341
+ content: "\f15b"; }
1342
+
1343
+ .fa-file-alt:before {
1344
+ content: "\f15c"; }
1345
+
1346
+ .fa-file-archive:before {
1347
+ content: "\f1c6"; }
1348
+
1349
+ .fa-file-audio:before {
1350
+ content: "\f1c7"; }
1351
+
1352
+ .fa-file-code:before {
1353
+ content: "\f1c9"; }
1354
+
1355
+ .fa-file-contract:before {
1356
+ content: "\f56c"; }
1357
+
1358
+ .fa-file-download:before {
1359
+ content: "\f56d"; }
1360
+
1361
+ .fa-file-excel:before {
1362
+ content: "\f1c3"; }
1363
+
1364
+ .fa-file-export:before {
1365
+ content: "\f56e"; }
1366
+
1367
+ .fa-file-image:before {
1368
+ content: "\f1c5"; }
1369
+
1370
+ .fa-file-import:before {
1371
+ content: "\f56f"; }
1372
+
1373
+ .fa-file-invoice:before {
1374
+ content: "\f570"; }
1375
+
1376
+ .fa-file-invoice-dollar:before {
1377
+ content: "\f571"; }
1378
+
1379
+ .fa-file-medical:before {
1380
+ content: "\f477"; }
1381
+
1382
+ .fa-file-medical-alt:before {
1383
+ content: "\f478"; }
1384
+
1385
+ .fa-file-pdf:before {
1386
+ content: "\f1c1"; }
1387
+
1388
+ .fa-file-powerpoint:before {
1389
+ content: "\f1c4"; }
1390
+
1391
+ .fa-file-prescription:before {
1392
+ content: "\f572"; }
1393
+
1394
+ .fa-file-signature:before {
1395
+ content: "\f573"; }
1396
+
1397
+ .fa-file-upload:before {
1398
+ content: "\f574"; }
1399
+
1400
+ .fa-file-video:before {
1401
+ content: "\f1c8"; }
1402
+
1403
+ .fa-file-word:before {
1404
+ content: "\f1c2"; }
1405
+
1406
+ .fa-fill:before {
1407
+ content: "\f575"; }
1408
+
1409
+ .fa-fill-drip:before {
1410
+ content: "\f576"; }
1411
+
1412
+ .fa-film:before {
1413
+ content: "\f008"; }
1414
+
1415
+ .fa-filter:before {
1416
+ content: "\f0b0"; }
1417
+
1418
+ .fa-fingerprint:before {
1419
+ content: "\f577"; }
1420
+
1421
+ .fa-fire:before {
1422
+ content: "\f06d"; }
1423
+
1424
+ .fa-fire-extinguisher:before {
1425
+ content: "\f134"; }
1426
+
1427
+ .fa-firefox:before {
1428
+ content: "\f269"; }
1429
+
1430
+ .fa-first-aid:before {
1431
+ content: "\f479"; }
1432
+
1433
+ .fa-first-order:before {
1434
+ content: "\f2b0"; }
1435
+
1436
+ .fa-first-order-alt:before {
1437
+ content: "\f50a"; }
1438
+
1439
+ .fa-firstdraft:before {
1440
+ content: "\f3a1"; }
1441
+
1442
+ .fa-fish:before {
1443
+ content: "\f578"; }
1444
+
1445
+ .fa-flag:before {
1446
+ content: "\f024"; }
1447
+
1448
+ .fa-flag-checkered:before {
1449
+ content: "\f11e"; }
1450
+
1451
+ .fa-flask:before {
1452
+ content: "\f0c3"; }
1453
+
1454
+ .fa-flickr:before {
1455
+ content: "\f16e"; }
1456
+
1457
+ .fa-flipboard:before {
1458
+ content: "\f44d"; }
1459
+
1460
+ .fa-flushed:before {
1461
+ content: "\f579"; }
1462
+
1463
+ .fa-fly:before {
1464
+ content: "\f417"; }
1465
+
1466
+ .fa-folder:before {
1467
+ content: "\f07b"; }
1468
+
1469
+ .fa-folder-minus:before {
1470
+ content: "\f65d"; }
1471
+
1472
+ .fa-folder-open:before {
1473
+ content: "\f07c"; }
1474
+
1475
+ .fa-folder-plus:before {
1476
+ content: "\f65e"; }
1477
+
1478
+ .fa-font:before {
1479
+ content: "\f031"; }
1480
+
1481
+ .fa-font-awesome:before {
1482
+ content: "\f2b4"; }
1483
+
1484
+ .fa-font-awesome-alt:before {
1485
+ content: "\f35c"; }
1486
+
1487
+ .fa-font-awesome-flag:before {
1488
+ content: "\f425"; }
1489
+
1490
+ .fa-font-awesome-logo-full:before {
1491
+ content: "\f4e6"; }
1492
+
1493
+ .fa-fonticons:before {
1494
+ content: "\f280"; }
1495
+
1496
+ .fa-fonticons-fi:before {
1497
+ content: "\f3a2"; }
1498
+
1499
+ .fa-football-ball:before {
1500
+ content: "\f44e"; }
1501
+
1502
+ .fa-fort-awesome:before {
1503
+ content: "\f286"; }
1504
+
1505
+ .fa-fort-awesome-alt:before {
1506
+ content: "\f3a3"; }
1507
+
1508
+ .fa-forumbee:before {
1509
+ content: "\f211"; }
1510
+
1511
+ .fa-forward:before {
1512
+ content: "\f04e"; }
1513
+
1514
+ .fa-foursquare:before {
1515
+ content: "\f180"; }
1516
+
1517
+ .fa-free-code-camp:before {
1518
+ content: "\f2c5"; }
1519
+
1520
+ .fa-freebsd:before {
1521
+ content: "\f3a4"; }
1522
+
1523
+ .fa-frog:before {
1524
+ content: "\f52e"; }
1525
+
1526
+ .fa-frown:before {
1527
+ content: "\f119"; }
1528
+
1529
+ .fa-frown-open:before {
1530
+ content: "\f57a"; }
1531
+
1532
+ .fa-fulcrum:before {
1533
+ content: "\f50b"; }
1534
+
1535
+ .fa-funnel-dollar:before {
1536
+ content: "\f662"; }
1537
+
1538
+ .fa-futbol:before {
1539
+ content: "\f1e3"; }
1540
+
1541
+ .fa-galactic-republic:before {
1542
+ content: "\f50c"; }
1543
+
1544
+ .fa-galactic-senate:before {
1545
+ content: "\f50d"; }
1546
+
1547
+ .fa-gamepad:before {
1548
+ content: "\f11b"; }
1549
+
1550
+ .fa-gas-pump:before {
1551
+ content: "\f52f"; }
1552
+
1553
+ .fa-gavel:before {
1554
+ content: "\f0e3"; }
1555
+
1556
+ .fa-gem:before {
1557
+ content: "\f3a5"; }
1558
+
1559
+ .fa-genderless:before {
1560
+ content: "\f22d"; }
1561
+
1562
+ .fa-get-pocket:before {
1563
+ content: "\f265"; }
1564
+
1565
+ .fa-gg:before {
1566
+ content: "\f260"; }
1567
+
1568
+ .fa-gg-circle:before {
1569
+ content: "\f261"; }
1570
+
1571
+ .fa-gift:before {
1572
+ content: "\f06b"; }
1573
+
1574
+ .fa-git:before {
1575
+ content: "\f1d3"; }
1576
+
1577
+ .fa-git-square:before {
1578
+ content: "\f1d2"; }
1579
+
1580
+ .fa-github:before {
1581
+ content: "\f09b"; }
1582
+
1583
+ .fa-github-alt:before {
1584
+ content: "\f113"; }
1585
+
1586
+ .fa-github-square:before {
1587
+ content: "\f092"; }
1588
+
1589
+ .fa-gitkraken:before {
1590
+ content: "\f3a6"; }
1591
+
1592
+ .fa-gitlab:before {
1593
+ content: "\f296"; }
1594
+
1595
+ .fa-gitter:before {
1596
+ content: "\f426"; }
1597
+
1598
+ .fa-glass-martini:before {
1599
+ content: "\f000"; }
1600
+
1601
+ .fa-glass-martini-alt:before {
1602
+ content: "\f57b"; }
1603
+
1604
+ .fa-glasses:before {
1605
+ content: "\f530"; }
1606
+
1607
+ .fa-glide:before {
1608
+ content: "\f2a5"; }
1609
+
1610
+ .fa-glide-g:before {
1611
+ content: "\f2a6"; }
1612
+
1613
+ .fa-globe:before {
1614
+ content: "\f0ac"; }
1615
+
1616
+ .fa-globe-africa:before {
1617
+ content: "\f57c"; }
1618
+
1619
+ .fa-globe-americas:before {
1620
+ content: "\f57d"; }
1621
+
1622
+ .fa-globe-asia:before {
1623
+ content: "\f57e"; }
1624
+
1625
+ .fa-gofore:before {
1626
+ content: "\f3a7"; }
1627
+
1628
+ .fa-golf-ball:before {
1629
+ content: "\f450"; }
1630
+
1631
+ .fa-goodreads:before {
1632
+ content: "\f3a8"; }
1633
+
1634
+ .fa-goodreads-g:before {
1635
+ content: "\f3a9"; }
1636
+
1637
+ .fa-google:before {
1638
+ content: "\f1a0"; }
1639
+
1640
+ .fa-google-drive:before {
1641
+ content: "\f3aa"; }
1642
+
1643
+ .fa-google-play:before {
1644
+ content: "\f3ab"; }
1645
+
1646
+ .fa-google-plus:before {
1647
+ content: "\f2b3"; }
1648
+
1649
+ .fa-google-plus-g:before {
1650
+ content: "\f0d5"; }
1651
+
1652
+ .fa-google-plus-square:before {
1653
+ content: "\f0d4"; }
1654
+
1655
+ .fa-google-wallet:before {
1656
+ content: "\f1ee"; }
1657
+
1658
+ .fa-gopuram:before {
1659
+ content: "\f664"; }
1660
+
1661
+ .fa-graduation-cap:before {
1662
+ content: "\f19d"; }
1663
+
1664
+ .fa-gratipay:before {
1665
+ content: "\f184"; }
1666
+
1667
+ .fa-grav:before {
1668
+ content: "\f2d6"; }
1669
+
1670
+ .fa-greater-than:before {
1671
+ content: "\f531"; }
1672
+
1673
+ .fa-greater-than-equal:before {
1674
+ content: "\f532"; }
1675
+
1676
+ .fa-grimace:before {
1677
+ content: "\f57f"; }
1678
+
1679
+ .fa-grin:before {
1680
+ content: "\f580"; }
1681
+
1682
+ .fa-grin-alt:before {
1683
+ content: "\f581"; }
1684
+
1685
+ .fa-grin-beam:before {
1686
+ content: "\f582"; }
1687
+
1688
+ .fa-grin-beam-sweat:before {
1689
+ content: "\f583"; }
1690
+
1691
+ .fa-grin-hearts:before {
1692
+ content: "\f584"; }
1693
+
1694
+ .fa-grin-squint:before {
1695
+ content: "\f585"; }
1696
+
1697
+ .fa-grin-squint-tears:before {
1698
+ content: "\f586"; }
1699
+
1700
+ .fa-grin-stars:before {
1701
+ content: "\f587"; }
1702
+
1703
+ .fa-grin-tears:before {
1704
+ content: "\f588"; }
1705
+
1706
+ .fa-grin-tongue:before {
1707
+ content: "\f589"; }
1708
+
1709
+ .fa-grin-tongue-squint:before {
1710
+ content: "\f58a"; }
1711
+
1712
+ .fa-grin-tongue-wink:before {
1713
+ content: "\f58b"; }
1714
+
1715
+ .fa-grin-wink:before {
1716
+ content: "\f58c"; }
1717
+
1718
+ .fa-grip-horizontal:before {
1719
+ content: "\f58d"; }
1720
+
1721
+ .fa-grip-vertical:before {
1722
+ content: "\f58e"; }
1723
+
1724
+ .fa-gripfire:before {
1725
+ content: "\f3ac"; }
1726
+
1727
+ .fa-grunt:before {
1728
+ content: "\f3ad"; }
1729
+
1730
+ .fa-gulp:before {
1731
+ content: "\f3ae"; }
1732
+
1733
+ .fa-h-square:before {
1734
+ content: "\f0fd"; }
1735
+
1736
+ .fa-hacker-news:before {
1737
+ content: "\f1d4"; }
1738
+
1739
+ .fa-hacker-news-square:before {
1740
+ content: "\f3af"; }
1741
+
1742
+ .fa-hackerrank:before {
1743
+ content: "\f5f7"; }
1744
+
1745
+ .fa-hamsa:before {
1746
+ content: "\f665"; }
1747
+
1748
+ .fa-hand-holding:before {
1749
+ content: "\f4bd"; }
1750
+
1751
+ .fa-hand-holding-heart:before {
1752
+ content: "\f4be"; }
1753
+
1754
+ .fa-hand-holding-usd:before {
1755
+ content: "\f4c0"; }
1756
+
1757
+ .fa-hand-lizard:before {
1758
+ content: "\f258"; }
1759
+
1760
+ .fa-hand-paper:before {
1761
+ content: "\f256"; }
1762
+
1763
+ .fa-hand-peace:before {
1764
+ content: "\f25b"; }
1765
+
1766
+ .fa-hand-point-down:before {
1767
+ content: "\f0a7"; }
1768
+
1769
+ .fa-hand-point-left:before {
1770
+ content: "\f0a5"; }
1771
+
1772
+ .fa-hand-point-right:before {
1773
+ content: "\f0a4"; }
1774
+
1775
+ .fa-hand-point-up:before {
1776
+ content: "\f0a6"; }
1777
+
1778
+ .fa-hand-pointer:before {
1779
+ content: "\f25a"; }
1780
+
1781
+ .fa-hand-rock:before {
1782
+ content: "\f255"; }
1783
+
1784
+ .fa-hand-scissors:before {
1785
+ content: "\f257"; }
1786
+
1787
+ .fa-hand-spock:before {
1788
+ content: "\f259"; }
1789
+
1790
+ .fa-hands:before {
1791
+ content: "\f4c2"; }
1792
+
1793
+ .fa-hands-helping:before {
1794
+ content: "\f4c4"; }
1795
+
1796
+ .fa-handshake:before {
1797
+ content: "\f2b5"; }
1798
+
1799
+ .fa-hashtag:before {
1800
+ content: "\f292"; }
1801
+
1802
+ .fa-haykal:before {
1803
+ content: "\f666"; }
1804
+
1805
+ .fa-hdd:before {
1806
+ content: "\f0a0"; }
1807
+
1808
+ .fa-heading:before {
1809
+ content: "\f1dc"; }
1810
+
1811
+ .fa-headphones:before {
1812
+ content: "\f025"; }
1813
+
1814
+ .fa-headphones-alt:before {
1815
+ content: "\f58f"; }
1816
+
1817
+ .fa-headset:before {
1818
+ content: "\f590"; }
1819
+
1820
+ .fa-heart:before {
1821
+ content: "\f004"; }
1822
+
1823
+ .fa-heartbeat:before {
1824
+ content: "\f21e"; }
1825
+
1826
+ .fa-helicopter:before {
1827
+ content: "\f533"; }
1828
+
1829
+ .fa-highlighter:before {
1830
+ content: "\f591"; }
1831
+
1832
+ .fa-hips:before {
1833
+ content: "\f452"; }
1834
+
1835
+ .fa-hire-a-helper:before {
1836
+ content: "\f3b0"; }
1837
+
1838
+ .fa-history:before {
1839
+ content: "\f1da"; }
1840
+
1841
+ .fa-hockey-puck:before {
1842
+ content: "\f453"; }
1843
+
1844
+ .fa-home:before {
1845
+ content: "\f015"; }
1846
+
1847
+ .fa-hooli:before {
1848
+ content: "\f427"; }
1849
+
1850
+ .fa-hornbill:before {
1851
+ content: "\f592"; }
1852
+
1853
+ .fa-hospital:before {
1854
+ content: "\f0f8"; }
1855
+
1856
+ .fa-hospital-alt:before {
1857
+ content: "\f47d"; }
1858
+
1859
+ .fa-hospital-symbol:before {
1860
+ content: "\f47e"; }
1861
+
1862
+ .fa-hot-tub:before {
1863
+ content: "\f593"; }
1864
+
1865
+ .fa-hotel:before {
1866
+ content: "\f594"; }
1867
+
1868
+ .fa-hotjar:before {
1869
+ content: "\f3b1"; }
1870
+
1871
+ .fa-hourglass:before {
1872
+ content: "\f254"; }
1873
+
1874
+ .fa-hourglass-end:before {
1875
+ content: "\f253"; }
1876
+
1877
+ .fa-hourglass-half:before {
1878
+ content: "\f252"; }
1879
+
1880
+ .fa-hourglass-start:before {
1881
+ content: "\f251"; }
1882
+
1883
+ .fa-houzz:before {
1884
+ content: "\f27c"; }
1885
+
1886
+ .fa-html5:before {
1887
+ content: "\f13b"; }
1888
+
1889
+ .fa-hubspot:before {
1890
+ content: "\f3b2"; }
1891
+
1892
+ .fa-i-cursor:before {
1893
+ content: "\f246"; }
1894
+
1895
+ .fa-id-badge:before {
1896
+ content: "\f2c1"; }
1897
+
1898
+ .fa-id-card:before {
1899
+ content: "\f2c2"; }
1900
+
1901
+ .fa-id-card-alt:before {
1902
+ content: "\f47f"; }
1903
+
1904
+ .fa-image:before {
1905
+ content: "\f03e"; }
1906
+
1907
+ .fa-images:before {
1908
+ content: "\f302"; }
1909
+
1910
+ .fa-imdb:before {
1911
+ content: "\f2d8"; }
1912
+
1913
+ .fa-inbox:before {
1914
+ content: "\f01c"; }
1915
+
1916
+ .fa-indent:before {
1917
+ content: "\f03c"; }
1918
+
1919
+ .fa-industry:before {
1920
+ content: "\f275"; }
1921
+
1922
+ .fa-infinity:before {
1923
+ content: "\f534"; }
1924
+
1925
+ .fa-info:before {
1926
+ content: "\f129"; }
1927
+
1928
+ .fa-info-circle:before {
1929
+ content: "\f05a"; }
1930
+
1931
+ .fa-instagram:before {
1932
+ content: "\f16d"; }
1933
+
1934
+ .fa-internet-explorer:before {
1935
+ content: "\f26b"; }
1936
+
1937
+ .fa-ioxhost:before {
1938
+ content: "\f208"; }
1939
+
1940
+ .fa-italic:before {
1941
+ content: "\f033"; }
1942
+
1943
+ .fa-itunes:before {
1944
+ content: "\f3b4"; }
1945
+
1946
+ .fa-itunes-note:before {
1947
+ content: "\f3b5"; }
1948
+
1949
+ .fa-java:before {
1950
+ content: "\f4e4"; }
1951
+
1952
+ .fa-jedi:before {
1953
+ content: "\f669"; }
1954
+
1955
+ .fa-jedi-order:before {
1956
+ content: "\f50e"; }
1957
+
1958
+ .fa-jenkins:before {
1959
+ content: "\f3b6"; }
1960
+
1961
+ .fa-joget:before {
1962
+ content: "\f3b7"; }
1963
+
1964
+ .fa-joint:before {
1965
+ content: "\f595"; }
1966
+
1967
+ .fa-joomla:before {
1968
+ content: "\f1aa"; }
1969
+
1970
+ .fa-journal-whills:before {
1971
+ content: "\f66a"; }
1972
+
1973
+ .fa-js:before {
1974
+ content: "\f3b8"; }
1975
+
1976
+ .fa-js-square:before {
1977
+ content: "\f3b9"; }
1978
+
1979
+ .fa-jsfiddle:before {
1980
+ content: "\f1cc"; }
1981
+
1982
+ .fa-kaaba:before {
1983
+ content: "\f66b"; }
1984
+
1985
+ .fa-kaggle:before {
1986
+ content: "\f5fa"; }
1987
+
1988
+ .fa-key:before {
1989
+ content: "\f084"; }
1990
+
1991
+ .fa-keybase:before {
1992
+ content: "\f4f5"; }
1993
+
1994
+ .fa-keyboard:before {
1995
+ content: "\f11c"; }
1996
+
1997
+ .fa-keycdn:before {
1998
+ content: "\f3ba"; }
1999
+
2000
+ .fa-khanda:before {
2001
+ content: "\f66d"; }
2002
+
2003
+ .fa-kickstarter:before {
2004
+ content: "\f3bb"; }
2005
+
2006
+ .fa-kickstarter-k:before {
2007
+ content: "\f3bc"; }
2008
+
2009
+ .fa-kiss:before {
2010
+ content: "\f596"; }
2011
+
2012
+ .fa-kiss-beam:before {
2013
+ content: "\f597"; }
2014
+
2015
+ .fa-kiss-wink-heart:before {
2016
+ content: "\f598"; }
2017
+
2018
+ .fa-kiwi-bird:before {
2019
+ content: "\f535"; }
2020
+
2021
+ .fa-korvue:before {
2022
+ content: "\f42f"; }
2023
+
2024
+ .fa-landmark:before {
2025
+ content: "\f66f"; }
2026
+
2027
+ .fa-language:before {
2028
+ content: "\f1ab"; }
2029
+
2030
+ .fa-laptop:before {
2031
+ content: "\f109"; }
2032
+
2033
+ .fa-laptop-code:before {
2034
+ content: "\f5fc"; }
2035
+
2036
+ .fa-laravel:before {
2037
+ content: "\f3bd"; }
2038
+
2039
+ .fa-lastfm:before {
2040
+ content: "\f202"; }
2041
+
2042
+ .fa-lastfm-square:before {
2043
+ content: "\f203"; }
2044
+
2045
+ .fa-laugh:before {
2046
+ content: "\f599"; }
2047
+
2048
+ .fa-laugh-beam:before {
2049
+ content: "\f59a"; }
2050
+
2051
+ .fa-laugh-squint:before {
2052
+ content: "\f59b"; }
2053
+
2054
+ .fa-laugh-wink:before {
2055
+ content: "\f59c"; }
2056
+
2057
+ .fa-layer-group:before {
2058
+ content: "\f5fd"; }
2059
+
2060
+ .fa-leaf:before {
2061
+ content: "\f06c"; }
2062
+
2063
+ .fa-leanpub:before {
2064
+ content: "\f212"; }
2065
+
2066
+ .fa-lemon:before {
2067
+ content: "\f094"; }
2068
+
2069
+ .fa-less:before {
2070
+ content: "\f41d"; }
2071
+
2072
+ .fa-less-than:before {
2073
+ content: "\f536"; }
2074
+
2075
+ .fa-less-than-equal:before {
2076
+ content: "\f537"; }
2077
+
2078
+ .fa-level-down-alt:before {
2079
+ content: "\f3be"; }
2080
+
2081
+ .fa-level-up-alt:before {
2082
+ content: "\f3bf"; }
2083
+
2084
+ .fa-life-ring:before {
2085
+ content: "\f1cd"; }
2086
+
2087
+ .fa-lightbulb:before {
2088
+ content: "\f0eb"; }
2089
+
2090
+ .fa-line:before {
2091
+ content: "\f3c0"; }
2092
+
2093
+ .fa-link:before {
2094
+ content: "\f0c1"; }
2095
+
2096
+ .fa-linkedin:before {
2097
+ content: "\f08c"; }
2098
+
2099
+ .fa-linkedin-in:before {
2100
+ content: "\f0e1"; }
2101
+
2102
+ .fa-linode:before {
2103
+ content: "\f2b8"; }
2104
+
2105
+ .fa-linux:before {
2106
+ content: "\f17c"; }
2107
+
2108
+ .fa-lira-sign:before {
2109
+ content: "\f195"; }
2110
+
2111
+ .fa-list:before {
2112
+ content: "\f03a"; }
2113
+
2114
+ .fa-list-alt:before {
2115
+ content: "\f022"; }
2116
+
2117
+ .fa-list-ol:before {
2118
+ content: "\f0cb"; }
2119
+
2120
+ .fa-list-ul:before {
2121
+ content: "\f0ca"; }
2122
+
2123
+ .fa-location-arrow:before {
2124
+ content: "\f124"; }
2125
+
2126
+ .fa-lock:before {
2127
+ content: "\f023"; }
2128
+
2129
+ .fa-lock-open:before {
2130
+ content: "\f3c1"; }
2131
+
2132
+ .fa-long-arrow-alt-down:before {
2133
+ content: "\f309"; }
2134
+
2135
+ .fa-long-arrow-alt-left:before {
2136
+ content: "\f30a"; }
2137
+
2138
+ .fa-long-arrow-alt-right:before {
2139
+ content: "\f30b"; }
2140
+
2141
+ .fa-long-arrow-alt-up:before {
2142
+ content: "\f30c"; }
2143
+
2144
+ .fa-low-vision:before {
2145
+ content: "\f2a8"; }
2146
+
2147
+ .fa-luggage-cart:before {
2148
+ content: "\f59d"; }
2149
+
2150
+ .fa-lyft:before {
2151
+ content: "\f3c3"; }
2152
+
2153
+ .fa-magento:before {
2154
+ content: "\f3c4"; }
2155
+
2156
+ .fa-magic:before {
2157
+ content: "\f0d0"; }
2158
+
2159
+ .fa-magnet:before {
2160
+ content: "\f076"; }
2161
+
2162
+ .fa-mail-bulk:before {
2163
+ content: "\f674"; }
2164
+
2165
+ .fa-mailchimp:before {
2166
+ content: "\f59e"; }
2167
+
2168
+ .fa-male:before {
2169
+ content: "\f183"; }
2170
+
2171
+ .fa-mandalorian:before {
2172
+ content: "\f50f"; }
2173
+
2174
+ .fa-map:before {
2175
+ content: "\f279"; }
2176
+
2177
+ .fa-map-marked:before {
2178
+ content: "\f59f"; }
2179
+
2180
+ .fa-map-marked-alt:before {
2181
+ content: "\f5a0"; }
2182
+
2183
+ .fa-map-marker:before {
2184
+ content: "\f041"; }
2185
+
2186
+ .fa-map-marker-alt:before {
2187
+ content: "\f3c5"; }
2188
+
2189
+ .fa-map-pin:before {
2190
+ content: "\f276"; }
2191
+
2192
+ .fa-map-signs:before {
2193
+ content: "\f277"; }
2194
+
2195
+ .fa-markdown:before {
2196
+ content: "\f60f"; }
2197
+
2198
+ .fa-marker:before {
2199
+ content: "\f5a1"; }
2200
+
2201
+ .fa-mars:before {
2202
+ content: "\f222"; }
2203
+
2204
+ .fa-mars-double:before {
2205
+ content: "\f227"; }
2206
+
2207
+ .fa-mars-stroke:before {
2208
+ content: "\f229"; }
2209
+
2210
+ .fa-mars-stroke-h:before {
2211
+ content: "\f22b"; }
2212
+
2213
+ .fa-mars-stroke-v:before {
2214
+ content: "\f22a"; }
2215
+
2216
+ .fa-mastodon:before {
2217
+ content: "\f4f6"; }
2218
+
2219
+ .fa-maxcdn:before {
2220
+ content: "\f136"; }
2221
+
2222
+ .fa-medal:before {
2223
+ content: "\f5a2"; }
2224
+
2225
+ .fa-medapps:before {
2226
+ content: "\f3c6"; }
2227
+
2228
+ .fa-medium:before {
2229
+ content: "\f23a"; }
2230
+
2231
+ .fa-medium-m:before {
2232
+ content: "\f3c7"; }
2233
+
2234
+ .fa-medkit:before {
2235
+ content: "\f0fa"; }
2236
+
2237
+ .fa-medrt:before {
2238
+ content: "\f3c8"; }
2239
+
2240
+ .fa-meetup:before {
2241
+ content: "\f2e0"; }
2242
+
2243
+ .fa-megaport:before {
2244
+ content: "\f5a3"; }
2245
+
2246
+ .fa-meh:before {
2247
+ content: "\f11a"; }
2248
+
2249
+ .fa-meh-blank:before {
2250
+ content: "\f5a4"; }
2251
+
2252
+ .fa-meh-rolling-eyes:before {
2253
+ content: "\f5a5"; }
2254
+
2255
+ .fa-memory:before {
2256
+ content: "\f538"; }
2257
+
2258
+ .fa-menorah:before {
2259
+ content: "\f676"; }
2260
+
2261
+ .fa-mercury:before {
2262
+ content: "\f223"; }
2263
+
2264
+ .fa-microchip:before {
2265
+ content: "\f2db"; }
2266
+
2267
+ .fa-microphone:before {
2268
+ content: "\f130"; }
2269
+
2270
+ .fa-microphone-alt:before {
2271
+ content: "\f3c9"; }
2272
+
2273
+ .fa-microphone-alt-slash:before {
2274
+ content: "\f539"; }
2275
+
2276
+ .fa-microphone-slash:before {
2277
+ content: "\f131"; }
2278
+
2279
+ .fa-microscope:before {
2280
+ content: "\f610"; }
2281
+
2282
+ .fa-microsoft:before {
2283
+ content: "\f3ca"; }
2284
+
2285
+ .fa-minus:before {
2286
+ content: "\f068"; }
2287
+
2288
+ .fa-minus-circle:before {
2289
+ content: "\f056"; }
2290
+
2291
+ .fa-minus-square:before {
2292
+ content: "\f146"; }
2293
+
2294
+ .fa-mix:before {
2295
+ content: "\f3cb"; }
2296
+
2297
+ .fa-mixcloud:before {
2298
+ content: "\f289"; }
2299
+
2300
+ .fa-mizuni:before {
2301
+ content: "\f3cc"; }
2302
+
2303
+ .fa-mobile:before {
2304
+ content: "\f10b"; }
2305
+
2306
+ .fa-mobile-alt:before {
2307
+ content: "\f3cd"; }
2308
+
2309
+ .fa-modx:before {
2310
+ content: "\f285"; }
2311
+
2312
+ .fa-monero:before {
2313
+ content: "\f3d0"; }
2314
+
2315
+ .fa-money-bill:before {
2316
+ content: "\f0d6"; }
2317
+
2318
+ .fa-money-bill-alt:before {
2319
+ content: "\f3d1"; }
2320
+
2321
+ .fa-money-bill-wave:before {
2322
+ content: "\f53a"; }
2323
+
2324
+ .fa-money-bill-wave-alt:before {
2325
+ content: "\f53b"; }
2326
+
2327
+ .fa-money-check:before {
2328
+ content: "\f53c"; }
2329
+
2330
+ .fa-money-check-alt:before {
2331
+ content: "\f53d"; }
2332
+
2333
+ .fa-monument:before {
2334
+ content: "\f5a6"; }
2335
+
2336
+ .fa-moon:before {
2337
+ content: "\f186"; }
2338
+
2339
+ .fa-mortar-pestle:before {
2340
+ content: "\f5a7"; }
2341
+
2342
+ .fa-mosque:before {
2343
+ content: "\f678"; }
2344
+
2345
+ .fa-motorcycle:before {
2346
+ content: "\f21c"; }
2347
+
2348
+ .fa-mouse-pointer:before {
2349
+ content: "\f245"; }
2350
+
2351
+ .fa-music:before {
2352
+ content: "\f001"; }
2353
+
2354
+ .fa-napster:before {
2355
+ content: "\f3d2"; }
2356
+
2357
+ .fa-neos:before {
2358
+ content: "\f612"; }
2359
+
2360
+ .fa-neuter:before {
2361
+ content: "\f22c"; }
2362
+
2363
+ .fa-newspaper:before {
2364
+ content: "\f1ea"; }
2365
+
2366
+ .fa-nimblr:before {
2367
+ content: "\f5a8"; }
2368
+
2369
+ .fa-nintendo-switch:before {
2370
+ content: "\f418"; }
2371
+
2372
+ .fa-node:before {
2373
+ content: "\f419"; }
2374
+
2375
+ .fa-node-js:before {
2376
+ content: "\f3d3"; }
2377
+
2378
+ .fa-not-equal:before {
2379
+ content: "\f53e"; }
2380
+
2381
+ .fa-notes-medical:before {
2382
+ content: "\f481"; }
2383
+
2384
+ .fa-npm:before {
2385
+ content: "\f3d4"; }
2386
+
2387
+ .fa-ns8:before {
2388
+ content: "\f3d5"; }
2389
+
2390
+ .fa-nutritionix:before {
2391
+ content: "\f3d6"; }
2392
+
2393
+ .fa-object-group:before {
2394
+ content: "\f247"; }
2395
+
2396
+ .fa-object-ungroup:before {
2397
+ content: "\f248"; }
2398
+
2399
+ .fa-odnoklassniki:before {
2400
+ content: "\f263"; }
2401
+
2402
+ .fa-odnoklassniki-square:before {
2403
+ content: "\f264"; }
2404
+
2405
+ .fa-oil-can:before {
2406
+ content: "\f613"; }
2407
+
2408
+ .fa-old-republic:before {
2409
+ content: "\f510"; }
2410
+
2411
+ .fa-om:before {
2412
+ content: "\f679"; }
2413
+
2414
+ .fa-opencart:before {
2415
+ content: "\f23d"; }
2416
+
2417
+ .fa-openid:before {
2418
+ content: "\f19b"; }
2419
+
2420
+ .fa-opera:before {
2421
+ content: "\f26a"; }
2422
+
2423
+ .fa-optin-monster:before {
2424
+ content: "\f23c"; }
2425
+
2426
+ .fa-osi:before {
2427
+ content: "\f41a"; }
2428
+
2429
+ .fa-outdent:before {
2430
+ content: "\f03b"; }
2431
+
2432
+ .fa-page4:before {
2433
+ content: "\f3d7"; }
2434
+
2435
+ .fa-pagelines:before {
2436
+ content: "\f18c"; }
2437
+
2438
+ .fa-paint-brush:before {
2439
+ content: "\f1fc"; }
2440
+
2441
+ .fa-paint-roller:before {
2442
+ content: "\f5aa"; }
2443
+
2444
+ .fa-palette:before {
2445
+ content: "\f53f"; }
2446
+
2447
+ .fa-palfed:before {
2448
+ content: "\f3d8"; }
2449
+
2450
+ .fa-pallet:before {
2451
+ content: "\f482"; }
2452
+
2453
+ .fa-paper-plane:before {
2454
+ content: "\f1d8"; }
2455
+
2456
+ .fa-paperclip:before {
2457
+ content: "\f0c6"; }
2458
+
2459
+ .fa-parachute-box:before {
2460
+ content: "\f4cd"; }
2461
+
2462
+ .fa-paragraph:before {
2463
+ content: "\f1dd"; }
2464
+
2465
+ .fa-parking:before {
2466
+ content: "\f540"; }
2467
+
2468
+ .fa-passport:before {
2469
+ content: "\f5ab"; }
2470
+
2471
+ .fa-pastafarianism:before {
2472
+ content: "\f67b"; }
2473
+
2474
+ .fa-paste:before {
2475
+ content: "\f0ea"; }
2476
+
2477
+ .fa-patreon:before {
2478
+ content: "\f3d9"; }
2479
+
2480
+ .fa-pause:before {
2481
+ content: "\f04c"; }
2482
+
2483
+ .fa-pause-circle:before {
2484
+ content: "\f28b"; }
2485
+
2486
+ .fa-paw:before {
2487
+ content: "\f1b0"; }
2488
+
2489
+ .fa-paypal:before {
2490
+ content: "\f1ed"; }
2491
+
2492
+ .fa-peace:before {
2493
+ content: "\f67c"; }
2494
+
2495
+ .fa-pen:before {
2496
+ content: "\f304"; }
2497
+
2498
+ .fa-pen-alt:before {
2499
+ content: "\f305"; }
2500
+
2501
+ .fa-pen-fancy:before {
2502
+ content: "\f5ac"; }
2503
+
2504
+ .fa-pen-nib:before {
2505
+ content: "\f5ad"; }
2506
+
2507
+ .fa-pen-square:before {
2508
+ content: "\f14b"; }
2509
+
2510
+ .fa-pencil-alt:before {
2511
+ content: "\f303"; }
2512
+
2513
+ .fa-pencil-ruler:before {
2514
+ content: "\f5ae"; }
2515
+
2516
+ .fa-people-carry:before {
2517
+ content: "\f4ce"; }
2518
+
2519
+ .fa-percent:before {
2520
+ content: "\f295"; }
2521
+
2522
+ .fa-percentage:before {
2523
+ content: "\f541"; }
2524
+
2525
+ .fa-periscope:before {
2526
+ content: "\f3da"; }
2527
+
2528
+ .fa-phabricator:before {
2529
+ content: "\f3db"; }
2530
+
2531
+ .fa-phoenix-framework:before {
2532
+ content: "\f3dc"; }
2533
+
2534
+ .fa-phoenix-squadron:before {
2535
+ content: "\f511"; }
2536
+
2537
+ .fa-phone:before {
2538
+ content: "\f095"; }
2539
+
2540
+ .fa-phone-slash:before {
2541
+ content: "\f3dd"; }
2542
+
2543
+ .fa-phone-square:before {
2544
+ content: "\f098"; }
2545
+
2546
+ .fa-phone-volume:before {
2547
+ content: "\f2a0"; }
2548
+
2549
+ .fa-php:before {
2550
+ content: "\f457"; }
2551
+
2552
+ .fa-pied-piper:before {
2553
+ content: "\f2ae"; }
2554
+
2555
+ .fa-pied-piper-alt:before {
2556
+ content: "\f1a8"; }
2557
+
2558
+ .fa-pied-piper-hat:before {
2559
+ content: "\f4e5"; }
2560
+
2561
+ .fa-pied-piper-pp:before {
2562
+ content: "\f1a7"; }
2563
+
2564
+ .fa-piggy-bank:before {
2565
+ content: "\f4d3"; }
2566
+
2567
+ .fa-pills:before {
2568
+ content: "\f484"; }
2569
+
2570
+ .fa-pinterest:before {
2571
+ content: "\f0d2"; }
2572
+
2573
+ .fa-pinterest-p:before {
2574
+ content: "\f231"; }
2575
+
2576
+ .fa-pinterest-square:before {
2577
+ content: "\f0d3"; }
2578
+
2579
+ .fa-place-of-worship:before {
2580
+ content: "\f67f"; }
2581
+
2582
+ .fa-plane:before {
2583
+ content: "\f072"; }
2584
+
2585
+ .fa-plane-arrival:before {
2586
+ content: "\f5af"; }
2587
+
2588
+ .fa-plane-departure:before {
2589
+ content: "\f5b0"; }
2590
+
2591
+ .fa-play:before {
2592
+ content: "\f04b"; }
2593
+
2594
+ .fa-play-circle:before {
2595
+ content: "\f144"; }
2596
+
2597
+ .fa-playstation:before {
2598
+ content: "\f3df"; }
2599
+
2600
+ .fa-plug:before {
2601
+ content: "\f1e6"; }
2602
+
2603
+ .fa-plus:before {
2604
+ content: "\f067"; }
2605
+
2606
+ .fa-plus-circle:before {
2607
+ content: "\f055"; }
2608
+
2609
+ .fa-plus-square:before {
2610
+ content: "\f0fe"; }
2611
+
2612
+ .fa-podcast:before {
2613
+ content: "\f2ce"; }
2614
+
2615
+ .fa-poll:before {
2616
+ content: "\f681"; }
2617
+
2618
+ .fa-poll-h:before {
2619
+ content: "\f682"; }
2620
+
2621
+ .fa-poo:before {
2622
+ content: "\f2fe"; }
2623
+
2624
+ .fa-poop:before {
2625
+ content: "\f619"; }
2626
+
2627
+ .fa-portrait:before {
2628
+ content: "\f3e0"; }
2629
+
2630
+ .fa-pound-sign:before {
2631
+ content: "\f154"; }
2632
+
2633
+ .fa-power-off:before {
2634
+ content: "\f011"; }
2635
+
2636
+ .fa-pray:before {
2637
+ content: "\f683"; }
2638
+
2639
+ .fa-praying-hands:before {
2640
+ content: "\f684"; }
2641
+
2642
+ .fa-prescription:before {
2643
+ content: "\f5b1"; }
2644
+
2645
+ .fa-prescription-bottle:before {
2646
+ content: "\f485"; }
2647
+
2648
+ .fa-prescription-bottle-alt:before {
2649
+ content: "\f486"; }
2650
+
2651
+ .fa-print:before {
2652
+ content: "\f02f"; }
2653
+
2654
+ .fa-procedures:before {
2655
+ content: "\f487"; }
2656
+
2657
+ .fa-product-hunt:before {
2658
+ content: "\f288"; }
2659
+
2660
+ .fa-project-diagram:before {
2661
+ content: "\f542"; }
2662
+
2663
+ .fa-pushed:before {
2664
+ content: "\f3e1"; }
2665
+
2666
+ .fa-puzzle-piece:before {
2667
+ content: "\f12e"; }
2668
+
2669
+ .fa-python:before {
2670
+ content: "\f3e2"; }
2671
+
2672
+ .fa-qq:before {
2673
+ content: "\f1d6"; }
2674
+
2675
+ .fa-qrcode:before {
2676
+ content: "\f029"; }
2677
+
2678
+ .fa-question:before {
2679
+ content: "\f128"; }
2680
+
2681
+ .fa-question-circle:before {
2682
+ content: "\f059"; }
2683
+
2684
+ .fa-quidditch:before {
2685
+ content: "\f458"; }
2686
+
2687
+ .fa-quinscape:before {
2688
+ content: "\f459"; }
2689
+
2690
+ .fa-quora:before {
2691
+ content: "\f2c4"; }
2692
+
2693
+ .fa-quote-left:before {
2694
+ content: "\f10d"; }
2695
+
2696
+ .fa-quote-right:before {
2697
+ content: "\f10e"; }
2698
+
2699
+ .fa-quran:before {
2700
+ content: "\f687"; }
2701
+
2702
+ .fa-r-project:before {
2703
+ content: "\f4f7"; }
2704
+
2705
+ .fa-random:before {
2706
+ content: "\f074"; }
2707
+
2708
+ .fa-ravelry:before {
2709
+ content: "\f2d9"; }
2710
+
2711
+ .fa-react:before {
2712
+ content: "\f41b"; }
2713
+
2714
+ .fa-readme:before {
2715
+ content: "\f4d5"; }
2716
+
2717
+ .fa-rebel:before {
2718
+ content: "\f1d0"; }
2719
+
2720
+ .fa-receipt:before {
2721
+ content: "\f543"; }
2722
+
2723
+ .fa-recycle:before {
2724
+ content: "\f1b8"; }
2725
+
2726
+ .fa-red-river:before {
2727
+ content: "\f3e3"; }
2728
+
2729
+ .fa-reddit:before {
2730
+ content: "\f1a1"; }
2731
+
2732
+ .fa-reddit-alien:before {
2733
+ content: "\f281"; }
2734
+
2735
+ .fa-reddit-square:before {
2736
+ content: "\f1a2"; }
2737
+
2738
+ .fa-redo:before {
2739
+ content: "\f01e"; }
2740
+
2741
+ .fa-redo-alt:before {
2742
+ content: "\f2f9"; }
2743
+
2744
+ .fa-registered:before {
2745
+ content: "\f25d"; }
2746
+
2747
+ .fa-rendact:before {
2748
+ content: "\f3e4"; }
2749
+
2750
+ .fa-renren:before {
2751
+ content: "\f18b"; }
2752
+
2753
+ .fa-reply:before {
2754
+ content: "\f3e5"; }
2755
+
2756
+ .fa-reply-all:before {
2757
+ content: "\f122"; }
2758
+
2759
+ .fa-replyd:before {
2760
+ content: "\f3e6"; }
2761
+
2762
+ .fa-researchgate:before {
2763
+ content: "\f4f8"; }
2764
+
2765
+ .fa-resolving:before {
2766
+ content: "\f3e7"; }
2767
+
2768
+ .fa-retweet:before {
2769
+ content: "\f079"; }
2770
+
2771
+ .fa-rev:before {
2772
+ content: "\f5b2"; }
2773
+
2774
+ .fa-ribbon:before {
2775
+ content: "\f4d6"; }
2776
+
2777
+ .fa-road:before {
2778
+ content: "\f018"; }
2779
+
2780
+ .fa-robot:before {
2781
+ content: "\f544"; }
2782
+
2783
+ .fa-rocket:before {
2784
+ content: "\f135"; }
2785
+
2786
+ .fa-rocketchat:before {
2787
+ content: "\f3e8"; }
2788
+
2789
+ .fa-rockrms:before {
2790
+ content: "\f3e9"; }
2791
+
2792
+ .fa-route:before {
2793
+ content: "\f4d7"; }
2794
+
2795
+ .fa-rss:before {
2796
+ content: "\f09e"; }
2797
+
2798
+ .fa-rss-square:before {
2799
+ content: "\f143"; }
2800
+
2801
+ .fa-ruble-sign:before {
2802
+ content: "\f158"; }
2803
+
2804
+ .fa-ruler:before {
2805
+ content: "\f545"; }
2806
+
2807
+ .fa-ruler-combined:before {
2808
+ content: "\f546"; }
2809
+
2810
+ .fa-ruler-horizontal:before {
2811
+ content: "\f547"; }
2812
+
2813
+ .fa-ruler-vertical:before {
2814
+ content: "\f548"; }
2815
+
2816
+ .fa-rupee-sign:before {
2817
+ content: "\f156"; }
2818
+
2819
+ .fa-sad-cry:before {
2820
+ content: "\f5b3"; }
2821
+
2822
+ .fa-sad-tear:before {
2823
+ content: "\f5b4"; }
2824
+
2825
+ .fa-safari:before {
2826
+ content: "\f267"; }
2827
+
2828
+ .fa-sass:before {
2829
+ content: "\f41e"; }
2830
+
2831
+ .fa-save:before {
2832
+ content: "\f0c7"; }
2833
+
2834
+ .fa-schlix:before {
2835
+ content: "\f3ea"; }
2836
+
2837
+ .fa-school:before {
2838
+ content: "\f549"; }
2839
+
2840
+ .fa-screwdriver:before {
2841
+ content: "\f54a"; }
2842
+
2843
+ .fa-scribd:before {
2844
+ content: "\f28a"; }
2845
+
2846
+ .fa-search:before {
2847
+ content: "\f002"; }
2848
+
2849
+ .fa-search-dollar:before {
2850
+ content: "\f688"; }
2851
+
2852
+ .fa-search-location:before {
2853
+ content: "\f689"; }
2854
+
2855
+ .fa-search-minus:before {
2856
+ content: "\f010"; }
2857
+
2858
+ .fa-search-plus:before {
2859
+ content: "\f00e"; }
2860
+
2861
+ .fa-searchengin:before {
2862
+ content: "\f3eb"; }
2863
+
2864
+ .fa-seedling:before {
2865
+ content: "\f4d8"; }
2866
+
2867
+ .fa-sellcast:before {
2868
+ content: "\f2da"; }
2869
+
2870
+ .fa-sellsy:before {
2871
+ content: "\f213"; }
2872
+
2873
+ .fa-server:before {
2874
+ content: "\f233"; }
2875
+
2876
+ .fa-servicestack:before {
2877
+ content: "\f3ec"; }
2878
+
2879
+ .fa-shapes:before {
2880
+ content: "\f61f"; }
2881
+
2882
+ .fa-share:before {
2883
+ content: "\f064"; }
2884
+
2885
+ .fa-share-alt:before {
2886
+ content: "\f1e0"; }
2887
+
2888
+ .fa-share-alt-square:before {
2889
+ content: "\f1e1"; }
2890
+
2891
+ .fa-share-square:before {
2892
+ content: "\f14d"; }
2893
+
2894
+ .fa-shekel-sign:before {
2895
+ content: "\f20b"; }
2896
+
2897
+ .fa-shield-alt:before {
2898
+ content: "\f3ed"; }
2899
+
2900
+ .fa-ship:before {
2901
+ content: "\f21a"; }
2902
+
2903
+ .fa-shipping-fast:before {
2904
+ content: "\f48b"; }
2905
+
2906
+ .fa-shirtsinbulk:before {
2907
+ content: "\f214"; }
2908
+
2909
+ .fa-shoe-prints:before {
2910
+ content: "\f54b"; }
2911
+
2912
+ .fa-shopping-bag:before {
2913
+ content: "\f290"; }
2914
+
2915
+ .fa-shopping-basket:before {
2916
+ content: "\f291"; }
2917
+
2918
+ .fa-shopping-cart:before {
2919
+ content: "\f07a"; }
2920
+
2921
+ .fa-shopware:before {
2922
+ content: "\f5b5"; }
2923
+
2924
+ .fa-shower:before {
2925
+ content: "\f2cc"; }
2926
+
2927
+ .fa-shuttle-van:before {
2928
+ content: "\f5b6"; }
2929
+
2930
+ .fa-sign:before {
2931
+ content: "\f4d9"; }
2932
+
2933
+ .fa-sign-in-alt:before {
2934
+ content: "\f2f6"; }
2935
+
2936
+ .fa-sign-language:before {
2937
+ content: "\f2a7"; }
2938
+
2939
+ .fa-sign-out-alt:before {
2940
+ content: "\f2f5"; }
2941
+
2942
+ .fa-signal:before {
2943
+ content: "\f012"; }
2944
+
2945
+ .fa-signature:before {
2946
+ content: "\f5b7"; }
2947
+
2948
+ .fa-simplybuilt:before {
2949
+ content: "\f215"; }
2950
+
2951
+ .fa-sistrix:before {
2952
+ content: "\f3ee"; }
2953
+
2954
+ .fa-sitemap:before {
2955
+ content: "\f0e8"; }
2956
+
2957
+ .fa-sith:before {
2958
+ content: "\f512"; }
2959
+
2960
+ .fa-skull:before {
2961
+ content: "\f54c"; }
2962
+
2963
+ .fa-skyatlas:before {
2964
+ content: "\f216"; }
2965
+
2966
+ .fa-skype:before {
2967
+ content: "\f17e"; }
2968
+
2969
+ .fa-slack:before {
2970
+ content: "\f198"; }
2971
+
2972
+ .fa-slack-hash:before {
2973
+ content: "\f3ef"; }
2974
+
2975
+ .fa-sliders-h:before {
2976
+ content: "\f1de"; }
2977
+
2978
+ .fa-slideshare:before {
2979
+ content: "\f1e7"; }
2980
+
2981
+ .fa-smile:before {
2982
+ content: "\f118"; }
2983
+
2984
+ .fa-smile-beam:before {
2985
+ content: "\f5b8"; }
2986
+
2987
+ .fa-smile-wink:before {
2988
+ content: "\f4da"; }
2989
+
2990
+ .fa-smoking:before {
2991
+ content: "\f48d"; }
2992
+
2993
+ .fa-smoking-ban:before {
2994
+ content: "\f54d"; }
2995
+
2996
+ .fa-snapchat:before {
2997
+ content: "\f2ab"; }
2998
+
2999
+ .fa-snapchat-ghost:before {
3000
+ content: "\f2ac"; }
3001
+
3002
+ .fa-snapchat-square:before {
3003
+ content: "\f2ad"; }
3004
+
3005
+ .fa-snowflake:before {
3006
+ content: "\f2dc"; }
3007
+
3008
+ .fa-socks:before {
3009
+ content: "\f696"; }
3010
+
3011
+ .fa-solar-panel:before {
3012
+ content: "\f5ba"; }
3013
+
3014
+ .fa-sort:before {
3015
+ content: "\f0dc"; }
3016
+
3017
+ .fa-sort-alpha-down:before {
3018
+ content: "\f15d"; }
3019
+
3020
+ .fa-sort-alpha-up:before {
3021
+ content: "\f15e"; }
3022
+
3023
+ .fa-sort-amount-down:before {
3024
+ content: "\f160"; }
3025
+
3026
+ .fa-sort-amount-up:before {
3027
+ content: "\f161"; }
3028
+
3029
+ .fa-sort-down:before {
3030
+ content: "\f0dd"; }
3031
+
3032
+ .fa-sort-numeric-down:before {
3033
+ content: "\f162"; }
3034
+
3035
+ .fa-sort-numeric-up:before {
3036
+ content: "\f163"; }
3037
+
3038
+ .fa-sort-up:before {
3039
+ content: "\f0de"; }
3040
+
3041
+ .fa-soundcloud:before {
3042
+ content: "\f1be"; }
3043
+
3044
+ .fa-spa:before {
3045
+ content: "\f5bb"; }
3046
+
3047
+ .fa-space-shuttle:before {
3048
+ content: "\f197"; }
3049
+
3050
+ .fa-speakap:before {
3051
+ content: "\f3f3"; }
3052
+
3053
+ .fa-spinner:before {
3054
+ content: "\f110"; }
3055
+
3056
+ .fa-splotch:before {
3057
+ content: "\f5bc"; }
3058
+
3059
+ .fa-spotify:before {
3060
+ content: "\f1bc"; }
3061
+
3062
+ .fa-spray-can:before {
3063
+ content: "\f5bd"; }
3064
+
3065
+ .fa-square:before {
3066
+ content: "\f0c8"; }
3067
+
3068
+ .fa-square-full:before {
3069
+ content: "\f45c"; }
3070
+
3071
+ .fa-square-root-alt:before {
3072
+ content: "\f698"; }
3073
+
3074
+ .fa-squarespace:before {
3075
+ content: "\f5be"; }
3076
+
3077
+ .fa-stack-exchange:before {
3078
+ content: "\f18d"; }
3079
+
3080
+ .fa-stack-overflow:before {
3081
+ content: "\f16c"; }
3082
+
3083
+ .fa-stamp:before {
3084
+ content: "\f5bf"; }
3085
+
3086
+ .fa-star:before {
3087
+ content: "\f005"; }
3088
+
3089
+ .fa-star-and-crescent:before {
3090
+ content: "\f699"; }
3091
+
3092
+ .fa-star-half:before {
3093
+ content: "\f089"; }
3094
+
3095
+ .fa-star-half-alt:before {
3096
+ content: "\f5c0"; }
3097
+
3098
+ .fa-star-of-david:before {
3099
+ content: "\f69a"; }
3100
+
3101
+ .fa-star-of-life:before {
3102
+ content: "\f621"; }
3103
+
3104
+ .fa-staylinked:before {
3105
+ content: "\f3f5"; }
3106
+
3107
+ .fa-steam:before {
3108
+ content: "\f1b6"; }
3109
+
3110
+ .fa-steam-square:before {
3111
+ content: "\f1b7"; }
3112
+
3113
+ .fa-steam-symbol:before {
3114
+ content: "\f3f6"; }
3115
+
3116
+ .fa-step-backward:before {
3117
+ content: "\f048"; }
3118
+
3119
+ .fa-step-forward:before {
3120
+ content: "\f051"; }
3121
+
3122
+ .fa-stethoscope:before {
3123
+ content: "\f0f1"; }
3124
+
3125
+ .fa-sticker-mule:before {
3126
+ content: "\f3f7"; }
3127
+
3128
+ .fa-sticky-note:before {
3129
+ content: "\f249"; }
3130
+
3131
+ .fa-stop:before {
3132
+ content: "\f04d"; }
3133
+
3134
+ .fa-stop-circle:before {
3135
+ content: "\f28d"; }
3136
+
3137
+ .fa-stopwatch:before {
3138
+ content: "\f2f2"; }
3139
+
3140
+ .fa-store:before {
3141
+ content: "\f54e"; }
3142
+
3143
+ .fa-store-alt:before {
3144
+ content: "\f54f"; }
3145
+
3146
+ .fa-strava:before {
3147
+ content: "\f428"; }
3148
+
3149
+ .fa-stream:before {
3150
+ content: "\f550"; }
3151
+
3152
+ .fa-street-view:before {
3153
+ content: "\f21d"; }
3154
+
3155
+ .fa-strikethrough:before {
3156
+ content: "\f0cc"; }
3157
+
3158
+ .fa-stripe:before {
3159
+ content: "\f429"; }
3160
+
3161
+ .fa-stripe-s:before {
3162
+ content: "\f42a"; }
3163
+
3164
+ .fa-stroopwafel:before {
3165
+ content: "\f551"; }
3166
+
3167
+ .fa-studiovinari:before {
3168
+ content: "\f3f8"; }
3169
+
3170
+ .fa-stumbleupon:before {
3171
+ content: "\f1a4"; }
3172
+
3173
+ .fa-stumbleupon-circle:before {
3174
+ content: "\f1a3"; }
3175
+
3176
+ .fa-subscript:before {
3177
+ content: "\f12c"; }
3178
+
3179
+ .fa-subway:before {
3180
+ content: "\f239"; }
3181
+
3182
+ .fa-suitcase:before {
3183
+ content: "\f0f2"; }
3184
+
3185
+ .fa-suitcase-rolling:before {
3186
+ content: "\f5c1"; }
3187
+
3188
+ .fa-sun:before {
3189
+ content: "\f185"; }
3190
+
3191
+ .fa-superpowers:before {
3192
+ content: "\f2dd"; }
3193
+
3194
+ .fa-superscript:before {
3195
+ content: "\f12b"; }
3196
+
3197
+ .fa-supple:before {
3198
+ content: "\f3f9"; }
3199
+
3200
+ .fa-surprise:before {
3201
+ content: "\f5c2"; }
3202
+
3203
+ .fa-swatchbook:before {
3204
+ content: "\f5c3"; }
3205
+
3206
+ .fa-swimmer:before {
3207
+ content: "\f5c4"; }
3208
+
3209
+ .fa-swimming-pool:before {
3210
+ content: "\f5c5"; }
3211
+
3212
+ .fa-synagogue:before {
3213
+ content: "\f69b"; }
3214
+
3215
+ .fa-sync:before {
3216
+ content: "\f021"; }
3217
+
3218
+ .fa-sync-alt:before {
3219
+ content: "\f2f1"; }
3220
+
3221
+ .fa-syringe:before {
3222
+ content: "\f48e"; }
3223
+
3224
+ .fa-table:before {
3225
+ content: "\f0ce"; }
3226
+
3227
+ .fa-table-tennis:before {
3228
+ content: "\f45d"; }
3229
+
3230
+ .fa-tablet:before {
3231
+ content: "\f10a"; }
3232
+
3233
+ .fa-tablet-alt:before {
3234
+ content: "\f3fa"; }
3235
+
3236
+ .fa-tablets:before {
3237
+ content: "\f490"; }
3238
+
3239
+ .fa-tachometer-alt:before {
3240
+ content: "\f3fd"; }
3241
+
3242
+ .fa-tag:before {
3243
+ content: "\f02b"; }
3244
+
3245
+ .fa-tags:before {
3246
+ content: "\f02c"; }
3247
+
3248
+ .fa-tape:before {
3249
+ content: "\f4db"; }
3250
+
3251
+ .fa-tasks:before {
3252
+ content: "\f0ae"; }
3253
+
3254
+ .fa-taxi:before {
3255
+ content: "\f1ba"; }
3256
+
3257
+ .fa-teamspeak:before {
3258
+ content: "\f4f9"; }
3259
+
3260
+ .fa-teeth:before {
3261
+ content: "\f62e"; }
3262
+
3263
+ .fa-teeth-open:before {
3264
+ content: "\f62f"; }
3265
+
3266
+ .fa-telegram:before {
3267
+ content: "\f2c6"; }
3268
+
3269
+ .fa-telegram-plane:before {
3270
+ content: "\f3fe"; }
3271
+
3272
+ .fa-tencent-weibo:before {
3273
+ content: "\f1d5"; }
3274
+
3275
+ .fa-terminal:before {
3276
+ content: "\f120"; }
3277
+
3278
+ .fa-text-height:before {
3279
+ content: "\f034"; }
3280
+
3281
+ .fa-text-width:before {
3282
+ content: "\f035"; }
3283
+
3284
+ .fa-th:before {
3285
+ content: "\f00a"; }
3286
+
3287
+ .fa-th-large:before {
3288
+ content: "\f009"; }
3289
+
3290
+ .fa-th-list:before {
3291
+ content: "\f00b"; }
3292
+
3293
+ .fa-the-red-yeti:before {
3294
+ content: "\f69d"; }
3295
+
3296
+ .fa-theater-masks:before {
3297
+ content: "\f630"; }
3298
+
3299
+ .fa-themeco:before {
3300
+ content: "\f5c6"; }
3301
+
3302
+ .fa-themeisle:before {
3303
+ content: "\f2b2"; }
3304
+
3305
+ .fa-thermometer:before {
3306
+ content: "\f491"; }
3307
+
3308
+ .fa-thermometer-empty:before {
3309
+ content: "\f2cb"; }
3310
+
3311
+ .fa-thermometer-full:before {
3312
+ content: "\f2c7"; }
3313
+
3314
+ .fa-thermometer-half:before {
3315
+ content: "\f2c9"; }
3316
+
3317
+ .fa-thermometer-quarter:before {
3318
+ content: "\f2ca"; }
3319
+
3320
+ .fa-thermometer-three-quarters:before {
3321
+ content: "\f2c8"; }
3322
+
3323
+ .fa-thumbs-down:before {
3324
+ content: "\f165"; }
3325
+
3326
+ .fa-thumbs-up:before {
3327
+ content: "\f164"; }
3328
+
3329
+ .fa-thumbtack:before {
3330
+ content: "\f08d"; }
3331
+
3332
+ .fa-ticket-alt:before {
3333
+ content: "\f3ff"; }
3334
+
3335
+ .fa-times:before {
3336
+ content: "\f00d"; }
3337
+
3338
+ .fa-times-circle:before {
3339
+ content: "\f057"; }
3340
+
3341
+ .fa-tint:before {
3342
+ content: "\f043"; }
3343
+
3344
+ .fa-tint-slash:before {
3345
+ content: "\f5c7"; }
3346
+
3347
+ .fa-tired:before {
3348
+ content: "\f5c8"; }
3349
+
3350
+ .fa-toggle-off:before {
3351
+ content: "\f204"; }
3352
+
3353
+ .fa-toggle-on:before {
3354
+ content: "\f205"; }
3355
+
3356
+ .fa-toolbox:before {
3357
+ content: "\f552"; }
3358
+
3359
+ .fa-tooth:before {
3360
+ content: "\f5c9"; }
3361
+
3362
+ .fa-torah:before {
3363
+ content: "\f6a0"; }
3364
+
3365
+ .fa-torii-gate:before {
3366
+ content: "\f6a1"; }
3367
+
3368
+ .fa-trade-federation:before {
3369
+ content: "\f513"; }
3370
+
3371
+ .fa-trademark:before {
3372
+ content: "\f25c"; }
3373
+
3374
+ .fa-traffic-light:before {
3375
+ content: "\f637"; }
3376
+
3377
+ .fa-train:before {
3378
+ content: "\f238"; }
3379
+
3380
+ .fa-transgender:before {
3381
+ content: "\f224"; }
3382
+
3383
+ .fa-transgender-alt:before {
3384
+ content: "\f225"; }
3385
+
3386
+ .fa-trash:before {
3387
+ content: "\f1f8"; }
3388
+
3389
+ .fa-trash-alt:before {
3390
+ content: "\f2ed"; }
3391
+
3392
+ .fa-tree:before {
3393
+ content: "\f1bb"; }
3394
+
3395
+ .fa-trello:before {
3396
+ content: "\f181"; }
3397
+
3398
+ .fa-tripadvisor:before {
3399
+ content: "\f262"; }
3400
+
3401
+ .fa-trophy:before {
3402
+ content: "\f091"; }
3403
+
3404
+ .fa-truck:before {
3405
+ content: "\f0d1"; }
3406
+
3407
+ .fa-truck-loading:before {
3408
+ content: "\f4de"; }
3409
+
3410
+ .fa-truck-monster:before {
3411
+ content: "\f63b"; }
3412
+
3413
+ .fa-truck-moving:before {
3414
+ content: "\f4df"; }
3415
+
3416
+ .fa-truck-pickup:before {
3417
+ content: "\f63c"; }
3418
+
3419
+ .fa-tshirt:before {
3420
+ content: "\f553"; }
3421
+
3422
+ .fa-tty:before {
3423
+ content: "\f1e4"; }
3424
+
3425
+ .fa-tumblr:before {
3426
+ content: "\f173"; }
3427
+
3428
+ .fa-tumblr-square:before {
3429
+ content: "\f174"; }
3430
+
3431
+ .fa-tv:before {
3432
+ content: "\f26c"; }
3433
+
3434
+ .fa-twitch:before {
3435
+ content: "\f1e8"; }
3436
+
3437
+ .fa-twitter:before {
3438
+ content: "\f099"; }
3439
+
3440
+ .fa-twitter-square:before {
3441
+ content: "\f081"; }
3442
+
3443
+ .fa-typo3:before {
3444
+ content: "\f42b"; }
3445
+
3446
+ .fa-uber:before {
3447
+ content: "\f402"; }
3448
+
3449
+ .fa-uikit:before {
3450
+ content: "\f403"; }
3451
+
3452
+ .fa-umbrella:before {
3453
+ content: "\f0e9"; }
3454
+
3455
+ .fa-umbrella-beach:before {
3456
+ content: "\f5ca"; }
3457
+
3458
+ .fa-underline:before {
3459
+ content: "\f0cd"; }
3460
+
3461
+ .fa-undo:before {
3462
+ content: "\f0e2"; }
3463
+
3464
+ .fa-undo-alt:before {
3465
+ content: "\f2ea"; }
3466
+
3467
+ .fa-uniregistry:before {
3468
+ content: "\f404"; }
3469
+
3470
+ .fa-universal-access:before {
3471
+ content: "\f29a"; }
3472
+
3473
+ .fa-university:before {
3474
+ content: "\f19c"; }
3475
+
3476
+ .fa-unlink:before {
3477
+ content: "\f127"; }
3478
+
3479
+ .fa-unlock:before {
3480
+ content: "\f09c"; }
3481
+
3482
+ .fa-unlock-alt:before {
3483
+ content: "\f13e"; }
3484
+
3485
+ .fa-untappd:before {
3486
+ content: "\f405"; }
3487
+
3488
+ .fa-upload:before {
3489
+ content: "\f093"; }
3490
+
3491
+ .fa-usb:before {
3492
+ content: "\f287"; }
3493
+
3494
+ .fa-user:before {
3495
+ content: "\f007"; }
3496
+
3497
+ .fa-user-alt:before {
3498
+ content: "\f406"; }
3499
+
3500
+ .fa-user-alt-slash:before {
3501
+ content: "\f4fa"; }
3502
+
3503
+ .fa-user-astronaut:before {
3504
+ content: "\f4fb"; }
3505
+
3506
+ .fa-user-check:before {
3507
+ content: "\f4fc"; }
3508
+
3509
+ .fa-user-circle:before {
3510
+ content: "\f2bd"; }
3511
+
3512
+ .fa-user-clock:before {
3513
+ content: "\f4fd"; }
3514
+
3515
+ .fa-user-cog:before {
3516
+ content: "\f4fe"; }
3517
+
3518
+ .fa-user-edit:before {
3519
+ content: "\f4ff"; }
3520
+
3521
+ .fa-user-friends:before {
3522
+ content: "\f500"; }
3523
+
3524
+ .fa-user-graduate:before {
3525
+ content: "\f501"; }
3526
+
3527
+ .fa-user-lock:before {
3528
+ content: "\f502"; }
3529
+
3530
+ .fa-user-md:before {
3531
+ content: "\f0f0"; }
3532
+
3533
+ .fa-user-minus:before {
3534
+ content: "\f503"; }
3535
+
3536
+ .fa-user-ninja:before {
3537
+ content: "\f504"; }
3538
+
3539
+ .fa-user-plus:before {
3540
+ content: "\f234"; }
3541
+
3542
+ .fa-user-secret:before {
3543
+ content: "\f21b"; }
3544
+
3545
+ .fa-user-shield:before {
3546
+ content: "\f505"; }
3547
+
3548
+ .fa-user-slash:before {
3549
+ content: "\f506"; }
3550
+
3551
+ .fa-user-tag:before {
3552
+ content: "\f507"; }
3553
+
3554
+ .fa-user-tie:before {
3555
+ content: "\f508"; }
3556
+
3557
+ .fa-user-times:before {
3558
+ content: "\f235"; }
3559
+
3560
+ .fa-users:before {
3561
+ content: "\f0c0"; }
3562
+
3563
+ .fa-users-cog:before {
3564
+ content: "\f509"; }
3565
+
3566
+ .fa-ussunnah:before {
3567
+ content: "\f407"; }
3568
+
3569
+ .fa-utensil-spoon:before {
3570
+ content: "\f2e5"; }
3571
+
3572
+ .fa-utensils:before {
3573
+ content: "\f2e7"; }
3574
+
3575
+ .fa-vaadin:before {
3576
+ content: "\f408"; }
3577
+
3578
+ .fa-vector-square:before {
3579
+ content: "\f5cb"; }
3580
+
3581
+ .fa-venus:before {
3582
+ content: "\f221"; }
3583
+
3584
+ .fa-venus-double:before {
3585
+ content: "\f226"; }
3586
+
3587
+ .fa-venus-mars:before {
3588
+ content: "\f228"; }
3589
+
3590
+ .fa-viacoin:before {
3591
+ content: "\f237"; }
3592
+
3593
+ .fa-viadeo:before {
3594
+ content: "\f2a9"; }
3595
+
3596
+ .fa-viadeo-square:before {
3597
+ content: "\f2aa"; }
3598
+
3599
+ .fa-vial:before {
3600
+ content: "\f492"; }
3601
+
3602
+ .fa-vials:before {
3603
+ content: "\f493"; }
3604
+
3605
+ .fa-viber:before {
3606
+ content: "\f409"; }
3607
+
3608
+ .fa-video:before {
3609
+ content: "\f03d"; }
3610
+
3611
+ .fa-video-slash:before {
3612
+ content: "\f4e2"; }
3613
+
3614
+ .fa-vihara:before {
3615
+ content: "\f6a7"; }
3616
+
3617
+ .fa-vimeo:before {
3618
+ content: "\f40a"; }
3619
+
3620
+ .fa-vimeo-square:before {
3621
+ content: "\f194"; }
3622
+
3623
+ .fa-vimeo-v:before {
3624
+ content: "\f27d"; }
3625
+
3626
+ .fa-vine:before {
3627
+ content: "\f1ca"; }
3628
+
3629
+ .fa-vk:before {
3630
+ content: "\f189"; }
3631
+
3632
+ .fa-vnv:before {
3633
+ content: "\f40b"; }
3634
+
3635
+ .fa-volleyball-ball:before {
3636
+ content: "\f45f"; }
3637
+
3638
+ .fa-volume-down:before {
3639
+ content: "\f027"; }
3640
+
3641
+ .fa-volume-off:before {
3642
+ content: "\f026"; }
3643
+
3644
+ .fa-volume-up:before {
3645
+ content: "\f028"; }
3646
+
3647
+ .fa-vuejs:before {
3648
+ content: "\f41f"; }
3649
+
3650
+ .fa-walking:before {
3651
+ content: "\f554"; }
3652
+
3653
+ .fa-wallet:before {
3654
+ content: "\f555"; }
3655
+
3656
+ .fa-warehouse:before {
3657
+ content: "\f494"; }
3658
+
3659
+ .fa-weebly:before {
3660
+ content: "\f5cc"; }
3661
+
3662
+ .fa-weibo:before {
3663
+ content: "\f18a"; }
3664
+
3665
+ .fa-weight:before {
3666
+ content: "\f496"; }
3667
+
3668
+ .fa-weight-hanging:before {
3669
+ content: "\f5cd"; }
3670
+
3671
+ .fa-weixin:before {
3672
+ content: "\f1d7"; }
3673
+
3674
+ .fa-whatsapp:before {
3675
+ content: "\f232"; }
3676
+
3677
+ .fa-whatsapp-square:before {
3678
+ content: "\f40c"; }
3679
+
3680
+ .fa-wheelchair:before {
3681
+ content: "\f193"; }
3682
+
3683
+ .fa-whmcs:before {
3684
+ content: "\f40d"; }
3685
+
3686
+ .fa-wifi:before {
3687
+ content: "\f1eb"; }
3688
+
3689
+ .fa-wikipedia-w:before {
3690
+ content: "\f266"; }
3691
+
3692
+ .fa-window-close:before {
3693
+ content: "\f410"; }
3694
+
3695
+ .fa-window-maximize:before {
3696
+ content: "\f2d0"; }
3697
+
3698
+ .fa-window-minimize:before {
3699
+ content: "\f2d1"; }
3700
+
3701
+ .fa-window-restore:before {
3702
+ content: "\f2d2"; }
3703
+
3704
+ .fa-windows:before {
3705
+ content: "\f17a"; }
3706
+
3707
+ .fa-wine-glass:before {
3708
+ content: "\f4e3"; }
3709
+
3710
+ .fa-wine-glass-alt:before {
3711
+ content: "\f5ce"; }
3712
+
3713
+ .fa-wix:before {
3714
+ content: "\f5cf"; }
3715
+
3716
+ .fa-wolf-pack-battalion:before {
3717
+ content: "\f514"; }
3718
+
3719
+ .fa-won-sign:before {
3720
+ content: "\f159"; }
3721
+
3722
+ .fa-wordpress:before {
3723
+ content: "\f19a"; }
3724
+
3725
+ .fa-wordpress-simple:before {
3726
+ content: "\f411"; }
3727
+
3728
+ .fa-wpbeginner:before {
3729
+ content: "\f297"; }
3730
+
3731
+ .fa-wpexplorer:before {
3732
+ content: "\f2de"; }
3733
+
3734
+ .fa-wpforms:before {
3735
+ content: "\f298"; }
3736
+
3737
+ .fa-wrench:before {
3738
+ content: "\f0ad"; }
3739
+
3740
+ .fa-x-ray:before {
3741
+ content: "\f497"; }
3742
+
3743
+ .fa-xbox:before {
3744
+ content: "\f412"; }
3745
+
3746
+ .fa-xing:before {
3747
+ content: "\f168"; }
3748
+
3749
+ .fa-xing-square:before {
3750
+ content: "\f169"; }
3751
+
3752
+ .fa-y-combinator:before {
3753
+ content: "\f23b"; }
3754
+
3755
+ .fa-yahoo:before {
3756
+ content: "\f19e"; }
3757
+
3758
+ .fa-yandex:before {
3759
+ content: "\f413"; }
3760
+
3761
+ .fa-yandex-international:before {
3762
+ content: "\f414"; }
3763
+
3764
+ .fa-yelp:before {
3765
+ content: "\f1e9"; }
3766
+
3767
+ .fa-yen-sign:before {
3768
+ content: "\f157"; }
3769
+
3770
+ .fa-yin-yang:before {
3771
+ content: "\f6ad"; }
3772
+
3773
+ .fa-yoast:before {
3774
+ content: "\f2b1"; }
3775
+
3776
+ .fa-youtube:before {
3777
+ content: "\f167"; }
3778
+
3779
+ .fa-youtube-square:before {
3780
+ content: "\f431"; }
3781
+
3782
+ .fa-zhihu:before {
3783
+ content: "\f63f"; }
3784
+
3785
+ .sr-only {
3786
+ border: 0;
3787
+ clip: rect(0, 0, 0, 0);
3788
+ height: 1px;
3789
+ margin: -1px;
3790
+ overflow: hidden;
3791
+ padding: 0;
3792
+ position: absolute;
3793
+ width: 1px; }
3794
+
3795
+ .sr-only-focusable:active, .sr-only-focusable:focus {
3796
+ clip: auto;
3797
+ height: auto;
3798
+ margin: 0;
3799
+ overflow: visible;
3800
+ position: static;
3801
+ width: auto; }
3802
+ /*!
3803
+ * Font Awesome Free 5.3.1 by @fontawesome - https://fontawesome.com
3804
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
3805
+ */
3806
+ .fa.fa-glass:before {
3807
+ content: "\f000"; }
3808
+
3809
+ .fa.fa-meetup {
3810
+ font-family: 'Font Awesome 5 Brands';
3811
+ font-weight: 400; }
3812
+
3813
+ .fa.fa-star-o {
3814
+ font-family: 'Font Awesome 5 Free';
3815
+ font-weight: 400; }
3816
+
3817
+ .fa.fa-star-o:before {
3818
+ content: "\f005"; }
3819
+
3820
+ .fa.fa-remove:before {
3821
+ content: "\f00d"; }
3822
+
3823
+ .fa.fa-close:before {
3824
+ content: "\f00d"; }
3825
+
3826
+ .fa.fa-gear:before {
3827
+ content: "\f013"; }
3828
+
3829
+ .fa.fa-trash-o {
3830
+ font-family: 'Font Awesome 5 Free';
3831
+ font-weight: 400; }
3832
+
3833
+ .fa.fa-trash-o:before {
3834
+ content: "\f2ed"; }
3835
+
3836
+ .fa.fa-file-o {
3837
+ font-family: 'Font Awesome 5 Free';
3838
+ font-weight: 400; }
3839
+
3840
+ .fa.fa-file-o:before {
3841
+ content: "\f15b"; }
3842
+
3843
+ .fa.fa-clock-o {
3844
+ font-family: 'Font Awesome 5 Free';
3845
+ font-weight: 400; }
3846
+
3847
+ .fa.fa-clock-o:before {
3848
+ content: "\f017"; }
3849
+
3850
+ .fa.fa-arrow-circle-o-down {
3851
+ font-family: 'Font Awesome 5 Free';
3852
+ font-weight: 400; }
3853
+
3854
+ .fa.fa-arrow-circle-o-down:before {
3855
+ content: "\f358"; }
3856
+
3857
+ .fa.fa-arrow-circle-o-up {
3858
+ font-family: 'Font Awesome 5 Free';
3859
+ font-weight: 400; }
3860
+
3861
+ .fa.fa-arrow-circle-o-up:before {
3862
+ content: "\f35b"; }
3863
+
3864
+ .fa.fa-play-circle-o {
3865
+ font-family: 'Font Awesome 5 Free';
3866
+ font-weight: 400; }
3867
+
3868
+ .fa.fa-play-circle-o:before {
3869
+ content: "\f144"; }
3870
+
3871
+ .fa.fa-repeat:before {
3872
+ content: "\f01e"; }
3873
+
3874
+ .fa.fa-rotate-right:before {
3875
+ content: "\f01e"; }
3876
+
3877
+ .fa.fa-refresh:before {
3878
+ content: "\f021"; }
3879
+
3880
+ .fa.fa-list-alt {
3881
+ font-family: 'Font Awesome 5 Free';
3882
+ font-weight: 400; }
3883
+
3884
+ .fa.fa-dedent:before {
3885
+ content: "\f03b"; }
3886
+
3887
+ .fa.fa-video-camera:before {
3888
+ content: "\f03d"; }
3889
+
3890
+ .fa.fa-picture-o {
3891
+ font-family: 'Font Awesome 5 Free';
3892
+ font-weight: 400; }
3893
+
3894
+ .fa.fa-picture-o:before {
3895
+ content: "\f03e"; }
3896
+
3897
+ .fa.fa-photo {
3898
+ font-family: 'Font Awesome 5 Free';
3899
+ font-weight: 400; }
3900
+
3901
+ .fa.fa-photo:before {
3902
+ content: "\f03e"; }
3903
+
3904
+ .fa.fa-image {
3905
+ font-family: 'Font Awesome 5 Free';
3906
+ font-weight: 400; }
3907
+
3908
+ .fa.fa-image:before {
3909
+ content: "\f03e"; }
3910
+
3911
+ .fa.fa-pencil:before {
3912
+ content: "\f303"; }
3913
+
3914
+ .fa.fa-map-marker:before {
3915
+ content: "\f3c5"; }
3916
+
3917
+ .fa.fa-pencil-square-o {
3918
+ font-family: 'Font Awesome 5 Free';
3919
+ font-weight: 400; }
3920
+
3921
+ .fa.fa-pencil-square-o:before {
3922
+ content: "\f044"; }
3923
+
3924
+ .fa.fa-share-square-o {
3925
+ font-family: 'Font Awesome 5 Free';
3926
+ font-weight: 400; }
3927
+
3928
+ .fa.fa-share-square-o:before {
3929
+ content: "\f14d"; }
3930
+
3931
+ .fa.fa-check-square-o {
3932
+ font-family: 'Font Awesome 5 Free';
3933
+ font-weight: 400; }
3934
+
3935
+ .fa.fa-check-square-o:before {
3936
+ content: "\f14a"; }
3937
+
3938
+ .fa.fa-arrows:before {
3939
+ content: "\f0b2"; }
3940
+
3941
+ .fa.fa-times-circle-o {
3942
+ font-family: 'Font Awesome 5 Free';
3943
+ font-weight: 400; }
3944
+
3945
+ .fa.fa-times-circle-o:before {
3946
+ content: "\f057"; }
3947
+
3948
+ .fa.fa-check-circle-o {
3949
+ font-family: 'Font Awesome 5 Free';
3950
+ font-weight: 400; }
3951
+
3952
+ .fa.fa-check-circle-o:before {
3953
+ content: "\f058"; }
3954
+
3955
+ .fa.fa-mail-forward:before {
3956
+ content: "\f064"; }
3957
+
3958
+ .fa.fa-eye {
3959
+ font-family: 'Font Awesome 5 Free';
3960
+ font-weight: 400; }
3961
+
3962
+ .fa.fa-eye-slash {
3963
+ font-family: 'Font Awesome 5 Free';
3964
+ font-weight: 400; }
3965
+
3966
+ .fa.fa-warning:before {
3967
+ content: "\f071"; }
3968
+
3969
+ .fa.fa-calendar:before {
3970
+ content: "\f073"; }
3971
+
3972
+ .fa.fa-arrows-v:before {
3973
+ content: "\f338"; }
3974
+
3975
+ .fa.fa-arrows-h:before {
3976
+ content: "\f337"; }
3977
+
3978
+ .fa.fa-bar-chart {
3979
+ font-family: 'Font Awesome 5 Free';
3980
+ font-weight: 400; }
3981
+
3982
+ .fa.fa-bar-chart:before {
3983
+ content: "\f080"; }
3984
+
3985
+ .fa.fa-bar-chart-o {
3986
+ font-family: 'Font Awesome 5 Free';
3987
+ font-weight: 400; }
3988
+
3989
+ .fa.fa-bar-chart-o:before {
3990
+ content: "\f080"; }
3991
+
3992
+ .fa.fa-twitter-square {
3993
+ font-family: 'Font Awesome 5 Brands';
3994
+ font-weight: 400; }
3995
+
3996
+ .fa.fa-facebook-square {
3997
+ font-family: 'Font Awesome 5 Brands';
3998
+ font-weight: 400; }
3999
+
4000
+ .fa.fa-gears:before {
4001
+ content: "\f085"; }
4002
+
4003
+ .fa.fa-thumbs-o-up {
4004
+ font-family: 'Font Awesome 5 Free';
4005
+ font-weight: 400; }
4006
+
4007
+ .fa.fa-thumbs-o-up:before {
4008
+ content: "\f164"; }
4009
+
4010
+ .fa.fa-thumbs-o-down {
4011
+ font-family: 'Font Awesome 5 Free';
4012
+ font-weight: 400; }
4013
+
4014
+ .fa.fa-thumbs-o-down:before {
4015
+ content: "\f165"; }
4016
+
4017
+ .fa.fa-heart-o {
4018
+ font-family: 'Font Awesome 5 Free';
4019
+ font-weight: 400; }
4020
+
4021
+ .fa.fa-heart-o:before {
4022
+ content: "\f004"; }
4023
+
4024
+ .fa.fa-sign-out:before {
4025
+ content: "\f2f5"; }
4026
+
4027
+ .fa.fa-linkedin-square {
4028
+ font-family: 'Font Awesome 5 Brands';
4029
+ font-weight: 400; }
4030
+
4031
+ .fa.fa-linkedin-square:before {
4032
+ content: "\f08c"; }
4033
+
4034
+ .fa.fa-thumb-tack:before {
4035
+ content: "\f08d"; }
4036
+
4037
+ .fa.fa-external-link:before {
4038
+ content: "\f35d"; }
4039
+
4040
+ .fa.fa-sign-in:before {
4041
+ content: "\f2f6"; }
4042
+
4043
+ .fa.fa-github-square {
4044
+ font-family: 'Font Awesome 5 Brands';
4045
+ font-weight: 400; }
4046
+
4047
+ .fa.fa-lemon-o {
4048
+ font-family: 'Font Awesome 5 Free';
4049
+ font-weight: 400; }
4050
+
4051
+ .fa.fa-lemon-o:before {
4052
+ content: "\f094"; }
4053
+
4054
+ .fa.fa-square-o {
4055
+ font-family: 'Font Awesome 5 Free';
4056
+ font-weight: 400; }
4057
+
4058
+ .fa.fa-square-o:before {
4059
+ content: "\f0c8"; }
4060
+
4061
+ .fa.fa-bookmark-o {
4062
+ font-family: 'Font Awesome 5 Free';
4063
+ font-weight: 400; }
4064
+
4065
+ .fa.fa-bookmark-o:before {
4066
+ content: "\f02e"; }
4067
+
4068
+ .fa.fa-twitter {
4069
+ font-family: 'Font Awesome 5 Brands';
4070
+ font-weight: 400; }
4071
+
4072
+ .fa.fa-facebook {
4073
+ font-family: 'Font Awesome 5 Brands';
4074
+ font-weight: 400; }
4075
+
4076
+ .fa.fa-facebook:before {
4077
+ content: "\f39e"; }
4078
+
4079
+ .fa.fa-facebook-f {
4080
+ font-family: 'Font Awesome 5 Brands';
4081
+ font-weight: 400; }
4082
+
4083
+ .fa.fa-facebook-f:before {
4084
+ content: "\f39e"; }
4085
+
4086
+ .fa.fa-github {
4087
+ font-family: 'Font Awesome 5 Brands';
4088
+ font-weight: 400; }
4089
+
4090
+ .fa.fa-credit-card {
4091
+ font-family: 'Font Awesome 5 Free';
4092
+ font-weight: 400; }
4093
+
4094
+ .fa.fa-feed:before {
4095
+ content: "\f09e"; }
4096
+
4097
+ .fa.fa-hdd-o {
4098
+ font-family: 'Font Awesome 5 Free';
4099
+ font-weight: 400; }
4100
+
4101
+ .fa.fa-hdd-o:before {
4102
+ content: "\f0a0"; }
4103
+
4104
+ .fa.fa-hand-o-right {
4105
+ font-family: 'Font Awesome 5 Free';
4106
+ font-weight: 400; }
4107
+
4108
+ .fa.fa-hand-o-right:before {
4109
+ content: "\f0a4"; }
4110
+
4111
+ .fa.fa-hand-o-left {
4112
+ font-family: 'Font Awesome 5 Free';
4113
+ font-weight: 400; }
4114
+
4115
+ .fa.fa-hand-o-left:before {
4116
+ content: "\f0a5"; }
4117
+
4118
+ .fa.fa-hand-o-up {
4119
+ font-family: 'Font Awesome 5 Free';
4120
+ font-weight: 400; }
4121
+
4122
+ .fa.fa-hand-o-up:before {
4123
+ content: "\f0a6"; }
4124
+
4125
+ .fa.fa-hand-o-down {
4126
+ font-family: 'Font Awesome 5 Free';
4127
+ font-weight: 400; }
4128
+
4129
+ .fa.fa-hand-o-down:before {
4130
+ content: "\f0a7"; }
4131
+
4132
+ .fa.fa-arrows-alt:before {
4133
+ content: "\f31e"; }
4134
+
4135
+ .fa.fa-group:before {
4136
+ content: "\f0c0"; }
4137
+
4138
+ .fa.fa-chain:before {
4139
+ content: "\f0c1"; }
4140
+
4141
+ .fa.fa-scissors:before {
4142
+ content: "\f0c4"; }
4143
+
4144
+ .fa.fa-files-o {
4145
+ font-family: 'Font Awesome 5 Free';
4146
+ font-weight: 400; }
4147
+
4148
+ .fa.fa-files-o:before {
4149
+ content: "\f0c5"; }
4150
+
4151
+ .fa.fa-floppy-o {
4152
+ font-family: 'Font Awesome 5 Free';
4153
+ font-weight: 400; }
4154
+
4155
+ .fa.fa-floppy-o:before {
4156
+ content: "\f0c7"; }
4157
+
4158
+ .fa.fa-navicon:before {
4159
+ content: "\f0c9"; }
4160
+
4161
+ .fa.fa-reorder:before {
4162
+ content: "\f0c9"; }
4163
+
4164
+ .fa.fa-pinterest {
4165
+ font-family: 'Font Awesome 5 Brands';
4166
+ font-weight: 400; }
4167
+
4168
+ .fa.fa-pinterest-square {
4169
+ font-family: 'Font Awesome 5 Brands';
4170
+ font-weight: 400; }
4171
+
4172
+ .fa.fa-google-plus-square {
4173
+ font-family: 'Font Awesome 5 Brands';
4174
+ font-weight: 400; }
4175
+
4176
+ .fa.fa-google-plus {
4177
+ font-family: 'Font Awesome 5 Brands';
4178
+ font-weight: 400; }
4179
+
4180
+ .fa.fa-google-plus:before {
4181
+ content: "\f0d5"; }
4182
+
4183
+ .fa.fa-money {
4184
+ font-family: 'Font Awesome 5 Free';
4185
+ font-weight: 400; }
4186
+
4187
+ .fa.fa-money:before {
4188
+ content: "\f3d1"; }
4189
+
4190
+ .fa.fa-unsorted:before {
4191
+ content: "\f0dc"; }
4192
+
4193
+ .fa.fa-sort-desc:before {
4194
+ content: "\f0dd"; }
4195
+
4196
+ .fa.fa-sort-asc:before {
4197
+ content: "\f0de"; }
4198
+
4199
+ .fa.fa-linkedin {
4200
+ font-family: 'Font Awesome 5 Brands';
4201
+ font-weight: 400; }
4202
+
4203
+ .fa.fa-linkedin:before {
4204
+ content: "\f0e1"; }
4205
+
4206
+ .fa.fa-rotate-left:before {
4207
+ content: "\f0e2"; }
4208
+
4209
+ .fa.fa-legal:before {
4210
+ content: "\f0e3"; }
4211
+
4212
+ .fa.fa-tachometer:before {
4213
+ content: "\f3fd"; }
4214
+
4215
+ .fa.fa-dashboard:before {
4216
+ content: "\f3fd"; }
4217
+
4218
+ .fa.fa-comment-o {
4219
+ font-family: 'Font Awesome 5 Free';
4220
+ font-weight: 400; }
4221
+
4222
+ .fa.fa-comment-o:before {
4223
+ content: "\f075"; }
4224
+
4225
+ .fa.fa-comments-o {
4226
+ font-family: 'Font Awesome 5 Free';
4227
+ font-weight: 400; }
4228
+
4229
+ .fa.fa-comments-o:before {
4230
+ content: "\f086"; }
4231
+
4232
+ .fa.fa-flash:before {
4233
+ content: "\f0e7"; }
4234
+
4235
+ .fa.fa-clipboard {
4236
+ font-family: 'Font Awesome 5 Free';
4237
+ font-weight: 400; }
4238
+
4239
+ .fa.fa-paste {
4240
+ font-family: 'Font Awesome 5 Free';
4241
+ font-weight: 400; }
4242
+
4243
+ .fa.fa-paste:before {
4244
+ content: "\f328"; }
4245
+
4246
+ .fa.fa-lightbulb-o {
4247
+ font-family: 'Font Awesome 5 Free';
4248
+ font-weight: 400; }
4249
+
4250
+ .fa.fa-lightbulb-o:before {
4251
+ content: "\f0eb"; }
4252
+
4253
+ .fa.fa-exchange:before {
4254
+ content: "\f362"; }
4255
+
4256
+ .fa.fa-cloud-download:before {
4257
+ content: "\f381"; }
4258
+
4259
+ .fa.fa-cloud-upload:before {
4260
+ content: "\f382"; }
4261
+
4262
+ .fa.fa-bell-o {
4263
+ font-family: 'Font Awesome 5 Free';
4264
+ font-weight: 400; }
4265
+
4266
+ .fa.fa-bell-o:before {
4267
+ content: "\f0f3"; }
4268
+
4269
+ .fa.fa-cutlery:before {
4270
+ content: "\f2e7"; }
4271
+
4272
+ .fa.fa-file-text-o {
4273
+ font-family: 'Font Awesome 5 Free';
4274
+ font-weight: 400; }
4275
+
4276
+ .fa.fa-file-text-o:before {
4277
+ content: "\f15c"; }
4278
+
4279
+ .fa.fa-building-o {
4280
+ font-family: 'Font Awesome 5 Free';
4281
+ font-weight: 400; }
4282
+
4283
+ .fa.fa-building-o:before {
4284
+ content: "\f1ad"; }
4285
+
4286
+ .fa.fa-hospital-o {
4287
+ font-family: 'Font Awesome 5 Free';
4288
+ font-weight: 400; }
4289
+
4290
+ .fa.fa-hospital-o:before {
4291
+ content: "\f0f8"; }
4292
+
4293
+ .fa.fa-tablet:before {
4294
+ content: "\f3fa"; }
4295
+
4296
+ .fa.fa-mobile:before {
4297
+ content: "\f3cd"; }
4298
+
4299
+ .fa.fa-mobile-phone:before {
4300
+ content: "\f3cd"; }
4301
+
4302
+ .fa.fa-circle-o {
4303
+ font-family: 'Font Awesome 5 Free';
4304
+ font-weight: 400; }
4305
+
4306
+ .fa.fa-circle-o:before {
4307
+ content: "\f111"; }
4308
+
4309
+ .fa.fa-mail-reply:before {
4310
+ content: "\f3e5"; }
4311
+
4312
+ .fa.fa-github-alt {
4313
+ font-family: 'Font Awesome 5 Brands';
4314
+ font-weight: 400; }
4315
+
4316
+ .fa.fa-folder-o {
4317
+ font-family: 'Font Awesome 5 Free';
4318
+ font-weight: 400; }
4319
+
4320
+ .fa.fa-folder-o:before {
4321
+ content: "\f07b"; }
4322
+
4323
+ .fa.fa-folder-open-o {
4324
+ font-family: 'Font Awesome 5 Free';
4325
+ font-weight: 400; }
4326
+
4327
+ .fa.fa-folder-open-o:before {
4328
+ content: "\f07c"; }
4329
+
4330
+ .fa.fa-smile-o {
4331
+ font-family: 'Font Awesome 5 Free';
4332
+ font-weight: 400; }
4333
+
4334
+ .fa.fa-smile-o:before {
4335
+ content: "\f118"; }
4336
+
4337
+ .fa.fa-frown-o {
4338
+ font-family: 'Font Awesome 5 Free';
4339
+ font-weight: 400; }
4340
+
4341
+ .fa.fa-frown-o:before {
4342
+ content: "\f119"; }
4343
+
4344
+ .fa.fa-meh-o {
4345
+ font-family: 'Font Awesome 5 Free';
4346
+ font-weight: 400; }
4347
+
4348
+ .fa.fa-meh-o:before {
4349
+ content: "\f11a"; }
4350
+
4351
+ .fa.fa-keyboard-o {
4352
+ font-family: 'Font Awesome 5 Free';
4353
+ font-weight: 400; }
4354
+
4355
+ .fa.fa-keyboard-o:before {
4356
+ content: "\f11c"; }
4357
+
4358
+ .fa.fa-flag-o {
4359
+ font-family: 'Font Awesome 5 Free';
4360
+ font-weight: 400; }
4361
+
4362
+ .fa.fa-flag-o:before {
4363
+ content: "\f024"; }
4364
+
4365
+ .fa.fa-mail-reply-all:before {
4366
+ content: "\f122"; }
4367
+
4368
+ .fa.fa-star-half-o {
4369
+ font-family: 'Font Awesome 5 Free';
4370
+ font-weight: 400; }
4371
+
4372
+ .fa.fa-star-half-o:before {
4373
+ content: "\f089"; }
4374
+
4375
+ .fa.fa-star-half-empty {
4376
+ font-family: 'Font Awesome 5 Free';
4377
+ font-weight: 400; }
4378
+
4379
+ .fa.fa-star-half-empty:before {
4380
+ content: "\f089"; }
4381
+
4382
+ .fa.fa-star-half-full {
4383
+ font-family: 'Font Awesome 5 Free';
4384
+ font-weight: 400; }
4385
+
4386
+ .fa.fa-star-half-full:before {
4387
+ content: "\f089"; }
4388
+
4389
+ .fa.fa-code-fork:before {
4390
+ content: "\f126"; }
4391
+
4392
+ .fa.fa-chain-broken:before {
4393
+ content: "\f127"; }
4394
+
4395
+ .fa.fa-shield:before {
4396
+ content: "\f3ed"; }
4397
+
4398
+ .fa.fa-calendar-o {
4399
+ font-family: 'Font Awesome 5 Free';
4400
+ font-weight: 400; }
4401
+
4402
+ .fa.fa-calendar-o:before {
4403
+ content: "\f133"; }
4404
+
4405
+ .fa.fa-maxcdn {
4406
+ font-family: 'Font Awesome 5 Brands';
4407
+ font-weight: 400; }
4408
+
4409
+ .fa.fa-html5 {
4410
+ font-family: 'Font Awesome 5 Brands';
4411
+ font-weight: 400; }
4412
+
4413
+ .fa.fa-css3 {
4414
+ font-family: 'Font Awesome 5 Brands';
4415
+ font-weight: 400; }
4416
+
4417
+ .fa.fa-ticket:before {
4418
+ content: "\f3ff"; }
4419
+
4420
+ .fa.fa-minus-square-o {
4421
+ font-family: 'Font Awesome 5 Free';
4422
+ font-weight: 400; }
4423
+
4424
+ .fa.fa-minus-square-o:before {
4425
+ content: "\f146"; }
4426
+
4427
+ .fa.fa-level-up:before {
4428
+ content: "\f3bf"; }
4429
+
4430
+ .fa.fa-level-down:before {
4431
+ content: "\f3be"; }
4432
+
4433
+ .fa.fa-pencil-square:before {
4434
+ content: "\f14b"; }
4435
+
4436
+ .fa.fa-external-link-square:before {
4437
+ content: "\f360"; }
4438
+
4439
+ .fa.fa-compass {
4440
+ font-family: 'Font Awesome 5 Free';
4441
+ font-weight: 400; }
4442
+
4443
+ .fa.fa-caret-square-o-down {
4444
+ font-family: 'Font Awesome 5 Free';
4445
+ font-weight: 400; }
4446
+
4447
+ .fa.fa-caret-square-o-down:before {
4448
+ content: "\f150"; }
4449
+
4450
+ .fa.fa-toggle-down {
4451
+ font-family: 'Font Awesome 5 Free';
4452
+ font-weight: 400; }
4453
+
4454
+ .fa.fa-toggle-down:before {
4455
+ content: "\f150"; }
4456
+
4457
+ .fa.fa-caret-square-o-up {
4458
+ font-family: 'Font Awesome 5 Free';
4459
+ font-weight: 400; }
4460
+
4461
+ .fa.fa-caret-square-o-up:before {
4462
+ content: "\f151"; }
4463
+
4464
+ .fa.fa-toggle-up {
4465
+ font-family: 'Font Awesome 5 Free';
4466
+ font-weight: 400; }
4467
+
4468
+ .fa.fa-toggle-up:before {
4469
+ content: "\f151"; }
4470
+
4471
+ .fa.fa-caret-square-o-right {
4472
+ font-family: 'Font Awesome 5 Free';
4473
+ font-weight: 400; }
4474
+
4475
+ .fa.fa-caret-square-o-right:before {
4476
+ content: "\f152"; }
4477
+
4478
+ .fa.fa-toggle-right {
4479
+ font-family: 'Font Awesome 5 Free';
4480
+ font-weight: 400; }
4481
+
4482
+ .fa.fa-toggle-right:before {
4483
+ content: "\f152"; }
4484
+
4485
+ .fa.fa-eur:before {
4486
+ content: "\f153"; }
4487
+
4488
+ .fa.fa-euro:before {
4489
+ content: "\f153"; }
4490
+
4491
+ .fa.fa-gbp:before {
4492
+ content: "\f154"; }
4493
+
4494
+ .fa.fa-usd:before {
4495
+ content: "\f155"; }
4496
+
4497
+ .fa.fa-dollar:before {
4498
+ content: "\f155"; }
4499
+
4500
+ .fa.fa-inr:before {
4501
+ content: "\f156"; }
4502
+
4503
+ .fa.fa-rupee:before {
4504
+ content: "\f156"; }
4505
+
4506
+ .fa.fa-jpy:before {
4507
+ content: "\f157"; }
4508
+
4509
+ .fa.fa-cny:before {
4510
+ content: "\f157"; }
4511
+
4512
+ .fa.fa-rmb:before {
4513
+ content: "\f157"; }
4514
+
4515
+ .fa.fa-yen:before {
4516
+ content: "\f157"; }
4517
+
4518
+ .fa.fa-rub:before {
4519
+ content: "\f158"; }
4520
+
4521
+ .fa.fa-ruble:before {
4522
+ content: "\f158"; }
4523
+
4524
+ .fa.fa-rouble:before {
4525
+ content: "\f158"; }
4526
+
4527
+ .fa.fa-krw:before {
4528
+ content: "\f159"; }
4529
+
4530
+ .fa.fa-won:before {
4531
+ content: "\f159"; }
4532
+
4533
+ .fa.fa-btc {
4534
+ font-family: 'Font Awesome 5 Brands';
4535
+ font-weight: 400; }
4536
+
4537
+ .fa.fa-bitcoin {
4538
+ font-family: 'Font Awesome 5 Brands';
4539
+ font-weight: 400; }
4540
+
4541
+ .fa.fa-bitcoin:before {
4542
+ content: "\f15a"; }
4543
+
4544
+ .fa.fa-file-text:before {
4545
+ content: "\f15c"; }
4546
+
4547
+ .fa.fa-sort-alpha-asc:before {
4548
+ content: "\f15d"; }
4549
+
4550
+ .fa.fa-sort-alpha-desc:before {
4551
+ content: "\f15e"; }
4552
+
4553
+ .fa.fa-sort-amount-asc:before {
4554
+ content: "\f160"; }
4555
+
4556
+ .fa.fa-sort-amount-desc:before {
4557
+ content: "\f161"; }
4558
+
4559
+ .fa.fa-sort-numeric-asc:before {
4560
+ content: "\f162"; }
4561
+
4562
+ .fa.fa-sort-numeric-desc:before {
4563
+ content: "\f163"; }
4564
+
4565
+ .fa.fa-youtube-square {
4566
+ font-family: 'Font Awesome 5 Brands';
4567
+ font-weight: 400; }
4568
+
4569
+ .fa.fa-youtube {
4570
+ font-family: 'Font Awesome 5 Brands';
4571
+ font-weight: 400; }
4572
+
4573
+ .fa.fa-xing {
4574
+ font-family: 'Font Awesome 5 Brands';
4575
+ font-weight: 400; }
4576
+
4577
+ .fa.fa-xing-square {
4578
+ font-family: 'Font Awesome 5 Brands';
4579
+ font-weight: 400; }
4580
+
4581
+ .fa.fa-youtube-play {
4582
+ font-family: 'Font Awesome 5 Brands';
4583
+ font-weight: 400; }
4584
+
4585
+ .fa.fa-youtube-play:before {
4586
+ content: "\f167"; }
4587
+
4588
+ .fa.fa-dropbox {
4589
+ font-family: 'Font Awesome 5 Brands';
4590
+ font-weight: 400; }
4591
+
4592
+ .fa.fa-stack-overflow {
4593
+ font-family: 'Font Awesome 5 Brands';
4594
+ font-weight: 400; }
4595
+
4596
+ .fa.fa-instagram {
4597
+ font-family: 'Font Awesome 5 Brands';
4598
+ font-weight: 400; }
4599
+
4600
+ .fa.fa-flickr {
4601
+ font-family: 'Font Awesome 5 Brands';
4602
+ font-weight: 400; }
4603
+
4604
+ .fa.fa-adn {
4605
+ font-family: 'Font Awesome 5 Brands';
4606
+ font-weight: 400; }
4607
+
4608
+ .fa.fa-bitbucket {
4609
+ font-family: 'Font Awesome 5 Brands';
4610
+ font-weight: 400; }
4611
+
4612
+ .fa.fa-bitbucket-square {
4613
+ font-family: 'Font Awesome 5 Brands';
4614
+ font-weight: 400; }
4615
+
4616
+ .fa.fa-bitbucket-square:before {
4617
+ content: "\f171"; }
4618
+
4619
+ .fa.fa-tumblr {
4620
+ font-family: 'Font Awesome 5 Brands';
4621
+ font-weight: 400; }
4622
+
4623
+ .fa.fa-tumblr-square {
4624
+ font-family: 'Font Awesome 5 Brands';
4625
+ font-weight: 400; }
4626
+
4627
+ .fa.fa-long-arrow-down:before {
4628
+ content: "\f309"; }
4629
+
4630
+ .fa.fa-long-arrow-up:before {
4631
+ content: "\f30c"; }
4632
+
4633
+ .fa.fa-long-arrow-left:before {
4634
+ content: "\f30a"; }
4635
+
4636
+ .fa.fa-long-arrow-right:before {
4637
+ content: "\f30b"; }
4638
+
4639
+ .fa.fa-apple {
4640
+ font-family: 'Font Awesome 5 Brands';
4641
+ font-weight: 400; }
4642
+
4643
+ .fa.fa-windows {
4644
+ font-family: 'Font Awesome 5 Brands';
4645
+ font-weight: 400; }
4646
+
4647
+ .fa.fa-android {
4648
+ font-family: 'Font Awesome 5 Brands';
4649
+ font-weight: 400; }
4650
+
4651
+ .fa.fa-linux {
4652
+ font-family: 'Font Awesome 5 Brands';
4653
+ font-weight: 400; }
4654
+
4655
+ .fa.fa-dribbble {
4656
+ font-family: 'Font Awesome 5 Brands';
4657
+ font-weight: 400; }
4658
+
4659
+ .fa.fa-skype {
4660
+ font-family: 'Font Awesome 5 Brands';
4661
+ font-weight: 400; }
4662
+
4663
+ .fa.fa-foursquare {
4664
+ font-family: 'Font Awesome 5 Brands';
4665
+ font-weight: 400; }
4666
+
4667
+ .fa.fa-trello {
4668
+ font-family: 'Font Awesome 5 Brands';
4669
+ font-weight: 400; }
4670
+
4671
+ .fa.fa-gratipay {
4672
+ font-family: 'Font Awesome 5 Brands';
4673
+ font-weight: 400; }
4674
+
4675
+ .fa.fa-gittip {
4676
+ font-family: 'Font Awesome 5 Brands';
4677
+ font-weight: 400; }
4678
+
4679
+ .fa.fa-gittip:before {
4680
+ content: "\f184"; }
4681
+
4682
+ .fa.fa-sun-o {
4683
+ font-family: 'Font Awesome 5 Free';
4684
+ font-weight: 400; }
4685
+
4686
+ .fa.fa-sun-o:before {
4687
+ content: "\f185"; }
4688
+
4689
+ .fa.fa-moon-o {
4690
+ font-family: 'Font Awesome 5 Free';
4691
+ font-weight: 400; }
4692
+
4693
+ .fa.fa-moon-o:before {
4694
+ content: "\f186"; }
4695
+
4696
+ .fa.fa-vk {
4697
+ font-family: 'Font Awesome 5 Brands';
4698
+ font-weight: 400; }
4699
+
4700
+ .fa.fa-weibo {
4701
+ font-family: 'Font Awesome 5 Brands';
4702
+ font-weight: 400; }
4703
+
4704
+ .fa.fa-renren {
4705
+ font-family: 'Font Awesome 5 Brands';
4706
+ font-weight: 400; }
4707
+
4708
+ .fa.fa-pagelines {
4709
+ font-family: 'Font Awesome 5 Brands';
4710
+ font-weight: 400; }
4711
+
4712
+ .fa.fa-stack-exchange {
4713
+ font-family: 'Font Awesome 5 Brands';
4714
+ font-weight: 400; }
4715
+
4716
+ .fa.fa-arrow-circle-o-right {
4717
+ font-family: 'Font Awesome 5 Free';
4718
+ font-weight: 400; }
4719
+
4720
+ .fa.fa-arrow-circle-o-right:before {
4721
+ content: "\f35a"; }
4722
+
4723
+ .fa.fa-arrow-circle-o-left {
4724
+ font-family: 'Font Awesome 5 Free';
4725
+ font-weight: 400; }
4726
+
4727
+ .fa.fa-arrow-circle-o-left:before {
4728
+ content: "\f359"; }
4729
+
4730
+ .fa.fa-caret-square-o-left {
4731
+ font-family: 'Font Awesome 5 Free';
4732
+ font-weight: 400; }
4733
+
4734
+ .fa.fa-caret-square-o-left:before {
4735
+ content: "\f191"; }
4736
+
4737
+ .fa.fa-toggle-left {
4738
+ font-family: 'Font Awesome 5 Free';
4739
+ font-weight: 400; }
4740
+
4741
+ .fa.fa-toggle-left:before {
4742
+ content: "\f191"; }
4743
+
4744
+ .fa.fa-dot-circle-o {
4745
+ font-family: 'Font Awesome 5 Free';
4746
+ font-weight: 400; }
4747
+
4748
+ .fa.fa-dot-circle-o:before {
4749
+ content: "\f192"; }
4750
+
4751
+ .fa.fa-vimeo-square {
4752
+ font-family: 'Font Awesome 5 Brands';
4753
+ font-weight: 400; }
4754
+
4755
+ .fa.fa-try:before {
4756
+ content: "\f195"; }
4757
+
4758
+ .fa.fa-turkish-lira:before {
4759
+ content: "\f195"; }
4760
+
4761
+ .fa.fa-plus-square-o {
4762
+ font-family: 'Font Awesome 5 Free';
4763
+ font-weight: 400; }
4764
+
4765
+ .fa.fa-plus-square-o:before {
4766
+ content: "\f0fe"; }
4767
+
4768
+ .fa.fa-slack {
4769
+ font-family: 'Font Awesome 5 Brands';
4770
+ font-weight: 400; }
4771
+
4772
+ .fa.fa-wordpress {
4773
+ font-family: 'Font Awesome 5 Brands';
4774
+ font-weight: 400; }
4775
+
4776
+ .fa.fa-openid {
4777
+ font-family: 'Font Awesome 5 Brands';
4778
+ font-weight: 400; }
4779
+
4780
+ .fa.fa-institution:before {
4781
+ content: "\f19c"; }
4782
+
4783
+ .fa.fa-bank:before {
4784
+ content: "\f19c"; }
4785
+
4786
+ .fa.fa-mortar-board:before {
4787
+ content: "\f19d"; }
4788
+
4789
+ .fa.fa-yahoo {
4790
+ font-family: 'Font Awesome 5 Brands';
4791
+ font-weight: 400; }
4792
+
4793
+ .fa.fa-google {
4794
+ font-family: 'Font Awesome 5 Brands';
4795
+ font-weight: 400; }
4796
+
4797
+ .fa.fa-reddit {
4798
+ font-family: 'Font Awesome 5 Brands';
4799
+ font-weight: 400; }
4800
+
4801
+ .fa.fa-reddit-square {
4802
+ font-family: 'Font Awesome 5 Brands';
4803
+ font-weight: 400; }
4804
+
4805
+ .fa.fa-stumbleupon-circle {
4806
+ font-family: 'Font Awesome 5 Brands';
4807
+ font-weight: 400; }
4808
+
4809
+ .fa.fa-stumbleupon {
4810
+ font-family: 'Font Awesome 5 Brands';
4811
+ font-weight: 400; }
4812
+
4813
+ .fa.fa-delicious {
4814
+ font-family: 'Font Awesome 5 Brands';
4815
+ font-weight: 400; }
4816
+
4817
+ .fa.fa-digg {
4818
+ font-family: 'Font Awesome 5 Brands';
4819
+ font-weight: 400; }
4820
+
4821
+ .fa.fa-pied-piper-pp {
4822
+ font-family: 'Font Awesome 5 Brands';
4823
+ font-weight: 400; }
4824
+
4825
+ .fa.fa-pied-piper-alt {
4826
+ font-family: 'Font Awesome 5 Brands';
4827
+ font-weight: 400; }
4828
+
4829
+ .fa.fa-drupal {
4830
+ font-family: 'Font Awesome 5 Brands';
4831
+ font-weight: 400; }
4832
+
4833
+ .fa.fa-joomla {
4834
+ font-family: 'Font Awesome 5 Brands';
4835
+ font-weight: 400; }
4836
+
4837
+ .fa.fa-spoon:before {
4838
+ content: "\f2e5"; }
4839
+
4840
+ .fa.fa-behance {
4841
+ font-family: 'Font Awesome 5 Brands';
4842
+ font-weight: 400; }
4843
+
4844
+ .fa.fa-behance-square {
4845
+ font-family: 'Font Awesome 5 Brands';
4846
+ font-weight: 400; }
4847
+
4848
+ .fa.fa-steam {
4849
+ font-family: 'Font Awesome 5 Brands';
4850
+ font-weight: 400; }
4851
+
4852
+ .fa.fa-steam-square {
4853
+ font-family: 'Font Awesome 5 Brands';
4854
+ font-weight: 400; }
4855
+
4856
+ .fa.fa-automobile:before {
4857
+ content: "\f1b9"; }
4858
+
4859
+ .fa.fa-cab:before {
4860
+ content: "\f1ba"; }
4861
+
4862
+ .fa.fa-envelope-o {
4863
+ font-family: 'Font Awesome 5 Free';
4864
+ font-weight: 400; }
4865
+
4866
+ .fa.fa-envelope-o:before {
4867
+ content: "\f0e0"; }
4868
+
4869
+ .fa.fa-deviantart {
4870
+ font-family: 'Font Awesome 5 Brands';
4871
+ font-weight: 400; }
4872
+
4873
+ .fa.fa-soundcloud {
4874
+ font-family: 'Font Awesome 5 Brands';
4875
+ font-weight: 400; }
4876
+
4877
+ .fa.fa-file-pdf-o {
4878
+ font-family: 'Font Awesome 5 Free';
4879
+ font-weight: 400; }
4880
+
4881
+ .fa.fa-file-pdf-o:before {
4882
+ content: "\f1c1"; }
4883
+
4884
+ .fa.fa-file-word-o {
4885
+ font-family: 'Font Awesome 5 Free';
4886
+ font-weight: 400; }
4887
+
4888
+ .fa.fa-file-word-o:before {
4889
+ content: "\f1c2"; }
4890
+
4891
+ .fa.fa-file-excel-o {
4892
+ font-family: 'Font Awesome 5 Free';
4893
+ font-weight: 400; }
4894
+
4895
+ .fa.fa-file-excel-o:before {
4896
+ content: "\f1c3"; }
4897
+
4898
+ .fa.fa-file-powerpoint-o {
4899
+ font-family: 'Font Awesome 5 Free';
4900
+ font-weight: 400; }
4901
+
4902
+ .fa.fa-file-powerpoint-o:before {
4903
+ content: "\f1c4"; }
4904
+
4905
+ .fa.fa-file-image-o {
4906
+ font-family: 'Font Awesome 5 Free';
4907
+ font-weight: 400; }
4908
+
4909
+ .fa.fa-file-image-o:before {
4910
+ content: "\f1c5"; }
4911
+
4912
+ .fa.fa-file-photo-o {
4913
+ font-family: 'Font Awesome 5 Free';
4914
+ font-weight: 400; }
4915
+
4916
+ .fa.fa-file-photo-o:before {
4917
+ content: "\f1c5"; }
4918
+
4919
+ .fa.fa-file-picture-o {
4920
+ font-family: 'Font Awesome 5 Free';
4921
+ font-weight: 400; }
4922
+
4923
+ .fa.fa-file-picture-o:before {
4924
+ content: "\f1c5"; }
4925
+
4926
+ .fa.fa-file-archive-o {
4927
+ font-family: 'Font Awesome 5 Free';
4928
+ font-weight: 400; }
4929
+
4930
+ .fa.fa-file-archive-o:before {
4931
+ content: "\f1c6"; }
4932
+
4933
+ .fa.fa-file-zip-o {
4934
+ font-family: 'Font Awesome 5 Free';
4935
+ font-weight: 400; }
4936
+
4937
+ .fa.fa-file-zip-o:before {
4938
+ content: "\f1c6"; }
4939
+
4940
+ .fa.fa-file-audio-o {
4941
+ font-family: 'Font Awesome 5 Free';
4942
+ font-weight: 400; }
4943
+
4944
+ .fa.fa-file-audio-o:before {
4945
+ content: "\f1c7"; }
4946
+
4947
+ .fa.fa-file-sound-o {
4948
+ font-family: 'Font Awesome 5 Free';
4949
+ font-weight: 400; }
4950
+
4951
+ .fa.fa-file-sound-o:before {
4952
+ content: "\f1c7"; }
4953
+
4954
+ .fa.fa-file-video-o {
4955
+ font-family: 'Font Awesome 5 Free';
4956
+ font-weight: 400; }
4957
+
4958
+ .fa.fa-file-video-o:before {
4959
+ content: "\f1c8"; }
4960
+
4961
+ .fa.fa-file-movie-o {
4962
+ font-family: 'Font Awesome 5 Free';
4963
+ font-weight: 400; }
4964
+
4965
+ .fa.fa-file-movie-o:before {
4966
+ content: "\f1c8"; }
4967
+
4968
+ .fa.fa-file-code-o {
4969
+ font-family: 'Font Awesome 5 Free';
4970
+ font-weight: 400; }
4971
+
4972
+ .fa.fa-file-code-o:before {
4973
+ content: "\f1c9"; }
4974
+
4975
+ .fa.fa-vine {
4976
+ font-family: 'Font Awesome 5 Brands';
4977
+ font-weight: 400; }
4978
+
4979
+ .fa.fa-codepen {
4980
+ font-family: 'Font Awesome 5 Brands';
4981
+ font-weight: 400; }
4982
+
4983
+ .fa.fa-jsfiddle {
4984
+ font-family: 'Font Awesome 5 Brands';
4985
+ font-weight: 400; }
4986
+
4987
+ .fa.fa-life-ring {
4988
+ font-family: 'Font Awesome 5 Free';
4989
+ font-weight: 400; }
4990
+
4991
+ .fa.fa-life-bouy {
4992
+ font-family: 'Font Awesome 5 Free';
4993
+ font-weight: 400; }
4994
+
4995
+ .fa.fa-life-bouy:before {
4996
+ content: "\f1cd"; }
4997
+
4998
+ .fa.fa-life-buoy {
4999
+ font-family: 'Font Awesome 5 Free';
5000
+ font-weight: 400; }
5001
+
5002
+ .fa.fa-life-buoy:before {
5003
+ content: "\f1cd"; }
5004
+
5005
+ .fa.fa-life-saver {
5006
+ font-family: 'Font Awesome 5 Free';
5007
+ font-weight: 400; }
5008
+
5009
+ .fa.fa-life-saver:before {
5010
+ content: "\f1cd"; }
5011
+
5012
+ .fa.fa-support {
5013
+ font-family: 'Font Awesome 5 Free';
5014
+ font-weight: 400; }
5015
+
5016
+ .fa.fa-support:before {
5017
+ content: "\f1cd"; }
5018
+
5019
+ .fa.fa-circle-o-notch:before {
5020
+ content: "\f1ce"; }
5021
+
5022
+ .fa.fa-rebel {
5023
+ font-family: 'Font Awesome 5 Brands';
5024
+ font-weight: 400; }
5025
+
5026
+ .fa.fa-ra {
5027
+ font-family: 'Font Awesome 5 Brands';
5028
+ font-weight: 400; }
5029
+
5030
+ .fa.fa-ra:before {
5031
+ content: "\f1d0"; }
5032
+
5033
+ .fa.fa-resistance {
5034
+ font-family: 'Font Awesome 5 Brands';
5035
+ font-weight: 400; }
5036
+
5037
+ .fa.fa-resistance:before {
5038
+ content: "\f1d0"; }
5039
+
5040
+ .fa.fa-empire {
5041
+ font-family: 'Font Awesome 5 Brands';
5042
+ font-weight: 400; }
5043
+
5044
+ .fa.fa-ge {
5045
+ font-family: 'Font Awesome 5 Brands';
5046
+ font-weight: 400; }
5047
+
5048
+ .fa.fa-ge:before {
5049
+ content: "\f1d1"; }
5050
+
5051
+ .fa.fa-git-square {
5052
+ font-family: 'Font Awesome 5 Brands';
5053
+ font-weight: 400; }
5054
+
5055
+ .fa.fa-git {
5056
+ font-family: 'Font Awesome 5 Brands';
5057
+ font-weight: 400; }
5058
+
5059
+ .fa.fa-hacker-news {
5060
+ font-family: 'Font Awesome 5 Brands';
5061
+ font-weight: 400; }
5062
+
5063
+ .fa.fa-y-combinator-square {
5064
+ font-family: 'Font Awesome 5 Brands';
5065
+ font-weight: 400; }
5066
+
5067
+ .fa.fa-y-combinator-square:before {
5068
+ content: "\f1d4"; }
5069
+
5070
+ .fa.fa-yc-square {
5071
+ font-family: 'Font Awesome 5 Brands';
5072
+ font-weight: 400; }
5073
+
5074
+ .fa.fa-yc-square:before {
5075
+ content: "\f1d4"; }
5076
+
5077
+ .fa.fa-tencent-weibo {
5078
+ font-family: 'Font Awesome 5 Brands';
5079
+ font-weight: 400; }
5080
+
5081
+ .fa.fa-qq {
5082
+ font-family: 'Font Awesome 5 Brands';
5083
+ font-weight: 400; }
5084
+
5085
+ .fa.fa-weixin {
5086
+ font-family: 'Font Awesome 5 Brands';
5087
+ font-weight: 400; }
5088
+
5089
+ .fa.fa-wechat {
5090
+ font-family: 'Font Awesome 5 Brands';
5091
+ font-weight: 400; }
5092
+
5093
+ .fa.fa-wechat:before {
5094
+ content: "\f1d7"; }
5095
+
5096
+ .fa.fa-send:before {
5097
+ content: "\f1d8"; }
5098
+
5099
+ .fa.fa-paper-plane-o {
5100
+ font-family: 'Font Awesome 5 Free';
5101
+ font-weight: 400; }
5102
+
5103
+ .fa.fa-paper-plane-o:before {
5104
+ content: "\f1d8"; }
5105
+
5106
+ .fa.fa-send-o {
5107
+ font-family: 'Font Awesome 5 Free';
5108
+ font-weight: 400; }
5109
+
5110
+ .fa.fa-send-o:before {
5111
+ content: "\f1d8"; }
5112
+
5113
+ .fa.fa-circle-thin {
5114
+ font-family: 'Font Awesome 5 Free';
5115
+ font-weight: 400; }
5116
+
5117
+ .fa.fa-circle-thin:before {
5118
+ content: "\f111"; }
5119
+
5120
+ .fa.fa-header:before {
5121
+ content: "\f1dc"; }
5122
+
5123
+ .fa.fa-sliders:before {
5124
+ content: "\f1de"; }
5125
+
5126
+ .fa.fa-futbol-o {
5127
+ font-family: 'Font Awesome 5 Free';
5128
+ font-weight: 400; }
5129
+
5130
+ .fa.fa-futbol-o:before {
5131
+ content: "\f1e3"; }
5132
+
5133
+ .fa.fa-soccer-ball-o {
5134
+ font-family: 'Font Awesome 5 Free';
5135
+ font-weight: 400; }
5136
+
5137
+ .fa.fa-soccer-ball-o:before {
5138
+ content: "\f1e3"; }
5139
+
5140
+ .fa.fa-slideshare {
5141
+ font-family: 'Font Awesome 5 Brands';
5142
+ font-weight: 400; }
5143
+
5144
+ .fa.fa-twitch {
5145
+ font-family: 'Font Awesome 5 Brands';
5146
+ font-weight: 400; }
5147
+
5148
+ .fa.fa-yelp {
5149
+ font-family: 'Font Awesome 5 Brands';
5150
+ font-weight: 400; }
5151
+
5152
+ .fa.fa-newspaper-o {
5153
+ font-family: 'Font Awesome 5 Free';
5154
+ font-weight: 400; }
5155
+
5156
+ .fa.fa-newspaper-o:before {
5157
+ content: "\f1ea"; }
5158
+
5159
+ .fa.fa-paypal {
5160
+ font-family: 'Font Awesome 5 Brands';
5161
+ font-weight: 400; }
5162
+
5163
+ .fa.fa-google-wallet {
5164
+ font-family: 'Font Awesome 5 Brands';
5165
+ font-weight: 400; }
5166
+
5167
+ .fa.fa-cc-visa {
5168
+ font-family: 'Font Awesome 5 Brands';
5169
+ font-weight: 400; }
5170
+
5171
+ .fa.fa-cc-mastercard {
5172
+ font-family: 'Font Awesome 5 Brands';
5173
+ font-weight: 400; }
5174
+
5175
+ .fa.fa-cc-discover {
5176
+ font-family: 'Font Awesome 5 Brands';
5177
+ font-weight: 400; }
5178
+
5179
+ .fa.fa-cc-amex {
5180
+ font-family: 'Font Awesome 5 Brands';
5181
+ font-weight: 400; }
5182
+
5183
+ .fa.fa-cc-paypal {
5184
+ font-family: 'Font Awesome 5 Brands';
5185
+ font-weight: 400; }
5186
+
5187
+ .fa.fa-cc-stripe {
5188
+ font-family: 'Font Awesome 5 Brands';
5189
+ font-weight: 400; }
5190
+
5191
+ .fa.fa-bell-slash-o {
5192
+ font-family: 'Font Awesome 5 Free';
5193
+ font-weight: 400; }
5194
+
5195
+ .fa.fa-bell-slash-o:before {
5196
+ content: "\f1f6"; }
5197
+
5198
+ .fa.fa-trash:before {
5199
+ content: "\f2ed"; }
5200
+
5201
+ .fa.fa-copyright {
5202
+ font-family: 'Font Awesome 5 Free';
5203
+ font-weight: 400; }
5204
+
5205
+ .fa.fa-eyedropper:before {
5206
+ content: "\f1fb"; }
5207
+
5208
+ .fa.fa-area-chart:before {
5209
+ content: "\f1fe"; }
5210
+
5211
+ .fa.fa-pie-chart:before {
5212
+ content: "\f200"; }
5213
+
5214
+ .fa.fa-line-chart:before {
5215
+ content: "\f201"; }
5216
+
5217
+ .fa.fa-lastfm {
5218
+ font-family: 'Font Awesome 5 Brands';
5219
+ font-weight: 400; }
5220
+
5221
+ .fa.fa-lastfm-square {
5222
+ font-family: 'Font Awesome 5 Brands';
5223
+ font-weight: 400; }
5224
+
5225
+ .fa.fa-ioxhost {
5226
+ font-family: 'Font Awesome 5 Brands';
5227
+ font-weight: 400; }
5228
+
5229
+ .fa.fa-angellist {
5230
+ font-family: 'Font Awesome 5 Brands';
5231
+ font-weight: 400; }
5232
+
5233
+ .fa.fa-cc {
5234
+ font-family: 'Font Awesome 5 Free';
5235
+ font-weight: 400; }
5236
+
5237
+ .fa.fa-cc:before {
5238
+ content: "\f20a"; }
5239
+
5240
+ .fa.fa-ils:before {
5241
+ content: "\f20b"; }
5242
+
5243
+ .fa.fa-shekel:before {
5244
+ content: "\f20b"; }
5245
+
5246
+ .fa.fa-sheqel:before {
5247
+ content: "\f20b"; }
5248
+
5249
+ .fa.fa-meanpath {
5250
+ font-family: 'Font Awesome 5 Brands';
5251
+ font-weight: 400; }
5252
+
5253
+ .fa.fa-meanpath:before {
5254
+ content: "\f2b4"; }
5255
+
5256
+ .fa.fa-buysellads {
5257
+ font-family: 'Font Awesome 5 Brands';
5258
+ font-weight: 400; }
5259
+
5260
+ .fa.fa-connectdevelop {
5261
+ font-family: 'Font Awesome 5 Brands';
5262
+ font-weight: 400; }
5263
+
5264
+ .fa.fa-dashcube {
5265
+ font-family: 'Font Awesome 5 Brands';
5266
+ font-weight: 400; }
5267
+
5268
+ .fa.fa-forumbee {
5269
+ font-family: 'Font Awesome 5 Brands';
5270
+ font-weight: 400; }
5271
+
5272
+ .fa.fa-leanpub {
5273
+ font-family: 'Font Awesome 5 Brands';
5274
+ font-weight: 400; }
5275
+
5276
+ .fa.fa-sellsy {
5277
+ font-family: 'Font Awesome 5 Brands';
5278
+ font-weight: 400; }
5279
+
5280
+ .fa.fa-shirtsinbulk {
5281
+ font-family: 'Font Awesome 5 Brands';
5282
+ font-weight: 400; }
5283
+
5284
+ .fa.fa-simplybuilt {
5285
+ font-family: 'Font Awesome 5 Brands';
5286
+ font-weight: 400; }
5287
+
5288
+ .fa.fa-skyatlas {
5289
+ font-family: 'Font Awesome 5 Brands';
5290
+ font-weight: 400; }
5291
+
5292
+ .fa.fa-diamond {
5293
+ font-family: 'Font Awesome 5 Free';
5294
+ font-weight: 400; }
5295
+
5296
+ .fa.fa-diamond:before {
5297
+ content: "\f3a5"; }
5298
+
5299
+ .fa.fa-intersex:before {
5300
+ content: "\f224"; }
5301
+
5302
+ .fa.fa-facebook-official {
5303
+ font-family: 'Font Awesome 5 Brands';
5304
+ font-weight: 400; }
5305
+
5306
+ .fa.fa-facebook-official:before {
5307
+ content: "\f09a"; }
5308
+
5309
+ .fa.fa-pinterest-p {
5310
+ font-family: 'Font Awesome 5 Brands';
5311
+ font-weight: 400; }
5312
+
5313
+ .fa.fa-whatsapp {
5314
+ font-family: 'Font Awesome 5 Brands';
5315
+ font-weight: 400; }
5316
+
5317
+ .fa.fa-hotel:before {
5318
+ content: "\f236"; }
5319
+
5320
+ .fa.fa-viacoin {
5321
+ font-family: 'Font Awesome 5 Brands';
5322
+ font-weight: 400; }
5323
+
5324
+ .fa.fa-medium {
5325
+ font-family: 'Font Awesome 5 Brands';
5326
+ font-weight: 400; }
5327
+
5328
+ .fa.fa-y-combinator {
5329
+ font-family: 'Font Awesome 5 Brands';
5330
+ font-weight: 400; }
5331
+
5332
+ .fa.fa-yc {
5333
+ font-family: 'Font Awesome 5 Brands';
5334
+ font-weight: 400; }
5335
+
5336
+ .fa.fa-yc:before {
5337
+ content: "\f23b"; }
5338
+
5339
+ .fa.fa-optin-monster {
5340
+ font-family: 'Font Awesome 5 Brands';
5341
+ font-weight: 400; }
5342
+
5343
+ .fa.fa-opencart {
5344
+ font-family: 'Font Awesome 5 Brands';
5345
+ font-weight: 400; }
5346
+
5347
+ .fa.fa-expeditedssl {
5348
+ font-family: 'Font Awesome 5 Brands';
5349
+ font-weight: 400; }
5350
+
5351
+ .fa.fa-battery-4:before {
5352
+ content: "\f240"; }
5353
+
5354
+ .fa.fa-battery:before {
5355
+ content: "\f240"; }
5356
+
5357
+ .fa.fa-battery-3:before {
5358
+ content: "\f241"; }
5359
+
5360
+ .fa.fa-battery-2:before {
5361
+ content: "\f242"; }
5362
+
5363
+ .fa.fa-battery-1:before {
5364
+ content: "\f243"; }
5365
+
5366
+ .fa.fa-battery-0:before {
5367
+ content: "\f244"; }
5368
+
5369
+ .fa.fa-object-group {
5370
+ font-family: 'Font Awesome 5 Free';
5371
+ font-weight: 400; }
5372
+
5373
+ .fa.fa-object-ungroup {
5374
+ font-family: 'Font Awesome 5 Free';
5375
+ font-weight: 400; }
5376
+
5377
+ .fa.fa-sticky-note-o {
5378
+ font-family: 'Font Awesome 5 Free';
5379
+ font-weight: 400; }
5380
+
5381
+ .fa.fa-sticky-note-o:before {
5382
+ content: "\f249"; }
5383
+
5384
+ .fa.fa-cc-jcb {
5385
+ font-family: 'Font Awesome 5 Brands';
5386
+ font-weight: 400; }
5387
+
5388
+ .fa.fa-cc-diners-club {
5389
+ font-family: 'Font Awesome 5 Brands';
5390
+ font-weight: 400; }
5391
+
5392
+ .fa.fa-clone {
5393
+ font-family: 'Font Awesome 5 Free';
5394
+ font-weight: 400; }
5395
+
5396
+ .fa.fa-hourglass-o {
5397
+ font-family: 'Font Awesome 5 Free';
5398
+ font-weight: 400; }
5399
+
5400
+ .fa.fa-hourglass-o:before {
5401
+ content: "\f254"; }
5402
+
5403
+ .fa.fa-hourglass-1:before {
5404
+ content: "\f251"; }
5405
+
5406
+ .fa.fa-hourglass-2:before {
5407
+ content: "\f252"; }
5408
+
5409
+ .fa.fa-hourglass-3:before {
5410
+ content: "\f253"; }
5411
+
5412
+ .fa.fa-hand-rock-o {
5413
+ font-family: 'Font Awesome 5 Free';
5414
+ font-weight: 400; }
5415
+
5416
+ .fa.fa-hand-rock-o:before {
5417
+ content: "\f255"; }
5418
+
5419
+ .fa.fa-hand-grab-o {
5420
+ font-family: 'Font Awesome 5 Free';
5421
+ font-weight: 400; }
5422
+
5423
+ .fa.fa-hand-grab-o:before {
5424
+ content: "\f255"; }
5425
+
5426
+ .fa.fa-hand-paper-o {
5427
+ font-family: 'Font Awesome 5 Free';
5428
+ font-weight: 400; }
5429
+
5430
+ .fa.fa-hand-paper-o:before {
5431
+ content: "\f256"; }
5432
+
5433
+ .fa.fa-hand-stop-o {
5434
+ font-family: 'Font Awesome 5 Free';
5435
+ font-weight: 400; }
5436
+
5437
+ .fa.fa-hand-stop-o:before {
5438
+ content: "\f256"; }
5439
+
5440
+ .fa.fa-hand-scissors-o {
5441
+ font-family: 'Font Awesome 5 Free';
5442
+ font-weight: 400; }
5443
+
5444
+ .fa.fa-hand-scissors-o:before {
5445
+ content: "\f257"; }
5446
+
5447
+ .fa.fa-hand-lizard-o {
5448
+ font-family: 'Font Awesome 5 Free';
5449
+ font-weight: 400; }
5450
+
5451
+ .fa.fa-hand-lizard-o:before {
5452
+ content: "\f258"; }
5453
+
5454
+ .fa.fa-hand-spock-o {
5455
+ font-family: 'Font Awesome 5 Free';
5456
+ font-weight: 400; }
5457
+
5458
+ .fa.fa-hand-spock-o:before {
5459
+ content: "\f259"; }
5460
+
5461
+ .fa.fa-hand-pointer-o {
5462
+ font-family: 'Font Awesome 5 Free';
5463
+ font-weight: 400; }
5464
+
5465
+ .fa.fa-hand-pointer-o:before {
5466
+ content: "\f25a"; }
5467
+
5468
+ .fa.fa-hand-peace-o {
5469
+ font-family: 'Font Awesome 5 Free';
5470
+ font-weight: 400; }
5471
+
5472
+ .fa.fa-hand-peace-o:before {
5473
+ content: "\f25b"; }
5474
+
5475
+ .fa.fa-registered {
5476
+ font-family: 'Font Awesome 5 Free';
5477
+ font-weight: 400; }
5478
+
5479
+ .fa.fa-creative-commons {
5480
+ font-family: 'Font Awesome 5 Brands';
5481
+ font-weight: 400; }
5482
+
5483
+ .fa.fa-gg {
5484
+ font-family: 'Font Awesome 5 Brands';
5485
+ font-weight: 400; }
5486
+
5487
+ .fa.fa-gg-circle {
5488
+ font-family: 'Font Awesome 5 Brands';
5489
+ font-weight: 400; }
5490
+
5491
+ .fa.fa-tripadvisor {
5492
+ font-family: 'Font Awesome 5 Brands';
5493
+ font-weight: 400; }
5494
+
5495
+ .fa.fa-odnoklassniki {
5496
+ font-family: 'Font Awesome 5 Brands';
5497
+ font-weight: 400; }
5498
+
5499
+ .fa.fa-odnoklassniki-square {
5500
+ font-family: 'Font Awesome 5 Brands';
5501
+ font-weight: 400; }
5502
+
5503
+ .fa.fa-get-pocket {
5504
+ font-family: 'Font Awesome 5 Brands';
5505
+ font-weight: 400; }
5506
+
5507
+ .fa.fa-wikipedia-w {
5508
+ font-family: 'Font Awesome 5 Brands';
5509
+ font-weight: 400; }
5510
+
5511
+ .fa.fa-safari {
5512
+ font-family: 'Font Awesome 5 Brands';
5513
+ font-weight: 400; }
5514
+
5515
+ .fa.fa-chrome {
5516
+ font-family: 'Font Awesome 5 Brands';
5517
+ font-weight: 400; }
5518
+
5519
+ .fa.fa-firefox {
5520
+ font-family: 'Font Awesome 5 Brands';
5521
+ font-weight: 400; }
5522
+
5523
+ .fa.fa-opera {
5524
+ font-family: 'Font Awesome 5 Brands';
5525
+ font-weight: 400; }
5526
+
5527
+ .fa.fa-internet-explorer {
5528
+ font-family: 'Font Awesome 5 Brands';
5529
+ font-weight: 400; }
5530
+
5531
+ .fa.fa-television:before {
5532
+ content: "\f26c"; }
5533
+
5534
+ .fa.fa-contao {
5535
+ font-family: 'Font Awesome 5 Brands';
5536
+ font-weight: 400; }
5537
+
5538
+ .fa.fa-500px {
5539
+ font-family: 'Font Awesome 5 Brands';
5540
+ font-weight: 400; }
5541
+
5542
+ .fa.fa-amazon {
5543
+ font-family: 'Font Awesome 5 Brands';
5544
+ font-weight: 400; }
5545
+
5546
+ .fa.fa-calendar-plus-o {
5547
+ font-family: 'Font Awesome 5 Free';
5548
+ font-weight: 400; }
5549
+
5550
+ .fa.fa-calendar-plus-o:before {
5551
+ content: "\f271"; }
5552
+
5553
+ .fa.fa-calendar-minus-o {
5554
+ font-family: 'Font Awesome 5 Free';
5555
+ font-weight: 400; }
5556
+
5557
+ .fa.fa-calendar-minus-o:before {
5558
+ content: "\f272"; }
5559
+
5560
+ .fa.fa-calendar-times-o {
5561
+ font-family: 'Font Awesome 5 Free';
5562
+ font-weight: 400; }
5563
+
5564
+ .fa.fa-calendar-times-o:before {
5565
+ content: "\f273"; }
5566
+
5567
+ .fa.fa-calendar-check-o {
5568
+ font-family: 'Font Awesome 5 Free';
5569
+ font-weight: 400; }
5570
+
5571
+ .fa.fa-calendar-check-o:before {
5572
+ content: "\f274"; }
5573
+
5574
+ .fa.fa-map-o {
5575
+ font-family: 'Font Awesome 5 Free';
5576
+ font-weight: 400; }
5577
+
5578
+ .fa.fa-map-o:before {
5579
+ content: "\f279"; }
5580
+
5581
+ .fa.fa-commenting {
5582
+ font-family: 'Font Awesome 5 Free';
5583
+ font-weight: 400; }
5584
+
5585
+ .fa.fa-commenting:before {
5586
+ content: "\f4ad"; }
5587
+
5588
+ .fa.fa-commenting-o {
5589
+ font-family: 'Font Awesome 5 Free';
5590
+ font-weight: 400; }
5591
+
5592
+ .fa.fa-commenting-o:before {
5593
+ content: "\f4ad"; }
5594
+
5595
+ .fa.fa-houzz {
5596
+ font-family: 'Font Awesome 5 Brands';
5597
+ font-weight: 400; }
5598
+
5599
+ .fa.fa-vimeo {
5600
+ font-family: 'Font Awesome 5 Brands';
5601
+ font-weight: 400; }
5602
+
5603
+ .fa.fa-vimeo:before {
5604
+ content: "\f27d"; }
5605
+
5606
+ .fa.fa-black-tie {
5607
+ font-family: 'Font Awesome 5 Brands';
5608
+ font-weight: 400; }
5609
+
5610
+ .fa.fa-fonticons {
5611
+ font-family: 'Font Awesome 5 Brands';
5612
+ font-weight: 400; }
5613
+
5614
+ .fa.fa-reddit-alien {
5615
+ font-family: 'Font Awesome 5 Brands';
5616
+ font-weight: 400; }
5617
+
5618
+ .fa.fa-edge {
5619
+ font-family: 'Font Awesome 5 Brands';
5620
+ font-weight: 400; }
5621
+
5622
+ .fa.fa-credit-card-alt:before {
5623
+ content: "\f09d"; }
5624
+
5625
+ .fa.fa-codiepie {
5626
+ font-family: 'Font Awesome 5 Brands';
5627
+ font-weight: 400; }
5628
+
5629
+ .fa.fa-modx {
5630
+ font-family: 'Font Awesome 5 Brands';
5631
+ font-weight: 400; }
5632
+
5633
+ .fa.fa-fort-awesome {
5634
+ font-family: 'Font Awesome 5 Brands';
5635
+ font-weight: 400; }
5636
+
5637
+ .fa.fa-usb {
5638
+ font-family: 'Font Awesome 5 Brands';
5639
+ font-weight: 400; }
5640
+
5641
+ .fa.fa-product-hunt {
5642
+ font-family: 'Font Awesome 5 Brands';
5643
+ font-weight: 400; }
5644
+
5645
+ .fa.fa-mixcloud {
5646
+ font-family: 'Font Awesome 5 Brands';
5647
+ font-weight: 400; }
5648
+
5649
+ .fa.fa-scribd {
5650
+ font-family: 'Font Awesome 5 Brands';
5651
+ font-weight: 400; }
5652
+
5653
+ .fa.fa-pause-circle-o {
5654
+ font-family: 'Font Awesome 5 Free';
5655
+ font-weight: 400; }
5656
+
5657
+ .fa.fa-pause-circle-o:before {
5658
+ content: "\f28b"; }
5659
+
5660
+ .fa.fa-stop-circle-o {
5661
+ font-family: 'Font Awesome 5 Free';
5662
+ font-weight: 400; }
5663
+
5664
+ .fa.fa-stop-circle-o:before {
5665
+ content: "\f28d"; }
5666
+
5667
+ .fa.fa-bluetooth {
5668
+ font-family: 'Font Awesome 5 Brands';
5669
+ font-weight: 400; }
5670
+
5671
+ .fa.fa-bluetooth-b {
5672
+ font-family: 'Font Awesome 5 Brands';
5673
+ font-weight: 400; }
5674
+
5675
+ .fa.fa-gitlab {
5676
+ font-family: 'Font Awesome 5 Brands';
5677
+ font-weight: 400; }
5678
+
5679
+ .fa.fa-wpbeginner {
5680
+ font-family: 'Font Awesome 5 Brands';
5681
+ font-weight: 400; }
5682
+
5683
+ .fa.fa-wpforms {
5684
+ font-family: 'Font Awesome 5 Brands';
5685
+ font-weight: 400; }
5686
+
5687
+ .fa.fa-envira {
5688
+ font-family: 'Font Awesome 5 Brands';
5689
+ font-weight: 400; }
5690
+
5691
+ .fa.fa-wheelchair-alt {
5692
+ font-family: 'Font Awesome 5 Brands';
5693
+ font-weight: 400; }
5694
+
5695
+ .fa.fa-wheelchair-alt:before {
5696
+ content: "\f368"; }
5697
+
5698
+ .fa.fa-question-circle-o {
5699
+ font-family: 'Font Awesome 5 Free';
5700
+ font-weight: 400; }
5701
+
5702
+ .fa.fa-question-circle-o:before {
5703
+ content: "\f059"; }
5704
+
5705
+ .fa.fa-volume-control-phone:before {
5706
+ content: "\f2a0"; }
5707
+
5708
+ .fa.fa-asl-interpreting:before {
5709
+ content: "\f2a3"; }
5710
+
5711
+ .fa.fa-deafness:before {
5712
+ content: "\f2a4"; }
5713
+
5714
+ .fa.fa-hard-of-hearing:before {
5715
+ content: "\f2a4"; }
5716
+
5717
+ .fa.fa-glide {
5718
+ font-family: 'Font Awesome 5 Brands';
5719
+ font-weight: 400; }
5720
+
5721
+ .fa.fa-glide-g {
5722
+ font-family: 'Font Awesome 5 Brands';
5723
+ font-weight: 400; }
5724
+
5725
+ .fa.fa-signing:before {
5726
+ content: "\f2a7"; }
5727
+
5728
+ .fa.fa-viadeo {
5729
+ font-family: 'Font Awesome 5 Brands';
5730
+ font-weight: 400; }
5731
+
5732
+ .fa.fa-viadeo-square {
5733
+ font-family: 'Font Awesome 5 Brands';
5734
+ font-weight: 400; }
5735
+
5736
+ .fa.fa-snapchat {
5737
+ font-family: 'Font Awesome 5 Brands';
5738
+ font-weight: 400; }
5739
+
5740
+ .fa.fa-snapchat-ghost {
5741
+ font-family: 'Font Awesome 5 Brands';
5742
+ font-weight: 400; }
5743
+
5744
+ .fa.fa-snapchat-square {
5745
+ font-family: 'Font Awesome 5 Brands';
5746
+ font-weight: 400; }
5747
+
5748
+ .fa.fa-pied-piper {
5749
+ font-family: 'Font Awesome 5 Brands';
5750
+ font-weight: 400; }
5751
+
5752
+ .fa.fa-first-order {
5753
+ font-family: 'Font Awesome 5 Brands';
5754
+ font-weight: 400; }
5755
+
5756
+ .fa.fa-yoast {
5757
+ font-family: 'Font Awesome 5 Brands';
5758
+ font-weight: 400; }
5759
+
5760
+ .fa.fa-themeisle {
5761
+ font-family: 'Font Awesome 5 Brands';
5762
+ font-weight: 400; }
5763
+
5764
+ .fa.fa-google-plus-official {
5765
+ font-family: 'Font Awesome 5 Brands';
5766
+ font-weight: 400; }
5767
+
5768
+ .fa.fa-google-plus-official:before {
5769
+ content: "\f2b3"; }
5770
+
5771
+ .fa.fa-google-plus-circle {
5772
+ font-family: 'Font Awesome 5 Brands';
5773
+ font-weight: 400; }
5774
+
5775
+ .fa.fa-google-plus-circle:before {
5776
+ content: "\f2b3"; }
5777
+
5778
+ .fa.fa-font-awesome {
5779
+ font-family: 'Font Awesome 5 Brands';
5780
+ font-weight: 400; }
5781
+
5782
+ .fa.fa-fa {
5783
+ font-family: 'Font Awesome 5 Brands';
5784
+ font-weight: 400; }
5785
+
5786
+ .fa.fa-fa:before {
5787
+ content: "\f2b4"; }
5788
+
5789
+ .fa.fa-handshake-o {
5790
+ font-family: 'Font Awesome 5 Free';
5791
+ font-weight: 400; }
5792
+
5793
+ .fa.fa-handshake-o:before {
5794
+ content: "\f2b5"; }
5795
+
5796
+ .fa.fa-envelope-open-o {
5797
+ font-family: 'Font Awesome 5 Free';
5798
+ font-weight: 400; }
5799
+
5800
+ .fa.fa-envelope-open-o:before {
5801
+ content: "\f2b6"; }
5802
+
5803
+ .fa.fa-linode {
5804
+ font-family: 'Font Awesome 5 Brands';
5805
+ font-weight: 400; }
5806
+
5807
+ .fa.fa-address-book-o {
5808
+ font-family: 'Font Awesome 5 Free';
5809
+ font-weight: 400; }
5810
+
5811
+ .fa.fa-address-book-o:before {
5812
+ content: "\f2b9"; }
5813
+
5814
+ .fa.fa-vcard:before {
5815
+ content: "\f2bb"; }
5816
+
5817
+ .fa.fa-address-card-o {
5818
+ font-family: 'Font Awesome 5 Free';
5819
+ font-weight: 400; }
5820
+
5821
+ .fa.fa-address-card-o:before {
5822
+ content: "\f2bb"; }
5823
+
5824
+ .fa.fa-vcard-o {
5825
+ font-family: 'Font Awesome 5 Free';
5826
+ font-weight: 400; }
5827
+
5828
+ .fa.fa-vcard-o:before {
5829
+ content: "\f2bb"; }
5830
+
5831
+ .fa.fa-user-circle-o {
5832
+ font-family: 'Font Awesome 5 Free';
5833
+ font-weight: 400; }
5834
+
5835
+ .fa.fa-user-circle-o:before {
5836
+ content: "\f2bd"; }
5837
+
5838
+ .fa.fa-user-o {
5839
+ font-family: 'Font Awesome 5 Free';
5840
+ font-weight: 400; }
5841
+
5842
+ .fa.fa-user-o:before {
5843
+ content: "\f007"; }
5844
+
5845
+ .fa.fa-id-badge {
5846
+ font-family: 'Font Awesome 5 Free';
5847
+ font-weight: 400; }
5848
+
5849
+ .fa.fa-drivers-license:before {
5850
+ content: "\f2c2"; }
5851
+
5852
+ .fa.fa-id-card-o {
5853
+ font-family: 'Font Awesome 5 Free';
5854
+ font-weight: 400; }
5855
+
5856
+ .fa.fa-id-card-o:before {
5857
+ content: "\f2c2"; }
5858
+
5859
+ .fa.fa-drivers-license-o {
5860
+ font-family: 'Font Awesome 5 Free';
5861
+ font-weight: 400; }
5862
+
5863
+ .fa.fa-drivers-license-o:before {
5864
+ content: "\f2c2"; }
5865
+
5866
+ .fa.fa-quora {
5867
+ font-family: 'Font Awesome 5 Brands';
5868
+ font-weight: 400; }
5869
+
5870
+ .fa.fa-free-code-camp {
5871
+ font-family: 'Font Awesome 5 Brands';
5872
+ font-weight: 400; }
5873
+
5874
+ .fa.fa-telegram {
5875
+ font-family: 'Font Awesome 5 Brands';
5876
+ font-weight: 400; }
5877
+
5878
+ .fa.fa-thermometer-4:before {
5879
+ content: "\f2c7"; }
5880
+
5881
+ .fa.fa-thermometer:before {
5882
+ content: "\f2c7"; }
5883
+
5884
+ .fa.fa-thermometer-3:before {
5885
+ content: "\f2c8"; }
5886
+
5887
+ .fa.fa-thermometer-2:before {
5888
+ content: "\f2c9"; }
5889
+
5890
+ .fa.fa-thermometer-1:before {
5891
+ content: "\f2ca"; }
5892
+
5893
+ .fa.fa-thermometer-0:before {
5894
+ content: "\f2cb"; }
5895
+
5896
+ .fa.fa-bathtub:before {
5897
+ content: "\f2cd"; }
5898
+
5899
+ .fa.fa-s15:before {
5900
+ content: "\f2cd"; }
5901
+
5902
+ .fa.fa-window-maximize {
5903
+ font-family: 'Font Awesome 5 Free';
5904
+ font-weight: 400; }
5905
+
5906
+ .fa.fa-window-restore {
5907
+ font-family: 'Font Awesome 5 Free';
5908
+ font-weight: 400; }
5909
+
5910
+ .fa.fa-times-rectangle:before {
5911
+ content: "\f410"; }
5912
+
5913
+ .fa.fa-window-close-o {
5914
+ font-family: 'Font Awesome 5 Free';
5915
+ font-weight: 400; }
5916
+
5917
+ .fa.fa-window-close-o:before {
5918
+ content: "\f410"; }
5919
+
5920
+ .fa.fa-times-rectangle-o {
5921
+ font-family: 'Font Awesome 5 Free';
5922
+ font-weight: 400; }
5923
+
5924
+ .fa.fa-times-rectangle-o:before {
5925
+ content: "\f410"; }
5926
+
5927
+ .fa.fa-bandcamp {
5928
+ font-family: 'Font Awesome 5 Brands';
5929
+ font-weight: 400; }
5930
+
5931
+ .fa.fa-grav {
5932
+ font-family: 'Font Awesome 5 Brands';
5933
+ font-weight: 400; }
5934
+
5935
+ .fa.fa-etsy {
5936
+ font-family: 'Font Awesome 5 Brands';
5937
+ font-weight: 400; }
5938
+
5939
+ .fa.fa-imdb {
5940
+ font-family: 'Font Awesome 5 Brands';
5941
+ font-weight: 400; }
5942
+
5943
+ .fa.fa-ravelry {
5944
+ font-family: 'Font Awesome 5 Brands';
5945
+ font-weight: 400; }
5946
+
5947
+ .fa.fa-eercast {
5948
+ font-family: 'Font Awesome 5 Brands';
5949
+ font-weight: 400; }
5950
+
5951
+ .fa.fa-eercast:before {
5952
+ content: "\f2da"; }
5953
+
5954
+ .fa.fa-snowflake-o {
5955
+ font-family: 'Font Awesome 5 Free';
5956
+ font-weight: 400; }
5957
+
5958
+ .fa.fa-snowflake-o:before {
5959
+ content: "\f2dc"; }
5960
+
5961
+ .fa.fa-superpowers {
5962
+ font-family: 'Font Awesome 5 Brands';
5963
+ font-weight: 400; }
5964
+
5965
+ .fa.fa-wpexplorer {
5966
+ font-family: 'Font Awesome 5 Brands';
5967
+ font-weight: 400; }
5968
+
5969
+ .fa.fa-spotify {
5970
+ font-family: 'Font Awesome 5 Brands';
5971
+ font-weight: 400; }
berocket/assets/css/fontawesome5.min.css CHANGED
@@ -1,12 +1,12 @@
1
- /*!
2
- * Font Awesome Free 5.3.1 by @fontawesome - https://fontawesome.com
3
- * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
4
- */
5
- /* Regular Fonts */
6
- @font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.woff) format("woff"),url(../webfonts/fa-regular-400.ttf) format("truetype")}.far{font-family:"Font Awesome 5 Free";font-weight:400}
7
- /* Solid Fonts */
8
- @font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.woff) format("woff"),url(../webfonts/fa-solid-900.ttf) format("truetype")}.fa,.fas{font-family:"Font Awesome 5 Free";font-weight:900}
9
- /* Main fontawesome */
10
- .fa,.fab,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{animation:fa-spin 2s infinite linear}.fa-pulse{animation:fa-spin 1s infinite steps(8)}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-balance-scale:before{content:"\f24e"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blind:before{content:"\f29d"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-certificate:before{content:"\f0a3"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-concierge-bell:before{content:"\f562"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-credit-card:before{content:"\f09d"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-delicious:before{content:"\f1a5"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-diagnoses:before{content:"\f470"}.fa-dice:before{content:"\f522"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edit:before{content:"\f044"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-gift:before{content:"\f06b"}.fa-git:before{content:"\f1d3"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-handshake:before{content:"\f2b5"}.fa-hashtag:before{content:"\f292"}.fa-haykal:before{content:"\f666"}.fa-hdd:before{content:"\f0a0"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hockey-puck:before{content:"\f453"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hot-tub:before{content:"\f593"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-houzz:before{content:"\f27c"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-instagram:before{content:"\f16d"}.fa-internet-explorer:before{content:"\f26b"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mouse-pointer:before{content:"\f245"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-nintendo-switch:before{content:"\f418"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-osi:before{content:"\f41a"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-people-carry:before{content:"\f4ce"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-volume:before{content:"\f2a0"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-random:before{content:"\f074"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-rendact:before{content:"\f3e4"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-rupee-sign:before{content:"\f156"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-sass:before{content:"\f41e"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-simplybuilt:before{content:"\f215"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skull:before{content:"\f54c"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowflake:before{content:"\f2dc"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-swatchbook:before{content:"\f5c3"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toolbox:before{content:"\f552"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-train:before{content:"\f238"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-uikit:before{content:"\f403"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}
11
- /* FA-4 Compatibility */
12
- .fa.fa-glass:before{content:"\f000"}.fa.fa-meetup{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-star-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-star-o:before{content:"\f005"}.fa.fa-close:before,.fa.fa-remove:before{content:"\f00d"}.fa.fa-gear:before{content:"\f013"}.fa.fa-trash-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-trash-o:before{content:"\f2ed"}.fa.fa-file-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-o:before{content:"\f15b"}.fa.fa-clock-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-clock-o:before{content:"\f017"}.fa.fa-arrow-circle-o-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-arrow-circle-o-down:before{content:"\f358"}.fa.fa-arrow-circle-o-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-arrow-circle-o-up:before{content:"\f35b"}.fa.fa-play-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-play-circle-o:before{content:"\f144"}.fa.fa-repeat:before,.fa.fa-rotate-right:before{content:"\f01e"}.fa.fa-refresh:before{content:"\f021"}.fa.fa-list-alt{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-dedent:before{content:"\f03b"}.fa.fa-video-camera:before{content:"\f03d"}.fa.fa-picture-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-picture-o:before{content:"\f03e"}.fa.fa-photo{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-photo:before{content:"\f03e"}.fa.fa-image{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-image:before{content:"\f03e"}.fa.fa-pencil:before{content:"\f303"}.fa.fa-map-marker:before{content:"\f3c5"}.fa.fa-pencil-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-pencil-square-o:before{content:"\f044"}.fa.fa-share-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-share-square-o:before{content:"\f14d"}.fa.fa-check-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-check-square-o:before{content:"\f14a"}.fa.fa-arrows:before{content:"\f0b2"}.fa.fa-times-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-times-circle-o:before{content:"\f057"}.fa.fa-check-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-check-circle-o:before{content:"\f058"}.fa.fa-mail-forward:before{content:"\f064"}.fa.fa-eye,.fa.fa-eye-slash{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-warning:before{content:"\f071"}.fa.fa-calendar:before{content:"\f073"}.fa.fa-arrows-v:before{content:"\f338"}.fa.fa-arrows-h:before{content:"\f337"}.fa.fa-bar-chart{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bar-chart:before{content:"\f080"}.fa.fa-bar-chart-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bar-chart-o:before{content:"\f080"}.fa.fa-facebook-square,.fa.fa-twitter-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-gears:before{content:"\f085"}.fa.fa-thumbs-o-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-thumbs-o-up:before{content:"\f164"}.fa.fa-thumbs-o-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-thumbs-o-down:before{content:"\f165"}.fa.fa-heart-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-heart-o:before{content:"\f004"}.fa.fa-sign-out:before{content:"\f2f5"}.fa.fa-linkedin-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-linkedin-square:before{content:"\f08c"}.fa.fa-thumb-tack:before{content:"\f08d"}.fa.fa-external-link:before{content:"\f35d"}.fa.fa-sign-in:before{content:"\f2f6"}.fa.fa-github-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-lemon-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-lemon-o:before{content:"\f094"}.fa.fa-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-square-o:before{content:"\f0c8"}.fa.fa-bookmark-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bookmark-o:before{content:"\f02e"}.fa.fa-facebook,.fa.fa-twitter{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-facebook:before{content:"\f39e"}.fa.fa-facebook-f{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-facebook-f:before{content:"\f39e"}.fa.fa-github{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-credit-card{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-feed:before{content:"\f09e"}.fa.fa-hdd-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hdd-o:before{content:"\f0a0"}.fa.fa-hand-o-right{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-o-right:before{content:"\f0a4"}.fa.fa-hand-o-left{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-o-left:before{content:"\f0a5"}.fa.fa-hand-o-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-o-up:before{content:"\f0a6"}.fa.fa-hand-o-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-o-down:before{content:"\f0a7"}.fa.fa-arrows-alt:before{content:"\f31e"}.fa.fa-group:before{content:"\f0c0"}.fa.fa-chain:before{content:"\f0c1"}.fa.fa-scissors:before{content:"\f0c4"}.fa.fa-files-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-files-o:before{content:"\f0c5"}.fa.fa-floppy-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-floppy-o:before{content:"\f0c7"}.fa.fa-navicon:before,.fa.fa-reorder:before{content:"\f0c9"}.fa.fa-google-plus,.fa.fa-google-plus-square,.fa.fa-pinterest,.fa.fa-pinterest-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-google-plus:before{content:"\f0d5"}.fa.fa-money{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-money:before{content:"\f3d1"}.fa.fa-unsorted:before{content:"\f0dc"}.fa.fa-sort-desc:before{content:"\f0dd"}.fa.fa-sort-asc:before{content:"\f0de"}.fa.fa-linkedin{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-linkedin:before{content:"\f0e1"}.fa.fa-rotate-left:before{content:"\f0e2"}.fa.fa-legal:before{content:"\f0e3"}.fa.fa-dashboard:before,.fa.fa-tachometer:before{content:"\f3fd"}.fa.fa-comment-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-comment-o:before{content:"\f075"}.fa.fa-comments-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-comments-o:before{content:"\f086"}.fa.fa-flash:before{content:"\f0e7"}.fa.fa-clipboard,.fa.fa-paste{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-paste:before{content:"\f328"}.fa.fa-lightbulb-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-lightbulb-o:before{content:"\f0eb"}.fa.fa-exchange:before{content:"\f362"}.fa.fa-cloud-download:before{content:"\f381"}.fa.fa-cloud-upload:before{content:"\f382"}.fa.fa-bell-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bell-o:before{content:"\f0f3"}.fa.fa-cutlery:before{content:"\f2e7"}.fa.fa-file-text-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-text-o:before{content:"\f15c"}.fa.fa-building-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-building-o:before{content:"\f1ad"}.fa.fa-hospital-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hospital-o:before{content:"\f0f8"}.fa.fa-tablet:before{content:"\f3fa"}.fa.fa-mobile-phone:before,.fa.fa-mobile:before{content:"\f3cd"}.fa.fa-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-circle-o:before{content:"\f111"}.fa.fa-mail-reply:before{content:"\f3e5"}.fa.fa-github-alt{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-folder-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-folder-o:before{content:"\f07b"}.fa.fa-folder-open-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-folder-open-o:before{content:"\f07c"}.fa.fa-smile-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-smile-o:before{content:"\f118"}.fa.fa-frown-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-frown-o:before{content:"\f119"}.fa.fa-meh-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-meh-o:before{content:"\f11a"}.fa.fa-keyboard-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-keyboard-o:before{content:"\f11c"}.fa.fa-flag-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-flag-o:before{content:"\f024"}.fa.fa-mail-reply-all:before{content:"\f122"}.fa.fa-star-half-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-star-half-o:before{content:"\f089"}.fa.fa-star-half-empty{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-star-half-empty:before{content:"\f089"}.fa.fa-star-half-full{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-star-half-full:before{content:"\f089"}.fa.fa-code-fork:before{content:"\f126"}.fa.fa-chain-broken:before{content:"\f127"}.fa.fa-shield:before{content:"\f3ed"}.fa.fa-calendar-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-o:before{content:"\f133"}.fa.fa-css3,.fa.fa-html5,.fa.fa-maxcdn{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-ticket:before{content:"\f3ff"}.fa.fa-minus-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-minus-square-o:before{content:"\f146"}.fa.fa-level-up:before{content:"\f3bf"}.fa.fa-level-down:before{content:"\f3be"}.fa.fa-pencil-square:before{content:"\f14b"}.fa.fa-external-link-square:before{content:"\f360"}.fa.fa-compass{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-down:before{content:"\f150"}.fa.fa-toggle-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-toggle-down:before{content:"\f150"}.fa.fa-caret-square-o-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-up:before{content:"\f151"}.fa.fa-toggle-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-toggle-up:before{content:"\f151"}.fa.fa-caret-square-o-right{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-right:before{content:"\f152"}.fa.fa-toggle-right{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-toggle-right:before{content:"\f152"}.fa.fa-eur:before,.fa.fa-euro:before{content:"\f153"}.fa.fa-gbp:before{content:"\f154"}.fa.fa-dollar:before,.fa.fa-usd:before{content:"\f155"}.fa.fa-inr:before,.fa.fa-rupee:before{content:"\f156"}.fa.fa-cny:before,.fa.fa-jpy:before,.fa.fa-rmb:before,.fa.fa-yen:before{content:"\f157"}.fa.fa-rouble:before,.fa.fa-rub:before,.fa.fa-ruble:before{content:"\f158"}.fa.fa-krw:before,.fa.fa-won:before{content:"\f159"}.fa.fa-bitcoin,.fa.fa-btc{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-bitcoin:before{content:"\f15a"}.fa.fa-file-text:before{content:"\f15c"}.fa.fa-sort-alpha-asc:before{content:"\f15d"}.fa.fa-sort-alpha-desc:before{content:"\f15e"}.fa.fa-sort-amount-asc:before{content:"\f160"}.fa.fa-sort-amount-desc:before{content:"\f161"}.fa.fa-sort-numeric-asc:before{content:"\f162"}.fa.fa-sort-numeric-desc:before{content:"\f163"}.fa.fa-xing,.fa.fa-xing-square,.fa.fa-youtube,.fa.fa-youtube-play,.fa.fa-youtube-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-youtube-play:before{content:"\f167"}.fa.fa-adn,.fa.fa-bitbucket,.fa.fa-bitbucket-square,.fa.fa-dropbox,.fa.fa-flickr,.fa.fa-instagram,.fa.fa-stack-overflow{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-bitbucket-square:before{content:"\f171"}.fa.fa-tumblr,.fa.fa-tumblr-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-long-arrow-down:before{content:"\f309"}.fa.fa-long-arrow-up:before{content:"\f30c"}.fa.fa-long-arrow-left:before{content:"\f30a"}.fa.fa-long-arrow-right:before{content:"\f30b"}.fa.fa-android,.fa.fa-apple,.fa.fa-dribbble,.fa.fa-foursquare,.fa.fa-gittip,.fa.fa-gratipay,.fa.fa-linux,.fa.fa-skype,.fa.fa-trello,.fa.fa-windows{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-gittip:before{content:"\f184"}.fa.fa-sun-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-sun-o:before{content:"\f185"}.fa.fa-moon-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-moon-o:before{content:"\f186"}.fa.fa-pagelines,.fa.fa-renren,.fa.fa-stack-exchange,.fa.fa-vk,.fa.fa-weibo{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-arrow-circle-o-right{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-arrow-circle-o-right:before{content:"\f35a"}.fa.fa-arrow-circle-o-left{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-arrow-circle-o-left:before{content:"\f359"}.fa.fa-caret-square-o-left{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-left:before{content:"\f191"}.fa.fa-toggle-left{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-toggle-left:before{content:"\f191"}.fa.fa-dot-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-dot-circle-o:before{content:"\f192"}.fa.fa-vimeo-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-try:before,.fa.fa-turkish-lira:before{content:"\f195"}.fa.fa-plus-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-plus-square-o:before{content:"\f0fe"}.fa.fa-openid,.fa.fa-slack,.fa.fa-wordpress{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-bank:before,.fa.fa-institution:before{content:"\f19c"}.fa.fa-mortar-board:before{content:"\f19d"}.fa.fa-delicious,.fa.fa-digg,.fa.fa-drupal,.fa.fa-google,.fa.fa-joomla,.fa.fa-pied-piper-alt,.fa.fa-pied-piper-pp,.fa.fa-reddit,.fa.fa-reddit-square,.fa.fa-stumbleupon,.fa.fa-stumbleupon-circle,.fa.fa-yahoo{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-spoon:before{content:"\f2e5"}.fa.fa-behance,.fa.fa-behance-square,.fa.fa-steam,.fa.fa-steam-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-automobile:before{content:"\f1b9"}.fa.fa-cab:before{content:"\f1ba"}.fa.fa-envelope-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-envelope-o:before{content:"\f0e0"}.fa.fa-deviantart,.fa.fa-soundcloud{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-file-pdf-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-pdf-o:before{content:"\f1c1"}.fa.fa-file-word-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-word-o:before{content:"\f1c2"}.fa.fa-file-excel-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-excel-o:before{content:"\f1c3"}.fa.fa-file-powerpoint-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-powerpoint-o:before{content:"\f1c4"}.fa.fa-file-image-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-image-o:before{content:"\f1c5"}.fa.fa-file-photo-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-photo-o:before{content:"\f1c5"}.fa.fa-file-picture-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-picture-o:before{content:"\f1c5"}.fa.fa-file-archive-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-archive-o:before{content:"\f1c6"}.fa.fa-file-zip-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-zip-o:before{content:"\f1c6"}.fa.fa-file-audio-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-audio-o:before{content:"\f1c7"}.fa.fa-file-sound-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-sound-o:before{content:"\f1c7"}.fa.fa-file-video-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-video-o:before{content:"\f1c8"}.fa.fa-file-movie-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-movie-o:before{content:"\f1c8"}.fa.fa-file-code-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-code-o:before{content:"\f1c9"}.fa.fa-codepen,.fa.fa-jsfiddle,.fa.fa-vine{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-life-bouy,.fa.fa-life-ring{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-life-bouy:before{content:"\f1cd"}.fa.fa-life-buoy{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-life-buoy:before{content:"\f1cd"}.fa.fa-life-saver{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-life-saver:before{content:"\f1cd"}.fa.fa-support{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-support:before{content:"\f1cd"}.fa.fa-circle-o-notch:before{content:"\f1ce"}.fa.fa-ra,.fa.fa-rebel{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-ra:before{content:"\f1d0"}.fa.fa-resistance{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-resistance:before{content:"\f1d0"}.fa.fa-empire,.fa.fa-ge{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-ge:before{content:"\f1d1"}.fa.fa-git,.fa.fa-git-square,.fa.fa-hacker-news,.fa.fa-y-combinator-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-y-combinator-square:before{content:"\f1d4"}.fa.fa-yc-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-yc-square:before{content:"\f1d4"}.fa.fa-qq,.fa.fa-tencent-weibo,.fa.fa-wechat,.fa.fa-weixin{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-wechat:before{content:"\f1d7"}.fa.fa-send:before{content:"\f1d8"}.fa.fa-paper-plane-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-paper-plane-o:before{content:"\f1d8"}.fa.fa-send-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-send-o:before{content:"\f1d8"}.fa.fa-circle-thin{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-circle-thin:before{content:"\f111"}.fa.fa-header:before{content:"\f1dc"}.fa.fa-sliders:before{content:"\f1de"}.fa.fa-futbol-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-futbol-o:before{content:"\f1e3"}.fa.fa-soccer-ball-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-soccer-ball-o:before{content:"\f1e3"}.fa.fa-slideshare,.fa.fa-twitch,.fa.fa-yelp{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-newspaper-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-newspaper-o:before{content:"\f1ea"}.fa.fa-cc-amex,.fa.fa-cc-discover,.fa.fa-cc-mastercard,.fa.fa-cc-paypal,.fa.fa-cc-stripe,.fa.fa-cc-visa,.fa.fa-google-wallet,.fa.fa-paypal{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-bell-slash-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bell-slash-o:before{content:"\f1f6"}.fa.fa-trash:before{content:"\f2ed"}.fa.fa-copyright{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-eyedropper:before{content:"\f1fb"}.fa.fa-area-chart:before{content:"\f1fe"}.fa.fa-pie-chart:before{content:"\f200"}.fa.fa-line-chart:before{content:"\f201"}.fa.fa-angellist,.fa.fa-ioxhost,.fa.fa-lastfm,.fa.fa-lastfm-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-cc{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-cc:before{content:"\f20a"}.fa.fa-ils:before,.fa.fa-shekel:before,.fa.fa-sheqel:before{content:"\f20b"}.fa.fa-meanpath{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-meanpath:before{content:"\f2b4"}.fa.fa-buysellads,.fa.fa-connectdevelop,.fa.fa-dashcube,.fa.fa-forumbee,.fa.fa-leanpub,.fa.fa-sellsy,.fa.fa-shirtsinbulk,.fa.fa-simplybuilt,.fa.fa-skyatlas{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-diamond{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-diamond:before{content:"\f3a5"}.fa.fa-intersex:before{content:"\f224"}.fa.fa-facebook-official{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-facebook-official:before{content:"\f09a"}.fa.fa-pinterest-p,.fa.fa-whatsapp{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-hotel:before{content:"\f236"}.fa.fa-medium,.fa.fa-viacoin,.fa.fa-y-combinator,.fa.fa-yc{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-yc:before{content:"\f23b"}.fa.fa-expeditedssl,.fa.fa-opencart,.fa.fa-optin-monster{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-battery-4:before,.fa.fa-battery:before{content:"\f240"}.fa.fa-battery-3:before{content:"\f241"}.fa.fa-battery-2:before{content:"\f242"}.fa.fa-battery-1:before{content:"\f243"}.fa.fa-battery-0:before{content:"\f244"}.fa.fa-object-group,.fa.fa-object-ungroup,.fa.fa-sticky-note-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-sticky-note-o:before{content:"\f249"}.fa.fa-cc-diners-club,.fa.fa-cc-jcb{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-clone,.fa.fa-hourglass-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hourglass-o:before{content:"\f254"}.fa.fa-hourglass-1:before{content:"\f251"}.fa.fa-hourglass-2:before{content:"\f252"}.fa.fa-hourglass-3:before{content:"\f253"}.fa.fa-hand-rock-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-rock-o:before{content:"\f255"}.fa.fa-hand-grab-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-grab-o:before{content:"\f255"}.fa.fa-hand-paper-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-paper-o:before{content:"\f256"}.fa.fa-hand-stop-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-stop-o:before{content:"\f256"}.fa.fa-hand-scissors-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-scissors-o:before{content:"\f257"}.fa.fa-hand-lizard-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-lizard-o:before{content:"\f258"}.fa.fa-hand-spock-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-spock-o:before{content:"\f259"}.fa.fa-hand-pointer-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-pointer-o:before{content:"\f25a"}.fa.fa-hand-peace-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-peace-o:before{content:"\f25b"}.fa.fa-registered{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-chrome,.fa.fa-creative-commons,.fa.fa-firefox,.fa.fa-get-pocket,.fa.fa-gg,.fa.fa-gg-circle,.fa.fa-internet-explorer,.fa.fa-odnoklassniki,.fa.fa-odnoklassniki-square,.fa.fa-opera,.fa.fa-safari,.fa.fa-tripadvisor,.fa.fa-wikipedia-w{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-television:before{content:"\f26c"}.fa.fa-500px,.fa.fa-amazon,.fa.fa-contao{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-calendar-plus-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-plus-o:before{content:"\f271"}.fa.fa-calendar-minus-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-minus-o:before{content:"\f272"}.fa.fa-calendar-times-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-times-o:before{content:"\f273"}.fa.fa-calendar-check-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-check-o:before{content:"\f274"}.fa.fa-map-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-map-o:before{content:"\f279"}.fa.fa-commenting{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-commenting:before{content:"\f4ad"}.fa.fa-commenting-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-commenting-o:before{content:"\f4ad"}.fa.fa-houzz,.fa.fa-vimeo{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-vimeo:before{content:"\f27d"}.fa.fa-black-tie,.fa.fa-edge,.fa.fa-fonticons,.fa.fa-reddit-alien{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-credit-card-alt:before{content:"\f09d"}.fa.fa-codiepie,.fa.fa-fort-awesome,.fa.fa-mixcloud,.fa.fa-modx,.fa.fa-product-hunt,.fa.fa-scribd,.fa.fa-usb{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-pause-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-pause-circle-o:before{content:"\f28b"}.fa.fa-stop-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-stop-circle-o:before{content:"\f28d"}.fa.fa-bluetooth,.fa.fa-bluetooth-b,.fa.fa-envira,.fa.fa-gitlab,.fa.fa-wheelchair-alt,.fa.fa-wpbeginner,.fa.fa-wpforms{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-wheelchair-alt:before{content:"\f368"}.fa.fa-question-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-question-circle-o:before{content:"\f059"}.fa.fa-volume-control-phone:before{content:"\f2a0"}.fa.fa-asl-interpreting:before{content:"\f2a3"}.fa.fa-deafness:before,.fa.fa-hard-of-hearing:before{content:"\f2a4"}.fa.fa-glide,.fa.fa-glide-g{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-signing:before{content:"\f2a7"}.fa.fa-first-order,.fa.fa-google-plus-official,.fa.fa-pied-piper,.fa.fa-snapchat,.fa.fa-snapchat-ghost,.fa.fa-snapchat-square,.fa.fa-themeisle,.fa.fa-viadeo,.fa.fa-viadeo-square,.fa.fa-yoast{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-google-plus-official:before{content:"\f2b3"}.fa.fa-google-plus-circle{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-google-plus-circle:before{content:"\f2b3"}.fa.fa-fa,.fa.fa-font-awesome{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-fa:before{content:"\f2b4"}.fa.fa-handshake-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-handshake-o:before{content:"\f2b5"}.fa.fa-envelope-open-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-envelope-open-o:before{content:"\f2b6"}.fa.fa-linode{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-address-book-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-address-book-o:before{content:"\f2b9"}.fa.fa-vcard:before{content:"\f2bb"}.fa.fa-address-card-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-address-card-o:before{content:"\f2bb"}.fa.fa-vcard-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-vcard-o:before{content:"\f2bb"}.fa.fa-user-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-user-circle-o:before{content:"\f2bd"}.fa.fa-user-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-user-o:before{content:"\f007"}.fa.fa-id-badge{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-drivers-license:before{content:"\f2c2"}.fa.fa-id-card-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-id-card-o:before{content:"\f2c2"}.fa.fa-drivers-license-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-drivers-license-o:before{content:"\f2c2"}.fa.fa-free-code-camp,.fa.fa-quora,.fa.fa-telegram{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-thermometer-4:before,.fa.fa-thermometer:before{content:"\f2c7"}.fa.fa-thermometer-3:before{content:"\f2c8"}.fa.fa-thermometer-2:before{content:"\f2c9"}.fa.fa-thermometer-1:before{content:"\f2ca"}.fa.fa-thermometer-0:before{content:"\f2cb"}.fa.fa-bathtub:before,.fa.fa-s15:before{content:"\f2cd"}.fa.fa-window-maximize,.fa.fa-window-restore{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-times-rectangle:before{content:"\f410"}.fa.fa-window-close-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-window-close-o:before{content:"\f410"}.fa.fa-times-rectangle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-times-rectangle-o:before{content:"\f410"}.fa.fa-bandcamp,.fa.fa-eercast,.fa.fa-etsy,.fa.fa-grav,.fa.fa-imdb,.fa.fa-ravelry{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-eercast:before{content:"\f2da"}.fa.fa-snowflake-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-snowflake-o:before{content:"\f2dc"}.fa.fa-spotify,.fa.fa-superpowers,.fa.fa-wpexplorer{font-family:"Font Awesome 5 Brands";font-weight:400}
1
+ /*!
2
+ * Font Awesome Free 5.3.1 by @fontawesome - https://fontawesome.com
3
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
4
+ */
5
+ /* Regular Fonts */
6
+ @font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.woff) format("woff"),url(../webfonts/fa-regular-400.ttf) format("truetype")}.far{font-family:"Font Awesome 5 Free";font-weight:400}
7
+ /* Solid Fonts */
8
+ @font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.woff) format("woff"),url(../webfonts/fa-solid-900.ttf) format("truetype")}.fa,.fas{font-family:"Font Awesome 5 Free";font-weight:900}
9
+ /* Main fontawesome */
10
+ .fa,.fab,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{animation:fa-spin 2s infinite linear}.fa-pulse{animation:fa-spin 1s infinite steps(8)}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-balance-scale:before{content:"\f24e"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blind:before{content:"\f29d"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-certificate:before{content:"\f0a3"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-concierge-bell:before{content:"\f562"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-credit-card:before{content:"\f09d"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-delicious:before{content:"\f1a5"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-diagnoses:before{content:"\f470"}.fa-dice:before{content:"\f522"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edit:before{content:"\f044"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-gift:before{content:"\f06b"}.fa-git:before{content:"\f1d3"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-handshake:before{content:"\f2b5"}.fa-hashtag:before{content:"\f292"}.fa-haykal:before{content:"\f666"}.fa-hdd:before{content:"\f0a0"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hockey-puck:before{content:"\f453"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hot-tub:before{content:"\f593"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-houzz:before{content:"\f27c"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-instagram:before{content:"\f16d"}.fa-internet-explorer:before{content:"\f26b"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mouse-pointer:before{content:"\f245"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-nintendo-switch:before{content:"\f418"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-osi:before{content:"\f41a"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-people-carry:before{content:"\f4ce"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-volume:before{content:"\f2a0"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-random:before{content:"\f074"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-rendact:before{content:"\f3e4"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-rupee-sign:before{content:"\f156"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-sass:before{content:"\f41e"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-simplybuilt:before{content:"\f215"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skull:before{content:"\f54c"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowflake:before{content:"\f2dc"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-swatchbook:before{content:"\f5c3"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toolbox:before{content:"\f552"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-train:before{content:"\f238"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-uikit:before{content:"\f403"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}
11
+ /* FA-4 Compatibility */
12
+ .fa.fa-glass:before{content:"\f000"}.fa.fa-meetup{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-star-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-star-o:before{content:"\f005"}.fa.fa-close:before,.fa.fa-remove:before{content:"\f00d"}.fa.fa-gear:before{content:"\f013"}.fa.fa-trash-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-trash-o:before{content:"\f2ed"}.fa.fa-file-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-o:before{content:"\f15b"}.fa.fa-clock-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-clock-o:before{content:"\f017"}.fa.fa-arrow-circle-o-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-arrow-circle-o-down:before{content:"\f358"}.fa.fa-arrow-circle-o-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-arrow-circle-o-up:before{content:"\f35b"}.fa.fa-play-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-play-circle-o:before{content:"\f144"}.fa.fa-repeat:before,.fa.fa-rotate-right:before{content:"\f01e"}.fa.fa-refresh:before{content:"\f021"}.fa.fa-list-alt{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-dedent:before{content:"\f03b"}.fa.fa-video-camera:before{content:"\f03d"}.fa.fa-picture-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-picture-o:before{content:"\f03e"}.fa.fa-photo{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-photo:before{content:"\f03e"}.fa.fa-image{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-image:before{content:"\f03e"}.fa.fa-pencil:before{content:"\f303"}.fa.fa-map-marker:before{content:"\f3c5"}.fa.fa-pencil-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-pencil-square-o:before{content:"\f044"}.fa.fa-share-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-share-square-o:before{content:"\f14d"}.fa.fa-check-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-check-square-o:before{content:"\f14a"}.fa.fa-arrows:before{content:"\f0b2"}.fa.fa-times-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-times-circle-o:before{content:"\f057"}.fa.fa-check-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-check-circle-o:before{content:"\f058"}.fa.fa-mail-forward:before{content:"\f064"}.fa.fa-eye,.fa.fa-eye-slash{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-warning:before{content:"\f071"}.fa.fa-calendar:before{content:"\f073"}.fa.fa-arrows-v:before{content:"\f338"}.fa.fa-arrows-h:before{content:"\f337"}.fa.fa-bar-chart{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bar-chart:before{content:"\f080"}.fa.fa-bar-chart-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bar-chart-o:before{content:"\f080"}.fa.fa-facebook-square,.fa.fa-twitter-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-gears:before{content:"\f085"}.fa.fa-thumbs-o-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-thumbs-o-up:before{content:"\f164"}.fa.fa-thumbs-o-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-thumbs-o-down:before{content:"\f165"}.fa.fa-heart-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-heart-o:before{content:"\f004"}.fa.fa-sign-out:before{content:"\f2f5"}.fa.fa-linkedin-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-linkedin-square:before{content:"\f08c"}.fa.fa-thumb-tack:before{content:"\f08d"}.fa.fa-external-link:before{content:"\f35d"}.fa.fa-sign-in:before{content:"\f2f6"}.fa.fa-github-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-lemon-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-lemon-o:before{content:"\f094"}.fa.fa-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-square-o:before{content:"\f0c8"}.fa.fa-bookmark-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bookmark-o:before{content:"\f02e"}.fa.fa-facebook,.fa.fa-twitter{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-facebook:before{content:"\f39e"}.fa.fa-facebook-f{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-facebook-f:before{content:"\f39e"}.fa.fa-github{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-credit-card{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-feed:before{content:"\f09e"}.fa.fa-hdd-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hdd-o:before{content:"\f0a0"}.fa.fa-hand-o-right{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-o-right:before{content:"\f0a4"}.fa.fa-hand-o-left{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-o-left:before{content:"\f0a5"}.fa.fa-hand-o-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-o-up:before{content:"\f0a6"}.fa.fa-hand-o-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-o-down:before{content:"\f0a7"}.fa.fa-arrows-alt:before{content:"\f31e"}.fa.fa-group:before{content:"\f0c0"}.fa.fa-chain:before{content:"\f0c1"}.fa.fa-scissors:before{content:"\f0c4"}.fa.fa-files-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-files-o:before{content:"\f0c5"}.fa.fa-floppy-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-floppy-o:before{content:"\f0c7"}.fa.fa-navicon:before,.fa.fa-reorder:before{content:"\f0c9"}.fa.fa-google-plus,.fa.fa-google-plus-square,.fa.fa-pinterest,.fa.fa-pinterest-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-google-plus:before{content:"\f0d5"}.fa.fa-money{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-money:before{content:"\f3d1"}.fa.fa-unsorted:before{content:"\f0dc"}.fa.fa-sort-desc:before{content:"\f0dd"}.fa.fa-sort-asc:before{content:"\f0de"}.fa.fa-linkedin{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-linkedin:before{content:"\f0e1"}.fa.fa-rotate-left:before{content:"\f0e2"}.fa.fa-legal:before{content:"\f0e3"}.fa.fa-dashboard:before,.fa.fa-tachometer:before{content:"\f3fd"}.fa.fa-comment-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-comment-o:before{content:"\f075"}.fa.fa-comments-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-comments-o:before{content:"\f086"}.fa.fa-flash:before{content:"\f0e7"}.fa.fa-clipboard,.fa.fa-paste{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-paste:before{content:"\f328"}.fa.fa-lightbulb-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-lightbulb-o:before{content:"\f0eb"}.fa.fa-exchange:before{content:"\f362"}.fa.fa-cloud-download:before{content:"\f381"}.fa.fa-cloud-upload:before{content:"\f382"}.fa.fa-bell-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bell-o:before{content:"\f0f3"}.fa.fa-cutlery:before{content:"\f2e7"}.fa.fa-file-text-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-text-o:before{content:"\f15c"}.fa.fa-building-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-building-o:before{content:"\f1ad"}.fa.fa-hospital-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hospital-o:before{content:"\f0f8"}.fa.fa-tablet:before{content:"\f3fa"}.fa.fa-mobile-phone:before,.fa.fa-mobile:before{content:"\f3cd"}.fa.fa-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-circle-o:before{content:"\f111"}.fa.fa-mail-reply:before{content:"\f3e5"}.fa.fa-github-alt{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-folder-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-folder-o:before{content:"\f07b"}.fa.fa-folder-open-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-folder-open-o:before{content:"\f07c"}.fa.fa-smile-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-smile-o:before{content:"\f118"}.fa.fa-frown-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-frown-o:before{content:"\f119"}.fa.fa-meh-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-meh-o:before{content:"\f11a"}.fa.fa-keyboard-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-keyboard-o:before{content:"\f11c"}.fa.fa-flag-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-flag-o:before{content:"\f024"}.fa.fa-mail-reply-all:before{content:"\f122"}.fa.fa-star-half-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-star-half-o:before{content:"\f089"}.fa.fa-star-half-empty{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-star-half-empty:before{content:"\f089"}.fa.fa-star-half-full{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-star-half-full:before{content:"\f089"}.fa.fa-code-fork:before{content:"\f126"}.fa.fa-chain-broken:before{content:"\f127"}.fa.fa-shield:before{content:"\f3ed"}.fa.fa-calendar-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-o:before{content:"\f133"}.fa.fa-css3,.fa.fa-html5,.fa.fa-maxcdn{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-ticket:before{content:"\f3ff"}.fa.fa-minus-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-minus-square-o:before{content:"\f146"}.fa.fa-level-up:before{content:"\f3bf"}.fa.fa-level-down:before{content:"\f3be"}.fa.fa-pencil-square:before{content:"\f14b"}.fa.fa-external-link-square:before{content:"\f360"}.fa.fa-compass{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-down:before{content:"\f150"}.fa.fa-toggle-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-toggle-down:before{content:"\f150"}.fa.fa-caret-square-o-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-up:before{content:"\f151"}.fa.fa-toggle-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-toggle-up:before{content:"\f151"}.fa.fa-caret-square-o-right{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-right:before{content:"\f152"}.fa.fa-toggle-right{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-toggle-right:before{content:"\f152"}.fa.fa-eur:before,.fa.fa-euro:before{content:"\f153"}.fa.fa-gbp:before{content:"\f154"}.fa.fa-dollar:before,.fa.fa-usd:before{content:"\f155"}.fa.fa-inr:before,.fa.fa-rupee:before{content:"\f156"}.fa.fa-cny:before,.fa.fa-jpy:before,.fa.fa-rmb:before,.fa.fa-yen:before{content:"\f157"}.fa.fa-rouble:before,.fa.fa-rub:before,.fa.fa-ruble:before{content:"\f158"}.fa.fa-krw:before,.fa.fa-won:before{content:"\f159"}.fa.fa-bitcoin,.fa.fa-btc{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-bitcoin:before{content:"\f15a"}.fa.fa-file-text:before{content:"\f15c"}.fa.fa-sort-alpha-asc:before{content:"\f15d"}.fa.fa-sort-alpha-desc:before{content:"\f15e"}.fa.fa-sort-amount-asc:before{content:"\f160"}.fa.fa-sort-amount-desc:before{content:"\f161"}.fa.fa-sort-numeric-asc:before{content:"\f162"}.fa.fa-sort-numeric-desc:before{content:"\f163"}.fa.fa-xing,.fa.fa-xing-square,.fa.fa-youtube,.fa.fa-youtube-play,.fa.fa-youtube-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-youtube-play:before{content:"\f167"}.fa.fa-adn,.fa.fa-bitbucket,.fa.fa-bitbucket-square,.fa.fa-dropbox,.fa.fa-flickr,.fa.fa-instagram,.fa.fa-stack-overflow{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-bitbucket-square:before{content:"\f171"}.fa.fa-tumblr,.fa.fa-tumblr-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-long-arrow-down:before{content:"\f309"}.fa.fa-long-arrow-up:before{content:"\f30c"}.fa.fa-long-arrow-left:before{content:"\f30a"}.fa.fa-long-arrow-right:before{content:"\f30b"}.fa.fa-android,.fa.fa-apple,.fa.fa-dribbble,.fa.fa-foursquare,.fa.fa-gittip,.fa.fa-gratipay,.fa.fa-linux,.fa.fa-skype,.fa.fa-trello,.fa.fa-windows{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-gittip:before{content:"\f184"}.fa.fa-sun-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-sun-o:before{content:"\f185"}.fa.fa-moon-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-moon-o:before{content:"\f186"}.fa.fa-pagelines,.fa.fa-renren,.fa.fa-stack-exchange,.fa.fa-vk,.fa.fa-weibo{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-arrow-circle-o-right{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-arrow-circle-o-right:before{content:"\f35a"}.fa.fa-arrow-circle-o-left{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-arrow-circle-o-left:before{content:"\f359"}.fa.fa-caret-square-o-left{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-left:before{content:"\f191"}.fa.fa-toggle-left{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-toggle-left:before{content:"\f191"}.fa.fa-dot-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-dot-circle-o:before{content:"\f192"}.fa.fa-vimeo-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-try:before,.fa.fa-turkish-lira:before{content:"\f195"}.fa.fa-plus-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-plus-square-o:before{content:"\f0fe"}.fa.fa-openid,.fa.fa-slack,.fa.fa-wordpress{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-bank:before,.fa.fa-institution:before{content:"\f19c"}.fa.fa-mortar-board:before{content:"\f19d"}.fa.fa-delicious,.fa.fa-digg,.fa.fa-drupal,.fa.fa-google,.fa.fa-joomla,.fa.fa-pied-piper-alt,.fa.fa-pied-piper-pp,.fa.fa-reddit,.fa.fa-reddit-square,.fa.fa-stumbleupon,.fa.fa-stumbleupon-circle,.fa.fa-yahoo{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-spoon:before{content:"\f2e5"}.fa.fa-behance,.fa.fa-behance-square,.fa.fa-steam,.fa.fa-steam-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-automobile:before{content:"\f1b9"}.fa.fa-cab:before{content:"\f1ba"}.fa.fa-envelope-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-envelope-o:before{content:"\f0e0"}.fa.fa-deviantart,.fa.fa-soundcloud{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-file-pdf-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-pdf-o:before{content:"\f1c1"}.fa.fa-file-word-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-word-o:before{content:"\f1c2"}.fa.fa-file-excel-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-excel-o:before{content:"\f1c3"}.fa.fa-file-powerpoint-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-powerpoint-o:before{content:"\f1c4"}.fa.fa-file-image-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-image-o:before{content:"\f1c5"}.fa.fa-file-photo-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-photo-o:before{content:"\f1c5"}.fa.fa-file-picture-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-picture-o:before{content:"\f1c5"}.fa.fa-file-archive-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-archive-o:before{content:"\f1c6"}.fa.fa-file-zip-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-zip-o:before{content:"\f1c6"}.fa.fa-file-audio-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-audio-o:before{content:"\f1c7"}.fa.fa-file-sound-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-sound-o:before{content:"\f1c7"}.fa.fa-file-video-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-video-o:before{content:"\f1c8"}.fa.fa-file-movie-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-movie-o:before{content:"\f1c8"}.fa.fa-file-code-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-code-o:before{content:"\f1c9"}.fa.fa-codepen,.fa.fa-jsfiddle,.fa.fa-vine{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-life-bouy,.fa.fa-life-ring{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-life-bouy:before{content:"\f1cd"}.fa.fa-life-buoy{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-life-buoy:before{content:"\f1cd"}.fa.fa-life-saver{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-life-saver:before{content:"\f1cd"}.fa.fa-support{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-support:before{content:"\f1cd"}.fa.fa-circle-o-notch:before{content:"\f1ce"}.fa.fa-ra,.fa.fa-rebel{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-ra:before{content:"\f1d0"}.fa.fa-resistance{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-resistance:before{content:"\f1d0"}.fa.fa-empire,.fa.fa-ge{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-ge:before{content:"\f1d1"}.fa.fa-git,.fa.fa-git-square,.fa.fa-hacker-news,.fa.fa-y-combinator-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-y-combinator-square:before{content:"\f1d4"}.fa.fa-yc-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-yc-square:before{content:"\f1d4"}.fa.fa-qq,.fa.fa-tencent-weibo,.fa.fa-wechat,.fa.fa-weixin{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-wechat:before{content:"\f1d7"}.fa.fa-send:before{content:"\f1d8"}.fa.fa-paper-plane-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-paper-plane-o:before{content:"\f1d8"}.fa.fa-send-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-send-o:before{content:"\f1d8"}.fa.fa-circle-thin{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-circle-thin:before{content:"\f111"}.fa.fa-header:before{content:"\f1dc"}.fa.fa-sliders:before{content:"\f1de"}.fa.fa-futbol-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-futbol-o:before{content:"\f1e3"}.fa.fa-soccer-ball-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-soccer-ball-o:before{content:"\f1e3"}.fa.fa-slideshare,.fa.fa-twitch,.fa.fa-yelp{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-newspaper-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-newspaper-o:before{content:"\f1ea"}.fa.fa-cc-amex,.fa.fa-cc-discover,.fa.fa-cc-mastercard,.fa.fa-cc-paypal,.fa.fa-cc-stripe,.fa.fa-cc-visa,.fa.fa-google-wallet,.fa.fa-paypal{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-bell-slash-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bell-slash-o:before{content:"\f1f6"}.fa.fa-trash:before{content:"\f2ed"}.fa.fa-copyright{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-eyedropper:before{content:"\f1fb"}.fa.fa-area-chart:before{content:"\f1fe"}.fa.fa-pie-chart:before{content:"\f200"}.fa.fa-line-chart:before{content:"\f201"}.fa.fa-angellist,.fa.fa-ioxhost,.fa.fa-lastfm,.fa.fa-lastfm-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-cc{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-cc:before{content:"\f20a"}.fa.fa-ils:before,.fa.fa-shekel:before,.fa.fa-sheqel:before{content:"\f20b"}.fa.fa-meanpath{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-meanpath:before{content:"\f2b4"}.fa.fa-buysellads,.fa.fa-connectdevelop,.fa.fa-dashcube,.fa.fa-forumbee,.fa.fa-leanpub,.fa.fa-sellsy,.fa.fa-shirtsinbulk,.fa.fa-simplybuilt,.fa.fa-skyatlas{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-diamond{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-diamond:before{content:"\f3a5"}.fa.fa-intersex:before{content:"\f224"}.fa.fa-facebook-official{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-facebook-official:before{content:"\f09a"}.fa.fa-pinterest-p,.fa.fa-whatsapp{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-hotel:before{content:"\f236"}.fa.fa-medium,.fa.fa-viacoin,.fa.fa-y-combinator,.fa.fa-yc{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-yc:before{content:"\f23b"}.fa.fa-expeditedssl,.fa.fa-opencart,.fa.fa-optin-monster{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-battery-4:before,.fa.fa-battery:before{content:"\f240"}.fa.fa-battery-3:before{content:"\f241"}.fa.fa-battery-2:before{content:"\f242"}.fa.fa-battery-1:before{content:"\f243"}.fa.fa-battery-0:before{content:"\f244"}.fa.fa-object-group,.fa.fa-object-ungroup,.fa.fa-sticky-note-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-sticky-note-o:before{content:"\f249"}.fa.fa-cc-diners-club,.fa.fa-cc-jcb{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-clone,.fa.fa-hourglass-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hourglass-o:before{content:"\f254"}.fa.fa-hourglass-1:before{content:"\f251"}.fa.fa-hourglass-2:before{content:"\f252"}.fa.fa-hourglass-3:before{content:"\f253"}.fa.fa-hand-rock-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-rock-o:before{content:"\f255"}.fa.fa-hand-grab-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-grab-o:before{content:"\f255"}.fa.fa-hand-paper-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-paper-o:before{content:"\f256"}.fa.fa-hand-stop-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-stop-o:before{content:"\f256"}.fa.fa-hand-scissors-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-scissors-o:before{content:"\f257"}.fa.fa-hand-lizard-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-lizard-o:before{content:"\f258"}.fa.fa-hand-spock-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-spock-o:before{content:"\f259"}.fa.fa-hand-pointer-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-pointer-o:before{content:"\f25a"}.fa.fa-hand-peace-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-peace-o:before{content:"\f25b"}.fa.fa-registered{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-chrome,.fa.fa-creative-commons,.fa.fa-firefox,.fa.fa-get-pocket,.fa.fa-gg,.fa.fa-gg-circle,.fa.fa-internet-explorer,.fa.fa-odnoklassniki,.fa.fa-odnoklassniki-square,.fa.fa-opera,.fa.fa-safari,.fa.fa-tripadvisor,.fa.fa-wikipedia-w{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-television:before{content:"\f26c"}.fa.fa-500px,.fa.fa-amazon,.fa.fa-contao{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-calendar-plus-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-plus-o:before{content:"\f271"}.fa.fa-calendar-minus-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-minus-o:before{content:"\f272"}.fa.fa-calendar-times-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-times-o:before{content:"\f273"}.fa.fa-calendar-check-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-check-o:before{content:"\f274"}.fa.fa-map-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-map-o:before{content:"\f279"}.fa.fa-commenting{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-commenting:before{content:"\f4ad"}.fa.fa-commenting-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-commenting-o:before{content:"\f4ad"}.fa.fa-houzz,.fa.fa-vimeo{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-vimeo:before{content:"\f27d"}.fa.fa-black-tie,.fa.fa-edge,.fa.fa-fonticons,.fa.fa-reddit-alien{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-credit-card-alt:before{content:"\f09d"}.fa.fa-codiepie,.fa.fa-fort-awesome,.fa.fa-mixcloud,.fa.fa-modx,.fa.fa-product-hunt,.fa.fa-scribd,.fa.fa-usb{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-pause-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-pause-circle-o:before{content:"\f28b"}.fa.fa-stop-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-stop-circle-o:before{content:"\f28d"}.fa.fa-bluetooth,.fa.fa-bluetooth-b,.fa.fa-envira,.fa.fa-gitlab,.fa.fa-wheelchair-alt,.fa.fa-wpbeginner,.fa.fa-wpforms{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-wheelchair-alt:before{content:"\f368"}.fa.fa-question-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-question-circle-o:before{content:"\f059"}.fa.fa-volume-control-phone:before{content:"\f2a0"}.fa.fa-asl-interpreting:before{content:"\f2a3"}.fa.fa-deafness:before,.fa.fa-hard-of-hearing:before{content:"\f2a4"}.fa.fa-glide,.fa.fa-glide-g{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-signing:before{content:"\f2a7"}.fa.fa-first-order,.fa.fa-google-plus-official,.fa.fa-pied-piper,.fa.fa-snapchat,.fa.fa-snapchat-ghost,.fa.fa-snapchat-square,.fa.fa-themeisle,.fa.fa-viadeo,.fa.fa-viadeo-square,.fa.fa-yoast{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-google-plus-official:before{content:"\f2b3"}.fa.fa-google-plus-circle{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-google-plus-circle:before{content:"\f2b3"}.fa.fa-fa,.fa.fa-font-awesome{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-fa:before{content:"\f2b4"}.fa.fa-handshake-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-handshake-o:before{content:"\f2b5"}.fa.fa-envelope-open-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-envelope-open-o:before{content:"\f2b6"}.fa.fa-linode{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-address-book-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-address-book-o:before{content:"\f2b9"}.fa.fa-vcard:before{content:"\f2bb"}.fa.fa-address-card-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-address-card-o:before{content:"\f2bb"}.fa.fa-vcard-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-vcard-o:before{content:"\f2bb"}.fa.fa-user-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-user-circle-o:before{content:"\f2bd"}.fa.fa-user-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-user-o:before{content:"\f007"}.fa.fa-id-badge{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-drivers-license:before{content:"\f2c2"}.fa.fa-id-card-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-id-card-o:before{content:"\f2c2"}.fa.fa-drivers-license-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-drivers-license-o:before{content:"\f2c2"}.fa.fa-free-code-camp,.fa.fa-quora,.fa.fa-telegram{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-thermometer-4:before,.fa.fa-thermometer:before{content:"\f2c7"}.fa.fa-thermometer-3:before{content:"\f2c8"}.fa.fa-thermometer-2:before{content:"\f2c9"}.fa.fa-thermometer-1:before{content:"\f2ca"}.fa.fa-thermometer-0:before{content:"\f2cb"}.fa.fa-bathtub:before,.fa.fa-s15:before{content:"\f2cd"}.fa.fa-window-maximize,.fa.fa-window-restore{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-times-rectangle:before{content:"\f410"}.fa.fa-window-close-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-window-close-o:before{content:"\f410"}.fa.fa-times-rectangle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-times-rectangle-o:before{content:"\f410"}.fa.fa-bandcamp,.fa.fa-eercast,.fa.fa-etsy,.fa.fa-grav,.fa.fa-imdb,.fa.fa-ravelry{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-eercast:before{content:"\f2da"}.fa.fa-snowflake-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-snowflake-o:before{content:"\f2dc"}.fa.fa-spotify,.fa.fa-superpowers,.fa.fa-wpexplorer{font-family:"Font Awesome 5 Brands";font-weight:400}
berocket/assets/css/global-admin.css CHANGED
@@ -1,31 +1,31 @@
1
- #toplevel_page_berocket_account .wp-first-item {
2
- display: none!important;
3
- }
4
- .toplevel_page_berocket_custom_post .dashicons-before img {
5
- max-width: 16px;
6
- max-height: 16px;
7
- }
8
- .berocket_admin_menu_custom_post_submenu {
9
- display: inline-block;
10
- position: relative;
11
- padding-left: 25px;
12
- }
13
- .berocket_admin_menu_custom_post_submenu:before {
14
- content: "";
15
- background: transparent url('../images/submenu-icon.png') top left/cover;
16
- height: 14px;
17
- width: 14px;
18
- display: block;
19
- position: absolute;
20
- left: 6px;
21
- top: -1px;
22
- }
23
- .current .berocket_admin_menu_custom_post_submenu:before {
24
- background: transparent url('../images/submenu-icon-a.png') top left/cover;
25
- }
26
- .berocket_admin_menu_custom_post_submenu_upgrade {
27
- color: #77e038;
28
- }
29
- .berocket_debug_errors {
30
- margin-top: 60px;
31
  }
1
+ #toplevel_page_berocket_account .wp-first-item {
2
+ display: none!important;
3
+ }
4
+ .toplevel_page_berocket_custom_post .dashicons-before img {
5
+ max-width: 16px;
6
+ max-height: 16px;
7
+ }
8
+ .berocket_admin_menu_custom_post_submenu {
9
+ display: inline-block;
10
+ position: relative;
11
+ padding-left: 25px;
12
+ }
13
+ .berocket_admin_menu_custom_post_submenu:before {
14
+ content: "";
15
+ background: transparent url('../images/submenu-icon.png') top left/cover;
16
+ height: 14px;
17
+ width: 14px;
18
+ display: block;
19
+ position: absolute;
20
+ left: 6px;
21
+ top: -1px;
22
+ }
23
+ .current .berocket_admin_menu_custom_post_submenu:before {
24
+ background: transparent url('../images/submenu-icon-a.png') top left/cover;
25
+ }
26
+ .berocket_admin_menu_custom_post_submenu_upgrade {
27
+ color: #77e038;
28
+ }
29
+ .berocket_debug_errors {
30
+ margin-top: 60px;
31
  }
berocket/assets/js/admin.js CHANGED
@@ -1,728 +1,728 @@
1
- ;
2
- var br_saved_timeout;
3
- var br_init_colorpick;
4
- var br_savin_ajax = false;
5
- var br_something_changed = false;
6
- (function ($){
7
- $(document).ready( function () {
8
- $(window).on('beforeunload', function() {
9
- if( br_something_changed ) {
10
- return 'Something changed and not saved';
11
- }
12
- });
13
- setTimeout(function() {
14
- $('.br_framework_submit_form *').on('change', function() {
15
- br_something_changed = true;
16
- });
17
- }, 250);
18
- $(document).on('submit', '.br_framework_submit_form', function(event) {
19
- event.preventDefault();
20
- if( !br_savin_ajax ) {
21
- var br_reload_page = $(this).is('.br_reload_form');
22
- br_savin_ajax = true;
23
- var form_data = $(this).serialize();
24
- var plugin_name = $(this).data('plugin');
25
- var url = $(this).attr('action');
26
- clearTimeout(br_saved_timeout);
27
- destroy_br_saved();
28
- $('body').append('<span class="br_saved br_saving"><i class="fa fa-refresh fa-spin"></i></span>');
29
- $.post(url, form_data, function (data) {
30
- if($('.br_saved').length > 0) {
31
- $('.br_saved').removeClass('br_saving').find('.fa').removeClass('fa-spin').removeClass('fa-refresh').addClass('fa-check');
32
- } else {
33
- $('body').append('<span class="br_saved"><i class="fa fa-check"></i></span>');
34
- }
35
- br_saved_timeout = setTimeout( function(){destroy_br_saved();}, 2000 );
36
- br_savin_ajax = false;
37
- br_something_changed = false;
38
- if( br_reload_page ) {
39
- location.reload();
40
- }
41
- }).fail(function(data) {
42
- if($('.br_saved').length > 0) {
43
- $('.br_saved').removeClass('br_saving').addClass('br_not_saved').find('.fa').removeClass('fa-spin').removeClass('fa-refresh').addClass('fa-times');
44
- } else {
45
- $('body').append('<span class="br_saved br_not_saved"><i class="fa fa-times"></i></span>');
46
- }
47
- br_saved_timeout = setTimeout( function(){destroy_br_saved();}, 2000 );
48
- br_savin_ajax = false;
49
- });
50
- }
51
- });
52
-
53
- function destroy_br_saved() {
54
- $('.br_saved').addClass('br_saved_remove');
55
- var $get = $('.br_saved');
56
- setTimeout( function(){$get.remove();}, 200 );
57
- }
58
-
59
- $('.br_framework_settings ul.side a').click(function(event) {
60
- var block = $(this).data('block');
61
- if( block != 'redirect_link' ) {
62
- event.preventDefault();
63
- $(this).trigger('brlinktab_open');
64
- $('.br_framework_settings ul.side a.active').removeClass('active');
65
- $('.nav-block-active').removeClass('nav-block-active');
66
- $(this).addClass('active');
67
- $('.'+$(this).data('block')+'-block').addClass('nav-block-active');
68
- $('.br_framework_settings .content .title').html( $(this).html() );
69
- window.history.replaceState(null, null, $(this).attr('href'));
70
- $(this).trigger('brlinktab_opened');
71
- $('.'+$(this).data('block')+'-block').trigger('brtab_opened');
72
- }
73
- berocket_save_button_side();
74
- });
75
-
76
- $(window).on('keydown', function(event) {
77
- if (event.ctrlKey || event.metaKey) {
78
- switch (String.fromCharCode(event.which).toLowerCase()) {
79
- case 's':
80
- event.preventDefault();
81
- $('.br_framework_submit_form').submit();
82
- break;
83
- }
84
- }
85
- });
86
- br_init_colorpick = function() {
87
- $('.br_framework_settings .br_colorpicker').each(function (i,o){
88
- $(o).css('backgroundColor', $(o).data('color'));
89
- $(o).colpick({
90
- layout: 'hex',
91
- submit: 0,
92
- color: $(o).data('color'),
93
- onChange: function(hsb,hex,rgb,el,bySetColor) {
94
- if( hex.charAt(0) != '#' ) {
95
- hex = '#'+hex;
96
- }
97
- $(el).css('backgroundColor', hex).parents('.berocket_color').first().find('.br_colorpicker_value').val(hex).trigger('change');
98
- }
99
- })
100
- });
101
- }
102
- br_init_colorpick();
103
- $(document).on('click', '.br_framework_settings .br_colorpicker_default', function (event) {
104
- event.preventDefault();
105
- var $color = $(this).parents('.berocket_color').first();
106
- var data = $color.find('.br_colorpicker').data('default');
107
- $color.find('.br_colorpicker').css('backgroundColor', data).colpickSetColor(data);
108
- $color.find('.br_colorpicker_value').val(data).trigger('change');
109
- });
110
-
111
- $(document).on('click', '.br_framework_settings .berocket_upload_image', function(e) {
112
- e.preventDefault();
113
- $p = $(this);
114
- var custom_uploader = wp.media({
115
- title: 'Select custom Icon',
116
- button: {
117
- text: 'Set Icon'
118
- },
119
- multiple: false
120
- }).on('select', function() {
121
- var attachment = custom_uploader.state().get('selection').first().toJSON();
122
- $p.prevAll(".berocket_selected_image").html('<image src="'+attachment.url+'" alt="">');
123
- $p.prevAll(".berocket_image_value").val(attachment.url).trigger('change');
124
- }).open();
125
- });
126
- $(document).on('click', '.br_framework_settings .berocket_remove_image',function(event) {
127
- event.preventDefault();
128
- $(this).prevAll(".berocket_selected_image").html("");
129
- $(this).prevAll(".berocket_image_value").val("").trigger('change');
130
- });
131
- var berocket_fa_select_for = $('.berocket_fa_dark');
132
- $(document).on('click', '.berocket_select_fontawesome .berocket_select_fa',function(event) {
133
- event.preventDefault();
134
- berocket_fa_select_for = $(this);
135
- $('.berocket_fa_dark').not(':first').remove();
136
- var $html = $('<div class="berocket_select_fontawesome"></div>');
137
- $html.append($('.berocket_fa_dark'));
138
- var $html2 = $('<div class="br_framework_settings br_fontawesome_body"></div>');
139
- $html2.append($html);
140
- $('body').children('.br_fontawesome_body').remove();
141
- $('body').append($html2);
142
- $('.berocket_fa_dark').show();
143
- });
144
- $(document).on('hover', '.berocket_select_fontawesome .berocket_fa_hover', function() {
145
- var window_width = $(window).width();
146
- window_width = window_width / 2;
147
- var $this = $(this).parents('.berocket_fa_icon');
148
- if( $this.offset().left < window_width ) {
149
- $this.find('.berocket_fa_preview').css({left: '0', right: 'initial'});
150
- $this.find('.berocket_fa_preview span').appendTo($this.find('.berocket_fa_preview'));
151
- } else {
152
- $this.find('.berocket_fa_preview').css({left: 'initial', right: '0'});
153
- $this.find('.berocket_fa_preview .fa').appendTo($this.find('.berocket_fa_preview'));
154
- }
155
- });
156
- $(document).on('click', '.berocket_select_fontawesome .berocket_fa_hover',function(event) {
157
- event.preventDefault();
158
- var value = $(this).parents('.berocket_fa_icon').first().find('.berocket_fa_preview span').text();
159
- $(berocket_fa_select_for).parents('.berocket_select_fontawesome').find('.berocket_selected_fa').html('<i class="fa '+value+'"></i>');
160
- $(berocket_fa_select_for).parents('.berocket_select_fontawesome').find('.berocket_fa_value').val(value).trigger('change');
161
- $('.berocket_fa_dark').hide();
162
- });
163
- $(document).on('click', '.berocket_select_fontawesome .berocket_remove_fa',function(event) {
164
- event.preventDefault();
165
- $(this).parents('.berocket_select_fontawesome').find('.berocket_selected_fa').html('');
166
- $(this).parents('.berocket_select_fontawesome').find('.berocket_fa_value').val('').trigger('change');
167
- });
168
- $(document).on('keyup', '.berocket_select_fontawesome .berocket_fa_search', function() {
169
- var $parent = $(this).parents('.berocket_select_fontawesome').first();
170
- var value = $(this).val();
171
- value = value.replace(/\s+/g, '');
172
- value = value.toLowerCase();
173
- if( value.length >=1 ) {
174
- $parent.find('.berocket_fa_icon').hide();
175
- $parent.find('.berocket_fa_preview span:contains("'+value+'")').parents('.berocket_fa_icon').show();
176
- } else {
177
- $parent.find('.berocket_fa_icon').show();
178
- }
179
- });
180
- $(document).on('click', '.berocket_select_fontawesome .berocket_fa_dark',function(event) {
181
- event.preventDefault();
182
- $(this).hide();
183
- });
184
- $(document).on('click', '.berocket_select_fontawesome .berocket_fa_dark .berocket_fa_close',function(event) {
185
- event.preventDefault();
186
- $(this).parents('.berocket_fa_dark').hide();
187
- });
188
- $(document).on('click', '.berocket_select_fontawesome .berocket_fa_popup',function(event) {
189
- event.preventDefault();
190
- event.stopPropagation();
191
- });
192
- if( location.hash ) {
193
- $('.br_framework_settings ul.side a[href="'+location.hash+'"]').trigger('click');
194
- }
195
- if( typeof wp.codeEditor != 'undefined' && typeof wp.codeEditor.initialize != 'undefined' ) {
196
- var css_editor = $('.br_framework_settings .css_editor');
197
- css_editor.each(function() {
198
- wp.codeEditor.initialize(this, {"codeEditor":{"codemirror":{"indentUnit":4,"indentWithTabs":true,"inputStyle":"contenteditable","lineNumbers":true,"lineWrapping":true,"styleActiveLine":true,"continueComments":true,"extraKeys":{"Ctrl-Space":"autocomplete","Ctrl-\/":"toggleComment","Cmd-\/":"toggleComment","Alt-F":"findPersistent"},"direction":"ltr","gutters":[],"mode":"css"},"csslint":{"errors":true,"box-model":true,"display-property-grouping":true,"duplicate-properties":true,"known-properties":true,"outline-none":true},"jshint":{"boss":true,"curly":true,"eqeqeq":true,"eqnull":true,"es3":true,"expr":true,"immed":true,"noarg":true,"nonbsp":true,"onevar":true,"quotmark":"single","trailing":true,"undef":true,"unused":true,"browser":true,"globals":{"_":false,"Backbone":false,"jQuery":false,"JSON":false,"wp":false}},"htmlhint":{"tagname-lowercase":true,"attr-lowercase":true,"attr-value-double-quotes":true,"doctype-first":false,"tag-pair":true,"spec-char-escape":true,"id-unique":true,"src-not-empty":true,"attr-no-duplication":true,"alt-require":true,"space-tab-mixed-disabled":"tab","attr-unsafe-chars":true}}});
199
- })
200
- var js_editor = $('.br_framework_settings .js_editor');
201
- js_editor.each(function() {
202
- wp.codeEditor.initialize(this, {"codeEditor":{"codemirror":{"indentUnit":4,"indentWithTabs":true,"inputStyle":"contenteditable","lineNumbers":true,"lineWrapping":true,"styleActiveLine":true,"continueComments":true,"extraKeys":{"Ctrl-Space":"autocomplete","Ctrl-\/":"toggleComment","Cmd-\/":"toggleComment","Alt-F":"findPersistent"},"direction":"ltr","gutters":[],"mode":"javascript"},"csslint":{"errors":true,"box-model":true,"display-property-grouping":true,"duplicate-properties":true,"known-properties":true,"outline-none":true},"jshint":{"boss":true,"curly":true,"eqeqeq":true,"eqnull":true,"es3":true,"expr":true,"immed":true,"noarg":true,"nonbsp":true,"onevar":true,"quotmark":"single","trailing":true,"undef":true,"unused":true,"browser":true,"globals":{"_":false,"Backbone":false,"jQuery":false,"JSON":false,"wp":false}},"htmlhint":{"tagname-lowercase":true,"attr-lowercase":true,"attr-value-double-quotes":true,"doctype-first":false,"tag-pair":true,"spec-char-escape":true,"id-unique":true,"src-not-empty":true,"attr-no-duplication":true,"alt-require":true,"space-tab-mixed-disabled":"tab","attr-unsafe-chars":true}}});
203
- });
204
- }
205
- var berocket_save_button_side_timeout;
206
- function berocket_save_button_side() {
207
- var $button = $('.berocket_framework_sidebar_save_button .button-primary.button');
208
- if( $button.length ) {
209
- clearTimeout(berocket_save_button_side_timeout);
210
- berocket_save_button_side_timeout = setTimeout(function() {
211
- /*Settings to set*/
212
- var bottom = '0px';
213
- var position = 'fixed';
214
- /*Get parameters*/
215
- var $side = $button.parents('ul.side').first();
216
- var sideTop = $side.offset().top;
217
- var sideHeight = $side.outerHeight();
218
- var windowScroll = jQuery(window).scrollTop();
219
- var windowHeight = jQuery(window).height();
220
- /*Calculate parameters*/
221
- var sideBottom = sideTop + sideHeight;
222
- var windowBottom = windowScroll + windowHeight;
223
- var positionBottom = sideBottom - windowBottom;
224
- if( positionBottom > (sideHeight - 50) ) {
225
- bottom = '-100px';
226
- }
227
- if( positionBottom < 0 ) {
228
- position = 'absolute';
229
- }
230
- if( $('.berocket_framework_default_save_button:visible').offset().top > windowBottom ) {
231
- $button.css('display', 'block');
232
- } else {
233
- bottom = '-100px';
234
- if( position == 'absolute' ) {
235
- $button.css('display', 'none');
236
- }
237
- }
238
- $button
239
- .css('width', $button.parent().outerWidth())
240
- .css('position', position)
241
- .css('bottom', bottom);
242
- }, 10);
243
- }
244
- }
245
- $('.berocket_framework_sidebar_save_button .button-primary.button').css('display', 'block');
246
- berocket_save_button_side();
247
- $(document).scroll(berocket_save_button_side);
248
- $(window).resize(berocket_save_button_side);
249
- $(document).on('click', '.berocket_framework_sidebar_save_button .button-primary.button', function(event) {
250
- event.preventDefault();
251
- $(this).parents('.br_framework_settings').find('.br_framework_submit_form').submit();
252
- });
253
- });
254
- })(jQuery);
255
- /* PRODUCTS SELECTOR */
256
- (function ($){
257
- $(document).ready( function () {
258
- var last_search = '';
259
- var delay_search = false;
260
- var ajax_request = false;
261
- var $current_search = $('');
262
- $(document).on('click', '.berocket_products_search', function() {
263
- $(this).find('.berocket_search_input').focus();
264
- });
265
- $(document).on('dblclick', '.berocket_products_search', function() {
266
- $(this).find('.berocket_search_input').select();
267
- });
268
- $(document).on('click', '.berocket_products_search .button', function(event) {
269
- event.stopPropagation();
270
- var $search_block = $(this);
271
- var $search_box = $search_block.parents('.berocket_search_box').first();
272
- $(this).remove();
273
- if( $search_box.is('.single_product') && $search_box.find('.berocket_product_selected').length == 0 ) {
274
- $search_box.find('.berocket_product_search').show();
275
- }
276
- });
277
- $(document).on('click', '.berocket_search_box', function(event) {
278
- event.stopPropagation();
279
- var $current = $(this).find('.berocket_search_result');
280
- if( $current.length == 0 ) {
281
- remove_search_result();
282
- }
283
- });
284
- $(document).on('keyup focus', '.berocket_search_input', function(event) {
285
- if( delay_search ) {
286
- clearTimeout(delay_search);
287
- }
288
- var $search_block = $(this);
289
- var $search_box = $search_block.parents('.berocket_search_box').first();
290
- if( $search_box.is('.single_product') && $search_box.find('.berocket_product_selected').length > 0 ) {
291
- return false;
292
- }
293
- $current_search = $(this).parents('.berocket_search_box').first();
294
- delay_search = setTimeout( function () {
295
- if( $search_block.val().length >= 3 && $search_block.val() != last_search ) {
296
- $('.berocket_search_result').remove();
297
- last_search = $search_block.val();
298
- var exists = [];
299
- $search_box.find('.berocket_product_selected input').each(function( i, o ) {
300
- exists.push($(o).val());
301
- });
302
- var data = {
303
- action: $search_block.data('action'),
304
- term: $search_block.val(),
305
- security: berocket_framework_admin.security,
306
- is_berocket:true
307
- };
308
- stop_search();
309
- $search_box.find('.berocket_product_search').append($('<span class="berocket_loads"><i class="fa fa-spinner fa-spin"></i></span>'));
310
- ajax_request = $.get(ajaxurl, data, function (data) {
311
- $current_search = $search_box;
312
- var count = 0;
313
- var html = '<ul class="berocket_search_result">';
314
- $.each(data, function(index, value) {
315
- if( $.inArray(index, exists) == -1 ) {
316
- html += '<li data-id="'+index+'">'+value+'</li>';
317
- count++;
318
- }
319
- });
320
- html += '</ul>';
321
- if( count > 0 ) {
322
- $result_block = $(html);
323
- $result_block = $('body').append($result_block);
324
- $('.berocket_search_result').css('position', 'absolute')
325
- .css('top', $search_box.offset().top+$search_box.height())
326
- .css('left', $search_box.offset().left)
327
- .outerWidth($search_box.outerWidth());
328
- }
329
- $('.berocket_product_search .berocket_loads').remove();
330
- }, 'json');
331
- } else {
332
- stop_search();
333
- }
334
- }, 500 );
335
- });
336
- $(document).on('click', '.berocket_search_result li', function(event) {
337
- var html = '<li class="berocket_product_selected button"><input data-name="'+$current_search.data('name')+'" name="'+$current_search.data('name')+'" type="hidden" value="'+$(this).data('id')+'"><i class="fa fa-times"></i> '+$(this).text()+'</li>';
338
- $current_search.find('.berocket_product_search').last().before($(html));
339
- $current_search.find('.berocket_search_input').val('').trigger('change');
340
- if( $current_search.is('.single_product') ) {
341
- $current_search.find('.berocket_product_search').hide();
342
- }
343
- remove_search_result();
344
- });
345
- $(document).on('click', function(event) {
346
- remove_search_result();
347
- stop_search();
348
- });
349
- function remove_search_result() {
350
- $('.berocket_search_result').remove();
351
- last_search = '';
352
- $current_search = $('');
353
- }
354
- function stop_search() {
355
- if ( ajax_request !== false ) {
356
- ajax_request.abort();
357
- }
358
- $('.berocket_product_search .berocket_loads').remove();
359
- }
360
- });
361
- })(jQuery);
362
-
363
-
364
- //SHOW MESSAGE FOR BLOCK
365
- var berocket_block_messages_elements = [];
366
- var berocket_block_messages_element_last = false;
367
- var berocket_block_messages_element_interval = false;
368
- function berocket_blocks_messages(options) {
369
- if( typeof(options) == 'undefined' ) {
370
- do {
371
- var element = berocket_block_messages_elements.shift();
372
- } while (! berocket_display_block_messages(element, berocket_block_messages_elements) && berocket_block_messages_elements.length);
373
- return 'next';
374
- }
375
- if( ! berocket_block_messages_elements.length && berocket_block_messages_element_last == false ) {
376
- berocket_block_messages_elements = options;
377
- berocket_blocks_messages();
378
- berocket_block_messages_element_interval = setInterval(function() {
379
- if( berocket_block_messages_element_last !== false ) {
380
- var $element = jQuery(berocket_block_messages_element_last.selector).first();
381
- var top = parseInt($element.offset().top);
382
- var left = parseInt($element.offset().left);
383
- if( berocket_block_messages_element_last.top != top || berocket_block_messages_element_last.left != left ) {
384
- berocket_display_block_message_reload_last();
385
- }
386
- }
387
- }, 2000);
388
- return true;
389
- } else {
390
- return false;
391
- }
392
- }
393
- function berocket_display_block_messages(element, next_elements) {
394
- if( typeof(element.selector) != 'undefined' && jQuery(element.selector).length ) {
395
- berocket_block_messages_element_last = element;
396
- if( typeof(element.disable_inside) == 'undefined' ) {
397
- element.disable_inside = true;
398
- }
399
- if( typeof(element.execute) == 'function' ) {
400
- element.execute(element, next_elements);
401
- }
402
- var $element = jQuery(element.selector).first();
403
- var top = parseInt($element.offset().top);
404
- var left = parseInt($element.offset().left);
405
- berocket_block_messages_element_last.top = top;
406
- berocket_block_messages_element_last.left = left;
407
- var width = parseInt($element.outerWidth());
408
- var height = parseInt($element.outerHeight());
409
- var left_end = left + width;
410
- var top_end = top + height;
411
- var right_width = (parseInt(jQuery(window).width()) - left_end);
412
- styles = {
413
- top:'top:0;left:0;width:100%;height:'+top+'px;',
414
- bottom:'top:'+top_end+'px;left:0;width:100%;',
415
- left:'top:'+top+'px;left:0;width:'+left+'px;height:'+height+'px;',
416
- right:'top:'+top+'px;left:'+left_end+'px;right:0;height:'+height+'px;',
417
- inside:'top:'+top+'px;left:'+left+'px;width:'+width+'px;height:'+height+'px;'
418
- };
419
- if( top < 40 ) {
420
- styles.top += 'padding:0;';
421
- }
422
- if( jQuery('#wpcontent').length ) {
423
- var bottom_height = parseInt(jQuery('#wpcontent').outerHeight()) - top_end;
424
- styles.bottom += 'height:'+(bottom_height + 40)+'px;';
425
- } else {
426
- styles.bottom += "bottom:0;";
427
- }
428
- if( left < 40 || height < 40 ) {
429
- styles.left += 'padding:0;';
430
- }
431
- if( right_width < 40 || height < 40 ) {
432
- styles.right += 'padding:0;';
433
- }
434
- //Create hide blocks
435
- var html = '<div class="berocket_display_block_messages_hide top" style="'+styles.top+'"></div>';
436
- html += '<div class="berocket_display_block_messages_hide bottom" style="'+styles.bottom+'"></div>';
437
- html += '<div class="berocket_display_block_messages_hide left" style="'+styles.left+'"></div>';
438
- html += '<div class="berocket_display_block_messages_hide right" style="'+styles.right+'"></div>';
439
- if( typeof(element.text) == 'undefined' || element.disable_inside ) {
440
- html += '<div class="berocket_display_block_messages_hide inside" style="'+styles.inside+'"></div>';
441
- }
442
- jQuery('body').append(jQuery(html));
443
- jQuery("html, body").stop().animate({scrollTop:top - 50}, 500, 'swing');
444
- //Button to next and close
445
- html = '<a href="#close" class="berocket_display_block_messages_close_button">'+berocket_framework_admin_text.wizard_close+'</a>';
446
- if( next_elements.length ) {
447
- html += '<a href="#next" class="berocket_display_block_messages_next_button">'+berocket_framework_admin_text.wizard_next+'</a>';
448
- }
449
- if( typeof(element.text) == 'undefined' ) {
450
- jQuery('.berocket_display_block_messages_hide.inside').last().append(jQuery(html));
451
- } else {
452
- berocket_display_tooltip($element, element.text)
453
- jQuery('.berocket_display_tooltip').last().append(jQuery(html));
454
- }
455
- return true;
456
- } else {
457
- return false;
458
- }
459
- }
460
- function berocket_display_block_message_reload_last() {
461
- berocket_display_block_messages_remove();
462
- berocket_display_block_messages(berocket_block_messages_element_last, berocket_block_messages_elements);
463
- }
464
- function berocket_display_tooltip(element, text, additional) {
465
- $element = jQuery(element).first();
466
- if( typeof(additional) != 'object' ) {
467
- additional = {};
468
- }
469
- var top = parseInt($element.offset().top);
470
- var left = parseInt($element.offset().left);
471
- var width = parseInt($element.outerWidth());
472
- var height = parseInt($element.outerHeight());
473
- var left_end = left + width;
474
- var right_width = (parseInt(jQuery(window).width()) - left_end);
475
- if( left > 200 ) {
476
- var position = 'left';
477
- } else if( right_width > 200 ) {
478
- var position = 'right';
479
- } else {
480
- var position = 'element';
481
- }
482
- var style="";
483
- if( position == 'left' || position == 'right' ) {
484
- style += 'top:'+top+'px;';
485
- } else if( position == 'element' ) {
486
- style += 'top:'+(top+40)+'px;';
487
- }
488
- if( position == 'left' ) {
489
- style += 'right:'+(right_width + width + 15)+'px;';
490
- } else if( position == 'right' ) {
491
- style += 'left:'+(left_end + 15)+'px;';
492
- } else if( position == 'element' ) {
493
- style += 'left:'+left+'px;';
494
- }
495
- if( position == 'left' ) {
496
- if( (left - 30) < 500 ) {
497
- style += 'max-width:'+(left - 30)+'px;';
498
- }
499
- } else if( position == 'right' ) {
500
- if( (right_width - 30) < 500 ) {
501
- style += 'max-width:'+(right_width - 30)+'px;';
502
- }
503
- } else if( position == 'element' ) {
504
- style += 'width:'+width+'px;';
505
- }
506
- var classes = 'berocket_display_tooltip position_'+position;
507
- if( typeof(additional.hide_on_click) != 'undefined' && additional.hide_on_click ) {
508
- classes += ' hide_on_click';
509
- }
510
- if( typeof(additional.classes) != 'undefined' ) {
511
- classes += ' '+additional.classes;
512
- }
513
- var html = '<div class="'+classes+'" style="'+style+'">';
514
- html += '<span class="br_text">'+text+'</span>';
515
- html += '<span class="br_add1"></span>';
516
- html += '<span class="br_add2"></span>';
517
- html += '<span class="br_add3"></span>';
518
- html += '</div>';
519
- jQuery('body').append(jQuery(html));
520
- }
521
- function berocket_display_block_messages_remove() {
522
- if( typeof(berocket_block_messages_element_last.execute_after) == 'function' ) {
523
- berocket_block_messages_element_last.execute_after(berocket_block_messages_element_last, berocket_block_messages_elements);
524
- }
525
- jQuery('.berocket_display_block_messages_hide').remove();
526
- jQuery('.berocket_display_block_messages_close_button').remove();
527
- jQuery('.berocket_display_block_messages_next_button').remove();
528
- jQuery('.berocket_display_tooltip').remove();
529
- }
530
- jQuery(document).on('click', '.berocket_display_block_messages_close_button', function(event) {
531
- event.preventDefault();
532
- berocket_display_block_messages_remove();
533
- berocket_block_messages_element_last = false;
534
- berocket_block_messages_elements = [];
535
- clearInterval(berocket_block_messages_element_interval);
536
- });
537
- jQuery(document).on('click', '.berocket_display_block_messages_next_button', function(event) {
538
- event.preventDefault();
539
- berocket_display_block_messages_remove();
540
- berocket_blocks_messages();
541
- });
542
- jQuery(document).on('click', function() {
543
- jQuery('.berocket_display_tooltip.hide_on_click').remove();
544
- });
545
- //Sortable custom post
546
- (function ($){
547
- $(document).ready( function () {
548
- $(document).on('click', '.berocket_post_set_new_sortable, .berocket_post_set_new_sortable_set', function(event) {
549
- event.preventDefault();
550
- var $this = $(this);
551
- var post_id = $(this).data('post_id');
552
- if( $this.is('.berocket_post_set_new_sortable_set') ) {
553
- var order = $this.parents('.berocket_post_set_new_sortable_input').first().find('input').val();
554
- } else {
555
- var order = $(this).data('order');
556
- }
557
- $.post(location.href, {braction:'berocket_custom_post_sortable', BRsortable_id:post_id, BRorder:order}, function(html) {
558
- var $html = jQuery(html);
559
- var $tbody = $html.find('.berocket_post_set_new_sortable').first().parents('tbody').first();
560
- $('.berocket_post_set_new_sortable').first().parents('tbody').first().replaceWith($tbody);
561
- jQuery(document).trigger('BRsortable_loaded_html');
562
- });
563
- });
564
- });
565
- })(jQuery);
566
- //ADDONS RELOAD
567
- (function ($){
568
- function berocket_addon_list_resize(element) {
569
- var addclass = false;
570
- var width = $(element).width();
571
- if( width > 1600 ) {
572
- addclass = 'col8-addons';
573
- } else if( width > 1400 ) {
574
- addclass = 'col7-addons';
575
- } else if( width > 1200 ) {
576
- addclass = 'col6-addons';
577
- } else if( width > 1000 ) {
578
- addclass = 'col5-addons';
579
- } else if( width > 800 ) {
580
- addclass = 'col4-addons';
581
- } else if( width > 600 ) {
582
- addclass = 'col3-addons';
583
- } else if( width > 400 ) {
584
- addclass = 'col2-addons';
585
- } else if( width > 100 ) {
586
- addclass = 'col-addons';
587
- } else {
588
- addclass = 'col7-addons';
589
- }
590
- $(element)
591
- .removeClass('col8-addons')
592
- .removeClass('col7-addons')
593
- .removeClass('col6-addons')
594
- .removeClass('col5-addons')
595
- .removeClass('col4-addons')
596
- .removeClass('col3-addons')
597
- .removeClass('col2-addons')
598
- .removeClass('col-addons');
599
- if( addclass ) {
600
- $(element).addClass(addclass);
601
- }
602
- }
603
- function berocket_addon_list_resize_all() {
604
- $('.berocket_addons_list').each(function() {
605
- berocket_addon_list_resize($(this));
606
- });
607
- }
608
- $(window).on('resize', berocket_addon_list_resize_all);
609
- $(document).on('brtab_opened', berocket_addon_list_resize_all);
610
- $(document).ready( function () {
611
- berocket_addon_list_resize_all();
612
- $(document).on('change', '.berocket_addons_list input', function() {
613
- $(this).parents('.br_framework_submit_form').addClass('br_reload_form');
614
- });
615
- });
616
- })(jQuery);
617
- //CONDITIONS
618
- jQuery(document).on('change', '.br_cond_type', function(event) {
619
- var $data_block = jQuery(this).parents('.berocket_conditions_block').first().find('.br_condition_data').first();
620
- var condition_name = $data_block.data('condition_name');
621
- var $parent = jQuery(this).parents('.br_cond_select');
622
- $parent.find('.br_cond').remove();
623
- var id = $parent.parents('.br_html_condition');
624
- var current_id = $parent.data('current');
625
- id = id.data('id');
626
- var html_need = jQuery('.br_cond_example .br_cond_'+jQuery(this).val()).get(0);
627
- html_need = html_need.outerHTML;
628
- html_need = html_need.replace(/%id%/g, id);
629
- html_need = html_need.replace(/%current_id%/g, current_id);
630
- html_need = html_need.replace(/%name%/g, condition_name);
631
- html_need = html_need.replace(/data-name=/g, 'name=');
632
- $parent.find('.br_current_cond').html(html_need);
633
- });
634
- jQuery(document).on('click', '.berocket_add_condition', function() {
635
- var id = jQuery(this).parents('.br_html_condition');
636
- var current_id = id.data('current');
637
- current_id = current_id + 1;
638
- id.data('current', current_id);
639
- id = id.data('id');
640
- var $html = jQuery(this).parents('.berocket_conditions_block').first().find('.br_condition_example .br_cond_select').html();
641
- $html = '<div class="br_cond_select" data-current="'+current_id+'">'+$html+'</div>';
642
- $html = $html.replace('%id%', id);
643
- jQuery(this).before($html);
644
- $parent = jQuery(this).prev();
645
- $parent.find('.br_cond_type').trigger('change');
646
- });
647
- jQuery(document).on('click', '.br_add_group', function() {
648
- var $data_block = jQuery(this).parents('.berocket_conditions_block').first().find('.br_condition_data').first();
649
- var last_id = $data_block.data('last_id');
650
- last_id++;
651
- $data_block.data('last_id', last_id);
652
-
653
- var html = jQuery(this).parents('.berocket_conditions_block').first().find('.br_condition_example').html();
654
- html = html.replace( '%id%', last_id );
655
- var html = '<div class="br_html_condition" data-id="'+last_id+'" data-current="1"><div class="br_cond_one">'+html+'</div></div>';
656
- jQuery(this).before(html);
657
- $parent = jQuery(this).prev();
658
- $parent.find('.br_cond_type').trigger('change');
659
- });
660
- jQuery(document).on('click', '.berocket_remove_condition', function() {
661
- $parent = jQuery(this).parents('.br_cond_select');
662
- $parent.remove();
663
- });
664
- jQuery(document).on('click', '.br_remove_group', function() {
665
- $parent = jQuery(this).parents('.br_html_condition');
666
- $parent.remove();
667
- });
668
- jQuery(document).on('change', '.br_cond_attr_select', function() {
669
- var $attr_block = jQuery(this).parents('.br_cond').first();
670
- $attr_block.find('.br_attr_values').hide();
671
- $attr_block.find('.br_attr_value_'+jQuery(this).val()).show();
672
- });
673
- jQuery(document).on('change', '.price_from', function() {
674
- var val_price_from = jQuery(this).val();
675
- var val_price_to = jQuery(this).parents('.br_cond').first().find('.price_to').val();
676
- price_from = parseFloat(val_price_from);
677
- price_to = parseFloat(val_price_to);
678
- price_to_int = parseInt(val_price_to);
679
- if( val_price_from == '' ) {
680
- jQuery(this).val(0);
681
- price_from = 0;
682
- }
683
- if( price_from > price_to ) {
684
- jQuery(this).parents('.br_cond').first().find('.price_to').val(jQuery(this).val());
685
- }
686
- });
687
- jQuery(document).on('change', '.price_to', function() {
688
- var val_price_from = jQuery(this).parents('.br_cond').first().find('.price_from').val();
689
- var val_price_to = jQuery(this).val();
690
- price_from = parseFloat(val_price_from);
691
- price_from_int = parseInt(val_price_from);
692
- price_to = parseFloat(val_price_to);
693
- if( val_price_to == '' ) {
694
- jQuery(this).val(0);
695
- price_to = 0;
696
- }
697
- if( price_from > price_to ) {
698
- jQuery(this).parents('.br_cond').first().find('.price_from')(jQuery(this).val());
699
- }
700
- });
701
- //TEMPLATES
702
- jQuery(document).on('mousedown', '.berocket_templates_list .berocket_template_label', function() {
703
- var $this = jQuery(this).find('.berocket_template_is_active');
704
- if( $this.prop('checked') ) {
705
- $this.addClass('berocket_was_checked');
706
- } else {
707
- $this.removeClass('berocket_was_checked');
708
- }
709
- });
710
- jQuery(document).on('click', '.berocket_templates_list .berocket_template_label', function(event) {
711
- if( jQuery(this).find('.berocket_template_paid_sign').length ) {
712
- event.preventDefault()
713
- } else {
714
- var $this = jQuery(this).find('.berocket_template_is_active');
715
- setTimeout(function() {
716
- if( $this.is('.berocket_was_checked') ) {
717
- $this.prop('checked', false);
718
- }
719
- }, 10);
720
- }
721
- });
722
- jQuery(document).on('click', '.berocket_templates_list .berocket_template_label .berocket_template_paid_get a', function(event) {
723
- event.stopPropogation();
724
- });
725
- //ADDONS
726
- jQuery(document).on('click', '.berocket_addons_list .berocket_addon_label .berocket_addon_paid_get a', function(event) {
727
- event.stopPropogation();
728
- });
1
+ ;
2
+ var br_saved_timeout;
3
+ var br_init_colorpick;
4
+ var br_savin_ajax = false;
5
+ var br_something_changed = false;
6
+ (function ($){
7
+ $(document).ready( function () {
8
+ $(window).on('beforeunload', function() {
9
+ if( br_something_changed ) {
10
+ return 'Something changed and not saved';
11
+ }
12
+ });
13
+ setTimeout(function() {
14
+ $('.br_framework_submit_form *').on('change', function() {
15
+ br_something_changed = true;
16
+ });
17
+ }, 250);
18
+ $(document).on('submit', '.br_framework_submit_form', function(event) {
19
+ event.preventDefault();
20
+ if( !br_savin_ajax ) {
21
+ var br_reload_page = $(this).is('.br_reload_form');
22
+ br_savin_ajax = true;
23
+ var form_data = $(this).serialize();
24
+ var plugin_name = $(this).data('plugin');
25
+ var url = $(this).attr('action');
26
+ clearTimeout(br_saved_timeout);
27
+ destroy_br_saved();
28
+ $('body').append('<span class="br_saved br_saving"><i class="fa fa-refresh fa-spin"></i></span>');
29
+ $.post(url, form_data, function (data) {
30
+ if($('.br_saved').length > 0) {
31
+ $('.br_saved').removeClass('br_saving').find('.fa').removeClass('fa-spin').removeClass('fa-refresh').addClass('fa-check');
32
+ } else {
33
+ $('body').append('<span class="br_saved"><i class="fa fa-check"></i></span>');
34
+ }
35
+ br_saved_timeout = setTimeout( function(){destroy_br_saved();}, 2000 );
36
+ br_savin_ajax = false;
37
+ br_something_changed = false;
38
+ if( br_reload_page ) {
39
+ location.reload();
40
+ }
41
+ }).fail(function(data) {
42
+ if($('.br_saved').length > 0) {
43
+ $('.br_saved').removeClass('br_saving').addClass('br_not_saved').find('.fa').removeClass('fa-spin').removeClass('fa-refresh').addClass('fa-times');
44
+ } else {
45
+ $('body').append('<span class="br_saved br_not_saved"><i class="fa fa-times"></i></span>');
46
+ }
47
+ br_saved_timeout = setTimeout( function(){destroy_br_saved();}, 2000 );
48
+ br_savin_ajax = false;
49
+ });
50
+ }
51
+ });
52
+
53
+ function destroy_br_saved() {
54
+ $('.br_saved').addClass('br_saved_remove');
55
+ var $get = $('.br_saved');
56
+ setTimeout( function(){$get.remove();}, 200 );
57
+ }
58
+
59
+ $('.br_framework_settings ul.side a').click(function(event) {
60
+ var block = $(this).data('block');
61
+ if( block != 'redirect_link' ) {
62
+ event.preventDefault();
63
+ $(this).trigger('brlinktab_open');
64
+ $('.br_framework_settings ul.side a.active').removeClass('active');
65
+ $('.nav-block-active').removeClass('nav-block-active');
66
+ $(this).addClass('active');
67
+ $('.'+$(this).data('block')+'-block').addClass('nav-block-active');
68
+ $('.br_framework_settings .content .title').html( $(this).html() );
69
+ window.history.replaceState(null, null, $(this).attr('href'));
70
+ $(this).trigger('brlinktab_opened');
71
+ $('.'+$(this).data('block')+'-block').trigger('brtab_opened');
72
+ }
73
+ berocket_save_button_side();
74
+ });
75
+
76
+ $(window).on('keydown', function(event) {
77
+ if (event.ctrlKey || event.metaKey) {
78
+ switch (String.fromCharCode(event.which).toLowerCase()) {
79
+ case 's':
80
+ event.preventDefault();
81
+ $('.br_framework_submit_form').submit();
82
+ break;
83
+ }
84
+ }
85
+ });
86
+ br_init_colorpick = function() {
87
+ $('.br_framework_settings .br_colorpicker').each(function (i,o){
88
+ $(o).css('backgroundColor', $(o).data('color'));
89
+ $(o).colpick({
90
+ layout: 'hex',
91
+ submit: 0,
92
+ color: $(o).data('color'),
93
+ onChange: function(hsb,hex,rgb,el,bySetColor) {
94
+ if( hex.charAt(0) != '#' ) {
95
+ hex = '#'+hex;
96
+ }
97
+ $(el).css('backgroundColor', hex).parents('.berocket_color').first().find('.br_colorpicker_value').val(hex).trigger('change');
98
+ }
99
+ })
100
+ });
101
+ }
102
+ br_init_colorpick();
103
+ $(document).on('click', '.br_framework_settings .br_colorpicker_default', function (event) {
104
+ event.preventDefault();
105
+ var $color = $(this).parents('.berocket_color').first();
106
+ var data = $color.find('.br_colorpicker').data('default');
107
+ $color.find('.br_colorpicker').css('backgroundColor', data).colpickSetColor(data);
108
+ $color.find('.br_colorpicker_value').val(data).trigger('change');
109
+ });
110
+
111
+ $(document).on('click', '.br_framework_settings .berocket_upload_image', function(e) {
112
+ e.preventDefault();
113
+ $p = $(this);
114
+ var custom_uploader = wp.media({
115
+ title: 'Select custom Icon',
116
+ button: {
117
+ text: 'Set Icon'
118
+ },
119
+ multiple: false
120
+ }).on('select', function() {
121
+ var attachment = custom_uploader.state().get('selection').first().toJSON();
122
+ $p.prevAll(".berocket_selected_image").html('<image src="'+attachment.url+'" alt="">');
123
+ $p.prevAll(".berocket_image_value").val(attachment.url).trigger('change');
124
+ }).open();
125
+ });
126
+ $(document).on('click', '.br_framework_settings .berocket_remove_image',function(event) {
127
+ event.preventDefault();
128
+ $(this).prevAll(".berocket_selected_image").html("");
129
+ $(this).prevAll(".berocket_image_value").val("").trigger('change');
130
+ });
131
+ var berocket_fa_select_for = $('.berocket_fa_dark');
132
+ $(document).on('click', '.berocket_select_fontawesome .berocket_select_fa',function(event) {
133
+ event.preventDefault();
134
+ berocket_fa_select_for = $(this);
135
+ $('.berocket_fa_dark').not(':first').remove();
136
+ var $html = $('<div class="berocket_select_fontawesome"></div>');
137
+ $html.append($('.berocket_fa_dark'));
138
+ var $html2 = $('<div class="br_framework_settings br_fontawesome_body"></div>');
139
+ $html2.append($html);
140
+ $('body').children('.br_fontawesome_body').remove();
141
+ $('body').append($html2);
142
+ $('.berocket_fa_dark').show();
143
+ });
144
+ $(document).on('hover', '.berocket_select_fontawesome .berocket_fa_hover', function() {
145
+ var window_width = $(window).width();
146
+ window_width = window_width / 2;
147
+ var $this = $(this).parents('.berocket_fa_icon');
148
+ if( $this.offset().left < window_width ) {
149
+ $this.find('.berocket_fa_preview').css({left: '0', right: 'initial'});
150
+ $this.find('.berocket_fa_preview span').appendTo($this.find('.berocket_fa_preview'));
151
+ } else {
152
+ $this.find('.berocket_fa_preview').css({left: 'initial', right: '0'});
153
+ $this.find('.berocket_fa_preview .fa').appendTo($this.find('.berocket_fa_preview'));
154
+ }
155
+ });
156
+ $(document).on('click', '.berocket_select_fontawesome .berocket_fa_hover',function(event) {
157
+ event.preventDefault();
158
+ var value = $(this).parents('.berocket_fa_icon').first().find('.berocket_fa_preview span').text();
159
+ $(berocket_fa_select_for).parents('.berocket_select_fontawesome').find('.berocket_selected_fa').html('<i class="fa '+value+'"></i>');
160
+ $(berocket_fa_select_for).parents('.berocket_select_fontawesome').find('.berocket_fa_value').val(value).trigger('change');
161
+ $('.berocket_fa_dark').hide();
162
+ });
163
+ $(document).on('click', '.berocket_select_fontawesome .berocket_remove_fa',function(event) {
164
+ event.preventDefault();
165
+ $(this).parents('.berocket_select_fontawesome').find('.berocket_selected_fa').html('');
166
+ $(this).parents('.berocket_select_fontawesome').find('.berocket_fa_value').val('').trigger('change');
167
+ });
168
+ $(document).on('keyup', '.berocket_select_fontawesome .berocket_fa_search', function() {
169
+ var $parent = $(this).parents('.berocket_select_fontawesome').first();
170
+ var value = $(this).val();
171
+ value = value.replace(/\s+/g, '');
172
+ value = value.toLowerCase();
173
+ if( value.length >=1 ) {
174
+ $parent.find('.berocket_fa_icon').hide();
175
+ $parent.find('.berocket_fa_preview span:contains("'+value+'")').parents('.berocket_fa_icon').show();
176
+ } else {
177
+ $parent.find('.berocket_fa_icon').show();
178
+ }
179
+ });
180
+ $(document).on('click', '.berocket_select_fontawesome .berocket_fa_dark',function(event) {
181
+ event.preventDefault();
182
+ $(this).hide();
183
+ });
184
+ $(document).on('click', '.berocket_select_fontawesome .berocket_fa_dark .berocket_fa_close',function(event) {
185
+ event.preventDefault();
186
+ $(this).parents('.berocket_fa_dark').hide();
187
+ });
188
+ $(document).on('click', '.berocket_select_fontawesome .berocket_fa_popup',function(event) {
189
+ event.preventDefault();
190
+ event.stopPropagation();
191
+ });
192
+ if( location.hash ) {
193
+ $('.br_framework_settings ul.side a[href="'+location.hash+'"]').trigger('click');
194
+ }
195
+ if( typeof wp.codeEditor != 'undefined' && typeof wp.codeEditor.initialize != 'undefined' ) {
196
+ var css_editor = $('.br_framework_settings .css_editor');
197
+ css_editor.each(function() {
198
+ wp.codeEditor.initialize(this, {"codeEditor":{"codemirror":{"indentUnit":4,"indentWithTabs":true,"inputStyle":"contenteditable","lineNumbers":true,"lineWrapping":true,"styleActiveLine":true,"continueComments":true,"extraKeys":{"Ctrl-Space":"autocomplete","Ctrl-\/":"toggleComment","Cmd-\/":"toggleComment","Alt-F":"findPersistent"},"direction":"ltr","gutters":[],"mode":"css"},"csslint":{"errors":true,"box-model":true,"display-property-grouping":true,"duplicate-properties":true,"known-properties":true,"outline-none":true},"jshint":{"boss":true,"curly":true,"eqeqeq":true,"eqnull":true,"es3":true,"expr":true,"immed":true,"noarg":true,"nonbsp":true,"onevar":true,"quotmark":"single","trailing":true,"undef":true,"unused":true,"browser":true,"globals":{"_":false,"Backbone":false,"jQuery":false,"JSON":false,"wp":false}},"htmlhint":{"tagname-lowercase":true,"attr-lowercase":true,"attr-value-double-quotes":true,"doctype-first":false,"tag-pair":true,"spec-char-escape":true,"id-unique":true,"src-not-empty":true,"attr-no-duplication":true,"alt-require":true,"space-tab-mixed-disabled":"tab","attr-unsafe-chars":true}}});
199
+ })
200
+ var js_editor = $('.br_framework_settings .js_editor');
201
+ js_editor.each(function() {
202
+ wp.codeEditor.initialize(this, {"codeEditor":{"codemirror":{"indentUnit":4,"indentWithTabs":true,"inputStyle":"contenteditable","lineNumbers":true,"lineWrapping":true,"styleActiveLine":true,"continueComments":true,"extraKeys":{"Ctrl-Space":"autocomplete","Ctrl-\/":"toggleComment","Cmd-\/":"toggleComment","Alt-F":"findPersistent"},"direction":"ltr","gutters":[],"mode":"javascript"},"csslint":{"errors":true,"box-model":true,"display-property-grouping":true,"duplicate-properties":true,"known-properties":true,"outline-none":true},"jshint":{"boss":true,"curly":true,"eqeqeq":true,"eqnull":true,"es3":true,"expr":true,"immed":true,"noarg":true,"nonbsp":true,"onevar":true,"quotmark":"single","trailing":true,"undef":true,"unused":true,"browser":true,"globals":{"_":false,"Backbone":false,"jQuery":false,"JSON":false,"wp":false}},"htmlhint":{"tagname-lowercase":true,"attr-lowercase":true,"attr-value-double-quotes":true,"doctype-first":false,"tag-pair":true,"spec-char-escape":true,"id-unique":true,"src-not-empty":true,"attr-no-duplication":true,"alt-require":true,"space-tab-mixed-disabled":"tab","attr-unsafe-chars":true}}});
203
+ });
204
+ }
205
+ var berocket_save_button_side_timeout;
206
+ function berocket_save_button_side() {
207
+ var $button = $('.berocket_framework_sidebar_save_button .button-primary.button');
208
+ if( $button.length ) {
209
+ clearTimeout(berocket_save_button_side_timeout);
210
+ berocket_save_button_side_timeout = setTimeout(function() {
211
+ /*Settings to set*/
212
+ var bottom = '0px';
213
+ var position = 'fixed';
214
+ /*Get parameters*/
215
+ var $side = $button.parents('ul.side').first();
216
+ var sideTop = $side.offset().top;
217
+ var sideHeight = $side.outerHeight();
218
+ var windowScroll = jQuery(window).scrollTop();
219
+ var windowHeight = jQuery(window).height();
220
+ /*Calculate parameters*/
221
+ var sideBottom = sideTop + sideHeight;
222
+ var windowBottom = windowScroll + windowHeight;
223
+ var positionBottom = sideBottom - windowBottom;
224
+ if( positionBottom > (sideHeight - 50) ) {
225
+ bottom = '-100px';
226
+ }
227
+ if( positionBottom < 0 ) {
228
+ position = 'absolute';
229
+ }
230
+ if( $('.berocket_framework_default_save_button:visible').offset().top > windowBottom ) {
231
+ $button.css('display', 'block');
232
+ } else {
233
+ bottom = '-100px';
234
+ if( position == 'absolute' ) {
235
+ $button.css('display', 'none');
236
+ }
237
+ }
238
+ $button
239
+ .css('width', $button.parent().outerWidth())
240
+ .css('position', position)
241
+ .css('bottom', bottom);
242
+ }, 10);
243
+ }
244
+ }
245
+ $('.berocket_framework_sidebar_save_button .button-primary.button').css('display', 'block');
246
+ berocket_save_button_side();
247
+ $(document).scroll(berocket_save_button_side);
248
+ $(window).resize(berocket_save_button_side);
249
+ $(document).on('click', '.berocket_framework_sidebar_save_button .button-primary.button', function(event) {
250
+ event.preventDefault();
251
+ $(this).parents('.br_framework_settings').find('.br_framework_submit_form').submit();
252
+ });
253
+ });
254
+ })(jQuery);
255
+ /* PRODUCTS SELECTOR */
256
+ (function ($){
257
+ $(document).ready( function () {
258
+ var last_search = '';
259
+ var delay_search = false;
260
+ var ajax_request = false;
261
+ var $current_search = $('');
262
+ $(document).on('click', '.berocket_products_search', function() {
263
+ $(this).find('.berocket_search_input').focus();
264
+ });
265
+ $(document).on('dblclick', '.berocket_products_search', function() {
266
+ $(this).find('.berocket_search_input').select();
267
+ });
268
+ $(document).on('click', '.berocket_products_search .button', function(event) {
269
+ event.stopPropagation();
270
+ var $search_block = $(this);
271
+ var $search_box = $search_block.parents('.berocket_search_box').first();
272
+ $(this).remove();
273
+ if( $search_box.is('.single_product') && $search_box.find('.berocket_product_selected').length == 0 ) {
274
+ $search_box.find('.berocket_product_search').show();
275
+ }
276
+ });
277
+ $(document).on('click', '.berocket_search_box', function(event) {
278
+ event.stopPropagation();
279
+ var $current = $(this).find('.berocket_search_result');
280
+ if( $current.length == 0 ) {
281
+ remove_search_result();
282
+ }
283
+ });
284
+ $(document).on('keyup focus', '.berocket_search_input', function(event) {
285
+ if( delay_search ) {
286
+ clearTimeout(delay_search);
287
+ }
288
+ var $search_block = $(this);
289
+ var $search_box = $search_block.parents('.berocket_search_box').first();
290
+ if( $search_box.is('.single_product') && $search_box.find('.berocket_product_selected').length > 0 ) {
291
+ return false;
292
+ }
293
+ $current_search = $(this).parents('.berocket_search_box').first();
294
+ delay_search = setTimeout( function () {
295
+ if( $search_block.val().length >= 3 && $search_block.val() != last_search ) {
296
+ $('.berocket_search_result').remove();
297
+ last_search = $search_block.val();
298
+ var exists = [];
299
+ $search_box.find('.berocket_product_selected input').each(function( i, o ) {
300
+ exists.push($(o).val());
301
+ });
302
+ var data = {
303
+ action: $search_block.data('action'),
304
+ term: $search_block.val(),
305
+ security: berocket_framework_admin.security,
306
+ is_berocket:true
307
+ };
308
+ stop_search();
309
+ $search_box.find('.berocket_product_search').append($('<span class="berocket_loads"><i class="fa fa-spinner fa-spin"></i></span>'));
310
+ ajax_request = $.get(ajaxurl, data, function (data) {
311
+ $current_search = $search_box;
312
+ var count = 0;
313
+ var html = '<ul class="berocket_search_result">';
314
+ $.each(data, function(index, value) {
315
+ if( $.inArray(index, exists) == -1 ) {
316
+ html += '<li data-id="'+index+'">'+value+'</li>';
317
+ count++;
318
+ }
319
+ });
320
+ html += '</ul>';
321
+ if( count > 0 ) {
322
+ $result_block = $(html);
323
+ $result_block = $('body').append($result_block);
324
+ $('.berocket_search_result').css('position', 'absolute')
325
+ .css('top', $search_box.offset().top+$search_box.height())
326
+ .css('left', $search_box.offset().left)
327
+ .outerWidth($search_box.outerWidth());
328
+ }
329
+ $('.berocket_product_search .berocket_loads').remove();
330
+ }, 'json');
331
+ } else {
332
+ stop_search();
333
+ }
334
+ }, 500 );
335
+ });
336
+ $(document).on('click', '.berocket_search_result li', function(event) {
337
+ var html = '<li class="berocket_product_selected button"><input data-name="'+$current_search.data('name')+'" name="'+$current_search.data('name')+'" type="hidden" value="'+$(this).data('id')+'"><i class="fa fa-times"></i> '+$(this).text()+'</li>';
338
+ $current_search.find('.berocket_product_search').last().before($(html));
339
+ $current_search.find('.berocket_search_input').val('').trigger('change');
340
+ if( $current_search.is('.single_product') ) {
341
+ $current_search.find('.berocket_product_search').hide();
342
+ }
343
+ remove_search_result();
344
+ });
345
+ $(document).on('click', function(event) {
346
+ remove_search_result();
347
+ stop_search();
348
+ });
349
+ function remove_search_result() {
350
+ $('.berocket_search_result').remove();
351
+ last_search = '';
352
+ $current_search = $('');
353
+ }
354
+ function stop_search() {
355
+ if ( ajax_request !== false ) {
356
+ ajax_request.abort();
357
+ }
358
+ $('.berocket_product_search .berocket_loads').remove();
359
+ }
360
+ });
361
+ })(jQuery);
362
+
363
+
364
+ //SHOW MESSAGE FOR BLOCK
365
+ var berocket_block_messages_elements = [];
366
+ var berocket_block_messages_element_last = false;
367
+ var berocket_block_messages_element_interval = false;
368
+ function berocket_blocks_messages(options) {
369
+ if( typeof(options) == 'undefined' ) {
370
+ do {
371
+ var element = berocket_block_messages_elements.shift();
372
+ } while (! berocket_display_block_messages(element, berocket_block_messages_elements) && berocket_block_messages_elements.length);
373
+ return 'next';
374
+ }
375
+ if( ! berocket_block_messages_elements.length && berocket_block_messages_element_last == false ) {
376
+ berocket_block_messages_elements = options;
377
+ berocket_blocks_messages();
378
+ berocket_block_messages_element_interval = setInterval(function() {
379
+ if( berocket_block_messages_element_last !== false ) {
380
+ var $element = jQuery(berocket_block_messages_element_last.selector).first();
381
+ var top = parseInt($element.offset().top);
382
+ var left = parseInt($element.offset().left);
383
+ if( berocket_block_messages_element_last.top != top || berocket_block_messages_element_last.left != left ) {
384
+ berocket_display_block_message_reload_last();
385
+ }
386
+ }
387
+ }, 2000);
388
+ return true;
389
+ } else {
390
+ return false;
391
+ }
392
+ }
393
+ function berocket_display_block_messages(element, next_elements) {
394
+ if( typeof(element.selector) != 'undefined' && jQuery(element.selector).length ) {
395
+ berocket_block_messages_element_last = element;
396
+ if( typeof(element.disable_inside) == 'undefined' ) {
397
+ element.disable_inside = true;
398
+ }
399
+ if( typeof(element.execute) == 'function' ) {
400
+ element.execute(element, next_elements);
401
+ }
402
+ var $element = jQuery(element.selector).first();
403
+ var top = parseInt($element.offset().top);
404
+ var left = parseInt($element.offset().left);
405
+ berocket_block_messages_element_last.top = top;
406
+ berocket_block_messages_element_last.left = left;
407
+ var width = parseInt($element.outerWidth());
408
+ var height = parseInt($element.outerHeight());
409
+ var left_end = left + width;
410
+ var top_end = top + height;
411
+ var right_width = (parseInt(jQuery(window).width()) - left_end);
412
+ styles = {
413
+ top:'top:0;left:0;width:100%;height:'+top+'px;',
414
+ bottom:'top:'+top_end+'px;left:0;width:100%;',
415
+ left:'top:'+top+'px;left:0;width:'+left+'px;height:'+height+'px;',
416
+ right:'top:'+top+'px;left:'+left_end+'px;right:0;height:'+height+'px;',
417
+ inside:'top:'+top+'px;left:'+left+'px;width:'+width+'px;height:'+height+'px;'
418
+ };
419
+ if( top < 40 ) {
420
+ styles.top += 'padding:0;';
421
+ }
422
+ if( jQuery('#wpcontent').length ) {
423
+ var bottom_height = parseInt(jQuery('#wpcontent').outerHeight()) - top_end;
424
+ styles.bottom += 'height:'+(bottom_height + 40)+'px;';
425
+ } else {
426
+ styles.bottom += "bottom:0;";
427
+ }
428
+ if( left < 40 || height < 40 ) {
429
+ styles.left += 'padding:0;';
430
+ }
431
+ if( right_width < 40 || height < 40 ) {
432
+ styles.right += 'padding:0;';
433
+ }
434
+ //Create hide blocks
435
+ var html = '<div class="berocket_display_block_messages_hide top" style="'+styles.top+'"></div>';
436
+ html += '<div class="berocket_display_block_messages_hide bottom" style="'+styles.bottom+'"></div>';
437
+ html += '<div class="berocket_display_block_messages_hide left" style="'+styles.left+'"></div>';
438
+ html += '<div class="berocket_display_block_messages_hide right" style="'+styles.right+'"></div>';
439
+ if( typeof(element.text) == 'undefined' || element.disable_inside ) {
440
+ html += '<div class="berocket_display_block_messages_hide inside" style="'+styles.inside+'"></div>';
441
+ }
442
+ jQuery('body').append(jQuery(html));
443
+ jQuery("html, body").stop().animate({scrollTop:top - 50}, 500, 'swing');
444
+ //Button to next and close
445
+ html = '<a href="#close" class="berocket_display_block_messages_close_button">'+berocket_framework_admin_text.wizard_close+'</a>';
446
+ if( next_elements.length ) {
447
+ html += '<a href="#next" class="berocket_display_block_messages_next_button">'+berocket_framework_admin_text.wizard_next+'</a>';
448
+ }
449
+ if( typeof(element.text) == 'undefined' ) {
450
+ jQuery('.berocket_display_block_messages_hide.inside').last().append(jQuery(html));
451
+ } else {
452
+ berocket_display_tooltip($element, element.text)
453
+ jQuery('.berocket_display_tooltip').last().append(jQuery(html));
454
+ }
455
+ return true;
456
+ } else {
457
+ return false;
458
+ }
459
+ }
460
+ function berocket_display_block_message_reload_last() {
461
+ berocket_display_block_messages_remove();
462
+ berocket_display_block_messages(berocket_block_messages_element_last, berocket_block_messages_elements);
463
+ }
464
+ function berocket_display_tooltip(element, text, additional) {
465
+ $element = jQuery(element).first();
466
+ if( typeof(additional) != 'object' ) {
467
+ additional = {};
468
+ }
469
+ var top = parseInt($element.offset().top);
470
+ var left = parseInt($element.offset().left);
471
+ var width = parseInt($element.outerWidth());
472
+ var height = parseInt($element.outerHeight());
473
+ var left_end = left + width;
474
+ var right_width = (parseInt(jQuery(window).width()) - left_end);
475
+ if( left > 200 ) {
476
+ var position = 'left';
477
+ } else if( right_width > 200 ) {
478
+ var position = 'right';
479
+ } else {
480
+ var position = 'element';
481
+ }
482
+ var style="";
483
+ if( position == 'left' || position == 'right' ) {
484
+ style += 'top:'+top+'px;';
485
+ } else if( position == 'element' ) {
486
+ style += 'top:'+(top+40)+'px;';
487
+ }
488
+ if( position == 'left' ) {
489
+ style += 'right:'+(right_width + width + 15)+'px;';
490
+ } else if( position == 'right' ) {
491
+ style += 'left:'+(left_end + 15)+'px;';
492
+ } else if( position == 'element' ) {
493
+ style += 'left:'+left+'px;';
494
+ }
495
+ if( position == 'left' ) {
496
+ if( (left - 30) < 500 ) {
497
+ style += 'max-width:'+(left - 30)+'px;';
498
+ }
499
+ } else if( position == 'right' ) {
500
+ if( (right_width - 30) < 500 ) {
501
+ style += 'max-width:'+(right_width - 30)+'px;';
502
+ }
503
+ } else if( position == 'element' ) {
504
+ style += 'width:'+width+'px;';
505
+ }
506
+ var classes = 'berocket_display_tooltip position_'+position;
507
+ if( typeof(additional.hide_on_click) != 'undefined' && additional.hide_on_click ) {
508
+ classes += ' hide_on_click';
509
+ }
510
+ if( typeof(additional.classes) != 'undefined' ) {
511
+ classes += ' '+additional.classes;
512
+ }
513
+ var html = '<div class="'+classes+'" style="'+style+'">';
514
+ html += '<span class="br_text">'+text+'</span>';
515
+ html += '<span class="br_add1"></span>';
516
+ html += '<span class="br_add2"></span>';
517
+ html += '<span class="br_add3"></span>';
518
+ html += '</div>';
519
+ jQuery('body').append(jQuery(html));
520
+ }
521
+ function berocket_display_block_messages_remove() {
522
+ if( typeof(berocket_block_messages_element_last.execute_after) == 'function' ) {
523
+ berocket_block_messages_element_last.execute_after(berocket_block_messages_element_last, berocket_block_messages_elements);
524
+ }
525
+ jQuery('.berocket_display_block_messages_hide').remove();
526
+ jQuery('.berocket_display_block_messages_close_button').remove();
527
+ jQuery('.berocket_display_block_messages_next_button').remove();
528
+ jQuery('.berocket_display_tooltip').remove();
529
+ }
530
+ jQuery(document).on('click', '.berocket_display_block_messages_close_button', function(event) {
531
+ event.preventDefault();
532
+ berocket_display_block_messages_remove();
533
+ berocket_block_messages_element_last = false;
534
+ berocket_block_messages_elements = [];
535
+ clearInterval(berocket_block_messages_element_interval);
536
+ });
537
+ jQuery(document).on('click', '.berocket_display_block_messages_next_button', function(event) {
538
+ event.preventDefault();
539
+ berocket_display_block_messages_remove();
540
+ berocket_blocks_messages();
541
+ });
542
+ jQuery(document).on('click', function() {
543
+ jQuery('.berocket_display_tooltip.hide_on_click').remove();
544
+ });
545
+ //Sortable custom post
546
+ (function ($){
547
+ $(document).ready( function () {
548
+ $(document).on('click', '.berocket_post_set_new_sortable, .berocket_post_set_new_sortable_set', function(event) {
549
+ event.preventDefault();
550
+ var $this = $(this);
551
+ var post_id = $(this).data('post_id');
552
+ if( $this.is('.berocket_post_set_new_sortable_set') ) {
553
+ var order = $this.parents('.berocket_post_set_new_sortable_input').first().find('input').val();
554
+ } else {
555
+ var order = $(this).data('order');
556
+ }
557
+ $.post(location.href, {braction:'berocket_custom_post_sortable', BRsortable_id:post_id, BRorder:order}, function(html) {
558
+ var $html = jQuery(html);
559
+ var $tbody = $html.find('.berocket_post_set_new_sortable').first().parents('tbody').first();
560
+ $('.berocket_post_set_new_sortable').first().parents('tbody').first().replaceWith($tbody);
561
+ jQuery(document).trigger('BRsortable_loaded_html');
562
+ });
563
+ });
564
+ });
565
+ })(jQuery);
566
+ //ADDONS RELOAD
567
+ (function ($){
568
+ function berocket_addon_list_resize(element) {
569
+ var addclass = false;
570
+ var width = $(element).width();
571
+ if( width > 1600 ) {
572
+ addclass = 'col8-addons';
573
+ } else if( width > 1400 ) {
574
+ addclass = 'col7-addons';
575
+ } else if( width > 1200 ) {
576
+ addclass = 'col6-addons';
577
+ } else if( width > 1000 ) {
578
+ addclass = 'col5-addons';
579
+ } else if( width > 800 ) {
580
+ addclass = 'col4-addons';
581
+ } else if( width > 600 ) {
582
+ addclass = 'col3-addons';
583
+ } else if( width > 400 ) {
584
+ addclass = 'col2-addons';
585
+ } else if( width > 100 ) {
586
+ addclass = 'col-addons';
587
+ } else {
588
+ addclass = 'col7-addons';
589
+ }
590
+ $(element)
591
+ .removeClass('col8-addons')
592
+ .removeClass('col7-addons')
593
+ .removeClass('col6-addons')
594
+ .removeClass('col5-addons')
595
+ .removeClass('col4-addons')
596
+ .removeClass('col3-addons')
597
+ .removeClass('col2-addons')
598
+ .removeClass('col-addons');
599
+ if( addclass ) {
600
+ $(element).addClass(addclass);
601
+ }
602
+ }
603
+ function berocket_addon_list_resize_all() {
604
+ $('.berocket_addons_list').each(function() {
605
+ berocket_addon_list_resize($(this));
606
+ });
607
+ }
608
+ $(window).on('resize', berocket_addon_list_resize_all);
609
+ $(document).on('brtab_opened', berocket_addon_list_resize_all);
610
+ $(document).ready( function () {
611
+ berocket_addon_list_resize_all();
612
+ $(document).on('change', '.berocket_addons_list input', function() {
613
+ $(this).parents('.br_framework_submit_form').addClass('br_reload_form');
614
+ });
615
+ });
616
+ })(jQuery);
617
+ //CONDITIONS
618
+ jQuery(document).on('change', '.br_cond_type', function(event) {
619
+ var $data_block = jQuery(this).parents('.berocket_conditions_block').first().find('.br_condition_data').first();
620
+ var condition_name = $data_block.data('condition_name');
621
+ var $parent = jQuery(this).parents('.br_cond_select');
622
+ $parent.find('.br_cond').remove();
623
+ var id = $parent.parents('.br_html_condition');
624
+ var current_id = $parent.data('current');
625
+ id = id.data('id');
626
+ var html_need = jQuery('.br_cond_example .br_cond_'+jQuery(this).val()).get(0);
627
+ html_need = html_need.outerHTML;
628
+ html_need = html_need.replace(/%id%/g, id);
629
+ html_need = html_need.replace(/%current_id%/g, current_id);
630
+ html_need = html_need.replace(/%name%/g, condition_name);
631
+ html_need = html_need.replace(/data-name=/g, 'name=');
632
+ $parent.find('.br_current_cond').html(html_need);
633
+ });
634
+ jQuery(document).on('click', '.berocket_add_condition', function() {
635
+ var id = jQuery(this).parents('.br_html_condition');
636
+ var current_id = id.data('current');
637
+ current_id = current_id + 1;
638
+ id.data('current', current_id);
639
+ id = id.data('id');
640
+ var $html = jQuery(this).parents('.berocket_conditions_block').first().find('.br_condition_example .br_cond_select').html();
641
+ $html = '<div class="br_cond_select" data-current="'+current_id+'">'+$html+'</div>';
642
+ $html = $html.replace('%id%', id);
643
+ jQuery(this).before($html);
644
+ $parent = jQuery(this).prev();
645
+ $parent.find('.br_cond_type').trigger('change');
646
+ });
647
+ jQuery(document).on('click', '.br_add_group', function() {
648
+ var $data_block = jQuery(this).parents('.berocket_conditions_block').first().find('.br_condition_data').first();
649
+ var last_id = $data_block.data('last_id');
650
+ last_id++;
651
+ $data_block.data('last_id', last_id);
652
+
653
+ var html = jQuery(this).parents('.berocket_conditions_block').first().find('.br_condition_example').html();
654
+ html = html.replace( '%id%', last_id );
655
+ var html = '<div class="br_html_condition" data-id="'+last_id+'" data-current="1"><div class="br_cond_one">'+html+'</div></div>';
656
+ jQuery(this).before(html);
657
+ $parent = jQuery(this).prev();
658
+ $parent.find('.br_cond_type').trigger('change');
659
+ });
660
+ jQuery(document).on('click', '.berocket_remove_condition', function() {
661
+ $parent = jQuery(this).parents('.br_cond_select');
662
+ $parent.remove();
663
+ });
664
+ jQuery(document).on('click', '.br_remove_group', function() {
665
+ $parent = jQuery(this).parents('.br_html_condition');
666
+ $parent.remove();
667
+ });
668
+ jQuery(document).on('change', '.br_cond_attr_select', function() {
669
+ var $attr_block = jQuery(this).parents('.br_cond').first();
670
+ $attr_block.find('.br_attr_values').hide();
671
+ $attr_block.find('.br_attr_value_'+jQuery(this).val()).show();
672
+ });
673
+ jQuery(document).on('change', '.price_from', function() {
674
+ var val_price_from = jQuery(this).val();
675
+ var val_price_to = jQuery(this).parents('.br_cond').first().find('.price_to').val();
676
+ price_from = parseFloat(val_price_from);
677
+ price_to = parseFloat(val_price_to);
678
+ price_to_int = parseInt(val_price_to);
679
+ if( val_price_from == '' ) {
680
+ jQuery(this).val(0);
681
+ price_from = 0;
682
+ }
683
+ if( price_from > price_to ) {
684
+ jQuery(this).parents('.br_cond').first().find('.price_to').val(jQuery(this).val());
685
+ }
686
+ });
687
+ jQuery(document).on('change', '.price_to', function() {
688
+ var val_price_from = jQuery(this).parents('.br_cond').first().find('.price_from').val();
689
+ var val_price_to = jQuery(this).val();
690
+ price_from = parseFloat(val_price_from);
691
+ price_from_int = parseInt(val_price_from);
692
+ price_to = parseFloat(val_price_to);
693
+ if( val_price_to == '' ) {
694
+ jQuery(this).val(0);
695
+ price_to = 0;
696
+ }
697
+ if( price_from > price_to ) {
698
+ jQuery(this).parents('.br_cond').first().find('.price_from')(jQuery(this).val());
699
+ }
700
+ });
701
+ //TEMPLATES
702
+ jQuery(document).on('mousedown', '.berocket_templates_list .berocket_template_label', function() {
703
+ var $this = jQuery(this).find('.berocket_template_is_active');
704
+ if( $this.prop('checked') ) {
705
+ $this.addClass('berocket_was_checked');
706
+ } else {
707
+ $this.removeClass('berocket_was_checked');
708
+ }
709
+ });
710
+ jQuery(document).on('click', '.berocket_templates_list .berocket_template_label', function(event) {
711
+ if( jQuery(this).find('.berocket_template_paid_sign').length ) {
712
+ event.preventDefault()
713
+ } else {
714
+ var $this = jQuery(this).find('.berocket_template_is_active');
715
+ setTimeout(function() {
716
+ if( $this.is('.berocket_was_checked') ) {
717
+ $this.prop('checked', false);
718
+ }
719
+ }, 10);
720
+ }
721
+ });
722
+ jQuery(document).on('click', '.berocket_templates_list .berocket_template_label .berocket_template_paid_get a', function(event) {
723
+ event.stopPropogation();
724
+ });
725
+ //ADDONS
726
+ jQuery(document).on('click', '.berocket_addons_list .berocket_addon_label .berocket_addon_paid_get a', function(event) {
727
+ event.stopPropogation();
728
+ });
berocket/assets/js/colpick.js CHANGED
@@ -1,520 +1,520 @@
1
- /*
2
- colpick Color Picker
3
- Copyright 2013 Jose Vargas. Licensed under GPL license. Based on Stefan Petre's Color Picker www.eyecon.ro, dual licensed under the MIT and GPL licenses
4
-
5
- For usage and examples: colpick.com/plugin
6
- */
7
-
8
- (function ($) {
9
- var colpick = function () {
10
- var
11
- tpl = '<div class="colpick"><div class="colpick_color"><div class="colpick_color_overlay1"><div class="colpick_color_overlay2"><div class="colpick_selector_outer"><div class="colpick_selector_inner"></div></div></div></div></div><div class="colpick_hue"><div class="colpick_hue_arrs"><div class="colpick_hue_larr"></div><div class="colpick_hue_rarr"></div></div></div><div class="colpick_new_color"></div><div class="colpick_current_color"></div><div class="colpick_hex_field"><div class="colpick_field_letter">#</div><input type="text" maxlength="6" size="6" /></div><div class="colpick_rgb_r colpick_field"><div class="colpick_field_letter">R</div><input type="text" maxlength="3" size="3" /><div class="colpick_field_arrs"><div class="colpick_field_uarr"></div><div class="colpick_field_darr"></div></div></div><div class="colpick_rgb_g colpick_field"><div class="colpick_field_letter">G</div><input type="text" maxlength="3" size="3" /><div class="colpick_field_arrs"><div class="colpick_field_uarr"></div><div class="colpick_field_darr"></div></div></div><div class="colpick_rgb_b colpick_field"><div class="colpick_field_letter">B</div><input type="text" maxlength="3" size="3" /><div class="colpick_field_arrs"><div class="colpick_field_uarr"></div><div class="colpick_field_darr"></div></div></div><div class="colpick_hsb_h colpick_field"><div class="colpick_field_letter">H</div><input type="text" maxlength="3" size="3" /><div class="colpick_field_arrs"><div class="colpick_field_uarr"></div><div class="colpick_field_darr"></div></div></div><div class="colpick_hsb_s colpick_field"><div class="colpick_field_letter">S</div><input type="text" maxlength="3" size="3" /><div class="colpick_field_arrs"><div class="colpick_field_uarr"></div><div class="colpick_field_darr"></div></div></div><div class="colpick_hsb_b colpick_field"><div class="colpick_field_letter">B</div><input type="text" maxlength="3" size="3" /><div class="colpick_field_arrs"><div class="colpick_field_uarr"></div><div class="colpick_field_darr"></div></div></div><div class="colpick_submit"></div></div>',
12
- defaults = {
13
- showEvent: 'click',
14
- onShow: function () {},
15
- onBeforeShow: function(){},
16
- onHide: function () {},
17
- onChange: function () {},
18
- onSubmit: function () {},
19
- colorScheme: 'light',
20
- color: '3289c7',
21
- livePreview: true,
22
- flat: false,
23
- layout: 'full',
24
- submit: 1,
25
- submitText: 'OK',
26
- height: 156
27
- },
28
- //Fill the inputs of the plugin
29
- fillRGBFields = function (hsb, cal) {
30
- var rgb = hsbToRgb(hsb);
31
- $(cal).data('colpick').fields
32
- .eq(1).val(rgb.r).end()
33
- .eq(2).val(rgb.g).end()
34
- .eq(3).val(rgb.b).end();
35
- },
36
- fillHSBFields = function (hsb, cal) {
37
- $(cal).data('colpick').fields
38
- .eq(4).val(Math.round(hsb.h)).end()
39
- .eq(5).val(Math.round(hsb.s)).end()
40
- .eq(6).val(Math.round(hsb.b)).end();
41
- },
42
- fillHexFields = function (hsb, cal) {
43
- $(cal).data('colpick').fields.eq(0).val(hsbToHex(hsb));
44
- },
45
- //Set the round selector position
46
- setSelector = function (hsb, cal) {
47
- $(cal).data('colpick').selector.css('backgroundColor', '#' + hsbToHex({h: hsb.h, s: 100, b: 100}));
48
- $(cal).data('colpick').selectorIndic.css({
49
- left: parseInt($(cal).data('colpick').height * hsb.s/100, 10),
50
- top: parseInt($(cal).data('colpick').height * (100-hsb.b)/100, 10)
51
- });
52
- },
53
- //Set the hue selector position
54
- setHue = function (hsb, cal) {
55
- $(cal).data('colpick').hue.css('top', parseInt($(cal).data('colpick').height - $(cal).data('colpick').height * hsb.h/360, 10));
56
- },
57
- //Set current and new colors
58
- setCurrentColor = function (hsb, cal) {
59
- $(cal).data('colpick').currentColor.css('backgroundColor', '#' + hsbToHex(hsb));
60
- },
61
- setNewColor = function (hsb, cal) {
62
- $(cal).data('colpick').newColor.css('backgroundColor', '#' + hsbToHex(hsb));
63
- },
64
- //Called when the new color is changed
65
- change = function (ev) {
66
- var cal = $(this).parent().parent(), col;
67
- if (this.parentNode.className.indexOf('_hex') > 0) {
68
- cal.data('colpick').color = col = hexToHsb(fixHex(this.value));
69
- fillRGBFields(col, cal.get(0));
70
- fillHSBFields(col, cal.get(0));
71
- } else if (this.parentNode.className.indexOf('_hsb') > 0) {
72
- cal.data('colpick').color = col = fixHSB({
73
- h: parseInt(cal.data('colpick').fields.eq(4).val(), 10),
74
- s: parseInt(cal.data('colpick').fields.eq(5).val(), 10),
75
- b: parseInt(cal.data('colpick').fields.eq(6).val(), 10)
76
- });
77
- fillRGBFields(col, cal.get(0));
78
- fillHexFields(col, cal.get(0));
79
- } else {
80
- cal.data('colpick').color = col = rgbToHsb(fixRGB({
81
- r: parseInt(cal.data('colpick').fields.eq(1).val(), 10),
82
- g: parseInt(cal.data('colpick').fields.eq(2).val(), 10),
83
- b: parseInt(cal.data('colpick').fields.eq(3).val(), 10)
84
- }));
85
- fillHexFields(col, cal.get(0));
86
- fillHSBFields(col, cal.get(0));
87
- }
88
- setSelector(col, cal.get(0));
89
- setHue(col, cal.get(0));
90
- setNewColor(col, cal.get(0));
91
- cal.data('colpick').onChange.apply(cal.parent(), [col, hsbToHex(col), hsbToRgb(col), cal.data('colpick').el, 0]);
92
- },
93
- //Change style on blur and on focus of inputs
94
- blur = function (ev) {
95
- $(this).parent().removeClass('colpick_focus');
96
- },
97
- focus = function () {
98
- $(this).parent().parent().data('colpick').fields.parent().removeClass('colpick_focus');
99
- $(this).parent().addClass('colpick_focus');
100
- },
101
- //Increment/decrement arrows functions
102
- downIncrement = function (ev) {
103
- ev.preventDefault ? ev.preventDefault() : ev.returnValue = false;
104
- var field = $(this).parent().find('input').focus();
105
- var current = {
106
- el: $(this).parent().addClass('colpick_slider'),
107
- max: this.parentNode.className.indexOf('_hsb_h') > 0 ? 360 : (this.parentNode.className.indexOf('_hsb') > 0 ? 100 : 255),
108
- y: ev.pageY,
109
- field: field,
110
- val: parseInt(field.val(), 10),
111
- preview: $(this).parent().parent().data('colpick').livePreview
112
- };
113
- $(document).mouseup(current, upIncrement);
114
- $(document).mousemove(current, moveIncrement);
115
- },
116
- moveIncrement = function (ev) {
117
- ev.data.field.val(Math.max(0, Math.min(ev.data.max, parseInt(ev.data.val - ev.pageY + ev.data.y, 10))));
118
- if (ev.data.preview) {
119
- change.apply(ev.data.field.get(0), [true]);
120
- }
121
- return false;
122
- },
123
- upIncrement = function (ev) {
124
- change.apply(ev.data.field.get(0), [true]);
125
- ev.data.el.removeClass('colpick_slider').find('input').focus();
126
- $(document).off('mouseup', upIncrement);
127
- $(document).off('mousemove', moveIncrement);
128
- return false;
129
- },
130
- //Hue slider functions
131
- downHue = function (ev) {
132
- ev.preventDefault ? ev.preventDefault() : ev.returnValue = false;
133
- var current = {
134
- cal: $(this).parent(),
135
- y: $(this).offset().top
136
- };
137
- $(document).on('mouseup touchend',current,upHue);
138
- $(document).on('mousemove touchmove',current,moveHue);
139
-
140
- var pageY = ((ev.type == 'touchstart') ? ev.originalEvent.changedTouches[0].pageY : ev.pageY );
141
- change.apply(
142
- current.cal.data('colpick')
143
- .fields.eq(4).val(parseInt(360*(current.cal.data('colpick').height - (pageY - current.y))/current.cal.data('colpick').height, 10))
144
- .get(0),
145
- [current.cal.data('colpick').livePreview]
146
- );
147
- return false;
148
- },
149
- moveHue = function (ev) {
150
- var pageY = ((ev.type == 'touchmove') ? ev.originalEvent.changedTouches[0].pageY : ev.pageY );
151
- change.apply(
152
- ev.data.cal.data('colpick')
153
- .fields.eq(4).val(parseInt(360*(ev.data.cal.data('colpick').height - Math.max(0,Math.min(ev.data.cal.data('colpick').height,(pageY - ev.data.y))))/ev.data.cal.data('colpick').height, 10))
154
- .get(0),
155
- [ev.data.preview]
156
- );
157
- return false;
158
- },
159
- upHue = function (ev) {
160
- fillRGBFields(ev.data.cal.data('colpick').color, ev.data.cal.get(0));
161
- fillHexFields(ev.data.cal.data('colpick').color, ev.data.cal.get(0));
162
- $(document).off('mouseup touchend',upHue);
163
- $(document).off('mousemove touchmove',moveHue);
164
- return false;
165
- },
166
- //Color selector functions
167
- downSelector = function (ev) {
168
- ev.preventDefault ? ev.preventDefault() : ev.returnValue = false;
169
- var current = {
170
- cal: $(this).parent(),
171
- pos: $(this).offset()
172
- };
173
- current.preview = current.cal.data('colpick').livePreview;
174
-
175
- $(document).on('mouseup touchend',current,upSelector);
176
- $(document).on('mousemove touchmove',current,moveSelector);
177
-
178
- var payeX,pageY;
179
- if(ev.type == 'touchstart') {
180
- pageX = ev.originalEvent.changedTouches[0].pageX,
181
- pageY = ev.originalEvent.changedTouches[0].pageY;
182
- } else {
183
- pageX = ev.pageX;
184
- pageY = ev.pageY;
185
- }
186
-
187
- change.apply(
188
- current.cal.data('colpick').fields
189
- .eq(6).val(parseInt(100*(current.cal.data('colpick').height - (pageY - current.pos.top))/current.cal.data('colpick').height, 10)).end()
190
- .eq(5).val(parseInt(100*(pageX - current.pos.left)/current.cal.data('colpick').height, 10))
191
- .get(0),
192
- [current.preview]
193
- );
194
- return false;
195
- },
196
- moveSelector = function (ev) {
197
- var payeX,pageY;
198
- if(ev.type == 'touchmove') {
199
- pageX = ev.originalEvent.changedTouches[0].pageX,
200
- pageY = ev.originalEvent.changedTouches[0].pageY;
201
- } else {
202
- pageX = ev.pageX;
203
- pageY = ev.pageY;
204
- }
205
-
206
- change.apply(
207
- ev.data.cal.data('colpick').fields
208
- .eq(6).val(parseInt(100*(ev.data.cal.data('colpick').height - Math.max(0,Math.min(ev.data.cal.data('colpick').height,(pageY - ev.data.pos.top))))/ev.data.cal.data('colpick').height, 10)).end()
209
- .eq(5).val(parseInt(100*(Math.max(0,Math.min(ev.data.cal.data('colpick').height,(pageX - ev.data.pos.left))))/ev.data.cal.data('colpick').height, 10))
210
- .get(0),
211
- [ev.data.preview]
212
- );
213
- return false;
214
- },
215
- upSelector = function (ev) {
216
- fillRGBFields(ev.data.cal.data('colpick').color, ev.data.cal.get(0));
217
- fillHexFields(ev.data.cal.data('colpick').color, ev.data.cal.get(0));
218
- $(document).off('mouseup touchend',upSelector);
219
- $(document).off('mousemove touchmove',moveSelector);
220
- return false;
221
- },
222
- //Submit button
223
- clickSubmit = function (ev) {
224
- var cal = $(this).parent();
225
- var col = cal.data('colpick').color;
226
- cal.data('colpick').origColor = col;
227
- setCurrentColor(col, cal.get(0));
228
- cal.data('colpick').onSubmit(col, hsbToHex(col), hsbToRgb(col), cal.data('colpick').el);
229
- },
230
- //Show/hide the color picker
231
- show = function (ev) {
232
- // Prevent the trigger of any direct parent
233
- ev.stopPropagation();
234
- var cal = $('#' + $(this).data('colpickId'));
235
- cal.data('colpick').onBeforeShow.apply(this, [cal.get(0)]);
236
- var pos = $(this).offset();
237
- var top = pos.top + this.offsetHeight;
238
- var left = pos.left;
239
- var viewPort = getViewport();
240
- var calW = cal.width();
241
- if (left + calW > viewPort.l + viewPort.w) {
242
- left -= calW;
243
- }
244
- cal.css({left: left + 'px', top: top + 'px'});
245
- if (cal.data('colpick').onShow.apply(this, [cal.get(0)]) != false) {
246
- cal.show();
247
- }
248
- //Hide when user clicks outside
249
- $('html').mousedown({cal:cal}, hide);
250
- cal.mousedown(function(ev){ev.stopPropagation();})
251
- },
252
- hide = function (ev) {
253
- if (ev.data.cal.data('colpick').onHide.apply(this, [ev.data.cal.get(0)]) != false) {
254
- ev.data.cal.hide();
255
- }
256
- $('html').off('mousedown', hide);
257
- },
258
- getViewport = function () {
259
- var m = document.compatMode == 'CSS1Compat';
260
- return {
261
- l : window.pageXOffset || (m ? document.documentElement.scrollLeft : document.body.scrollLeft),
262
- w : window.innerWidth || (m ? document.documentElement.clientWidth : document.body.clientWidth)
263
- };
264
- },
265
- //Fix the values if the user enters a negative or high value
266
- fixHSB = function (hsb) {
267
- return {
268
- h: Math.min(360, Math.max(0, hsb.h)),
269
- s: Math.min(100, Math.max(0, hsb.s)),
270
- b: Math.min(100, Math.max(0, hsb.b))
271
- };
272
- },
273
- fixRGB = function (rgb) {
274
- return {
275
- r: Math.min(255, Math.max(0, rgb.r)),
276
- g: Math.min(255, Math.max(0, rgb.g)),
277
- b: Math.min(255, Math.max(0, rgb.b))
278
- };
279
- },
280
- fixHex = function (hex) {
281
- var len = 6 - hex.length;
282
- if (len > 0) {
283
- var o = [];
284
- for (var i=0; i<len; i++) {
285
- o.push('0');
286
- }
287
- o.push(hex);
288
- hex = o.join('');
289
- }
290
- return hex;
291
- },
292
- restoreOriginal = function () {
293
- var cal = $(this).parent();
294
- var col = cal.data('colpick').origColor;
295
- cal.data('colpick').color = col;
296
- fillRGBFields(col, cal.get(0));
297
- fillHexFields(col, cal.get(0));
298
- fillHSBFields(col, cal.get(0));
299
- setSelector(col, cal.get(0));
300
- setHue(col, cal.get(0));
301
- setNewColor(col, cal.get(0));
302
- };
303
- return {
304
- init: function (opt) {
305
- opt = $.extend({}, defaults, opt||{});
306
- //Set color
307
- if (typeof opt.color == 'string') {
308
- opt.color = hexToHsb(opt.color);
309
- } else if (opt.color.r != undefined && opt.color.g != undefined && opt.color.b != undefined) {
310
- opt.color = rgbToHsb(opt.color);
311
- } else if (opt.color.h != undefined && opt.color.s != undefined && opt.color.b != undefined) {
312
- opt.color = fixHSB(opt.color);
313
- } else {
314
- return this;
315
- }
316
-
317
- //For each selected DOM element
318
- return this.each(function () {
319
- //If the element does not have an ID
320
- if (!$(this).data('colpickId')) {
321
- var options = $.extend({}, opt);
322
- options.origColor = opt.color;
323
- //Generate and assign a random ID
324
- var id = 'collorpicker_' + parseInt(Math.random() * 1000);
325
- $(this).data('colpickId', id);
326
- //Set the tpl's ID and get the HTML
327
- var cal = $(tpl).attr('id', id);
328
- //Add class according to layout
329
- cal.addClass('colpick_'+options.layout+(options.submit?'':' colpick_'+options.layout+'_ns'));
330
- //Add class if the color scheme is not default
331
- if(options.colorScheme != 'light') {
332
- cal.addClass('colpick_'+options.colorScheme);
333
- }
334
- //Setup submit button
335
- cal.find('div.colpick_submit').html(options.submitText).click(clickSubmit);
336
- //Setup input fields
337
- options.fields = cal.find('input').change(change).blur(blur).focus(focus);
338
- cal.find('div.colpick_field_arrs').mousedown(downIncrement).end().find('div.colpick_current_color').click(restoreOriginal);
339
- //Setup hue selector
340
- options.selector = cal.find('div.colpick_color').on('mousedown touchstart',downSelector);
341
- options.selectorIndic = options.selector.find('div.colpick_selector_outer');
342
- //Store parts of the plugin
343
- options.el = this;
344
- options.hue = cal.find('div.colpick_hue_arrs');
345
- huebar = options.hue.parent();
346
- //Paint the hue bar
347
- var UA = navigator.userAgent.toLowerCase();
348
- var isIE = navigator.appName === 'Microsoft Internet Explorer';
349
- var IEver = isIE ? parseFloat( UA.match( /msie ([0-9]{1,}[\.0-9]{0,})/ )[1] ) : 0;
350
- var ngIE = ( isIE && IEver < 10 );
351
- var stops = ['#ff0000','#ff0080','#ff00ff','#8000ff','#0000ff','#0080ff','#00ffff','#00ff80','#00ff00','#80ff00','#ffff00','#ff8000','#ff0000'];
352
- if(ngIE) {
353
- var i, div;
354
- for(i=0; i<=11; i++) {
355
- div = $('<div></div>').attr('style','height:8.333333%; filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='+stops[i]+', endColorstr='+stops[i+1]+'); -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='+stops[i]+', endColorstr='+stops[i+1]+')";');
356
- huebar.append(div);
357
- }
358
- } else {
359
- stopList = stops.join(',');
360
- huebar.attr('style','background:-webkit-linear-gradient(top,'+stopList+'); background: -o-linear-gradient(top,'+stopList+'); background: -ms-linear-gradient(top,'+stopList+'); background:-moz-linear-gradient(top,'+stopList+'); -webkit-linear-gradient(top,'+stopList+'); background:linear-gradient(to bottom,'+stopList+'); ');
361
- }
362
- cal.find('div.colpick_hue').on('mousedown touchstart',downHue);
363
- options.newColor = cal.find('div.colpick_new_color');
364
- options.currentColor = cal.find('div.colpick_current_color');
365
- //Store options and fill with default color
366
- cal.data('colpick', options);
367
- fillRGBFields(options.color, cal.get(0));
368
- fillHSBFields(options.color, cal.get(0));
369
- fillHexFields(options.color, cal.get(0));
370
- setHue(options.color, cal.get(0));
371
- setSelector(options.color, cal.get(0));
372
- setCurrentColor(options.color, cal.get(0));
373
- setNewColor(options.color, cal.get(0));
374
- //Append to body if flat=false, else show in place
375
- if (options.flat) {
376
- cal.appendTo(this).show();
377
- cal.css({
378
- position: 'relative',
379
- display: 'block'
380
- });
381
- } else {
382
- cal.appendTo(document.body);
383
- $(this).on(options.showEvent, show);
384
- cal.css({
385
- position:'absolute'
386
- });
387
- }
388
- }
389
- });
390
- },
391
- //Shows the picker
392
- showPicker: function() {
393
- return this.each( function () {
394
- if ($(this).data('colpickId')) {
395
- show.apply(this);
396
- }
397
- });
398
- },
399
- //Hides the picker
400
- hidePicker: function() {
401
- return this.each( function () {
402
- if ($(this).data('colpickId')) {
403
- $('#' + $(this).data('colpickId')).hide();
404
- }
405
- });
406
- },
407
- //Sets a color as new and current (default)
408
- setColor: function(col, setCurrent) {
409
- setCurrent = (typeof setCurrent === "undefined") ? 1 : setCurrent;
410
- if (typeof col == 'string') {
411
- col = hexToHsb(col);
412
- } else if (col.r != undefined && col.g != undefined && col.b != undefined) {
413
- col = rgbToHsb(col);
414
- } else if (col.h != undefined && col.s != undefined && col.b != undefined) {
415
- col = fixHSB(col);
416
- } else {
417
- return this;
418
- }
419
- return this.each(function(){
420
- if ($(this).data('colpickId')) {
421
- var cal = $('#' + $(this).data('colpickId'));
422
- cal.data('colpick').color = col;
423
- cal.data('colpick').origColor = col;
424
- fillRGBFields(col, cal.get(0));
425
- fillHSBFields(col, cal.get(0));
426
- fillHexFields(col, cal.get(0));
427
- setHue(col, cal.get(0));
428
- setSelector(col, cal.get(0));
429
-
430
- setNewColor(col, cal.get(0));
431
- cal.data('colpick').onChange.apply(cal.parent(), [col, hsbToHex(col), hsbToRgb(col), cal.data('colpick').el, 1]);
432
- if(setCurrent) {
433
- setCurrentColor(col, cal.get(0));
434
- }
435
- }
436
- });
437
- }
438
- };
439
- }();
440
- //Color space convertions
441
- var hexToRgb = function (hex) {
442
- var hex = parseInt(((hex.indexOf('#') > -1) ? hex.substring(1) : hex), 16);
443
- return {r: hex >> 16, g: (hex & 0x00FF00) >> 8, b: (hex & 0x0000FF)};
444
- };
445
- var hexToHsb = function (hex) {
446
- return rgbToHsb(hexToRgb(hex));
447
- };
448
- var rgbToHsb = function (rgb) {
449
- var hsb = {h: 0, s: 0, b: 0};
450
- var min = Math.min(rgb.r, rgb.g, rgb.b);
451
- var max = Math.max(rgb.r, rgb.g, rgb.b);
452
- var delta = max - min;
453
- hsb.b = max;
454
- hsb.s = max != 0 ? 255 * delta / max : 0;
455
- if (hsb.s != 0) {
456
- if (rgb.r == max) hsb.h = (rgb.g - rgb.b) / delta;
457
- else if (rgb.g == max) hsb.h = 2 + (rgb.b - rgb.r) / delta;
458
- else hsb.h = 4 + (rgb.r - rgb.g) / delta;
459
- } else hsb.h = -1;
460
- hsb.h *= 60;
461
- if (hsb.h < 0) hsb.h += 360;
462
- hsb.s *= 100/255;
463
- hsb.b *= 100/255;
464
- return hsb;
465
- };
466
- var hsbToRgb = function (hsb) {
467
- var rgb = {};
468
- var h = hsb.h;
469
- var s = hsb.s*255/100;
470
- var v = hsb.b*255/100;
471
- if(s == 0) {
472
- rgb.r = rgb.g = rgb.b = v;
473
- } else {
474
- var t1 = v;
475
- var t2 = (255-s)*v/255;
476
- var t3 = (t1-t2)*(h%60)/60;
477
- if(h==360) h = 0;
478
- if(h<60) {rgb.r=t1; rgb.b=t2; rgb.g=t2+t3}
479
- else if(h<120) {rgb.g=t1; rgb.b=t2; rgb.r=t1-t3}
480
- else if(h<180) {rgb.g=t1; rgb.r=t2; rgb.b=t2+t3}
481
- else if(h<240) {rgb.b=t1; rgb.r=t2; rgb.g=t1-t3}
482
- else if(h<300) {rgb.b=t1; rgb.g=t2; rgb.r=t2+t3}
483
- else if(h<360) {rgb.r=t1; rgb.g=t2; rgb.b=t1-t3}
484
- else {rgb.r=0; rgb.g=0; rgb.b=0}
485
- }
486
- return {r:Math.round(rgb.r), g:Math.round(rgb.g), b:Math.round(rgb.b)};
487
- };
488
- var rgbToHex = function (rgb) {
489
- var hex = [
490
- rgb.r.toString(16),
491
- rgb.g.toString(16),
492
- rgb.b.toString(16)
493
- ];
494
- $.each(hex, function (nr, val) {
495
- if (val.length == 1) {
496
- hex[nr] = '0' + val;
497
- }
498
- });
499
- return hex.join('');
500
- };
501
- var hsbToHex = function (hsb) {
502
- return rg