Royal Elementor Addons (Header Footer Builder, Mega Menu Builder, Popups, Post Grid, Woocommerce Product Grid, Slider, Parallax Image, Free Elementor Widgets & Elementor Templates. Elementor WooCommerce Builder) - Version 1.3.54

Version Description

Download this release

Release Info

Developer wproyal
Plugin Icon wp plugin Royal Elementor Addons (Header Footer Builder, Mega Menu Builder, Popups, Post Grid, Woocommerce Product Grid, Slider, Parallax Image, Free Elementor Widgets & Elementor Templates. Elementor WooCommerce Builder)
Version 1.3.54
Comparing to
See all releases

Code changes from version 1.3.53 to 1.3.54

admin/import/class-parsers.php CHANGED
@@ -1,1041 +1,1041 @@
1
- <?php
2
- if ( ! defined( 'ABSPATH' ) ) {
3
- exit; // Exit if accessed directly.
4
- }
5
-
6
- /**
7
- * WordPress eXtended RSS file parser implementations
8
- *
9
- * @package WordPress
10
- * @subpackage Importer
11
- */
12
-
13
- /**
14
- * WXR Parser that uses regular expressions. Fallback for installs without an XML parser.
15
- */
16
- class WXR_Parser_Regex {
17
- /**
18
- * @var bool
19
- */
20
- private $has_gzip;
21
-
22
- private $authors = [];
23
- private $posts = [];
24
- private $categories = [];
25
- private $tags = [];
26
- private $terms = [];
27
- private $base_url = '';
28
- private $base_blog_url = '';
29
-
30
- /**
31
- * @param string $file
32
- *
33
- * @return array|\WP_Error
34
- */
35
- public function parse( $file ) {
36
- $wxr_version = '';
37
- $in_multiline = false;
38
-
39
- $multiline_content = '';
40
-
41
- $multiline_tags = [
42
- 'item' => [
43
- 'posts',
44
- function ( $post ) {
45
- return $this->process_post( $post );
46
- },
47
- ],
48
- 'wp:category' => [
49
- 'categories',
50
- function ( $category ) {
51
- return $this->process_category( $category );
52
- },
53
- ],
54
- 'wp:tag' => [
55
- 'tags',
56
- function ( $tag ) {
57
- return $this->process_tag( $tag );
58
- },
59
- ],
60
- 'wp:term' => [
61
- 'terms',
62
- function ( $term ) {
63
- return $this->process_term( $term );
64
- },
65
- ],
66
- ];
67
-
68
- $fp = $this->fopen( $file, 'r' );
69
- if ( $fp ) {
70
- while ( ! $this->feof( $fp ) ) {
71
- $importline = rtrim( $this->fgets( $fp ) );
72
-
73
- if ( ! $wxr_version && preg_match( '|<wp:wxr_version>(\d+\.\d+)</wp:wxr_version>|', $importline, $version ) ) {
74
- $wxr_version = $version[1];
75
- }
76
-
77
- if ( false !== strpos( $importline, '<wp:base_site_url>' ) ) {
78
- preg_match( '|<wp:base_site_url>(.*?)</wp:base_site_url>|is', $importline, $url );
79
- $this->base_url = $url[1];
80
- continue;
81
- }
82
-
83
- if ( false !== strpos( $importline, '<wp:base_blog_url>' ) ) {
84
- preg_match( '|<wp:base_blog_url>(.*?)</wp:base_blog_url>|is', $importline, $blog_url );
85
- $this->base_blog_url = $blog_url[1];
86
- continue;
87
- } else {
88
- $this->base_blog_url = $this->base_url;
89
- }
90
-
91
- if ( false !== strpos( $importline, '<wp:author>' ) ) {
92
- preg_match( '|<wp:author>(.*?)</wp:author>|is', $importline, $author );
93
- $a = $this->process_author( $author[1] );
94
- $this->authors[ $a['author_login'] ] = $a;
95
- continue;
96
- }
97
-
98
- foreach ( $multiline_tags as $tag => $handler ) {
99
- // Handle multi-line tags on a singular line.
100
- if ( preg_match( '|<'. $tag .'>(.*?)</'. $tag .'>|is', $importline, $matches ) ) {
101
- $this->{$handler[0]}[] = call_user_func( $handler[1], $matches[1] );
102
-
103
- continue;
104
- }
105
-
106
- $pos = strpos( $importline, "<$tag>" );
107
-
108
- if ( false !== $pos ) {
109
- // Take note of any content after the opening tag.
110
- $multiline_content = trim( substr( $importline, $pos + strlen( $tag ) + 2 ) );
111
-
112
- // We don't want to have this line added to `$is_multiline` below.
113
- $importline = '';
114
- $in_multiline = $tag;
115
-
116
- continue;
117
- }
118
-
119
- $pos = strpos( $importline, "</$tag>" );
120
-
121
- if ( false !== $pos ) {
122
- $in_multiline = false;
123
- $multiline_content .= trim( substr( $importline, 0, $pos ) );
124
-
125
- $this->{$handler[0]}[] = call_user_func( $handler[1], $multiline_content );
126
- }
127
- }
128
-
129
- if ( $in_multiline && $importline ) {
130
- $multiline_content .= $importline . "\n";
131
- }
132
- }
133
-
134
- $this->fclose( $fp );
135
- }
136
-
137
- if ( ! $wxr_version ) {
138
- return new WP_Error( 'WXR_parse_error', esc_html__( 'This does not appear to be a WXR file, missing/invalid WXR version number', 'wpr-addons' ) );
139
- }
140
-
141
- return [
142
- 'authors' => $this->authors,
143
- 'posts' => $this->posts,
144
- 'categories' => $this->categories,
145
- 'tags' => $this->tags,
146
- 'terms' => $this->terms,
147
- 'base_url' => $this->base_url,
148
- 'base_blog_url' => $this->base_blog_url,
149
- 'version' => $wxr_version,
150
- ];
151
- }
152
-
153
- private function process_category( $category ) {
154
- $term = [
155
- 'term_id' => $this->get_tag( $category, 'wp:term_id' ),
156
- 'cat_name' => $this->get_tag( $category, 'wp:cat_name' ),
157
- 'category_nicename' => $this->get_tag( $category, 'wp:category_nicename' ),
158
- 'category_parent' => $this->get_tag( $category, 'wp:category_parent' ),
159
- 'category_description' => $this->get_tag( $category, 'wp:category_description' ),
160
- ];
161
-
162
- $term_meta = $this->process_meta( $category, 'wp:termmeta' );
163
- if ( ! empty( $term_meta ) ) {
164
- $term['termmeta'] = $term_meta;
165
- }
166
-
167
- return $term;
168
- }
169
-
170
- private function process_tag( $tag ) {
171
- $term = [
172
- 'term_id' => $this->get_tag( $tag, 'wp:term_id' ),
173
- 'tag_name' => $this->get_tag( $tag, 'wp:tag_name' ),
174
- 'tag_slug' => $this->get_tag( $tag, 'wp:tag_slug' ),
175
- 'tag_description' => $this->get_tag( $tag, 'wp:tag_description' ),
176
- ];
177
-
178
- $term_meta = $this->process_meta( $tag, 'wp:termmeta' );
179
- if ( ! empty( $term_meta ) ) {
180
- $term['termmeta'] = $term_meta;
181
- }
182
-
183
- return $term;
184
- }
185
-
186
- private function process_term( $term ) {
187
- $term_data = [
188
- 'term_id' => $this->get_tag( $term, 'wp:term_id' ),
189
- 'term_taxonomy' => $this->get_tag( $term, 'wp:term_taxonomy' ),
190
- 'slug' => $this->get_tag( $term, 'wp:term_slug' ),
191
- 'term_parent' => $this->get_tag( $term, 'wp:term_parent' ),
192
- 'term_name' => $this->get_tag( $term, 'wp:term_name' ),
193
- 'term_description' => $this->get_tag( $term, 'wp:term_description' ),
194
- ];
195
-
196
- $term_meta = $this->process_meta( $term, 'wp:termmeta' );
197
- if ( ! empty( $term_meta ) ) {
198
- $term_data['termmeta'] = $term_meta;
199
- }
200
-
201
- return $term_data;
202
- }
203
-
204
- private function process_meta( $string, $tag ) {
205
- $parsed_meta = [];
206
-
207
- preg_match_all( "|<$tag>(.+?)</$tag>|is", $string, $meta );
208
-
209
- if ( ! isset( $meta[1] ) ) {
210
- return $parsed_meta;
211
- }
212
-
213
- foreach ( $meta[1] as $m ) {
214
- $parsed_meta[] = [
215
- 'key' => $this->get_tag( $m, 'wp:meta_key' ),
216
- 'value' => $this->get_tag( $m, 'wp:meta_value' ),
217
- ];
218
- }
219
-
220
- return $parsed_meta;
221
- }
222
-
223
- private function process_author( $a ) {
224
- return [
225
- 'author_id' => $this->get_tag( $a, 'wp:author_id' ),
226
- 'author_login' => $this->get_tag( $a, 'wp:author_login' ),
227
- 'author_email' => $this->get_tag( $a, 'wp:author_email' ),
228
- 'author_display_name' => $this->get_tag( $a, 'wp:author_display_name' ),
229
- 'author_first_name' => $this->get_tag( $a, 'wp:author_first_name' ),
230
- 'author_last_name' => $this->get_tag( $a, 'wp:author_last_name' ),
231
- ];
232
- }
233
-
234
- private function process_post( $post ) {
235
- $normalize_tag_callback = function ( $matches ) {
236
- return $this->normalize_tag( $matches );
237
- };
238
-
239
- $post_id = $this->get_tag( $post, 'wp:post_id' );
240
- $post_title = $this->get_tag( $post, 'title' );
241
- $post_date = $this->get_tag( $post, 'wp:post_date' );
242
- $post_date_gmt = $this->get_tag( $post, 'wp:post_date_gmt' );
243
- $comment_status = $this->get_tag( $post, 'wp:comment_status' );
244
- $ping_status = $this->get_tag( $post, 'wp:ping_status' );
245
- $status = $this->get_tag( $post, 'wp:status' );
246
- $post_name = $this->get_tag( $post, 'wp:post_name' );
247
- $post_parent = $this->get_tag( $post, 'wp:post_parent' );
248
- $menu_order = $this->get_tag( $post, 'wp:menu_order' );
249
- $post_type = $this->get_tag( $post, 'wp:post_type' );
250
- $post_password = $this->get_tag( $post, 'wp:post_password' );
251
- $is_sticky = $this->get_tag( $post, 'wp:is_sticky' );
252
- $guid = $this->get_tag( $post, 'guid' );
253
- $post_author = $this->get_tag( $post, 'dc:creator' );
254
-
255
- $post_excerpt = $this->get_tag( $post, 'excerpt:encoded' );
256
- $post_excerpt = preg_replace_callback( '|<(/?[A-Z]+)|', $normalize_tag_callback, $post_excerpt );
257
- $post_excerpt = str_replace( '<br>', '<br />', $post_excerpt );
258
- $post_excerpt = str_replace( '<hr>', '<hr />', $post_excerpt );
259
-
260
- $post_content = $this->get_tag( $post, 'content:encoded' );
261
- $post_content = preg_replace_callback( '|<(/?[A-Z]+)|', $normalize_tag_callback, $post_content );
262
- $post_content = str_replace( '<br>', '<br />', $post_content );
263
- $post_content = str_replace( '<hr>', '<hr />', $post_content );
264
-
265
- $postdata = compact( 'post_id', 'post_author', 'post_date', 'post_date_gmt', 'post_content', 'post_excerpt', 'post_title', 'status', 'post_name', 'comment_status', 'ping_status', 'guid', 'post_parent', 'menu_order', 'post_type', 'post_password', 'is_sticky' );
266
-
267
- $attachment_url = $this->get_tag( $post, 'wp:attachment_url' );
268
- if ( $attachment_url ) {
269
- $postdata['attachment_url'] = $attachment_url;
270
- }
271
-
272
- preg_match_all( '|<category domain="([^"]+?)" nicename="([^"]+?)">(.+?)</category>|is', $post, $terms, PREG_SET_ORDER );
273
- foreach ( $terms as $t ) {
274
- $post_terms[] = [
275
- 'slug' => $t[2],
276
- 'domain' => $t[1],
277
- 'name' => str_replace( [ '<![CDATA[', ']]>' ], '', $t[3] ),
278
- ];
279
- }
280
- if ( ! empty( $post_terms ) ) {
281
- $postdata['terms'] = $post_terms;
282
- }
283
-
284
- preg_match_all( '|<wp:comment>(.+?)</wp:comment>|is', $post, $comments );
285
- $comments = $comments[1];
286
- if ( $comments ) {
287
- foreach ( $comments as $comment ) {
288
- $post_comments[] = [
289
- 'comment_id' => $this->get_tag( $comment, 'wp:comment_id' ),
290
- 'comment_author' => $this->get_tag( $comment, 'wp:comment_author' ),
291
- 'comment_author_email' => $this->get_tag( $comment, 'wp:comment_author_email' ),
292
- 'comment_author_IP' => $this->get_tag( $comment, 'wp:comment_author_IP' ),
293
- 'comment_author_url' => $this->get_tag( $comment, 'wp:comment_author_url' ),
294
- 'comment_date' => $this->get_tag( $comment, 'wp:comment_date' ),
295
- 'comment_date_gmt' => $this->get_tag( $comment, 'wp:comment_date_gmt' ),
296
- 'comment_content' => $this->get_tag( $comment, 'wp:comment_content' ),
297
- 'comment_approved' => $this->get_tag( $comment, 'wp:comment_approved' ),
298
- 'comment_type' => $this->get_tag( $comment, 'wp:comment_type' ),
299
- 'comment_parent' => $this->get_tag( $comment, 'wp:comment_parent' ),
300
- 'comment_user_id' => $this->get_tag( $comment, 'wp:comment_user_id' ),
301
- 'commentmeta' => $this->process_meta( $comment, 'wp:commentmeta' ),
302
- ];
303
- }
304
- }
305
- if ( ! empty( $post_comments ) ) {
306
- $postdata['comments'] = $post_comments;
307
- }
308
-
309
- $post_meta = $this->process_meta( $post, 'wp:postmeta' );
310
- if ( ! empty( $post_meta ) ) {
311
- $postdata['postmeta'] = $post_meta;
312
- }
313
-
314
- return $postdata;
315
- }
316
-
317
- private function get_tag( $string, $tag ) {
318
- preg_match( "|<$tag.*?>(.*?)</$tag>|is", $string, $return );
319
- if ( isset( $return[1] ) ) {
320
- if ( substr( $return[1], 0, 9 ) == '<![CDATA[' ) {
321
- if ( strpos( $return[1], ']]]]><![CDATA[>' ) !== false ) {
322
- preg_match_all( '|<!\[CDATA\[(.*?)\]\]>|s', $return[1], $matches );
323
- $return = '';
324
- foreach ( $matches[1] as $match ) {
325
- $return .= $match;
326
- }
327
- } else {
328
- $return = preg_replace( '|^<!\[CDATA\[(.*)\]\]>$|s', '$1', $return[1] );
329
- }
330
- } else {
331
- $return = $return[1];
332
- }
333
- } else {
334
- $return = '';
335
- }
336
-
337
- return $return;
338
- }
339
-
340
- private function normalize_tag( $matches ) {
341
- return '<' . strtolower( $matches[1] );
342
- }
343
-
344
- private function fopen( $filename, $mode = 'r' ) {
345
- if ( $this->has_gzip ) {
346
- return gzopen( $filename, $mode );
347
- }
348
-
349
- return fopen( $filename, $mode );
350
- }
351
-
352
- private function feof( $fp ) {
353
- if ( $this->has_gzip ) {
354
- return gzeof( $fp );
355
- }
356
-
357
- return feof( $fp );
358
- }
359
-
360
- private function fgets( $fp, $len = 8192 ) {
361
- if ( $this->has_gzip ) {
362
- return gzgets( $fp, $len );
363
- }
364
-
365
- return fgets( $fp, $len );
366
- }
367
-
368
- private function fclose( $fp ) {
369
- if ( $this->has_gzip ) {
370
- return gzclose( $fp );
371
- }
372
-
373
- return fclose( $fp );
374
- }
375
-
376
- public function __construct() {
377
- $this->has_gzip = is_callable( 'gzopen' );
378
- }
379
- }
380
-
381
- /**
382
- * WordPress eXtended RSS file parser implementations,
383
- * Originally made by WordPress part of WordPress/Importer.
384
- * https://plugins.trac.wordpress.org/browser/wordpress-importer/trunk/parsers/class-wxr-parser-simplexml.php
385
- *
386
- * What was done:
387
- * Reformat of the code.
388
- * Removed variable '$internal_errors'.
389
- * Changed text domain.
390
- */
391
-
392
- /**
393
- * WXR Parser that makes use of the SimpleXML PHP extension.
394
- */
395
- class WXR_Parser_SimpleXML {
396
-
397
- /**
398
- * @param string $file
399
- *
400
- * @return array|\WP_Error
401
- */
402
- public function parse( $file ) {
403
- $authors = [];
404
- $posts = [];
405
- $categories = [];
406
- $tags = [];
407
- $terms = [];
408
-
409
- libxml_use_internal_errors( true );
410
-
411
- $dom = new \DOMDocument();
412
- $old_value = null;
413
-
414
- $libxml_disable_entity_loader_exists = function_exists( 'libxml_disable_entity_loader' );
415
-
416
- if ( $libxml_disable_entity_loader_exists ) {
417
- $old_value = libxml_disable_entity_loader( true ); // phpcs:ignore Generic.PHP.DeprecatedFunctions.Deprecated
418
- }
419
-
420
- $success = $dom->loadXML( file_get_contents( $file ) );
421
-
422
- if ( $libxml_disable_entity_loader_exists && ! is_null( $old_value ) ) {
423
- libxml_disable_entity_loader( $old_value ); // phpcs:ignore Generic.PHP.DeprecatedFunctions.Deprecated
424
- }
425
-
426
- if ( ! $success || isset( $dom->doctype ) ) {
427
- return new WP_Error( 'SimpleXML_parse_error', esc_html__( 'There was an error when reading this WXR file', 'wpr-addons' ), libxml_get_errors() );
428
- }
429
-
430
- $xml = simplexml_import_dom( $dom );
431
- unset( $dom );
432
-
433
- // Halt if loading produces an error.
434
- if ( ! $xml ) {
435
- return new WP_Error( 'SimpleXML_parse_error', esc_html__( 'There was an error when reading this WXR file', 'wpr-addons' ), libxml_get_errors() );
436
- }
437
-
438
- $wxr_version = $xml->xpath( '/rss/channel/wp:wxr_version' );
439
- if ( ! $wxr_version ) {
440
- return new WP_Error( 'WXR_parse_error', esc_html__( 'This does not appear to be a WXR file, missing/invalid WXR version number', 'wpr-addons' ) );
441
- }
442
-
443
- $wxr_version = (string) trim( $wxr_version[0] );
444
- // Confirm that we are dealing with the correct file format.
445
- if ( ! preg_match( '/^\d+\.\d+$/', $wxr_version ) ) {
446
- return new WP_Error( 'WXR_parse_error', esc_html__( 'This does not appear to be a WXR file, missing/invalid WXR version number', 'wpr-addons' ) );
447
- }
448
-
449
- $base_url = $xml->xpath( '/rss/channel/wp:base_site_url' );
450
- $base_url = (string) trim( isset( $base_url[0] ) ? $base_url[0] : '' );
451
-
452
- $base_blog_url = $xml->xpath( '/rss/channel/wp:base_blog_url' );
453
- if ( $base_blog_url ) {
454
- $base_blog_url = (string) trim( $base_blog_url[0] );
455
- } else {
456
- $base_blog_url = $base_url;
457
- }
458
-
459
- $page_on_front = $xml->xpath( '/rss/channel/wp:page_on_front' );
460
-
461
- if ( $page_on_front ) {
462
- $page_on_front = (int) $page_on_front[0];
463
- }
464
-
465
- $namespaces = $xml->getDocNamespaces();
466
- if ( ! isset( $namespaces['wp'] ) ) {
467
- $namespaces['wp'] = 'http://wordpress.org/export/1.1/';
468
- }
469
- if ( ! isset( $namespaces['excerpt'] ) ) {
470
- $namespaces['excerpt'] = 'http://wordpress.org/export/1.1/excerpt/';
471
- }
472
-
473
- // Grab authors.
474
- foreach ( $xml->xpath( '/rss/channel/wp:author' ) as $author_arr ) {
475
- $a = $author_arr->children( $namespaces['wp'] );
476
- $login = (string) $a->author_login;
477
- $authors[ $login ] = [
478
- 'author_id' => (int) $a->author_id,
479
- 'author_login' => $login,
480
- 'author_email' => (string) $a->author_email,
481
- 'author_display_name' => (string) $a->author_display_name,
482
- 'author_first_name' => (string) $a->author_first_name,
483
- 'author_last_name' => (string) $a->author_last_name,
484
- ];
485
- }
486
-
487
- // Grab cats, tags and terms.
488
- foreach ( $xml->xpath( '/rss/channel/wp:category' ) as $term_arr ) {
489
- $t = $term_arr->children( $namespaces['wp'] );
490
- $category = [
491
- 'term_id' => (int) $t->term_id,
492
- 'category_nicename' => (string) $t->category_nicename,
493
- 'category_parent' => (string) $t->category_parent,
494
- 'cat_name' => (string) $t->cat_name,
495
- 'category_description' => (string) $t->category_description,
496
- ];
497
-
498
- foreach ( $t->termmeta as $meta ) {
499
- $category['termmeta'][] = [
500
- 'key' => (string) $meta->meta_key,
501
- 'value' => (string) $meta->meta_value,
502
- ];
503
- }
504
-
505
- $categories[] = $category;
506
- }
507
-
508
- foreach ( $xml->xpath( '/rss/channel/wp:tag' ) as $term_arr ) {
509
- $t = $term_arr->children( $namespaces['wp'] );
510
- $tag = [
511
- 'term_id' => (int) $t->term_id,
512
- 'tag_slug' => (string) $t->tag_slug,
513
- 'tag_name' => (string) $t->tag_name,
514
- 'tag_description' => (string) $t->tag_description,
515
- ];
516
-
517
- foreach ( $t->termmeta as $meta ) {
518
- $tag['termmeta'][] = [
519
- 'key' => (string) $meta->meta_key,
520
- 'value' => (string) $meta->meta_value,
521
- ];
522
- }
523
-
524
- $tags[] = $tag;
525
- }
526
-
527
- foreach ( $xml->xpath( '/rss/channel/wp:term' ) as $term_arr ) {
528
- $t = $term_arr->children( $namespaces['wp'] );
529
- $term = [
530
- 'term_id' => (int) $t->term_id,
531
- 'term_taxonomy' => (string) $t->term_taxonomy,
532
- 'slug' => (string) $t->term_slug,
533
- 'term_parent' => (string) $t->term_parent,
534
- 'term_name' => (string) $t->term_name,
535
- 'term_description' => (string) $t->term_description,
536
- ];
537
-
538
- foreach ( $t->termmeta as $meta ) {
539
- $term['termmeta'][] = [
540
- 'key' => (string) $meta->meta_key,
541
- 'value' => (string) $meta->meta_value,
542
- ];
543
- }
544
-
545
- $terms[] = $term;
546
- }
547
-
548
- // Grab posts.
549
- foreach ( $xml->channel->item as $item ) {
550
- $post = [
551
- 'post_title' => (string) $item->title,
552
- 'guid' => (string) $item->guid,
553
- ];
554
-
555
- $dc = $item->children( 'http://purl.org/dc/elements/1.1/' );
556
- $post['post_author'] = (string) $dc->creator;
557
-
558
- $content = $item->children( 'http://purl.org/rss/1.0/modules/content/' );
559
- $excerpt = $item->children( $namespaces['excerpt'] );
560
- $post['post_content'] = (string) $content->encoded;
561
- $post['post_excerpt'] = (string) $excerpt->encoded;
562
-
563
- $wp = $item->children( $namespaces['wp'] );
564
- $post['post_id'] = (int) $wp->post_id;
565
- $post['post_date'] = (string) $wp->post_date;
566
- $post['post_date_gmt'] = (string) $wp->post_date_gmt;
567
- $post['comment_status'] = (string) $wp->comment_status;
568
- $post['ping_status'] = (string) $wp->ping_status;
569
- $post['post_name'] = (string) $wp->post_name;
570
- $post['status'] = (string) $wp->status;
571
- $post['post_parent'] = (int) $wp->post_parent;
572
- $post['menu_order'] = (int) $wp->menu_order;
573
- $post['post_type'] = (string) $wp->post_type;
574
- $post['post_password'] = (string) $wp->post_password;
575
- $post['is_sticky'] = (int) $wp->is_sticky;
576
-
577
- if ( isset( $wp->attachment_url ) ) {
578
- $post['attachment_url'] = (string) $wp->attachment_url;
579
- }
580
-
581
- foreach ( $item->category as $c ) {
582
- $att = $c->attributes();
583
- if ( isset( $att['nicename'] ) ) {
584
- $post['terms'][] = [
585
- 'name' => (string) $c,
586
- 'slug' => (string) $att['nicename'],
587
- 'domain' => (string) $att['domain'],
588
- ];
589
- }
590
- }
591
-
592
- foreach ( $wp->postmeta as $meta ) {
593
- $post['postmeta'][] = [
594
- 'key' => (string) $meta->meta_key,
595
- 'value' => (string) $meta->meta_value,
596
- ];
597
- }
598
-
599
- foreach ( $wp->comment as $comment ) {
600
- $meta = [];
601
- if ( isset( $comment->commentmeta ) ) {
602
- foreach ( $comment->commentmeta as $m ) {
603
- $meta[] = [
604
- 'key' => (string) $m->meta_key,
605
- 'value' => (string) $m->meta_value,
606
- ];
607
- }
608
- }
609
-
610
- $post['comments'][] = [
611
- 'comment_id' => (int) $comment->comment_id,
612
- 'comment_author' => (string) $comment->comment_author,
613
- 'comment_author_email' => (string) $comment->comment_author_email,
614
- 'comment_author_IP' => (string) $comment->comment_author_IP,
615
- 'comment_author_url' => (string) $comment->comment_author_url,
616
- 'comment_date' => (string) $comment->comment_date,
617
- 'comment_date_gmt' => (string) $comment->comment_date_gmt,
618
- 'comment_content' => (string) $comment->comment_content,
619
- 'comment_approved' => (string) $comment->comment_approved,
620
- 'comment_type' => (string) $comment->comment_type,
621
- 'comment_parent' => (string) $comment->comment_parent,
622
- 'comment_user_id' => (int) $comment->comment_user_id,
623
- 'commentmeta' => $meta,
624
- ];
625
- }
626
-
627
- $posts[] = $post;
628
- }
629
-
630
- return [
631
- 'authors' => $authors,
632
- 'posts' => $posts,
633
- 'categories' => $categories,
634
- 'tags' => $tags,
635
- 'terms' => $terms,
636
- 'base_url' => $base_url,
637
- 'base_blog_url' => $base_blog_url,
638
- 'page_on_front' => $page_on_front,
639
- 'version' => $wxr_version,
640
- ];
641
- }
642
- }
643
-
644
-
645
- /**
646
- * WordPress eXtended RSS file parser implementations,
647
- * Originally made by WordPress part of WordPress/Importer.
648
- * https://plugins.trac.wordpress.org/browser/wordpress-importer/trunk/parsers/class-wxr-parser-xml.php
649
- *
650
- * What was done:
651
- * Reformat of the code.
652
- * Added PHPDOC.
653
- * Changed text domain.
654
- * Added clear() method.
655
- * Added undeclared class properties.
656
- * Changed methods visibility.
657
- */
658
-
659
- /**
660
- * WXR Parser that makes use of the XML Parser PHP extension.
661
- */
662
- class WXR_Parser_XML {
663
- private static $wp_tags = [
664
- 'wp:post_id',
665
- 'wp:post_date',
666
- 'wp:post_date_gmt',
667
- 'wp:comment_status',
668
- 'wp:ping_status',
669
- 'wp:attachment_url',
670
- 'wp:status',
671
- 'wp:post_name',
672
- 'wp:post_parent',
673
- 'wp:menu_order',
674
- 'wp:post_type',
675
- 'wp:post_password',
676
- 'wp:is_sticky',
677
- 'wp:term_id',
678
- 'wp:category_nicename',
679
- 'wp:category_parent',
680
- 'wp:cat_name',
681
- 'wp:category_description',
682
- 'wp:tag_slug',
683
- 'wp:tag_name',
684
- 'wp:tag_description',
685
- 'wp:term_taxonomy',
686
- 'wp:term_parent',
687
- 'wp:term_name',
688
- 'wp:term_description',
689
- 'wp:author_id',
690
- 'wp:author_login',
691
- 'wp:author_email',
692
- 'wp:author_display_name',
693
- 'wp:author_first_name',
694
- 'wp:author_last_name',
695
- ];
696
-
697
- private static $wp_sub_tags = [
698
- 'wp:comment_id',
699
- 'wp:comment_author',
700
- 'wp:comment_author_email',
701
- 'wp:comment_author_url',
702
- 'wp:comment_author_IP',
703
- 'wp:comment_date',
704
- 'wp:comment_date_gmt',
705
- 'wp:comment_content',
706
- 'wp:comment_approved',
707
- 'wp:comment_type',
708
- 'wp:comment_parent',
709
- 'wp:comment_user_id',
710
- ];
711
-
712
- /**
713
- * @var string
714
- */
715
- private $wxr_version;
716
-
717
- /**
718
- * @var string
719
- */
720
- private $cdata;
721
-
722
- /**
723
- * @var array
724
- */
725
- private $data;
726
-
727
- /**
728
- * @var array
729
- */
730
- private $sub_data;
731
-
732
- /**
733
- * @var boolean
734
- */
735
- private $in_post;
736
-
737
- /**
738
- * @var boolean
739
- */
740
- private $in_tag;
741
-
742
- /**
743
- * @var boolean
744
- */
745
- private $in_sub_tag;
746
-
747
- /**
748
- * @var array
749
- */
750
- private $authors;
751
-
752
- /**
753
- * @var array
754
- */
755
- private $posts;
756
-
757
- /**
758
- * @var array
759
- */
760
- private $term;
761
-
762
- /**
763
- * @var array
764
- */
765
- private $category;
766
-
767
- /**
768
- * @var array
769
- */
770
- private $tag;
771
-
772
- /**
773
- * @var string
774
- */
775
- private $base_url;
776
-
777
- /**
778
- * @var string
779
- */
780
- private $base_blog_url;
781
-
782
- /**
783
- * @param string $file
784
- *
785
- * @return array|WP_Error
786
- */
787
- public function parse( $file ) {
788
- $this->clear();
789
-
790
- $xml = xml_parser_create( 'UTF-8' );
791
- xml_parser_set_option( $xml, XML_OPTION_SKIP_WHITE, 1 );
792
- xml_parser_set_option( $xml, XML_OPTION_CASE_FOLDING, 0 );
793
- xml_set_object( $xml, $this );
794
-
795
- xml_set_character_data_handler( $xml, function ( $parser, $cdata ) {
796
- $this->cdata( $cdata );
797
- } );
798
-
799
- $tag_open_callback = function ( $parse, $tag, $attr ) {
800
- $this->tag_open( $tag, $attr );
801
- };
802
-
803
- $tag_close_callback = function ( $parser, $tag ) {
804
- $this->tag_close( $tag );
805
- };
806
-
807
- xml_set_element_handler( $xml, $tag_open_callback, $tag_close_callback );
808
-
809
- if ( ! xml_parse( $xml, file_get_contents( $file ), true ) ) {
810
- $current_line = xml_get_current_line_number( $xml );
811
- $current_column = xml_get_current_column_number( $xml );
812
- $error_code = xml_get_error_code( $xml );
813
- $error_string = xml_error_string( $error_code );
814
-
815
- return new WP_Error( 'XML_parse_error', 'There was an error when reading this WXR file', [
816
- $current_line,
817
- $current_column,
818
- $error_string,
819
- ] );
820
- }
821
- xml_parser_free( $xml );
822
-
823
- if ( ! preg_match( '/^\d+\.\d+$/', $this->wxr_version ) ) {
824
- return new WP_Error( 'WXR_parse_error', esc_html__( 'This does not appear to be a WXR file, missing/invalid WXR version number', 'wpr-addons' ) );
825
- }
826
-
827
- return array(
828
- 'authors' => $this->authors,
829
- 'posts' => $this->posts,
830
- 'categories' => $this->category,
831
- 'tags' => $this->tag,
832
- 'terms' => $this->term,
833
- 'base_url' => $this->base_url,
834
- 'base_blog_url' => $this->base_blog_url,
835
- 'version' => $this->wxr_version,
836
- );
837
- }
838
-
839
- private function tag_open( $tag, $attr ) {
840
- if ( in_array( $tag, self::$wp_tags ) ) {
841
- $this->in_tag = substr( $tag, 3 );
842
-
843
- return;
844
- }
845
-
846
- if ( in_array( $tag, self::$wp_sub_tags ) ) {
847
- $this->in_sub_tag = substr( $tag, 3 );
848
-
849
- return;
850
- }
851
-
852
- switch ( $tag ) {
853
- case 'category':
854
- if ( isset( $attr['domain'], $attr['nicename'] ) ) {
855
- $this->sub_data['domain'] = $attr['domain'];
856
- $this->sub_data['slug'] = $attr['nicename'];
857
- }
858
- break;
859
- case 'item':
860
- $this->in_post = true;
861
- // No break !!!.
862
- case 'title':
863
- if ( $this->in_post ) {
864
- $this->in_tag = 'post_title';
865
- }
866
- break;
867
- case 'guid':
868
- $this->in_tag = 'guid';
869
- break;
870
- case 'dc:creator':
871
- $this->in_tag = 'post_author';
872
- break;
873
- case 'content:encoded':
874
- $this->in_tag = 'post_content';
875
- break;
876
- case 'excerpt:encoded':
877
- $this->in_tag = 'post_excerpt';
878
- break;
879
-
880
- case 'wp:term_slug':
881
- $this->in_tag = 'slug';
882
- break;
883
- case 'wp:meta_key':
884
- $this->in_sub_tag = 'key';
885
- break;
886
- case 'wp:meta_value':
887
- $this->in_sub_tag = 'value';
888
- break;
889
- }
890
- }
891
-
892
- private function cdata( $cdata ) {
893
- if ( ! trim( $cdata ) ) {
894
- return;
895
- }
896
-
897
- if ( false !== $this->in_tag || false !== $this->in_sub_tag ) {
898
- $this->cdata .= $cdata;
899
- } else {
900
- $this->cdata .= trim( $cdata );
901
- }
902
- }
903
-
904
- private function tag_close( $tag ) {
905
- switch ( $tag ) {
906
- case 'wp:comment':
907
- unset( $this->sub_data['key'], $this->sub_data['value'] ); // Remove meta sub_data.
908
- if ( ! empty( $this->sub_data ) ) {
909
- $this->data['comments'][] = $this->sub_data;
910
- }
911
- $this->sub_data = [];
912
- break;
913
- case 'wp:commentmeta':
914
- $this->sub_data['commentmeta'][] = [
915
- 'key' => $this->sub_data['key'],
916
- 'value' => $this->sub_data['value'],
917
- ];
918
- break;
919
- case 'category':
920
- if ( ! empty( $this->sub_data ) ) {
921
- $this->sub_data['name'] = $this->cdata;
922
- $this->data['terms'][] = $this->sub_data;
923
- }
924
- $this->sub_data = [];
925
- break;
926
- case 'wp:postmeta':
927
- if ( ! empty( $this->sub_data ) ) {
928
- $this->data['postmeta'][] = $this->sub_data;
929
- }
930
- $this->sub_data = [];
931
- break;
932
- case 'item':
933
- $this->posts[] = $this->data;
934
- $this->data = [];
935
- break;
936
- case 'wp:category':
937
- case 'wp:tag':
938
- case 'wp:term':
939
- $n = substr( $tag, 3 );
940
- array_push( $this->$n, $this->data );
941
- $this->data = [];
942
- break;
943
- case 'wp:termmeta':
944
- if ( ! empty( $this->sub_data ) ) {
945
- $this->data['termmeta'][] = $this->sub_data;
946
- }
947
- $this->sub_data = [];
948
- break;
949
- case 'wp:author':
950
- if ( ! empty( $this->data['author_login'] ) ) {
951
- $this->authors[ $this->data['author_login'] ] = $this->data;
952
- }
953
- $this->data = [];
954
- break;
955
- case 'wp:base_site_url':
956
- $this->base_url = $this->cdata;
957
- if ( ! isset( $this->base_blog_url ) ) {
958
- $this->base_blog_url = $this->cdata;
959
- }
960
- break;
961
- case 'wp:base_blog_url':
962
- $this->base_blog_url = $this->cdata;
963
- break;
964
- case 'wp:wxr_version':
965
- $this->wxr_version = $this->cdata;
966
- break;
967
-
968
- default:
969
- if ( $this->in_sub_tag ) {
970
- $this->sub_data[ $this->in_sub_tag ] = $this->cdata;
971
- $this->in_sub_tag = false;
972
- } elseif ( $this->in_tag ) {
973
- $this->data[ $this->in_tag ] = $this->cdata;
974
- $this->in_tag = false;
975
- }
976
- }
977
-
978
- $this->cdata = '';
979
- }
980
-
981
- private function clear() {
982
- $this->wxr_version = '';
983
-
984
- $this->cdata = '';
985
- $this->data = [];
986
- $this->sub_data = [];
987
-
988
- $this->in_post = false;
989
- $this->in_tag = false;
990
- $this->in_sub_tag = false;
991
-
992
- $this->authors = [];
993
- $this->posts = [];
994
- $this->term = [];
995
- $this->category = [];
996
- $this->tag = [];
997
- }
998
- }
999
-
1000
-
1001
- /**
1002
- * WordPress eXtended RSS file parser implementations,
1003
- * Originally made by WordPress part of WordPress/Importer.
1004
- * https://plugins.trac.wordpress.org/browser/wordpress-importer/trunk/parsers/class-wxr-parser.php
1005
- *
1006
- * What was done:
1007
- * Reformat of the code.
1008
- * Changed text domain.
1009
- */
1010
-
1011
- /**
1012
- * WordPress Importer class for managing parsing of WXR files.
1013
- */
1014
- class WXR_Parser {
1015
-
1016
- public function parse( $file ) {
1017
- // Attempt to use proper XML parsers first.
1018
- if ( extension_loaded( 'simplexml' ) ) {
1019
- $parser = new WXR_Parser_SimpleXML();
1020
- $result = $parser->parse( $file );
1021
-
1022
- // If SimpleXML succeeds or this is an invalid WXR file then return the results.
1023
- if ( ! is_wp_error( $result ) || 'SimpleXML_parse_error' != $result->get_error_code() ) {
1024
- return $result;
1025
- }
1026
- } elseif ( extension_loaded( 'xml' ) ) {
1027
- $parser = new WXR_Parser_XML();
1028
- $result = $parser->parse( $file );
1029
-
1030
- // If XMLParser succeeds or this is an invalid WXR file then return the results.
1031
- if ( ! is_wp_error( $result ) || 'XML_parse_error' != $result->get_error_code() ) {
1032
- return $result;
1033
- }
1034
- }
1035
-
1036
- // Use regular expressions if nothing else available or this is bad XML.
1037
- $parser = new WXR_Parser_Regex();
1038
-
1039
- return $parser->parse( $file );
1040
- }
1041
- }
1
+ <?php
2
+ if ( ! defined( 'ABSPATH' ) ) {
3
+ exit; // Exit if accessed directly.
4
+ }
5
+
6
+ /**
7
+ * WordPress eXtended RSS file parser implementations
8
+ *
9
+ * @package WordPress
10
+ * @subpackage Importer
11
+ */
12
+
13
+ /**
14
+ * WXR Parser that uses regular expressions. Fallback for installs without an XML parser.
15
+ */
16
+ class WXR_Parser_Regex {
17
+ /**
18
+ * @var bool
19
+ */
20
+ private $has_gzip;
21
+
22
+ private $authors = [];
23
+ private $posts = [];
24
+ private $categories = [];
25
+ private $tags = [];
26
+ private $terms = [];
27
+ private $base_url = '';
28
+ private $base_blog_url = '';
29
+
30
+ /**
31
+ * @param string $file
32
+ *
33
+ * @return array|\WP_Error
34
+ */
35
+ public function parse( $file ) {
36
+ $wxr_version = '';
37
+ $in_multiline = false;
38
+
39
+ $multiline_content = '';
40
+
41
+ $multiline_tags = [
42
+ 'item' => [
43
+ 'posts',
44
+ function ( $post ) {
45
+ return $this->process_post( $post );
46
+ },
47
+ ],
48
+ 'wp:category' => [
49
+ 'categories',
50
+ function ( $category ) {
51
+ return $this->process_category( $category );
52
+ },
53
+ ],
54
+ 'wp:tag' => [
55
+ 'tags',
56
+ function ( $tag ) {
57
+ return $this->process_tag( $tag );
58
+ },
59
+ ],
60
+ 'wp:term' => [
61
+ 'terms',
62
+ function ( $term ) {
63
+ return $this->process_term( $term );
64
+ },
65
+ ],
66
+ ];
67
+
68
+ $fp = $this->fopen( $file, 'r' );
69
+ if ( $fp ) {
70
+ while ( ! $this->feof( $fp ) ) {
71
+ $importline = rtrim( $this->fgets( $fp ) );
72
+
73
+ if ( ! $wxr_version && preg_match( '|<wp:wxr_version>(\d+\.\d+)</wp:wxr_version>|', $importline, $version ) ) {
74
+ $wxr_version = $version[1];
75
+ }
76
+
77
+ if ( false !== strpos( $importline, '<wp:base_site_url>' ) ) {
78
+ preg_match( '|<wp:base_site_url>(.*?)</wp:base_site_url>|is', $importline, $url );
79
+ $this->base_url = $url[1];
80
+ continue;
81
+ }
82
+
83
+ if ( false !== strpos( $importline, '<wp:base_blog_url>' ) ) {
84
+ preg_match( '|<wp:base_blog_url>(.*?)</wp:base_blog_url>|is', $importline, $blog_url );
85
+ $this->base_blog_url = $blog_url[1];
86
+ continue;
87
+ } else {
88
+ $this->base_blog_url = $this->base_url;
89
+ }
90
+
91
+ if ( false !== strpos( $importline, '<wp:author>' ) ) {
92
+ preg_match( '|<wp:author>(.*?)</wp:author>|is', $importline, $author );
93
+ $a = $this->process_author( $author[1] );
94
+ $this->authors[ $a['author_login'] ] = $a;
95
+ continue;
96
+ }
97
+
98
+ foreach ( $multiline_tags as $tag => $handler ) {
99
+ // Handle multi-line tags on a singular line.
100
+ if ( preg_match( '|<'. $tag .'>(.*?)</'. $tag .'>|is', $importline, $matches ) ) {
101
+ $this->{$handler[0]}[] = call_user_func( $handler[1], $matches[1] );
102
+
103
+ continue;
104
+ }
105
+
106
+ $pos = strpos( $importline, "<$tag>" );
107
+
108
+ if ( false !== $pos ) {
109
+ // Take note of any content after the opening tag.
110
+ $multiline_content = trim( substr( $importline, $pos + strlen( $tag ) + 2 ) );
111
+
112
+ // We don't want to have this line added to `$is_multiline` below.
113
+ $importline = '';
114
+ $in_multiline = $tag;
115
+
116
+ continue;
117
+ }
118
+
119
+ $pos = strpos( $importline, "</$tag>" );
120
+
121
+ if ( false !== $pos ) {
122
+ $in_multiline = false;
123
+ $multiline_content .= trim( substr( $importline, 0, $pos ) );
124
+
125
+ $this->{$handler[0]}[] = call_user_func( $handler[1], $multiline_content );
126
+ }
127
+ }
128
+
129
+ if ( $in_multiline && $importline ) {
130
+ $multiline_content .= $importline . "\n";
131
+ }
132
+ }
133
+
134
+ $this->fclose( $fp );
135
+ }
136
+
137
+ if ( ! $wxr_version ) {
138
+ return new WP_Error( 'WXR_parse_error', esc_html__( 'This does not appear to be a WXR file, missing/invalid WXR version number', 'wpr-addons' ) );
139
+ }
140
+
141
+ return [
142
+ 'authors' => $this->authors,
143
+ 'posts' => $this->posts,
144
+ 'categories' => $this->categories,
145
+ 'tags' => $this->tags,
146
+ 'terms' => $this->terms,
147
+ 'base_url' => $this->base_url,
148
+ 'base_blog_url' => $this->base_blog_url,
149
+ 'version' => $wxr_version,
150
+ ];
151
+ }
152
+
153
+ private function process_category( $category ) {
154
+ $term = [
155
+ 'term_id' => $this->get_tag( $category, 'wp:term_id' ),
156
+ 'cat_name' => $this->get_tag( $category, 'wp:cat_name' ),
157
+ 'category_nicename' => $this->get_tag( $category, 'wp:category_nicename' ),
158
+ 'category_parent' => $this->get_tag( $category, 'wp:category_parent' ),
159
+ 'category_description' => $this->get_tag( $category, 'wp:category_description' ),
160
+ ];
161
+
162
+ $term_meta = $this->process_meta( $category, 'wp:termmeta' );
163
+ if ( ! empty( $term_meta ) ) {
164
+ $term['termmeta'] = $term_meta;
165
+ }
166
+
167
+ return $term;
168
+ }
169
+
170
+ private function process_tag( $tag ) {
171
+ $term = [
172
+ 'term_id' => $this->get_tag( $tag, 'wp:term_id' ),
173
+ 'tag_name' => $this->get_tag( $tag, 'wp:tag_name' ),
174
+ 'tag_slug' => $this->get_tag( $tag, 'wp:tag_slug' ),
175
+ 'tag_description' => $this->get_tag( $tag, 'wp:tag_description' ),
176
+ ];
177
+
178
+ $term_meta = $this->process_meta( $tag, 'wp:termmeta' );
179
+ if ( ! empty( $term_meta ) ) {
180
+ $term['termmeta'] = $term_meta;
181
+ }
182
+
183
+ return $term;
184
+ }
185
+
186
+ private function process_term( $term ) {
187
+ $term_data = [
188
+ 'term_id' => $this->get_tag( $term, 'wp:term_id' ),
189
+ 'term_taxonomy' => $this->get_tag( $term, 'wp:term_taxonomy' ),
190
+ 'slug' => $this->get_tag( $term, 'wp:term_slug' ),
191
+ 'term_parent' => $this->get_tag( $term, 'wp:term_parent' ),
192
+ 'term_name' => $this->get_tag( $term, 'wp:term_name' ),
193
+ 'term_description' => $this->get_tag( $term, 'wp:term_description' ),
194
+ ];
195
+
196
+ $term_meta = $this->process_meta( $term, 'wp:termmeta' );
197
+ if ( ! empty( $term_meta ) ) {
198
+ $term_data['termmeta'] = $term_meta;
199
+ }
200
+
201
+ return $term_data;
202
+ }
203
+
204
+ private function process_meta( $string, $tag ) {
205
+ $parsed_meta = [];
206
+
207
+ preg_match_all( "|<$tag>(.+?)</$tag>|is", $string, $meta );
208
+
209
+ if ( ! isset( $meta[1] ) ) {
210
+ return $parsed_meta;
211
+ }
212
+
213
+ foreach ( $meta[1] as $m ) {
214
+ $parsed_meta[] = [
215
+ 'key' => $this->get_tag( $m, 'wp:meta_key' ),
216
+ 'value' => $this->get_tag( $m, 'wp:meta_value' ),
217
+ ];
218
+ }
219
+
220
+ return $parsed_meta;
221
+ }
222
+
223
+ private function process_author( $a ) {
224
+ return [
225
+ 'author_id' => $this->get_tag( $a, 'wp:author_id' ),
226
+ 'author_login' => $this->get_tag( $a, 'wp:author_login' ),
227
+ 'author_email' => $this->get_tag( $a, 'wp:author_email' ),
228
+ 'author_display_name' => $this->get_tag( $a, 'wp:author_display_name' ),
229
+ 'author_first_name' => $this->get_tag( $a, 'wp:author_first_name' ),
230
+ 'author_last_name' => $this->get_tag( $a, 'wp:author_last_name' ),
231
+ ];
232
+ }
233
+
234
+ private function process_post( $post ) {
235
+ $normalize_tag_callback = function ( $matches ) {
236
+ return $this->normalize_tag( $matches );
237
+ };
238
+
239
+ $post_id = $this->get_tag( $post, 'wp:post_id' );
240
+ $post_title = $this->get_tag( $post, 'title' );
241
+ $post_date = $this->get_tag( $post, 'wp:post_date' );
242
+ $post_date_gmt = $this->get_tag( $post, 'wp:post_date_gmt' );
243
+ $comment_status = $this->get_tag( $post, 'wp:comment_status' );
244
+ $ping_status = $this->get_tag( $post, 'wp:ping_status' );
245
+ $status = $this->get_tag( $post, 'wp:status' );
246
+ $post_name = $this->get_tag( $post, 'wp:post_name' );
247
+ $post_parent = $this->get_tag( $post, 'wp:post_parent' );
248
+ $menu_order = $this->get_tag( $post, 'wp:menu_order' );
249
+ $post_type = $this->get_tag( $post, 'wp:post_type' );
250
+ $post_password = $this->get_tag( $post, 'wp:post_password' );
251
+ $is_sticky = $this->get_tag( $post, 'wp:is_sticky' );
252
+ $guid = $this->get_tag( $post, 'guid' );
253
+ $post_author = $this->get_tag( $post, 'dc:creator' );
254
+
255
+ $post_excerpt = $this->get_tag( $post, 'excerpt:encoded' );
256
+ $post_excerpt = preg_replace_callback( '|<(/?[A-Z]+)|', $normalize_tag_callback, $post_excerpt );
257
+ $post_excerpt = str_replace( '<br>', '<br />', $post_excerpt );
258
+ $post_excerpt = str_replace( '<hr>', '<hr />', $post_excerpt );
259
+
260
+ $post_content = $this->get_tag( $post, 'content:encoded' );
261
+ $post_content = preg_replace_callback( '|<(/?[A-Z]+)|', $normalize_tag_callback, $post_content );
262
+ $post_content = str_replace( '<br>', '<br />', $post_content );
263
+ $post_content = str_replace( '<hr>', '<hr />', $post_content );
264
+
265
+ $postdata = compact( 'post_id', 'post_author', 'post_date', 'post_date_gmt', 'post_content', 'post_excerpt', 'post_title', 'status', 'post_name', 'comment_status', 'ping_status', 'guid', 'post_parent', 'menu_order', 'post_type', 'post_password', 'is_sticky' );
266
+
267
+ $attachment_url = $this->get_tag( $post, 'wp:attachment_url' );
268
+ if ( $attachment_url ) {
269
+ $postdata['attachment_url'] = $attachment_url;
270
+ }
271
+
272
+ preg_match_all( '|<category domain="([^"]+?)" nicename="([^"]+?)">(.+?)</category>|is', $post, $terms, PREG_SET_ORDER );
273
+ foreach ( $terms as $t ) {
274
+ $post_terms[] = [
275
+ 'slug' => $t[2],
276
+ 'domain' => $t[1],
277
+ 'name' => str_replace( [ '<![CDATA[', ']]>' ], '', $t[3] ),
278
+ ];
279
+ }
280
+ if ( ! empty( $post_terms ) ) {
281
+ $postdata['terms'] = $post_terms;
282
+ }
283
+
284
+ preg_match_all( '|<wp:comment>(.+?)</wp:comment>|is', $post, $comments );
285
+ $comments = $comments[1];
286
+ if ( $comments ) {
287
+ foreach ( $comments as $comment ) {
288
+ $post_comments[] = [
289
+ 'comment_id' => $this->get_tag( $comment, 'wp:comment_id' ),
290
+ 'comment_author' => $this->get_tag( $comment, 'wp:comment_author' ),
291
+ 'comment_author_email' => $this->get_tag( $comment, 'wp:comment_author_email' ),
292
+ 'comment_author_IP' => $this->get_tag( $comment, 'wp:comment_author_IP' ),
293
+ 'comment_author_url' => $this->get_tag( $comment, 'wp:comment_author_url' ),
294
+ 'comment_date' => $this->get_tag( $comment, 'wp:comment_date' ),
295
+ 'comment_date_gmt' => $this->get_tag( $comment, 'wp:comment_date_gmt' ),
296
+ 'comment_content' => $this->get_tag( $comment, 'wp:comment_content' ),
297
+ 'comment_approved' => $this->get_tag( $comment, 'wp:comment_approved' ),
298
+ 'comment_type' => $this->get_tag( $comment, 'wp:comment_type' ),
299
+ 'comment_parent' => $this->get_tag( $comment, 'wp:comment_parent' ),
300
+ 'comment_user_id' => $this->get_tag( $comment, 'wp:comment_user_id' ),
301
+ 'commentmeta' => $this->process_meta( $comment, 'wp:commentmeta' ),
302
+ ];
303
+ }
304
+ }
305
+ if ( ! empty( $post_comments ) ) {
306
+ $postdata['comments'] = $post_comments;
307
+ }
308
+
309
+ $post_meta = $this->process_meta( $post, 'wp:postmeta' );
310
+ if ( ! empty( $post_meta ) ) {
311
+ $postdata['postmeta'] = $post_meta;
312
+ }
313
+
314
+ return $postdata;
315
+ }
316
+
317
+ private function get_tag( $string, $tag ) {
318
+ preg_match( "|<$tag.*?>(.*?)</$tag>|is", $string, $return );
319
+ if ( isset( $return[1] ) ) {
320
+ if ( substr( $return[1], 0, 9 ) == '<![CDATA[' ) {
321
+ if ( strpos( $return[1], ']]]]><![CDATA[>' ) !== false ) {
322
+ preg_match_all( '|<!\[CDATA\[(.*?)\]\]>|s', $return[1], $matches );
323
+ $return = '';
324
+ foreach ( $matches[1] as $match ) {
325
+ $return .= $match;
326
+ }
327
+ } else {
328
+ $return = preg_replace( '|^<!\[CDATA\[(.*)\]\]>$|s', '$1', $return[1] );
329
+ }
330
+ } else {
331
+ $return = $return[1];
332
+ }
333
+ } else {
334
+ $return = '';
335
+ }
336
+
337
+ return $return;
338
+ }
339
+
340
+ private function normalize_tag( $matches ) {
341
+ return '<' . strtolower( $matches[1] );
342
+ }
343
+
344
+ private function fopen( $filename, $mode = 'r' ) {
345
+ if ( $this->has_gzip ) {
346
+ return gzopen( $filename, $mode );
347
+ }
348
+
349
+ return fopen( $filename, $mode );
350
+ }
351
+
352
+ private function feof( $fp ) {
353
+ if ( $this->has_gzip ) {
354
+ return gzeof( $fp );
355
+ }
356
+
357
+ return feof( $fp );
358
+ }
359
+
360
+ private function fgets( $fp, $len = 8192 ) {
361
+ if ( $this->has_gzip ) {
362
+ return gzgets( $fp, $len );
363
+ }
364
+
365
+ return fgets( $fp, $len );
366
+ }
367
+
368
+ private function fclose( $fp ) {
369
+ if ( $this->has_gzip ) {
370
+ return gzclose( $fp );
371
+ }
372
+
373
+ return fclose( $fp );
374
+ }
375
+
376
+ public function __construct() {
377
+ $this->has_gzip = is_callable( 'gzopen' );
378
+ }
379
+ }
380
+
381
+ /**
382
+ * WordPress eXtended RSS file parser implementations,
383
+ * Originally made by WordPress part of WordPress/Importer.
384
+ * https://plugins.trac.wordpress.org/browser/wordpress-importer/trunk/parsers/class-wxr-parser-simplexml.php
385
+ *
386
+ * What was done:
387
+ * Reformat of the code.
388
+ * Removed variable '$internal_errors'.
389
+ * Changed text domain.
390
+ */
391
+
392
+ /**
393
+ * WXR Parser that makes use of the SimpleXML PHP extension.
394
+ */
395
+ class WXR_Parser_SimpleXML {
396
+
397
+ /**
398
+ * @param string $file
399
+ *
400
+ * @return array|\WP_Error
401
+ */
402
+ public function parse( $file ) {
403
+ $authors = [];
404
+ $posts = [];
405
+ $categories = [];
406
+ $tags = [];
407
+ $terms = [];
408
+
409
+ libxml_use_internal_errors( true );
410
+
411
+ $dom = new \DOMDocument();
412
+ $old_value = null;
413
+
414
+ $libxml_disable_entity_loader_exists = function_exists( 'libxml_disable_entity_loader' );
415
+
416
+ if ( $libxml_disable_entity_loader_exists ) {
417
+ $old_value = libxml_disable_entity_loader( true ); // phpcs:ignore Generic.PHP.DeprecatedFunctions.Deprecated
418
+ }
419
+
420
+ $success = $dom->loadXML( file_get_contents( $file ) );
421
+
422
+ if ( $libxml_disable_entity_loader_exists && ! is_null( $old_value ) ) {
423
+ libxml_disable_entity_loader( $old_value ); // phpcs:ignore Generic.PHP.DeprecatedFunctions.Deprecated
424
+ }
425
+
426
+ if ( ! $success || isset( $dom->doctype ) ) {
427
+ return new WP_Error( 'SimpleXML_parse_error', esc_html__( 'There was an error when reading this WXR file', 'wpr-addons' ), libxml_get_errors() );
428
+ }
429
+
430
+ $xml = simplexml_import_dom( $dom );
431
+ unset( $dom );
432
+
433
+ // Halt if loading produces an error.
434
+ if ( ! $xml ) {
435
+ return new WP_Error( 'SimpleXML_parse_error', esc_html__( 'There was an error when reading this WXR file', 'wpr-addons' ), libxml_get_errors() );
436
+ }
437
+
438
+ $wxr_version = $xml->xpath( '/rss/channel/wp:wxr_version' );
439
+ if ( ! $wxr_version ) {
440
+ return new WP_Error( 'WXR_parse_error', esc_html__( 'This does not appear to be a WXR file, missing/invalid WXR version number', 'wpr-addons' ) );
441
+ }
442
+
443
+ $wxr_version = (string) trim( $wxr_version[0] );
444
+ // Confirm that we are dealing with the correct file format.
445
+ if ( ! preg_match( '/^\d+\.\d+$/', $wxr_version ) ) {
446
+ return new WP_Error( 'WXR_parse_error', esc_html__( 'This does not appear to be a WXR file, missing/invalid WXR version number', 'wpr-addons' ) );
447
+ }
448
+
449
+ $base_url = $xml->xpath( '/rss/channel/wp:base_site_url' );
450
+ $base_url = (string) trim( isset( $base_url[0] ) ? $base_url[0] : '' );
451
+
452
+ $base_blog_url = $xml->xpath( '/rss/channel/wp:base_blog_url' );
453
+ if ( $base_blog_url ) {
454
+ $base_blog_url = (string) trim( $base_blog_url[0] );
455
+ } else {
456
+ $base_blog_url = $base_url;
457
+ }
458
+
459
+ $page_on_front = $xml->xpath( '/rss/channel/wp:page_on_front' );
460
+
461
+ if ( $page_on_front ) {
462
+ $page_on_front = (int) $page_on_front[0];
463
+ }
464
+
465
+ $namespaces = $xml->getDocNamespaces();
466
+ if ( ! isset( $namespaces['wp'] ) ) {
467
+ $namespaces['wp'] = 'http://wordpress.org/export/1.1/';
468
+ }
469
+ if ( ! isset( $namespaces['excerpt'] ) ) {
470
+ $namespaces['excerpt'] = 'http://wordpress.org/export/1.1/excerpt/';
471
+ }
472
+
473
+ // Grab authors.
474
+ foreach ( $xml->xpath( '/rss/channel/wp:author' ) as $author_arr ) {
475
+ $a = $author_arr->children( $namespaces['wp'] );
476
+ $login = (string) $a->author_login;
477
+ $authors[ $login ] = [
478
+ 'author_id' => (int) $a->author_id,
479
+ 'author_login' => $login,
480
+ 'author_email' => (string) $a->author_email,
481
+ 'author_display_name' => (string) $a->author_display_name,
482
+ 'author_first_name' => (string) $a->author_first_name,
483
+ 'author_last_name' => (string) $a->author_last_name,
484
+ ];
485
+ }
486
+
487
+ // Grab cats, tags and terms.
488
+ foreach ( $xml->xpath( '/rss/channel/wp:category' ) as $term_arr ) {
489
+ $t = $term_arr->children( $namespaces['wp'] );
490
+ $category = [
491
+ 'term_id' => (int) $t->term_id,
492
+ 'category_nicename' => (string) $t->category_nicename,
493
+ 'category_parent' => (string) $t->category_parent,
494
+ 'cat_name' => (string) $t->cat_name,
495
+ 'category_description' => (string) $t->category_description,
496
+ ];
497
+
498
+ foreach ( $t->termmeta as $meta ) {
499
+ $category['termmeta'][] = [
500
+ 'key' => (string) $meta->meta_key,
501
+ 'value' => (string) $meta->meta_value,
502
+ ];
503
+ }
504
+
505
+ $categories[] = $category;
506
+ }
507
+
508
+ foreach ( $xml->xpath( '/rss/channel/wp:tag' ) as $term_arr ) {
509
+ $t = $term_arr->children( $namespaces['wp'] );
510
+ $tag = [
511
+ 'term_id' => (int) $t->term_id,
512
+ 'tag_slug' => (string) $t->tag_slug,
513
+ 'tag_name' => (string) $t->tag_name,
514
+ 'tag_description' => (string) $t->tag_description,
515
+ ];
516
+
517
+ foreach ( $t->termmeta as $meta ) {
518
+ $tag['termmeta'][] = [
519
+ 'key' => (string) $meta->meta_key,
520
+ 'value' => (string) $meta->meta_value,
521
+ ];
522
+ }
523
+
524
+ $tags[] = $tag;
525
+ }
526
+
527
+ foreach ( $xml->xpath( '/rss/channel/wp:term' ) as $term_arr ) {
528
+ $t = $term_arr->children( $namespaces['wp'] );
529
+ $term = [
530
+ 'term_id' => (int) $t->term_id,
531
+ 'term_taxonomy' => (string) $t->term_taxonomy,
532
+ 'slug' => (string) $t->term_slug,
533
+ 'term_parent' => (string) $t->term_parent,
534
+ 'term_name' => (string) $t->term_name,
535
+ 'term_description' => (string) $t->term_description,
536
+ ];
537
+
538
+ foreach ( $t->termmeta as $meta ) {
539
+ $term['termmeta'][] = [
540
+ 'key' => (string) $meta->meta_key,
541
+ 'value' => (string) $meta->meta_value,
542
+ ];
543
+ }
544
+
545
+ $terms[] = $term;
546
+ }
547
+
548
+ // Grab posts.
549
+ foreach ( $xml->channel->item as $item ) {
550
+ $post = [
551
+ 'post_title' => (string) $item->title,
552
+ 'guid' => (string) $item->guid,
553
+ ];
554
+
555
+ $dc = $item->children( 'http://purl.org/dc/elements/1.1/' );
556
+ $post['post_author'] = (string) $dc->creator;
557
+
558
+ $content = $item->children( 'http://purl.org/rss/1.0/modules/content/' );
559
+ $excerpt = $item->children( $namespaces['excerpt'] );
560
+ $post['post_content'] = (string) $content->encoded;
561
+ $post['post_excerpt'] = (string) $excerpt->encoded;
562
+
563
+ $wp = $item->children( $namespaces['wp'] );
564
+ $post['post_id'] = (int) $wp->post_id;
565
+ $post['post_date'] = (string) $wp->post_date;
566
+ $post['post_date_gmt'] = (string) $wp->post_date_gmt;
567
+ $post['comment_status'] = (string) $wp->comment_status;
568
+ $post['ping_status'] = (string) $wp->ping_status;
569
+ $post['post_name'] = (string) $wp->post_name;
570
+ $post['status'] = (string) $wp->status;
571
+ $post['post_parent'] = (int) $wp->post_parent;
572
+ $post['menu_order'] = (int) $wp->menu_order;
573
+ $post['post_type'] = (string) $wp->post_type;
574
+ $post['post_password'] = (string) $wp->post_password;
575
+ $post['is_sticky'] = (int) $wp->is_sticky;
576
+
577
+ if ( isset( $wp->attachment_url ) ) {
578
+ $post['attachment_url'] = (string) $wp->attachment_url;
579
+ }
580
+
581
+ foreach ( $item->category as $c ) {
582
+ $att = $c->attributes();
583
+ if ( isset( $att['nicename'] ) ) {
584
+ $post['terms'][] = [
585
+ 'name' => (string) $c,
586
+ 'slug' => (string) $att['nicename'],
587
+ 'domain' => (string) $att['domain'],
588
+ ];
589
+ }
590
+ }
591
+
592
+ foreach ( $wp->postmeta as $meta ) {
593
+ $post['postmeta'][] = [
594
+ 'key' => (string) $meta->meta_key,
595
+ 'value' => (string) $meta->meta_value,
596
+ ];
597
+ }
598
+
599
+ foreach ( $wp->comment as $comment ) {
600
+ $meta = [];
601
+ if ( isset( $comment->commentmeta ) ) {
602
+ foreach ( $comment->commentmeta as $m ) {
603
+ $meta[] = [
604
+ 'key' => (string) $m->meta_key,
605
+ 'value' => (string) $m->meta_value,
606
+ ];
607
+ }
608
+ }
609
+
610
+ $post['comments'][] = [
611
+ 'comment_id' => (int) $comment->comment_id,
612
+ 'comment_author' => (string) $comment->comment_author,
613
+ 'comment_author_email' => (string) $comment->comment_author_email,
614
+ 'comment_author_IP' => (string) $comment->comment_author_IP,
615
+ 'comment_author_url' => (string) $comment->comment_author_url,
616
+ 'comment_date' => (string) $comment->comment_date,
617
+ 'comment_date_gmt' => (string) $comment->comment_date_gmt,
618
+ 'comment_content' => (string) $comment->comment_content,
619
+ 'comment_approved' => (string) $comment->comment_approved,
620
+ 'comment_type' => (string) $comment->comment_type,
621
+ 'comment_parent' => (string) $comment->comment_parent,
622
+ 'comment_user_id' => (int) $comment->comment_user_id,
623
+ 'commentmeta' => $meta,
624
+ ];
625
+ }
626
+
627
+ $posts[] = $post;
628
+ }
629
+
630
+ return [
631
+ 'authors' => $authors,
632
+ 'posts' => $posts,
633
+ 'categories' => $categories,
634
+ 'tags' => $tags,
635
+ 'terms' => $terms,
636
+ 'base_url' => $base_url,
637
+ 'base_blog_url' => $base_blog_url,
638
+ 'page_on_front' => $page_on_front,
639
+ 'version' => $wxr_version,
640
+ ];
641
+ }
642
+ }
643
+
644
+
645
+ /**
646
+ * WordPress eXtended RSS file parser implementations,
647
+ * Originally made by WordPress part of WordPress/Importer.
648
+ * https://plugins.trac.wordpress.org/browser/wordpress-importer/trunk/parsers/class-wxr-parser-xml.php
649
+ *
650
+ * What was done:
651
+ * Reformat of the code.
652
+ * Added PHPDOC.
653
+ * Changed text domain.
654
+ * Added clear() method.
655
+ * Added undeclared class properties.
656
+ * Changed methods visibility.
657
+ */
658
+
659
+ /**
660
+ * WXR Parser that makes use of the XML Parser PHP extension.
661
+ */
662
+ class WXR_Parser_XML {
663
+ private static $wp_tags = [
664
+ 'wp:post_id',
665
+ 'wp:post_date',
666
+ 'wp:post_date_gmt',
667
+ 'wp:comment_status',
668
+ 'wp:ping_status',
669
+ 'wp:attachment_url',
670
+ 'wp:status',
671
+ 'wp:post_name',
672
+ 'wp:post_parent',
673
+ 'wp:menu_order',
674
+ 'wp:post_type',
675
+ 'wp:post_password',
676
+ 'wp:is_sticky',
677
+ 'wp:term_id',
678
+ 'wp:category_nicename',
679
+ 'wp:category_parent',
680
+ 'wp:cat_name',
681
+ 'wp:category_description',
682
+ 'wp:tag_slug',
683
+ 'wp:tag_name',
684
+ 'wp:tag_description',
685
+ 'wp:term_taxonomy',
686
+ 'wp:term_parent',
687
+ 'wp:term_name',
688
+ 'wp:term_description',
689
+ 'wp:author_id',
690
+ 'wp:author_login',
691
+ 'wp:author_email',
692
+ 'wp:author_display_name',
693
+ 'wp:author_first_name',
694
+ 'wp:author_last_name',
695
+ ];
696
+
697
+ private static $wp_sub_tags = [
698
+ 'wp:comment_id',
699
+ 'wp:comment_author',
700
+ 'wp:comment_author_email',
701
+ 'wp:comment_author_url',
702
+ 'wp:comment_author_IP',
703
+ 'wp:comment_date',
704
+ 'wp:comment_date_gmt',
705
+ 'wp:comment_content',
706
+ 'wp:comment_approved',
707
+ 'wp:comment_type',
708
+ 'wp:comment_parent',
709
+ 'wp:comment_user_id',
710
+ ];
711
+
712
+ /**
713
+ * @var string
714
+ */
715
+ private $wxr_version;
716
+
717
+ /**
718
+ * @var string
719
+ */
720
+ private $cdata;
721
+
722
+ /**
723
+ * @var array
724
+ */
725
+ private $data;
726
+
727
+ /**
728
+ * @var array
729
+ */
730
+ private $sub_data;
731
+
732
+ /**
733
+ * @var boolean
734
+ */
735
+ private $in_post;
736
+
737
+ /**
738
+ * @var boolean
739
+ */
740
+ private $in_tag;
741
+
742
+ /**
743
+ * @var boolean
744
+ */
745
+ private $in_sub_tag;
746
+
747
+ /**
748
+ * @var array
749
+ */
750
+ private $authors;
751
+
752
+ /**
753
+ * @var array
754
+ */
755
+ private $posts;
756
+
757
+ /**
758
+ * @var array
759
+ */
760
+ private $term;
761
+
762
+ /**
763
+ * @var array
764
+ */
765
+ private $category;
766
+
767
+ /**
768
+ * @var array
769
+ */
770
+ private $tag;
771
+
772
+ /**
773
+ * @var string
774
+ */
775
+ private $base_url;
776
+
777
+ /**
778
+ * @var string
779
+ */
780
+ private $base_blog_url;
781
+
782
+ /**
783
+ * @param string $file
784
+ *
785
+ * @return array|WP_Error
786
+ */
787
+ public function parse( $file ) {
788
+ $this->clear();
789
+
790
+ $xml = xml_parser_create( 'UTF-8' );
791
+ xml_parser_set_option( $xml, XML_OPTION_SKIP_WHITE, 1 );
792
+ xml_parser_set_option( $xml, XML_OPTION_CASE_FOLDING, 0 );
793
+ xml_set_object( $xml, $this );
794
+
795
+ xml_set_character_data_handler( $xml, function ( $parser, $cdata ) {
796
+ $this->cdata( $cdata );
797
+ } );
798
+
799
+ $tag_open_callback = function ( $parse, $tag, $attr ) {
800
+ $this->tag_open( $tag, $attr );
801
+ };
802
+
803
+ $tag_close_callback = function ( $parser, $tag ) {
804
+ $this->tag_close( $tag );
805
+ };
806
+
807
+ xml_set_element_handler( $xml, $tag_open_callback, $tag_close_callback );
808
+
809
+ if ( ! xml_parse( $xml, file_get_contents( $file ), true ) ) {
810
+ $current_line = xml_get_current_line_number( $xml );
811
+ $current_column = xml_get_current_column_number( $xml );
812
+ $error_code = xml_get_error_code( $xml );
813
+ $error_string = xml_error_string( $error_code );
814
+
815
+ return new WP_Error( 'XML_parse_error', 'There was an error when reading this WXR file', [
816
+ $current_line,
817
+ $current_column,
818
+ $error_string,
819
+ ] );
820
+ }
821
+ xml_parser_free( $xml );
822
+
823
+ if ( ! preg_match( '/^\d+\.\d+$/', $this->wxr_version ) ) {
824
+ return new WP_Error( 'WXR_parse_error', esc_html__( 'This does not appear to be a WXR file, missing/invalid WXR version number', 'wpr-addons' ) );
825
+ }
826
+
827
+ return array(
828
+ 'authors' => $this->authors,
829
+ 'posts' => $this->posts,
830
+ 'categories' => $this->category,
831
+ 'tags' => $this->tag,
832
+ 'terms' => $this->term,
833
+ 'base_url' => $this->base_url,
834
+ 'base_blog_url' => $this->base_blog_url,
835
+ 'version' => $this->wxr_version,
836
+ );
837
+ }
838
+
839
+ private function tag_open( $tag, $attr ) {
840
+ if ( in_array( $tag, self::$wp_tags ) ) {
841
+ $this->in_tag = substr( $tag, 3 );
842
+
843
+ return;
844
+ }
845
+
846
+ if ( in_array( $tag, self::$wp_sub_tags ) ) {
847
+ $this->in_sub_tag = substr( $tag, 3 );
848
+
849
+ return;
850
+ }
851
+
852
+ switch ( $tag ) {
853
+ case 'category':
854
+ if ( isset( $attr['domain'], $attr['nicename'] ) ) {
855
+ $this->sub_data['domain'] = $attr['domain'];
856
+ $this->sub_data['slug'] = $attr['nicename'];
857
+ }
858
+ break;
859
+ case 'item':
860
+ $this->in_post = true;
861
+ // No break !!!.
862
+ case 'title':
863
+ if ( $this->in_post ) {
864
+ $this->in_tag = 'post_title';
865
+ }
866
+ break;
867
+ case 'guid':
868
+ $this->in_tag = 'guid';
869
+ break;
870
+ case 'dc:creator':
871
+ $this->in_tag = 'post_author';
872
+ break;
873
+ case 'content:encoded':
874
+ $this->in_tag = 'post_content';
875
+ break;
876
+ case 'excerpt:encoded':
877
+ $this->in_tag = 'post_excerpt';
878
+ break;
879
+
880
+ case 'wp:term_slug':
881
+ $this->in_tag = 'slug';
882
+ break;
883
+ case 'wp:meta_key':
884
+ $this->in_sub_tag = 'key';
885
+ break;
886
+ case 'wp:meta_value':
887
+ $this->in_sub_tag = 'value';
888
+ break;
889
+ }
890
+ }
891
+
892
+ private function cdata( $cdata ) {
893
+ if ( ! trim( $cdata ) ) {
894
+ return;
895
+ }
896
+
897
+ if ( false !== $this->in_tag || false !== $this->in_sub_tag ) {
898
+ $this->cdata .= $cdata;
899
+ } else {
900
+ $this->cdata .= trim( $cdata );
901
+ }
902
+ }
903
+
904
+ private function tag_close( $tag ) {
905
+ switch ( $tag ) {
906
+ case 'wp:comment':
907
+ unset( $this->sub_data['key'], $this->sub_data['value'] ); // Remove meta sub_data.
908
+ if ( ! empty( $this->sub_data ) ) {
909
+ $this->data['comments'][] = $this->sub_data;
910
+ }
911
+ $this->sub_data = [];
912
+ break;
913
+ case 'wp:commentmeta':
914
+ $this->sub_data['commentmeta'][] = [
915
+ 'key' => $this->sub_data['key'],
916
+ 'value' => $this->sub_data['value'],
917
+ ];
918
+ break;
919
+ case 'category':
920
+ if ( ! empty( $this->sub_data ) ) {
921
+ $this->sub_data['name'] = $this->cdata;
922
+ $this->data['terms'][] = $this->sub_data;
923
+ }
924
+ $this->sub_data = [];
925
+ break;
926
+ case 'wp:postmeta':
927
+ if ( ! empty( $this->sub_data ) ) {
928
+ $this->data['postmeta'][] = $this->sub_data;
929
+ }
930
+ $this->sub_data = [];
931
+ break;
932
+ case 'item':
933
+ $this->posts[] = $this->data;
934
+ $this->data = [];
935
+ break;
936
+ case 'wp:category':
937
+ case 'wp:tag':
938
+ case 'wp:term':
939
+ $n = substr( $tag, 3 );
940
+ array_push( $this->$n, $this->data );
941
+ $this->data = [];
942
+ break;
943
+ case 'wp:termmeta':
944
+ if ( ! empty( $this->sub_data ) ) {
945
+ $this->data['termmeta'][] = $this->sub_data;
946
+ }
947
+ $this->sub_data = [];
948
+ break;
949
+ case 'wp:author':
950
+ if ( ! empty( $this->data['author_login'] ) ) {
951
+ $this->authors[ $this->data['author_login'] ] = $this->data;
952
+ }
953
+ $this->data = [];
954
+ break;
955
+ case 'wp:base_site_url':
956
+ $this->base_url = $this->cdata;
957
+ if ( ! isset( $this->base_blog_url ) ) {
958
+ $this->base_blog_url = $this->cdata;
959
+ }
960
+ break;
961
+ case 'wp:base_blog_url':
962
+ $this->base_blog_url = $this->cdata;
963
+ break;
964
+ case 'wp:wxr_version':
965
+ $this->wxr_version = $this->cdata;
966
+ break;
967
+
968
+ default:
969
+ if ( $this->in_sub_tag ) {
970
+ $this->sub_data[ $this->in_sub_tag ] = $this->cdata;
971
+ $this->in_sub_tag = false;
972
+ } elseif ( $this->in_tag ) {
973
+ $this->data[ $this->in_tag ] = $this->cdata;
974
+ $this->in_tag = false;
975
+ }
976
+ }
977
+
978
+ $this->cdata = '';
979
+ }
980
+
981
+ private function clear() {
982
+ $this->wxr_version = '';
983
+
984
+ $this->cdata = '';
985
+ $this->data = [];
986
+ $this->sub_data = [];
987
+
988
+ $this->in_post = false;
989
+ $this->in_tag = false;
990
+ $this->in_sub_tag = false;
991
+
992
+ $this->authors = [];
993
+ $this->posts = [];
994
+ $this->term = [];
995
+ $this->category = [];
996
+ $this->tag = [];
997
+ }
998
+ }
999
+
1000
+
1001
+ /**
1002
+ * WordPress eXtended RSS file parser implementations,
1003
+ * Originally made by WordPress part of WordPress/Importer.
1004
+ * https://plugins.trac.wordpress.org/browser/wordpress-importer/trunk/parsers/class-wxr-parser.php
1005
+ *
1006
+ * What was done:
1007
+ * Reformat of the code.
1008
+ * Changed text domain.
1009
+ */
1010
+
1011
+ /**
1012
+ * WordPress Importer class for managing parsing of WXR files.
1013
+ */
1014
+ class WXR_Parser {
1015
+
1016
+ public function parse( $file ) {
1017
+ // Attempt to use proper XML parsers first.
1018
+ if ( extension_loaded( 'simplexml' ) ) {
1019
+ $parser = new WXR_Parser_SimpleXML();
1020
+ $result = $parser->parse( $file );
1021
+
1022
+ // If SimpleXML succeeds or this is an invalid WXR file then return the results.
1023
+ if ( ! is_wp_error( $result ) || 'SimpleXML_parse_error' != $result->get_error_code() ) {
1024
+ return $result;
1025
+ }
1026
+ } elseif ( extension_loaded( 'xml' ) ) {
1027
+ $parser = new WXR_Parser_XML();
1028
+ $result = $parser->parse( $file );
1029
+
1030
+ // If XMLParser succeeds or this is an invalid WXR file then return the results.
1031
+ if ( ! is_wp_error( $result ) || 'XML_parse_error' != $result->get_error_code() ) {
1032
+ return $result;
1033
+ }
1034
+ }
1035
+
1036
+ // Use regular expressions if nothing else available or this is bad XML.
1037
+ $parser = new WXR_Parser_Regex();
1038
+
1039
+ return $parser->parse( $file );
1040
+ }
1041
+ }
admin/import/class-wordpress-importer.php CHANGED
@@ -1,1370 +1,1370 @@
1
- <?php
2
-
3
- if ( ! defined( 'ABSPATH' ) ) {
4
- exit; // Exit if accessed directly.
5
- }
6
-
7
- if ( ! defined( 'WP_LOAD_IMPORTERS' ) )
8
- return;
9
-
10
- /** Display verbose errors */
11
- define( 'IMPORT_DEBUG', false );
12
-
13
- // Load Importer API
14
- require_once ABSPATH . 'wp-admin/includes/import.php';
15
-
16
- if ( ! class_exists( 'WP_Importer' ) ) {
17
- $class_wp_importer = ABSPATH . 'wp-admin/includes/class-wp-importer.php';
18
- if ( file_exists( $class_wp_importer ) )
19
- require $class_wp_importer;
20
- }
21
-
22
- // include WXR file parsers
23
- require WPR_ADDONS_PATH .'admin/import/class-parsers.php';
24
-
25
- class WP_Import extends WP_Importer {
26
- const DEFAULT_BUMP_REQUEST_TIMEOUT = 60;
27
- const DEFAULT_ALLOW_CREATE_USERS = true;
28
- const DEFAULT_IMPORT_ATTACHMENT_SIZE_LIMIT = 0; // 0 = unlimited.
29
-
30
- /**
31
- * @var string
32
- */
33
- private $requested_file_path;
34
-
35
- /**
36
- * @var array
37
- */
38
- private $args;
39
-
40
- /**
41
- * @var array
42
- */
43
- private $output = [
44
- 'status' => 'failed',
45
- 'errors' => [],
46
- ];
47
-
48
- /*
49
- * WXR attachment ID
50
- */
51
- private $id;
52
-
53
- // Information to import from WXR file.
54
- private $version;
55
- private $authors = [];
56
- private $posts = [];
57
- private $terms = [];
58
- private $categories = [];
59
- private $tags = [];
60
- private $base_url = '';
61
- private $page_on_front;
62
-
63
- // Mappings from old information to new.
64
- private $processed_authors = [];
65
- private $author_mapping = [];
66
- private $processed_terms = [];
67
- private $processed_posts = [];
68
- private $post_orphans = [];
69
- private $processed_menu_items = [];
70
- private $menu_item_orphans = [];
71
- private $missing_menu_items = [];
72
-
73
- private $fetch_attachments = false;
74
- private $url_remap = [];
75
- private $featured_images = [];
76
-
77
- /**
78
- * Parses filename from a Content-Disposition header value.
79
- *
80
- * As per RFC6266:
81
- *
82
- * content-disposition = "Content-Disposition" ":"
83
- * disposition-type *( ";" disposition-parm )
84
- *
85
- * disposition-type = "inline" | "attachment" | disp-ext-type
86
- * ; case-insensitive
87
- * disp-ext-type = token
88
- *
89
- * disposition-parm = filename-parm | disp-ext-parm
90
- *
91
- * filename-parm = "filename" "=" value
92
- * | "filename*" "=" ext-value
93
- *
94
- * disp-ext-parm = token "=" value
95
- * | ext-token "=" ext-value
96
- * ext-token = <the characters in token, followed by "*">
97
- *
98
- * @param string[] $disposition_header List of Content-Disposition header values.
99
- *
100
- * @return string|null Filename if available, or null if not found.
101
- * @link http://tools.ietf.org/html/rfc2388
102
- * @link http://tools.ietf.org/html/rfc6266
103
- *
104
- * @see WP_REST_Attachments_Controller::get_filename_from_disposition()
105
- *
106
- */
107
- protected static function get_filename_from_disposition( $disposition_header ) {
108
- // Get the filename.
109
- $filename = null;
110
-
111
- foreach ( $disposition_header as $value ) {
112
- $value = trim( $value );
113
-
114
- if ( strpos( $value, ';' ) === false ) {
115
- continue;
116
- }
117
-
118
- list( $type, $attr_parts ) = explode( ';', $value, 2 );
119
-
120
- $attr_parts = explode( ';', $attr_parts );
121
- $attributes = [];
122
-
123
- foreach ( $attr_parts as $part ) {
124
- if ( strpos( $part, '=' ) === false ) {
125
- continue;
126
- }
127
-
128
- list( $key, $value ) = explode( '=', $part, 2 );
129
-
130
- $attributes[ trim( $key ) ] = trim( $value );
131
- }
132
-
133
- if ( empty( $attributes['filename'] ) ) {
134
- continue;
135
- }
136
-
137
- $filename = trim( $attributes['filename'] );
138
-
139
- // Unquote quoted filename, but after trimming.
140
- if ( substr( $filename, 0, 1 ) === '"' && substr( $filename, -1, 1 ) === '"' ) {
141
- $filename = substr( $filename, 1, -1 );
142
- }
143
- }
144
-
145
- return $filename;
146
- }
147
-
148
- /**
149
- * Retrieves file extension by mime type.
150
- *
151
- * @param string $mime_type Mime type to search extension for.
152
- *
153
- * @return string|null File extension if available, or null if not found.
154
- */
155
- protected static function get_file_extension_by_mime_type( $mime_type ) {
156
- static $map = null;
157
-
158
- if ( is_array( $map ) ) {
159
- return isset( $map[ $mime_type ] ) ? $map[ $mime_type ] : null;
160
- }
161
-
162
- $mime_types = wp_get_mime_types();
163
- $map = array_flip( $mime_types );
164
-
165
- // Some types have multiple extensions, use only the first one.
166
- foreach ( $map as $type => $extensions ) {
167
- $map[ $type ] = strtok( $extensions, '|' );
168
- }
169
-
170
- return isset( $map[ $mime_type ] ) ? $map[ $mime_type ] : null;
171
- }
172
-
173
- /**
174
- * The main controller for the actual import stage.
175
- *
176
- * @param string $file Path to the WXR file for importing
177
- */
178
- private function import( $file ) {
179
- add_filter( 'import_post_meta_key', function ( $key ) {
180
- return $this->is_valid_meta_key( $key );
181
- } );
182
- add_filter( 'http_request_timeout', function () {
183
- return self::DEFAULT_BUMP_REQUEST_TIMEOUT;
184
- } );
185
-
186
- if ( ! $this->import_start( $file ) ) {
187
- return;
188
- }
189
-
190
- $this->set_author_mapping();
191
-
192
- wp_suspend_cache_invalidation( true );
193
- $imported_summary = [
194
- 'categories' => $this->process_categories(),
195
- 'tags' => $this->process_tags(),
196
- 'terms' => $this->process_terms(),
197
- 'posts' => $this->process_posts(),
198
- ];
199
- wp_suspend_cache_invalidation( false );
200
-
201
- // Update incorrect/missing information in the DB.
202
- $this->backfill_parents();
203
- $this->backfill_attachment_urls();
204
- $this->remap_featured_images();
205
-
206
- $this->import_end();
207
-
208
- $is_some_succeed = false;
209
- foreach ( $imported_summary as $item ) {
210
- if ( $item > 0 ) {
211
- $is_some_succeed = true;
212
- break;
213
- }
214
- }
215
-
216
- if ( $is_some_succeed ) {
217
- $this->output['status'] = 'success';
218
- $this->output['summary'] = $imported_summary;
219
- }
220
- }
221
-
222
- /**
223
- * Parses the WXR file and prepares us for the task of processing parsed data.
224
- *
225
- * @param string $file Path to the WXR file for importing
226
- */
227
- private function import_start( $file ) {
228
- if ( ! is_file( $file ) ) {
229
- $this->output['errors'] = [ esc_html__( 'The file does not exist, please try again.', 'wpr-addons' ) ];
230
-
231
- return false;
232
- }
233
-
234
- $import_data = $this->parse( $file );
235
-
236
- if ( is_wp_error( $import_data ) ) {
237
- $this->output['errors'] = [ $import_data->get_error_message() ];
238
-
239
- return false;
240
- }
241
-
242
- $this->version = $import_data['version'];
243
- $this->set_authors_from_import( $import_data );
244
- $this->posts = $import_data['posts'];
245
- $this->terms = $import_data['terms'];
246
- $this->categories = $import_data['categories'];
247
- $this->tags = $import_data['tags'];
248
- $this->base_url = esc_url( $import_data['base_url'] );
249
- $this->page_on_front = $import_data['page_on_front'];
250
-
251
- wp_defer_term_counting( true );
252
- wp_defer_comment_counting( true );
253
-
254
- do_action( 'import_start' );
255
-
256
- return true;
257
- }
258
-
259
- /**
260
- * Performs post-import cleanup of files and the cache
261
- */
262
- private function import_end() {
263
- wp_import_cleanup( $this->id );
264
-
265
- wp_cache_flush();
266
-
267
- foreach ( get_taxonomies() as $tax ) {
268
- delete_option( "{$tax}_children" );
269
- _get_term_hierarchy( $tax );
270
- }
271
-
272
- wp_defer_term_counting( false );
273
- wp_defer_comment_counting( false );
274
-
275
- do_action( 'import_end' );
276
- }
277
-
278
- /**
279
- * Retrieve authors from parsed WXR data and set it to `$this->>authors`.
280
- *
281
- * Uses the provided author information from WXR 1.1 files
282
- * or extracts info from each post for WXR 1.0 files
283
- *
284
- * @param array $import_data Data returned by a WXR parser
285
- */
286
- private function set_authors_from_import( $import_data ) {
287
- if ( ! empty( $import_data['authors'] ) ) {
288
- $this->authors = $import_data['authors'];
289
- // No author information, grab it from the posts.
290
- } else {
291
- foreach ( $import_data['posts'] as $post ) {
292
- $login = sanitize_user( $post['post_author'], true );
293
-
294
- if ( empty( $login ) ) {
295
- /* translators: %s: Post author. */
296
- $this->output['errors'][] = sprintf( esc_html__( 'Failed to import author %s. Their posts will be attributed to the current user.', 'wpr-addons' ), $post['post_author'] );
297
- continue;
298
- }
299
-
300
- if ( ! isset( $this->authors[ $login ] ) ) {
301
- $this->authors[ $login ] = [
302
- 'author_login' => $login,
303
- 'author_display_name' => $post['post_author'],
304
- ];
305
- }
306
- }
307
- }
308
- }
309
-
310
- /**
311
- * Map old author logins to local user IDs based on decisions made
312
- * in import options form. Can map to an existing user, create a new user
313
- * or falls back to the current user in case of error with either of the previous
314
- */
315
- private function set_author_mapping() {
316
- if ( ! isset( $this->args['imported_authors'] ) ) {
317
- return;
318
- }
319
-
320
- $create_users = apply_filters( 'import_allow_create_users', self::DEFAULT_ALLOW_CREATE_USERS );
321
-
322
- foreach ( (array) $this->args['imported_authors'] as $i => $old_login ) {
323
- // Multisite adds strtolower to sanitize_user. Need to sanitize here to stop breakage in process_posts.
324
- $santized_old_login = sanitize_user( $old_login, true );
325
- $old_id = isset( $this->authors[ $old_login ]['author_id'] ) ? intval( $this->authors[ $old_login ]['author_id'] ) : false;
326
-
327
- if ( ! empty( $this->args['user_map'][ $i ] ) ) {
328
- $user = get_userdata( intval( $this->args['user_map'][ $i ] ) );
329
- if ( isset( $user->ID ) ) {
330
- if ( $old_id ) {
331
- $this->processed_authors[ $old_id ] = $user->ID;
332
- }
333
- $this->author_mapping[ $santized_old_login ] = $user->ID;
334
- }
335
- } elseif ( $create_users ) {
336
- $user_id = 0;
337
- if ( ! empty( $this->args['user_new'][ $i ] ) ) {
338
- $user_id = wp_create_user( $this->args['user_new'][ $i ], wp_generate_password() );
339
- } elseif ( '1.0' !== $this->version ) {
340
- $user_data = [
341
- 'user_login' => $old_login,
342
- 'user_pass' => wp_generate_password(),
343
- 'user_email' => isset( $this->authors[ $old_login ]['author_email'] ) ? $this->authors[ $old_login ]['author_email'] : '',
344
- 'display_name' => $this->authors[ $old_login ]['author_display_name'],
345
- 'first_name' => isset( $this->authors[ $old_login ]['author_first_name'] ) ? $this->authors[ $old_login ]['author_first_name'] : '',
346
- 'last_name' => isset( $this->authors[ $old_login ]['author_last_name'] ) ? $this->authors[ $old_login ]['author_last_name'] : '',
347
- ];
348
- $user_id = wp_insert_user( $user_data );
349
- }
350
-
351
- if ( ! is_wp_error( $user_id ) ) {
352
- if ( $old_id ) {
353
- $this->processed_authors[ $old_id ] = $user_id;
354
- }
355
- $this->author_mapping[ $santized_old_login ] = $user_id;
356
- } else {
357
- /* translators: %s: Author display name. */
358
- $error = sprintf( esc_html__( 'Failed to create new user for %s. Their posts will be attributed to the current user.', 'wpr-addons' ), $this->authors[ $old_login ]['author_display_name'] );
359
-
360
- if ( defined( 'IMPORT_DEBUG' ) && IMPORT_DEBUG ) {
361
- $error .= PHP_EOL . $user_id->get_error_message();
362
- }
363
-
364
- $this->output['errors'][] = $error;
365
- }
366
- }
367
-
368
- // Failsafe: if the user_id was invalid, default to the current user.
369
- if ( ! isset( $this->author_mapping[ $santized_old_login ] ) ) {
370
- if ( $old_id ) {
371
- $this->processed_authors[ $old_id ] = (int) get_current_user_id();
372
- }
373
- $this->author_mapping[ $santized_old_login ] = (int) get_current_user_id();
374
- }
375
- }
376
- }
377
-
378
- /**
379
- * Create new categories based on import information
380
- *
381
- * Doesn't create a new category if its slug already exists
382
- *
383
- * @return int number of imported categories.
384
- */
385
- private function process_categories() {
386
- $result = 0;
387
-
388
- $this->categories = apply_filters( 'wp_import_categories', $this->categories );
389
-
390
- if ( empty( $this->categories ) ) {
391
- return $result;
392
- }
393
-
394
- foreach ( $this->categories as $cat ) {
395
- // if the category already exists leave it alone
396
- $term_id = term_exists( $cat['category_nicename'], 'category' );
397
- if ( $term_id ) {
398
- if ( is_array( $term_id ) ) {
399
- $term_id = $term_id['term_id'];
400
- }
401
- if ( isset( $cat['term_id'] ) ) {
402
- $this->processed_terms[ intval( $cat['term_id'] ) ] = (int) $term_id;
403
- }
404
- continue;
405
- }
406
-
407
- $parent = empty( $cat['category_parent'] ) ? 0 : category_exists( $cat['category_parent'] );
408
- $description = isset( $cat['category_description'] ) ? $cat['category_description'] : '';
409
-
410
- $data = [
411
- 'category_nicename' => $cat['category_nicename'],
412
- 'category_parent' => $parent,
413
- 'cat_name' => wp_slash( $cat['cat_name'] ),
414
- 'category_description' => wp_slash( $description ),
415
- ];
416
-
417
- $id = wp_insert_category( $data );
418
- if ( ! is_wp_error( $id ) && $id > 0 ) {
419
- if ( isset( $cat['term_id'] ) ) {
420
- $this->processed_terms[ intval( $cat['term_id'] ) ] = $id;
421
- }
422
- $result++;
423
- } else {
424
- /* translators: %s: Category name. */
425
- $error = sprintf( esc_html__( 'Failed to import category %s', 'wpr-addons' ), $cat['category_nicename'] );
426
-
427
- if ( defined( 'IMPORT_DEBUG' ) && IMPORT_DEBUG ) {
428
- $error .= PHP_EOL . $id->get_error_message();
429
- }
430
-
431
- $this->output['errors'][] = $error;
432
- continue;
433
- }
434
-
435
- $this->process_termmeta( $cat, $id );
436
- }
437
-
438
- unset( $this->categories );
439
-
440
- return $result;
441
- }
442
-
443
- /**
444
- * Create new post tags based on import information
445
- *
446
- * Doesn't create a tag if its slug already exists
447
- *
448
- * @return int number of imported tags.
449
- */
450
- private function process_tags() {
451
- $result = 0;
452
-
453
- $this->tags = apply_filters( 'wp_import_tags', $this->tags );
454
-
455
- if ( empty( $this->tags ) ) {
456
- return $result;
457
- }
458
-
459
- foreach ( $this->tags as $tag ) {
460
- // if the tag already exists leave it alone
461
- $term_id = term_exists( $tag['tag_slug'], 'post_tag' );
462
- if ( $term_id ) {
463
- if ( is_array( $term_id ) ) {
464
- $term_id = $term_id['term_id'];
465
- }
466
- if ( isset( $tag['term_id'] ) ) {
467
- $this->processed_terms[ intval( $tag['term_id'] ) ] = (int) $term_id;
468
- }
469
- continue;
470
- }
471
-
472
- $description = isset( $tag['tag_description'] ) ? $tag['tag_description'] : '';
473
- $args = [
474
- 'slug' => $tag['tag_slug'],
475
- 'description' => wp_slash( $description ),
476
- ];
477
-
478
- $id = wp_insert_term( wp_slash( $tag['tag_name'] ), 'post_tag', $args );
479
- if ( ! is_wp_error( $id ) ) {
480
- if ( isset( $tag['term_id'] ) ) {
481
- $this->processed_terms[ intval( $tag['term_id'] ) ] = $id['term_id'];
482
- }
483
- $result++;
484
- } else {
485
- /* translators: %s: Tag name. */
486
- $error = sprintf( esc_html__( 'Failed to import post tag %s', 'wpr-addons' ), $tag['tag_name'] );
487
-
488
- if ( defined( 'IMPORT_DEBUG' ) && IMPORT_DEBUG ) {
489
- $error .= PHP_EOL . $id->get_error_message();
490
- }
491
-
492
- $this->output['errors'][] = $error;
493
- continue;
494
- }
495
-
496
- $this->process_termmeta( $tag, $id['term_id'] );
497
- }
498
-
499
- unset( $this->tags );
500
-
501
- return $result;
502
- }
503
-
504
- /**
505
- * Create new terms based on import information
506
- *
507
- * Doesn't create a term its slug already exists
508
- *
509
- * @return int number of imported terms.
510
- */
511
- private function process_terms() {
512
- $result = 0;
513
-
514
- $this->terms = apply_filters( 'wp_import_terms', $this->terms );
515
-
516
- if ( empty( $this->terms ) ) {
517
- return $result;
518
- }
519
-
520
- foreach ( $this->terms as $term ) {
521
- // if the term already exists in the correct taxonomy leave it alone
522
- $term_id = term_exists( $term['slug'], $term['term_taxonomy'] );
523
- if ( $term_id ) {
524
- if ( is_array( $term_id ) ) {
525
- $term_id = $term_id['term_id'];
526
- }
527
- if ( isset( $term['term_id'] ) ) {
528
- $this->processed_terms[ intval( $term['term_id'] ) ] = (int) $term_id;
529
- }
530
- continue;
531
- }
532
-
533
- if ( empty( $term['term_parent'] ) ) {
534
- $parent = 0;
535
- } else {
536
- $parent = term_exists( $term['term_parent'], $term['term_taxonomy'] );
537
- if ( is_array( $parent ) ) {
538
- $parent = $parent['term_id'];
539
- }
540
- }
541
-
542
- $description = isset( $term['term_description'] ) ? $term['term_description'] : '';
543
- $args = [
544
- 'slug' => $term['slug'],
545
- 'description' => wp_slash( $description ),
546
- 'parent' => (int) $parent,
547
- ];
548
-
549
- $id = wp_insert_term( wp_slash( $term['term_name'] ), $term['term_taxonomy'], $args );
550
- if ( ! is_wp_error( $id ) ) {
551
- if ( isset( $term['term_id'] ) ) {
552
- $this->processed_terms[ intval( $term['term_id'] ) ] = $id['term_id'];
553
- }
554
- $result++;
555
- } else {
556
- /* translators: 1: Term taxonomy, 2: Term name. */
557
- $error = sprintf( esc_html__( 'Failed to import %1$s %2$s', 'wpr-addons' ), $term['term_taxonomy'], $term['term_name'] );
558
-
559
- if ( defined( 'IMPORT_DEBUG' ) && IMPORT_DEBUG ) {
560
- $error .= PHP_EOL . $id->get_error_message();
561
- }
562
-
563
- $this->output['errors'][] = $error;
564
- continue;
565
- }
566
-
567
- $this->process_termmeta( $term, $id['term_id'] );
568
- }
569
-
570
- unset( $this->terms );
571
-
572
- return $result;
573
- }
574
-
575
- /**
576
- * Add metadata to imported term.
577
- *
578
- * @param array $term Term data from WXR import.
579
- * @param int $term_id ID of the newly created term.
580
- */
581
- private function process_termmeta( $term, $term_id ) {
582
- if ( ! function_exists( 'add_term_meta' ) ) {
583
- return;
584
- }
585
-
586
- if ( ! isset( $term['termmeta'] ) ) {
587
- $term['termmeta'] = [];
588
- }
589
-
590
- /**
591
- * Filters the metadata attached to an imported term.
592
- *
593
- * @param array $termmeta Array of term meta.
594
- * @param int $term_id ID of the newly created term.
595
- * @param array $term Term data from the WXR import.
596
- */
597
- $term['termmeta'] = apply_filters( 'wp_import_term_meta', $term['termmeta'], $term_id, $term );
598
-
599
- if ( empty( $term['termmeta'] ) ) {
600
- return;
601
- }
602
-
603
- foreach ( $term['termmeta'] as $meta ) {
604
- /**
605
- * Filters the meta key for an imported piece of term meta.
606
- *
607
- * @param string $meta_key Meta key.
608
- * @param int $term_id ID of the newly created term.
609
- * @param array $term Term data from the WXR import.
610
- */
611
- $key = apply_filters( 'import_term_meta_key', $meta['key'], $term_id, $term );
612
- if ( ! $key ) {
613
- continue;
614
- }
615
-
616
- // Export gets meta straight from the DB so could have a serialized string
617
- $value = maybe_unserialize( $meta['value'] );
618
-
619
- add_term_meta( $term_id, wp_slash( $key ), wp_slash_strings_only( $value ) );
620
-
621
- /**
622
- * Fires after term meta is imported.
623
- *
624
- * @param int $term_id ID of the newly created term.
625
- * @param string $key Meta key.
626
- * @param mixed $value Meta value.
627
- */
628
- do_action( 'import_term_meta', $term_id, $key, $value );
629
- }
630
- }
631
-
632
- /**
633
- * Create new posts based on import information
634
- *
635
- * Posts marked as having a parent which doesn't exist will become top level items.
636
- * Doesn't create a new post if: the post type doesn't exist, the given post ID
637
- * is already noted as imported or a post with the same title and date already exists.
638
- * Note that new/updated terms, comments and meta are imported for the last of the above.
639
- *
640
- * @return array the ids of succeed/failed imported posts.
641
- */
642
- private function process_posts() {
643
- $result = [
644
- 'succeed' => [],
645
- 'failed' => [],
646
- ];
647
-
648
- $this->posts = apply_filters( 'wp_import_posts', $this->posts );
649
-
650
- foreach ( $this->posts as $post ) {
651
- $post = apply_filters( 'wp_import_post_data_raw', $post );
652
-
653
- if ( ! post_type_exists( $post['post_type'] ) ) {
654
- /* translators: 1: Post title, 2: Post type. */
655
- $this->output['errors'][] = sprintf( esc_html__( 'Failed to import %1$s: Invalid post type %2$s', 'wpr-addons' ), $post['post_title'], $post['post_type'] );
656
- do_action( 'wp_import_post_exists', $post );
657
- continue;
658
- }
659
-
660
- if ( isset( $this->processed_posts[ $post['post_id'] ] ) && ! empty( $post['post_id'] ) ) {
661
- continue;
662
- }
663
-
664
- if ( 'auto-draft' === $post['status'] ) {
665
- continue;
666
- }
667
-
668
- if ( 'nav_menu_item' === $post['post_type'] ) {
669
- $this->process_menu_item( $post );
670
- continue;
671
- }
672
-
673
- $post_type_object = get_post_type_object( $post['post_type'] );
674
-
675
- $post_parent = (int) $post['post_parent'];
676
- if ( $post_parent ) {
677
- // if we already know the parent, map it to the new local ID.
678
- if ( isset( $this->processed_posts[ $post_parent ] ) ) {
679
- $post_parent = $this->processed_posts[ $post_parent ];
680
- // otherwise record the parent for later.
681
- } else {
682
- $this->post_orphans[ intval( $post['post_id'] ) ] = $post_parent;
683
- $post_parent = 0;
684
- }
685
- }
686
-
687
- // Map the post author.
688
- $author = sanitize_user( $post['post_author'], true );
689
- if ( isset( $this->author_mapping[ $author ] ) ) {
690
- $author = $this->author_mapping[ $author ];
691
- } else {
692
- $author = (int) get_current_user_id();
693
- }
694
-
695
- $postdata = [
696
- 'import_id' => $post['post_id'],
697
- 'post_author' => $author,
698
- 'post_content' => $post['post_content'],
699
- 'post_excerpt' => $post['post_excerpt'],
700
- 'post_title' => $post['post_title'],
701
- 'post_status' => $post['status'],
702
- 'post_name' => $post['post_name'],
703
- 'comment_status' => $post['comment_status'],
704
- 'ping_status' => $post['ping_status'],
705
- 'guid' => $post['guid'],
706
- 'post_parent' => $post_parent,
707
- 'menu_order' => $post['menu_order'],
708
- 'post_type' => $post['post_type'],
709
- 'post_password' => $post['post_password'],
710
- 'post_date' => $post['post_date'],
711
- ];
712
-
713
- $original_post_id = $post['post_id'];
714
- $postdata = apply_filters( 'wp_import_post_data_processed', $postdata, $post );
715
-
716
- $postdata = wp_slash( $postdata );
717
-
718
- if ( 'attachment' === $postdata['post_type'] ) {
719
- $remote_url = ! empty( $post['attachment_url'] ) ? $post['attachment_url'] : $post['guid'];
720
-
721
- // try to use _wp_attached file for upload folder placement to ensure the same location as the export site
722
- // e.g. location is 2003/05/image.jpg but the attachment post_date is 2010/09, see media_handle_upload()
723
- $postdata['upload_date'] = $post['post_date'];
724
- if ( isset( $post['postmeta'] ) ) {
725
- foreach ( $post['postmeta'] as $meta ) {
726
- if ( '_wp_attached_file' === $meta['key'] ) {
727
- if ( preg_match( '%^[0-9]{4}/[0-9]{2}%', $meta['value'], $matches ) ) {
728
- $postdata['upload_date'] = $matches[0];
729
- }
730
- break;
731
- }
732
- }
733
- }
734
-
735
- $post_id = $this->process_attachment( $postdata, $remote_url );
736
- $comment_post_id = $post_id;
737
- } else {
738
- $post_id = wp_insert_post( $postdata, true );
739
- $comment_post_id = $post_id;
740
- do_action( 'wp_import_insert_post', $post_id, $original_post_id, $postdata, $post );
741
- }
742
-
743
- if ( is_wp_error( $post_id ) ) {
744
- /* translators: 1: Post type singular label, 2: Post title. */
745
- $error = sprintf( __( 'Failed to import %1$s %2$s', 'wpr-addons' ), $post_type_object->labels->singular_name, $post['post_title'] );
746
-
747
- if ( defined( 'IMPORT_DEBUG' ) && IMPORT_DEBUG ) {
748
- $error .= PHP_EOL . $post_id->get_error_message();
749
- }
750
-
751
- $result['failed'][] = $original_post_id;
752
-
753
- $this->output['errors'][] = $error;
754
-
755
- continue;
756
- }
757
-
758
- $result['succeed'][ $original_post_id ] = $post_id;
759
-
760
- if ( 1 === $post['is_sticky'] ) {
761
- stick_post( $post_id );
762
- }
763
-
764
- if ( $this->page_on_front === $original_post_id ) {
765
- update_option( 'page_on_front', $post_id );
766
- }
767
-
768
- // Map pre-import ID to local ID.
769
- $this->processed_posts[ intval( $post['post_id'] ) ] = (int) $post_id;
770
-
771
- if ( ! isset( $post['terms'] ) ) {
772
- $post['terms'] = [];
773
- }
774
-
775
- $post['terms'] = apply_filters( 'wp_import_post_terms', $post['terms'], $post_id, $post );
776
-
777
- // add categories, tags and other terms
778
- if ( ! empty( $post['terms'] ) ) {
779
- $terms_to_set = [];
780
- foreach ( $post['terms'] as $term ) {
781
- // back compat with WXR 1.0 map 'tag' to 'post_tag'
782
- $taxonomy = ( 'tag' === $term['domain'] ) ? 'post_tag' : $term['domain'];
783
- $term_exists = term_exists( $term['slug'], $taxonomy );
784
- $term_id = is_array( $term_exists ) ? $term_exists['term_id'] : $term_exists;
785
- if ( ! $term_id ) {
786
- $t = wp_insert_term( $term['name'], $taxonomy, [ 'slug' => $term['slug'] ] );
787
- if ( ! is_wp_error( $t ) ) {
788
- $term_id = $t['term_id'];
789
- do_action( 'wp_import_insert_term', $t, $term, $post_id, $post );
790
- } else {
791
- /* translators: 1: Taxonomy name, 2: Term name. */
792
- $error = sprintf( esc_html__( 'Failed to import %1$s %2$s', 'wpr-addons' ), $taxonomy, $term['name'] );
793
-
794
- if ( defined( 'IMPORT_DEBUG' ) && IMPORT_DEBUG ) {
795
- $error .= PHP_EOL . $t->get_error_message();
796
- }
797
-
798
- $this->output['errors'][] = $error;
799
-
800
- do_action( 'wp_import_insert_term_failed', $t, $term, $post_id, $post );
801
- continue;
802
- }
803
- }
804
- $terms_to_set[ $taxonomy ][] = intval( $term_id );
805
- }
806
-
807
- foreach ( $terms_to_set as $tax => $ids ) {
808
- $tt_ids = wp_set_post_terms( $post_id, $ids, $tax );
809
- do_action( 'wp_import_set_post_terms', $tt_ids, $ids, $tax, $post_id, $post );
810
- }
811
- unset( $post['terms'], $terms_to_set );
812
- }
813
-
814
- if ( ! isset( $post['comments'] ) ) {
815
- $post['comments'] = [];
816
- }
817
-
818
- $post['comments'] = apply_filters( 'wp_import_post_comments', $post['comments'], $post_id, $post );
819
-
820
- // Add/update comments.
821
- if ( ! empty( $post['comments'] ) ) {
822
- $num_comments = 0;
823
- $inserted_comments = [];
824
- foreach ( $post['comments'] as $comment ) {
825
- $comment_id = $comment['comment_id'];
826
- $newcomments[ $comment_id ]['comment_post_ID'] = $comment_post_id;
827
- $newcomments[ $comment_id ]['comment_author'] = $comment['comment_author'];
828
- $newcomments[ $comment_id ]['comment_author_email'] = $comment['comment_author_email'];
829
- $newcomments[ $comment_id ]['comment_author_IP'] = $comment['comment_author_IP'];
830
- $newcomments[ $comment_id ]['comment_author_url'] = $comment['comment_author_url'];
831
- $newcomments[ $comment_id ]['comment_date'] = $comment['comment_date'];
832
- $newcomments[ $comment_id ]['comment_date_gmt'] = $comment['comment_date_gmt'];
833
- $newcomments[ $comment_id ]['comment_content'] = $comment['comment_content'];
834
- $newcomments[ $comment_id ]['comment_approved'] = $comment['comment_approved'];
835
- $newcomments[ $comment_id ]['comment_type'] = $comment['comment_type'];
836
- $newcomments[ $comment_id ]['comment_parent'] = $comment['comment_parent'];
837
- $newcomments[ $comment_id ]['commentmeta'] = isset( $comment['commentmeta'] ) ? $comment['commentmeta'] : [];
838
- if ( isset( $this->processed_authors[ $comment['comment_user_id'] ] ) ) {
839
- $newcomments[ $comment_id ]['user_id'] = $this->processed_authors[ $comment['comment_user_id'] ];
840
- }
841
- }
842
-
843
- ksort( $newcomments );
844
-
845
- foreach ( $newcomments as $key => $comment ) {
846
- if ( isset( $inserted_comments[ $comment['comment_parent'] ] ) ) {
847
- $comment['comment_parent'] = $inserted_comments[ $comment['comment_parent'] ];
848
- }
849
-
850
- $comment_data = wp_slash( $comment );
851
- unset( $comment_data['commentmeta'] ); // Handled separately, wp_insert_comment() also expects `comment_meta`.
852
- $comment_data = wp_filter_comment( $comment_data );
853
-
854
- $inserted_comments[ $key ] = wp_insert_comment( $comment_data );
855
-
856
- do_action( 'wp_import_insert_comment', $inserted_comments[ $key ], $comment, $comment_post_id, $post );
857
-
858
- foreach ( $comment['commentmeta'] as $meta ) {
859
- $value = maybe_unserialize( $meta['value'] );
860
-
861
- add_comment_meta( $inserted_comments[ $key ], wp_slash( $meta['key'] ), wp_slash_strings_only( $value ) );
862
- }
863
-
864
- $num_comments++;
865
- }
866
- unset( $newcomments, $inserted_comments, $post['comments'] );
867
- }
868
-
869
- if ( ! isset( $post['postmeta'] ) ) {
870
- $post['postmeta'] = [];
871
- }
872
-
873
- $post['postmeta'] = apply_filters( 'wp_import_post_meta', $post['postmeta'], $post_id, $post );
874
-
875
- // Add/update post meta.
876
- if ( ! empty( $post['postmeta'] ) ) {
877
- foreach ( $post['postmeta'] as $meta ) {
878
- $key = apply_filters( 'import_post_meta_key', $meta['key'], $post_id, $post );
879
- $value = false;
880
-
881
- if ( '_edit_last' === $key ) {
882
- if ( isset( $this->processed_authors[ intval( $meta['value'] ) ] ) ) {
883
- $value = $this->processed_authors[ intval( $meta['value'] ) ];
884
- } else {
885
- $key = false;
886
- }
887
- }
888
-
889
- if ( $key ) {
890
- // Export gets meta straight from the DB so could have a serialized string.
891
- if ( ! $value ) {
892
- $value = maybe_unserialize( $meta['value'] );
893
- }
894
-
895
- add_post_meta( $post_id, wp_slash( $key ), wp_slash_strings_only( $value ) );
896
-
897
- do_action( 'import_post_meta', $post_id, $key, $value );
898
-
899
- // If the post has a featured image, take note of this in case of remap.
900
- if ( '_thumbnail_id' === $key ) {
901
- $this->featured_images[ $post_id ] = (int) $value;
902
- }
903
- }
904
- }
905
- }
906
- }
907
-
908
- unset( $this->posts );
909
-
910
- return $result;
911
- }
912
-
913
- /**
914
- * Attempt to create a new menu item from import data
915
- *
916
- * Fails for draft, orphaned menu items and those without an associated nav_menu
917
- * or an invalid nav_menu term. If the post type or term object which the menu item
918
- * represents doesn't exist then the menu item will not be imported (waits until the
919
- * end of the import to retry again before discarding).
920
- *
921
- * @param array $item Menu item details from WXR file
922
- */
923
- private function process_menu_item( $item ) {
924
- // Skip draft, orphaned menu items.
925
- if ( 'draft' === $item['status'] ) {
926
- return;
927
- }
928
-
929
- $menu_slug = false;
930
- if ( isset( $item['terms'] ) ) {
931
- // Loop through terms, assume first nav_menu term is correct menu.
932
- foreach ( $item['terms'] as $term ) {
933
- if ( 'nav_menu' === $term['domain'] ) {
934
- $menu_slug = $term['slug'];
935
- break;
936
- }
937
- }
938
- }
939
-
940
- // No nav_menu term associated with this menu item.
941
- if ( ! $menu_slug ) {
942
- $this->output['errors'][] = esc_html__( 'Menu item skipped due to missing menu slug', 'wpr-addons' );
943
-
944
- return;
945
- }
946
-
947
- $menu_id = term_exists( $menu_slug, 'nav_menu' );
948
- if ( ! $menu_id ) {
949
- /* translators: %s: Menu slug. */
950
- $this->output['errors'][] = sprintf( esc_html__( 'Menu item skipped due to invalid menu slug: %s', 'wpr-addons' ), $menu_slug );
951
-
952
- return;
953
- } else {
954
- $menu_id = is_array( $menu_id ) ? $menu_id['term_id'] : $menu_id;
955
- }
956
-
957
- $post_meta_key_value = [];
958
- foreach ( $item['postmeta'] as $meta ) {
959
- $post_meta_key_value[ $meta['key'] ] = $meta['value'];
960
- }
961
-
962
- // Duke - Import Menu Items Post Meta
963
- $backup_menu_item_meta = [];
964
- $backup_menu_item_meta['postmeta'] = $item['postmeta'];
965
-
966
- foreach ( $item['postmeta'] as $meta ) {
967
- ${$meta['key']} = $meta['value'];
968
- }
969
- // End.
970
-
971
- $_menu_item_object_id = $post_meta_key_value['_menu_item_object_id'];
972
- if ( 'taxonomy' === $post_meta_key_value['_menu_item_type'] && isset( $this->processed_terms[ intval( $_menu_item_object_id ) ] ) ) {
973
- $_menu_item_object_id = $this->processed_terms[ intval( $_menu_item_object_id ) ];
974
- } elseif ( 'post_type' === $post_meta_key_value['_menu_item_type'] && isset( $this->processed_posts[ intval( $_menu_item_object_id ) ] ) ) {
975
- $_menu_item_object_id = $this->processed_posts[ intval( $_menu_item_object_id ) ];
976
- } elseif ( 'custom' !== $post_meta_key_value['_menu_item_type'] ) {
977
- // Associated object is missing or not imported yet, we'll retry later.
978
- $this->missing_menu_items[] = $item;
979
-
980
- return;
981
- }
982
-
983
- $_menu_item_menu_item_parent = $post_meta_key_value['_menu_item_menu_item_parent']; // Duke - fix "_menu_item_menu_item_parent" dash was added
984
- if ( isset( $this->processed_menu_items[ intval( $_menu_item_menu_item_parent ) ] ) ) {
985
- $_menu_item_menu_item_parent = $this->processed_menu_items[ intval( $_menu_item_menu_item_parent ) ];
986
- } elseif ( $_menu_item_menu_item_parent ) {
987
- $this->menu_item_orphans[ intval( $item['post_id'] ) ] = (int) $_menu_item_menu_item_parent;
988
- $_menu_item_menu_item_parent = 0;
989
- }
990
-
991
- // wp_update_nav_menu_item expects CSS classes as a space separated string
992
- $_menu_item_classes = maybe_unserialize( $post_meta_key_value['_menu_item_classes'] );
993
- if ( is_array( $_menu_item_classes ) ) {
994
- $_menu_item_classes = implode( ' ', $_menu_item_classes );
995
- }
996
-
997
- $args = [
998
- 'menu-item-object-id' => $_menu_item_object_id,
999
- 'menu-item-object' => $post_meta_key_value['_menu_item_object'],
1000
- 'menu-item-parent-id' => $_menu_item_menu_item_parent,
1001
- 'menu-item-position' => intval( $item['menu_order'] ),
1002
- 'menu-item-type' => $post_meta_key_value['_menu_item_type'],
1003
- 'menu-item-title' => $item['post_title'],
1004
- 'menu-item-url' => $post_meta_key_value['_menu_item_url'],
1005
- 'menu-item-description' => $item['post_content'],
1006
- 'menu-item-attr-title' => $item['post_excerpt'],
1007
- 'menu-item-target' => $post_meta_key_value['_menu_item_target'],
1008
- 'menu-item-classes' => $_menu_item_classes,
1009
- 'menu-item-xfn' => $post_meta_key_value['_menu_item_xfn'],
1010
- 'menu-item-status' => $item['status'],
1011
- ];
1012
-
1013
- $id = wp_update_nav_menu_item( $menu_id, 0, $args );
1014
- if ( $id && ! is_wp_error( $id ) ) {
1015
- // Duke - Import Menu Items Post Meta
1016
- $menu_item_db_id = $id;
1017
- $backup_menu_item_meta['postmeta'] = apply_filters('wordpress_importer_menu_items_meta_import', $backup_menu_item_meta['postmeta'], $id);
1018
- $skip_meta_items = [
1019
- '_menu_item_type',
1020
- '_menu_item_menu_item_parent',
1021
- '_menu_item_object_id',
1022
- '_menu_item_object',
1023
- '_menu_item_target',
1024
- '_menu_item_classes',
1025
- '_menu_item_xfn',
1026
- '_menu_item_url'
1027
- ];
1028
- if ( is_array($backup_menu_item_meta['postmeta']) && !empty($backup_menu_item_meta['postmeta']) ) {
1029
- foreach ( $backup_menu_item_meta['postmeta'] as $meta ) {
1030
- if ( !in_array($meta['key'], $skip_meta_items) ) {
1031
- update_post_meta( $menu_item_db_id, $meta['key'], maybe_unserialize($meta['value']));
1032
- }
1033
- }
1034
- }
1035
- // End.
1036
-
1037
- $this->processed_menu_items[ intval( $item['post_id'] ) ] = (int) $id;
1038
- }
1039
- }
1040
-
1041
- /**
1042
- * If fetching attachments is enabled then attempt to create a new attachment
1043
- *
1044
- * @param array $post Attachment post details from WXR
1045
- * @param string $url URL to fetch attachment from
1046
- *
1047
- * @return int|WP_Error Post ID on success, WP_Error otherwise
1048
- */
1049
- private function process_attachment( $post, $url ) {
1050
-
1051
- if ( ! $this->fetch_attachments ) {
1052
- return new WP_Error( 'attachment_processing_error', esc_html__( 'Fetching attachments is not enabled', 'wpr-addons' ) );
1053
- }
1054
-
1055
- // if the URL is absolute, but does not contain address, then upload it assuming base_site_url.
1056
- if ( preg_match( '|^/[\w\W]+$|', $url ) ) {
1057
- $url = rtrim( $this->base_url, '/' ) . $url;
1058
- }
1059
-
1060
- $upload = $this->fetch_remote_file( $url, $post );
1061
- if ( is_wp_error( $upload ) ) {
1062
- return $upload;
1063
- }
1064
-
1065
- $info = wp_check_filetype( $upload['file'] );
1066
- if ( $info ) {
1067
- $post['post_mime_type'] = $info['type'];
1068
- } else {
1069
- return new WP_Error( 'attachment_processing_error', esc_html__( 'Invalid file type', 'wpr-addons' ) );
1070
- }
1071
-
1072
- $post['guid'] = $upload['url'];
1073
-
1074
- // As per wp-admin/includes/upload.php.
1075
- $post_id = wp_insert_attachment( $post, $upload['file'] );
1076
- wp_update_attachment_metadata( $post_id, wp_generate_attachment_metadata( $post_id, $upload['file'] ) );
1077
-
1078
- // Remap resized image URLs, works by stripping the extension and remapping the URL stub.
1079
- if ( preg_match( '!^image/!', $info['type'] ) ) {
1080
- $parts = pathinfo( $url );
1081
- $name = basename( $parts['basename'], ".{$parts['extension']}" ); // PATHINFO_FILENAME in PHP 5.2
1082
-
1083
- $parts_new = pathinfo( $upload['url'] );
1084
- $name_new = basename( $parts_new['basename'], ".{$parts_new['extension']}" );
1085
-
1086
- $this->url_remap[ $parts['dirname'] . '/' . $name ] = $parts_new['dirname'] . '/' . $name_new;
1087
- }
1088
-
1089
- return $post_id;
1090
- }
1091
-
1092
- /**
1093
- * Attempt to download a remote file attachment
1094
- *
1095
- * @param string $url URL of item to fetch
1096
- * @param array $post Attachment details
1097
- *
1098
- * @return array|WP_Error Local file location details on success, WP_Error otherwise
1099
- */
1100
- private function fetch_remote_file( $url, $post ) {
1101
- // Extract the file name from the URL.
1102
- $file_name = basename( parse_url( $url, PHP_URL_PATH ) );
1103
-
1104
- if ( ! $file_name ) {
1105
- $file_name = md5( $url );
1106
- }
1107
-
1108
- $tmp_file_name = wp_tempnam( $file_name );
1109
- if ( ! $tmp_file_name ) {
1110
- return new WP_Error( 'import_no_file', esc_html__( 'Could not create temporary file.', 'wpr-addons' ) );
1111
- }
1112
-
1113
- // Fetch the remote URL and write it to the placeholder file.
1114
- $remote_response = wp_safe_remote_get( $url, [
1115
- 'timeout' => 300,
1116
- 'stream' => true,
1117
- 'filename' => $tmp_file_name,
1118
- 'headers' => [
1119
- 'Accept-Encoding' => 'identity',
1120
- ],
1121
- ] );
1122
-
1123
- if ( is_wp_error( $remote_response ) ) {
1124
- @unlink( $tmp_file_name );
1125
-
1126
- return new WP_Error( 'import_file_error', sprintf( /* translators: 1: WordPress error message, 2: WordPress error code. */ esc_html__( 'Request failed due to an error: %1$s (%2$s)', 'wpr-addons' ), esc_html( $remote_response->get_error_message() ), esc_html( $remote_response->get_error_code() ) ) );
1127
- }
1128
-
1129
- $remote_response_code = (int) wp_remote_retrieve_response_code( $remote_response );
1130
-
1131
- // Make sure the fetch was successful.
1132
- if ( 200 !== $remote_response_code ) {
1133
- @unlink( $tmp_file_name );
1134
-
1135
- return new WP_Error( 'import_file_error', sprintf( /* translators: 1: HTTP error message, 2: HTTP error code. */ esc_html__( 'Remote server returned the following unexpected result: %1$s (%2$s)', 'wpr-addons' ), get_status_header_desc( $remote_response_code ), esc_html( $remote_response_code ) ) );
1136
- }
1137
-
1138
- $headers = wp_remote_retrieve_headers( $remote_response );
1139
-
1140
- // Request failed.
1141
- if ( ! $headers ) {
1142
- @unlink( $tmp_file_name );
1143
-
1144
- return new WP_Error( 'import_file_error', esc_html__( 'Remote server did not respond', 'wpr-addons' ) );
1145
- }
1146
-
1147
- $filesize = (int) filesize( $tmp_file_name );
1148
-
1149
- if ( 0 === $filesize ) {
1150
- @unlink( $tmp_file_name );
1151
-
1152
- return new WP_Error( 'import_file_error', esc_html__( 'Zero size file downloaded', 'wpr-addons' ) );
1153
- }
1154
-
1155
- if ( ! isset( $headers['content-encoding'] ) && isset( $headers['content-length'] ) && $filesize !== (int) $headers['content-length'] ) {
1156
- @unlink( $tmp_file_name );
1157
-
1158
- return new WP_Error( 'import_file_error', esc_html__( 'Downloaded file has incorrect size', 'wpr-addons' ) );
1159
- }
1160
-
1161
- $max_size = (int) apply_filters( 'import_attachment_size_limit', self::DEFAULT_IMPORT_ATTACHMENT_SIZE_LIMIT );
1162
- if ( ! empty( $max_size ) && $filesize > $max_size ) {
1163
- @unlink( $tmp_file_name );
1164
-
1165
- /* translators: %s: Max file size. */
1166
- return new WP_Error( 'import_file_error', sprintf( esc_html__( 'Remote file is too large, limit is %s', 'wpr-addons' ), size_format( $max_size ) ) );
1167
- }
1168
-
1169
- // Override file name with Content-Disposition header value.
1170
- if ( ! empty( $headers['content-disposition'] ) ) {
1171
- $file_name_from_disposition = self::get_filename_from_disposition( (array) $headers['content-disposition'] );
1172
- if ( $file_name_from_disposition ) {
1173
- $file_name = $file_name_from_disposition;
1174
- }
1175
- }
1176
-
1177
- // Set file extension if missing.
1178
- $file_ext = pathinfo( $file_name, PATHINFO_EXTENSION );
1179
- if ( ! $file_ext && ! empty( $headers['content-type'] ) ) {
1180
- $extension = self::get_file_extension_by_mime_type( $headers['content-type'] );
1181
- if ( $extension ) {
1182
- $file_name = "{$file_name}.{$extension}";
1183
- }
1184
- }
1185
-
1186
- // Handle the upload like _wp_handle_upload() does.
1187
- $wp_filetype = wp_check_filetype_and_ext( $tmp_file_name, $file_name );
1188
- $ext = empty( $wp_filetype['ext'] ) ? '' : $wp_filetype['ext'];
1189
- $type = empty( $wp_filetype['type'] ) ? '' : $wp_filetype['type'];
1190
- $proper_filename = empty( $wp_filetype['proper_filename'] ) ? '' : $wp_filetype['proper_filename'];
1191
-
1192
- // Check to see if wp_check_filetype_and_ext() determined the filename was incorrect.
1193
- if ( $proper_filename ) {
1194
- $file_name = $proper_filename;
1195
- }
1196
-
1197
- if ( ( ! $type || ! $ext ) && ! current_user_can( 'unfiltered_upload' ) ) {
1198
- return new WP_Error( 'import_file_error', esc_html__( 'Sorry, this file type is not permitted for security reasons.', 'wpr-addons' ) );
1199
- }
1200
-
1201
- $uploads = wp_upload_dir( $post['upload_date'] );
1202
- if ( ! ( $uploads && false === $uploads['error'] ) ) {
1203
- return new WP_Error( 'upload_dir_error', $uploads['error'] );
1204
- }
1205
-
1206
- // Move the file to the uploads dir.
1207
- $file_name = wp_unique_filename( $uploads['path'], $file_name );
1208
- $new_file = $uploads['path'] . "/$file_name";
1209
- $move_new_file = copy( $tmp_file_name, $new_file );
1210
-
1211
- if ( ! $move_new_file ) {
1212
- @unlink( $tmp_file_name );
1213
-
1214
- return new WP_Error( 'import_file_error', esc_html__( 'The uploaded file could not be moved', 'wpr-addons' ) );
1215
- }
1216
-
1217
- // Set correct file permissions.
1218
- $stat = stat( dirname( $new_file ) );
1219
- $perms = $stat['mode'] & 0000666;
1220
- chmod( $new_file, $perms );
1221
-
1222
- $upload = [
1223
- 'file' => $new_file,
1224
- 'url' => $uploads['url'] . "/$file_name",
1225
- 'type' => $wp_filetype['type'],
1226
- 'error' => false,
1227
- ];
1228
-
1229
- // Keep track of the old and new urls so we can substitute them later.
1230
- $this->url_remap[ $url ] = $upload['url'];
1231
- $this->url_remap[ $post['guid'] ] = $upload['url']; // r13735, really needed?
1232
- // Keep track of the destination if the remote url is redirected somewhere else.
1233
- if ( isset( $headers['x-final-location'] ) && $headers['x-final-location'] !== $url ) {
1234
- $this->url_remap[ $headers['x-final-location'] ] = $upload['url'];
1235
- }
1236
-
1237
- return $upload;
1238
- }
1239
-
1240
- /**
1241
- * Attempt to associate posts and menu items with previously missing parents
1242
- *
1243
- * An imported post's parent may not have been imported when it was first created
1244
- * so try again. Similarly for child menu items and menu items which were missing
1245
- * the object (e.g. post) they represent in the menu
1246
- */
1247
- private function backfill_parents() {
1248
- global $wpdb;
1249
-
1250
- // Find parents for post orphans.
1251
- foreach ( $this->post_orphans as $child_id => $parent_id ) {
1252
- $local_child_id = false;
1253
- $local_parent_id = false;
1254
-
1255
- if ( isset( $this->processed_posts[ $child_id ] ) ) {
1256
- $local_child_id = $this->processed_posts[ $child_id ];
1257
- }
1258
- if ( isset( $this->processed_posts[ $parent_id ] ) ) {
1259
- $local_parent_id = $this->processed_posts[ $parent_id ];
1260
- }
1261
-
1262
- if ( $local_child_id && $local_parent_id ) {
1263
- $wpdb->update( $wpdb->posts, [ 'post_parent' => $local_parent_id ], [ 'ID' => $local_child_id ], '%d', '%d' );
1264
- clean_post_cache( $local_child_id );
1265
- }
1266
- }
1267
-
1268
- // All other posts/terms are imported, retry menu items with missing associated object.
1269
- $missing_menu_items = $this->missing_menu_items;
1270
- foreach ( $missing_menu_items as $item ) {
1271
- $this->process_menu_item( $item );
1272
- }
1273
-
1274
- // Find parents for menu item orphans.
1275
- foreach ( $this->menu_item_orphans as $child_id => $parent_id ) {
1276
- $local_child_id = 0;
1277
- $local_parent_id = 0;
1278
- if ( isset( $this->processed_menu_items[ $child_id ] ) ) {
1279
- $local_child_id = $this->processed_menu_items[ $child_id ];
1280
- }
1281
- if ( isset( $this->processed_menu_items[ $parent_id ] ) ) {
1282
- $local_parent_id = $this->processed_menu_items[ $parent_id ];
1283
- }
1284
-
1285
- if ( $local_child_id && $local_parent_id ) {
1286
- update_post_meta( $local_child_id, '_menu_item_menu_item_parent', (int) $local_parent_id );
1287
- }
1288
- }
1289
- }
1290
-
1291
- /**
1292
- * Use stored mapping information to update old attachment URLs
1293
- */
1294
- private function backfill_attachment_urls() {
1295
- global $wpdb;
1296
- // Make sure we do the longest urls first, in case one is a substring of another.
1297
- uksort( $this->url_remap, function ( $a, $b ) {
1298
- // Return the difference in length between two strings.
1299
- return strlen( $b ) - strlen( $a );
1300
- } );
1301
-
1302
- foreach ( $this->url_remap as $from_url => $to_url ) {
1303
- // Remap urls in post_content.
1304
- $wpdb->query( $wpdb->prepare( "UPDATE {$wpdb->posts} SET post_content = REPLACE(post_content, %s, %s)", $from_url, $to_url ) );
1305
- // Remap enclosure urls.
1306
- $wpdb->query( $wpdb->prepare( "UPDATE {$wpdb->postmeta} SET meta_value = REPLACE(meta_value, %s, %s) WHERE meta_key='enclosure'", $from_url, $to_url ) );
1307
- }
1308
- }
1309
-
1310
- /**
1311
- * Update _thumbnail_id meta to new, imported attachment IDs
1312
- */
1313
- private function remap_featured_images() {
1314
- // Cycle through posts that have a featured image.
1315
- foreach ( $this->featured_images as $post_id => $value ) {
1316
- if ( isset( $this->processed_posts[ $value ] ) ) {
1317
- $new_id = $this->processed_posts[ $value ];
1318
- // Only update if there's a difference.
1319
- if ( $new_id !== $value ) {
1320
- update_post_meta( $post_id, '_thumbnail_id', $new_id );
1321
- }
1322
- }
1323
- }
1324
- }
1325
-
1326
- /**
1327
- * Parse a WXR file
1328
- *
1329
- * @param string $file Path to WXR file for parsing
1330
- *
1331
- * @return array Information gathered from the WXR file
1332
- */
1333
- private function parse( $file ) {
1334
- $parser = new WXR_Parser();
1335
-
1336
- return $parser->parse( $file );
1337
- }
1338
-
1339
- /**
1340
- * Decide if the given meta key maps to information we will want to import
1341
- *
1342
- * @param string $key The meta key to check
1343
- *
1344
- * @return string|bool The key if we do want to import, false if not
1345
- */
1346
- private function is_valid_meta_key( $key ) {
1347
- // Skip attachment metadata since we'll regenerate it from scratch.
1348
- // Skip _edit_lock as not relevant for import
1349
- if ( in_array( $key, [ '_wp_attached_file', '_wp_attachment_metadata', '_edit_lock' ] ) ) {
1350
- return false;
1351
- }
1352
-
1353
- return $key;
1354
- }
1355
-
1356
- public function run() {
1357
- $this->import( $this->requested_file_path );
1358
-
1359
- return $this->output;
1360
- }
1361
-
1362
- public function __construct( $file, $args = [] ) {
1363
- $this->requested_file_path = $file;
1364
- $this->args = $args;
1365
-
1366
- if ( ! empty( $this->args['fetch_attachments'] ) ) {
1367
- $this->fetch_attachments = true;
1368
- }
1369
- }
1370
- }
1
+ <?php
2
+
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
+ exit; // Exit if accessed directly.
5
+ }
6
+
7
+ if ( ! defined( 'WP_LOAD_IMPORTERS' ) )
8
+ return;
9
+
10
+ /** Display verbose errors */
11
+ define( 'IMPORT_DEBUG', false );
12
+
13
+ // Load Importer API
14
+ require_once ABSPATH . 'wp-admin/includes/import.php';
15
+
16
+ if ( ! class_exists( 'WP_Importer' ) ) {
17
+ $class_wp_importer = ABSPATH . 'wp-admin/includes/class-wp-importer.php';
18
+ if ( file_exists( $class_wp_importer ) )
19
+ require $class_wp_importer;
20
+ }
21
+
22
+ // include WXR file parsers
23
+ require WPR_ADDONS_PATH .'admin/import/class-parsers.php';
24
+
25
+ class WP_Import extends WP_Importer {
26
+ const DEFAULT_BUMP_REQUEST_TIMEOUT = 60;
27
+ const DEFAULT_ALLOW_CREATE_USERS = true;
28
+ const DEFAULT_IMPORT_ATTACHMENT_SIZE_LIMIT = 0; // 0 = unlimited.
29
+
30
+ /**
31
+ * @var string
32
+ */
33
+ private $requested_file_path;
34
+
35
+ /**
36
+ * @var array
37
+ */
38
+ private $args;
39
+
40
+ /**
41
+ * @var array
42
+ */
43
+ private $output = [
44
+ 'status' => 'failed',
45
+ 'errors' => [],
46
+ ];
47
+
48
+ /*
49
+ * WXR attachment ID
50
+ */
51
+ private $id;
52
+
53
+ // Information to import from WXR file.
54
+ private $version;
55
+ private $authors = [];
56
+ private $posts = [];
57
+ private $terms = [];
58
+ private $categories = [];
59
+ private $tags = [];
60
+ private $base_url = '';
61
+ private $page_on_front;
62
+
63
+ // Mappings from old information to new.
64
+ private $processed_authors = [];
65
+ private $author_mapping = [];
66
+ private $processed_terms = [];
67
+ private $processed_posts = [];
68
+ private $post_orphans = [];
69
+ private $processed_menu_items = [];
70
+ private $menu_item_orphans = [];
71
+ private $missing_menu_items = [];
72
+
73
+ private $fetch_attachments = false;
74
+ private $url_remap = [];
75
+ private $featured_images = [];
76
+
77
+ /**
78
+ * Parses filename from a Content-Disposition header value.
79
+ *
80
+ * As per RFC6266:
81
+ *
82
+ * content-disposition = "Content-Disposition" ":"
83
+ * disposition-type *( ";" disposition-parm )
84
+ *
85
+ * disposition-type = "inline" | "attachment" | disp-ext-type
86
+ * ; case-insensitive
87
+ * disp-ext-type = token
88
+ *
89
+ * disposition-parm = filename-parm | disp-ext-parm
90
+ *
91
+ * filename-parm = "filename" "=" value
92
+ * | "filename*" "=" ext-value
93
+ *
94
+ * disp-ext-parm = token "=" value
95
+ * | ext-token "=" ext-value
96
+ * ext-token = <the characters in token, followed by "*">
97
+ *
98
+ * @param string[] $disposition_header List of Content-Disposition header values.
99
+ *
100
+ * @return string|null Filename if available, or null if not found.
101
+ * @link http://tools.ietf.org/html/rfc2388
102
+ * @link http://tools.ietf.org/html/rfc6266
103
+ *
104
+ * @see WP_REST_Attachments_Controller::get_filename_from_disposition()
105
+ *
106
+ */
107
+ protected static function get_filename_from_disposition( $disposition_header ) {
108
+ // Get the filename.
109
+ $filename = null;
110
+
111
+ foreach ( $disposition_header as $value ) {
112
+ $value = trim( $value );
113
+
114
+ if ( strpos( $value, ';' ) === false ) {
115
+ continue;
116
+ }
117
+
118
+ list( $type, $attr_parts ) = explode( ';', $value, 2 );
119
+
120
+ $attr_parts = explode( ';', $attr_parts );
121
+ $attributes = [];
122
+
123
+ foreach ( $attr_parts as $part ) {
124
+ if ( strpos( $part, '=' ) === false ) {
125
+ continue;
126
+ }
127
+
128
+ list( $key, $value ) = explode( '=', $part, 2 );
129
+
130
+ $attributes[ trim( $key ) ] = trim( $value );
131
+ }
132
+
133
+ if ( empty( $attributes['filename'] ) ) {
134
+ continue;
135
+ }
136
+
137
+ $filename = trim( $attributes['filename'] );
138
+
139
+ // Unquote quoted filename, but after trimming.
140
+ if ( substr( $filename, 0, 1 ) === '"' && substr( $filename, -1, 1 ) === '"' ) {
141
+ $filename = substr( $filename, 1, -1 );
142
+ }
143
+ }
144
+
145
+ return $filename;
146
+ }
147
+
148
+ /**
149
+ * Retrieves file extension by mime type.
150
+ *
151
+ * @param string $mime_type Mime type to search extension for.
152
+ *
153
+ * @return string|null File extension if available, or null if not found.
154
+ */
155
+ protected static function get_file_extension_by_mime_type( $mime_type ) {
156
+ static $map = null;
157
+
158
+ if ( is_array( $map ) ) {
159
+ return isset( $map[ $mime_type ] ) ? $map[ $mime_type ] : null;
160
+ }
161
+
162
+ $mime_types = wp_get_mime_types();
163
+ $map = array_flip( $mime_types );
164
+
165
+ // Some types have multiple extensions, use only the first one.
166
+ foreach ( $map as $type => $extensions ) {
167
+ $map[ $type ] = strtok( $extensions, '|' );
168
+ }
169
+
170
+ return isset( $map[ $mime_type ] ) ? $map[ $mime_type ] : null;
171
+ }
172
+
173
+ /**
174
+ * The main controller for the actual import stage.
175
+ *
176
+ * @param string $file Path to the WXR file for importing
177
+ */
178
+ private function import( $file ) {
179
+ add_filter( 'import_post_meta_key', function ( $key ) {
180
+ return $this->is_valid_meta_key( $key );
181
+ } );
182
+ add_filter( 'http_request_timeout', function () {
183
+ return self::DEFAULT_BUMP_REQUEST_TIMEOUT;
184
+ } );
185
+
186
+ if ( ! $this->import_start( $file ) ) {
187
+ return;
188
+ }
189
+
190
+ $this->set_author_mapping();
191
+
192
+ wp_suspend_cache_invalidation( true );
193
+ $imported_summary = [
194
+ 'categories' => $this->process_categories(),
195
+ 'tags' => $this->process_tags(),
196
+ 'terms' => $this->process_terms(),
197
+ 'posts' => $this->process_posts(),
198
+ ];
199
+ wp_suspend_cache_invalidation( false );
200
+
201
+ // Update incorrect/missing information in the DB.
202
+ $this->backfill_parents();
203
+ $this->backfill_attachment_urls();
204
+ $this->remap_featured_images();
205
+
206
+ $this->import_end();
207
+
208
+ $is_some_succeed = false;
209
+ foreach ( $imported_summary as $item ) {
210
+ if ( $item > 0 ) {
211
+ $is_some_succeed = true;
212
+ break;
213
+ }
214
+ }
215
+
216
+ if ( $is_some_succeed ) {
217
+ $this->output['status'] = 'success';
218
+ $this->output['summary'] = $imported_summary;
219
+ }
220
+ }
221
+
222
+ /**
223
+ * Parses the WXR file and prepares us for the task of processing parsed data.
224
+ *
225
+ * @param string $file Path to the WXR file for importing
226
+ */
227
+ private function import_start( $file ) {
228
+ if ( ! is_file( $file ) ) {
229
+ $this->output['errors'] = [ esc_html__( 'The file does not exist, please try again.', 'wpr-addons' ) ];
230
+
231
+ return false;
232
+ }
233
+
234
+ $import_data = $this->parse( $file );
235
+
236
+ if ( is_wp_error( $import_data ) ) {
237
+ $this->output['errors'] = [ $import_data->get_error_message() ];
238
+
239
+ return false;
240
+ }
241
+
242
+ $this->version = $import_data['version'];
243
+ $this->set_authors_from_import( $import_data );
244
+ $this->posts = $import_data['posts'];
245
+ $this->terms = $import_data['terms'];
246
+ $this->categories = $import_data['categories'];
247
+ $this->tags = $import_data['tags'];
248
+ $this->base_url = esc_url( $import_data['base_url'] );
249
+ $this->page_on_front = $import_data['page_on_front'];
250
+
251
+ wp_defer_term_counting( true );
252
+ wp_defer_comment_counting( true );
253
+
254
+ do_action( 'import_start' );
255
+
256
+ return true;
257
+ }
258
+
259
+ /**
260
+ * Performs post-import cleanup of files and the cache
261
+ */
262
+ private function import_end() {
263
+ wp_import_cleanup( $this->id );
264
+
265
+ wp_cache_flush();
266
+
267
+ foreach ( get_taxonomies() as $tax ) {
268
+ delete_option( "{$tax}_children" );
269
+ _get_term_hierarchy( $tax );
270
+ }
271
+
272
+ wp_defer_term_counting( false );
273
+ wp_defer_comment_counting( false );
274
+
275
+ do_action( 'import_end' );
276
+ }
277
+
278
+ /**
279
+ * Retrieve authors from parsed WXR data and set it to `$this->>authors`.
280
+ *
281
+ * Uses the provided author information from WXR 1.1 files
282
+ * or extracts info from each post for WXR 1.0 files
283
+ *
284
+ * @param array $import_data Data returned by a WXR parser
285
+ */
286
+ private function set_authors_from_import( $import_data ) {
287
+ if ( ! empty( $import_data['authors'] ) ) {
288
+ $this->authors = $import_data['authors'];
289
+ // No author information, grab it from the posts.
290
+ } else {
291
+ foreach ( $import_data['posts'] as $post ) {
292
+ $login = sanitize_user( $post['post_author'], true );
293
+
294
+ if ( empty( $login ) ) {
295
+ /* translators: %s: Post author. */
296
+ $this->output['errors'][] = sprintf( esc_html__( 'Failed to import author %s. Their posts will be attributed to the current user.', 'wpr-addons' ), $post['post_author'] );
297
+ continue;
298
+ }
299
+
300
+ if ( ! isset( $this->authors[ $login ] ) ) {
301
+ $this->authors[ $login ] = [
302
+ 'author_login' => $login,
303
+ 'author_display_name' => $post['post_author'],
304
+ ];
305
+ }
306
+ }
307
+ }
308
+ }
309
+
310
+ /**
311
+ * Map old author logins to local user IDs based on decisions made
312
+ * in import options form. Can map to an existing user, create a new user
313
+ * or falls back to the current user in case of error with either of the previous
314
+ */
315
+ private function set_author_mapping() {
316
+ if ( ! isset( $this->args['imported_authors'] ) ) {
317
+ return;
318
+ }
319
+
320
+ $create_users = apply_filters( 'import_allow_create_users', self::DEFAULT_ALLOW_CREATE_USERS );
321
+
322
+ foreach ( (array) $this->args['imported_authors'] as $i => $old_login ) {
323
+ // Multisite adds strtolower to sanitize_user. Need to sanitize here to stop breakage in process_posts.
324
+ $santized_old_login = sanitize_user( $old_login, true );
325
+ $old_id = isset( $this->authors[ $old_login ]['author_id'] ) ? intval( $this->authors[ $old_login ]['author_id'] ) : false;
326
+
327
+ if ( ! empty( $this->args['user_map'][ $i ] ) ) {
328
+ $user = get_userdata( intval( $this->args['user_map'][ $i ] ) );
329
+ if ( isset( $user->ID ) ) {
330
+ if ( $old_id ) {
331
+ $this->processed_authors[ $old_id ] = $user->ID;
332
+ }
333
+ $this->author_mapping[ $santized_old_login ] = $user->ID;
334
+ }
335
+ } elseif ( $create_users ) {
336
+ $user_id = 0;
337
+ if ( ! empty( $this->args['user_new'][ $i ] ) ) {
338
+ $user_id = wp_create_user( $this->args['user_new'][ $i ], wp_generate_password() );
339
+ } elseif ( '1.0' !== $this->version ) {
340
+ $user_data = [
341
+ 'user_login' => $old_login,
342
+ 'user_pass' => wp_generate_password(),
343
+ 'user_email' => isset( $this->authors[ $old_login ]['author_email'] ) ? $this->authors[ $old_login ]['author_email'] : '',
344
+ 'display_name' => $this->authors[ $old_login ]['author_display_name'],
345
+ 'first_name' => isset( $this->authors[ $old_login ]['author_first_name'] ) ? $this->authors[ $old_login ]['author_first_name'] : '',
346
+ 'last_name' => isset( $this->authors[ $old_login ]['author_last_name'] ) ? $this->authors[ $old_login ]['author_last_name'] : '',
347
+ ];
348
+ $user_id = wp_insert_user( $user_data );
349
+ }
350
+
351
+ if ( ! is_wp_error( $user_id ) ) {
352
+ if ( $old_id ) {
353
+ $this->processed_authors[ $old_id ] = $user_id;
354
+ }
355
+ $this->author_mapping[ $santized_old_login ] = $user_id;
356
+ } else {
357
+ /* translators: %s: Author display name. */
358
+ $error = sprintf( esc_html__( 'Failed to create new user for %s. Their posts will be attributed to the current user.', 'wpr-addons' ), $this->authors[ $old_login ]['author_display_name'] );
359
+
360
+ if ( defined( 'IMPORT_DEBUG' ) && IMPORT_DEBUG ) {
361
+ $error .= PHP_EOL . $user_id->get_error_message();
362
+ }
363
+
364
+ $this->output['errors'][] = $error;
365
+ }
366
+ }
367
+
368
+ // Failsafe: if the user_id was invalid, default to the current user.
369
+ if ( ! isset( $this->author_mapping[ $santized_old_login ] ) ) {
370
+ if ( $old_id ) {
371
+ $this->processed_authors[ $old_id ] = (int) get_current_user_id();
372
+ }
373
+ $this->author_mapping[ $santized_old_login ] = (int) get_current_user_id();
374
+ }
375
+ }
376
+ }
377
+
378
+ /**
379
+ * Create new categories based on import information
380
+ *
381
+ * Doesn't create a new category if its slug already exists
382
+ *
383
+ * @return int number of imported categories.
384
+ */
385
+ private function process_categories() {
386
+ $result = 0;
387
+
388
+ $this->categories = apply_filters( 'wp_import_categories', $this->categories );
389
+
390
+ if ( empty( $this->categories ) ) {
391
+ return $result;
392
+ }
393
+
394
+ foreach ( $this->categories as $cat ) {
395
+ // if the category already exists leave it alone
396
+ $term_id = term_exists( $cat['category_nicename'], 'category' );
397
+ if ( $term_id ) {
398
+ if ( is_array( $term_id ) ) {
399
+ $term_id = $term_id['term_id'];
400
+ }
401
+ if ( isset( $cat['term_id'] ) ) {
402
+ $this->processed_terms[ intval( $cat['term_id'] ) ] = (int) $term_id;
403
+ }
404
+ continue;
405
+ }
406
+
407
+ $parent = empty( $cat['category_parent'] ) ? 0 : category_exists( $cat['category_parent'] );
408
+ $description = isset( $cat['category_description'] ) ? $cat['category_description'] : '';
409
+
410
+ $data = [
411
+ 'category_nicename' => $cat['category_nicename'],
412
+ 'category_parent' => $parent,
413
+ 'cat_name' => wp_slash( $cat['cat_name'] ),
414
+ 'category_description' => wp_slash( $description ),
415
+ ];
416
+
417
+ $id = wp_insert_category( $data );
418
+ if ( ! is_wp_error( $id ) && $id > 0 ) {
419
+ if ( isset( $cat['term_id'] ) ) {
420
+ $this->processed_terms[ intval( $cat['term_id'] ) ] = $id;
421
+ }
422
+ $result++;
423
+ } else {
424
+ /* translators: %s: Category name. */
425
+ $error = sprintf( esc_html__( 'Failed to import category %s', 'wpr-addons' ), $cat['category_nicename'] );
426
+
427
+ if ( defined( 'IMPORT_DEBUG' ) && IMPORT_DEBUG ) {
428
+ $error .= PHP_EOL . $id->get_error_message();
429
+ }
430
+
431
+ $this->output['errors'][] = $error;
432
+ continue;
433
+ }
434
+
435
+ $this->process_termmeta( $cat, $id );
436
+ }
437
+
438
+ unset( $this->categories );
439
+
440
+ return $result;
441
+ }
442
+
443
+ /**
444
+ * Create new post tags based on import information
445
+ *
446
+ * Doesn't create a tag if its slug already exists
447
+ *
448
+ * @return int number of imported tags.
449
+ */
450
+ private function process_tags() {
451
+ $result = 0;
452
+
453
+ $this->tags = apply_filters( 'wp_import_tags', $this->tags );
454
+
455
+ if ( empty( $this->tags ) ) {
456
+ return $result;
457
+ }
458
+
459
+ foreach ( $this->tags as $tag ) {
460
+ // if the tag already exists leave it alone
461
+ $term_id = term_exists( $tag['tag_slug'], 'post_tag' );
462
+ if ( $term_id ) {
463
+ if ( is_array( $term_id ) ) {
464
+ $term_id = $term_id['term_id'];
465
+ }
466
+ if ( isset( $tag['term_id'] ) ) {
467
+ $this->processed_terms[ intval( $tag['term_id'] ) ] = (int) $term_id;
468
+ }
469
+ continue;
470
+ }
471
+
472
+ $description = isset( $tag['tag_description'] ) ? $tag['tag_description'] : '';
473
+ $args = [
474
+ 'slug' => $tag['tag_slug'],
475
+ 'description' => wp_slash( $description ),
476
+ ];
477
+
478
+ $id = wp_insert_term( wp_slash( $tag['tag_name'] ), 'post_tag', $args );
479
+ if ( ! is_wp_error( $id ) ) {
480
+ if ( isset( $tag['term_id'] ) ) {
481
+ $this->processed_terms[ intval( $tag['term_id'] ) ] = $id['term_id'];
482
+ }
483
+ $result++;
484
+ } else {
485
+ /* translators: %s: Tag name. */
486
+ $error = sprintf( esc_html__( 'Failed to import post tag %s', 'wpr-addons' ), $tag['tag_name'] );
487
+
488
+ if ( defined( 'IMPORT_DEBUG' ) && IMPORT_DEBUG ) {
489
+ $error .= PHP_EOL . $id->get_error_message();
490
+ }
491
+
492
+ $this->output['errors'][] = $error;
493
+ continue;
494
+ }
495
+
496
+ $this->process_termmeta( $tag, $id['term_id'] );
497
+ }
498
+
499
+ unset( $this->tags );
500
+
501
+ return $result;
502
+ }
503
+
504
+ /**
505
+ * Create new terms based on import information
506
+ *
507
+ * Doesn't create a term its slug already exists
508
+ *
509
+ * @return int number of imported terms.
510
+ */
511
+ private function process_terms() {
512
+ $result = 0;
513
+
514
+ $this->terms = apply_filters( 'wp_import_terms', $this->terms );
515
+
516
+ if ( empty( $this->terms ) ) {
517
+ return $result;
518
+ }
519
+
520
+ foreach ( $this->terms as $term ) {
521
+ // if the term already exists in the correct taxonomy leave it alone
522
+ $term_id = term_exists( $term['slug'], $term['term_taxonomy'] );
523
+ if ( $term_id ) {
524
+ if ( is_array( $term_id ) ) {
525
+ $term_id = $term_id['term_id'];
526
+ }
527
+ if ( isset( $term['term_id'] ) ) {
528
+ $this->processed_terms[ intval( $term['term_id'] ) ] = (int) $term_id;
529
+ }
530
+ continue;
531
+ }
532
+
533
+ if ( empty( $term['term_parent'] ) ) {
534
+ $parent = 0;
535
+ } else {
536
+ $parent = term_exists( $term['term_parent'], $term['term_taxonomy'] );
537
+ if ( is_array( $parent ) ) {
538
+ $parent = $parent['term_id'];
539
+ }
540
+ }
541
+
542
+ $description = isset( $term['term_description'] ) ? $term['term_description'] : '';
543
+ $args = [
544
+ 'slug' => $term['slug'],
545
+ 'description' => wp_slash( $description ),
546
+ 'parent' => (int) $parent,
547
+ ];
548
+
549
+ $id = wp_insert_term( wp_slash( $term['term_name'] ), $term['term_taxonomy'], $args );
550
+ if ( ! is_wp_error( $id ) ) {
551
+ if ( isset( $term['term_id'] ) ) {
552
+ $this->processed_terms[ intval( $term['term_id'] ) ] = $id['term_id'];
553
+ }
554
+ $result++;
555
+ } else {
556
+ /* translators: 1: Term taxonomy, 2: Term name. */
557
+ $error = sprintf( esc_html__( 'Failed to import %1$s %2$s', 'wpr-addons' ), $term['term_taxonomy'], $term['term_name'] );
558
+
559
+ if ( defined( 'IMPORT_DEBUG' ) && IMPORT_DEBUG ) {
560
+ $error .= PHP_EOL . $id->get_error_message();
561
+ }
562
+
563
+ $this->output['errors'][] = $error;
564
+ continue;
565
+ }
566
+
567
+ $this->process_termmeta( $term, $id['term_id'] );
568
+ }
569
+
570
+ unset( $this->terms );
571
+
572
+ return $result;
573
+ }
574
+
575
+ /**
576
+ * Add metadata to imported term.
577
+ *
578
+ * @param array $term Term data from WXR import.
579
+ * @param int $term_id ID of the newly created term.
580
+ */
581
+ private function process_termmeta( $term, $term_id ) {
582
+ if ( ! function_exists( 'add_term_meta' ) ) {
583
+ return;
584
+ }
585
+
586
+ if ( ! isset( $term['termmeta'] ) ) {
587
+ $term['termmeta'] = [];
588
+ }
589
+
590
+ /**
591
+ * Filters the metadata attached to an imported term.
592
+ *
593
+ * @param array $termmeta Array of term meta.
594
+ * @param int $term_id ID of the newly created term.
595
+ * @param array $term Term data from the WXR import.
596
+ */
597
+ $term['termmeta'] = apply_filters( 'wp_import_term_meta', $term['termmeta'], $term_id, $term );
598
+
599
+ if ( empty( $term['termmeta'] ) ) {
600
+ return;
601
+ }
602
+
603
+ foreach ( $term['termmeta'] as $meta ) {
604
+ /**
605
+ * Filters the meta key for an imported piece of term meta.
606
+ *
607
+ * @param string $meta_key Meta key.
608
+ * @param int $term_id ID of the newly created term.
609
+ * @param array $term Term data from the WXR import.
610
+ */
611
+ $key = apply_filters( 'import_term_meta_key', $meta['key'], $term_id, $term );
612
+ if ( ! $key ) {
613
+ continue;
614
+ }
615
+
616
+ // Export gets meta straight from the DB so could have a serialized string
617
+ $value = maybe_unserialize( $meta['value'] );
618
+
619
+ add_term_meta( $term_id, wp_slash( $key ), wp_slash_strings_only( $value ) );
620
+
621
+ /**
622
+ * Fires after term meta is imported.
623
+ *
624
+ * @param int $term_id ID of the newly created term.
625
+ * @param string $key Meta key.
626
+ * @param mixed $value Meta value.
627
+ */
628
+ do_action( 'import_term_meta', $term_id, $key, $value );
629
+ }
630
+ }
631
+
632
+ /**
633
+ * Create new posts based on import information
634
+ *
635
+ * Posts marked as having a parent which doesn't exist will become top level items.
636
+ * Doesn't create a new post if: the post type doesn't exist, the given post ID
637
+ * is already noted as imported or a post with the same title and date already exists.
638
+ * Note that new/updated terms, comments and meta are imported for the last of the above.
639
+ *
640
+ * @return array the ids of succeed/failed imported posts.
641
+ */
642
+ private function process_posts() {
643
+ $result = [
644
+ 'succeed' => [],
645
+ 'failed' => [],
646
+ ];
647
+
648
+ $this->posts = apply_filters( 'wp_import_posts', $this->posts );
649
+
650
+ foreach ( $this->posts as $post ) {
651
+ $post = apply_filters( 'wp_import_post_data_raw', $post );
652
+
653
+ if ( ! post_type_exists( $post['post_type'] ) ) {
654
+ /* translators: 1: Post title, 2: Post type. */
655
+ $this->output['errors'][] = sprintf( esc_html__( 'Failed to import %1$s: Invalid post type %2$s', 'wpr-addons' ), $post['post_title'], $post['post_type'] );
656
+ do_action( 'wp_import_post_exists', $post );
657
+ continue;
658
+ }
659
+
660
+ if ( isset( $this->processed_posts[ $post['post_id'] ] ) && ! empty( $post['post_id'] ) ) {
661
+ continue;
662
+ }
663
+
664
+ if ( 'auto-draft' === $post['status'] ) {
665
+ continue;
666
+ }
667
+
668
+ if ( 'nav_menu_item' === $post['post_type'] ) {
669
+ $this->process_menu_item( $post );
670
+ continue;
671
+ }
672
+
673
+ $post_type_object = get_post_type_object( $post['post_type'] );
674
+
675
+ $post_parent = (int) $post['post_parent'];
676
+ if ( $post_parent ) {
677
+ // if we already know the parent, map it to the new local ID.
678
+ if ( isset( $this->processed_posts[ $post_parent ] ) ) {
679
+ $post_parent = $this->processed_posts[ $post_parent ];
680
+ // otherwise record the parent for later.
681
+ } else {
682
+ $this->post_orphans[ intval( $post['post_id'] ) ] = $post_parent;
683
+ $post_parent = 0;
684
+ }
685
+ }
686
+
687
+ // Map the post author.
688
+ $author = sanitize_user( $post['post_author'], true );
689
+ if ( isset( $this->author_mapping[ $author ] ) ) {
690
+ $author = $this->author_mapping[ $author ];
691
+ } else {
692
+ $author = (int) get_current_user_id();
693
+ }
694
+
695
+ $postdata = [
696
+ 'import_id' => $post['post_id'],
697
+ 'post_author' => $author,
698
+ 'post_content' => $post['post_content'],
699
+ 'post_excerpt' => $post['post_excerpt'],
700
+ 'post_title' => $post['post_title'],
701
+ 'post_status' => $post['status'],
702
+ 'post_name' => $post['post_name'],
703
+ 'comment_status' => $post['comment_status'],
704
+ 'ping_status' => $post['ping_status'],
705
+ 'guid' => $post['guid'],
706
+ 'post_parent' => $post_parent,
707
+ 'menu_order' => $post['menu_order'],
708
+ 'post_type' => $post['post_type'],
709
+ 'post_password' => $post['post_password'],
710
+ 'post_date' => $post['post_date'],
711
+ ];
712
+
713
+ $original_post_id = $post['post_id'];
714
+ $postdata = apply_filters( 'wp_import_post_data_processed', $postdata, $post );
715
+
716
+ $postdata = wp_slash( $postdata );
717
+
718
+ if ( 'attachment' === $postdata['post_type'] ) {
719
+ $remote_url = ! empty( $post['attachment_url'] ) ? $post['attachment_url'] : $post['guid'];
720
+
721
+ // try to use _wp_attached file for upload folder placement to ensure the same location as the export site
722
+ // e.g. location is 2003/05/image.jpg but the attachment post_date is 2010/09, see media_handle_upload()
723
+ $postdata['upload_date'] = $post['post_date'];
724
+ if ( isset( $post['postmeta'] ) ) {
725
+ foreach ( $post['postmeta'] as $meta ) {
726
+ if ( '_wp_attached_file' === $meta['key'] ) {
727
+ if ( preg_match( '%^[0-9]{4}/[0-9]{2}%', $meta['value'], $matches ) ) {
728
+ $postdata['upload_date'] = $matches[0];
729
+ }
730
+ break;
731
+ }
732
+ }
733
+ }
734
+
735
+ $post_id = $this->process_attachment( $postdata, $remote_url );
736
+ $comment_post_id = $post_id;
737
+ } else {
738
+ $post_id = wp_insert_post( $postdata, true );
739
+ $comment_post_id = $post_id;
740
+ do_action( 'wp_import_insert_post', $post_id, $original_post_id, $postdata, $post );
741
+ }
742
+
743
+ if ( is_wp_error( $post_id ) ) {
744
+ /* translators: 1: Post type singular label, 2: Post title. */
745
+ $error = sprintf( __( 'Failed to import %1$s %2$s', 'wpr-addons' ), $post_type_object->labels->singular_name, $post['post_title'] );
746
+
747
+ if ( defined( 'IMPORT_DEBUG' ) && IMPORT_DEBUG ) {
748
+ $error .= PHP_EOL . $post_id->get_error_message();
749
+ }
750
+
751
+ $result['failed'][] = $original_post_id;
752
+
753
+ $this->output['errors'][] = $error;
754
+
755
+ continue;
756
+ }
757
+
758
+ $result['succeed'][ $original_post_id ] = $post_id;
759
+
760
+ if ( 1 === $post['is_sticky'] ) {
761
+ stick_post( $post_id );
762
+ }
763
+
764
+ if ( $this->page_on_front === $original_post_id ) {
765
+ update_option( 'page_on_front', $post_id );
766
+ }
767
+
768
+ // Map pre-import ID to local ID.
769
+ $this->processed_posts[ intval( $post['post_id'] ) ] = (int) $post_id;
770
+
771
+ if ( ! isset( $post['terms'] ) ) {
772
+ $post['terms'] = [];
773
+ }
774
+
775
+ $post['terms'] = apply_filters( 'wp_import_post_terms', $post['terms'], $post_id, $post );
776
+
777
+ // add categories, tags and other terms
778
+ if ( ! empty( $post['terms'] ) ) {
779
+ $terms_to_set = [];
780
+ foreach ( $post['terms'] as $term ) {
781
+ // back compat with WXR 1.0 map 'tag' to 'post_tag'
782
+ $taxonomy = ( 'tag' === $term['domain'] ) ? 'post_tag' : $term['domain'];
783
+ $term_exists = term_exists( $term['slug'], $taxonomy );
784
+ $term_id = is_array( $term_exists ) ? $term_exists['term_id'] : $term_exists;
785
+ if ( ! $term_id ) {
786
+ $t = wp_insert_term( $term['name'], $taxonomy, [ 'slug' => $term['slug'] ] );
787
+ if ( ! is_wp_error( $t ) ) {
788
+ $term_id = $t['term_id'];
789
+ do_action( 'wp_import_insert_term', $t, $term, $post_id, $post );
790
+ } else {
791
+ /* translators: 1: Taxonomy name, 2: Term name. */
792
+ $error = sprintf( esc_html__( 'Failed to import %1$s %2$s', 'wpr-addons' ), $taxonomy, $term['name'] );
793
+
794
+ if ( defined( 'IMPORT_DEBUG' ) && IMPORT_DEBUG ) {
795
+ $error .= PHP_EOL . $t->get_error_message();
796
+ }
797
+
798
+ $this->output['errors'][] = $error;
799
+
800
+ do_action( 'wp_import_insert_term_failed', $t, $term, $post_id, $post );
801
+ continue;
802
+ }
803
+ }
804
+ $terms_to_set[ $taxonomy ][] = intval( $term_id );
805
+ }
806
+
807
+ foreach ( $terms_to_set as $tax => $ids ) {
808
+ $tt_ids = wp_set_post_terms( $post_id, $ids, $tax );
809
+ do_action( 'wp_import_set_post_terms', $tt_ids, $ids, $tax, $post_id, $post );
810
+ }
811
+ unset( $post['terms'], $terms_to_set );
812
+ }
813
+
814
+ if ( ! isset( $post['comments'] ) ) {
815
+ $post['comments'] = [];
816
+ }
817
+
818
+ $post['comments'] = apply_filters( 'wp_import_post_comments', $post['comments'], $post_id, $post );
819
+
820
+ // Add/update comments.
821
+ if ( ! empty( $post['comments'] ) ) {
822
+ $num_comments = 0;
823
+ $inserted_comments = [];
824
+ foreach ( $post['comments'] as $comment ) {
825
+ $comment_id = $comment['comment_id'];
826
+ $newcomments[ $comment_id ]['comment_post_ID'] = $comment_post_id;
827
+ $newcomments[ $comment_id ]['comment_author'] = $comment['comment_author'];
828
+ $newcomments[ $comment_id ]['comment_author_email'] = $comment['comment_author_email'];
829
+ $newcomments[ $comment_id ]['comment_author_IP'] = $comment['comment_author_IP'];
830
+ $newcomments[ $comment_id ]['comment_author_url'] = $comment['comment_author_url'];
831
+ $newcomments[ $comment_id ]['comment_date'] = $comment['comment_date'];
832
+ $newcomments[ $comment_id ]['comment_date_gmt'] = $comment['comment_date_gmt'];
833
+ $newcomments[ $comment_id ]['comment_content'] = $comment['comment_content'];
834
+ $newcomments[ $comment_id ]['comment_approved'] = $comment['comment_approved'];
835
+ $newcomments[ $comment_id ]['comment_type'] = $comment['comment_type'];
836
+ $newcomments[ $comment_id ]['comment_parent'] = $comment['comment_parent'];
837
+ $newcomments[ $comment_id ]['commentmeta'] = isset( $comment['commentmeta'] ) ? $comment['commentmeta'] : [];
838
+ if ( isset( $this->processed_authors[ $comment['comment_user_id'] ] ) ) {
839
+ $newcomments[ $comment_id ]['user_id'] = $this->processed_authors[ $comment['comment_user_id'] ];
840
+ }
841
+ }
842
+
843
+ ksort( $newcomments );
844
+
845
+ foreach ( $newcomments as $key => $comment ) {
846
+ if ( isset( $inserted_comments[ $comment['comment_parent'] ] ) ) {
847
+ $comment['comment_parent'] = $inserted_comments[ $comment['comment_parent'] ];
848
+ }
849
+
850
+ $comment_data = wp_slash( $comment );
851
+ unset( $comment_data['commentmeta'] ); // Handled separately, wp_insert_comment() also expects `comment_meta`.
852
+ $comment_data = wp_filter_comment( $comment_data );
853
+
854
+ $inserted_comments[ $key ] = wp_insert_comment( $comment_data );
855
+
856
+ do_action( 'wp_import_insert_comment', $inserted_comments[ $key ], $comment, $comment_post_id, $post );
857
+
858
+ foreach ( $comment['commentmeta'] as $meta ) {
859
+ $value = maybe_unserialize( $meta['value'] );
860
+
861
+ add_comment_meta( $inserted_comments[ $key ], wp_slash( $meta['key'] ), wp_slash_strings_only( $value ) );
862
+ }
863
+
864
+ $num_comments++;
865
+ }
866
+ unset( $newcomments, $inserted_comments, $post['comments'] );
867
+ }
868
+
869
+ if ( ! isset( $post['postmeta'] ) ) {
870
+ $post['postmeta'] = [];
871
+ }
872
+
873
+ $post['postmeta'] = apply_filters( 'wp_import_post_meta', $post['postmeta'], $post_id, $post );
874
+
875
+ // Add/update post meta.
876
+ if ( ! empty( $post['postmeta'] ) ) {
877
+ foreach ( $post['postmeta'] as $meta ) {
878
+ $key = apply_filters( 'import_post_meta_key', $meta['key'], $post_id, $post );
879
+ $value = false;
880
+
881
+ if ( '_edit_last' === $key ) {
882
+ if ( isset( $this->processed_authors[ intval( $meta['value'] ) ] ) ) {
883
+ $value = $this->processed_authors[ intval( $meta['value'] ) ];
884
+ } else {
885
+ $key = false;
886
+ }
887
+ }
888
+
889
+ if ( $key ) {
890
+ // Export gets meta straight from the DB so could have a serialized string.
891
+ if ( ! $value ) {
892
+ $value = maybe_unserialize( $meta['value'] );
893
+ }
894
+
895
+ add_post_meta( $post_id, wp_slash( $key ), wp_slash_strings_only( $value ) );
896
+
897
+ do_action( 'import_post_meta', $post_id, $key, $value );
898
+
899
+ // If the post has a featured image, take note of this in case of remap.
900
+ if ( '_thumbnail_id' === $key ) {
901
+ $this->featured_images[ $post_id ] = (int) $value;
902
+ }
903
+ }
904
+ }
905
+ }
906
+ }
907
+
908
+ unset( $this->posts );
909
+
910
+ return $result;
911
+ }
912
+
913
+ /**
914
+ * Attempt to create a new menu item from import data
915
+ *
916
+ * Fails for draft, orphaned menu items and those without an associated nav_menu
917
+ * or an invalid nav_menu term. If the post type or term object which the menu item
918
+ * represents doesn't exist then the menu item will not be imported (waits until the
919
+ * end of the import to retry again before discarding).
920
+ *
921
+ * @param array $item Menu item details from WXR file
922
+ */
923
+ private function process_menu_item( $item ) {
924
+ // Skip draft, orphaned menu items.
925
+ if ( 'draft' === $item['status'] ) {
926
+ return;
927
+ }
928
+
929
+ $menu_slug = false;
930
+ if ( isset( $item['terms'] ) ) {
931
+ // Loop through terms, assume first nav_menu term is correct menu.
932
+ foreach ( $item['terms'] as $term ) {
933
+ if ( 'nav_menu' === $term['domain'] ) {
934
+ $menu_slug = $term['slug'];
935
+ break;
936
+ }
937
+ }
938
+ }
939
+
940
+ // No nav_menu term associated with this menu item.
941
+ if ( ! $menu_slug ) {
942
+ $this->output['errors'][] = esc_html__( 'Menu item skipped due to missing menu slug', 'wpr-addons' );
943
+
944
+ return;
945
+ }
946
+
947
+ $menu_id = term_exists( $menu_slug, 'nav_menu' );
948
+ if ( ! $menu_id ) {
949
+ /* translators: %s: Menu slug. */
950
+ $this->output['errors'][] = sprintf( esc_html__( 'Menu item skipped due to invalid menu slug: %s', 'wpr-addons' ), $menu_slug );
951
+
952
+ return;
953
+ } else {
954
+ $menu_id = is_array( $menu_id ) ? $menu_id['term_id'] : $menu_id;
955
+ }
956
+
957
+ $post_meta_key_value = [];
958
+ foreach ( $item['postmeta'] as $meta ) {
959
+ $post_meta_key_value[ $meta['key'] ] = $meta['value'];
960
+ }
961
+
962
+ // Duke - Import Menu Items Post Meta
963
+ $backup_menu_item_meta = [];
964
+ $backup_menu_item_meta['postmeta'] = $item['postmeta'];
965
+
966
+ foreach ( $item['postmeta'] as $meta ) {
967
+ ${$meta['key']} = $meta['value'];
968
+ }
969
+ // End.
970
+
971
+ $_menu_item_object_id = $post_meta_key_value['_menu_item_object_id'];
972
+ if ( 'taxonomy' === $post_meta_key_value['_menu_item_type'] && isset( $this->processed_terms[ intval( $_menu_item_object_id ) ] ) ) {
973
+ $_menu_item_object_id = $this->processed_terms[ intval( $_menu_item_object_id ) ];
974
+ } elseif ( 'post_type' === $post_meta_key_value['_menu_item_type'] && isset( $this->processed_posts[ intval( $_menu_item_object_id ) ] ) ) {
975
+ $_menu_item_object_id = $this->processed_posts[ intval( $_menu_item_object_id ) ];
976
+ } elseif ( 'custom' !== $post_meta_key_value['_menu_item_type'] ) {
977
+ // Associated object is missing or not imported yet, we'll retry later.
978
+ $this->missing_menu_items[] = $item;
979
+
980
+ return;
981
+ }
982
+
983
+ $_menu_item_menu_item_parent = $post_meta_key_value['_menu_item_menu_item_parent']; // Duke - fix "_menu_item_menu_item_parent" dash was added
984
+ if ( isset( $this->processed_menu_items[ intval( $_menu_item_menu_item_parent ) ] ) ) {
985
+ $_menu_item_menu_item_parent = $this->processed_menu_items[ intval( $_menu_item_menu_item_parent ) ];
986
+ } elseif ( $_menu_item_menu_item_parent ) {
987
+ $this->menu_item_orphans[ intval( $item['post_id'] ) ] = (int) $_menu_item_menu_item_parent;
988
+ $_menu_item_menu_item_parent = 0;
989
+ }
990
+
991
+ // wp_update_nav_menu_item expects CSS classes as a space separated string
992
+ $_menu_item_classes = maybe_unserialize( $post_meta_key_value['_menu_item_classes'] );
993
+ if ( is_array( $_menu_item_classes ) ) {
994
+ $_menu_item_classes = implode( ' ', $_menu_item_classes );
995
+ }
996
+
997
+ $args = [
998
+ 'menu-item-object-id' => $_menu_item_object_id,
999
+ 'menu-item-object' => $post_meta_key_value['_menu_item_object'],
1000
+ 'menu-item-parent-id' => $_menu_item_menu_item_parent,
1001
+ 'menu-item-position' => intval( $item['menu_order'] ),
1002
+ 'menu-item-type' => $post_meta_key_value['_menu_item_type'],
1003
+ 'menu-item-title' => $item['post_title'],
1004
+ 'menu-item-url' => $post_meta_key_value['_menu_item_url'],
1005
+ 'menu-item-description' => $item['post_content'],
1006
+ 'menu-item-attr-title' => $item['post_excerpt'],
1007
+ 'menu-item-target' => $post_meta_key_value['_menu_item_target'],
1008
+ 'menu-item-classes' => $_menu_item_classes,
1009
+ 'menu-item-xfn' => $post_meta_key_value['_menu_item_xfn'],
1010
+ 'menu-item-status' => $item['status'],
1011
+ ];
1012
+
1013
+ $id = wp_update_nav_menu_item( $menu_id, 0, $args );
1014
+ if ( $id && ! is_wp_error( $id ) ) {
1015
+ // Duke - Import Menu Items Post Meta
1016
+ $menu_item_db_id = $id;
1017
+ $backup_menu_item_meta['postmeta'] = apply_filters('wordpress_importer_menu_items_meta_import', $backup_menu_item_meta['postmeta'], $id);
1018
+ $skip_meta_items = [
1019
+ '_menu_item_type',
1020
+ '_menu_item_menu_item_parent',
1021
+ '_menu_item_object_id',
1022
+ '_menu_item_object',
1023
+ '_menu_item_target',
1024
+ '_menu_item_classes',
1025
+ '_menu_item_xfn',
1026
+ '_menu_item_url'
1027
+ ];
1028
+ if ( is_array($backup_menu_item_meta['postmeta']) && !empty($backup_menu_item_meta['postmeta']) ) {
1029
+ foreach ( $backup_menu_item_meta['postmeta'] as $meta ) {
1030
+ if ( !in_array($meta['key'], $skip_meta_items) ) {
1031
+ update_post_meta( $menu_item_db_id, $meta['key'], maybe_unserialize($meta['value']));
1032
+ }
1033
+ }
1034
+ }
1035
+ // End.
1036
+
1037
+ $this->processed_menu_items[ intval( $item['post_id'] ) ] = (int) $id;
1038
+ }
1039
+ }
1040
+
1041
+ /**
1042
+ * If fetching attachments is enabled then attempt to create a new attachment
1043
+ *
1044
+ * @param array $post Attachment post details from WXR
1045
+ * @param string $url URL to fetch attachment from
1046
+ *
1047
+ * @return int|WP_Error Post ID on success, WP_Error otherwise
1048
+ */
1049
+ private function process_attachment( $post, $url ) {
1050
+
1051
+ if ( ! $this->fetch_attachments ) {
1052
+ return new WP_Error( 'attachment_processing_error', esc_html__( 'Fetching attachments is not enabled', 'wpr-addons' ) );
1053
+ }
1054
+
1055
+ // if the URL is absolute, but does not contain address, then upload it assuming base_site_url.
1056
+ if ( preg_match( '|^/[\w\W]+$|', $url ) ) {
1057
+ $url = rtrim( $this->base_url, '/' ) . $url;
1058
+ }
1059
+
1060
+ $upload = $this->fetch_remote_file( $url, $post );
1061
+ if ( is_wp_error( $upload ) ) {
1062
+ return $upload;
1063
+ }
1064
+
1065
+ $info = wp_check_filetype( $upload['file'] );
1066
+ if ( $info ) {
1067
+ $post['post_mime_type'] = $info['type'];
1068
+ } else {
1069
+ return new WP_Error( 'attachment_processing_error', esc_html__( 'Invalid file type', 'wpr-addons' ) );
1070
+ }
1071
+
1072
+ $post['guid'] = $upload['url'];
1073
+
1074
+ // As per wp-admin/includes/upload.php.
1075
+ $post_id = wp_insert_attachment( $post, $upload['file'] );
1076
+ wp_update_attachment_metadata( $post_id, wp_generate_attachment_metadata( $post_id, $upload['file'] ) );
1077
+
1078
+ // Remap resized image URLs, works by stripping the extension and remapping the URL stub.
1079
+ if ( preg_match( '!^image/!', $info['type'] ) ) {
1080
+ $parts = pathinfo( $url );
1081
+ $name = basename( $parts['basename'], ".{$parts['extension']}" ); // PATHINFO_FILENAME in PHP 5.2
1082
+
1083
+ $parts_new = pathinfo( $upload['url'] );
1084
+ $name_new = basename( $parts_new['basename'], ".{$parts_new['extension']}" );
1085
+
1086
+ $this->url_remap[ $parts['dirname'] . '/' . $name ] = $parts_new['dirname'] . '/' . $name_new;
1087
+ }
1088
+
1089
+ return $post_id;
1090
+ }
1091
+
1092
+ /**
1093
+ * Attempt to download a remote file attachment
1094
+ *
1095
+ * @param string $url URL of item to fetch
1096
+ * @param array $post Attachment details
1097
+ *
1098
+ * @return array|WP_Error Local file location details on success, WP_Error otherwise
1099
+ */
1100
+ private function fetch_remote_file( $url, $post ) {
1101
+ // Extract the file name from the URL.
1102
+ $file_name = basename( parse_url( $url, PHP_URL_PATH ) );
1103
+
1104
+ if ( ! $file_name ) {
1105
+ $file_name = md5( $url );
1106
+ }
1107
+
1108
+ $tmp_file_name = wp_tempnam( $file_name );
1109
+ if ( ! $tmp_file_name ) {
1110
+ return new WP_Error( 'import_no_file', esc_html__( 'Could not create temporary file.', 'wpr-addons' ) );
1111
+ }
1112
+
1113
+ // Fetch the remote URL and write it to the placeholder file.
1114
+ $remote_response = wp_safe_remote_get( $url, [
1115
+ 'timeout' => 300,
1116
+ 'stream' => true,
1117
+ 'filename' => $tmp_file_name,
1118
+ 'headers' => [
1119
+ 'Accept-Encoding' => 'identity',
1120
+ ],
1121
+ ] );
1122
+
1123
+ if ( is_wp_error( $remote_response ) ) {
1124
+ @unlink( $tmp_file_name );
1125
+
1126
+ return new WP_Error( 'import_file_error', sprintf( /* translators: 1: WordPress error message, 2: WordPress error code. */ esc_html__( 'Request failed due to an error: %1$s (%2$s)', 'wpr-addons' ), esc_html( $remote_response->get_error_message() ), esc_html( $remote_response->get_error_code() ) ) );
1127
+ }
1128
+
1129
+ $remote_response_code = (int) wp_remote_retrieve_response_code( $remote_response );
1130
+
1131
+ // Make sure the fetch was successful.
1132
+ if ( 200 !== $remote_response_code ) {
1133
+ @unlink( $tmp_file_name );
1134
+
1135
+ return new WP_Error( 'import_file_error', sprintf( /* translators: 1: HTTP error message, 2: HTTP error code. */ esc_html__( 'Remote server returned the following unexpected result: %1$s (%2$s)', 'wpr-addons' ), get_status_header_desc( $remote_response_code ), esc_html( $remote_response_code ) ) );
1136
+ }
1137
+
1138
+ $headers = wp_remote_retrieve_headers( $remote_response );
1139
+
1140
+ // Request failed.
1141
+ if ( ! $headers ) {
1142
+ @unlink( $tmp_file_name );
1143
+
1144
+ return new WP_Error( 'import_file_error', esc_html__( 'Remote server did not respond', 'wpr-addons' ) );
1145
+ }
1146
+
1147
+ $filesize = (int) filesize( $tmp_file_name );
1148
+
1149
+ if ( 0 === $filesize ) {
1150
+ @unlink( $tmp_file_name );
1151
+
1152
+ return new WP_Error( 'import_file_error', esc_html__( 'Zero size file downloaded', 'wpr-addons' ) );
1153
+ }
1154
+
1155
+ if ( ! isset( $headers['content-encoding'] ) && isset( $headers['content-length'] ) && $filesize !== (int) $headers['content-length'] ) {
1156
+ @unlink( $tmp_file_name );
1157
+
1158
+ return new WP_Error( 'import_file_error', esc_html__( 'Downloaded file has incorrect size', 'wpr-addons' ) );
1159
+ }
1160
+
1161
+ $max_size = (int) apply_filters( 'import_attachment_size_limit', self::DEFAULT_IMPORT_ATTACHMENT_SIZE_LIMIT );
1162
+ if ( ! empty( $max_size ) && $filesize > $max_size ) {
1163
+ @unlink( $tmp_file_name );
1164
+
1165
+ /* translators: %s: Max file size. */
1166
+ return new WP_Error( 'import_file_error', sprintf( esc_html__( 'Remote file is too large, limit is %s', 'wpr-addons' ), size_format( $max_size ) ) );
1167
+ }
1168
+
1169
+ // Override file name with Content-Disposition header value.
1170
+ if ( ! empty( $headers['content-disposition'] ) ) {
1171
+ $file_name_from_disposition = self::get_filename_from_disposition( (array) $headers['content-disposition'] );
1172
+ if ( $file_name_from_disposition ) {
1173
+ $file_name = $file_name_from_disposition;
1174
+ }
1175
+ }
1176
+
1177
+ // Set file extension if missing.
1178
+ $file_ext = pathinfo( $file_name, PATHINFO_EXTENSION );
1179
+ if ( ! $file_ext && ! empty( $headers['content-type'] ) ) {
1180
+ $extension = self::get_file_extension_by_mime_type( $headers['content-type'] );
1181
+ if ( $extension ) {
1182
+ $file_name = "{$file_name}.{$extension}";
1183
+ }
1184
+ }
1185
+
1186
+ // Handle the upload like _wp_handle_upload() does.
1187
+ $wp_filetype = wp_check_filetype_and_ext( $tmp_file_name, $file_name );
1188
+ $ext = empty( $wp_filetype['ext'] ) ? '' : $wp_filetype['ext'];
1189
+ $type = empty( $wp_filetype['type'] ) ? '' : $wp_filetype['type'];
1190
+ $proper_filename = empty( $wp_filetype['proper_filename'] ) ? '' : $wp_filetype['proper_filename'];
1191
+
1192
+ // Check to see if wp_check_filetype_and_ext() determined the filename was incorrect.
1193
+ if ( $proper_filename ) {
1194
+ $file_name = $proper_filename;
1195
+ }
1196
+
1197
+ if ( ( ! $type || ! $ext ) && ! current_user_can( 'unfiltered_upload' ) ) {
1198
+ return new WP_Error( 'import_file_error', esc_html__( 'Sorry, this file type is not permitted for security reasons.', 'wpr-addons' ) );
1199
+ }
1200
+
1201
+ $uploads = wp_upload_dir( $post['upload_date'] );
1202
+ if ( ! ( $uploads && false === $uploads['error'] ) ) {
1203
+ return new WP_Error( 'upload_dir_error', $uploads['error'] );
1204
+ }
1205
+
1206
+ // Move the file to the uploads dir.
1207
+ $file_name = wp_unique_filename( $uploads['path'], $file_name );
1208
+ $new_file = $uploads['path'] . "/$file_name";
1209
+ $move_new_file = copy( $tmp_file_name, $new_file );
1210
+
1211
+ if ( ! $move_new_file ) {
1212
+ @unlink( $tmp_file_name );
1213
+
1214
+ return new WP_Error( 'import_file_error', esc_html__( 'The uploaded file could not be moved', 'wpr-addons' ) );
1215
+ }
1216
+
1217
+ // Set correct file permissions.
1218
+ $stat = stat( dirname( $new_file ) );
1219
+ $perms = $stat['mode'] & 0000666;
1220
+ chmod( $new_file, $perms );
1221
+
1222
+ $upload = [
1223
+ 'file' => $new_file,
1224
+ 'url' => $uploads['url'] . "/$file_name",
1225
+ 'type' => $wp_filetype['type'],
1226
+ 'error' => false,
1227
+ ];
1228
+
1229
+ // Keep track of the old and new urls so we can substitute them later.
1230
+ $this->url_remap[ $url ] = $upload['url'];
1231
+ $this->url_remap[ $post['guid'] ] = $upload['url']; // r13735, really needed?
1232
+ // Keep track of the destination if the remote url is redirected somewhere else.
1233
+ if ( isset( $headers['x-final-location'] ) && $headers['x-final-location'] !== $url ) {
1234
+ $this->url_remap[ $headers['x-final-location'] ] = $upload['url'];
1235
+ }
1236
+
1237
+ return $upload;
1238
+ }
1239
+
1240
+ /**
1241
+ * Attempt to associate posts and menu items with previously missing parents
1242
+ *
1243
+ * An imported post's parent may not have been imported when it was first created
1244
+ * so try again. Similarly for child menu items and menu items which were missing
1245
+ * the object (e.g. post) they represent in the menu
1246
+ */
1247
+ private function backfill_parents() {
1248
+ global $wpdb;
1249
+
1250
+ // Find parents for post orphans.
1251
+ foreach ( $this->post_orphans as $child_id => $parent_id ) {
1252
+ $local_child_id = false;
1253
+ $local_parent_id = false;
1254
+
1255
+ if ( isset( $this->processed_posts[ $child_id ] ) ) {
1256
+ $local_child_id = $this->processed_posts[ $child_id ];
1257
+ }
1258
+ if ( isset( $this->processed_posts[ $parent_id ] ) ) {
1259
+ $local_parent_id = $this->processed_posts[ $parent_id ];
1260
+ }
1261
+
1262
+ if ( $local_child_id && $local_parent_id ) {
1263
+ $wpdb->update( $wpdb->posts, [ 'post_parent' => $local_parent_id ], [ 'ID' => $local_child_id ], '%d', '%d' );
1264
+ clean_post_cache( $local_child_id );
1265
+ }
1266
+ }
1267
+
1268
+ // All other posts/terms are imported, retry menu items with missing associated object.
1269
+ $missing_menu_items = $this->missing_menu_items;
1270
+ foreach ( $missing_menu_items as $item ) {
1271
+ $this->process_menu_item( $item );
1272
+ }
1273
+
1274
+ // Find parents for menu item orphans.
1275
+ foreach ( $this->menu_item_orphans as $child_id => $parent_id ) {
1276
+ $local_child_id = 0;
1277
+ $local_parent_id = 0;
1278
+ if ( isset( $this->processed_menu_items[ $child_id ] ) ) {
1279
+ $local_child_id = $this->processed_menu_items[ $child_id ];
1280
+ }
1281
+ if ( isset( $this->processed_menu_items[ $parent_id ] ) ) {
1282
+ $local_parent_id = $this->processed_menu_items[ $parent_id ];
1283
+ }
1284
+
1285
+ if ( $local_child_id && $local_parent_id ) {
1286
+ update_post_meta( $local_child_id, '_menu_item_menu_item_parent', (int) $local_parent_id );
1287
+ }
1288
+ }
1289
+ }
1290
+
1291
+ /**
1292
+ * Use stored mapping information to update old attachment URLs
1293
+ */
1294
+ private function backfill_attachment_urls() {
1295
+ global $wpdb;
1296
+ // Make sure we do the longest urls first, in case one is a substring of another.
1297
+ uksort( $this->url_remap, function ( $a, $b ) {
1298
+ // Return the difference in length between two strings.
1299
+ return strlen( $b ) - strlen( $a );
1300
+ } );
1301
+
1302
+ foreach ( $this->url_remap as $from_url => $to_url ) {
1303
+ // Remap urls in post_content.
1304
+ $wpdb->query( $wpdb->prepare( "UPDATE {$wpdb->posts} SET post_content = REPLACE(post_content, %s, %s)", $from_url, $to_url ) );
1305
+ // Remap enclosure urls.
1306
+ $wpdb->query( $wpdb->prepare( "UPDATE {$wpdb->postmeta} SET meta_value = REPLACE(meta_value, %s, %s) WHERE meta_key='enclosure'", $from_url, $to_url ) );
1307
+ }
1308
+ }
1309
+
1310
+ /**
1311
+ * Update _thumbnail_id meta to new, imported attachment IDs
1312
+ */
1313
+ private function remap_featured_images() {
1314
+ // Cycle through posts that have a featured image.
1315
+ foreach ( $this->featured_images as $post_id => $value ) {
1316
+ if ( isset( $this->processed_posts[ $value ] ) ) {
1317
+ $new_id = $this->processed_posts[ $value ];
1318
+ // Only update if there's a difference.
1319
+ if ( $new_id !== $value ) {
1320
+ update_post_meta( $post_id, '_thumbnail_id', $new_id );
1321
+ }
1322
+ }
1323
+ }
1324
+ }
1325
+
1326
+ /**
1327
+ * Parse a WXR file
1328
+ *
1329
+ * @param string $file Path to WXR file for parsing
1330
+ *
1331
+ * @return array Information gathered from the WXR file
1332
+ */
1333
+ private function parse( $file ) {
1334
+ $parser = new WXR_Parser();
1335
+
1336
+ return $parser->parse( $file );
1337
+ }
1338
+
1339
+ /**
1340
+ * Decide if the given meta key maps to information we will want to import
1341
+ *
1342
+ * @param string $key The meta key to check
1343
+ *
1344
+ * @return string|bool The key if we do want to import, false if not
1345
+ */
1346
+ private function is_valid_meta_key( $key ) {
1347
+ // Skip attachment metadata since we'll regenerate it from scratch.
1348
+ // Skip _edit_lock as not relevant for import
1349
+ if ( in_array( $key, [ '_wp_attached_file', '_wp_attachment_metadata', '_edit_lock' ] ) ) {
1350
+ return false;
1351
+ }
1352
+
1353
+ return $key;
1354
+ }
1355
+
1356
+ public function run() {
1357
+ $this->import( $this->requested_file_path );
1358
+
1359
+ return $this->output;
1360
+ }
1361
+
1362
+ public function __construct( $file, $args = [] ) {
1363
+ $this->requested_file_path = $file;
1364
+ $this->args = $args;
1365
+
1366
+ if ( ! empty( $this->args['fetch_attachments'] ) ) {
1367
+ $this->fetch_attachments = true;
1368
+ }
1369
+ }
1370
+ }
admin/includes/wpr-templates-actions.php CHANGED
@@ -1,314 +1,314 @@
1
- <?php
2
- namespace WprAddons\Admin\Includes;
3
-
4
- use WprAddons\Plugin;
5
- use Elementor\TemplateLibrary\Source_Base;
6
- use Elementor\Core\Common\Modules\Ajax\Module as Ajax;
7
- use WprAddons\Classes\Utilities;
8
-
9
- if ( ! defined( 'ABSPATH' ) ) {
10
- exit; // Exit if accessed directly.
11
- }
12
-
13
-
14
- /**
15
- * WPR_Templates_Actions setup
16
- *
17
- * @since 1.0
18
- */
19
- class WPR_Templates_Actions {
20
-
21
- /**
22
- ** Constructor
23
- */
24
- public function __construct() {
25
-
26
- // Save Conditions
27
- add_action( 'wp_ajax_wpr_save_template_conditions', [ $this, 'wpr_save_template_conditions' ] );
28
-
29
- // Create Template
30
- add_action( 'wp_ajax_wpr_create_template', [ $this, 'wpr_create_template' ] );
31
-
32
- // Import Library Template
33
- add_action( 'wp_ajax_wpr_import_library_template', [ $this, 'wpr_import_library_template' ] );
34
-
35
- // Reset Template
36
- add_action( 'wp_ajax_wpr_delete_template', [ $this, 'wpr_delete_template' ] );
37
-
38
- // Register Elementor AJAX Actions
39
- add_action( 'elementor/ajax/register_actions', [ $this, 'register_elementor_ajax_actions' ] );
40
-
41
- // Enqueue Scripts
42
- add_action( 'admin_enqueue_scripts', [ $this, 'templates_library_scripts' ] );
43
-
44
- }
45
-
46
- /**
47
- ** Save Template Conditions
48
- */
49
- public function wpr_save_template_conditions() {
50
- $template = isset($_POST['template']) ? sanitize_text_field(wp_unslash($_POST['template'])): false;
51
-
52
- // Header
53
- if ( isset($_POST['wpr_header_conditions']) ) {
54
- update_option( 'wpr_header_conditions', $this->sanitize_conditions($_POST['wpr_header_conditions']) ); // phpcs:ignore
55
-
56
- $wpr_header_show_on_canvas = isset($_POST['wpr_header_show_on_canvas']) ? sanitize_text_field(wp_unslash($_POST['wpr_header_show_on_canvas'])): false;
57
- if ( $wpr_header_show_on_canvas && $template ) {
58
- update_post_meta( Utilities::get_template_id($template), 'wpr_header_show_on_canvas', $wpr_header_show_on_canvas );
59
- }
60
- }
61
-
62
- // Footer
63
- if ( isset($_POST['wpr_footer_conditions']) ) {
64
- update_option( 'wpr_footer_conditions', $this->sanitize_conditions($_POST['wpr_footer_conditions']) ); // phpcs:ignore
65
-
66
- $wpr_footer_show_on_canvas = isset($_POST['wpr_footer_show_on_canvas']) ? sanitize_text_field(wp_unslash($_POST['wpr_footer_show_on_canvas'])): false;
67
- if ( $wpr_footer_show_on_canvas && $template ) {
68
- update_post_meta( Utilities::get_template_id($template), 'wpr_footer_show_on_canvas', $wpr_footer_show_on_canvas );
69
- }
70
- }
71
-
72
- // Archive
73
- if ( isset($_POST['wpr_archive_conditions']) ) {
74
- update_option( 'wpr_archive_conditions', $this->sanitize_conditions($_POST['wpr_archive_conditions']) ); // phpcs:ignore
75
- }
76
-
77
- // Single
78
- if ( isset($_POST['wpr_single_conditions']) ) {
79
- update_option( 'wpr_single_conditions', $this->sanitize_conditions($_POST['wpr_single_conditions']) ); // phpcs:ignore
80
- }
81
-
82
- // Product Archive
83
- if ( isset($_POST['wpr_product_archive_conditions']) ) {
84
- update_option( 'wpr_product_archive_conditions', $this->sanitize_conditions($_POST['wpr_product_archive_conditions']) ); // phpcs:ignore
85
- }
86
-
87
- // Product Single
88
- if ( isset($_POST['wpr_product_single_conditions']) ) {
89
- update_option( 'wpr_product_single_conditions', $this->sanitize_conditions($_POST['wpr_product_single_conditions']) ); // phpcs:ignore
90
- }
91
-
92
- // Popup
93
- if ( isset($_POST['wpr_popup_conditions']) ) {
94
- update_option( 'wpr_popup_conditions', $this->sanitize_conditions($_POST['wpr_popup_conditions']) ); // phpcs:ignore
95
- }
96
- }
97
-
98
- public function sanitize_conditions( $data ) {
99
- return wp_unslash( json_encode( array_filter( json_decode(stripcslashes($data), true) ) ) );
100
- }
101
-
102
- /**
103
- ** Create Template
104
- */
105
- public function wpr_create_template() {
106
- $user_template_type = isset($_POST['user_template_type']) ? sanitize_text_field(wp_unslash($_POST['user_template_type'])): false;
107
- $user_template_library = isset($_POST['user_template_library']) ? sanitize_text_field(wp_unslash($_POST['user_template_library'])): false;
108
- $user_template_title = isset($_POST['user_template_title']) ? sanitize_text_field(wp_unslash($_POST['user_template_title'])): false;
109
- $user_template_slug = isset($_POST['user_template_slug']) ? sanitize_text_field(wp_unslash($_POST['user_template_slug'])): false;
110
-
111
- if ( $user_template_title ) {
112
- // Create
113
- $template_id = wp_insert_post(array (
114
- 'post_type' => $user_template_library,
115
- 'post_title' => $user_template_title,
116
- 'post_name' => $user_template_slug,
117
- 'post_content' => '',
118
- 'post_status' => 'publish'
119
- ));
120
-
121
- // Set Types
122
- if ( 'wpr_templates' === $_POST['user_template_library'] ) {
123
-
124
- wp_set_object_terms( $template_id, [$user_template_type, 'user'], 'wpr_template_type' );
125
-
126
- if ( 'popup' === $_POST['user_template_type'] ) {
127
- update_post_meta( $template_id, '_elementor_template_type', 'wpr-popups' );
128
- } else {
129
- if ( 'header' === $_POST['user_template_type'] ) {
130
- update_post_meta( $template_id, '_elementor_template_type', 'wpr-theme-builder-header' );
131
- } elseif ( 'footer' === $_POST['user_template_type'] ) {
132
- update_post_meta( $template_id, '_elementor_template_type', 'wpr-theme-builder-footer' );
133
- } else {
134
- update_post_meta( $template_id, '_elementor_template_type', 'wpr-theme-builder' );
135
- }
136
-
137
- update_post_meta( $template_id, '_wpr_template_type', $user_template_type );
138
- }
139
- } else {
140
- update_post_meta( $template_id, '_elementor_template_type', 'page' );
141
- }
142
-
143
- // Set Canvas Template
144
- update_post_meta( $template_id, '_wp_page_template', 'elementor_canvas' ); //tmp - maybe set for wpr_templates only
145
-
146
- // Send ID to JS
147
- echo esc_html($template_id);
148
- }
149
- }
150
-
151
- /**
152
- ** Import Library Template
153
- */
154
- public function wpr_import_library_template() {
155
- $source = new WPR_Library_Source();
156
- $slug = isset($_POST['slug']) ? sanitize_text_field(wp_unslash($_POST['slug'])): '';
157
-
158
- $data = $source->get_data([
159
- 'template_id' => $slug
160
- ]);
161
-
162
- echo json_encode($data);
163
- }
164
-
165
- /**
166
- ** Reset Template
167
- */
168
- public function wpr_delete_template() {
169
- $template_slug = isset($_POST['template_slug']) ? sanitize_text_field(wp_unslash($_POST['template_slug'])): '';
170
- $template_library = isset($_POST['template_library']) ? sanitize_text_field(wp_unslash($_POST['template_library'])): '';
171
-
172
- $post = get_page_by_path( $template_slug, OBJECT, $template_library );
173
- wp_delete_post( $post->ID, true );
174
- }
175
-
176
- /**
177
- ** Enqueue Scripts and Styles
178
- */
179
- public function templates_library_scripts( $hook ) {
180
-
181
- // Get Plugin Version
182
- $version = Plugin::instance()->get_version();
183
-
184
- // Deny if NOT Plugin Page
185
- if ( 'toplevel_page_wpr-addons' == $hook || strpos($hook, 'wpr-theme-builder') || strpos($hook, 'wpr-popups') ) {
186
-
187
- // Color Picker
188
- wp_enqueue_style( 'wp-color-picker' );
189
- wp_enqueue_script( 'wp-color-picker-alpha', WPR_ADDONS_URL .'assets/js/admin/lib/wp-color-picker-alpha.min.js', ['jquery', 'wp-color-picker'], $version, true );
190
-
191
- // Media Upload
192
- if ( ! did_action( 'wp_enqueue_media' ) ) {
193
- wp_enqueue_media();
194
- }
195
-
196
- // enqueue CSS
197
- wp_enqueue_style( 'wpr-plugin-options-css', WPR_ADDONS_URL .'assets/css/admin/plugin-options.css', [], $version );
198
-
199
- // enqueue JS
200
- wp_enqueue_script( 'wpr-plugin-options-js', WPR_ADDONS_URL .'assets/js/admin/plugin-options.js', ['jquery'], $version );
201
-
202
- }
203
-
204
- if ( strpos($hook, 'wpr-templates-kit') ) {
205
- wp_enqueue_style( 'wpr-templates-kit-css', WPR_ADDONS_URL .'assets/css/admin/templates-kit.css', [], $version );
206
- wp_enqueue_script( 'wpr-templates-kit-js', WPR_ADDONS_URL .'assets/js/admin/templates-kit.js', ['jquery', 'updates'], $version );
207
- }
208
-
209
- if ( strpos($hook, 'wpr-premade-blocks') ) {
210
- wp_enqueue_style( 'wpr-premade-blocks-css', WPR_ADDONS_URL .'assets/css/admin/premade-blocks.css', [], $version );
211
-
212
- wp_enqueue_script( 'wpr-macy-js', WPR_ADDONS_URL .'assets/js/lib/macy/macy.js', ['jquery'], $version );
213
- wp_enqueue_script( 'wpr-premade-blocks-js', WPR_ADDONS_URL .'assets/js/admin/premade-blocks.js', ['jquery'], $version );
214
- }
215
- }
216
-
217
- /**
218
- ** Register Elementor AJAX Actions
219
- */
220
- public function register_elementor_ajax_actions( Ajax $ajax ) {
221
-
222
- // Elementor Search Data
223
- $ajax->register_ajax_action( 'wpr_elementor_search_data', function( $data ) {
224
- // Freemius OptIn
225
- if ( ! (wpr_fs()->is_registered() && wpr_fs()->is_tracking_allowed() || wpr_fs()->is_pending_activation() )) {
226
- return;
227
- }
228
-
229
- if ( strlen($data['search_query']) > 25 ) {
230
- return;
231
- }
232
-
233
- // Send Search Query
234
- wp_remote_post( 'https://reastats.kinsta.cloud/wp-json/elementor-search/data', [
235
- 'body' => [
236
- 'search_query' => $data['search_query']
237
- ]
238
- ] );
239
- } );
240
- }
241
- }
242
-
243
- /**
244
- * WPR_Templates_Actions setup
245
- *
246
- * @since 1.0
247
- */
248
- class WPR_Library_Source extends \Elementor\TemplateLibrary\Source_Base {
249
-
250
- public function get_id() {
251
- return 'wpr-layout-manager';
252
- }
253
-
254
- public function get_title() {
255
- return 'WPR Layout Manager';
256
- }
257
-
258
- public function register_data() {}
259
-
260
- public function save_item( $template_data ) {
261
- return new \WP_Error( 'invalid_request', 'Cannot save template to a WPR layout manager' );
262
- }
263
-
264
- public function update_item( $new_data ) {
265
- return new \WP_Error( 'invalid_request', 'Cannot update template to a WPR layout manager' );
266
- }
267
-
268
- public function delete_template( $template_id ) {
269
- return new \WP_Error( 'invalid_request', 'Cannot delete template from a WPR layout manager' );
270
- }
271
-
272
- public function export_template( $template_id ) {
273
- return new \WP_Error( 'invalid_request', 'Cannot export template from a WPR layout manager' );
274
- }
275
-
276
- public function get_items( $args = [] ) {
277
- return [];
278
- }
279
-
280
- public function get_item( $template_id ) {
281
- $templates = $this->get_items();
282
-
283
- return $templates[ $template_id ];
284
- }
285
-
286
- public function request_template_data( $template_id ) {
287
- if ( empty( $template_id ) ) {
288
- return;
289
- }
290
-
291
- $response = wp_remote_get( 'https://royal-elementor-addons.com/library/premade-styles/'. $template_id .'.json', [
292
- 'timeout' => 60,
293
- 'sslverify' => false
294
- ] );
295
-
296
- return wp_remote_retrieve_body( $response );
297
- }
298
-
299
- public function get_data( array $args ) {//TODO: FIX - This function imports placeholder images in library
300
- $data = $this->request_template_data( $args['template_id'] );
301
-
302
- $data = json_decode( $data, true );
303
-
304
- if ( empty( $data ) || empty( $data['content'] ) ) {
305
- throw new \Exception( 'Template does not have any content' );
306
- }
307
-
308
- $data['content'] = $this->replace_elements_ids( $data['content'] );
309
- $data['content'] = $this->process_export_import_content( $data['content'], 'on_import' );
310
-
311
- return $data;
312
- }
313
-
314
  }
1
+ <?php
2
+ namespace WprAddons\Admin\Includes;
3
+
4
+ use WprAddons\Plugin;
5
+ use Elementor\TemplateLibrary\Source_Base;
6
+ use Elementor\Core\Common\Modules\Ajax\Module as Ajax;
7
+ use WprAddons\Classes\Utilities;
8
+
9
+ if ( ! defined( 'ABSPATH' ) ) {
10
+ exit; // Exit if accessed directly.
11
+ }
12
+
13
+
14
+ /**
15
+ * WPR_Templates_Actions setup
16
+ *
17
+ * @since 1.0
18
+ */
19
+ class WPR_Templates_Actions {
20
+
21
+ /**
22
+ ** Constructor
23
+ */
24
+ public function __construct() {
25
+
26
+ // Save Conditions
27
+ add_action( 'wp_ajax_wpr_save_template_conditions', [ $this, 'wpr_save_template_conditions' ] );
28
+
29
+ // Create Template
30
+ add_action( 'wp_ajax_wpr_create_template', [ $this, 'wpr_create_template' ] );
31
+
32
+ // Import Library Template
33
+ add_action( 'wp_ajax_wpr_import_library_template', [ $this, 'wpr_import_library_template' ] );
34
+
35
+ // Reset Template
36
+ add_action( 'wp_ajax_wpr_delete_template', [ $this, 'wpr_delete_template' ] );
37
+
38
+ // Register Elementor AJAX Actions
39
+ add_action( 'elementor/ajax/register_actions', [ $this, 'register_elementor_ajax_actions' ] );
40
+
41
+ // Enqueue Scripts
42
+ add_action( 'admin_enqueue_scripts', [ $this, 'templates_library_scripts' ] );
43
+
44
+ }
45
+
46
+ /**
47
+ ** Save Template Conditions
48
+ */
49
+ public function wpr_save_template_conditions() {
50
+ $template = isset($_POST['template']) ? sanitize_text_field(wp_unslash($_POST['template'])): false;
51
+
52
+ // Header
53
+ if ( isset($_POST['wpr_header_conditions']) ) {
54
+ update_option( 'wpr_header_conditions', $this->sanitize_conditions($_POST['wpr_header_conditions']) ); // phpcs:ignore
55
+
56
+ $wpr_header_show_on_canvas = isset($_POST['wpr_header_show_on_canvas']) ? sanitize_text_field(wp_unslash($_POST['wpr_header_show_on_canvas'])): false;
57
+ if ( $wpr_header_show_on_canvas && $template ) {
58
+ update_post_meta( Utilities::get_template_id($template), 'wpr_header_show_on_canvas', $wpr_header_show_on_canvas );
59
+ }
60
+ }
61
+
62
+ // Footer
63
+ if ( isset($_POST['wpr_footer_conditions']) ) {
64
+ update_option( 'wpr_footer_conditions', $this->sanitize_conditions($_POST['wpr_footer_conditions']) ); // phpcs:ignore
65
+
66
+ $wpr_footer_show_on_canvas = isset($_POST['wpr_footer_show_on_canvas']) ? sanitize_text_field(wp_unslash($_POST['wpr_footer_show_on_canvas'])): false;
67
+ if ( $wpr_footer_show_on_canvas && $template ) {
68
+ update_post_meta( Utilities::get_template_id($template), 'wpr_footer_show_on_canvas', $wpr_footer_show_on_canvas );
69
+ }
70
+ }
71
+
72
+ // Archive
73
+ if ( isset($_POST['wpr_archive_conditions']) ) {
74
+ update_option( 'wpr_archive_conditions', $this->sanitize_conditions($_POST['wpr_archive_conditions']) ); // phpcs:ignore
75
+ }
76
+
77
+ // Single
78
+ if ( isset($_POST['wpr_single_conditions']) ) {
79
+ update_option( 'wpr_single_conditions', $this->sanitize_conditions($_POST['wpr_single_conditions']) ); // phpcs:ignore
80
+ }
81
+
82
+ // Product Archive
83
+ if ( isset($_POST['wpr_product_archive_conditions']) ) {
84
+ update_option( 'wpr_product_archive_conditions', $this->sanitize_conditions($_POST['wpr_product_archive_conditions']) ); // phpcs:ignore
85
+ }
86
+
87
+ // Product Single
88
+ if ( isset($_POST['wpr_product_single_conditions']) ) {
89
+ update_option( 'wpr_product_single_conditions', $this->sanitize_conditions($_POST['wpr_product_single_conditions']) ); // phpcs:ignore
90
+ }
91
+
92
+ // Popup
93
+ if ( isset($_POST['wpr_popup_conditions']) ) {
94
+ update_option( 'wpr_popup_conditions', $this->sanitize_conditions($_POST['wpr_popup_conditions']) ); // phpcs:ignore
95
+ }
96
+ }
97
+
98
+ public function sanitize_conditions( $data ) {
99
+ return wp_unslash( json_encode( array_filter( json_decode(stripcslashes($data), true) ) ) );
100
+ }
101
+
102
+ /**
103
+ ** Create Template
104
+ */
105
+ public function wpr_create_template() {
106
+ $user_template_type = isset($_POST['user_template_type']) ? sanitize_text_field(wp_unslash($_POST['user_template_type'])): false;
107
+ $user_template_library = isset($_POST['user_template_library']) ? sanitize_text_field(wp_unslash($_POST['user_template_library'])): false;
108
+ $user_template_title = isset($_POST['user_template_title']) ? sanitize_text_field(wp_unslash($_POST['user_template_title'])): false;
109
+ $user_template_slug = isset($_POST['user_template_slug']) ? sanitize_text_field(wp_unslash($_POST['user_template_slug'])): false;
110
+
111
+ if ( $user_template_title ) {
112
+ // Create
113
+ $template_id = wp_insert_post(array (
114
+ 'post_type' => $user_template_library,
115
+ 'post_title' => $user_template_title,
116
+ 'post_name' => $user_template_slug,
117
+ 'post_content' => '',
118
+ 'post_status' => 'publish'
119
+ ));
120
+
121
+ // Set Types
122
+ if ( 'wpr_templates' === $_POST['user_template_library'] ) {
123
+
124
+ wp_set_object_terms( $template_id, [$user_template_type, 'user'], 'wpr_template_type' );
125
+
126
+ if ( 'popup' === $_POST['user_template_type'] ) {
127
+ update_post_meta( $template_id, '_elementor_template_type', 'wpr-popups' );
128
+ } else {
129
+ if ( 'header' === $_POST['user_template_type'] ) {
130
+ update_post_meta( $template_id, '_elementor_template_type', 'wpr-theme-builder-header' );
131
+ } elseif ( 'footer' === $_POST['user_template_type'] ) {
132
+ update_post_meta( $template_id, '_elementor_template_type', 'wpr-theme-builder-footer' );
133
+ } else {
134
+ update_post_meta( $template_id, '_elementor_template_type', 'wpr-theme-builder' );
135
+ }
136
+
137
+ update_post_meta( $template_id, '_wpr_template_type', $user_template_type );
138
+ }
139
+ } else {
140
+ update_post_meta( $template_id, '_elementor_template_type', 'page' );
141
+ }
142
+
143
+ // Set Canvas Template
144
+ update_post_meta( $template_id, '_wp_page_template', 'elementor_canvas' ); //tmp - maybe set for wpr_templates only
145
+
146
+ // Send ID to JS
147
+ echo esc_html($template_id);
148
+ }
149
+ }
150
+
151
+ /**
152
+ ** Import Library Template
153
+ */
154
+ public function wpr_import_library_template() {
155
+ $source = new WPR_Library_Source();
156
+ $slug = isset($_POST['slug']) ? sanitize_text_field(wp_unslash($_POST['slug'])) : '';
157
+
158
+ $data = $source->get_data([
159
+ 'template_id' => $slug
160
+ ]);
161
+
162
+ echo json_encode($data);
163
+ }
164
+
165
+ /**
166
+ ** Reset Template
167
+ */
168
+ public function wpr_delete_template() {
169
+ $template_slug = isset($_POST['template_slug']) ? sanitize_text_field(wp_unslash($_POST['template_slug'])): '';
170
+ $template_library = isset($_POST['template_library']) ? sanitize_text_field(wp_unslash($_POST['template_library'])): '';
171
+
172
+ $post = get_page_by_path( $template_slug, OBJECT, $template_library );
173
+ wp_delete_post( $post->ID, true );
174
+ }
175
+
176
+ /**
177
+ ** Enqueue Scripts and Styles
178
+ */
179
+ public function templates_library_scripts( $hook ) {
180
+
181
+ // Get Plugin Version
182
+ $version = Plugin::instance()->get_version();
183
+
184
+ // Deny if NOT Plugin Page
185
+ if ( 'toplevel_page_wpr-addons' == $hook || strpos($hook, 'wpr-theme-builder') || strpos($hook, 'wpr-popups') ) {
186
+
187
+ // Color Picker
188
+ wp_enqueue_style( 'wp-color-picker' );
189
+ wp_enqueue_script( 'wp-color-picker-alpha', WPR_ADDONS_URL .'assets/js/admin/lib/wp-color-picker-alpha.min.js', ['jquery', 'wp-color-picker'], $version, true );
190
+
191
+ // Media Upload
192
+ if ( ! did_action( 'wp_enqueue_media' ) ) {
193
+ wp_enqueue_media();
194
+ }
195
+
196
+ // enqueue CSS
197
+ wp_enqueue_style( 'wpr-plugin-options-css', WPR_ADDONS_URL .'assets/css/admin/plugin-options.css', [], $version );
198
+
199
+ // enqueue JS
200
+ wp_enqueue_script( 'wpr-plugin-options-js', WPR_ADDONS_URL .'assets/js/admin/plugin-options.js', ['jquery'], $version );
201
+
202
+ }
203
+
204
+ if ( strpos($hook, 'wpr-templates-kit') ) {
205
+ wp_enqueue_style( 'wpr-templates-kit-css', WPR_ADDONS_URL .'assets/css/admin/templates-kit.css', [], $version );
206
+ wp_enqueue_script( 'wpr-templates-kit-js', WPR_ADDONS_URL .'assets/js/admin/templates-kit.js', ['jquery', 'updates'], $version );
207
+ }
208
+
209
+ if ( strpos($hook, 'wpr-premade-blocks') ) {
210
+ wp_enqueue_style( 'wpr-premade-blocks-css', WPR_ADDONS_URL .'assets/css/admin/premade-blocks.css', [], $version );
211
+
212
+ wp_enqueue_script( 'wpr-macy-js', WPR_ADDONS_URL .'assets/js/lib/macy/macy.js', ['jquery'], $version );
213
+ wp_enqueue_script( 'wpr-premade-blocks-js', WPR_ADDONS_URL .'assets/js/admin/premade-blocks.js', ['jquery'], $version );
214
+ }
215
+ }
216
+
217
+ /**
218
+ ** Register Elementor AJAX Actions
219
+ */
220
+ public function register_elementor_ajax_actions( Ajax $ajax ) {
221
+
222
+ // Elementor Search Data
223
+ $ajax->register_ajax_action( 'wpr_elementor_search_data', function( $data ) {
224
+ // Freemius OptIn
225
+ if ( ! (wpr_fs()->is_registered() && wpr_fs()->is_tracking_allowed() || wpr_fs()->is_pending_activation() )) {
226
+ return;
227
+ }
228
+
229
+ if ( strlen($data['search_query']) > 25 ) {
230
+ return;
231
+ }
232
+
233
+ // Send Search Query
234
+ wp_remote_post( 'https://reastats.kinsta.cloud/wp-json/elementor-search/data', [
235
+ 'body' => [
236
+ 'search_query' => $data['search_query']
237
+ ]
238
+ ] );
239
+ } );
240
+ }
241
+ }
242
+
243
+ /**
244
+ * WPR_Templates_Actions setup
245
+ *
246
+ * @since 1.0
247
+ */
248
+ class WPR_Library_Source extends \Elementor\TemplateLibrary\Source_Base {
249
+
250
+ public function get_id() {
251
+ return 'wpr-layout-manager';
252
+ }
253
+
254
+ public function get_title() {
255
+ return 'WPR Layout Manager';
256
+ }
257
+
258
+ public function register_data() {}
259
+
260
+ public function save_item( $template_data ) {
261
+ return new \WP_Error( 'invalid_request', 'Cannot save template to a WPR layout manager' );
262
+ }
263
+
264
+ public function update_item( $new_data ) {
265
+ return new \WP_Error( 'invalid_request', 'Cannot update template to a WPR layout manager' );
266
+ }
267
+
268
+ public function delete_template( $template_id ) {
269
+ return new \WP_Error( 'invalid_request', 'Cannot delete template from a WPR layout manager' );
270
+ }
271
+
272
+ public function export_template( $template_id ) {
273
+ return new \WP_Error( 'invalid_request', 'Cannot export template from a WPR layout manager' );
274
+ }
275
+
276
+ public function get_items( $args = [] ) {
277
+ return [];
278
+ }
279
+
280
+ public function get_item( $template_id ) {
281
+ $templates = $this->get_items();
282
+
283
+ return $templates[ $template_id ];
284
+ }
285
+
286
+ public function request_template_data( $template_id ) {
287
+ if ( empty( $template_id ) ) {
288
+ return;
289
+ }
290
+
291
+ $response = wp_remote_get( 'https://royal-elementor-addons.com/library/premade-styles/'. $template_id .'.json', [
292
+ 'timeout' => 60,
293
+ 'sslverify' => false
294
+ ] );
295
+
296
+ return wp_remote_retrieve_body( $response );
297
+ }
298
+
299
+ public function get_data( array $args ) {//TODO: FIX - This function imports placeholder images in library
300
+ $data = $this->request_template_data( $args['template_id'] );
301
+
302
+ $data = json_decode( $data, true );
303
+
304
+ if ( empty( $data ) || empty( $data['content'] ) ) {
305
+ throw new \Exception( 'Template does not have any content' );
306
+ }
307
+
308
+ $data['content'] = $this->replace_elements_ids( $data['content'] );
309
+ $data['content'] = $this->process_export_import_content( $data['content'], 'on_import' );
310
+
311
+ return $data;
312
+ }
313
+
314
  }
admin/includes/wpr-templates-shortcode.php CHANGED
@@ -36,34 +36,15 @@ class WPR_Templates_Shortcode {
36
 
37
  public function extend_shortcode( $section, $section_id, $args ) {
38
  if ( $section->get_name() == 'shortcode' && $section_id == 'section_shortcode' ) {
39
- $templates_select = [];
40
-
41
- // Get All Templates
42
- $templates = get_posts( [
43
- 'post_type' => array( 'elementor_library' ),
44
- 'post_status' => array( 'publish' ),
45
- 'meta_key' => '_elementor_template_type',
46
- 'meta_value' => ['page', 'section'],
47
- 'numberposts' => -1
48
- ] );
49
-
50
- if ( ! empty( $templates ) ) {
51
- foreach ( $templates as $template ) {
52
- $templates_select[$template->ID] = $template->post_title;
53
- }
54
- }
55
-
56
  $section->add_control(
57
  'select_template' ,
58
  [
59
- 'label' => esc_html__( 'Select Template', 'wpr-addons' ),
60
- 'type' => Elementor\Controls_Manager::SELECT2,
61
- 'options' => $templates_select,
 
62
  ]
63
  );
64
-
65
- // Restore original Post Data
66
- wp_reset_postdata();
67
  }
68
  }
69
 
36
 
37
  public function extend_shortcode( $section, $section_id, $args ) {
38
  if ( $section->get_name() == 'shortcode' && $section_id == 'section_shortcode' ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
39
  $section->add_control(
40
  'select_template' ,
41
  [
42
+ 'label' => esc_html__( 'Select Template', 'wpr-addons' ),
43
+ 'type' => 'wpr-ajax-select2',
44
+ 'options' => 'ajaxselect2/get_elementor_templates',
45
+ 'label_block' => true,
46
  ]
47
  );
 
 
 
48
  }
49
  }
50
 
admin/mega-menu.php CHANGED
@@ -1,376 +1,376 @@
1
- <?php
2
- use WprAddons\Plugin;
3
-
4
- // Register Post Type
5
- function register_mega_menu_cpt() {
6
- $args = array(
7
- 'label' => esc_html__( 'Royal Mega Menu', 'wpr-addons' ),
8
- 'public' => true,
9
- 'publicly_queryable' => true,
10
- 'rewrite' => false,
11
- 'show_ui' => true,
12
- 'show_in_menu' => false,
13
- 'show_in_nav_menus' => false,
14
- 'exclude_from_search' => true,
15
- 'capability_type' => 'post',
16
- 'supports' => array( 'title', 'editor', 'elementor' ),
17
- 'hierarchical' => false,
18
- );
19
-
20
- register_post_type( 'wpr_mega_menu', $args );
21
- }
22
-
23
- // Convert to Canvas Template
24
- function convert_to_canvas_template( $template ) {
25
- if ( is_singular('wpr_mega_menu') ) {
26
- $template = WPR_ADDONS_PATH . 'admin/templates/wpr-canvas.php';
27
- }
28
-
29
- return $template;
30
- }
31
-
32
- // Init Mega Menu
33
- function init_mega_menu() {
34
- register_mega_menu_cpt();
35
- add_action( 'template_include', 'convert_to_canvas_template', 9999 );
36
- }
37
-
38
- add_action('init', 'init_mega_menu', 999);
39
-
40
-
41
- // Confinue only for Dashboard Screen
42
- if ( !is_admin() ) return;
43
-
44
- // Init Actions
45
- add_filter( 'option_elementor_cpt_support', 'add_mega_menu_cpt_support' );
46
- add_filter( 'default_option_elementor_cpt_support', 'add_mega_menu_cpt_support' );
47
- add_action( 'admin_footer', 'render_settings_popup', 10 );
48
- add_action( 'wp_ajax_wpr_create_mega_menu_template', 'wpr_create_mega_menu_template' );
49
- add_action( 'wp_ajax_wpr_save_mega_menu_settings', 'wpr_save_mega_menu_settings' );
50
- add_action( 'admin_enqueue_scripts', 'enqueue_scripts' );
51
-
52
- // Add Elementor Editor Support
53
- function add_mega_menu_cpt_support( $value ) {
54
- if ( empty( $value ) ) {
55
- $value = [];
56
- }
57
-
58
- return array_merge( $value, ['wpr_mega_menu'] );
59
- }
60
-
61
- // Create Menu Template
62
- function wpr_create_mega_menu_template() {
63
- if ( ! current_user_can( 'manage_options' ) ) {
64
- return;
65
- }
66
-
67
- // $menu_id = intval( $_REQUEST['menu'] );
68
- // $menu_item_id = intval( $_REQUEST['item'] );
69
- $menu_item_id = intval( $_POST['item_id'] );
70
- $mega_menu_id = get_post_meta( $menu_item_id, 'wpr-mega-menu-item', true );
71
-
72
- if ( ! $mega_menu_id ) {
73
-
74
- $mega_menu_id = wp_insert_post( array(
75
- 'post_title' => 'wpr-mega-menu-item-' . $menu_item_id,
76
- 'post_status' => 'publish',
77
- 'post_type' => 'wpr_mega_menu',
78
- ) );
79
-
80
- update_post_meta( $menu_item_id, 'wpr-mega-menu-item', $mega_menu_id );
81
-
82
- }
83
-
84
- $edit_link = add_query_arg(
85
- array(
86
- 'post' => $mega_menu_id,
87
- 'action' => 'elementor',
88
- ),
89
- admin_url( 'post.php' )
90
- );
91
-
92
- wp_send_json([
93
- 'data' => [
94
- 'edit_link' => $edit_link
95
- ]
96
- ]);
97
- }
98
-
99
- // Render Settings Popup
100
- function render_settings_popup() {
101
- $screen = get_current_screen();
102
-
103
- if ( 'nav-menus' !== $screen->base ) {
104
- return;
105
- }
106
-
107
- ?>
108
-
109
- <div class="wpr-mm-settings-popup-wrap">
110
- <div class="wpr-mm-settings-popup">
111
- <div class="wpr-mm-settings-popup-header">
112
- <span class="wpr-mm-popup-logo" style="background:url('<?php echo WPR_ADDONS_ASSETS_URL .'img/logo-40x40.png'; ?>') no-repeat center center / contain;">RE</span>
113
- <span><?php esc_html_e('Royal Mega Menu', 'wpr-addons'); ?></span>
114
- <span class="wpr-mm-popup-title"><?php esc_html_e('Menu Item: ', 'wpr-addons'); ?><span></span></span>
115
- <span class="dashicons dashicons-no-alt wpr-mm-settings-close-popup-btn"></span>
116
- </div>
117
-
118
- <?php $pro_active = wpr_fs()->can_use_premium_code() ? 'data-pro-active="true"' : 'data-pro-active="false"'; ?>
119
-
120
- <div class="wpr-mm-settings-wrap" <?php echo $pro_active; ?>>
121
- <h4><?php esc_html_e('General', 'wpr-addons'); ?></h4>
122
- <div class="wpr-mm-setting wpr-mm-setting-switcher">
123
- <h4><?php esc_html_e('Enable Mega Menu', 'wpr-addons'); ?></h4>
124
- <input type="checkbox" id="wpr_mm_enable">
125
- <label for="wpr_mm_enable"></label>
126
- </div>
127
- <div class="wpr-mm-setting">
128
- <h4><?php esc_html_e('Mega Menu Content', 'wpr-addons'); ?></h4>
129
- <button class="button button-primary wpr-edit-mega-menu-btn">
130
- <i class="eicon-elementor-square" aria-hidden="true"></i>
131
- <?php esc_html_e('Edit with Elementor', 'wpr-addons'); ?>
132
- </button>
133
- </div>
134
- <div class="wpr-mm-setting">
135
- <h4><?php esc_html_e('Dropdown Position', 'wpr-addons'); ?></h4>
136
- <select id="wpr_mm_position">
137
- <option value="default"><?php esc_html_e('Default', 'wpr-addons'); ?></option>
138
- <option value="relative"><?php esc_html_e('Relative', 'wpr-addons'); ?></option>
139
- </select>
140
- </div>
141
- <div class="wpr-mm-setting">
142
- <h4><?php esc_html_e('Dropdown Width', 'wpr-addons'); ?></h4>
143
- <select id="wpr_mm_width">
144
- <option value="default"><?php esc_html_e('Default', 'wpr-addons'); ?></option>
145
- <?php if ( ! wpr_fs()->can_use_premium_code() ) : ?>
146
- <option value="pro-st"><?php esc_html_e('Fit to Section (Pro)', 'wpr-addons'); ?></option>
147
- <?php else: ?>
148
- <option value="stretch"><?php esc_html_e('Fit to Section', 'wpr-addons'); ?></option>
149
- <?php endif; ?>
150
- <option value="full"><?php esc_html_e('Full Width', 'wpr-addons'); ?></option>
151
- <option value="custom"><?php esc_html_e('Custom', 'wpr-addons'); ?></option>
152
- </select>
153
- </div>
154
- <div class="wpr-mm-setting">
155
- <h4><?php esc_html_e('Custom Width (px)', 'wpr-addons'); ?></h4>
156
- <input type="number" id="wpr_mm_custom_width" value="600">
157
- </div>
158
- <div class="wpr-mm-setting <?php echo !wpr_fs()->can_use_premium_code() ? 'wpr-mm-pro-setting' : ''; ?>">
159
- <h4><?php esc_html_e('Mobile Sub Content', 'wpr-addons'); ?></h4>
160
- <div>
161
- <select id="wpr_mm_mobile_content">
162
- <option value="mega"><?php esc_html_e('Mega Menu', 'wpr-addons'); ?></option>
163
- <option value="wp-sub"><?php esc_html_e('WordPress Sub Items', 'wpr-addons'); ?></option>
164
- </select>
165
-
166
- <div class="wpr-mm-pro-radio">
167
- <input type="radio" name="mc" checked="checked">
168
- <label>Mega Menu</label><br>
169
- <input type="radio" name="mc">
170
- <label>WordPress Sub Items</label>
171
- </div>
172
- </div>
173
- </div>
174
- <div class="wpr-mm-setting <?php echo !wpr_fs()->can_use_premium_code() ? 'wpr-mm-pro-setting' : ''; ?>">
175
- <h4><?php esc_html_e('Mobile Sub Render', 'wpr-addons'); ?></h4>
176
- <div>
177
- <select id="wpr_mm_render">
178
- <option value="default"><?php esc_html_e('Default', 'wpr-addons'); ?></option>
179
- <option value="ajax"><?php esc_html_e('Load with AJAX', 'wpr-addons'); ?></option>
180
- </select>
181
-
182
- <div class="wpr-mm-pro-radio">
183
- <input type="radio" name="mr" checked="checked">
184
- <label>Default</label><br>
185
- <input type="radio" name="mr">
186
- <label>Load with AJAX</label>
187
- </div>
188
- </div>
189
- </div>
190
-
191
- <br>
192
-
193
- <h4 <?php echo !wpr_fs()->can_use_premium_code() ? 'class="wpr-mm-pro-heading"' : ''; ?>>
194
- <?php esc_html_e('Icon', 'wpr-addons'); ?>
195
- </h4>
196
- <div <?php echo !wpr_fs()->can_use_premium_code() ? 'class="wpr-mm-pro-section"' : ''; ?>>
197
- <div class="wpr-mm-setting wpr-mm-setting-icon">
198
- <h4><?php esc_html_e('Icon Select', 'wpr-addons'); ?></h4>
199
- <div><span class="wpr-mm-active-icon"><i class="fas fa-ban"></i></span><span><i class="fas fa-angle-down"></i></span></div>
200
- <input type="text" id="wpr_mm_icon_picker" data-alpha="true" value="">
201
- </div>
202
- <div class="wpr-mm-setting wpr-mm-setting-color">
203
- <h4><?php esc_html_e('Icon Color', 'wpr-addons'); ?></h4>
204
- <input type="text" id="wpr_mm_icon_color" data-alpha="true" value="rgba(0,0,0,0.6);">
205
- </div>
206
- <div class="wpr-mm-setting">
207
- <h4><?php esc_html_e('Icon Size (px)', 'wpr-addons'); ?></h4>
208
- <input type="number" id="wpr_mm_icon_size" value="14">
209
- </div>
210
- </div>
211
-
212
- <br>
213
-
214
- <h4 <?php echo !wpr_fs()->can_use_premium_code() ? 'class="wpr-mm-pro-heading"' : ''; ?>>
215
- <?php esc_html_e('Badge', 'wpr-addons'); ?>
216
- </h4>
217
- <div <?php echo !wpr_fs()->can_use_premium_code() ? 'class="wpr-mm-pro-section"' : ''; ?>>
218
- <div class="wpr-mm-setting">
219
- <h4><?php esc_html_e('Badge Text', 'wpr-addons'); ?></h4>
220
- <input type="text" id="wpr_mm_badge_text" value="">
221
- </div>
222
- <div class="wpr-mm-setting wpr-mm-setting-color">
223
- <h4><?php esc_html_e('Badge Text Color', 'wpr-addons'); ?></h4>
224
- <input type="text" id="wpr_mm_badge_color" data-alpha="true" value="rgba(0,0,0,0.6);">
225
- </div>
226
- <div class="wpr-mm-setting wpr-mm-setting-color">
227
- <h4><?php esc_html_e('Badge Background Color', 'wpr-addons'); ?></h4>
228
- <input type="text" id="wpr_mm_badge_bg_color" data-alpha="true" value="rgba(0,0,0,0.6);">
229
- </div>
230
- <div class="wpr-mm-setting wpr-mm-setting-switcher">
231
- <h4><?php esc_html_e('Enable Animation', 'wpr-addons'); ?></h4>
232
- <input type="checkbox" id="wpr_mm_badge_animation">
233
- <label for="wpr_mm_badge_animation"></label>
234
- </div>
235
- </div>
236
- </div>
237
-
238
- <div class="wpr-mm-settings-popup-footer">
239
- <button class="button wpr-save-mega-menu-btn"><?php esc_html_e('Save', 'wpr-addons'); ?></button>
240
- </div>
241
- </div>
242
- </div>
243
-
244
- <!-- Iframe Popup -->
245
- <div class="wpr-mm-editor-popup-wrap">
246
- <div class="wpr-mm-editor-close-popup-btn"><span class="dashicons dashicons-no-alt"></span></div>
247
- <div class="wpr-mm-editor-popup-iframe"></div>
248
- </div>
249
- <?php
250
- }
251
-
252
- // Save Mega Menu Settings
253
- function wpr_save_mega_menu_settings() {
254
- if ( isset($_POST['item_settings']) ) {
255
- update_post_meta( $_POST['item_id'], 'wpr-mega-menu-settings', $_POST['item_settings'] );
256
- }
257
-
258
- wp_send_json_success($_POST['item_settings']);
259
- }
260
-
261
- // Get Menu Items Data
262
- function get_menu_items_data( $menu_id = false ) {
263
-
264
- if ( ! $menu_id ) {
265
- return false;
266
- }
267
-
268
- $menu = wp_get_nav_menu_object( $menu_id );
269
-
270
- $menu_items = wp_get_nav_menu_items( $menu );
271
-
272
- if ( ! $menu_items ) {
273
- return false;
274
- }
275
-
276
- return $menu_items;
277
- }
278
-
279
- // Get Mega Menu Item Settings
280
- function get_menu_items_settings() {
281
- $menu_items = get_menu_items_data( get_selected_menu_id() );
282
-
283
- $settings = [];
284
-
285
- if ( ! $menu_items ) {
286
- return [];
287
- } else {
288
- foreach ( $menu_items as $key => $item_object ) {
289
- $item_id = $item_object->ID;
290
-
291
- $item_meta = get_post_meta( $item_id, 'wpr-mega-menu-settings', true );
292
-
293
- if ( !empty($item_meta) ) {
294
- $settings[ $item_id ] = $item_meta;
295
- } else {
296
- $settings[ $item_id ] = [];
297
- }
298
- }
299
-
300
- return $settings;
301
- }
302
- }
303
-
304
- /**
305
- * Get the Selected menu ID
306
- * @author Tom Hemsley (https://wordpress.org/plugins/megamenu/)
307
- */
308
- function get_selected_menu_id() {
309
- $nav_menus = wp_get_nav_menus( array('orderby' => 'name') );
310
- $menu_count = count( $nav_menus );
311
- $nav_menu_selected_id = isset( $_REQUEST['menu'] ) ? (int) $_REQUEST['menu'] : 0;
312
- $add_new_screen = ( isset( $_GET['menu'] ) && 0 == $_GET['menu'] ) ? true : false;
313
-
314
- $current_menu_id = $nav_menu_selected_id;
315
-
316
- // If we have one theme location, and zero menus, we take them right into editing their first menu
317
- $page_count = wp_count_posts( 'page' );
318
- $one_theme_location_no_menus = ( 1 == count( get_registered_nav_menus() ) && ! $add_new_screen && empty( $nav_menus ) && ! empty( $page_count->publish ) ) ? true : false;
319
-
320
- // Get recently edited nav menu
321
- $recently_edited = absint( get_user_option( 'nav_menu_recently_edited' ) );
322
- if ( empty( $recently_edited ) && is_nav_menu( $current_menu_id ) ) {
323
- $recently_edited = $current_menu_id;
324
- }
325
-
326
- // Use $recently_edited if none are selected
327
- if ( empty( $current_menu_id ) && ! isset( $_GET['menu'] ) && is_nav_menu( $recently_edited ) ) {
328
- $current_menu_id = $recently_edited;
329
- }
330
-
331
- // On deletion of menu, if another menu exists, show it
332
- if ( ! $add_new_screen && 0 < $menu_count && isset( $_GET['action'] ) && 'delete' == $_GET['action'] ) {
333
- $current_menu_id = $nav_menus[0]->term_id;
334
- }
335
-
336
- // Set $current_menu_id to 0 if no menus
337
- if ( $one_theme_location_no_menus ) {
338
- $current_menu_id = 0;
339
- } elseif ( empty( $current_menu_id ) && ! empty( $nav_menus ) && ! $add_new_screen ) {
340
- // if we have no selection yet, and we have menus, set to the first one in the list
341
- $current_menu_id = $nav_menus[0]->term_id;
342
- }
343
-
344
- return $current_menu_id;
345
-
346
- }
347
-
348
- // Enqueue Scripts and Styles
349
- function enqueue_scripts( $hook ) {
350
-
351
- // Get Plugin Version
352
- $version = Plugin::instance()->get_version();
353
-
354
- // Deny if NOT a Menu Page
355
- if ( 'nav-menus.php' == $hook ) {
356
-
357
- // Color Picker
358
- wp_enqueue_style( 'wp-color-picker' );
359
- wp_enqueue_script( 'wp-color-picker-alpha', WPR_ADDONS_URL .'assets/js/admin/lib/wp-color-picker-alpha.min.js', ['jquery', 'wp-color-picker'], $version, true );
360
-
361
- // Icon Picker
362
- wp_enqueue_script( 'wpr-iconpicker-js', WPR_ADDONS_URL .'assets/js/admin/lib/iconpicker/fontawesome-iconpicker.min.js', ['jquery'], $version, true );
363
- wp_enqueue_style( 'wpr-iconpicker-css', WPR_ADDONS_URL .'assets/js/admin/lib/iconpicker/fontawesome-iconpicker.min.css', $version, true );
364
- wp_enqueue_style( 'wpr-el-fontawesome-css', ELEMENTOR_URL .'assets/lib/font-awesome/css/all.min.css', [], $version );
365
-
366
- // enqueue CSS
367
- wp_enqueue_style( 'wpr-mega-menu-css', WPR_ADDONS_URL .'assets/css/admin/mega-menu.css', [], $version );
368
-
369
- // enqueue JS
370
- wp_enqueue_script( 'wpr-mega-menu-js', WPR_ADDONS_URL .'assets/js/admin/mega-menu.js', ['jquery'], $version );
371
-
372
- wp_localize_script( 'wpr-mega-menu-js', 'WprMegaMenuSettingsData', get_menu_items_settings() );
373
-
374
- }
375
-
376
  }
1
+ <?php
2
+ use WprAddons\Plugin;
3
+
4
+ // Register Post Type
5
+ function register_mega_menu_cpt() {
6
+ $args = array(
7
+ 'label' => esc_html__( 'Royal Mega Menu', 'wpr-addons' ),
8
+ 'public' => true,
9
+ 'publicly_queryable' => true,
10
+ 'rewrite' => false,
11
+ 'show_ui' => true,
12
+ 'show_in_menu' => false,
13
+ 'show_in_nav_menus' => false,
14
+ 'exclude_from_search' => true,
15
+ 'capability_type' => 'post',
16
+ 'supports' => array( 'title', 'editor', 'elementor' ),
17
+ 'hierarchical' => false,
18
+ );
19
+
20
+ register_post_type( 'wpr_mega_menu', $args );
21
+ }
22
+
23
+ // Convert to Canvas Template
24
+ function convert_to_canvas_template( $template ) {
25
+ if ( is_singular('wpr_mega_menu') ) {
26
+ $template = WPR_ADDONS_PATH . 'admin/templates/wpr-canvas.php';
27
+ }
28
+
29
+ return $template;
30
+ }
31
+
32
+ // Init Mega Menu
33
+ function init_mega_menu() {
34
+ register_mega_menu_cpt();
35
+ add_action( 'template_include', 'convert_to_canvas_template', 9999 );
36
+ }
37
+
38
+ add_action('init', 'init_mega_menu', 999);
39
+
40
+
41
+ // Confinue only for Dashboard Screen
42
+ if ( !is_admin() ) return;
43
+
44
+ // Init Actions
45
+ add_filter( 'option_elementor_cpt_support', 'add_mega_menu_cpt_support' );
46
+ add_filter( 'default_option_elementor_cpt_support', 'add_mega_menu_cpt_support' );
47
+ add_action( 'admin_footer', 'render_settings_popup', 10 );
48
+ add_action( 'wp_ajax_wpr_create_mega_menu_template', 'wpr_create_mega_menu_template' );
49
+ add_action( 'wp_ajax_wpr_save_mega_menu_settings', 'wpr_save_mega_menu_settings' );
50
+ add_action( 'admin_enqueue_scripts', 'enqueue_scripts' );
51
+
52
+ // Add Elementor Editor Support
53
+ function add_mega_menu_cpt_support( $value ) {
54
+ if ( empty( $value ) ) {
55
+ $value = [];
56
+ }
57
+
58
+ return array_merge( $value, ['wpr_mega_menu'] );
59
+ }
60
+
61
+ // Create Menu Template
62
+ function wpr_create_mega_menu_template() {
63
+ if ( ! current_user_can( 'manage_options' ) ) {
64
+ return;
65
+ }
66
+
67
+ // $menu_id = intval( $_REQUEST['menu'] );
68
+ // $menu_item_id = intval( $_REQUEST['item'] );
69
+ $menu_item_id = intval( $_POST['item_id'] );
70
+ $mega_menu_id = get_post_meta( $menu_item_id, 'wpr-mega-menu-item', true );
71
+
72
+ if ( ! $mega_menu_id ) {
73
+
74
+ $mega_menu_id = wp_insert_post( array(
75
+ 'post_title' => 'wpr-mega-menu-item-' . $menu_item_id,
76
+ 'post_status' => 'publish',
77
+ 'post_type' => 'wpr_mega_menu',
78
+ ) );
79
+
80
+ update_post_meta( $menu_item_id, 'wpr-mega-menu-item', $mega_menu_id );
81
+
82
+ }
83
+
84
+ $edit_link = add_query_arg(
85
+ array(
86
+ 'post' => $mega_menu_id,
87
+ 'action' => 'elementor',
88
+ ),
89
+ admin_url( 'post.php' )
90
+ );
91
+
92
+ wp_send_json([
93
+ 'data' => [
94
+ 'edit_link' => $edit_link
95
+ ]
96
+ ]);
97
+ }
98
+
99
+ // Render Settings Popup
100
+ function render_settings_popup() {
101
+ $screen = get_current_screen();
102
+
103
+ if ( 'nav-menus' !== $screen->base ) {
104
+ return;
105
+ }
106
+
107
+ ?>
108
+
109
+ <div class="wpr-mm-settings-popup-wrap">
110
+ <div class="wpr-mm-settings-popup">
111
+ <div class="wpr-mm-settings-popup-header">
112
+ <span class="wpr-mm-popup-logo" style="background:url('<?php echo WPR_ADDONS_ASSETS_URL .'img/logo-40x40.png'; ?>') no-repeat center center / contain;">RE</span>
113
+ <span><?php esc_html_e('Royal Mega Menu', 'wpr-addons'); ?></span>
114
+ <span class="wpr-mm-popup-title"><?php esc_html_e('Menu Item: ', 'wpr-addons'); ?><span></span></span>
115
+ <span class="dashicons dashicons-no-alt wpr-mm-settings-close-popup-btn"></span>
116
+ </div>
117
+
118
+ <?php $pro_active = wpr_fs()->can_use_premium_code() ? 'data-pro-active="true"' : 'data-pro-active="false"'; ?>
119
+
120
+ <div class="wpr-mm-settings-wrap" <?php echo $pro_active; ?>>
121
+ <h4><?php esc_html_e('General', 'wpr-addons'); ?></h4>
122
+ <div class="wpr-mm-setting wpr-mm-setting-switcher">
123
+ <h4><?php esc_html_e('Enable Mega Menu', 'wpr-addons'); ?></h4>
124
+ <input type="checkbox" id="wpr_mm_enable">
125
+ <label for="wpr_mm_enable"></label>
126
+ </div>
127
+ <div class="wpr-mm-setting">
128
+ <h4><?php esc_html_e('Mega Menu Content', 'wpr-addons'); ?></h4>
129
+ <button class="button button-primary wpr-edit-mega-menu-btn">
130
+ <i class="eicon-elementor-square" aria-hidden="true"></i>
131
+ <?php esc_html_e('Edit with Elementor', 'wpr-addons'); ?>
132
+ </button>
133
+ </div>
134
+ <div class="wpr-mm-setting">
135
+ <h4><?php esc_html_e('Dropdown Position', 'wpr-addons'); ?></h4>
136
+ <select id="wpr_mm_position">
137
+ <option value="default"><?php esc_html_e('Default', 'wpr-addons'); ?></option>
138
+ <option value="relative"><?php esc_html_e('Relative', 'wpr-addons'); ?></option>
139
+ </select>
140
+ </div>
141
+ <div class="wpr-mm-setting">
142
+ <h4><?php esc_html_e('Dropdown Width', 'wpr-addons'); ?></h4>
143
+ <select id="wpr_mm_width">
144
+ <option value="default"><?php esc_html_e('Default', 'wpr-addons'); ?></option>
145
+ <?php if ( ! wpr_fs()->can_use_premium_code() ) : ?>
146
+ <option value="pro-st"><?php esc_html_e('Fit to Section (Pro)', 'wpr-addons'); ?></option>
147
+ <?php else: ?>
148
+ <option value="stretch"><?php esc_html_e('Fit to Section', 'wpr-addons'); ?></option>
149
+ <?php endif; ?>
150
+ <option value="full"><?php esc_html_e('Full Width', 'wpr-addons'); ?></option>
151
+ <option value="custom"><?php esc_html_e('Custom', 'wpr-addons'); ?></option>
152
+ </select>
153
+ </div>
154
+ <div class="wpr-mm-setting">
155
+ <h4><?php esc_html_e('Custom Width (px)', 'wpr-addons'); ?></h4>
156
+ <input type="number" id="wpr_mm_custom_width" value="600">
157
+ </div>
158
+ <div class="wpr-mm-setting <?php echo !wpr_fs()->can_use_premium_code() ? 'wpr-mm-pro-setting' : ''; ?>">
159
+ <h4><?php esc_html_e('Mobile Sub Content', 'wpr-addons'); ?></h4>
160
+ <div>
161
+ <select id="wpr_mm_mobile_content">
162
+ <option value="mega"><?php esc_html_e('Mega Menu', 'wpr-addons'); ?></option>
163
+ <option value="wp-sub"><?php esc_html_e('WordPress Sub Items', 'wpr-addons'); ?></option>
164
+ </select>
165
+
166
+ <div class="wpr-mm-pro-radio">
167
+ <input type="radio" name="mc" checked="checked">
168
+ <label>Mega Menu</label><br>
169
+ <input type="radio" name="mc">
170
+ <label>WordPress Sub Items</label>
171
+ </div>
172
+ </div>
173
+ </div>
174
+ <div class="wpr-mm-setting <?php echo !wpr_fs()->can_use_premium_code() ? 'wpr-mm-pro-setting' : ''; ?>">
175
+ <h4><?php esc_html_e('Mobile Sub Render', 'wpr-addons'); ?></h4>
176
+ <div>
177
+ <select id="wpr_mm_render">
178
+ <option value="default"><?php esc_html_e('Default', 'wpr-addons'); ?></option>
179
+ <option value="ajax"><?php esc_html_e('Load with AJAX', 'wpr-addons'); ?></option>
180
+ </select>
181
+
182
+ <div class="wpr-mm-pro-radio">
183
+ <input type="radio" name="mr" checked="checked">
184
+ <label>Default</label><br>
185
+ <input type="radio" name="mr">
186
+ <label>Load with AJAX</label>
187
+ </div>
188
+ </div>
189
+ </div>
190
+
191
+ <br>
192
+
193
+ <h4 <?php echo !wpr_fs()->can_use_premium_code() ? 'class="wpr-mm-pro-heading"' : ''; ?>>
194
+ <?php esc_html_e('Icon', 'wpr-addons'); ?>
195
+ </h4>
196
+ <div <?php echo !wpr_fs()->can_use_premium_code() ? 'class="wpr-mm-pro-section"' : ''; ?>>
197
+ <div class="wpr-mm-setting wpr-mm-setting-icon">
198
+ <h4><?php esc_html_e('Icon Select', 'wpr-addons'); ?></h4>
199
+ <div><span class="wpr-mm-active-icon"><i class="fas fa-ban"></i></span><span><i class="fas fa-angle-down"></i></span></div>
200
+ <input type="text" id="wpr_mm_icon_picker" data-alpha="true" value="">
201
+ </div>
202
+ <div class="wpr-mm-setting wpr-mm-setting-color">
203
+ <h4><?php esc_html_e('Icon Color', 'wpr-addons'); ?></h4>
204
+ <input type="text" id="wpr_mm_icon_color" data-alpha="true" value="rgba(0,0,0,0.6);">
205
+ </div>
206
+ <div class="wpr-mm-setting">
207
+ <h4><?php esc_html_e('Icon Size (px)', 'wpr-addons'); ?></h4>
208
+ <input type="number" id="wpr_mm_icon_size" value="14">
209
+ </div>
210
+ </div>
211
+
212
+ <br>
213
+
214
+ <h4 <?php echo !wpr_fs()->can_use_premium_code() ? 'class="wpr-mm-pro-heading"' : ''; ?>>
215
+ <?php esc_html_e('Badge', 'wpr-addons'); ?>
216
+ </h4>
217
+ <div <?php echo !wpr_fs()->can_use_premium_code() ? 'class="wpr-mm-pro-section"' : ''; ?>>
218
+ <div class="wpr-mm-setting">
219
+ <h4><?php esc_html_e('Badge Text', 'wpr-addons'); ?></h4>
220
+ <input type="text" id="wpr_mm_badge_text" value="">
221
+ </div>
222
+ <div class="wpr-mm-setting wpr-mm-setting-color">
223
+ <h4><?php esc_html_e('Badge Text Color', 'wpr-addons'); ?></h4>
224
+ <input type="text" id="wpr_mm_badge_color" data-alpha="true" value="rgba(0,0,0,0.6);">
225
+ </div>
226
+ <div class="wpr-mm-setting wpr-mm-setting-color">
227
+ <h4><?php esc_html_e('Badge Background Color', 'wpr-addons'); ?></h4>
228
+ <input type="text" id="wpr_mm_badge_bg_color" data-alpha="true" value="rgba(0,0,0,0.6);">
229
+ </div>
230
+ <div class="wpr-mm-setting wpr-mm-setting-switcher">
231
+ <h4><?php esc_html_e('Enable Animation', 'wpr-addons'); ?></h4>
232
+ <input type="checkbox" id="wpr_mm_badge_animation">
233
+ <label for="wpr_mm_badge_animation"></label>
234
+ </div>
235
+ </div>
236
+ </div>
237
+
238
+ <div class="wpr-mm-settings-popup-footer">
239
+ <button class="button wpr-save-mega-menu-btn"><?php esc_html_e('Save', 'wpr-addons'); ?></button>
240
+ </div>
241
+ </div>
242
+ </div>
243
+
244
+ <!-- Iframe Popup -->
245
+ <div class="wpr-mm-editor-popup-wrap">
246
+ <div class="wpr-mm-editor-close-popup-btn"><span class="dashicons dashicons-no-alt"></span></div>
247
+ <div class="wpr-mm-editor-popup-iframe"></div>
248
+ </div>
249
+ <?php
250
+ }
251
+
252
+ // Save Mega Menu Settings
253
+ function wpr_save_mega_menu_settings() {
254
+ if ( isset($_POST['item_settings']) ) {
255
+ update_post_meta( $_POST['item_id'], 'wpr-mega-menu-settings', $_POST['item_settings'] );
256
+ }
257
+
258
+ wp_send_json_success($_POST['item_settings']);
259
+ }
260
+
261
+ // Get Menu Items Data
262
+ function get_menu_items_data( $menu_id = false ) {
263
+
264
+ if ( ! $menu_id ) {
265
+ return false;
266
+ }
267
+
268
+ $menu = wp_get_nav_menu_object( $menu_id );
269
+
270
+ $menu_items = wp_get_nav_menu_items( $menu );
271
+
272
+ if ( ! $menu_items ) {
273
+ return false;
274
+ }
275
+
276
+ return $menu_items;
277
+ }
278
+
279
+ // Get Mega Menu Item Settings
280
+ function get_menu_items_settings() {
281
+ $menu_items = get_menu_items_data( get_selected_menu_id() );
282
+
283
+ $settings = [];
284
+
285
+ if ( ! $menu_items ) {
286
+ return [];
287
+ } else {
288
+ foreach ( $menu_items as $key => $item_object ) {
289
+ $item_id = $item_object->ID;
290
+
291
+ $item_meta = get_post_meta( $item_id, 'wpr-mega-menu-settings', true );
292
+
293
+ if ( !empty($item_meta) ) {
294
+ $settings[ $item_id ] = $item_meta;
295
+ } else {
296
+ $settings[ $item_id ] = [];
297
+ }
298
+ }
299
+
300
+ return $settings;
301
+ }
302
+ }
303
+
304
+ /**
305
+ * Get the Selected menu ID
306
+ * @author Tom Hemsley (https://wordpress.org/plugins/megamenu/)
307
+ */
308
+ function get_selected_menu_id() {
309
+ $nav_menus = wp_get_nav_menus( array('orderby' => 'name') );
310
+ $menu_count = count( $nav_menus );
311
+ $nav_menu_selected_id = isset( $_REQUEST['menu'] ) ? (int) $_REQUEST['menu'] : 0;
312
+ $add_new_screen = ( isset( $_GET['menu'] ) && 0 == $_GET['menu'] ) ? true : false;
313
+
314
+ $current_menu_id = $nav_menu_selected_id;
315
+
316
+ // If we have one theme location, and zero menus, we take them right into editing their first menu
317
+ $page_count = wp_count_posts( 'page' );
318
+ $one_theme_location_no_menus = ( 1 == count( get_registered_nav_menus() ) && ! $add_new_screen && empty( $nav_menus ) && ! empty( $page_count->publish ) ) ? true : false;
319
+
320
+ // Get recently edited nav menu
321
+ $recently_edited = absint( get_user_option( 'nav_menu_recently_edited' ) );
322
+ if ( empty( $recently_edited ) && is_nav_menu( $current_menu_id ) ) {
323
+ $recently_edited = $current_menu_id;
324
+ }
325
+
326
+ // Use $recently_edited if none are selected
327
+ if ( empty( $current_menu_id ) && ! isset( $_GET['menu'] ) && is_nav_menu( $recently_edited ) ) {
328
+ $current_menu_id = $recently_edited;
329
+ }
330
+
331
+ // On deletion of menu, if another menu exists, show it
332
+ if ( ! $add_new_screen && 0 < $menu_count && isset( $_GET['action'] ) && 'delete' == $_GET['action'] ) {
333
+ $current_menu_id = $nav_menus[0]->term_id;
334
+ }
335
+
336
+ // Set $current_menu_id to 0 if no menus
337
+ if ( $one_theme_location_no_menus ) {
338
+ $current_menu_id = 0;
339
+ } elseif ( empty( $current_menu_id ) && ! empty( $nav_menus ) && ! $add_new_screen ) {
340
+ // if we have no selection yet, and we have menus, set to the first one in the list
341
+ $current_menu_id = $nav_menus[0]->term_id;
342
+ }
343
+
344
+ return $current_menu_id;
345
+
346
+ }
347
+
348
+ // Enqueue Scripts and Styles
349
+ function enqueue_scripts( $hook ) {
350
+
351
+ // Get Plugin Version
352
+ $version = Plugin::instance()->get_version();
353
+
354
+ // Deny if NOT a Menu Page
355
+ if ( 'nav-menus.php' == $hook ) {
356
+
357
+ // Color Picker
358
+ wp_enqueue_style( 'wp-color-picker' );
359
+ wp_enqueue_script( 'wp-color-picker-alpha', WPR_ADDONS_URL .'assets/js/admin/lib/wp-color-picker-alpha.min.js', ['jquery', 'wp-color-picker'], $version, true );
360
+
361
+ // Icon Picker
362
+ wp_enqueue_script( 'wpr-iconpicker-js', WPR_ADDONS_URL .'assets/js/admin/lib/iconpicker/fontawesome-iconpicker.min.js', ['jquery'], $version, true );
363
+ wp_enqueue_style( 'wpr-iconpicker-css', WPR_ADDONS_URL .'assets/js/admin/lib/iconpicker/fontawesome-iconpicker.min.css', $version, true );
364
+ wp_enqueue_style( 'wpr-el-fontawesome-css', ELEMENTOR_URL .'assets/lib/font-awesome/css/all.min.css', [], $version );
365
+
366
+ // enqueue CSS
367
+ wp_enqueue_style( 'wpr-mega-menu-css', WPR_ADDONS_URL .'assets/css/admin/mega-menu.css', [], $version );
368
+
369
+ // enqueue JS
370
+ wp_enqueue_script( 'wpr-mega-menu-js', WPR_ADDONS_URL .'assets/js/admin/mega-menu.js', ['jquery'], $version );
371
+
372
+ wp_localize_script( 'wpr-mega-menu-js', 'WprMegaMenuSettingsData', get_menu_items_settings() );
373
+
374
+ }
375
+
376
  }
admin/plugin-options.php CHANGED
@@ -1,571 +1,571 @@
1
- <?php
2
-
3
- if ( ! defined( 'ABSPATH' ) ) {
4
- exit; // Exit if accessed directly.
5
- }
6
-
7
- use WprAddons\Admin\Includes\WPR_Templates_Loop;
8
- use WprAddonsPro\Admin\Wpr_White_Label;
9
- use WprAddons\Classes\Utilities;
10
-
11
- // Register Menus
12
- function wpr_addons_add_admin_menu() {
13
- $menu_icon = !empty(get_option('wpr_wl_plugin_logo')) ? 'dashicons-admin-generic' : 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOTciIGhlaWdodD0iNzUiIHZpZXdCb3g9IjAgMCA5NyA3NSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTAuMDM2NDA4NiAyMy4yODlDLTAuNTc1NDkgMTguNTIxIDYuNjg4NzMgMTYuMzY2NiA5LjU0OSAyMC40Njc4TDQyLjgzNjUgNjguMTk3MkM0NC45MTgxIDcxLjE4MiA0Mi40NDk0IDc1IDM4LjQzNzggNzVIMTEuMjc1NkM4LjY1NDc1IDc1IDYuNDUyNjQgNzMuMjg1NSA2LjE2MTcgNzEuMDE4NEwwLjAzNjQwODYgMjMuMjg5WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTk2Ljk2MzYgMjMuMjg5Qzk3LjU3NTUgMTguNTIxIDkwLjMxMTMgMTYuMzY2NiA4Ny40NTEgMjAuNDY3OEw1NC4xNjM1IDY4LjE5NzJDNTIuMDgxOCA3MS4xODIgNTQuNTUwNiA3NSA1OC41NjIyIDc1SDg1LjcyNDRDODguMzQ1MiA3NSA5MC41NDc0IDczLjI4NTUgOTAuODM4MyA3MS4wMTg0TDk2Ljk2MzYgMjMuMjg5WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTUzLjI0MTIgNC40ODUyN0M1My4yNDEyIC0wLjI3MDc2MSA0NS44NDg1IC0xLjc0ODAzIDQzLjQ2NTEgMi41MzE3NEw2LjY4OTkxIDY4LjU2NzdDNS4wMzM0OSA3MS41NDIxIDcuNTIyNzIgNzUgMTEuMzIwMyA3NUg0OC4wOTU1QzUwLjkzNzQgNzUgNTMuMjQxMiA3Mi45OTQ4IDUzLjI0MTIgNzAuNTIxMlY0LjQ4NTI3WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTQzLjc1ODggNC40ODUyN0M0My43NTg4IC0wLjI3MDc2MSA1MS4xNTE1IC0xLjc0ODAzIDUzLjUzNDkgMi41MzE3NEw5MC4zMTAxIDY4LjU2NzdDOTEuOTY2NSA3MS41NDIxIDg5LjQ3NzMgNzUgODUuNjc5NyA3NUg0OC45MDQ1QzQ2LjA2MjYgNzUgNDMuNzU4OCA3Mi45OTQ4IDQzLjc1ODggNzAuNTIxMlY0LjQ4NTI3WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg==';
14
- add_menu_page( Utilities::get_plugin_name(), Utilities::get_plugin_name(), 'manage_options', 'wpr-addons', 'wpr_addons_settings_page', $menu_icon, '58.6' );
15
-
16
- add_action( 'admin_init', 'wpr_register_addons_settings' );
17
- add_filter( 'plugin_action_links_'. WPR_ADDONS_PLUGIN_BASE, 'wpr_settings_link' );
18
- }
19
- add_action( 'admin_menu', 'wpr_addons_add_admin_menu' );
20
-
21
- // Add Settings page link to plugins screen
22
- function wpr_settings_link( $links ) {
23
- $settings_link = '<a href="admin.php?page=wpr-addons">Settings</a>';
24
- array_push( $links, $settings_link );
25
-
26
- if ( !is_plugin_installed('wpr-addons-pro/wpr-addons-pro.php') ) {
27
- $links[] = '<a href="https://royal-elementor-addons.com/?ref=rea-plugin-backend-wpplugindashboard-upgrade-pro#purchasepro" style="color:#93003c;font-weight:700" target="_blank">' . esc_html__('Go Pro', 'wpr-addons') . '</a>';
28
- }
29
-
30
- return $links;
31
- }
32
-
33
- function is_plugin_installed($file) {
34
- $installed_plugins = [];
35
-
36
- foreach( get_plugins() as $slug => $plugin_info ) {
37
- array_push($installed_plugins, $slug);
38
- }
39
-
40
- if ( in_array($file, $installed_plugins) ) {
41
- return true;
42
- } else {
43
- return false;
44
- }
45
- }
46
-
47
- // Register Settings
48
- function wpr_register_addons_settings() {
49
- // WooCommerce
50
- register_setting( 'wpr-settings', 'wpr_override_woo_templates' );
51
- register_setting( 'wpr-settings', 'wpr_enable_product_image_zoom' );
52
- register_setting( 'wpr-settings', 'wpr_enable_woo_flexslider_navigation' );
53
- register_setting( 'wpr-settings', 'wpr_woo_shop_ppp' );
54
- register_setting( 'wpr-settings', 'wpr_woo_shop_cat_ppp' );
55
- register_setting( 'wpr-settings', 'wpr_woo_shop_tag_ppp' );
56
-
57
- // Integrations
58
- register_setting( 'wpr-settings', 'wpr_google_map_api_key' );
59
- register_setting( 'wpr-settings', 'wpr_mailchimp_api_key' );
60
-
61
- // Lightbox
62
- register_setting( 'wpr-settings', 'wpr_lb_bg_color' );
63
- register_setting( 'wpr-settings', 'wpr_lb_toolbar_color' );
64
- register_setting( 'wpr-settings', 'wpr_lb_caption_color' );
65
- register_setting( 'wpr-settings', 'wpr_lb_gallery_color' );
66
- register_setting( 'wpr-settings', 'wpr_lb_pb_color' );
67
- register_setting( 'wpr-settings', 'wpr_lb_ui_color' );
68
- register_setting( 'wpr-settings', 'wpr_lb_ui_hr_color' );
69
- register_setting( 'wpr-settings', 'wpr_lb_text_color' );
70
- register_setting( 'wpr-settings', 'wpr_lb_icon_size' );
71
- register_setting( 'wpr-settings', 'wpr_lb_arrow_size' );
72
- register_setting( 'wpr-settings', 'wpr_lb_text_size' );
73
-
74
- // White Label
75
- register_setting( 'wpr-wh-settings', 'wpr_wl_plugin_logo' );
76
- register_setting( 'wpr-wh-settings', 'wpr_wl_plugin_name' );
77
- register_setting( 'wpr-wh-settings', 'wpr_wl_plugin_desc' );
78
- register_setting( 'wpr-wh-settings', 'wpr_wl_plugin_author' );
79
- register_setting( 'wpr-wh-settings', 'wpr_wl_plugin_website' );
80
- register_setting( 'wpr-wh-settings', 'wpr_wl_plugin_links' );
81
- register_setting( 'wpr-wh-settings', 'wpr_wl_hide_elements_tab' );
82
- register_setting( 'wpr-wh-settings', 'wpr_wl_hide_extensions_tab' );
83
- register_setting( 'wpr-wh-settings', 'wpr_wl_hide_settings_tab' );
84
- register_setting( 'wpr-wh-settings', 'wpr_wl_hide_white_label_tab' );
85
-
86
- // Extensions
87
- register_setting('wpr-extension-settings', 'wpr-particles');
88
- register_setting('wpr-extension-settings', 'wpr-parallax-background');
89
- register_setting('wpr-extension-settings', 'wpr-parallax-multi-layer');
90
- register_setting('wpr-extension-settings', 'wpr-sticky-section');
91
-
92
- // Element Toggle
93
- register_setting( 'wpr-elements-settings', 'wpr-element-toggle-all', [ 'default' => 'on' ] );
94
-
95
- // Widgets
96
- foreach ( Utilities::get_registered_modules() as $title => $data ) {
97
- $slug = $data[0];
98
- register_setting( 'wpr-elements-settings', 'wpr-element-'. $slug, [ 'default' => 'on' ] );
99
- }
100
-
101
- // Theme Builder
102
- foreach ( Utilities::get_theme_builder_modules() as $title => $data ) {
103
- $slug = $data[0];
104
- register_setting( 'wpr-elements-settings', 'wpr-element-'. $slug, [ 'default' => 'on' ] );
105
- }
106
-
107
-
108
- // WooCommerce Builder
109
- foreach ( Utilities::get_woocommerce_builder_modules() as $title => $data ) {
110
- $slug = $data[0];
111
- register_setting( 'wpr-elements-settings', 'wpr-element-'. $slug, [ 'default' => 'on' ] );
112
- }
113
-
114
- }
115
-
116
- function wpr_addons_settings_page() {
117
-
118
- ?>
119
-
120
- <div class="wrap wpr-settings-page-wrap">
121
-
122
- <div class="wpr-settings-page-header">
123
- <h1><?php echo esc_html(Utilities::get_plugin_name(true)); ?></h1>
124
- <p><?php esc_html_e( 'The most powerful Elementor Addons in the universe.', 'wpr-addons' ); ?></p>
125
-
126
- <?php if ( empty(get_option('wpr_wl_plugin_links')) ) : ?>
127
- <div class="wpr-preview-buttons">
128
- <a href="https://royal-elementor-addons.com/?ref=rea-plugin-backend-plugin-prev-btn#widgets" target="_blank" class="button wpr-options-button">
129
- <span><?php echo esc_html__( 'View Plugin Demo', 'wpr-addons' ); ?></span>
130
- <span class="dashicons dashicons-external"></span>
131
- </a>
132
-
133
- <a href="https://www.youtube.com/watch?v=rkYQfn3tUc0" class="wpr-options-button button" target="_blank">
134
- <?php echo esc_html__( 'How to use Widgets', 'wpr-addons' ); ?>
135
- <span class="dashicons dashicons-video-alt3"></span>
136
- </a>
137
-
138
- <a href="https://royaladdons.frill.co/b/6m4d5qm4/feature-ideas" class="wpr-options-button button" target="_blank">
139
- <?php echo esc_html__( 'Request New Feature', 'wpr-addons' ); ?>
140
- <span class="dashicons dashicons-star-empty"></span>
141
- </a>
142
- </div>
143
- <?php endif; ?>
144
- </div>
145
-
146
- <div class="wpr-settings-page">
147
- <form method="post" action="options.php">
148
- <?php
149
-
150
- // Active Tab
151
- if ( empty(get_option('wpr_wl_hide_elements_tab')) ) {
152
- $active_tab = isset( $_GET['tab'] ) ? sanitize_text_field( wp_unslash( $_GET['tab'] ) ) : 'wpr_tab_elements';
153
- } elseif ( empty(get_option('wpr_wl_hide_extensions_tab')) ) {
154
- $active_tab = isset( $_GET['tab'] ) ? sanitize_text_field( wp_unslash( $_GET['tab'] ) ) : 'wpr_tab_extensions';
155
- } elseif ( empty(get_option('wpr_wl_hide_settings_tab')) ) {
156
- $active_tab = isset( $_GET['tab'] ) ? sanitize_text_field( wp_unslash( $_GET['tab'] ) ) : 'wpr_tab_settings';
157
- } elseif ( empty(get_option('wpr_wl_hide_white_label_tab')) ) {
158
- $active_tab = isset( $_GET['tab'] ) ? sanitize_text_field( wp_unslash( $_GET['tab'] ) ) : 'wpr_tab_white_label';
159
- }
160
-
161
-
162
- // Render Create Templte Popup
163
- WPR_Templates_Loop::render_create_template_popup();
164
-
165
- ?>
166
-
167
- <!-- Tabs -->
168
- <div class="nav-tab-wrapper wpr-nav-tab-wrapper">
169
- <?php if ( empty(get_option('wpr_wl_hide_elements_tab')) ) : ?>
170
- <a href="?page=wpr-addons&tab=wpr_tab_elements" data-title="Elements" class="nav-tab <?php echo ($active_tab == 'wpr_tab_elements') ? 'nav-tab-active' : ''; ?>">
171
- <?php esc_html_e( 'Widgets', 'wpr-addons' ); ?>
172
- </a>
173
- <?php endif; ?>
174
-
175
- <?php if ( empty(get_option('wpr_wl_hide_extensions_tab')) ) : ?>
176
- <a href="?page=wpr-addons&tab=wpr_tab_extensions" data-title="Extensions" class="nav-tab <?php echo ($active_tab == 'wpr_tab_extensions') ? 'nav-tab-active' : ''; ?>">
177
- <?php esc_html_e( 'Extensions', 'wpr-addons' ); ?>
178
- </a>
179
- <?php endif; ?>
180
-
181
- <?php if ( empty(get_option('wpr_wl_hide_settings_tab')) ) : ?>
182
- <a href="?page=wpr-addons&tab=wpr_tab_settings" data-title="Settings" class="nav-tab <?php echo ($active_tab == 'wpr_tab_settings') ? 'nav-tab-active' : ''; ?>">
183
- <?php esc_html_e( 'Settings', 'wpr-addons' ); ?>
184
- </a>
185
- <?php endif; ?>
186
-
187
- <?php // White Label
188
- echo !empty(get_option('wpr_wl_hide_white_label_tab')) ? '<div style="display: none;">' : '<div>';
189
- do_action('wpr_white_label_tab');
190
- echo '</div>';
191
- ?>
192
- </div>
193
-
194
- <?php if ( $active_tab == 'wpr_tab_elements' ) : ?>
195
-
196
- <?php
197
-
198
- // Settings
199
- settings_fields( 'wpr-elements-settings' );
200
- do_settings_sections( 'wpr-elements-settings' );
201
-
202
- ?>
203
-
204
- <div class="wpr-elements-toggle">
205
- <div>
206
- <h3><?php esc_html_e( 'Toggle all Widgets', 'wpr-addons' ); ?></h3>
207
- <input type="checkbox" name="wpr-element-toggle-all" id="wpr-element-toggle-all" <?php checked( get_option('wpr-element-toggle-all', 'on'), 'on', true ); ?>>
208
- <label for="wpr-element-toggle-all"></label>
209
- </div>
210
- <p><?php esc_html_e( 'You can disable some widgets for faster page speed.', 'wpr-addons' ); ?></p>
211
- </div>
212
- <div class="wpr-elements">
213
- <?php
214
- foreach ( Utilities::get_registered_modules() as $title => $data ) {
215
- $slug = $data[0];
216
- $url = $data[1];
217
- $reff = '?ref=rea-plugin-backend-elements-widget-prev'. $data[2];
218
- $class = 'new' === $data[3] ? ' wpr-new-element' : '';
219
-
220
- echo '<div class="wpr-element'. esc_attr($class) .'">';
221
- echo '<div class="wpr-element-info">';
222
- echo '<h3>'. esc_html($title) .'</h3>';
223
- echo '<input type="checkbox" name="wpr-element-'. esc_attr($slug) .'" id="wpr-element-'. esc_attr($slug) .'" '. checked( get_option('wpr-element-'. $slug, 'on'), 'on', false ) .'>';
224
- echo '<label for="wpr-element-'. esc_attr($slug) .'"></label>';
225
- echo ( '' !== $url && empty(get_option('wpr_wl_plugin_links')) ) ? '<a href="'. esc_url($url . $reff) .'" target="_blank">'. esc_html__('View Widget Demo', 'wpr-addons') .'</a>' : '';
226
- echo '</div>';
227
- echo '</div>';
228
- }
229
- ?>
230
- </div>
231
-
232
- <div class="wpr-elements-heading">
233
- <h3><?php esc_html_e( 'Theme Builder Widgets', 'wpr-addons' ); ?></h3>
234
- <p><?php esc_html_e( 'Post (CPT) Archive Pages, Post (CPT) Single Pages', 'wpr-addons' ); ?></p>
235
- </div>
236
- <div class="wpr-elements">
237
- <?php
238
- foreach ( Utilities::get_theme_builder_modules() as $title => $data ) {
239
- $slug = $data[0];
240
- $url = $data[1];
241
- $reff = '?ref=rea-plugin-backend-elements-widget-prev'. $data[2];
242
- $class = 'new' === $data[3] ? ' wpr-new-element' : '';
243
-
244
- echo '<div class="wpr-element'. esc_attr($class) .'">';
245
- echo '<div class="wpr-element-info">';
246
- echo '<h3>'. esc_html($title) .'</h3>';
247
- echo '<input type="checkbox" name="wpr-element-'. esc_attr($slug) .'" id="wpr-element-'. esc_attr($slug) .'" '. checked( get_option('wpr-element-'. $slug, 'on'), 'on', false ) .'>';
248
- echo '<label for="wpr-element-'. esc_attr($slug) .'"></label>';
249
- echo ( '' !== $url && empty(get_option('wpr_wl_plugin_links')) ) ? '<a href="'. esc_url($url . $reff) .'" target="_blank">'. esc_html__('View Widget Demo', 'wpr-addons') .'</a>' : '';
250
- echo '</div>';
251
- echo '</div>';
252
- }
253
- ?>
254
- </div>
255
-
256
- <div class="wpr-elements-heading">
257
- <h3><?php esc_html_e( 'WooCommerce Builder Widgets', 'wpr-addons' ); ?></h3>
258
- <p><?php esc_html_e( 'Product Archive Pages, Product Single Pages. Cart, Checkout and My Account Pages', 'wpr-addons' ); ?></p>
259
- <?php if (!class_exists('WooCommerce')) : ?>
260
- <p class='wpr-install-activate-woocommerce'><span class="dashicons dashicons-info-outline"></span> <?php esc_html_e( 'Install/Activate WooCommerce to use these widgets', 'wpr-addons' ); ?></p>
261
- <?php endif; ?>
262
- </div>
263
- <div class="wpr-elements">
264
- <?php
265
- $woocommerce_builder_modules = Utilities::get_woocommerce_builder_modules();
266
- $premium_woo_modules = [
267
- 'Product Filters' => ['product-filters-pro', 'https://royal-elementor-addons.com/?ref=rea-plugin-backend-elements-woo-prodfilter-widgets-pro#purchasepro', '', 'pro'],
268
- 'Product Breadcrumbs' => ['product-breadcrumbs-pro', 'https://royal-elementor-addons.com/?ref=rea-plugin-backend-elements-woo-breadcru-widgets-pro#purchasepro', '', 'pro'],
269
- 'Page My Account' => ['page-my-account-pro', 'https://royal-elementor-addons.com/?ref=rea-plugin-backend-elements-woo-myacc-widgets-pro#purchasepro', '', 'pro'],
270
- 'Woo Category Grid' => ['woo-category-grid-pro', 'https://royal-elementor-addons.com/?ref=rea-plugin-backend-elements-woo-catgrid-widgets-pro#purchasepro', '', 'pro'],
271
- ];
272
-
273
- foreach ( array_merge($woocommerce_builder_modules, $premium_woo_modules) as $title => $data ) {
274
- $slug = $data[0];
275
- $url = $data[1];
276
- $reff = '?ref=rea-plugin-backend-elements-widget-prev'. $data[1];
277
- $class = 'new' === $data[3] ? 'wpr-new-element' : '';
278
- $class = ('pro' === $data[3] && !wpr_fs()->can_use_premium_code()) ? 'wpr-pro-element' : '';
279
- $default_value = class_exists( 'WooCommerce' ) ? 'on' : 'off';
280
-
281
- if ( 'wpr-pro-element' === $class ) {
282
- $default_value = 'off';
283
- $reff = '';
284
- }
285
-
286
- echo '<div class="wpr-element '. esc_attr($class) .'">';
287
- echo '<a href="'. esc_url($url . $reff) .'" target="_blank"></a>';
288
- echo '<div class="wpr-element-info">';
289
- echo '<h3>'. esc_html($title) .'</h3>';
290
- echo '<input type="checkbox" name="wpr-element-'. esc_attr($slug) .'" id="wpr-element-'. esc_attr($slug) .'" '. checked( get_option('wpr-element-'. $slug, $default_value), 'on', false ) .'>';
291
- echo '<label for="wpr-element-'. esc_attr($slug) .'"></label>';
292
- // echo ( '' !== $url && empty(get_option('wpr_wl_plugin_links')) ) ? '<a href="'. esc_url($url . $reff) .'" target="_blank">'. esc_html__('View Widget Demo', 'wpr-addons') .'</a>' : '';
293
- echo '</div>';
294
- echo '</div>';
295
- }
296
- ?>
297
- </div>
298
-
299
- <?php submit_button( '', 'wpr-options-button' ); ?>
300
-
301
- <?php elseif ( $active_tab == 'wpr_tab_settings' ) : ?>
302
-
303
- <?php
304
-
305
- // Settings
306
- settings_fields( 'wpr-settings' );
307
- do_settings_sections( 'wpr-settings' );
308
-
309
- ?>
310
-
311
- <div class="wpr-settings">
312
-
313
- <?php submit_button( '', 'wpr-options-button' ); ?>
314
-
315
- <div class="wpr-settings-group wpr-settings-group-woo">
316
- <h3 class="wpr-settings-group-title"><?php esc_html_e( 'WooCommerce', 'wpr-addons' ); ?></h3>
317
-
318
- <div class="wpr-settings-group-inner">
319
-
320
- <?php if ( !wpr_fs()->can_use_premium_code() ) : ?>
321
- <a href="https://royal-elementor-addons.com/?ref=rea-plugin-backend-settings-woo-pro#purchasepro" class="wpr-settings-pro-overlay" target="_blank">
322
- <span class="dashicons dashicons-lock"></span>
323
- <span class="dashicons dashicons-unlock"></span>
324
- <span><?php esc_html_e( 'Upgrade to Pro', 'wpr-addons' ); ?></span>
325
- </a>
326
- <div class="wpr-setting">
327
- <h4>
328
- <span><?php esc_html_e( 'Shop Page: Products Per Page', 'wpr-addons' ); ?></span>
329
- <br>
330
- </h4>
331
- <input type="text" value="9">
332
- </div>
333
- <div class="wpr-setting">
334
- <h4>
335
- <span><?php esc_html_e( 'Product Category: Products Per Page', 'wpr-addons' ); ?></span>
336
- <br>
337
- </h4>
338
- <input type="text" value="9">
339
- </div>
340
- <div class="wpr-setting">
341
- <h4>
342
- <span><?php esc_html_e( 'Product Tag: Products Per Page', 'wpr-addons' ); ?></span>
343
- <br>
344
- </h4>
345
- <input type="text" value="9">
346
- </div>
347
- <?php else: ?>
348
- <?php do_action('wpr_woocommerce_settings'); ?>
349
- <?php endif; ?>
350
-
351
- </div>
352
-
353
- <div class="wpr-woo-template-info">
354
- <div class="wpr-woo-template-title">
355
- <h4>Royal Templates</h4>
356
- <span>Enable/Disable Royal addons Cart, Minicart, Notifications Templates, Product Lightbox</span>
357
- </div>
358
- <input type="checkbox" name="wpr_override_woo_templates" id="wpr_override_woo_templates" <?php echo checked( get_option('wpr_override_woo_templates', 'on'), 'on', false ); ?>>
359
- <label for="wpr_override_woo_templates"></label>
360
- </div>
361
-
362
- <div class="wpr-woo-template-info">
363
- <div class="wpr-woo-template-title">
364
- <h4>Product Image Zoom</h4>
365
- <span>Enable/Disable Image Zoom Effect on Woocommerce products</span>
366
- </div>
367
- <input type="checkbox" name="wpr_enable_product_image_zoom" id="wpr_enable_product_image_zoom" <?php echo checked( get_option('wpr_enable_product_image_zoom', 'on'), 'on', false ); ?>>
368
- <label for="wpr_enable_product_image_zoom"></label>
369
- </div>
370
-
371
- <div class="wpr-woo-template-info">
372
- <div class="wpr-woo-template-title">
373
- <h4>Product Slider Nav</h4>
374
- <span>Enable/Disable Navigation Arrows on Woocommerce products slider</span>
375
- </div>
376
- <input type="checkbox" name="wpr_enable_woo_flexslider_navigation" id="wpr_enable_woo_flexslider_navigation" <?php echo checked( get_option('wpr_enable_woo_flexslider_navigation', 'on'), 'on', false ); ?>>
377
- <label for="wpr_enable_woo_flexslider_navigation"></label>
378
- </div>
379
-
380
- </div>
381
-
382
- <div class="wpr-settings-group">
383
- <h3 class="wpr-settings-group-title"><?php esc_html_e( 'Integrations', 'wpr-addons' ); ?></h3>
384
-
385
- <div class="wpr-setting">
386
- <h4>
387
- <span><?php esc_html_e( 'Google Map API Key', 'wpr-addons' ); ?></span>
388
- <br>
389
- <a href="https://www.youtube.com/watch?v=O5cUoVpVUjU" target="_blank"><?php esc_html_e( 'How to get Google Map API Key?', 'wpr-addons' ); ?></a>
390
- </h4>
391
-
392
- <input type="text" name="wpr_google_map_api_key" id="wpr_google_map_api_key" value="<?php echo esc_attr(get_option('wpr_google_map_api_key')); ?>">
393
- </div>
394
-
395
- <div class="wpr-setting">
396
- <h4>
397
- <span><?php esc_html_e( 'MailChimp API Key', 'wpr-addons' ); ?></span>
398
- <br>
399
- <a href="https://mailchimp.com/help/about-api-keys/" target="_blank"><?php esc_html_e( 'How to get MailChimp API Key?', 'wpr-addons' ); ?></a>
400
- </h4>
401
-
402
- <input type="text" name="wpr_mailchimp_api_key" id="wpr_mailchimp_api_key" value="<?php echo esc_attr(get_option('wpr_mailchimp_api_key')); ?>">
403
- </div>
404
- </div>
405
-
406
- <div class="wpr-settings-group">
407
- <h3 class="wpr-settings-group-title"><?php esc_html_e( 'Lightbox', 'wpr-addons' ); ?></h3>
408
-
409
- <div class="wpr-setting">
410
- <h4><?php esc_html_e( 'Background Color', 'wpr-addons' ); ?></h4>
411
- <input type="text" name="wpr_lb_bg_color" id="wpr_lb_bg_color" data-alpha="true" value="<?php echo esc_attr(get_option('wpr_lb_bg_color','rgba(0,0,0,0.6)')); ?>">
412
- </div>
413
-
414
- <div class="wpr-setting">
415
- <h4><?php esc_html_e( 'Toolbar BG Color', 'wpr-addons' ); ?></h4>
416
- <input type="text" name="wpr_lb_toolbar_color" id="wpr_lb_toolbar_color" data-alpha="true" value="<?php echo esc_attr(get_option('wpr_lb_toolbar_color','rgba(0,0,0,0.8)')); ?>">
417
- </div>
418
-
419
- <div class="wpr-setting">
420
- <h4><?php esc_html_e( 'Caption BG Color', 'wpr-addons' ); ?></h4>
421
- <input type="text" name="wpr_lb_caption_color" id="wpr_lb_caption_color" data-alpha="true" value="<?php echo esc_attr(get_option('wpr_lb_caption_color','rgba(0,0,0,0.8)')); ?>">
422
- </div>
423
-
424
- <div class="wpr-setting">
425
- <h4><?php esc_html_e( 'Gallery BG Color', 'wpr-addons' ); ?></h4>
426
- <input type="text" name="wpr_lb_gallery_color" id="wpr_lb_gallery_color" data-alpha="true" value="<?php echo esc_attr(get_option('wpr_lb_gallery_color','#444444')); ?>">
427
- </div>
428
-
429
- <div class="wpr-setting">
430
- <h4><?php esc_html_e( 'Progress Bar Color', 'wpr-addons' ); ?></h4>
431
- <input type="text" name="wpr_lb_pb_color" id="wpr_lb_pb_color" data-alpha="true" value="<?php echo esc_attr(get_option('wpr_lb_pb_color','#a90707')); ?>">
432
- </div>
433
-
434
- <div class="wpr-setting">
435
- <h4><?php esc_html_e( 'UI Color', 'wpr-addons' ); ?></h4>
436
- <input type="text" name="wpr_lb_ui_color" id="wpr_lb_ui_color" data-alpha="true" value="<?php echo esc_attr(get_option('wpr_lb_ui_color','#efefef')); ?>">
437
- </div>
438
-
439
- <div class="wpr-setting">
440
- <h4><?php esc_html_e( 'UI Hover Color', 'wpr-addons' ); ?></h4>
441
- <input type="text" name="wpr_lb_ui_hr_color" id="wpr_lb_ui_hr_color" data-alpha="true" value="<?php echo esc_attr(get_option('wpr_lb_ui_hr_color','#ffffff')); ?>">
442
- </div>
443
-
444
- <div class="wpr-setting">
445
- <h4><?php esc_html_e( 'Text Color', 'wpr-addons' ); ?></h4>
446
- <input type="text" name="wpr_lb_text_color" id="wpr_lb_text_color" data-alpha="true" value="<?php echo esc_attr(get_option('wpr_lb_text_color','#efefef')); ?>">
447
- </div>
448
-
449
- <div class="wpr-setting">
450
- <h4><?php esc_html_e( 'UI Icon Size', 'wpr-addons' ); ?></h4>
451
- <input type="number" name="wpr_lb_icon_size" id="wpr_lb_icon_size" value="<?php echo esc_attr(get_option('wpr_lb_icon_size','20')); ?>">
452
- </div>
453
-
454
- <div class="wpr-setting">
455
- <h4><?php esc_html_e( 'Navigation Arrow Size', 'wpr-addons' ); ?></h4>
456
- <input type="number" name="wpr_lb_arrow_size" id="wpr_lb_arrow_size" value="<?php echo esc_attr(get_option('wpr_lb_arrow_size','35')); ?>">
457
- </div>
458
-
459
- <div class="wpr-setting">
460
- <h4><?php esc_html_e( 'Text Size', 'wpr-addons' ); ?></h4>
461
- <input type="number" name="wpr_lb_text_size" id="wpr_lb_text_size" value="<?php echo esc_attr(get_option('wpr_lb_text_size','14')); ?>">
462
- </div>
463
- </div>
464
-
465
- <?php submit_button( '', 'wpr-options-button' ); ?>
466
-
467
- </div>
468
-
469
- <?php elseif ( $active_tab == 'wpr_tab_extensions' ) :
470
-
471
- // Extensions
472
- settings_fields( 'wpr-extension-settings' );
473
- do_settings_sections( 'wpr-extension-settings' );
474
-
475
- global $new_allowed_options;
476
-
477
- // array of option names
478
- $option_names = $new_allowed_options[ 'wpr-extension-settings' ];
479
-
480
- echo '<div class="wpr-elements">';
481
-
482
- foreach ($option_names as $option_name) {
483
- $option_title = ucwords( preg_replace( '/-/i', ' ', preg_replace('/wpr-||-toggle/i', '', $option_name ) ));
484
-
485
- echo '<div class="wpr-element">';
486
- echo '<div class="wpr-element-info">';
487
- echo '<h3>'. esc_html($option_title) .'</h3>';
488
- echo '<input type="checkbox" name="'. esc_attr($option_name) .'" id="'. esc_attr($option_name) .'" '. checked( get_option(''. $option_name .'', 'on'), 'on', false ) .'>';
489
- echo '<label for="'. esc_attr($option_name) .'"></label>';
490
-
491
- if ( 'wpr-parallax-background' === $option_name ) {
492
- echo '<br><span>Tip: Edit any Section > Navigate to Style tab</span>';
493
- echo '<a href="https://www.youtube.com/watch?v=DcDeQ__lJbw" target="_blank">Watch Video Tutorial</a>';
494
- } elseif ( 'wpr-parallax-multi-layer' === $option_name ) {
495
- echo '<br><span>Tip: Edit any Section > Navigate to Style tab</span>';
496
- echo '<a href="https://youtu.be/DcDeQ__lJbw?t=121" target="_blank">Watch Video Tutorial</a>';
497
- } elseif ( 'wpr-particles' === $option_name ) {
498
- echo '<br><span>Tip: Edit any Section > Navigate to Style tab</span>';
499
- echo '<a href="https://www.youtube.com/watch?v=8OdnaoFSj94" target="_blank">Watch Video Tutorial</a>';
500
- } elseif ( 'wpr-sticky-section' === $option_name ) {
501
- echo '<br><span>Tip: Edit any Section > Navigate to Advanced tab</span>';
502
- echo '<a href="https://www.youtube.com/watch?v=at0CPKtklF0&t=375s" target="_blank">Watch Video Tutorial</a>';
503
- }
504
-
505
- // echo '<a href="https://royal-elementor-addons.com/elementor-particle-effects/?ref=rea-plugin-backend-extentions-prev">'. esc_html('View Extension Demo', 'wpr-addons') .'</a>';
506
- echo '</div>';
507
- echo '</div>';
508
- }
509
-
510
- echo '</div>';
511
-
512
- submit_button( '', 'wpr-options-button' );
513
-
514
- elseif ( $active_tab == 'wpr_tab_white_label' ) :
515
-
516
- do_action('wpr_white_label_tab_content');
517
-
518
- endif; ?>
519
-
520
- </form>
521
- </div>
522
-
523
- </div>
524
-
525
-
526
- <?php
527
-
528
- } // End wpr_addons_settings_page()
529
-
530
-
531
-
532
- // Add Support Sub Menu item that will redirect to wp.org
533
- function wpr_addons_add_support_menu() {
534
- add_submenu_page( 'wpr-addons', 'Support', 'Support', 'manage_options', 'wpr-support', 'wpr_addons_support_page', 99 );
535
- }
536
- add_action( 'admin_menu', 'wpr_addons_add_support_menu', 99 );
537
-
538
- function wpr_addons_support_page() {}
539
-
540
- function wpr_redirect_support_page() {
541
- ?>
542
- <script type="text/javascript">
543
- jQuery(document).ready( function($) {
544
- $( 'ul#adminmenu a[href*="page=wpr-support"]' ).attr('href', 'https://wordpress.org/support/plugin/royal-elementor-addons/').attr( 'target', '_blank' );
545
- });
546
- </script>
547
- <?php
548
- }
549
- add_action( 'admin_head', 'wpr_redirect_support_page' );
550
-
551
-
552
- // Add Upgrade Sub Menu item that will redirect to royal-elementor-addons.com
553
- function wpr_addons_add_upgrade_menu() {
554
- if ( defined('WPR_ADDONS_PRO_VERSION') ) return;
555
- add_submenu_page( 'wpr-addons', 'Upgrade', 'Upgrade', 'manage_options', 'wpr-upgrade', 'wpr_addons_upgrade_page', 99 );
556
- }
557
- add_action( 'admin_menu', 'wpr_addons_add_upgrade_menu', 99 );
558
-
559
- function wpr_addons_upgrade_page() {}
560
-
561
- function wpr_redirect_upgrade_page() {
562
- ?>
563
- <script type="text/javascript">
564
- jQuery(document).ready( function($) {
565
- $( 'ul#adminmenu a[href*="page=wpr-upgrade"]' ).attr('href', 'https://royal-elementor-addons.com/?ref=rea-plugin-backend-menu-upgrade-pro#purchasepro').attr( 'target', '_blank' );
566
- $( 'ul#adminmenu a[href*="#purchasepro"]' ).css('color', 'greenyellow');
567
- });
568
- </script>
569
- <?php
570
- }
571
  add_action( 'admin_head', 'wpr_redirect_upgrade_page' );
1
+ <?php
2
+
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
+ exit; // Exit if accessed directly.
5
+ }
6
+
7
+ use WprAddons\Admin\Includes\WPR_Templates_Loop;
8
+ use WprAddonsPro\Admin\Wpr_White_Label;
9
+ use WprAddons\Classes\Utilities;
10
+
11
+ // Register Menus
12
+ function wpr_addons_add_admin_menu() {
13
+ $menu_icon = !empty(get_option('wpr_wl_plugin_logo')) ? 'dashicons-admin-generic' : 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOTciIGhlaWdodD0iNzUiIHZpZXdCb3g9IjAgMCA5NyA3NSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTAuMDM2NDA4NiAyMy4yODlDLTAuNTc1NDkgMTguNTIxIDYuNjg4NzMgMTYuMzY2NiA5LjU0OSAyMC40Njc4TDQyLjgzNjUgNjguMTk3MkM0NC45MTgxIDcxLjE4MiA0Mi40NDk0IDc1IDM4LjQzNzggNzVIMTEuMjc1NkM4LjY1NDc1IDc1IDYuNDUyNjQgNzMuMjg1NSA2LjE2MTcgNzEuMDE4NEwwLjAzNjQwODYgMjMuMjg5WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTk2Ljk2MzYgMjMuMjg5Qzk3LjU3NTUgMTguNTIxIDkwLjMxMTMgMTYuMzY2NiA4Ny40NTEgMjAuNDY3OEw1NC4xNjM1IDY4LjE5NzJDNTIuMDgxOCA3MS4xODIgNTQuNTUwNiA3NSA1OC41NjIyIDc1SDg1LjcyNDRDODguMzQ1MiA3NSA5MC41NDc0IDczLjI4NTUgOTAuODM4MyA3MS4wMTg0TDk2Ljk2MzYgMjMuMjg5WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTUzLjI0MTIgNC40ODUyN0M1My4yNDEyIC0wLjI3MDc2MSA0NS44NDg1IC0xLjc0ODAzIDQzLjQ2NTEgMi41MzE3NEw2LjY4OTkxIDY4LjU2NzdDNS4wMzM0OSA3MS41NDIxIDcuNTIyNzIgNzUgMTEuMzIwMyA3NUg0OC4wOTU1QzUwLjkzNzQgNzUgNTMuMjQxMiA3Mi45OTQ4IDUzLjI0MTIgNzAuNTIxMlY0LjQ4NTI3WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTQzLjc1ODggNC40ODUyN0M0My43NTg4IC0wLjI3MDc2MSA1MS4xNTE1IC0xLjc0ODAzIDUzLjUzNDkgMi41MzE3NEw5MC4zMTAxIDY4LjU2NzdDOTEuOTY2NSA3MS41NDIxIDg5LjQ3NzMgNzUgODUuNjc5NyA3NUg0OC45MDQ1QzQ2LjA2MjYgNzUgNDMuNzU4OCA3Mi45OTQ4IDQzLjc1ODggNzAuNTIxMlY0LjQ4NTI3WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg==';
14
+ add_menu_page( Utilities::get_plugin_name(), Utilities::get_plugin_name(), 'manage_options', 'wpr-addons', 'wpr_addons_settings_page', $menu_icon, '58.6' );
15
+
16
+ add_action( 'admin_init', 'wpr_register_addons_settings' );
17
+ add_filter( 'plugin_action_links_'. WPR_ADDONS_PLUGIN_BASE, 'wpr_settings_link' );
18
+ }
19
+ add_action( 'admin_menu', 'wpr_addons_add_admin_menu' );
20
+
21
+ // Add Settings page link to plugins screen
22
+ function wpr_settings_link( $links ) {
23
+ $settings_link = '<a href="admin.php?page=wpr-addons">Settings</a>';
24
+ array_push( $links, $settings_link );
25
+
26
+ if ( !is_plugin_installed('wpr-addons-pro/wpr-addons-pro.php') ) {
27
+ $links[] = '<a href="https://royal-elementor-addons.com/?ref=rea-plugin-backend-wpplugindashboard-upgrade-pro#purchasepro" style="color:#93003c;font-weight:700" target="_blank">' . esc_html__('Go Pro', 'wpr-addons') . '</a>';
28
+ }
29
+
30
+ return $links;
31
+ }
32
+
33
+ function is_plugin_installed($file) {
34
+ $installed_plugins = [];
35
+
36
+ foreach( get_plugins() as $slug => $plugin_info ) {
37
+ array_push($installed_plugins, $slug);
38
+ }
39
+
40
+ if ( in_array($file, $installed_plugins) ) {
41
+ return true;
42
+ } else {
43
+ return false;
44
+ }
45
+ }
46
+
47
+ // Register Settings
48
+ function wpr_register_addons_settings() {
49
+ // WooCommerce
50
+ register_setting( 'wpr-settings', 'wpr_override_woo_templates' );
51
+ register_setting( 'wpr-settings', 'wpr_enable_product_image_zoom' );
52
+ register_setting( 'wpr-settings', 'wpr_enable_woo_flexslider_navigation' );
53
+ register_setting( 'wpr-settings', 'wpr_woo_shop_ppp' );
54
+ register_setting( 'wpr-settings', 'wpr_woo_shop_cat_ppp' );
55
+ register_setting( 'wpr-settings', 'wpr_woo_shop_tag_ppp' );
56
+
57
+ // Integrations
58
+ register_setting( 'wpr-settings', 'wpr_google_map_api_key' );
59
+ register_setting( 'wpr-settings', 'wpr_mailchimp_api_key' );
60
+
61
+ // Lightbox
62
+ register_setting( 'wpr-settings', 'wpr_lb_bg_color' );
63
+ register_setting( 'wpr-settings', 'wpr_lb_toolbar_color' );
64
+ register_setting( 'wpr-settings', 'wpr_lb_caption_color' );
65
+ register_setting( 'wpr-settings', 'wpr_lb_gallery_color' );
66
+ register_setting( 'wpr-settings', 'wpr_lb_pb_color' );
67
+ register_setting( 'wpr-settings', 'wpr_lb_ui_color' );
68
+ register_setting( 'wpr-settings', 'wpr_lb_ui_hr_color' );
69
+ register_setting( 'wpr-settings', 'wpr_lb_text_color' );
70
+ register_setting( 'wpr-settings', 'wpr_lb_icon_size' );
71
+ register_setting( 'wpr-settings', 'wpr_lb_arrow_size' );
72
+ register_setting( 'wpr-settings', 'wpr_lb_text_size' );
73
+
74
+ // White Label
75
+ register_setting( 'wpr-wh-settings', 'wpr_wl_plugin_logo' );
76
+ register_setting( 'wpr-wh-settings', 'wpr_wl_plugin_name' );
77
+ register_setting( 'wpr-wh-settings', 'wpr_wl_plugin_desc' );
78
+ register_setting( 'wpr-wh-settings', 'wpr_wl_plugin_author' );
79
+ register_setting( 'wpr-wh-settings', 'wpr_wl_plugin_website' );
80
+ register_setting( 'wpr-wh-settings', 'wpr_wl_plugin_links' );
81
+ register_setting( 'wpr-wh-settings', 'wpr_wl_hide_elements_tab' );
82
+ register_setting( 'wpr-wh-settings', 'wpr_wl_hide_extensions_tab' );
83
+ register_setting( 'wpr-wh-settings', 'wpr_wl_hide_settings_tab' );
84
+ register_setting( 'wpr-wh-settings', 'wpr_wl_hide_white_label_tab' );
85
+
86
+ // Extensions
87
+ register_setting('wpr-extension-settings', 'wpr-particles');
88
+ register_setting('wpr-extension-settings', 'wpr-parallax-background');
89
+ register_setting('wpr-extension-settings', 'wpr-parallax-multi-layer');
90
+ register_setting('wpr-extension-settings', 'wpr-sticky-section');
91
+
92
+ // Element Toggle
93
+ register_setting( 'wpr-elements-settings', 'wpr-element-toggle-all', [ 'default' => 'on' ] );
94
+
95
+ // Widgets
96
+ foreach ( Utilities::get_registered_modules() as $title => $data ) {
97
+ $slug = $data[0];
98
+ register_setting( 'wpr-elements-settings', 'wpr-element-'. $slug, [ 'default' => 'on' ] );
99
+ }
100
+
101
+ // Theme Builder
102
+ foreach ( Utilities::get_theme_builder_modules() as $title => $data ) {
103
+ $slug = $data[0];
104
+ register_setting( 'wpr-elements-settings', 'wpr-element-'. $slug, [ 'default' => 'on' ] );
105
+ }
106
+
107
+
108
+ // WooCommerce Builder
109
+ foreach ( Utilities::get_woocommerce_builder_modules() as $title => $data ) {
110
+ $slug = $data[0];
111
+ register_setting( 'wpr-elements-settings', 'wpr-element-'. $slug, [ 'default' => 'on' ] );
112
+ }
113
+
114
+ }
115
+
116
+ function wpr_addons_settings_page() {
117
+
118
+ ?>
119
+
120
+ <div class="wrap wpr-settings-page-wrap">
121
+
122
+ <div class="wpr-settings-page-header">
123
+ <h1><?php echo esc_html(Utilities::get_plugin_name(true)); ?></h1>
124
+ <p><?php esc_html_e( 'The most powerful Elementor Addons in the universe.', 'wpr-addons' ); ?></p>
125
+
126
+ <?php if ( empty(get_option('wpr_wl_plugin_links')) ) : ?>
127
+ <div class="wpr-preview-buttons">
128
+ <a href="https://royal-elementor-addons.com/?ref=rea-plugin-backend-plugin-prev-btn#widgets" target="_blank" class="button wpr-options-button">
129
+ <span><?php echo esc_html__( 'View Plugin Demo', 'wpr-addons' ); ?></span>
130
+ <span class="dashicons dashicons-external"></span>
131
+ </a>
132
+
133
+ <a href="https://www.youtube.com/watch?v=rkYQfn3tUc0" class="wpr-options-button button" target="_blank">
134
+ <?php echo esc_html__( 'How to use Widgets', 'wpr-addons' ); ?>
135
+ <span class="dashicons dashicons-video-alt3"></span>
136
+ </a>
137
+
138
+ <a href="https://royaladdons.frill.co/b/6m4d5qm4/feature-ideas" class="wpr-options-button button" target="_blank">
139
+ <?php echo esc_html__( 'Request New Feature', 'wpr-addons' ); ?>
140
+ <span class="dashicons dashicons-star-empty"></span>
141
+ </a>
142
+ </div>
143
+ <?php endif; ?>
144
+ </div>
145
+
146
+ <div class="wpr-settings-page">
147
+ <form method="post" action="options.php">
148
+ <?php
149
+
150
+ // Active Tab
151
+ if ( empty(get_option('wpr_wl_hide_elements_tab')) ) {
152
+ $active_tab = isset( $_GET['tab'] ) ? sanitize_text_field( wp_unslash( $_GET['tab'] ) ) : 'wpr_tab_elements';
153
+ } elseif ( empty(get_option('wpr_wl_hide_extensions_tab')) ) {
154
+ $active_tab = isset( $_GET['tab'] ) ? sanitize_text_field( wp_unslash( $_GET['tab'] ) ) : 'wpr_tab_extensions';
155
+ } elseif ( empty(get_option('wpr_wl_hide_settings_tab')) ) {
156
+ $active_tab = isset( $_GET['tab'] ) ? sanitize_text_field( wp_unslash( $_GET['tab'] ) ) : 'wpr_tab_settings';
157
+ } elseif ( empty(get_option('wpr_wl_hide_white_label_tab')) ) {
158
+ $active_tab = isset( $_GET['tab'] ) ? sanitize_text_field( wp_unslash( $_GET['tab'] ) ) : 'wpr_tab_white_label';
159
+ }
160
+
161
+
162
+ // Render Create Templte Popup
163
+ WPR_Templates_Loop::render_create_template_popup();
164
+
165
+ ?>
166
+
167
+ <!-- Tabs -->
168
+ <div class="nav-tab-wrapper wpr-nav-tab-wrapper">
169
+ <?php if ( empty(get_option('wpr_wl_hide_elements_tab')) ) : ?>
170
+ <a href="?page=wpr-addons&tab=wpr_tab_elements" data-title="Elements" class="nav-tab <?php echo ($active_tab == 'wpr_tab_elements') ? 'nav-tab-active' : ''; ?>">
171
+ <?php esc_html_e( 'Widgets', 'wpr-addons' ); ?>
172
+ </a>
173
+ <?php endif; ?>
174
+
175
+ <?php if ( empty(get_option('wpr_wl_hide_extensions_tab')) ) : ?>
176
+ <a href="?page=wpr-addons&tab=wpr_tab_extensions" data-title="Extensions" class="nav-tab <?php echo ($active_tab == 'wpr_tab_extensions') ? 'nav-tab-active' : ''; ?>">
177
+ <?php esc_html_e( 'Extensions', 'wpr-addons' ); ?>
178
+ </a>
179
+ <?php endif; ?>
180
+
181
+ <?php if ( empty(get_option('wpr_wl_hide_settings_tab')) ) : ?>
182
+ <a href="?page=wpr-addons&tab=wpr_tab_settings" data-title="Settings" class="nav-tab <?php echo ($active_tab == 'wpr_tab_settings') ? 'nav-tab-active' : ''; ?>">
183
+ <?php esc_html_e( 'Settings', 'wpr-addons' ); ?>
184
+ </a>
185
+ <?php endif; ?>
186
+
187
+ <?php // White Label
188
+ echo !empty(get_option('wpr_wl_hide_white_label_tab')) ? '<div style="display: none;">' : '<div>';
189
+ do_action('wpr_white_label_tab');
190
+ echo '</div>';
191
+ ?>
192
+ </div>
193
+
194
+ <?php if ( $active_tab == 'wpr_tab_elements' ) : ?>
195
+
196
+ <?php
197
+
198
+ // Settings
199
+ settings_fields( 'wpr-elements-settings' );
200
+ do_settings_sections( 'wpr-elements-settings' );
201
+
202
+ ?>
203
+
204
+ <div class="wpr-elements-toggle">
205
+ <div>
206
+ <h3><?php esc_html_e( 'Toggle all Widgets', 'wpr-addons' ); ?></h3>
207
+ <input type="checkbox" name="wpr-element-toggle-all" id="wpr-element-toggle-all" <?php checked( get_option('wpr-element-toggle-all', 'on'), 'on', true ); ?>>
208
+ <label for="wpr-element-toggle-all"></label>
209
+ </div>
210
+ <p><?php esc_html_e( 'You can disable some widgets for faster page speed.', 'wpr-addons' ); ?></p>
211
+ </div>
212
+ <div class="wpr-elements">
213
+ <?php
214
+ foreach ( Utilities::get_registered_modules() as $title => $data ) {
215
+ $slug = $data[0];
216
+ $url = $data[1];
217
+ $reff = '?ref=rea-plugin-backend-elements-widget-prev'. $data[2];
218
+ $class = 'new' === $data[3] ? ' wpr-new-element' : '';
219
+
220
+ echo '<div class="wpr-element'. esc_attr($class) .'">';
221
+ echo '<div class="wpr-element-info">';
222
+ echo '<h3>'. esc_html($title) .'</h3>';
223
+ echo '<input type="checkbox" name="wpr-element-'. esc_attr($slug) .'" id="wpr-element-'. esc_attr($slug) .'" '. checked( get_option('wpr-element-'. $slug, 'on'), 'on', false ) .'>';
224
+ echo '<label for="wpr-element-'. esc_attr($slug) .'"></label>';
225
+ echo ( '' !== $url && empty(get_option('wpr_wl_plugin_links')) ) ? '<a href="'. esc_url($url . $reff) .'" target="_blank">'. esc_html__('View Widget Demo', 'wpr-addons') .'</a>' : '';
226
+ echo '</div>';
227
+ echo '</div>';
228
+ }
229
+ ?>
230
+ </div>
231
+
232
+ <div class="wpr-elements-heading">
233
+ <h3><?php esc_html_e( 'Theme Builder Widgets', 'wpr-addons' ); ?></h3>
234
+ <p><?php esc_html_e( 'Post (CPT) Archive Pages, Post (CPT) Single Pages', 'wpr-addons' ); ?></p>
235
+ </div>
236
+ <div class="wpr-elements">
237
+ <?php
238
+ foreach ( Utilities::get_theme_builder_modules() as $title => $data ) {
239
+ $slug = $data[0];
240
+ $url = $data[1];
241
+ $reff = '?ref=rea-plugin-backend-elements-widget-prev'. $data[2];
242
+ $class = 'new' === $data[3] ? ' wpr-new-element' : '';
243
+
244
+ echo '<div class="wpr-element'. esc_attr($class) .'">';
245
+ echo '<div class="wpr-element-info">';
246
+ echo '<h3>'. esc_html($title) .'</h3>';
247
+ echo '<input type="checkbox" name="wpr-element-'. esc_attr($slug) .'" id="wpr-element-'. esc_attr($slug) .'" '. checked( get_option('wpr-element-'. $slug, 'on'), 'on', false ) .'>';
248
+ echo '<label for="wpr-element-'. esc_attr($slug) .'"></label>';
249
+ echo ( '' !== $url && empty(get_option('wpr_wl_plugin_links')) ) ? '<a href="'. esc_url($url . $reff) .'" target="_blank">'. esc_html__('View Widget Demo', 'wpr-addons') .'</a>' : '';
250
+ echo '</div>';
251
+ echo '</div>';
252
+ }
253
+ ?>
254
+ </div>
255
+
256
+ <div class="wpr-elements-heading">
257
+ <h3><?php esc_html_e( 'WooCommerce Builder Widgets', 'wpr-addons' ); ?></h3>
258
+ <p><?php esc_html_e( 'Product Archive Pages, Product Single Pages. Cart, Checkout and My Account Pages', 'wpr-addons' ); ?></p>
259
+ <?php if (!class_exists('WooCommerce')) : ?>
260
+ <p class='wpr-install-activate-woocommerce'><span class="dashicons dashicons-info-outline"></span> <?php esc_html_e( 'Install/Activate WooCommerce to use these widgets', 'wpr-addons' ); ?></p>
261
+ <?php endif; ?>
262
+ </div>
263
+ <div class="wpr-elements">
264
+ <?php
265
+ $woocommerce_builder_modules = Utilities::get_woocommerce_builder_modules();
266
+ $premium_woo_modules = [
267
+ 'Product Filters' => ['product-filters-pro', 'https://royal-elementor-addons.com/?ref=rea-plugin-backend-elements-woo-prodfilter-widgets-pro#purchasepro', '', 'pro'],
268
+ 'Product Breadcrumbs' => ['product-breadcrumbs-pro', 'https://royal-elementor-addons.com/?ref=rea-plugin-backend-elements-woo-breadcru-widgets-pro#purchasepro', '', 'pro'],
269
+ 'Page My Account' => ['page-my-account-pro', 'https://royal-elementor-addons.com/?ref=rea-plugin-backend-elements-woo-myacc-widgets-pro#purchasepro', '', 'pro'],
270
+ 'Woo Category Grid' => ['woo-category-grid-pro', 'https://royal-elementor-addons.com/?ref=rea-plugin-backend-elements-woo-catgrid-widgets-pro#purchasepro', '', 'pro'],
271
+ ];
272
+
273
+ foreach ( array_merge($woocommerce_builder_modules, $premium_woo_modules) as $title => $data ) {
274
+ $slug = $data[0];
275
+ $url = $data[1];
276
+ $reff = '?ref=rea-plugin-backend-elements-widget-prev'. $data[1];
277
+ $class = 'new' === $data[3] ? 'wpr-new-element' : '';
278
+ $class = ('pro' === $data[3] && !wpr_fs()->can_use_premium_code()) ? 'wpr-pro-element' : '';
279
+ $default_value = class_exists( 'WooCommerce' ) ? 'on' : 'off';
280
+
281
+ if ( 'wpr-pro-element' === $class ) {
282
+ $default_value = 'off';
283
+ $reff = '';
284
+ }
285
+
286
+ echo '<div class="wpr-element '. esc_attr($class) .'">';
287
+ echo '<a href="'. esc_url($url . $reff) .'" target="_blank"></a>';
288
+ echo '<div class="wpr-element-info">';
289
+ echo '<h3>'. esc_html($title) .'</h3>';
290
+ echo '<input type="checkbox" name="wpr-element-'. esc_attr($slug) .'" id="wpr-element-'. esc_attr($slug) .'" '. checked( get_option('wpr-element-'. $slug, $default_value), 'on', false ) .'>';
291
+ echo '<label for="wpr-element-'. esc_attr($slug) .'"></label>';
292
+ // echo ( '' !== $url && empty(get_option('wpr_wl_plugin_links')) ) ? '<a href="'. esc_url($url . $reff) .'" target="_blank">'. esc_html__('View Widget Demo', 'wpr-addons') .'</a>' : '';
293
+ echo '</div>';
294
+ echo '</div>';
295
+ }
296
+ ?>
297
+ </div>
298
+
299
+ <?php submit_button( '', 'wpr-options-button' ); ?>
300
+
301
+ <?php elseif ( $active_tab == 'wpr_tab_settings' ) : ?>
302
+
303
+ <?php
304
+
305
+ // Settings
306
+ settings_fields( 'wpr-settings' );
307
+ do_settings_sections( 'wpr-settings' );
308
+
309
+ ?>
310
+
311
+ <div class="wpr-settings">
312
+
313
+ <?php submit_button( '', 'wpr-options-button' ); ?>
314
+
315
+ <div class="wpr-settings-group wpr-settings-group-woo">
316
+ <h3 class="wpr-settings-group-title"><?php esc_html_e( 'WooCommerce', 'wpr-addons' ); ?></h3>
317
+
318
+ <div class="wpr-settings-group-inner">
319
+
320
+ <?php if ( !wpr_fs()->can_use_premium_code() ) : ?>
321
+ <a href="https://royal-elementor-addons.com/?ref=rea-plugin-backend-settings-woo-pro#purchasepro" class="wpr-settings-pro-overlay" target="_blank">
322
+ <span class="dashicons dashicons-lock"></span>
323
+ <span class="dashicons dashicons-unlock"></span>
324
+ <span><?php esc_html_e( 'Upgrade to Pro', 'wpr-addons' ); ?></span>
325
+ </a>
326
+ <div class="wpr-setting">
327
+ <h4>
328
+ <span><?php esc_html_e( 'Shop Page: Products Per Page', 'wpr-addons' ); ?></span>
329
+ <br>
330
+ </h4>
331
+ <input type="text" value="9">
332
+ </div>
333
+ <div class="wpr-setting">
334
+ <h4>
335
+ <span><?php esc_html_e( 'Product Category: Products Per Page', 'wpr-addons' ); ?></span>
336
+ <br>
337
+ </h4>
338
+ <input type="text" value="9">
339
+ </div>
340
+ <div class="wpr-setting">
341
+ <h4>
342
+ <span><?php esc_html_e( 'Product Tag: Products Per Page', 'wpr-addons' ); ?></span>
343
+ <br>
344
+ </h4>
345
+ <input type="text" value="9">
346
+ </div>
347
+ <?php else: ?>
348
+ <?php do_action('wpr_woocommerce_settings'); ?>
349
+ <?php endif; ?>
350
+
351
+ </div>
352
+
353
+ <div class="wpr-woo-template-info">
354
+ <div class="wpr-woo-template-title">
355
+ <h4>Royal Templates</h4>
356
+ <span>Enable/Disable Royal addons Cart, Minicart, Notifications Templates, Product Lightbox</span>
357
+ </div>
358
+ <input type="checkbox" name="wpr_override_woo_templates" id="wpr_override_woo_templates" <?php echo checked( get_option('wpr_override_woo_templates', 'on'), 'on', false ); ?>>
359
+ <label for="wpr_override_woo_templates"></label>
360
+ </div>
361
+
362
+ <div class="wpr-woo-template-info">
363
+ <div class="wpr-woo-template-title">
364
+ <h4>Product Image Zoom</h4>
365
+ <span>Enable/Disable Image Zoom Effect on Woocommerce products</span>
366
+ </div>
367
+ <input type="checkbox" name="wpr_enable_product_image_zoom" id="wpr_enable_product_image_zoom" <?php echo checked( get_option('wpr_enable_product_image_zoom', 'on'), 'on', false ); ?>>
368
+ <label for="wpr_enable_product_image_zoom"></label>
369
+ </div>
370
+
371
+ <div class="wpr-woo-template-info">
372
+ <div class="wpr-woo-template-title">
373
+ <h4>Product Slider Nav</h4>
374
+ <span>Enable/Disable Navigation Arrows on Woocommerce products slider</span>
375
+ </div>
376
+ <input type="checkbox" name="wpr_enable_woo_flexslider_navigation" id="wpr_enable_woo_flexslider_navigation" <?php echo checked( get_option('wpr_enable_woo_flexslider_navigation', 'on'), 'on', false ); ?>>
377
+ <label for="wpr_enable_woo_flexslider_navigation"></label>
378
+ </div>
379
+
380
+ </div>
381
+
382
+ <div class="wpr-settings-group">
383
+ <h3 class="wpr-settings-group-title"><?php esc_html_e( 'Integrations', 'wpr-addons' ); ?></h3>
384
+
385
+ <div class="wpr-setting">
386
+ <h4>
387
+ <span><?php esc_html_e( 'Google Map API Key', 'wpr-addons' ); ?></span>
388
+ <br>
389
+ <a href="https://www.youtube.com/watch?v=O5cUoVpVUjU" target="_blank"><?php esc_html_e( 'How to get Google Map API Key?', 'wpr-addons' ); ?></a>
390
+ </h4>
391
+
392
+ <input type="text" name="wpr_google_map_api_key" id="wpr_google_map_api_key" value="<?php echo esc_attr(get_option('wpr_google_map_api_key')); ?>">
393
+ </div>
394
+
395
+ <div class="wpr-setting">
396
+ <h4>
397
+ <span><?php esc_html_e( 'MailChimp API Key', 'wpr-addons' ); ?></span>
398
+ <br>
399
+ <a href="https://mailchimp.com/help/about-api-keys/" target="_blank"><?php esc_html_e( 'How to get MailChimp API Key?', 'wpr-addons' ); ?></a>
400
+ </h4>
401
+
402
+ <input type="text" name="wpr_mailchimp_api_key" id="wpr_mailchimp_api_key" value="<?php echo esc_attr(get_option('wpr_mailchimp_api_key')); ?>">
403
+ </div>
404
+ </div>
405
+
406
+ <div class="wpr-settings-group">
407
+ <h3 class="wpr-settings-group-title"><?php esc_html_e( 'Lightbox', 'wpr-addons' ); ?></h3>
408
+
409
+ <div class="wpr-setting">
410
+ <h4><?php esc_html_e( 'Background Color', 'wpr-addons' ); ?></h4>
411
+ <input type="text" name="wpr_lb_bg_color" id="wpr_lb_bg_color" data-alpha="true" value="<?php echo esc_attr(get_option('wpr_lb_bg_color','rgba(0,0,0,0.6)')); ?>">
412
+ </div>
413
+
414
+ <div class="wpr-setting">
415
+ <h4><?php esc_html_e( 'Toolbar BG Color', 'wpr-addons' ); ?></h4>
416
+ <input type="text" name="wpr_lb_toolbar_color" id="wpr_lb_toolbar_color" data-alpha="true" value="<?php echo esc_attr(get_option('wpr_lb_toolbar_color','rgba(0,0,0,0.8)')); ?>">
417
+ </div>
418
+
419
+ <div class="wpr-setting">
420
+ <h4><?php esc_html_e( 'Caption BG Color', 'wpr-addons' ); ?></h4>
421
+ <input type="text" name="wpr_lb_caption_color" id="wpr_lb_caption_color" data-alpha="true" value="<?php echo esc_attr(get_option('wpr_lb_caption_color','rgba(0,0,0,0.8)')); ?>">
422
+ </div>
423
+
424
+ <div class="wpr-setting">
425
+ <h4><?php esc_html_e( 'Gallery BG Color', 'wpr-addons' ); ?></h4>
426
+ <input type="text" name="wpr_lb_gallery_color" id="wpr_lb_gallery_color" data-alpha="true" value="<?php echo esc_attr(get_option('wpr_lb_gallery_color','#444444')); ?>">
427
+ </div>
428
+
429
+ <div class="wpr-setting">
430
+ <h4><?php esc_html_e( 'Progress Bar Color', 'wpr-addons' ); ?></h4>
431
+ <input type="text" name="wpr_lb_pb_color" id="wpr_lb_pb_color" data-alpha="true" value="<?php echo esc_attr(get_option('wpr_lb_pb_color','#a90707')); ?>">
432
+ </div>
433
+
434
+ <div class="wpr-setting">
435
+ <h4><?php esc_html_e( 'UI Color', 'wpr-addons' ); ?></h4>
436
+ <input type="text" name="wpr_lb_ui_color" id="wpr_lb_ui_color" data-alpha="true" value="<?php echo esc_attr(get_option('wpr_lb_ui_color','#efefef')); ?>">
437
+ </div>
438
+
439
+ <div class="wpr-setting">
440
+ <h4><?php esc_html_e( 'UI Hover Color', 'wpr-addons' ); ?></h4>
441
+ <input type="text" name="wpr_lb_ui_hr_color" id="wpr_lb_ui_hr_color" data-alpha="true" value="<?php echo esc_attr(get_option('wpr_lb_ui_hr_color','#ffffff')); ?>">
442
+ </div>
443
+
444
+ <div class="wpr-setting">
445
+ <h4><?php esc_html_e( 'Text Color', 'wpr-addons' ); ?></h4>
446
+ <input type="text" name="wpr_lb_text_color" id="wpr_lb_text_color" data-alpha="true" value="<?php echo esc_attr(get_option('wpr_lb_text_color','#efefef')); ?>">
447
+ </div>
448
+
449
+ <div class="wpr-setting">
450
+ <h4><?php esc_html_e( 'UI Icon Size', 'wpr-addons' ); ?></h4>
451
+ <input type="number" name="wpr_lb_icon_size" id="wpr_lb_icon_size" value="<?php echo esc_attr(get_option('wpr_lb_icon_size','20')); ?>">
452
+ </div>
453
+
454
+ <div class="wpr-setting">
455
+ <h4><?php esc_html_e( 'Navigation Arrow Size', 'wpr-addons' ); ?></h4>
456
+ <input type="number" name="wpr_lb_arrow_size" id="wpr_lb_arrow_size" value="<?php echo esc_attr(get_option('wpr_lb_arrow_size','35')); ?>">
457
+ </div>
458
+
459
+ <div class="wpr-setting">
460
+ <h4><?php esc_html_e( 'Text Size', 'wpr-addons' ); ?></h4>
461
+ <input type="number" name="wpr_lb_text_size" id="wpr_lb_text_size" value="<?php echo esc_attr(get_option('wpr_lb_text_size','14')); ?>">
462
+ </div>
463
+ </div>
464
+
465
+ <?php submit_button( '', 'wpr-options-button' ); ?>
466
+
467
+ </div>
468
+
469
+ <?php elseif ( $active_tab == 'wpr_tab_extensions' ) :
470
+
471
+ // Extensions
472
+ settings_fields( 'wpr-extension-settings' );
473
+ do_settings_sections( 'wpr-extension-settings' );
474
+
475
+ global $new_allowed_options;
476
+
477
+ // array of option names
478
+ $option_names = $new_allowed_options[ 'wpr-extension-settings' ];
479
+
480
+ echo '<div class="wpr-elements">';
481
+
482
+ foreach ($option_names as $option_name) {
483
+ $option_title = ucwords( preg_replace( '/-/i', ' ', preg_replace('/wpr-||-toggle/i', '', $option_name ) ));
484
+
485
+ echo '<div class="wpr-element">';
486
+ echo '<div class="wpr-element-info">';
487
+ echo '<h3>'. esc_html($option_title) .'</h3>';
488
+ echo '<input type="checkbox" name="'. esc_attr($option_name) .'" id="'. esc_attr($option_name) .'" '. checked( get_option(''. $option_name .'', 'on'), 'on', false ) .'>';
489
+ echo '<label for="'. esc_attr($option_name) .'"></label>';
490
+
491
+ if ( 'wpr-parallax-background' === $option_name ) {
492
+ echo '<br><span>Tip: Edit any Section > Navigate to Style tab</span>';
493
+ echo '<a href="https://www.youtube.com/watch?v=DcDeQ__lJbw" target="_blank">Watch Video Tutorial</a>';
494
+ } elseif ( 'wpr-parallax-multi-layer' === $option_name ) {
495
+ echo '<br><span>Tip: Edit any Section > Navigate to Style tab</span>';
496
+ echo '<a href="https://youtu.be/DcDeQ__lJbw?t=121" target="_blank">Watch Video Tutorial</a>';
497
+ } elseif ( 'wpr-particles' === $option_name ) {
498
+ echo '<br><span>Tip: Edit any Section > Navigate to Style tab</span>';
499
+ echo '<a href="https://www.youtube.com/watch?v=8OdnaoFSj94" target="_blank">Watch Video Tutorial</a>';
500
+ } elseif ( 'wpr-sticky-section' === $option_name ) {
501
+ echo '<br><span>Tip: Edit any Section > Navigate to Advanced tab</span>';
502
+ echo '<a href="https://www.youtube.com/watch?v=at0CPKtklF0&t=375s" target="_blank">Watch Video Tutorial</a>';
503
+ }
504
+
505
+ // echo '<a href="https://royal-elementor-addons.com/elementor-particle-effects/?ref=rea-plugin-backend-extentions-prev">'. esc_html('View Extension Demo', 'wpr-addons') .'</a>';
506
+ echo '</div>';
507
+ echo '</div>';
508
+ }
509
+
510
+ echo '</div>';
511
+
512
+ submit_button( '', 'wpr-options-button' );
513
+
514
+ elseif ( $active_tab == 'wpr_tab_white_label' ) :
515
+
516
+ do_action('wpr_white_label_tab_content');
517
+
518
+ endif; ?>
519
+
520
+ </form>
521
+ </div>
522
+
523
+ </div>
524
+
525
+
526
+ <?php
527
+
528
+ } // End wpr_addons_settings_page()
529
+
530
+
531
+
532
+ // Add Support Sub Menu item that will redirect to wp.org
533
+ function wpr_addons_add_support_menu() {
534
+ add_submenu_page( 'wpr-addons', 'Support', 'Support', 'manage_options', 'wpr-support', 'wpr_addons_support_page', 99 );
535
+ }
536
+ add_action( 'admin_menu', 'wpr_addons_add_support_menu', 99 );
537
+
538
+ function wpr_addons_support_page() {}
539
+
540
+ function wpr_redirect_support_page() {
541
+ ?>
542
+ <script type="text/javascript">
543
+ jQuery(document).ready( function($) {
544
+ $( 'ul#adminmenu a[href*="page=wpr-support"]' ).attr('href', 'https://wordpress.org/support/plugin/royal-elementor-addons/').attr( 'target', '_blank' );
545
+ });
546
+ </script>
547
+ <?php
548
+ }
549
+ add_action( 'admin_head', 'wpr_redirect_support_page' );
550
+
551
+
552
+ // Add Upgrade Sub Menu item that will redirect to royal-elementor-addons.com
553
+ function wpr_addons_add_upgrade_menu() {
554
+ if ( defined('WPR_ADDONS_PRO_VERSION') ) return;
555
+ add_submenu_page( 'wpr-addons', 'Upgrade', 'Upgrade', 'manage_options', 'wpr-upgrade', 'wpr_addons_upgrade_page', 99 );
556
+ }
557
+ add_action( 'admin_menu', 'wpr_addons_add_upgrade_menu', 99 );
558
+
559
+ function wpr_addons_upgrade_page() {}
560
+
561
+ function wpr_redirect_upgrade_page() {
562
+ ?>
563
+ <script type="text/javascript">
564
+ jQuery(document).ready( function($) {
565
+ $( 'ul#adminmenu a[href*="page=wpr-upgrade"]' ).attr('href', 'https://royal-elementor-addons.com/?ref=rea-plugin-backend-menu-upgrade-pro#purchasepro').attr( 'target', '_blank' );
566
+ $( 'ul#adminmenu a[href*="#purchasepro"]' ).css('color', 'greenyellow');
567
+ });
568
+ </script>
569
+ <?php
570
+ }
571
  add_action( 'admin_head', 'wpr_redirect_upgrade_page' );
admin/popups.php CHANGED
@@ -1,87 +1,87 @@
1
- <?php
2
-
3
- if ( ! defined( 'ABSPATH' ) ) {
4
- exit; // Exit if accessed directly.
5
- }
6
-
7
- use WprAddons\Admin\Includes\WPR_Templates_Loop;
8
- use WprAddons\Classes\Utilities;
9
-
10
- // Register Menus
11
- function wpr_addons_add_popups_menu() {
12
- add_submenu_page( 'wpr-addons', 'Popups', 'Popups', 'manage_options', 'wpr-popups', 'wpr_addons_popups_page' );
13
- }
14
- add_action( 'admin_menu', 'wpr_addons_add_popups_menu' );
15
-
16
- function wpr_addons_popups_page() {
17
-
18
- ?>
19
-
20
- <div class="wrap wpr-settings-page-wrap">
21
-
22
- <div class="wpr-settings-page-header">
23
- <h1><?php echo esc_html(Utilities::get_plugin_name(true)); ?></h1>
24
- <p><?php esc_html_e( 'The most powerful Elementor Addons in the universe.', 'wpr-addons' ); ?></p>
25
-
26
- <!-- Custom Template -->
27
- <div class="wpr-preview-buttons">
28
- <div class="wpr-user-template">
29
- <span><?php esc_html_e( 'Create Template', 'wpr-addons' ); ?></span>
30
- <span class="plus-icon">+</span>
31
- </div>
32
-
33
- <a href="https://www.youtube.com/watch?v=TbKTNpuXM68" class="wpr-options-button button" target="_blank" style="padding: 10px 22px;">
34
- <?php echo esc_html__( 'How to use Popups', 'wpr-addons' ); ?>
35
- <span class="dashicons dashicons-video-alt3"></span>
36
- </a>
37
-
38
- <a href="https://royaladdons.frill.co/b/6m4d5qm4/feature-ideas" class="wpr-options-button button" target="_blank" style="padding: 8px 22px;">
39
- <?php echo esc_html__( 'Request New Feature', 'wpr-addons' ); ?>
40
- <span class="dashicons dashicons-star-empty"></span>
41
- </a>
42
- </div>
43
- </div>
44
-
45
- <div class="wpr-settings-page">
46
- <form method="post" action="options.php">
47
- <?php
48
-
49
- // Active Tab
50
- $active_tab = isset( $_GET['tab'] ) ? sanitize_text_field( wp_unslash( $_GET['tab'] ) ) : 'wpr_tab_popups';
51
-
52
- ?>
53
-
54
- <!-- Template ID Holder -->
55
- <input type="hidden" name="wpr_template" id="wpr_template" value="">
56
-
57
- <!-- Conditions Popup -->
58
- <?php WPR_Templates_Loop::render_conditions_popup(); ?>
59
-
60
- <!-- Create Templte Popup -->
61
- <?php WPR_Templates_Loop::render_create_template_popup(); ?>
62
-
63
- <!-- Tabs -->
64
- <div class="nav-tab-wrapper wpr-nav-tab-wrapper">
65
- <a href="?page=wpr-theme-builder&tab=wpr_tab_popups" data-title="popup" class="nav-tab <?php echo ($active_tab == 'wpr_tab_popups') ? 'nav-tab-active' : ''; ?>">
66
- <?php esc_html_e( 'Popups', 'wpr-addons' ); ?>
67
- </a>
68
- </div>
69
-
70
- <?php if ( $active_tab == 'wpr_tab_popups' ) : ?>
71
-
72
- <!-- Save Conditions -->
73
- <input type="hidden" name="wpr_popup_conditions" id="wpr_popup_conditions" value="<?php echo esc_attr(get_option('wpr_popup_conditions', '[]')); ?>">
74
-
75
- <?php WPR_Templates_Loop::render_theme_builder_templates( 'popup' ); ?>
76
-
77
- <?php endif; ?>
78
-
79
- </form>
80
- </div>
81
-
82
- </div>
83
-
84
-
85
- <?php
86
-
87
  } // End wpr_addons_popups_page()
1
+ <?php
2
+
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
+ exit; // Exit if accessed directly.
5
+ }
6
+
7
+ use WprAddons\Admin\Includes\WPR_Templates_Loop;
8
+ use WprAddons\Classes\Utilities;
9
+
10
+ // Register Menus
11
+ function wpr_addons_add_popups_menu() {
12
+ add_submenu_page( 'wpr-addons', 'Popups', 'Popups', 'manage_options', 'wpr-popups', 'wpr_addons_popups_page' );
13
+ }
14
+ add_action( 'admin_menu', 'wpr_addons_add_popups_menu' );
15
+
16
+ function wpr_addons_popups_page() {
17
+
18
+ ?>
19
+
20
+ <div class="wrap wpr-settings-page-wrap">
21
+
22
+ <div class="wpr-settings-page-header">
23
+ <h1><?php echo esc_html(Utilities::get_plugin_name(true)); ?></h1>
24
+ <p><?php esc_html_e( 'The most powerful Elementor Addons in the universe.', 'wpr-addons' ); ?></p>
25
+
26
+ <!-- Custom Template -->
27
+ <div class="wpr-preview-buttons">
28
+ <div class="wpr-user-template">
29
+ <span><?php esc_html_e( 'Create Template', 'wpr-addons' ); ?></span>
30
+ <span class="plus-icon">+</span>
31
+ </div>
32
+
33
+ <a href="https://www.youtube.com/watch?v=TbKTNpuXM68" class="wpr-options-button button" target="_blank" style="padding: 10px 22px;">
34
+ <?php echo esc_html__( 'How to use Popups', 'wpr-addons' ); ?>
35
+ <span class="dashicons dashicons-video-alt3"></span>
36
+ </a>
37
+
38
+ <a href="https://royaladdons.frill.co/b/6m4d5qm4/feature-ideas" class="wpr-options-button button" target="_blank" style="padding: 8px 22px;">
39
+ <?php echo esc_html__( 'Request New Feature', 'wpr-addons' ); ?>
40
+ <span class="dashicons dashicons-star-empty"></span>
41
+ </a>
42
+ </div>
43
+ </div>
44
+
45
+ <div class="wpr-settings-page">
46
+ <form method="post" action="options.php">
47
+ <?php
48
+
49
+ // Active Tab
50
+ $active_tab = isset( $_GET['tab'] ) ? sanitize_text_field( wp_unslash( $_GET['tab'] ) ) : 'wpr_tab_popups';
51
+
52
+ ?>
53
+
54
+ <!-- Template ID Holder -->
55
+ <input type="hidden" name="wpr_template" id="wpr_template" value="">
56
+
57
+ <!-- Conditions Popup -->
58
+ <?php WPR_Templates_Loop::render_conditions_popup(); ?>
59
+
60
+ <!-- Create Templte Popup -->
61
+ <?php WPR_Templates_Loop::render_create_template_popup(); ?>
62
+
63
+ <!-- Tabs -->
64
+ <div class="nav-tab-wrapper wpr-nav-tab-wrapper">
65
+ <a href="?page=wpr-theme-builder&tab=wpr_tab_popups" data-title="popup" class="nav-tab <?php echo ($active_tab == 'wpr_tab_popups') ? 'nav-tab-active' : ''; ?>">
66
+ <?php esc_html_e( 'Popups', 'wpr-addons' ); ?>
67
+ </a>
68
+ </div>
69
+
70
+ <?php if ( $active_tab == 'wpr_tab_popups' ) : ?>
71
+
72
+ <!-- Save Conditions -->
73
+ <input type="hidden" name="wpr_popup_conditions" id="wpr_popup_conditions" value="<?php echo esc_attr(get_option('wpr_popup_conditions', '[]')); ?>">
74
+
75
+ <?php WPR_Templates_Loop::render_theme_builder_templates( 'popup' ); ?>
76
+
77
+ <?php endif; ?>
78
+
79
+ </form>
80
+ </div>
81
+
82
+ </div>
83
+
84
+
85
+ <?php
86
+
87
  } // End wpr_addons_popups_page()
admin/premade-blocks.php CHANGED
@@ -1,39 +1,39 @@
1
- <?php
2
-
3
- if ( ! defined( 'ABSPATH' ) ) {
4
- exit; // Exit if accessed directly.
5
- }
6
-
7
- use WprAddons\Admin\Templates\WPR_Templates_Data;
8
- use WprAddons\Admin\Templates\WPR_Templates_Library_Blocks;
9
- use WprAddons\Classes\Utilities;
10
- use Elementor\Plugin;
11
-
12
- // Register Menus
13
- function wpr_addons_add_premade_blocks_menu() {
14
- add_submenu_page( 'wpr-addons', 'Premade Blocks', 'Premade Blocks', 'manage_options', 'wpr-premade-blocks', 'wpr_addons_premade_blocks_page' );
15
- }
16
- add_action( 'admin_menu', 'wpr_addons_add_premade_blocks_menu' );
17
-
18
- /**
19
- ** Render Premade Blocks Page
20
- */
21
- function wpr_addons_premade_blocks_page() {
22
-
23
- ?>
24
-
25
- <div class="wpr-premade-blocks-page">
26
-
27
- <div class="wpr-settings-page-header">
28
- <h1><?php echo esc_html(Utilities::get_plugin_name(true)); ?></h1>
29
- <p><?php esc_html_e( 'The most powerful Elementor Addons in the universe.', 'wpr-addons' ); ?></p>
30
- </div>
31
-
32
- <?php WPR_Templates_Library_Blocks::render_library_templates_blocks(); ?>
33
-
34
- </div>
35
-
36
-
37
- <?php
38
-
39
- } // End wpr_addons_premade_blocks_page()
1
+ <?php
2
+
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
+ exit; // Exit if accessed directly.
5
+ }
6
+
7
+ use WprAddons\Admin\Templates\WPR_Templates_Data;
8
+ use WprAddons\Admin\Templates\WPR_Templates_Library_Blocks;
9
+ use WprAddons\Classes\Utilities;
10
+ use Elementor\Plugin;
11
+
12
+ // Register Menus
13
+ function wpr_addons_add_premade_blocks_menu() {
14
+ add_submenu_page( 'wpr-addons', 'Premade Blocks', 'Premade Blocks', 'manage_options', 'wpr-premade-blocks', 'wpr_addons_premade_blocks_page' );
15
+ }
16
+ add_action( 'admin_menu', 'wpr_addons_add_premade_blocks_menu' );
17
+
18
+ /**
19
+ ** Render Premade Blocks Page
20
+ */
21
+ function wpr_addons_premade_blocks_page() {
22
+
23
+ ?>
24
+
25
+ <div class="wpr-premade-blocks-page">
26
+
27
+ <div class="wpr-settings-page-header">
28
+ <h1><?php echo esc_html(Utilities::get_plugin_name(true)); ?></h1>
29
+ <p><?php esc_html_e( 'The most powerful Elementor Addons in the universe.', 'wpr-addons' ); ?></p>
30
+ </div>
31
+
32
+ <?php WPR_Templates_Library_Blocks::render_library_templates_blocks(); ?>
33
+
34
+ </div>
35
+
36
+
37
+ <?php
38
+
39
+ } // End wpr_addons_premade_blocks_page()
admin/templates/views/generatepress/class-generatepress-compat.php CHANGED
@@ -1,73 +1,73 @@
1
- <?php
2
-
3
- use WprAddons\Admin\Includes\WPR_Render_Templates;
4
-
5
- /**
6
- * Wpr_GeneratePress_Compat setup
7
- *
8
- * @since 1.0
9
- */
10
- class Wpr_GeneratePress_Compat {
11
-
12
- /**
13
- * Instance of Wpr_GeneratePress_Compat
14
- *
15
- * @var Wpr_GeneratePress_Compat
16
- */
17
- private static $instance;
18
-
19
- /**
20
- * WPR_Render_Templates() Class
21
- */
22
- private $render_templates;
23
-
24
- /**
25
- * Initiator
26
- */
27
- public static function instance() {
28
- if ( ! isset( self::$instance ) ) {
29
- self::$instance = new Wpr_GeneratePress_Compat();
30
-
31
- add_action( 'wp', [ self::$instance, 'hooks' ] );
32
- }
33
-
34
- return self::$instance;
35
- }
36
-
37
- /**
38
- * Run all the Actions / Filters.
39
- */
40
- public function hooks() {
41
- $this->render_templates = new WPR_Render_Templates( true );
42
-
43
- if ( $this->render_templates->is_template_available('header') ) {
44
- add_action( 'template_redirect', [ $this, 'generatepress_setup_header' ] );
45
- add_action( 'generate_header', [$this->render_templates, 'replace_header'] );
46
- add_action( 'elementor/page_templates/canvas/before_content', [ $this->render_templates, 'add_canvas_header' ] );
47
- }
48
-
49
- if ( $this->render_templates->is_template_available('footer') ) {
50
- add_action( 'template_redirect', [ $this, 'generatepress_setup_footer' ] );
51
- add_action( 'generate_footer', [$this->render_templates, 'replace_footer'] );
52
- add_action( 'elementor/page_templates/canvas/after_content', [ $this->render_templates, 'add_canvas_footer' ] );
53
- }
54
- }
55
-
56
- /**
57
- * Disable header from the theme.
58
- */
59
- public function generatepress_setup_header() {
60
- remove_action( 'generate_header', 'generate_construct_header' );
61
- }
62
-
63
- /**
64
- * Disable footer from the theme.
65
- */
66
- public function generatepress_setup_footer() {
67
- remove_action( 'generate_footer', 'generate_construct_footer_widgets', 5 );
68
- remove_action( 'generate_footer', 'generate_construct_footer' );
69
- }
70
-
71
- }
72
-
73
- Wpr_GeneratePress_Compat::instance();
1
+ <?php
2
+
3
+ use WprAddons\Admin\Includes\WPR_Render_Templates;
4
+
5
+ /**
6
+ * Wpr_GeneratePress_Compat setup
7
+ *
8
+ * @since 1.0
9
+ */
10
+ class Wpr_GeneratePress_Compat {
11
+
12
+ /**
13
+ * Instance of Wpr_GeneratePress_Compat
14
+ *
15
+ * @var Wpr_GeneratePress_Compat
16
+ */
17
+ private static $instance;
18
+
19
+ /**
20
+ * WPR_Render_Templates() Class
21
+ */
22
+ private $render_templates;
23
+
24
+ /**
25
+ * Initiator
26
+ */
27
+ public static function instance() {
28
+ if ( ! isset( self::$instance ) ) {
29
+ self::$instance = new Wpr_GeneratePress_Compat();
30
+
31
+ add_action( 'wp', [ self::$instance, 'hooks' ] );
32
+ }
33
+
34
+ return self::$instance;
35
+ }
36
+
37
+ /**
38
+ * Run all the Actions / Filters.
39
+ */
40
+ public function hooks() {
41
+ $this->render_templates = new WPR_Render_Templates( true );
42
+
43
+ if ( $this->render_templates->is_template_available('header') ) {
44
+ add_action( 'template_redirect', [ $this, 'generatepress_setup_header' ] );
45
+ add_action( 'generate_header', [$this->render_templates, 'replace_header'] );
46
+ add_action( 'elementor/page_templates/canvas/before_content', [ $this->render_templates, 'add_canvas_header' ] );
47
+ }
48
+
49
+ if ( $this->render_templates->is_template_available('footer') ) {
50
+ add_action( 'template_redirect', [ $this, 'generatepress_setup_footer' ] );
51
+ add_action( 'generate_footer', [$this->render_templates, 'replace_footer'] );
52
+ add_action( 'elementor/page_templates/canvas/after_content', [ $this->render_templates, 'add_canvas_footer' ] );
53
+ }
54
+ }
55
+
56
+ /**
57
+ * Disable header from the theme.
58
+ */
59
+ public function generatepress_setup_header() {
60
+ remove_action( 'generate_header', 'generate_construct_header' );
61
+ }
62
+
63
+ /**
64
+ * Disable footer from the theme.
65
+ */
66
+ public function generatepress_setup_footer() {
67
+ remove_action( 'generate_footer', 'generate_construct_footer_widgets', 5 );
68
+ remove_action( 'generate_footer', 'generate_construct_footer' );
69
+ }
70
+
71
+ }
72
+
73
+ Wpr_GeneratePress_Compat::instance();
admin/templates/views/oceanwp/class-oceanwp-compat.php CHANGED
@@ -1,72 +1,72 @@
1
- <?php
2
-
3
- use WprAddons\Admin\Includes\WPR_Render_Templates;
4
-
5
- /**
6
- * OceanWP theme compatibility.
7
- */
8
- class Wpr_OceanWP_Compat {
9
-
10
- /**
11
- * Instance of Wpr_OceanWP_Compat.
12
- *
13
- * @var Wpr_OceanWP_Compat
14
- */
15
- private static $instance;
16
-
17
- /**
18
- * WPR_Render_Templates() Class
19
- */
20
- private $render_templates;
21
-
22
- /**
23
- * Initiator
24
- */
25
- public static function instance() {
26
- if ( ! isset( self::$instance ) ) {
27
- self::$instance = new Wpr_OceanWP_Compat();
28
-
29
- add_action( 'wp', [ self::$instance, 'hooks' ] );
30
- }
31
-
32
- return self::$instance;
33
- }
34
-
35
- /**
36
- * Run all the Actions / Filters.
37
- */
38
- public function hooks() {
39
- $this->render_templates = new WPR_Render_Templates( true );
40
-
41
- if ( $this->render_templates->is_template_available('header') ) {
42
- add_action( 'template_redirect', [ $this, 'setup_header' ], 10 );
43
- add_action( 'ocean_header', [$this->render_templates, 'replace_header'] );
44
- add_action( 'elementor/page_templates/canvas/before_content', [ $this->render_templates, 'add_canvas_header' ] );
45
- }
46
-
47
- if ( $this->render_templates->is_template_available('footer') ) {
48
- add_action( 'template_redirect', [ $this, 'setup_footer' ], 10 );
49
- add_action( 'ocean_footer', [$this->render_templates, 'replace_footer'] );
50
- add_action( 'elementor/page_templates/canvas/after_content', [ $this->render_templates, 'add_canvas_footer' ] );
51
- }
52
- }
53
-
54
- /**
55
- * Disable header from the theme.
56
- */
57
- public function setup_header() {
58
- remove_action( 'ocean_top_bar', 'oceanwp_top_bar_template' );
59
- remove_action( 'ocean_header', 'oceanwp_header_template' );
60
- remove_action( 'ocean_page_header', 'oceanwp_page_header_template' );
61
- }
62
-
63
- /**
64
- * Disable footer from the theme.
65
- */
66
- public function setup_footer() {
67
- remove_action( 'ocean_footer', 'oceanwp_footer_template' );
68
- }
69
-
70
- }
71
-
72
- Wpr_OceanWP_Compat::instance();
1
+ <?php
2
+
3
+ use WprAddons\Admin\Includes\WPR_Render_Templates;
4
+
5
+ /**
6
+ * OceanWP theme compatibility.
7
+ */
8
+ class Wpr_OceanWP_Compat {
9
+
10
+ /**
11
+ * Instance of Wpr_OceanWP_Compat.
12
+ *
13
+ * @var Wpr_OceanWP_Compat
14
+ */
15
+ private static $instance;
16
+
17
+ /**
18
+ * WPR_Render_Templates() Class
19
+ */
20
+ private $render_templates;
21
+
22
+ /**
23
+ * Initiator
24
+ */
25
+ public static function instance() {
26
+ if ( ! isset( self::$instance ) ) {
27
+ self::$instance = new Wpr_OceanWP_Compat();
28
+
29
+ add_action( 'wp', [ self::$instance, 'hooks' ] );
30
+ }
31
+
32
+ return self::$instance;
33
+ }
34
+
35
+ /**
36
+ * Run all the Actions / Filters.
37
+ */
38
+ public function hooks() {
39
+ $this->render_templates = new WPR_Render_Templates( true );
40
+
41
+ if ( $this->render_templates->is_template_available('header') ) {
42
+ add_action( 'template_redirect', [ $this, 'setup_header' ], 10 );
43
+ add_action( 'ocean_header', [$this->render_templates, 'replace_header'] );
44
+ add_action( 'elementor/page_templates/canvas/before_content', [ $this->render_templates, 'add_canvas_header' ] );
45
+ }
46
+
47
+ if ( $this->render_templates->is_template_available('footer') ) {
48
+ add_action( 'template_redirect', [ $this, 'setup_footer' ], 10 );
49
+ add_action( 'ocean_footer', [$this->render_templates, 'replace_footer'] );
50
+ add_action( 'elementor/page_templates/canvas/after_content', [ $this->render_templates, 'add_canvas_footer' ] );
51
+ }
52
+ }
53
+
54
+ /**
55
+ * Disable header from the theme.
56
+ */
57
+ public function setup_header() {
58
+ remove_action( 'ocean_top_bar', 'oceanwp_top_bar_template' );
59
+ remove_action( 'ocean_header', 'oceanwp_header_template' );
60
+ remove_action( 'ocean_page_header', 'oceanwp_page_header_template' );
61
+ }
62
+
63
+ /**
64
+ * Disable footer from the theme.
65
+ */
66
+ public function setup_footer() {
67
+ remove_action( 'ocean_footer', 'oceanwp_footer_template' );
68
+ }
69
+
70
+ }
71
+
72
+ Wpr_OceanWP_Compat::instance();
admin/templates/views/royal/theme-footer-royal.php CHANGED
@@ -1,24 +1,24 @@
1
- <?php
2
- use WprAddons\Admin\Includes\WPR_Conditions_Manager;
3
- use WprAddons\Classes\Utilities;
4
-
5
- if ( ! defined( 'ABSPATH' ) ) {
6
- exit; // Exit if accessed directly.
7
- }
8
-
9
- $conditions = json_decode( get_option('wpr_footer_conditions', '[]'), true );
10
- $template_slug = WPR_Conditions_Manager::header_footer_display_conditions($conditions);
11
-
12
- // Render WPR Header
13
- Utilities::render_elementor_template($template_slug);
14
-
15
- wp_footer();
16
-
17
- // Royal themes compatibility
18
- echo '</div>'; // .page-content
19
- echo '</div>'; // #page-wrap
20
-
21
- ?>
22
-
23
- </body>
24
  </html>
1
+ <?php
2
+ use WprAddons\Admin\Includes\WPR_Conditions_Manager;
3
+ use WprAddons\Classes\Utilities;
4
+
5
+ if ( ! defined( 'ABSPATH' ) ) {
6
+ exit; // Exit if accessed directly.
7
+ }
8
+
9
+ $conditions = json_decode( get_option('wpr_footer_conditions', '[]'), true );
10
+ $template_slug = WPR_Conditions_Manager::header_footer_display_conditions($conditions);
11
+
12
+ // Render WPR Header
13
+ Utilities::render_elementor_template($template_slug);
14
+
15
+ wp_footer();
16
+
17
+ // Royal themes compatibility
18
+ echo '</div>'; // .page-content
19
+ echo '</div>'; // #page-wrap
20
+
21
+ ?>
22
+
23
+ </body>
24
  </html>
admin/templates/views/storefront/class-storefront-compat.php CHANGED
@@ -1,105 +1,105 @@
1
- <?php
2
-
3
- use WprAddons\Admin\Includes\WPR_Render_Templates;
4
-
5
- /**
6
- * Astra theme compatibility.
7
- */
8
- class Wpr_Storefront_Compat {
9
-
10
- /**
11
- * Instance of Wpr_Storefront_Compat.
12
- *
13
- * @var Wpr_Storefront_Compat
14
- */
15
- private static $instance;
16
-
17
- /**
18
- * WPR_Render_Templates() Class
19
- */
20
- private $render_templates;
21
-
22
- /**
23
- * Initiator
24
- */
25
- public static function instance() {
26
- if ( ! isset( self::$instance ) ) {
27
- self::$instance = new Wpr_Storefront_Compat();
28
-
29
- add_action( 'wp', [ self::$instance, 'hooks' ] );
30
- }
31
-
32
- return self::$instance;
33
- }
34
-
35
- /**
36
- * Run all the Actions / Filters.
37
- */
38
- public function hooks() {
39
- $this->render_templates = new WPR_Render_Templates( true );
40
-
41
- if ( $this->render_templates->is_template_available('header') ) {
42
- add_action( 'template_redirect', [ $this, 'setup_header' ], 10 );
43
- add_action( 'storefront_before_header', [$this->render_templates, 'replace_header'], 500 );
44
- add_action( 'elementor/page_templates/canvas/before_content', [ $this->render_templates, 'add_canvas_header' ] );
45
- }
46
-
47
- if ( $this->render_templates->is_template_available('footer') ) {
48
- add_action( 'template_redirect', [ $this, 'setup_footer' ], 10 );
49
- add_action( 'storefront_after_footer', [$this->render_templates, 'replace_footer'], 500 );
50
- add_action( 'elementor/page_templates/canvas/after_content', [ $this->render_templates, 'add_canvas_footer' ] );
51
- }
52
-
53
- if ( $this->render_templates->is_template_available('header') || $this->render_templates->is_template_available('footer') ) {
54
- add_action( 'wp_head', [ $this, 'styles' ] );
55
- }
56
- }
57
-
58
- /**
59
- * Add inline CSS to hide empty divs for header and footer in storefront
60
- *
61
- * @since 1.2.0
62
- * @return void
63
- */
64
- public function styles() {
65
- $css = '<style id="wpr-disable-storefront-hf">';
66
-
67
- if ( $this->render_templates->is_template_available('header') ) {
68
- $css .= '.site-header {
69
- display: none;
70
- }';
71
- }
72
-
73
- if ( $this->render_templates->is_template_available('footer') ) {
74
- $css .= '.site-footer {
75
- display: none;
76
- }';
77
- }
78
-
79
- $css .= '</style>';
80
-
81
- // Echo plain CSS (no user input or variables)
82
- echo ''. $css; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
83
- }
84
-
85
- /**
86
- * Disable header from the theme.
87
- */
88
- public function setup_header() {
89
- for ( $priority = 0; $priority < 200; $priority ++ ) {
90
- remove_all_actions( 'storefront_header', $priority );
91
- }
92
- }
93
-
94
- /**
95
- * Disable footer from the theme.
96
- */
97
- public function setup_footer() {
98
- for ( $priority = 0; $priority < 200; $priority ++ ) {
99
- remove_all_actions( 'storefront_footer', $priority );
100
- }
101
- }
102
-
103
- }
104
-
105
- Wpr_Storefront_Compat::instance();
1
+ <?php
2
+
3
+ use WprAddons\Admin\Includes\WPR_Render_Templates;
4
+
5
+ /**
6
+ * Astra theme compatibility.
7
+ */
8
+ class Wpr_Storefront_Compat {
9
+
10
+ /**
11
+ * Instance of Wpr_Storefront_Compat.
12
+ *
13
+ * @var Wpr_Storefront_Compat
14
+ */
15
+ private static $instance;
16
+
17
+ /**
18
+ * WPR_Render_Templates() Class
19
+ */
20
+ private $render_templates;
21
+
22
+ /**
23
+ * Initiator
24
+ */
25
+ public static function instance() {
26
+ if ( ! isset( self::$instance ) ) {
27
+ self::$instance = new Wpr_Storefront_Compat();
28
+
29
+ add_action( 'wp', [ self::$instance, 'hooks' ] );
30
+ }
31
+
32
+ return self::$instance;
33
+ }
34
+
35
+ /**
36
+ * Run all the Actions / Filters.
37
+ */
38
+ public function hooks() {
39
+ $this->render_templates = new WPR_Render_Templates( true );
40
+
41
+ if ( $this->render_templates->is_template_available('header') ) {
42
+ add_action( 'template_redirect', [ $this, 'setup_header' ], 10 );
43
+ add_action( 'storefront_before_header', [$this->render_templates, 'replace_header'], 500 );
44
+ add_action( 'elementor/page_templates/canvas/before_content', [ $this->render_templates, 'add_canvas_header' ] );
45
+ }
46
+
47
+ if ( $this->render_templates->is_template_available('footer') ) {
48
+ add_action( 'template_redirect', [ $this, 'setup_footer' ], 10 );
49
+ add_action( 'storefront_after_footer', [$this->render_templates, 'replace_footer'], 500 );
50
+ add_action( 'elementor/page_templates/canvas/after_content', [ $this->render_templates, 'add_canvas_footer' ] );
51
+ }
52
+
53
+ if ( $this->render_templates->is_template_available('header') || $this->render_templates->is_template_available('footer') ) {
54
+ add_action( 'wp_head', [ $this, 'styles' ] );
55
+ }
56
+ }
57
+
58
+ /**
59
+ * Add inline CSS to hide empty divs for header and footer in storefront
60
+ *
61
+ * @since 1.2.0
62
+ * @return void
63
+ */
64
+ public function styles() {
65
+ $css = '<style id="wpr-disable-storefront-hf">';
66
+
67
+ if ( $this->render_templates->is_template_available('header') ) {
68
+ $css .= '.site-header {
69
+ display: none;
70
+ }';
71
+ }
72
+
73
+ if ( $this->render_templates->is_template_available('footer') ) {
74
+ $css .= '.site-footer {
75
+ display: none;
76
+ }';
77
+ }
78
+
79
+ $css .= '</style>';
80
+
81
+ // Echo plain CSS (no user input or variables)
82
+ echo ''. $css; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
83
+ }
84
+
85
+ /**
86
+ * Disable header from the theme.
87
+ */
88
+ public function setup_header() {
89
+ for ( $priority = 0; $priority < 200; $priority ++ ) {
90
+ remove_all_actions( 'storefront_header', $priority );
91
+ }
92
+ }
93
+
94
+ /**
95
+ * Disable footer from the theme.
96
+ */
97
+ public function setup_footer() {
98
+ for ( $priority = 0; $priority < 200; $priority ++ ) {
99
+ remove_all_actions( 'storefront_footer', $priority );
100
+ }
101
+ }
102
+
103
+ }
104
+
105
+ Wpr_Storefront_Compat::instance();
admin/templates/views/theme-header.php CHANGED
@@ -1,32 +1,32 @@
1
- <?php
2
- use WprAddons\Admin\Includes\WPR_Conditions_Manager;
3
- use WprAddons\Classes\Utilities;
4
-
5
- if ( ! defined( 'ABSPATH' ) ) {
6
- exit; // Exit if accessed directly.
7
- }
8
-
9
- $conditions = json_decode( get_option('wpr_header_conditions', '[]'), true );
10
- $template_slug = WPR_Conditions_Manager::header_footer_display_conditions($conditions);
11
-
12
- ?><!DOCTYPE html>
13
- <html <?php language_attributes(); ?>>
14
- <head>
15
- <meta charset="<?php bloginfo( 'charset' ); ?>">
16
- <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
17
- <?php if ( ! current_theme_supports( 'title-tag' ) ) : ?>
18
- <title>
19
- <?php echo esc_html(wp_get_document_title()); ?>
20
- </title>
21
- <?php endif; ?>
22
- <?php wp_head(); ?>
23
- </head>
24
-
25
- <body <?php body_class(); ?>>
26
-
27
- <?php
28
-
29
- do_action( 'wp_body_open' );
30
-
31
- // Render WPR Header
32
- Utilities::render_elementor_template($template_slug);
1
+ <?php
2
+ use WprAddons\Admin\Includes\WPR_Conditions_Manager;
3
+ use WprAddons\Classes\Utilities;
4
+
5
+ if ( ! defined( 'ABSPATH' ) ) {
6
+ exit; // Exit if accessed directly.
7
+ }
8
+
9
+ $conditions = json_decode( get_option('wpr_header_conditions', '[]'), true );
10
+ $template_slug = WPR_Conditions_Manager::header_footer_display_conditions($conditions);
11
+
12
+ ?><!DOCTYPE html>
13
+ <html <?php language_attributes(); ?>>
14
+ <head>
15
+ <meta charset="<?php bloginfo( 'charset' ); ?>">
16
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
17
+ <?php if ( ! current_theme_supports( 'title-tag' ) ) : ?>
18
+ <title>
19
+ <?php echo esc_html(wp_get_document_title()); ?>
20
+ </title>
21
+ <?php endif; ?>
22
+ <?php wp_head(); ?>
23
+ </head>
24
+
25
+ <body <?php body_class(); ?>>
26
+
27
+ <?php
28
+
29
+ do_action( 'wp_body_open' );
30
+
31
+ // Render WPR Header
32
+ Utilities::render_elementor_template($template_slug);
admin/templates/wpr-canvas.php CHANGED
@@ -1,66 +1,66 @@
1
- <?php
2
-
3
- use Elementor\Utils;
4
- use WprAddons\Classes\Utilities;
5
-
6
- if ( ! defined( 'ABSPATH' ) ) {
7
- exit; // Exit if accessed directly.
8
- }
9
-
10
- \Elementor\Plugin::$instance->frontend->add_body_class( 'elementor-template-canvas' );
11
-
12
- $is_preview_mode = \Elementor\Plugin::$instance->preview->is_preview_mode();
13
- // $woocommerce_class = $is_preview_mode && class_exists( 'WooCommerce' ) ? 'woocommerce woocommerce-page woocommerce-shop canvas-test' : '';
14
- $woocommerce_class = $is_preview_mode && class_exists( 'WooCommerce' ) ? 'woocommerce woocommerce-page' : '';
15
-
16
- ?>
17
- <!DOCTYPE html>
18
- <html <?php language_attributes(); ?>>
19
- <head>
20
- <meta charset="<?php bloginfo( 'charset' ); ?>">
21
- <?php if ( ! current_theme_supports( 'title-tag' ) ) : ?>
22
- <title><?php echo wp_get_document_title(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></title>
23
- <?php endif; ?>
24
- <?php wp_head(); ?>
25
- <?php
26
-
27
- // Keep the following line after `wp_head()` call, to ensure it's not overridden by another templates.
28
- Utils::print_unescaped_internal_string( Utils::get_meta_viewport( 'canvas' ) );
29
- ?>
30
- </head>
31
-
32
- <body <?php body_class($woocommerce_class); ?>>
33
- <?php
34
- Elementor\Modules\PageTemplates\Module::body_open();
35
- /**
36
- * Before canvas page template content.
37
- *
38
- * Fires before the content of Elementor canvas page template.
39
- *
40
- * @since 1.0.0
41
- */
42
- do_action( 'elementor/page_templates/canvas/before_content' );
43
-
44
- // Elementor Editor
45
- if (( \Elementor\Plugin::$instance->preview->is_preview_mode() && Utilities::is_theme_builder_template()) || is_singular('wpr_mega_menu') ) {
46
- \Elementor\Plugin::$instance->modules_manager->get_modules( 'page-templates' )->print_content();
47
-
48
- // Frontend
49
- } else {
50
- // Display Custom Elementor Templates
51
- do_action( 'elementor/page_templates/canvas/wpr_print_content' );
52
- }
53
-
54
- /**
55
- * After canvas page template content.
56
- *
57
- * Fires after the content of Elementor canvas page template.
58
- *
59
- * @since 1.0.0
60
- */
61
- do_action( 'elementor/page_templates/canvas/after_content' );
62
-
63
- wp_footer();
64
- ?>
65
- </body>
66
- </html>
1
+ <?php
2
+
3
+ use Elementor\Utils;
4
+ use WprAddons\Classes\Utilities;
5
+
6
+ if ( ! defined( 'ABSPATH' ) ) {
7
+ exit; // Exit if accessed directly.
8
+ }
9
+
10
+ \Elementor\Plugin::$instance->frontend->add_body_class( 'elementor-template-canvas' );
11
+
12
+ $is_preview_mode = \Elementor\Plugin::$instance->preview->is_preview_mode();
13
+ // $woocommerce_class = $is_preview_mode && class_exists( 'WooCommerce' ) ? 'woocommerce woocommerce-page woocommerce-shop canvas-test' : '';
14
+ $woocommerce_class = $is_preview_mode && class_exists( 'WooCommerce' ) ? 'woocommerce woocommerce-page' : '';
15
+
16
+ ?>
17
+ <!DOCTYPE html>
18
+ <html <?php language_attributes(); ?>>
19
+ <head>
20
+ <meta charset="<?php bloginfo( 'charset' ); ?>">
21
+ <?php if ( ! current_theme_supports( 'title-tag' ) ) : ?>
22
+ <title><?php echo wp_get_document_title(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></title>
23
+ <?php endif; ?>
24
+ <?php wp_head(); ?>
25
+ <?php
26
+
27
+ // Keep the following line after `wp_head()` call, to ensure it's not overridden by another templates.
28
+ Utils::print_unescaped_internal_string( Utils::get_meta_viewport( 'canvas' ) );
29
+ ?>
30
+ </head>
31
+
32
+ <body <?php body_class($woocommerce_class); ?>>
33
+ <?php
34
+ Elementor\Modules\PageTemplates\Module::body_open();
35
+ /**
36
+ * Before canvas page template content.
37
+ *
38
+ * Fires before the content of Elementor canvas page template.
39
+ *
40
+ * @since 1.0.0
41
+ */
42
+ do_action( 'elementor/page_templates/canvas/before_content' );
43
+
44
+ // Elementor Editor
45
+ if (( \Elementor\Plugin::$instance->preview->is_preview_mode() && Utilities::is_theme_builder_template()) || is_singular('wpr_mega_menu') ) {
46
+ \Elementor\Plugin::$instance->modules_manager->get_modules( 'page-templates' )->print_content();
47
+
48
+ // Frontend
49
+ } else {
50
+ // Display Custom Elementor Templates
51
+ do_action( 'elementor/page_templates/canvas/wpr_print_content' );
52
+ }
53
+
54
+ /**
55
+ * After canvas page template content.
56
+ *
57
+ * Fires after the content of Elementor canvas page template.
58
+ *
59
+ * @since 1.0.0
60
+ */
61
+ do_action( 'elementor/page_templates/canvas/after_content' );
62
+
63
+ wp_footer();
64
+ ?>
65
+ </body>
66
+ </html>
assets/css/admin/mega-menu.css CHANGED
@@ -1,444 +1,444 @@
1
- .wpr-mm-settings-btn {
2
- visibility: hidden;
3
- opacity: 0;
4
- }
5
-
6
- .menu-item-depth-0:hover .wpr-mm-settings-btn {
7
- visibility: visible;
8
- opacity: 1;
9
- }
10
-
11
- .wpr-mm-settings-btn {
12
- position: absolute;
13
- top: 5px;
14
- left: 260px;
15
- display: -webkit-box;
16
- display: -ms-flexbox;
17
- display: flex;
18
- -webkit-box-align: center;
19
- -ms-flex-align: center;
20
- align-items: center;
21
- padding: 5px 14px 7px;
22
- color: #fff;
23
- background: -webkit-gradient(linear, left top, left bottom, from(#6A4BFF), to(#7E94FE));
24
- background: -o-linear-gradient(#6A4BFF, #7E94FE);
25
- background: linear-gradient(#6A4BFF, #7E94FE);
26
- font-weight: 500;
27
- border-radius: 3px;
28
- cursor: pointer;
29
- }
30
-
31
- .wpr-mm-settings-btn span {
32
- content: 'R';
33
- display: inline-block;
34
- font-family: Roboto,Arial,Helvetica,Verdana,sans-serif;
35
- font-size: 8px;
36
- font-weight: bold;
37
- text-align: center;
38
- color: #ffffff;
39
- background-image: -o-linear-gradient(#6A4BFF, #7E94FE);
40
- background-image: -webkit-gradient(linear, left top, left bottom, from(#6A4BFF), to(#7E94FE));
41
- background-image: linear-gradient(#6A4BFF, #7E94FE);
42
- -webkit-box-shadow: 0 0 2px 2px #b8c7ff;
43
- box-shadow: 0 0 2px 2px #b8c7ff;
44
- width: 16px;
45
- height: 16px;
46
- line-height: 16px;
47
- border-radius: 15px;
48
- margin-right: 7px;
49
- }
50
-
51
- .wpr-mm-settings-popup-wrap {
52
- display: none;
53
- position: absolute;
54
- top: 0;
55
- left: 0;
56
- right: 0;
57
- bottom: 0;
58
- z-index: 9999999;
59
- background-color: rgba(0,0,0,0.3);
60
- }
61
-
62
- .wpr-mm-settings-popup {
63
- position: fixed;
64
- top: 50%;
65
- left: 50%;
66
- -webkit-transform: translate(-50%,-50%);
67
- -ms-transform: translate(-50%,-50%);
68
- transform: translate(-50%,-50%);
69
- width: 100%;
70
- max-width: 700px;
71
- margin-left: 80px;
72
- background-color: #fff;
73
- -webkit-box-shadow: 2px 2px 8px rgba(0,0,0,0.3);
74
- box-shadow: 2px 2px 8px rgba(0,0,0,0.3);
75
- }
76
-
77
- .wpr-mm-popup-title {
78
- margin-left: auto;
79
- margin-right: 10px;
80
- border: 1px solid #dcdcde;
81
- background-color: #f6f7f7;
82
- padding: 2px 10px 4px;
83
- }
84
-
85
- .wpr-mm-settings-close-popup-btn {
86
- cursor: pointer;
87
- }
88
-
89
- .wpr-mm-settings-popup-header {
90
- display: -webkit-box;
91
- display: -ms-flexbox;
92
- display: flex;
93
- -webkit-box-align: center;
94
- -ms-flex-align: center;
95
- align-items: center;
96
- padding: 10px;
97
- border-bottom: 1px solid #e8e8e8;
98
- font-weight: 500;
99
- }
100
-
101
- .wpr-mm-popup-logo {
102
- padding: 3px;
103
- margin-right: 10px;
104
- border-radius: 50%;
105
- color: transparent;
106
- font-family: Arial,Helvetica,sans-serif;
107
- font-size: 14px;
108
- font-weight: bold;
109
- letter-spacing: 0.3px;
110
- }
111
-
112
- .wpr-mm-settings-popup-footer {
113
- display: -webkit-box;
114
- display: -ms-flexbox;
115
- display: flex;
116
- -webkit-box-pack: end;
117
- -ms-flex-pack: end;
118
- justify-content: flex-end;
119
- padding: 10px;
120
- border-top: 1px solid #e8e8e8;
121
- }
122
-
123
- .button.wpr-save-mega-menu-btn {
124
- min-height: 0;
125
- padding: 6px 18px 7px;
126
- color: #fff;
127
- background: #6A4BFF;
128
- border-radius: 3px;
129
- font-size: 12px;
130
- text-transform: uppercase;
131
- letter-spacing: 0.5px;
132
- font-weight: 600;
133
- cursor: pointer;
134
- line-height: 1;
135
- -webkit-box-shadow: none !important;
136
- box-shadow: none !important;
137
- }
138
-
139
- .button.wpr-save-mega-menu-btn:hover {
140
- color: #fff;
141
- background: #5537e1;
142
- }
143
-
144
- .wpr-save-mega-menu-btn .dashicons {
145
- display: inline;
146
- line-height: 8px;
147
- font-size: 14px;
148
- vertical-align: sub;
149
- }
150
-
151
- .wpr-mm-settings-wrap {
152
- height: 60vh;
153
- overflow-y: scroll;
154
- padding: 20px;
155
- }
156
-
157
- .wpr-mm-settings-wrap > h4 {
158
- padding: 5px 10px 7px;
159
- background-color: #f5f3f3;
160
- margin: 5px 0;
161
- }
162
-
163
- .wpr-mm-setting {
164
- display: -webkit-box;
165
- display: -ms-flexbox;
166
- display: flex;
167
- -webkit-box-align: center;
168
- -ms-flex-align: center;
169
- align-items: center;
170
- padding: 10px;
171
- }
172
-
173
- .wpr-mm-setting h4 {
174
- width: 200px;
175
- margin: 0;
176
- }
177
-
178
- .wpr-mm-setting > div,
179
- .wpr-mm-setting select,
180
- .wpr-mm-setting input[type="text"] {
181
- width: 168px;
182
- }
183
-
184
- .wpr-mm-setting input[type="number"] {
185
- width: 103px;
186
- }
187
-
188
- .wpr-mm-setting-switcher input {
189
- position: absolute;
190
- z-index: -1000;
191
- left: -1000px;
192
- overflow: hidden;
193
- clip: rect(0 0 0 0);
194
- height: 1px;
195
- width: 1px;
196
- margin: -1px;
197
- padding: 0;
198
- border: 0;
199
- }
200
-
201
- .wpr-mm-setting-switcher label {
202
- position: relative;
203
- display: block;
204
- width: 45px;
205
- height: 23px;
206
- border-radius: 20px;
207
- background: #e8e8e8;
208
- cursor: pointer;
209
- -webkit-touch-callout: none;
210
- -webkit-user-select: none;
211
- -moz-user-select: none;
212
- -ms-user-select: none;
213
- user-select: none;
214
- -webkit-transition: all 0.2s ease-in;
215
- -o-transition: all 0.2s ease-in;
216
- transition: all 0.2s ease-in;
217
- }
218
-
219
- .wpr-mm-setting-switcher input + label:after {
220
- content: ' ';
221
- display: block;
222
- position: absolute;
223
- top: 3px;
224
- left: 3px;
225
- width: 17px;
226
- height: 17px;
227
- border-radius: 50%;
228
- background: #fff;
229
- -webkit-transition: all 0.2s ease-in;
230
- -o-transition: all 0.2s ease-in;
231
- transition: all 0.2s ease-in;
232
- }
233
-
234
- .wpr-mm-setting-switcher input:checked + label {
235
- background: #6A4BFF;
236
- }
237
-
238
- .wpr-mm-setting-switcher input:checked + label:after {
239
- left: 24px;
240
- }
241
-
242
- button.wpr-edit-mega-menu-btn {
243
- padding: 3px 22px !important;
244
- font-size: 12px !important;
245
- }
246
-
247
- .wpr-edit-mega-menu-btn i {
248
- font-size: 125%;
249
- margin-right: 3px;
250
- }
251
-
252
- .wpr-mm-editor-popup-wrap {
253
- display: none;
254
- position: fixed;
255
- top: 0;
256
- left: 0;
257
- width: 100%;
258
- height: 100%;
259
- background: rgba(0,0,0,0.5);
260
- z-index: 99999999;
261
- }
262
-
263
- .wpr-mm-editor-popup-iframe {
264
- width: calc(100vw - 70px);
265
- height: calc(100vh - 70px);
266
- margin: 35px 25px;
267
- background-color: #f9f9f9;
268
- -webkit-box-shadow: 2px 2px 8px rgba(0,0,0,0.3);
269
- box-shadow: 2px 2px 8px rgba(0,0,0,0.3);
270
- }
271
-
272
- .wpr-mm-editor-close-popup-btn {
273
- position: absolute;
274
- top: 40px;
275
- right: 55px;
276
- font-size: 50px !important;
277
- }
278
-
279
- .wpr-mm-editor-close-popup-btn span {
280
- color: #444;
281
- font-size: 25px;
282
- cursor: pointer;
283
- }
284
-
285
- .wpr-mm-editor-close-popup-btn span:hover {
286
- color: #888;
287
- }
288
-
289
- .wpr-mm-setting-radius div {
290
- display: -webkit-box;
291
- display: -ms-flexbox;
292
- display: flex;
293
- }
294
-
295
- .wpr-mm-setting-icon div span {
296
- display: -webkit-inline-box;
297
- display: -ms-inline-flexbox;
298
- display: inline-flex;
299
- -webkit-box-align: center;
300
- -ms-flex-align: center;
301
- align-items: center;
302
- -webkit-box-pack: center;
303
- -ms-flex-pack: center;
304
- justify-content: center;
305
- width: 30px;
306
- height: 30px;
307
- border: 1px solid #a4afb7;
308
- cursor: pointer;
309
- }
310
-
311
- .wpr-mm-setting-icon div span.wpr-mm-active-icon {
312
- background-color: #a4afb7;
313
- color: #fff;
314
- }
315
-
316
- .wpr-mm-setting-icon div span:first-child {
317
- border-radius: 3px 0 0 3px;
318
- }
319
-
320
- .wpr-mm-setting-icon div span:last-child {
321
- border-radius: 0 3px 3px 0;
322
- }
323
-
324
- .wpr-mm-setting-icon input[type="text"] {
325
- width: 0;
326
- padding: 0;
327
- border: 0;
328
- -webkit-box-shadow: none !important;
329
- box-shadow: none !important;
330
- margin-left: -15px;
331
- }
332
-
333
- .wpr-mm-setting.iconpicker-container .iconpicker-popover {
334
- padding: 5px;
335
- }
336
-
337
- .wpr-mm-setting.iconpicker-container .popover-title {
338
- padding: 0;
339
- }
340
-
341
- .wpr-mm-setting.iconpicker-container input[type="search"] {
342
- padding: 5px 10px;
343
- margin: 0 !important;
344
- border: 0;
345
- width: 100%;
346
- }
347
-
348
- .wpr-mm-setting.iconpicker-container .arrow {
349
- border-bottom-color: #f7f7f7 !important;
350
- top: -8px !important;
351
- }
352
-
353
- .wp-picker-input-wrap .wp-picker-container {
354
- display: none;
355
- }
356
-
357
- .wpr-mm-setting select,
358
- .wpr-mm-setting input:not(.iconpicker-input),
359
- .wpr-mm-setting button {
360
- border: 1px solid #e5e5e5 !important;
361
- }
362
-
363
- /* Pro Options */
364
- .wpr-mm-pro-setting h4:after,
365
- h4.wpr-mm-pro-heading:after {
366
- content: 'PRO';
367
- margin-left: 5px;
368
- padding: 1px 7px 2px;
369
- color: #fff;
370
- background-color: #f44;
371
- border-radius: 3px;
372
- font-size: 10px;
373
- font-weight: bold;
374
- letter-spacing: 1px;
375
- }
376
-
377
- .wpr-mm-pro-section,
378
- .wpr-mm-pro-setting > div {
379
- position: relative;
380
- }
381
-
382
- .wpr-mm-pro-section:before,
383
- .wpr-mm-pro-setting > div:before {
384
- content: 'Please upgrade to the Pro Version to access this options.';
385
- display: none;
386
- position: absolute;
387
- left: -20px;
388
- top: -65px;
389
- z-index: 2;
390
- width: 210px;
391
- padding: 10px;
392
- font-size: 12px;
393
- background-color: #fff;
394
- -webkit-box-shadow: 1px 1px 5px rgba(0,0,0,0.1);
395
- box-shadow: 1px 1px 5px rgba(0,0,0,0.1);
396
- border: 1px solid #e8e8e8;
397
- border-radius: 4px;
398
- text-align: center;
399
- }
400
-
401
- .wpr-mm-pro-section:before {
402
- content: 'Please upgrade to the Pro Version to access these options.';
403
- top: 50%;
404
- left: 50%;
405
- -webkit-transform: translateX(-50%) translateY(-50%);
406
- -ms-transform: translateX(-50%) translateY(-50%);
407
- transform: translateX(-50%) translateY(-50%);
408
- padding: 20px 30px;
409
- font-size: 13px;
410
- }
411
-
412
- .wpr-mm-pro-section:hover:before,
413
- .wpr-mm-pro-setting > div:hover:before {
414
- display: block;
415
- }
416
-
417
- .wpr-mm-pro-setting > div:after,
418
- .wpr-mm-pro-section:after {
419
- content: '';
420
- position: absolute;
421
- top: 0;
422
- left: 0;
423
- z-index: 1;
424
- width: 100%;
425
- height: 100%;
426
- background: rgba(0,0,0,0.1);
427
- }
428
-
429
- .wpr-mm-pro-setting select {
430
- display: none;
431
- }
432
-
433
- .wpr-mm-pro-setting .wpr-mm-pro-radio {
434
- display: block;
435
- }
436
-
437
- .wpr-mm-pro-radio {
438
- display: none;
439
- padding: 5px 10px;
440
- }
441
-
442
- .wpr-mm-setting select option[value*="pro-"] {
443
- background-color: rgba(0,0,0,0.2);
444
  }
1
+ .wpr-mm-settings-btn {
2
+ visibility: hidden;
3
+ opacity: 0;
4
+ }
5
+
6
+ .menu-item-depth-0:hover .wpr-mm-settings-btn {
7
+ visibility: visible;
8
+ opacity: 1;
9
+ }
10
+
11
+ .wpr-mm-settings-btn {
12
+ position: absolute;
13
+ top: 5px;
14
+ left: 260px;
15
+ display: -webkit-box;
16
+ display: -ms-flexbox;
17
+ display: flex;
18
+ -webkit-box-align: center;
19
+ -ms-flex-align: center;
20
+ align-items: center;
21
+ padding: 5px 14px 7px;
22
+ color: #fff;
23
+ background: -webkit-gradient(linear, left top, left bottom, from(#6A4BFF), to(#7E94FE));
24
+ background: -o-linear-gradient(#6A4BFF, #7E94FE);
25
+ background: linear-gradient(#6A4BFF, #7E94FE);
26
+ font-weight: 500;
27
+ border-radius: 3px;
28
+ cursor: pointer;
29
+ }
30
+
31
+ .wpr-mm-settings-btn span {
32
+ content: 'R';
33
+ display: inline-block;
34
+ font-family: Roboto,Arial,Helvetica,Verdana,sans-serif;
35
+ font-size: 8px;
36
+ font-weight: bold;
37
+ text-align: center;
38
+ color: #ffffff;
39
+ background-image: -o-linear-gradient(#6A4BFF, #7E94FE);
40
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#6A4BFF), to(#7E94FE));
41
+ background-image: linear-gradient(#6A4BFF, #7E94FE);
42
+ -webkit-box-shadow: 0 0 2px 2px #b8c7ff;
43
+ box-shadow: 0 0 2px 2px #b8c7ff;
44
+ width: 16px;
45
+ height: 16px;
46
+ line-height: 16px;
47
+ border-radius: 15px;
48
+ margin-right: 7px;
49
+ }
50
+
51
+ .wpr-mm-settings-popup-wrap {
52
+ display: none;
53
+ position: absolute;
54
+ top: 0;
55
+ left: 0;
56
+ right: 0;
57
+ bottom: 0;
58
+ z-index: 9999999;
59
+ background-color: rgba(0,0,0,0.3);
60
+ }
61
+
62
+ .wpr-mm-settings-popup {
63
+ position: fixed;
64
+ top: 50%;
65
+ left: 50%;
66
+ -webkit-transform: translate(-50%,-50%);
67
+ -ms-transform: translate(-50%,-50%);
68
+ transform: translate(-50%,-50%);
69
+ width: 100%;
70
+ max-width: 700px;
71
+ margin-left: 80px;
72
+ background-color: #fff;
73
+ -webkit-box-shadow: 2px 2px 8px rgba(0,0,0,0.3);
74
+ box-shadow: 2px 2px 8px rgba(0,0,0,0.3);
75
+ }
76
+
77
+ .wpr-mm-popup-title {
78
+ margin-left: auto;
79
+ margin-right: 10px;
80
+ border: 1px solid #dcdcde;
81
+ background-color: #f6f7f7;
82
+ padding: 2px 10px 4px;
83
+ }
84
+
85
+ .wpr-mm-settings-close-popup-btn {
86
+ cursor: pointer;
87
+ }
88
+
89
+ .wpr-mm-settings-popup-header {
90
+ display: -webkit-box;
91
+ display: -ms-flexbox;
92
+ display: flex;
93
+ -webkit-box-align: center;
94
+ -ms-flex-align: center;
95
+ align-items: center;
96
+ padding: 10px;
97
+ border-bottom: 1px solid #e8e8e8;
98
+ font-weight: 500;
99
+ }
100
+
101
+ .wpr-mm-popup-logo {
102
+ padding: 3px;
103
+ margin-right: 10px;
104
+ border-radius: 50%;
105
+ color: transparent;
106
+ font-family: Arial,Helvetica,sans-serif;
107
+ font-size: 14px;
108
+ font-weight: bold;
109
+ letter-spacing: 0.3px;
110
+ }
111
+
112
+ .wpr-mm-settings-popup-footer {
113
+ display: -webkit-box;
114
+ display: -ms-flexbox;
115
+ display: flex;
116
+ -webkit-box-pack: end;
117
+ -ms-flex-pack: end;
118
+ justify-content: flex-end;
119
+ padding: 10px;
120
+ border-top: 1px solid #e8e8e8;
121
+ }
122
+
123
+ .button.wpr-save-mega-menu-btn {
124
+ min-height: 0;
125
+ padding: 6px 18px 7px;
126
+ color: #fff;
127
+ background: #6A4BFF;
128
+ border-radius: 3px;
129
+ font-size: 12px;
130
+ text-transform: uppercase;
131
+ letter-spacing: 0.5px;
132
+ font-weight: 600;
133
+ cursor: pointer;
134
+ line-height: 1;
135
+ -webkit-box-shadow: none !important;
136
+ box-shadow: none !important;
137
+ }
138
+
139
+ .button.wpr-save-mega-menu-btn:hover {
140
+ color: #fff;
141
+ background: #5537e1;
142
+ }
143
+
144
+ .wpr-save-mega-menu-btn .dashicons {
145
+ display: inline;
146
+ line-height: 8px;
147
+ font-size: 14px;
148
+ vertical-align: sub;
149
+ }
150
+
151
+ .wpr-mm-settings-wrap {
152
+ height: 60vh;
153
+ overflow-y: scroll;
154
+ padding: 20px;
155
+ }
156
+
157
+ .wpr-mm-settings-wrap > h4 {
158
+ padding: 5px 10px 7px;
159
+ background-color: #f5f3f3;
160
+ margin: 5px 0;
161
+ }
162
+
163
+ .wpr-mm-setting {
164
+ display: -webkit-box;
165
+ display: -ms-flexbox;
166
+ display: flex;
167
+ -webkit-box-align: center;
168
+ -ms-flex-align: center;
169
+ align-items: center;
170
+ padding: 10px;
171
+ }
172
+
173
+ .wpr-mm-setting h4 {
174
+ width: 200px;
175
+ margin: 0;
176
+ }
177
+
178
+ .wpr-mm-setting > div,
179
+ .wpr-mm-setting select,
180
+ .wpr-mm-setting input[type="text"] {
181
+ width: 168px;
182
+ }
183
+
184
+ .wpr-mm-setting input[type="number"] {
185
+ width: 103px;
186
+ }
187
+
188
+ .wpr-mm-setting-switcher input {
189
+ position: absolute;
190
+ z-index: -1000;
191
+ left: -1000px;
192
+ overflow: hidden;
193
+ clip: rect(0 0 0 0);
194
+ height: 1px;
195
+ width: 1px;
196
+ margin: -1px;
197
+ padding: 0;
198
+ border: 0;
199
+ }
200
+
201
+ .wpr-mm-setting-switcher label {
202
+ position: relative;
203
+ display: block;
204
+ width: 45px;
205
+ height: 23px;
206
+ border-radius: 20px;
207
+ background: #e8e8e8;
208
+ cursor: pointer;
209
+ -webkit-touch-callout: none;
210
+ -webkit-user-select: none;
211
+ -moz-user-select: none;
212
+ -ms-user-select: none;
213
+ user-select: none;
214
+ -webkit-transition: all 0.2s ease-in;
215
+ -o-transition: all 0.2s ease-in;
216
+ transition: all 0.2s ease-in;
217
+ }
218
+
219
+ .wpr-mm-setting-switcher input + label:after {
220
+ content: ' ';
221
+ display: block;
222
+ position: absolute;
223
+ top: 3px;
224
+ left: 3px;
225
+ width: 17px;
226
+ height: 17px;
227
+ border-radius: 50%;
228
+ background: #fff;
229
+ -webkit-transition: all 0.2s ease-in;
230
+ -o-transition: all 0.2s ease-in;
231
+ transition: all 0.2s ease-in;
232
+ }
233
+
234
+ .wpr-mm-setting-switcher input:checked + label {
235
+ background: #6A4BFF;
236
+ }
237
+
238
+ .wpr-mm-setting-switcher input:checked + label:after {
239
+ left: 24px;
240
+ }
241
+
242
+ button.wpr-edit-mega-menu-btn {
243
+ padding: 3px 22px !important;
244
+ font-size: 12px !important;
245
+ }
246
+
247
+ .wpr-edit-mega-menu-btn i {
248
+ font-size: 125%;
249
+ margin-right: 3px;
250
+ }
251
+
252
+ .wpr-mm-editor-popup-wrap {
253
+ display: none;
254
+ position: fixed;
255
+ top: 0;
256
+ left: 0;
257
+ width: 100%;
258
+ height: 100%;
259
+ background: rgba(0,0,0,0.5);
260
+ z-index: 99999999;
261
+ }
262
+
263
+ .wpr-mm-editor-popup-iframe {
264
+ width: calc(100vw - 70px);
265
+ height: calc(100vh - 70px);
266
+ margin: 35px 25px;
267
+ background-color: #f9f9f9;
268
+ -webkit-box-shadow: 2px 2px 8px rgba(0,0,0,0.3);
269
+ box-shadow: 2px 2px 8px rgba(0,0,0,0.3);
270
+ }
271
+
272
+ .wpr-mm-editor-close-popup-btn {
273
+ position: absolute;
274
+ top: 40px;
275
+ right: 55px;
276
+ font-size: 50px !important;
277
+ }
278
+
279
+ .wpr-mm-editor-close-popup-btn span {
280
+ color: #444;
281
+ font-size: 25px;
282
+ cursor: pointer;
283
+ }
284
+
285
+ .wpr-mm-editor-close-popup-btn span:hover {
286
+ color: #888;
287
+ }
288
+
289
+ .wpr-mm-setting-radius div {
290
+ display: -webkit-box;
291
+ display: -ms-flexbox;
292
+ display: flex;
293
+ }
294
+
295
+ .wpr-mm-setting-icon div span {
296
+ display: -webkit-inline-box;
297
+ display: -ms-inline-flexbox;
298
+ display: inline-flex;
299
+ -webkit-box-align: center;
300
+ -ms-flex-align: center;
301
+ align-items: center;
302
+ -webkit-box-pack: center;
303
+ -ms-flex-pack: center;
304
+ justify-content: center;
305
+ width: 30px;
306
+ height: 30px;
307
+ border: 1px solid #a4afb7;
308
+ cursor: pointer;
309
+ }
310
+
311
+ .wpr-mm-setting-icon div span.wpr-mm-active-icon {
312
+ background-color: #a4afb7;
313
+ color: #fff;
314
+ }
315
+
316
+ .wpr-mm-setting-icon div span:first-child {
317
+ border-radius: 3px 0 0 3px;
318
+ }
319
+
320
+ .wpr-mm-setting-icon div span:last-child {
321
+ border-radius: 0 3px 3px 0;
322
+ }
323
+
324
+ .wpr-mm-setting-icon input[type="text"] {
325
+ width: 0;
326
+ padding: 0;
327
+ border: 0;
328
+ -webkit-box-shadow: none !important;
329
+ box-shadow: none !important;
330
+ margin-left: -15px;
331
+ }
332
+
333
+ .wpr-mm-setting.iconpicker-container .iconpicker-popover {
334
+ padding: 5px;
335
+ }
336
+
337
+ .wpr-mm-setting.iconpicker-container .popover-title {
338
+ padding: 0;
339
+ }
340
+
341
+ .wpr-mm-setting.iconpicker-container input[type="search"] {
342
+ padding: 5px 10px;
343
+ margin: 0 !important;
344
+ border: 0;
345
+ width: 100%;
346
+ }
347
+
348
+ .wpr-mm-setting.iconpicker-container .arrow {
349
+ border-bottom-color: #f7f7f7 !important;
350
+ top: -8px !important;
351
+ }
352
+
353
+ .wp-picker-input-wrap .wp-picker-container {
354
+ display: none;
355
+ }
356
+
357
+ .wpr-mm-setting select,
358
+ .wpr-mm-setting input:not(.iconpicker-input),
359
+ .wpr-mm-setting button {
360
+ border: 1px solid #e5e5e5 !important;
361
+ }
362
+
363
+ /* Pro Options */
364
+ .wpr-mm-pro-setting h4:after,
365
+ h4.wpr-mm-pro-heading:after {
366
+ content: 'PRO';
367
+ margin-left: 5px;
368
+ padding: 1px 7px 2px;
369
+ color: #fff;
370
+ background-color: #f44;
371
+ border-radius: 3px;
372
+ font-size: 10px;
373
+ font-weight: bold;
374
+ letter-spacing: 1px;
375
+ }
376
+
377
+ .wpr-mm-pro-section,
378
+ .wpr-mm-pro-setting > div {
379
+ position: relative;
380
+ }
381
+
382
+ .wpr-mm-pro-section:before,
383
+ .wpr-mm-pro-setting > div:before {
384
+ content: 'Please upgrade to the Pro Version to access this options.';
385
+ display: none;
386
+ position: absolute;
387
+ left: -20px;
388
+ top: -65px;
389
+ z-index: 2;
390
+ width: 210px;
391
+ padding: 10px;
392
+ font-size: 12px;
393
+ background-color: #fff;
394
+ -webkit-box-shadow: 1px 1px 5px rgba(0,0,0,0.1);
395
+ box-shadow: 1px 1px 5px rgba(0,0,0,0.1);
396
+ border: 1px solid #e8e8e8;
397
+ border-radius: 4px;
398
+ text-align: center;
399
+ }
400
+
401
+ .wpr-mm-pro-section:before {
402
+ content: 'Please upgrade to the Pro Version to access these options.';
403
+ top: 50%;
404
+ left: 50%;
405
+ -webkit-transform: translateX(-50%) translateY(-50%);
406
+ -ms-transform: translateX(-50%) translateY(-50%);
407
+ transform: translateX(-50%) translateY(-50%);
408
+ padding: 20px 30px;
409
+ font-size: 13px;
410
+ }
411
+
412
+ .wpr-mm-pro-section:hover:before,
413
+ .wpr-mm-pro-setting > div:hover:before {
414
+ display: block;
415
+ }
416
+
417
+ .wpr-mm-pro-setting > div:after,
418
+ .wpr-mm-pro-section:after {
419
+ content: '';
420
+ position: absolute;
421
+ top: 0;
422
+ left: 0;
423
+ z-index: 1;
424
+ width: 100%;
425
+ height: 100%;
426
+ background: rgba(0,0,0,0.1);
427
+ }
428
+
429
+ .wpr-mm-pro-setting select {
430
+ display: none;
431
+ }
432
+
433
+ .wpr-mm-pro-setting .wpr-mm-pro-radio {
434
+ display: block;
435
+ }
436
+
437
+ .wpr-mm-pro-radio {
438
+ display: none;
439
+ padding: 5px 10px;
440
+ }
441
+
442
+ .wpr-mm-setting select option[value*="pro-"] {
443
+ background-color: rgba(0,0,0,0.2);
444
  }
assets/css/admin/plugin-options.css CHANGED
@@ -1123,4 +1123,10 @@ input.wpr-user-template-title:focus {
1123
  background: -webkit-gradient(linear, left top, left bottom, from(white), to(black));
1124
  background: -o-linear-gradient(top, white, black);
1125
  background: linear-gradient(to bottom, white, black);
 
 
 
 
 
 
1126
  }
1123
  background: -webkit-gradient(linear, left top, left bottom, from(white), to(black));
1124
  background: -o-linear-gradient(top, white, black);
1125
  background: linear-gradient(to bottom, white, black);
1126
+ }
1127
+
1128
+ /* Disable Notices */
1129
+ .notice:not(.wpr-plugin-update-notice),
1130
+ div.fs-notice.updated, div.fs-notice.success {
1131
+ display: none !important;
1132
  }
assets/css/admin/premade-blocks.css CHANGED
@@ -434,4 +434,10 @@
434
  flex-direction: column;
435
  position: relative;
436
  width: calc(33.3%);
 
 
 
 
 
 
437
  }
434
  flex-direction: column;
435
  position: relative;
436
  width: calc(33.3%);
437
+ }
438
+
439
+ /* Disable Notices */
440
+ .notice:not(.wpr-plugin-update-notice),
441
+ div.fs-notice.updated, div.fs-notice.success {
442
+ display: none !important;
443
  }
assets/css/admin/templates-kit.css CHANGED
@@ -1,604 +1,610 @@
1
- .royal-addons_page_wpr-templates-kit #wpwrap {
2
- background: #F6F6F6;
3
- }
4
-
5
- .royal-addons_page_wpr-templates-kit #wpcontent {
6
- padding: 0;
7
- }
8
-
9
- img {
10
- display: block;
11
- max-width: 100%;
12
- width: 100%;
13
- }
14
-
15
- .wpr-templates-kit-page > header {
16
- position: sticky;
17
- top: 32px;
18
- z-index: 99;
19
- display: -webkit-box;
20
- display: -ms-flexbox;
21
- display: flex;
22
- -webkit-box-pack: justify;
23
- -ms-flex-pack: justify;
24
- justify-content: space-between;
25
- background: #fff;
26
- -webkit-box-shadow: 0 0 7px 0 rgba(0,0,0,0.2);
27
- box-shadow: 0 0 7px 0 rgba(0,0,0,0.2);
28
- }
29
-
30
- .wpr-templates-kit-logo {
31
- display: -webkit-box;
32
- display: -ms-flexbox;
33
- display: flex;
34
- }
35
-
36
- .wpr-templates-kit-logo div {
37
- padding: 20px;
38
- border-right: 1px solid #e8e8e8;
39
- }
40
-
41
- .wpr-templates-kit-logo .back-btn {
42
- display: none;
43
- -webkit-box-align: center;
44
- -ms-flex-align: center;
45
- align-items: center;
46
- font-weight: bold;
47
- color: #6d7882;
48
- cursor: pointer;
49
- }
50
-
51
- .wpr-templates-kit-logo .back-btn:hover {
52
- color: #222;
53
- }
54
-
55
- .wpr-templates-kit-search {
56
- display: -webkit-box;
57
- display: -ms-flexbox;
58
- display: flex;
59
- -webkit-box-align: center;
60
- -ms-flex-align: center;
61
- align-items: center;
62
- position: absolute;
63
- top: 20px;
64
- left: 50%;
65
- -webkit-transform: translateX(-50%);
66
- -ms-transform: translateX(-50%);
67
- transform: translateX(-50%);
68
- }
69
-
70
- .wpr-templates-kit-search input {
71
- width: 500px;
72
- height: 45px;
73
- padding-left: 15px;
74
- border: 2px solid #e8e8e8 !important;
75
- -webkit-box-shadow: none !important;
76
- box-shadow: none !important;
77
- }
78
-
79
- .wpr-templates-kit-search .dashicons {
80
- margin-left: -32px;
81
- color: #777;
82
- }
83
-
84
- .wpr-templates-kit-price-filter {
85
- position: relative;
86
- width: 110px;
87
- height: 40px;
88
- margin: 20px;
89
- border: 2px solid #e8e8e8;
90
- line-height: 40px;
91
- padding: 0 20px;
92
- border-radius: 3px;
93
- font-size: 14px;
94
- cursor: pointer;
95
- }
96
-
97
- .wpr-templates-kit-price-filter .dashicons {
98
- position: absolute;
99
- right: 12px;
100
- line-height: 40px;
101
- font-size: 14px;
102
- }
103
-
104
- .wpr-templates-kit-price-filter:hover ul {
105
- display: block;
106
- }
107
-
108
- .wpr-templates-kit-price-filter ul {
109
- display: none;
110
- background: #fff;
111
- position: absolute;
112
- width: 100%;
113
- top: 26px;
114
- left: -2px;
115
- padding: 0;
116
- border: 2px solid #e8e8e8;
117
- }
118
-
119
- .wpr-templates-kit-price-filter ul li {
120
- padding: 0 20px;
121
- line-height: 32px;
122
- margin-bottom: 0 !important;
123
- border-bottom: 1px solid #e8e8e8;
124
- }
125
-
126
- .wpr-templates-kit-price-filter ul li:last-child {
127
- border-bottom: 0;
128
- }
129
-
130
- .wpr-templates-kit-price-filter ul li:hover {
131
- background: #e8e8e8;
132
- }
133
-
134
- .wpr-templates-kit-filters {
135
- display: none;
136
- padding: 20px;
137
- }
138
-
139
- .wpr-templates-kit-filters div {
140
- padding: 10px 20px;
141
- border: 2px solid #e8e8e8;
142
- border-radius: 3px;
143
- font-size: 16px;
144
- }
145
-
146
- .wpr-templates-kit-filters ul {
147
- display: none;
148
- }
149
-
150
- .wpr-templates-kit-page-title {
151
- text-align: center;
152
- margin-top: 65px;
153
- margin-bottom: 35px;
154
- }
155
-
156
- .wpr-templates-kit-page-title h1 {
157
- font-size: 35px;
158
- color: #555;
159
- }
160
-
161
- .button.wpr-options-button {
162
- padding: 3px 18px;
163
- border: 0;
164
- color: #fff;
165
- background: #6A4BFF;
166
- -webkit-box-shadow: 2px 2px 5px rgba(0,0,0,0.3);
167
- box-shadow: 2px 2px 5px rgba(0,0,0,0.3);
168
- font-size: 14px;
169
- }
170
-
171
- .button.wpr-options-button:hover,
172
- .button.wpr-options-button:focus {
173
- color: #fff;
174
- background: #6A4BFF;
175
- border: none;
176
- }
177
-
178
- .button.wpr-options-button .dashicons {
179
- font-size: 16px;
180
- line-height: 32px;
181
- }
182
-
183
- .wpr-templates-kit-grid {
184
- display: -ms-grid;
185
- display: grid;
186
- -ms-grid-columns: 1fr 20px 1fr 20px 1fr 20px 1fr;
187
- grid-template-columns: repeat(4, 1fr);
188
- grid-column-gap: 30px;
189
- grid-row-gap: 30px;
190
- padding: 30px;
191
- }
192
-
193
-
194
- @media screen and (max-width: 1400px) {
195
- .wpr-templates-kit-grid {
196
- grid-template-columns: repeat(3, 1fr);
197
- }
198
- }
199
-
200
- .wpr-templates-kit-grid .grid-item {
201
- position: relative;
202
- overflow: hidden;
203
- border: 1px solid #e8e8e8;
204
- -webkit-box-shadow: 0 0 3px 0 rgba(0,0,0,0.1);
205
- box-shadow: 0 0 3px 0 rgba(0,0,0,0.1);
206
- background: #fff;
207
- }
208
-
209
-
210
- .wpr-templates-kit-grid .grid-item[data-price="pro"]:before {
211
- content: 'Premium';
212
- display: block;
213
- position: absolute;
214
- top: 20px;
215
- right: -30px;
216
- z-index: 10;
217
- -webkit-transform: rotate(45deg);
218
- -ms-transform: rotate(45deg);
219
- transform: rotate(45deg);
220
- padding: 7px 40px;
221
- font-size: 13px;
222
- letter-spacing: .4px;
223
- background: #6a4bff;
224
- color: #fff;
225
- -webkit-box-shadow: 0 0 5px 0 rgb(0 0 0 / 70%);
226
- box-shadow: 0 0 5px 0 rgb(0 0 0 / 70%);
227
- }
228
-
229
- .wpr-templates-kit-grid .image-wrap {
230
- position: relative;
231
- border-bottom: 1px solid #e8e8e8;
232
- }
233
-
234
- .wpr-templates-kit-grid .image-wrap:hover .image-overlay {
235
- opacity: 1;
236
- }
237
-
238
- .wpr-templates-kit-grid .image-overlay {
239
- opacity: 0;
240
- display: -webkit-box;
241
- display: -ms-flexbox;
242
- display: flex;
243
- -webkit-box-align: center;
244
- -ms-flex-align: center;
245
- align-items: center;
246
- -webkit-box-pack: center;
247
- -ms-flex-pack: center;
248
- justify-content: center;
249
- position: absolute;
250
- top: 0;
251
- left: 0;
252
- width: 100%;
253
- height: 100%;
254
- background: rgba(0,0,0,0.2);
255
- cursor: pointer;
256
- -webkit-transition: opacity 0.2s ease-in;
257
- -o-transition: opacity 0.2s ease-in;
258
- transition: opacity 0.2s ease-in;
259
- }
260
-
261
- .wpr-templates-kit-grid .image-overlay .dashicons {
262
- font-size: 30px;
263
- color: #fff;
264
- }
265
-
266
- .wpr-templates-kit-grid .grid-item footer {
267
- display: -webkit-box;
268
- display: -ms-flexbox;
269
- display: flex;
270
- padding: 15px;
271
- -webkit-box-pack: justify;
272
- -ms-flex-pack: justify;
273
- justify-content: space-between;
274
- }
275
-
276
- .wpr-templates-kit-grid .grid-item footer h3 {
277
- margin: 0;
278
- font-size: 16px;
279
- text-transform: capitalize;
280
- }
281
-
282
- .wpr-templates-kit-grid .grid-item footer span {
283
- position: relative;
284
- min-width: 77px;
285
- height: 20px;
286
- background-color: #5130ef;
287
- color: #fff;
288
- font-size: 12px;
289
- padding: 2px 10px;
290
- border-radius: 3px;
291
- }
292
-
293
- span.wpr-woo-builder-label {
294
- background-color: #7B51AD !important;
295
- text-align: center;
296
- }
297
-
298
- .wpr-templates-kit-grid .grid-item footer span:after {
299
- display: none;
300
- width: 125px;
301
- position: absolute;
302
- top: -50px;
303
- left: 30%;
304
- -webkit-transform: translateX(-50%);
305
- -ms-transform: translateX(-50%);
306
- transform: translateX(-50%);
307
- padding: 7px 10px;
308
- border-radius: 3px;
309
- background-color: #333;
310
- font-size: 12px;
311
- line-height: 15px;
312
- -webkit-box-shadow: 0 0 5px rgba(0,0,0,0.4);
313
- box-shadow: 0 0 5px rgba(0,0,0,0.4);
314
- }
315
-
316
- .wpr-templates-kit-grid .grid-item footer span.wpr-theme-builder-label:after {
317
- content: "This Kit includes Theme Builder templates.";
318
- }
319
-
320
- .wpr-templates-kit-grid .grid-item footer span.wpr-woo-builder-label:after {
321
- content: "This Kit includes WooCommerce Builder templates.";
322
- }
323
-
324
- .wpr-templates-kit-grid .grid-item footer span:hover:after {
325
- display: block;
326
- }
327
-
328
- .wpr-templates-kit-single {
329
- display: none;
330
- }
331
-
332
- .wpr-templates-kit-single .grid-item a {
333
- text-decoration: none;
334
- }
335
-
336
- .wpr-templates-kit-single .action-buttons-wrap {
337
- display: -webkit-box;
338
- display: -ms-flexbox;
339
- display: flex;
340
- -webkit-box-pack: justify;
341
- -ms-flex-pack: justify;
342
- justify-content: space-between;
343
- position: fixed;
344
- bottom: 0;
345
- left: 0;
346
- right: 0;
347
- z-index: 10;
348
- padding: 25px 30px;
349
- background: #fff;
350
- -webkit-box-shadow: 0 0 7px 0 rgba(0,0,0,0.2);
351
- box-shadow: 0 0 7px 0 rgba(0,0,0,0.2);
352
- }
353
-
354
- .action-buttons-wrap a,
355
- .action-buttons-wrap button {
356
- padding: 5px 25px !important;
357
- }
358
-
359
- .wpr-templates-kit-single .preview-demo .dashicons {
360
- font-size: 14px;
361
- line-height: 28px;
362
- }
363
-
364
- .wpr-templates-kit-single .import-kit,
365
- .wpr-templates-kit-single .get-access {
366
- background: #6A4BFF;
367
- color: #fff;
368
- }
369
-
370
- .wpr-templates-kit-single .import-kit:hover,
371
- .wpr-templates-kit-single .import-kit:focus,
372
- .wpr-templates-kit-single .get-access:hover,
373
- .wpr-templates-kit-single .get-access:focus {
374
- background: #5130ef;
375
- color: #fff;
376
- -webkit-box-shadow: none !important;
377
- box-shadow: none !important;
378
- }
379
-
380
- .wpr-templates-kit-single .import-kit .dashicons,
381
- .wpr-templates-kit-single .get-access .dashicons {
382
- font-size: 14px;
383
- line-height: 30px;
384
- }
385
-
386
- .wpr-templates-kit-single .selected-template {
387
- border: 1px solid #2271B1;
388
- -webkit-box-shadow: 0 0 5px 0 rgba(0,0,0,0.1);
389
- box-shadow: 0 0 5px 0 rgba(0,0,0,0.1);
390
- }
391
-
392
- .import-template-buttons .import-template {
393
- display: none;
394
- }
395
-
396
- .wpr-templates-kit-single .import-template strong {
397
- text-transform: capitalize;
398
- }
399
-
400
- .wpr-import-kit-popup-wrap {
401
- display: none;
402
- position: relative;
403
- z-index: 9999999;
404
- }
405
-
406
- .wpr-import-kit-popup-wrap .overlay {
407
- position: fixed;
408
- top: 0;
409
- left: 0;
410
- z-index: 9999999;
411
- width: 100%;
412
- height: 100%;
413
- background: rgba(0,0,0,0.5);
414
- }
415
-
416
- .wpr-import-help {
417
- margin-top: 20px;
418
- text-align: right;
419
- }
420
-
421
- .wpr-import-help a {
422
- width: 50%;
423
- font-size: 12px;
424
- text-align: right;
425
- text-decoration: none;
426
- color: #8F5D64;
427
- }
428
-
429
- .wpr-import-help a:hover {
430
- text-decoration: underline;
431
- }
432
-
433
- .wpr-import-help a span {
434
- vertical-align: middle;
435
- margin-bottom: 2px;
436
- font-size: 12px !important;
437
- width: 12px !important;
438
- height: 12px !important;
439
- text-decoration: none !important
440
- }
441
-
442
- .wpr-import-kit-popup {
443
- overflow: hidden;
444
- position: fixed;
445
- top: 50%;
446
- left: 50%;
447
- -webkit-transform: translate(-50%,-50%);
448
- -ms-transform: translate(-50%,-50%);
449
- transform: translate(-50%,-50%);
450
- z-index: 9999999;
451
- width: 555px;
452
- background: #f5f5f5;
453
- border-radius: 3px;
454
- }
455
-
456
- .wpr-import-kit-popup header {
457
- display: -webkit-box;
458
- display: -ms-flexbox;
459
- display: flex;
460
- -webkit-box-pack: justify;
461
- -ms-flex-pack: justify;
462
- justify-content: space-between;
463
- padding-left: 25px;
464
- -webkit-box-shadow: 2px 0 5px 0 rgba(0,0,0,0.2);
465
- box-shadow: 2px 0 5px 0 rgba(0,0,0,0.2);
466
- }
467
-
468
- .wpr-import-kit-popup .close-btn {
469
- display: none;
470
- height: 50px;
471
- line-height: 50px;
472
- width: 50px;
473
- cursor: pointer;
474
- border-left: 1px solid #eee;
475
- color: #aaa;
476
- font-size: 22px;
477
- }
478
-
479
- .wpr-import-kit-popup .content {
480
- padding: 25px;
481
- }
482
-
483
- .wpr-import-kit-popup .content p:first-child {
484
- margin-top: 0;
485
- }
486
-
487
- .wpr-import-kit-popup .progress-wrap {
488
- background: #fff;
489
- border-radius: 3px;
490
- margin-top: 25px;
491
- }
492
-
493
- .wpr-import-kit-popup .progress-wrap strong {
494
- padding: 10px;
495
- display: block;
496
- }
497
-
498
- .wpr-import-kit-popup .progress-bar {
499
- width: 30px;
500
- height: 4px;
501
- background: #2271B1;
502
- }
503
-
504
- .dot-flashing {
505
- display: inline-block;
506
- margin-left: 10px;
507
- margin-bottom: -1px;
508
- position: relative;
509
- width: 3px;
510
- height: 3px;
511
- border-radius: 10px;
512
- background-color: #3c434a;
513
- color: #3c434a;
514
- -webkit-animation: dotFlashing 1s infinite linear alternate;
515
- animation: dotFlashing 1s infinite linear alternate;
516
- -webkit-animation-delay: .5s;
517
- animation-delay: .5s;
518
- }
519
-
520
- .dot-flashing::before, .dot-flashing::after {
521
- content: '';
522
- display: inline-block;
523
- position: absolute;
524
- top: 0;
525
- }
526
-
527
- .dot-flashing::before {
528
- left: -6px;
529
- width: 3px;
530
- height: 3px;
531
- border-radius: 10px;
532
- background-color: #3c434a;
533
- color: #3c434a;
534
- -webkit-animation: dotFlashing 1s infinite alternate;
535
- animation: dotFlashing 1s infinite alternate;
536
- -webkit-animation-delay: 0s;
537
- animation-delay: 0s;
538
- }
539
-
540
- .dot-flashing::after {
541
- left: 6px;
542
- width: 3px;
543
- height: 3px;
544
- border-radius: 10px;
545
- background-color: #3c434a;
546
- color: #3c434a;
547
- -webkit-animation: dotFlashing 1s infinite alternate;
548
- animation: dotFlashing 1s infinite alternate;
549
- -webkit-animation-delay: 1s;
550
- animation-delay: 1s;
551
- }
552
-
553
- @-webkit-keyframes dotFlashing {
554
- 0% {
555
- background-color: #3c434a;
556
- }
557
- 50%,
558
- 100% {
559
- background-color: #ebe6ff;
560
- }
561
- }
562
-
563
- @keyframes dotFlashing {
564
- 0% {
565
- background-color: #3c434a;
566
- }
567
- 50%,
568
- 100% {
569
- background-color: #ebe6ff;
570
- }
571
- }
572
-
573
- .wpr-templates-kit-not-found {
574
- display: none;
575
- -webkit-box-orient: vertical;
576
- -webkit-box-direction: normal;
577
- -ms-flex-direction: column;
578
- flex-direction: column;
579
- -webkit-box-align: center;
580
- -ms-flex-align: center;
581
- align-items: center
582
- }
583
-
584
- .wpr-templates-kit-not-found img {
585
- width: 180px;
586
- }
587
-
588
- .wpr-templates-kit-not-found h1 {
589
- margin: 0;
590
- }
591
-
592
- .wpr-templates-kit-not-found a {
593
- display: inline-block;
594
- padding: 10px 25px;
595
- margin-top: 15px;
596
- background: #6A4BFF;
597
- color: #fff;
598
- text-decoration: none;
599
- border-radius: 3px;
600
- }
601
-
602
- .wpr-templates-kit-not-found a:hover {
603
- background: #5836fd;
 
 
 
 
 
 
604
  }
1
+ .royal-addons_page_wpr-templates-kit #wpwrap {
2
+ background: #F6F6F6;
3
+ }
4
+
5
+ .royal-addons_page_wpr-templates-kit #wpcontent {
6
+ padding: 0;
7
+ }
8
+
9
+ img {
10
+ display: block;
11
+ max-width: 100%;
12
+ width: 100%;
13
+ }
14
+
15
+ .wpr-templates-kit-page > header {
16
+ position: sticky;
17
+ top: 32px;
18
+ z-index: 99;
19
+ display: -webkit-box;
20
+ display: -ms-flexbox;
21
+ display: flex;
22
+ -webkit-box-pack: justify;
23
+ -ms-flex-pack: justify;
24
+ justify-content: space-between;
25
+ background: #fff;
26
+ -webkit-box-shadow: 0 0 7px 0 rgba(0,0,0,0.2);
27
+ box-shadow: 0 0 7px 0 rgba(0,0,0,0.2);
28
+ }
29
+
30
+ .wpr-templates-kit-logo {
31
+ display: -webkit-box;
32
+ display: -ms-flexbox;
33
+ display: flex;
34
+ }
35
+
36
+ .wpr-templates-kit-logo div {
37
+ padding: 20px;
38
+ border-right: 1px solid #e8e8e8;
39
+ }
40
+
41
+ .wpr-templates-kit-logo .back-btn {
42
+ display: none;
43
+ -webkit-box-align: center;
44
+ -ms-flex-align: center;
45
+ align-items: center;
46
+ font-weight: bold;
47
+ color: #6d7882;
48
+ cursor: pointer;
49
+ }
50
+
51
+ .wpr-templates-kit-logo .back-btn:hover {
52
+ color: #222;
53
+ }
54
+
55
+ .wpr-templates-kit-search {
56
+ display: -webkit-box;
57
+ display: -ms-flexbox;
58
+ display: flex;
59
+ -webkit-box-align: center;
60
+ -ms-flex-align: center;
61
+ align-items: center;
62
+ position: absolute;
63
+ top: 20px;
64
+ left: 50%;
65
+ -webkit-transform: translateX(-50%);
66
+ -ms-transform: translateX(-50%);
67
+ transform: translateX(-50%);
68
+ }
69
+
70
+ .wpr-templates-kit-search input {
71
+ width: 500px;
72
+ height: 45px;
73
+ padding-left: 15px;
74
+ border: 2px solid #e8e8e8 !important;
75
+ -webkit-box-shadow: none !important;
76
+ box-shadow: none !important;
77
+ }
78
+
79
+ .wpr-templates-kit-search .dashicons {
80
+ margin-left: -32px;
81
+ color: #777;
82
+ }
83
+
84
+ .wpr-templates-kit-price-filter {
85
+ position: relative;
86
+ width: 110px;
87
+ height: 40px;
88
+ margin: 20px;
89
+ border: 2px solid #e8e8e8;
90
+ line-height: 40px;
91
+ padding: 0 20px;
92
+ border-radius: 3px;
93
+ font-size: 14px;
94
+ cursor: pointer;
95
+ }
96
+
97
+ .wpr-templates-kit-price-filter .dashicons {
98
+ position: absolute;
99
+ right: 12px;
100
+ line-height: 40px;
101
+ font-size: 14px;
102
+ }
103
+
104
+ .wpr-templates-kit-price-filter:hover ul {
105
+ display: block;
106
+ }
107
+
108
+ .wpr-templates-kit-price-filter ul {
109
+ display: none;
110
+ background: #fff;
111
+ position: absolute;
112
+ width: 100%;
113
+ top: 26px;
114
+ left: -2px;
115
+ padding: 0;
116
+ border: 2px solid #e8e8e8;
117
+ }
118
+
119
+ .wpr-templates-kit-price-filter ul li {
120
+ padding: 0 20px;
121
+ line-height: 32px;
122
+ margin-bottom: 0 !important;
123
+ border-bottom: 1px solid #e8e8e8;
124
+ }
125
+
126
+ .wpr-templates-kit-price-filter ul li:last-child {
127
+ border-bottom: 0;
128
+ }
129
+
130
+ .wpr-templates-kit-price-filter ul li:hover {
131
+ background: #e8e8e8;
132
+ }
133
+
134
+ .wpr-templates-kit-filters {
135
+ display: none;
136
+ padding: 20px;
137
+ }
138
+
139
+ .wpr-templates-kit-filters div {
140
+ padding: 10px 20px;
141
+ border: 2px solid #e8e8e8;
142
+ border-radius: 3px;
143
+ font-size: 16px;
144
+ }
145
+
146
+ .wpr-templates-kit-filters ul {
147
+ display: none;
148
+ }
149
+
150
+ .wpr-templates-kit-page-title {
151
+ text-align: center;
152
+ margin-top: 65px;
153
+ margin-bottom: 35px;
154
+ }
155
+
156
+ .wpr-templates-kit-page-title h1 {
157
+ font-size: 35px;
158
+ color: #555;
159
+ }
160
+
161
+ .button.wpr-options-button {
162
+ padding: 3px 18px;
163
+ border: 0;
164
+ color: #fff;
165
+ background: #6A4BFF;
166
+ -webkit-box-shadow: 2px 2px 5px rgba(0,0,0,0.3);
167
+ box-shadow: 2px 2px 5px rgba(0,0,0,0.3);
168
+ font-size: 14px;
169
+ }
170
+
171
+ .button.wpr-options-button:hover,
172
+ .button.wpr-options-button:focus {
173
+ color: #fff;
174
+ background: #6A4BFF;
175
+ border: none;
176
+ }
177
+
178
+ .button.wpr-options-button .dashicons {
179
+ font-size: 16px;
180
+ line-height: 32px;
181
+ }
182
+
183
+ .wpr-templates-kit-grid {
184
+ display: -ms-grid;
185
+ display: grid;
186
+ -ms-grid-columns: 1fr 20px 1fr 20px 1fr 20px 1fr;
187
+ grid-template-columns: repeat(4, 1fr);
188
+ grid-column-gap: 30px;
189
+ grid-row-gap: 30px;
190
+ padding: 30px;
191
+ }
192
+
193
+
194
+ @media screen and (max-width: 1400px) {
195
+ .wpr-templates-kit-grid {
196
+ grid-template-columns: repeat(3, 1fr);
197
+ }
198
+ }
199
+
200
+ .wpr-templates-kit-grid .grid-item {
201
+ position: relative;
202
+ overflow: hidden;
203
+ border: 1px solid #e8e8e8;
204
+ -webkit-box-shadow: 0 0 3px 0 rgba(0,0,0,0.1);
205
+ box-shadow: 0 0 3px 0 rgba(0,0,0,0.1);
206
+ background: #fff;
207
+ }
208
+
209
+
210
+ .wpr-templates-kit-grid .grid-item[data-price="pro"]:before {
211
+ content: 'Premium';
212
+ display: block;
213
+ position: absolute;
214
+ top: 20px;
215
+ right: -30px;
216
+ z-index: 10;
217
+ -webkit-transform: rotate(45deg);
218
+ -ms-transform: rotate(45deg);
219
+ transform: rotate(45deg);
220
+ padding: 7px 40px;
221
+ font-size: 13px;
222
+ letter-spacing: .4px;
223
+ background: #6a4bff;
224
+ color: #fff;
225
+ -webkit-box-shadow: 0 0 5px 0 rgb(0 0 0 / 70%);
226
+ box-shadow: 0 0 5px 0 rgb(0 0 0 / 70%);
227
+ }
228
+
229
+ .wpr-templates-kit-grid .image-wrap {
230
+ position: relative;
231
+ border-bottom: 1px solid #e8e8e8;
232
+ }
233
+
234
+ .wpr-templates-kit-grid .image-wrap:hover .image-overlay {
235
+ opacity: 1;
236
+ }
237
+
238
+ .wpr-templates-kit-grid .image-overlay {
239
+ opacity: 0;
240
+ display: -webkit-box;
241
+ display: -ms-flexbox;
242
+ display: flex;
243
+ -webkit-box-align: center;
244
+ -ms-flex-align: center;
245
+ align-items: center;
246
+ -webkit-box-pack: center;
247
+ -ms-flex-pack: center;
248
+ justify-content: center;
249
+ position: absolute;
250
+ top: 0;
251
+ left: 0;
252
+ width: 100%;
253
+ height: 100%;
254
+ background: rgba(0,0,0,0.2);
255
+ cursor: pointer;
256
+ -webkit-transition: opacity 0.2s ease-in;
257
+ -o-transition: opacity 0.2s ease-in;
258
+ transition: opacity 0.2s ease-in;
259
+ }
260
+
261
+ .wpr-templates-kit-grid .image-overlay .dashicons {
262
+ font-size: 30px;
263
+ color: #fff;
264
+ }
265
+
266
+ .wpr-templates-kit-grid .grid-item footer {
267
+ display: -webkit-box;
268
+ display: -ms-flexbox;
269
+ display: flex;
270
+ padding: 15px;
271
+ -webkit-box-pack: justify;
272
+ -ms-flex-pack: justify;
273
+ justify-content: space-between;
274
+ }
275
+
276
+ .wpr-templates-kit-grid .grid-item footer h3 {
277
+ margin: 0;
278
+ font-size: 16px;
279
+ text-transform: capitalize;
280
+ }
281
+
282
+ .wpr-templates-kit-grid .grid-item footer span {
283
+ position: relative;
284
+ min-width: 77px;
285
+ height: 20px;
286
+ background-color: #5130ef;
287
+ color: #fff;
288
+ font-size: 12px;
289
+ padding: 2px 10px;
290
+ border-radius: 3px;
291
+ }
292
+
293
+ span.wpr-woo-builder-label {
294
+ background-color: #7B51AD !important;
295
+ text-align: center;
296
+ }
297
+
298
+ .wpr-templates-kit-grid .grid-item footer span:after {
299
+ display: none;
300
+ width: 125px;
301
+ position: absolute;
302
+ top: -50px;
303
+ left: 30%;
304
+ -webkit-transform: translateX(-50%);
305
+ -ms-transform: translateX(-50%);
306
+ transform: translateX(-50%);
307
+ padding: 7px 10px;
308
+ border-radius: 3px;
309
+ background-color: #333;
310
+ font-size: 12px;
311
+ line-height: 15px;
312
+ -webkit-box-shadow: 0 0 5px rgba(0,0,0,0.4);
313
+ box-shadow: 0 0 5px rgba(0,0,0,0.4);
314
+ }
315
+
316
+ .wpr-templates-kit-grid .grid-item footer span.wpr-theme-builder-label:after {
317
+ content: "This Kit includes Theme Builder templates.";
318
+ }
319
+
320
+ .wpr-templates-kit-grid .grid-item footer span.wpr-woo-builder-label:after {
321
+ content: "This Kit includes WooCommerce Builder templates.";
322
+ }
323
+
324
+ .wpr-templates-kit-grid .grid-item footer span:hover:after {
325
+ display: block;
326
+ }
327
+
328
+ .wpr-templates-kit-single {
329
+ display: none;
330
+ }
331
+
332
+ .wpr-templates-kit-single .grid-item a {
333
+ text-decoration: none;
334
+ }
335
+
336
+ .wpr-templates-kit-single .action-buttons-wrap {
337
+ display: -webkit-box;
338
+ display: -ms-flexbox;
339
+ display: flex;
340
+ -webkit-box-pack: justify;
341
+ -ms-flex-pack: justify;
342
+ justify-content: space-between;
343
+ position: fixed;
344
+ bottom: 0;
345
+ left: 0;
346
+ right: 0;
347
+ z-index: 10;
348
+ padding: 25px 30px;
349
+ background: #fff;
350
+ -webkit-box-shadow: 0 0 7px 0 rgba(0,0,0,0.2);
351
+ box-shadow: 0 0 7px 0 rgba(0,0,0,0.2);
352
+ }
353
+
354
+ .action-buttons-wrap a,
355
+ .action-buttons-wrap button {
356
+ padding: 5px 25px !important;
357
+ }
358
+
359
+ .wpr-templates-kit-single .preview-demo .dashicons {
360
+ font-size: 14px;
361
+ line-height: 28px;
362
+ }
363
+
364
+ .wpr-templates-kit-single .import-kit,
365
+ .wpr-templates-kit-single .get-access {
366
+ background: #6A4BFF;
367
+ color: #fff;
368
+ }
369
+
370
+ .wpr-templates-kit-single .import-kit:hover,
371
+ .wpr-templates-kit-single .import-kit:focus,
372
+ .wpr-templates-kit-single .get-access:hover,
373
+ .wpr-templates-kit-single .get-access:focus {
374
+ background: #5130ef;
375
+ color: #fff;
376
+ -webkit-box-shadow: none !important;
377
+ box-shadow: none !important;
378
+ }
379
+
380
+ .wpr-templates-kit-single .import-kit .dashicons,
381
+ .wpr-templates-kit-single .get-access .dashicons {
382
+ font-size: 14px;
383
+ line-height: 30px;
384
+ }
385
+
386
+ .wpr-templates-kit-single .selected-template {
387
+ border: 1px solid #2271B1;
388
+ -webkit-box-shadow: 0 0 5px 0 rgba(0,0,0,0.1);
389
+ box-shadow: 0 0 5px 0 rgba(0,0,0,0.1);
390
+ }
391
+
392
+ .import-template-buttons .import-template {
393
+ display: none;
394
+ }
395
+
396
+ .wpr-templates-kit-single .import-template strong {
397
+ text-transform: capitalize;
398
+ }
399
+
400
+ .wpr-import-kit-popup-wrap {
401
+ display: none;
402
+ position: relative;
403
+ z-index: 9999999;
404
+ }
405
+
406
+ .wpr-import-kit-popup-wrap .overlay {
407
+ position: fixed;
408
+ top: 0;
409
+ left: 0;
410
+ z-index: 9999999;
411
+ width: 100%;
412
+ height: 100%;
413
+ background: rgba(0,0,0,0.5);
414
+ }
415
+
416
+ .wpr-import-help {
417
+ margin-top: 20px;
418
+ text-align: right;
419
+ }
420
+
421
+ .wpr-import-help a {
422
+ width: 50%;
423
+ font-size: 12px;
424
+ text-align: right;
425
+ text-decoration: none;
426
+ color: #8F5D64;
427
+ }
428
+
429
+ .wpr-import-help a:hover {
430
+ text-decoration: underline;
431
+ }
432
+
433
+ .wpr-import-help a span {
434
+ vertical-align: middle;
435
+ margin-bottom: 2px;
436
+ font-size: 12px !important;
437
+ width: 12px !important;
438
+ height: 12px !important;
439
+ text-decoration: none !important
440
+ }
441
+
442
+ .wpr-import-kit-popup {
443
+ overflow: hidden;
444
+ position: fixed;
445
+ top: 50%;
446
+ left: 50%;
447
+ -webkit-transform: translate(-50%,-50%);
448
+ -ms-transform: translate(-50%,-50%);
449
+ transform: translate(-50%,-50%);
450
+ z-index: 9999999;
451
+ width: 555px;
452
+ background: #f5f5f5;
453
+ border-radius: 3px;
454
+ }
455
+
456
+ .wpr-import-kit-popup header {
457
+ display: -webkit-box;
458
+ display: -ms-flexbox;
459
+ display: flex;
460
+ -webkit-box-pack: justify;
461
+ -ms-flex-pack: justify;
462
+ justify-content: space-between;
463
+ padding-left: 25px;
464
+ -webkit-box-shadow: 2px 0 5px 0 rgba(0,0,0,0.2);
465
+ box-shadow: 2px 0 5px 0 rgba(0,0,0,0.2);
466
+ }
467
+
468
+ .wpr-import-kit-popup .close-btn {
469
+ display: none;
470
+ height: 50px;
471
+ line-height: 50px;
472
+ width: 50px;
473
+ cursor: pointer;
474
+ border-left: 1px solid #eee;
475
+ color: #aaa;
476
+ font-size: 22px;
477
+ }
478
+
479
+ .wpr-import-kit-popup .content {
480
+ padding: 25px;
481
+ }
482
+
483
+ .wpr-import-kit-popup .content p:first-child {
484
+ margin-top: 0;
485
+ }
486
+
487
+ .wpr-import-kit-popup .progress-wrap {
488
+ background: #fff;
489
+ border-radius: 3px;
490
+ margin-top: 25px;
491
+ }
492
+
493
+ .wpr-import-kit-popup .progress-wrap strong {
494
+ padding: 10px;
495
+ display: block;
496
+ }
497
+
498
+ .wpr-import-kit-popup .progress-bar {
499
+ width: 30px;
500
+ height: 4px;
501
+ background: #2271B1;
502
+ }
503
+
504
+ .dot-flashing {
505
+ display: inline-block;
506
+ margin-left: 10px;
507
+ margin-bottom: -1px;
508
+ position: relative;
509
+ width: 3px;
510
+ height: 3px;
511
+ border-radius: 10px;
512
+ background-color: #3c434a;
513
+ color: #3c434a;
514
+ -webkit-animation: dotFlashing 1s infinite linear alternate;
515
+ animation: dotFlashing 1s infinite linear alternate;
516
+ -webkit-animation-delay: .5s;
517
+ animation-delay: .5s;
518
+ }
519
+
520
+ .dot-flashing::before, .dot-flashing::after {
521
+ content: '';
522
+ display: inline-block;
523
+ position: absolute;
524
+ top: 0;
525
+ }
526
+
527
+ .dot-flashing::before {
528
+ left: -6px;
529
+ width: 3px;
530
+ height: 3px;
531
+ border-radius: 10px;
532
+ background-color: #3c434a;
533
+ color: #3c434a;
534
+ -webkit-animation: dotFlashing 1s infinite alternate;
535
+ animation: dotFlashing 1s infinite alternate;
536
+ -webkit-animation-delay: 0s;
537
+ animation-delay: 0s;
538
+ }
539
+
540
+ .dot-flashing::after {
541
+ left: 6px;
542
+ width: 3px;
543
+ height: 3px;
544
+ border-radius: 10px;
545
+ background-color: #3c434a;
546
+ color: #3c434a;
547
+ -webkit-animation: dotFlashing 1s infinite alternate;
548
+ animation: dotFlashing 1s infinite alternate;
549
+ -webkit-animation-delay: 1s;
550
+ animation-delay: 1s;
551
+ }
552
+
553
+ @-webkit-keyframes dotFlashing {
554
+ 0% {
555
+ background-color: #3c434a;
556
+ }
557
+ 50%,
558
+ 100% {
559
+ background-color: #ebe6ff;
560
+ }
561
+ }
562
+
563
+ @keyframes dotFlashing {
564
+ 0% {
565
+ background-color: #3c434a;
566
+ }
567
+ 50%,
568
+ 100% {
569
+ background-color: #ebe6ff;
570
+ }
571
+ }
572
+
573
+ .wpr-templates-kit-not-found {
574
+ display: none;
575
+ -webkit-box-orient: vertical;
576
+ -webkit-box-direction: normal;
577
+ -ms-flex-direction: column;
578
+ flex-direction: column;
579
+ -webkit-box-align: center;
580
+ -ms-flex-align: center;
581
+ align-items: center
582
+ }
583
+
584
+ .wpr-templates-kit-not-found img {
585
+ width: 180px;
586
+ }
587
+
588
+ .wpr-templates-kit-not-found h1 {
589
+ margin: 0;
590
+ }
591
+
592
+ .wpr-templates-kit-not-found a {
593
+ display: inline-block;
594
+ padding: 10px 25px;
595
+ margin-top: 15px;
596
+ background: #6A4BFF;
597
+ color: #fff;
598
+ text-decoration: none;
599
+ border-radius: 3px;
600
+ }
601
+
602
+ .wpr-templates-kit-not-found a:hover {
603
+ background: #5836fd;
604
+ }
605
+
606
+ /* Disable Notices */
607
+ .notice:not(.wpr-plugin-update-notice),
608
+ div.fs-notice.updated, div.fs-notice.success {
609
+ display: none !important;
610
  }
assets/css/editor.css CHANGED
@@ -1,944 +1,944 @@
1
- /*--------------------------------------------------------------
2
- == General
3
- --------------------------------------------------------------*/
4
- .wpr-elementor-hidden-control {
5
- overflow: hidden;
6
- width: 0 !important;
7
- height: 0 !important;
8
- padding: 0 !important;
9
- margin: 0 !important;
10
- visibility: hidden !important;
11
- opacity: 0 !important;
12
- }
13
-
14
-
15
- /*--------------------------------------------------------------
16
- == WPR Widgets
17
- --------------------------------------------------------------*/
18
- .elementor-panel .wpr-icon:after {
19
- content: 'R';
20
- display: block;
21
- position: absolute;
22
- top: 3px;
23
- right: 3px;
24
- font-family: Roboto,Arial,Helvetica,Verdana,sans-serif;
25
- font-size: 10px;
26
- font-weight: bold;
27
- color: #ffffff;
28
- background-image: -o-linear-gradient(#6A4BFF, #7E94FE);
29
- background-image: -webkit-gradient(linear, left top, left bottom, from(#6A4BFF), to(#7E94FE));
30
- background-image: linear-gradient(#6A4BFF, #7E94FE);
31
- -webkit-box-shadow: 0 0 2px 2px #b8c7ff;
32
- box-shadow: 0 0 2px 2px #b8c7ff;
33
- width: 19px;
34
- height: 19px;
35
- line-height: 19px;
36
- border-radius: 15px;
37
- margin: 3px;
38
- }
39
-
40
- .elementor-panel .elementor-element .icon {
41
- position: relative !important;
42
- }
43
-
44
- .elementor-element--promotion .wpr-icon:after {
45
- top: 22px;
46
- right: -1px;
47
- opacity: 0.7;
48
- }
49
-
50
- #elementor-element--promotion__dialog .dialog-button {
51
- text-align: center;
52
- }
53
-
54
- .elementor-control-type-section[class*="elementor-control-wpr_section_"]:after {
55
- content: 'R';
56
- display: block;
57
- position: absolute;
58
- top: 7px;
59
- right: 7px;
60
- font-family: Roboto,Arial,Helvetica,Verdana,sans-serif;
61
- font-size: 10px;
62
- font-weight: bold;
63
- color: #ffffff;
64
- background-image: -o-linear-gradient(#6A4BFF, #7E94FE);
65
- background-image: -webkit-gradient(linear, left top, left bottom, from(#6A4BFF), to(#7E94FE));
66
- background-image: linear-gradient(#6A4BFF, #7E94FE);
67
- -webkit-box-shadow: 0 0 2px 2px #b8c7ff;
68
- box-shadow: 0 0 2px 2px #b8c7ff;
69
- width: 19px;
70
- height: 19px;
71
- line-height: 19px;
72
- border-radius: 15px;
73
- margin: 3px;
74
- text-align: center;
75
- }
76
-
77
- /*--------------------------------------------------------------
78
- == Adjustments
79
- --------------------------------------------------------------*/
80
- .elementor-control-element_select,
81
- .elementor-control-element_align_hr,
82
- .elementor-control-element_read_more_text,
83
- .elementor-control-element_tax_sep,
84
- .elementor-control-element_sharing_icon_6,
85
- .elementor-control-element_sharing_trigger_direction,
86
- .elementor-control-element_sharing_icon_display,
87
- .elementor-control-element_sharing_tooltip,
88
- .elementor-control-element_custom_field_wrapper_html,
89
- .elementor-control-slider_item_bg_size,
90
- .elementor-control-element_addcart_variable_txt,
91
- .elementor-control-type,
92
- .elementor-control-show_last_update_date {
93
- margin-bottom: 15px;
94
- }
95
-
96
- .elementor-control-slider_content_bg_color,
97
- .elementor-control-slider_nav_border_border,
98
- .elementor-control-slider_nav_border_radius,
99
- .elementor-control-scroll_btn_vr,
100
- .elementor-control-pagination_load_more_text,
101
- .elementor-control-pagination_finish_text,
102
- .elementor-control-pagination_prev_next,
103
- .elementor-control-author_transition_duration,
104
- .elementor-control-comments_transition_duration,
105
- .elementor-control-likes_transition_duration,
106
- .elementor-control-sharing_transition_duration,
107
- .elementor-control-lightbox_transition_duration,
108
- .elementor-control-custom_field1_transition_duration,
109
- .elementor-control-custom_field2_transition_duration,
110
- .elementor-control-custom_field3_transition_duration,
111
- .elementor-control-custom_field4_transition_duration,
112
- .elementor-control-filters_transition_duration,
113
- .elementor-control-pagination_transition_duration,
114
- .elementor-control-element_extra_text_pos,
115
- .elementor-control-element_custom_field_wrapper,
116
- .elementor-control-overlay_post_link,
117
- .elementor-control-read_more_animation_height,
118
- .elementor-control-archive_link_transition_duration,
119
- .elementor-control-post_info_tax_select,
120
- .elementor-control-post_info_link_wrap,
121
- .elementor-control-post_info_modified_time,
122
- .elementor-control-tabs_sharing_custom_colors,
123
- .elementor-control-post_info_show_avatar,
124
- .elementor-control-post_info_cf,
125
- .elementor-control-pricing_items .elementor-control-price,
126
- .elementor-control-pricing_items .elementor-control-feature_text,
127
- .elementor-control-pricing_items .elementor-control-btn_text,
128
- .elementor-control-divider_style,
129
- .elementor-control-filters_pointer,
130
- .elementor-control-title_transition_duration,
131
- .elementor-control-tax1_transition_duration,
132
- .elementor-control-tax2_transition_duration,
133
- .elementor-control-filters_transition_duration,
134
- .elementor-control-pagination_older_text,
135
- .elementor-control-tooltip_position,
136
- .elementor-control-post_info_comments_text_1 {
137
- padding-top: 15px !important;
138
- }
139
-
140
- .elementor-control-post_info_custom_field_video_tutorial {
141
- margin-top: 15px;
142
- }
143
-
144
- .elementor-control-title_pointer_animation + .elementor-control-title_transition_duration,
145
- .elementor-control-tax1_pointer_animation + .elementor-control-tax1_transition_duration,
146
- .elementor-control-tax2_pointer_animation + .elementor-control-tax2_transition_duration,
147
- .elementor-control-filters_pointer_animation + .elementor-control-filters_transition_duration {
148
- padding-top: 0 !important;
149
- }
150
-
151
- .elementor-control-pagination_load_more_text {
152
- padding-bottom: 0 !important;
153
- }
154
-
155
- .elementor-control-filters_transition_duration,
156
- .elementor-control-show_last_update_date {
157
- padding-top: 0 !important;
158
- }
159
-
160
- .elementor-control-animation_divider,
161
- .elementor-control-overlay_divider,
162
- .elementor-control-slider_item_btn_1_divider,
163
- .elementor-control-slider_item_btn_2_divider,
164
- .elementor-control-slider_btn_typography_1_divider,
165
- .elementor-control-slider_btn_box_shadow_1_divider,
166
- .elementor-control-slider_btn_typography_2_divider,
167
- .elementor-control-slider_btn_box_shadow_2_divider,
168
- .elementor-control-testimonial_title_divider,
169
- .elementor-control-social_media_divider,
170
- .elementor-control-social_divider_1,
171
- .elementor-control-social_divider_2,
172
- .elementor-control-social_divider_3,
173
- .elementor-control-social_divider_4,
174
- .elementor-control-social_divider_5,
175
- .elementor-control-custom_field_wrapper_html_divider1,
176
- .elementor-control-custom_field_wrapper_html_divider2,
177
- .elementor-control-lightbox_shadow_divider {
178
- padding: 0 !important;
179
- }
180
-
181
- .elementor-control-custom_field_wrapper_html_divider1 hr,
182
- .elementor-control-lightbox_shadow_divider hr {
183
- height: 1px !important;
184
- }
185
-
186
- .elementor-control-element_show_on {
187
- padding-top: 15px !important;
188
- border-top: 1px solid #d5dadf;
189
- }
190
-
191
- [class*="wpr__section_"] ~ .elementor-control-type-number .elementor-control-input-wrapper,
192
- [class*="wpr__section_"] ~ .elementor-control-type-repeater .elementor-control-type-number .elementor-control-input-wrapper {
193
- max-width: 30% !important;
194
- margin-left: auto !important;
195
- }
196
-
197
- [class*="wpr__section_"] ~ .elementor-control-type-select .elementor-control-input-wrapper,
198
- [class*="wpr__section_"] ~ .elementor-control-type-repeater .elementor-control-type-select .elementor-control-input-wrapper {
199
- width: auto !important;
200
- min-width: 30% !important;
201
- margin-left: auto !important;
202
- }
203
-
204
- .elementor-control-submit_preview_changes .elementor-control-input-wrapper {
205
- text-align: center !important;
206
- }
207
-
208
- .elementor-control-query_manual_related,
209
- .elementor-control-query_manual_current {
210
- display: none !important;
211
- }
212
-
213
- /* Fix Select Inputs */
214
- .elementor-control-button_hover_animation .elementor-control-input-wrapper,
215
- .elementor-control-front_btn_animation .elementor-control-input-wrapper,
216
- .elementor-control-back_btn_animation .elementor-control-input-wrapper,
217
-
218
- .elementor-control-select_template .select2-selection,
219
- .elementor-control-switcher_first_select_template .select2-selection,
220
- .elementor-control-switcher_second_select_template .select2-selection,
221
- .elementor-control-switcher_select_template .select2-selection,
222
- .elementor-control-slider_select_template .select2-selection {
223
- width: 135px !important;
224
- }
225
-
226
- .elementor-control-type-repeater .elementor-control-content > label {
227
- display: none !important;
228
- }
229
-
230
-
231
- /*--------------------------------------------------------------
232
- == Notification
233
- --------------------------------------------------------------*/
234
- #wpr-template-settings-notification {
235
- position: fixed;
236
- left: 40px;
237
- bottom: 5px;
238
- z-index: 9999;
239
- padding: 13px 25px;
240
- background: #fff;
241
- color: #222;
242
- -webkit-box-shadow: 1px 1px 5px 0 rgba(0, 0, 0, 0.3);
243
- box-shadow: 1px 1px 5px 0 rgba(0, 0, 0, 0.3);
244
- border-radius: 3px;
245
- }
246
-
247
- #wpr-template-settings-notification:before {
248
- content: "";
249
- position: absolute;
250
- left: -6px;
251
- bottom: 10px;
252
- width: 0;
253
- height: 0;
254
- border-top: 6px solid transparent;
255
- border-bottom: 6px solid transparent;
256
- border-right-style: solid;
257
- border-right-width: 6px;
258
- border-right-color: #fff;
259
- }
260
-
261
- #wpr-template-settings-notification h4 {
262
- margin-bottom: 10px;
263
- }
264
-
265
- #wpr-template-settings-notification h4 span {
266
- font-size: 14px;
267
- vertical-align: super;
268
- color: #5f5f5f;
269
- }
270
-
271
- #wpr-template-settings-notification h4 i {
272
- margin-right: 10px;
273
- color: #3db050;
274
- font-size: 24px;
275
- }
276
-
277
- #wpr-template-settings-notification p {
278
- color: #666;
279
- font-size: 12px;
280
- line-height: 1.5;
281
- }
282
-
283
- #wpr-template-settings-notification > i {
284
- position: absolute;
285
- top: 7px;
286
- right: 7px;
287
- cursor: pointer;
288
- color: #999;
289
- }
290
-
291
- .elementor-control-cf7_notice,
292
- .elementor-control-wpforms_notice,
293
- .elementor-control-ninja_forms_notice,
294
- .elementor-control-caldera_notice {
295
- color: red;
296
- }
297
-
298
- /* Help Button - select with referrals - [href^="https://royal-elementor-addons.com/contact/"] */
299
- #elementor-panel__editor__help__link[href^="https://wordpress.org/support/plugin/royal-elementor-addons/"] {
300
- display: inline-block;
301
- padding: 12px 35px;
302
- font-size: 13px;
303
- font-weight: normal;
304
- color: #fff;
305
- background: #6A65FF;
306
- border-radius: 3px;
307
- -webkit-box-shadow: 0 2px 7px 0 rgba(0,0,0,0.3);
308
- box-shadow: 0 2px 7px 0 rgba(0,0,0,0.3);
309
- letter-spacing: 0.3px;
310
- -webkit-transition: all 0.2s ease-in;
311
- -o-transition: all 0.2s ease-in;
312
- transition: all 0.2s ease-in;
313
- }
314
-
315
- #elementor-panel__editor__help__link[href^="https://wordpress.org/support/plugin/royal-elementor-addons/"]:hover {
316
- color: #fff;
317
- background: #6A4BFF;
318
- }
319
-
320
- #elementor-panel__editor__help__link[href^="https://wordpress.org/support/plugin/royal-elementor-addons/"] i {
321
- color: #fff;
322
- font-size: 14px;
323
- vertical-align: top;
324
- }
325
-
326
- #elementor-panel__editor__help__link[href^="https://wordpress.org/support/plugin/royal-elementor-addons/"]:hover i {
327
- color: #fff;
328
- }
329
-
330
- #elementor-panel__editor__help__link[href^="https://wordpress.org/support/plugin/royal-elementor-addons/"]:hover i:before {
331
- content: '\e942' !important;
332
- }
333
-
334
- .elementor-control-posts_slider_notice .elementor-control-raw-html {
335
- font-style: normal !important;
336
- }
337
-
338
- .elementor-control-product_notice_widget_info .elementor-control-raw-html {
339
- color: red;
340
- }
341
-
342
-
343
- /*--------------------------------------------------------------
344
- == Modal Popup Editor
345
- --------------------------------------------------------------*/
346
- .elementor-editor-wpr-popups .elementor-control-document_settings,
347
- .elementor-editor-wpr-popups .elementor-control-post_title,
348
- .elementor-editor-wpr-popups .elementor-control-post_status {
349
- display: none !important;
350
- }
351
-
352
-
353
- /*--------------------------------------------------------------
354
- == Elementor Editor Popup
355
- --------------------------------------------------------------*/
356
- #wpr-template-editor-popup .dialog-widget-content {
357
- width: 90vw;
358
- height: 90vh;
359
- }
360
-
361
- #wpr-template-editor-popup .dialog-message {
362
- padding: 0;
363
- width: 100%;
364
- height: 100%;
365
- }
366
-
367
- #wpr-template-editor-popup .dialog-close-button {
368
- font-size: 24px;
369
- color: #222;
370
- }
371
-
372
- #wpr-template-editor-popup .dialog-header {
373
- display: none;
374
- }
375
-
376
- #wpr-template-editor-loading {
377
- position: absolute;
378
- top: 0;
379
- left: 0;
380
- width: 100%;
381
- height: 100%;
382
- background: #f1f3f5;
383
- z-index: 9999;
384
- -webkit-transform: translateZ(0);
385
- transform: translateZ(0);
386
- display: -webkit-box;
387
- display: -ms-flexbox;
388
- display: flex;
389
- -webkit-box-pack: center;
390
- -ms-flex-pack: center;
391
- justify-content: center;
392
- -webkit-box-align: center;
393
- -ms-flex-align: center;
394
- align-items: center;
395
- }
396
-
397
- #wpr-template-editor-loading .elementor-loader-wrapper {
398
- top: auto;
399
- left: auto;
400
- -webkit-transform: none;
401
- -ms-transform: none;
402
- transform: none;
403
- }
404
-
405
- /* Disable Transitions on Responsive Preview */
406
- #elementor-preview-responsive-wrapper {
407
- -webkit-transition: none !important;
408
- -o-transition: none !important;
409
- transition: none !important;
410
- }
411
-
412
-
413
- /*--------------------------------------------------------------
414
- == Magazine Grid Layout
415
- --------------------------------------------------------------*/
416
- .elementor-control-layout_select.elementor-control .elementor-control-field {
417
- -webkit-box-orient: vertical !important;
418
- -webkit-box-direction: normal !important;
419
- -ms-flex-direction: column !important;
420
- flex-direction: column !important;
421
- -webkit-box-align: start;
422
- -ms-flex-align: start;
423
- align-items: flex-start;
424
- }
425
-
426
- .elementor-control-layout_select.elementor-control .elementor-control-input-wrapper {
427
- display: -webkit-box;
428
- display: -ms-flexbox;
429
- display: flex;
430
- width: 100% !important;
431
- margin-top: 10px;
432
- }
433
-
434
- .elementor-control-layout_select.elementor-control .elementor-choices {
435
- -ms-flex-wrap: wrap;
436
- flex-wrap: wrap;
437
- -webkit-box-align: stretch;
438
- -ms-flex-align: stretch;
439
- align-items: stretch;
440
- width: 100% !important;
441
- height: auto;
442
- border: 1px solid #dfd5d5;
443
- }
444
-
445
- .elementor-control-layout_select.elementor-control .elementor-choices label {
446
- width: 33.3%;
447
- height: 50px;
448
- background-size: 75%;
449
- background-position: center center;
450
- background-repeat: no-repeat;
451
- }
452
-
453
- .elementor-control-layout_select input[type="radio"]:checked + label {
454
- border: 2px solid #D30C5C;
455
- border-radius: 0 !important;
456
- background-color: #ffffff;
457
- }
458
-
459
- .elementor-control-layout_select label:nth-child(2) {
460
- background-image: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Crect x='2.2' y='4.9' class='st1' width='22.2' height='22.2'/%3E%3Crect x='25.6' y='15.2' class='st1' width='22.2' height='11.9'/%3E%3Crect x='25.6' y='4.9' class='st1' width='22.2' height='9.2'/%3E%3C/g%3E%3C/svg%3E");
461
- }
462
-
463
- .elementor-control-layout_select label:nth-child(4) {
464
- background-image: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Crect x='2.2' y='4.9' class='st1' width='22.2' height='22.2'/%3E%3Crect x='25.6' y='16.6' class='st1' width='10.5' height='10.5'/%3E%3Crect x='37.2' y='16.6' class='st1' width='10.5' height='10.5'/%3E%3Crect x='25.6' y='4.9' class='st1' width='22.2' height='10.5'/%3E%3C/g%3E%3C/svg%3E");
465
- }
466
-
467
- .elementor-control-layout_select label:nth-child(6) {
468
- background: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Cg%3E%3Crect x='2.2' y='4.9' class='st1' width='22.2' height='22.2'/%3E%3Crect x='25.6' y='16.6' class='st1' width='10.5' height='10.5'/%3E%3Crect x='37.2' y='16.6' class='st1' width='10.5' height='10.5'/%3E%3Crect x='25.6' y='4.9' class='st1' width='10.5' height='10.5'/%3E%3Crect x='37.2' y='4.9' class='st1' width='10.5' height='10.5'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
469
- }
470
-
471
- .elementor-control-layout_select label:nth-child(8) {
472
- background-image: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Crect x='2.2' y='4.9' class='st1' width='22.2' height='22.2'/%3E%3Crect x='25.6' y='4.9' class='st1' width='10.5' height='22.2'/%3E%3Crect x='37.2' y='16.6' class='st1' width='10.5' height='10.5'/%3E%3Crect x='37.2' y='4.9' class='st1' width='10.5' height='10.5'/%3E%3C/g%3E%3C/svg%3E");
473
- }
474
-
475
- .elementor-control-layout_select label:nth-child(10) {
476
- background-image: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Crect x='13.9' y='4.9' class='st1' width='22.2' height='22.2'/%3E%3Crect x='37.2' y='16.6' class='st1' width='10.5' height='10.5'/%3E%3Crect x='37.2' y='4.9' class='st1' width='10.5' height='10.5'/%3E%3Crect x='2.3' y='16.6' class='st1' width='10.5' height='10.5'/%3E%3Crect x='2.3' y='4.9' class='st1' width='10.5' height='10.5'/%3E%3C/g%3E%3C/svg%3E");
477
- }
478
-
479
- .elementor-control-layout_select label:nth-child(12) {
480
- background-image: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Crect x='2.2' y='4.9' class='st1' width='28.5' height='22.2'/%3E%3Crect x='31.8' y='12.9' class='st1' width='15.9' height='6.3'/%3E%3Crect x='31.8' y='4.9' class='st1' width='15.9' height='6.8'/%3E%3Crect x='31.8' y='20.3' class='st1' width='15.9' height='6.8'/%3E%3C/g%3E%3C/svg%3E");
481
- }
482
-
483
- .elementor-control-layout_select label:nth-child(14) {
484
- background-image: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Crect x='13.9' y='4.9' class='st1' width='22.2' height='22.2'/%3E%3Crect x='2.2' y='4.9' class='st1' width='10.5' height='22.2'/%3E%3Crect x='37.2' y='4.9' class='st1' width='10.5' height='22.2'/%3E%3C/g%3E%3C/svg%3E");
485
- }
486
-
487
- .elementor-control-layout_select label:nth-child(16) {
488
- background-image: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Crect x='2.2' y='4.9' class='st1' width='33.9' height='13.2'/%3E%3Crect x='2.2' y='19.3' class='st1' width='16.4' height='7.8'/%3E%3Crect x='19.7' y='19.3' class='st1' width='16.4' height='7.8'/%3E%3Crect x='37.2' y='4.9' class='st1' width='10.5' height='13.2'/%3E%3Crect x='37.2' y='19.3' class='st1' width='10.5' height='7.8'/%3E%3C/g%3E%3C/svg%3E");
489
- }
490
-
491
- .elementor-control-layout_select label:nth-child(18) {
492
- background-image: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Crect x='2.2' y='4.9' class='st1' width='22.2' height='12.1'/%3E%3Crect x='25.6' y='4.9' class='st1' width='22.2' height='12.1'/%3E%3Crect x='2.2' y='18.2' class='st1' width='14.4' height='8.9'/%3E%3Crect x='17.8' y='18.2' class='st1' width='14.4' height='8.9'/%3E%3Crect x='33.3' y='18.2' class='st1' width='14.4' height='8.9'/%3E%3C/g%3E%3C/svg%3E");
493
- }
494
-
495
- .elementor-control-layout_select label:nth-child(20) {
496
- background-image: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Crect x='2.2' y='4.9' class='st1' width='22.2' height='22.2'/%3E%3Crect x='25.6' y='4.9' class='st1' width='22.2' height='22.2'/%3E%3C/g%3E%3C/svg%3E");
497
- }
498
-
499
- .elementor-control-layout_select label:nth-child(22) {
500
- background-image: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Crect x='2.2' y='4.9' class='st1' width='14.5' height='22.2'/%3E%3Crect x='33.4' y='4.9' class='st1' width='14.4' height='22.2'/%3E%3Crect x='17.9' y='4.9' class='st1' width='14.4' height='22.2'/%3E%3C/g%3E%3C/svg%3E");
501
- }
502
-
503
- .elementor-control-layout_select label:nth-child(24) {
504
- background-image: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Crect x='2.2' y='4.9' class='st1' width='10.6' height='22.2'/%3E%3Crect x='37.2' y='4.9' class='st1' width='10.5' height='22.2'/%3E%3Crect x='25.6' y='4.9' class='st1' width='10.5' height='22.2'/%3E%3Crect x='14' y='4.9' class='st1' width='10.5' height='22.2'/%3E%3C/g%3E%3C/svg%3E");
505
- }
506
-
507
- /*--------------------------------------------------------------
508
- == Widget Preview and Library buttons
509
- --------------------------------------------------------------*/
510
- .elementor-control-wpr_library_buttons {
511
- height: 60px;
512
- padding: 0;
513
- }
514
-
515
- .elementor-control-wpr_library_buttons .elementor-control-raw-html {
516
- padding: 0 10px 10px 10px;
517
- border-bottom: 1px solid #efefef;
518
- }
519
-
520
- .elementor-control-wpr_library_buttons .elementor-control-raw-html div {
521
- display: -webkit-box;
522
- display: -ms-flexbox;
523
- display: flex;
524
- -webkit-box-pack: center;
525
- -ms-flex-pack: center;
526
- justify-content: center;
527
- }
528
-
529
- .elementor-control-wpr_library_buttons .elementor-control-raw-html div a {
530
- -webkit-box-flex: 1;
531
- -ms-flex-positive: 1;
532
- flex-grow: 1;
533
- padding: 10px 15px;
534
- border-radius: 3px;
535
- /*box-shadow: 1px 2px 5px 0 rgba(0,0,0,0.2);*/
536
- white-space: nowrap;
537
- overflow: hidden;
538
- -o-text-overflow: ellipsis;
539
- text-overflow: ellipsis;
540
- text-align: center;
541
- }
542
- .elementor-control-wpr_library_buttons .elementor-control-raw-html div a:first-child {
543
- background-color: #1CB4E4;
544
- color: #fff;
545
- margin-right: 3px;
546
- }
547
- .elementor-control-wpr_library_buttons .elementor-control-raw-html div a:last-child {
548
- margin-left: 3px;
549
- background-color: #6A65FF;
550
- color: #fff;
551
- }
552
-
553
- .elementor-control-wpr_library_buttons .elementor-control-raw-html > a {
554
- display: block;
555
- margin-top: 10px;
556
- line-height: 20px;
557
- color: #777;
558
- border: none !important;
559
- }
560
-
561
- .elementor-section-title > a {
562
- top: 10px;
563
- right: 20px;
564
- position: absolute;
565
- line-height: 20px;
566
- }
567
-
568
- .elementor-section-title > a:hover {
569
- border-color: transparent;
570
- }
571
-
572
- /*--------------------------------------------------------------
573
- == Apply Changes Button
574
- --------------------------------------------------------------*/
575
- .editor-wpr-preview-update {
576
- margin: 0;
577
- display: -webkit-box;
578
- display: -ms-flexbox;
579
- display: flex;
580
- -webkit-box-pack: justify;
581
- -ms-flex-pack: justify;
582
- justify-content: space-between;
583
- }
584
-
585
- .editor-wpr-preview-update button {
586
- font-size: 13px;
587
- padding: 5px 10px;
588
- }
589
-
590
-
591
- /*--------------------------------------------------------------
592
- == Free/Pro Options
593
- --------------------------------------------------------------*/
594
- .elementor-control select option[value*=pro-] {
595
- background: #f0f0f0;
596
- }
597
-
598
- .elementor-control[class*="pro_notice"] {
599
- padding: 5px 0 15px 0 !important;
600
- }
601
-
602
- .wpr-pro-notice {
603
- padding: 20px;
604
- border-top: 1px solid #e6e9ec;
605
- border-bottom: 1px solid #e6e9ec;
606
- background-color: #f2fbff;
607
- line-height: 1.4;
608
- text-align: center;
609
- }
610
-
611
- .wpr-pro-notice-video {
612
- display: block;
613
- margin-top: 7px;
614
- line-height: 20px;
615
- border: none !important;
616
- }
617
-
618
- #elementor-controls .elementor-control-slider_section_pro_notice {
619
- margin-top: -16px;
620
- padding-bottom: 0 !important;
621
- }
622
-
623
- .elementor-control-layout_select_pro_notice + div,
624
- .elementor-control-element_align_pro_notice + div {
625
- padding-top: 15px;
626
- }
627
-
628
- .elementor-control-layout_select .elementor-choices label {
629
- position: relative;
630
- }
631
-
632
- .elementor-control-layout_select .elementor-choices label:nth-child(2):after,
633
- .elementor-control-layout_select .elementor-choices label:nth-child(4):after,
634
- .elementor-control-layout_select .elementor-choices label:nth-child(6):after,
635
- .elementor-control-layout_select .elementor-choices label:nth-child(8):after,
636
- .elementor-control-layout_select .elementor-choices label:nth-child(10):after,
637
- .elementor-control-layout_select .elementor-choices label:nth-child(12):after {
638
- content: ' ';
639
- display: block;
640
- width: 100%;
641
- height: 100%;
642
- position: absolute;
643
- top: 0;
644
- left: 0;
645
- background: rgba(0,0,0,0.2);
646
- }
647
-
648
- /* Adjustments */
649
- .elementor-control.elementor-control-element_align_pro_notice,
650
- .elementor-control.elementor-control-search_pro_notice,
651
- .elementor-control.elementor-control-layout_select_pro_notice,
652
- .elementor-control.elementor-control-grid_columns_pro_notice,
653
- .elementor-control.elementor-control-slider_content_type_pro_notice,
654
- .elementor-control.elementor-control-slider_repeater_pro_notice,
655
- .elementor-control.elementor-control-slider_dots_layout_pro_notice,
656
- .elementor-control.elementor-control-testimonial_repeater_pro_notice,
657
- .elementor-control.elementor-control-testimonial_icon_pro_notice,
658
- .elementor-control.elementor-control-menu_layout_pro_notice,
659
- .elementor-control.elementor-control-menu_items_submenu_entrance_pro_notice,
660
- .elementor-control.elementor-control-switcher_label_style_pro_notice,
661
- .elementor-control.elementor-control-countdown_type_pro_notice,
662
- .elementor-control.elementor-control-layout_pro_notice,
663
- .elementor-control.elementor-control-anim_timing_pro_notice,
664
- .elementor-control.elementor-control-tab_content_type_pro_notice,
665
- .elementor-control.elementor-control-tabs_repeater_pro_notice,
666
- .elementor-control.elementor-control-tabs_align_pro_notice,
667
- .elementor-control.elementor-control-front_trigger_pro_notice,
668
- .elementor-control.elementor-control-back_link_type_pro_notice,
669
- .elementor-control.elementor-control-box_anim_timing_pro_notice,
670
- .elementor-control.elementor-control-image_style_pro_notice,
671
- .elementor-control.elementor-control-image_animation_timing_pro_notice,
672
- .elementor-control.elementor-control-label_display_pro_notice,
673
- .elementor-control.elementor-control-post_type_pro_notice,
674
- .elementor-control.elementor-control-type_select_pro_notice,
675
- .elementor-control.elementor-control-icon_style_pro_notice,
676
- .elementor-control.elementor-control-dual_button_pro_notice,
677
- .elementor-control.elementor-control-team_member_pro_notice,
678
- .elementor-control.elementor-control-price_list_pro_notice,
679
- .elementor-control.elementor-control-business_hours_pro_notice,
680
- .elementor-control.elementor-control-sharing_columns_pro_notice,
681
- .elementor-control.elementor-control-popup_trigger_pro_notice,
682
- .elementor-control.elementor-control-popup_show_again_delay_pro_notice,
683
- .elementor-control.elementor-control-group_popup_settings_pro_notice,
684
- .elementor-control.elementor-control-which_particle_pro_notice,
685
- .elementor-control.elementor-control-paralax_repeater_pro_notice,
686
- .elementor-control.elementor-control-opnepage_pro_notice,
687
- .elementor-control.elementor-control-timeline_repeater_pro_notice,
688
- .elementor-control.elementor-control-limit_grid_items_pro_notice,
689
- .elementor-control.elementor-control-post_nav_layout_pro_notice,
690
- .elementor-control.elementor-control-author_name_links_to_pro_notice,
691
- .elementor-control.elementor-control-author_title_links_to_pro_notice,
692
- .elementor-control.elementor-control-comments_form_layout_pro_notice,
693
- .elementor-control.elementor-control-sharing_repeater_pro_notice,
694
- .elementor-control.elementor-control-mini_cart_style_pro_notice,
695
- .elementor-control.elementor-control-tabs_position_pro_notice,
696
- .elementor-control.elementor-control-choose_table_type_pro_notice,
697
- .elementor-control.elementor-control-accordion_repeater_pro_notice,
698
- .elementor-control.elementor-control-acc_repeater_pro_notice,
699
- .elementor-control.elementor-control-data_source_pro_notice,
700
- .elementor-control.elementor-control-charts_repeater_pro_notice,
701
- .elementor-control.elementor-control-mob_menu_display_as_pro_notice {
702
- padding-bottom: 0 !important;
703
- }
704
-
705
- .elementor-control-search_pro_notice .wpr-pro-notice,
706
- .elementor-control-grid_columns_pro_notice .wpr-pro-notice,
707
- .elementor-control-slider_content_type_pro_notice .wpr-pro-notice,
708
- .elementor-control-slider_repeater_pro_notice .wpr-pro-notice,
709
- .elementor-control-slider_dots_layout_pro_notice .wpr-pro-notice,
710
- .elementor-control-testimonial_repeater_pro_notice .wpr-pro-notice,
711
- .elementor-control-testimonial_icon_pro_notice .wpr-pro-notice,
712
- .elementor-control-menu_layout_pro_notice .wpr-pro-notice,
713
- .elementor-control-menu_items_submenu_entrance_pro_notice .wpr-pro-notice,
714
- .elementor-control-switcher_label_style_pro_notice .wpr-pro-notice,
715
- .elementor-control-countdown_type_pro_notice .wpr-pro-notice,
716
- .elementor-control-layout_pro_notice .wpr-pro-notice,
717
- .elementor-control-anim_timing_pro_notice .wpr-pro-notice,
718
- .elementor-control-tab_content_type_pro_notice .wpr-pro-notice,
719
- .elementor-control-tabs_repeater_pro_notice .wpr-pro-notice,
720
- .elementor-control-tabs_align_pro_notice .wpr-pro-notice,
721
- .elementor-control-front_trigger_pro_notice .wpr-pro-notice,
722
- .elementor-control-back_link_type_pro_notice .wpr-pro-notice,
723
- .elementor-control-box_anim_timing_pro_notice .wpr-pro-notice,
724
- .elementor-control-image_style_pro_notice .wpr-pro-notice,
725
- .elementor-control-image_animation_timing_pro_notice .wpr-pro-notice,
726
- .elementor-control-label_display_pro_notice .wpr-pro-notice,
727
- .elementor-control-post_type_pro_notice .wpr-pro-notice,
728
- .elementor-control-type_select_pro_notice .wpr-pro-notice,
729
- .elementor-control-icon_style_pro_notice .wpr-pro-notice,
730
- .elementor-control-dual_button_pro_notice .wpr-pro-notice,
731
- .elementor-control-team_member_pro_notice .wpr-pro-notice,
732
- .elementor-control-price_list_pro_notice .wpr-pro-notice,
733
- .elementor-control-business_hours_pro_notice .wpr-pro-notice,
734
- .elementor-control-sharing_columns_pro_notice .wpr-pro-notice,
735
- .elementor-control-popup_trigger_pro_notice .wpr-pro-notice,
736
- .elementor-control-popup_show_again_delay_pro_notice .wpr-pro-notice,
737
- .elementor-control-group_popup_settings_pro_notice .wpr-pro-notice,
738
- .elementor-control-post_nav_layout_pro_notice .wpr-pro-notice,
739
- .elementor-control-author_name_links_to_pro_notice .wpr-pro-notice,
740
- .elementor-control-author_title_links_to_pro_notice .wpr-pro-notice,
741
- .elementor-control-comments_form_layout_pro_notice .wpr-pro-notice,
742
- .elementor-control-sharing_repeater_pro_notice .wpr-pro-notice,
743
- .elementor-control-mini_cart_style_pro_notice .wpr-pro-notice,
744
- .elementor-control-tabs_position_pro_notice .wpr-pro-notice,
745
- .elementor-control-choose_table_type_pro_notice .wpr-pro-notice,
746
- .elementor-control-accordion_repeater_pro_notice .wpr-pro-notice,
747
- .elementor-control.elementor-control-data_source_pro_notice .wpr-pro-notice,
748
- .elementor-control.elementor-control-mob_menu_display_as_pro_notice .wpr-pro-notice {
749
- border-bottom: none !important;
750
- }
751
-
752
- /* Both */
753
- .elementor-control.elementor-control-pagination_type_pro_notice,
754
- .elementor-control.elementor-control-tooltip_trigger_pro_notice,
755
- .elementor-control.elementor-control-post_info_select_pro_notice {
756
- padding-top: 0 !important;
757
- padding-bottom: 0 !important;
758
- }
759
-
760
- .elementor-control-pagination_type_pro_notice .wpr-pro-notice {
761
- border-top: none !important;
762
- border-bottom: none !important;
763
- }
764
-
765
- .elementor-control-pro_features_section .elementor-section-toggle,
766
- .elementor-control-pro_features_section .elementor-section-title {
767
- color: #f54;
768
- }
769
-
770
- .elementor-control-pro_features_section .elementor-section-title {
771
- line-height: 20px;
772
- }
773
- .elementor-control-pro_features_section .elementor-section-title .dashicons {
774
- line-height: 20px;
775
- font-size: 13px;
776
- }
777
-
778
- .wpr-pro-features-list {
779
- text-align: center;
780
- }
781
-
782
- .wpr-pro-features-list ul {
783
- text-align: left;
784
- }
785
-
786
- .wpr-pro-features-list ul li {
787
- position: relative;
788
- line-height: 22px;
789
- padding-left: 20px;
790
- }
791
-
792
- .wpr-pro-features-list ul li::before {
793
- content: '.';
794
- font-size: 38px;
795
- position: absolute;
796
- top: -11px;
797
- left: 0;
798
- }
799
-
800
- .wpr-pro-features-list ul + a {
801
- display: inline-block;
802
- background-color: #f54;
803
- color: #fff;
804
- margin: 15px 15px 10px 0;
805
- padding: 7px 12px;
806
- border-radius: 3px;
807
- }
808
-
809
- .wpr-pro-features-list ul + a:hover {
810
- color: #fff;
811
- }
812
-
813
- /* Video Tutorial Link */
814
- .elementor-control[class*="video_tutorial"] {
815
- padding-top: 0 !important;
816
- padding-bottom: 5px !important;
817
- }
818
-
819
- .elementor-control.elementor-control-woo_grid_notice_video_tutorial,
820
- .elementor-control-show_last_update_date {
821
- padding-bottom: 15px !important;
822
- }
823
-
824
- .elementor-control.elementor-control-woo_grid_notice_video_tutorial a {
825
- display: inline-block;
826
- margin-top: 5px;
827
- }
828
-
829
- .elementor-control[class*="video_tutorial"] a {
830
- line-height: 16px;
831
- font-size: 12px;
832
- }
833
-
834
- .elementor-control[class*="video_tutorial"] a .dashicons {
835
- font-size: 16px;
836
- }
837
-
838
- /* Pro Control Class */
839
- .elementor-control.wpr-pro-control label i {
840
- color: #aeaeae;
841
- font-size: 14px;
842
- margin-left: 3px;
843
- }
844
-
845
- .elementor-control.wpr-pro-control .elementor-control-content:before {
846
- content: '';
847
- position: absolute;
848
- width: 100%;
849
- height: 100%;
850
- z-index: 9;
851
- background: transparent;
852
- }
853
-
854
- .elementor-control.wpr-pro-control .elementor-control-content:after {
855
- content: "This option is available in the Pro Version.";
856
- visibility: hidden;
857
- opacity: 0;
858
- position: absolute;
859
- top: 30px;
860
- padding: 15px;
861
- z-index: 99;
862
- margin-top: 10px;
863
- font-size: 12px;
864
- color: #93003c;
865
- background-color: #ffffff;
866
- border-radius: 5px;
867
- -webkit-box-shadow: 1px 1px 5px rgba(0,0,0,0.2);
868
- box-shadow: 1px 1px 5px rgba(0,0,0,0.2);
869
- border: 1px solid #e6e9ec;
870
- -webkit-transition: all 0.2s ease-in;
871
- -o-transition: all 0.2s ease-in;
872
- transition: all 0.2s ease-in;
873
- }
874
-
875
- .elementor-repeater-fields .elementor-control.wpr-pro-control .elementor-control-content:after {
876
- content: "This is available in the Pro Version.";
877
- }
878
-
879
- .elementor-control.wpr-pro-control.no-distance .elementor-control-content:after {
880
- margin: 0;
881
- }
882
-
883
- .elementor-control.wpr-pro-control .elementor-control-content:hover:after {
884
- visibility: visible;
885
- opacity: 1;
886
- }
887
-
888
- /*--------------------------------------------------------------
889
- == Theme Builder Widgets
890
- --------------------------------------------------------------*/
891
- #elementor-panel-categories {
892
- display: -webkit-box;
893
- display: -ms-flexbox;
894
- display: flex;
895
- -webkit-box-orient: vertical;
896
- -webkit-box-direction: normal;
897
- -ms-flex-direction: column;
898
- flex-direction: column;
899
- }
900
-
901
- #elementor-panel-categories > div {
902
- -webkit-box-ordinal-group: 3;
903
- -ms-flex-order: 2;
904
- order: 2;
905
- }
906
-
907
- #elementor-panel-category-wpr-theme-builder-widgets,
908
- #elementor-panel-category-wpr-woocommerce-builder-widgets {
909
- -webkit-box-ordinal-group: 2 !important;
910
- -ms-flex-order: 1 !important;
911
- order: 1 !important;
912
- }
913
-
914
- .elementor-editor-wpr-theme-builder #elementor-panel-footer-saver-preview {
915
- display: none !important;
916
- }
917
-
918
-
919
- /*--------------------------------------------------------------
920
- == Elementor Search Notice
921
- --------------------------------------------------------------*/
922
- .wpr-elementor-search-notice {
923
- background: #fff;
924
- font-size: 13px;
925
- padding: 20px;
926
- line-height: 18px;
927
- margin: 10px;
928
- border-left: 3px solid #71d7f7;
929
- -webkit-box-shadow: 0 1px 4px 0 rgb(0 0 0 / 7%);
930
- box-shadow: 0 1px 4px 0 rgb(0 0 0 / 7%);
931
- }
932
-
933
-
934
- /*--------------------------------------------------------------
935
- == Debug
936
- --------------------------------------------------------------*/
937
- pre.xdebug-var-dump {
938
- position: absolute;
939
- z-index: 999999;
940
- background: #fff;
941
- border: 2px solid #000;
942
- padding: 20px;
943
- left: 300px;
944
  }
1
+ /*--------------------------------------------------------------
2
+ == General
3
+ --------------------------------------------------------------*/
4
+ .wpr-elementor-hidden-control {
5
+ overflow: hidden;
6
+ width: 0 !important;
7
+ height: 0 !important;
8
+ padding: 0 !important;
9
+ margin: 0 !important;
10
+ visibility: hidden !important;
11
+ opacity: 0 !important;
12
+ }
13
+
14
+
15
+ /*--------------------------------------------------------------
16
+ == WPR Widgets
17
+ --------------------------------------------------------------*/
18
+ .elementor-panel .wpr-icon:after {
19
+ content: 'R';
20
+ display: block;
21
+ position: absolute;
22
+ top: 3px;
23
+ right: 3px;
24
+ font-family: Roboto,Arial,Helvetica,Verdana,sans-serif;
25
+ font-size: 10px;
26
+ font-weight: bold;
27
+ color: #ffffff;
28
+ background-image: -o-linear-gradient(#6A4BFF, #7E94FE);
29
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#6A4BFF), to(#7E94FE));
30
+ background-image: linear-gradient(#6A4BFF, #7E94FE);
31
+ -webkit-box-shadow: 0 0 2px 2px #b8c7ff;
32
+ box-shadow: 0 0 2px 2px #b8c7ff;
33
+ width: 19px;
34
+ height: 19px;
35
+ line-height: 19px;
36
+ border-radius: 15px;
37
+ margin: 3px;
38
+ }
39
+
40
+ .elementor-panel .elementor-element .icon {
41
+ position: relative !important;
42
+ }
43
+
44
+ .elementor-element--promotion .wpr-icon:after {
45
+ top: 22px;
46
+ right: -1px;
47
+ opacity: 0.7;
48
+ }
49
+
50
+ #elementor-element--promotion__dialog .dialog-button {
51
+ text-align: center;
52
+ }
53
+
54
+ .elementor-control-type-section[class*="elementor-control-wpr_section_"]:after {
55
+ content: 'R';
56
+ display: block;
57
+ position: absolute;
58
+ top: 7px;
59
+ right: 7px;
60
+ font-family: Roboto,Arial,Helvetica,Verdana,sans-serif;
61
+ font-size: 10px;
62
+ font-weight: bold;
63
+ color: #ffffff;
64
+ background-image: -o-linear-gradient(#6A4BFF, #7E94FE);
65
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#6A4BFF), to(#7E94FE));
66
+ background-image: linear-gradient(#6A4BFF, #7E94FE);
67
+ -webkit-box-shadow: 0 0 2px 2px #b8c7ff;
68
+ box-shadow: 0 0 2px 2px #b8c7ff;
69
+ width: 19px;
70
+ height: 19px;
71
+ line-height: 19px;
72
+ border-radius: 15px;
73
+ margin: 3px;
74
+ text-align: center;
75
+ }
76
+
77
+ /*--------------------------------------------------------------
78
+ == Adjustments
79
+ --------------------------------------------------------------*/
80
+ .elementor-control-element_select,
81
+ .elementor-control-element_align_hr,
82
+ .elementor-control-element_read_more_text,
83
+ .elementor-control-element_tax_sep,
84
+ .elementor-control-element_sharing_icon_6,
85
+ .elementor-control-element_sharing_trigger_direction,
86
+ .elementor-control-element_sharing_icon_display,
87
+ .elementor-control-element_sharing_tooltip,
88
+ .elementor-control-element_custom_field_wrapper_html,
89
+ .elementor-control-slider_item_bg_size,
90
+ .elementor-control-element_addcart_variable_txt,
91
+ .elementor-control-type,
92
+ .elementor-control-show_last_update_date {
93
+ margin-bottom: 15px;
94
+ }
95
+
96
+ .elementor-control-slider_content_bg_color,
97
+ .elementor-control-slider_nav_border_border,
98
+ .elementor-control-slider_nav_border_radius,
99
+ .elementor-control-scroll_btn_vr,
100
+ .elementor-control-pagination_load_more_text,
101
+ .elementor-control-pagination_finish_text,
102
+ .elementor-control-pagination_prev_next,
103
+ .elementor-control-author_transition_duration,
104
+ .elementor-control-comments_transition_duration,
105
+ .elementor-control-likes_transition_duration,
106
+ .elementor-control-sharing_transition_duration,
107
+ .elementor-control-lightbox_transition_duration,
108
+ .elementor-control-custom_field1_transition_duration,
109
+ .elementor-control-custom_field2_transition_duration,
110
+ .elementor-control-custom_field3_transition_duration,
111
+ .elementor-control-custom_field4_transition_duration,
112
+ .elementor-control-filters_transition_duration,
113
+ .elementor-control-pagination_transition_duration,
114
+ .elementor-control-element_extra_text_pos,
115
+ .elementor-control-element_custom_field_wrapper,
116
+ .elementor-control-overlay_post_link,
117
+ .elementor-control-read_more_animation_height,
118
+ .elementor-control-archive_link_transition_duration,
119
+ .elementor-control-post_info_tax_select,
120
+ .elementor-control-post_info_link_wrap,
121
+ .elementor-control-post_info_modified_time,
122
+ .elementor-control-tabs_sharing_custom_colors,
123
+ .elementor-control-post_info_show_avatar,
124
+ .elementor-control-post_info_cf,
125
+ .elementor-control-pricing_items .elementor-control-price,
126
+ .elementor-control-pricing_items .elementor-control-feature_text,
127
+ .elementor-control-pricing_items .elementor-control-btn_text,
128
+ .elementor-control-divider_style,
129
+ .elementor-control-filters_pointer,
130
+ .elementor-control-title_transition_duration,
131
+ .elementor-control-tax1_transition_duration,
132
+ .elementor-control-tax2_transition_duration,
133
+ .elementor-control-filters_transition_duration,
134
+ .elementor-control-pagination_older_text,
135
+ .elementor-control-tooltip_position,
136
+ .elementor-control-post_info_comments_text_1 {
137
+ padding-top: 15px !important;
138
+ }
139
+
140
+ .elementor-control-post_info_custom_field_video_tutorial {
141
+ margin-top: 15px;
142
+ }
143
+
144
+ .elementor-control-title_pointer_animation + .elementor-control-title_transition_duration,
145
+ .elementor-control-tax1_pointer_animation + .elementor-control-tax1_transition_duration,
146
+ .elementor-control-tax2_pointer_animation + .elementor-control-tax2_transition_duration,
147
+ .elementor-control-filters_pointer_animation + .elementor-control-filters_transition_duration {
148
+ padding-top: 0 !important;
149
+ }
150
+
151
+ .elementor-control-pagination_load_more_text {
152
+ padding-bottom: 0 !important;
153
+ }
154
+
155
+ .elementor-control-filters_transition_duration,
156
+ .elementor-control-show_last_update_date {
157
+ padding-top: 0 !important;
158
+ }
159
+
160
+ .elementor-control-animation_divider,
161
+ .elementor-control-overlay_divider,
162
+ .elementor-control-slider_item_btn_1_divider,
163
+ .elementor-control-slider_item_btn_2_divider,
164
+ .elementor-control-slider_btn_typography_1_divider,
165
+ .elementor-control-slider_btn_box_shadow_1_divider,
166
+ .elementor-control-slider_btn_typography_2_divider,
167
+ .elementor-control-slider_btn_box_shadow_2_divider,
168
+ .elementor-control-testimonial_title_divider,
169
+ .elementor-control-social_media_divider,
170
+ .elementor-control-social_divider_1,
171
+ .elementor-control-social_divider_2,
172
+ .elementor-control-social_divider_3,
173
+ .elementor-control-social_divider_4,
174
+ .elementor-control-social_divider_5,
175
+ .elementor-control-custom_field_wrapper_html_divider1,
176
+ .elementor-control-custom_field_wrapper_html_divider2,
177
+ .elementor-control-lightbox_shadow_divider {
178
+ padding: 0 !important;
179
+ }
180
+
181
+ .elementor-control-custom_field_wrapper_html_divider1 hr,
182
+ .elementor-control-lightbox_shadow_divider hr {
183
+ height: 1px !important;
184
+ }
185
+
186
+ .elementor-control-element_show_on {
187
+ padding-top: 15px !important;
188
+ border-top: 1px solid #d5dadf;
189
+ }
190
+
191
+ [class*="wpr__section_"] ~ .elementor-control-type-number .elementor-control-input-wrapper,
192
+ [class*="wpr__section_"] ~ .elementor-control-type-repeater .elementor-control-type-number .elementor-control-input-wrapper {
193
+ max-width: 30% !important;
194
+ margin-left: auto !important;
195
+ }
196
+
197
+ [class*="wpr__section_"] ~ .elementor-control-type-select .elementor-control-input-wrapper,
198
+ [class*="wpr__section_"] ~ .elementor-control-type-repeater .elementor-control-type-select .elementor-control-input-wrapper {
199
+ width: auto !important;
200
+ min-width: 30% !important;
201
+ margin-left: auto !important;
202
+ }
203
+
204
+ .elementor-control-submit_preview_changes .elementor-control-input-wrapper {
205
+ text-align: center !important;
206
+ }
207
+
208
+ .elementor-control-query_manual_related,
209
+ .elementor-control-query_manual_current {
210
+ display: none !important;
211
+ }
212
+
213
+ /* Fix Select Inputs */
214
+ .elementor-control-button_hover_animation .elementor-control-input-wrapper,
215
+ .elementor-control-front_btn_animation .elementor-control-input-wrapper,
216
+ .elementor-control-back_btn_animation .elementor-control-input-wrapper,
217
+
218
+ .elementor-control-select_template .select2-selection,
219
+ .elementor-control-switcher_first_select_template .select2-selection,
220
+ .elementor-control-switcher_second_select_template .select2-selection,
221
+ .elementor-control-switcher_select_template .select2-selection,
222
+ .elementor-control-slider_select_template .select2-selection {
223
+ width: 135px !important;
224
+ }
225
+
226
+ .elementor-control-type-repeater .elementor-control-content > label {
227
+ display: none !important;
228
+ }
229
+
230
+
231
+ /*--------------------------------------------------------------
232
+ == Notification
233
+ --------------------------------------------------------------*/
234
+ #wpr-template-settings-notification {
235
+ position: fixed;
236
+ left: 40px;
237
+ bottom: 5px;
238
+ z-index: 9999;
239
+ padding: 13px 25px;
240
+ background: #fff;
241
+ color: #222;
242
+ -webkit-box-shadow: 1px 1px 5px 0 rgba(0, 0, 0, 0.3);
243
+ box-shadow: 1px 1px 5px 0 rgba(0, 0, 0, 0.3);
244
+ border-radius: 3px;
245
+ }
246
+
247
+ #wpr-template-settings-notification:before {
248
+ content: "";
249
+ position: absolute;
250
+ left: -6px;
251
+ bottom: 10px;
252
+ width: 0;
253
+ height: 0;
254
+ border-top: 6px solid transparent;
255
+ border-bottom: 6px solid transparent;
256
+ border-right-style: solid;
257
+ border-right-width: 6px;
258
+ border-right-color: #fff;
259
+ }
260
+
261
+ #wpr-template-settings-notification h4 {
262
+ margin-bottom: 10px;
263
+ }
264
+
265
+ #wpr-template-settings-notification h4 span {
266
+ font-size: 14px;
267
+ vertical-align: super;
268
+ color: #5f5f5f;
269
+ }
270
+
271
+ #wpr-template-settings-notification h4 i {
272
+ margin-right: 10px;
273
+ color: #3db050;
274
+ font-size: 24px;
275
+ }
276
+
277
+ #wpr-template-settings-notification p {
278
+ color: #666;
279
+ font-size: 12px;
280
+ line-height: 1.5;
281
+ }
282
+
283
+ #wpr-template-settings-notification > i {
284
+ position: absolute;
285
+ top: 7px;
286
+ right: 7px;
287
+ cursor: pointer;
288
+ color: #999;
289
+ }
290
+
291
+ .elementor-control-cf7_notice,
292
+ .elementor-control-wpforms_notice,
293
+ .elementor-control-ninja_forms_notice,
294
+ .elementor-control-caldera_notice {
295
+ color: red;
296
+ }
297
+
298
+ /* Help Button - select with referrals - [href^="https://royal-elementor-addons.com/contact/"] */
299
+ #elementor-panel__editor__help__link[href^="https://wordpress.org/support/plugin/royal-elementor-addons/"] {
300
+ display: inline-block;
301
+ padding: 12px 35px;
302
+ font-size: 13px;
303
+ font-weight: normal;
304
+ color: #fff;
305
+ background: #6A65FF;
306
+ border-radius: 3px;
307
+ -webkit-box-shadow: 0 2px 7px 0 rgba(0,0,0,0.3);
308
+ box-shadow: 0 2px 7px 0 rgba(0,0,0,0.3);
309
+ letter-spacing: 0.3px;
310
+ -webkit-transition: all 0.2s ease-in;
311
+ -o-transition: all 0.2s ease-in;
312
+ transition: all 0.2s ease-in;
313
+ }
314
+
315
+ #elementor-panel__editor__help__link[href^="https://wordpress.org/support/plugin/royal-elementor-addons/"]:hover {
316
+ color: #fff;
317
+ background: #6A4BFF;
318
+ }
319
+
320
+ #elementor-panel__editor__help__link[href^="https://wordpress.org/support/plugin/royal-elementor-addons/"] i {
321
+ color: #fff;
322
+ font-size: 14px;
323
+ vertical-align: top;
324
+ }
325
+
326
+ #elementor-panel__editor__help__link[href^="https://wordpress.org/support/plugin/royal-elementor-addons/"]:hover i {
327
+ color: #fff;
328
+ }
329
+
330
+ #elementor-panel__editor__help__link[href^="https://wordpress.org/support/plugin/royal-elementor-addons/"]:hover i:before {
331
+ content: '\e942' !important;
332
+ }
333
+
334
+ .elementor-control-posts_slider_notice .elementor-control-raw-html {
335
+ font-style: normal !important;
336
+ }
337
+
338
+ .elementor-control-product_notice_widget_info .elementor-control-raw-html {
339
+ color: red;
340
+ }
341
+
342
+
343
+ /*--------------------------------------------------------------
344
+ == Modal Popup Editor
345
+ --------------------------------------------------------------*/
346
+ .elementor-editor-wpr-popups .elementor-control-document_settings,
347
+ .elementor-editor-wpr-popups .elementor-control-post_title,
348
+ .elementor-editor-wpr-popups .elementor-control-post_status {
349
+ display: none !important;
350
+ }
351
+
352
+
353
+ /*--------------------------------------------------------------
354
+ == Elementor Editor Popup
355
+ --------------------------------------------------------------*/
356
+ #wpr-template-editor-popup .dialog-widget-content {
357
+ width: 90vw;
358
+ height: 90vh;
359
+ }
360
+
361
+ #wpr-template-editor-popup .dialog-message {
362
+ padding: 0;
363
+ width: 100%;
364
+ height: 100%;
365
+ }
366
+
367
+ #wpr-template-editor-popup .dialog-close-button {
368
+ font-size: 24px;
369
+ color: #222;
370
+ }
371
+
372
+ #wpr-template-editor-popup .dialog-header {
373
+ display: none;
374
+ }
375
+
376
+ #wpr-template-editor-loading {
377
+ position: absolute;
378
+ top: 0;
379
+ left: 0;
380
+ width: 100%;
381
+ height: 100%;
382
+ background: #f1f3f5;
383
+ z-index: 9999;
384
+ -webkit-transform: translateZ(0);
385
+ transform: translateZ(0);
386
+ display: -webkit-box;
387
+ display: -ms-flexbox;
388
+ display: flex;
389
+ -webkit-box-pack: center;
390
+ -ms-flex-pack: center;
391
+ justify-content: center;
392
+ -webkit-box-align: center;
393
+ -ms-flex-align: center;
394
+ align-items: center;
395
+ }
396
+
397
+ #wpr-template-editor-loading .elementor-loader-wrapper {
398
+ top: auto;
399
+ left: auto;
400
+ -webkit-transform: none;
401
+ -ms-transform: none;
402
+ transform: none;
403
+ }
404
+
405
+ /* Disable Transitions on Responsive Preview */
406
+ #elementor-preview-responsive-wrapper {
407
+ -webkit-transition: none !important;
408
+ -o-transition: none !important;
409
+ transition: none !important;
410
+ }
411
+
412
+
413
+ /*--------------------------------------------------------------
414
+ == Magazine Grid Layout
415
+ --------------------------------------------------------------*/
416
+ .elementor-control-layout_select.elementor-control .elementor-control-field {
417
+ -webkit-box-orient: vertical !important;
418
+ -webkit-box-direction: normal !important;
419
+ -ms-flex-direction: column !important;
420
+ flex-direction: column !important;
421
+ -webkit-box-align: start;
422
+ -ms-flex-align: start;
423
+ align-items: flex-start;
424
+ }
425
+
426
+ .elementor-control-layout_select.elementor-control .elementor-control-input-wrapper {
427
+ display: -webkit-box;
428
+ display: -ms-flexbox;
429
+ display: flex;
430
+ width: 100% !important;
431
+ margin-top: 10px;
432
+ }
433
+
434
+ .elementor-control-layout_select.elementor-control .elementor-choices {
435
+ -ms-flex-wrap: wrap;
436
+ flex-wrap: wrap;
437
+ -webkit-box-align: stretch;
438
+ -ms-flex-align: stretch;
439
+ align-items: stretch;
440
+ width: 100% !important;
441
+ height: auto;
442
+ border: 1px solid #dfd5d5;
443
+ }
444
+
445
+ .elementor-control-layout_select.elementor-control .elementor-choices label {
446
+ width: 33.3%;
447
+ height: 50px;
448
+ background-size: 75%;
449
+ background-position: center center;
450
+ background-repeat: no-repeat;
451
+ }
452
+
453
+ .elementor-control-layout_select input[type="radio"]:checked + label {
454
+ border: 2px solid #D30C5C;
455
+ border-radius: 0 !important;
456
+ background-color: #ffffff;
457
+ }
458
+
459
+ .elementor-control-layout_select label:nth-child(2) {
460
+ background-image: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Crect x='2.2' y='4.9' class='st1' width='22.2' height='22.2'/%3E%3Crect x='25.6' y='15.2' class='st1' width='22.2' height='11.9'/%3E%3Crect x='25.6' y='4.9' class='st1' width='22.2' height='9.2'/%3E%3C/g%3E%3C/svg%3E");
461
+ }
462
+
463
+ .elementor-control-layout_select label:nth-child(4) {
464
+ background-image: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Crect x='2.2' y='4.9' class='st1' width='22.2' height='22.2'/%3E%3Crect x='25.6' y='16.6' class='st1' width='10.5' height='10.5'/%3E%3Crect x='37.2' y='16.6' class='st1' width='10.5' height='10.5'/%3E%3Crect x='25.6' y='4.9' class='st1' width='22.2' height='10.5'/%3E%3C/g%3E%3C/svg%3E");
465
+ }
466
+
467
+ .elementor-control-layout_select label:nth-child(6) {
468
+ background: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Cg%3E%3Crect x='2.2' y='4.9' class='st1' width='22.2' height='22.2'/%3E%3Crect x='25.6' y='16.6' class='st1' width='10.5' height='10.5'/%3E%3Crect x='37.2' y='16.6' class='st1' width='10.5' height='10.5'/%3E%3Crect x='25.6' y='4.9' class='st1' width='10.5' height='10.5'/%3E%3Crect x='37.2' y='4.9' class='st1' width='10.5' height='10.5'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
469
+ }
470
+
471
+ .elementor-control-layout_select label:nth-child(8) {
472
+ background-image: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Crect x='2.2' y='4.9' class='st1' width='22.2' height='22.2'/%3E%3Crect x='25.6' y='4.9' class='st1' width='10.5' height='22.2'/%3E%3Crect x='37.2' y='16.6' class='st1' width='10.5' height='10.5'/%3E%3Crect x='37.2' y='4.9' class='st1' width='10.5' height='10.5'/%3E%3C/g%3E%3C/svg%3E");
473
+ }
474
+
475
+ .elementor-control-layout_select label:nth-child(10) {
476
+ background-image: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Crect x='13.9' y='4.9' class='st1' width='22.2' height='22.2'/%3E%3Crect x='37.2' y='16.6' class='st1' width='10.5' height='10.5'/%3E%3Crect x='37.2' y='4.9' class='st1' width='10.5' height='10.5'/%3E%3Crect x='2.3' y='16.6' class='st1' width='10.5' height='10.5'/%3E%3Crect x='2.3' y='4.9' class='st1' width='10.5' height='10.5'/%3E%3C/g%3E%3C/svg%3E");
477
+ }
478
+
479
+ .elementor-control-layout_select label:nth-child(12) {
480
+ background-image: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Crect x='2.2' y='4.9' class='st1' width='28.5' height='22.2'/%3E%3Crect x='31.8' y='12.9' class='st1' width='15.9' height='6.3'/%3E%3Crect x='31.8' y='4.9' class='st1' width='15.9' height='6.8'/%3E%3Crect x='31.8' y='20.3' class='st1' width='15.9' height='6.8'/%3E%3C/g%3E%3C/svg%3E");
481
+ }
482
+
483
+ .elementor-control-layout_select label:nth-child(14) {
484
+ background-image: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Crect x='13.9' y='4.9' class='st1' width='22.2' height='22.2'/%3E%3Crect x='2.2' y='4.9' class='st1' width='10.5' height='22.2'/%3E%3Crect x='37.2' y='4.9' class='st1' width='10.5' height='22.2'/%3E%3C/g%3E%3C/svg%3E");
485
+ }
486
+
487
+ .elementor-control-layout_select label:nth-child(16) {
488
+ background-image: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Crect x='2.2' y='4.9' class='st1' width='33.9' height='13.2'/%3E%3Crect x='2.2' y='19.3' class='st1' width='16.4' height='7.8'/%3E%3Crect x='19.7' y='19.3' class='st1' width='16.4' height='7.8'/%3E%3Crect x='37.2' y='4.9' class='st1' width='10.5' height='13.2'/%3E%3Crect x='37.2' y='19.3' class='st1' width='10.5' height='7.8'/%3E%3C/g%3E%3C/svg%3E");
489
+ }
490
+
491
+ .elementor-control-layout_select label:nth-child(18) {
492
+ background-image: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Crect x='2.2' y='4.9' class='st1' width='22.2' height='12.1'/%3E%3Crect x='25.6' y='4.9' class='st1' width='22.2' height='12.1'/%3E%3Crect x='2.2' y='18.2' class='st1' width='14.4' height='8.9'/%3E%3Crect x='17.8' y='18.2' class='st1' width='14.4' height='8.9'/%3E%3Crect x='33.3' y='18.2' class='st1' width='14.4' height='8.9'/%3E%3C/g%3E%3C/svg%3E");
493
+ }
494
+
495
+ .elementor-control-layout_select label:nth-child(20) {
496
+ background-image: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Crect x='2.2' y='4.9' class='st1' width='22.2' height='22.2'/%3E%3Crect x='25.6' y='4.9' class='st1' width='22.2' height='22.2'/%3E%3C/g%3E%3C/svg%3E");
497
+ }
498
+
499
+ .elementor-control-layout_select label:nth-child(22) {
500
+ background-image: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Crect x='2.2' y='4.9' class='st1' width='14.5' height='22.2'/%3E%3Crect x='33.4' y='4.9' class='st1' width='14.4' height='22.2'/%3E%3Crect x='17.9' y='4.9' class='st1' width='14.4' height='22.2'/%3E%3C/g%3E%3C/svg%3E");
501
+ }
502
+
503
+ .elementor-control-layout_select label:nth-child(24) {
504
+ background-image: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Crect x='2.2' y='4.9' class='st1' width='10.6' height='22.2'/%3E%3Crect x='37.2' y='4.9' class='st1' width='10.5' height='22.2'/%3E%3Crect x='25.6' y='4.9' class='st1' width='10.5' height='22.2'/%3E%3Crect x='14' y='4.9' class='st1' width='10.5' height='22.2'/%3E%3C/g%3E%3C/svg%3E");
505
+ }
506
+
507
+ /*--------------------------------------------------------------
508
+ == Widget Preview and Library buttons
509
+ --------------------------------------------------------------*/
510
+ .elementor-control-wpr_library_buttons {
511
+ height: 60px;
512
+ padding: 0;
513
+ }
514
+
515
+ .elementor-control-wpr_library_buttons .elementor-control-raw-html {
516
+ padding: 0 10px 10px 10px;
517
+ border-bottom: 1px solid #efefef;
518
+ }
519
+
520
+ .elementor-control-wpr_library_buttons .elementor-control-raw-html div {
521
+ display: -webkit-box;
522
+ display: -ms-flexbox;
523
+ display: flex;
524
+ -webkit-box-pack: center;
525
+ -ms-flex-pack: center;
526
+ justify-content: center;
527
+ }
528
+
529
+ .elementor-control-wpr_library_buttons .elementor-control-raw-html div a {
530
+ -webkit-box-flex: 1;
531
+ -ms-flex-positive: 1;
532
+ flex-grow: 1;
533
+ padding: 10px 15px;
534
+ border-radius: 3px;
535
+ /*box-shadow: 1px 2px 5px 0 rgba(0,0,0,0.2);*/
536
+ white-space: nowrap;
537
+ overflow: hidden;
538
+ -o-text-overflow: ellipsis;
539
+ text-overflow: ellipsis;
540
+ text-align: center;
541
+ }
542
+ .elementor-control-wpr_library_buttons .elementor-control-raw-html div a:first-child {
543
+ background-color: #1CB4E4;
544
+ color: #fff;
545
+ margin-right: 3px;
546
+ }
547
+ .elementor-control-wpr_library_buttons .elementor-control-raw-html div a:last-child {
548
+ margin-left: 3px;
549
+ background-color: #6A65FF;
550
+ color: #fff;
551
+ }
552
+
553
+ .elementor-control-wpr_library_buttons .elementor-control-raw-html > a {
554
+ display: block;
555
+ margin-top: 10px;
556
+ line-height: 20px;
557
+ color: #777;
558
+ border: none !important;
559
+ }
560
+
561
+ .elementor-section-title > a {
562
+ top: 10px;
563
+ right: 20px;
564
+ position: absolute;
565
+ line-height: 20px;
566
+ }
567
+
568
+ .elementor-section-title > a:hover {
569
+ border-color: transparent;
570
+ }
571
+
572
+ /*--------------------------------------------------------------
573
+ == Apply Changes Button
574
+ --------------------------------------------------------------*/
575
+ .editor-wpr-preview-update {
576
+ margin: 0;
577
+ display: -webkit-box;
578
+ display: -ms-flexbox;
579
+ display: flex;
580
+ -webkit-box-pack: justify;
581
+ -ms-flex-pack: justify;
582
+ justify-content: space-between;
583
+ }
584
+
585
+ .editor-wpr-preview-update button {
586
+ font-size: 13px;
587
+ padding: 5px 10px;
588
+ }
589
+
590
+
591
+ /*--------------------------------------------------------------
592
+ == Free/Pro Options
593
+ --------------------------------------------------------------*/
594
+ .elementor-control select option[value*=pro-] {
595
+ background: #f0f0f0;
596
+ }
597
+
598
+ .elementor-control[class*="pro_notice"] {
599
+ padding: 5px 0 15px 0 !important;
600
+ }
601
+
602
+ .wpr-pro-notice {
603
+ padding: 20px;
604
+ border-top: 1px solid #e6e9ec;
605
+ border-bottom: 1px solid #e6e9ec;
606
+ background-color: #f2fbff;
607
+ line-height: 1.4;
608
+ text-align: center;
609
+ }
610
+
611
+ .wpr-pro-notice-video {
612
+ display: block;
613
+ margin-top: 7px;
614
+ line-height: 20px;
615
+ border: none !important;
616
+ }
617
+
618
+ #elementor-controls .elementor-control-slider_section_pro_notice {
619
+ margin-top: -16px;
620
+ padding-bottom: 0 !important;
621
+ }
622
+
623
+ .elementor-control-layout_select_pro_notice + div,
624
+ .elementor-control-element_align_pro_notice + div {
625
+ padding-top: 15px;
626
+ }
627
+
628
+ .elementor-control-layout_select .elementor-choices label {
629
+ position: relative;
630
+ }
631
+
632
+ .elementor-control-layout_select .elementor-choices label:nth-child(2):after,
633
+ .elementor-control-layout_select .elementor-choices label:nth-child(4):after,
634
+ .elementor-control-layout_select .elementor-choices label:nth-child(6):after,
635
+ .elementor-control-layout_select .elementor-choices label:nth-child(8):after,
636
+ .elementor-control-layout_select .elementor-choices label:nth-child(10):after,
637
+ .elementor-control-layout_select .elementor-choices label:nth-child(12):after {
638
+ content: ' ';
639
+ display: block;
640
+ width: 100%;
641
+ height: 100%;
642
+ position: absolute;
643
+ top: 0;
644
+ left: 0;
645
+ background: rgba(0,0,0,0.2);
646
+ }
647
+
648
+ /* Adjustments */
649
+ .elementor-control.elementor-control-element_align_pro_notice,
650
+ .elementor-control.elementor-control-search_pro_notice,
651
+ .elementor-control.elementor-control-layout_select_pro_notice,
652
+ .elementor-control.elementor-control-grid_columns_pro_notice,
653
+ .elementor-control.elementor-control-slider_content_type_pro_notice,
654
+ .elementor-control.elementor-control-slider_repeater_pro_notice,
655
+ .elementor-control.elementor-control-slider_dots_layout_pro_notice,
656
+ .elementor-control.elementor-control-testimonial_repeater_pro_notice,
657
+ .elementor-control.elementor-control-testimonial_icon_pro_notice,
658
+ .elementor-control.elementor-control-menu_layout_pro_notice,
659
+ .elementor-control.elementor-control-menu_items_submenu_entrance_pro_notice,
660
+ .elementor-control.elementor-control-switcher_label_style_pro_notice,
661
+ .elementor-control.elementor-control-countdown_type_pro_notice,
662
+ .elementor-control.elementor-control-layout_pro_notice,
663
+ .elementor-control.elementor-control-anim_timing_pro_notice,
664
+ .elementor-control.elementor-control-tab_content_type_pro_notice,
665
+ .elementor-control.elementor-control-tabs_repeater_pro_notice,
666
+ .elementor-control.elementor-control-tabs_align_pro_notice,
667
+ .elementor-control.elementor-control-front_trigger_pro_notice,
668
+ .elementor-control.elementor-control-back_link_type_pro_notice,
669
+ .elementor-control.elementor-control-box_anim_timing_pro_notice,
670
+ .elementor-control.elementor-control-image_style_pro_notice,
671
+ .elementor-control.elementor-control-image_animation_timing_pro_notice,
672
+ .elementor-control.elementor-control-label_display_pro_notice,
673
+ .elementor-control.elementor-control-post_type_pro_notice,
674
+ .elementor-control.elementor-control-type_select_pro_notice,
675
+ .elementor-control.elementor-control-icon_style_pro_notice,
676
+ .elementor-control.elementor-control-dual_button_pro_notice,
677
+ .elementor-control.elementor-control-team_member_pro_notice,
678
+ .elementor-control.elementor-control-price_list_pro_notice,
679
+ .elementor-control.elementor-control-business_hours_pro_notice,
680
+ .elementor-control.elementor-control-sharing_columns_pro_notice,
681
+ .elementor-control.elementor-control-popup_trigger_pro_notice,
682
+ .elementor-control.elementor-control-popup_show_again_delay_pro_notice,
683
+ .elementor-control.elementor-control-group_popup_settings_pro_notice,
684
+ .elementor-control.elementor-control-which_particle_pro_notice,
685
+ .elementor-control.elementor-control-paralax_repeater_pro_notice,
686
+ .elementor-control.elementor-control-opnepage_pro_notice,
687
+ .elementor-control.elementor-control-timeline_repeater_pro_notice,
688
+ .elementor-control.elementor-control-limit_grid_items_pro_notice,
689
+ .elementor-control.elementor-control-post_nav_layout_pro_notice,
690
+ .elementor-control.elementor-control-author_name_links_to_pro_notice,
691
+ .elementor-control.elementor-control-author_title_links_to_pro_notice,
692
+ .elementor-control.elementor-control-comments_form_layout_pro_notice,
693
+ .elementor-control.elementor-control-sharing_repeater_pro_notice,
694
+ .elementor-control.elementor-control-mini_cart_style_pro_notice,
695
+ .elementor-control.elementor-control-tabs_position_pro_notice,
696
+ .elementor-control.elementor-control-choose_table_type_pro_notice,
697
+ .elementor-control.elementor-control-accordion_repeater_pro_notice,
698
+ .elementor-control.elementor-control-acc_repeater_pro_notice,
699
+ .elementor-control.elementor-control-data_source_pro_notice,
700
+ .elementor-control.elementor-control-charts_repeater_pro_notice,
701
+ .elementor-control.elementor-control-mob_menu_display_as_pro_notice {
702
+ padding-bottom: 0 !important;
703
+ }
704
+
705
+ .elementor-control-search_pro_notice .wpr-pro-notice,
706
+ .elementor-control-grid_columns_pro_notice .wpr-pro-notice,
707
+ .elementor-control-slider_content_type_pro_notice .wpr-pro-notice,
708
+ .elementor-control-slider_repeater_pro_notice .wpr-pro-notice,
709
+ .elementor-control-slider_dots_layout_pro_notice .wpr-pro-notice,
710
+ .elementor-control-testimonial_repeater_pro_notice .wpr-pro-notice,
711
+ .elementor-control-testimonial_icon_pro_notice .wpr-pro-notice,
712
+ .elementor-control-menu_layout_pro_notice .wpr-pro-notice,
713
+ .elementor-control-menu_items_submenu_entrance_pro_notice .wpr-pro-notice,
714
+ .elementor-control-switcher_label_style_pro_notice .wpr-pro-notice,
715
+ .elementor-control-countdown_type_pro_notice .wpr-pro-notice,
716
+ .elementor-control-layout_pro_notice .wpr-pro-notice,
717
+ .elementor-control-anim_timing_pro_notice .wpr-pro-notice,
718
+ .elementor-control-tab_content_type_pro_notice .wpr-pro-notice,
719
+ .elementor-control-tabs_repeater_pro_notice .wpr-pro-notice,
720
+ .elementor-control-tabs_align_pro_notice .wpr-pro-notice,
721
+ .elementor-control-front_trigger_pro_notice .wpr-pro-notice,
722
+ .elementor-control-back_link_type_pro_notice .wpr-pro-notice,
723
+ .elementor-control-box_anim_timing_pro_notice .wpr-pro-notice,
724
+ .elementor-control-image_style_pro_notice .wpr-pro-notice,
725
+ .elementor-control-image_animation_timing_pro_notice .wpr-pro-notice,
726
+ .elementor-control-label_display_pro_notice .wpr-pro-notice,
727
+ .elementor-control-post_type_pro_notice .wpr-pro-notice,
728
+ .elementor-control-type_select_pro_notice .wpr-pro-notice,
729
+ .elementor-control-icon_style_pro_notice .wpr-pro-notice,
730
+ .elementor-control-dual_button_pro_notice .wpr-pro-notice,
731
+ .elementor-control-team_member_pro_notice .wpr-pro-notice,
732
+ .elementor-control-price_list_pro_notice .wpr-pro-notice,
733
+ .elementor-control-business_hours_pro_notice .wpr-pro-notice,
734
+ .elementor-control-sharing_columns_pro_notice .wpr-pro-notice,
735
+ .elementor-control-popup_trigger_pro_notice .wpr-pro-notice,
736
+ .elementor-control-popup_show_again_delay_pro_notice .wpr-pro-notice,
737
+ .elementor-control-group_popup_settings_pro_notice .wpr-pro-notice,
738
+ .elementor-control-post_nav_layout_pro_notice .wpr-pro-notice,
739
+ .elementor-control-author_name_links_to_pro_notice .wpr-pro-notice,
740
+ .elementor-control-author_title_links_to_pro_notice .wpr-pro-notice,
741
+ .elementor-control-comments_form_layout_pro_notice .wpr-pro-notice,
742
+ .elementor-control-sharing_repeater_pro_notice .wpr-pro-notice,
743
+ .elementor-control-mini_cart_style_pro_notice .wpr-pro-notice,
744
+ .elementor-control-tabs_position_pro_notice .wpr-pro-notice,
745
+ .elementor-control-choose_table_type_pro_notice .wpr-pro-notice,
746
+ .elementor-control-accordion_repeater_pro_notice .wpr-pro-notice,
747
+ .elementor-control.elementor-control-data_source_pro_notice .wpr-pro-notice,
748
+ .elementor-control.elementor-control-mob_menu_display_as_pro_notice .wpr-pro-notice {
749
+ border-bottom: none !important;
750
+ }
751
+
752
+ /* Both */
753
+ .elementor-control.elementor-control-pagination_type_pro_notice,
754
+ .elementor-control.elementor-control-tooltip_trigger_pro_notice,
755
+ .elementor-control.elementor-control-post_info_select_pro_notice {
756
+ padding-top: 0 !important;
757
+ padding-bottom: 0 !important;
758
+ }
759
+
760
+ .elementor-control-pagination_type_pro_notice .wpr-pro-notice {
761
+ border-top: none !important;
762
+ border-bottom: none !important;
763
+ }
764
+
765
+ .elementor-control-pro_features_section .elementor-section-toggle,
766
+ .elementor-control-pro_features_section .elementor-section-title {
767
+ color: #f54;
768
+ }
769
+
770
+ .elementor-control-pro_features_section .elementor-section-title {
771
+ line-height: 20px;
772
+ }
773
+ .elementor-control-pro_features_section .elementor-section-title .dashicons {
774
+ line-height: 20px;
775
+ font-size: 13px;
776
+ }
777
+
778
+ .wpr-pro-features-list {
779
+ text-align: center;
780
+ }
781
+
782
+ .wpr-pro-features-list ul {
783
+ text-align: left;
784
+ }
785
+
786
+ .wpr-pro-features-list ul li {
787
+ position: relative;
788
+ line-height: 22px;
789
+ padding-left: 20px;
790
+ }
791
+
792
+ .wpr-pro-features-list ul li::before {
793
+ content: '.';
794
+ font-size: 38px;
795
+ position: absolute;
796
+ top: -11px;
797
+ left: 0;
798
+ }
799
+
800
+ .wpr-pro-features-list ul + a {
801
+ display: inline-block;
802
+ background-color: #f54;
803
+ color: #fff;
804
+ margin: 15px 15px 10px 0;
805
+ padding: 7px 12px;
806
+ border-radius: 3px;
807
+ }
808
+
809
+ .wpr-pro-features-list ul + a:hover {
810
+ color: #fff;
811
+ }
812
+
813
+ /* Video Tutorial Link */
814
+ .elementor-control[class*="video_tutorial"] {
815
+ padding-top: 0 !important;
816
+ padding-bottom: 5px !important;
817
+ }
818
+
819
+ .elementor-control.elementor-control-woo_grid_notice_video_tutorial,
820
+ .elementor-control-show_last_update_date {
821
+ padding-bottom: 15px !important;
822
+ }
823
+
824
+ .elementor-control.elementor-control-woo_grid_notice_video_tutorial a {
825
+ display: inline-block;
826
+ margin-top: 5px;
827
+ }
828
+
829
+ .elementor-control[class*="video_tutorial"] a {
830
+ line-height: 16px;
831
+ font-size: 12px;
832
+ }
833
+
834
+ .elementor-control[class*="video_tutorial"] a .dashicons {
835
+ font-size: 16px;
836
+ }
837
+
838
+ /* Pro Control Class */
839
+ .elementor-control.wpr-pro-control label i {
840
+ color: #aeaeae;
841
+ font-size: 14px;
842
+ margin-left: 3px;
843
+ }
844
+
845
+ .elementor-control.wpr-pro-control .elementor-control-content:before {
846
+ content: '';
847
+ position: absolute;
848
+ width: 100%;
849
+ height: 100%;
850
+ z-index: 9;
851
+ background: transparent;
852
+ }
853
+
854
+ .elementor-control.wpr-pro-control .elementor-control-content:after {
855
+ content: "This option is available in the Pro Version.";
856
+ visibility: hidden;
857
+ opacity: 0;
858
+ position: absolute;
859
+ top: 30px;
860
+ padding: 15px;
861
+ z-index: 99;
862
+ margin-top: 10px;
863
+ font-size: 12px;
864
+ color: #93003c;
865
+ background-color: #ffffff;
866
+ border-radius: 5px;
867
+ -webkit-box-shadow: 1px 1px 5px rgba(0,0,0,0.2);
868
+ box-shadow: 1px 1px 5px rgba(0,0,0,0.2);
869
+ border: 1px solid #e6e9ec;
870
+ -webkit-transition: all 0.2s ease-in;
871
+ -o-transition: all 0.2s ease-in;
872
+ transition: all 0.2s ease-in;
873
+ }
874
+
875
+ .elementor-repeater-fields .elementor-control.wpr-pro-control .elementor-control-content:after {
876
+ content: "This is available in the Pro Version.";
877
+ }
878
+
879
+ .elementor-control.wpr-pro-control.no-distance .elementor-control-content:after {
880
+ margin: 0;
881
+ }
882
+
883
+ .elementor-control.wpr-pro-control .elementor-control-content:hover:after {
884
+ visibility: visible;
885
+ opacity: 1;
886
+ }
887
+
888
+ /*--------------------------------------------------------------
889
+ == Theme Builder Widgets
890
+ --------------------------------------------------------------*/
891
+ #elementor-panel-categories {
892
+ display: -webkit-box;
893
+ display: -ms-flexbox;
894
+ display: flex;
895
+ -webkit-box-orient: vertical;
896
+ -webkit-box-direction: normal;
897
+ -ms-flex-direction: column;
898
+ flex-direction: column;
899
+ }
900
+
901
+ #elementor-panel-categories > div {
902
+ -webkit-box-ordinal-group: 3;
903
+ -ms-flex-order: 2;
904
+ order: 2;
905
+ }
906
+
907
+ #elementor-panel-category-wpr-theme-builder-widgets,
908
+ #elementor-panel-category-wpr-woocommerce-builder-widgets {
909
+ -webkit-box-ordinal-group: 2 !important;
910
+ -ms-flex-order: 1 !important;
911
+ order: 1 !important;
912
+ }
913
+
914
+ .elementor-editor-wpr-theme-builder #elementor-panel-footer-saver-preview {
915
+ display: none !important;
916
+ }
917
+
918
+
919
+ /*--------------------------------------------------------------
920
+ == Elementor Search Notice
921
+ --------------------------------------------------------------*/
922
+ .wpr-elementor-search-notice {
923
+ background: #fff;
924
+ font-size: 13px;
925
+ padding: 20px;
926
+ line-height: 18px;
927
+ margin: 10px;
928
+ border-left: 3px solid #71d7f7;
929
+ -webkit-box-shadow: 0 1px 4px 0 rgb(0 0 0 / 7%);
930
+ box-shadow: 0 1px 4px 0 rgb(0 0 0 / 7%);
931
+ }
932
+
933
+
934
+ /*--------------------------------------------------------------
935
+ == Debug
936
+ --------------------------------------------------------------*/
937
+ pre.xdebug-var-dump {
938
+ position: absolute;
939
+ z-index: 999999;
940
+ background: #fff;
941
+ border: 2px solid #000;
942
+ padding: 20px;
943
+ left: 300px;
944
  }
assets/css/editor.min.css CHANGED
@@ -1,1009 +1,1004 @@
1
- /*--------------------------------------------------------------
2
- == General
3
- --------------------------------------------------------------*/
4
- .wpr-elementor-hidden-control {
5
- overflow: hidden;
6
- width: 0 !important;
7
- height: 0 !important;
8
- padding: 0 !important;
9
- margin: 0 !important;
10
- visibility: hidden !important;
11
- opacity: 0 !important;
12
- }
13
-
14
-
15
- /*--------------------------------------------------------------
16
- == WPR Widgets
17
- --------------------------------------------------------------*/
18
- .elementor-panel .wpr-icon:after {
19
- content: 'R';
20
- display: block;
21
- position: absolute;
22
- top: 3px;
23
- right: 3px;
24
- font-family: Roboto,Arial,Helvetica,Verdana,sans-serif;
25
- font-size: 10px;
26
- font-weight: bold;
27
- color: #ffffff;
28
- background-image: -o-linear-gradient(#6A4BFF, #7E94FE);
29
- background-image: -webkit-gradient(linear, left top, left bottom, from(#6A4BFF), to(#7E94FE));
30
- background-image: linear-gradient(#6A4BFF, #7E94FE);
31
- -webkit-box-shadow: 0 0 2px 2px #b8c7ff;
32
- box-shadow: 0 0 2px 2px #b8c7ff;
33
- width: 19px;
34
- height: 19px;
35
- line-height: 19px;
36
- border-radius: 15px;
37
- margin: 3px;
38
- }
39
-
40
- .elementor-panel .elementor-element .icon {
41
- position: relative !important;
42
- }
43
-
44
- .elementor-element--promotion .wpr-icon:after {
45
- top: 22px;
46
- right: -1px;
47
- opacity: 0.7;
48
- }
49
-
50
- #elementor-element--promotion__dialog .dialog-button {
51
- text-align: center;
52
- }
53
-
54
- .elementor-control-type-section[class*="elementor-control-wpr_section_"]:after {
55
- content: 'R';
56
- display: block;
57
- position: absolute;
58
- top: 7px;
59
- right: 7px;
60
- font-family: Roboto,Arial,Helvetica,Verdana,sans-serif;
61
- font-size: 10px;
62
- font-weight: bold;
63
- color: #ffffff;
64
- background-image: -o-linear-gradient(#6A4BFF, #7E94FE);
65
- background-image: -webkit-gradient(linear, left top, left bottom, from(#6A4BFF), to(#7E94FE));
66
- background-image: linear-gradient(#6A4BFF, #7E94FE);
67
- -webkit-box-shadow: 0 0 2px 2px #b8c7ff;
68
- box-shadow: 0 0 2px 2px #b8c7ff;
69
- width: 19px;
70
- height: 19px;
71
- line-height: 19px;
72
- border-radius: 15px;
73
- margin: 3px;
74
- text-align: center;
75
- }
76
-
77
- /*--------------------------------------------------------------
78
- == Adjustments
79
- --------------------------------------------------------------*/
80
- .elementor-control-element_select,
81
- .elementor-control-element_align_hr,
82
- .elementor-control-element_read_more_text,
83
- .elementor-control-element_tax_sep,
84
- .elementor-control-element_sharing_icon_6,
85
- .elementor-control-element_sharing_trigger_direction,
86
- .elementor-control-element_sharing_icon_display,
87
- .elementor-control-element_sharing_tooltip,
88
- .elementor-control-element_custom_field_wrapper_html,
89
- .elementor-control-slider_item_bg_size,
90
- .elementor-control-element_addcart_variable_txt,
91
- .elementor-control-type,
92
- .elementor-control-show_last_update_date {
93
- margin-bottom: 15px;
94
- }
95
-
96
- .elementor-control-slider_content_bg_color,
97
- .elementor-control-slider_nav_border_border,
98
- .elementor-control-slider_nav_border_radius,
99
- .elementor-control-scroll_btn_vr,
100
- .elementor-control-pagination_load_more_text,
101
- .elementor-control-pagination_finish_text,
102
- .elementor-control-pagination_prev_next,
103
- .elementor-control-author_transition_duration,
104
- .elementor-control-comments_transition_duration,
105
- .elementor-control-likes_transition_duration,
106
- .elementor-control-sharing_transition_duration,
107
- .elementor-control-lightbox_transition_duration,
108
- .elementor-control-custom_field1_transition_duration,
109
- .elementor-control-custom_field2_transition_duration,
110
- .elementor-control-custom_field3_transition_duration,
111
- .elementor-control-custom_field4_transition_duration,
112
- .elementor-control-filters_transition_duration,
113
- .elementor-control-pagination_transition_duration,
114
- .elementor-control-element_extra_text_pos,
115
- .elementor-control-element_custom_field_wrapper,
116
- .elementor-control-overlay_post_link,
117
- .elementor-control-read_more_animation_height,
118
- .elementor-control-archive_link_transition_duration,
119
- .elementor-control-post_info_tax_select,
120
- .elementor-control-post_info_link_wrap,
121
- .elementor-control-post_info_modified_time,
122
- .elementor-control-tabs_sharing_custom_colors,
123
- .elementor-control-post_info_show_avatar,
124
- .elementor-control-post_info_cf,
125
- .elementor-control-pricing_items .elementor-control-price,
126
- .elementor-control-pricing_items .elementor-control-feature_text,
127
- .elementor-control-pricing_items .elementor-control-btn_text,
128
- .elementor-control-divider_style,
129
- .elementor-control-filters_pointer,
130
- .elementor-control-title_transition_duration,
131
- .elementor-control-tax1_transition_duration,
132
- .elementor-control-tax2_transition_duration,
133
- .elementor-control-filters_transition_duration,
134
- .elementor-control-pagination_older_text,
135
- .elementor-control-tooltip_position,
136
- .elementor-control-post_info_comments_text_1 {
137
- padding-top: 15px !important;
138
- }
139
-
140
- .elementor-control-post_info_custom_field_video_tutorial {
141
- margin-top: 15px;
142
- }
143
-
144
- .elementor-control-title_pointer_animation + .elementor-control-title_transition_duration,
145
- .elementor-control-tax1_pointer_animation + .elementor-control-tax1_transition_duration,
146
- .elementor-control-tax2_pointer_animation + .elementor-control-tax2_transition_duration,
147
- .elementor-control-filters_pointer_animation + .elementor-control-filters_transition_duration {
148
- padding-top: 0 !important;
149
- }
150
-
151
- .elementor-control-pagination_load_more_text {
152
- padding-bottom: 0 !important;
153
- }
154
-
155
- .elementor-control-filters_transition_duration,
156
- .elementor-control-show_last_update_date {
157
- padding-top: 0 !important;
158
- }
159
-
160
- .elementor-control-animation_divider,
161
- .elementor-control-overlay_divider,
162
- .elementor-control-slider_item_btn_1_divider,
163
- .elementor-control-slider_item_btn_2_divider,
164
- .elementor-control-slider_btn_typography_1_divider,
165
- .elementor-control-slider_btn_box_shadow_1_divider,
166
- .elementor-control-slider_btn_typography_2_divider,
167
- .elementor-control-slider_btn_box_shadow_2_divider,
168
- .elementor-control-testimonial_title_divider,
169
- .elementor-control-social_media_divider,
170
- .elementor-control-social_divider_1,
171
- .elementor-control-social_divider_2,
172
- .elementor-control-social_divider_3,
173
- .elementor-control-social_divider_4,
174
- .elementor-control-social_divider_5,
175
- .elementor-control-custom_field_wrapper_html_divider1,
176
- .elementor-control-custom_field_wrapper_html_divider2,
177
- .elementor-control-lightbox_shadow_divider {
178
- padding: 0 !important;
179
- }
180
-
181
- .elementor-control-custom_field_wrapper_html_divider1 hr,
182
- .elementor-control-lightbox_shadow_divider hr {
183
- height: 1px !important;
184
- }
185
-
186
- .elementor-control-element_show_on {
187
- padding-top: 15px !important;
188
- border-top: 1px solid #d5dadf;
189
- }
190
-
191
- [class*="wpr__section_"] ~ .elementor-control-type-number .elementor-control-input-wrapper,
192
- [class*="wpr__section_"] ~ .elementor-control-type-repeater .elementor-control-type-number .elementor-control-input-wrapper {
193
- max-width: 30% !important;
194
- margin-left: auto !important;
195
- }
196
-
197
- [class*="wpr__section_"] ~ .elementor-control-type-select .elementor-control-input-wrapper,
198
- [class*="wpr__section_"] ~ .elementor-control-type-repeater .elementor-control-type-select .elementor-control-input-wrapper {
199
- width: auto !important;
200
- min-width: 30% !important;
201
- margin-left: auto !important;
202
- }
203
-
204
- .elementor-control-submit_preview_changes .elementor-control-input-wrapper {
205
- text-align: center !important;
206
- }
207
-
208
- .elementor-control-query_manual_related,
209
- .elementor-control-query_manual_current {
210
- display: none !important;
211
- }
212
-
213
- /* Fix Select Inputs */
214
- .elementor-control-button_hover_animation .elementor-control-input-wrapper,
215
- .elementor-control-front_btn_animation .elementor-control-input-wrapper,
216
- .elementor-control-back_btn_animation .elementor-control-input-wrapper,
217
-
218
- .elementor-control-select_template .select2-selection,
219
- .elementor-control-switcher_first_select_template .select2-selection,
220
- .elementor-control-switcher_second_select_template .select2-selection,
221
- .elementor-control-switcher_select_template .select2-selection,
222
- .elementor-control-slider_select_template .select2-selection {
223
- width: 135px !important;
224
- }
225
-
226
- .elementor-control-type-repeater .elementor-control-content > label {
227
- display: none !important;
228
- }
229
-
230
-
231
- /*--------------------------------------------------------------
232
- == Notification
233
- --------------------------------------------------------------*/
234
- #wpr-template-settings-notification {
235
- position: fixed;
236
- left: 40px;
237
- bottom: 5px;
238
- z-index: 9999;
239
- padding: 13px 25px;
240
- background: #fff;
241
- color: #222;
242
- -webkit-box-shadow: 1px 1px 5px 0 rgba(0, 0, 0, 0.3);
243
- box-shadow: 1px 1px 5px 0 rgba(0, 0, 0, 0.3);
244
- border-radius: 3px;
245
- }
246
-
247
- #wpr-template-settings-notification:before {
248
- content: "";
249
- position: absolute;
250
- left: -6px;
251
- bottom: 10px;
252
- width: 0;
253
- height: 0;
254
- border-top: 6px solid transparent;
255
- border-bottom: 6px solid transparent;
256
- border-right-style: solid;
257
- border-right-width: 6px;
258
- border-right-color: #fff;
259
- }
260
-
261
- #wpr-template-settings-notification h4 {
262
- margin-bottom: 10px;
263
- }
264
-
265
- #wpr-template-settings-notification h4 span {
266
- font-size: 14px;
267
- vertical-align: super;
268
- color: #5f5f5f;
269
- }
270
-
271
- #wpr-template-settings-notification h4 i {
272
- margin-right: 10px;
273
- color: #3db050;
274
- font-size: 24px;
275
- }
276
-
277
- #wpr-template-settings-notification p {
278
- color: #666;
279
- font-size: 12px;
280
- line-height: 1.5;
281
- }
282
-
283
- #wpr-template-settings-notification > i {
284
- position: absolute;
285
- top: 7px;
286
- right: 7px;
287
- cursor: pointer;
288
- color: #999;
289
- }
290
-
291
- .elementor-control-cf7_notice,
292
- .elementor-control-wpforms_notice,
293
- .elementor-control-ninja_forms_notice,
294
- .elementor-control-caldera_notice {
295
- color: red;
296
- }
297
-
298
- /* Help Button - select with referrals - [href^="https://royal-elementor-addons.com/contact/"] */
299
- #elementor-panel__editor__help__link[href^="https://wordpress.org/support/plugin/royal-elementor-addons/"] {
300
- display: inline-block;
301
- padding: 12px 35px;
302
- font-size: 13px;
303
- font-weight: normal;
304
- color: #fff;
305
- background: #6A65FF;
306
- border-radius: 3px;
307
- -webkit-box-shadow: 0 2px 7px 0 rgba(0,0,0,0.3);
308
- box-shadow: 0 2px 7px 0 rgba(0,0,0,0.3);
309
- letter-spacing: 0.3px;
310
- -webkit-transition: all 0.2s ease-in;
311
- -o-transition: all 0.2s ease-in;
312
- transition: all 0.2s ease-in;
313
- }
314
-
315
- #elementor-panel__editor__help__link[href^="https://wordpress.org/support/plugin/royal-elementor-addons/"]:hover {
316
- color: #fff;
317
- background: #6A4BFF;
318
- }
319
-
320
- #elementor-panel__editor__help__link[href^="https://wordpress.org/support/plugin/royal-elementor-addons/"] i {
321
- color: #fff;
322
- font-size: 14px;
323
- vertical-align: top;
324
- }
325
-
326
- #elementor-panel__editor__help__link[href^="https://wordpress.org/support/plugin/royal-elementor-addons/"]:hover i {
327
- color: #fff;
328
- }
329
-
330
- #elementor-panel__editor__help__link[href^="https://wordpress.org/support/plugin/royal-elementor-addons/"]:hover i:before {
331
- content: '\e942' !important;
332
- }
333
-
334
- .elementor-control-posts_slider_notice .elementor-control-raw-html {
335
- font-style: normal !important;
336
- }
337
-
338
- .elementor-control-product_notice_widget_info .elementor-control-raw-html {
339
- color: red;
340
- }
341
-
342
-
343
- /*--------------------------------------------------------------
344
- == Modal Popup Editor
345
- --------------------------------------------------------------*/
346
- .elementor-editor-wpr-popups .elementor-control-document_settings,
347
- .elementor-editor-wpr-popups .elementor-control-post_title,
348
- .elementor-editor-wpr-popups .elementor-control-post_status {
349
- display: none !important;
350
- }
351
-
352
-
353
- /*--------------------------------------------------------------
354
- == Elementor Editor Popup
355
- --------------------------------------------------------------*/
356
- #wpr-template-editor-popup .dialog-widget-content {
357
- width: 90vw;
358
- height: 90vh;
359
- }
360
-
361
- #wpr-template-editor-popup .dialog-message {
362
- padding: 0;
363
- width: 100%;
364
- height: 100%;
365
- }
366
-
367
- #wpr-template-editor-popup .dialog-close-button {
368
- font-size: 24px;
369
- color: #222;
370
- }
371
-
372
- #wpr-template-editor-popup .dialog-header {
373
- display: none;
374
- }
375
-
376
- #wpr-template-editor-loading {
377
- position: absolute;
378
- top: 0;
379
- left: 0;
380
- width: 100%;
381
- height: 100%;
382
- background: #f1f3f5;
383
- z-index: 9999;
384
- -webkit-transform: translateZ(0);
385
- transform: translateZ(0);
386
- display: -webkit-box;
387
- display: -ms-flexbox;
388
- display: flex;
389
- -webkit-box-pack: center;
390
- -ms-flex-pack: center;
391
- justify-content: center;
392
- -webkit-box-align: center;
393
- -ms-flex-align: center;
394
- align-items: center;
395
- }
396
-
397
- #wpr-template-editor-loading .elementor-loader-wrapper {
398
- top: auto;
399
- left: auto;
400
- -webkit-transform: none;
401
- -ms-transform: none;
402
- transform: none;
403
- }
404
-
405
- /* Disable Transitions on Responsive Preview */
406
- #elementor-preview-responsive-wrapper {
407
- -webkit-transition: none !important;
408
- -o-transition: none !important;
409
- transition: none !important;
410
- }
411
-
412
-
413
- /*--------------------------------------------------------------
414
- == Magazine Grid Layout
415
- --------------------------------------------------------------*/
416
- .elementor-control-layout_select.elementor-control .elementor-control-field {
417
- -webkit-box-orient: vertical !important;
418
- -webkit-box-direction: normal !important;
419
- -ms-flex-direction: column !important;
420
- flex-direction: column !important;
421
- -webkit-box-align: start;
422
- -ms-flex-align: start;
423
- align-items: flex-start;
424
- }
425
-
426
- .elementor-control-layout_select.elementor-control .elementor-control-input-wrapper {
427
- display: -webkit-box;
428
- display: -ms-flexbox;
429
- display: flex;
430
- width: 100% !important;
431
- margin-top: 10px;
432
- }
433
-
434
- .elementor-control-layout_select.elementor-control .elementor-choices {
435
- -ms-flex-wrap: wrap;
436
- flex-wrap: wrap;
437
- -webkit-box-align: stretch;
438
- -ms-flex-align: stretch;
439
- align-items: stretch;
440
- width: 100% !important;
441
- height: auto;
442
- border: 1px solid #dfd5d5;
443
- }
444
-
445
- .elementor-control-layout_select.elementor-control .elementor-choices label {
446
- width: 33.3%;
447
- height: 50px;
448
- background-size: 75%;
449
- background-position: center center;
450
- background-repeat: no-repeat;
451
- }
452
-
453
- .elementor-control-layout_select input[type="radio"]:checked + label {
454
- border: 2px solid #D30C5C;
455
- border-radius: 0 !important;
456
- background-color: #ffffff;
457
- }
458
-
459
- .elementor-control-layout_select label:nth-child(2) {
460
- background-image: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Crect x='2.2' y='4.9' class='st1' width='22.2' height='22.2'/%3E%3Crect x='25.6' y='15.2' class='st1' width='22.2' height='11.9'/%3E%3Crect x='25.6' y='4.9' class='st1' width='22.2' height='9.2'/%3E%3C/g%3E%3C/svg%3E");
461
- }
462
-
463
- .elementor-control-layout_select label:nth-child(4) {
464
- background-image: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Crect x='2.2' y='4.9' class='st1' width='22.2' height='22.2'/%3E%3Crect x='25.6' y='16.6' class='st1' width='10.5' height='10.5'/%3E%3Crect x='37.2' y='16.6' class='st1' width='10.5' height='10.5'/%3E%3Crect x='25.6' y='4.9' class='st1' width='22.2' height='10.5'/%3E%3C/g%3E%3C/svg%3E");
465
- }
466
-
467
- .elementor-control-layout_select label:nth-child(6) {
468
- background: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Cg%3E%3Crect x='2.2' y='4.9' class='st1' width='22.2' height='22.2'/%3E%3Crect x='25.6' y='16.6' class='st1' width='10.5' height='10.5'/%3E%3Crect x='37.2' y='16.6' class='st1' width='10.5' height='10.5'/%3E%3Crect x='25.6' y='4.9' class='st1' width='10.5' height='10.5'/%3E%3Crect x='37.2' y='4.9' class='st1' width='10.5' height='10.5'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
469
- }
470
-
471
- .elementor-control-layout_select label:nth-child(8) {
472
- background-image: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Crect x='2.2' y='4.9' class='st1' width='22.2' height='22.2'/%3E%3Crect x='25.6' y='4.9' class='st1' width='10.5' height='22.2'/%3E%3Crect x='37.2' y='16.6' class='st1' width='10.5' height='10.5'/%3E%3Crect x='37.2' y='4.9' class='st1' width='10.5' height='10.5'/%3E%3C/g%3E%3C/svg%3E");
473
- }
474
-
475
- .elementor-control-layout_select label:nth-child(10) {
476
- background-image: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Crect x='13.9' y='4.9' class='st1' width='22.2' height='22.2'/%3E%3Crect x='37.2' y='16.6' class='st1' width='10.5' height='10.5'/%3E%3Crect x='37.2' y='4.9' class='st1' width='10.5' height='10.5'/%3E%3Crect x='2.3' y='16.6' class='st1' width='10.5' height='10.5'/%3E%3Crect x='2.3' y='4.9' class='st1' width='10.5' height='10.5'/%3E%3C/g%3E%3C/svg%3E");
477
- }
478
-
479
- .elementor-control-layout_select label:nth-child(12) {
480
- background-image: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Crect x='2.2' y='4.9' class='st1' width='28.5' height='22.2'/%3E%3Crect x='31.8' y='12.9' class='st1' width='15.9' height='6.3'/%3E%3Crect x='31.8' y='4.9' class='st1' width='15.9' height='6.8'/%3E%3Crect x='31.8' y='20.3' class='st1' width='15.9' height='6.8'/%3E%3C/g%3E%3C/svg%3E");
481
- }
482
-
483
- .elementor-control-layout_select label:nth-child(14) {
484
- background-image: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Crect x='13.9' y='4.9' class='st1' width='22.2' height='22.2'/%3E%3Crect x='2.2' y='4.9' class='st1' width='10.5' height='22.2'/%3E%3Crect x='37.2' y='4.9' class='st1' width='10.5' height='22.2'/%3E%3C/g%3E%3C/svg%3E");
485
- }
486
-
487
- .elementor-control-layout_select label:nth-child(16) {
488
- background-image: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Crect x='2.2' y='4.9' class='st1' width='33.9' height='13.2'/%3E%3Crect x='2.2' y='19.3' class='st1' width='16.4' height='7.8'/%3E%3Crect x='19.7' y='19.3' class='st1' width='16.4' height='7.8'/%3E%3Crect x='37.2' y='4.9' class='st1' width='10.5' height='13.2'/%3E%3Crect x='37.2' y='19.3' class='st1' width='10.5' height='7.8'/%3E%3C/g%3E%3C/svg%3E");
489
- }
490
-
491
- .elementor-control-layout_select label:nth-child(18) {
492
- background-image: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Crect x='2.2' y='4.9' class='st1' width='22.2' height='12.1'/%3E%3Crect x='25.6' y='4.9' class='st1' width='22.2' height='12.1'/%3E%3Crect x='2.2' y='18.2' class='st1' width='14.4' height='8.9'/%3E%3Crect x='17.8' y='18.2' class='st1' width='14.4' height='8.9'/%3E%3Crect x='33.3' y='18.2' class='st1' width='14.4' height='8.9'/%3E%3C/g%3E%3C/svg%3E");
493
- }
494
-
495
- .elementor-control-layout_select label:nth-child(20) {
496
- background-image: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Crect x='2.2' y='4.9' class='st1' width='22.2' height='22.2'/%3E%3Crect x='25.6' y='4.9' class='st1' width='22.2' height='22.2'/%3E%3C/g%3E%3C/svg%3E");
497
- }
498
-
499
- .elementor-control-layout_select label:nth-child(22) {
500
- background-image: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Crect x='2.2' y='4.9' class='st1' width='14.5' height='22.2'/%3E%3Crect x='33.4' y='4.9' class='st1' width='14.4' height='22.2'/%3E%3Crect x='17.9' y='4.9' class='st1' width='14.4' height='22.2'/%3E%3C/g%3E%3C/svg%3E");
501
- }
502
-
503
- .elementor-control-layout_select label:nth-child(24) {
504
- background-image: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Crect x='2.2' y='4.9' class='st1' width='10.6' height='22.2'/%3E%3Crect x='37.2' y='4.9' class='st1' width='10.5' height='22.2'/%3E%3Crect x='25.6' y='4.9' class='st1' width='10.5' height='22.2'/%3E%3Crect x='14' y='4.9' class='st1' width='10.5' height='22.2'/%3E%3C/g%3E%3C/svg%3E");
505
- }
506
-
507
- /*--------------------------------------------------------------
508
- == Widget Preview and Library buttons
509
- --------------------------------------------------------------*/
510
-
511
- .elementor-control-wpr_library_buttons .wpr-forms a:last-child,
512
- .elementor-control-wpr_library_buttons .wpr-phone-call a:last-child,
513
- .elementor-control-wpr_library_buttons .wpr-back-to-top a:last-child,
514
- .elementor-control-wpr_library_buttons .wpr-lottie-animations a:last-child,
515
- .elementor-control-wpr_library_buttons .wpr-feature-list a:last-child,
516
- .elementor-control-wpr_library_buttons .wpr-reading-progress-bar a:last-child,
517
- .elementor-control-wpr_library_buttons .wpr-dual-color-heading a:last-child,
518
- .elementor-control-wpr_library_buttons .wpr-flip-carousel a:last-child,
519
- .elementor-control-wpr_library_buttons .wpr-advanced-accordion a:last-child,
520
- .elementor-control-wpr_library_buttons .wpr-image-accordion a:last-child,
521
- .elementor-control-wpr_library_buttons .wpr-mega-menu a:last-child,
522
- .elementor-control-wpr_library_buttons .wpr-charts a:last-child {
523
- display: none;
524
- }
525
-
526
- .elementor-control-wpr_library_buttons {
527
- height: 60px;
528
- padding: 0;
529
- }
530
-
531
- .elementor-control-wpr_library_buttons .elementor-control-raw-html {
532
- padding: 0 10px 10px 10px;
533
- border-bottom: 1px solid #efefef;
534
- }
535
-
536
- .elementor-control-wpr_library_buttons .elementor-control-raw-html div {
537
- display: -webkit-box;
538
- display: -ms-flexbox;
539
- display: flex;
540
- -webkit-box-pack: center;
541
- -ms-flex-pack: center;
542
- justify-content: center;
543
- }
544
-
545
- .elementor-control-wpr_library_buttons .elementor-control-raw-html div a {
546
- -webkit-box-flex: 1;
547
- -ms-flex-positive: 1;
548
- flex-grow: 1;
549
- padding: 10px 15px;
550
- border-radius: 3px;
551
- /*box-shadow: 1px 2px 5px 0 rgba(0,0,0,0.2);*/
552
- white-space: nowrap;
553
- overflow: hidden;
554
- -o-text-overflow: ellipsis;
555
- text-overflow: ellipsis;
556
- text-align: center;
557
- }
558
- .elementor-control-wpr_library_buttons .elementor-control-raw-html div a:first-child {
559
- background-color: #1CB4E4;
560
- color: #fff;
561
- margin-right: 3px;
562
- }
563
- .elementor-control-wpr_library_buttons .elementor-control-raw-html div a:last-child {
564
- margin-left: 3px;
565
- background-color: #6A65FF;
566
- color: #fff;
567
- }
568
-
569
- .elementor-control-wpr_library_buttons .elementor-control-raw-html > a {
570
- display: block;
571
- margin-top: 10px;
572
- line-height: 20px;
573
- color: #777;
574
- border: none !important;
575
- }
576
-
577
- .elementor-section-title > a {
578
- top: 10px;
579
- right: 20px;
580
- position: absolute;
581
- line-height: 20px;
582
- font-size: 12px;
583
- }
584
-
585
- .elementor-section-title > a:hover {
586
- border-color: transparent;
587
- }
588
-
589
- .elementor-section-title > a .dashicons {
590
- font-size: 16px;
591
- vertical-align: middle;
592
- }
593
-
594
-
595
- /*--------------------------------------------------------------
596
- == Apply Changes Button
597
- --------------------------------------------------------------*/
598
- .editor-wpr-preview-update {
599
- margin: 0;
600
- display: -webkit-box;
601
- display: -ms-flexbox;
602
- display: flex;
603
- -webkit-box-pack: justify;
604
- -ms-flex-pack: justify;
605
- justify-content: space-between;
606
- }
607
-
608
- .editor-wpr-preview-update button {
609
- font-size: 13px;
610
- padding: 5px 10px;
611
- }
612
-
613
-
614
- /*--------------------------------------------------------------
615
- == Free/Pro Options
616
- --------------------------------------------------------------*/
617
- .elementor-control select option[value*=pro-] {
618
- background: #f0f0f0;
619
- }
620
-
621
- .elementor-control[class*="pro_notice"] {
622
- padding: 5px 0 15px 0 !important;
623
- }
624
-
625
- .wpr-pro-notice {
626
- padding: 20px;
627
- border-top: 1px solid #e6e9ec;
628
- border-bottom: 1px solid #e6e9ec;
629
- background-color: #f2fbff;
630
- line-height: 1.4;
631
- text-align: center;
632
- }
633
-
634
- .wpr-pro-notice-video {
635
- display: block;
636
- margin-top: 7px;
637
- line-height: 20px;
638
- border: none !important;
639
- }
640
-
641
- #elementor-controls .elementor-control-slider_section_pro_notice {
642
- margin-top: -16px;
643
- padding-bottom: 0 !important;
644
- }
645
-
646
- .elementor-control-layout_select_pro_notice + div,
647
- .elementor-control-element_align_pro_notice + div {
648
- padding-top: 15px;
649
- }
650
-
651
- .elementor-control-layout_select .elementor-choices label {
652
- position: relative;
653
- }
654
-
655
- .elementor-control-layout_select .elementor-choices label:nth-child(2):after,
656
- .elementor-control-layout_select .elementor-choices label:nth-child(4):after,
657
- .elementor-control-layout_select .elementor-choices label:nth-child(6):after,
658
- .elementor-control-layout_select .elementor-choices label:nth-child(8):after,
659
- .elementor-control-layout_select .elementor-choices label:nth-child(10):after,
660
- .elementor-control-layout_select .elementor-choices label:nth-child(12):after {
661
- content: ' ';
662
- display: block;
663
- width: 100%;
664
- height: 100%;
665
- position: absolute;
666
- top: 0;
667
- left: 0;
668
- background: rgba(0,0,0,0.2);
669
- }
670
-
671
- /* Adjustments */
672
- .elementor-control.elementor-control-element_align_pro_notice,
673
- .elementor-control.elementor-control-search_pro_notice,
674
- .elementor-control.elementor-control-layout_select_pro_notice,
675
- .elementor-control.elementor-control-grid_columns_pro_notice,
676
- .elementor-control.elementor-control-slider_content_type_pro_notice,
677
- .elementor-control.elementor-control-slider_repeater_pro_notice,
678
- .elementor-control.elementor-control-slider_dots_layout_pro_notice,
679
- .elementor-control.elementor-control-testimonial_repeater_pro_notice,
680
- .elementor-control.elementor-control-testimonial_icon_pro_notice,
681
- .elementor-control.elementor-control-menu_layout_pro_notice,
682
- .elementor-control.elementor-control-menu_items_submenu_entrance_pro_notice,
683
- .elementor-control.elementor-control-switcher_label_style_pro_notice,
684
- .elementor-control.elementor-control-countdown_type_pro_notice,
685
- .elementor-control.elementor-control-layout_pro_notice,
686
- .elementor-control.elementor-control-anim_timing_pro_notice,
687
- .elementor-control.elementor-control-tab_content_type_pro_notice,
688
- .elementor-control.elementor-control-tabs_repeater_pro_notice,
689
- .elementor-control.elementor-control-tabs_align_pro_notice,
690
- .elementor-control.elementor-control-front_trigger_pro_notice,
691
- .elementor-control.elementor-control-back_link_type_pro_notice,
692
- .elementor-control.elementor-control-box_anim_timing_pro_notice,
693
- .elementor-control.elementor-control-image_style_pro_notice,
694
- .elementor-control.elementor-control-image_animation_timing_pro_notice,
695
- .elementor-control.elementor-control-label_display_pro_notice,
696
- .elementor-control.elementor-control-post_type_pro_notice,
697
- .elementor-control.elementor-control-type_select_pro_notice,
698
- .elementor-control.elementor-control-icon_style_pro_notice,
699
- .elementor-control.elementor-control-dual_button_pro_notice,
700
- .elementor-control.elementor-control-team_member_pro_notice,
701
- .elementor-control.elementor-control-price_list_pro_notice,
702
- .elementor-control.elementor-control-business_hours_pro_notice,
703
- .elementor-control.elementor-control-sharing_columns_pro_notice,
704
- .elementor-control.elementor-control-popup_trigger_pro_notice,
705
- .elementor-control.elementor-control-popup_show_again_delay_pro_notice,
706
- .elementor-control.elementor-control-group_popup_settings_pro_notice,
707
- .elementor-control.elementor-control-which_particle_pro_notice,
708
- .elementor-control.elementor-control-paralax_repeater_pro_notice,
709
- .elementor-control.elementor-control-opnepage_pro_notice,
710
- .elementor-control.elementor-control-timeline_repeater_pro_notice,
711
- .elementor-control.elementor-control-limit_grid_items_pro_notice,
712
- .elementor-control.elementor-control-post_nav_layout_pro_notice,
713
- .elementor-control.elementor-control-author_name_links_to_pro_notice,
714
- .elementor-control.elementor-control-author_title_links_to_pro_notice,
715
- .elementor-control.elementor-control-comments_form_layout_pro_notice,
716
- .elementor-control.elementor-control-sharing_repeater_pro_notice,
717
- .elementor-control.elementor-control-mini_cart_style_pro_notice,
718
- .elementor-control.elementor-control-tabs_position_pro_notice,
719
- .elementor-control.elementor-control-choose_table_type_pro_notice,
720
- .elementor-control.elementor-control-accordion_repeater_pro_notice,
721
- .elementor-control.elementor-control-acc_repeater_pro_notice,
722
- .elementor-control.elementor-control-data_source_pro_notice,
723
- .elementor-control.elementor-control-charts_repeater_pro_notice,
724
- .elementor-control.elementor-control-mob_menu_display_as_pro_notice {
725
- padding-bottom: 0 !important;
726
- }
727
-
728
- .elementor-control-search_pro_notice .wpr-pro-notice,
729
- .elementor-control-grid_columns_pro_notice .wpr-pro-notice,
730
- .elementor-control-slider_content_type_pro_notice .wpr-pro-notice,
731
- .elementor-control-slider_repeater_pro_notice .wpr-pro-notice,
732
- .elementor-control-slider_dots_layout_pro_notice .wpr-pro-notice,
733
- .elementor-control-testimonial_repeater_pro_notice .wpr-pro-notice,
734
- .elementor-control-testimonial_icon_pro_notice .wpr-pro-notice,
735
- .elementor-control-menu_layout_pro_notice .wpr-pro-notice,
736
- .elementor-control-menu_items_submenu_entrance_pro_notice .wpr-pro-notice,
737
- .elementor-control-switcher_label_style_pro_notice .wpr-pro-notice,
738
- .elementor-control-countdown_type_pro_notice .wpr-pro-notice,
739
- .elementor-control-layout_pro_notice .wpr-pro-notice,
740
- .elementor-control-anim_timing_pro_notice .wpr-pro-notice,
741
- .elementor-control-tab_content_type_pro_notice .wpr-pro-notice,
742
- .elementor-control-tabs_repeater_pro_notice .wpr-pro-notice,
743
- .elementor-control-tabs_align_pro_notice .wpr-pro-notice,
744
- .elementor-control-front_trigger_pro_notice .wpr-pro-notice,
745
- .elementor-control-back_link_type_pro_notice .wpr-pro-notice,
746
- .elementor-control-box_anim_timing_pro_notice .wpr-pro-notice,
747
- .elementor-control-image_style_pro_notice .wpr-pro-notice,
748
- .elementor-control-image_animation_timing_pro_notice .wpr-pro-notice,
749
- .elementor-control-label_display_pro_notice .wpr-pro-notice,
750
- .elementor-control-post_type_pro_notice .wpr-pro-notice,
751
- .elementor-control-type_select_pro_notice .wpr-pro-notice,
752
- .elementor-control-icon_style_pro_notice .wpr-pro-notice,
753
- .elementor-control-dual_button_pro_notice .wpr-pro-notice,
754
- .elementor-control-team_member_pro_notice .wpr-pro-notice,
755
- .elementor-control-price_list_pro_notice .wpr-pro-notice,
756
- .elementor-control-business_hours_pro_notice .wpr-pro-notice,
757
- .elementor-control-sharing_columns_pro_notice .wpr-pro-notice,
758
- .elementor-control-popup_trigger_pro_notice .wpr-pro-notice,
759
- .elementor-control-popup_show_again_delay_pro_notice .wpr-pro-notice,
760
- .elementor-control-group_popup_settings_pro_notice .wpr-pro-notice,
761
- .elementor-control-post_nav_layout_pro_notice .wpr-pro-notice,
762
- .elementor-control-author_name_links_to_pro_notice .wpr-pro-notice,
763
- .elementor-control-author_title_links_to_pro_notice .wpr-pro-notice,
764
- .elementor-control-comments_form_layout_pro_notice .wpr-pro-notice,
765
- .elementor-control-sharing_repeater_pro_notice .wpr-pro-notice,
766
- .elementor-control-mini_cart_style_pro_notice .wpr-pro-notice,
767
- .elementor-control-tabs_position_pro_notice .wpr-pro-notice,
768
- .elementor-control-choose_table_type_pro_notice .wpr-pro-notice,
769
- .elementor-control-accordion_repeater_pro_notice .wpr-pro-notice,
770
- .elementor-control.elementor-control-data_source_pro_notice .wpr-pro-notice,
771
- .elementor-control.elementor-control-mob_menu_display_as_pro_notice .wpr-pro-notice {
772
- border-bottom: none !important;
773
- }
774
-
775
- /* Both */
776
- .elementor-control.elementor-control-pagination_type_pro_notice,
777
- .elementor-control.elementor-control-tooltip_trigger_pro_notice,
778
- .elementor-control.elementor-control-post_info_select_pro_notice {
779
- padding-top: 0 !important;
780
- padding-bottom: 0 !important;
781
- }
782
-
783
- .elementor-control-pagination_type_pro_notice .wpr-pro-notice {
784
- border-top: none !important;
785
- border-bottom: none !important;
786
- }
787
-
788
- .elementor-control-pro_features_section .elementor-section-toggle,
789
- .elementor-control-pro_features_section .elementor-section-title {
790
- color: #f54;
791
- }
792
-
793
- .elementor-control-pro_features_section .elementor-section-title {
794
- line-height: 20px;
795
- }
796
- .elementor-control-pro_features_section .elementor-section-title .dashicons {
797
- line-height: 20px;
798
- font-size: 13px;
799
- }
800
-
801
- .wpr-pro-features-list {
802
- text-align: center;
803
- }
804
-
805
- .wpr-pro-features-list ul {
806
- text-align: left;
807
- }
808
-
809
- .wpr-pro-features-list ul li {
810
- position: relative;
811
- line-height: 22px;
812
- padding-left: 20px;
813
- }
814
-
815
- .wpr-pro-features-list ul li::before {
816
- content: '.';
817
- font-size: 38px;
818
- position: absolute;
819
- top: -11px;
820
- left: 0;
821
- }
822
-
823
- .wpr-pro-features-list ul + a {
824
- display: inline-block;
825
- background-color: #f54;
826
- color: #fff;
827
- margin: 15px 15px 10px 0;
828
- padding: 7px 12px;
829
- border-radius: 3px;
830
- }
831
-
832
- .wpr-pro-features-list ul + a:hover {
833
- color: #fff;
834
- }
835
-
836
- /* Video Tutorial Link */
837
- .elementor-control[class*="video_tutorial"] {
838
- padding-top: 0 !important;
839
- padding-bottom: 5px !important;
840
- }
841
-
842
- .elementor-control.elementor-control-woo_grid_notice_video_tutorial,
843
- .elementor-control-show_last_update_date {
844
- padding-bottom: 15px !important;
845
- }
846
-
847
- .elementor-control.elementor-control-woo_grid_notice_video_tutorial a {
848
- display: inline-block;
849
- margin-top: 5px;
850
- }
851
-
852
- .elementor-control[class*="video_tutorial"] a {
853
- line-height: 16px;
854
- font-size: 12px;
855
- }
856
-
857
- .elementor-control[class*="video_tutorial"] a .dashicons {
858
- font-size: 16px;
859
- }
860
-
861
- /* Pro Control Class */
862
- .elementor-control.wpr-pro-control label i {
863
- color: #aeaeae;
864
- font-size: 14px;
865
- margin-left: 3px;
866
- }
867
-
868
- .elementor-control.wpr-pro-control .elementor-control-content:before {
869
- content: '';
870
- position: absolute;
871
- width: 100%;
872
- height: 100%;
873
- z-index: 9;
874
- background: transparent;
875
- }
876
-
877
- .elementor-control.wpr-pro-control .elementor-control-content:after {
878
- content: "This option is available in the Pro Version.";
879
- visibility: hidden;
880
- opacity: 0;
881
- position: absolute;
882
- top: 30px;
883
- padding: 15px;
884
- z-index: 99;
885
- margin-top: 10px;
886
- font-size: 12px;
887
- color: #93003c;
888
- background-color: #ffffff;
889
- border-radius: 5px;
890
- -webkit-box-shadow: 1px 1px 5px rgba(0,0,0,0.2);
891
- box-shadow: 1px 1px 5px rgba(0,0,0,0.2);
892
- border: 1px solid #e6e9ec;
893
- -webkit-transition: all 0.2s ease-in;
894
- -o-transition: all 0.2s ease-in;
895
- transition: all 0.2s ease-in;
896
- }
897
-
898
- .elementor-repeater-fields .elementor-control.wpr-pro-control .elementor-control-content:after {
899
- content: "This is available in the Pro Version.";
900
- }
901
-
902
- .elementor-control.wpr-pro-control.no-distance .elementor-control-content:after {
903
- margin: 0;
904
- }
905
-
906
- .elementor-control.wpr-pro-control .elementor-control-content:hover:after {
907
- visibility: visible;
908
- opacity: 1;
909
- }
910
-
911
- /*--------------------------------------------------------------
912
- == Request New Feature
913
- --------------------------------------------------------------*/
914
- .elementor-control-section_request_new_feature .elementor-section-toggle,
915
- .elementor-control-section_request_new_feature .elementor-section-title {
916
- color: #1CB4E4;
917
- line-height: 20px;
918
- }
919
-
920
- .elementor-control-section_request_new_feature .elementor-section-title .dashicons {
921
- line-height: 20px;
922
- font-size: 13px;
923
- }
924
-
925
- .elementor-control-request_new_feature {
926
- line-height: 20px;
927
- }
928
-
929
- .elementor-control-request_new_feature a {
930
- display: block;
931
- padding: 10px 15px;
932
- border-radius: 3px;
933
- margin-top: 15px;
934
- text-align: center;
935
- text-decoration: none;
936
- background-color: #1CB4E4;
937
- color: #fff;
938
- font-size: 13px;
939
- font-weight: 500;
940
- }
941
-
942
- .elementor-control-request_new_feature a:hover {
943
- color: #fff;
944
- background-color: #1589ad;
945
- }
946
-
947
- .elementor-control-request_new_feature a .dashicons {
948
- font-size: 13px;
949
- line-height: 18px;
950
- }
951
-
952
-
953
- /*--------------------------------------------------------------
954
- == Theme Builder Widgets
955
- --------------------------------------------------------------*/
956
- #elementor-panel-categories {
957
- display: -webkit-box;
958
- display: -ms-flexbox;
959
- display: flex;
960
- -webkit-box-orient: vertical;
961
- -webkit-box-direction: normal;
962
- -ms-flex-direction: column;
963
- flex-direction: column;
964
- }
965
-
966
- #elementor-panel-categories > div {
967
- -webkit-box-ordinal-group: 3;
968
- -ms-flex-order: 2;
969
- order: 2;
970
- }
971
-
972
- #elementor-panel-category-wpr-theme-builder-widgets,
973
- #elementor-panel-category-wpr-woocommerce-builder-widgets {
974
- -webkit-box-ordinal-group: 2 !important;
975
- -ms-flex-order: 1 !important;
976
- order: 1 !important;
977
- }
978
-
979
- .elementor-editor-wpr-theme-builder #elementor-panel-footer-saver-preview {
980
- display: none !important;
981
- }
982
-
983
-
984
- /*--------------------------------------------------------------
985
- == Elementor Search Notice
986
- --------------------------------------------------------------*/
987
- .wpr-elementor-search-notice {
988
- background: #fff;
989
- font-size: 13px;
990
- padding: 20px;
991
- line-height: 18px;
992
- margin: 10px;
993
- border-left: 3px solid #71d7f7;
994
- -webkit-box-shadow: 0 1px 4px 0 rgb(0 0 0 / 7%);
995
- box-shadow: 0 1px 4px 0 rgb(0 0 0 / 7%);
996
- }
997
-
998
-
999
- /*--------------------------------------------------------------
1000
- == Debug
1001
- --------------------------------------------------------------*/
1002
- pre.xdebug-var-dump {
1003
- position: absolute;
1004
- z-index: 999999;
1005
- background: #fff;
1006
- border: 2px solid #000;
1007
- padding: 20px;
1008
- left: 300px;
1009
  }
1
+ /*--------------------------------------------------------------
2
+ == General
3
+ --------------------------------------------------------------*/
4
+ .wpr-elementor-hidden-control {
5
+ overflow: hidden;
6
+ width: 0 !important;
7
+ height: 0 !important;
8
+ padding: 0 !important;
9
+ margin: 0 !important;
10
+ visibility: hidden !important;
11
+ opacity: 0 !important;
12
+ }
13
+
14
+
15
+ /*--------------------------------------------------------------
16
+ == WPR Widgets
17
+ --------------------------------------------------------------*/
18
+ .elementor-panel .wpr-icon:after {
19
+ content: 'R';
20
+ display: block;
21
+ position: absolute;
22
+ top: 3px;
23
+ right: 3px;
24
+ font-family: Roboto,Arial,Helvetica,Verdana,sans-serif;
25
+ font-size: 10px;
26
+ font-weight: bold;
27
+ color: #ffffff;
28
+ background-image: -o-linear-gradient(#6A4BFF, #7E94FE);
29
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#6A4BFF), to(#7E94FE));
30
+ background-image: linear-gradient(#6A4BFF, #7E94FE);
31
+ -webkit-box-shadow: 0 0 2px 2px #b8c7ff;
32
+ box-shadow: 0 0 2px 2px #b8c7ff;
33
+ width: 19px;
34
+ height: 19px;
35
+ line-height: 19px;
36
+ border-radius: 15px;
37
+ margin: 3px;
38
+ }
39
+
40
+ .elementor-panel .elementor-element .icon {
41
+ position: relative !important;
42
+ }
43
+
44
+ .elementor-element--promotion .wpr-icon:after {
45
+ top: 22px;
46
+ right: -1px;
47
+ opacity: 0.7;
48
+ }
49
+
50
+ #elementor-element--promotion__dialog .dialog-button {
51
+ text-align: center;
52
+ }
53
+
54
+ .elementor-control-type-section[class*="elementor-control-wpr_section_"]:after {
55
+ content: 'R';
56
+ display: block;
57
+ position: absolute;
58
+ top: 7px;
59
+ right: 7px;
60
+ font-family: Roboto,Arial,Helvetica,Verdana,sans-serif;
61
+ font-size: 10px;
62
+ font-weight: bold;
63
+ color: #ffffff;
64
+ background-image: -o-linear-gradient(#6A4BFF, #7E94FE);
65
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#6A4BFF), to(#7E94FE));
66
+ background-image: linear-gradient(#6A4BFF, #7E94FE);
67
+ -webkit-box-shadow: 0 0 2px 2px #b8c7ff;
68
+ box-shadow: 0 0 2px 2px #b8c7ff;
69
+ width: 19px;
70
+ height: 19px;
71
+ line-height: 19px;
72
+ border-radius: 15px;
73
+ margin: 3px;
74
+ text-align: center;
75
+ }
76
+
77
+ /*--------------------------------------------------------------
78
+ == Adjustments
79
+ --------------------------------------------------------------*/
80
+ .elementor-control-element_select,
81
+ .elementor-control-element_align_hr,
82
+ .elementor-control-element_read_more_text,
83
+ .elementor-control-element_tax_sep,
84
+ .elementor-control-element_sharing_icon_6,
85
+ .elementor-control-element_sharing_trigger_direction,
86
+ .elementor-control-element_sharing_icon_display,
87
+ .elementor-control-element_sharing_tooltip,
88
+ .elementor-control-element_custom_field_wrapper_html,
89
+ .elementor-control-slider_item_bg_size,
90
+ .elementor-control-element_addcart_variable_txt,
91
+ .elementor-control-type,
92
+ .elementor-control-show_last_update_date {
93
+ margin-bottom: 15px;
94
+ }
95
+
96
+ .elementor-control-slider_content_bg_color,
97
+ .elementor-control-slider_nav_border_border,
98
+ .elementor-control-slider_nav_border_radius,
99
+ .elementor-control-scroll_btn_vr,
100
+ .elementor-control-pagination_load_more_text,
101
+ .elementor-control-pagination_finish_text,
102
+ .elementor-control-pagination_prev_next,
103
+ .elementor-control-author_transition_duration,
104
+ .elementor-control-comments_transition_duration,
105
+ .elementor-control-likes_transition_duration,
106
+ .elementor-control-sharing_transition_duration,
107
+ .elementor-control-lightbox_transition_duration,
108
+ .elementor-control-custom_field1_transition_duration,
109
+ .elementor-control-custom_field2_transition_duration,
110
+ .elementor-control-custom_field3_transition_duration,
111
+ .elementor-control-custom_field4_transition_duration,
112
+ .elementor-control-filters_transition_duration,
113
+ .elementor-control-pagination_transition_duration,
114
+ .elementor-control-element_extra_text_pos,
115
+ .elementor-control-element_custom_field_wrapper,
116
+ .elementor-control-overlay_post_link,
117
+ .elementor-control-read_more_animation_height,
118
+ .elementor-control-archive_link_transition_duration,
119
+ .elementor-control-post_info_tax_select,
120
+ .elementor-control-post_info_link_wrap,
121
+ .elementor-control-post_info_modified_time,
122
+ .elementor-control-tabs_sharing_custom_colors,
123
+ .elementor-control-post_info_show_avatar,
124
+ .elementor-control-post_info_cf,
125
+ .elementor-control-pricing_items .elementor-control-price,
126
+ .elementor-control-pricing_items .elementor-control-feature_text,
127
+ .elementor-control-pricing_items .elementor-control-btn_text,
128
+ .elementor-control-divider_style,
129
+ .elementor-control-filters_pointer,
130
+ .elementor-control-title_transition_duration,
131
+ .elementor-control-tax1_transition_duration,
132
+ .elementor-control-tax2_transition_duration,
133
+ .elementor-control-filters_transition_duration,
134
+ .elementor-control-pagination_older_text,
135
+ .elementor-control-tooltip_position,
136
+ .elementor-control-post_info_comments_text_1,
137
+ .elementor-control-element_letter_count {
138
+ padding-top: 15px !important;
139
+ }
140
+
141
+ .elementor-control-post_info_custom_field_video_tutorial {
142
+ margin-top: 15px;
143
+ }
144
+
145
+ .elementor-control-title_pointer_animation + .elementor-control-title_transition_duration,
146
+ .elementor-control-tax1_pointer_animation + .elementor-control-tax1_transition_duration,
147
+ .elementor-control-tax2_pointer_animation + .elementor-control-tax2_transition_duration,
148
+ .elementor-control-filters_pointer_animation + .elementor-control-filters_transition_duration {
149
+ padding-top: 0 !important;
150
+ }
151
+
152
+ .elementor-control-pagination_load_more_text {
153
+ padding-bottom: 0 !important;
154
+ }
155
+
156
+ .elementor-control-filters_transition_duration,
157
+ .elementor-control-show_last_update_date {
158
+ padding-top: 0 !important;
159
+ }
160
+
161
+ .elementor-control-animation_divider,
162
+ .elementor-control-overlay_divider,
163
+ .elementor-control-slider_item_btn_1_divider,
164
+ .elementor-control-slider_item_btn_2_divider,
165
+ .elementor-control-slider_btn_typography_1_divider,
166
+ .elementor-control-slider_btn_box_shadow_1_divider,
167
+ .elementor-control-slider_btn_typography_2_divider,
168
+ .elementor-control-slider_btn_box_shadow_2_divider,
169
+ .elementor-control-testimonial_title_divider,
170
+ .elementor-control-social_media_divider,
171
+ .elementor-control-social_divider_1,
172
+ .elementor-control-social_divider_2,
173
+ .elementor-control-social_divider_3,
174
+ .elementor-control-social_divider_4,
175
+ .elementor-control-social_divider_5,
176
+ .elementor-control-custom_field_wrapper_html_divider1,
177
+ .elementor-control-custom_field_wrapper_html_divider2,
178
+ .elementor-control-lightbox_shadow_divider {
179
+ padding: 0 !important;
180
+ }
181
+
182
+ .elementor-control-custom_field_wrapper_html_divider1 hr,
183
+ .elementor-control-lightbox_shadow_divider hr {
184
+ height: 1px !important;
185
+ }
186
+
187
+ .elementor-control-element_show_on {
188
+ padding-top: 15px !important;
189
+ border-top: 1px solid #d5dadf;
190
+ }
191
+
192
+ [class*="wpr__section_"] ~ .elementor-control-type-number .elementor-control-input-wrapper,
193
+ [class*="wpr__section_"] ~ .elementor-control-type-repeater .elementor-control-type-number .elementor-control-input-wrapper {
194
+ max-width: 30% !important;
195
+ margin-left: auto !important;
196
+ }
197
+
198
+ [class*="wpr__section_"] ~ .elementor-control-type-select .elementor-control-input-wrapper,
199
+ [class*="wpr__section_"] ~ .elementor-control-type-repeater .elementor-control-type-select .elementor-control-input-wrapper {
200
+ width: auto !important;
201
+ min-width: 30% !important;
202
+ margin-left: auto !important;
203
+ }
204
+
205
+ .elementor-control-submit_preview_changes .elementor-control-input-wrapper {
206
+ text-align: center !important;
207
+ }
208
+
209
+ .elementor-control-query_manual_related,
210
+ .elementor-control-query_manual_current {
211
+ display: none !important;
212
+ }
213
+
214
+ /* Fix Select Inputs */
215
+ .elementor-control-button_hover_animation .elementor-control-input-wrapper,
216
+ .elementor-control-front_btn_animation .elementor-control-input-wrapper,
217
+ .elementor-control-back_btn_animation .elementor-control-input-wrapper {
218
+ width: 135px !important;
219
+ }
220
+
221
+ .elementor-control-type-repeater .elementor-control-content > label {
222
+ display: none !important;
223
+ }
224
+
225
+
226
+ /*--------------------------------------------------------------
227
+ == Notification
228
+ --------------------------------------------------------------*/
229
+ #wpr-template-settings-notification {
230
+ position: fixed;
231
+ left: 40px;
232
+ bottom: 5px;
233
+ z-index: 9999;
234
+ padding: 13px 25px;
235
+ background: #fff;
236
+ color: #222;
237
+ -webkit-box-shadow: 1px 1px 5px 0 rgba(0, 0, 0, 0.3);
238
+ box-shadow: 1px 1px 5px 0 rgba(0, 0, 0, 0.3);
239
+ border-radius: 3px;
240
+ }
241
+
242
+ #wpr-template-settings-notification:before {
243
+ content: "";
244
+ position: absolute;
245
+ left: -6px;
246
+ bottom: 10px;
247
+ width: 0;
248
+ height: 0;
249
+ border-top: 6px solid transparent;
250
+ border-bottom: 6px solid transparent;
251
+ border-right-style: solid;
252
+ border-right-width: 6px;
253
+ border-right-color: #fff;
254
+ }
255
+
256
+ #wpr-template-settings-notification h4 {
257
+ margin-bottom: 10px;
258
+ }
259
+
260
+ #wpr-template-settings-notification h4 span {
261
+ font-size: 14px;
262
+ vertical-align: super;
263
+ color: #5f5f5f;
264
+ }
265
+
266
+ #wpr-template-settings-notification h4 i {
267
+ margin-right: 10px;
268
+ color: #3db050;
269
+ font-size: 24px;
270
+ }
271
+
272
+ #wpr-template-settings-notification p {
273
+ color: #666;
274
+ font-size: 12px;
275
+ line-height: 1.5;
276
+ }
277
+
278
+ #wpr-template-settings-notification > i {
279
+ position: absolute;
280
+ top: 7px;
281
+ right: 7px;
282
+ cursor: pointer;
283
+ color: #999;
284
+ }
285
+
286
+ .elementor-control-cf7_notice,
287
+ .elementor-control-wpforms_notice,
288
+ .elementor-control-ninja_forms_notice,
289
+ .elementor-control-caldera_notice {
290
+ color: red;
291
+ }
292
+
293
+ /* Help Button - select with referrals - [href^="https://royal-elementor-addons.com/contact/"] */
294
+ #elementor-panel__editor__help__link[href^="https://wordpress.org/support/plugin/royal-elementor-addons/"] {
295
+ display: inline-block;
296
+ padding: 12px 35px;
297
+ font-size: 13px;
298
+ font-weight: normal;
299
+ color: #fff;
300
+ background: #6A65FF;
301
+ border-radius: 3px;
302
+ -webkit-box-shadow: 0 2px 7px 0 rgba(0,0,0,0.3);
303
+ box-shadow: 0 2px 7px 0 rgba(0,0,0,0.3);
304
+ letter-spacing: 0.3px;
305
+ -webkit-transition: all 0.2s ease-in;
306
+ -o-transition: all 0.2s ease-in;
307
+ transition: all 0.2s ease-in;
308
+ }
309
+
310
+ #elementor-panel__editor__help__link[href^="https://wordpress.org/support/plugin/royal-elementor-addons/"]:hover {
311
+ color: #fff;
312
+ background: #6A4BFF;
313
+ }
314
+
315
+ #elementor-panel__editor__help__link[href^="https://wordpress.org/support/plugin/royal-elementor-addons/"] i {
316
+ color: #fff;
317
+ font-size: 14px;
318
+ vertical-align: top;
319
+ }
320
+
321
+ #elementor-panel__editor__help__link[href^="https://wordpress.org/support/plugin/royal-elementor-addons/"]:hover i {
322
+ color: #fff;
323
+ }
324
+
325
+ #elementor-panel__editor__help__link[href^="https://wordpress.org/support/plugin/royal-elementor-addons/"]:hover i:before {
326
+ content: '\e942' !important;
327
+ }
328
+
329
+ .elementor-control-posts_slider_notice .elementor-control-raw-html {
330
+ font-style: normal !important;
331
+ }
332
+
333
+ .elementor-control-product_notice_widget_info .elementor-control-raw-html {
334
+ color: red;
335
+ }
336
+
337
+
338
+ /*--------------------------------------------------------------
339
+ == Modal Popup Editor
340
+ --------------------------------------------------------------*/
341
+ .elementor-editor-wpr-popups .elementor-control-document_settings,
342
+ .elementor-editor-wpr-popups .elementor-control-post_title,
343
+ .elementor-editor-wpr-popups .elementor-control-post_status {
344
+ display: none !important;
345
+ }
346
+
347
+
348
+ /*--------------------------------------------------------------
349
+ == Elementor Editor Popup
350
+ --------------------------------------------------------------*/
351
+ #wpr-template-editor-popup .dialog-widget-content {
352
+ width: 90vw;
353
+ height: 90vh;
354
+ }
355
+
356
+ #wpr-template-editor-popup .dialog-message {
357
+ padding: 0;
358
+ width: 100%;
359
+ height: 100%;
360
+ }
361
+
362
+ #wpr-template-editor-popup .dialog-close-button {
363
+ font-size: 24px;
364
+ color: #222;
365
+ }
366
+
367
+ #wpr-template-editor-popup .dialog-header {
368
+ display: none;
369
+ }
370
+
371
+ #wpr-template-editor-loading {
372
+ position: absolute;
373
+ top: 0;
374
+ left: 0;
375
+ width: 100%;
376
+ height: 100%;
377
+ background: #f1f3f5;
378
+ z-index: 9999;
379
+ -webkit-transform: translateZ(0);
380
+ transform: translateZ(0);
381
+ display: -webkit-box;
382
+ display: -ms-flexbox;
383
+ display: flex;
384
+ -webkit-box-pack: center;
385
+ -ms-flex-pack: center;
386
+ justify-content: center;
387
+ -webkit-box-align: center;
388
+ -ms-flex-align: center;
389
+ align-items: center;
390
+ }
391
+
392
+ #wpr-template-editor-loading .elementor-loader-wrapper {
393
+ top: auto;
394
+ left: auto;
395
+ -webkit-transform: none;
396
+ -ms-transform: none;
397
+ transform: none;
398
+ }
399
+
400
+ /* Disable Transitions on Responsive Preview */
401
+ #elementor-preview-responsive-wrapper {
402
+ -webkit-transition: none !important;
403
+ -o-transition: none !important;
404
+ transition: none !important;
405
+ }
406
+
407
+
408
+ /*--------------------------------------------------------------
409
+ == Magazine Grid Layout
410
+ --------------------------------------------------------------*/
411
+ .elementor-control-layout_select.elementor-control .elementor-control-field {
412
+ -webkit-box-orient: vertical !important;
413
+ -webkit-box-direction: normal !important;
414
+ -ms-flex-direction: column !important;
415
+ flex-direction: column !important;
416
+ -webkit-box-align: start;
417
+ -ms-flex-align: start;
418
+ align-items: flex-start;
419
+ }
420
+
421
+ .elementor-control-layout_select.elementor-control .elementor-control-input-wrapper {
422
+ display: -webkit-box;
423
+ display: -ms-flexbox;
424
+ display: flex;
425
+ width: 100% !important;
426
+ margin-top: 10px;
427
+ }
428
+
429
+ .elementor-control-layout_select.elementor-control .elementor-choices {
430
+ -ms-flex-wrap: wrap;
431
+ flex-wrap: wrap;
432
+ -webkit-box-align: stretch;
433
+ -ms-flex-align: stretch;
434
+ align-items: stretch;
435
+ width: 100% !important;
436
+ height: auto;
437
+ border: 1px solid #dfd5d5;
438
+ }
439
+
440
+ .elementor-control-layout_select.elementor-control .elementor-choices label {
441
+ width: 33.3%;
442
+ height: 50px;
443
+ background-size: 75%;
444
+ background-position: center center;
445
+ background-repeat: no-repeat;
446
+ }
447
+
448
+ .elementor-control-layout_select input[type="radio"]:checked + label {
449
+ border: 2px solid #D30C5C;
450
+ border-radius: 0 !important;
451
+ background-color: #ffffff;
452
+ }
453
+
454
+ .elementor-control-layout_select label:nth-child(2) {
455
+ background-image: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Crect x='2.2' y='4.9' class='st1' width='22.2' height='22.2'/%3E%3Crect x='25.6' y='15.2' class='st1' width='22.2' height='11.9'/%3E%3Crect x='25.6' y='4.9' class='st1' width='22.2' height='9.2'/%3E%3C/g%3E%3C/svg%3E");
456
+ }
457
+
458
+ .elementor-control-layout_select label:nth-child(4) {
459
+ background-image: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Crect x='2.2' y='4.9' class='st1' width='22.2' height='22.2'/%3E%3Crect x='25.6' y='16.6' class='st1' width='10.5' height='10.5'/%3E%3Crect x='37.2' y='16.6' class='st1' width='10.5' height='10.5'/%3E%3Crect x='25.6' y='4.9' class='st1' width='22.2' height='10.5'/%3E%3C/g%3E%3C/svg%3E");
460
+ }
461
+
462
+ .elementor-control-layout_select label:nth-child(6) {
463
+ background: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Cg%3E%3Crect x='2.2' y='4.9' class='st1' width='22.2' height='22.2'/%3E%3Crect x='25.6' y='16.6' class='st1' width='10.5' height='10.5'/%3E%3Crect x='37.2' y='16.6' class='st1' width='10.5' height='10.5'/%3E%3Crect x='25.6' y='4.9' class='st1' width='10.5' height='10.5'/%3E%3Crect x='37.2' y='4.9' class='st1' width='10.5' height='10.5'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
464
+ }
465
+
466
+ .elementor-control-layout_select label:nth-child(8) {
467
+ background-image: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Crect x='2.2' y='4.9' class='st1' width='22.2' height='22.2'/%3E%3Crect x='25.6' y='4.9' class='st1' width='10.5' height='22.2'/%3E%3Crect x='37.2' y='16.6' class='st1' width='10.5' height='10.5'/%3E%3Crect x='37.2' y='4.9' class='st1' width='10.5' height='10.5'/%3E%3C/g%3E%3C/svg%3E");
468
+ }
469
+
470
+ .elementor-control-layout_select label:nth-child(10) {
471
+ background-image: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Crect x='13.9' y='4.9' class='st1' width='22.2' height='22.2'/%3E%3Crect x='37.2' y='16.6' class='st1' width='10.5' height='10.5'/%3E%3Crect x='37.2' y='4.9' class='st1' width='10.5' height='10.5'/%3E%3Crect x='2.3' y='16.6' class='st1' width='10.5' height='10.5'/%3E%3Crect x='2.3' y='4.9' class='st1' width='10.5' height='10.5'/%3E%3C/g%3E%3C/svg%3E");
472
+ }
473
+
474
+ .elementor-control-layout_select label:nth-child(12) {
475
+ background-image: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Crect x='2.2' y='4.9' class='st1' width='28.5' height='22.2'/%3E%3Crect x='31.8' y='12.9' class='st1' width='15.9' height='6.3'/%3E%3Crect x='31.8' y='4.9' class='st1' width='15.9' height='6.8'/%3E%3Crect x='31.8' y='20.3' class='st1' width='15.9' height='6.8'/%3E%3C/g%3E%3C/svg%3E");
476
+ }
477
+
478
+ .elementor-control-layout_select label:nth-child(14) {
479
+ background-image: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Crect x='13.9' y='4.9' class='st1' width='22.2' height='22.2'/%3E%3Crect x='2.2' y='4.9' class='st1' width='10.5' height='22.2'/%3E%3Crect x='37.2' y='4.9' class='st1' width='10.5' height='22.2'/%3E%3C/g%3E%3C/svg%3E");
480
+ }
481
+
482
+ .elementor-control-layout_select label:nth-child(16) {
483
+ background-image: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Crect x='2.2' y='4.9' class='st1' width='33.9' height='13.2'/%3E%3Crect x='2.2' y='19.3' class='st1' width='16.4' height='7.8'/%3E%3Crect x='19.7' y='19.3' class='st1' width='16.4' height='7.8'/%3E%3Crect x='37.2' y='4.9' class='st1' width='10.5' height='13.2'/%3E%3Crect x='37.2' y='19.3' class='st1' width='10.5' height='7.8'/%3E%3C/g%3E%3C/svg%3E");
484
+ }
485
+
486
+ .elementor-control-layout_select label:nth-child(18) {
487
+ background-image: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Crect x='2.2' y='4.9' class='st1' width='22.2' height='12.1'/%3E%3Crect x='25.6' y='4.9' class='st1' width='22.2' height='12.1'/%3E%3Crect x='2.2' y='18.2' class='st1' width='14.4' height='8.9'/%3E%3Crect x='17.8' y='18.2' class='st1' width='14.4' height='8.9'/%3E%3Crect x='33.3' y='18.2' class='st1' width='14.4' height='8.9'/%3E%3C/g%3E%3C/svg%3E");
488
+ }
489
+
490
+ .elementor-control-layout_select label:nth-child(20) {
491
+ background-image: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Crect x='2.2' y='4.9' class='st1' width='22.2' height='22.2'/%3E%3Crect x='25.6' y='4.9' class='st1' width='22.2' height='22.2'/%3E%3C/g%3E%3C/svg%3E");
492
+ }
493
+
494
+ .elementor-control-layout_select label:nth-child(22) {
495
+ background-image: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Crect x='2.2' y='4.9' class='st1' width='14.5' height='22.2'/%3E%3Crect x='33.4' y='4.9' class='st1' width='14.4' height='22.2'/%3E%3Crect x='17.9' y='4.9' class='st1' width='14.4' height='22.2'/%3E%3C/g%3E%3C/svg%3E");
496
+ }
497
+
498
+ .elementor-control-layout_select label:nth-child(24) {
499
+ background-image: url("data:image/svg+xml;charset=utf8,%3C?xml version='1.0' encoding='utf-8'?%3E%3C!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 32' style='enable-background:new 0 0 50 32;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0{fill:%23FFFFFF;} .st1{fill:%23C2C1C0;} %3C/style%3E%3Cg id='Background'%3E%3Crect class='st0' width='50' height='32'/%3E%3C/g%3E%3Cg id='Layer_1'%3E%3Crect x='2.2' y='4.9' class='st1' width='10.6' height='22.2'/%3E%3Crect x='37.2' y='4.9' class='st1' width='10.5' height='22.2'/%3E%3Crect x='25.6' y='4.9' class='st1' width='10.5' height='22.2'/%3E%3Crect x='14' y='4.9' class='st1' width='10.5' height='22.2'/%3E%3C/g%3E%3C/svg%3E");
500
+ }
501
+
502
+ /*--------------------------------------------------------------
503
+ == Widget Preview and Library buttons
504
+ --------------------------------------------------------------*/
505
+
506
+ .elementor-control-wpr_library_buttons .wpr-forms a:last-child,
507
+ .elementor-control-wpr_library_buttons .wpr-phone-call a:last-child,
508
+ .elementor-control-wpr_library_buttons .wpr-back-to-top a:last-child,
509
+ .elementor-control-wpr_library_buttons .wpr-lottie-animations a:last-child,
510
+ .elementor-control-wpr_library_buttons .wpr-feature-list a:last-child,
511
+ .elementor-control-wpr_library_buttons .wpr-reading-progress-bar a:last-child,
512
+ .elementor-control-wpr_library_buttons .wpr-dual-color-heading a:last-child,
513
+ .elementor-control-wpr_library_buttons .wpr-flip-carousel a:last-child,
514
+ .elementor-control-wpr_library_buttons .wpr-advanced-accordion a:last-child,
515
+ .elementor-control-wpr_library_buttons .wpr-image-accordion a:last-child,
516
+ .elementor-control-wpr_library_buttons .wpr-mega-menu a:last-child,
517
+ .elementor-control-wpr_library_buttons .wpr-charts a:last-child {
518
+ display: none;
519
+ }
520
+
521
+ .elementor-control-wpr_library_buttons {
522
+ height: 60px;
523
+ padding: 0;
524
+ }
525
+
526
+ .elementor-control-wpr_library_buttons .elementor-control-raw-html {
527
+ padding: 0 10px 10px 10px;
528
+ border-bottom: 1px solid #efefef;
529
+ }
530
+
531
+ .elementor-control-wpr_library_buttons .elementor-control-raw-html div {
532
+ display: -webkit-box;
533
+ display: -ms-flexbox;
534
+ display: flex;
535
+ -webkit-box-pack: center;
536
+ -ms-flex-pack: center;
537
+ justify-content: center;
538
+ }
539
+
540
+ .elementor-control-wpr_library_buttons .elementor-control-raw-html div a {
541
+ -webkit-box-flex: 1;
542
+ -ms-flex-positive: 1;
543
+ flex-grow: 1;
544
+ padding: 10px 15px;
545
+ border-radius: 3px;
546
+ /*box-shadow: 1px 2px 5px 0 rgba(0,0,0,0.2);*/
547
+ white-space: nowrap;
548
+ overflow: hidden;
549
+ -o-text-overflow: ellipsis;
550
+ text-overflow: ellipsis;
551
+ text-align: center;
552
+ }
553
+ .elementor-control-wpr_library_buttons .elementor-control-raw-html div a:first-child {
554
+ background-color: #1CB4E4;
555
+ color: #fff;
556
+ margin-right: 3px;
557
+ }
558
+ .elementor-control-wpr_library_buttons .elementor-control-raw-html div a:last-child {
559
+ margin-left: 3px;
560
+ background-color: #6A65FF;
561
+ color: #fff;
562
+ }
563
+
564
+ .elementor-control-wpr_library_buttons .elementor-control-raw-html > a {
565
+ display: block;
566
+ margin-top: 10px;
567
+ line-height: 20px;
568
+ color: #777;
569
+ border: none !important;
570
+ }
571
+
572
+ .elementor-section-title > a {
573
+ top: 10px;
574
+ right: 20px;
575
+ position: absolute;
576
+ line-height: 20px;
577
+ font-size: 12px;
578
+ }
579
+
580
+ .elementor-section-title > a:hover {
581
+ border-color: transparent;
582
+ }
583
+
584
+ .elementor-section-title > a .dashicons {
585
+ font-size: 16px;
586
+ vertical-align: middle;
587
+ }
588
+
589
+
590
+ /*--------------------------------------------------------------
591
+ == Apply Changes Button
592
+ --------------------------------------------------------------*/
593
+ .editor-wpr-preview-update {
594
+ margin: 0;
595
+ display: -webkit-box;
596
+ display: -ms-flexbox;
597
+ display: flex;
598
+ -webkit-box-pack: justify;
599
+ -ms-flex-pack: justify;
600
+ justify-content: space-between;
601
+ }
602
+
603
+ .editor-wpr-preview-update button {
604
+ font-size: 13px;
605
+ padding: 5px 10px;
606
+ }
607
+
608
+
609
+ /*--------------------------------------------------------------
610
+ == Free/Pro Options
611
+ --------------------------------------------------------------*/
612
+ .elementor-control select option[value*=pro-] {
613
+ background: #f0f0f0;
614
+ }
615
+
616
+ .elementor-control[class*="pro_notice"] {
617
+ padding: 5px 0 15px 0 !important;
618
+ }
619
+
620
+ .wpr-pro-notice {
621
+ padding: 20px;
622
+ border-top: 1px solid #e6e9ec;
623
+ border-bottom: 1px solid #e6e9ec;
624
+ background-color: #f2fbff;
625
+ line-height: 1.4;
626
+ text-align: center;
627
+ }
628
+
629
+ .wpr-pro-notice-video {
630
+ display: block;
631
+ margin-top: 7px;
632
+ line-height: 20px;
633
+ border: none !important;
634
+ }
635
+
636
+ #elementor-controls .elementor-control-slider_section_pro_notice {
637
+ margin-top: -16px;
638
+ padding-bottom: 0 !important;
639
+ }
640
+
641
+ .elementor-control-layout_select_pro_notice + div,
642
+ .elementor-control-element_align_pro_notice + div {
643
+ padding-top: 15px;
644
+ }
645
+
646
+ .elementor-control-layout_select .elementor-choices label {
647
+ position: relative;
648
+ }
649
+
650
+ .elementor-control-layout_select .elementor-choices label:nth-child(2):after,
651
+ .elementor-control-layout_select .elementor-choices label:nth-child(4):after,
652
+ .elementor-control-layout_select .elementor-choices label:nth-child(6):after,
653
+ .elementor-control-layout_select .elementor-choices label:nth-child(8):after,
654
+ .elementor-control-layout_select .elementor-choices label:nth-child(10):after,
655
+ .elementor-control-layout_select .elementor-choices label:nth-child(12):after {
656
+ content: ' ';
657
+ display: block;
658
+ width: 100%;
659
+ height: 100%;
660
+ position: absolute;
661
+ top: 0;
662
+ left: 0;
663
+ background: rgba(0,0,0,0.2);
664
+ }
665
+
666
+ /* Adjustments */
667
+ .elementor-control.elementor-control-element_align_pro_notice,
668
+ .elementor-control.elementor-control-search_pro_notice,
669
+ .elementor-control.elementor-control-layout_select_pro_notice,
670
+ .elementor-control.elementor-control-grid_columns_pro_notice,
671
+ .elementor-control.elementor-control-slider_content_type_pro_notice,
672
+ .elementor-control.elementor-control-slider_repeater_pro_notice,
673
+ .elementor-control.elementor-control-slider_dots_layout_pro_notice,
674
+ .elementor-control.elementor-control-testimonial_repeater_pro_notice,
675
+ .elementor-control.elementor-control-testimonial_icon_pro_notice,
676
+ .elementor-control.elementor-control-menu_layout_pro_notice,
677
+ .elementor-control.elementor-control-menu_items_submenu_entrance_pro_notice,
678
+ .elementor-control.elementor-control-switcher_label_style_pro_notice,
679
+ .elementor-control.elementor-control-countdown_type_pro_notice,
680
+ .elementor-control.elementor-control-layout_pro_notice,
681
+ .elementor-control.elementor-control-anim_timing_pro_notice,
682
+ .elementor-control.elementor-control-tab_content_type_pro_notice,
683
+ .elementor-control.elementor-control-tabs_repeater_pro_notice,
684
+ .elementor-control.elementor-control-tabs_align_pro_notice,
685
+ .elementor-control.elementor-control-front_trigger_pro_notice,
686
+ .elementor-control.elementor-control-back_link_type_pro_notice,
687
+ .elementor-control.elementor-control-box_anim_timing_pro_notice,
688
+ .elementor-control.elementor-control-image_style_pro_notice,
689
+ .elementor-control.elementor-control-image_animation_timing_pro_notice,
690
+ .elementor-control.elementor-control-label_display_pro_notice,
691
+ .elementor-control.elementor-control-post_type_pro_notice,
692
+ .elementor-control.elementor-control-type_select_pro_notice,
693
+ .elementor-control.elementor-control-icon_style_pro_notice,
694
+ .elementor-control.elementor-control-dual_button_pro_notice,
695
+ .elementor-control.elementor-control-team_member_pro_notice,
696
+ .elementor-control.elementor-control-price_list_pro_notice,
697
+ .elementor-control.elementor-control-business_hours_pro_notice,
698
+ .elementor-control.elementor-control-sharing_columns_pro_notice,
699
+ .elementor-control.elementor-control-popup_trigger_pro_notice,
700
+ .elementor-control.elementor-control-popup_show_again_delay_pro_notice,
701
+ .elementor-control.elementor-control-group_popup_settings_pro_notice,
702
+ .elementor-control.elementor-control-which_particle_pro_notice,
703
+ .elementor-control.elementor-control-paralax_repeater_pro_notice,
704
+ .elementor-control.elementor-control-opnepage_pro_notice,
705
+ .elementor-control.elementor-control-timeline_repeater_pro_notice,
706
+ .elementor-control.elementor-control-limit_grid_items_pro_notice,
707
+ .elementor-control.elementor-control-post_nav_layout_pro_notice,
708
+ .elementor-control.elementor-control-author_name_links_to_pro_notice,
709
+ .elementor-control.elementor-control-author_title_links_to_pro_notice,
710
+ .elementor-control.elementor-control-comments_form_layout_pro_notice,
711
+ .elementor-control.elementor-control-sharing_repeater_pro_notice,
712
+ .elementor-control.elementor-control-mini_cart_style_pro_notice,
713
+ .elementor-control.elementor-control-tabs_position_pro_notice,
714
+ .elementor-control.elementor-control-choose_table_type_pro_notice,
715
+ .elementor-control.elementor-control-accordion_repeater_pro_notice,
716
+ .elementor-control.elementor-control-acc_repeater_pro_notice,
717
+ .elementor-control.elementor-control-data_source_pro_notice,
718
+ .elementor-control.elementor-control-charts_repeater_pro_notice,
719
+ .elementor-control.elementor-control-mob_menu_display_as_pro_notice {
720
+ padding-bottom: 0 !important;
721
+ }
722
+
723
+ .elementor-control-search_pro_notice .wpr-pro-notice,
724
+ .elementor-control-grid_columns_pro_notice .wpr-pro-notice,
725
+ .elementor-control-slider_content_type_pro_notice .wpr-pro-notice,
726
+ .elementor-control-slider_repeater_pro_notice .wpr-pro-notice,
727
+ .elementor-control-slider_dots_layout_pro_notice .wpr-pro-notice,
728
+ .elementor-control-testimonial_repeater_pro_notice .wpr-pro-notice,
729
+ .elementor-control-testimonial_icon_pro_notice .wpr-pro-notice,
730
+ .elementor-control-menu_layout_pro_notice .wpr-pro-notice,
731
+ .elementor-control-menu_items_submenu_entrance_pro_notice .wpr-pro-notice,
732
+ .elementor-control-switcher_label_style_pro_notice .wpr-pro-notice,
733
+ .elementor-control-countdown_type_pro_notice .wpr-pro-notice,
734
+ .elementor-control-layout_pro_notice .wpr-pro-notice,
735
+ .elementor-control-anim_timing_pro_notice .wpr-pro-notice,
736
+ .elementor-control-tab_content_type_pro_notice .wpr-pro-notice,
737
+ .elementor-control-tabs_repeater_pro_notice .wpr-pro-notice,
738
+ .elementor-control-tabs_align_pro_notice .wpr-pro-notice,
739
+ .elementor-control-front_trigger_pro_notice .wpr-pro-notice,
740
+ .elementor-control-back_link_type_pro_notice .wpr-pro-notice,
741
+ .elementor-control-box_anim_timing_pro_notice .wpr-pro-notice,
742
+ .elementor-control-image_style_pro_notice .wpr-pro-notice,
743
+ .elementor-control-image_animation_timing_pro_notice .wpr-pro-notice,
744
+ .elementor-control-label_display_pro_notice .wpr-pro-notice,
745
+ .elementor-control-post_type_pro_notice .wpr-pro-notice,
746
+ .elementor-control-type_select_pro_notice .wpr-pro-notice,
747
+ .elementor-control-icon_style_pro_notice .wpr-pro-notice,
748
+ .elementor-control-dual_button_pro_notice .wpr-pro-notice,
749
+ .elementor-control-team_member_pro_notice .wpr-pro-notice,
750
+ .elementor-control-price_list_pro_notice .wpr-pro-notice,
751
+ .elementor-control-business_hours_pro_notice .wpr-pro-notice,
752
+ .elementor-control-sharing_columns_pro_notice .wpr-pro-notice,
753
+ .elementor-control-popup_trigger_pro_notice .wpr-pro-notice,
754
+ .elementor-control-popup_show_again_delay_pro_notice .wpr-pro-notice,
755
+ .elementor-control-group_popup_settings_pro_notice .wpr-pro-notice,
756
+ .elementor-control-post_nav_layout_pro_notice .wpr-pro-notice,
757
+ .elementor-control-author_name_links_to_pro_notice .wpr-pro-notice,
758
+ .elementor-control-author_title_links_to_pro_notice .wpr-pro-notice,
759
+ .elementor-control-comments_form_layout_pro_notice .wpr-pro-notice,
760
+ .elementor-control-sharing_repeater_pro_notice .wpr-pro-notice,
761
+ .elementor-control-mini_cart_style_pro_notice .wpr-pro-notice,
762
+ .elementor-control-tabs_position_pro_notice .wpr-pro-notice,
763
+ .elementor-control-choose_table_type_pro_notice .wpr-pro-notice,
764
+ .elementor-control-accordion_repeater_pro_notice .wpr-pro-notice,
765
+ .elementor-control.elementor-control-data_source_pro_notice .wpr-pro-notice,
766
+ .elementor-control.elementor-control-mob_menu_display_as_pro_notice .wpr-pro-notice {
767
+ border-bottom: none !important;
768
+ }
769
+
770
+ /* Both */
771
+ .elementor-control.elementor-control-pagination_type_pro_notice,
772
+ .elementor-control.elementor-control-tooltip_trigger_pro_notice,
773
+ .elementor-control.elementor-control-post_info_select_pro_notice {
774
+ padding-top: 0 !important;
775
+ padding-bottom: 0 !important;
776
+ }
777
+
778
+ .elementor-control-pagination_type_pro_notice .wpr-pro-notice {
779
+ border-top: none !important;
780
+ border-bottom: none !important;
781
+ }
782
+
783
+ .elementor-control-pro_features_section .elementor-section-toggle,
784
+ .elementor-control-pro_features_section .elementor-section-title {
785
+ color: #f54;
786
+ }
787
+
788
+ .elementor-control-pro_features_section .elementor-section-title {
789
+ line-height: 20px;
790
+ }
791
+ .elementor-control-pro_features_section .elementor-section-title .dashicons {
792
+ line-height: 20px;
793
+ font-size: 13px;
794
+ }
795
+
796
+ .wpr-pro-features-list {
797
+ text-align: center;
798
+ }
799
+
800
+ .wpr-pro-features-list ul {
801
+ text-align: left;
802
+ }
803
+
804
+ .wpr-pro-features-list ul li {
805
+ position: relative;
806
+ line-height: 22px;
807
+ padding-left: 20px;
808
+ }
809
+
810
+ .wpr-pro-features-list ul li::before {
811
+ content: '.';
812
+ font-size: 38px;
813
+ position: absolute;
814
+ top: -11px;
815
+ left: 0;
816
+ }
817
+
818
+ .wpr-pro-features-list ul + a {
819
+ display: inline-block;
820
+ background-color: #f54;
821
+ color: #fff;
822
+ margin: 15px 15px 10px 0;
823
+ padding: 7px 12px;
824
+ border-radius: 3px;
825
+ }
826
+
827
+ .wpr-pro-features-list ul + a:hover {
828
+ color: #fff;
829
+ }
830
+
831
+ /* Video Tutorial Link */
832
+ .elementor-control[class*="video_tutorial"] {
833
+ padding-top: 0 !important;
834
+ padding-bottom: 5px !important;
835
+ }
836
+
837
+ .elementor-control.elementor-control-woo_grid_notice_video_tutorial,
838
+ .elementor-control-show_last_update_date {
839
+ padding-bottom: 15px !important;
840
+ }
841
+
842
+ .elementor-control.elementor-control-woo_grid_notice_video_tutorial a {
843
+ display: inline-block;
844
+ margin-top: 5px;
845
+ }
846
+
847
+ .elementor-control[class*="video_tutorial"] a {
848
+ line-height: 16px;
849
+ font-size: 12px;
850
+ }
851
+
852
+ .elementor-control[class*="video_tutorial"] a .dashicons {
853
+ font-size: 16px;
854
+ }
855
+
856
+ /* Pro Control Class */
857
+ .elementor-control.wpr-pro-control label i {
858
+ color: #aeaeae;
859
+ font-size: 14px;
860
+ margin-left: 3px;
861
+ }
862
+
863
+ .elementor-control.wpr-pro-control .elementor-control-content:before {
864
+ content: '';
865
+ position: absolute;
866
+ width: 100%;
867
+ height: 100%;
868
+ z-index: 9;
869
+ background: transparent;
870
+ }
871
+
872
+ .elementor-control.wpr-pro-control .elementor-control-content:after {
873
+ content: "This option is available in the Pro Version.";
874
+ visibility: hidden;
875
+ opacity: 0;
876
+ position: absolute;
877
+ top: 30px;
878
+ padding: 15px;
879
+ z-index: 99;
880
+ margin-top: 10px;
881
+ font-size: 12px;
882
+ color: #93003c;
883
+ background-color: #ffffff;
884
+ border-radius: 5px;
885
+ -webkit-box-shadow: 1px 1px 5px rgba(0,0,0,0.2);
886
+ box-shadow: 1px 1px 5px rgba(0,0,0,0.2);
887
+ border: 1px solid #e6e9ec;
888
+ -webkit-transition: all 0.2s ease-in;
889
+ -o-transition: all 0.2s ease-in;
890
+ transition: all 0.2s ease-in;
891
+ }
892
+
893
+ .elementor-repeater-fields .elementor-control.wpr-pro-control .elementor-control-content:after {
894
+ content: "This is available in the Pro Version.";
895
+ }
896
+
897
+ .elementor-control.wpr-pro-control.no-distance .elementor-control-content:after {
898
+ margin: 0;
899
+ }
900
+
901
+ .elementor-control.wpr-pro-control .elementor-control-content:hover:after {
902
+ visibility: visible;
903
+ opacity: 1;
904
+ }
905
+
906
+ /*--------------------------------------------------------------
907
+ == Request New Feature
908
+ --------------------------------------------------------------*/
909
+ .elementor-control-section_request_new_feature .elementor-section-toggle,
910
+ .elementor-control-section_request_new_feature .elementor-section-title {
911
+ color: #1CB4E4;
912
+ line-height: 20px;
913
+ }
914
+
915
+ .elementor-control-section_request_new_feature .elementor-section-title .dashicons {
916
+ line-height: 20px;
917
+ font-size: 13px;
918
+ }
919
+
920
+ .elementor-control-request_new_feature {
921
+ line-height: 20px;
922
+ }
923
+
924
+ .elementor-control-request_new_feature a {
925
+ display: block;
926
+ padding: 10px 15px;
927
+ border-radius: 3px;
928
+ margin-top: 15px;
929
+ text-align: center;
930
+ text-decoration: none;
931
+ background-color: #1CB4E4;
932
+ color: #fff;
933
+ font-size: 13px;
934
+ font-weight: 500;
935
+ }
936
+
937
+ .elementor-control-request_new_feature a:hover {
938
+ color: #fff;
939
+ background-color: #1589ad;
940
+ }
941
+
942
+ .elementor-control-request_new_feature a .dashicons {
943
+ font-size: 13px;
944
+ line-height: 18px;
945
+ }
946
+
947
+
948
+ /*--------------------------------------------------------------
949
+ == Theme Builder Widgets
950
+ --------------------------------------------------------------*/
951
+ #elementor-panel-categories {
952
+ display: -webkit-box;
953
+ display: -ms-flexbox;
954
+ display: flex;
955
+ -webkit-box-orient: vertical;
956
+ -webkit-box-direction: normal;
957
+ -ms-flex-direction: column;
958
+ flex-direction: column;
959
+ }
960
+
961
+ #elementor-panel-categories > div {
962
+ -webkit-box-ordinal-group: 3;
963
+ -ms-flex-order: 2;
964
+ order: 2;
965
+ }
966
+
967
+ #elementor-panel-category-wpr-theme-builder-widgets,
968
+ #elementor-panel-category-wpr-woocommerce-builder-widgets {
969
+ -webkit-box-ordinal-group: 2 !important;
970
+ -ms-flex-order: 1 !important;
971
+ order: 1 !important;
972
+ }
973
+
974
+ .elementor-editor-wpr-theme-builder #elementor-panel-footer-saver-preview {
975
+ display: none !important;
976
+ }
977
+
978
+
979
+ /*--------------------------------------------------------------
980
+ == Elementor Search Notice
981
+ --------------------------------------------------------------*/
982
+ .wpr-elementor-search-notice {
983
+ background: #fff;
984
+ font-size: 13px;
985
+ padding: 20px;
986
+ line-height: 18px;
987
+ margin: 10px;
988
+ border-left: 3px solid #71d7f7;
989
+ -webkit-box-shadow: 0 1px 4px 0 rgb(0 0 0 / 7%);
990
+ box-shadow: 0 1px 4px 0 rgb(0 0 0 / 7%);
991
+ }
992
+
993
+
994
+ /*--------------------------------------------------------------
995
+ == Debug
996
+ --------------------------------------------------------------*/
997
+ pre.xdebug-var-dump {
998
+ position: absolute;
999
+ z-index: 999999;
1000
+ background: #fff;
1001
+ border: 2px solid #000;
1002
+ padding: 20px;
1003
+ left: 300px;
 
 
 
 
 
1004
  }
assets/css/frontend.css CHANGED
@@ -1291,7 +1291,7 @@ div[class*="wpr-sub-menu-fx"] .wpr-mega-menu .wpr-sub-mega-menu.wpr-animate-sub
1291
  cursor: pointer;
1292
  }
1293
 
1294
- .wpr-mobile-menu-display-dropdown .wpr-mobile-mega-menu > li > .wpr-mobile-sub-menu > li:first-child {
1295
  display: none;
1296
  }
1297
 
@@ -1609,7 +1609,8 @@ div[class*="wpr-sub-menu-fx"] .wpr-mega-menu .wpr-sub-mega-menu.wpr-animate-sub
1609
  .wpr-product-media-thumbs-vertical .flex-control-nav li img {
1610
  width: 100% !important;
1611
  height: 100% !important;
1612
- object-fit: cover !important;
 
1613
 
1614
  }
1615
 
@@ -3295,6 +3296,14 @@ div[class*="wpr-sub-menu-fx"] .wpr-mega-menu .wpr-sub-mega-menu.wpr-animate-sub
3295
  height: 100%;
3296
  }
3297
 
 
 
 
 
 
 
 
 
3298
  .wpr-grid-slider-prev-arrow {
3299
  left: 1%;
3300
  -webkit-transform: translateY(-50%);
@@ -12439,6 +12448,33 @@ a.wpr-ajax-img-wrap {
12439
  margin: 0;
12440
  }
12441
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12442
  .wpr-taxonomy-list li {
12443
  text-align: left;
12444
  }
@@ -12506,6 +12542,10 @@ a.wpr-ajax-img-wrap {
12506
  padding-left: 20px;
12507
  }
12508
 
 
 
 
 
12509
  /*--------------------------------------------------------------
12510
  == Feature List
12511
  --------------------------------------------------------------*/
1291
  cursor: pointer;
1292
  }
1293
 
1294
+ .wpr-mobile-menu-display-dropdown .wpr-mobile-mega-menu li.wpr-menu-offcanvas-back-wrap {
1295
  display: none;
1296
  }
1297
 
1609
  .wpr-product-media-thumbs-vertical .flex-control-nav li img {
1610
  width: 100% !important;
1611
  height: 100% !important;
1612
+ -o-object-fit: cover !important;
1613
+ object-fit: cover !important;
1614
 
1615
  }
1616
 
3296
  height: 100%;
3297
  }
3298
 
3299
+ .wpr-adjust-slider-prev-arrow {
3300
+ left: 1% !important;
3301
+ }
3302
+
3303
+ .wpr-adjust-slider-next-arrow {
3304
+ right: 1% !important;
3305
+ }
3306
+
3307
  .wpr-grid-slider-prev-arrow {
3308
  left: 1%;
3309
  -webkit-transform: translateY(-50%);
12448
  margin: 0;
12449
  }
12450
 
12451
+ .wpr-taxonomy-list li:not(.wpr-sub-hidden) {
12452
+ display: -webkit-box;
12453
+ display: -ms-flexbox;
12454
+ display: flex;
12455
+ -webkit-box-align: center;
12456
+ -ms-flex-align: center;
12457
+ align-items: center;
12458
+ }
12459
+
12460
+ .wpr-taxonomy-list li a {
12461
+ -webkit-box-flex: 1;
12462
+ -ms-flex-positive: 1;
12463
+ flex-grow: 1;
12464
+ /* flex-shrink: 0; */
12465
+ }
12466
+
12467
+ .wpr-taxonomy-list li .wpr-tax-dropdown {
12468
+ /* flex-shrink: 1;
12469
+ flex-grow: 0; */
12470
+ width: auto;
12471
+ cursor: pointer;
12472
+ }
12473
+
12474
+ .wpr-sub-hidden {
12475
+ display: none;
12476
+ }
12477
+
12478
  .wpr-taxonomy-list li {
12479
  text-align: left;
12480
  }
12542
  padding-left: 20px;
12543
  }
12544
 
12545
+ .wpr-taxonomy-list-vertical .wpr-inner-sub-taxonomy {
12546
+ padding-left: 40px;
12547
+ }
12548
+
12549
  /*--------------------------------------------------------------
12550
  == Feature List
12551
  --------------------------------------------------------------*/
assets/css/frontend.min.css CHANGED
@@ -1 +1 @@
1
- button,hr,input{overflow:visible}progress,sub,sup{vertical-align:baseline}[class*=elementor-widget-wpr-] a,[data-elementor-type=wpr-theme-builder] ul.flex-direction-nav li a:hover,a{text-decoration:none}.wpr-magazine-grid .wpr-grid-image-wrap,.wpr-post-navigation{background-size:cover;background-position:center center}.wpr-post-nav-labels h5,.wpr-ticker-title-inner{-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap}.slick-slide.dragging img,.wpr-atc-not-clickable,.wpr-img-accordion-item-lightbox,.wpr-search-form-disable-submit-btn-yes .wpr-search-form-submit{pointer-events:none;pointer-events:none}.elementor-widget-wpr-my-account-pro .woocommerce-MyAccount-content .shop_table,.woocommerce-cart .cart-collaterals .cart_totals table,.wpr-cart-wrapper table.shop_table,.wpr-data-table{border-collapse:collapse}.elementor-widget-wpr-my-account-pro .wpr-my-account-tab .woocommerce-form-login__rememberme,.elementor-widghet-wpr-page-checkout .woocommerce-form-login__rememberme,.slick-initialized .slick-slide,.slick-slide img,.wpr-advanced-accordion .wpr-acc-panel-active,.wpr-cf-style-1 .wpr-comment-form-fields,.wpr-cf-style-4 .wpr-comment-form-fields,.wpr-comment-metadata p,.wpr-countdown-number,.wpr-countdown-separator span,.wpr-forms-container .checkbox-container.label-right .field-wrap,.wpr-forms-container .field-wrap.textarea-wrap .ninja-forms-field,.wpr-forms-container .wpcf7-form .wpcf7-submit,.wpr-logo-image img,.wpr-mobile-sub-offcanvas-open .wpr-mobile-sub-open .wpr-mobile-sub-menu,.wpr-nav-menu-bp-always .wpr-mobile-nav-menu-container,.wpr-post-nav-fixed.wpr-post-navigation a,.wpr-pr-show-text-yes .wpr-product-rating a,.wpr-product-price-separate .wpr-product-price del,.wpr-product-price-separate .wpr-product-price ins,.wpr-slider-video-btn i,.wpr-term-count,.wpr-timeline-centered .wpr-timeline-entry .wpr-extra-label>span,article,aside,details,figcaption,figure,footer,header,main,menu,nav,section{display:block}hr{-webkit-box-sizing:content-box;box-sizing:content-box;border:0;height:1px;margin:20px 0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}.wpr-forms-container .caldera-grid .caldera-forms-gdpr-field-label a,.wpr-forms-container label.wpforms-error a,abbr[title]{text-decoration:underline}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}dfn{font-style:italic}mark{background-color:#ff0;color:#000}.wpr-flip-box-title a,.wpr-flip-box-title a:hover,.wpr-ticker-title a,.wpr-ticker-title:hover a,legend{color:inherit}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}.woocommerce-MyAccount-navigation-link a,.wpr-acc-active .wpr-ti-open,.wpr-ajax-search-content a,.wpr-author-box-btn,.wpr-comment-metadata>*,.wpr-comment-reply a,.wpr-comments-navigation a,.wpr-comments-navigation span,.wpr-data-table img,.wpr-dual-title .first,.wpr-dual-title .second,.wpr-featured-media-caption span,.wpr-forms-container .nf-form-wrap .starrating .stars,.wpr-forms-container .wpforms-field-address,.wpr-forms-container .wpforms-field-phone,.wpr-forms-container .wpforms-page-indicator,.wpr-grid-cf-style-1 .inner-block>a,.wpr-grid-cf-style-1 .inner-block>span,.wpr-grid-cf-style-2 .inner-block>a,.wpr-grid-cf-style-2 .inner-block>span,.wpr-grid-filters li,.wpr-grid-filters li a,.wpr-grid-item-add-to-cart .inner-block>a,.wpr-grid-item-author .inner-block a,.wpr-grid-item-comments .inner-block a,.wpr-grid-item-content .inner-block,.wpr-grid-item-date .inner-block>span,.wpr-grid-item-excerpt .inner-block,.wpr-grid-item-lightbox .inner-block>span,.wpr-grid-item-likes .inner-block a,.wpr-grid-item-price .inner-block>span,.wpr-grid-item-read-more .inner-block a,.wpr-grid-item-sharing .inner-block>span,.wpr-grid-item-status .inner-block>span,.wpr-grid-item-time .inner-block>span,.wpr-grid-item-title .inner-block a,.wpr-grid-pagi-left-arrows,.wpr-grid-pagi-right-arrows,.wpr-grid-pagination .wpr-load-more-btn,.wpr-grid-pagination>a,.wpr-grid-pagination>span,.wpr-grid-product-categories .inner-block a,.wpr-grid-product-tags .inner-block a,.wpr-grid-sep-style-1 .inner-block>span,.wpr-grid-sep-style-2 .inner-block>span,.wpr-grid-tax-style-1 .inner-block a,.wpr-grid-tax-style-2 .inner-block a,.wpr-img-accordion-item-description .inner-block,.wpr-img-accordion-sep-style-1 .inner-block>span,.wpr-img-accordion-sep-style-2 .inner-block>span,.wpr-my-account-tabs-horizontal .woocommerce-MyAccount-navigation-link,.wpr-nav-menu-horizontal .wpr-nav-menu>li,.wpr-post-info-custom-field a,.wpr-post-info-custom-field span,.wpr-post-info-horizontal li,.wpr-post-info-text span,.wpr-pricing-table-headding-inner,.wpr-product-media-caption span,.wpr-product-sales-badge span,.wpr-promo-box-btn,.wpr-promo-box-icon img,.wpr-slider-description p,.wpr-slider-sub-title h3,.wpr-slider-title *,.wpr-testimonial-meta-inner,.wpr-testimonial-meta-position-extra .wpr-testimonial-meta img,.wpr-testimonial-social-media,.wpr-ti-close,audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}.wpr-pricing-table-icon img,img{display:block;border-style:none}svg:not(:root){overflow:hidden;display:inline}button,input{outline:0}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:0}.slick-list:focus,[type=button]:focus,[type=button]:hover,[type=submit]:focus,[type=submit]:hover,button:focus,button:hover{outline:0}legend{-webkit-box-sizing:border-box;box-sizing:border-box;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block}textarea{overflow:auto;outline:0}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0;outline:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto;outline:0}[type=search],[type=search]:focus{-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;outline:0}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}.elementor-editor-active .wpr-grid-pagination-infinite-scroll,.wpr-comment-form .comment-notes,.wpr-grid-filters-sep-left li:first-child .wpr-grid-filters-sep,.wpr-grid-filters-sep-right li:last-of-type .wpr-grid-filters-sep,.wpr-menu-offcanvas-back,.wpr-mobile-mega-menu a:after,.wpr-mobile-menu-display-dropdown .wpr-mobile-mega-menu>li>.wpr-mobile-sub-menu>li:first-child,.wpr-mobile-nav-menu-container,.wpr-mobile-nav-menu:not(.wpr-mobile-mega-menu),.wpr-mobile-sub-mega-menu,.wpr-mobile-sub-menu,.wpr-mobile-toggle-text:last-child,.wpr-mobile-toggle-v5 .wpr-mobile-toggle-line:first-child,.wpr-nav-menu-bp-always .wpr-nav-menu-container,.wpr-pagination-finish,.wpr-pagination-loading,.wpr-post-info li:last-child:after,.wpr-tsa-hidden,[hidden],template{display:none}.ast-separate-container .ast-article-post,.ast-separate-container .ast-article-single{padding:0;border:none;background-color:transparent}.ast-separate-container .comment-respond{padding:0;background-color:transparent}.wpr-cart-wrapper dl.variation:after,.wpr-cart-wrapper dl.variation:before,.wpr-countdown-separator:last-of-type,.wpr-custom-chk-radio .wpcf7-acceptance input,.wpr-custom-chk-radio .wpcf7-checkbox input,.wpr-custom-chk-radio .wpcf7-radio input,.wpr-custom-chk-radio .wpforms-field-checkbox input,.wpr-custom-chk-radio .wpforms-field-gdpr-checkbox input,.wpr-custom-chk-radio .wpforms-field-radio input,.wpr-hidden-element,.wpr-mini-cart .blockOverlay,.wpr-mini-cart dl.variation:after,.wpr-mini-cart dl.variation:before,.wpr-mini-cart-icon-count-hidden,.wpr-mobile-nav-menu .sub-menu-toggle,.wpr-popup-container .ps-scrollbar-x-rail,.wpr-popup-notification .wpr-popup-overlay,.wpr-rating-icon-empty:before{display:none!important}.wpr-cv-container,.wpr-slider-item-url{display:block;width:100%;height:100%;position:absolute;left:0;top:0;z-index:90}.wpr-cv-outer{display:table;width:100%;height:100%}.wpr-cv-inner{display:table-cell;vertical-align:middle}.wpr-no-transition-delay{-webkit-transition-delay:0s!important;-o-transition-delay:0s!important;transition-delay:0s!important}.wpr-enable-dropcap p:first-child:first-letter{float:left;padding-right:10px;font-size:50px;line-height:1}.wpr-tooltip{visibility:hidden;opacity:0;position:absolute;top:0;left:0;-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%);padding:6px 10px;border-radius:4px;font-size:15px;-webkit-transition:230ms ease-in-out;-o-transition:230ms ease-in-out;transition:230ms ease-in-out}.wpr-tooltip:before{content:"";position:absolute;left:10px;bottom:-5px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top-style:solid;border-top-width:6px}.wpr-mobile-nav-menu,.wpr-mobile-nav-menu ul,.wpr-nav-menu,.wpr-nav-menu ul{padding:0;margin:0;list-style:none;font-size:0}.elementor-widget-wpr-page-checkout .select2-selection,.elementor-widget-wpr-product-tabs .comment_container,.wpr-acc-search-input-wrap,.wpr-advanced-slider-wrap,.wpr-cart-wrapper .select2-selection,.wpr-data-table th,.wpr-feature-list-line-yes .wpr-feature-list-icon-wrap,.wpr-grid-item-inner,.wpr-grid-item-sharing .wpr-post-sharing,.wpr-grid-media-wrap,.wpr-image-hotspots,.wpr-img-accordion-item-lightbox .inner-block,.wpr-mega-menu,.wpr-member-overlay-content,.wpr-mini-cart-btn-icon i,.wpr-mobile-menu-display-offcanvas .wpr-mobile-mega-menu,.wpr-nav-menu li,.wpr-onepage-nav-item,.wpr-popup-container,.wpr-post-info li,.wpr-pricing-table,.wpr-pricing-table-feature-inner span,.wpr-product-media-wrap .flex-direction-nav li,.wpr-sub-menu-position-inline .wpr-sub-menu a,.wpr-table-td,.wpr-table-text,.wpr-table-tr-before,.wpr-timeline-centered .wpr-timeline-entry .wpr-timeline-entry-inner,.wpr-timeline-outer-container,ul.wpr-woo-mini-cart{position:relative}.wpr-nav-menu .wpr-menu-item{display:block;position:relative;z-index:1}.wpr-mobile-nav-menu>li>a,.wpr-nav-menu>li>a{font-size:16px;line-height:1}.elementor-widget-wpr-my-account-pro .woocommerce-Message,.elementor-widget-wpr-page-checkout .checkout_coupon p:first-child,.elementor-widget-wpr-page-checkout form .form-row,.woocommerce div.product .wpr-product-add-to-cart form.cart,.woocommerce div.product .wpr-product-add-to-cart form.cart .variations,.woocommerce div.product .wpr-product-add-to-cart form.cart div.quantity,.woocommerce div.product .wpr-product-tabs .woocommerce-tabs .panel,.wpr-added-tc-title p,.wpr-advanced-accordion .wpr-acc-panel div,.wpr-advanced-accordion .wpr-acc-panel p,.wpr-ajax-desc,.wpr-archive-title,.wpr-author-box-name,.wpr-author-box-title,.wpr-button-tooltip p,.wpr-button-tooltip-a p,.wpr-button-tooltip-b p,.wpr-cart-wrapper form .form-row,.wpr-dual-title,.wpr-feature-list-description,.wpr-feature-list-title,.wpr-flip-carousel .flipster__nav,.wpr-grid-sort-heading *,.wpr-hotspot-tooltip p,.wpr-logo-description,.wpr-mini-cart-sidebar .wpr-close-cart h2,.wpr-mobile-nav-menu li,.wpr-my-account-tab .woocommerce-order-downloads,.wpr-my-account-tab p,.wpr-my-account-tab table.shop_table,.wpr-page-list p,.wpr-post-title,.wpr-product-filter-title,.wpr-product-media-wrap .slick-track,.wpr-product-tabs p,.wpr-product-title,.wpr-products-result-count .woocommerce-result-count{margin:0}.wpr-nav-menu-horizontal .wpr-nav-menu>li:first-child,.wpr-pointer-line-fx .wpr-nav-menu-horizontal>li:first-child .wpr-menu-item,.wpr-pointer-none .wpr-nav-menu-horizontal>li:first-child .wpr-menu-item{padding-left:0!important;margin-left:0!important}.wpr-nav-menu-horizontal .wpr-nav-menu>li:last-child,.wpr-pointer-line-fx .wpr-nav-menu-horizontal>li:last-child .wpr-menu-item,.wpr-pointer-none .wpr-nav-menu-horizontal>li:last-child .wpr-menu-item{padding-right:0!important;margin-right:0!important}.wpr-both-sided-timeline .wpr-left-aligned .wpr-data-wrap:after,.wpr-flip-box-animation-push.wpr-flip-box-anim-direction-left .wpr-flip-box-back,.wpr-flip-box-animation-push.wpr-flip-box-anim-direction-right .wpr-flip-box-active .wpr-flip-box-front,.wpr-flip-box-animation-slide.wpr-flip-box-anim-direction-left .wpr-flip-box-back,.wpr-one-sided-timeline-left .wpr-left-aligned .wpr-data-wrap:after,div[class*=wpr-main-menu-align-] .wpr-nav-menu-vertical .wpr-nav-menu>li>.wpr-sub-mega-menu,div[class*=wpr-main-menu-align-] .wpr-nav-menu-vertical .wpr-nav-menu>li>.wpr-sub-menu{left:100%}.wpr-ba-horizontal .wpr-ba-label-2,.wpr-main-menu-align-center .wpr-nav-menu-vertical .wpr-menu-item .wpr-sub-icon,.wpr-main-menu-align-left .wpr-nav-menu-vertical .wpr-menu-item .wpr-sub-icon,.wpr-mobile-menu-drdown-align-right .wpr-mobile-mega-menu-wrap,.wpr-mobile-menu-drdown-align-right .wpr-mobile-nav-menu:not(.wpr-mobile-mega-menu),.wpr-onepage-nav-hr-right .wpr-onepage-nav,.wpr-post-info-align-right .wpr-post-info-vertical li:after,.wpr-post-nav-fixed.wpr-post-nav-next,.wpr-tabs-position-left.wpr-tabs-triangle-type-inner>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab:before{right:0}.wpr-ba-horizontal .wpr-ba-label-1,.wpr-flip-box-animation-push.wpr-flip-box-anim-direction-left .wpr-flip-box-active .wpr-flip-box-back,.wpr-flip-box-animation-slide.wpr-flip-box-anim-direction-left .wpr-flip-box-active .wpr-flip-box-back,.wpr-main-menu-align-right .wpr-nav-menu-vertical .wpr-sub-icon,.wpr-mega-menu-pos-default .wpr-sub-mega-menu,.wpr-mobile-menu-display-offcanvas .wpr-mobile-mega-menu>.wpr-mobile-sub-open>.wpr-mobile-sub-menu,.wpr-mobile-menu-drdown-align-left .wpr-mobile-mega-menu-wrap,.wpr-mobile-menu-drdown-align-left .wpr-mobile-nav-menu:not(.wpr-mobile-mega-menu),.wpr-mobile-sub-offcanvas-open .wpr-mobile-sub-open>.wpr-mobile-sub-mega-menu,.wpr-onepage-nav-hr-left .wpr-onepage-nav,.wpr-post-info-align-left .wpr-post-info-vertical li:after,.wpr-post-nav-fixed.wpr-post-nav-prev,.wpr-switcher-style-dual.wpr-switcher-label-style-outer>.elementor-widget-container>.wpr-content-toggle>.wpr-switcher-container[data-active-switcher*="1"] .wpr-switcher-bg,.wpr-tabs-position-right.wpr-tabs-triangle-type-inner>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab:before{left:0}.wpr-ajax-search-content,.wpr-comments-navigation-left,.wpr-feature-list-align-flex-start .wpr-feature-list-description,.wpr-feature-list-align-flex-start .wpr-feature-list-title,.wpr-logo-position-left .wpr-logo-text,.wpr-logo-position-right .wpr-logo-text,.wpr-main-menu-align-left .wpr-nav-menu-horizontal .wpr-nav-menu,.wpr-main-menu-align-left .wpr-nav-menu-vertical .wpr-menu-item,.wpr-main-menu-align-left .wpr-nav-menu-vertical .wpr-sub-menu li a,.wpr-prbar-layout-hr-line .wpr-prbar-subtitle,.wpr-pricing-table-heading-left .wpr-pricing-table-title-wrap,.wpr-pricing-table-heading-right .wpr-pricing-table-title-wrap,.wpr-right-aligned .wpr-extra-label .wpr-label,.wpr-right-aligned .wpr-extra-label .wpr-sub-label,.wpr-taxonomy-list li,.wpr-testimonial-image-position-left .wpr-testimonial-meta-content-wrap,.wpr-testimonial-meta-align-left .wpr-testimonial-meta{text-align:left}.pswp__caption__center,.wpr-ba-divider-icons .fa,.wpr-charts-error-notice,.wpr-comments-navigation-center,.wpr-comments-navigation-justify,.wpr-data-fetch .wpr-ajax-search-pagination,.wpr-feature-list-center .wpr-feature-list-content-wrap,.wpr-grid-item-likes .inner-block a,.wpr-grid-pagination-center .wpr-grid-pagination,.wpr-grid-pagination-infinite-scroll,.wpr-grid-pagination-justify .wpr-grid-pagination,.wpr-image-accordion-item,.wpr-logo-position-center .wpr-logo-text,.wpr-main-menu-align-center .wpr-nav-menu-horizontal .wpr-nav-menu,.wpr-main-menu-align-center .wpr-nav-menu-vertical .wpr-menu-item,.wpr-mobile-menu-item-align-center .wpr-mobile-nav-menu,.wpr-onepage-nav-item .wpr-tooltip,.wpr-post-navigation i,.wpr-pricing-table-heading,.wpr-product-add-to-cart a.added_to_cart,.wpr-table-td-pag,.wpr-testimonial-meta-align-center .wpr-testimonial-meta{text-align:center}.wpr-comment-reply-separate.wpr-comment-reply-align-right .wpr-comment-reply,.wpr-comments-navigation-right,.wpr-feature-list-align-flex-end .wpr-feature-list-description,.wpr-feature-list-align-flex-end .wpr-feature-list-title,.wpr-feature-list-right .wpr-feature-list-content-wrap,.wpr-grid-sorting .woocommerce-ordering,.wpr-left-aligned .wpr-extra-label .wpr-label,.wpr-left-aligned .wpr-extra-label .wpr-sub-label,.wpr-main-menu-align-right .wpr-nav-menu-horizontal .wpr-nav-menu,.wpr-main-menu-align-right .wpr-nav-menu-vertical .wpr-menu-item,.wpr-main-menu-align-right .wpr-nav-menu-vertical .wpr-sub-menu li a,.wpr-mobile-menu-item-align-right .wpr-mobile-nav-menu,.wpr-testimonial-image-position-right .wpr-testimonial-meta-content-wrap,.wpr-testimonial-meta-align-right .wpr-testimonial-meta{text-align:right}@media screen and (min-width:2400px){.wpr-main-menu-align--widescreencenter .wpr-nav-menu-vertical .wpr-menu-item .wpr-sub-icon,.wpr-main-menu-align--widescreenleft .wpr-nav-menu-vertical .wpr-menu-item .wpr-sub-icon{right:0}.wpr-main-menu-align--widescreenleft .wpr-nav-menu-horizontal .wpr-nav-menu,.wpr-main-menu-align--widescreenleft .wpr-nav-menu-vertical .wpr-menu-item{text-align:left}.wpr-main-menu-align--widescreencenter .wpr-nav-menu-horizontal .wpr-nav-menu,.wpr-main-menu-align--widescreencenter .wpr-nav-menu-vertical .wpr-menu-item{text-align:center}.wpr-main-menu-align--widescreenright .wpr-nav-menu-horizontal .wpr-nav-menu,.wpr-main-menu-align--widescreenright .wpr-nav-menu-vertical .wpr-menu-item{text-align:right}}@media screen and (max-width:1221px){.wpr-main-menu-align--laptopcenter .wpr-nav-menu-vertical .wpr-menu-item .wpr-sub-icon,.wpr-main-menu-align--laptopleft .wpr-nav-menu-vertical .wpr-menu-item .wpr-sub-icon{right:0}.wpr-main-menu-align--laptopleft .wpr-nav-menu-horizontal .wpr-nav-menu,.wpr-main-menu-align--laptopleft .wpr-nav-menu-vertical .wpr-menu-item{text-align:left}.wpr-main-menu-align--laptopcenter .wpr-nav-menu-horizontal .wpr-nav-menu,.wpr-main-menu-align--laptopcenter .wpr-nav-menu-vertical .wpr-menu-item{text-align:center}.wpr-main-menu-align--laptopright .wpr-nav-menu-horizontal .wpr-nav-menu,.wpr-main-menu-align--laptopright .wpr-nav-menu-vertical .wpr-menu-item{text-align:right}}@media screen and (max-width:1200px){.wpr-main-menu-align--tablet_extracenter .wpr-nav-menu-vertical .wpr-menu-item .wpr-sub-icon,.wpr-main-menu-align--tablet_extraleft .wpr-nav-menu-vertical .wpr-menu-item .wpr-sub-icon{right:0}.wpr-main-menu-align--tablet_extraleft .wpr-nav-menu-horizontal .wpr-nav-menu,.wpr-main-menu-align--tablet_extraleft .wpr-nav-menu-vertical .wpr-menu-item{text-align:left}.wpr-main-menu-align--tablet_extracenter .wpr-nav-menu-horizontal .wpr-nav-menu,.wpr-main-menu-align--tablet_extracenter .wpr-nav-menu-vertical .wpr-menu-item{text-align:center}.wpr-main-menu-align--tablet_extraright .wpr-nav-menu-horizontal .wpr-nav-menu,.wpr-main-menu-align--tablet_extraright .wpr-nav-menu-vertical .wpr-menu-item{text-align:right}}@media screen and (max-width:1024px){.wpr-main-menu-align--tabletcenter .wpr-nav-menu-vertical .wpr-menu-item .wpr-sub-icon,.wpr-main-menu-align--tabletleft .wpr-nav-menu-vertical .wpr-menu-item .wpr-sub-icon{right:0}.wpr-main-menu-align--tabletleft .wpr-nav-menu-horizontal .wpr-nav-menu,.wpr-main-menu-align--tabletleft .wpr-nav-menu-vertical .wpr-menu-item{text-align:left}.wpr-main-menu-align--tabletcenter .wpr-nav-menu-horizontal .wpr-nav-menu,.wpr-main-menu-align--tabletcenter .wpr-nav-menu-vertical .wpr-menu-item{text-align:center}.wpr-main-menu-align--tabletright .wpr-nav-menu-horizontal .wpr-nav-menu,.wpr-main-menu-align--tabletright .wpr-nav-menu-vertical .wpr-menu-item{text-align:right}.wpr-magazine-grid.wpr-mgzn-grid-1-2 article:first-child,.wpr-magazine-grid.wpr-mgzn-grid-1-3 article:first-child{-ms-grid-column-span:3!important;grid-column-end:3!important}.wpr-magazine-grid.wpr-mgzn-grid-1-1-1,.wpr-magazine-grid.wpr-mgzn-grid-1-1-3,.wpr-magazine-grid.wpr-mgzn-grid-1-2,.wpr-magazine-grid.wpr-mgzn-grid-1-4,.wpr-magazine-grid.wpr-mgzn-grid-1vh-3h,.wpr-magazine-grid.wpr-mgzn-grid-2-3,.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-1,.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-2,.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-3{-ms-grid-columns:1fr 1fr!important;grid-template-columns:1fr 1fr!important}.wpr-magazine-grid.wpr-mgzn-grid-1-2{-ms-grid-rows:1fr 1fr 1fr;grid-template-rows:1fr 1fr 1fr}.wpr-magazine-grid.wpr-mgzn-grid-1-1-1>:first-child,.wpr-magazine-grid.wpr-mgzn-grid-1-1-2>:first-child,.wpr-magazine-grid.wpr-mgzn-grid-1-1-3>:first-child,.wpr-magazine-grid.wpr-mgzn-grid-1-2>:first-child,.wpr-magazine-grid.wpr-mgzn-grid-1-3>:first-child,.wpr-magazine-grid.wpr-mgzn-grid-1-4>:first-child,.wpr-magazine-grid.wpr-mgzn-grid-2-1-2>:first-child,.wpr-magazine-grid.wpr-mgzn-grid-2-3>:first-child,.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-1>:first-child,.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-2>:first-child,.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-3>:first-child{-ms-grid-row:1;-ms-grid-column:1}.wpr-magazine-grid.wpr-mgzn-grid-1-1-1>:nth-child(2),.wpr-magazine-grid.wpr-mgzn-grid-1-1-2>:nth-child(2),.wpr-magazine-grid.wpr-mgzn-grid-1-1-3>:nth-child(2),.wpr-magazine-grid.wpr-mgzn-grid-1-2>:nth-child(2),.wpr-magazine-grid.wpr-mgzn-grid-1-3>:nth-child(2),.wpr-magazine-grid.wpr-mgzn-grid-1-4>:nth-child(2),.wpr-magazine-grid.wpr-mgzn-grid-2-1-2>:nth-child(2),.wpr-magazine-grid.wpr-mgzn-grid-2-3>:nth-child(2),.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-1>:nth-child(2),.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-2>:nth-child(2),.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-3>:nth-child(2){-ms-grid-row:1;-ms-grid-column:2}.wpr-magazine-grid.wpr-mgzn-grid-1-1-1>:nth-child(3),.wpr-magazine-grid.wpr-mgzn-grid-1-1-2>:nth-child(3),.wpr-magazine-grid.wpr-mgzn-grid-1-1-3>:nth-child(3),.wpr-magazine-grid.wpr-mgzn-grid-1-2>:nth-child(3),.wpr-magazine-grid.wpr-mgzn-grid-1-3>:nth-child(3),.wpr-magazine-grid.wpr-mgzn-grid-1-4>:nth-child(3),.wpr-magazine-grid.wpr-mgzn-grid-2-1-2>:nth-child(3),.wpr-magazine-grid.wpr-mgzn-grid-2-3>:nth-child(3),.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-1>:nth-child(3),.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-2>:nth-child(3),.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-3>:nth-child(3){-ms-grid-row:2;-ms-grid-column:1}.wpr-magazine-grid.wpr-mgzn-grid-1-1-1>:nth-child(4),.wpr-magazine-grid.wpr-mgzn-grid-1-1-2>:nth-child(4),.wpr-magazine-grid.wpr-mgzn-grid-1-1-3>:nth-child(4),.wpr-magazine-grid.wpr-mgzn-grid-1-2>:nth-child(4),.wpr-magazine-grid.wpr-mgzn-grid-1-3>:nth-child(4),.wpr-magazine-grid.wpr-mgzn-grid-1-4>:nth-child(4),.wpr-magazine-grid.wpr-mgzn-grid-2-1-2>:nth-child(4),.wpr-magazine-grid.wpr-mgzn-grid-2-3>:nth-child(4),.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-1>:nth-child(4),.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-2>:nth-child(4),.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-3>:nth-child(4){-ms-grid-row:2;-ms-grid-column:2}.wpr-magazine-grid.wpr-mgzn-grid-1-1-2>:nth-child(5),.wpr-magazine-grid.wpr-mgzn-grid-1-1-3>:nth-child(5),.wpr-magazine-grid.wpr-mgzn-grid-1-2>:nth-child(5),.wpr-magazine-grid.wpr-mgzn-grid-1-3>:nth-child(5),.wpr-magazine-grid.wpr-mgzn-grid-1-4>:nth-child(5),.wpr-magazine-grid.wpr-mgzn-grid-2-1-2>:nth-child(5),.wpr-magazine-grid.wpr-mgzn-grid-2-3>:nth-child(5),.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-2>:nth-child(5),.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-3>:nth-child(5){-ms-grid-row:3;-ms-grid-column:1}.wpr-magazine-grid.wpr-mgzn-grid-1-1-2>:nth-child(6),.wpr-magazine-grid.wpr-mgzn-grid-1-1-3>:nth-child(6),.wpr-magazine-grid.wpr-mgzn-grid-1-2>:nth-child(6),.wpr-magazine-grid.wpr-mgzn-grid-1-3>:nth-child(6),.wpr-magazine-grid.wpr-mgzn-grid-1-4>:nth-child(6),.wpr-magazine-grid.wpr-mgzn-grid-2-1-2>:nth-child(6),.wpr-magazine-grid.wpr-mgzn-grid-2-3>:nth-child(6),.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-2>:nth-child(6),.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-3>:nth-child(6){-ms-grid-row:3;-ms-grid-column:2}.wpr-magazine-grid.wpr-mgzn-grid-1-1-2,.wpr-magazine-grid.wpr-mgzn-grid-1-3,.wpr-magazine-grid.wpr-mgzn-grid-2-1-2{-ms-grid-columns:1fr 1fr!important;grid-template-columns:1fr 1fr!important;-ms-grid-rows:1fr 1fr 1fr!important;grid-template-rows:1fr 1fr 1fr!important}.wpr-magazine-grid.wpr-mgzn-grid-1-3 article:first-child{-ms-grid-row-span:2!important;grid-row-end:2!important}.wpr-magazine-grid.wpr-mgzn-grid-1-3 article:nth-child(2){-ms-grid-column:1!important;grid-column-start:1!important;-ms-grid-column-span:2!important;grid-column-end:3!important}.wpr-magazine-grid.wpr-mgzn-grid-1-1-3,.wpr-magazine-grid.wpr-mgzn-grid-1-4{-ms-grid-rows:(1fr)[3];grid-template-rows:repeat(3,1fr)}.wpr-magazine-grid.wpr-mgzn-grid-1-4 article:first-child{-ms-grid-column:1;grid-column-start:1;-ms-grid-column-span:2;grid-column-end:3;-ms-grid-row-span:1!important;grid-row-end:1!important}.wpr-magazine-grid.wpr-mgzn-grid-1-1-2 article:first-child{-ms-grid-column-span:3;grid-column-end:3;-ms-grid-row:1;grid-row-start:1;-ms-grid-row-span:1;grid-row-end:2}.wpr-magazine-grid.wpr-mgzn-grid-1-1-2 article:nth-child(2),.wpr-magazine-grid.wpr-mgzn-grid-2-1-2 article:nth-child(2){-ms-grid-row:2;grid-row-start:2;-ms-grid-column-span:2;grid-column-end:3;-ms-grid-column:1;grid-column-start:1}.wpr-magazine-grid.wpr-mgzn-grid-1-1-2 article:nth-child(2){-ms-grid-row-span:1;grid-row-end:3}.wpr-magazine-grid.wpr-mgzn-grid-1-1-1{-ms-grid-rows:1fr 1fr!important;grid-template-rows:1fr 1fr!important}.wpr-magazine-grid.wpr-mgzn-grid-1-1-1 article:nth-child(2){-ms-grid-column:1;grid-column-start:1;-ms-grid-column-span:2;grid-column-end:3;-ms-grid-row:1;grid-row-start:1}.wpr-magazine-grid.wpr-mgzn-grid-1-1-3 article:first-child{-ms-grid-column:1;grid-column-start:1;-ms-grid-column-span:2;grid-column-end:3;-ms-grid-row-span:2;grid-row-end:2}.wpr-magazine-grid.wpr-mgzn-grid-1-1-3 article:nth-child(2){-ms-grid-row:2;grid-row-start:2;-ms-grid-column:1;grid-column-start:1;-ms-grid-column-span:1;grid-column-end:2}.wpr-magazine-grid.wpr-mgzn-grid-1-1-3 article:nth-child(3){-ms-grid-row:2;grid-row-start:2;-ms-grid-column:2;grid-column-start:2;-ms-grid-column-span:1;grid-column-end:3}.wpr-magazine-grid.wpr-mgzn-grid-1-1-3 article:nth-child(4){-ms-grid-row:3;grid-row-start:3;-ms-grid-column:1;grid-column-start:1;-ms-grid-column-span:1;grid-column-end:2}.wpr-magazine-grid.wpr-mgzn-grid-1-1-3 article:nth-child(5){-ms-grid-row:3;grid-row-start:3;-ms-grid-column:2;grid-column-start:2;-ms-grid-column-span:1;grid-column-end:3}.wpr-magazine-grid.wpr-mgzn-grid-2-3,.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-3{-ms-grid-rows:(1fr)[6]!important;grid-template-rows:repeat(6,1fr)!important}.wpr-magazine-grid.wpr-mgzn-grid-2-3>:nth-child(7),.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-2>:nth-child(7),.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-3>:nth-child(7){-ms-grid-row:4;-ms-grid-column:1}.wpr-magazine-grid.wpr-mgzn-grid-2-3>:nth-child(8),.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-2>:nth-child(8),.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-3>:nth-child(8){-ms-grid-row:4;-ms-grid-column:2}.wpr-magazine-grid.wpr-mgzn-grid-2-3>:nth-child(9),.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-3>:nth-child(9){-ms-grid-row:5;-ms-grid-column:1}.wpr-magazine-grid.wpr-mgzn-grid-2-3>:nth-child(10),.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-3>:nth-child(10){-ms-grid-row:5;-ms-grid-column:2}.wpr-magazine-grid.wpr-mgzn-grid-2-3>:nth-child(11),.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-3>:nth-child(11){-ms-grid-row:6;-ms-grid-column:1}.wpr-magazine-grid.wpr-mgzn-grid-2-3>:nth-child(12),.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-3>:nth-child(12){-ms-grid-row:6;-ms-grid-column:2}.wpr-magazine-grid.wpr-mgzn-grid-2-3 article:first-child{-ms-grid-column:1;grid-column-start:1;-ms-grid-column-span:1;grid-column-end:2;-ms-grid-row:1;grid-row-start:1;-ms-grid-row-span:3;grid-row-end:4}.wpr-magazine-grid.wpr-mgzn-grid-2-3 article:nth-child(2){-ms-grid-column:1;grid-column-start:1;-ms-grid-column-span:1;grid-column-end:2;-ms-grid-row:4;grid-row-start:4;-ms-grid-row-span:3;grid-row-end:7}.wpr-magazine-grid.wpr-mgzn-grid-2-3 article:nth-child(3),.wpr-magazine-grid.wpr-mgzn-grid-2-3 article:nth-child(4),.wpr-magazine-grid.wpr-mgzn-grid-2-3 article:nth-child(5){-ms-grid-column:2;grid-column-start:2;-ms-grid-column-span:1;grid-column-end:3;-ms-grid-row-span:2}.wpr-magazine-grid.wpr-mgzn-grid-2-3 article:nth-child(3){-ms-grid-row:1;grid-row-start:1;grid-row-end:3}.wpr-magazine-grid.wpr-mgzn-grid-2-3 article:nth-child(4){-ms-grid-row:3;grid-row-start:3;grid-row-end:5}.wpr-magazine-grid.wpr-mgzn-grid-2-3 article:nth-child(5){-ms-grid-row:5;grid-row-start:5;grid-row-end:7}.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-1{-ms-grid-rows:(1fr)[2]!important;grid-template-rows:repeat(2,1fr)!important}.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-2{-ms-grid-rows:(1fr)[4]!important;grid-template-rows:repeat(4,1fr)!important}}@media screen and (max-width:880px){.wpr-main-menu-align--mobile_extracenter .wpr-nav-menu-vertical .wpr-menu-item .wpr-sub-icon,.wpr-main-menu-align--mobile_extraleft .wpr-nav-menu-vertical .wpr-menu-item .wpr-sub-icon{right:0}.wpr-main-menu-align--mobile_extraleft .wpr-nav-menu-horizontal .wpr-nav-menu,.wpr-main-menu-align--mobile_extraleft .wpr-nav-menu-vertical .wpr-menu-item{text-align:left}.wpr-main-menu-align--mobile_extracenter .wpr-nav-menu-horizontal .wpr-nav-menu,.wpr-main-menu-align--mobile_extracenter .wpr-nav-menu-vertical .wpr-menu-item{text-align:center}.wpr-main-menu-align--mobile_extraright .wpr-nav-menu-horizontal .wpr-nav-menu,.wpr-main-menu-align--mobile_extraright .wpr-nav-menu-vertical .wpr-menu-item{text-align:right}}.wpr-nav-menu .wpr-sub-menu{display:none;position:absolute;z-index:9999;width:180px;text-align:left;list-style:none;margin:0}.wpr-ba-vertical .wpr-ba-label-1,.wpr-flip-box-animation-push.wpr-flip-box-anim-direction-up .wpr-flip-box-active .wpr-flip-box-back,.wpr-flip-box-animation-slide.wpr-flip-box-anim-direction-up .wpr-flip-box-active .wpr-flip-box-back,.wpr-nav-menu-vertical .wpr-nav-menu>li>.wpr-sub-mega-menu,.wpr-nav-menu-vertical .wpr-nav-menu>li>.wpr-sub-menu,.wpr-onepage-nav-vr-top .wpr-onepage-nav,.wpr-pointer-line-fx.wpr-pointer-fx-drop .wpr-active-menu-item:before,.wpr-pricing-table-badge-cyrcle,.wpr-promo-box-badge-cyrcle{top:0}.wpr-sub-menu-position-inline .wpr-nav-menu-vertical .wpr-sub-menu{position:static;width:100%!important;text-align:center!important;margin-left:0!important}.wpr-nav-menu .wpr-sub-menu .wpr-sub-menu{top:0;left:100%}.wpr-sub-menu .wpr-sub-menu-item{display:block;font-size:14px}.wpr-nav-menu-horizontal .wpr-menu-item .wpr-sub-icon{margin-left:7px;text-indent:0}.wpr-nav-menu:not(.wpr-mega-menu) .wpr-sub-icon{position:absolute;top:48%;transform:translateY(-50%);-ms-transform:translateY(-50%);-webkit-transform:translateY(-50%)}.wpr-nav-menu:not(.wpr-mega-menu) .wpr-sub-icon-rotate{-webkit-transform:rotate(-90deg) translateX(80%);-ms-transform:rotate(-90deg) translateX(80%);transform:rotate(-90deg) translateX(80%)}.wpr-mobile-divider-yes .wpr-mobile-menu-item,.wpr-sub-divider-yes .wpr-sub-menu li:not(:last-child){border-bottom-style:solid}.wpr-mobile-nav-menu:not(.wpr-mobile-mega-menu){position:absolute;z-index:9999}.wpr-grid-slider-nav-align-bottom-center .wpr-grid-slider-arrow-container,.wpr-grid-slider-nav-align-top-center .wpr-grid-slider-arrow-container,.wpr-mobile-menu-drdown-align-center .wpr-mobile-mega-menu-wrap,.wpr-mobile-menu-drdown-align-center .wpr-mobile-nav-menu:not(.wpr-mobile-mega-menu),.wpr-post-info-align-center .wpr-post-info-vertical li:after,.wpr-slider-nav-align-bottom-center .wpr-slider-arrow-container,.wpr-slider-nav-align-top-center .wpr-slider-arrow-container,.wpr-testimonial-nav-align-bottom-center .wpr-testimonial-arrow-container,.wpr-testimonial-nav-align-top-center .wpr-testimonial-arrow-container{left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.wpr-grid-orderby span,.wpr-mobile-menu-item,.wpr-mobile-sub-menu-item{position:relative;display:block}.wpr-mobile-nav-menu .menu-item-has-children>a:after{position:absolute;right:0;top:50%;transform:translateY(-50%);-ms-transform:translateY(-50%);-webkit-transform:translateY(-50%)}.wpr-mobile-menu-item-align-left .wpr-mobile-sub-menu a:before{content:' ';display:inline-block;width:10px}.wpr-mobile-menu-item-align-left .wpr-mobile-sub-menu .wpr-mobile-sub-menu a:before{width:20px}.wpr-mobile-menu-item-align-right .wpr-mobile-nav-menu .menu-item-has-children>a:after{right:auto!important;left:0}div[class*=wpr-sub-icon-] .wpr-mobile-nav-menu .menu-item-has-children>a:after{font-family:"Font Awesome 5 Free";font-size:12px;font-weight:900;font-style:normal;text-decoration:none;line-height:1;letter-spacing:0;text-rendering:auto;-webkit-font-smoothing:antialiased}.wpr-sub-icon-caret-down .wpr-mobile-nav-menu .menu-item-has-children>a:after,.wpr-sub-icon-caret-down .wpr-sub-icon:before{content:"\f0d7"}.wpr-sub-icon-angle-down .wpr-mobile-nav-menu .menu-item-has-children>a:after,.wpr-sub-icon-angle-down .wpr-sub-icon:before{content:"\f107"}.wpr-sub-icon-chevron-down .wpr-mobile-nav-menu .menu-item-has-children>a:after,.wpr-sub-icon-chevron-down .wpr-sub-icon:before{content:"\f078"}.wpr-sub-icon-plus .wpr-mobile-nav-menu .menu-item-has-children>a:after,.wpr-sub-icon-plus .wpr-sub-icon:before{content:"\f067"}.wpr-grid-item-separator .inner-block,.wpr-mobile-toggle-wrap{font-size:0;line-height:0}.wpr-mobile-toggle{display:inline-block;padding:7px;cursor:pointer;border-style:solid;text-align:center}.elementor-widget-wpr-product-tabs.wpr-forms-submit-justify .form-submit input,.wpr-comment-form-author input,.wpr-comment-form-email input,.wpr-comment-form-text,.wpr-comment-form-text textarea,.wpr-comment-form-url input,.wpr-extra-label .wpr-label,.wpr-extra-label .wpr-sub-label,.wpr-flip-box-image img,.wpr-grid-image-wrap img,.wpr-mailchimp-email input,.wpr-mailchimp-email label,.wpr-mailchimp-first-name input,.wpr-mailchimp-first-name label,.wpr-mailchimp-last-name input,.wpr-mailchimp-last-name label,.wpr-mobile-toggle-line{display:block;width:100%}.woocommerce-notices-wrapper .woocommerce-error p,.woocommerce-notices-wrapper .woocommerce-message p,.wpr-advanced-slider.slick-dotted.slick-slider,.wpr-checkout-notice .woocommerce-error p,.wpr-checkout-notice .woocommerce-message p,.wpr-forms-container .wpforms-container,.wpr-forms-container .wpforms-field-address .wpforms-field-row:nth-last-child(2),.wpr-forms-container div.wpforms-container-full .wpforms-form .wpforms-field-row,.wpr-grid-last-row,.wpr-grid.slick-dotted.slick-slider,.wpr-mobile-toggle-line:last-child,.wpr-onepage-nav-item:last-child,.wpr-timeline-centered .wpr-timeline-entry:last-of-type,.wpr-woo-mini-cart .woocommerce-mini-cart-item:last-of-type{margin-bottom:0!important}.wpr-mobile-toggle-text{font-size:16px;line-height:1!important}.wpr-mobile-toggle-v2 .wpr-mobile-toggle-line:nth-child(2){width:78%;margin-left:24%}.wpr-mobile-toggle-v2 .wpr-mobile-toggle-line:nth-child(3){width:45%;margin-left:57%}.wpr-mobile-toggle-v3 .wpr-mobile-toggle-line:nth-child(2){width:75%;margin-left:15%}.wpr-mobile-toggle-v4 .wpr-mobile-toggle-line:first-child,.wpr-mobile-toggle-v4 .wpr-mobile-toggle-line:nth-child(3){width:75%;margin-left:25%}.wpr-mobile-toggle-v4 .wpr-mobile-toggle-line:nth-child(2){width:75%;margin-right:25%}@media screen and (max-width:1025px){.wpr-nav-menu-bp-tablet .wpr-nav-menu-container{display:none}.wpr-nav-menu-bp-tablet .wpr-mobile-nav-menu-container{display:block}}.wpr-pointer-background-fx .wpr-active-menu-item:before,.wpr-pointer-border-fx .wpr-active-menu-item:before,.wpr-pointer-line-fx .wpr-active-menu-item:after,.wpr-pointer-line-fx .wpr-active-menu-item:before{opacity:1!important}.wpr-pointer-fx-none{-webkit-transition-duration:0s!important;-o-transition-duration:0s!important;transition-duration:0s!important}.wpcf7 label,.wpcf7-quiz-label,.wpr-button-icon-style-block .wpr-button-text,.wpr-button-icon-style-inline-block .wpr-button-text,.wpr-comment-form .wpr-comment-form-fields>div,.wpr-grid-item-display-custom.wpr-grid-cf-style-1 .inner-block>a,.wpr-grid-item-display-custom.wpr-grid-cf-style-1 .inner-block>span,.wpr-grid-item-display-custom.wpr-grid-cf-style-2 .inner-block>a,.wpr-grid-item-display-custom.wpr-grid-cf-style-2 .inner-block>span,.wpr-grid-item-display-custom.wpr-grid-item-add-to-cart .inner-block>a,.wpr-grid-item-display-custom.wpr-grid-item-comments .inner-block a,.wpr-grid-item-display-custom.wpr-grid-item-date .inner-block>span,.wpr-grid-item-display-custom.wpr-grid-item-lightbox .inner-block>span,.wpr-grid-item-display-custom.wpr-grid-item-likes .inner-block a,.wpr-grid-item-display-custom.wpr-grid-item-product-price .inner-block>span,.wpr-grid-item-display-custom.wpr-grid-item-product-status .inner-block>span,.wpr-grid-item-display-custom.wpr-grid-item-read-more .inner-block a,.wpr-grid-item-display-custom.wpr-grid-item-sharing .inner-block>span,.wpr-grid-item-display-custom.wpr-grid-item-time .inner-block>span,.wpr-grid-item-display-custom.wpr-grid-item-title .inner-block a,.wpr-grid-item-display-custom.wpr-grid-sep-style-1 .inner-block>span,.wpr-grid-item-display-custom.wpr-grid-sep-style-2 .inner-block>span,.wpr-grid-sort-heading,.wpr-hotspot-image img,.wpr-pointer-double-line.wpr-pointer-fx-grow .wpr-pointer-item.wpr-active-menu-item:after,.wpr-pointer-double-line.wpr-pointer-fx-grow .wpr-pointer-item.wpr-active-menu-item:before,.wpr-pointer-double-line.wpr-pointer-fx-slide .wpr-pointer-item.wpr-active-menu-item:after,.wpr-pointer-double-line.wpr-pointer-fx-slide .wpr-pointer-item.wpr-active-menu-item:before,.wpr-pointer-overline.wpr-pointer-fx-grow .wpr-pointer-item.wpr-active-menu-item:before,.wpr-pointer-overline.wpr-pointer-fx-slide .wpr-pointer-item.wpr-active-menu-item:before,.wpr-pointer-underline.wpr-pointer-fx-grow .wpr-pointer-item.wpr-active-menu-item:after,.wpr-pointer-underline.wpr-pointer-fx-slide .wpr-pointer-item.wpr-active-menu-item:after,.wpr-popup-container>div,.wpr-promo-box-btn-wrap,.wpr-promo-box-description,.wpr-promo-box-icon,.wpr-promo-box-title,.wpr-rating-icon-full:before,.wpr-timeline-centered.wpr-one-sided-timeline-left .wpr-timeline-entry.wpr-left-aligned{width:100%}.wpr-pointer-line-fx.wpr-pointer-fx-drop .wpr-active-menu-item:after{bottom:0!important}.wpr-ken-burns-in,.wpr-pointer-background-fx.wpr-pointer-fx-grow .wpr-active-menu-item:before,.wpr-pointer-background-fx.wpr-pointer-fx-shrink .wpr-active-menu-item:before,.wpr-pointer-background-fx.wpr-pointer-fx-sweep .wpr-active-menu-item:before,.wpr-pointer-border-fx.wpr-pointer-fx-grow .wpr-active-menu-item:before,.wpr-pointer-border-fx.wpr-pointer-fx-shrink .wpr-active-menu-item:before{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.wpr-pointer-background-fx.wpr-pointer-fx-skew .wpr-active-menu-item:before{-webkit-transform:perspective(600px) rotateX(0);transform:perspective(600px) rotateX(0)}.elementor-widget-wpr-nav-menu .wpr-mobile-nav-menu a,.elementor-widget-wpr-nav-menu .wpr-mobile-toggle-text,.elementor-widget-wpr-nav-menu .wpr-nav-menu .wpr-menu-item{line-height:26px}.elementor-element.elementor-widget-wpr-tabs>.elementor-widget-container>.wpr-tabs>.wpr-tabs-content-wrap>.wpr-tab-content,.elementor-widget-wpr-button .wpr-button-text,.elementor-widget-wpr-button .wpr-button::after,.elementor-widget-wpr-content-ticker .wpr-content-ticker .wpr-ticker-heading,.elementor-widget-wpr-content-ticker .wpr-ticker-item .wpr-ticker-title,.elementor-widget-wpr-dual-button .wpr-button-a::after,.elementor-widget-wpr-dual-button .wpr-button-b::after,.elementor-widget-wpr-dual-button .wpr-button-text-a,.elementor-widget-wpr-dual-button .wpr-button-text-b,.elementor-widget-wpr-forms .caldera-forms-summary-field ul li,.elementor-widget-wpr-forms .caldera-grid .caldera-forms-gdpr-field-label,.elementor-widget-wpr-forms .caldera-grid .checkbox label,.elementor-widget-wpr-forms .caldera-grid .control-label,.elementor-widget-wpr-forms .caldera-grid .radio label,.elementor-widget-wpr-forms .caldera-grid .total-line,.elementor-widget-wpr-forms .nf-field-container label,.elementor-widget-wpr-forms .nf-form-fields-required,.elementor-widget-wpr-forms .wpcf7-form,.elementor-widget-wpr-forms .wpforms-captcha-equation,.elementor-widget-wpr-forms .wpforms-captcha-question,.elementor-widget-wpr-forms .wpforms-field-label,.elementor-widget-wpr-forms .wpforms-field-label-inline,.elementor-widget-wpr-forms .wpforms-head-container .wpforms-description,.elementor-widget-wpr-forms .wpforms-image-choices-label,.elementor-widget-wpr-forms .wpforms-payment-total,.elementor-widget-wpr-forms .wpr-forms-container .caldera_ajax_error_block,.elementor-widget-wpr-forms .wpr-forms-container .nf-error-msg,.elementor-widget-wpr-forms .wpr-forms-container .nf-response-msg,.elementor-widget-wpr-forms .wpr-forms-container .wpcf7-not-valid-tip,.elementor-widget-wpr-forms .wpr-forms-container .wpcf7-response-output,.elementor-widget-wpr-forms .wpr-forms-container .wpforms-confirmation-container-full,.elementor-widget-wpr-forms .wpr-forms-container label.wpforms-error,.elementor-widget-wpr-forms.caldera-grid .help-block,.elementor-widget-wpr-forms.nf-field-description,.elementor-widget-wpr-forms.wpforms-field-description,.elementor-widget-wpr-forms.wpforms-field-sublabel,.elementor-widget-wpr-grid .wpr-grid-cf-style-1,.elementor-widget-wpr-grid .wpr-grid-filters li,.elementor-widget-wpr-grid .wpr-grid-item-author,.elementor-widget-wpr-grid .wpr-grid-item-comments,.elementor-widget-wpr-grid .wpr-grid-item-content,.elementor-widget-wpr-grid .wpr-grid-item-date,.elementor-widget-wpr-grid .wpr-grid-item-excerpt,.elementor-widget-wpr-grid .wpr-grid-item-likes,.elementor-widget-wpr-grid .wpr-grid-item-protected p,.elementor-widget-wpr-grid .wpr-grid-item-read-more a,.elementor-widget-wpr-grid .wpr-grid-item-sharing,.elementor-widget-wpr-grid .wpr-grid-item-time,.elementor-widget-wpr-grid .wpr-grid-pagination,.elementor-widget-wpr-grid .wpr-grid-tax-style-1,.elementor-widget-wpr-grid .wpr-grid-tax-style-2,.elementor-widget-wpr-magazine-grid .wpr-grid-item-content,.elementor-widget-wpr-magazine-grid .wpr-grid-item-excerpt,.elementor-widget-wpr-mailchimp .wpr-mailchimp-header p,.elementor-widget-wpr-media-grid .wpr-grid-filters li,.elementor-widget-wpr-media-grid .wpr-grid-item-author,.elementor-widget-wpr-media-grid .wpr-grid-item-caption,.elementor-widget-wpr-media-grid .wpr-grid-item-date,.elementor-widget-wpr-media-grid .wpr-grid-item-likes,.elementor-widget-wpr-media-grid .wpr-grid-item-sharing,.elementor-widget-wpr-media-grid .wpr-grid-item-time,.elementor-widget-wpr-media-grid .wpr-grid-tax-style-1,.elementor-widget-wpr-media-grid .wpr-grid-tax-style-2,.elementor-widget-wpr-media-magazine-grid .wpr-grid-tax-style-2,.elementor-widget-wpr-nav-menu .wpr-sub-menu .wpr-sub-menu-item,.elementor-widget-wpr-onepage-nav .wpr-onepage-nav-item .wpr-tooltip,.elementor-widget-wpr-pricing-table .wpr-pricing-table-title-wrap .wpr-pricing-table-sub-title,.elementor-widget-wpr-promo-box .wpr-promo-box-badge,.elementor-widget-wpr-promo-box .wpr-promo-box-btn,.elementor-widget-wpr-woo-grid .wpr-grid-item-add-to-cart a,.elementor-widget-wpr-woo-grid .wpr-grid-item-content,.elementor-widget-wpr-woo-grid .wpr-grid-item-lightbox,.elementor-widget-wpr-woo-grid .wpr-grid-item-likes,.elementor-widget-wpr-woo-grid .wpr-grid-item-price .inner-block>span,.elementor-widget-wpr-woo-grid .wpr-grid-item-sharing,.elementor-widget-wpr-woo-grid .wpr-grid-item-status .inner-block>span,.elementor-widget-wpr-woo-grid .wpr-grid-pagination,.elementor-widget-wpr-woo-grid .wpr-grid-product-categories,.elementor-widget-wpr-woo-grid .wpr-grid-product-tags,.elementor-widget-wpr-woo-grid .wpr-woo-rating span,.wpr-price-list-description{font-size:14px}.wpr-button-icon,.wpr-button-icon-a,.wpr-button-icon-b,.wpr-button-text,.wpr-button-text-a,.wpr-button-text-b,.wpr-cart-wrapper .form-row.coupon-col,.wpr-individual-rating,.wpr-mega-menu a.wpr-menu-item,.wpr-mega-menu a.wpr-sub-menu-item,.wpr-mobile-mega-menu .wpr-mobile-menu-item,.wpr-mobile-mega-menu .wpr-mobile-sub-menu-item,.wpr-pc-btn-icon-right .wpr-pc-content,.wpr-price-list-heading,.wpr-stt-btn-icon-left .wpr-stt-btn,.wpr-table-custom-pagination-inner-cont{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wpr-grid-media-hover-bg,.wpr-hotspot-item,.wpr-image-accordion-wrap .wpr-img-accordion-hover-bg,.wpr-image-accordion-wrap .wpr-img-accordion-media-hover,.wpr-mega-menu .wpr-pointer-item:after,.wpr-mega-menu .wpr-pointer-item:before{position:absolute}.wpr-mega-menu .wpr-sub-icon,.wpr-price-list-position-left .wpr-price-list-price-wrap,.wpr-price-list-position-right .wpr-price-list-price-wrap,.wpr-product-filter-label-right .wpr-product-filter-tax-wrap li a span:last-child:not(.wpr-product-filter-tax-name){margin-left:auto}.wpr-nav-menu-horizontal .wpr-mega-menu .wpr-sub-icon{margin-top:-1px}.wpr-mega-menu .wpr-sub-icon-rotate,.wpr-mobile-menu-display-offcanvas .wpr-mobile-mega-menu>li>a>.wpr-mobile-sub-icon,.wpr-nav-menu-vertical .wpr-mega-menu .wpr-sub-icon{-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg)}.wpr-sub-mega-menu{display:none;position:absolute;z-index:99999;overflow:hidden;width:100%;text-align:left}.wpr-sub-mega-menu,.wpr-sub-mega-menu ul{font-size:1rem}.wpr-nav-menu-vertical .wpr-sub-mega-menu{width:840px}.wpr-grid-slider-nav-position-default .wpr-grid-slider-arrow,.wpr-slider-nav-position-default .wpr-slider-arrow,.wpr-testimonial-nav-position-default .wpr-testimonial-arrow,li.wpr-mega-menu-pos-default{position:static}.wpr-mega-menu-width-full .wpr-sub-mega-menu{width:100vw;left:-110%}.wpr-both-sided-timeline .wpr-middle-line,.wpr-hotspot-tooltip-position-bottom .wpr-hotspot-tooltip,.wpr-hotspot-tooltip-position-top .wpr-hotspot-tooltip,.wpr-main-menu-align-center .wpr-nav-menu-horizontal .wpr-mega-menu-pos-default.wpr-mega-menu-width-custom .wpr-sub-mega-menu{left:50%}.wpr-mega-menu-icon{position:relative;top:-1px;margin-right:5px}.wpr-mega-menu-badge{font-size:11px;padding:2px 5px;line-height:1}.wpr-nav-menu-horizontal .wpr-mega-menu-badge{position:absolute;top:-4px;right:0}.wpr-nav-menu-horizontal .wpr-mega-menu-badge:after{content:' ';position:absolute;top:100%;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid;border-top-color:inherit}.wpr-flip-box-btn-icon,.wpr-mobile-nav-menu .wpr-mega-menu-badge,.wpr-nav-menu-vertical .wpr-mega-menu-badge,.wpr-promo-box-btn-icon{margin-left:5px}.wpr-nav-menu-vertical .wpr-mega-menu-badge{margin-left:5px;vertical-align:middle;position:relative;top:-1px}.wpr-nav-menu-horizontal .wpr-mega-menu-badge-animation{-webkit-animation:2s ease-in-out infinite badgeBounce;animation:2s ease-in-out infinite badgeBounce}.wpr-nav-menu-vertical .wpr-mega-menu-badge-animation,.wpr-pl-badge-anim-yes .wpr-page-list-item-badge{-webkit-animation:2s ease-in-out infinite badgeFade;animation:2s ease-in-out infinite badgeFade}div[class*=wpr-sub-menu-fx] .wpr-mega-menu .wpr-sub-mega-menu,div[class*=wpr-sub-menu-fx] .wpr-mega-menu .wpr-sub-menu{display:block;visibility:hidden;opacity:0;z-index:-1;-webkit-transition:.2s ease-in;-o-transition:.2s ease-in;transition:.2s ease-in}div[class*=wpr-sub-menu-fx] .wpr-mega-menu .wpr-sub-mega-menu.wpr-animate-sub,div[class*=wpr-sub-menu-fx] .wpr-mega-menu .wpr-sub-menu.wpr-animate-sub{visibility:visible;opacity:1;z-index:9999}.wpr-sub-menu-fx-fade .wpr-sub-mega-menu{-webkit-transition:.3s ease-in;-o-transition:.3s ease-in;transition:.3s ease-in}.wpr-sub-menu-fx-move-up .wpr-sub-mega-menu,.wpr-sub-menu-fx-move-up .wpr-sub-menu{margin-top:10px}.wpr-sub-menu-fx-move-down .wpr-sub-mega-menu,.wpr-sub-menu-fx-move-down .wpr-sub-menu{margin-top:-10px}.wpr-product-filter-tax-child a,.wpr-sub-menu-fx-move-left .wpr-sub-mega-menu,.wpr-sub-menu-fx-move-left .wpr-sub-menu{margin-left:10px}.wpr-horizontal-bottom .wpr-button-prev,.wpr-pricing-table-badge-flag.wpr-pricing-table-badge-left,.wpr-promo-box-badge-flag.wpr-promo-box-badge-left,.wpr-sub-menu-fx-move-right .wpr-sub-mega-menu,.wpr-sub-menu-fx-move-right .wpr-sub-menu{margin-left:-10px}.wpr-forms-container .nf-form-content .label-above .nf-field-label,.wpr-sub-menu-fx-move-down .wpr-sub-mega-menu.wpr-animate-sub,.wpr-sub-menu-fx-move-down .wpr-sub-menu.wpr-animate-sub,.wpr-sub-menu-fx-move-up .wpr-sub-mega-menu.wpr-animate-sub,.wpr-sub-menu-fx-move-up .wpr-sub-menu.wpr-animate-sub{margin-top:0}.wpr-sub-menu-fx-move-left .wpr-sub-mega-menu.wpr-animate-sub,.wpr-sub-menu-fx-move-left .wpr-sub-menu.wpr-animate-sub,.wpr-sub-menu-fx-move-right .wpr-sub-mega-menu.wpr-animate-sub,.wpr-sub-menu-fx-move-right .wpr-sub-menu.wpr-animate-sub,.wpr-timeline-centered.wpr-both-sided-timeline .wpr-timeline-entry.wpr-left-aligned .wpr-timeline-entry-inner,.wpr-timeline-centered.wpr-one-sided-timeline .wpr-timeline-entry .wpr-timeline-entry-inner,.wpr-timeline-centered.wpr-one-sided-timeline-left .wpr-timeline-entry.wpr-left-aligned .wpr-timeline-entry-inner{margin-left:0}@-webkit-keyframes badgeBounce{50%{-webkit-transform:translateY(-25%);transform:translateY(-25%)}0%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes badgeBounce{50%{-webkit-transform:translateY(-25%);transform:translateY(-25%)}0%{-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes badgeFade{50%{opacity:.5}0%{opacity:1}}.wpr-mobile-menu-display-dropdown .wpr-mobile-mega-menu-wrap{display:none;position:absolute;z-index:9999}.wpr-mobile-menu-display-offcanvas .wpr-mobile-mega-menu-wrap{display:block;position:fixed;top:0;z-index:9999;height:100%;overflow:hidden;-webkit-transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform,-webkit-transform}.admin-bar .lg-toolbar,.admin-bar .wpr-mobile-menu-display-offcanvas .wpr-mobile-mega-menu-wrap{top:32px}.wpr-mobile-menu-offcanvas-slide-center .wpr-mobile-mega-menu-wrap,.wpr-mobile-menu-offcanvas-slide-left .wpr-mobile-mega-menu-wrap{left:0;-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%)}.wpr-mobile-menu-offcanvas-slide-right .wpr-mobile-mega-menu-wrap{right:0;-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%)}.wpr-mobile-menu-display-offcanvas .wpr-mobile-mega-menu-open{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}.wpr-mobile-mega-menu-overlay{opacity:0;visibility:hidden;position:fixed;top:0;left:0;z-index:9998;width:100%;height:100%;-webkit-transition:opacity .2s ease-in;-o-transition:opacity .2s ease-in;transition:opacity .2s ease-in}.elementor-editor-active .elementor-element-edit-mode:hover .wpr-template-edit-btn,.wpr-gallery-slider-nav-fade .flex-viewport:hover .wpr-gallery-slider-arrow,.wpr-grid-slider-nav-fade:hover .wpr-grid-slider-arrow-container,.wpr-mobile-mega-menu-open+.wpr-mobile-mega-menu-overlay,.wpr-onepage-nav-item:hover .wpr-tooltip,.wpr-product-media-slider-nav-fade .wpr-gallery-slider:hover .wpr-gallery-slider-arrow,.wpr-slider-nav-fade .wpr-advanced-slider-wrap:hover .wpr-slider-arrow,.wpr-tabs-triangle-yes>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab-active.wpr-tab:before,.wpr-thumbnail-slider-nav-fade .wpr-fcn-wrap:hover .wpr-thumbnail-slider-arrow,.wpr-thumbnail-slider-nav-fade .wpr-product-thumb-nav:hover .wpr-thumbnail-slider-arrow{opacity:1;visibility:visible}.elementor-widget-wpr-sharing-buttons.elementor-grid-0 .wpr-sharing-buttons,.elementor-widget-wpr-sharing-buttons[class*=elementor-grid-pro-] .wpr-sharing-buttons,.elementor-widget[class*=elementor-widget-wpr-] table.shop_table .variation,.mobile-mega-menu-header,.wpr-author-box-arrange-left .wpr-author-box,.wpr-ba-divider-icons,.wpr-button-content,.wpr-button-content-a,.wpr-button-content-b,.wpr-cart-section-wrap .coupon,.wpr-cart-wrapper,.wpr-checkout-horizontal .wpr-customer-details-wrapper,.wpr-comment-form-fields,.wpr-mailchimp-fields,.wpr-pc-content,.wpr-pc-wrapper,.wpr-post-nav-labels span,.wpr-post-navigation-wrap,.wpr-product-filter-label-left .wpr-product-filter-rating a,.wpr-product-filters .wpr-search-form-input-wrap,.wpr-search-form-style-inner .wpr-search-form-input-wrap,.wpr-search-form-style-outer .wpr-search-form,.wpr-stt-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.mobile-mega-menu-close{margin-left:auto;cursor:pointer}.wpr-mobile-mega-menu .wpr-mobile-sub-icon{margin-left:auto;font-size:13px}.wpr-mobile-mega-menu>li>a>.wpr-mobile-sub-icon{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;position:absolute;right:0}.wpr-business-hours,.wpr-checkout-order-review-table,.wpr-flip-box-animation-push .wpr-flip-box,.wpr-flip-box-animation-slide .wpr-flip-box,.wpr-grid-image-wrap,.wpr-member-content,.wpr-member-divider,.wpr-member-image,.wpr-mobile-menu-display-offcanvas .wpr-mobile-mega-menu li,.wpr-product-media-thumbs-slider .wpr-product-media-wrap .flex-control-nav,.wpr-product-media-thumbs-slider .wpr-product-media-wrap .woocommerce-product-gallery,.wpr-product-media-wrap .swiper,.wpr-team-member,.wpr-testimonial-image,.wpr-ticker-marquee{overflow:hidden}.wpr-mobile-mega-menu .wpr-mobile-sub-menu>li>a,.wpr-mobile-mega-menu>li>a{position:relative;left:0;-webkit-transition-property:left;-o-transition-property:left;transition-property:left}.wpr-mobile-mega-menu.wpr-mobile-sub-offcanvas-open>li>a{left:-100%;margin-right:20px}.wpr-mobile-menu-display-offcanvas .wpr-mobile-mega-menu>li>.wpr-mobile-sub-menu,.wpr-mobile-menu-display-offcanvas .wpr-mobile-sub-mega-menu{display:block;position:absolute;width:100%;top:0;left:100%;z-index:1;-webkit-transition-property:left;-o-transition-property:left;transition-property:left}.elementor-widget-wpr-product-tabs:not(.wpr-tabs-hr-position-left):not(.wpr-tabs-hr-position-right):not(.wpr-tabs-hr-position-center) .elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab:first-of-type,.wpr-countdown-item:first-child,.wpr-mobile-menu-display-offcanvas .wpr-mobile-mega-menu>.wpr-mobile-sub-open>.wpr-mobile-sub-menu,.wpr-mobile-menu-display-offcanvas .wpr-mobile-sub-offcanvas-open .wpr-mobile-sub-open .wpr-mobile-sub-mega-menu{margin-left:0!important}.wpr-mobile-menu-display-offcanvas .wpr-mobile-mega-menu .wpr-mobile-sub-menu .wpr-mobile-sub-menu{padding-left:10px}.wpr-gallery-slider-dot,.wpr-grid-slider-dot,.wpr-mobile-menu-display-offcanvas .wpr-menu-offcanvas-back,.wpr-slider-dot,.wpr-testimonial-dot{display:block;cursor:pointer}.wpr-onepage-nav{position:fixed;z-index:99999;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.wpr-onepage-nav-vr-middle .wpr-onepage-nav,.wpr-tabs-position-left.wpr-tabs-triangle-type-inner>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab:before,.wpr-tabs-position-right.wpr-tabs-triangle-type-outer>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab:before{top:50%;-ms-transform:translateY(-50%);transform:translateY(-50%);-webkit-transform:translateY(-50%)}.wpr-ba-vertical .wpr-ba-label-2,.wpr-onepage-nav-vr-bottom .wpr-onepage-nav,.wpr-post-info-vertical li:after{bottom:0}.wpr-onepage-nav-hr-left .wpr-onepage-nav-item:hover .wpr-tooltip{-ms-transform:translate(10%,-50%);transform:translate(10%,-50%);-webkit-transform:translate(10%,-50%)}.wpr-onepage-nav-hr-left .wpr-onepage-nav-item .wpr-tooltip{top:50%;left:100%;-ms-transform:translate(20%,-50%);transform:translate(20%,-50%);-webkit-transform:translate(20%,-50%)}.wpr-button-tooltip-a-position-right .wpr-button-tooltip-a:before,.wpr-button-tooltip-b-position-right .wpr-button-tooltip-b:before,.wpr-onepage-nav-hr-left .wpr-onepage-nav-item .wpr-tooltip:before{left:-8px;top:50%;-webkit-transform:translateY(-50%) rotate(90deg);-ms-transform:translateY(-50%) rotate(90deg);transform:translateY(-50%) rotate(90deg)}.wpr-onepage-nav-hr-right .wpr-onepage-nav-item:hover .wpr-tooltip{-ms-transform:translate(-110%,-50%);transform:translate(-110%,-50%);-webkit-transform:translate(-110%,-50%)}.wpr-onepage-nav-hr-right .wpr-onepage-nav-item .wpr-tooltip{top:50%;left:0;-ms-transform:translate(-120%,-50%);transform:translate(-120%,-50%);-webkit-transform:translate(-120%,-50%)}.wpr-onepage-nav-hr-right .wpr-onepage-nav-item .wpr-tooltip:before{left:auto;right:-8px;top:50%;-webkit-transform:translateY(-50%) rotate(-90deg);-ms-transform:translateY(-50%) rotate(-90deg);transform:translateY(-50%) rotate(-90deg)}.elementor-widget-wpr-onepage-nav .wpr-onepage-nav{background-color:#605be5;-webkit-box-shadow:0 0 15px 0 #d7d7d7;box-shadow:0 0 15px 0 #d7d7d7}.wpr-archive-title:after{content:' ';display:block}.wpr-featured-media-image{position:relative;display:inline-block;vertical-align:middle}.wpr-featured-media-caption,.wpr-product-media-caption{position:absolute;display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;height:100%}.wpr-gallery-slider-arrows-wrap,.wpr-thumbnail-slider-arrows-wrap{z-index:1;display:-webkit-box;display:-ms-flexbox;-webkit-box-pack:justify;left:0;position:absolute;width:100%}.wpr-fm-image-caption-hover .wpr-featured-media-caption,.wpr-pd-image-caption-hover .wpr-product-media-wrap .wpr-product-media-caption{opacity:0;-webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity}.wpr-ba-labels-hover:hover .wpr-ba-label,.wpr-flip-carousel .flipster__button,.wpr-fm-image-caption-hover:hover .wpr-featured-media-caption,.wpr-pd-image-caption-hover .wpr-product-media-wrap:hover .wpr-product-media-caption,.wpr-product-thumb-nav li.slick-current,.wpr-switcher-content-active .wpr-switcher-content-inner.wpr-overlay-none,.wpr-tab-content-active .wpr-tab-content-inner.wpr-overlay-none{opacity:1}.wpr-gallery-slider,.wpr-grid,.wpr-grid .added_to_cart,.wpr-grid-item-sharing .wpr-sharing-hidden a,.wpr-hide-items-before-append,.wpr-hide-pagination-on-search,.wpr-hide-table-before-arrange,.wpr-post-nav-fixed.wpr-post-nav-hover img,.wpr-switcher-content-inner,.wpr-tab-content-inner,.wpr-testimonial-nav-fade .wpr-testimonial-arrow{opacity:0}.wpr-flip-box[data-trigger=box],.wpr-forms-container .field-wrap.submit-wrap .ninja-forms-field,.wpr-gallery-lightbox-yes .wpr-featured-media-image,.wpr-gallery-lightbox-yes .wpr-product-media-image,.wpr-grid-item-lightbox .inner-block>span,.wpr-grid-item-sharing .wpr-sharing-trigger,.wpr-grid-lightbox-overlay,.wpr-hotspot-trigger-click .wpr-hotspot-item,.wpr-hotspot-trigger-hover .wpr-hotspot-item,.wpr-img-accordion-item-lightbox .inner-block>span,.wpr-img-accordion-lightbox-overlay,.wpr-img-accordion-wrapper-link-yes,.wpr-product-add-to-cart .wpr-quantity-wrapper i,.wpr-submit-comment,.wpr-table-custom-pagination-list{cursor:pointer}.wpr-flip-box-back-align-center .wpr-flip-box-back .wpr-flip-box-image img,.wpr-flip-box-front-align-center .wpr-flip-box-front .wpr-flip-box-image img,.wpr-gallery-slide img,.wpr-logo-position-center .wpr-logo-image,.wpr-pricing-table-heading-center .wpr-pricing-table-icon img,.wpr-testimonial-meta-align-center .wpr-testimonial-meta img{margin:0 auto}.wpr-gallery-slider-arrows-wrap{top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);height:0!important;display:flex;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wpr-thumbnail-slider-arrows-wrap{top:90%;display:flex;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wpr-thumbnail-slider-arrow{left:0;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wpr-thumbnail-slider-next-arrow{right:0;left:auto}.wpr-before-remove-from-mini-cart,.wpr-thumbnail-slider-nav-fade .wpr-fcn-wrap:hover .wpr-thumbnail-slider-arrow[disabled],.wpr-thumbnail-slider-prev-arrow[disabled]{opacity:.6}.wpr-product-media-thumbs-vertical .wpr-thumbnail-slider-prev-arrow{top:7px!important;left:50%!important;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.wpr-product-media-thumbs-vertical .wpr-thumbnail-slider-next-arrow{top:auto!important;bottom:7px!important;left:50%!important;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.wpr-product-media-thumbs-vertical .wpr-thumbnail-slider-next-arrow i,.wpr-product-media-thumbs-vertical .wpr-thumbnail-slider-prev-arrow i,.wpr-promo-box-badge-corner.wpr-promo-box-badge-right{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.wpr-product-media-thumbs-vertical .flex-control-nav li{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.wpr-product-media-thumbs-vertical .flex-control-nav li img{width:100%!important;height:100%!important;-o-object-fit:cover!important;object-fit:cover!important}.wpr-gallery-slider-arrow,.wpr-thumbnail-slider-arrow{position:absolute;top:50%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;z-index:120;-webkit-box-sizing:content-box;box-sizing:content-box;-webkit-transition:.5s;-o-transition:.5s;transition:.5s;text-align:center;cursor:pointer}.wpr-gallery-slider-arrow i,.wpr-thumbnail-slider-arrow i{display:block;width:100%;line-height:inherit}.wpr-gallery-slider-arrow,.wpr-thumbnail-slider-arrow,.wpr-ticker-heading-position-right.wpr-ticker-heading-triangle-middle .wpr-ticker-heading:before{-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.wpr-flip-box-animation-fade .wpr-flip-box-active .wpr-flip-box-front,.wpr-gallery-slider-nav-fade .wpr-gallery-slider-arrow,.wpr-grid-slider-nav-fade .wpr-grid-slider-arrow-container,.wpr-product-media-slider-nav-fade .wpr-gallery-slider-arrow,.wpr-slider-nav-fade .wpr-slider-arrow,.wpr-thumbnail-slider-nav-fade .wpr-thumbnail-slider-arrow{opacity:0;visibility:hidden}.wpr-product-media-lightbox{position:absolute;top:0;right:0;z-index:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.wpr-gallery-slider-dots{position:absolute;display:inline-table;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);z-index:110}.wpr-gallery-slider-dots ul,.wpr-grid-slider-dots ul,.wpr-slider-dots ul{list-style:none;margin:0;padding:0}.elementor-widget-wpr-product-tabs .comment-form-author,.elementor-widget-wpr-product-tabs .comment-form-email,.wpr-anim-text-inner,.wpr-comments-navigation-justify a.prev,.wpr-flip-box-back-align-left .wpr-flip-box-back .wpr-flip-box-image img,.wpr-flip-box-front-align-left .wpr-flip-box-front .wpr-flip-box-image img,.wpr-gallery-slider-dots li,.wpr-grid-item-display-custom.wpr-grid-item-align-left,.wpr-grid-item-display-inline.wpr-grid-item-align-left,.wpr-grid-pagination-justify .wpr-grid-pagi-left-arrows,.wpr-grid-pagination-justify .wpr-grid-pagination-default .wpr-prev-post-link,.wpr-grid-slider-dots-horizontal .wpr-grid-slider-dots li,.wpr-grid-slider-dots-pro-vr .slick-dots li,.wpr-img-accordion-item-display-custom.wpr-img-accordion-item-align-left,.wpr-img-accordion-item-display-inline.wpr-img-accordion-item-align-left,.wpr-logo-position-left .wpr-logo-image,.wpr-logo-position-left .wpr-logo-text,.wpr-prbar-layout-hr-line .wpr-prbar-title-wrap,.wpr-pricing-table-heading-left .wpr-pricing-table-icon,.wpr-slider-dots-horizontal .wpr-slider-dots li,.wpr-slider-dots-pro-vr .wpr-slider-dots li,.wpr-team-member-divider-left .wpr-member-divider:after,.wpr-testimonial-image-position-center.wpr-testimonial-meta-align-left .wpr-testimonial-meta img,.wpr-testimonial-image-position-left .wpr-testimonial-image,.wpr-testimonial-image-position-left .wpr-testimonial-logo-image img,.wpr-timeline-centered.wpr-both-sided-timeline .wpr-timeline-entry.wpr-left-aligned,.wpr-timeline-centered.wpr-one-sided-timeline-left .wpr-timeline-entry.wpr-left-aligned{float:left}.wpr-gallery-slider-dots li:last-child .wpr-gallery-slider-dot,.wpr-grid-item-excerpt .inner-block p,.wpr-grid-slider-dots li:last-child .wpr-grid-slider-dot,.wpr-grid-sorting .woocommerce-ordering,.wpr-grid-sorting .woocommerce-result-count,.wpr-grid-sorting .wpr-shop-page-title,.wpr-slider-dots li:last-child .wpr-slider-dot,.wpr-testimonial-dots li:last-child .wpr-testimonial-dot{margin:0!important}.wpr-author-box-image{display:inline-block;overflow:hidden}.wpr-author-box-arrange-right .wpr-author-box,.wpr-product-media-thumbs-vertical .woocommerce-product-gallery{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.wpr-author-box-arrange-left .wpr-author-box-image,.wpr-author-box-arrange-right .wpr-author-box-image,.wpr-testimonial-meta-position-left .wpr-testimonial-meta,.wpr-testimonial-meta-position-right .wpr-testimonial-meta{-ms-flex-negative:0;flex-shrink:0}.wpr-author-box-arrange-left .wpr-author-box-text,.wpr-author-box-arrange-right .wpr-author-box-text,.wpr-grid-sorting .woocommerce-ordering,.wpr-grid-sorting>div,.wpr-mailchimp-layout-hr .wpr-mailchimp-email,.wpr-mailchimp-layout-hr .wpr-mailchimp-first-name,.wpr-mailchimp-layout-hr .wpr-mailchimp-last-name,.wpr-sharing-label{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.wpr-posts-navigation-svg-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget-wpr-product-tabs:not(.wpr-tabs-hr-position-left):not(.wpr-tabs-hr-position-right):not(.wpr-tabs-hr-position-center) .elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab:last-of-type,.wpr-cf-no-url .wpr-comment-form-email,.wpr-cf-style-2 .wpr-comment-form-fields>div,.wpr-cf-style-5 .wpr-comment-form-fields>div,.wpr-comment-form[class*=wpr-cf-pro]>div,.wpr-countdown-item:last-of-type,.wpr-forms-align-left .wpr-forms-container div.wpforms-container-full .wpforms-form .wpforms-list-inline ul li:last-child,.wpr-forms-align-right .label-right .nf-field-description,.wpr-forms-align-right .wpcf7-acceptance .wpcf7-list-item,.wpr-forms-align-right .wpcf7-list-item.last,.wpr-forms-align-right div.wpforms-container-full .wpforms-form .wpforms-list-inline ul li:first-child,.wpr-grid-filters li:last-of-type,.wpr-grid-item-sharing a:last-of-type,.wpr-grid-pagi-right-arrows a:last-child,.wpr-grid-pagi-right-arrows span:last-child,.wpr-grid-slider-dots-horizontal .slick-dots li:last-child span,.wpr-load-more-btn,.wpr-member-social:last-child,.wpr-post-nav-back span:nth-child(2n),.wpr-post-navigation-wrap>div:last-child,.wpr-sharing-buttons .wpr-sharing-icon:last-child,.wpr-sharing-col-1 .wpr-sharing-buttons .wpr-sharing-icon,.wpr-sharing-col-2 .wpr-sharing-buttons .wpr-sharing-icon:nth-child(2n),.wpr-sharing-col-3 .wpr-sharing-buttons .wpr-sharing-icon:nth-child(3n),.wpr-sharing-col-4 .wpr-sharing-buttons .wpr-sharing-icon:nth-child(4n),.wpr-sharing-col-5 .wpr-sharing-buttons .wpr-sharing-icon:nth-child(5n),.wpr-sharing-col-6 .wpr-sharing-buttons .wpr-sharing-icon:nth-child(6n),.wpr-slider-dots-horizontal .slick-dots li:last-child span,.wpr-slider-dots-pro-vr .slick-dots li:last-child span,.wpr-testimonial-rating i:last-of-type,.wpr-testimonial-social:last-child,.wpr-woo-rating i:last-of-type{margin-right:0!important}.wpr-post-nav-fixed-default-wrap{position:fixed;bottom:0;z-index:999}.wpr-post-nav-fixed.wpr-post-navigation{position:fixed;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);z-index:999}.wpr-post-nav-fixed.wpr-post-navigation img{position:absolute;top:0;max-width:none}.wpr-post-nav-fixed.wpr-post-nav-hover.wpr-post-nav-prev img{-webkit-transform:perspective(600px) rotateY(90deg);transform:perspective(600px) rotateY(90deg);-webkit-transform-origin:center left 0;-ms-transform-origin:center left 0;transform-origin:center left 0}.wpr-post-nav-fixed.wpr-post-nav-hover.wpr-post-nav-next img{-webkit-transform:perspective(600px) rotateY(-90deg);transform:perspective(600px) rotateY(-90deg);-webkit-transform-origin:center right 0;-ms-transform-origin:center right 0;transform-origin:center right 0}.wpr-post-nav-fixed.wpr-post-nav-hover:hover img{opacity:1;position:absolute;-webkit-transform:none;-ms-transform:none;transform:none}.wpr-post-nav-static.wpr-post-navigation,.wpr-rating-icon-5:before{width:50%}.wpr-post-navigation{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;background-repeat:no-repeat;position:relative}.wpr-post-nav-overlay{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transition:.3s ease-in;-o-transition:.3s ease-in;transition:.3s ease-in}.wpr-post-nav-back{-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center;font-size:30px}.wpr-post-navigation a{position:relative;z-index:2;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wpr-entry-info-yes .wpr-table-custom-pagination,.wpr-forms-align-right .nf-form-wrap .field-wrap,.wpr-post-nav-next .wpr-post-nav-labels h5,.wpr-post-nav-next .wpr-post-nav-labels>span,.wpr-post-nav-next a,.wpr-product-adc-align-right .cart,.wpr-product-adc-align-right .wpr-product-add-to-cart .wpr-quantity-wrapper,.wpr-product-meta-right .wpr-product-meta .product_meta,.wpr-product-rating-flex.wpr-product-rating-right .inner-block,.wpr-switcher-label-style-outer>.elementor-widget-container>.wpr-content-toggle>.wpr-switcher-container>.wpr-switcher-first,.wpr-team-member-social-media-right .wpr-member-social-media{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.wpr-post-nav-labels{min-width:0}.wpr-post-nav-labels h5{display:-webkit-box;display:-ms-flexbox;display:flex;overflow:hidden;-ms-text-overflow:ellipsis}.wpr-grid-sorting,.wpr-post-nav-back a{display:-webkit-box;display:-ms-flexbox}.wpr-post-nav-dividers{padding:10px 0;border-top:1px solid #000;border-bottom:1px solid #000}.wpr-post-nav-divider{-ms-flex-item-align:stretch;-ms-grid-row-align:stretch;align-self:stretch;-ms-flex-negative:0;flex-shrink:0}.wpr-post-nav-dividers.wpr-post-navigation-wrap{padding-left:0!important;padding-right:0!important}.wpr-post-nav-back a{display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:0}.wpr-post-nav-back span{display:inline-block;border-style:solid}.wpr-post-info,.wpr-product-active-filters,.wpr-product-filter-rating,.wpr-product-filter-tax-wrap{padding:0;margin:0;list-style:none}.wpr-post-info-horizontal li:last-child{padding-right:0!important}.wpr-post-info-vertical li:last-child{padding-bottom:0!important}.wpr-post-info li .wpr-post-info-text{display:inline-block;text-align:left!important}.wpr-post-info li:after{content:' ';display:inline-block;position:absolute}.wpr-hotspot-tooltip-position-right .wpr-hotspot-tooltip:before,.wpr-post-info-horizontal li:after{top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.wpr-post-info-author img{display:inline-block;margin-right:10px;vertical-align:middle}.wpr-comments-list,.wpr-comments-list ul.children,.wpr-testimonial-dots ul{list-style:none;padding:0;margin:0}.wpr-forms-container .wpforms-form .wpforms-field,.wpr-forms-container .wpforms-submit-container,.wpr-google-map .gm-style-iw-c,.wpr-grid-item,.wpr-likes-no-default.wpr-likes-zero i{padding:0!important}.wpr-comment-avatar{float:left;overflow:hidden}.wpr-comment-avatar img{margin:0!important;position:static!important}.elementor-widget[class*=elementor-widget-wpr-] .variation-Size,.elementor-widget[class*=elementor-widget-wpr-] .wc-item-meta-label,.wpr-comments-wrap .comment-reply-link{float:none!important}.wpr-comment-reply-inline.wpr-comment-reply-align-right .wpr-comment-reply,.wpr-comments-navigation-justify a.next,.wpr-flip-box-back-align-right .wpr-flip-box-back .wpr-flip-box-image img,.wpr-flip-box-front-align-right .wpr-flip-box-front .wpr-flip-box-image img,.wpr-forms-align-right .caldera-grid .col-sm-4,.wpr-forms-align-right .caldera-grid .col-sm-6,.wpr-grid-item-display-custom.wpr-grid-item-align-right,.wpr-grid-item-display-inline.wpr-grid-item-align-right,.wpr-grid-pagination-justify .wpr-grid-pagi-right-arrows,.wpr-grid-pagination-justify .wpr-grid-pagination-default .wpr-next-post-link,.wpr-img-accordion-item-display-custom.wpr-img-accordion-item-align-right,.wpr-img-accordion-item-display-inline.wpr-img-accordion-item-align-right,.wpr-logo-position-right .wpr-logo-image,.wpr-logo-position-right .wpr-logo-text,.wpr-prbar-layout-hr-line .wpr-prbar-counter,.wpr-pricing-table-heading-right .wpr-pricing-table-icon,.wpr-team-member-divider-right .wpr-member-divider:after,.wpr-testimonial-image-position-center.wpr-testimonial-meta-align-right .wpr-testimonial-meta img,.wpr-testimonial-image-position-right .wpr-testimonial-image,.wpr-testimonial-image-position-right .wpr-testimonial-logo-image img,[dir=rtl] .slick-slide{float:right}.wpr-comment-reply-inline.wpr-comment-reply-align-left .wpr-comment-reply:before{content:'\00a0|\00a0'}.wpr-add-to-cart-icons-wrap,.wpr-checkout-horizontal .woocommerce-checkout .col2-set,.wpr-comment-form,.wpr-dual-heading-desc-top .wpr-dual-heading-wrap,.wpr-dual-heading-icon-top .wpr-dual-heading-wrap,.wpr-subtotal-align-bottom.wpr-mini-cart-sidebar .widget_shopping_cart_content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.elementor-widget-wpr-product-tabs .commentlist li,.wpr-comment-form label,.wpr-product-tabs .woocommerce-noreviews{margin-bottom:10px}.wpr-cf-style-2 .wpr-comment-form-fields,.wpr-cf-style-5 .wpr-comment-form-fields,.wpr-comment-form[class*=wpr-cf-pro] .wpr-comment-form-fields{display:block;width:60%}.wpr-cf-style-4.wpr-comment-form .wpr-comment-form-fields,.wpr-cf-style-5.wpr-comment-form .wpr-comment-form-fields,.wpr-cf-style-6.wpr-comment-form .wpr-comment-form-fields,.wpr-comment-form[class*=wpr-cf-pro] .wpr-comment-form-fields,.wpr-dual-heading-desc-top .wpr-dual-heading-description,.wpr-dual-heading-icon-top .wpr-dual-heading-icon-wrap{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.wpr-comments-list .comment-respond{margin-bottom:30px}.wpr-grid-item{float:left;position:relative;text-align:center}.wpr-grid-item,.wpr-grid-item *{outline:0!important}.wpr-grid-item-above-content{border-bottom:0!important;border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.wpr-grid:not([data-settings*=list]) .wpr-grid-item-below-content{border-top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.wpr-ba-image-2,.wpr-grid-media-hover,.wpr-img-accordion-media-hover{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}.wpr-grid-media-hover-top{position:absolute;top:0;left:0;width:100%;z-index:2}.wpr-grid-media-hover-bottom{position:absolute;bottom:0;left:0;width:100%;z-index:2}.wpr-grid-media-hover-middle,.wpr-img-accordion-media-hover-middle{position:relative;z-index:2}.wpr-grid .wpr-cv-container,.wpr-grid-item-add-to-cart .inner-block>a:after,.wpr-grid-item-add-to-cart .inner-block>a:before,.wpr-grid-item-read-more .inner-block>a:after,.wpr-grid-item-read-more .inner-block>a:before,.wpr-magazine-grid .wpr-cv-container,.wpr-magazine-grid .wpr-grid-media-hover{z-index:1}.slick-track:after,.wpr-grid-item-display-block,.wpr-img-accordion-item-display-block{clear:both}.wpr-grid-item-display-custom.wpr-grid-item-align-center,.wpr-grid-item-display-inline.wpr-grid-item-align-center,.wpr-img-accordion-item-display-custom.wpr-img-accordion-item-align-center,.wpr-img-accordion-item-display-inline.wpr-img-accordion-item-align-center{float:none;display:inline-block;vertical-align:middle}.wpr-grid-media-hover-bg img{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%) scale(1)!important;-ms-transform:translate(-50%,-50%) scale(1)!important;transform:translate(-50%,-50%) scale(1)!important;-webkit-filter:grayscale(0)!important;filter:grayscale(0)!important;-webkit-filter:blur(0px)!important;-filter:blur(0px)!important}.wpr-anim-text,.wpr-clipped-text,.wpr-grid-item-author img,.wpr-grid-item-author span,.wpr-highlighted-text{display:inline-block;vertical-align:middle}.wpr-grid-item-author img{-webkit-transform:none!important;-ms-transform:none!important;transform:none!important;-webkit-filter:none!important;filter:none!important}.wpr-grid-item-sharing .wpr-sharing-icon{display:inline-block;position:relative}.wpr-grid-item-sharing .wpr-sharing-icon .wpr-tooltip{left:50%;-ms-transform:translate(-50%,-100%);transform:translate(-50%,-100%);-webkit-transform:translate(-50%,-100%)}.wpr-grid-item-sharing .wpr-sharing-icon:hover .wpr-tooltip{visibility:visible;opacity:1;-ms-transform:translate(-50%,-120%);transform:translate(-50%,-120%);-webkit-transform:translate(-50%,-120%)}.wpr-grid-item-sharing .wpr-tooltip:before,.wpr-hotspot-tooltip-position-top .wpr-hotspot-tooltip:before,.wpr-tabs-position-above.wpr-tabs-triangle-type-outer.wpr-tabs-position-above>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab:before{left:50%;-ms-transform:translateX(-50%);transform:translateX(-50%);-webkit-transform:translateX(-50%)}.wpr-grid-item-sharing .wpr-tooltip{display:block;padding:10px}.wpr-grid-item-sharing .wpr-sharing-hidden{visibility:hidden;position:absolute;z-index:3;text-align:center}.wpr-sharing-hidden a{position:relative;top:-5px;-webkit-transition-duration:.3s!important;-o-transition-duration:.3s!important;transition-duration:.3s!important;-webkit-transition-timing-function:cubic-bezier(.445,.050,.55,.95);-o-transition-timing-function:cubic-bezier(.445,.050,.55,.95);transition-timing-function:cubic-bezier(.445,.050,.55,.95);-webkit-transition-delay:0s;-o-transition-delay:0s;transition-delay:0s}.wpr-grid-item-sharing .inner-block a,.wpr-sharing-buttons .wpr-sharing-icon{-webkit-transition-timing-function:linear;-o-transition-timing-function:linear}.wpr-sharing-hidden a+a{-webkit-transition-delay:0.1s;-o-transition-delay:0.1s;transition-delay:0.1s}.wpr-sharing-hidden a+a+a{-webkit-transition-delay:0.2s;-o-transition-delay:0.2s;transition-delay:0.2s}.wpr-sharing-hidden a+a+a+a{-webkit-transition-delay:0.3s;-o-transition-delay:0.3s;transition-delay:0.3s}.wpr-sharing-hidden a+a+a+a+a{-webkit-transition-delay:0.4s;-o-transition-delay:0.4s;transition-delay:0.4s}.wpr-grid-item-sharing .inner-block a{text-align:center;-webkit-transition-property:color,background-color,border;-o-transition-property:color,background-color,border;transition-property:color,background-color,border;transition-timing-function:linear}.wpr-grid-item-add-to-cart .inner-block>a,.wpr-grid-item-read-more .inner-block>a{position:relative;overflow:hidden;vertical-align:middle}.wpr-grid-item-add-to-cart .inner-block>a i,.wpr-grid-item-add-to-cart .inner-block>a span,.wpr-grid-item-read-more .inner-block>a i,.wpr-grid-item-read-more .inner-block>a span{position:relative;z-index:2;opacity:1}.wpr-grid-lightbox-overlay{position:absolute;top:0;left:0;z-index:10;width:100%;height:100%}.elementor-widget-wpr-sharing-buttons:not(.elementor-grid-0):not(.elementor-grid-pro-3):not(.elementor-grid-pro-4):not(.elementor-grid-pro-5):not(.elementor-grid-pro-6) .wpr-sharing-label-off .wpr-sharing-icon i,.wpr-grid-item-separator.wpr-grid-item-display-inline span,.wpr-img-accordion-item-separator.wpr-img-accordion-item-display-inline span{width:100%!important}.wpr-testimonial-rating i,.wpr-woo-rating i{display:inline;position:relative;font-family:eicons;font-style:normal;line-height:1;overflow:hidden}.wpr-testimonial-rating i:before,.wpr-woo-rating i:before{content:'\e934';font-weight:900;display:block;position:absolute;top:0;left:0;font-size:inherit;font-family:inherit;overflow:hidden}.wpr-product-filter-rating.wpr-woo-rating-style-2 i:before,.wpr-testimonial-rating-style_2 .wpr-testimonial-rating i:before,.wpr-woo-rating-style-2 .wpr-woo-rating i:before{content:'\002605'}.wpr-rating-icon-0:before{width:0}.wpr-rating-icon-1:before{width:10%}.wpr-rating-icon-2:before{width:20%}.wpr-rating-icon-3:before{width:30%}.wpr-rating-icon-4:before{width:40%}.wpr-rating-icon-6:before{width:60%}.wpr-rating-icon-7:before{width:70%}.elementor-widget-wpr-page-checkout .checkout_coupon .form-row-first,.wpr-rating-icon-8:before{width:80%}.wpr-rating-icon-9:before{width:90%}.wpr-grid-filters li span{display:inline-block;cursor:pointer;text-decoration:inherit}.wpr-grid-filters li sup{position:relative;padding-left:5px;line-height:1}.wpr-grid-filters li sup[data-brackets=yes]:before{content:'\0028'}.wpr-grid-filters li sup[data-brackets=yes]:after{content:'\0029'}.wpr-grid-filters .wpr-active-filter.wpr-pointer-item:after,.wpr-grid-filters .wpr-active-filter.wpr-pointer-item:before{opacity:1!important;width:100%!important}.wpr-grid-filters-sep{font-style:normal}.wpr-sub-filters{display:none;padding:0}.wpr-grid-sorting{display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.wpr-grid-sorting .woocommerce-ordering select{width:auto;outline:0!important}.wpr-atc-not-clickable{opacity:.5}@-webkit-keyframes added-tc-popup-animation{from{opacity:0;-webkit-transform:translateY(-50%);transform:translateY(-50%)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes added-tc-popup-animation{from{opacity:0;-webkit-transform:translateY(-50%);transform:translateY(-50%)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes added-tc-popup-animation-hide{from{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}to{opacity:0;-webkit-transform:translateY(-50%);transform:translateY(-50%)}}@keyframes added-tc-popup-animation-hide{from{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}to{opacity:0;-webkit-transform:translateY(-50%);transform:translateY(-50%)}}@-webkit-keyframes added-tc-popup-animation-bottom{from{opacity:0;-webkit-transform:translateY(50%);transform:translateY(50%)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes added-tc-popup-animation-bottom{from{opacity:0;-webkit-transform:translateY(50%);transform:translateY(50%)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes added-tc-popup-animation-hide-bottom{from{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}to{opacity:0;-webkit-transform:translateY(50%);transform:translateY(50%)}}@keyframes added-tc-popup-animation-hide-bottom{from{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}to{opacity:0;-webkit-transform:translateY(50%);transform:translateY(50%)}}@-webkit-keyframes added-tc-popup-animation-slide-in-left{from{opacity:0;-webkit-transform:translateX(100%);transform:translateX(100%)}to{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes added-tc-popup-animation-slide-in-left{from{opacity:0;-webkit-transform:translateX(100%);transform:translateX(100%)}to{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes added-tc-popup-animation-slide-out-left{from{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}to{opacity:0;-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes added-tc-popup-animation-slide-out-left{from{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}to{opacity:0;-webkit-transform:translateX(100%);transform:translateX(100%)}}@-webkit-keyframes added-tc-popup-animation-scale-up{from{opacity:0;-webkit-transform:scale(0);transform:scale(0)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes added-tc-popup-animation-scale-up{from{opacity:0;-webkit-transform:scale(0);transform:scale(0)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes added-tc-popup-animation-scale-down{from{opacity:1;-webkit-transform:scale(1);transform:scale(1)}to{opacity:0;-webkit-transform:scale(0);transform:scale(0)}}@keyframes added-tc-popup-animation-scale-down{from{opacity:1;-webkit-transform:scale(1);transform:scale(1)}to{opacity:0;-webkit-transform:scale(0);transform:scale(0)}}@-webkit-keyframes added-tc-popup-animation-fade{from{opacity:0}to{opacity:1}}@keyframes added-tc-popup-animation-fade{from{opacity:0}to{opacity:1}}@-webkit-keyframes added-tc-popup-animation-fade-out{from{opacity:1}to{opacity:0}}@keyframes added-tc-popup-animation-fade-out{from{opacity:1}to{opacity:0}}@-webkit-keyframes added-tc-popup-animation-skew{from{opacity:0;-webkit-transform:perspective(600px) rotateX(-90deg);transform:perspective(600px) rotateX(-90deg)}to{opacity:1;-webkit-transform:perspective(600px) rotateX(0);transform:perspective(600px) rotateX(0)}}@keyframes added-tc-popup-animation-skew{from{opacity:0;-webkit-transform:perspective(600px) rotateX(-90deg);transform:perspective(600px) rotateX(-90deg)}to{opacity:1;-webkit-transform:perspective(600px) rotateX(0);transform:perspective(600px) rotateX(0)}}@-webkit-keyframes added-tc-popup-animation-skew-off{from{opacity:1;-webkit-transform:perspective(600px) rotateX(0);transform:perspective(600px) rotateX(0)}to{opacity:0;-webkit-transform:perspective(600px) rotateX(-90deg);transform:perspective(600px) rotateX(-90deg)}}@keyframes added-tc-popup-animation-skew-off{from{opacity:1;-webkit-transform:perspective(600px) rotateX(0);transform:perspective(600px) rotateX(0)}to{opacity:0;-webkit-transform:perspective(600px) rotateX(-90deg);transform:perspective(600px) rotateX(-90deg)}}@-webkit-keyframes added-tc-popup-animation-skew-bottom{from{opacity:0;-webkit-transform:perspective(600px) rotateX(90deg);transform:perspective(600px) rotateX(90deg)}to{opacity:1;-webkit-transform:perspective(600px) rotateX(0);transform:perspective(600px) rotateX(0)}}@keyframes added-tc-popup-animation-skew-bottom{from{opacity:0;-webkit-transform:perspective(600px) rotateX(90deg);transform:perspective(600px) rotateX(90deg)}to{opacity:1;-webkit-transform:perspective(600px) rotateX(0);transform:perspective(600px) rotateX(0)}}@-webkit-keyframes added-tc-popup-animation-skew-off-bottom{from{opacity:1;-webkit-transform:perspective(600px) rotateX(0);transform:perspective(600px) rotateX(0)}to{opacity:0;-webkit-transform:perspective(600px) rotateX(90deg);transform:perspective(600px) rotateX(90deg)}}@keyframes added-tc-popup-animation-skew-off-bottom{from{opacity:1;-webkit-transform:perspective(600px) rotateX(0);transform:perspective(600px) rotateX(0)}to{opacity:0;-webkit-transform:perspective(600px) rotateX(90deg);transform:perspective(600px) rotateX(90deg)}}.wpr-added-to-cart-popup{position:fixed;display:-webkit-box;display:-ms-flexbox;display:flex;opacity:0;z-index:99999}.wpr-added-to-cart-popup.wpr-added-to-cart-slide-in-left{-webkit-animation-name:added-tc-popup-animation-slide-in-left!important;animation-name:added-tc-popup-animation-slide-in-left!important;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.wpr-added-to-cart-popup.wpr-added-to-cart-slide-out-left{-webkit-animation-name:added-tc-popup-animation-slide-out-left!important;animation-name:added-tc-popup-animation-slide-out-left!important;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.wpr-added-to-cart-popup.wpr-added-to-cart-scale-up{-webkit-animation-name:added-tc-popup-animation-scale-up!important;animation-name:added-tc-popup-animation-scale-up!important;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.wpr-added-to-cart-popup.wpr-added-to-cart-scale-down{-webkit-animation-name:added-tc-popup-animation-scale-down!important;animation-name:added-tc-popup-animation-scale-down!important;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.wpr-added-to-cart-popup.wpr-added-to-cart-fade{-webkit-animation-name:added-tc-popup-animation-fade!important;animation-name:added-tc-popup-animation-fade!important;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.wpr-added-to-cart-popup.wpr-added-to-cart-fade-out{-webkit-animation-name:added-tc-popup-animation-fade-out!important;animation-name:added-tc-popup-animation-fade-out!important;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.wpr-atc-popup-top .wpr-added-to-cart-popup.wpr-added-to-cart-skew{-webkit-transform-origin:center top 0;-ms-transform-origin:center top 0;transform-origin:center top 0;-webkit-animation-name:added-tc-popup-animation-skew!important;animation-name:added-tc-popup-animation-skew!important;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.wpr-atc-popup-top .wpr-added-to-cart-popup.wpr-added-to-cart-skew-off{-webkit-transform-origin:center top 0;-ms-transform-origin:center top 0;transform-origin:center top 0;-webkit-animation-name:added-tc-popup-animation-skew-off!important;animation-name:added-tc-popup-animation-skew-off!important;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.wpr-atc-popup-bottom .wpr-added-to-cart-popup.wpr-added-to-cart-skew{-webkit-transform-origin:center bottom 0;-ms-transform-origin:center bottom 0;transform-origin:center bottom 0;-webkit-animation-name:added-tc-popup-animation-skew-bottom!important;animation-name:added-tc-popup-animation-skew-bottom!important;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.wpr-atc-popup-bottom .wpr-added-to-cart-popup.wpr-added-to-cart-skew-off{-webkit-transform-origin:center bottom 0;-ms-transform-origin:center bottom 0;transform-origin:center bottom 0;-webkit-animation-name:added-tc-popup-animation-skew-off-bottom!important;animation-name:added-tc-popup-animation-skew-off-bottom!important;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.wpr-atc-popup-top .wpr-added-to-cart-popup{-webkit-animation-name:added-tc-popup-animation;animation-name:added-tc-popup-animation;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;top:0;right:0}.wpr-atc-popup-top .wpr-added-to-cart-popup-hide{-webkit-animation-name:added-tc-popup-animation-hide;animation-name:added-tc-popup-animation-hide;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.wpr-atc-popup-bottom .wpr-added-to-cart-popup{-webkit-animation-name:added-tc-popup-animation-bottom;animation-name:added-tc-popup-animation-bottom;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;bottom:0;right:0}.wpr-atc-popup-bottom .wpr-added-to-cart-popup-hide{-webkit-animation-name:added-tc-popup-animation-hide-bottom;animation-name:added-tc-popup-animation-hide-bottom;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.wpr-added-tc-title,.wpr-subtotal-align-bottom .wpr-mini-cart-separator{-webkit-box-flex:1;-ms-flex:1;flex:1}.wpr-added-tc-title a,.wpr-cart-wrapper img,.wpr-pricing-table-feature-icon,.wpr-pricing-table-feature-text{display:inline}.wpr-added-tc-popup-img img{width:100%;height:auto}.wpr-grid-pagination{margin-top:30px}.elementor-widget-wpr-product-tabs table td,.elementor-widget-wpr-product-tabs table th,.wpr-advanced-text-preffix,.wpr-advanced-text-suffix,.wpr-cart-wrapper table.shop_table img,.wpr-data-table-th-img,.wpr-grid-pagination i,.wpr-grid-pagination svg,.wpr-product-additional-information table td,.wpr-product-additional-information table th,.wpr-table-td,.wpr-table-text,.wpr-table-th{vertical-align:middle}.wpr-grid-pagination .wpr-disabled-arrow{cursor:not-allowed;opacity:.4}.wpr-grid-pagination-center .wpr-grid-pagination,.wpr-table-export-button-cont{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.wpr-ajax-search-pagination-left .wpr-ajax-search-pagination,.wpr-grid-pagination-left .wpr-grid-pagination{text-align:left;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.wpr-ajax-search-pagination-right .wpr-ajax-search-pagination,.wpr-grid-pagination-right .wpr-grid-pagination{text-align:right;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.wpr-grid-pagination .wpr-first-page,.wpr-grid-pagination .wpr-last-page,.wpr-grid-pagination .wpr-next-page,.wpr-grid-pagination .wpr-next-post-link,.wpr-grid-pagination .wpr-prev-page,.wpr-grid-pagination .wpr-prev-post-link{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%}.wpr-grid-slider-nav-position-default .wpr-grid-slider-arrow-container,.wpr-slider-nav-position-default .wpr-slider-arrow-container,.wpr-testimonial-nav-position-default .wpr-testimonial-arrow-container{position:absolute;display:-webkit-box;display:-ms-flexbox;display:flex}.wpr-grid-slider-nav-position-default .wpr-grid-slider-prev-arrow,.wpr-slider-nav-position-default .wpr-slider-prev-arrow,.wpr-testimonial-nav-position-default .wpr-testimonial-prev-arrow{-ms-transform:none;transform:none;-webkit-transform:none}.wpr-grid-slider-nav-position-default .wpr-grid-slider-next-arrow,.wpr-slider-nav-position-default .wpr-slider-next-arrow,.wpr-testimonial-nav-position-default .wpr-testimonial-next-arrow{-ms-transform:translateY(0) rotate(180deg);transform:translateY(0) rotate(180deg);-webkit-transform:translateY(0) rotate(180deg)}.wpr-grid-slider-arrow{position:absolute;z-index:120;top:50%;-webkit-box-sizing:content-box;box-sizing:content-box;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-transition:.5s;-o-transition:.5s;transition:.5s;text-align:center;cursor:pointer}.wpr-grid-slider-arrow i,.wpr-mini-cart-image a,.wpr-taxonomy-list i{display:block;width:100%;height:100%}.wpr-grid-slider-prev-arrow,.wpr-horizontal-bottom .wpr-timeline-prev-arrow,.wpr-slider-prev-arrow{left:1%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.wpr-grid-slider-next-arrow,.wpr-horizontal-bottom .wpr-timeline-next-arrow,.wpr-slider-next-arrow{right:1%;-webkit-transform:translateY(-50%) rotate(180deg);-ms-transform:translateY(-50%) rotate(180deg);transform:translateY(-50%) rotate(180deg)}.wpr-grid-slider-dots,.wpr-slider-dots,.wpr-testimonial-dots{display:inline-table;position:absolute;z-index:110;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.wpr-grid-slider-dots-vertical .slick-dots li,.wpr-slider-dots-vertical .slick-dots li{display:block;width:auto!important;height:auto!important;margin:0!important}.wpr-grid-slider-dots-horizontal .slick-dots li,.wpr-grid-slider-dots-pro-vr .slick-dots li,.wpr-slider-dots-horizontal .slick-dots li{width:auto!important;padding-top:10px;margin:0!important}.wpr-grid-item-protected{position:absolute;top:0;left:0;z-index:11!important;width:100%;height:100%}.wpr-grid-item-protected i,.wpr-timeline-centered .wpr-timeline-entry .wpr-timeline-entry-inner .wpr-icon i{font-size:22px}.wpr-grid-item-protected input{width:50%;border:none;margin-top:10px;padding:7px 13px;font-size:13px}.wpr-grid-sorting-inner-wrap{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.wpr-my-account-tabs-horizontal nav ul,.wpr-product-filter-label-right .wpr-product-filter-rating a,.wpr-sort-select-position-above .wpr-grid-sort-heading{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.wpr-grid-sorting-inner-wrap form .orderby::-ms-expend{display:none}.wpr-grid-sorting-wrap form .orderby{-moz-appearance:none;-webkit-appearance:none}.wpr-grid-sorting-wrap .wpr-orderby-icon{position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);font-family:"Font Awesome 5 Free";font-weight:600!important}.elementor-widget-wpr-grid .wpr-grid-media-hover-bg,.elementor-widget-wpr-media-grid .wpr-grid-media-hover-bg,.elementor-widget-wpr-woo-grid .wpr-grid-media-hover-bg{background-color:rgba(0,0,0,.25)}.elementor-widget-wpr-magazine-grid .wpr-grid-media-hover-bg{background-image:-o-linear-gradient(top,rgba(255,255,255,0) 46%,rgba(96,91,229,.87) 100%);background-image:-webkit-gradient(linear,left top,left bottom,color-stop(46%,rgba(255,255,255,0)),to(rgba(96,91,229,.87)));background-image:linear-gradient(180deg,rgba(255,255,255,0) 46%,rgba(96,91,229,.87) 100%)}.elementor-widget-wpr-grid .wpr-grid-item-title,.elementor-widget-wpr-woo-category-grid-pro .wpr-grid-item-title,.elementor-widget-wpr-woo-grid .wpr-grid-item-title{font-size:21px;font-weight:700;line-height:23px;margin:0}.elementor-widget-wpr-magazine-grid .wpr-grid-item-title{font-size:22px;margin:0}.elementor-widget-wpr-media-grid .wpr-grid-item-title{font-size:15px;font-weight:500;margin:0}.elementor-widget-wpr-magazine-grid .wpr-grid-tax-style-1{font-size:12px;list-style-position:0.5px}.elementor-widget-wpr-magazine-grid .wpr-grid-item-author,.elementor-widget-wpr-magazine-grid .wpr-grid-item-date,.elementor-widget-wpr-magazine-grid .wpr-grid-item-time{font-size:12px;list-style-position:0.3px}.elementor-widget-wpr-grid .wpr-grid-item-lightbox,.elementor-widget-wpr-media-grid .wpr-grid-item-lightbox{font-size:18px}.elementor-widget-wpr-flip-box .wpr-flip-box-back .wpr-flip-box-content .wpr-flip-box-description,.elementor-widget-wpr-flip-box .wpr-flip-box-front .wpr-flip-box-content .wpr-flip-box-description,.elementor-widget-wpr-grid .wpr-grid-cf-style-2,.elementor-widget-wpr-media-grid .wpr-grid-pagination,.elementor-widget-wpr-promo-box .wpr-promo-box-description,.wpr-hotspot-text{font-size:15px}.elementor-widget-wpr-advanced-text .wpr-clipped-text-content,.elementor-widget-wpr-button .wpr-button,.elementor-widget-wpr-countdown .wpr-countdown-item,.elementor-widget-wpr-dual-button .wpr-button-a,.elementor-widget-wpr-dual-button .wpr-button-b,.elementor-widget-wpr-flip-box .wpr-flip-box-front,.elementor-widget-wpr-forms .caldera-grid .btn-default,.elementor-widget-wpr-forms .caldera-grid .cf2-dropzone button,.elementor-widget-wpr-forms .submit-wrap .ninja-forms-field,.elementor-widget-wpr-forms .wpcf7-submit,.elementor-widget-wpr-forms .wpforms-page-next,.elementor-widget-wpr-forms .wpforms-page-previous,.elementor-widget-wpr-forms .wpforms-submit,.elementor-widget-wpr-grid .wpr-grid-tax-style-2 .inner-block a,.elementor-widget-wpr-mailchimp .wpr-mailchimp-subscribe-btn,.elementor-widget-wpr-pricing-table .wpr-pricing-table-price,.elementor-widget-wpr-progress-bar .wpr-prbar-hr-line-inner,.elementor-widget-wpr-progress-bar .wpr-prbar-vr-line-inner{background-color:#605be5}.elementor-widget-wpr-button .wpr-button-none:hover,.elementor-widget-wpr-button .wpr-button::after,.elementor-widget-wpr-button .wpr-button::before,.elementor-widget-wpr-button [class*=elementor-animation]:hover,.elementor-widget-wpr-dual-button .wpr-dual-button .wpr-button-effect::after,.elementor-widget-wpr-dual-button .wpr-dual-button .wpr-button-effect::before,.elementor-widget-wpr-dual-button .wpr-dual-button .wpr-button-none:hover,.elementor-widget-wpr-dual-button .wpr-dual-button [class*=elementor-animation]:hover,.elementor-widget-wpr-forms .caldera-grid .btn-default:hover,.elementor-widget-wpr-forms .caldera-grid .btn-success,.elementor-widget-wpr-forms .caldera-grid .cf2-dropzone button:hover,.elementor-widget-wpr-forms .submit-wrap .ninja-forms-field:hover,.elementor-widget-wpr-forms .wpcf7-submit:hover,.elementor-widget-wpr-forms .wpforms-page-next:hover,.elementor-widget-wpr-forms .wpforms-page-previous:hover,.elementor-widget-wpr-forms .wpforms-submit:hover,.elementor-widget-wpr-grid .wpr-grid-tax-style-2 .inner-block a:hover,.elementor-widget-wpr-mailchimp .wpr-mailchimp-subscribe-btn:hover,.elementor-widget-wpr-pricing-table .wpr-pricing-table-btn:hover{background-color:#4a45d2}@media screen and (max-width:580px){.wpr-grid-sorting-inner-wrap{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.wpr-products-result-count{margin-bottom:5px}.wpr-grid-orderby,.wpr-grid-orderby select.orderby,.wpr-products-result-count{width:100%!important}}.wpr-magazine-grid{display:-ms-grid;display:grid;-webkit-box-pack:stretch;-ms-flex-pack:stretch;justify-content:stretch;-ms-grid-rows:1fr 1fr;grid-template-rows:1fr 1fr}.wpr-mgzn-grid-item{padding:0!important;text-align:center}.wpr-mgzn-grid-1vh-3h{-ms-grid-rows:auto;grid-template-rows:auto}.wpr-mgzn-grid-1-1-1{-ms-grid-rows:1fr;grid-template-rows:1fr}.wpr-mgzn-grid-1-1-3,.wpr-mgzn-grid-2-3{-ms-grid-columns:(1fr)[6];grid-template-columns:repeat(6,1fr)}.wpr-mgzn-grid-2-h{-ms-grid-columns:(1fr)[2];grid-template-columns:repeat(2,1fr)}.wpr-mgzn-grid-3-h{-ms-grid-columns:(1fr)[3];grid-template-columns:repeat(3,1fr)}.wpr-mgzn-grid-4-h{-ms-grid-columns:(1fr)[4];grid-template-columns:repeat(4,1fr)}.wpr-mgzn-grid-1vh-3h .wpr-mgzn-grid-item:first-child{-ms-grid-column:1;grid-column-start:1;-ms-grid-row:1;grid-row-start:1;-ms-grid-row-span:3;grid-row-end:4}.wpr-mgzn-grid-1-1-2 .wpr-mgzn-grid-item:nth-child(2),.wpr-mgzn-grid-2-1-2 .wpr-mgzn-grid-item:nth-child(2){-ms-grid-row-span:2;grid-row-end:3;-ms-grid-row:1;grid-row-start:1}.wpr-mgzn-grid-1vh-3h .wpr-mgzn-grid-item:nth-child(2),.wpr-mgzn-grid-1vh-3h .wpr-mgzn-grid-item:nth-child(3),.wpr-mgzn-grid-1vh-3h .wpr-mgzn-grid-item:nth-child(4){-ms-grid-column:2;grid-column-start:2}.wpr-mgzn-grid-1-1-2 .wpr-mgzn-grid-item:first-child,.wpr-mgzn-grid-1-2 .wpr-mgzn-grid-item:first-child,.wpr-mgzn-grid-1-3 .wpr-mgzn-grid-item:first-child,.wpr-mgzn-grid-1-4 .wpr-mgzn-grid-item:first-child{-ms-grid-column:1;grid-column-start:1;-ms-grid-row:1;grid-row-start:1;-ms-grid-row-span:2;grid-row-end:3}.wpr-mgzn-grid-2-1-2 .wpr-mgzn-grid-item:nth-child(2){-ms-grid-column:2;grid-column-start:2}.wpr-mgzn-grid-1-3 .wpr-mgzn-grid-item:nth-child(2){-ms-grid-column:2;grid-column-start:2;-ms-grid-column-span:2;grid-column-end:4}.wpr-mgzn-grid-1-1-3 .wpr-mgzn-grid-item:first-child,.wpr-mgzn-grid-1-1-3 .wpr-mgzn-grid-item:nth-child(2),.wpr-mgzn-grid-2-3 .wpr-mgzn-grid-item:first-child,.wpr-mgzn-grid-2-3 .wpr-mgzn-grid-item:nth-child(2){-ms-grid-row:1;grid-row-start:1;-ms-grid-row-span:1;grid-row-end:2}.wpr-mgzn-grid-2-3 .wpr-mgzn-grid-item:first-child{-ms-grid-column:1;grid-column-start:1;-ms-grid-column-span:3;grid-column-end:4}.wpr-mgzn-grid-2-3 .wpr-mgzn-grid-item:nth-child(2){-ms-grid-column:4;grid-column-start:4;-ms-grid-column-span:3;grid-column-end:7}.wpr-mgzn-grid-1-1-3 .wpr-mgzn-grid-item:first-child{-ms-grid-column:1;grid-column-start:1;-ms-grid-column-span:4;grid-column-end:5}.wpr-mgzn-grid-1-1-3 .wpr-mgzn-grid-item:nth-child(2),.wpr-mgzn-grid-1-1-3 .wpr-mgzn-grid-item:nth-child(5),.wpr-mgzn-grid-2-3 .wpr-mgzn-grid-item:nth-child(5){-ms-grid-column:5;grid-column-start:5;-ms-grid-column-span:2;grid-column-end:7}.wpr-mgzn-grid-1-1-3 .wpr-mgzn-grid-item:nth-child(3),.wpr-mgzn-grid-1-1-3 .wpr-mgzn-grid-item:nth-child(4),.wpr-mgzn-grid-1-1-3 .wpr-mgzn-grid-item:nth-child(5),.wpr-mgzn-grid-2-3 .wpr-mgzn-grid-item:nth-child(3),.wpr-mgzn-grid-2-3 .wpr-mgzn-grid-item:nth-child(4),.wpr-mgzn-grid-2-3 .wpr-mgzn-grid-item:nth-child(5){-ms-grid-row:2;grid-row-start:2;-ms-grid-row-span:1;grid-row-end:3}.wpr-mgzn-grid-1-1-3 .wpr-mgzn-grid-item:nth-child(3),.wpr-mgzn-grid-2-3 .wpr-mgzn-grid-item:nth-child(3){-ms-grid-column:1;grid-column-start:1;-ms-grid-column-span:2;grid-column-end:3}.wpr-mgzn-grid-1-1-3 .wpr-mgzn-grid-item:nth-child(4),.wpr-mgzn-grid-2-3 .wpr-mgzn-grid-item:nth-child(4){-ms-grid-column:3;grid-column-start:3;-ms-grid-column-span:2;grid-column-end:5}.wpr-cart-wrapper .form-row.coupon-col .coupon-col-end,.wpr-magazine-grid .wpr-grid-image-wrap,.wpr-magazine-grid .wpr-grid-item-inner,.wpr-magazine-grid .wpr-grid-media-wrap{height:100%}.wpr-sharing-buttons .wpr-sharing-icon{overflow:hidden;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;color:#fff!important;transition-propery:opacity,border-color;transition-timing-function:linear}.wpr-sharing-buttons .wpr-sharing-icon i{display:block;text-align:center}.wpr-sharing-buttons.wpr-sharing-col-1 .wpr-sharing-icon{width:100%;margin-right:0!important}.wpr-sharing-buttons .wpr-sharing-icon i,.wpr-sharing-buttons .wpr-sharing-icon span{transition-propery:color,background-color;-webkit-transition-timing-function:linear;-o-transition-timing-function:linear;transition-timing-function:linear}.wpr-sharing-official .wpr-sharing-icon:hover{opacity:.85}.wpr-sharing-official .wpr-sharing-facebook-f i,.wpr-sharing-official .wpr-sharing-facebook-f span{background-color:#3b5998}.wpr-sharing-official .wpr-sharing-twitter i,.wpr-sharing-official .wpr-sharing-twitter span{background-color:#1da1f2}.wpr-sharing-official .wpr-sharing-linkedin-in i,.wpr-sharing-official .wpr-sharing-linkedin-in span{background-color:#0077b5}.wpr-sharing-official .wpr-sharing-pinterest-p i,.wpr-sharing-official .wpr-sharing-pinterest-p span{background-color:#bd081c}.wpr-sharing-official .wpr-sharing-reddit i,.wpr-sharing-official .wpr-sharing-reddit span{background-color:#ff4500}.wpr-sharing-official .wpr-sharing-tumblr i,.wpr-sharing-official .wpr-sharing-tumblr span{background-color:#35465c}.wpr-sharing-official .wpr-sharing-digg i,.wpr-sharing-official .wpr-sharing-digg span{background-color:#005be2}.wpr-sharing-official .wpr-sharing-xing i,.wpr-sharing-official .wpr-sharing-xing span{background-color:#026466}.wpr-sharing-official .wpr-sharing-stumbleupon i,.wpr-sharing-official .wpr-sharing-stumbleupon span{background-color:#eb4924}.wpr-sharing-official .wpr-sharing-vk i,.wpr-sharing-official .wpr-sharing-vk span{background-color:#45668e}.wpr-sharing-official .wpr-sharing-odnoklassniki i,.wpr-sharing-official .wpr-sharing-odnoklassniki span{background-color:#f4731c}.wpr-sharing-official .wpr-sharing-get-pocket i,.wpr-sharing-official .wpr-sharing-get-pocket span{background-color:#ef3f56}.wpr-sharing-official .wpr-sharing-skype i,.wpr-sharing-official .wpr-sharing-skype span{background-color:#00aff0}.wpr-sharing-official .wpr-sharing-whatsapp i,.wpr-sharing-official .wpr-sharing-whatsapp span{background-color:#25d366}.wpr-sharing-official .wpr-sharing-telegram i,.wpr-sharing-official .wpr-sharing-telegram span{background-color:#2ca5e0}.wpr-sharing-official .wpr-sharing-delicious i,.wpr-sharing-official .wpr-sharing-delicious span{background-color:#39f}.wpr-sharing-official .wpr-sharing-envelope i,.wpr-sharing-official .wpr-sharing-envelope span{background-color:#c13b2c}.wpr-sharing-official .wpr-sharing-print i,.wpr-sharing-official .wpr-sharing-print span{background-color:#96c859}.wpr-sharing-official .wpr-sharing-facebook-f{border-color:#3b5998}.wpr-sharing-official .wpr-sharing-twitter{border-color:#1da1f2}.wpr-sharing-official .wpr-sharing-linkedin-in{border-color:#0077b5}.wpr-sharing-official .wpr-sharing-pinterest-p{border-color:#bd081c}.wpr-sharing-official .wpr-sharing-reddit{border-color:#ff4500}.wpr-sharing-official .wpr-sharing-tumblr{border-color:#35465c}.wpr-sharing-official .wpr-sharing-digg{border-color:#005be2}.wpr-sharing-official .wpr-sharing-xing{border-color:#026466}.wpr-sharing-official .wpr-sharing-stumbleupon{border-color:#eb4924}.wpr-sharing-official .wpr-sharing-vk{border-color:#45668e}.wpr-sharing-official .wpr-sharing-odnoklassniki{border-color:#f4731c}.wpr-sharing-official .wpr-sharing-get-pocket{border-color:#ef3f56}.wpr-sharing-official .wpr-sharing-skype{border-color:#00aff0}.wpr-sharing-official .wpr-sharing-whatsapp{border-color:#25d366}.wpr-sharing-official .wpr-sharing-telegram{border-color:#2ca5e0}.wpr-sharing-official .wpr-sharing-delicious{border-color:#39f}.wpr-sharing-official .wpr-sharing-envelope{border-color:#c13b2c}.wpr-sharing-official .wpr-sharing-print{border-color:#96c859}.wpr-sharing-official.wpr-sharing-icon-tr .wpr-sharing-facebook-f i,.wpr-sharing-official.wpr-sharing-label-tr .wpr-sharing-facebook-f span{color:#3b5998;background-color:transparent}.wpr-sharing-official.wpr-sharing-icon-tr .wpr-sharing-twitter i,.wpr-sharing-official.wpr-sharing-label-tr .wpr-sharing-twitter span{color:#1da1f2;background-color:transparent}.wpr-sharing-official.wpr-sharing-icon-tr .wpr-sharing-linkedin-in i,.wpr-sharing-official.wpr-sharing-label-tr .wpr-sharing-linkedin-in span{color:#0077b5;background-color:transparent}.wpr-sharing-official.wpr-sharing-icon-tr .wpr-sharing-pinterest-p i,.wpr-sharing-official.wpr-sharing-label-tr .wpr-sharing-pinterest-p span{color:#bd081c;background-color:transparent}.wpr-sharing-official.wpr-sharing-icon-tr .wpr-sharing-reddit i,.wpr-sharing-official.wpr-sharing-label-tr .wpr-sharing-reddit span{color:#ff4500;background-color:transparent}.wpr-sharing-official.wpr-sharing-icon-tr .wpr-sharing-tumblr i,.wpr-sharing-official.wpr-sharing-label-tr .wpr-sharing-tumblr span{color:#35465c;background-color:transparent}.wpr-sharing-official.wpr-sharing-icon-tr .wpr-sharing-digg i,.wpr-sharing-official.wpr-sharing-label-tr .wpr-sharing-digg span{color:#005be2;background-color:transparent}.wpr-sharing-official.wpr-sharing-icon-tr .wpr-sharing-xing i,.wpr-sharing-official.wpr-sharing-label-tr .wpr-sharing-xing span{color:#026466;background-color:transparent}.wpr-sharing-official.wpr-sharing-icon-tr .wpr-sharing-stumbleupon i,.wpr-sharing-official.wpr-sharing-label-tr .wpr-sharing-stumbleupon span{color:#eb4924;background-color:transparent}.wpr-sharing-official.wpr-sharing-icon-tr .wpr-sharing-vk i,.wpr-sharing-official.wpr-sharing-label-tr .wpr-sharing-vk span{color:#45668e;background-color:transparent}.wpr-sharing-official.wpr-sharing-icon-tr .wpr-sharing-odnoklassniki i,.wpr-sharing-official.wpr-sharing-label-tr .wpr-sharing-odnoklassniki span{color:#f4731c;background-color:transparent}.wpr-sharing-official.wpr-sharing-icon-tr .wpr-sharing-get-pocket i,.wpr-sharing-official.wpr-sharing-label-tr .wpr-sharing-get-pocket span{color:#ef3f56;background-color:transparent}.wpr-sharing-official.wpr-sharing-icon-tr .wpr-sharing-skype i,.wpr-sharing-official.wpr-sharing-label-tr .wpr-sharing-skype span{color:#00aff0;background-color:transparent}.wpr-sharing-official.wpr-sharing-icon-tr .wpr-sharing-whatsapp i,.wpr-sharing-official.wpr-sharing-label-tr .wpr-sharing-whatsapp span{color:#25d366;background-color:transparent}.wpr-sharing-official.wpr-sharing-icon-tr .wpr-sharing-telegram i,.wpr-sharing-official.wpr-sharing-label-tr .wpr-sharing-telegram span{color:#2ca5e0;background-color:transparent}.wpr-sharing-official.wpr-sharing-icon-tr .wpr-sharing-delicious i,.wpr-sharing-official.wpr-sharing-label-tr .wpr-sharing-delicious span{color:#39f;background-color:transparent}.wpr-sharing-official.wpr-sharing-icon-tr .wpr-sharing-envelope i,.wpr-sharing-official.wpr-sharing-label-tr .wpr-sharing-envelope span{color:#c13b2c;background-color:transparent}.wpr-sharing-official.wpr-sharing-icon-tr .wpr-sharing-print i,.wpr-sharing-official.wpr-sharing-label-tr .wpr-sharing-print span{color:#96c859;background-color:transparent}.wpr-countdown-wrap{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;margin:0 auto}.wpr-countdown-item{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-ms-flex-preferred-size:0;flex-basis:0;overflow:hidden;color:#fff;text-align:center}.wpr-countdown-separator,.wpr-product-qty-align-center.wpr-buttons-layout-column .woocommerce-variation-add-to-cart .wpr-quantity-wrapper{-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center}.elementor-editor-active [data-elementor-type=wpr-popup] .elementor-section-wrap:not(:empty)+#elementor-add-new-section,.elementor-editor-active [data-elementor-type=wpr-popup]:not(.elementor-edit-mode),.elementor-editor-active [data-elementor-type=wpr-popups] .elementor-section-wrap:not(:empty)+#elementor-add-new-section,.elementor-editor-active [data-elementor-type=wpr-popups]:not(.elementor-edit-mode),.slick-arrow.slick-hidden,.slick-slide.slick-loading img,.wpr-ba-labels-none .wpr-ba-label,.wpr-business-hours-item:last-of-type:after,.wpr-countdown-message+div,.wpr-countdown-wrap+div:not(.wpr-countdown-message),.wpr-divider-align-left .wpr-divider-border-left,.wpr-divider-align-right .wpr-divider-border-right,.wpr-mailchimp-error-message,.wpr-mailchimp-message,.wpr-mailchimp-success-message,.wpr-price-list-position-center .wpr-price-list-separator,.wpr-pricing-table section:last-of-type:after,.wpr-slider-video-icon-size-none .wpr-slider-video-btn,.wpr-testimonial-meta-position-extra .wpr-testimonial-content-inner:before,body:not(.elementor-editor-active) .wpr-template-popup{display:none}.wpr-ba-divider,.wpr-ba-label{display:-webkit-box;display:-ms-flexbox}.elementor-widget-wpr-countdown .wpr-countdown-number{font-size:70px}.elementor-widget-wpr-countdown .wpr-countdown-label{font-size:19px;line-height:45px}.wpr-google-map .gm-style-iw-c>button{top:0!important;right:0!important}.wpr-google-map .gm-style-iw-c .wpr-gm-iwindow h3{margin-bottom:7px}.wpr-google-map .gm-style-iw-d{overflow:hidden!important}.wpr-google-map .gm-style img{max-width:none!important}.wpr-forms-container .wpcf7-form .wpcf7-form-control-wrap{display:block!important}.elementor-widget-wpr-product-tabs #reviews #comments ol.commentlist li .comment-text .description p,.woocommerce .elementor-widget-wpr-product-tabs table.shop_attributes,.wpr-cart-section-table-wrap table.shop_table,.wpr-forms-container .caldera-grid .help-block,.wpr-forms-container .wpcf7 p,.wpr-price-list-item:last-child,.wpr-product-additional-information table.shop_attributes,.wpr-product-stock p{margin-bottom:0}.wpr-forms-container .wpcf7-form .ajax-loader{display:block;visibility:hidden;height:0;overflow:hidden;clear:both}.wpr-forms-container .caldera-grid select.form-control,.wpr-forms-container .nf-field-container select,.wpr-forms-container .wpcf7-date,.wpr-forms-container .wpcf7-number,.wpr-forms-container .wpcf7-select,.wpr-forms-container select.wpforms-field-medium{padding:7px 10px!important}.wpr-forms-container .wpcf7-date{width:auto!important}.wpr-forms-container .wpcf7-number{width:100px!important}.wpr-forms-container .wpcf7-form-control.wpcf7-acceptance .wpcf7-list-item,.wpr-forms-container .wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item,.wpr-forms-container .wpcf7-form-control.wpcf7-radio .wpcf7-list-item{margin-left:0;margin-right:10px}.wpr-forms-container .wpcf7-response-output{clear:both;margin:0}.wpr-forms-container .intl-tel-input.allow-dropdown,.wpr-forms-container .wpforms-field:not(.wpforms-field-address) .wpforms-field-medium{display:inline-block!important;max-width:100%!important}.wpr-forms-container .wpforms-field-address .wpforms-field-medium{max-width:100%!important}.wpr-forms-container .intl-tel-input.allow-dropdown input.wpforms-field-medium,.wpr-forms-container .wpforms-field-address div.wpforms-field-medium{width:100%!important;max-width:100%!important}.wpr-forms-container .caldera-grid .alert-success,.wpr-forms-container .nf-response-msg,.wpr-forms-container .wpcf7-mail-sent-ok,.wpr-forms-container .wpforms-confirmation-container-full{padding:10px 15px;border:2px solid}.wpr-forms-container .wpforms-smart-phone-field{text-indent:0!important}.wpr-forms-container select.ninja-forms-field{line-height:1!important}.wpr-forms-container .nf-form-wrap .checkbox-wrap label{display:inline-block!important}.wpr-forms-submit-center .caldera-grid .btn-default:not(a),.wpr-forms-submit-center .submit-wrap .ninja-forms-field,.wpr-forms-submit-center .wpcf7-submit,.wpr-forms-submit-center .wpforms-page-next,.wpr-forms-submit-center .wpforms-page-previous,.wpr-forms-submit-center .wpforms-submit{display:block!important;margin-left:auto!important;margin-right:auto!important}.wpr-forms-submit-left .caldera-grid .btn-default:not(a),.wpr-forms-submit-left .submit-wrap .ninja-forms-field,.wpr-forms-submit-left .wpcf7-submit,.wpr-forms-submit-left .wpforms-page-next,.wpr-forms-submit-left .wpforms-page-previous,.wpr-forms-submit-left .wpforms-submit{float:left!important}.wpr-forms-submit-left .caldera-grid .btn-default:not(a),.wpr-forms-submit-right .submit-wrap .ninja-forms-field,.wpr-forms-submit-right .wpcf7-submit,.wpr-forms-submit-right .wpforms-page-next,.wpr-forms-submit-right .wpforms-page-previous,.wpr-forms-submit-right .wpforms-submit{float:right!important}.wpr-forms-submit-justify .caldera-grid .btn-default:not(a),.wpr-forms-submit-justify .submit-wrap .ninja-forms-field,.wpr-forms-submit-justify .wpcf7-submit,.wpr-forms-submit-justify .wpforms-page-next,.wpr-forms-submit-justify .wpforms-page-previous,.wpr-forms-submit-justify .wpforms-submit{display:block!important;width:100%!important;text-align:center!important}.wpr-custom-chk-radio .wpcf7-acceptance .wpcf7-list-item-label,.wpr-custom-chk-radio .wpcf7-checkbox .wpcf7-list-item-label,.wpr-custom-chk-radio .wpcf7-radio .wpcf7-list-item-label,.wpr-custom-chk-radio .wpforms-field-checkbox input+label,.wpr-custom-chk-radio .wpforms-field-gdpr-checkbox input+label,.wpr-custom-chk-radio .wpforms-field-radio input+label,.wpr-custom-chk-radio .wpforms-field-radio input+span,.wpr-forms-container .checkbox-wrap label,.wpr-forms-container .listcheckbox-wrap label,.wpr-forms-container .listradio-wrap label{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.wpr-custom-chk-radio .wpcf7-acceptance .wpcf7-list-item-label:before,.wpr-custom-chk-radio .wpcf7-checkbox .wpcf7-list-item-label:before,.wpr-custom-chk-radio .wpcf7-radio .wpcf7-list-item-label:before,.wpr-custom-chk-radio .wpforms-field-checkbox input+label:before,.wpr-custom-chk-radio .wpforms-field-gdpr-checkbox input+label:before,.wpr-custom-chk-radio .wpforms-field-radio input+label:before,.wpr-custom-chk-radio .wpforms-field-radio input:not(.wpforms-screen-reader-element)+span:before{content:"\2714";display:inline-block;position:relative;top:-1px;text-align:center;border:1px solid;margin-right:5px;color:transparent}.wpr-forms-align-right .wpforms-field-checkbox ul li input:first-child,.wpr-forms-align-right .wpforms-field-gdpr-checkbox input:first-child,.wpr-forms-align-right .wpforms-field-radio ul li input:first-child,.wpr-forms-align-right .wpforms-image-choices label input:first-of-type{float:right;margin-right:0!important;margin-left:10px!important}.wpr-forms-align-right .wpr-forms-container,.wpr-forms-align-right .wpr-forms-container .wpcf7-form-control{direction:rtl}.wpr-forms-align-right .nf-error.field-wrap .nf-field-element:after{right:auto!important;left:1px!important}.wpr-forms-align-right .wpr-custom-chk-radio .wpcf7-acceptance .wpcf7-list-item-label:before,.wpr-forms-align-right .wpr-custom-chk-radio .wpcf7-checkbox .wpcf7-list-item-label:before,.wpr-forms-align-right .wpr-custom-chk-radio .wpcf7-radio .wpcf7-list-item-label:before,.wpr-forms-align-right .wpr-custom-chk-radio .wpforms-field-checkbox input+label:before,.wpr-forms-align-right .wpr-custom-chk-radio .wpforms-field-gdpr-checkbox input+label:before,.wpr-forms-align-right .wpr-custom-chk-radio .wpforms-field-radio input+label:before,.wpr-forms-align-right .wpr-custom-chk-radio .wpforms-field-radio input:not(.wpforms-screen-reader-element)+span:before{margin-right:0;margin-left:5px}.wpr-forms-align-right .wpr-forms-container .intl-tel-input .flag-container{left:auto!important;right:0!important}.wpr-forms-align-right .wpr-forms-container .caldera-grid .checkbox label,.wpr-forms-align-right .wpr-forms-container .caldera-grid .checkbox-inline label,.wpr-forms-align-right .wpr-forms-container .caldera-grid .radio label{padding-left:0!important;padding-right:20px}.wpr-forms-align-right .wpr-forms-container .caldera-grid .checkbox input,.wpr-forms-align-right .wpr-forms-container .caldera-grid .radio input{margin-right:-20px!important;margin-left:0!important}.wpr-forms-align-right .wpr-forms-container .caldera-grid .cf-credit-card{background-position:99% center!important}.wpr-both-sided-timeline .wpr-right-aligned .wpr-extra-label .wpr-label,.wpr-both-sided-timeline .wpr-right-aligned .wpr-extra-label .wpr-sub-label,.wpr-forms-align-right .wpr-forms-container .caldera-grid .live-gravatar{text-align:right!important}.wpr-both-sided-timeline .wpr-left-aligned .wpr-extra-label .wpr-label,.wpr-both-sided-timeline .wpr-left-aligned .wpr-extra-label .wpr-sub-label,.wpr-forms-align-left .wpr-forms-container .caldera-grid .live-gravatar{text-align:left!important}.wpr-forms-container .nf-form-content{padding:0;max-width:none}.wpr-ba-vertical .wpr-ba-divider-icons,.wpr-cart-vertical .wpr-cart-wrapper,.wpr-forms-container .nf-form-content .label-above .field-wrap,.wpr-mailchimp-layout-vr .wpr-mailchimp-fields,.wpr-page-list-vertical .wpr-page-list,.wpr-price-list-position-center .wpr-price-list-heading,.wpr-price-list-position-center .wpr-price-list-item,.wpr-product-media-thumbs-vertical .wpr-product-media-wrap .flex-control-nav,.wpr-promo-box-image-position-center .wpr-promo-box,.wpr-tabs-position-above>.elementor-widget-container>.wpr-tabs,.wpr-tabs-position-left>.elementor-widget-container .wc-tabs,.wpr-tabs-position-left>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap,.wpr-tabs-position-right>.elementor-widget-container .wc-tabs,.wpr-tabs-position-right>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap,.wpr-taxonomy-list-vertical .wpr-taxonomy-list,.wpr-testimonial-meta-position-extra .wpr-testimonial-item,.wpr-testimonial-meta-position-top .wpr-testimonial-item,.wpr-ticker-arrow-style-vertical .wpr-ticker-slider-controls{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.wpr-cart-wrapper table.shop_table,.wpr-forms-container .field-wrap:not(.textarea-wrap):not(.submit-wrap) .ninja-forms-field{border-radius:0}.wpr-forms-container .listselect-wrap>div select.ninja-forms-field{-webkit-appearance:menulist;-moz-appearance:menulist;appearance:menulist}.wpr-forms-container .nf-form-content .list-select-wrap .nf-field-element>div,.wpr-forms-container .nf-form-content input:not([type=button]),.wpr-forms-container .nf-form-content textarea{background:0 0;border:none}.wpr-forms-container .listcheckbox-wrap ul li,.wpr-forms-container .listradio-wrap ul li{display:inline-block;margin-right:10px!important;margin-bottom:7px!important}.wpr-forms-container .listcheckbox-container .nf-field-element label:after{top:1px}.wpr-forms-container .listradio-wrap .nf-field-element label{margin-left:25px!important}.wpr-forms-container .listradio-wrap .nf-field-element label:after{top:0;left:-25px}.wpr-forms-container .listradio-wrap .nf-field-element label.nf-checked-label:before{top:4px;left:-21px}.wpr-forms-container .nf-error.field-wrap .nf-field-element:after{top:0!important;bottom:0!important;height:auto!important}.wpr-forms-container .wpforms-submit-container:after{content:" ";clear:both;display:table}.wpr-forms-container .caldera-grid .intl-tel-input input{text-indent:40px}.wpr-forms-container .caldera-grid input.cf-credit-card{text-indent:33px}.wpr-forms-container .caldera-grid .cf-credit-card{background-position:5px center!important}.swiper-slide.auto-height,.wpr-forms-container .cf2-dropzone .form-control,.wpr-horizontal-bottom,.wpr-horizontal-timeline .swiper-slide{height:auto}.wpr-forms-container .caldera-grid .form-group input,.wpr-forms-container .caldera-grid .form-group textarea,.wpr-forms-container .caldera-grid .has-error .form-control{-webkit-box-shadow:none;box-shadow:none}.wpr-forms-container .caldera-grid .alert-success{text-shadow:none}.elementor-widget-wpr-forms .nf-form-title h3,.elementor-widget-wpr-forms .wpforms-head-container .wpforms-title{font-size:28px;font-weight:800}.elementor-widget-wpr-forms .caldera-grid .form-control[type=color_picker],.elementor-widget-wpr-forms .caldera-grid .form-control[type=credit_card_cvc],.elementor-widget-wpr-forms .caldera-grid .form-control[type=email],.elementor-widget-wpr-forms .caldera-grid .form-control[type=number],.elementor-widget-wpr-forms .caldera-grid .form-control[type=phone],.elementor-widget-wpr-forms .caldera-grid .form-control[type=tel],.elementor-widget-wpr-forms .caldera-grid .form-control[type=text],.elementor-widget-wpr-forms .caldera-grid .form-control[type=url],.elementor-widget-wpr-forms .caldera-grid select.form-control,.elementor-widget-wpr-forms .caldera-grid textarea.form-control,.elementor-widget-wpr-forms .ninja-forms-field,.elementor-widget-wpr-forms .wpcf7-date,.elementor-widget-wpr-forms .wpcf7-number,.elementor-widget-wpr-forms .wpcf7-quiz,.elementor-widget-wpr-forms .wpcf7-select,.elementor-widget-wpr-forms .wpcf7-text,.elementor-widget-wpr-forms .wpcf7-textarea,.elementor-widget-wpr-forms .wpforms-form input[type=date],.elementor-widget-wpr-forms .wpforms-form input[type=datetime-local],.elementor-widget-wpr-forms .wpforms-form input[type=datetime],.elementor-widget-wpr-forms .wpforms-form input[type=email],.elementor-widget-wpr-forms .wpforms-form input[type=month],.elementor-widget-wpr-forms .wpforms-form input[type=number],.elementor-widget-wpr-forms .wpforms-form input[type=password],.elementor-widget-wpr-forms .wpforms-form input[type=range],.elementor-widget-wpr-forms .wpforms-form input[type=search],.elementor-widget-wpr-forms .wpforms-form input[type=tel],.elementor-widget-wpr-forms .wpforms-form input[type=text],.elementor-widget-wpr-forms .wpforms-form input[type=time],.elementor-widget-wpr-forms .wpforms-form input[type=url],.elementor-widget-wpr-forms .wpforms-form input[type=week],.elementor-widget-wpr-forms .wpforms-form select,.elementor-widget-wpr-forms .wpforms-form textarea{font-size:13px;letter-spacing:.2px}.elementor-widget-wpr-forms .caldera-forms-summary-field ul li,.elementor-widget-wpr-forms .caldera-grid .caldera-forms-gdpr-field-label,.elementor-widget-wpr-forms .caldera-grid .checkbox label,.elementor-widget-wpr-forms .caldera-grid .control-label,.elementor-widget-wpr-forms .caldera-grid .radio label,.elementor-widget-wpr-forms .caldera-grid .total-line,.elementor-widget-wpr-forms .nf-field-container label,.elementor-widget-wpr-forms .wpcf7-form,.elementor-widget-wpr-forms .wpforms-captcha-equation,.elementor-widget-wpr-forms .wpforms-captcha-question,.elementor-widget-wpr-forms .wpforms-field-label,.elementor-widget-wpr-forms .wpforms-field-label-inline,.elementor-widget-wpr-forms .wpforms-image-choices-label,.elementor-widget-wpr-forms .wpforms-payment-total,.elementor-widget-wpr-forms .wpr-forms-container .nf-response-msg,.elementor-widget-wpr-forms .wpr-forms-container .wpforms-confirmation-container-full,.wpr-product-filters .wpr-product-filter-price-amount button.button{font-weight:400}.wpr-ba-image-container,.wpr-fcn-wrap,.wpr-promo-box-image{position:relative;overflow:hidden}.wpr-ba-image-container *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.wpr-ba-image-1 img,.wpr-ba-image-2 img,.wpr-parallax-ml-children img{max-width:100%;width:100%}.wpr-ba-image-2 img{position:absolute;top:0}.wpr-ba-divider{display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:absolute;top:0;left:50%;z-index:3;height:100%;cursor:pointer;-ms-touch-action:none;touch-action:none}.wpr-ba-horizontal .wpr-ba-divider-icons i:first-child{text-align:right;padding-right:10%}.wpr-ba-horizontal .wpr-ba-divider-icons i:last-child{text-align:left;padding-left:10%}.wpr-ba-vertical .wpr-ba-divider{top:50%;left:auto;width:100%;height:auto}.wpr-ba-vertical .wpr-ba-image-2 img{top:auto}.wpr-ba-horizontal .wpr-ba-divider-icons:after,.wpr-ba-horizontal .wpr-ba-divider-icons:before{content:'';display:block;position:absolute;height:100%}.wpr-ba-vertical .wpr-ba-divider-icons:after,.wpr-ba-vertical .wpr-ba-divider-icons:before{content:'';display:block;position:absolute;width:100%}.wpr-ba-label{position:absolute;display:flex;padding:15px}.wpr-template-popup,.wpr-template-popup-inner{position:fixed;height:100%;top:0;left:0;width:100%}.wpr-ba-labels-hover .wpr-ba-label{opacity:0;-webkit-transition:.1s ease-in;-o-transition:.1s ease-in;transition:.1s ease-in}.wpr-slider-arrow,.wpr-testimonial-arrow{-webkit-transition:.5s;-o-transition:.5s}.wpr-ba-horizontal .wpr-ba-label{top:0;height:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.wpr-ba-vertical .wpr-ba-label{left:0;width:100%}.elementor-widget-wpr-before-after .wpr-ba-label>div{background-color:#605be5;font-size:14px}.wpr-template-popup{z-index:99999999}.wpr-template-popup-inner{display:-webkit-box;display:-ms-flexbox;display:flex}.wpr-popup-container-inner{display:-webkit-box;display:-ms-flexbox;display:flex;overflow:hidden;position:relative;background:#fff}.wpr-popup-container-inner>div{width:100%;-ms-flex-negative:0;flex-shrink:0}.wpr-popup-image-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#fff}.wpr-popup-overlay{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;background:rgba(0,0,0,.7)}.wpr-popup-close-btn{display:-webkit-box;display:-ms-flexbox;display:flex;position:absolute;top:0;right:0;z-index:99;text-align:center;cursor:pointer}.wpr-popup-notification .wpr-template-popup-inner,.wpr-popup-notification.wpr-template-popup{height:auto!important}.wpr-popup-container-inner.ps-container.ps-active-y>.ps-scrollbar-y-rail,.wpr-popup-container-inner.ps.ps--active-y>.ps__rail-y{display:block;background-color:transparent}.wpr-popup-container-inner.ps-container>.ps-scrollbar-y-rail,.wpr-popup-container-inner.ps>.ps__rail-y{display:none;position:absolute;right:3px;width:3px}.wpr-popup-container-inner.ps-container>.ps-scrollbar-y-rail>.ps-scrollbar-y,.wpr-popup-container-inner.ps>.ps__rail-y>.ps__thumb-y{position:absolute;cursor:pointer;right:0;width:3px}.wpr-popup-notification .wpr-popup-container .slideInDown{-webkit-animation-timing-function:linear;animation-timing-function:linear}.wpr-popup-notification .wpr-popup-container{width:100%!important;-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.wpr-popup-trigger-button{display:inline-block;font-size:14px;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;cursor:pointer}.wpr-popup-container .elementor-editor-section-settings{-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);border-radius:0 0 5px 5px}.wpr-popup-container .elementor-editor-section-settings .elementor-editor-element-setting:first-child{border-radius:0 0 0 5px}.wpr-popup-container .elementor-editor-section-settings .elementor-editor-element-setting:first-child:before{top:0;border-width:0 12px 22px 0}.wpr-popup-container .elementor-editor-section-settings .elementor-editor-element-setting:last-child{border-radius:0 0 5px}.wpr-popup-container .elementor-editor-section-settings .elementor-editor-element-setting:last-child:after{top:0;border-width:0 0 22px 12px}.elementor .elementor-widget-wpr-popup-trigger .wpr-popup-trigger-button{display:inline-block;font-size:14px;font-weight:500;cursor:pointer}.wpr-template-edit-btn{position:absolute;top:0;right:40px;display:none;line-height:1;padding:8px 13px;cursor:pointer;background:#333;color:#fff;border:1px solid #000}.elementor-editor-active .wpr-template-edit-btn{display:inline-block;opacity:0;visibility:hidden}.wpr-mailchimp-layout-hr .wpr-mailchimp-fields{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.wpr-mailchimp-subscribe-btn{width:100%;padding:0!important;outline:0!important;cursor:pointer}.elementor-widget-wpr-mailchimp .wpr-mailchimp-header h3{font-size:28px;font-weight:800;margin-top:0}.elementor-widget-wpr-dual-button .wpr-button-middle-badge,.elementor-widget-wpr-logo .wpr-logo-description,.elementor-widget-wpr-mailchimp .wpr-mailchimp-fields label,.wpr-member-job{font-size:13px}.wpr-advanced-slider,.wpr-slider-item{position:relative;height:500px;overflow:hidden}.wpr-slider-content{position:relative;max-width:750px;width:100%;padding:10px 50px 50px;z-index:90}.wpr-slider-item-bg{position:absolute;top:0;left:0;width:100%;height:100%;background-repeat:no-repeat;background-position:center}.wpr-slider-title *{color:#fff;font-size:40px;font-weight:600;line-height:1.5em;padding:5px 10px;margin:0 0 2px}.wpr-slider-sub-title h3{font-size:16px;padding:5px 10px;margin:0 0 10px}.wpr-slider-description p{padding:5px 10px;margin:0 0 30px}.wpr-slider-primary-btn,.wpr-slider-secondary-btn{padding:12px 25px;margin:0 10px;border:1px solid #fff;border-radius:2px}.wpr-slider-btns svg,.wpr-slider-scroll-btn svg{vertical-align:bottom}@keyframes ken-burns-in{0%{-webkit-transform:scale(1);transform:scale(1)}100%{-webkit-transform:scale(1.3);transform:scale(1.3)}}@-webkit-keyframes ken-burns-in{0%{-webkit-transform:scale(1);transform:scale(1)}100%{-webkit-transform:scale(1.3);transform:scale(1.3)}}@keyframes ken-burns-out{0%{-webkit-transform:scale(1.3);transform:scale(1.3)}100%{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes ken-burns-out{0%{-webkit-transform:scale(1.3);transform:scale(1.3)}100%{-webkit-transform:scale(1);transform:scale(1)}}.wpr-advanced-slider .slick-slide.slick-active .wpr-slider-item-bg{-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-animation-duration:10s;animation-duration:10s}.wpr-advanced-slider .slick-slide.slick-active .wpr-slider-item-bg.wpr-ken-burns-in{-webkit-animation-name:ken-burns-in;animation-name:ken-burns-in;-webkit-transform:scale(1.3);-ms-transform:scale(1.3);transform:scale(1.3)}.wpr-advanced-slider .slick-slide.slick-active .wpr-slider-item-bg.wpr-ken-burns-out{-webkit-animation-name:ken-burns-out;animation-name:ken-burns-out;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.wpr-ken-burns-out{-webkit-transform:scale(1.3);-ms-transform:scale(1.3);transform:scale(1.3)}.wpr-slider-arrow{position:absolute;z-index:120;top:50%;-webkit-box-sizing:content-box;box-sizing:content-box;text-align:center;transition:.5s;cursor:pointer;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.wpr-slider-arrow i,.wpr-testimonial-arrow i{display:block;line-height:inherit}.wpr-slider-dots .slick-dots{position:static!important}.wpr-slider-scroll-btn{position:absolute;bottom:45px;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);display:inline-block;-webkit-transition-duration:.2s;-o-transition-duration:.2s;transition-duration:.2s;line-height:1;overflow:hidden}.slick-list,.slick-slider,.slick-track{display:block;position:relative}@-webkit-keyframes wpr-scroll-animation{0%{opacity:0;-webkit-transform:translate3d(0,-60%,0);transform:translate3d(0,-60%,0)}50%{opacity:1;-webkit-transform:translate3d(0,20%,0);transform:translate3d(0,20%,0)}100%{opacity:0;-webkit-transform:translate3d(0,20%,0);transform:translate3d(0,20%,0)}}@keyframes wpr-scroll-animation{0%{opacity:0;-webkit-transform:translate3d(0,-60%,0);transform:translate3d(0,-60%,0)}50%{opacity:1;-webkit-transform:translate3d(0,20%,0);transform:translate3d(0,20%,0)}100%{opacity:0;-webkit-transform:translate3d(0,20%,0);transform:translate3d(0,20%,0)}}.wpr-scroll-animation{-webkit-animation-name:wpr-scroll-animation;animation-name:wpr-scroll-animation;-webkit-animation-duration:1.3s;animation-duration:1.3s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.wpr-slider-video{position:absolute;width:100%;height:100%;top:0;left:0;z-index:90}.wpr-slider-video-btn{margin:0 auto;text-align:center;border-style:solid;border-radius:50%;cursor:pointer}.wpr-slider-video-icon-size-small .wpr-slider-video-btn{height:50px;width:50px;font-size:16px;padding:16px 0 0 4px;border-width:1px}.wpr-slider-video-icon-size-medium .wpr-slider-video-btn{height:80px;width:80px;font-size:26px;padding:25px 0 0 5px;border-width:2px}.wpr-slider-video-icon-size-large .wpr-slider-video-btn{height:100px;width:100px;font-size:30px;padding:33px 0 0 7px;border-width:2px}.wpr-slider-item-overlay{position:absolute;left:0;top:0;width:100%;height:100%;z-index:80}.slick-slider{-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-khtml-user-select:none;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-tap-highlight-color:transparent}.wpr-testimonial-arrow,.wpr-testimonial-social{-webkit-box-sizing:content-box;text-align:center}.slick-list{overflow:hidden;margin:0;padding:0}.slick-list.dragging{cursor:pointer;cursor:hand}.slick-slider .slick-list,.slick-slider .slick-track{-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.slick-track{top:0;left:0;margin-left:auto;margin-right:auto}.slick-track:after,.slick-track:before{display:table;content:''}.slick-loading .slick-slide,.slick-loading .slick-track,.wpr-product-filter-price input{visibility:hidden}.slick-slide{display:none;float:left;height:100%;min-height:1px}.slick-vertical .slick-slide{display:block;height:auto;border:1px solid transparent}.wpr-pricing-table-heading-left .wpr-pricing-table-headding-inner>div,.wpr-pricing-table-heading-right .wpr-pricing-table-headding-inner>div,.wpr-testimonial-image-position-left .wpr-testimonial-meta-inner>div,.wpr-testimonial-image-position-right .wpr-testimonial-meta-inner>div{display:inline-block;vertical-align:top}.elementor-widget-wpr-pricing-table .wpr-pricing-table-title-wrap .wpr-pricing-table-title{font-size:26px;font-weight:600}.wpr-pricing-table-price{text-align:center;font-size:65px;font-weight:500;line-height:.9}.wpr-pricing-table-price-inner{-ms-box-orient:horizontal;display:-webkit-box;display:-ms-flexbox;display:-moz-flex;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget-wpr-product-tabs .form-submit #submit,.wpr-prbar-counter-value-suffix,.wpr-pricing-table-currency,.wpr-pricing-table-old-price,.wpr-pricing-table-preiod,.wpr-pricing-table-sub-price,.wpr-story-info{line-height:1}.wpr-pricing-table-preiod{font-size:17px;line-height:1.5;-webkit-align-self:flex-end;-ms-flex-item-align:end;align-self:flex-end}.wpr-pricing-table-old-price{text-decoration:line-through!important}.wpr-price-list-old-price,.wpr-pricing-table-feature-inner span.wpr-pricing-table-ftext-line-yes{text-decoration:line-through}.wpr-pricing-table-feature,.wpr-testimonial-content{position:relative;font-size:15px}.wpr-pricing-table-feature-inner{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:0 auto}.wpr-pricing-table-feature:after{content:"";display:block;width:100%;margin:0 auto}.wpr-pricing-table-feature-icon{margin-right:8px}.wpr-pricing-table-feature-tooltip{position:absolute;top:0;left:50%;border-radius:4px;padding:6px 10px;visibility:hidden;opacity:0;font-size:15px;-webkit-transform:translate(-50%,-100%);-ms-transform:translate(-50%,-100%);transform:translate(-50%,-100%);-webkit-transition:230ms ease-in-out;-o-transition:230ms ease-in-out;transition:230ms ease-in-out;text-align:center}.wpr-pricing-table-feature:hover .wpr-pricing-table-feature-tooltip{visibility:visible;opacity:1;top:5px;-ms-transform:translate(-50%,-100%);transform:translate(-50%,-100%);-webkit-transform:translate(-50%,-100%)}.wpr-data-table-content-tooltip:before,.wpr-pricing-table-feature-tooltip:before{content:"";position:absolute;bottom:-5px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top-style:solid;border-top-width:6px;left:50%;-ms-transform:translateX(-50%);transform:translateX(-50%);-webkit-transform:translateX(-50%)!important}.wpr-pricing-table-button{text-align:center;font-size:17px}.wpr-pricing-table-btn{position:relative;overflow:hidden;display:inline-block;vertical-align:middle;cursor:pointer}.wpr-flip-box-btn span,.wpr-member-btn span,.wpr-pricing-table-btn span{position:relative;z-index:2;opacity:1!important}.wpr-flip-box-btn:after,.wpr-flip-box-btn:before,.wpr-member-btn:after,.wpr-member-btn:before,.wpr-pricing-table-btn:after,.wpr-pricing-table-btn:before{z-index:1!important}.wpr-pricing-table-badge{position:absolute;display:inline-block;text-align:center;z-index:2}.elementor-widget-wpr-pricing-table .wpr-pricing-table-badge .wpr-pricing-table-badge-inner{font-size:15px;font-weight:900}.wpr-pricing-table-badge-left,.wpr-promo-box-badge-left{left:0;right:auto}.wpr-flip-box-animation-push.wpr-flip-box-anim-direction-right .wpr-flip-box-active .wpr-flip-box-back,.wpr-flip-box-animation-slide.wpr-flip-box-anim-direction-right .wpr-flip-box-active .wpr-flip-box-back,.wpr-pricing-table-badge-right,.wpr-promo-box-badge-right{left:auto;right:0}.wpr-pricing-table-badge-corner,.wpr-promo-box-badge-corner{top:0;width:200px;height:200px;overflow:hidden}.wpr-pricing-table-badge-corner .wpr-pricing-table-badge-inner,.wpr-promo-box-badge-corner .wpr-promo-box-badge-inner{width:200%}.wpr-pricing-table-badge-corner.wpr-pricing-table-badge-right{-ms-transform:rotate(90deg);transform:rotate(90deg);-webkit-transform:rotate(90deg)}.wpr-pricing-table-badge-cyrcle .wpr-pricing-table-badge-inner,.wpr-product-filter-slide-handlers-round .wpr-product-filter-price-slider .ui-slider-handle,.wpr-promo-box-badge-cyrcle .wpr-promo-box-badge-inner{border-radius:100%}.wpr-pricing-table-badge-flag,.wpr-promo-box-badge-flag{border-right:5px}.wpr-horizontal-bottom .wpr-button-next,.wpr-pricing-table-badge-flag.wpr-pricing-table-badge-right,.wpr-promo-box-badge-flag.wpr-promo-box-badge-right{margin-right:-10px}.wpr-pricing-table-badge-flag:before,.wpr-promo-box-badge-flag:before{content:"";position:absolute;z-index:1;bottom:-5px;width:0;height:0;margin-left:-10px;border-left:10px solid transparent;border-right:10px solid transparent;border-top-style:solid;border-top-width:10px}.wpr-pricing-table-badge-flag .wpr-pricing-table-badge-inner,.wpr-promo-box-badge-flag .wpr-promo-box-badge-inner{position:relative;z-index:2;border-top-left-radius:3px;border-top-right-radius:3px}.wpr-pricing-table-badge-flag.wpr-pricing-table-badge-left:before{left:5px;-ms-transform:rotate(90deg);transform:rotate(90deg);-webkit-transform:rotate(90deg)}.wpr-pricing-table-badge-flag.wpr-pricing-table-badge-right:before{right:-5px;-ms-transform:rotate(-90deg);transform:rotate(-90deg);-webkit-transform:rotate(-90deg)}.wpr-pricing-table-badge-flag.wpr-pricing-table-badge-left .wpr-pricing-table-badge-inner,.wpr-promo-box-badge-flag.wpr-promo-box-badge-left .wpr-promo-box-badge-inner{border-bottom-right-radius:3px}.wpr-pricing-table-badge-flag.wpr-pricing-table-badge-right .wpr-pricing-table-badge-inner,.wpr-promo-box-badge-flag.wpr-promo-box-badge-right .wpr-promo-box-badge-inner{border-bottom-left-radius:3px}.wpr-pricing-table-text{font-size:13px;line-height:1.3}.wpr-pricing-table-divider{margin:0 auto;border:0}.wpr-pricing-table-animation-slide{-webkit-transition-property:margin;-o-transition-property:margin;transition-property:margin;-webkit-transition-timing-function:ease-in-out;-o-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}.wpr-pricing-table-animation-bounce{-webkit-animation-iteration-count:1;animation-iteration-count:1}.wpr-pricing-table-animation-slide:hover{margin-top:-5px}.wpr-pricing-table-animation-bounce:hover{-webkit-animation-name:bounce;animation-name:bounce}.elementor-widget-wpr-pricing-table .wpr-pricing-table-button,.elementor-widget-wpr-pricing-table .wpr-pricing-table-heading,.elementor-widget-wpr-pricing-table .wpr-pricing-table-text{background-color:#f9f9f9}.elementor-widget-wpr-pricing-table .wpr-pricing-table-btn{background-color:#2b2b2b}.wpr-logo{position:relative;display:inline-table;overflow:hidden}.wpr-logo-image,.wpr-logo-text{position:relative;display:block;width:100%;z-index:7}.wpr-logo-url{position:absolute;display:block;width:100%;height:100%;top:0;left:0;z-index:5}.elementor-widget-wpr-logo .wpr-logo-title{font-size:16px;line-height:1.5}.wpr-testimonial-carousel .slick-slider{cursor:drag}.wpr-testimonial-carousel .slick-track{display:-webkit-box!important;display:flex!important;display:-ms-flexbox!important}.wpr-testimonial-carousel .slick-slide{height:inherit!important}.wpr-testimonial-carousel-wrap .slick-list{padding-right:1px!important}.wpr-testimonial-arrow{position:absolute;z-index:120;top:52%;box-sizing:content-box;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;transition:.5s;cursor:pointer}.wpr-testimonial-prev-arrow{left:2%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.wpr-testimonial-next-arrow{right:2%;-webkit-transform:translateY(-50%) rotate(180deg);-ms-transform:translateY(-50%) rotate(180deg);transform:translateY(-50%) rotate(180deg)}.wpr-testimonial-dots li{float:left;width:auto!important;margin:0!important}.wpr-testimonial-social{display:block;float:left;width:45px;height:45px;line-height:45px;font-size:45px;box-sizing:content-box;-webkit-transition:.5s;-o-transition:.5s;transition:.5s;cursor:pointer}.wpr-member-social i,.wpr-testimonial-social i,.wpr-ticker-arrow i{display:block;width:100%;height:100%;line-height:inherit}.elementor-widget-wpr-testimonial-carousel .wpr-testimonial-content-wrap .wpr-testimonial-title{font-size:18px;font-weight:700}.wpr-testimonial-content p{position:relative;z-index:5;margin:0}.wpr-testimonial-content .wpr-testimonial-icon{position:absolute;width:100%;z-index:1}.wpr-testimonial-date,.wpr-testimonial-job{font-size:10px}.wpr-testimonial-content-inner{position:relative;background-color:#f9f9f9}.wpr-testimonial-triangle-yes .wpr-testimonial-content-inner:before{content:"";position:absolute;width:0;height:0;border-left:15px solid transparent;border-right:15px solid transparent;border-top-style:solid;border-top-width:15px}.wpr-testimonial-meta-position-bottom.wpr-testimonial-meta-align-center .wpr-testimonial-content-inner:before,.wpr-testimonial-meta-position-top.wpr-testimonial-meta-align-center .wpr-testimonial-content-inner:before{right:calc(50% - 15px)}.wpr-testimonial-meta-position-bottom.wpr-testimonial-meta-align-left .wpr-testimonial-content-inner:before,.wpr-testimonial-meta-position-top.wpr-testimonial-meta-align-left .wpr-testimonial-content-inner:before{margin-left:-15px}.wpr-testimonial-meta-position-bottom.wpr-testimonial-meta-align-right .wpr-testimonial-content-inner:before,.wpr-testimonial-meta-position-top.wpr-testimonial-meta-align-right .wpr-testimonial-content-inner:before{margin-right:-15px}.wpr-testimonial-meta-position-left .wpr-testimonial-content-inner:before,.wpr-testimonial-meta-position-right .wpr-testimonial-content-inner:before{margin-top:-7.5px}.wpr-testimonial-meta-position-top .wpr-testimonial-content-inner:before{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg);top:-15px}.wpr-testimonial-meta-position-top .wpr-testimonial-content-inner{margin-top:15px}.wpr-testimonial-meta-position-right .wpr-testimonial-content-inner:before{-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);right:-22px}.wpr-mini-cart-image,.wpr-testimonial-meta-position-right .wpr-testimonial-content-inner{margin-right:15px}.wpr-testimonial-meta-position-left .wpr-testimonial-content-inner:before{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);left:-22px}.wpr-testimonial-meta-position-left .wpr-testimonial-content-inner{margin-left:15px}.wpr-testimonial-meta-position-bottom .wpr-testimonial-content-inner{margin-bottom:15px}.wpr-testimonial-meta-position-bottom .wpr-testimonial-content-inner:before{bottom:-15px}.elementor-widget-wpr-testimonial-carousel .wpr-testimonial-meta .wpr-testimonial-name{font-size:14px;font-weight:700}.wpr-divider-image,.wpr-testimonial-logo-image{display:block;overflow:hidden}.wpr-testimonial-item{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.wpr-testimonial-meta-position-bottom .wpr-testimonial-item{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.wpr-hotspot-icon-position-left .wpr-hotspot-content,.wpr-pc-btn-icon-left .wpr-pc-content,.wpr-price-list-old-position-after .wpr-price-list-price-wrap,.wpr-price-list-position-right .wpr-price-list-item,.wpr-product-filter-price-btn-right .wpr-product-filter-price-amount,.wpr-promo-box-image-position-right .wpr-promo-box,.wpr-stt-btn-icon-right .wpr-stt-btn,.wpr-tabs-position-right>.elementor-widget-container .wc-tabs-wrapper,.wpr-tabs-position-right>.elementor-widget-container>.wpr-tabs,.wpr-testimonial-meta-position-right .wpr-testimonial-item,.wpr-ticker-arrow-position-left .wpr-content-ticker-inner,.wpr-ticker-heading-icon-position-left .wpr-ticker-heading,.wpr-ticker-heading-position-right .wpr-content-ticker{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.wpr-tabs-position-left>.elementor-widget-container>.wc-tabs-wrapper,.wpr-tabs-position-left>.elementor-widget-container>.wpr-tabs,.wpr-testimonial-meta-position-left .wpr-testimonial-item,.wpr-ticker-arrow-style-horizontal .wpr-ticker-slider-controls{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.wpr-testimonial-meta-position-bottom .wpr-testimonial-logo-image img,.wpr-testimonial-meta-position-bottom .wpr-testimonial-social-media,.wpr-testimonial-meta-position-top .wpr-testimonial-logo-image img,.wpr-testimonial-meta-position-top .wpr-testimonial-social-media{float:none!important;display:inline-block!important}@media screen and (min-width:480px){.wpr-testimonial-image-position-left .wpr-testimonial-image,.wpr-testimonial-image-position-right .wpr-testimonial-image{margin-bottom:0!important}}.wpr-data-fetch ul li,.wpr-no-results{display:-webkit-box;display:-ms-flexbox}.wpr-search-admin-notice{text-align:center;margin:10px 0 0;padding:8px}.wpr-ajax-search-pagination-center .wpr-ajax-search-pagination{text-align:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.wpr-data-fetch ul::-webkit-scrollbar{width:4px;background-color:transparent}.wpr-data-fetch ul::-webkit-scrollbar-thumb{border-left:3px solid #00f}.wpr-no-results{display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:0}.wpr-load-more-results{display:none;width:100%}.wpr-no-more-results{display:none;margin:0;text-align:center}.wpr-data-fetch{position:absolute;top:100%;left:0;width:100%;height:auto;display:none;border-style:solid;z-index:9999}.wpr-data-fetch ul{list-style-type:none;padding:0;overflow:hidden;overflow-y:auto;max-height:30vh;opacity:0}.wpr-data-fetch ul li{display:flex;padding:5px;cursor:pointer}a.wpr-ajax-img-wrap{min-width:100px!important;min-height:100px!important}.wpr-data-fetch img{height:auto;width:100%!important}.wpr-close-search{position:absolute;top:10px;right:30px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wpr-close-cart span::before,.wpr-close-search::before{font-family:"Font Awesome 5 Free";content:'\f00d';font-weight:600;cursor:pointer}.wpr-price-list-content,.wpr-search-form-input-wrap{width:100%;overflow:hidden}.wpr-search-form .wpr-search-form-input{width:100%;height:100%;font-size:14px;background-color:transparent;border-style:solid}.wpr-search-form-style-inner.wpr-search-form-position-left .wpr-search-form-input-wrap,.wpr-search-form-style-outer.wpr-search-form-position-left .wpr-search-form{-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.wpr-search-form-submit{padding:0!important;cursor:pointer;border-style:solid;-webkit-transition:.2s;-o-transition:.2s;transition:.2s}.wpr-flip-box,.wpr-member-social{-webkit-transition:.5s;-o-transition:.5s}.wpr-search-form-disable-submit-btn-yes .wpr-search-form-submit{cursor:default}.wpr-member-name{display:block;line-height:1}.elementor .elementor-widget-wpr-team-member .wpr-member-name{font-size:24px;font-weight:500}.wpr-member-description{font-size:15px;line-height:1.4}.wpr-member-media{position:relative;margin:0 auto;width:100%;overflow:hidden}.wpr-member-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(255,255,255,.9)}.wpr-member-social-media{display:-webkit-box;display:-ms-flexbox;display:flex;overflow:hidden}.wpr-member-social{display:block;width:45px;height:45px;line-height:45px;font-size:45px;-webkit-box-sizing:content-box;box-sizing:content-box;text-align:center;transition:.5s;cursor:pointer}.wpr-product-adc-align-left .cart,.wpr-product-adc-align-left .wpr-product-add-to-cart .wpr-quantity-wrapper,.wpr-product-meta-left .wpr-product-meta .product_meta,.wpr-product-rating-flex.wpr-product-rating-left .inner-block,.wpr-switcher-label-style-outer>.elementor-widget-container>.wpr-content-toggle>.wpr-switcher-container>.wpr-switcher-second,.wpr-team-member-social-media-left .wpr-member-social-media{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.wpr-button-icon-style-block .wpr-button-icon,.wpr-button-icon-style-inline-block .wpr-button-icon,.wpr-product-adc-align-center .cart,.wpr-product-adc-align-center .wpr-product-add-to-cart .wpr-quantity-wrapper,.wpr-product-meta-center .wpr-product-meta .product_meta,.wpr-product-rating-flex.wpr-product-rating-center .inner-block,.wpr-team-member-social-media-center .wpr-member-social-media{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.wpr-member-btn{position:relative;overflow:hidden;display:inline-block;vertical-align:middle;background-color:#222;cursor:pointer;font-size:14px}.wpr-member-divider:after{content:"";display:block;width:100%;margin-top:0;overflow:hidden}.wpr-team-member-divider-center .wpr-member-divider:after{margin-left:auto;margin-right:auto}.wpr-button-wrap{position:relative;display:inline-table;z-index:1;width:100%}.wpr-button,.wpr-button-a,.wpr-button-b{display:block;position:relative;width:100%;z-index:1;overflow:hidden}.elementor .elementor-widget-wpr-button .wpr-button-text,.elementor-element.elementor-widget-wpr-tabs>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab .wpr-tab-title,.elementor-element.elementor-widget-wpr-tabs>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab.wpr-tab-active .wpr-tab-title,.elementor-element.elementor-widget-wpr-tabs>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab:hover .wpr-tab-title{font-size:15px;font-weight:500}.wpr-button-icon-a-position-left .wpr-button-icon-a,.wpr-button-icon-b-position-left .wpr-button-icon-b,.wpr-button-icon-position-left .wpr-button-icon,.wpr-switcher-icon-position-left>.elementor-widget-container>.wpr-content-toggle>.wpr-switcher-container>.wpr-switcher-inner>.wpr-switcher-icon,.wpr-switcher-icon-position-left>.elementor-widget-container>.wpr-content-toggle>.wpr-switcher-container>.wpr-switcher-outer>.wpr-switcher-wrap>.wpr-switcher>.wpr-switcher-inner>.wpr-switcher-icon,.wpr-tabs-icon-position-left>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab .wpr-tab-icon,.wpr-tabs-icon-position-left>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab .wpr-tab-image{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.wpr-button-icon-a-position-left .wpr-button-text-a,.wpr-button-icon-b-position-left .wpr-button-text-b,.wpr-button-icon-position-left .wpr-button-text,.wpr-switcher-icon-position-left>.elementor-widget-container>.wpr-content-toggle>.wpr-switcher-container>.wpr-switcher-inner>.wpr-switcher-label,.wpr-switcher-icon-position-left>.elementor-widget-container>.wpr-content-toggle>.wpr-switcher-container>.wpr-switcher-outer>.wpr-switcher-wrap>.wpr-switcher>.wpr-switcher-inner>.wpr-switcher-label,.wpr-tabs-icon-position-left>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab .wpr-tab-title{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.wpr-button-tooltip,.wpr-button-tooltip-a,.wpr-button-tooltip-b{position:absolute;border-radius:4px;visibility:hidden;opacity:0;font-size:13px;line-height:1.5;-webkit-transition-property:all;-o-transition-property:all;transition-property:all;-webkit-transition-timing-function:ease-in-out;-o-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;z-index:20}.wpr-hotspot-tooltip,.wpr-ticker-title{-webkit-transition-timing-function:ease-in-out;-o-transition-timing-function:ease-in-out}.wpr-button-tooltip-a:before,.wpr-button-tooltip-b:before,.wpr-button-tooltip:before{content:"";position:absolute;width:0;height:0;border-top-style:solid;border-left:6px solid transparent;border-right:6px solid transparent;border-top-width:6px}.wpr-button-a-wrap:hover .wpr-button-tooltip-a,.wpr-button-b-wrap:hover .wpr-button-tooltip-b,.wpr-button-wrap:hover .wpr-button-tooltip,.wpr-tooltip-active .wpr-hotspot-tooltip{visibility:visible;opacity:1}.wpr-button-tooltip-a-position-top .wpr-button-tooltip-a,.wpr-button-tooltip-b-position-top .wpr-button-tooltip-b,.wpr-button-tooltip-position-top .wpr-button-tooltip{top:0;left:50%;-ms-transform:translate(-50%,-120%);transform:translate(-50%,-120%);-webkit-transform:translate(-50%,-120%);margin-top:-5px}.wpr-button-tooltip-a-position-top .wpr-button-a-wrap:hover .wpr-button-tooltip-a,.wpr-button-tooltip-b-position-top .wpr-button-b-wrap:hover .wpr-button-tooltip-b,.wpr-button-tooltip-position-top .wpr-button-wrap:hover .wpr-button-tooltip{-ms-transform:translate(-50%,-100%);transform:translate(-50%,-100%);-webkit-transform:translate(-50%,-100%)}.wpr-button-tooltip-a-position-top .wpr-button-tooltip-a:before,.wpr-button-tooltip-b-position-top .wpr-button-tooltip-b:before,.wpr-button-tooltip-position-top .wpr-button-tooltip:before{left:50%;-ms-transform:translateX(-50%);transform:translateX(-50%);-webkit-transform:translateX(-50%);bottom:-5px}.wpr-button-tooltip-a-position-bottom .wpr-button-tooltip-a,.wpr-button-tooltip-b-position-bottom .wpr-button-tooltip-b,.wpr-button-tooltip-position-bottom .wpr-button-tooltip{bottom:0;left:50%;-ms-transform:translate(-50%,120%);transform:translate(-50%,120%);-webkit-transform:translate(-50%,120%);margin-bottom:-5px}.wpr-button-tooltip-a-position-bottom .wpr-button-a-wrap:hover .wpr-button-tooltip-a,.wpr-button-tooltip-b-position-bottom .wpr-button-b-wrap:hover .wpr-button-tooltip-b,.wpr-button-tooltip-position-bottom .wpr-button-wrap:hover .wpr-button-tooltip{-ms-transform:translate(-50%,100%);transform:translate(-50%,100%);-webkit-transform:translate(-50%,100%)}.wpr-button-tooltip-a-position-bottom .wpr-button-tooltip-a:before,.wpr-button-tooltip-b-position-bottom .wpr-button-tooltip-b:before,.wpr-button-tooltip-position-bottom .wpr-button-tooltip:before{top:-5px;left:50%;-webkit-transform:translateX(-50%) rotate(180deg);-ms-transform:translateX(-50%) rotate(180deg);transform:translateX(-50%) rotate(180deg)}.wpr-button-tooltip-a-position-left .wpr-button-tooltip-a,.wpr-button-tooltip-b-position-left .wpr-button-tooltip-b,.wpr-button-tooltip-position-left .wpr-button-tooltip{top:50%;left:0;-ms-transform:translate(-120%,-50%);transform:translate(-120%,-50%);-webkit-transform:translate(-120%,-50%);margin-left:-5px}.wpr-button-tooltip-a-position-left .wpr-button-a-wrap:hover .wpr-button-tooltip-a,.wpr-button-tooltip-b-position-left .wpr-button-b-wrap:hover .wpr-button-tooltip-b,.wpr-button-tooltip-position-left .wpr-button-wrap:hover .wpr-button-tooltip{-ms-transform:translate(-100%,-50%);transform:translate(-100%,-50%);-webkit-transform:translate(-100%,-50%)}.wpr-button-tooltip-a-position-left .wpr-button-tooltip-a:before,.wpr-button-tooltip-b-position-left .wpr-button-tooltip-b:before,.wpr-button-tooltip-position-left .wpr-button-tooltip:before{right:-8px;top:50%;-webkit-transform:translateY(-50%) rotate(-90deg);-ms-transform:translateY(-50%) rotate(-90deg);transform:translateY(-50%) rotate(-90deg)}.wpr-button-tooltip-a-position-right .wpr-button-tooltip-a,.wpr-button-tooltip-b-position-right .wpr-button-tooltip-b,.wpr-button-tooltip-position-right .wpr-button-tooltip{top:50%;right:0;-ms-transform:translate(120%,-50%);transform:translate(120%,-50%);-webkit-transform:translate(120%,-50%);margin-right:-5px}.wpr-button-tooltip-a-position-right .wpr-button-a-wrap:hover .wpr-button-tooltip-a,.wpr-button-tooltip-b-position-right .wpr-button-b-wrap:hover .wpr-button-tooltip-b,.wpr-button-tooltip-position-right .wpr-button-wrap:hover .wpr-button-tooltip{-ms-transform:translate(100%,-50%);transform:translate(100%,-50%);-webkit-transform:translate(100%,-50%)}.wpr-button-tooltip-position-right .wpr-button-tooltip:before{left:-8px;top:50%;-ms-transform:translateY(-50%) rotate(90deg);transform:translateY(-50%) rotate(90deg);-webkit-transform:translateY(-50%) rotate(90deg)}.elementor-widget-wpr-product-tabs .wc-tabs,.wpr-dual-button,.wpr-tabs,.wpr-tabs-position-left .elementor-widget-container .wc-tabs-wrapper,.wpr-tabs-position-right .elementor-widget-container .wc-tabs-wrapper,.wpr-ticker-marquee .js-marquee,.wpr-ticker-slider-controls{display:-moz-flex;display:-ms-flex;display:-o-flex;display:-webkit-box;display:-ms-flexbox;display:flex}.wpr-button-a-wrap,.wpr-button-b-wrap,.wpr-table-export-button-cont button{position:relative;width:100%}.wpr-button-a-wrap,.wpr-flip-box-front{z-index:5}.wpr-button-b-wrap{z-index:2}.wpr-button-middle-badge{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:absolute;top:50%;right:0;-webkit-transform:translate(50%,-50%);-ms-transform:translate(50%,-50%);transform:translate(50%,-50%);text-align:center;-webkit-box-sizing:content-box;box-sizing:content-box;z-index:10;border-width:3px;border-color:#00ce1b;-webkit-box-shadow:0 0 0 4px rgba(255,255,255,.3);box-shadow:0 0 0 4px rgba(255,255,255,.3)}.wpr-flip-box-content,.wpr-prbar-vr-line{-ms-flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal}.wpr-hotspot-tooltip-position-bottom .wpr-hotspot-tooltip:before,.wpr-hotspot-tooltip-position-top .wpr-hotspot-tooltip:before,.wpr-tabs-position-above>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab:before{border-left-color:transparent;border-right-color:transparent;border-top-style:solid;border-left-style:solid;border-right-style:solid}.wpr-button-middle-badge i{line-height:inherit}.elementor-widget-wpr-advanced-text b{font-weight:none}.elementor-widget-wpr-advanced-text .wpr-advanced-text .wpr-advanced-text-preffix,.elementor-widget-wpr-advanced-text .wpr-advanced-text .wpr-advanced-text-suffix,.elementor-widget-wpr-advanced-text .wpr-advanced-text .wpr-anim-text,.elementor-widget-wpr-advanced-text .wpr-advanced-text .wpr-anim-text b,.elementor-widget-wpr-advanced-text .wpr-advanced-text .wpr-highlighted-text{font-size:32px;font-weight:700}.wpr-advanced-text{display:block;margin:0}.wpr-clipped-text{position:relative;-ms-transform:translate(0,0);transform:translate(0,0);-webkit-transform:translate(0,0);z-index:0}.wpr-clipped-text-content{-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.elementor-widget-wpr-advanced-text .wpr-advanced-text .wpr-clipped-text{font-size:50px;font-weight:700}.wpr-clipped-text-long-shadow{position:absolute;display:inline-block;top:0;left:0;width:100%;height:100%;z-index:-1}.wpr-highlighted-text{position:relative;text-align:left}.wpr-highlighted-text-inner{position:relative;z-index:1}.wpr-highlighted-text svg{position:absolute;top:50%;left:50%;width:100%;height:100%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);overflow:visible;z-index:auto}.wpr-highlighted-text svg path{-webkit-animation-name:wpr-anim-text;animation-name:wpr-anim-text;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;fill:none;stroke-width:4;stroke-dasharray:1500;-webkit-animation-iteration-count:1;-animation-iteration-count:1;opacity:0}.wpr-highlighted-text .wpr-highlight-curly{-webkit-transform:translate(-50%,25%);-ms-transform:translate(-50%,25%);transform:translate(-50%,25%)}.wpr-highlighted-text .wpr-highlight-x{-webkit-transform:translate(-50%,-35%);-ms-transform:translate(-50%,-35%);transform:translate(-50%,-35%)}.wpr-highlighted-text .wpr-highlight-strikethrough{-webkit-transform:translate(-50%,-47%);-ms-transform:translate(-50%,-47%);transform:translate(-50%,-47%)}.wpr-highlighted-text .wpr-highlight-underline{-webkit-transform:translate(-50%,27%);-ms-transform:translate(-50%,27%);transform:translate(-50%,27%)}.wpr-highlighted-text .wpr-highlight-diagonal,.wpr-highlighted-text .wpr-highlight-double{-webkit-transform:translate(-50%,-40%);-ms-transform:translate(-50%,-40%);transform:translate(-50%,-40%)}.wpr-highlighted-text .wpr-highlight-double-underline{-webkit-transform:translate(-50%,30%);-ms-transform:translate(-50%,30%);transform:translate(-50%,30%)}.wpr-animated-text-infinite-yes .wpr-highlighted-text svg path{-webkit-animation-name:wpr-anim-text-infinite;animation-name:wpr-anim-text-infinite}@keyframes wpr-anim-text-infinite{0%{opacity:1;stroke-dasharray:0 1500}12%{stroke-dasharray:1500 1500}80%{opacity:1}97%{opacity:0;stroke-dasharray:1500 1500}100%{stroke-dasharray:0 1500}}@-webkit-keyframes wpr-anim-text{0%{opacity:1;stroke-dasharray:0 1500}12%{stroke-dasharray:1500 1500}100%{opacity:1}}@keyframes wpr-anim-text{0%{opacity:1;stroke-dasharray:0 1500}12%{stroke-dasharray:1500 1500}100%{opacity:1}}@-webkit-keyframes wpr-anim-text-infinite{80%{opacity:1}97%{opacity:0;stroke-dasharray:1500 1500}100%{stroke-dasharray:0 1500;opacity:1}0%{opacity:1;stroke-dasharray:0 1500}12%{stroke-dasharray:1500 1500}}.wpr-anim-text-cursor{display:inline-block;zoom:1;opacity:1;-webkit-animation-name:wpr-cursor-blink;animation-name:wpr-cursor-blink;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}@-webkit-keyframes wpr-cursor-blink{0%,100%{opacity:1}50%{opacity:0}}@keyframes wpr-cursor-blink{0%,100%{opacity:1}50%{opacity:0}}.wpr-prbar-hr-line,.wpr-ticker-slider{position:relative;width:100%;overflow:hidden}.wpr-prbar-hr-line-inner{position:relative;top:0;left:0;width:0;height:100%;-webkit-transition-property:width;-o-transition-property:width;transition-property:width;overflow:hidden}.wpr-prbar-hr-line .wpr-prbar-content,.wpr-timeline-iframe-wrapper iframe,.wpr-timeline-media iframe{position:absolute;top:0;left:0;width:100%;height:100%}.wpr-prbar-hr-line .wpr-prbar-title-wrap{position:absolute;top:50%;left:12px;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.wpr-prbar-hr-line .wpr-prbar-counter{position:absolute;top:50%;right:12px;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.wpr-prbar-vr-line{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;flex-direction:column;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;width:100%;margin:0 auto;overflow:hidden}.wpr-prbar-vr-line-inner{position:relative;width:100%;height:0;-webkit-transition-property:height;-o-transition-property:height;transition-property:height;overflow:hidden}.wpr-prbar-circle{position:relative;display:table;width:100%;height:auto;margin:0 auto}.wpr-prbar-circle-svg{width:100%;height:auto;-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);border-radius:50%}.wpr-flip-box,.wpr-flip-box-item{-webkit-transform-style:preserve-3d}.wpr-prbar-circle-prline{-webkit-transition-property:stroke-dasharray,stroke-dashoffset;-o-transition-property:stroke-dasharray,stroke-dashoffset;transition-property:stroke-dasharray,stroke-dashoffset;stroke-linecap:butt}.wpr-flip-box-item,.wpr-hotspot-tooltip{-webkit-transition-property:all;-o-transition-property:all}.wpr-prbar-circle .wpr-prbar-content{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.wpr-prbar-content{text-align:center;overflow:hidden}.wpr-prbar-counter{display:-webkit-box;display:-ms-flexbox;display:-moz-flex;display:flex;font-size:12px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.wpr-prbar-subtitle,.wpr-prbar-title{font-size:12px;text-align:center}.wpr-prbar-stripe-yes .wpr-prbar-hr-line-inner:after,.wpr-prbar-stripe-yes .wpr-prbar-vr-line-inner:after{content:'';position:absolute;top:0;left:-30px;width:calc(100% + 60px);height:100%;background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:30px 30px}.wpr-prbar-stripe-yes.wpr-prbar-stripe-anim-right .wpr-prbar-hr-line-inner:after,.wpr-prbar-stripe-yes.wpr-prbar-stripe-anim-right .wpr-prbar-vr-line-inner:after{-webkit-animation:2s linear infinite stripe-anim-right;animation:2s linear infinite stripe-anim-right}.wpr-prbar-stripe-yes.wpr-prbar-stripe-anim-left .wpr-prbar-hr-line-inner:after,.wpr-prbar-stripe-yes.wpr-prbar-stripe-anim-left .wpr-prbar-vr-line-inner:after{-webkit-animation:2s linear infinite stripe-anim-left;animation:2s linear infinite stripe-anim-left}@-webkit-keyframes stripe-anim-right{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(30px,0);transform:translate(30px,0)}}@keyframes stripe-anim-right{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(30px,0);transform:translate(30px,0)}}@-webkit-keyframes stripe-anim-left{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(-30px,0);transform:translate(-30px,0)}}@keyframes stripe-anim-left{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(-30px,0);transform:translate(-30px,0)}}.wpr-price-list-item,.wpr-promo-box{display:-moz-flex;display:-ms-flex;display:-o-flex;display:-webkit-box;display:-ms-flexbox;display:flex;position:relative}.wpr-hotspot-item-container,.wpr-price-list-link{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10}.wpr-price-list-image img{display:block;margin:0 auto}.elementor-widget-wpr-price-list .wpr-price-list-heading .wpr-price-list-price,.elementor-widget-wpr-price-list .wpr-price-list-heading .wpr-price-list-title{font-size:17px;font-weight:700}.wpr-price-list-old-price{font-size:11px}.wpr-price-list-separator{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;height:0}.wpr-price-list-price-wrap{display:-moz-flex;display:-ms-flex;display:-o-flex;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.wpr-price-list-old-position-after .wpr-price-list-old-price,.wpr-ticker-image{margin-right:10px}.wpr-price-list-old-position-before .wpr-price-list-old-price{margin-left:3px}.wpr-price-list-old-price{display:-moz-flex;display:-ms-flex;display:-o-flex;display:-webkit-box;display:-ms-flexbox;display:flex}.wpr-hotspot-content{position:relative;z-index:15;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;text-align:center}.wpr-hotspot-item,.wpr-hotspot-item:before{-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-play-state:running;animation-play-state:running}.wpr-hotspot-tooltip{position:absolute;border-radius:4px;visibility:hidden;opacity:0;line-height:1.5;transition-property:all;transition-timing-function:ease-in-out;z-index:20;-webkit-box-shadow:0 0 4px 0 rgba(0,0,0,.5);box-shadow:0 0 4px 0 rgba(0,0,0,.5);font-size:13px}.wpr-hotspot-tooltip:before{content:"";position:absolute;width:0;height:0}.wpr-hotspot-tooltip-position-pro-bt .wpr-hotspot-tooltip,.wpr-hotspot-tooltip-position-pro-lt .wpr-hotspot-tooltip,.wpr-hotspot-tooltip-position-pro-rt .wpr-hotspot-tooltip{top:-120%;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.wpr-hotspot-tooltip-position-left .wpr-hotspot-tooltip:before,.wpr-hotspot-tooltip-position-right .wpr-hotspot-tooltip:before,.wpr-tabs-position-left>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab:before,.wpr-tabs-position-right>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab:before{border-bottom-color:transparent;border-top-color:transparent;border-right-style:solid;border-bottom-style:solid;border-top-style:solid}.wpr-hotspot-tooltip-position-bottom .wpr-hotspot-tooltip:before{left:50%;-webkit-transform:translateX(-50%) rotate(180deg);-ms-transform:translateX(-50%) rotate(180deg);transform:translateX(-50%) rotate(180deg)}.wpr-hotspot-tooltip-position-left .wpr-hotspot-tooltip:before{top:50%;-webkit-transform:translateY(-50%) rotate(180deg);-ms-transform:translateY(-50%) rotate(180deg);transform:translateY(-50%) rotate(180deg)}.wpr-hotspot-tooltip-position-left .wpr-hotspot-tooltip,.wpr-hotspot-tooltip-position-right .wpr-hotspot-tooltip{top:50%}.wpr-hotspot-tooltip-position-top.wpr-tooltip-effect-shift-toward .wpr-hotspot-tooltip{-webkit-transform:translate(-50%,-120%);-ms-transform:translate(-50%,-120%);transform:translate(-50%,-120%)}.wpr-hotspot-tooltip-position-top.wpr-tooltip-effect-fade .wpr-hotspot-tooltip,.wpr-hotspot-tooltip-position-top.wpr-tooltip-effect-shift-toward .wpr-tooltip-active .wpr-hotspot-tooltip{-webkit-transform:translate(-50%,-100%);-ms-transform:translate(-50%,-100%);transform:translate(-50%,-100%)}.wpr-hotspot-tooltip-position-bottom.wpr-tooltip-effect-shift-toward .wpr-hotspot-tooltip{-webkit-transform:translate(-50%,120%);-ms-transform:translate(-50%,120%);transform:translate(-50%,120%)}.wpr-hotspot-tooltip-position-bottom.wpr-tooltip-effect-fade .wpr-hotspot-tooltip,.wpr-hotspot-tooltip-position-bottom.wpr-tooltip-effect-shift-toward .wpr-tooltip-active .wpr-hotspot-tooltip{-webkit-transform:translate(-50%,100%);-ms-transform:translate(-50%,100%);transform:translate(-50%,100%)}.wpr-hotspot-tooltip-position-left.wpr-tooltip-effect-shift-toward .wpr-hotspot-tooltip{-webkit-transform:translate(-120%,-50%);-ms-transform:translate(-120%,-50%);transform:translate(-120%,-50%)}.wpr-hotspot-tooltip-position-left.wpr-tooltip-effect-fade .wpr-hotspot-tooltip,.wpr-hotspot-tooltip-position-left.wpr-tooltip-effect-shift-toward .wpr-tooltip-active .wpr-hotspot-tooltip{-webkit-transform:translate(-100%,-50%);-ms-transform:translate(-100%,-50%);transform:translate(-100%,-50%)}.wpr-hotspot-tooltip-position-right.wpr-tooltip-effect-shift-toward .wpr-hotspot-tooltip{-webkit-transform:translate(120%,-50%);-ms-transform:translate(120%,-50%);transform:translate(120%,-50%)}.wpr-hotspot-tooltip-position-right.wpr-tooltip-effect-fade .wpr-hotspot-tooltip,.wpr-hotspot-tooltip-position-right.wpr-tooltip-effect-shift-toward .wpr-tooltip-active .wpr-hotspot-tooltip{-webkit-transform:translate(100%,-50%);-ms-transform:translate(100%,-50%);transform:translate(100%,-50%)}.wpr-hotspot-tooltip-position-top.wpr-tooltip-effect-scale .wpr-hotspot-tooltip{-webkit-transform:translate(-50%,-100%) scale(.7);-ms-transform:translate(-50%,-100%) scale(.7);transform:translate(-50%,-100%) scale(.7)}.wpr-hotspot-tooltip-position-bottom.wpr-tooltip-effect-scale .wpr-hotspot-tooltip{-webkit-transform:translate(-50%,100%) scale(.7);-ms-transform:translate(-50%,100%) scale(.7);transform:translate(-50%,100%) scale(.7)}.wpr-hotspot-tooltip-position-left.wpr-tooltip-effect-scale .wpr-hotspot-tooltip{-webkit-transform:translate(-100%,-50%) scale(.7);-ms-transform:translate(-100%,-50%) scale(.7);transform:translate(-100%,-50%) scale(.7)}.wpr-hotspot-tooltip-position-right.wpr-tooltip-effect-scale .wpr-hotspot-tooltip{-webkit-transform:translate(100%,-50%) scale(.7);-ms-transform:translate(100%,-50%) scale(.7);transform:translate(100%,-50%) scale(.7)}.wpr-hotspot-tooltip-position-top.wpr-tooltip-effect-scale .wpr-tooltip-active .wpr-hotspot-tooltip{-webkit-transform:translate(-50%,-100%) scale(1);-ms-transform:translate(-50%,-100%) scale(1);transform:translate(-50%,-100%) scale(1)}.wpr-hotspot-tooltip-position-bottom.wpr-tooltip-effect-scale .wpr-tooltip-active .wpr-hotspot-tooltip{-webkit-transform:translate(-50%,100%) scale(1);-ms-transform:translate(-50%,100%) scale(1);transform:translate(-50%,100%) scale(1)}.wpr-hotspot-tooltip-position-left.wpr-tooltip-effect-scale .wpr-tooltip-active .wpr-hotspot-tooltip{-webkit-transform:translate(-100%,-50%) scale(1);-ms-transform:translate(-100%,-50%) scale(1);transform:translate(-100%,-50%) scale(1)}.wpr-hotspot-tooltip-position-right.wpr-tooltip-effect-scale .wpr-tooltip-active .wpr-hotspot-tooltip{-webkit-transform:translate(100%,-50%) scale(1);-ms-transform:translate(100%,-50%) scale(1);transform:translate(100%,-50%) scale(1)}@keyframes wpr-hotspot-anim-pulse{0%,100%,87%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}88%,92%,96%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}90%,94%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}}@-webkit-keyframes wpr-hotspot-anim-pulse{0%,100%,87%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}88%,92%,96%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}90%,94%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}}.wpr-hotspot-anim-pulse{-webkit-animation-name:wpr-hotspot-anim-pulse;animation-name:wpr-hotspot-anim-pulse;-webkit-animation-duration:5s;animation-duration:5s}@keyframes wpr-hotspot-anim-shake{0%,100%,87%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}88%,92%,96%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}90%,94%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}}@-webkit-keyframes wpr-hotspot-anim-shake{0%,100%,87%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}88%,92%,96%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}90%,94%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}}.wpr-hotspot-anim-shake{-webkit-animation-name:wpr-hotspot-anim-shake;animation-name:wpr-hotspot-anim-shake;-webkit-animation-duration:5s;animation-duration:5s}@keyframes wpr-hotspot-anim-swing{0%,100%,70%{-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg)}75%{-webkit-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}80%{-webkit-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}85%{-webkit-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}90%{-webkit-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}}@-webkit-keyframes wpr-hotspot-anim-swing{0%,100%,70%{-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg)}75%{-webkit-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}80%{-webkit-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}85%{-webkit-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}90%{-webkit-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}}.wpr-hotspot-anim-swing{-webkit-animation-name:wpr-hotspot-anim-swing;animation-name:wpr-hotspot-anim-swing;-webkit-animation-duration:5s;animation-duration:5s}@keyframes wpr-hotspot-anim-tada{0%,100%,84%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}85%{-webkit-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg)}88%,92%,96%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}90%,94%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}}@-webkit-keyframes wpr-hotspot-anim-tada{0%,100%,84%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}85%{-webkit-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg)}88%,92%,96%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}90%,94%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}}.wpr-hotspot-anim-tada{-webkit-animation-name:wpr-hotspot-anim-tada;animation-name:wpr-hotspot-anim-tada;-webkit-animation-duration:6s;animation-duration:6s}@keyframes wpr-hotspot-anim-glow{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}100%{-webkit-transform:scale(1.5);transform:scale(1.5);opacity:0}}@-webkit-keyframes wpr-hotspot-anim-glow{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}100%{-webkit-transform:scale(1.5);transform:scale(1.5);opacity:0}}.wpr-hotspot-anim-glow:before{content:'';display:block;position:absolute;left:0;top:0;height:100%;width:100%;z-index:-1;-webkit-animation-name:wpr-hotspot-anim-glow;animation-name:wpr-hotspot-anim-glow;-webkit-animation-duration:2s;animation-duration:2s}.wpr-divider-wrap{display:inline-block;width:100%;overflow:hidden}.wpr-business-hours-item,.wpr-divider{display:-ms-flexbox;display:-webkit-box}.wpr-divider{display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wpr-divider-text{-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto}.elementor-widget-wpr-divider .wpr-divider .wpr-divider-text{font-size:21px}.wpr-divider-border-left,.wpr-divider-border-right{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.wpr-divider-border{display:block;width:100%;height:1px}.wpr-business-hours-item{position:relative;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transition:.1s;-o-transition:.1s;transition:.1s}.wpr-business-day{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;text-align:left}.elementor-widget-wpr-business-hours .wpr-business-hours .wpr-business-closed,.elementor-widget-wpr-business-hours .wpr-business-hours .wpr-business-day,.elementor-widget-wpr-business-hours .wpr-business-hours .wpr-business-time{font-size:16px;font-weight:500}.wpr-business-closed,.wpr-business-time{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;text-align:right}.wpr-business-hours-item:after{content:"";display:block;position:absolute;bottom:0;left:0;width:100%}.elementor-widget-wpr-business-hours .wpr-business-closed,.elementor-widget-wpr-business-hours .wpr-business-day,.elementor-widget-wpr-business-hours .wpr-business-time{font-weight:500}.wpr-flip-box{position:relative;transform-style:preserve-3d;transition:.5s;-webkit-perspective:1000px;perspective:1000px}.wpr-flip-box-item{position:absolute;top:0;left:0;width:100%;height:100%;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition-property:all}.wpr-promo-box-bg-overlay,.wpr-ticker-title{-webkit-transition-property:all;-o-transition-property:all}.elementor-widget-wpr-flip-box .wpr-flip-box-back .wpr-flip-box-content .wpr-flip-box-title,.elementor-widget-wpr-flip-box .wpr-flip-box-front .wpr-flip-box-content .wpr-flip-box-title{font-size:23px;font-weight:600}.wpr-flip-box-content{display:-moz-flex;display:-ms-flex;display:-o-flex;display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;height:100%;flex-direction:column;position:relative;z-index:10}.wpr-flip-box-link,.wpr-flip-box-overlay,.wpr-promo-box-bg-image,.wpr-promo-box-bg-overlay,.wpr-ticker-link{position:absolute;left:0;width:100%;height:100%}.wpr-flip-box-overlay{top:0;z-index:5}.wpr-flip-box-link,.wpr-ticker-link{display:block;top:0;z-index:20}.wpr-flip-box-btn{display:inline-table;cursor:pointer}.wpr-content-ticker,.wpr-promo-box-content{display:-moz-flex;display:-ms-flex;display:-o-flex}.wpr-flip-box-animation-flip.wpr-flip-box-anim-direction-left .wpr-flip-box-active .wpr-flip-box-front,.wpr-flip-box-animation-flip.wpr-flip-box-anim-direction-right .wpr-flip-box-back{-webkit-transform:rotateX(0) rotateY(-180deg);transform:rotateX(0) rotateY(-180deg)}.wpr-flip-box-animation-flip.wpr-flip-box-anim-direction-left .wpr-flip-box-back,.wpr-flip-box-animation-flip.wpr-flip-box-anim-direction-right .wpr-flip-box-active .wpr-flip-box-front{-webkit-transform:rotateX(0) rotateY(180deg);transform:rotateX(0) rotateY(180deg)}.wpr-flip-box-animation-flip.wpr-flip-box-anim-direction-down .wpr-flip-box-active .wpr-flip-box-front,.wpr-flip-box-animation-flip.wpr-flip-box-anim-direction-up .wpr-flip-box-back{-webkit-transform:rotateX(-180deg) rotateY(0);transform:rotateX(-180deg) rotateY(0)}.wpr-flip-box-animation-flip.wpr-flip-box-anim-direction-down .wpr-flip-box-back,.wpr-flip-box-animation-flip.wpr-flip-box-anim-direction-up .wpr-flip-box-active .wpr-flip-box-front{-webkit-transform:rotateX(180deg) rotateY(0);transform:rotateX(180deg) rotateY(0)}.wpr-flip-box-animation-flip .wpr-flip-box-active .wpr-flip-box-back{-webkit-transform:none;-ms-transform:none;transform:none}.wpr-flip-box-animation-3d-yes .wpr-flip-box-content{-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-transform:translateZ(70px) scale(.93);transform:translateZ(70px) scale(.93)}.wpr-flip-box-animation-push .wpr-flip-box-back,.wpr-flip-box-animation-slide .wpr-flip-box-back{z-index:10}.wpr-flip-box-animation-push.wpr-flip-box-anim-direction-down .wpr-flip-box-active .wpr-flip-box-front,.wpr-flip-box-animation-push.wpr-flip-box-anim-direction-up .wpr-flip-box-back,.wpr-flip-box-animation-slide.wpr-flip-box-anim-direction-up .wpr-flip-box-back{top:100%}.wpr-flip-box-animation-push.wpr-flip-box-anim-direction-down .wpr-flip-box-back,.wpr-flip-box-animation-slide.wpr-flip-box-anim-direction-down .wpr-flip-box-back{top:auto;bottom:100%}.wpr-flip-box-animation-push.wpr-flip-box-anim-direction-down .wpr-flip-box-active .wpr-flip-box-back,.wpr-flip-box-animation-slide.wpr-flip-box-anim-direction-down .wpr-flip-box-active .wpr-flip-box-back{top:auto;bottom:0}.wpr-flip-box-animation-push.wpr-flip-box-anim-direction-right .wpr-flip-box-back,.wpr-flip-box-animation-slide.wpr-flip-box-anim-direction-right .wpr-flip-box-back{left:auto;right:100%}.wpr-flip-box-animation-push.wpr-flip-box-anim-direction-up .wpr-flip-box-active .wpr-flip-box-front{top:-100%}.wpr-flip-box-animation-push.wpr-flip-box-anim-direction-left .wpr-flip-box-active .wpr-flip-box-front{left:-100%}.wpr-flip-box-animation-zoom-in .wpr-flip-box-back{opacity:0;-webkit-transform:scale(.9);-ms-transform:scale(.9);transform:scale(.9);z-index:10}.wpr-flip-box-animation-zoom-in .wpr-flip-box-active .wpr-flip-box-back{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.wpr-flip-box-animation-zoom-out .wpr-flip-box-active .wpr-flip-box-front{opacity:0;-webkit-transform:scale(.9);-ms-transform:scale(.9);transform:scale(.9);visibility:hidden}.elementor-widget-wpr-flip-box .wpr-flip-box-back{background-color:#ff348b}.wpr-parallax-multi-layer,.wpr-promo-box-style-cover .wpr-promo-box-image,.wpr-promo-box-style-pro-cs .wpr-promo-box-image{position:absolute;top:0;left:0;height:100%;width:100%}.wpr-promo-box-bg-image{top:0;z-index:10;background-size:cover;background-position:50%}.wpr-promo-box-bg-overlay{top:0;z-index:15;transition-property:all}.wpr-promo-box-content{position:relative;z-index:20;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;overflow:hidden}.elementor-widget-wpr-promo-box.wpr-promo-box-style-classic .wpr-promo-box-content{background-color:#212121}.elementor-widget-wpr-promo-box.wpr-promo-box-style-classic .wpr-promo-box:hover .wpr-promo-box-content{background-color:#ddb34f}@media screen and (max-width:640px){.wpr-promo-box-style-classic .wpr-promo-box{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.wpr-promo-box-style-classic .wpr-promo-box-image{min-width:auto!important}}.wpr-promo-box-link{display:block;position:absolute;width:100%;height:100%;top:0;left:0;z-index:40}.elementor .elementor-widget-wpr-promo-box .wpr-promo-box:hover .wpr-promo-box-bg-image{-webkit-filter:brightness(100%) contrast(100%) saturate(100%) hue-rotate(0deg);filter:brightness( 100%) contrast( 100%) saturate( 100%) hue-rotate( 0deg)}.wpr-promo-box-badge{position:absolute;display:inline-block;text-align:center;z-index:35}.wpr-content-ticker,.wpr-content-ticker-inner{display:-webkit-box;display:-ms-flexbox;overflow:hidden}.wpr-promo-box-badge-cyrcle.wpr-promo-box-badge-left{-webkit-transform:translateX(-40%) translateY(-40%);-ms-transform:translateX(-40%) translateY(-40%);transform:translateX(-40%) translateY(-40%)}.wpr-promo-box-badge-cyrcle.wpr-promo-box-badge-right{-webkit-transform:translateX(40%) translateY(-40%);-ms-transform:translateX(40%) translateY(-40%);transform:translateX(40%) translateY(-40%)}.wpr-promo-box-badge-flag.wpr-promo-box-badge-left:before{left:5px;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.wpr-promo-box-badge-flag.wpr-promo-box-badge-right:before{right:-5px;-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg)}.elementor-widget-wpr-promo-box .wpr-promo-box-title{font-size:24px;font-weight:600}.elementor-widget-wpr-promo-box .wpr-promo-box-badge .wpr-promo-box-badge-inner{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.elementor-widget-wpr-promo-box .wpr-promo-box-badge-corner .wpr-promo-box-badge-inner{line-height:1.6}.wpr-content-ticker{display:flex}.wpr-content-ticker-inner,.wpr-tabs-wrap{display:-moz-flex;display:-ms-flex;display:-o-flex}.wpr-content-ticker-inner{display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;z-index:20;width:100%}.wpr-ticker-gradient-type-both .wpr-ticker-gradient:before,.wpr-ticker-gradient-type-left .wpr-ticker-gradient:before{content:"";position:absolute;bottom:0;top:0;left:0;width:40px;z-index:20}.wpr-ticker-gradient-type-both .wpr-ticker-gradient:after,.wpr-ticker-gradient-type-right .wpr-ticker-gradient:after{content:"";position:absolute;bottom:0;top:0;right:0;width:40px;z-index:20}.wpr-ticker-arrow-position-left .wpr-ticker-slider-controls{margin-right:20px}.wpr-ticker-arrow-position-right .wpr-ticker-slider-controls{margin-left:20px}.wpr-ticker-title{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-align-items:center;overflow:hidden;transition-property:all;transition-timing-function:ease-in-out;-webkit-transition-duration:.2s;-o-transition-duration:.2s;transition-duration:.2s;margin:0}.wpr-ticker-title-inner{overflow:hidden;display:inline}.wpr-tabs-wrap,.wpr-ticker-heading{display:-webkit-box;display:-ms-flexbox}.wpr-ticker-heading{display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;z-index:25;-webkit-transition-property:all;-o-transition-property:all;transition-property:all;-webkit-transition-timing-function:ease-in-out;-o-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}.wpr-ticker-heading-triangle-bottom .wpr-ticker-heading:before,.wpr-ticker-heading-triangle-middle .wpr-ticker-heading:before,.wpr-ticker-heading-triangle-top .wpr-ticker-heading:before{position:absolute;-webkit-transition-property:inherit;-o-transition-property:inherit;-webkit-transition-timing-function:inherit;-o-transition-timing-function:inherit;-webkit-transition-duration:inherit;-o-transition-duration:inherit;content:""}.wpr-ticker-heading-triangle-middle .wpr-ticker-heading:before{width:0;height:0;background:0 0!important;border-bottom-color:transparent;border-top-color:transparent;border-right-style:solid;border-bottom-style:solid;border-top-style:solid;border-width:10px;top:50%;transition-property:inherit;transition-timing-function:inherit;transition-duration:inherit}.wpr-ticker-heading-triangle-bottom .wpr-ticker-heading:before,.wpr-ticker-heading-triangle-top .wpr-ticker-heading:before{top:0;bottom:0;width:100%;z-index:1;transition-property:inherit;transition-timing-function:inherit;transition-duration:inherit}.wpr-ticker-heading-icon,.wpr-ticker-heading-text,.wpr-ticker-icon-circle{-webkit-transition-property:inherit;-o-transition-property:inherit;-webkit-transition-timing-function:inherit;-o-transition-timing-function:inherit}.wpr-ticker-heading-icon,.wpr-ticker-heading-text{position:relative;z-index:20;transition-property:inherit;transition-timing-function:inherit;-webkit-transition-duration:inherit;-o-transition-duration:inherit;transition-duration:inherit}.wpr-ticker-heading-triangle-top .wpr-ticker-heading:before{-ms-transform:skew(20deg);transform:skew(20deg);-webkit-transform:skew(20deg)}.wpr-ticker-heading-triangle-bottom .wpr-ticker-heading:before{-ms-transform:skew(-20deg);transform:skew(-20deg);-webkit-transform:skew(-20deg)}.wpr-ticker-heading-position-left.wpr-ticker-heading-triangle-middle .wpr-ticker-heading:before{-webkit-transform:translateY(-50%) rotate(180deg);-ms-transform:translateY(-50%) rotate(180deg);transform:translateY(-50%) rotate(180deg)}.wpr-ticker-arrow{-webkit-box-sizing:content-box;box-sizing:content-box;text-align:center;-webkit-transition:.5s;-o-transition:.5s;transition:.5s;cursor:pointer}.wpr-ticker-next-arrow{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.wpr-content-ticker-inner .wpr-ticker-item{display:-moz-flex!important;display:-ms-flex!important;display:-o-flex!important;display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center;position:relative;overflow:hidden}.wpr-ticker-arrow-style-vertical .wpr-ticker-slider .wpr-ticker-item{margin:1px 0}.wpr-ticker-icon-circle{display:block;border-radius:50%;-webkit-border-radius:50%;z-index:5;transition-property:inherit;transition-timing-function:inherit;-webkit-transition-duration:inherit;-o-transition-duration:inherit;transition-duration:inherit}.wpr-ticker-icon-circle:after,.wpr-ticker-icon-circle:before{content:"";position:absolute;top:50%;left:50%;-webkit-animation-name:wpr-ticker-icon-blink;animation-name:wpr-ticker-icon-blink;-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;border-radius:50%;border-width:1px;border-style:solid;-webkit-border-radius:50%;-moz-border-radius:50%;-webkit-transition-property:inherit;-o-transition-property:inherit;transition-property:inherit;-webkit-transition-timing-function:inherit;-o-transition-timing-function:inherit;transition-timing-function:inherit;-webkit-transition-duration:inherit;-o-transition-duration:inherit;transition-duration:inherit}.wpr-ticker-icon-circle:after{-webkit-animation-delay:1s;animation-delay:1s}@-webkit-keyframes wpr-ticker-icon-blink{0%{-webkit-transform:scale(1,1);transform:scale(1,1)}100%{-webkit-transform:scale(3,3);transform:scale(3,3);opacity:0}}@keyframes wpr-ticker-icon-blink{0%{-webkit-transform:scale(1,1);transform:scale(1,1)}100%{-webkit-transform:scale(3,3);transform:scale(3,3);opacity:0}}.wpr-tabs-wrap{display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.wpr-switcher-container,.wpr-tab{display:-moz-flex;display:-ms-flex;display:-o-flex;display:-webkit-box;display:-ms-flexbox}.wpr-add-to-cart-layout-column.wpr-product-adc-align-center .cart,.wpr-tabs-hr-position-center>.elementor-widget-container>.wpr-tabs{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wpr-add-to-cart-layout-column.wpr-product-adc-align-left .cart,.wpr-tabs-hr-position-left>.elementor-widget-container .wc-tabs,.wpr-tabs-hr-position-left>.elementor-widget-container>.wpr-tabs{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.elementor-widget-wpr-product-tabs.wpr-tabs-position-above .wc-tabs,.wpr-add-to-cart-layout-column.wpr-product-adc-align-right .cart,.wpr-tabs-hr-position-right>.elementor-widget-container>.wpr-tabs{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab,.elementor-widget-wpr-product-tabs:not(.wpr-tabs-hr-position-left):not(.wpr-tabs-hr-position-right):not(.wpr-tabs-hr-position-center) .elementor-widget-container .wc-tabs li,.elementor-widget-wpr-product-tabs:not(.wpr-tabs-hr-position-left):not(.wpr-tabs-hr-position-right):not(.wpr-tabs-hr-position-center) .elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab,.wpr-tabs-hr-position-justify>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-ms-flex-preferred-size:0;flex-basis:0}.wpr-tab{position:relative;z-index:25;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer}.wpr-tab,.wpr-tab-icon,.wpr-tab-image,.wpr-tab-title{-webkit-transition-property:all;-o-transition-property:all;transition-property:all}.wpr-tab-icon,.wpr-tab-icon i,.wpr-tab-image,.wpr-tab-title{-webkit-transition-duration:inherit;-o-transition-duration:inherit;transition-duration:inherit}.wpr-switcher-content-wrap,.wpr-tabs-content-wrap{position:relative;width:100%;-webkit-transition-property:height;-o-transition-property:height;transition-property:height;-webkit-transition-timing-function:cubic-bezier(0.5,0.9,0.6,0.95);-o-transition-timing-function:cubic-bezier(0.5,0.9,0.6,0.95);transition-timing-function:cubic-bezier(0.5,0.9,0.6,0.95);-webkit-transition-duration:.5s;-o-transition-duration:.5s;transition-duration:.5s;z-index:1;overflow:hidden}.wpr-switcher-content,.wpr-tab-content{position:absolute;width:100%;top:0;left:0;z-index:1}.wpr-switcher-content-active,.wpr-tab-content-active{position:relative;z-index:100}.wpr-pc-btn-icon-top .wpr-pc-content,.wpr-stt-btn-icon-bottom .wpr-stt-btn,.wpr-tabs-icon-position-center>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.wpr-tabs-triangle-yes>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab:before{content:"";position:absolute;width:0;height:0;-webkit-transition-property:border-color;-o-transition-property:border-color;transition-property:border-color;-webkit-transition-timing-function:ease-in;-o-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0;visibility:hidden;z-index:110}.wpr-tabs-position-above>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab:before{border-top-color:#fff}.wpr-pc-btn,.wpr-stt-btn{border:none;font-size:16px;text-align:center;cursor:pointer;line-height:1}.wpr-tabs-position-above.wpr-tabs-triangle-type-inner.wpr-tabs-position-above>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab:before{left:50%;-ms-transform:translateX(-50%) rotate(180deg);transform:translateX(-50%) rotate(180deg);-webkit-transform:translateX(-50%) rotate(180deg);bottom:-1px}.wpr-tabs-position-left.wpr-tabs-triangle-type-outer>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab:before,.wpr-tabs-position-right.wpr-tabs-triangle-type-inner>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab:before{top:50%;-ms-transform:translateY(-50%) rotate(180deg);transform:translateY(-50%) rotate(180deg);-webkit-transform:translateY(-50%) rotate(180deg)}.wpr-ticker-effect-typing .wpr-ticker-title:after{display:inline-block;vertical-align:top;opacity:1;color:inherit;margin-left:2px}.wpr-ticker-effect-typing .slick-current .wpr-ticker-title:after{-webkit-animation-name:wpr-cursor-blink;animation-name:wpr-cursor-blink;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-duration:.5s;animation-duration:.5s}.wpr-ticker-effect-typing .slick-current .wpr-ticker-title-inner{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-animation:1s steps(30,end) wpr-ticker-typing;animation:1s steps(30,end) wpr-ticker-typing;overflow:hidden}@-webkit-keyframes wpr-ticker-typing{from{width:0}to{width:100%}}@keyframes wpr-ticker-typing{from{width:0}to{width:100%}}.wpr-switcher-container{display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin:0 auto}.wpr-switcher,.wpr-switcher-wrap{position:relative;display:-moz-flex;display:-ms-flex;display:-o-flex;display:-webkit-box;display:-ms-flexbox}.wpr-switcher-wrap{display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wpr-switcher{display:flex;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-ms-flex-preferred-size:0;flex-basis:0;height:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;z-index:20;cursor:pointer}.wpr-stt-btn,.wpr-switcher-inner{display:-webkit-box;display:-ms-flexbox}.wpr-switcher-inner{display:-moz-flex;display:-ms-flex;display:-o-flex;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wpr-switcher-bg{position:absolute;height:100%;z-index:1;-o-transition:.4s ease-in-out;transition:.4s ease-in-out;-webkit-transition:.4s ease-in-out}.wpr-switcher-style-dual.wpr-switcher-label-style-outer>.elementor-widget-container>.wpr-content-toggle>.wpr-switcher-container[data-active-switcher*="2"] .wpr-switcher-bg{left:100%;-ms-transform:translateX(-100%);transform:translateX(-100%);-webkit-transform:translateX(-100%)}.wpr-stt-btn{padding:20px;max-width:5cm;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-shadow:0 0 10px 0 rgb(0,0,0,.25);box-shadow:0 0 10px 0 rgb(0,0,0,.25)}.wpr-feature-list-center .wpr-feature-list-item,.wpr-pc-btn-icon-bottom .wpr-pc-content,.wpr-stt-btn-icon-top .wpr-stt-btn{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wpr-stt-btn-align-fixed .wpr-stt-btn{visibility:hidden;position:fixed;z-index:9999}.wpr-one-sided-timeline-left .wpr-icon,.wpr-one-sided-timeline-left .wpr-middle-line,.wpr-one-sided-timeline-left .wpr-timeline-fill,.wpr-one-sided-timeline-left .wpr-year-label,.wpr-pc-btn-align-fixed-right .wpr-pc-btn,.wpr-stt-btn-align-fixed-right .wpr-stt-btn{left:auto}.wpr-pc-btn-align-fixed-left .wpr-pc-btn,.wpr-stt-btn-align-fixed-left .wpr-stt-btn{right:auto}.wpr-pc-btn{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor a.wpr-pc-btn{-webkit-box-shadow:0 0 10px 0 rgba(0,0,0,.2);box-shadow:0 0 10px 0 rgba(0,0,0,.2)}.wpr-pc-btn-align-fixed .wpr-pc-btn{position:fixed;z-index:9999}.wpr-vertical{min-width:100%;min-height:100%;overflow:hidden}.wpr-vertical .wpr-timeline-centered .wpr-data-wrap{display:flow-root}.wpr-timeline-centered{position:relative;display:table;width:100%;height:100%}.wpr-flip-items-wrapper,.wpr-list-style-none ul{list-style-type:none}.wpr-list-style-disc ul{list-style-type:disc}.wpr-list-style-decimal ul{list-style-type:decimal}.wpr-timeline-centered.wpr-both-sided-timeline .wpr-timeline-entry{position:relative;width:50%;float:right;margin-bottom:70px;clear:both}.wpr-product-add-to-cart .quantity .qty,.wpr-product-add-to-cart .wpr-quantity-wrapper i,.wpr-wrapper .wpr-year-label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wpr-timeline-centered.wpr-one-sided-timeline .wpr-timeline-entry{width:100%;float:left}.wpr-middle-line{position:absolute;display:block;width:4px;top:20px;height:100%}.wpr-one-sided-timeline-left .wpr-icon{right:.3%}.wpr-timeline-fill{position:absolute;display:block;width:4px;left:50%;top:20px;background-color:#3d2a3d;height:0}.timeline-background-image,.timeline-background-image img{height:100%;max-width:100%!important;max-height:100%!important}.wpr-read-more-button{display:inline-block;font-size:14px}.wpr-timeline-centered.wpr-both-sided-timeline .wpr-timeline-entry.wpr-left-aligned .wpr-extra-label{left:108%}.wpr-horizontal .wpr-extra-label .wpr-label,.wpr-horizontal .wpr-extra-label .wpr-sub-label{text-align:center;line-height:1}.wpr-horizontal-bottom .wpr-extra-label{position:absolute;display:table;width:100%;height:80px;overflow:hidden;text-align:center;vertical-align:middle;top:0;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.wpr-extra-label .wpr-label{font-size:15px;font-weight:600}.wpr-extra-label .wpr-sub-label{font-size:12px}.wpr-timeline-centered.wpr-both-sided-timeline .wpr-timeline-entry.wpr-left-aligned .wpr-timeline-entry-inner .wpr-icon{position:absolute;left:calc(100%);-webkit-transform:translate(-50%);-ms-transform:translate(-50%);transform:translate(-50%)}.wpr-both-sided-timeline .wpr-right-aligned .wpr-icon{position:absolute;right:calc(100%);-webkit-transform:translate(50%);-ms-transform:translate(50%);transform:translate(50%)}.wpr-timeline-centered .wpr-timeline-entry.wpr-left-aligned .wpr-timeline-entry-inner .wpr-data-wrap:after{right:0;margin-left:0;margin-right:-9px;-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.wpr-right-aligned .wpr-story-info-vertical.wpr-data-wrap:after{right:100%}.wpr-timeline-centered .wpr-timeline-entry .wpr-extra-label{position:absolute;right:108%;width:100%;height:auto;padding:10px;-webkit-box-sizing:border-box;box-sizing:border-box}.wpr-timeline-centered.wpr-one-sided-timeline .wpr-timeline-entry .wpr-extra-label,.wpr-timeline-centered.wpr-one-sided-timeline-left .wpr-timeline-entry .wpr-extra-label{right:auto;position:static!important;-webkit-transform:none!important;-ms-transform:none!important;transform:none!important;display:block;margin-bottom:10px}.wpr-timeline-centered.wpr-one-sided-timeline-left .wpr-timeline-entry .wpr-extra-label{position:static!important;text-align:right;margin-left:auto}.wpr-timeline-centered .wpr-timeline-entry .wpr-timeline-entry-inner .wpr-icon{display:block;width:48px;height:48px;-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;text-align:center;font-size:0;float:left}.wpr-timeline-centered .wpr-timeline-entry .wpr-timeline-entry-inner .wpr-data-wrap{position:relative;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.wpr-timeline-centered .wpr-timeline-entry .wpr-timeline-entry-inner .wpr-data-wrap:after{content:'';display:block;position:absolute;width:0;height:0;border-style:solid;border-width:9px 9px 9px 0;border-color:transparent;top:14px;margin-left:-9px}.wpr-title-wrap{overflow:hidden;-ms-flex-negative:0;flex-shrink:0;width:100%!important}.wpr-timeline-centered .wpr-timeline-entry .wpr-timeline-entry-inner .wpr-data-wrap .wpr-title{font-weight:700;display:inline-block}.wpr-timeline-centered .wpr-timeline-entry .wpr-timeline-entry-inner .wpr-data-wrap .wpr-title span{-webkit-opacity:.6;-moz-opacity:.6;opacity:.6}.wpr-timeline-centered .wpr-year-wrap .wpr-year-label{display:inline-block;text-align:center;white-space:nowrap}.wpr-timeline-centered .wpr-year-wrap{display:block;position:relative;float:left;clear:left;width:100%;margin-left:auto;margin-right:auto;padding:0;text-align:center}.wpr-timeline-centered.wpr-one-sided-timeline .wpr-year-wrap .wpr-year-label{position:absolute;-webkit-transform:translate(-50%,0);-ms-transform:translate(-50%,0);transform:translate(-50%,0)}.wpr-timeline-centered.wpr-one-sided-timeline-left .wpr-year-wrap .wpr-year-label{position:absolute;-webkit-transform:translate(50%,0);-ms-transform:translate(50%,0);transform:translate(50%,0)}.wpr-one-sided-timeline .wpr-timeline-entry .wpr-timeline-entry-inner .wpr-icon{-webkit-transform:translate(-50%,-50%)!important;-ms-transform:translate(-50%,-50%)!important;transform:translate(-50%,-50%)!important}.wpr-wrapper .wpr-icon{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important;-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.timeline-background-image{position:absolute;left:0;top:0;width:100%;opacity:.7;z-index:-1}.timeline-background-image img{width:100%}.wpr-horizontal-timeline .swiper-slide-line-bottom{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.wpr-horizontal-timeline .wpr-story-info{width:98%}.story-with-background{background-image:url('');background-repeat:no-repeat;background-position:center;background-size:cover}.wpr-timeline-story-overlay{position:absolute;top:0;left:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;width:100%;line-height:1;height:auto}.wpr-horizontal-bottom.swiper-container{position:unset;overflow:hidden;z-index:10}.wpr-horizontal.swiper-container{position:unset;z-index:11;margin:0 32px}.wpr-horizontal{padding-top:10px}.wpr-horizontal-bottom{padding-bottom:10px}.wpr-horizontal-bottom .wpr-year-wrap{position:absolute;display:table;text-align:center;top:96px;left:10px;height:36px;width:72px;vertical-align:middle;border-radius:6px;overflow:hidden;z-index:1;table-layout:fixed;word-break:break-word}.wpr-horizontal-bottom .wpr-year-label{padding:2px;vertical-align:middle;display:table-cell}.wpr-horizontal-bottom .wpr-icon{color:#fff;width:40px;height:40px;text-align:center;display:block;z-index:100;border-radius:50%;-webkit-transform:translate(-50%);-ms-transform:translate(-50%);transform:translate(-50%)}.wpr-horizontal .wpr-icon i,.wpr-horizontal-bottom .wpr-icon i{line-height:40px;font-size:26px}.wpr-horizontal-bottom .wpr-icon:empty{width:24px;height:24px;top:102px;left:calc(50% - 12px)}.wpr-horizontal-bottom .wpr-story-info:before{content:"";display:block;position:absolute}.wpr-horizontal-bottom .wpr-story-info{padding:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:relative;-webkit-transition:.2s ease-in;-o-transition:.2s ease-in;transition:.2s ease-in;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:6px}.wpr-story-info,.wpr-story-info-vertical{font-size:0}.wpr-timeline-media{overflow:hidden;position:relative;display:inline-block}.wpr-timeline-iframe-wrapper{position:relative;width:100%;height:0;padding-bottom:56.25%}.wpr-horizontal-bottom .wpr-title{display:inline-block;margin:0;line-height:1.2em;padding:8px 8px 0;font-size:20px}.wpr-horizontal .wpr-description,.wpr-horizontal-bottom .wpr-description{display:inline-block;width:100%;margin:0;line-height:1.2em;padding:8px;font-size:inherit}.wpr-wrapper .wpr-description{font-size:15px;background-color:transparent!important}.wpr-horizontal-bottom .wpr-swiper-pagination.swiper-pagination-progressbar{position:absolute;left:50%;z-index:0}.wpr-horizontal-bottom .wpr-swiper-pagination.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:rgba(0,0,0,.25)}.wpr-horizontal-bottom .wpr-button-next,.wpr-horizontal-bottom .wpr-button-prev{position:absolute;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:40px;top:113px;cursor:pointer;line-height:0}.wpr-horizontal .wpr-year-wrap{position:absolute;display:table;text-align:center;bottom:61px;left:12px;height:36px;width:72px;vertical-align:middle;border-radius:6px;overflow:hidden;z-index:1;table-layout:fixed;word-break:break-word;background:#ff00b3}.wpr-horizontal .wpr-year-label{padding:2px;vertical-align:middle;display:table-cell;background:#ff00b3}.wpr-timeline-centered .wpr-extra-label{-webkit-transform:translateY(-50%)!important;-ms-transform:translateY(-50%)!important;transform:translateY(-50%)!important}.wpr-horizontal .wpr-extra-label{position:absolute;display:table;width:100%;height:80px;overflow:hidden;text-align:center;vertical-align:middle;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.wpr-horizontal .wpr-extra-label .wpr-label,.wpr-horizontal .wpr-extra-label .wpr-sub-label{display:inline-block;width:100%}.wpr-horizontal .wpr-icon{width:40px;height:40px;text-align:center;position:absolute;display:block;z-index:100;left:50%;-webkit-transform:translate(-50%,50%);-ms-transform:translate(-50%,50%);transform:translate(-50%,50%)}.wpr-horizontal .wpr-icon:empty{width:24px;height:24px;bottom:48px;left:calc(50% - 12px)}.wpr-horizontal .wpr-story-info:before{content:"";display:block;position:absolute;left:calc(50% - 10px);left:-o-calc(50% - 10px);border-bottom-color:transparent!important;bottom:-28px}.wpr-horizontal .wpr-story-info,.wpr-horizontal-bottom .wpr-story-info{border-bottom:4px solid #23a455}.wpr-horizontal .wpr-story-info{position:relative;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-transition:.2s ease-in;-o-transition:.2s ease-in;transition:.2s ease-in;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box}.wpr-horizontal .wpr-title{padding:8px 8px 0;font-size:20px}.wpr-horizontal .wpr-swiper-pagination.swiper-pagination-progressbar{position:absolute;height:2px;left:50%;z-index:0}.wpr-horizontal .wpr-button-next,.wpr-horizontal .wpr-button-prev{position:absolute;font-size:40px;cursor:pointer;line-height:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wpr-horizontal .wpr-button-prev{margin-left:-6px}.wpr-horizontal .wpr-button-next{margin-right:-6px}.wpr-button-next.swiper-button-disabled,.wpr-button-prev.swiper-button-disabled{opacity:.35;pointer-events:none;opacity:.55;cursor:auto;pointer-events:none}.wpr-wrapper .wpr-year{font-size:16px;font-weight:700;line-height:2.1em}.wpr-wrapper span.wpr-title{font-size:20px;font-weight:600}.wpr-horizontal-bottom .wpr-story-info:before{border:13px solid;border-top-color:transparent;border-left-color:transparent;border-right-color:transparent}.wpr-left-aligned .wpr-data-wrap:after{border-right-color:transparent!important}.wpr-wrapper span.wpr-extra-label{font-size:15px;font-weight:400;color:#7a7a7a}.wpr-wrapper a.wpr-title{font-size:24px;font-weight:700}.wpr-horizontal .wpr-story-info:before{border:13px solid transparent}.wpr-horizontal .wpr-timeline-prev-arrow{left:1%;-webkit-transform:translateY(50%);-ms-transform:translateY(50%);transform:translateY(50%)}.wpr-horizontal .wpr-timeline-next-arrow{right:1%;-webkit-transform:translateY(50%) rotate(180deg);-ms-transform:translateY(50%) rotate(180deg);transform:translateY(50%) rotate(180deg)}.wpr-flip-carousel-wrapper,.wpr-lottie-animations-wrapper{min-height:1px}.wpr-flip-carousel{overflow:hidden!important;opacity:0}.wpr-flip-carousel ul li.flipster__item,.wpr-flip-items-wrapper img{margin:auto}.elementor-widget-wpr-page-checkout .checkout_coupon .form-row-last button,.elementor-widget-wpr-product-tabs:not(.wpr-tabs-hr-position-left):not(.wpr-tabs-hr-position-right):not(.wpr-tabs-hr-position-center) .elementor-widget-container>.wpr-tabs .wc-tabs,.elementor-widget-wpr-product-tabs:not(.wpr-tabs-hr-position-left):not(.wpr-tabs-hr-position-right):not(.wpr-tabs-hr-position-center) .elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap,.woocommerce-MyAccount-navigation-link a,.wpr-acc-search-input,.wpr-account-tabs-stretch .woocommerce-MyAccount-navigation-link,.wpr-checkout-flex-justify .wc-proceed-to-checkout a,.wpr-flip-carousel ul li.flipster__item img,.wpr-img-accordion-item-display-custom.wpr-img-accordion-sep-style-1 .inner-block>span,.wpr-img-accordion-item-display-custom.wpr-img-accordion-sep-style-2 .inner-block>span,.wpr-product-media-wrap .woocommerce-product-gallery,.wpr-product-thumb-nav li img,.wpr-quantity-wrap,.wpr-sticky-section-yes,.wpr-table-appended-tr{width:100%}.wpr-flip-carousel .flipcaption,.wpr-flip-carousel .flipster__button,.wpr-flip-carousel .flipster__nav__link{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:center;outline:0}.wpr-flip-carousel .flipster__nav__link{width:100%;height:100%;padding:0}.elementor-widget-wpr-product-tabs .comment-reply-title,.woocommerce div.product .wpr-product-tabs .woocommerce-tabs ul.tabs li::after,.woocommerce div.product .wpr-product-tabs .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .wpr-product-tabs .woocommerce-tabs ul.tabs::after,.woocommerce div.product .wpr-product-tabs .woocommerce-tabs ul.tabs::before,.woocommerce-notices-wrapper .woocommerce-error:after,.woocommerce-notices-wrapper .woocommerce-message:after,.wpr-acc-active .wpr-ti-close,.wpr-checkout-notice .woocommerce-error:after,.wpr-checkout-notice .woocommerce-message:after,.wpr-close-cart,.wpr-feature-list-center .wpr-feature-list-line,.wpr-feature-list-item:last-of-type .wpr-feature-list-line,.wpr-flip-carousel .flipster__nav__link::after,.wpr-mini-cart .woocommerce-mini-cart-item.mini_cart_item:after,.wpr-mini-cart .woocommerce-mini-cart-item.mini_cart_item:before,.wpr-mini-cart-dropdown .wpr-mini-cart-separator,.wpr-product-add-to-cart .available-on-backorder,.wpr-product-add-to-cart .in-stock,.wpr-product-add-to-cart .out-of-stock,.wpr-product-add-to-cart .reset_variations,.wpr-product-media-thumbs-none .wpr-product-media-wrap .flex-control-nav,.wpr-product-rating a,.wpr-product-tabs h2.woocommerce-Reviews-title:first-of-type,.wpr-ti-open{display:none}.wpr-flip-carousel-navigation{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:center}.wpr-dual-heading-icon-and-desc-top .wpr-dual-heading-wrap{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.wpr-page-list,.wpr-taxonomy-list{display:-webkit-box;display:-ms-flexbox;display:flex;list-style:none;padding:0;margin:0}.wpr-taxonomy-list li a{display:inline-block;text-decoration:none}.wpr-taxonomy-list span,.wpr-taxonomy-list-vertical .wpr-taxonomy-list i{line-height:1.5;vertical-align:middle}.wpr-product-add-to-cart .quantity,.wpr-taxonomy-list .wpr-tax-wrap,.wpr-taxonomy-list-horizontal .wpr-taxonomy-list li a{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wpr-page-list-horizontal .wpr-page-list,.wpr-taxonomy-list-horizontal .wpr-taxonomy-list{-ms-flex-wrap:wrap;flex-wrap:wrap}.wpr-entry-info-yes .wpr-table-pagination-cont,.wpr-export-search-inner-cont,.wpr-mini-cart-sidebar.wpr-close-btn-yes .wpr-close-cart,.wpr-taxonomy-list-vertical .wpr-taxonomy-list li a{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wpr-page-list-vertical .wpr-sub-page,.wpr-taxonomy-list-vertical .wpr-sub-taxonomy{padding-left:20px}.wpr-feature-list-right .wpr-feature-list-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.wpr-feature-list-rhombus .wpr-feature-list-icon-inner-wrap{-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.wpr-feature-list-rhombus .wpr-feature-list-icon-wrap i,.wpr-feature-list-rhombus .wpr-feature-list-icon-wrap img{-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.wpr-feature-list-wrap .wpr-feature-list-icon-inner-wrap{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;overflow:hidden}.elementor-widget-wpr-page-checkout select,.elementor-widget-wpr-page-checkout ul,.wpr-feature-list,.wpr-product-tabs ol,.wpr-product-tabs ul{padding:0}.wpr-feature-list-icon-wrap img{width:100%;max-width:100%}.wpr-feature-list-item:not(:last-of-type) .wpr-feature-list-line{position:absolute;top:100%;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);width:0;height:0}.wpr-feature-list-left .wpr-feature-list-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:left}.wpr-image-accordion *,.wpr-product-add-to-cart *{margin:0;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}.wpr-image-accordion-wrap{overflow:hidden;opacity:0}.wpr-skew-acc-images-yes .wpr-image-accordion-wrap{overflow:visible}.wpr-image-accordion-wrap h1{position:relative;margin-bottom:45px;font-family:Oswald,sans-serif;font-size:44px;text-transform:uppercase;color:#424242}.wpr-image-accordion-wrap .wpr-image-accordion{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%}.wpr-image-accordion-wrap .wpr-image-accordion-item{position:relative;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden}.wpr-image-accordion-wrap .wpr-image-accordion-item .wpr-accordion-background{position:absolute;top:0;left:0;min-height:100%;min-width:100%}.elementor-widget-wpr-product-tabs .wc-tabs li,.wpr-image-accordion-item-inner{position:relative;text-align:center}.wpr-img-accordion-media-hover-top{position:absolute;top:0;left:0;width:100%;z-index:99}.wpr-img-accordion-media-hover-bottom{position:absolute;bottom:0;left:0;width:100%;z-index:99}.wpr-accordion-image-wrap{position:absolute;overflow:hidden;height:100%;width:100%;max-height:100%;max-width:100%;background-size:cover;background-position:center center}.wpr-accordion-image-wrap img{display:inline;max-height:100%}.wpr-img-accordion-item-lightbox{cursor:pointer}.wpr-animation-wrap-active .wpr-img-accordion-item-lightbox{pointer-events:auto}.wpr-img-accordion-lightbox-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:999}.wpr-image-accordion-item .inner-block a,.wpr-mini-cart-inner{position:relative;display:inline-block}.wpr-image-accordion .wpr-template-wrap{position:absolute;top:0;left:0;display:-webkit-box;display:-ms-flexbox;display:flex;height:100%}.wpr-table-tr-before-remove::before,.wpr-table-tr-before::before{top:10px;left:10px;color:#fff;width:20px;height:20px;border-radius:50%;font-size:15px}.wpr-particle-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0}.wpr-particle-wrapper canvas{position:relative;z-index:-1}.wpr-jarallax{position:relative;-webkit-transition:.9s ease-in-out;-o-transition:.9s ease-in-out;transition:.9s ease-in-out}.wpr-parallax-ml-children{position:relative;display:none}.wpr-reading-progress-bar-container{position:fixed;top:0;left:0;width:100%;z-index:9999999;background-color:transparent}.wpr-reading-progress-bar{background-color:#000;width:0%}.wpr-cart-section-table-wrap,.wpr-cart-wrapper .cart_totals,.wpr-table-inner-container{overflow-x:auto}.wpr-data-table{border-spacing:0;margin-right:0!important;margin-left:0!important;margin-bottom:0}.wpr-data-table tr:first-child th{border-top:none!important}.wpr-data-table tr:last-child td,.wpr-tabs-position-above .wpr-product-tabs .woocommerce-tabs ul.tabs li a{border-bottom:none!important}.wpr-data-table tr td:first-child,.wpr-data-table tr th:first-child{border-left:none!important}.wpr-data-table tr td:last-child,.wpr-data-table tr th:last-child{border-right:none!important}.wpr-flex-column{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wpr-flex-column-reverse{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wpr-equal-column-width-yes .wpr-data-table{table-layout:fixed}.wpr-equal-column-width-yes .wpr-data-table .wpr-table-td-pag,.wpr-equal-column-width-yes .wpr-data-table .wpr-table-th-pag{width:50px}.wpr-table-live-search-cont input{min-width:100%}.wpr-search-input-icon,.wpr-sorting-icon{position:absolute;top:50%;right:5%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.wpr-table-custom-pagination{list-style-type:none!important;padding:0}.wpr-table-tr-before::before{content:'+';position:absolute;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:green}.wpr-table-tr-before-remove::before{content:'-';position:absolute;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:red}.wpr-csv,.wpr-xls{padding:auto}.wpr-entry-info{white-space:nowrap;min-width:50px}.wpr-checkout-notice a,.wpr-table-text-nowrap-yes td,.wpr-table-text-nowrap-yes th{white-space:nowrap}.wpr-data-table .fa-question-circle{font-weight:400!important;font-family:"Font Awesome 5 Free"!important}.wpr-data-table-content-tooltip{position:absolute;top:-10px;left:50%;border-radius:4px;padding:6px 10px;visibility:hidden;opacity:0;font-size:15px;-webkit-transform:translate(-50%,-100%);-ms-transform:translate(-50%,-100%);transform:translate(-50%,-100%);-webkit-transition:230ms ease-in-out;-o-transition:230ms ease-in-out;transition:230ms ease-in-out;text-align:center}.wpr-table-td:hover .wpr-data-table-content-tooltip{visibility:visible;opacity:1;top:-7px;-ms-transform:translate(-50%,-100%);transform:translate(-50%,-100%);-webkit-transform:translate(-50%,-100%)}.wpr-mini-cart .woocommerce-mini-cart::-webkit-scrollbar{width:9px;background-color:transparent}.wpr-mini-cart .woocommerce-mini-cart::-webkit-scrollbar-thumb{border-right:3px solid}.wpr-mini-cart .woocommerce-mini-cart__empty-message{text-align:center;margin:0}.wpr-mini-cart{position:absolute;display:none;top:100%;z-index:999}.wpr-mini-cart-sidebar .wpr-mini-cart{background-color:transparent!important}.wpr-mini-cart-sidebar .wpr-mini-cart,.wpr-mini-cart-sidebar .wpr-shopping-cart-wrap{position:fixed;top:0;left:0;width:100%!important;height:100%;z-index:999;margin:0!important}.wpr-mini-cart-sidebar .wpr-shopping-cart-inner-wrap{position:absolute;top:0;-webkit-transition:1s;-o-transition:1s;transition:1s;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.wpr-mini-cart-sidebar .widget_shopping_cart_content{position:relative;top:0;-webkit-transition:1s;-o-transition:1s;transition:1s;height:auto;-webkit-box-flex:1;-ms-flex:1;flex:1}@-webkit-keyframes mini-cart-slide-in-align-left{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes mini-cart-slide-in-align-left{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes mini-cart-slide-out-align-left{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes mini-cart-slide-out-align-left{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@-webkit-keyframes mini-cart-slide-in-align-right{0%{-webkit-transform:translateX(100%);transform:translateX(100%)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes mini-cart-slide-in-align-right{0%{-webkit-transform:translateX(100%);transform:translateX(100%)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes mini-cart-slide-out-align-right{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes mini-cart-slide-out-align-right{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{-webkit-transform:translateX(100%);transform:translateX(100%)}}.wpr-mini-cart-sidebar.wpr-mini-cart-align-right .wpr-mini-cart-slide-in{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);-webkit-animation-name:mini-cart-slide-in-align-right;animation-name:mini-cart-slide-in-align-right;-webkit-animation-duration:.6s;animation-duration:.6s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.wpr-mini-cart-sidebar.wpr-mini-cart-align-right .wpr-mini-cart-slide-out{-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%);-webkit-animation-name:mini-cart-slide-out-align-right;animation-name:mini-cart-slide-out-align-right;-webkit-animation-duration:.6s;animation-duration:.6s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.wpr-mini-cart-sidebar.wpr-mini-cart-align-left .wpr-mini-cart-slide-in{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);-webkit-animation-name:mini-cart-slide-in-align-left;animation-name:mini-cart-slide-in-align-left;-webkit-animation-duration:.6s;animation-duration:.6s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.wpr-mini-cart-sidebar.wpr-mini-cart-align-left .wpr-mini-cart-slide-out{-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%);-webkit-animation-name:mini-cart-slide-out-align-left;animation-name:mini-cart-slide-out-align-left;-webkit-animation-duration:.6s;animation-duration:.6s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.wpr-mini-cart-icon-count{position:absolute;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-radius:50%}.wpr-buttons-layout-row .woocommerce-variation-add-to-cart,.wpr-mini-cart-toggle-btn,.wpr-product-add-to-cart .wpr-quantity-wrapper{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wpr-toggle-icon-none .wpr-mini-cart-btn-icon i::before{content:""}.wpr-toggle-icon-bag-light .wpr-mini-cart-btn-icon i::before{content:"\e8e3"}.wpr-toggle-icon-bag-medium .wpr-mini-cart-btn-icon i::before{content:"\e8e4"}.wpr-toggle-icon-bag-solid .wpr-mini-cart-btn-icon i::before{content:"\e8e5"}.wpr-toggle-icon-basket-light .wpr-mini-cart-btn-icon i::before{content:"\e8e6"}.wpr-toggle-icon-basket-medium .wpr-mini-cart-btn-icon i::before{content:"\e8e7"}.wpr-toggle-icon-basket-solid .wpr-mini-cart-btn-icon i::before{content:"\e8e8"}.wpr-toggle-icon-cart-light .wpr-mini-cart-btn-icon i::before{content:"\e8e9"}.wpr-toggle-icon-cart-medium .wpr-mini-cart-btn-icon i::before{content:"\e8ea"}.wpr-toggle-icon-cart-solid .wpr-mini-cart-btn-icon i::before{content:"\e8eb"}.wpr-mini-cart-wrap .woocommerce-mini-cart-item{position:relative;display:-ms-grid;display:grid;-ms-grid-columns:28% auto;grid-template-columns:28% auto;width:100%;text-align:left}.wpr-mini-cart-image a img,.wpr-mini-cart-image img{float:none!important;display:block;min-width:100%;height:auto;margin-left:0!important}.wpr-mini-cart-remove{position:absolute;right:0}.wpr-mini-cart-wrap .woocommerce-mini-cart-item .remove{position:relative;display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-line-pack:center;align-content:center;vertical-align:middle;text-indent:-9999px}.wpr-mini-cart-wrap .woocommerce-mini-cart-item a.remove:before{font-family:"Font Awesome 5 Free";content:'\f00d';position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);text-indent:0;font-weight:600!important}.wpr-cart-wrapper .product-remove .remove:hover,.wpr-mini-cart-wrap .woocommerce-mini-cart-item .remove:hover{background-color:transparent;color:#000}.wpr-mini-cart-wrap .woocommerce-mini-cart__buttons{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin:0}.wpr-mini-cart-wrap .woocommerce-mini-cart__buttons a.button{width:50%;text-align:center;margin:0}.wpr-mini-cart .woocommerce-mini-cart__total{text-align:center;padding:10px;margin:0}.wpr-cart-wrapper dl.variation,.wpr-mini-cart dl.variation{display:-ms-grid!important;display:grid!important;-ms-grid-columns:25% 75%!important;grid-template-columns:25% 75%!important}.wpr-cart-wrapper dl.variation dd,.wpr-cart-wrapper dl.variation dt,.wpr-mini-cart dl.variation dd,.wpr-mini-cart dl.variation dt{float:none!important;margin:0!important}dl.variation dd{margin-right:10px!important}@media screen and (max-width:768px){.wpr-flip-carousel ul li.flipster__item{width:70%}.wpr-export-search-inner-cont,.wpr-table-pagination-cont{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.wpr-equal-column-width-yes .wpr-data-table{table-layout:auto}.wpr-table-export-button-cont{width:100%;-ms-flex-pack:distribute;justify-content:space-around}.wpr-mini-cart-dropdown .wpr-mini-cart{position:fixed!important;width:100vw!important;top:auto!important}}.wpr-product-media-wrap{position:relative;display:inline-block;max-width:100%}.wpr-product-media-image{display:inline-block;position:relative;vertical-align:middle;overflow:hidden}.wpr-product-thumb-nav{display:-webkit-box;display:-ms-flexbox;display:flex;padding:0;margin:0;list-style:none}.wpr-product-thumb-nav li{overflow:hidden;cursor:pointer;opacity:.75}.wpr-gallery-zoom-yes .wpr-product-media-image:hover img{-webkit-transform:scale(1.5);-ms-transform:scale(1.5);transform:scale(1.5)}.wpr-product-media-onsale{position:absolute;top:0;left:0;z-index:2}.wpr-product-media-wrap .flex-control-thumbs{list-style-type:none;cursor:pointer}.wpr-product-media-wrap .flex-control-thumbs li{clear:none!important;width:100%!important}.wpr-product-media-thumbs-slider .wpr-product-media-wrap .flex-control-nav{position:relative;max-width:none!important;grid-column-gap:0px!important;grid-row-gap:0!important;-webkit-transition:.6s;-o-transition:.6s;transition:.6s}.wpr-product-media-thumbs-vertical .flex-viewport{width:75%}.woocommerce [data-elementor-type=wpr-theme-builder] #content div.product div.images,.woocommerce div.product[data-elementor-type=wpr-theme-builder] div.images,.woocommerce-page [data-elementor-type=wpr-theme-builder] #content div.product div.images,.woocommerce-page div.product[data-elementor-type=wpr-theme-builder] div.images{float:none;width:100%;height:auto;margin-bottom:0}[data-elementor-type=wpr-theme-builder] ul.flex-direction-nav{position:absolute;top:90%;z-index:-9;opacity:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;left:0;margin:0;padding:0;list-style:none}[data-elementor-type=wpr-theme-builder] .wpr-product-media-wrap a.flex-next,[data-elementor-type=wpr-theme-builder] .wpr-product-media-wrap a.flex-prev{visibility:hidden;overflow:hidden}[data-elementor-type=wpr-theme-builder] a.flex-next::after{visibility:visible;content:'\f054';font-family:'Font Awesome 5 Free';position:absolute;top:0;right:0}[data-elementor-type=wpr-theme-builder] a.flex-prev::before{visibility:visible;content:'\f053';font-family:'Font Awesome 5 Free';position:absolute;top:0;left:0}[data-elementor-type=wpr-theme-builder] ul.flex-direction-nav li a{color:#ccc}.wpr-product-media-wrap .wpr-product-sales-badge{position:absolute;top:0;left:0;z-index:2;display:inline-block}.woocommerce div.product[data-elementor-type=wpr-theme-builder] div.images .woocommerce-product-gallery__trigger,.wpr-product-media-wrap .wpr-product-media-lightbox{position:absolute;top:0;right:0;cursor:pointer}.wpr-product-media-wrap .woocommerce-product-gallery__trigger{display:none;opacity:0!important;z-index:99}.woocommerce div.product .wpr-product-tabs .woocommerce-tabs ul.tabs,.woocommerce div.product .wpr-product-tabs .woocommerce-tabs ul.tabs li{overflow:visible;padding:0;margin:0;border:none;background-color:transparent}.woocommerce div.product .wpr-product-tabs .woocommerce-tabs ul.tabs li a{display:block;font-weight:400}.wpr-tabs-position-above .wpr-product-tabs .woocommerce-tabs ul.tabs li.active:after{content:' ';display:block;border:none;-webkit-box-shadow:none;box-shadow:none;padding:0;margin:0 auto;position:static}.wpr-tabs-hr-position-center>.elementor-widget-container .wc-tabs,.wpr-tabs-hr-position-center>.elementor-widget-container>.wc-tabs-wrapper{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wpr-tabs-hr-position-right>.elementor-widget-container .wc-tabs{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.elementor-widget-wpr-product-tabs .woocommerce-Tabs-panel{width:100%;display:none}.cart_totals table.shop_table,.elementor-widget-wpr-product-tabs .wpr-product-tabs table,.elementor-widget-wpr-product-tabs .wpr-product-tabs tr td,.elementor-widget-wpr-product-tabs .wpr-product-tabs tr th,.wpr-cart-section-table-wrap table.shop_table,.wpr-cart-wrapper table.shop_table td,.wpr-product-additional-information table.shop_attributes,.wpr-product-additional-information table.shop_attributes td,.wpr-product-additional-information table.shop_attributes th{border:none}.elementor-widget-wpr-product-tabs #reviews #comments ol.commentlist li .comment-text{margin:0 0 0 50px;border:1px solid;border-radius:4px;padding:1em 1em 0}.elementor-widget-wpr-product-tabs .woocommerce-Reviews .comment_container{border-bottom:none;padding:0;margin:0}.wpr-individual-rating-cont{position:relative;display:inline-block;width:150px}.wpr-individual-rating-cont span{position:absolute;top:0;left:0;display:inline-block;height:100%;background-color:#000}.elementor-widget-wpr-product-tabs #reviews #comments ol.commentlist li img.avatar{float:left;position:absolute;top:0;left:0;padding:0;width:32px;height:auto;background:#ebe9eb;border:1px solid #e4e1e3;margin:0;-webkit-box-shadow:none;box-shadow:none}.elementor-widget-wpr-product-tabs p.stars a{position:relative;height:1em;text-indent:-999em;display:inline-block;text-decoration:none;-webkit-box-shadow:none;box-shadow:none;margin:0;font-size:inherit;border:none;width:15px;text-indent:-999999px}.elementor-widget-wpr-product-tabs p.stars a.active::before,.elementor-widget-wpr-product-tabs p.stars a:hover::before,.elementor-widget-wpr-product-tabs p.stars.selected a.active:before,.elementor-widget-wpr-product-tabs p.stars.selected a:not(.active):before,.elementor-widget-wpr-product-tabs p.stars:hover a:before{content:"\e020"}.elementor-widget-wpr-product-tabs p.stars a:before,.elementor-widget-wpr-product-tabs p.stars a:hover~a:before,.elementor-widget-wpr-product-tabs p.stars.selected a.active~a:before{content:"\e021"}.elementor-widget-wpr-product-tabs p.stars a::before{display:block;position:absolute;top:0;left:0;width:1em;height:1em;line-height:1;font-family:WooCommerce;content:"\e021";text-indent:0;opacity:1;font-size:inherit}.elementor-widget-wpr-product-tabs .star-rating::before{color:#000;float:left;top:0;left:0;position:absolute}.elementor-widget-wpr-product-tabs .star-rating span::before{top:0;position:absolute;left:0}.wpr-product-meta .posted_in,.wpr-product-meta .sku_wrapper,.wpr-product-meta .tagged_as{display:none;position:relative}.woocommerce-notices-wrapper .woocommerce-error,.woocommerce-notices-wrapper .woocommerce-message,.wpr-checkout-notice .woocommerce-error,.wpr-checkout-notice .woocommerce-message{margin:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.woocommerce-grouped-product-list-item a.button,.wpr-acc-icon-box,.wpr-cart-wrapper .product-remove .remove,.wpr-product-filter-tax-wrap li a span:first-child{display:-webkit-inline-box;display:-ms-inline-flexbox}.woocommerce-notices-wrapper .woocommerce-error:before,.woocommerce-notices-wrapper .woocommerce-message:before,.wpr-checkout-notice .woocommerce-error:before,.wpr-checkout-notice .woocommerce-message:before{top:50%!important;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}@media screen and (min-width:481px){.woocommerce-notices-wrapper .woocommerce-message:before,.wpr-checkout-notice .woocommerce-message:before{top:50%!important;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}}@media screen and (max-width:480px){.wpr-testimonial-meta-position-left .wpr-testimonial-item,.wpr-testimonial-meta-position-right .wpr-testimonial-item{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.wpr-testimonial-meta-position-left .wpr-testimonial-content-inner,.wpr-testimonial-meta-position-right .wpr-testimonial-content-inner{margin-left:0!important}.wpr-testimonial-meta-position-left .wpr-testimonial-meta,.wpr-testimonial-meta-position-right .wpr-testimonial-meta{margin-left:0!important;margin-right:0!important;padding:0!important;margin-bottom:20px}.wpr-testimonial-meta-position-left .wpr-testimonial-content-inner:before,.wpr-testimonial-meta-position-right .wpr-testimonial-content-inner:before{display:none}.wpr-testimonial-meta-position-left .wpr-testimonial-image,.wpr-testimonial-meta-position-left .wpr-testimonial-meta-content-wrap,.wpr-testimonial-meta-position-right .wpr-testimonial-image,.wpr-testimonial-meta-position-right .wpr-testimonial-meta-content-wrap{display:block!important;float:none!important;text-align:center!important}.wpr-testimonial-meta-position-left.wpr-testimonial-image-position-left .wpr-testimonial-image,.wpr-testimonial-meta-position-left.wpr-testimonial-image-position-right .wpr-testimonial-image,.wpr-testimonial-meta-position-right.wpr-testimonial-image-position-left .wpr-testimonial-image,.wpr-testimonial-meta-position-right.wpr-testimonial-image-position-right .wpr-testimonial-image{margin-left:0!important;margin-right:0!important}.wpr-testimonial-meta-position-left .wpr-testimonial-image img,.wpr-testimonial-meta-position-left .wpr-testimonial-logo-image img,.wpr-testimonial-meta-position-right .wpr-testimonial-image img,.wpr-testimonial-meta-position-right .wpr-testimonial-logo-image img{display:inline-block!important;float:none!important}.wpr-button-tooltip-a-position-left .wpr-button-tooltip-a,.wpr-button-tooltip-b-position-right .wpr-button-tooltip-b,.wpr-button-tooltip-position-left .wpr-button-tooltip,.wpr-button-tooltip-position-right .wpr-button-tooltip{top:0;left:50%!important;right:auto!important;-ms-transform:translate(-50%,-120%);transform:translate(-50%,-120%);-webkit-transform:translate(-50%,-120%);margin-top:-5px}.wpr-button-tooltip-a-position-left .wpr-button-a-wrap:hover .wpr-button-tooltip-a,.wpr-button-tooltip-b-position-right .wpr-button-b-wrap:hover .wpr-button-tooltip-b,.wpr-button-tooltip-position-left .wpr-button-wrap:hover .wpr-button-tooltip,.wpr-button-tooltip-position-right .wpr-button-wrap:hover .wpr-button-tooltip{-ms-transform:translate(-50%,-100%);transform:translate(-50%,-100%);-webkit-transform:translate(-50%,-100%)}.wpr-button-tooltip-a-position-left .wpr-button-tooltip-a:before,.wpr-button-tooltip-b-position-right .wpr-button-tooltip-b:before,.wpr-button-tooltip-position-left .wpr-button-tooltip:before,.wpr-button-tooltip-position-right .wpr-button-tooltip:before{left:50%;-ms-transform:translateX(-50%);transform:translateX(-50%);-webkit-transform:translateX(-50%);bottom:-5px;top:auto}.woocommerce-notices-wrapper .woocommerce-message,.wpr-checkout-notice .woocommerce-message{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.woocommerce-notices-wrapper .woocommerce-message p,.wpr-checkout-notice .woocommerce-message p{margin-bottom:.9em!important}}.elementor-widget-wpr-product-add-to-cart:not(.wpr-product-qty-align-default) .wpr-quantity-wrapper .qty{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.elementor-widget-wpr-product-add-to-cart:not(.wpr-product-qty-align-default) .wpr-quantity-wrapper .qty::-webkit-inner-spin-button,.wpr-quantity-wrap .qty::-webkit-outer-spin-button{-webkit-appearance:none}.wpr-buttons-layout-column .woocommerce-variation-add-to-cart{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.wpr-product-qty-align-left.wpr-buttons-layout-column .woocommerce-variation-add-to-cart .wpr-quantity-wrapper{-ms-flex-item-align:start;align-self:flex-start}.wpr-product-qty-align-right.wpr-buttons-layout-column .woocommerce-variation-add-to-cart .wpr-quantity-wrapper{-ms-flex-item-align:end;align-self:flex-end}.wpr-product-qty-align-before .wpr-quantity-wrapper i:first-child{border-right:0!important;border-bottom:0!important}.wpr-product-qty-align-before .wpr-quantity-wrapper i:last-child,.wpr-product-qty-align-both .wpr-quantity-wrapper i:first-child{border-right:0!important}.wpr-product-qty-align-after .wpr-quantity-wrapper i:first-child{border-left:0!important;border-bottom:0!important}.wpr-product-qty-align-after .wpr-quantity-wrapper i:last-child,.wpr-product-qty-align-both .wpr-quantity-wrapper i:last-child{border-left:0!important}.woocommerce div.product .wpr-product-add-to-cart form.cart .group_table td{vertical-align:middle;padding:0}.wpr-variations-layout-column .variations tr td,.wpr-variations-layout-column .variations tr th{padding:0;width:100%}.woocommerce-grouped-product-list-item a.button{display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;font-weight:400}.wpr-product-rating .wpr-woo-rating i:before{content:'\002605'!important}.wpr-cart-wrapper table td,.wpr-cart-wrapper table th{border:0}.elementor-widget[class*=elementor-widget-wpr-] table.shop_table .wc-item-meta li{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;margin-right:10px}@media screen and (max-width:881px){.wpr-cart-horizontal .wpr-cart-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.wpr-cart-horizontal .wpr-cart-wrapper .cart-collaterals .cart_totals,.wpr-cart-vertical .cart-collaterals .cart_totals,.wpr-checkout-horizontal .col2-set .col-1,.wpr-checkout-horizontal .col2-set .col-2,.wpr-checkout-vertical .col2-set .col-1,.wpr-checkout-vertical .col2-set .col-2,.wpr-my-account-tabs-horizontal .woocommerce-MyAccount-content,.wpr-my-account-tabs-horizontal nav.woocommerce-MyAccount-navigation{float:none;width:100%}.wpr-cart-sticky-yes .cart-collaterals{position:sticky;top:0}.elementor-widget-wpr-page-checkout .select2-container .select2-selection--single .select2-selection__rendered,.wpr-cart-wrapper .select2-selection--single .select2-selection__rendered{padding-left:0}.wpr-cart-wrapper .form-row.coupon-col .coupon-col-end button{width:100%;height:100%}.wpr-cart-wrapper a.remove:before{font-family:"Font Awesome 5 Free";content:'\f00d';position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);text-indent:0}.wpr-cart-wrapper .product-remove .remove{position:relative;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-line-pack:center;align-content:center;vertical-align:middle;text-indent:-9999px}.elementor-widget-wpr-page-checkout .select2-container--default .select2-selection--single,.elementor-widget-wpr-page-checkout .select2-container--focus span,.wpr-cart-wrapper .select2-container--default .select2-selection--single,.wpr-cart-wrapper .select2-container--focus span{border:none!important;outline:0!important}.elementor-widget-wpr-page-checkout .checkout_coupon .form-row-last{width:18%}.wpr-checkout-order-review-table #order_review table{border:none!important}.wpr-checkout-order-review-table #order_review thead th:first-child{border-left-style:none!important;border-top-style:none!important}.wpr-checkout-order-review-table #order_review thead th:last-child{border-right-style:none!important;border-top-style:none!important}.wpr-checkout-order-review-table #order_review tbody td:first-child,.wpr-checkout-order-review-table #order_review tfoot tr th:first-child{border-left-style:none!important}.wpr-checkout-order-review-table #order_review tbody td:last-child,.wpr-checkout-order-review-table #order_review tfoot tr td:last-child{border-right-style:none!important}.wpr-checkout-order-review-table #order_review tfoot tr:last-child td,.wpr-checkout-order-review-table #order_review tfoot tr:last-child th{border-bottom-style:none!important}.elementor-widget-wpr-page-checkout table.shop_table{margin:0;border-collapse:collapse}@media screen and (max-width:670px){.wpr-checkout-horizontal .wpr-customer-details-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.wpr-checkout-horizontal .wpr-customer-details-wrapper .wpr-checkout-order-review-table{max-width:100%}}.elementor-widget-wpr-my-account-pro .woocommerce-MyAccount-navigation ul{margin:0;padding:0;list-style-type:none}.elementor-widget-wpr-my-account-pro .woocommerce-MyAccount-content fieldset{border:none;padding:0}.elementor-widget-wpr-my-account-pro .select2-selection{height:auto!important;border:none!important}@media screen and (max-width:867px){.woocommerce-account .wpr-my-account-tabs-vertical .woocommerce-MyAccount-navigation{float:left}.woocommerce-account .wpr-my-account-tabs-vertical .woocommerce-MyAccount-content{float:right}}@media screen and (max-width:767px){.wpr-main-menu-align--mobilecenter .wpr-nav-menu-vertical .wpr-menu-item .wpr-sub-icon,.wpr-main-menu-align--mobileleft .wpr-nav-menu-vertical .wpr-menu-item .wpr-sub-icon{right:0}.wpr-main-menu-align--mobileleft .wpr-nav-menu-horizontal .wpr-nav-menu,.wpr-main-menu-align--mobileleft .wpr-nav-menu-vertical .wpr-menu-item{text-align:left}.wpr-main-menu-align--mobilecenter .wpr-nav-menu-horizontal .wpr-nav-menu,.wpr-main-menu-align--mobilecenter .wpr-nav-menu-vertical .wpr-menu-item{text-align:center}.wpr-main-menu-align--mobileright .wpr-nav-menu-horizontal .wpr-nav-menu,.wpr-main-menu-align--mobileright .wpr-nav-menu-vertical .wpr-menu-item{text-align:right}.wpr-grid-pagination a>span,.wpr-grid-pagination span>span,.wpr-nav-menu-bp-mobile .wpr-nav-menu-container,.wpr-nav-menu-bp-pro-al .wpr-nav-menu-container,.wpr-nav-menu-bp-pro-nn .wpr-nav-menu-container{display:none}.wpr-nav-menu-bp-mobile .wpr-mobile-nav-menu-container,.wpr-nav-menu-bp-pro-al .wpr-mobile-nav-menu-container,.wpr-nav-menu-bp-pro-nn .wpr-mobile-nav-menu-container{display:block}.wpr-grid-pagination a,.wpr-grid-pagination span{margin-bottom:10px}.wpr-grid-pagination.wpr-grid-pagination-numbered a i,.wpr-grid-pagination.wpr-grid-pagination-numbered span i{padding:0!important}.wpr-magazine-grid.wpr-mgzn-grid-3-h.wpr-mgzn-grid-rows-1{-ms-grid-columns:1fr!important;grid-template-columns:1fr!important;-ms-grid-rows:(1fr)[3]!important;grid-template-rows:repeat(3,1fr)!important}.wpr-magazine-grid.wpr-mgzn-grid-3-h.wpr-mgzn-grid-rows-1>:first-child,.wpr-magazine-grid.wpr-mgzn-grid-3-h.wpr-mgzn-grid-rows-2>:first-child,.wpr-magazine-grid.wpr-mgzn-grid-3-h.wpr-mgzn-grid-rows-3>:first-child{-ms-grid-row:1;-ms-grid-column:1}.wpr-magazine-grid.wpr-mgzn-grid-3-h.wpr-mgzn-grid-rows-1>:nth-child(2),.wpr-magazine-grid.wpr-mgzn-grid-3-h.wpr-mgzn-grid-rows-2>:nth-child(2),.wpr-magazine-grid.wpr-mgzn-grid-3-h.wpr-mgzn-grid-rows-3>:nth-child(2){-ms-grid-row:2;-ms-grid-column:1}.wpr-magazine-grid.wpr-mgzn-grid-3-h.wpr-mgzn-grid-rows-1>:nth-child(3),.wpr-magazine-grid.wpr-mgzn-grid-3-h.wpr-mgzn-grid-rows-2>:nth-child(3),.wpr-magazine-grid.wpr-mgzn-grid-3-h.wpr-mgzn-grid-rows-3>:nth-child(3){-ms-grid-row:3;-ms-grid-column:1}.wpr-magazine-grid.wpr-mgzn-grid-3-h.wpr-mgzn-grid-rows-2{-ms-grid-columns:1fr!important;grid-template-columns:1fr!important;-ms-grid-rows:(1fr)[6]!important;grid-template-rows:repeat(6,1fr)!important}.wpr-magazine-grid.wpr-mgzn-grid-3-h.wpr-mgzn-grid-rows-2>:nth-child(4),.wpr-magazine-grid.wpr-mgzn-grid-3-h.wpr-mgzn-grid-rows-3>:nth-child(4){-ms-grid-row:4;-ms-grid-column:1}.wpr-magazine-grid.wpr-mgzn-grid-3-h.wpr-mgzn-grid-rows-2>:nth-child(5),.wpr-magazine-grid.wpr-mgzn-grid-3-h.wpr-mgzn-grid-rows-3>:nth-child(5){-ms-grid-row:5;-ms-grid-column:1}.wpr-magazine-grid.wpr-mgzn-grid-3-h.wpr-mgzn-grid-rows-2>:nth-child(6),.wpr-magazine-grid.wpr-mgzn-grid-3-h.wpr-mgzn-grid-rows-3>:nth-child(6){-ms-grid-row:6;-ms-grid-column:1}.wpr-magazine-grid.wpr-mgzn-grid-3-h.wpr-mgzn-grid-rows-3{-ms-grid-columns:1fr!important;grid-template-columns:1fr!important;-ms-grid-rows:(1fr)[9]!important;grid-template-rows:repeat(9,1fr)!important}.wpr-magazine-grid.wpr-mgzn-grid-3-h.wpr-mgzn-grid-rows-3>:nth-child(7){-ms-grid-row:7;-ms-grid-column:1}.wpr-magazine-grid.wpr-mgzn-grid-3-h.wpr-mgzn-grid-rows-3>:nth-child(8){-ms-grid-row:8;-ms-grid-column:1}.wpr-magazine-grid.wpr-mgzn-grid-3-h.wpr-mgzn-grid-rows-3>:nth-child(9){-ms-grid-row:9;-ms-grid-column:1}.wpr-timeline-centered.wpr-both-sided-timeline .wpr-timeline-entry{float:none;width:100%}.wpr-timeline-centered .wpr-right-aligned .wpr-icon{-webkit-transform:translate(-50%,-50%)!important;-ms-transform:translate(-50%,-50%)!important;transform:translate(-50%,-50%)!important}.wpr-one-sided-timeline .wpr-extra-label{position:static!important;-webkit-transform:none!important;-ms-transform:none!important;transform:none!important;display:block;margin-bottom:10px}.wpr-right-aligned .wpr-extra-label .wpr-label{text-align:left!important}.wpr-my-account-tabs-horizontal .woocommerce-MyAccount-navigation ul{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.woocommerce-account .wpr-my-account-tabs-vertical .woocommerce-MyAccount-content,.woocommerce-account .wpr-my-account-tabs-vertical .woocommerce-MyAccount-navigation{width:100%!important}}.wpr-active-filters-horizontal .wpr-product-active-filters{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.wpr-product-active-filters li a::before{font-family:"Font Awesome 5 Free"!important;content:'\f00d';top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);font-weight:600!important}.wpr-product-filter-rating .wpr-rating-icon-full{color:orange}.wpr-product-filter-rating .wpr-rating-icon-empty{color:#d3d3d3}.wpr-product-filter-rating .wpr-active-product-filter .wpr-rating-icon-full,.wpr-product-filter-tax-wrap .wpr-active-product-filter{color:red}.wpr-product-filter-tax-wrap li a{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;line-height:1}.wpr-product-filter-tax-wrap li a span:last-child:not(.wpr-product-filter-tax-name){margin-left:4px}.wpr-product-filter-tax-wrap li a span:first-child{display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.wpr-active-product-filter:not(.wpr-woo-rating) span:first-child:before{content:"\f00c";font-family:"Font Awesome 5 Free";font-weight:900}.wpr-product-filter-price-slider .ui-slider-range{position:absolute;display:block}.wpr-product-filter-price-slider .ui-slider-handle{position:absolute;cursor:ew-resize}.wpr-product-filter-slide-handlers-square .wpr-product-filter-price-slider .ui-slider-handle{border-radius:0;border:none!important;outline:0!important}.wpr-product-filter-price-amount{margin-top:20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.wpr-charts-container{min-height:20px}.wpr-charts-container .wpr-rotating-plane{width:25px;height:25px;background:rgba(0,0,0,.25);border-radius:50%;position:absolute;top:50%;left:50%;z-index:999;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.wpr-acc-search-input-wrap i{position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.wpr-acc-search-input-wrap i.fa-times{cursor:pointer;display:none}.wpr-advanced-accordion .wpr-acc-button{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;width:100%;border:none;text-align:left;outline:0;font-size:15px;-webkit-transition:none;-o-transition:none;transition:none}.wpr-acc-icon-box{position:absolute;left:0;top:0;height:100%;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wpr-acc-icon-box-after{position:absolute;left:100%;top:0;height:0;width:0}.wpr-acc-item-title{z-index:9;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wpr-acc-title-text{white-space:normal}.wpr-advanced-accordion .wpr-toggle-icon i{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0)}.wpr-advanced-accordion .wpr-acc-panel{display:none;overflow:hidden;position:relative;-webkit-transition:max-height .2s ease-out;-o-transition:max-height .2s ease-out;transition:max-height .2s ease-out}.wpr-acc-button:hover,.wpr-advanced-accordion .wpr-acc-active{background-color:#ccc}.wpr-page-list li{font-size:0;text-align:left}.wpr-page-list li a{display:inline-block;text-decoration:none;cursor:pointer}.wpr-page-list i,.wpr-page-list i:before{width:100%;height:100%;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.wpr-page-list .wpr-page-list-item,.wpr-page-list-item-icon,.wpr-page-list-item-icon i{display:-webkit-inline-box;display:-ms-inline-flexbox}.wpr-page-list .wpr-page-list-item{display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.wpr-page-list-item{line-height:1.5}.wpr-page-list-item-icon{margin-right:5px;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wpr-page-list-item-icon i{font-size:25px;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wpr-pl-badge-top .wpr-page-list-item-badge,.wpr-pl-icon-top .wpr-page-list-item-icon{margin-bottom:auto}.wpr-pl-badge-bottom .wpr-page-list-item-badge,.wpr-pl-icon-bottom .wpr-page-list-item-icon{margin-top:auto}.wpr-page-list-item-badge{background-color:#ff00b3;padding:3px 5px}@keyframes badgeFade{50%{opacity:.5}0%{opacity:1}}
1
+ button,hr,input{overflow:visible}progress,sub,sup{vertical-align:baseline}[class*=elementor-widget-wpr-] a,[data-elementor-type=wpr-theme-builder] ul.flex-direction-nav li a:hover,a{text-decoration:none}.wpr-magazine-grid .wpr-grid-image-wrap,.wpr-post-navigation{background-size:cover;background-position:center center}.wpr-post-nav-labels h5,.wpr-ticker-title-inner{-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap}.slick-slide.dragging img,.wpr-atc-not-clickable,.wpr-img-accordion-item-lightbox,.wpr-search-form-disable-submit-btn-yes .wpr-search-form-submit{pointer-events:none;pointer-events:none}.elementor-widget-wpr-my-account-pro .woocommerce-MyAccount-content .shop_table,.woocommerce-cart .cart-collaterals .cart_totals table,.wpr-cart-wrapper table.shop_table,.wpr-data-table{border-collapse:collapse}.elementor-widget-wpr-my-account-pro .wpr-my-account-tab .woocommerce-form-login__rememberme,.elementor-widghet-wpr-page-checkout .woocommerce-form-login__rememberme,.slick-initialized .slick-slide,.slick-slide img,.wpr-advanced-accordion .wpr-acc-panel-active,.wpr-cf-style-1 .wpr-comment-form-fields,.wpr-cf-style-4 .wpr-comment-form-fields,.wpr-comment-metadata p,.wpr-countdown-number,.wpr-countdown-separator span,.wpr-forms-container .checkbox-container.label-right .field-wrap,.wpr-forms-container .field-wrap.textarea-wrap .ninja-forms-field,.wpr-forms-container .wpcf7-form .wpcf7-submit,.wpr-logo-image img,.wpr-mobile-sub-offcanvas-open .wpr-mobile-sub-open .wpr-mobile-sub-menu,.wpr-nav-menu-bp-always .wpr-mobile-nav-menu-container,.wpr-post-nav-fixed.wpr-post-navigation a,.wpr-pr-show-text-yes .wpr-product-rating a,.wpr-product-price-separate .wpr-product-price del,.wpr-product-price-separate .wpr-product-price ins,.wpr-slider-video-btn i,.wpr-term-count,.wpr-timeline-centered .wpr-timeline-entry .wpr-extra-label>span,article,aside,details,figcaption,figure,footer,header,main,menu,nav,section{display:block}hr{-webkit-box-sizing:content-box;box-sizing:content-box;border:0;height:1px;margin:20px 0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}.wpr-forms-container .caldera-grid .caldera-forms-gdpr-field-label a,.wpr-forms-container label.wpforms-error a,abbr[title]{text-decoration:underline}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}dfn{font-style:italic}mark{background-color:#ff0;color:#000}.wpr-flip-box-title a,.wpr-flip-box-title a:hover,.wpr-ticker-title a,.wpr-ticker-title:hover a,legend{color:inherit}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}.woocommerce-MyAccount-navigation-link a,.wpr-acc-active .wpr-ti-open,.wpr-ajax-search-content a,.wpr-author-box-btn,.wpr-comment-metadata>*,.wpr-comment-reply a,.wpr-comments-navigation a,.wpr-comments-navigation span,.wpr-data-table img,.wpr-dual-title .first,.wpr-dual-title .second,.wpr-featured-media-caption span,.wpr-forms-container .nf-form-wrap .starrating .stars,.wpr-forms-container .wpforms-field-address,.wpr-forms-container .wpforms-field-phone,.wpr-forms-container .wpforms-page-indicator,.wpr-grid-cf-style-1 .inner-block>a,.wpr-grid-cf-style-1 .inner-block>span,.wpr-grid-cf-style-2 .inner-block>a,.wpr-grid-cf-style-2 .inner-block>span,.wpr-grid-filters li,.wpr-grid-filters li a,.wpr-grid-item-add-to-cart .inner-block>a,.wpr-grid-item-author .inner-block a,.wpr-grid-item-comments .inner-block a,.wpr-grid-item-content .inner-block,.wpr-grid-item-date .inner-block>span,.wpr-grid-item-excerpt .inner-block,.wpr-grid-item-lightbox .inner-block>span,.wpr-grid-item-likes .inner-block a,.wpr-grid-item-price .inner-block>span,.wpr-grid-item-read-more .inner-block a,.wpr-grid-item-sharing .inner-block>span,.wpr-grid-item-status .inner-block>span,.wpr-grid-item-time .inner-block>span,.wpr-grid-item-title .inner-block a,.wpr-grid-pagi-left-arrows,.wpr-grid-pagi-right-arrows,.wpr-grid-pagination .wpr-load-more-btn,.wpr-grid-pagination>a,.wpr-grid-pagination>span,.wpr-grid-product-categories .inner-block a,.wpr-grid-product-tags .inner-block a,.wpr-grid-sep-style-1 .inner-block>span,.wpr-grid-sep-style-2 .inner-block>span,.wpr-grid-tax-style-1 .inner-block a,.wpr-grid-tax-style-2 .inner-block a,.wpr-img-accordion-item-description .inner-block,.wpr-img-accordion-sep-style-1 .inner-block>span,.wpr-img-accordion-sep-style-2 .inner-block>span,.wpr-my-account-tabs-horizontal .woocommerce-MyAccount-navigation-link,.wpr-nav-menu-horizontal .wpr-nav-menu>li,.wpr-post-info-custom-field a,.wpr-post-info-custom-field span,.wpr-post-info-horizontal li,.wpr-post-info-text span,.wpr-pricing-table-headding-inner,.wpr-product-media-caption span,.wpr-product-sales-badge span,.wpr-promo-box-btn,.wpr-promo-box-icon img,.wpr-slider-description p,.wpr-slider-sub-title h3,.wpr-slider-title *,.wpr-testimonial-meta-inner,.wpr-testimonial-meta-position-extra .wpr-testimonial-meta img,.wpr-testimonial-social-media,.wpr-ti-close,audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}.wpr-pricing-table-icon img,img{display:block;border-style:none}svg:not(:root){overflow:hidden;display:inline}button,input{outline:0}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:0}.slick-list:focus,[type=button]:focus,[type=button]:hover,[type=submit]:focus,[type=submit]:hover,button:focus,button:hover{outline:0}legend{-webkit-box-sizing:border-box;box-sizing:border-box;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block}textarea{overflow:auto;outline:0}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0;outline:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto;outline:0}[type=search],[type=search]:focus{-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;outline:0}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}.elementor-editor-active .wpr-grid-pagination-infinite-scroll,.wpr-comment-form .comment-notes,.wpr-grid-filters-sep-left li:first-child .wpr-grid-filters-sep,.wpr-grid-filters-sep-right li:last-of-type .wpr-grid-filters-sep,.wpr-menu-offcanvas-back,.wpr-mobile-mega-menu a:after,.wpr-mobile-menu-display-dropdown .wpr-mobile-mega-menu li.wpr-menu-offcanvas-back-wrap,.wpr-mobile-nav-menu-container,.wpr-mobile-nav-menu:not(.wpr-mobile-mega-menu),.wpr-mobile-sub-mega-menu,.wpr-mobile-sub-menu,.wpr-mobile-toggle-text:last-child,.wpr-mobile-toggle-v5 .wpr-mobile-toggle-line:first-child,.wpr-nav-menu-bp-always .wpr-nav-menu-container,.wpr-pagination-finish,.wpr-pagination-loading,.wpr-post-info li:last-child:after,.wpr-tsa-hidden,[hidden],template{display:none}.ast-separate-container .ast-article-post,.ast-separate-container .ast-article-single{padding:0;border:none;background-color:transparent}.ast-separate-container .comment-respond{padding:0;background-color:transparent}.wpr-cart-wrapper dl.variation:after,.wpr-cart-wrapper dl.variation:before,.wpr-countdown-separator:last-of-type,.wpr-custom-chk-radio .wpcf7-acceptance input,.wpr-custom-chk-radio .wpcf7-checkbox input,.wpr-custom-chk-radio .wpcf7-radio input,.wpr-custom-chk-radio .wpforms-field-checkbox input,.wpr-custom-chk-radio .wpforms-field-gdpr-checkbox input,.wpr-custom-chk-radio .wpforms-field-radio input,.wpr-hidden-element,.wpr-mini-cart .blockOverlay,.wpr-mini-cart dl.variation:after,.wpr-mini-cart dl.variation:before,.wpr-mini-cart-icon-count-hidden,.wpr-mobile-nav-menu .sub-menu-toggle,.wpr-popup-container .ps-scrollbar-x-rail,.wpr-popup-notification .wpr-popup-overlay,.wpr-rating-icon-empty:before{display:none!important}.wpr-cv-container,.wpr-slider-item-url{display:block;width:100%;height:100%;position:absolute;left:0;top:0;z-index:90}.wpr-cv-outer{display:table;width:100%;height:100%}.wpr-cv-inner{display:table-cell;vertical-align:middle}.wpr-no-transition-delay{-webkit-transition-delay:0s!important;-o-transition-delay:0s!important;transition-delay:0s!important}.wpr-enable-dropcap p:first-child:first-letter{float:left;padding-right:10px;font-size:50px;line-height:1}.wpr-tooltip{visibility:hidden;opacity:0;position:absolute;top:0;left:0;-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%);padding:6px 10px;border-radius:4px;font-size:15px;-webkit-transition:230ms ease-in-out;-o-transition:230ms ease-in-out;transition:230ms ease-in-out}.wpr-tooltip:before{content:"";position:absolute;left:10px;bottom:-5px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top-style:solid;border-top-width:6px}.wpr-mobile-nav-menu,.wpr-mobile-nav-menu ul,.wpr-nav-menu,.wpr-nav-menu ul{padding:0;margin:0;list-style:none;font-size:0}.elementor-widget-wpr-page-checkout .select2-selection,.elementor-widget-wpr-product-tabs .comment_container,.wpr-acc-search-input-wrap,.wpr-advanced-slider-wrap,.wpr-cart-wrapper .select2-selection,.wpr-data-table th,.wpr-feature-list-line-yes .wpr-feature-list-icon-wrap,.wpr-grid-item-inner,.wpr-grid-item-sharing .wpr-post-sharing,.wpr-grid-media-wrap,.wpr-image-hotspots,.wpr-img-accordion-item-lightbox .inner-block,.wpr-mega-menu,.wpr-member-overlay-content,.wpr-mini-cart-btn-icon i,.wpr-mobile-menu-display-offcanvas .wpr-mobile-mega-menu,.wpr-nav-menu li,.wpr-onepage-nav-item,.wpr-popup-container,.wpr-post-info li,.wpr-pricing-table,.wpr-pricing-table-feature-inner span,.wpr-product-media-wrap .flex-direction-nav li,.wpr-sub-menu-position-inline .wpr-sub-menu a,.wpr-table-td,.wpr-table-text,.wpr-table-tr-before,.wpr-timeline-centered .wpr-timeline-entry .wpr-timeline-entry-inner,.wpr-timeline-outer-container,ul.wpr-woo-mini-cart{position:relative}.wpr-nav-menu .wpr-menu-item{display:block;position:relative;z-index:1}.wpr-mobile-nav-menu>li>a,.wpr-nav-menu>li>a{font-size:16px;line-height:1}.elementor-widget-wpr-my-account-pro .woocommerce-Message,.elementor-widget-wpr-page-checkout .checkout_coupon p:first-child,.elementor-widget-wpr-page-checkout form .form-row,.woocommerce div.product .wpr-product-add-to-cart form.cart,.woocommerce div.product .wpr-product-add-to-cart form.cart .variations,.woocommerce div.product .wpr-product-add-to-cart form.cart div.quantity,.woocommerce div.product .wpr-product-tabs .woocommerce-tabs .panel,.wpr-added-tc-title p,.wpr-advanced-accordion .wpr-acc-panel div,.wpr-advanced-accordion .wpr-acc-panel p,.wpr-ajax-desc,.wpr-archive-title,.wpr-author-box-name,.wpr-author-box-title,.wpr-button-tooltip p,.wpr-button-tooltip-a p,.wpr-button-tooltip-b p,.wpr-cart-wrapper form .form-row,.wpr-dual-title,.wpr-feature-list-description,.wpr-feature-list-title,.wpr-flip-carousel .flipster__nav,.wpr-grid-sort-heading *,.wpr-hotspot-tooltip p,.wpr-logo-description,.wpr-mini-cart-sidebar .wpr-close-cart h2,.wpr-mobile-nav-menu li,.wpr-my-account-tab .woocommerce-order-downloads,.wpr-my-account-tab p,.wpr-my-account-tab table.shop_table,.wpr-page-list p,.wpr-post-title,.wpr-product-filter-title,.wpr-product-media-wrap .slick-track,.wpr-product-tabs p,.wpr-product-title,.wpr-products-result-count .woocommerce-result-count{margin:0}.wpr-nav-menu-horizontal .wpr-nav-menu>li:first-child,.wpr-pointer-line-fx .wpr-nav-menu-horizontal>li:first-child .wpr-menu-item,.wpr-pointer-none .wpr-nav-menu-horizontal>li:first-child .wpr-menu-item{padding-left:0!important;margin-left:0!important}.wpr-nav-menu-horizontal .wpr-nav-menu>li:last-child,.wpr-pointer-line-fx .wpr-nav-menu-horizontal>li:last-child .wpr-menu-item,.wpr-pointer-none .wpr-nav-menu-horizontal>li:last-child .wpr-menu-item{padding-right:0!important;margin-right:0!important}.wpr-both-sided-timeline .wpr-left-aligned .wpr-data-wrap:after,.wpr-flip-box-animation-push.wpr-flip-box-anim-direction-left .wpr-flip-box-back,.wpr-flip-box-animation-push.wpr-flip-box-anim-direction-right .wpr-flip-box-active .wpr-flip-box-front,.wpr-flip-box-animation-slide.wpr-flip-box-anim-direction-left .wpr-flip-box-back,.wpr-one-sided-timeline-left .wpr-left-aligned .wpr-data-wrap:after,div[class*=wpr-main-menu-align-] .wpr-nav-menu-vertical .wpr-nav-menu>li>.wpr-sub-mega-menu,div[class*=wpr-main-menu-align-] .wpr-nav-menu-vertical .wpr-nav-menu>li>.wpr-sub-menu{left:100%}.wpr-ba-horizontal .wpr-ba-label-2,.wpr-main-menu-align-center .wpr-nav-menu-vertical .wpr-menu-item .wpr-sub-icon,.wpr-main-menu-align-left .wpr-nav-menu-vertical .wpr-menu-item .wpr-sub-icon,.wpr-mobile-menu-drdown-align-right .wpr-mobile-mega-menu-wrap,.wpr-mobile-menu-drdown-align-right .wpr-mobile-nav-menu:not(.wpr-mobile-mega-menu),.wpr-onepage-nav-hr-right .wpr-onepage-nav,.wpr-post-info-align-right .wpr-post-info-vertical li:after,.wpr-post-nav-fixed.wpr-post-nav-next,.wpr-tabs-position-left.wpr-tabs-triangle-type-inner>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab:before{right:0}.wpr-ba-horizontal .wpr-ba-label-1,.wpr-flip-box-animation-push.wpr-flip-box-anim-direction-left .wpr-flip-box-active .wpr-flip-box-back,.wpr-flip-box-animation-slide.wpr-flip-box-anim-direction-left .wpr-flip-box-active .wpr-flip-box-back,.wpr-main-menu-align-right .wpr-nav-menu-vertical .wpr-sub-icon,.wpr-mega-menu-pos-default .wpr-sub-mega-menu,.wpr-mobile-menu-display-offcanvas .wpr-mobile-mega-menu>.wpr-mobile-sub-open>.wpr-mobile-sub-menu,.wpr-mobile-menu-drdown-align-left .wpr-mobile-mega-menu-wrap,.wpr-mobile-menu-drdown-align-left .wpr-mobile-nav-menu:not(.wpr-mobile-mega-menu),.wpr-mobile-sub-offcanvas-open .wpr-mobile-sub-open>.wpr-mobile-sub-mega-menu,.wpr-onepage-nav-hr-left .wpr-onepage-nav,.wpr-post-info-align-left .wpr-post-info-vertical li:after,.wpr-post-nav-fixed.wpr-post-nav-prev,.wpr-switcher-style-dual.wpr-switcher-label-style-outer>.elementor-widget-container>.wpr-content-toggle>.wpr-switcher-container[data-active-switcher*="1"] .wpr-switcher-bg,.wpr-tabs-position-right.wpr-tabs-triangle-type-inner>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab:before{left:0}.wpr-ajax-search-content,.wpr-comments-navigation-left,.wpr-feature-list-align-flex-start .wpr-feature-list-description,.wpr-feature-list-align-flex-start .wpr-feature-list-title,.wpr-logo-position-left .wpr-logo-text,.wpr-logo-position-right .wpr-logo-text,.wpr-main-menu-align-left .wpr-nav-menu-horizontal .wpr-nav-menu,.wpr-main-menu-align-left .wpr-nav-menu-vertical .wpr-menu-item,.wpr-main-menu-align-left .wpr-nav-menu-vertical .wpr-sub-menu li a,.wpr-prbar-layout-hr-line .wpr-prbar-subtitle,.wpr-pricing-table-heading-left .wpr-pricing-table-title-wrap,.wpr-pricing-table-heading-right .wpr-pricing-table-title-wrap,.wpr-right-aligned .wpr-extra-label .wpr-label,.wpr-right-aligned .wpr-extra-label .wpr-sub-label,.wpr-taxonomy-list li,.wpr-testimonial-image-position-left .wpr-testimonial-meta-content-wrap,.wpr-testimonial-meta-align-left .wpr-testimonial-meta{text-align:left}.pswp__caption__center,.wpr-ba-divider-icons .fa,.wpr-charts-error-notice,.wpr-comments-navigation-center,.wpr-comments-navigation-justify,.wpr-data-fetch .wpr-ajax-search-pagination,.wpr-feature-list-center .wpr-feature-list-content-wrap,.wpr-grid-item-likes .inner-block a,.wpr-grid-pagination-center .wpr-grid-pagination,.wpr-grid-pagination-infinite-scroll,.wpr-grid-pagination-justify .wpr-grid-pagination,.wpr-image-accordion-item,.wpr-logo-position-center .wpr-logo-text,.wpr-main-menu-align-center .wpr-nav-menu-horizontal .wpr-nav-menu,.wpr-main-menu-align-center .wpr-nav-menu-vertical .wpr-menu-item,.wpr-mobile-menu-item-align-center .wpr-mobile-nav-menu,.wpr-onepage-nav-item .wpr-tooltip,.wpr-post-navigation i,.wpr-pricing-table-heading,.wpr-product-add-to-cart a.added_to_cart,.wpr-table-td-pag,.wpr-testimonial-meta-align-center .wpr-testimonial-meta{text-align:center}.wpr-comment-reply-separate.wpr-comment-reply-align-right .wpr-comment-reply,.wpr-comments-navigation-right,.wpr-feature-list-align-flex-end .wpr-feature-list-description,.wpr-feature-list-align-flex-end .wpr-feature-list-title,.wpr-feature-list-right .wpr-feature-list-content-wrap,.wpr-grid-sorting .woocommerce-ordering,.wpr-left-aligned .wpr-extra-label .wpr-label,.wpr-left-aligned .wpr-extra-label .wpr-sub-label,.wpr-main-menu-align-right .wpr-nav-menu-horizontal .wpr-nav-menu,.wpr-main-menu-align-right .wpr-nav-menu-vertical .wpr-menu-item,.wpr-main-menu-align-right .wpr-nav-menu-vertical .wpr-sub-menu li a,.wpr-mobile-menu-item-align-right .wpr-mobile-nav-menu,.wpr-testimonial-image-position-right .wpr-testimonial-meta-content-wrap,.wpr-testimonial-meta-align-right .wpr-testimonial-meta{text-align:right}@media screen and (min-width:2400px){.wpr-main-menu-align--widescreencenter .wpr-nav-menu-vertical .wpr-menu-item .wpr-sub-icon,.wpr-main-menu-align--widescreenleft .wpr-nav-menu-vertical .wpr-menu-item .wpr-sub-icon{right:0}.wpr-main-menu-align--widescreenleft .wpr-nav-menu-horizontal .wpr-nav-menu,.wpr-main-menu-align--widescreenleft .wpr-nav-menu-vertical .wpr-menu-item{text-align:left}.wpr-main-menu-align--widescreencenter .wpr-nav-menu-horizontal .wpr-nav-menu,.wpr-main-menu-align--widescreencenter .wpr-nav-menu-vertical .wpr-menu-item{text-align:center}.wpr-main-menu-align--widescreenright .wpr-nav-menu-horizontal .wpr-nav-menu,.wpr-main-menu-align--widescreenright .wpr-nav-menu-vertical .wpr-menu-item{text-align:right}}@media screen and (max-width:1221px){.wpr-main-menu-align--laptopcenter .wpr-nav-menu-vertical .wpr-menu-item .wpr-sub-icon,.wpr-main-menu-align--laptopleft .wpr-nav-menu-vertical .wpr-menu-item .wpr-sub-icon{right:0}.wpr-main-menu-align--laptopleft .wpr-nav-menu-horizontal .wpr-nav-menu,.wpr-main-menu-align--laptopleft .wpr-nav-menu-vertical .wpr-menu-item{text-align:left}.wpr-main-menu-align--laptopcenter .wpr-nav-menu-horizontal .wpr-nav-menu,.wpr-main-menu-align--laptopcenter .wpr-nav-menu-vertical .wpr-menu-item{text-align:center}.wpr-main-menu-align--laptopright .wpr-nav-menu-horizontal .wpr-nav-menu,.wpr-main-menu-align--laptopright .wpr-nav-menu-vertical .wpr-menu-item{text-align:right}}@media screen and (max-width:1200px){.wpr-main-menu-align--tablet_extracenter .wpr-nav-menu-vertical .wpr-menu-item .wpr-sub-icon,.wpr-main-menu-align--tablet_extraleft .wpr-nav-menu-vertical .wpr-menu-item .wpr-sub-icon{right:0}.wpr-main-menu-align--tablet_extraleft .wpr-nav-menu-horizontal .wpr-nav-menu,.wpr-main-menu-align--tablet_extraleft .wpr-nav-menu-vertical .wpr-menu-item{text-align:left}.wpr-main-menu-align--tablet_extracenter .wpr-nav-menu-horizontal .wpr-nav-menu,.wpr-main-menu-align--tablet_extracenter .wpr-nav-menu-vertical .wpr-menu-item{text-align:center}.wpr-main-menu-align--tablet_extraright .wpr-nav-menu-horizontal .wpr-nav-menu,.wpr-main-menu-align--tablet_extraright .wpr-nav-menu-vertical .wpr-menu-item{text-align:right}}@media screen and (max-width:1024px){.wpr-main-menu-align--tabletcenter .wpr-nav-menu-vertical .wpr-menu-item .wpr-sub-icon,.wpr-main-menu-align--tabletleft .wpr-nav-menu-vertical .wpr-menu-item .wpr-sub-icon{right:0}.wpr-main-menu-align--tabletleft .wpr-nav-menu-horizontal .wpr-nav-menu,.wpr-main-menu-align--tabletleft .wpr-nav-menu-vertical .wpr-menu-item{text-align:left}.wpr-main-menu-align--tabletcenter .wpr-nav-menu-horizontal .wpr-nav-menu,.wpr-main-menu-align--tabletcenter .wpr-nav-menu-vertical .wpr-menu-item{text-align:center}.wpr-main-menu-align--tabletright .wpr-nav-menu-horizontal .wpr-nav-menu,.wpr-main-menu-align--tabletright .wpr-nav-menu-vertical .wpr-menu-item{text-align:right}.wpr-magazine-grid.wpr-mgzn-grid-1-2 article:first-child,.wpr-magazine-grid.wpr-mgzn-grid-1-3 article:first-child{-ms-grid-column-span:3!important;grid-column-end:3!important}.wpr-magazine-grid.wpr-mgzn-grid-1-1-1,.wpr-magazine-grid.wpr-mgzn-grid-1-1-3,.wpr-magazine-grid.wpr-mgzn-grid-1-2,.wpr-magazine-grid.wpr-mgzn-grid-1-4,.wpr-magazine-grid.wpr-mgzn-grid-1vh-3h,.wpr-magazine-grid.wpr-mgzn-grid-2-3,.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-1,.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-2,.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-3{-ms-grid-columns:1fr 1fr!important;grid-template-columns:1fr 1fr!important}.wpr-magazine-grid.wpr-mgzn-grid-1-2{-ms-grid-rows:1fr 1fr 1fr;grid-template-rows:1fr 1fr 1fr}.wpr-magazine-grid.wpr-mgzn-grid-1-1-1>:first-child,.wpr-magazine-grid.wpr-mgzn-grid-1-1-2>:first-child,.wpr-magazine-grid.wpr-mgzn-grid-1-1-3>:first-child,.wpr-magazine-grid.wpr-mgzn-grid-1-2>:first-child,.wpr-magazine-grid.wpr-mgzn-grid-1-3>:first-child,.wpr-magazine-grid.wpr-mgzn-grid-1-4>:first-child,.wpr-magazine-grid.wpr-mgzn-grid-2-1-2>:first-child,.wpr-magazine-grid.wpr-mgzn-grid-2-3>:first-child,.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-1>:first-child,.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-2>:first-child,.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-3>:first-child{-ms-grid-row:1;-ms-grid-column:1}.wpr-magazine-grid.wpr-mgzn-grid-1-1-1>:nth-child(2),.wpr-magazine-grid.wpr-mgzn-grid-1-1-2>:nth-child(2),.wpr-magazine-grid.wpr-mgzn-grid-1-1-3>:nth-child(2),.wpr-magazine-grid.wpr-mgzn-grid-1-2>:nth-child(2),.wpr-magazine-grid.wpr-mgzn-grid-1-3>:nth-child(2),.wpr-magazine-grid.wpr-mgzn-grid-1-4>:nth-child(2),.wpr-magazine-grid.wpr-mgzn-grid-2-1-2>:nth-child(2),.wpr-magazine-grid.wpr-mgzn-grid-2-3>:nth-child(2),.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-1>:nth-child(2),.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-2>:nth-child(2),.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-3>:nth-child(2){-ms-grid-row:1;-ms-grid-column:2}.wpr-magazine-grid.wpr-mgzn-grid-1-1-1>:nth-child(3),.wpr-magazine-grid.wpr-mgzn-grid-1-1-2>:nth-child(3),.wpr-magazine-grid.wpr-mgzn-grid-1-1-3>:nth-child(3),.wpr-magazine-grid.wpr-mgzn-grid-1-2>:nth-child(3),.wpr-magazine-grid.wpr-mgzn-grid-1-3>:nth-child(3),.wpr-magazine-grid.wpr-mgzn-grid-1-4>:nth-child(3),.wpr-magazine-grid.wpr-mgzn-grid-2-1-2>:nth-child(3),.wpr-magazine-grid.wpr-mgzn-grid-2-3>:nth-child(3),.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-1>:nth-child(3),.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-2>:nth-child(3),.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-3>:nth-child(3){-ms-grid-row:2;-ms-grid-column:1}.wpr-magazine-grid.wpr-mgzn-grid-1-1-1>:nth-child(4),.wpr-magazine-grid.wpr-mgzn-grid-1-1-2>:nth-child(4),.wpr-magazine-grid.wpr-mgzn-grid-1-1-3>:nth-child(4),.wpr-magazine-grid.wpr-mgzn-grid-1-2>:nth-child(4),.wpr-magazine-grid.wpr-mgzn-grid-1-3>:nth-child(4),.wpr-magazine-grid.wpr-mgzn-grid-1-4>:nth-child(4),.wpr-magazine-grid.wpr-mgzn-grid-2-1-2>:nth-child(4),.wpr-magazine-grid.wpr-mgzn-grid-2-3>:nth-child(4),.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-1>:nth-child(4),.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-2>:nth-child(4),.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-3>:nth-child(4){-ms-grid-row:2;-ms-grid-column:2}.wpr-magazine-grid.wpr-mgzn-grid-1-1-2>:nth-child(5),.wpr-magazine-grid.wpr-mgzn-grid-1-1-3>:nth-child(5),.wpr-magazine-grid.wpr-mgzn-grid-1-2>:nth-child(5),.wpr-magazine-grid.wpr-mgzn-grid-1-3>:nth-child(5),.wpr-magazine-grid.wpr-mgzn-grid-1-4>:nth-child(5),.wpr-magazine-grid.wpr-mgzn-grid-2-1-2>:nth-child(5),.wpr-magazine-grid.wpr-mgzn-grid-2-3>:nth-child(5),.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-2>:nth-child(5),.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-3>:nth-child(5){-ms-grid-row:3;-ms-grid-column:1}.wpr-magazine-grid.wpr-mgzn-grid-1-1-2>:nth-child(6),.wpr-magazine-grid.wpr-mgzn-grid-1-1-3>:nth-child(6),.wpr-magazine-grid.wpr-mgzn-grid-1-2>:nth-child(6),.wpr-magazine-grid.wpr-mgzn-grid-1-3>:nth-child(6),.wpr-magazine-grid.wpr-mgzn-grid-1-4>:nth-child(6),.wpr-magazine-grid.wpr-mgzn-grid-2-1-2>:nth-child(6),.wpr-magazine-grid.wpr-mgzn-grid-2-3>:nth-child(6),.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-2>:nth-child(6),.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-3>:nth-child(6){-ms-grid-row:3;-ms-grid-column:2}.wpr-magazine-grid.wpr-mgzn-grid-1-1-2,.wpr-magazine-grid.wpr-mgzn-grid-1-3,.wpr-magazine-grid.wpr-mgzn-grid-2-1-2{-ms-grid-columns:1fr 1fr!important;grid-template-columns:1fr 1fr!important;-ms-grid-rows:1fr 1fr 1fr!important;grid-template-rows:1fr 1fr 1fr!important}.wpr-magazine-grid.wpr-mgzn-grid-1-3 article:first-child{-ms-grid-row-span:2!important;grid-row-end:2!important}.wpr-magazine-grid.wpr-mgzn-grid-1-3 article:nth-child(2){-ms-grid-column:1!important;grid-column-start:1!important;-ms-grid-column-span:2!important;grid-column-end:3!important}.wpr-magazine-grid.wpr-mgzn-grid-1-1-3,.wpr-magazine-grid.wpr-mgzn-grid-1-4{-ms-grid-rows:(1fr)[3];grid-template-rows:repeat(3,1fr)}.wpr-magazine-grid.wpr-mgzn-grid-1-4 article:first-child{-ms-grid-column:1;grid-column-start:1;-ms-grid-column-span:2;grid-column-end:3;-ms-grid-row-span:1!important;grid-row-end:1!important}.wpr-magazine-grid.wpr-mgzn-grid-1-1-2 article:first-child{-ms-grid-column-span:3;grid-column-end:3;-ms-grid-row:1;grid-row-start:1;-ms-grid-row-span:1;grid-row-end:2}.wpr-magazine-grid.wpr-mgzn-grid-1-1-2 article:nth-child(2),.wpr-magazine-grid.wpr-mgzn-grid-2-1-2 article:nth-child(2){-ms-grid-row:2;grid-row-start:2;-ms-grid-column-span:2;grid-column-end:3;-ms-grid-column:1;grid-column-start:1}.wpr-magazine-grid.wpr-mgzn-grid-1-1-2 article:nth-child(2){-ms-grid-row-span:1;grid-row-end:3}.wpr-magazine-grid.wpr-mgzn-grid-1-1-1{-ms-grid-rows:1fr 1fr!important;grid-template-rows:1fr 1fr!important}.wpr-magazine-grid.wpr-mgzn-grid-1-1-1 article:nth-child(2){-ms-grid-column:1;grid-column-start:1;-ms-grid-column-span:2;grid-column-end:3;-ms-grid-row:1;grid-row-start:1}.wpr-magazine-grid.wpr-mgzn-grid-1-1-3 article:first-child{-ms-grid-column:1;grid-column-start:1;-ms-grid-column-span:2;grid-column-end:3;-ms-grid-row-span:2;grid-row-end:2}.wpr-magazine-grid.wpr-mgzn-grid-1-1-3 article:nth-child(2){-ms-grid-row:2;grid-row-start:2;-ms-grid-column:1;grid-column-start:1;-ms-grid-column-span:1;grid-column-end:2}.wpr-magazine-grid.wpr-mgzn-grid-1-1-3 article:nth-child(3){-ms-grid-row:2;grid-row-start:2;-ms-grid-column:2;grid-column-start:2;-ms-grid-column-span:1;grid-column-end:3}.wpr-magazine-grid.wpr-mgzn-grid-1-1-3 article:nth-child(4){-ms-grid-row:3;grid-row-start:3;-ms-grid-column:1;grid-column-start:1;-ms-grid-column-span:1;grid-column-end:2}.wpr-magazine-grid.wpr-mgzn-grid-1-1-3 article:nth-child(5){-ms-grid-row:3;grid-row-start:3;-ms-grid-column:2;grid-column-start:2;-ms-grid-column-span:1;grid-column-end:3}.wpr-magazine-grid.wpr-mgzn-grid-2-3,.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-3{-ms-grid-rows:(1fr)[6]!important;grid-template-rows:repeat(6,1fr)!important}.wpr-magazine-grid.wpr-mgzn-grid-2-3>:nth-child(7),.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-2>:nth-child(7),.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-3>:nth-child(7){-ms-grid-row:4;-ms-grid-column:1}.wpr-magazine-grid.wpr-mgzn-grid-2-3>:nth-child(8),.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-2>:nth-child(8),.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-3>:nth-child(8){-ms-grid-row:4;-ms-grid-column:2}.wpr-magazine-grid.wpr-mgzn-grid-2-3>:nth-child(9),.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-3>:nth-child(9){-ms-grid-row:5;-ms-grid-column:1}.wpr-magazine-grid.wpr-mgzn-grid-2-3>:nth-child(10),.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-3>:nth-child(10){-ms-grid-row:5;-ms-grid-column:2}.wpr-magazine-grid.wpr-mgzn-grid-2-3>:nth-child(11),.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-3>:nth-child(11){-ms-grid-row:6;-ms-grid-column:1}.wpr-magazine-grid.wpr-mgzn-grid-2-3>:nth-child(12),.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-3>:nth-child(12){-ms-grid-row:6;-ms-grid-column:2}.wpr-magazine-grid.wpr-mgzn-grid-2-3 article:first-child{-ms-grid-column:1;grid-column-start:1;-ms-grid-column-span:1;grid-column-end:2;-ms-grid-row:1;grid-row-start:1;-ms-grid-row-span:3;grid-row-end:4}.wpr-magazine-grid.wpr-mgzn-grid-2-3 article:nth-child(2){-ms-grid-column:1;grid-column-start:1;-ms-grid-column-span:1;grid-column-end:2;-ms-grid-row:4;grid-row-start:4;-ms-grid-row-span:3;grid-row-end:7}.wpr-magazine-grid.wpr-mgzn-grid-2-3 article:nth-child(3),.wpr-magazine-grid.wpr-mgzn-grid-2-3 article:nth-child(4),.wpr-magazine-grid.wpr-mgzn-grid-2-3 article:nth-child(5){-ms-grid-column:2;grid-column-start:2;-ms-grid-column-span:1;grid-column-end:3;-ms-grid-row-span:2}.wpr-magazine-grid.wpr-mgzn-grid-2-3 article:nth-child(3){-ms-grid-row:1;grid-row-start:1;grid-row-end:3}.wpr-magazine-grid.wpr-mgzn-grid-2-3 article:nth-child(4){-ms-grid-row:3;grid-row-start:3;grid-row-end:5}.wpr-magazine-grid.wpr-mgzn-grid-2-3 article:nth-child(5){-ms-grid-row:5;grid-row-start:5;grid-row-end:7}.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-1{-ms-grid-rows:(1fr)[2]!important;grid-template-rows:repeat(2,1fr)!important}.wpr-magazine-grid.wpr-mgzn-grid-4-h.wpr-mgzn-grid-rows-2{-ms-grid-rows:(1fr)[4]!important;grid-template-rows:repeat(4,1fr)!important}}@media screen and (max-width:880px){.wpr-main-menu-align--mobile_extracenter .wpr-nav-menu-vertical .wpr-menu-item .wpr-sub-icon,.wpr-main-menu-align--mobile_extraleft .wpr-nav-menu-vertical .wpr-menu-item .wpr-sub-icon{right:0}.wpr-main-menu-align--mobile_extraleft .wpr-nav-menu-horizontal .wpr-nav-menu,.wpr-main-menu-align--mobile_extraleft .wpr-nav-menu-vertical .wpr-menu-item{text-align:left}.wpr-main-menu-align--mobile_extracenter .wpr-nav-menu-horizontal .wpr-nav-menu,.wpr-main-menu-align--mobile_extracenter .wpr-nav-menu-vertical .wpr-menu-item{text-align:center}.wpr-main-menu-align--mobile_extraright .wpr-nav-menu-horizontal .wpr-nav-menu,.wpr-main-menu-align--mobile_extraright .wpr-nav-menu-vertical .wpr-menu-item{text-align:right}}.wpr-nav-menu .wpr-sub-menu{display:none;position:absolute;z-index:9999;width:180px;text-align:left;list-style:none;margin:0}.wpr-ba-vertical .wpr-ba-label-1,.wpr-flip-box-animation-push.wpr-flip-box-anim-direction-up .wpr-flip-box-active .wpr-flip-box-back,.wpr-flip-box-animation-slide.wpr-flip-box-anim-direction-up .wpr-flip-box-active .wpr-flip-box-back,.wpr-nav-menu-vertical .wpr-nav-menu>li>.wpr-sub-mega-menu,.wpr-nav-menu-vertical .wpr-nav-menu>li>.wpr-sub-menu,.wpr-onepage-nav-vr-top .wpr-onepage-nav,.wpr-pointer-line-fx.wpr-pointer-fx-drop .wpr-active-menu-item:before,.wpr-pricing-table-badge-cyrcle,.wpr-promo-box-badge-cyrcle{top:0}.wpr-sub-menu-position-inline .wpr-nav-menu-vertical .wpr-sub-menu{position:static;width:100%!important;text-align:center!important;margin-left:0!important}.wpr-nav-menu .wpr-sub-menu .wpr-sub-menu{top:0;left:100%}.wpr-sub-menu .wpr-sub-menu-item{display:block;font-size:14px}.wpr-nav-menu-horizontal .wpr-menu-item .wpr-sub-icon{margin-left:7px;text-indent:0}.wpr-nav-menu:not(.wpr-mega-menu) .wpr-sub-icon{position:absolute;top:48%;transform:translateY(-50%);-ms-transform:translateY(-50%);-webkit-transform:translateY(-50%)}.wpr-nav-menu:not(.wpr-mega-menu) .wpr-sub-icon-rotate{-webkit-transform:rotate(-90deg) translateX(80%);-ms-transform:rotate(-90deg) translateX(80%);transform:rotate(-90deg) translateX(80%)}.wpr-mobile-divider-yes .wpr-mobile-menu-item,.wpr-sub-divider-yes .wpr-sub-menu li:not(:last-child){border-bottom-style:solid}.wpr-mobile-nav-menu:not(.wpr-mobile-mega-menu){position:absolute;z-index:9999}.wpr-grid-slider-nav-align-bottom-center .wpr-grid-slider-arrow-container,.wpr-grid-slider-nav-align-top-center .wpr-grid-slider-arrow-container,.wpr-mobile-menu-drdown-align-center .wpr-mobile-mega-menu-wrap,.wpr-mobile-menu-drdown-align-center .wpr-mobile-nav-menu:not(.wpr-mobile-mega-menu),.wpr-post-info-align-center .wpr-post-info-vertical li:after,.wpr-slider-nav-align-bottom-center .wpr-slider-arrow-container,.wpr-slider-nav-align-top-center .wpr-slider-arrow-container,.wpr-testimonial-nav-align-bottom-center .wpr-testimonial-arrow-container,.wpr-testimonial-nav-align-top-center .wpr-testimonial-arrow-container{left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.wpr-grid-orderby span,.wpr-mobile-menu-item,.wpr-mobile-sub-menu-item{position:relative;display:block}.wpr-mobile-nav-menu .menu-item-has-children>a:after{position:absolute;right:0;top:50%;transform:translateY(-50%);-ms-transform:translateY(-50%);-webkit-transform:translateY(-50%)}.wpr-mobile-menu-item-align-left .wpr-mobile-sub-menu a:before{content:' ';display:inline-block;width:10px}.wpr-mobile-menu-item-align-left .wpr-mobile-sub-menu .wpr-mobile-sub-menu a:before{width:20px}.wpr-mobile-menu-item-align-right .wpr-mobile-nav-menu .menu-item-has-children>a:after{right:auto!important;left:0}div[class*=wpr-sub-icon-] .wpr-mobile-nav-menu .menu-item-has-children>a:after{font-family:"Font Awesome 5 Free";font-size:12px;font-weight:900;font-style:normal;text-decoration:none;line-height:1;letter-spacing:0;text-rendering:auto;-webkit-font-smoothing:antialiased}.wpr-sub-icon-caret-down .wpr-mobile-nav-menu .menu-item-has-children>a:after,.wpr-sub-icon-caret-down .wpr-sub-icon:before{content:"\f0d7"}.wpr-sub-icon-angle-down .wpr-mobile-nav-menu .menu-item-has-children>a:after,.wpr-sub-icon-angle-down .wpr-sub-icon:before{content:"\f107"}.wpr-sub-icon-chevron-down .wpr-mobile-nav-menu .menu-item-has-children>a:after,.wpr-sub-icon-chevron-down .wpr-sub-icon:before{content:"\f078"}.wpr-sub-icon-plus .wpr-mobile-nav-menu .menu-item-has-children>a:after,.wpr-sub-icon-plus .wpr-sub-icon:before{content:"\f067"}.wpr-grid-item-separator .inner-block,.wpr-mobile-toggle-wrap{font-size:0;line-height:0}.wpr-mobile-toggle{display:inline-block;padding:7px;cursor:pointer;border-style:solid;text-align:center}.elementor-widget-wpr-product-tabs.wpr-forms-submit-justify .form-submit input,.wpr-comment-form-author input,.wpr-comment-form-email input,.wpr-comment-form-text,.wpr-comment-form-text textarea,.wpr-comment-form-url input,.wpr-extra-label .wpr-label,.wpr-extra-label .wpr-sub-label,.wpr-flip-box-image img,.wpr-grid-image-wrap img,.wpr-mailchimp-email input,.wpr-mailchimp-email label,.wpr-mailchimp-first-name input,.wpr-mailchimp-first-name label,.wpr-mailchimp-last-name input,.wpr-mailchimp-last-name label,.wpr-mobile-toggle-line{display:block;width:100%}.woocommerce-notices-wrapper .woocommerce-error p,.woocommerce-notices-wrapper .woocommerce-message p,.wpr-advanced-slider.slick-dotted.slick-slider,.wpr-checkout-notice .woocommerce-error p,.wpr-checkout-notice .woocommerce-message p,.wpr-forms-container .wpforms-container,.wpr-forms-container .wpforms-field-address .wpforms-field-row:nth-last-child(2),.wpr-forms-container div.wpforms-container-full .wpforms-form .wpforms-field-row,.wpr-grid-last-row,.wpr-grid.slick-dotted.slick-slider,.wpr-mobile-toggle-line:last-child,.wpr-onepage-nav-item:last-child,.wpr-timeline-centered .wpr-timeline-entry:last-of-type,.wpr-woo-mini-cart .woocommerce-mini-cart-item:last-of-type{margin-bottom:0!important}.wpr-mobile-toggle-text{font-size:16px;line-height:1!important}.wpr-mobile-toggle-v2 .wpr-mobile-toggle-line:nth-child(2){width:78%;margin-left:24%}.wpr-mobile-toggle-v2 .wpr-mobile-toggle-line:nth-child(3){width:45%;margin-left:57%}.wpr-mobile-toggle-v3 .wpr-mobile-toggle-line:nth-child(2){width:75%;margin-left:15%}.wpr-mobile-toggle-v4 .wpr-mobile-toggle-line:first-child,.wpr-mobile-toggle-v4 .wpr-mobile-toggle-line:nth-child(3){width:75%;margin-left:25%}.wpr-mobile-toggle-v4 .wpr-mobile-toggle-line:nth-child(2){width:75%;margin-right:25%}@media screen and (max-width:1025px){.wpr-nav-menu-bp-tablet .wpr-nav-menu-container{display:none}.wpr-nav-menu-bp-tablet .wpr-mobile-nav-menu-container{display:block}}.wpr-pointer-background-fx .wpr-active-menu-item:before,.wpr-pointer-border-fx .wpr-active-menu-item:before,.wpr-pointer-line-fx .wpr-active-menu-item:after,.wpr-pointer-line-fx .wpr-active-menu-item:before{opacity:1!important}.wpr-pointer-fx-none{-webkit-transition-duration:0s!important;-o-transition-duration:0s!important;transition-duration:0s!important}.wpcf7 label,.wpcf7-quiz-label,.wpr-button-icon-style-block .wpr-button-text,.wpr-button-icon-style-inline-block .wpr-button-text,.wpr-comment-form .wpr-comment-form-fields>div,.wpr-grid-item-display-custom.wpr-grid-cf-style-1 .inner-block>a,.wpr-grid-item-display-custom.wpr-grid-cf-style-1 .inner-block>span,.wpr-grid-item-display-custom.wpr-grid-cf-style-2 .inner-block>a,.wpr-grid-item-display-custom.wpr-grid-cf-style-2 .inner-block>span,.wpr-grid-item-display-custom.wpr-grid-item-add-to-cart .inner-block>a,.wpr-grid-item-display-custom.wpr-grid-item-comments .inner-block a,.wpr-grid-item-display-custom.wpr-grid-item-date .inner-block>span,.wpr-grid-item-display-custom.wpr-grid-item-lightbox .inner-block>span,.wpr-grid-item-display-custom.wpr-grid-item-likes .inner-block a,.wpr-grid-item-display-custom.wpr-grid-item-product-price .inner-block>span,.wpr-grid-item-display-custom.wpr-grid-item-product-status .inner-block>span,.wpr-grid-item-display-custom.wpr-grid-item-read-more .inner-block a,.wpr-grid-item-display-custom.wpr-grid-item-sharing .inner-block>span,.wpr-grid-item-display-custom.wpr-grid-item-time .inner-block>span,.wpr-grid-item-display-custom.wpr-grid-item-title .inner-block a,.wpr-grid-item-display-custom.wpr-grid-sep-style-1 .inner-block>span,.wpr-grid-item-display-custom.wpr-grid-sep-style-2 .inner-block>span,.wpr-grid-sort-heading,.wpr-hotspot-image img,.wpr-pointer-double-line.wpr-pointer-fx-grow .wpr-pointer-item.wpr-active-menu-item:after,.wpr-pointer-double-line.wpr-pointer-fx-grow .wpr-pointer-item.wpr-active-menu-item:before,.wpr-pointer-double-line.wpr-pointer-fx-slide .wpr-pointer-item.wpr-active-menu-item:after,.wpr-pointer-double-line.wpr-pointer-fx-slide .wpr-pointer-item.wpr-active-menu-item:before,.wpr-pointer-overline.wpr-pointer-fx-grow .wpr-pointer-item.wpr-active-menu-item:before,.wpr-pointer-overline.wpr-pointer-fx-slide .wpr-pointer-item.wpr-active-menu-item:before,.wpr-pointer-underline.wpr-pointer-fx-grow .wpr-pointer-item.wpr-active-menu-item:after,.wpr-pointer-underline.wpr-pointer-fx-slide .wpr-pointer-item.wpr-active-menu-item:after,.wpr-popup-container>div,.wpr-promo-box-btn-wrap,.wpr-promo-box-description,.wpr-promo-box-icon,.wpr-promo-box-title,.wpr-rating-icon-full:before,.wpr-timeline-centered.wpr-one-sided-timeline-left .wpr-timeline-entry.wpr-left-aligned{width:100%}.wpr-pointer-line-fx.wpr-pointer-fx-drop .wpr-active-menu-item:after{bottom:0!important}.wpr-ken-burns-in,.wpr-pointer-background-fx.wpr-pointer-fx-grow .wpr-active-menu-item:before,.wpr-pointer-background-fx.wpr-pointer-fx-shrink .wpr-active-menu-item:before,.wpr-pointer-background-fx.wpr-pointer-fx-sweep .wpr-active-menu-item:before,.wpr-pointer-border-fx.wpr-pointer-fx-grow .wpr-active-menu-item:before,.wpr-pointer-border-fx.wpr-pointer-fx-shrink .wpr-active-menu-item:before{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.wpr-pointer-background-fx.wpr-pointer-fx-skew .wpr-active-menu-item:before{-webkit-transform:perspective(600px) rotateX(0);transform:perspective(600px) rotateX(0)}.elementor-widget-wpr-nav-menu .wpr-mobile-nav-menu a,.elementor-widget-wpr-nav-menu .wpr-mobile-toggle-text,.elementor-widget-wpr-nav-menu .wpr-nav-menu .wpr-menu-item{line-height:26px}.elementor-element.elementor-widget-wpr-tabs>.elementor-widget-container>.wpr-tabs>.wpr-tabs-content-wrap>.wpr-tab-content,.elementor-widget-wpr-button .wpr-button-text,.elementor-widget-wpr-button .wpr-button::after,.elementor-widget-wpr-content-ticker .wpr-content-ticker .wpr-ticker-heading,.elementor-widget-wpr-content-ticker .wpr-ticker-item .wpr-ticker-title,.elementor-widget-wpr-dual-button .wpr-button-a::after,.elementor-widget-wpr-dual-button .wpr-button-b::after,.elementor-widget-wpr-dual-button .wpr-button-text-a,.elementor-widget-wpr-dual-button .wpr-button-text-b,.elementor-widget-wpr-forms .caldera-forms-summary-field ul li,.elementor-widget-wpr-forms .caldera-grid .caldera-forms-gdpr-field-label,.elementor-widget-wpr-forms .caldera-grid .checkbox label,.elementor-widget-wpr-forms .caldera-grid .control-label,.elementor-widget-wpr-forms .caldera-grid .radio label,.elementor-widget-wpr-forms .caldera-grid .total-line,.elementor-widget-wpr-forms .nf-field-container label,.elementor-widget-wpr-forms .nf-form-fields-required,.elementor-widget-wpr-forms .wpcf7-form,.elementor-widget-wpr-forms .wpforms-captcha-equation,.elementor-widget-wpr-forms .wpforms-captcha-question,.elementor-widget-wpr-forms .wpforms-field-label,.elementor-widget-wpr-forms .wpforms-field-label-inline,.elementor-widget-wpr-forms .wpforms-head-container .wpforms-description,.elementor-widget-wpr-forms .wpforms-image-choices-label,.elementor-widget-wpr-forms .wpforms-payment-total,.elementor-widget-wpr-forms .wpr-forms-container .caldera_ajax_error_block,.elementor-widget-wpr-forms .wpr-forms-container .nf-error-msg,.elementor-widget-wpr-forms .wpr-forms-container .nf-response-msg,.elementor-widget-wpr-forms .wpr-forms-container .wpcf7-not-valid-tip,.elementor-widget-wpr-forms .wpr-forms-container .wpcf7-response-output,.elementor-widget-wpr-forms .wpr-forms-container .wpforms-confirmation-container-full,.elementor-widget-wpr-forms .wpr-forms-container label.wpforms-error,.elementor-widget-wpr-forms.caldera-grid .help-block,.elementor-widget-wpr-forms.nf-field-description,.elementor-widget-wpr-forms.wpforms-field-description,.elementor-widget-wpr-forms.wpforms-field-sublabel,.elementor-widget-wpr-grid .wpr-grid-cf-style-1,.elementor-widget-wpr-grid .wpr-grid-filters li,.elementor-widget-wpr-grid .wpr-grid-item-author,.elementor-widget-wpr-grid .wpr-grid-item-comments,.elementor-widget-wpr-grid .wpr-grid-item-content,.elementor-widget-wpr-grid .wpr-grid-item-date,.elementor-widget-wpr-grid .wpr-grid-item-excerpt,.elementor-widget-wpr-grid .wpr-grid-item-likes,.elementor-widget-wpr-grid .wpr-grid-item-protected p,.elementor-widget-wpr-grid .wpr-grid-item-read-more a,.elementor-widget-wpr-grid .wpr-grid-item-sharing,.elementor-widget-wpr-grid .wpr-grid-item-time,.elementor-widget-wpr-grid .wpr-grid-pagination,.elementor-widget-wpr-grid .wpr-grid-tax-style-1,.elementor-widget-wpr-grid .wpr-grid-tax-style-2,.elementor-widget-wpr-magazine-grid .wpr-grid-item-content,.elementor-widget-wpr-magazine-grid .wpr-grid-item-excerpt,.elementor-widget-wpr-mailchimp .wpr-mailchimp-header p,.elementor-widget-wpr-media-grid .wpr-grid-filters li,.elementor-widget-wpr-media-grid .wpr-grid-item-author,.elementor-widget-wpr-media-grid .wpr-grid-item-caption,.elementor-widget-wpr-media-grid .wpr-grid-item-date,.elementor-widget-wpr-media-grid .wpr-grid-item-likes,.elementor-widget-wpr-media-grid .wpr-grid-item-sharing,.elementor-widget-wpr-media-grid .wpr-grid-item-time,.elementor-widget-wpr-media-grid .wpr-grid-tax-style-1,.elementor-widget-wpr-media-grid .wpr-grid-tax-style-2,.elementor-widget-wpr-media-magazine-grid .wpr-grid-tax-style-2,.elementor-widget-wpr-nav-menu .wpr-sub-menu .wpr-sub-menu-item,.elementor-widget-wpr-onepage-nav .wpr-onepage-nav-item .wpr-tooltip,.elementor-widget-wpr-pricing-table .wpr-pricing-table-title-wrap .wpr-pricing-table-sub-title,.elementor-widget-wpr-promo-box .wpr-promo-box-badge,.elementor-widget-wpr-promo-box .wpr-promo-box-btn,.elementor-widget-wpr-woo-grid .wpr-grid-item-add-to-cart a,.elementor-widget-wpr-woo-grid .wpr-grid-item-content,.elementor-widget-wpr-woo-grid .wpr-grid-item-lightbox,.elementor-widget-wpr-woo-grid .wpr-grid-item-likes,.elementor-widget-wpr-woo-grid .wpr-grid-item-price .inner-block>span,.elementor-widget-wpr-woo-grid .wpr-grid-item-sharing,.elementor-widget-wpr-woo-grid .wpr-grid-item-status .inner-block>span,.elementor-widget-wpr-woo-grid .wpr-grid-pagination,.elementor-widget-wpr-woo-grid .wpr-grid-product-categories,.elementor-widget-wpr-woo-grid .wpr-grid-product-tags,.elementor-widget-wpr-woo-grid .wpr-woo-rating span,.wpr-price-list-description{font-size:14px}.wpr-button-icon,.wpr-button-icon-a,.wpr-button-icon-b,.wpr-button-text,.wpr-button-text-a,.wpr-button-text-b,.wpr-cart-wrapper .form-row.coupon-col,.wpr-individual-rating,.wpr-mega-menu a.wpr-menu-item,.wpr-mega-menu a.wpr-sub-menu-item,.wpr-mobile-mega-menu .wpr-mobile-menu-item,.wpr-mobile-mega-menu .wpr-mobile-sub-menu-item,.wpr-pc-btn-icon-right .wpr-pc-content,.wpr-price-list-heading,.wpr-stt-btn-icon-left .wpr-stt-btn,.wpr-table-custom-pagination-inner-cont,.wpr-taxonomy-list li:not(.wpr-sub-hidden){display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wpr-grid-media-hover-bg,.wpr-hotspot-item,.wpr-image-accordion-wrap .wpr-img-accordion-hover-bg,.wpr-image-accordion-wrap .wpr-img-accordion-media-hover,.wpr-mega-menu .wpr-pointer-item:after,.wpr-mega-menu .wpr-pointer-item:before{position:absolute}.wpr-mega-menu .wpr-sub-icon,.wpr-price-list-position-left .wpr-price-list-price-wrap,.wpr-price-list-position-right .wpr-price-list-price-wrap,.wpr-product-filter-label-right .wpr-product-filter-tax-wrap li a span:last-child:not(.wpr-product-filter-tax-name){margin-left:auto}.wpr-nav-menu-horizontal .wpr-mega-menu .wpr-sub-icon{margin-top:-1px}.wpr-mega-menu .wpr-sub-icon-rotate,.wpr-mobile-menu-display-offcanvas .wpr-mobile-mega-menu>li>a>.wpr-mobile-sub-icon,.wpr-nav-menu-vertical .wpr-mega-menu .wpr-sub-icon{-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg)}.wpr-sub-mega-menu{display:none;position:absolute;z-index:99999;overflow:hidden;width:100%;text-align:left}.wpr-sub-mega-menu,.wpr-sub-mega-menu ul{font-size:1rem}.wpr-nav-menu-vertical .wpr-sub-mega-menu{width:840px}.wpr-grid-slider-nav-position-default .wpr-grid-slider-arrow,.wpr-slider-nav-position-default .wpr-slider-arrow,.wpr-testimonial-nav-position-default .wpr-testimonial-arrow,li.wpr-mega-menu-pos-default{position:static}.wpr-mega-menu-width-full .wpr-sub-mega-menu{width:100vw;left:-110%}.wpr-both-sided-timeline .wpr-middle-line,.wpr-hotspot-tooltip-position-bottom .wpr-hotspot-tooltip,.wpr-hotspot-tooltip-position-top .wpr-hotspot-tooltip,.wpr-main-menu-align-center .wpr-nav-menu-horizontal .wpr-mega-menu-pos-default.wpr-mega-menu-width-custom .wpr-sub-mega-menu{left:50%}.wpr-mega-menu-icon{position:relative;top:-1px;margin-right:5px}.wpr-mega-menu-badge{font-size:11px;padding:2px 5px;line-height:1}.wpr-nav-menu-horizontal .wpr-mega-menu-badge{position:absolute;top:-4px;right:0}.wpr-nav-menu-horizontal .wpr-mega-menu-badge:after{content:' ';position:absolute;top:100%;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid;border-top-color:inherit}.wpr-flip-box-btn-icon,.wpr-mobile-nav-menu .wpr-mega-menu-badge,.wpr-nav-menu-vertical .wpr-mega-menu-badge,.wpr-promo-box-btn-icon{margin-left:5px}.wpr-nav-menu-vertical .wpr-mega-menu-badge{margin-left:5px;vertical-align:middle;position:relative;top:-1px}.wpr-nav-menu-horizontal .wpr-mega-menu-badge-animation{-webkit-animation:2s ease-in-out infinite badgeBounce;animation:2s ease-in-out infinite badgeBounce}.wpr-nav-menu-vertical .wpr-mega-menu-badge-animation,.wpr-pl-badge-anim-yes .wpr-page-list-item-badge{-webkit-animation:2s ease-in-out infinite badgeFade;animation:2s ease-in-out infinite badgeFade}div[class*=wpr-sub-menu-fx] .wpr-mega-menu .wpr-sub-mega-menu,div[class*=wpr-sub-menu-fx] .wpr-mega-menu .wpr-sub-menu{display:block;visibility:hidden;opacity:0;z-index:-1;-webkit-transition:.2s ease-in;-o-transition:.2s ease-in;transition:.2s ease-in}div[class*=wpr-sub-menu-fx] .wpr-mega-menu .wpr-sub-mega-menu.wpr-animate-sub,div[class*=wpr-sub-menu-fx] .wpr-mega-menu .wpr-sub-menu.wpr-animate-sub{visibility:visible;opacity:1;z-index:9999}.wpr-sub-menu-fx-fade .wpr-sub-mega-menu{-webkit-transition:.3s ease-in;-o-transition:.3s ease-in;transition:.3s ease-in}.wpr-sub-menu-fx-move-up .wpr-sub-mega-menu,.wpr-sub-menu-fx-move-up .wpr-sub-menu{margin-top:10px}.wpr-sub-menu-fx-move-down .wpr-sub-mega-menu,.wpr-sub-menu-fx-move-down .wpr-sub-menu{margin-top:-10px}.wpr-product-filter-tax-child a,.wpr-sub-menu-fx-move-left .wpr-sub-mega-menu,.wpr-sub-menu-fx-move-left .wpr-sub-menu{margin-left:10px}.wpr-horizontal-bottom .wpr-button-prev,.wpr-pricing-table-badge-flag.wpr-pricing-table-badge-left,.wpr-promo-box-badge-flag.wpr-promo-box-badge-left,.wpr-sub-menu-fx-move-right .wpr-sub-mega-menu,.wpr-sub-menu-fx-move-right .wpr-sub-menu{margin-left:-10px}.wpr-forms-container .nf-form-content .label-above .nf-field-label,.wpr-sub-menu-fx-move-down .wpr-sub-mega-menu.wpr-animate-sub,.wpr-sub-menu-fx-move-down .wpr-sub-menu.wpr-animate-sub,.wpr-sub-menu-fx-move-up .wpr-sub-mega-menu.wpr-animate-sub,.wpr-sub-menu-fx-move-up .wpr-sub-menu.wpr-animate-sub{margin-top:0}.wpr-sub-menu-fx-move-left .wpr-sub-mega-menu.wpr-animate-sub,.wpr-sub-menu-fx-move-left .wpr-sub-menu.wpr-animate-sub,.wpr-sub-menu-fx-move-right .wpr-sub-mega-menu.wpr-animate-sub,.wpr-sub-menu-fx-move-right .wpr-sub-menu.wpr-animate-sub,.wpr-timeline-centered.wpr-both-sided-timeline .wpr-timeline-entry.wpr-left-aligned .wpr-timeline-entry-inner,.wpr-timeline-centered.wpr-one-sided-timeline .wpr-timeline-entry .wpr-timeline-entry-inner,.wpr-timeline-centered.wpr-one-sided-timeline-left .wpr-timeline-entry.wpr-left-aligned .wpr-timeline-entry-inner{margin-left:0}@-webkit-keyframes badgeBounce{50%{-webkit-transform:translateY(-25%);transform:translateY(-25%)}0%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes badgeBounce{50%{-webkit-transform:translateY(-25%);transform:translateY(-25%)}0%{-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes badgeFade{50%{opacity:.5}0%{opacity:1}}.wpr-mobile-menu-display-dropdown .wpr-mobile-mega-menu-wrap{display:none;position:absolute;z-index:9999}.wpr-mobile-menu-display-offcanvas .wpr-mobile-mega-menu-wrap{display:block;position:fixed;top:0;z-index:9999;height:100%;overflow:hidden;-webkit-transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform,-webkit-transform}.admin-bar .lg-toolbar,.admin-bar .wpr-mobile-menu-display-offcanvas .wpr-mobile-mega-menu-wrap{top:32px}.wpr-mobile-menu-offcanvas-slide-center .wpr-mobile-mega-menu-wrap,.wpr-mobile-menu-offcanvas-slide-left .wpr-mobile-mega-menu-wrap{left:0;-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%)}.wpr-mobile-menu-offcanvas-slide-right .wpr-mobile-mega-menu-wrap{right:0;-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%)}.wpr-mobile-menu-display-offcanvas .wpr-mobile-mega-menu-open{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}.wpr-mobile-mega-menu-overlay{opacity:0;visibility:hidden;position:fixed;top:0;left:0;z-index:9998;width:100%;height:100%;-webkit-transition:opacity .2s ease-in;-o-transition:opacity .2s ease-in;transition:opacity .2s ease-in}.elementor-editor-active .elementor-element-edit-mode:hover .wpr-template-edit-btn,.wpr-gallery-slider-nav-fade .flex-viewport:hover .wpr-gallery-slider-arrow,.wpr-grid-slider-nav-fade:hover .wpr-grid-slider-arrow-container,.wpr-mobile-mega-menu-open+.wpr-mobile-mega-menu-overlay,.wpr-onepage-nav-item:hover .wpr-tooltip,.wpr-product-media-slider-nav-fade .wpr-gallery-slider:hover .wpr-gallery-slider-arrow,.wpr-slider-nav-fade .wpr-advanced-slider-wrap:hover .wpr-slider-arrow,.wpr-tabs-triangle-yes>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab-active.wpr-tab:before,.wpr-thumbnail-slider-nav-fade .wpr-fcn-wrap:hover .wpr-thumbnail-slider-arrow,.wpr-thumbnail-slider-nav-fade .wpr-product-thumb-nav:hover .wpr-thumbnail-slider-arrow{opacity:1;visibility:visible}.elementor-widget-wpr-sharing-buttons.elementor-grid-0 .wpr-sharing-buttons,.elementor-widget-wpr-sharing-buttons[class*=elementor-grid-pro-] .wpr-sharing-buttons,.elementor-widget[class*=elementor-widget-wpr-] table.shop_table .variation,.mobile-mega-menu-header,.wpr-author-box-arrange-left .wpr-author-box,.wpr-ba-divider-icons,.wpr-button-content,.wpr-button-content-a,.wpr-button-content-b,.wpr-cart-section-wrap .coupon,.wpr-cart-wrapper,.wpr-checkout-horizontal .wpr-customer-details-wrapper,.wpr-comment-form-fields,.wpr-mailchimp-fields,.wpr-pc-content,.wpr-pc-wrapper,.wpr-post-nav-labels span,.wpr-post-navigation-wrap,.wpr-product-filter-label-left .wpr-product-filter-rating a,.wpr-product-filters .wpr-search-form-input-wrap,.wpr-search-form-style-inner .wpr-search-form-input-wrap,.wpr-search-form-style-outer .wpr-search-form,.wpr-stt-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.mobile-mega-menu-close{margin-left:auto;cursor:pointer}.wpr-mobile-mega-menu .wpr-mobile-sub-icon{margin-left:auto;font-size:13px}.wpr-mobile-mega-menu>li>a>.wpr-mobile-sub-icon{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;position:absolute;right:0}.wpr-business-hours,.wpr-checkout-order-review-table,.wpr-flip-box-animation-push .wpr-flip-box,.wpr-flip-box-animation-slide .wpr-flip-box,.wpr-grid-image-wrap,.wpr-member-content,.wpr-member-divider,.wpr-member-image,.wpr-mobile-menu-display-offcanvas .wpr-mobile-mega-menu li,.wpr-product-media-thumbs-slider .wpr-product-media-wrap .flex-control-nav,.wpr-product-media-thumbs-slider .wpr-product-media-wrap .woocommerce-product-gallery,.wpr-product-media-wrap .swiper,.wpr-team-member,.wpr-testimonial-image,.wpr-ticker-marquee{overflow:hidden}.wpr-mobile-mega-menu .wpr-mobile-sub-menu>li>a,.wpr-mobile-mega-menu>li>a{position:relative;left:0;-webkit-transition-property:left;-o-transition-property:left;transition-property:left}.wpr-mobile-mega-menu.wpr-mobile-sub-offcanvas-open>li>a{left:-100%;margin-right:20px}.wpr-mobile-menu-display-offcanvas .wpr-mobile-mega-menu>li>.wpr-mobile-sub-menu,.wpr-mobile-menu-display-offcanvas .wpr-mobile-sub-mega-menu{display:block;position:absolute;width:100%;top:0;left:100%;z-index:1;-webkit-transition-property:left;-o-transition-property:left;transition-property:left}.elementor-widget-wpr-product-tabs:not(.wpr-tabs-hr-position-left):not(.wpr-tabs-hr-position-right):not(.wpr-tabs-hr-position-center) .elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab:first-of-type,.wpr-countdown-item:first-child,.wpr-mobile-menu-display-offcanvas .wpr-mobile-mega-menu>.wpr-mobile-sub-open>.wpr-mobile-sub-menu,.wpr-mobile-menu-display-offcanvas .wpr-mobile-sub-offcanvas-open .wpr-mobile-sub-open .wpr-mobile-sub-mega-menu{margin-left:0!important}.wpr-mobile-menu-display-offcanvas .wpr-mobile-mega-menu .wpr-mobile-sub-menu .wpr-mobile-sub-menu{padding-left:10px}.wpr-gallery-slider-dot,.wpr-grid-slider-dot,.wpr-mobile-menu-display-offcanvas .wpr-menu-offcanvas-back,.wpr-slider-dot,.wpr-testimonial-dot{display:block;cursor:pointer}.wpr-onepage-nav{position:fixed;z-index:99999;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.wpr-onepage-nav-vr-middle .wpr-onepage-nav,.wpr-tabs-position-left.wpr-tabs-triangle-type-inner>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab:before,.wpr-tabs-position-right.wpr-tabs-triangle-type-outer>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab:before{top:50%;-ms-transform:translateY(-50%);transform:translateY(-50%);-webkit-transform:translateY(-50%)}.wpr-ba-vertical .wpr-ba-label-2,.wpr-onepage-nav-vr-bottom .wpr-onepage-nav,.wpr-post-info-vertical li:after{bottom:0}.wpr-onepage-nav-hr-left .wpr-onepage-nav-item:hover .wpr-tooltip{-ms-transform:translate(10%,-50%);transform:translate(10%,-50%);-webkit-transform:translate(10%,-50%)}.wpr-onepage-nav-hr-left .wpr-onepage-nav-item .wpr-tooltip{top:50%;left:100%;-ms-transform:translate(20%,-50%);transform:translate(20%,-50%);-webkit-transform:translate(20%,-50%)}.wpr-button-tooltip-a-position-right .wpr-button-tooltip-a:before,.wpr-button-tooltip-b-position-right .wpr-button-tooltip-b:before,.wpr-onepage-nav-hr-left .wpr-onepage-nav-item .wpr-tooltip:before{left:-8px;top:50%;-webkit-transform:translateY(-50%) rotate(90deg);-ms-transform:translateY(-50%) rotate(90deg);transform:translateY(-50%) rotate(90deg)}.wpr-onepage-nav-hr-right .wpr-onepage-nav-item:hover .wpr-tooltip{-ms-transform:translate(-110%,-50%);transform:translate(-110%,-50%);-webkit-transform:translate(-110%,-50%)}.wpr-onepage-nav-hr-right .wpr-onepage-nav-item .wpr-tooltip{top:50%;left:0;-ms-transform:translate(-120%,-50%);transform:translate(-120%,-50%);-webkit-transform:translate(-120%,-50%)}.wpr-onepage-nav-hr-right .wpr-onepage-nav-item .wpr-tooltip:before{left:auto;right:-8px;top:50%;-webkit-transform:translateY(-50%) rotate(-90deg);-ms-transform:translateY(-50%) rotate(-90deg);transform:translateY(-50%) rotate(-90deg)}.elementor-widget-wpr-onepage-nav .wpr-onepage-nav{background-color:#605be5;-webkit-box-shadow:0 0 15px 0 #d7d7d7;box-shadow:0 0 15px 0 #d7d7d7}.wpr-archive-title:after{content:' ';display:block}.wpr-featured-media-image{position:relative;display:inline-block;vertical-align:middle}.wpr-featured-media-caption,.wpr-product-media-caption{position:absolute;display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;height:100%}.wpr-gallery-slider-arrows-wrap,.wpr-thumbnail-slider-arrows-wrap{z-index:1;display:-webkit-box;display:-ms-flexbox;-webkit-box-pack:justify;left:0;position:absolute;width:100%}.wpr-fm-image-caption-hover .wpr-featured-media-caption,.wpr-pd-image-caption-hover .wpr-product-media-wrap .wpr-product-media-caption{opacity:0;-webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity}.wpr-ba-labels-hover:hover .wpr-ba-label,.wpr-flip-carousel .flipster__button,.wpr-fm-image-caption-hover:hover .wpr-featured-media-caption,.wpr-pd-image-caption-hover .wpr-product-media-wrap:hover .wpr-product-media-caption,.wpr-product-thumb-nav li.slick-current,.wpr-switcher-content-active .wpr-switcher-content-inner.wpr-overlay-none,.wpr-tab-content-active .wpr-tab-content-inner.wpr-overlay-none{opacity:1}.wpr-gallery-slider,.wpr-grid,.wpr-grid .added_to_cart,.wpr-grid-item-sharing .wpr-sharing-hidden a,.wpr-hide-items-before-append,.wpr-hide-pagination-on-search,.wpr-hide-table-before-arrange,.wpr-post-nav-fixed.wpr-post-nav-hover img,.wpr-switcher-content-inner,.wpr-tab-content-inner,.wpr-testimonial-nav-fade .wpr-testimonial-arrow{opacity:0}.wpr-flip-box[data-trigger=box],.wpr-forms-container .field-wrap.submit-wrap .ninja-forms-field,.wpr-gallery-lightbox-yes .wpr-featured-media-image,.wpr-gallery-lightbox-yes .wpr-product-media-image,.wpr-grid-item-lightbox .inner-block>span,.wpr-grid-item-sharing .wpr-sharing-trigger,.wpr-grid-lightbox-overlay,.wpr-hotspot-trigger-click .wpr-hotspot-item,.wpr-hotspot-trigger-hover .wpr-hotspot-item,.wpr-img-accordion-item-lightbox .inner-block>span,.wpr-img-accordion-lightbox-overlay,.wpr-img-accordion-wrapper-link-yes,.wpr-product-add-to-cart .wpr-quantity-wrapper i,.wpr-submit-comment,.wpr-table-custom-pagination-list{cursor:pointer}.wpr-flip-box-back-align-center .wpr-flip-box-back .wpr-flip-box-image img,.wpr-flip-box-front-align-center .wpr-flip-box-front .wpr-flip-box-image img,.wpr-gallery-slide img,.wpr-logo-position-center .wpr-logo-image,.wpr-pricing-table-heading-center .wpr-pricing-table-icon img,.wpr-testimonial-meta-align-center .wpr-testimonial-meta img{margin:0 auto}.wpr-gallery-slider-arrows-wrap{top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);height:0!important;display:flex;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wpr-thumbnail-slider-arrows-wrap{top:90%;display:flex;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wpr-thumbnail-slider-arrow{left:0;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wpr-thumbnail-slider-next-arrow{right:0;left:auto}.wpr-before-remove-from-mini-cart,.wpr-thumbnail-slider-nav-fade .wpr-fcn-wrap:hover .wpr-thumbnail-slider-arrow[disabled],.wpr-thumbnail-slider-prev-arrow[disabled]{opacity:.6}.wpr-product-media-thumbs-vertical .wpr-thumbnail-slider-prev-arrow{top:7px!important;left:50%!important;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.wpr-product-media-thumbs-vertical .wpr-thumbnail-slider-next-arrow{top:auto!important;bottom:7px!important;left:50%!important;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.wpr-product-media-thumbs-vertical .wpr-thumbnail-slider-next-arrow i,.wpr-product-media-thumbs-vertical .wpr-thumbnail-slider-prev-arrow i,.wpr-promo-box-badge-corner.wpr-promo-box-badge-right{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.wpr-product-media-thumbs-vertical .flex-control-nav li{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.wpr-product-media-thumbs-vertical .flex-control-nav li img{width:100%!important;height:100%!important;-o-object-fit:cover!important;object-fit:cover!important}.wpr-gallery-slider-arrow,.wpr-thumbnail-slider-arrow{position:absolute;top:50%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;z-index:120;-webkit-box-sizing:content-box;box-sizing:content-box;-webkit-transition:.5s;-o-transition:.5s;transition:.5s;text-align:center;cursor:pointer}.wpr-gallery-slider-arrow i,.wpr-thumbnail-slider-arrow i{display:block;width:100%;line-height:inherit}.wpr-gallery-slider-arrow,.wpr-thumbnail-slider-arrow,.wpr-ticker-heading-position-right.wpr-ticker-heading-triangle-middle .wpr-ticker-heading:before{-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.wpr-flip-box-animation-fade .wpr-flip-box-active .wpr-flip-box-front,.wpr-gallery-slider-nav-fade .wpr-gallery-slider-arrow,.wpr-grid-slider-nav-fade .wpr-grid-slider-arrow-container,.wpr-product-media-slider-nav-fade .wpr-gallery-slider-arrow,.wpr-slider-nav-fade .wpr-slider-arrow,.wpr-thumbnail-slider-nav-fade .wpr-thumbnail-slider-arrow{opacity:0;visibility:hidden}.wpr-product-media-lightbox{position:absolute;top:0;right:0;z-index:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.wpr-gallery-slider-dots{position:absolute;display:inline-table;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);z-index:110}.wpr-gallery-slider-dots ul,.wpr-grid-slider-dots ul,.wpr-slider-dots ul{list-style:none;margin:0;padding:0}.elementor-widget-wpr-product-tabs .comment-form-author,.elementor-widget-wpr-product-tabs .comment-form-email,.wpr-anim-text-inner,.wpr-comments-navigation-justify a.prev,.wpr-flip-box-back-align-left .wpr-flip-box-back .wpr-flip-box-image img,.wpr-flip-box-front-align-left .wpr-flip-box-front .wpr-flip-box-image img,.wpr-gallery-slider-dots li,.wpr-grid-item-display-custom.wpr-grid-item-align-left,.wpr-grid-item-display-inline.wpr-grid-item-align-left,.wpr-grid-pagination-justify .wpr-grid-pagi-left-arrows,.wpr-grid-pagination-justify .wpr-grid-pagination-default .wpr-prev-post-link,.wpr-grid-slider-dots-horizontal .wpr-grid-slider-dots li,.wpr-grid-slider-dots-pro-vr .slick-dots li,.wpr-img-accordion-item-display-custom.wpr-img-accordion-item-align-left,.wpr-img-accordion-item-display-inline.wpr-img-accordion-item-align-left,.wpr-logo-position-left .wpr-logo-image,.wpr-logo-position-left .wpr-logo-text,.wpr-prbar-layout-hr-line .wpr-prbar-title-wrap,.wpr-pricing-table-heading-left .wpr-pricing-table-icon,.wpr-slider-dots-horizontal .wpr-slider-dots li,.wpr-slider-dots-pro-vr .wpr-slider-dots li,.wpr-team-member-divider-left .wpr-member-divider:after,.wpr-testimonial-image-position-center.wpr-testimonial-meta-align-left .wpr-testimonial-meta img,.wpr-testimonial-image-position-left .wpr-testimonial-image,.wpr-testimonial-image-position-left .wpr-testimonial-logo-image img,.wpr-timeline-centered.wpr-both-sided-timeline .wpr-timeline-entry.wpr-left-aligned,.wpr-timeline-centered.wpr-one-sided-timeline-left .wpr-timeline-entry.wpr-left-aligned{float:left}.wpr-gallery-slider-dots li:last-child .wpr-gallery-slider-dot,.wpr-grid-item-excerpt .inner-block p,.wpr-grid-slider-dots li:last-child .wpr-grid-slider-dot,.wpr-grid-sorting .woocommerce-ordering,.wpr-grid-sorting .woocommerce-result-count,.wpr-grid-sorting .wpr-shop-page-title,.wpr-slider-dots li:last-child .wpr-slider-dot,.wpr-testimonial-dots li:last-child .wpr-testimonial-dot{margin:0!important}.wpr-author-box-image{display:inline-block;overflow:hidden}.wpr-author-box-arrange-right .wpr-author-box,.wpr-product-media-thumbs-vertical .woocommerce-product-gallery{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.wpr-author-box-arrange-left .wpr-author-box-image,.wpr-author-box-arrange-right .wpr-author-box-image,.wpr-testimonial-meta-position-left .wpr-testimonial-meta,.wpr-testimonial-meta-position-right .wpr-testimonial-meta{-ms-flex-negative:0;flex-shrink:0}.wpr-author-box-arrange-left .wpr-author-box-text,.wpr-author-box-arrange-right .wpr-author-box-text,.wpr-grid-sorting .woocommerce-ordering,.wpr-grid-sorting>div,.wpr-mailchimp-layout-hr .wpr-mailchimp-email,.wpr-mailchimp-layout-hr .wpr-mailchimp-first-name,.wpr-mailchimp-layout-hr .wpr-mailchimp-last-name,.wpr-sharing-label{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.wpr-posts-navigation-svg-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget-wpr-product-tabs:not(.wpr-tabs-hr-position-left):not(.wpr-tabs-hr-position-right):not(.wpr-tabs-hr-position-center) .elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab:last-of-type,.wpr-cf-no-url .wpr-comment-form-email,.wpr-cf-style-2 .wpr-comment-form-fields>div,.wpr-cf-style-5 .wpr-comment-form-fields>div,.wpr-comment-form[class*=wpr-cf-pro]>div,.wpr-countdown-item:last-of-type,.wpr-forms-align-left .wpr-forms-container div.wpforms-container-full .wpforms-form .wpforms-list-inline ul li:last-child,.wpr-forms-align-right .label-right .nf-field-description,.wpr-forms-align-right .wpcf7-acceptance .wpcf7-list-item,.wpr-forms-align-right .wpcf7-list-item.last,.wpr-forms-align-right div.wpforms-container-full .wpforms-form .wpforms-list-inline ul li:first-child,.wpr-grid-filters li:last-of-type,.wpr-grid-item-sharing a:last-of-type,.wpr-grid-pagi-right-arrows a:last-child,.wpr-grid-pagi-right-arrows span:last-child,.wpr-grid-slider-dots-horizontal .slick-dots li:last-child span,.wpr-load-more-btn,.wpr-member-social:last-child,.wpr-post-nav-back span:nth-child(2n),.wpr-post-navigation-wrap>div:last-child,.wpr-sharing-buttons .wpr-sharing-icon:last-child,.wpr-sharing-col-1 .wpr-sharing-buttons .wpr-sharing-icon,.wpr-sharing-col-2 .wpr-sharing-buttons .wpr-sharing-icon:nth-child(2n),.wpr-sharing-col-3 .wpr-sharing-buttons .wpr-sharing-icon:nth-child(3n),.wpr-sharing-col-4 .wpr-sharing-buttons .wpr-sharing-icon:nth-child(4n),.wpr-sharing-col-5 .wpr-sharing-buttons .wpr-sharing-icon:nth-child(5n),.wpr-sharing-col-6 .wpr-sharing-buttons .wpr-sharing-icon:nth-child(6n),.wpr-slider-dots-horizontal .slick-dots li:last-child span,.wpr-slider-dots-pro-vr .slick-dots li:last-child span,.wpr-testimonial-rating i:last-of-type,.wpr-testimonial-social:last-child,.wpr-woo-rating i:last-of-type{margin-right:0!important}.wpr-post-nav-fixed-default-wrap{position:fixed;bottom:0;z-index:999}.wpr-post-nav-fixed.wpr-post-navigation{position:fixed;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);z-index:999}.wpr-post-nav-fixed.wpr-post-navigation img{position:absolute;top:0;max-width:none}.wpr-post-nav-fixed.wpr-post-nav-hover.wpr-post-nav-prev img{-webkit-transform:perspective(600px) rotateY(90deg);transform:perspective(600px) rotateY(90deg);-webkit-transform-origin:center left 0;-ms-transform-origin:center left 0;transform-origin:center left 0}.wpr-post-nav-fixed.wpr-post-nav-hover.wpr-post-nav-next img{-webkit-transform:perspective(600px) rotateY(-90deg);transform:perspective(600px) rotateY(-90deg);-webkit-transform-origin:center right 0;-ms-transform-origin:center right 0;transform-origin:center right 0}.wpr-post-nav-fixed.wpr-post-nav-hover:hover img{opacity:1;position:absolute;-webkit-transform:none;-ms-transform:none;transform:none}.wpr-post-nav-static.wpr-post-navigation,.wpr-rating-icon-5:before{width:50%}.wpr-post-navigation{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;background-repeat:no-repeat;position:relative}.wpr-post-nav-overlay{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transition:.3s ease-in;-o-transition:.3s ease-in;transition:.3s ease-in}.wpr-post-nav-back{-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center;font-size:30px}.wpr-post-navigation a{position:relative;z-index:2;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wpr-entry-info-yes .wpr-table-custom-pagination,.wpr-forms-align-right .nf-form-wrap .field-wrap,.wpr-post-nav-next .wpr-post-nav-labels h5,.wpr-post-nav-next .wpr-post-nav-labels>span,.wpr-post-nav-next a,.wpr-product-adc-align-right .cart,.wpr-product-adc-align-right .wpr-product-add-to-cart .wpr-quantity-wrapper,.wpr-product-meta-right .wpr-product-meta .product_meta,.wpr-product-rating-flex.wpr-product-rating-right .inner-block,.wpr-switcher-label-style-outer>.elementor-widget-container>.wpr-content-toggle>.wpr-switcher-container>.wpr-switcher-first,.wpr-team-member-social-media-right .wpr-member-social-media{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.wpr-post-nav-labels{min-width:0}.wpr-post-nav-labels h5{display:-webkit-box;display:-ms-flexbox;display:flex;overflow:hidden;-ms-text-overflow:ellipsis}.wpr-grid-sorting,.wpr-post-nav-back a{display:-webkit-box;display:-ms-flexbox}.wpr-post-nav-dividers{padding:10px 0;border-top:1px solid #000;border-bottom:1px solid #000}.wpr-post-nav-divider{-ms-flex-item-align:stretch;-ms-grid-row-align:stretch;align-self:stretch;-ms-flex-negative:0;flex-shrink:0}.wpr-post-nav-dividers.wpr-post-navigation-wrap{padding-left:0!important;padding-right:0!important}.wpr-post-nav-back a{display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:0}.wpr-post-nav-back span{display:inline-block;border-style:solid}.wpr-post-info,.wpr-product-active-filters,.wpr-product-filter-rating,.wpr-product-filter-tax-wrap{padding:0;margin:0;list-style:none}.wpr-post-info-horizontal li:last-child{padding-right:0!important}.wpr-post-info-vertical li:last-child{padding-bottom:0!important}.wpr-post-info li .wpr-post-info-text{display:inline-block;text-align:left!important}.wpr-post-info li:after{content:' ';display:inline-block;position:absolute}.wpr-hotspot-tooltip-position-right .wpr-hotspot-tooltip:before,.wpr-post-info-horizontal li:after{top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.wpr-post-info-author img{display:inline-block;margin-right:10px;vertical-align:middle}.wpr-comments-list,.wpr-comments-list ul.children,.wpr-testimonial-dots ul{list-style:none;padding:0;margin:0}.wpr-forms-container .wpforms-form .wpforms-field,.wpr-forms-container .wpforms-submit-container,.wpr-google-map .gm-style-iw-c,.wpr-grid-item,.wpr-likes-no-default.wpr-likes-zero i{padding:0!important}.wpr-comment-avatar{float:left;overflow:hidden}.wpr-comment-avatar img{margin:0!important;position:static!important}.elementor-widget[class*=elementor-widget-wpr-] .variation-Size,.elementor-widget[class*=elementor-widget-wpr-] .wc-item-meta-label,.wpr-comments-wrap .comment-reply-link{float:none!important}.wpr-comment-reply-inline.wpr-comment-reply-align-right .wpr-comment-reply,.wpr-comments-navigation-justify a.next,.wpr-flip-box-back-align-right .wpr-flip-box-back .wpr-flip-box-image img,.wpr-flip-box-front-align-right .wpr-flip-box-front .wpr-flip-box-image img,.wpr-forms-align-right .caldera-grid .col-sm-4,.wpr-forms-align-right .caldera-grid .col-sm-6,.wpr-grid-item-display-custom.wpr-grid-item-align-right,.wpr-grid-item-display-inline.wpr-grid-item-align-right,.wpr-grid-pagination-justify .wpr-grid-pagi-right-arrows,.wpr-grid-pagination-justify .wpr-grid-pagination-default .wpr-next-post-link,.wpr-img-accordion-item-display-custom.wpr-img-accordion-item-align-right,.wpr-img-accordion-item-display-inline.wpr-img-accordion-item-align-right,.wpr-logo-position-right .wpr-logo-image,.wpr-logo-position-right .wpr-logo-text,.wpr-prbar-layout-hr-line .wpr-prbar-counter,.wpr-pricing-table-heading-right .wpr-pricing-table-icon,.wpr-team-member-divider-right .wpr-member-divider:after,.wpr-testimonial-image-position-center.wpr-testimonial-meta-align-right .wpr-testimonial-meta img,.wpr-testimonial-image-position-right .wpr-testimonial-image,.wpr-testimonial-image-position-right .wpr-testimonial-logo-image img,[dir=rtl] .slick-slide{float:right}.wpr-comment-reply-inline.wpr-comment-reply-align-left .wpr-comment-reply:before{content:'\00a0|\00a0'}.wpr-add-to-cart-icons-wrap,.wpr-checkout-horizontal .woocommerce-checkout .col2-set,.wpr-comment-form,.wpr-dual-heading-desc-top .wpr-dual-heading-wrap,.wpr-dual-heading-icon-top .wpr-dual-heading-wrap,.wpr-subtotal-align-bottom.wpr-mini-cart-sidebar .widget_shopping_cart_content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.elementor-widget-wpr-product-tabs .commentlist li,.wpr-comment-form label,.wpr-product-tabs .woocommerce-noreviews{margin-bottom:10px}.wpr-cf-style-2 .wpr-comment-form-fields,.wpr-cf-style-5 .wpr-comment-form-fields,.wpr-comment-form[class*=wpr-cf-pro] .wpr-comment-form-fields{display:block;width:60%}.wpr-cf-style-4.wpr-comment-form .wpr-comment-form-fields,.wpr-cf-style-5.wpr-comment-form .wpr-comment-form-fields,.wpr-cf-style-6.wpr-comment-form .wpr-comment-form-fields,.wpr-comment-form[class*=wpr-cf-pro] .wpr-comment-form-fields,.wpr-dual-heading-desc-top .wpr-dual-heading-description,.wpr-dual-heading-icon-top .wpr-dual-heading-icon-wrap{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.wpr-comments-list .comment-respond{margin-bottom:30px}.wpr-grid-item{float:left;position:relative;text-align:center}.wpr-grid-item,.wpr-grid-item *{outline:0!important}.wpr-grid-item-above-content{border-bottom:0!important;border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.wpr-grid:not([data-settings*=list]) .wpr-grid-item-below-content{border-top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.wpr-ba-image-2,.wpr-grid-media-hover,.wpr-img-accordion-media-hover{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}.wpr-grid-media-hover-top{position:absolute;top:0;left:0;width:100%;z-index:2}.wpr-grid-media-hover-bottom{position:absolute;bottom:0;left:0;width:100%;z-index:2}.wpr-grid-media-hover-middle,.wpr-img-accordion-media-hover-middle{position:relative;z-index:2}.wpr-grid .wpr-cv-container,.wpr-grid-item-add-to-cart .inner-block>a:after,.wpr-grid-item-add-to-cart .inner-block>a:before,.wpr-grid-item-read-more .inner-block>a:after,.wpr-grid-item-read-more .inner-block>a:before,.wpr-magazine-grid .wpr-cv-container,.wpr-magazine-grid .wpr-grid-media-hover{z-index:1}.slick-track:after,.wpr-grid-item-display-block,.wpr-img-accordion-item-display-block{clear:both}.wpr-grid-item-display-custom.wpr-grid-item-align-center,.wpr-grid-item-display-inline.wpr-grid-item-align-center,.wpr-img-accordion-item-display-custom.wpr-img-accordion-item-align-center,.wpr-img-accordion-item-display-inline.wpr-img-accordion-item-align-center{float:none;display:inline-block;vertical-align:middle}.wpr-grid-media-hover-bg img{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%) scale(1)!important;-ms-transform:translate(-50%,-50%) scale(1)!important;transform:translate(-50%,-50%) scale(1)!important;-webkit-filter:grayscale(0)!important;filter:grayscale(0)!important;-webkit-filter:blur(0px)!important;-filter:blur(0px)!important}.wpr-anim-text,.wpr-clipped-text,.wpr-grid-item-author img,.wpr-grid-item-author span,.wpr-highlighted-text{display:inline-block;vertical-align:middle}.wpr-grid-item-author img{-webkit-transform:none!important;-ms-transform:none!important;transform:none!important;-webkit-filter:none!important;filter:none!important}.wpr-grid-item-sharing .wpr-sharing-icon{display:inline-block;position:relative}.wpr-grid-item-sharing .wpr-sharing-icon .wpr-tooltip{left:50%;-ms-transform:translate(-50%,-100%);transform:translate(-50%,-100%);-webkit-transform:translate(-50%,-100%)}.wpr-grid-item-sharing .wpr-sharing-icon:hover .wpr-tooltip{visibility:visible;opacity:1;-ms-transform:translate(-50%,-120%);transform:translate(-50%,-120%);-webkit-transform:translate(-50%,-120%)}.wpr-grid-item-sharing .wpr-tooltip:before,.wpr-hotspot-tooltip-position-top .wpr-hotspot-tooltip:before,.wpr-tabs-position-above.wpr-tabs-triangle-type-outer.wpr-tabs-position-above>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab:before{left:50%;-ms-transform:translateX(-50%);transform:translateX(-50%);-webkit-transform:translateX(-50%)}.wpr-grid-item-sharing .wpr-tooltip{display:block;padding:10px}.wpr-grid-item-sharing .wpr-sharing-hidden{visibility:hidden;position:absolute;z-index:3;text-align:center}.wpr-sharing-hidden a{position:relative;top:-5px;-webkit-transition-duration:.3s!important;-o-transition-duration:.3s!important;transition-duration:.3s!important;-webkit-transition-timing-function:cubic-bezier(.445,.050,.55,.95);-o-transition-timing-function:cubic-bezier(.445,.050,.55,.95);transition-timing-function:cubic-bezier(.445,.050,.55,.95);-webkit-transition-delay:0s;-o-transition-delay:0s;transition-delay:0s}.wpr-grid-item-sharing .inner-block a,.wpr-sharing-buttons .wpr-sharing-icon{-webkit-transition-timing-function:linear;-o-transition-timing-function:linear}.wpr-sharing-hidden a+a{-webkit-transition-delay:0.1s;-o-transition-delay:0.1s;transition-delay:0.1s}.wpr-sharing-hidden a+a+a{-webkit-transition-delay:0.2s;-o-transition-delay:0.2s;transition-delay:0.2s}.wpr-sharing-hidden a+a+a+a{-webkit-transition-delay:0.3s;-o-transition-delay:0.3s;transition-delay:0.3s}.wpr-sharing-hidden a+a+a+a+a{-webkit-transition-delay:0.4s;-o-transition-delay:0.4s;transition-delay:0.4s}.wpr-grid-item-sharing .inner-block a{text-align:center;-webkit-transition-property:color,background-color,border;-o-transition-property:color,background-color,border;transition-property:color,background-color,border;transition-timing-function:linear}.wpr-grid-item-add-to-cart .inner-block>a,.wpr-grid-item-read-more .inner-block>a{position:relative;overflow:hidden;vertical-align:middle}.wpr-grid-item-add-to-cart .inner-block>a i,.wpr-grid-item-add-to-cart .inner-block>a span,.wpr-grid-item-read-more .inner-block>a i,.wpr-grid-item-read-more .inner-block>a span{position:relative;z-index:2;opacity:1}.wpr-grid-lightbox-overlay{position:absolute;top:0;left:0;z-index:10;width:100%;height:100%}.elementor-widget-wpr-sharing-buttons:not(.elementor-grid-0):not(.elementor-grid-pro-3):not(.elementor-grid-pro-4):not(.elementor-grid-pro-5):not(.elementor-grid-pro-6) .wpr-sharing-label-off .wpr-sharing-icon i,.wpr-grid-item-separator.wpr-grid-item-display-inline span,.wpr-img-accordion-item-separator.wpr-img-accordion-item-display-inline span{width:100%!important}.wpr-testimonial-rating i,.wpr-woo-rating i{display:inline;position:relative;font-family:eicons;font-style:normal;line-height:1;overflow:hidden}.wpr-testimonial-rating i:before,.wpr-woo-rating i:before{content:'\e934';font-weight:900;display:block;position:absolute;top:0;left:0;font-size:inherit;font-family:inherit;overflow:hidden}.wpr-product-filter-rating.wpr-woo-rating-style-2 i:before,.wpr-testimonial-rating-style_2 .wpr-testimonial-rating i:before,.wpr-woo-rating-style-2 .wpr-woo-rating i:before{content:'\002605'}.wpr-rating-icon-0:before{width:0}.wpr-rating-icon-1:before{width:10%}.wpr-rating-icon-2:before{width:20%}.wpr-rating-icon-3:before{width:30%}.wpr-rating-icon-4:before{width:40%}.wpr-rating-icon-6:before{width:60%}.wpr-rating-icon-7:before{width:70%}.elementor-widget-wpr-page-checkout .checkout_coupon .form-row-first,.wpr-rating-icon-8:before{width:80%}.wpr-rating-icon-9:before{width:90%}.wpr-grid-filters li span{display:inline-block;cursor:pointer;text-decoration:inherit}.wpr-grid-filters li sup{position:relative;padding-left:5px;line-height:1}.wpr-grid-filters li sup[data-brackets=yes]:before{content:'\0028'}.wpr-grid-filters li sup[data-brackets=yes]:after{content:'\0029'}.wpr-grid-filters .wpr-active-filter.wpr-pointer-item:after,.wpr-grid-filters .wpr-active-filter.wpr-pointer-item:before{opacity:1!important;width:100%!important}.wpr-grid-filters-sep{font-style:normal}.wpr-sub-filters{display:none;padding:0}.wpr-grid-sorting{display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.wpr-grid-sorting .woocommerce-ordering select{width:auto;outline:0!important}.wpr-atc-not-clickable{opacity:.5}@-webkit-keyframes added-tc-popup-animation{from{opacity:0;-webkit-transform:translateY(-50%);transform:translateY(-50%)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes added-tc-popup-animation{from{opacity:0;-webkit-transform:translateY(-50%);transform:translateY(-50%)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes added-tc-popup-animation-hide{from{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}to{opacity:0;-webkit-transform:translateY(-50%);transform:translateY(-50%)}}@keyframes added-tc-popup-animation-hide{from{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}to{opacity:0;-webkit-transform:translateY(-50%);transform:translateY(-50%)}}@-webkit-keyframes added-tc-popup-animation-bottom{from{opacity:0;-webkit-transform:translateY(50%);transform:translateY(50%)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes added-tc-popup-animation-bottom{from{opacity:0;-webkit-transform:translateY(50%);transform:translateY(50%)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes added-tc-popup-animation-hide-bottom{from{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}to{opacity:0;-webkit-transform:translateY(50%);transform:translateY(50%)}}@keyframes added-tc-popup-animation-hide-bottom{from{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}to{opacity:0;-webkit-transform:translateY(50%);transform:translateY(50%)}}@-webkit-keyframes added-tc-popup-animation-slide-in-left{from{opacity:0;-webkit-transform:translateX(100%);transform:translateX(100%)}to{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes added-tc-popup-animation-slide-in-left{from{opacity:0;-webkit-transform:translateX(100%);transform:translateX(100%)}to{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes added-tc-popup-animation-slide-out-left{from{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}to{opacity:0;-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes added-tc-popup-animation-slide-out-left{from{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}to{opacity:0;-webkit-transform:translateX(100%);transform:translateX(100%)}}@-webkit-keyframes added-tc-popup-animation-scale-up{from{opacity:0;-webkit-transform:scale(0);transform:scale(0)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes added-tc-popup-animation-scale-up{from{opacity:0;-webkit-transform:scale(0);transform:scale(0)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes added-tc-popup-animation-scale-down{from{opacity:1;-webkit-transform:scale(1);transform:scale(1)}to{opacity:0;-webkit-transform:scale(0);transform:scale(0)}}@keyframes added-tc-popup-animation-scale-down{from{opacity:1;-webkit-transform:scale(1);transform:scale(1)}to{opacity:0;-webkit-transform:scale(0);transform:scale(0)}}@-webkit-keyframes added-tc-popup-animation-fade{from{opacity:0}to{opacity:1}}@keyframes added-tc-popup-animation-fade{from{opacity:0}to{opacity:1}}@-webkit-keyframes added-tc-popup-animation-fade-out{from{opacity:1}to{opacity:0}}@keyframes added-tc-popup-animation-fade-out{from{opacity:1}to{opacity:0}}@-webkit-keyframes added-tc-popup-animation-skew{from{opacity:0;-webkit-transform:perspective(600px) rotateX(-90deg);transform:perspective(600px) rotateX(-90deg)}to{opacity:1;-webkit-transform:perspective(600px) rotateX(0);transform:perspective(600px) rotateX(0)}}@keyframes added-tc-popup-animation-skew{from{opacity:0;-webkit-transform:perspective(600px) rotateX(-90deg);transform:perspective(600px) rotateX(-90deg)}to{opacity:1;-webkit-transform:perspective(600px) rotateX(0);transform:perspective(600px) rotateX(0)}}@-webkit-keyframes added-tc-popup-animation-skew-off{from{opacity:1;-webkit-transform:perspective(600px) rotateX(0);transform:perspective(600px) rotateX(0)}to{opacity:0;-webkit-transform:perspective(600px) rotateX(-90deg);transform:perspective(600px) rotateX(-90deg)}}@keyframes added-tc-popup-animation-skew-off{from{opacity:1;-webkit-transform:perspective(600px) rotateX(0);transform:perspective(600px) rotateX(0)}to{opacity:0;-webkit-transform:perspective(600px) rotateX(-90deg);transform:perspective(600px) rotateX(-90deg)}}@-webkit-keyframes added-tc-popup-animation-skew-bottom{from{opacity:0;-webkit-transform:perspective(600px) rotateX(90deg);transform:perspective(600px) rotateX(90deg)}to{opacity:1;-webkit-transform:perspective(600px) rotateX(0);transform:perspective(600px) rotateX(0)}}@keyframes added-tc-popup-animation-skew-bottom{from{opacity:0;-webkit-transform:perspective(600px) rotateX(90deg);transform:perspective(600px) rotateX(90deg)}to{opacity:1;-webkit-transform:perspective(600px) rotateX(0);transform:perspective(600px) rotateX(0)}}@-webkit-keyframes added-tc-popup-animation-skew-off-bottom{from{opacity:1;-webkit-transform:perspective(600px) rotateX(0);transform:perspective(600px) rotateX(0)}to{opacity:0;-webkit-transform:perspective(600px) rotateX(90deg);transform:perspective(600px) rotateX(90deg)}}@keyframes added-tc-popup-animation-skew-off-bottom{from{opacity:1;-webkit-transform:perspective(600px) rotateX(0);transform:perspective(600px) rotateX(0)}to{opacity:0;-webkit-transform:perspective(600px) rotateX(90deg);transform:perspective(600px) rotateX(90deg)}}.wpr-added-to-cart-popup{position:fixed;display:-webkit-box;display:-ms-flexbox;display:flex;opacity:0;z-index:99999}.wpr-added-to-cart-popup.wpr-added-to-cart-slide-in-left{-webkit-animation-name:added-tc-popup-animation-slide-in-left!important;animation-name:added-tc-popup-animation-slide-in-left!important;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.wpr-added-to-cart-popup.wpr-added-to-cart-slide-out-left{-webkit-animation-name:added-tc-popup-animation-slide-out-left!important;animation-name:added-tc-popup-animation-slide-out-left!important;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.wpr-added-to-cart-popup.wpr-added-to-cart-scale-up{-webkit-animation-name:added-tc-popup-animation-scale-up!important;animation-name:added-tc-popup-animation-scale-up!important;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.wpr-added-to-cart-popup.wpr-added-to-cart-scale-down{-webkit-animation-name:added-tc-popup-animation-scale-down!important;animation-name:added-tc-popup-animation-scale-down!important;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.wpr-added-to-cart-popup.wpr-added-to-cart-fade{-webkit-animation-name:added-tc-popup-animation-fade!important;animation-name:added-tc-popup-animation-fade!important;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.wpr-added-to-cart-popup.wpr-added-to-cart-fade-out{-webkit-animation-name:added-tc-popup-animation-fade-out!important;animation-name:added-tc-popup-animation-fade-out!important;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.wpr-atc-popup-top .wpr-added-to-cart-popup.wpr-added-to-cart-skew{-webkit-transform-origin:center top 0;-ms-transform-origin:center top 0;transform-origin:center top 0;-webkit-animation-name:added-tc-popup-animation-skew!important;animation-name:added-tc-popup-animation-skew!important;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.wpr-atc-popup-top .wpr-added-to-cart-popup.wpr-added-to-cart-skew-off{-webkit-transform-origin:center top 0;-ms-transform-origin:center top 0;transform-origin:center top 0;-webkit-animation-name:added-tc-popup-animation-skew-off!important;animation-name:added-tc-popup-animation-skew-off!important;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.wpr-atc-popup-bottom .wpr-added-to-cart-popup.wpr-added-to-cart-skew{-webkit-transform-origin:center bottom 0;-ms-transform-origin:center bottom 0;transform-origin:center bottom 0;-webkit-animation-name:added-tc-popup-animation-skew-bottom!important;animation-name:added-tc-popup-animation-skew-bottom!important;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.wpr-atc-popup-bottom .wpr-added-to-cart-popup.wpr-added-to-cart-skew-off{-webkit-transform-origin:center bottom 0;-ms-transform-origin:center bottom 0;transform-origin:center bottom 0;-webkit-animation-name:added-tc-popup-animation-skew-off-bottom!important;animation-name:added-tc-popup-animation-skew-off-bottom!important;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.wpr-atc-popup-top .wpr-added-to-cart-popup{-webkit-animation-name:added-tc-popup-animation;animation-name:added-tc-popup-animation;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;top:0;right:0}.wpr-atc-popup-top .wpr-added-to-cart-popup-hide{-webkit-animation-name:added-tc-popup-animation-hide;animation-name:added-tc-popup-animation-hide;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.wpr-atc-popup-bottom .wpr-added-to-cart-popup{-webkit-animation-name:added-tc-popup-animation-bottom;animation-name:added-tc-popup-animation-bottom;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;bottom:0;right:0}.wpr-atc-popup-bottom .wpr-added-to-cart-popup-hide{-webkit-animation-name:added-tc-popup-animation-hide-bottom;animation-name:added-tc-popup-animation-hide-bottom;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.wpr-added-tc-title,.wpr-subtotal-align-bottom .wpr-mini-cart-separator{-webkit-box-flex:1;-ms-flex:1;flex:1}.wpr-added-tc-title a,.wpr-cart-wrapper img,.wpr-pricing-table-feature-icon,.wpr-pricing-table-feature-text{display:inline}.wpr-added-tc-popup-img img{width:100%;height:auto}.wpr-grid-pagination{margin-top:30px}.elementor-widget-wpr-product-tabs table td,.elementor-widget-wpr-product-tabs table th,.wpr-advanced-text-preffix,.wpr-advanced-text-suffix,.wpr-cart-wrapper table.shop_table img,.wpr-data-table-th-img,.wpr-grid-pagination i,.wpr-grid-pagination svg,.wpr-product-additional-information table td,.wpr-product-additional-information table th,.wpr-table-td,.wpr-table-text,.wpr-table-th{vertical-align:middle}.wpr-grid-pagination .wpr-disabled-arrow{cursor:not-allowed;opacity:.4}.wpr-grid-pagination-center .wpr-grid-pagination,.wpr-table-export-button-cont{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.wpr-ajax-search-pagination-left .wpr-ajax-search-pagination,.wpr-grid-pagination-left .wpr-grid-pagination{text-align:left;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.wpr-ajax-search-pagination-right .wpr-ajax-search-pagination,.wpr-grid-pagination-right .wpr-grid-pagination{text-align:right;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.wpr-grid-pagination .wpr-first-page,.wpr-grid-pagination .wpr-last-page,.wpr-grid-pagination .wpr-next-page,.wpr-grid-pagination .wpr-next-post-link,.wpr-grid-pagination .wpr-prev-page,.wpr-grid-pagination .wpr-prev-post-link{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%}.wpr-grid-slider-nav-position-default .wpr-grid-slider-arrow-container,.wpr-slider-nav-position-default .wpr-slider-arrow-container,.wpr-testimonial-nav-position-default .wpr-testimonial-arrow-container{position:absolute;display:-webkit-box;display:-ms-flexbox;display:flex}.wpr-grid-slider-nav-position-default .wpr-grid-slider-prev-arrow,.wpr-slider-nav-position-default .wpr-slider-prev-arrow,.wpr-testimonial-nav-position-default .wpr-testimonial-prev-arrow{-ms-transform:none;transform:none;-webkit-transform:none}.wpr-grid-slider-nav-position-default .wpr-grid-slider-next-arrow,.wpr-slider-nav-position-default .wpr-slider-next-arrow,.wpr-testimonial-nav-position-default .wpr-testimonial-next-arrow{-ms-transform:translateY(0) rotate(180deg);transform:translateY(0) rotate(180deg);-webkit-transform:translateY(0) rotate(180deg)}.wpr-grid-slider-arrow{position:absolute;z-index:120;top:50%;-webkit-box-sizing:content-box;box-sizing:content-box;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-transition:.5s;-o-transition:.5s;transition:.5s;text-align:center;cursor:pointer}.wpr-grid-slider-arrow i,.wpr-mini-cart-image a,.wpr-taxonomy-list i{display:block;width:100%;height:100%}.wpr-adjust-slider-prev-arrow{left:1%!important}.wpr-adjust-slider-next-arrow{right:1%!important}.wpr-grid-slider-prev-arrow,.wpr-horizontal-bottom .wpr-timeline-prev-arrow,.wpr-slider-prev-arrow{left:1%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.wpr-grid-slider-next-arrow,.wpr-horizontal-bottom .wpr-timeline-next-arrow,.wpr-slider-next-arrow{right:1%;-webkit-transform:translateY(-50%) rotate(180deg);-ms-transform:translateY(-50%) rotate(180deg);transform:translateY(-50%) rotate(180deg)}.wpr-grid-slider-dots,.wpr-slider-dots,.wpr-testimonial-dots{display:inline-table;position:absolute;z-index:110;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.wpr-grid-slider-dots-vertical .slick-dots li,.wpr-slider-dots-vertical .slick-dots li{display:block;width:auto!important;height:auto!important;margin:0!important}.wpr-grid-slider-dots-horizontal .slick-dots li,.wpr-grid-slider-dots-pro-vr .slick-dots li,.wpr-slider-dots-horizontal .slick-dots li{width:auto!important;padding-top:10px;margin:0!important}.wpr-grid-item-protected{position:absolute;top:0;left:0;z-index:11!important;width:100%;height:100%}.wpr-grid-item-protected i,.wpr-timeline-centered .wpr-timeline-entry .wpr-timeline-entry-inner .wpr-icon i{font-size:22px}.wpr-grid-item-protected input{width:50%;border:none;margin-top:10px;padding:7px 13px;font-size:13px}.wpr-grid-sorting-inner-wrap{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.wpr-my-account-tabs-horizontal nav ul,.wpr-product-filter-label-right .wpr-product-filter-rating a,.wpr-sort-select-position-above .wpr-grid-sort-heading{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.wpr-grid-sorting-inner-wrap form .orderby::-ms-expend{display:none}.wpr-grid-sorting-wrap form .orderby{-moz-appearance:none;-webkit-appearance:none}.wpr-grid-sorting-wrap .wpr-orderby-icon{position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);font-family:"Font Awesome 5 Free";font-weight:600!important}.elementor-widget-wpr-grid .wpr-grid-media-hover-bg,.elementor-widget-wpr-media-grid .wpr-grid-media-hover-bg,.elementor-widget-wpr-woo-grid .wpr-grid-media-hover-bg{background-color:rgba(0,0,0,.25)}.elementor-widget-wpr-magazine-grid .wpr-grid-media-hover-bg{background-image:-o-linear-gradient(top,rgba(255,255,255,0) 46%,rgba(96,91,229,.87) 100%);background-image:-webkit-gradient(linear,left top,left bottom,color-stop(46%,rgba(255,255,255,0)),to(rgba(96,91,229,.87)));background-image:linear-gradient(180deg,rgba(255,255,255,0) 46%,rgba(96,91,229,.87) 100%)}.elementor-widget-wpr-grid .wpr-grid-item-title,.elementor-widget-wpr-woo-category-grid-pro .wpr-grid-item-title,.elementor-widget-wpr-woo-grid .wpr-grid-item-title{font-size:21px;font-weight:700;line-height:23px;margin:0}.elementor-widget-wpr-magazine-grid .wpr-grid-item-title{font-size:22px;margin:0}.elementor-widget-wpr-media-grid .wpr-grid-item-title{font-size:15px;font-weight:500;margin:0}.elementor-widget-wpr-magazine-grid .wpr-grid-tax-style-1{font-size:12px;list-style-position:0.5px}.elementor-widget-wpr-magazine-grid .wpr-grid-item-author,.elementor-widget-wpr-magazine-grid .wpr-grid-item-date,.elementor-widget-wpr-magazine-grid .wpr-grid-item-time{font-size:12px;list-style-position:0.3px}.elementor-widget-wpr-grid .wpr-grid-item-lightbox,.elementor-widget-wpr-media-grid .wpr-grid-item-lightbox{font-size:18px}.elementor-widget-wpr-flip-box .wpr-flip-box-back .wpr-flip-box-content .wpr-flip-box-description,.elementor-widget-wpr-flip-box .wpr-flip-box-front .wpr-flip-box-content .wpr-flip-box-description,.elementor-widget-wpr-grid .wpr-grid-cf-style-2,.elementor-widget-wpr-media-grid .wpr-grid-pagination,.elementor-widget-wpr-promo-box .wpr-promo-box-description,.wpr-hotspot-text{font-size:15px}.elementor-widget-wpr-advanced-text .wpr-clipped-text-content,.elementor-widget-wpr-button .wpr-button,.elementor-widget-wpr-countdown .wpr-countdown-item,.elementor-widget-wpr-dual-button .wpr-button-a,.elementor-widget-wpr-dual-button .wpr-button-b,.elementor-widget-wpr-flip-box .wpr-flip-box-front,.elementor-widget-wpr-forms .caldera-grid .btn-default,.elementor-widget-wpr-forms .caldera-grid .cf2-dropzone button,.elementor-widget-wpr-forms .submit-wrap .ninja-forms-field,.elementor-widget-wpr-forms .wpcf7-submit,.elementor-widget-wpr-forms .wpforms-page-next,.elementor-widget-wpr-forms .wpforms-page-previous,.elementor-widget-wpr-forms .wpforms-submit,.elementor-widget-wpr-grid .wpr-grid-tax-style-2 .inner-block a,.elementor-widget-wpr-mailchimp .wpr-mailchimp-subscribe-btn,.elementor-widget-wpr-pricing-table .wpr-pricing-table-price,.elementor-widget-wpr-progress-bar .wpr-prbar-hr-line-inner,.elementor-widget-wpr-progress-bar .wpr-prbar-vr-line-inner{background-color:#605be5}.elementor-widget-wpr-button .wpr-button-none:hover,.elementor-widget-wpr-button .wpr-button::after,.elementor-widget-wpr-button .wpr-button::before,.elementor-widget-wpr-button [class*=elementor-animation]:hover,.elementor-widget-wpr-dual-button .wpr-dual-button .wpr-button-effect::after,.elementor-widget-wpr-dual-button .wpr-dual-button .wpr-button-effect::before,.elementor-widget-wpr-dual-button .wpr-dual-button .wpr-button-none:hover,.elementor-widget-wpr-dual-button .wpr-dual-button [class*=elementor-animation]:hover,.elementor-widget-wpr-forms .caldera-grid .btn-default:hover,.elementor-widget-wpr-forms .caldera-grid .btn-success,.elementor-widget-wpr-forms .caldera-grid .cf2-dropzone button:hover,.elementor-widget-wpr-forms .submit-wrap .ninja-forms-field:hover,.elementor-widget-wpr-forms .wpcf7-submit:hover,.elementor-widget-wpr-forms .wpforms-page-next:hover,.elementor-widget-wpr-forms .wpforms-page-previous:hover,.elementor-widget-wpr-forms .wpforms-submit:hover,.elementor-widget-wpr-grid .wpr-grid-tax-style-2 .inner-block a:hover,.elementor-widget-wpr-mailchimp .wpr-mailchimp-subscribe-btn:hover,.elementor-widget-wpr-pricing-table .wpr-pricing-table-btn:hover{background-color:#4a45d2}@media screen and (max-width:580px){.wpr-grid-sorting-inner-wrap{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.wpr-products-result-count{margin-bottom:5px}.wpr-grid-orderby,.wpr-grid-orderby select.orderby,.wpr-products-result-count{width:100%!important}}.wpr-magazine-grid{display:-ms-grid;display:grid;-webkit-box-pack:stretch;-ms-flex-pack:stretch;justify-content:stretch;-ms-grid-rows:1fr 1fr;grid-template-rows:1fr 1fr}.wpr-mgzn-grid-item{padding:0!important;text-align:center}.wpr-mgzn-grid-1vh-3h{-ms-grid-rows:auto;grid-template-rows:auto}.wpr-mgzn-grid-1-1-1{-ms-grid-rows:1fr;grid-template-rows:1fr}.wpr-mgzn-grid-1-1-3,.wpr-mgzn-grid-2-3{-ms-grid-columns:(1fr)[6];grid-template-columns:repeat(6,1fr)}.wpr-mgzn-grid-2-h{-ms-grid-columns:(1fr)[2];grid-template-columns:repeat(2,1fr)}.wpr-mgzn-grid-3-h{-ms-grid-columns:(1fr)[3];grid-template-columns:repeat(3,1fr)}.wpr-mgzn-grid-4-h{-ms-grid-columns:(1fr)[4];grid-template-columns:repeat(4,1fr)}.wpr-mgzn-grid-1vh-3h .wpr-mgzn-grid-item:first-child{-ms-grid-column:1;grid-column-start:1;-ms-grid-row:1;grid-row-start:1;-ms-grid-row-span:3;grid-row-end:4}.wpr-mgzn-grid-1-1-2 .wpr-mgzn-grid-item:nth-child(2),.wpr-mgzn-grid-2-1-2 .wpr-mgzn-grid-item:nth-child(2){-ms-grid-row-span:2;grid-row-end:3;-ms-grid-row:1;grid-row-start:1}.wpr-mgzn-grid-1vh-3h .wpr-mgzn-grid-item:nth-child(2),.wpr-mgzn-grid-1vh-3h .wpr-mgzn-grid-item:nth-child(3),.wpr-mgzn-grid-1vh-3h .wpr-mgzn-grid-item:nth-child(4){-ms-grid-column:2;grid-column-start:2}.wpr-mgzn-grid-1-1-2 .wpr-mgzn-grid-item:first-child,.wpr-mgzn-grid-1-2 .wpr-mgzn-grid-item:first-child,.wpr-mgzn-grid-1-3 .wpr-mgzn-grid-item:first-child,.wpr-mgzn-grid-1-4 .wpr-mgzn-grid-item:first-child{-ms-grid-column:1;grid-column-start:1;-ms-grid-row:1;grid-row-start:1;-ms-grid-row-span:2;grid-row-end:3}.wpr-mgzn-grid-2-1-2 .wpr-mgzn-grid-item:nth-child(2){-ms-grid-column:2;grid-column-start:2}.wpr-mgzn-grid-1-3 .wpr-mgzn-grid-item:nth-child(2){-ms-grid-column:2;grid-column-start:2;-ms-grid-column-span:2;grid-column-end:4}.wpr-mgzn-grid-1-1-3 .wpr-mgzn-grid-item:first-child,.wpr-mgzn-grid-1-1-3 .wpr-mgzn-grid-item:nth-child(2),.wpr-mgzn-grid-2-3 .wpr-mgzn-grid-item:first-child,.wpr-mgzn-grid-2-3 .wpr-mgzn-grid-item:nth-child(2){-ms-grid-row:1;grid-row-start:1;-ms-grid-row-span:1;grid-row-end:2}.wpr-mgzn-grid-2-3 .wpr-mgzn-grid-item:first-child{-ms-grid-column:1;grid-column-start:1;-ms-grid-column-span:3;grid-column-end:4}.wpr-mgzn-grid-2-3 .wpr-mgzn-grid-item:nth-child(2){-ms-grid-column:4;grid-column-start:4;-ms-grid-column-span:3;grid-column-end:7}.wpr-mgzn-grid-1-1-3 .wpr-mgzn-grid-item:first-child{-ms-grid-column:1;grid-column-start:1;-ms-grid-column-span:4;grid-column-end:5}.wpr-mgzn-grid-1-1-3 .wpr-mgzn-grid-item:nth-child(2),.wpr-mgzn-grid-1-1-3 .wpr-mgzn-grid-item:nth-child(5),.wpr-mgzn-grid-2-3 .wpr-mgzn-grid-item:nth-child(5){-ms-grid-column:5;grid-column-start:5;-ms-grid-column-span:2;grid-column-end:7}.wpr-mgzn-grid-1-1-3 .wpr-mgzn-grid-item:nth-child(3),.wpr-mgzn-grid-1-1-3 .wpr-mgzn-grid-item:nth-child(4),.wpr-mgzn-grid-1-1-3 .wpr-mgzn-grid-item:nth-child(5),.wpr-mgzn-grid-2-3 .wpr-mgzn-grid-item:nth-child(3),.wpr-mgzn-grid-2-3 .wpr-mgzn-grid-item:nth-child(4),.wpr-mgzn-grid-2-3 .wpr-mgzn-grid-item:nth-child(5){-ms-grid-row:2;grid-row-start:2;-ms-grid-row-span:1;grid-row-end:3}.wpr-mgzn-grid-1-1-3 .wpr-mgzn-grid-item:nth-child(3),.wpr-mgzn-grid-2-3 .wpr-mgzn-grid-item:nth-child(3){-ms-grid-column:1;grid-column-start:1;-ms-grid-column-span:2;grid-column-end:3}.wpr-mgzn-grid-1-1-3 .wpr-mgzn-grid-item:nth-child(4),.wpr-mgzn-grid-2-3 .wpr-mgzn-grid-item:nth-child(4){-ms-grid-column:3;grid-column-start:3;-ms-grid-column-span:2;grid-column-end:5}.wpr-cart-wrapper .form-row.coupon-col .coupon-col-end,.wpr-magazine-grid .wpr-grid-image-wrap,.wpr-magazine-grid .wpr-grid-item-inner,.wpr-magazine-grid .wpr-grid-media-wrap{height:100%}.wpr-sharing-buttons .wpr-sharing-icon{overflow:hidden;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;color:#fff!important;transition-propery:opacity,border-color;transition-timing-function:linear}.wpr-sharing-buttons .wpr-sharing-icon i{display:block;text-align:center}.wpr-sharing-buttons.wpr-sharing-col-1 .wpr-sharing-icon{width:100%;margin-right:0!important}.wpr-sharing-buttons .wpr-sharing-icon i,.wpr-sharing-buttons .wpr-sharing-icon span{transition-propery:color,background-color;-webkit-transition-timing-function:linear;-o-transition-timing-function:linear;transition-timing-function:linear}.wpr-sharing-official .wpr-sharing-icon:hover{opacity:.85}.wpr-sharing-official .wpr-sharing-facebook-f i,.wpr-sharing-official .wpr-sharing-facebook-f span{background-color:#3b5998}.wpr-sharing-official .wpr-sharing-twitter i,.wpr-sharing-official .wpr-sharing-twitter span{background-color:#1da1f2}.wpr-sharing-official .wpr-sharing-linkedin-in i,.wpr-sharing-official .wpr-sharing-linkedin-in span{background-color:#0077b5}.wpr-sharing-official .wpr-sharing-pinterest-p i,.wpr-sharing-official .wpr-sharing-pinterest-p span{background-color:#bd081c}.wpr-sharing-official .wpr-sharing-reddit i,.wpr-sharing-official .wpr-sharing-reddit span{background-color:#ff4500}.wpr-sharing-official .wpr-sharing-tumblr i,.wpr-sharing-official .wpr-sharing-tumblr span{background-color:#35465c}.wpr-sharing-official .wpr-sharing-digg i,.wpr-sharing-official .wpr-sharing-digg span{background-color:#005be2}.wpr-sharing-official .wpr-sharing-xing i,.wpr-sharing-official .wpr-sharing-xing span{background-color:#026466}.wpr-sharing-official .wpr-sharing-stumbleupon i,.wpr-sharing-official .wpr-sharing-stumbleupon span{background-color:#eb4924}.wpr-sharing-official .wpr-sharing-vk i,.wpr-sharing-official .wpr-sharing-vk span{background-color:#45668e}.wpr-sharing-official .wpr-sharing-odnoklassniki i,.wpr-sharing-official .wpr-sharing-odnoklassniki span{background-color:#f4731c}.wpr-sharing-official .wpr-sharing-get-pocket i,.wpr-sharing-official .wpr-sharing-get-pocket span{background-color:#ef3f56}.wpr-sharing-official .wpr-sharing-skype i,.wpr-sharing-official .wpr-sharing-skype span{background-color:#00aff0}.wpr-sharing-official .wpr-sharing-whatsapp i,.wpr-sharing-official .wpr-sharing-whatsapp span{background-color:#25d366}.wpr-sharing-official .wpr-sharing-telegram i,.wpr-sharing-official .wpr-sharing-telegram span{background-color:#2ca5e0}.wpr-sharing-official .wpr-sharing-delicious i,.wpr-sharing-official .wpr-sharing-delicious span{background-color:#39f}.wpr-sharing-official .wpr-sharing-envelope i,.wpr-sharing-official .wpr-sharing-envelope span{background-color:#c13b2c}.wpr-sharing-official .wpr-sharing-print i,.wpr-sharing-official .wpr-sharing-print span{background-color:#96c859}.wpr-sharing-official .wpr-sharing-facebook-f{border-color:#3b5998}.wpr-sharing-official .wpr-sharing-twitter{border-color:#1da1f2}.wpr-sharing-official .wpr-sharing-linkedin-in{border-color:#0077b5}.wpr-sharing-official .wpr-sharing-pinterest-p{border-color:#bd081c}.wpr-sharing-official .wpr-sharing-reddit{border-color:#ff4500}.wpr-sharing-official .wpr-sharing-tumblr{border-color:#35465c}.wpr-sharing-official .wpr-sharing-digg{border-color:#005be2}.wpr-sharing-official .wpr-sharing-xing{border-color:#026466}.wpr-sharing-official .wpr-sharing-stumbleupon{border-color:#eb4924}.wpr-sharing-official .wpr-sharing-vk{border-color:#45668e}.wpr-sharing-official .wpr-sharing-odnoklassniki{border-color:#f4731c}.wpr-sharing-official .wpr-sharing-get-pocket{border-color:#ef3f56}.wpr-sharing-official .wpr-sharing-skype{border-color:#00aff0}.wpr-sharing-official .wpr-sharing-whatsapp{border-color:#25d366}.wpr-sharing-official .wpr-sharing-telegram{border-color:#2ca5e0}.wpr-sharing-official .wpr-sharing-delicious{border-color:#39f}.wpr-sharing-official .wpr-sharing-envelope{border-color:#c13b2c}.wpr-sharing-official .wpr-sharing-print{border-color:#96c859}.wpr-sharing-official.wpr-sharing-icon-tr .wpr-sharing-facebook-f i,.wpr-sharing-official.wpr-sharing-label-tr .wpr-sharing-facebook-f span{color:#3b5998;background-color:transparent}.wpr-sharing-official.wpr-sharing-icon-tr .wpr-sharing-twitter i,.wpr-sharing-official.wpr-sharing-label-tr .wpr-sharing-twitter span{color:#1da1f2;background-color:transparent}.wpr-sharing-official.wpr-sharing-icon-tr .wpr-sharing-linkedin-in i,.wpr-sharing-official.wpr-sharing-label-tr .wpr-sharing-linkedin-in span{color:#0077b5;background-color:transparent}.wpr-sharing-official.wpr-sharing-icon-tr .wpr-sharing-pinterest-p i,.wpr-sharing-official.wpr-sharing-label-tr .wpr-sharing-pinterest-p span{color:#bd081c;background-color:transparent}.wpr-sharing-official.wpr-sharing-icon-tr .wpr-sharing-reddit i,.wpr-sharing-official.wpr-sharing-label-tr .wpr-sharing-reddit span{color:#ff4500;background-color:transparent}.wpr-sharing-official.wpr-sharing-icon-tr .wpr-sharing-tumblr i,.wpr-sharing-official.wpr-sharing-label-tr .wpr-sharing-tumblr span{color:#35465c;background-color:transparent}.wpr-sharing-official.wpr-sharing-icon-tr .wpr-sharing-digg i,.wpr-sharing-official.wpr-sharing-label-tr .wpr-sharing-digg span{color:#005be2;background-color:transparent}.wpr-sharing-official.wpr-sharing-icon-tr .wpr-sharing-xing i,.wpr-sharing-official.wpr-sharing-label-tr .wpr-sharing-xing span{color:#026466;background-color:transparent}.wpr-sharing-official.wpr-sharing-icon-tr .wpr-sharing-stumbleupon i,.wpr-sharing-official.wpr-sharing-label-tr .wpr-sharing-stumbleupon span{color:#eb4924;background-color:transparent}.wpr-sharing-official.wpr-sharing-icon-tr .wpr-sharing-vk i,.wpr-sharing-official.wpr-sharing-label-tr .wpr-sharing-vk span{color:#45668e;background-color:transparent}.wpr-sharing-official.wpr-sharing-icon-tr .wpr-sharing-odnoklassniki i,.wpr-sharing-official.wpr-sharing-label-tr .wpr-sharing-odnoklassniki span{color:#f4731c;background-color:transparent}.wpr-sharing-official.wpr-sharing-icon-tr .wpr-sharing-get-pocket i,.wpr-sharing-official.wpr-sharing-label-tr .wpr-sharing-get-pocket span{color:#ef3f56;background-color:transparent}.wpr-sharing-official.wpr-sharing-icon-tr .wpr-sharing-skype i,.wpr-sharing-official.wpr-sharing-label-tr .wpr-sharing-skype span{color:#00aff0;background-color:transparent}.wpr-sharing-official.wpr-sharing-icon-tr .wpr-sharing-whatsapp i,.wpr-sharing-official.wpr-sharing-label-tr .wpr-sharing-whatsapp span{color:#25d366;background-color:transparent}.wpr-sharing-official.wpr-sharing-icon-tr .wpr-sharing-telegram i,.wpr-sharing-official.wpr-sharing-label-tr .wpr-sharing-telegram span{color:#2ca5e0;background-color:transparent}.wpr-sharing-official.wpr-sharing-icon-tr .wpr-sharing-delicious i,.wpr-sharing-official.wpr-sharing-label-tr .wpr-sharing-delicious span{color:#39f;background-color:transparent}.wpr-sharing-official.wpr-sharing-icon-tr .wpr-sharing-envelope i,.wpr-sharing-official.wpr-sharing-label-tr .wpr-sharing-envelope span{color:#c13b2c;background-color:transparent}.wpr-sharing-official.wpr-sharing-icon-tr .wpr-sharing-print i,.wpr-sharing-official.wpr-sharing-label-tr .wpr-sharing-print span{color:#96c859;background-color:transparent}.wpr-countdown-wrap{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;margin:0 auto}.wpr-countdown-item{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-ms-flex-preferred-size:0;flex-basis:0;overflow:hidden;color:#fff;text-align:center}.wpr-countdown-separator,.wpr-product-qty-align-center.wpr-buttons-layout-column .woocommerce-variation-add-to-cart .wpr-quantity-wrapper{-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center}.elementor-editor-active [data-elementor-type=wpr-popup] .elementor-section-wrap:not(:empty)+#elementor-add-new-section,.elementor-editor-active [data-elementor-type=wpr-popup]:not(.elementor-edit-mode),.elementor-editor-active [data-elementor-type=wpr-popups] .elementor-section-wrap:not(:empty)+#elementor-add-new-section,.elementor-editor-active [data-elementor-type=wpr-popups]:not(.elementor-edit-mode),.slick-arrow.slick-hidden,.slick-slide.slick-loading img,.wpr-ba-labels-none .wpr-ba-label,.wpr-business-hours-item:last-of-type:after,.wpr-countdown-message+div,.wpr-countdown-wrap+div:not(.wpr-countdown-message),.wpr-divider-align-left .wpr-divider-border-left,.wpr-divider-align-right .wpr-divider-border-right,.wpr-mailchimp-error-message,.wpr-mailchimp-message,.wpr-mailchimp-success-message,.wpr-price-list-position-center .wpr-price-list-separator,.wpr-pricing-table section:last-of-type:after,.wpr-slider-video-icon-size-none .wpr-slider-video-btn,.wpr-testimonial-meta-position-extra .wpr-testimonial-content-inner:before,body:not(.elementor-editor-active) .wpr-template-popup{display:none}.wpr-ba-divider,.wpr-ba-label{display:-webkit-box;display:-ms-flexbox}.elementor-widget-wpr-countdown .wpr-countdown-number{font-size:70px}.elementor-widget-wpr-countdown .wpr-countdown-label{font-size:19px;line-height:45px}.wpr-google-map .gm-style-iw-c>button{top:0!important;right:0!important}.wpr-google-map .gm-style-iw-c .wpr-gm-iwindow h3{margin-bottom:7px}.wpr-google-map .gm-style-iw-d{overflow:hidden!important}.wpr-google-map .gm-style img{max-width:none!important}.wpr-forms-container .wpcf7-form .wpcf7-form-control-wrap{display:block!important}.elementor-widget-wpr-product-tabs #reviews #comments ol.commentlist li .comment-text .description p,.woocommerce .elementor-widget-wpr-product-tabs table.shop_attributes,.wpr-cart-section-table-wrap table.shop_table,.wpr-forms-container .caldera-grid .help-block,.wpr-forms-container .wpcf7 p,.wpr-price-list-item:last-child,.wpr-product-additional-information table.shop_attributes,.wpr-product-stock p{margin-bottom:0}.wpr-forms-container .wpcf7-form .ajax-loader{display:block;visibility:hidden;height:0;overflow:hidden;clear:both}.wpr-forms-container .caldera-grid select.form-control,.wpr-forms-container .nf-field-container select,.wpr-forms-container .wpcf7-date,.wpr-forms-container .wpcf7-number,.wpr-forms-container .wpcf7-select,.wpr-forms-container select.wpforms-field-medium{padding:7px 10px!important}.wpr-forms-container .wpcf7-date{width:auto!important}.wpr-forms-container .wpcf7-number{width:100px!important}.wpr-forms-container .wpcf7-form-control.wpcf7-acceptance .wpcf7-list-item,.wpr-forms-container .wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item,.wpr-forms-container .wpcf7-form-control.wpcf7-radio .wpcf7-list-item{margin-left:0;margin-right:10px}.wpr-forms-container .wpcf7-response-output{clear:both;margin:0}.wpr-forms-container .intl-tel-input.allow-dropdown,.wpr-forms-container .wpforms-field:not(.wpforms-field-address) .wpforms-field-medium{display:inline-block!important;max-width:100%!important}.wpr-forms-container .wpforms-field-address .wpforms-field-medium{max-width:100%!important}.wpr-forms-container .intl-tel-input.allow-dropdown input.wpforms-field-medium,.wpr-forms-container .wpforms-field-address div.wpforms-field-medium{width:100%!important;max-width:100%!important}.wpr-forms-container .caldera-grid .alert-success,.wpr-forms-container .nf-response-msg,.wpr-forms-container .wpcf7-mail-sent-ok,.wpr-forms-container .wpforms-confirmation-container-full{padding:10px 15px;border:2px solid}.wpr-forms-container .wpforms-smart-phone-field{text-indent:0!important}.wpr-forms-container select.ninja-forms-field{line-height:1!important}.wpr-forms-container .nf-form-wrap .checkbox-wrap label{display:inline-block!important}.wpr-forms-submit-center .caldera-grid .btn-default:not(a),.wpr-forms-submit-center .submit-wrap .ninja-forms-field,.wpr-forms-submit-center .wpcf7-submit,.wpr-forms-submit-center .wpforms-page-next,.wpr-forms-submit-center .wpforms-page-previous,.wpr-forms-submit-center .wpforms-submit{display:block!important;margin-left:auto!important;margin-right:auto!important}.wpr-forms-submit-left .caldera-grid .btn-default:not(a),.wpr-forms-submit-left .submit-wrap .ninja-forms-field,.wpr-forms-submit-left .wpcf7-submit,.wpr-forms-submit-left .wpforms-page-next,.wpr-forms-submit-left .wpforms-page-previous,.wpr-forms-submit-left .wpforms-submit{float:left!important}.wpr-forms-submit-left .caldera-grid .btn-default:not(a),.wpr-forms-submit-right .submit-wrap .ninja-forms-field,.wpr-forms-submit-right .wpcf7-submit,.wpr-forms-submit-right .wpforms-page-next,.wpr-forms-submit-right .wpforms-page-previous,.wpr-forms-submit-right .wpforms-submit{float:right!important}.wpr-forms-submit-justify .caldera-grid .btn-default:not(a),.wpr-forms-submit-justify .submit-wrap .ninja-forms-field,.wpr-forms-submit-justify .wpcf7-submit,.wpr-forms-submit-justify .wpforms-page-next,.wpr-forms-submit-justify .wpforms-page-previous,.wpr-forms-submit-justify .wpforms-submit{display:block!important;width:100%!important;text-align:center!important}.wpr-custom-chk-radio .wpcf7-acceptance .wpcf7-list-item-label,.wpr-custom-chk-radio .wpcf7-checkbox .wpcf7-list-item-label,.wpr-custom-chk-radio .wpcf7-radio .wpcf7-list-item-label,.wpr-custom-chk-radio .wpforms-field-checkbox input+label,.wpr-custom-chk-radio .wpforms-field-gdpr-checkbox input+label,.wpr-custom-chk-radio .wpforms-field-radio input+label,.wpr-custom-chk-radio .wpforms-field-radio input+span,.wpr-forms-container .checkbox-wrap label,.wpr-forms-container .listcheckbox-wrap label,.wpr-forms-container .listradio-wrap label{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.wpr-custom-chk-radio .wpcf7-acceptance .wpcf7-list-item-label:before,.wpr-custom-chk-radio .wpcf7-checkbox .wpcf7-list-item-label:before,.wpr-custom-chk-radio .wpcf7-radio .wpcf7-list-item-label:before,.wpr-custom-chk-radio .wpforms-field-checkbox input+label:before,.wpr-custom-chk-radio .wpforms-field-gdpr-checkbox input+label:before,.wpr-custom-chk-radio .wpforms-field-radio input+label:before,.wpr-custom-chk-radio .wpforms-field-radio input:not(.wpforms-screen-reader-element)+span:before{content:"\2714";display:inline-block;position:relative;top:-1px;text-align:center;border:1px solid;margin-right:5px;color:transparent}.wpr-forms-align-right .wpforms-field-checkbox ul li input:first-child,.wpr-forms-align-right .wpforms-field-gdpr-checkbox input:first-child,.wpr-forms-align-right .wpforms-field-radio ul li input:first-child,.wpr-forms-align-right .wpforms-image-choices label input:first-of-type{float:right;margin-right:0!important;margin-left:10px!important}.wpr-forms-align-right .wpr-forms-container,.wpr-forms-align-right .wpr-forms-container .wpcf7-form-control{direction:rtl}.wpr-forms-align-right .nf-error.field-wrap .nf-field-element:after{right:auto!important;left:1px!important}.wpr-forms-align-right .wpr-custom-chk-radio .wpcf7-acceptance .wpcf7-list-item-label:before,.wpr-forms-align-right .wpr-custom-chk-radio .wpcf7-checkbox .wpcf7-list-item-label:before,.wpr-forms-align-right .wpr-custom-chk-radio .wpcf7-radio .wpcf7-list-item-label:before,.wpr-forms-align-right .wpr-custom-chk-radio .wpforms-field-checkbox input+label:before,.wpr-forms-align-right .wpr-custom-chk-radio .wpforms-field-gdpr-checkbox input+label:before,.wpr-forms-align-right .wpr-custom-chk-radio .wpforms-field-radio input+label:before,.wpr-forms-align-right .wpr-custom-chk-radio .wpforms-field-radio input:not(.wpforms-screen-reader-element)+span:before{margin-right:0;margin-left:5px}.wpr-forms-align-right .wpr-forms-container .intl-tel-input .flag-container{left:auto!important;right:0!important}.wpr-forms-align-right .wpr-forms-container .caldera-grid .checkbox label,.wpr-forms-align-right .wpr-forms-container .caldera-grid .checkbox-inline label,.wpr-forms-align-right .wpr-forms-container .caldera-grid .radio label{padding-left:0!important;padding-right:20px}.wpr-forms-align-right .wpr-forms-container .caldera-grid .checkbox input,.wpr-forms-align-right .wpr-forms-container .caldera-grid .radio input{margin-right:-20px!important;margin-left:0!important}.wpr-forms-align-right .wpr-forms-container .caldera-grid .cf-credit-card{background-position:99% center!important}.wpr-both-sided-timeline .wpr-right-aligned .wpr-extra-label .wpr-label,.wpr-both-sided-timeline .wpr-right-aligned .wpr-extra-label .wpr-sub-label,.wpr-forms-align-right .wpr-forms-container .caldera-grid .live-gravatar{text-align:right!important}.wpr-both-sided-timeline .wpr-left-aligned .wpr-extra-label .wpr-label,.wpr-both-sided-timeline .wpr-left-aligned .wpr-extra-label .wpr-sub-label,.wpr-forms-align-left .wpr-forms-container .caldera-grid .live-gravatar{text-align:left!important}.wpr-forms-container .nf-form-content{padding:0;max-width:none}.wpr-ba-vertical .wpr-ba-divider-icons,.wpr-cart-vertical .wpr-cart-wrapper,.wpr-forms-container .nf-form-content .label-above .field-wrap,.wpr-mailchimp-layout-vr .wpr-mailchimp-fields,.wpr-page-list-vertical .wpr-page-list,.wpr-price-list-position-center .wpr-price-list-heading,.wpr-price-list-position-center .wpr-price-list-item,.wpr-product-media-thumbs-vertical .wpr-product-media-wrap .flex-control-nav,.wpr-promo-box-image-position-center .wpr-promo-box,.wpr-tabs-position-above>.elementor-widget-container>.wpr-tabs,.wpr-tabs-position-left>.elementor-widget-container .wc-tabs,.wpr-tabs-position-left>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap,.wpr-tabs-position-right>.elementor-widget-container .wc-tabs,.wpr-tabs-position-right>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap,.wpr-taxonomy-list-vertical .wpr-taxonomy-list,.wpr-testimonial-meta-position-extra .wpr-testimonial-item,.wpr-testimonial-meta-position-top .wpr-testimonial-item,.wpr-ticker-arrow-style-vertical .wpr-ticker-slider-controls{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.wpr-cart-wrapper table.shop_table,.wpr-forms-container .field-wrap:not(.textarea-wrap):not(.submit-wrap) .ninja-forms-field{border-radius:0}.wpr-forms-container .listselect-wrap>div select.ninja-forms-field{-webkit-appearance:menulist;-moz-appearance:menulist;appearance:menulist}.wpr-forms-container .nf-form-content .list-select-wrap .nf-field-element>div,.wpr-forms-container .nf-form-content input:not([type=button]),.wpr-forms-container .nf-form-content textarea{background:0 0;border:none}.wpr-forms-container .listcheckbox-wrap ul li,.wpr-forms-container .listradio-wrap ul li{display:inline-block;margin-right:10px!important;margin-bottom:7px!important}.wpr-forms-container .listcheckbox-container .nf-field-element label:after{top:1px}.wpr-forms-container .listradio-wrap .nf-field-element label{margin-left:25px!important}.wpr-forms-container .listradio-wrap .nf-field-element label:after{top:0;left:-25px}.wpr-forms-container .listradio-wrap .nf-field-element label.nf-checked-label:before{top:4px;left:-21px}.wpr-forms-container .nf-error.field-wrap .nf-field-element:after{top:0!important;bottom:0!important;height:auto!important}.wpr-forms-container .wpforms-submit-container:after{content:" ";clear:both;display:table}.wpr-forms-container .caldera-grid .intl-tel-input input{text-indent:40px}.wpr-forms-container .caldera-grid input.cf-credit-card{text-indent:33px}.wpr-forms-container .caldera-grid .cf-credit-card{background-position:5px center!important}.swiper-slide.auto-height,.wpr-forms-container .cf2-dropzone .form-control,.wpr-horizontal-bottom,.wpr-horizontal-timeline .swiper-slide{height:auto}.wpr-forms-container .caldera-grid .form-group input,.wpr-forms-container .caldera-grid .form-group textarea,.wpr-forms-container .caldera-grid .has-error .form-control{-webkit-box-shadow:none;box-shadow:none}.wpr-forms-container .caldera-grid .alert-success{text-shadow:none}.elementor-widget-wpr-forms .nf-form-title h3,.elementor-widget-wpr-forms .wpforms-head-container .wpforms-title{font-size:28px;font-weight:800}.elementor-widget-wpr-forms .caldera-grid .form-control[type=color_picker],.elementor-widget-wpr-forms .caldera-grid .form-control[type=credit_card_cvc],.elementor-widget-wpr-forms .caldera-grid .form-control[type=email],.elementor-widget-wpr-forms .caldera-grid .form-control[type=number],.elementor-widget-wpr-forms .caldera-grid .form-control[type=phone],.elementor-widget-wpr-forms .caldera-grid .form-control[type=tel],.elementor-widget-wpr-forms .caldera-grid .form-control[type=text],.elementor-widget-wpr-forms .caldera-grid .form-control[type=url],.elementor-widget-wpr-forms .caldera-grid select.form-control,.elementor-widget-wpr-forms .caldera-grid textarea.form-control,.elementor-widget-wpr-forms .ninja-forms-field,.elementor-widget-wpr-forms .wpcf7-date,.elementor-widget-wpr-forms .wpcf7-number,.elementor-widget-wpr-forms .wpcf7-quiz,.elementor-widget-wpr-forms .wpcf7-select,.elementor-widget-wpr-forms .wpcf7-text,.elementor-widget-wpr-forms .wpcf7-textarea,.elementor-widget-wpr-forms .wpforms-form input[type=date],.elementor-widget-wpr-forms .wpforms-form input[type=datetime-local],.elementor-widget-wpr-forms .wpforms-form input[type=datetime],.elementor-widget-wpr-forms .wpforms-form input[type=email],.elementor-widget-wpr-forms .wpforms-form input[type=month],.elementor-widget-wpr-forms .wpforms-form input[type=number],.elementor-widget-wpr-forms .wpforms-form input[type=password],.elementor-widget-wpr-forms .wpforms-form input[type=range],.elementor-widget-wpr-forms .wpforms-form input[type=search],.elementor-widget-wpr-forms .wpforms-form input[type=tel],.elementor-widget-wpr-forms .wpforms-form input[type=text],.elementor-widget-wpr-forms .wpforms-form input[type=time],.elementor-widget-wpr-forms .wpforms-form input[type=url],.elementor-widget-wpr-forms .wpforms-form input[type=week],.elementor-widget-wpr-forms .wpforms-form select,.elementor-widget-wpr-forms .wpforms-form textarea{font-size:13px;letter-spacing:.2px}.elementor-widget-wpr-forms .caldera-forms-summary-field ul li,.elementor-widget-wpr-forms .caldera-grid .caldera-forms-gdpr-field-label,.elementor-widget-wpr-forms .caldera-grid .checkbox label,.elementor-widget-wpr-forms .caldera-grid .control-label,.elementor-widget-wpr-forms .caldera-grid .radio label,.elementor-widget-wpr-forms .caldera-grid .total-line,.elementor-widget-wpr-forms .nf-field-container label,.elementor-widget-wpr-forms .wpcf7-form,.elementor-widget-wpr-forms .wpforms-captcha-equation,.elementor-widget-wpr-forms .wpforms-captcha-question,.elementor-widget-wpr-forms .wpforms-field-label,.elementor-widget-wpr-forms .wpforms-field-label-inline,.elementor-widget-wpr-forms .wpforms-image-choices-label,.elementor-widget-wpr-forms .wpforms-payment-total,.elementor-widget-wpr-forms .wpr-forms-container .nf-response-msg,.elementor-widget-wpr-forms .wpr-forms-container .wpforms-confirmation-container-full,.wpr-product-filters .wpr-product-filter-price-amount button.button{font-weight:400}.wpr-ba-image-container,.wpr-fcn-wrap,.wpr-promo-box-image{position:relative;overflow:hidden}.wpr-ba-image-container *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.wpr-ba-image-1 img,.wpr-ba-image-2 img,.wpr-parallax-ml-children img{max-width:100%;width:100%}.wpr-ba-image-2 img{position:absolute;top:0}.wpr-ba-divider{display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:absolute;top:0;left:50%;z-index:3;height:100%;cursor:pointer;-ms-touch-action:none;touch-action:none}.wpr-ba-horizontal .wpr-ba-divider-icons i:first-child{text-align:right;padding-right:10%}.wpr-ba-horizontal .wpr-ba-divider-icons i:last-child{text-align:left;padding-left:10%}.wpr-ba-vertical .wpr-ba-divider{top:50%;left:auto;width:100%;height:auto}.wpr-ba-vertical .wpr-ba-image-2 img{top:auto}.wpr-ba-horizontal .wpr-ba-divider-icons:after,.wpr-ba-horizontal .wpr-ba-divider-icons:before{content:'';display:block;position:absolute;height:100%}.wpr-ba-vertical .wpr-ba-divider-icons:after,.wpr-ba-vertical .wpr-ba-divider-icons:before{content:'';display:block;position:absolute;width:100%}.wpr-ba-label{position:absolute;display:flex;padding:15px}.wpr-template-popup,.wpr-template-popup-inner{position:fixed;height:100%;top:0;left:0;width:100%}.wpr-ba-labels-hover .wpr-ba-label{opacity:0;-webkit-transition:.1s ease-in;-o-transition:.1s ease-in;transition:.1s ease-in}.wpr-slider-arrow,.wpr-testimonial-arrow{-webkit-transition:.5s;-o-transition:.5s}.wpr-ba-horizontal .wpr-ba-label{top:0;height:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.wpr-ba-vertical .wpr-ba-label{left:0;width:100%}.elementor-widget-wpr-before-after .wpr-ba-label>div{background-color:#605be5;font-size:14px}.wpr-template-popup{z-index:99999999}.wpr-template-popup-inner{display:-webkit-box;display:-ms-flexbox;display:flex}.wpr-popup-container-inner{display:-webkit-box;display:-ms-flexbox;display:flex;overflow:hidden;position:relative;background:#fff}.wpr-popup-container-inner>div{width:100%;-ms-flex-negative:0;flex-shrink:0}.wpr-popup-image-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#fff}.wpr-popup-overlay{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;background:rgba(0,0,0,.7)}.wpr-popup-close-btn{display:-webkit-box;display:-ms-flexbox;display:flex;position:absolute;top:0;right:0;z-index:99;text-align:center;cursor:pointer}.wpr-popup-notification .wpr-template-popup-inner,.wpr-popup-notification.wpr-template-popup{height:auto!important}.wpr-popup-container-inner.ps-container.ps-active-y>.ps-scrollbar-y-rail,.wpr-popup-container-inner.ps.ps--active-y>.ps__rail-y{display:block;background-color:transparent}.wpr-popup-container-inner.ps-container>.ps-scrollbar-y-rail,.wpr-popup-container-inner.ps>.ps__rail-y{display:none;position:absolute;right:3px;width:3px}.wpr-popup-container-inner.ps-container>.ps-scrollbar-y-rail>.ps-scrollbar-y,.wpr-popup-container-inner.ps>.ps__rail-y>.ps__thumb-y{position:absolute;cursor:pointer;right:0;width:3px}.wpr-popup-notification .wpr-popup-container .slideInDown{-webkit-animation-timing-function:linear;animation-timing-function:linear}.wpr-popup-notification .wpr-popup-container{width:100%!important;-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.wpr-popup-trigger-button{display:inline-block;font-size:14px;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;cursor:pointer}.wpr-popup-container .elementor-editor-section-settings{-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);border-radius:0 0 5px 5px}.wpr-popup-container .elementor-editor-section-settings .elementor-editor-element-setting:first-child{border-radius:0 0 0 5px}.wpr-popup-container .elementor-editor-section-settings .elementor-editor-element-setting:first-child:before{top:0;border-width:0 12px 22px 0}.wpr-popup-container .elementor-editor-section-settings .elementor-editor-element-setting:last-child{border-radius:0 0 5px}.wpr-popup-container .elementor-editor-section-settings .elementor-editor-element-setting:last-child:after{top:0;border-width:0 0 22px 12px}.elementor .elementor-widget-wpr-popup-trigger .wpr-popup-trigger-button{display:inline-block;font-size:14px;font-weight:500;cursor:pointer}.wpr-template-edit-btn{position:absolute;top:0;right:40px;display:none;line-height:1;padding:8px 13px;cursor:pointer;background:#333;color:#fff;border:1px solid #000}.elementor-editor-active .wpr-template-edit-btn{display:inline-block;opacity:0;visibility:hidden}.wpr-mailchimp-layout-hr .wpr-mailchimp-fields{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.wpr-mailchimp-subscribe-btn{width:100%;padding:0!important;outline:0!important;cursor:pointer}.elementor-widget-wpr-mailchimp .wpr-mailchimp-header h3{font-size:28px;font-weight:800;margin-top:0}.elementor-widget-wpr-dual-button .wpr-button-middle-badge,.elementor-widget-wpr-logo .wpr-logo-description,.elementor-widget-wpr-mailchimp .wpr-mailchimp-fields label,.wpr-member-job{font-size:13px}.wpr-advanced-slider,.wpr-slider-item{position:relative;height:500px;overflow:hidden}.wpr-slider-content{position:relative;max-width:750px;width:100%;padding:10px 50px 50px;z-index:90}.wpr-slider-item-bg{position:absolute;top:0;left:0;width:100%;height:100%;background-repeat:no-repeat;background-position:center}.wpr-slider-title *{color:#fff;font-size:40px;font-weight:600;line-height:1.5em;padding:5px 10px;margin:0 0 2px}.wpr-slider-sub-title h3{font-size:16px;padding:5px 10px;margin:0 0 10px}.wpr-slider-description p{padding:5px 10px;margin:0 0 30px}.wpr-slider-primary-btn,.wpr-slider-secondary-btn{padding:12px 25px;margin:0 10px;border:1px solid #fff;border-radius:2px}.wpr-slider-btns svg,.wpr-slider-scroll-btn svg{vertical-align:bottom}@keyframes ken-burns-in{0%{-webkit-transform:scale(1);transform:scale(1)}100%{-webkit-transform:scale(1.3);transform:scale(1.3)}}@-webkit-keyframes ken-burns-in{0%{-webkit-transform:scale(1);transform:scale(1)}100%{-webkit-transform:scale(1.3);transform:scale(1.3)}}@keyframes ken-burns-out{0%{-webkit-transform:scale(1.3);transform:scale(1.3)}100%{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes ken-burns-out{0%{-webkit-transform:scale(1.3);transform:scale(1.3)}100%{-webkit-transform:scale(1);transform:scale(1)}}.wpr-advanced-slider .slick-slide.slick-active .wpr-slider-item-bg{-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-animation-duration:10s;animation-duration:10s}.wpr-advanced-slider .slick-slide.slick-active .wpr-slider-item-bg.wpr-ken-burns-in{-webkit-animation-name:ken-burns-in;animation-name:ken-burns-in;-webkit-transform:scale(1.3);-ms-transform:scale(1.3);transform:scale(1.3)}.wpr-advanced-slider .slick-slide.slick-active .wpr-slider-item-bg.wpr-ken-burns-out{-webkit-animation-name:ken-burns-out;animation-name:ken-burns-out;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.wpr-ken-burns-out{-webkit-transform:scale(1.3);-ms-transform:scale(1.3);transform:scale(1.3)}.wpr-slider-arrow{position:absolute;z-index:120;top:50%;-webkit-box-sizing:content-box;box-sizing:content-box;text-align:center;transition:.5s;cursor:pointer;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.wpr-slider-arrow i,.wpr-testimonial-arrow i{display:block;line-height:inherit}.wpr-slider-dots .slick-dots{position:static!important}.wpr-slider-scroll-btn{position:absolute;bottom:45px;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);display:inline-block;-webkit-transition-duration:.2s;-o-transition-duration:.2s;transition-duration:.2s;line-height:1;overflow:hidden}.slick-list,.slick-slider,.slick-track{display:block;position:relative}@-webkit-keyframes wpr-scroll-animation{0%{opacity:0;-webkit-transform:translate3d(0,-60%,0);transform:translate3d(0,-60%,0)}50%{opacity:1;-webkit-transform:translate3d(0,20%,0);transform:translate3d(0,20%,0)}100%{opacity:0;-webkit-transform:translate3d(0,20%,0);transform:translate3d(0,20%,0)}}@keyframes wpr-scroll-animation{0%{opacity:0;-webkit-transform:translate3d(0,-60%,0);transform:translate3d(0,-60%,0)}50%{opacity:1;-webkit-transform:translate3d(0,20%,0);transform:translate3d(0,20%,0)}100%{opacity:0;-webkit-transform:translate3d(0,20%,0);transform:translate3d(0,20%,0)}}.wpr-scroll-animation{-webkit-animation-name:wpr-scroll-animation;animation-name:wpr-scroll-animation;-webkit-animation-duration:1.3s;animation-duration:1.3s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.wpr-slider-video{position:absolute;width:100%;height:100%;top:0;left:0;z-index:90}.wpr-slider-video-btn{margin:0 auto;text-align:center;border-style:solid;border-radius:50%;cursor:pointer}.wpr-slider-video-icon-size-small .wpr-slider-video-btn{height:50px;width:50px;font-size:16px;padding:16px 0 0 4px;border-width:1px}.wpr-slider-video-icon-size-medium .wpr-slider-video-btn{height:80px;width:80px;font-size:26px;padding:25px 0 0 5px;border-width:2px}.wpr-slider-video-icon-size-large .wpr-slider-video-btn{height:100px;width:100px;font-size:30px;padding:33px 0 0 7px;border-width:2px}.wpr-slider-item-overlay{position:absolute;left:0;top:0;width:100%;height:100%;z-index:80}.slick-slider{-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-khtml-user-select:none;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-tap-highlight-color:transparent}.wpr-testimonial-arrow,.wpr-testimonial-social{-webkit-box-sizing:content-box;text-align:center}.slick-list{overflow:hidden;margin:0;padding:0}.slick-list.dragging{cursor:pointer;cursor:hand}.slick-slider .slick-list,.slick-slider .slick-track{-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.slick-track{top:0;left:0;margin-left:auto;margin-right:auto}.slick-track:after,.slick-track:before{display:table;content:''}.slick-loading .slick-slide,.slick-loading .slick-track,.wpr-product-filter-price input{visibility:hidden}.slick-slide{display:none;float:left;height:100%;min-height:1px}.slick-vertical .slick-slide{display:block;height:auto;border:1px solid transparent}.wpr-pricing-table-heading-left .wpr-pricing-table-headding-inner>div,.wpr-pricing-table-heading-right .wpr-pricing-table-headding-inner>div,.wpr-testimonial-image-position-left .wpr-testimonial-meta-inner>div,.wpr-testimonial-image-position-right .wpr-testimonial-meta-inner>div{display:inline-block;vertical-align:top}.elementor-widget-wpr-pricing-table .wpr-pricing-table-title-wrap .wpr-pricing-table-title{font-size:26px;font-weight:600}.wpr-pricing-table-price{text-align:center;font-size:65px;font-weight:500;line-height:.9}.wpr-pricing-table-price-inner{-ms-box-orient:horizontal;display:-webkit-box;display:-ms-flexbox;display:-moz-flex;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor-widget-wpr-product-tabs .form-submit #submit,.wpr-prbar-counter-value-suffix,.wpr-pricing-table-currency,.wpr-pricing-table-old-price,.wpr-pricing-table-preiod,.wpr-pricing-table-sub-price,.wpr-story-info{line-height:1}.wpr-pricing-table-preiod{font-size:17px;line-height:1.5;-webkit-align-self:flex-end;-ms-flex-item-align:end;align-self:flex-end}.wpr-pricing-table-old-price{text-decoration:line-through!important}.wpr-price-list-old-price,.wpr-pricing-table-feature-inner span.wpr-pricing-table-ftext-line-yes{text-decoration:line-through}.wpr-pricing-table-feature,.wpr-testimonial-content{position:relative;font-size:15px}.wpr-pricing-table-feature-inner{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:0 auto}.wpr-pricing-table-feature:after{content:"";display:block;width:100%;margin:0 auto}.wpr-pricing-table-feature-icon{margin-right:8px}.wpr-pricing-table-feature-tooltip{position:absolute;top:0;left:50%;border-radius:4px;padding:6px 10px;visibility:hidden;opacity:0;font-size:15px;-webkit-transform:translate(-50%,-100%);-ms-transform:translate(-50%,-100%);transform:translate(-50%,-100%);-webkit-transition:230ms ease-in-out;-o-transition:230ms ease-in-out;transition:230ms ease-in-out;text-align:center}.wpr-pricing-table-feature:hover .wpr-pricing-table-feature-tooltip{visibility:visible;opacity:1;top:5px;-ms-transform:translate(-50%,-100%);transform:translate(-50%,-100%);-webkit-transform:translate(-50%,-100%)}.wpr-data-table-content-tooltip:before,.wpr-pricing-table-feature-tooltip:before{content:"";position:absolute;bottom:-5px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top-style:solid;border-top-width:6px;left:50%;-ms-transform:translateX(-50%);transform:translateX(-50%);-webkit-transform:translateX(-50%)!important}.wpr-pricing-table-button{text-align:center;font-size:17px}.wpr-pricing-table-btn{position:relative;overflow:hidden;display:inline-block;vertical-align:middle;cursor:pointer}.wpr-flip-box-btn span,.wpr-member-btn span,.wpr-pricing-table-btn span{position:relative;z-index:2;opacity:1!important}.wpr-flip-box-btn:after,.wpr-flip-box-btn:before,.wpr-member-btn:after,.wpr-member-btn:before,.wpr-pricing-table-btn:after,.wpr-pricing-table-btn:before{z-index:1!important}.wpr-pricing-table-badge{position:absolute;display:inline-block;text-align:center;z-index:2}.elementor-widget-wpr-pricing-table .wpr-pricing-table-badge .wpr-pricing-table-badge-inner{font-size:15px;font-weight:900}.wpr-pricing-table-badge-left,.wpr-promo-box-badge-left{left:0;right:auto}.wpr-flip-box-animation-push.wpr-flip-box-anim-direction-right .wpr-flip-box-active .wpr-flip-box-back,.wpr-flip-box-animation-slide.wpr-flip-box-anim-direction-right .wpr-flip-box-active .wpr-flip-box-back,.wpr-pricing-table-badge-right,.wpr-promo-box-badge-right{left:auto;right:0}.wpr-pricing-table-badge-corner,.wpr-promo-box-badge-corner{top:0;width:200px;height:200px;overflow:hidden}.wpr-pricing-table-badge-corner .wpr-pricing-table-badge-inner,.wpr-promo-box-badge-corner .wpr-promo-box-badge-inner{width:200%}.wpr-pricing-table-badge-corner.wpr-pricing-table-badge-right{-ms-transform:rotate(90deg);transform:rotate(90deg);-webkit-transform:rotate(90deg)}.wpr-pricing-table-badge-cyrcle .wpr-pricing-table-badge-inner,.wpr-product-filter-slide-handlers-round .wpr-product-filter-price-slider .ui-slider-handle,.wpr-promo-box-badge-cyrcle .wpr-promo-box-badge-inner{border-radius:100%}.wpr-pricing-table-badge-flag,.wpr-promo-box-badge-flag{border-right:5px}.wpr-horizontal-bottom .wpr-button-next,.wpr-pricing-table-badge-flag.wpr-pricing-table-badge-right,.wpr-promo-box-badge-flag.wpr-promo-box-badge-right{margin-right:-10px}.wpr-pricing-table-badge-flag:before,.wpr-promo-box-badge-flag:before{content:"";position:absolute;z-index:1;bottom:-5px;width:0;height:0;margin-left:-10px;border-left:10px solid transparent;border-right:10px solid transparent;border-top-style:solid;border-top-width:10px}.wpr-pricing-table-badge-flag .wpr-pricing-table-badge-inner,.wpr-promo-box-badge-flag .wpr-promo-box-badge-inner{position:relative;z-index:2;border-top-left-radius:3px;border-top-right-radius:3px}.wpr-pricing-table-badge-flag.wpr-pricing-table-badge-left:before{left:5px;-ms-transform:rotate(90deg);transform:rotate(90deg);-webkit-transform:rotate(90deg)}.wpr-pricing-table-badge-flag.wpr-pricing-table-badge-right:before{right:-5px;-ms-transform:rotate(-90deg);transform:rotate(-90deg);-webkit-transform:rotate(-90deg)}.wpr-pricing-table-badge-flag.wpr-pricing-table-badge-left .wpr-pricing-table-badge-inner,.wpr-promo-box-badge-flag.wpr-promo-box-badge-left .wpr-promo-box-badge-inner{border-bottom-right-radius:3px}.wpr-pricing-table-badge-flag.wpr-pricing-table-badge-right .wpr-pricing-table-badge-inner,.wpr-promo-box-badge-flag.wpr-promo-box-badge-right .wpr-promo-box-badge-inner{border-bottom-left-radius:3px}.wpr-pricing-table-text{font-size:13px;line-height:1.3}.wpr-pricing-table-divider{margin:0 auto;border:0}.wpr-pricing-table-animation-slide{-webkit-transition-property:margin;-o-transition-property:margin;transition-property:margin;-webkit-transition-timing-function:ease-in-out;-o-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}.wpr-pricing-table-animation-bounce{-webkit-animation-iteration-count:1;animation-iteration-count:1}.wpr-pricing-table-animation-slide:hover{margin-top:-5px}.wpr-pricing-table-animation-bounce:hover{-webkit-animation-name:bounce;animation-name:bounce}.elementor-widget-wpr-pricing-table .wpr-pricing-table-button,.elementor-widget-wpr-pricing-table .wpr-pricing-table-heading,.elementor-widget-wpr-pricing-table .wpr-pricing-table-text{background-color:#f9f9f9}.elementor-widget-wpr-pricing-table .wpr-pricing-table-btn{background-color:#2b2b2b}.wpr-logo{position:relative;display:inline-table;overflow:hidden}.wpr-logo-image,.wpr-logo-text{position:relative;display:block;width:100%;z-index:7}.wpr-logo-url{position:absolute;display:block;width:100%;height:100%;top:0;left:0;z-index:5}.elementor-widget-wpr-logo .wpr-logo-title{font-size:16px;line-height:1.5}.wpr-testimonial-carousel .slick-slider{cursor:drag}.wpr-testimonial-carousel .slick-track{display:-webkit-box!important;display:flex!important;display:-ms-flexbox!important}.wpr-testimonial-carousel .slick-slide{height:inherit!important}.wpr-testimonial-carousel-wrap .slick-list{padding-right:1px!important}.wpr-testimonial-arrow{position:absolute;z-index:120;top:52%;box-sizing:content-box;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;transition:.5s;cursor:pointer}.wpr-testimonial-prev-arrow{left:2%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.wpr-testimonial-next-arrow{right:2%;-webkit-transform:translateY(-50%) rotate(180deg);-ms-transform:translateY(-50%) rotate(180deg);transform:translateY(-50%) rotate(180deg)}.wpr-testimonial-dots li{float:left;width:auto!important;margin:0!important}.wpr-testimonial-social{display:block;float:left;width:45px;height:45px;line-height:45px;font-size:45px;box-sizing:content-box;-webkit-transition:.5s;-o-transition:.5s;transition:.5s;cursor:pointer}.wpr-member-social i,.wpr-testimonial-social i,.wpr-ticker-arrow i{display:block;width:100%;height:100%;line-height:inherit}.elementor-widget-wpr-testimonial-carousel .wpr-testimonial-content-wrap .wpr-testimonial-title{font-size:18px;font-weight:700}.wpr-testimonial-content p{position:relative;z-index:5;margin:0}.wpr-testimonial-content .wpr-testimonial-icon{position:absolute;width:100%;z-index:1}.wpr-testimonial-date,.wpr-testimonial-job{font-size:10px}.wpr-testimonial-content-inner{position:relative;background-color:#f9f9f9}.wpr-testimonial-triangle-yes .wpr-testimonial-content-inner:before{content:"";position:absolute;width:0;height:0;border-left:15px solid transparent;border-right:15px solid transparent;border-top-style:solid;border-top-width:15px}.wpr-testimonial-meta-position-bottom.wpr-testimonial-meta-align-center .wpr-testimonial-content-inner:before,.wpr-testimonial-meta-position-top.wpr-testimonial-meta-align-center .wpr-testimonial-content-inner:before{right:calc(50% - 15px)}.wpr-testimonial-meta-position-bottom.wpr-testimonial-meta-align-left .wpr-testimonial-content-inner:before,.wpr-testimonial-meta-position-top.wpr-testimonial-meta-align-left .wpr-testimonial-content-inner:before{margin-left:-15px}.wpr-testimonial-meta-position-bottom.wpr-testimonial-meta-align-right .wpr-testimonial-content-inner:before,.wpr-testimonial-meta-position-top.wpr-testimonial-meta-align-right .wpr-testimonial-content-inner:before{margin-right:-15px}.wpr-testimonial-meta-position-left .wpr-testimonial-content-inner:before,.wpr-testimonial-meta-position-right .wpr-testimonial-content-inner:before{margin-top:-7.5px}.wpr-testimonial-meta-position-top .wpr-testimonial-content-inner:before{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg);top:-15px}.wpr-testimonial-meta-position-top .wpr-testimonial-content-inner{margin-top:15px}.wpr-testimonial-meta-position-right .wpr-testimonial-content-inner:before{-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);right:-22px}.wpr-mini-cart-image,.wpr-testimonial-meta-position-right .wpr-testimonial-content-inner{margin-right:15px}.wpr-testimonial-meta-position-left .wpr-testimonial-content-inner:before{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);left:-22px}.wpr-testimonial-meta-position-left .wpr-testimonial-content-inner{margin-left:15px}.wpr-testimonial-meta-position-bottom .wpr-testimonial-content-inner{margin-bottom:15px}.wpr-testimonial-meta-position-bottom .wpr-testimonial-content-inner:before{bottom:-15px}.elementor-widget-wpr-testimonial-carousel .wpr-testimonial-meta .wpr-testimonial-name{font-size:14px;font-weight:700}.wpr-divider-image,.wpr-testimonial-logo-image{display:block;overflow:hidden}.wpr-testimonial-item{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.wpr-testimonial-meta-position-bottom .wpr-testimonial-item{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.wpr-hotspot-icon-position-left .wpr-hotspot-content,.wpr-pc-btn-icon-left .wpr-pc-content,.wpr-price-list-old-position-after .wpr-price-list-price-wrap,.wpr-price-list-position-right .wpr-price-list-item,.wpr-product-filter-price-btn-right .wpr-product-filter-price-amount,.wpr-promo-box-image-position-right .wpr-promo-box,.wpr-stt-btn-icon-right .wpr-stt-btn,.wpr-tabs-position-right>.elementor-widget-container .wc-tabs-wrapper,.wpr-tabs-position-right>.elementor-widget-container>.wpr-tabs,.wpr-testimonial-meta-position-right .wpr-testimonial-item,.wpr-ticker-arrow-position-left .wpr-content-ticker-inner,.wpr-ticker-heading-icon-position-left .wpr-ticker-heading,.wpr-ticker-heading-position-right .wpr-content-ticker{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.wpr-tabs-position-left>.elementor-widget-container>.wc-tabs-wrapper,.wpr-tabs-position-left>.elementor-widget-container>.wpr-tabs,.wpr-testimonial-meta-position-left .wpr-testimonial-item,.wpr-ticker-arrow-style-horizontal .wpr-ticker-slider-controls{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.wpr-testimonial-meta-position-bottom .wpr-testimonial-logo-image img,.wpr-testimonial-meta-position-bottom .wpr-testimonial-social-media,.wpr-testimonial-meta-position-top .wpr-testimonial-logo-image img,.wpr-testimonial-meta-position-top .wpr-testimonial-social-media{float:none!important;display:inline-block!important}@media screen and (min-width:480px){.wpr-testimonial-image-position-left .wpr-testimonial-image,.wpr-testimonial-image-position-right .wpr-testimonial-image{margin-bottom:0!important}}.wpr-data-fetch ul li,.wpr-no-results{display:-webkit-box;display:-ms-flexbox}.wpr-search-admin-notice{text-align:center;margin:10px 0 0;padding:8px}.wpr-ajax-search-pagination-center .wpr-ajax-search-pagination{text-align:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.wpr-data-fetch ul::-webkit-scrollbar{width:4px;background-color:transparent}.wpr-data-fetch ul::-webkit-scrollbar-thumb{border-left:3px solid #00f}.wpr-no-results{display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:0}.wpr-load-more-results{display:none;width:100%}.wpr-no-more-results{display:none;margin:0;text-align:center}.wpr-data-fetch{position:absolute;top:100%;left:0;width:100%;height:auto;display:none;border-style:solid;z-index:9999}.wpr-data-fetch ul{list-style-type:none;padding:0;overflow:hidden;overflow-y:auto;max-height:30vh;opacity:0}.wpr-data-fetch ul li{display:flex;padding:5px;cursor:pointer}a.wpr-ajax-img-wrap{min-width:100px!important;min-height:100px!important}.wpr-data-fetch img{height:auto;width:100%!important}.wpr-close-search{position:absolute;top:10px;right:30px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wpr-close-cart span::before,.wpr-close-search::before{font-family:"Font Awesome 5 Free";content:'\f00d';font-weight:600;cursor:pointer}.wpr-price-list-content,.wpr-search-form-input-wrap{width:100%;overflow:hidden}.wpr-search-form .wpr-search-form-input{width:100%;height:100%;font-size:14px;background-color:transparent;border-style:solid}.wpr-search-form-style-inner.wpr-search-form-position-left .wpr-search-form-input-wrap,.wpr-search-form-style-outer.wpr-search-form-position-left .wpr-search-form{-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.wpr-search-form-submit{padding:0!important;cursor:pointer;border-style:solid;-webkit-transition:.2s;-o-transition:.2s;transition:.2s}.wpr-flip-box,.wpr-member-social{-webkit-transition:.5s;-o-transition:.5s}.wpr-search-form-disable-submit-btn-yes .wpr-search-form-submit{cursor:default}.wpr-member-name{display:block;line-height:1}.elementor .elementor-widget-wpr-team-member .wpr-member-name{font-size:24px;font-weight:500}.wpr-member-description{font-size:15px;line-height:1.4}.wpr-member-media{position:relative;margin:0 auto;width:100%;overflow:hidden}.wpr-member-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(255,255,255,.9)}.wpr-member-social-media{display:-webkit-box;display:-ms-flexbox;display:flex;overflow:hidden}.wpr-member-social{display:block;width:45px;height:45px;line-height:45px;font-size:45px;-webkit-box-sizing:content-box;box-sizing:content-box;text-align:center;transition:.5s;cursor:pointer}.wpr-product-adc-align-left .cart,.wpr-product-adc-align-left .wpr-product-add-to-cart .wpr-quantity-wrapper,.wpr-product-meta-left .wpr-product-meta .product_meta,.wpr-product-rating-flex.wpr-product-rating-left .inner-block,.wpr-switcher-label-style-outer>.elementor-widget-container>.wpr-content-toggle>.wpr-switcher-container>.wpr-switcher-second,.wpr-team-member-social-media-left .wpr-member-social-media{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.wpr-button-icon-style-block .wpr-button-icon,.wpr-button-icon-style-inline-block .wpr-button-icon,.wpr-product-adc-align-center .cart,.wpr-product-adc-align-center .wpr-product-add-to-cart .wpr-quantity-wrapper,.wpr-product-meta-center .wpr-product-meta .product_meta,.wpr-product-rating-flex.wpr-product-rating-center .inner-block,.wpr-team-member-social-media-center .wpr-member-social-media{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.wpr-member-btn{position:relative;overflow:hidden;display:inline-block;vertical-align:middle;background-color:#222;cursor:pointer;font-size:14px}.wpr-member-divider:after{content:"";display:block;width:100%;margin-top:0;overflow:hidden}.wpr-team-member-divider-center .wpr-member-divider:after{margin-left:auto;margin-right:auto}.wpr-button-wrap{position:relative;display:inline-table;z-index:1;width:100%}.wpr-button,.wpr-button-a,.wpr-button-b{display:block;position:relative;width:100%;z-index:1;overflow:hidden}.elementor .elementor-widget-wpr-button .wpr-button-text,.elementor-element.elementor-widget-wpr-tabs>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab .wpr-tab-title,.elementor-element.elementor-widget-wpr-tabs>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab.wpr-tab-active .wpr-tab-title,.elementor-element.elementor-widget-wpr-tabs>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab:hover .wpr-tab-title{font-size:15px;font-weight:500}.wpr-button-icon-a-position-left .wpr-button-icon-a,.wpr-button-icon-b-position-left .wpr-button-icon-b,.wpr-button-icon-position-left .wpr-button-icon,.wpr-switcher-icon-position-left>.elementor-widget-container>.wpr-content-toggle>.wpr-switcher-container>.wpr-switcher-inner>.wpr-switcher-icon,.wpr-switcher-icon-position-left>.elementor-widget-container>.wpr-content-toggle>.wpr-switcher-container>.wpr-switcher-outer>.wpr-switcher-wrap>.wpr-switcher>.wpr-switcher-inner>.wpr-switcher-icon,.wpr-tabs-icon-position-left>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab .wpr-tab-icon,.wpr-tabs-icon-position-left>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab .wpr-tab-image{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.wpr-button-icon-a-position-left .wpr-button-text-a,.wpr-button-icon-b-position-left .wpr-button-text-b,.wpr-button-icon-position-left .wpr-button-text,.wpr-switcher-icon-position-left>.elementor-widget-container>.wpr-content-toggle>.wpr-switcher-container>.wpr-switcher-inner>.wpr-switcher-label,.wpr-switcher-icon-position-left>.elementor-widget-container>.wpr-content-toggle>.wpr-switcher-container>.wpr-switcher-outer>.wpr-switcher-wrap>.wpr-switcher>.wpr-switcher-inner>.wpr-switcher-label,.wpr-tabs-icon-position-left>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab .wpr-tab-title{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.wpr-button-tooltip,.wpr-button-tooltip-a,.wpr-button-tooltip-b{position:absolute;border-radius:4px;visibility:hidden;opacity:0;font-size:13px;line-height:1.5;-webkit-transition-property:all;-o-transition-property:all;transition-property:all;-webkit-transition-timing-function:ease-in-out;-o-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;z-index:20}.wpr-hotspot-tooltip,.wpr-ticker-title{-webkit-transition-timing-function:ease-in-out;-o-transition-timing-function:ease-in-out}.wpr-button-tooltip-a:before,.wpr-button-tooltip-b:before,.wpr-button-tooltip:before{content:"";position:absolute;width:0;height:0;border-top-style:solid;border-left:6px solid transparent;border-right:6px solid transparent;border-top-width:6px}.wpr-button-a-wrap:hover .wpr-button-tooltip-a,.wpr-button-b-wrap:hover .wpr-button-tooltip-b,.wpr-button-wrap:hover .wpr-button-tooltip,.wpr-tooltip-active .wpr-hotspot-tooltip{visibility:visible;opacity:1}.wpr-button-tooltip-a-position-top .wpr-button-tooltip-a,.wpr-button-tooltip-b-position-top .wpr-button-tooltip-b,.wpr-button-tooltip-position-top .wpr-button-tooltip{top:0;left:50%;-ms-transform:translate(-50%,-120%);transform:translate(-50%,-120%);-webkit-transform:translate(-50%,-120%);margin-top:-5px}.wpr-button-tooltip-a-position-top .wpr-button-a-wrap:hover .wpr-button-tooltip-a,.wpr-button-tooltip-b-position-top .wpr-button-b-wrap:hover .wpr-button-tooltip-b,.wpr-button-tooltip-position-top .wpr-button-wrap:hover .wpr-button-tooltip{-ms-transform:translate(-50%,-100%);transform:translate(-50%,-100%);-webkit-transform:translate(-50%,-100%)}.wpr-button-tooltip-a-position-top .wpr-button-tooltip-a:before,.wpr-button-tooltip-b-position-top .wpr-button-tooltip-b:before,.wpr-button-tooltip-position-top .wpr-button-tooltip:before{left:50%;-ms-transform:translateX(-50%);transform:translateX(-50%);-webkit-transform:translateX(-50%);bottom:-5px}.wpr-button-tooltip-a-position-bottom .wpr-button-tooltip-a,.wpr-button-tooltip-b-position-bottom .wpr-button-tooltip-b,.wpr-button-tooltip-position-bottom .wpr-button-tooltip{bottom:0;left:50%;-ms-transform:translate(-50%,120%);transform:translate(-50%,120%);-webkit-transform:translate(-50%,120%);margin-bottom:-5px}.wpr-button-tooltip-a-position-bottom .wpr-button-a-wrap:hover .wpr-button-tooltip-a,.wpr-button-tooltip-b-position-bottom .wpr-button-b-wrap:hover .wpr-button-tooltip-b,.wpr-button-tooltip-position-bottom .wpr-button-wrap:hover .wpr-button-tooltip{-ms-transform:translate(-50%,100%);transform:translate(-50%,100%);-webkit-transform:translate(-50%,100%)}.wpr-button-tooltip-a-position-bottom .wpr-button-tooltip-a:before,.wpr-button-tooltip-b-position-bottom .wpr-button-tooltip-b:before,.wpr-button-tooltip-position-bottom .wpr-button-tooltip:before{top:-5px;left:50%;-webkit-transform:translateX(-50%) rotate(180deg);-ms-transform:translateX(-50%) rotate(180deg);transform:translateX(-50%) rotate(180deg)}.wpr-button-tooltip-a-position-left .wpr-button-tooltip-a,.wpr-button-tooltip-b-position-left .wpr-button-tooltip-b,.wpr-button-tooltip-position-left .wpr-button-tooltip{top:50%;left:0;-ms-transform:translate(-120%,-50%);transform:translate(-120%,-50%);-webkit-transform:translate(-120%,-50%);margin-left:-5px}.wpr-button-tooltip-a-position-left .wpr-button-a-wrap:hover .wpr-button-tooltip-a,.wpr-button-tooltip-b-position-left .wpr-button-b-wrap:hover .wpr-button-tooltip-b,.wpr-button-tooltip-position-left .wpr-button-wrap:hover .wpr-button-tooltip{-ms-transform:translate(-100%,-50%);transform:translate(-100%,-50%);-webkit-transform:translate(-100%,-50%)}.wpr-button-tooltip-a-position-left .wpr-button-tooltip-a:before,.wpr-button-tooltip-b-position-left .wpr-button-tooltip-b:before,.wpr-button-tooltip-position-left .wpr-button-tooltip:before{right:-8px;top:50%;-webkit-transform:translateY(-50%) rotate(-90deg);-ms-transform:translateY(-50%) rotate(-90deg);transform:translateY(-50%) rotate(-90deg)}.wpr-button-tooltip-a-position-right .wpr-button-tooltip-a,.wpr-button-tooltip-b-position-right .wpr-button-tooltip-b,.wpr-button-tooltip-position-right .wpr-button-tooltip{top:50%;right:0;-ms-transform:translate(120%,-50%);transform:translate(120%,-50%);-webkit-transform:translate(120%,-50%);margin-right:-5px}.wpr-button-tooltip-a-position-right .wpr-button-a-wrap:hover .wpr-button-tooltip-a,.wpr-button-tooltip-b-position-right .wpr-button-b-wrap:hover .wpr-button-tooltip-b,.wpr-button-tooltip-position-right .wpr-button-wrap:hover .wpr-button-tooltip{-ms-transform:translate(100%,-50%);transform:translate(100%,-50%);-webkit-transform:translate(100%,-50%)}.wpr-button-tooltip-position-right .wpr-button-tooltip:before{left:-8px;top:50%;-ms-transform:translateY(-50%) rotate(90deg);transform:translateY(-50%) rotate(90deg);-webkit-transform:translateY(-50%) rotate(90deg)}.elementor-widget-wpr-product-tabs .wc-tabs,.wpr-dual-button,.wpr-tabs,.wpr-tabs-position-left .elementor-widget-container .wc-tabs-wrapper,.wpr-tabs-position-right .elementor-widget-container .wc-tabs-wrapper,.wpr-ticker-marquee .js-marquee,.wpr-ticker-slider-controls{display:-moz-flex;display:-ms-flex;display:-o-flex;display:-webkit-box;display:-ms-flexbox;display:flex}.wpr-button-a-wrap,.wpr-button-b-wrap,.wpr-table-export-button-cont button{position:relative;width:100%}.wpr-button-a-wrap,.wpr-flip-box-front{z-index:5}.wpr-button-b-wrap{z-index:2}.wpr-button-middle-badge{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:absolute;top:50%;right:0;-webkit-transform:translate(50%,-50%);-ms-transform:translate(50%,-50%);transform:translate(50%,-50%);text-align:center;-webkit-box-sizing:content-box;box-sizing:content-box;z-index:10;border-width:3px;border-color:#00ce1b;-webkit-box-shadow:0 0 0 4px rgba(255,255,255,.3);box-shadow:0 0 0 4px rgba(255,255,255,.3)}.wpr-flip-box-content,.wpr-prbar-vr-line{-ms-flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal}.wpr-hotspot-tooltip-position-bottom .wpr-hotspot-tooltip:before,.wpr-hotspot-tooltip-position-top .wpr-hotspot-tooltip:before,.wpr-tabs-position-above>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab:before{border-left-color:transparent;border-right-color:transparent;border-top-style:solid;border-left-style:solid;border-right-style:solid}.wpr-button-middle-badge i{line-height:inherit}.elementor-widget-wpr-advanced-text b{font-weight:none}.elementor-widget-wpr-advanced-text .wpr-advanced-text .wpr-advanced-text-preffix,.elementor-widget-wpr-advanced-text .wpr-advanced-text .wpr-advanced-text-suffix,.elementor-widget-wpr-advanced-text .wpr-advanced-text .wpr-anim-text,.elementor-widget-wpr-advanced-text .wpr-advanced-text .wpr-anim-text b,.elementor-widget-wpr-advanced-text .wpr-advanced-text .wpr-highlighted-text{font-size:32px;font-weight:700}.wpr-advanced-text{display:block;margin:0}.wpr-clipped-text{position:relative;-ms-transform:translate(0,0);transform:translate(0,0);-webkit-transform:translate(0,0);z-index:0}.wpr-clipped-text-content{-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.elementor-widget-wpr-advanced-text .wpr-advanced-text .wpr-clipped-text{font-size:50px;font-weight:700}.wpr-clipped-text-long-shadow{position:absolute;display:inline-block;top:0;left:0;width:100%;height:100%;z-index:-1}.wpr-highlighted-text{position:relative;text-align:left}.wpr-highlighted-text-inner{position:relative;z-index:1}.wpr-highlighted-text svg{position:absolute;top:50%;left:50%;width:100%;height:100%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);overflow:visible;z-index:auto}.wpr-highlighted-text svg path{-webkit-animation-name:wpr-anim-text;animation-name:wpr-anim-text;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;fill:none;stroke-width:4;stroke-dasharray:1500;-webkit-animation-iteration-count:1;-animation-iteration-count:1;opacity:0}.wpr-highlighted-text .wpr-highlight-curly{-webkit-transform:translate(-50%,25%);-ms-transform:translate(-50%,25%);transform:translate(-50%,25%)}.wpr-highlighted-text .wpr-highlight-x{-webkit-transform:translate(-50%,-35%);-ms-transform:translate(-50%,-35%);transform:translate(-50%,-35%)}.wpr-highlighted-text .wpr-highlight-strikethrough{-webkit-transform:translate(-50%,-47%);-ms-transform:translate(-50%,-47%);transform:translate(-50%,-47%)}.wpr-highlighted-text .wpr-highlight-underline{-webkit-transform:translate(-50%,27%);-ms-transform:translate(-50%,27%);transform:translate(-50%,27%)}.wpr-highlighted-text .wpr-highlight-diagonal,.wpr-highlighted-text .wpr-highlight-double{-webkit-transform:translate(-50%,-40%);-ms-transform:translate(-50%,-40%);transform:translate(-50%,-40%)}.wpr-highlighted-text .wpr-highlight-double-underline{-webkit-transform:translate(-50%,30%);-ms-transform:translate(-50%,30%);transform:translate(-50%,30%)}.wpr-animated-text-infinite-yes .wpr-highlighted-text svg path{-webkit-animation-name:wpr-anim-text-infinite;animation-name:wpr-anim-text-infinite}@keyframes wpr-anim-text-infinite{0%{opacity:1;stroke-dasharray:0 1500}12%{stroke-dasharray:1500 1500}80%{opacity:1}97%{opacity:0;stroke-dasharray:1500 1500}100%{stroke-dasharray:0 1500}}@-webkit-keyframes wpr-anim-text{0%{opacity:1;stroke-dasharray:0 1500}12%{stroke-dasharray:1500 1500}100%{opacity:1}}@keyframes wpr-anim-text{0%{opacity:1;stroke-dasharray:0 1500}12%{stroke-dasharray:1500 1500}100%{opacity:1}}@-webkit-keyframes wpr-anim-text-infinite{80%{opacity:1}97%{opacity:0;stroke-dasharray:1500 1500}100%{stroke-dasharray:0 1500;opacity:1}0%{opacity:1;stroke-dasharray:0 1500}12%{stroke-dasharray:1500 1500}}.wpr-anim-text-cursor{display:inline-block;zoom:1;opacity:1;-webkit-animation-name:wpr-cursor-blink;animation-name:wpr-cursor-blink;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}@-webkit-keyframes wpr-cursor-blink{0%,100%{opacity:1}50%{opacity:0}}@keyframes wpr-cursor-blink{0%,100%{opacity:1}50%{opacity:0}}.wpr-prbar-hr-line,.wpr-ticker-slider{position:relative;width:100%;overflow:hidden}.wpr-prbar-hr-line-inner{position:relative;top:0;left:0;width:0;height:100%;-webkit-transition-property:width;-o-transition-property:width;transition-property:width;overflow:hidden}.wpr-prbar-hr-line .wpr-prbar-content,.wpr-timeline-iframe-wrapper iframe,.wpr-timeline-media iframe{position:absolute;top:0;left:0;width:100%;height:100%}.wpr-prbar-hr-line .wpr-prbar-title-wrap{position:absolute;top:50%;left:12px;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.wpr-prbar-hr-line .wpr-prbar-counter{position:absolute;top:50%;right:12px;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.wpr-prbar-vr-line{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;flex-direction:column;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;width:100%;margin:0 auto;overflow:hidden}.wpr-prbar-vr-line-inner{position:relative;width:100%;height:0;-webkit-transition-property:height;-o-transition-property:height;transition-property:height;overflow:hidden}.wpr-prbar-circle{position:relative;display:table;width:100%;height:auto;margin:0 auto}.wpr-prbar-circle-svg{width:100%;height:auto;-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);border-radius:50%}.wpr-flip-box,.wpr-flip-box-item{-webkit-transform-style:preserve-3d}.wpr-prbar-circle-prline{-webkit-transition-property:stroke-dasharray,stroke-dashoffset;-o-transition-property:stroke-dasharray,stroke-dashoffset;transition-property:stroke-dasharray,stroke-dashoffset;stroke-linecap:butt}.wpr-flip-box-item,.wpr-hotspot-tooltip{-webkit-transition-property:all;-o-transition-property:all}.wpr-prbar-circle .wpr-prbar-content{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.wpr-prbar-content{text-align:center;overflow:hidden}.wpr-prbar-counter{display:-webkit-box;display:-ms-flexbox;display:-moz-flex;display:flex;font-size:12px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.wpr-prbar-subtitle,.wpr-prbar-title{font-size:12px;text-align:center}.wpr-prbar-stripe-yes .wpr-prbar-hr-line-inner:after,.wpr-prbar-stripe-yes .wpr-prbar-vr-line-inner:after{content:'';position:absolute;top:0;left:-30px;width:calc(100% + 60px);height:100%;background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:30px 30px}.wpr-prbar-stripe-yes.wpr-prbar-stripe-anim-right .wpr-prbar-hr-line-inner:after,.wpr-prbar-stripe-yes.wpr-prbar-stripe-anim-right .wpr-prbar-vr-line-inner:after{-webkit-animation:2s linear infinite stripe-anim-right;animation:2s linear infinite stripe-anim-right}.wpr-prbar-stripe-yes.wpr-prbar-stripe-anim-left .wpr-prbar-hr-line-inner:after,.wpr-prbar-stripe-yes.wpr-prbar-stripe-anim-left .wpr-prbar-vr-line-inner:after{-webkit-animation:2s linear infinite stripe-anim-left;animation:2s linear infinite stripe-anim-left}@-webkit-keyframes stripe-anim-right{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(30px,0);transform:translate(30px,0)}}@keyframes stripe-anim-right{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(30px,0);transform:translate(30px,0)}}@-webkit-keyframes stripe-anim-left{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(-30px,0);transform:translate(-30px,0)}}@keyframes stripe-anim-left{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(-30px,0);transform:translate(-30px,0)}}.wpr-price-list-item,.wpr-promo-box{display:-moz-flex;display:-ms-flex;display:-o-flex;display:-webkit-box;display:-ms-flexbox;display:flex;position:relative}.wpr-hotspot-item-container,.wpr-price-list-link{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10}.wpr-price-list-image img{display:block;margin:0 auto}.elementor-widget-wpr-price-list .wpr-price-list-heading .wpr-price-list-price,.elementor-widget-wpr-price-list .wpr-price-list-heading .wpr-price-list-title{font-size:17px;font-weight:700}.wpr-price-list-old-price{font-size:11px}.wpr-price-list-separator{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;height:0}.wpr-price-list-price-wrap{display:-moz-flex;display:-ms-flex;display:-o-flex;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.wpr-price-list-old-position-after .wpr-price-list-old-price,.wpr-ticker-image{margin-right:10px}.wpr-price-list-old-position-before .wpr-price-list-old-price{margin-left:3px}.wpr-price-list-old-price{display:-moz-flex;display:-ms-flex;display:-o-flex;display:-webkit-box;display:-ms-flexbox;display:flex}.wpr-hotspot-content{position:relative;z-index:15;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;text-align:center}.wpr-hotspot-item,.wpr-hotspot-item:before{-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-play-state:running;animation-play-state:running}.wpr-hotspot-tooltip{position:absolute;border-radius:4px;visibility:hidden;opacity:0;line-height:1.5;transition-property:all;transition-timing-function:ease-in-out;z-index:20;-webkit-box-shadow:0 0 4px 0 rgba(0,0,0,.5);box-shadow:0 0 4px 0 rgba(0,0,0,.5);font-size:13px}.wpr-hotspot-tooltip:before{content:"";position:absolute;width:0;height:0}.wpr-hotspot-tooltip-position-pro-bt .wpr-hotspot-tooltip,.wpr-hotspot-tooltip-position-pro-lt .wpr-hotspot-tooltip,.wpr-hotspot-tooltip-position-pro-rt .wpr-hotspot-tooltip{top:-120%;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.wpr-hotspot-tooltip-position-left .wpr-hotspot-tooltip:before,.wpr-hotspot-tooltip-position-right .wpr-hotspot-tooltip:before,.wpr-tabs-position-left>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab:before,.wpr-tabs-position-right>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab:before{border-bottom-color:transparent;border-top-color:transparent;border-right-style:solid;border-bottom-style:solid;border-top-style:solid}.wpr-hotspot-tooltip-position-bottom .wpr-hotspot-tooltip:before{left:50%;-webkit-transform:translateX(-50%) rotate(180deg);-ms-transform:translateX(-50%) rotate(180deg);transform:translateX(-50%) rotate(180deg)}.wpr-hotspot-tooltip-position-left .wpr-hotspot-tooltip:before{top:50%;-webkit-transform:translateY(-50%) rotate(180deg);-ms-transform:translateY(-50%) rotate(180deg);transform:translateY(-50%) rotate(180deg)}.wpr-hotspot-tooltip-position-left .wpr-hotspot-tooltip,.wpr-hotspot-tooltip-position-right .wpr-hotspot-tooltip{top:50%}.wpr-hotspot-tooltip-position-top.wpr-tooltip-effect-shift-toward .wpr-hotspot-tooltip{-webkit-transform:translate(-50%,-120%);-ms-transform:translate(-50%,-120%);transform:translate(-50%,-120%)}.wpr-hotspot-tooltip-position-top.wpr-tooltip-effect-fade .wpr-hotspot-tooltip,.wpr-hotspot-tooltip-position-top.wpr-tooltip-effect-shift-toward .wpr-tooltip-active .wpr-hotspot-tooltip{-webkit-transform:translate(-50%,-100%);-ms-transform:translate(-50%,-100%);transform:translate(-50%,-100%)}.wpr-hotspot-tooltip-position-bottom.wpr-tooltip-effect-shift-toward .wpr-hotspot-tooltip{-webkit-transform:translate(-50%,120%);-ms-transform:translate(-50%,120%);transform:translate(-50%,120%)}.wpr-hotspot-tooltip-position-bottom.wpr-tooltip-effect-fade .wpr-hotspot-tooltip,.wpr-hotspot-tooltip-position-bottom.wpr-tooltip-effect-shift-toward .wpr-tooltip-active .wpr-hotspot-tooltip{-webkit-transform:translate(-50%,100%);-ms-transform:translate(-50%,100%);transform:translate(-50%,100%)}.wpr-hotspot-tooltip-position-left.wpr-tooltip-effect-shift-toward .wpr-hotspot-tooltip{-webkit-transform:translate(-120%,-50%);-ms-transform:translate(-120%,-50%);transform:translate(-120%,-50%)}.wpr-hotspot-tooltip-position-left.wpr-tooltip-effect-fade .wpr-hotspot-tooltip,.wpr-hotspot-tooltip-position-left.wpr-tooltip-effect-shift-toward .wpr-tooltip-active .wpr-hotspot-tooltip{-webkit-transform:translate(-100%,-50%);-ms-transform:translate(-100%,-50%);transform:translate(-100%,-50%)}.wpr-hotspot-tooltip-position-right.wpr-tooltip-effect-shift-toward .wpr-hotspot-tooltip{-webkit-transform:translate(120%,-50%);-ms-transform:translate(120%,-50%);transform:translate(120%,-50%)}.wpr-hotspot-tooltip-position-right.wpr-tooltip-effect-fade .wpr-hotspot-tooltip,.wpr-hotspot-tooltip-position-right.wpr-tooltip-effect-shift-toward .wpr-tooltip-active .wpr-hotspot-tooltip{-webkit-transform:translate(100%,-50%);-ms-transform:translate(100%,-50%);transform:translate(100%,-50%)}.wpr-hotspot-tooltip-position-top.wpr-tooltip-effect-scale .wpr-hotspot-tooltip{-webkit-transform:translate(-50%,-100%) scale(.7);-ms-transform:translate(-50%,-100%) scale(.7);transform:translate(-50%,-100%) scale(.7)}.wpr-hotspot-tooltip-position-bottom.wpr-tooltip-effect-scale .wpr-hotspot-tooltip{-webkit-transform:translate(-50%,100%) scale(.7);-ms-transform:translate(-50%,100%) scale(.7);transform:translate(-50%,100%) scale(.7)}.wpr-hotspot-tooltip-position-left.wpr-tooltip-effect-scale .wpr-hotspot-tooltip{-webkit-transform:translate(-100%,-50%) scale(.7);-ms-transform:translate(-100%,-50%) scale(.7);transform:translate(-100%,-50%) scale(.7)}.wpr-hotspot-tooltip-position-right.wpr-tooltip-effect-scale .wpr-hotspot-tooltip{-webkit-transform:translate(100%,-50%) scale(.7);-ms-transform:translate(100%,-50%) scale(.7);transform:translate(100%,-50%) scale(.7)}.wpr-hotspot-tooltip-position-top.wpr-tooltip-effect-scale .wpr-tooltip-active .wpr-hotspot-tooltip{-webkit-transform:translate(-50%,-100%) scale(1);-ms-transform:translate(-50%,-100%) scale(1);transform:translate(-50%,-100%) scale(1)}.wpr-hotspot-tooltip-position-bottom.wpr-tooltip-effect-scale .wpr-tooltip-active .wpr-hotspot-tooltip{-webkit-transform:translate(-50%,100%) scale(1);-ms-transform:translate(-50%,100%) scale(1);transform:translate(-50%,100%) scale(1)}.wpr-hotspot-tooltip-position-left.wpr-tooltip-effect-scale .wpr-tooltip-active .wpr-hotspot-tooltip{-webkit-transform:translate(-100%,-50%) scale(1);-ms-transform:translate(-100%,-50%) scale(1);transform:translate(-100%,-50%) scale(1)}.wpr-hotspot-tooltip-position-right.wpr-tooltip-effect-scale .wpr-tooltip-active .wpr-hotspot-tooltip{-webkit-transform:translate(100%,-50%) scale(1);-ms-transform:translate(100%,-50%) scale(1);transform:translate(100%,-50%) scale(1)}@keyframes wpr-hotspot-anim-pulse{0%,100%,87%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}88%,92%,96%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}90%,94%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}}@-webkit-keyframes wpr-hotspot-anim-pulse{0%,100%,87%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}88%,92%,96%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}90%,94%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}}.wpr-hotspot-anim-pulse{-webkit-animation-name:wpr-hotspot-anim-pulse;animation-name:wpr-hotspot-anim-pulse;-webkit-animation-duration:5s;animation-duration:5s}@keyframes wpr-hotspot-anim-shake{0%,100%,87%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}88%,92%,96%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}90%,94%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}}@-webkit-keyframes wpr-hotspot-anim-shake{0%,100%,87%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}88%,92%,96%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}90%,94%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}}.wpr-hotspot-anim-shake{-webkit-animation-name:wpr-hotspot-anim-shake;animation-name:wpr-hotspot-anim-shake;-webkit-animation-duration:5s;animation-duration:5s}@keyframes wpr-hotspot-anim-swing{0%,100%,70%{-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg)}75%{-webkit-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}80%{-webkit-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}85%{-webkit-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}90%{-webkit-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}}@-webkit-keyframes wpr-hotspot-anim-swing{0%,100%,70%{-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg)}75%{-webkit-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}80%{-webkit-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}85%{-webkit-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}90%{-webkit-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}}.wpr-hotspot-anim-swing{-webkit-animation-name:wpr-hotspot-anim-swing;animation-name:wpr-hotspot-anim-swing;-webkit-animation-duration:5s;animation-duration:5s}@keyframes wpr-hotspot-anim-tada{0%,100%,84%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}85%{-webkit-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg)}88%,92%,96%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}90%,94%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}}@-webkit-keyframes wpr-hotspot-anim-tada{0%,100%,84%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}85%{-webkit-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg)}88%,92%,96%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}90%,94%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}}.wpr-hotspot-anim-tada{-webkit-animation-name:wpr-hotspot-anim-tada;animation-name:wpr-hotspot-anim-tada;-webkit-animation-duration:6s;animation-duration:6s}@keyframes wpr-hotspot-anim-glow{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}100%{-webkit-transform:scale(1.5);transform:scale(1.5);opacity:0}}@-webkit-keyframes wpr-hotspot-anim-glow{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}100%{-webkit-transform:scale(1.5);transform:scale(1.5);opacity:0}}.wpr-hotspot-anim-glow:before{content:'';display:block;position:absolute;left:0;top:0;height:100%;width:100%;z-index:-1;-webkit-animation-name:wpr-hotspot-anim-glow;animation-name:wpr-hotspot-anim-glow;-webkit-animation-duration:2s;animation-duration:2s}.wpr-divider-wrap{display:inline-block;width:100%;overflow:hidden}.wpr-business-hours-item,.wpr-divider{display:-ms-flexbox;display:-webkit-box}.wpr-divider{display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wpr-divider-text{-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto}.elementor-widget-wpr-divider .wpr-divider .wpr-divider-text{font-size:21px}.wpr-divider-border-left,.wpr-divider-border-right{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.wpr-divider-border{display:block;width:100%;height:1px}.wpr-business-hours-item{position:relative;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transition:.1s;-o-transition:.1s;transition:.1s}.wpr-business-day{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;text-align:left}.elementor-widget-wpr-business-hours .wpr-business-hours .wpr-business-closed,.elementor-widget-wpr-business-hours .wpr-business-hours .wpr-business-day,.elementor-widget-wpr-business-hours .wpr-business-hours .wpr-business-time{font-size:16px;font-weight:500}.wpr-business-closed,.wpr-business-time{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;text-align:right}.wpr-business-hours-item:after{content:"";display:block;position:absolute;bottom:0;left:0;width:100%}.elementor-widget-wpr-business-hours .wpr-business-closed,.elementor-widget-wpr-business-hours .wpr-business-day,.elementor-widget-wpr-business-hours .wpr-business-time{font-weight:500}.wpr-flip-box{position:relative;transform-style:preserve-3d;transition:.5s;-webkit-perspective:1000px;perspective:1000px}.wpr-flip-box-item{position:absolute;top:0;left:0;width:100%;height:100%;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition-property:all}.wpr-promo-box-bg-overlay,.wpr-ticker-title{-webkit-transition-property:all;-o-transition-property:all}.elementor-widget-wpr-flip-box .wpr-flip-box-back .wpr-flip-box-content .wpr-flip-box-title,.elementor-widget-wpr-flip-box .wpr-flip-box-front .wpr-flip-box-content .wpr-flip-box-title{font-size:23px;font-weight:600}.wpr-flip-box-content{display:-moz-flex;display:-ms-flex;display:-o-flex;display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;height:100%;flex-direction:column;position:relative;z-index:10}.wpr-flip-box-link,.wpr-flip-box-overlay,.wpr-promo-box-bg-image,.wpr-promo-box-bg-overlay,.wpr-ticker-link{position:absolute;left:0;width:100%;height:100%}.wpr-flip-box-overlay{top:0;z-index:5}.wpr-flip-box-link,.wpr-ticker-link{display:block;top:0;z-index:20}.wpr-flip-box-btn{display:inline-table;cursor:pointer}.wpr-content-ticker,.wpr-promo-box-content{display:-moz-flex;display:-ms-flex;display:-o-flex}.wpr-flip-box-animation-flip.wpr-flip-box-anim-direction-left .wpr-flip-box-active .wpr-flip-box-front,.wpr-flip-box-animation-flip.wpr-flip-box-anim-direction-right .wpr-flip-box-back{-webkit-transform:rotateX(0) rotateY(-180deg);transform:rotateX(0) rotateY(-180deg)}.wpr-flip-box-animation-flip.wpr-flip-box-anim-direction-left .wpr-flip-box-back,.wpr-flip-box-animation-flip.wpr-flip-box-anim-direction-right .wpr-flip-box-active .wpr-flip-box-front{-webkit-transform:rotateX(0) rotateY(180deg);transform:rotateX(0) rotateY(180deg)}.wpr-flip-box-animation-flip.wpr-flip-box-anim-direction-down .wpr-flip-box-active .wpr-flip-box-front,.wpr-flip-box-animation-flip.wpr-flip-box-anim-direction-up .wpr-flip-box-back{-webkit-transform:rotateX(-180deg) rotateY(0);transform:rotateX(-180deg) rotateY(0)}.wpr-flip-box-animation-flip.wpr-flip-box-anim-direction-down .wpr-flip-box-back,.wpr-flip-box-animation-flip.wpr-flip-box-anim-direction-up .wpr-flip-box-active .wpr-flip-box-front{-webkit-transform:rotateX(180deg) rotateY(0);transform:rotateX(180deg) rotateY(0)}.wpr-flip-box-animation-flip .wpr-flip-box-active .wpr-flip-box-back{-webkit-transform:none;-ms-transform:none;transform:none}.wpr-flip-box-animation-3d-yes .wpr-flip-box-content{-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-transform:translateZ(70px) scale(.93);transform:translateZ(70px) scale(.93)}.wpr-flip-box-animation-push .wpr-flip-box-back,.wpr-flip-box-animation-slide .wpr-flip-box-back{z-index:10}.wpr-flip-box-animation-push.wpr-flip-box-anim-direction-down .wpr-flip-box-active .wpr-flip-box-front,.wpr-flip-box-animation-push.wpr-flip-box-anim-direction-up .wpr-flip-box-back,.wpr-flip-box-animation-slide.wpr-flip-box-anim-direction-up .wpr-flip-box-back{top:100%}.wpr-flip-box-animation-push.wpr-flip-box-anim-direction-down .wpr-flip-box-back,.wpr-flip-box-animation-slide.wpr-flip-box-anim-direction-down .wpr-flip-box-back{top:auto;bottom:100%}.wpr-flip-box-animation-push.wpr-flip-box-anim-direction-down .wpr-flip-box-active .wpr-flip-box-back,.wpr-flip-box-animation-slide.wpr-flip-box-anim-direction-down .wpr-flip-box-active .wpr-flip-box-back{top:auto;bottom:0}.wpr-flip-box-animation-push.wpr-flip-box-anim-direction-right .wpr-flip-box-back,.wpr-flip-box-animation-slide.wpr-flip-box-anim-direction-right .wpr-flip-box-back{left:auto;right:100%}.wpr-flip-box-animation-push.wpr-flip-box-anim-direction-up .wpr-flip-box-active .wpr-flip-box-front{top:-100%}.wpr-flip-box-animation-push.wpr-flip-box-anim-direction-left .wpr-flip-box-active .wpr-flip-box-front{left:-100%}.wpr-flip-box-animation-zoom-in .wpr-flip-box-back{opacity:0;-webkit-transform:scale(.9);-ms-transform:scale(.9);transform:scale(.9);z-index:10}.wpr-flip-box-animation-zoom-in .wpr-flip-box-active .wpr-flip-box-back{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.wpr-flip-box-animation-zoom-out .wpr-flip-box-active .wpr-flip-box-front{opacity:0;-webkit-transform:scale(.9);-ms-transform:scale(.9);transform:scale(.9);visibility:hidden}.elementor-widget-wpr-flip-box .wpr-flip-box-back{background-color:#ff348b}.wpr-parallax-multi-layer,.wpr-promo-box-style-cover .wpr-promo-box-image,.wpr-promo-box-style-pro-cs .wpr-promo-box-image{position:absolute;top:0;left:0;height:100%;width:100%}.wpr-promo-box-bg-image{top:0;z-index:10;background-size:cover;background-position:50%}.wpr-promo-box-bg-overlay{top:0;z-index:15;transition-property:all}.wpr-promo-box-content{position:relative;z-index:20;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;overflow:hidden}.elementor-widget-wpr-promo-box.wpr-promo-box-style-classic .wpr-promo-box-content{background-color:#212121}.elementor-widget-wpr-promo-box.wpr-promo-box-style-classic .wpr-promo-box:hover .wpr-promo-box-content{background-color:#ddb34f}@media screen and (max-width:640px){.wpr-promo-box-style-classic .wpr-promo-box{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.wpr-promo-box-style-classic .wpr-promo-box-image{min-width:auto!important}}.wpr-promo-box-link{display:block;position:absolute;width:100%;height:100%;top:0;left:0;z-index:40}.elementor .elementor-widget-wpr-promo-box .wpr-promo-box:hover .wpr-promo-box-bg-image{-webkit-filter:brightness(100%) contrast(100%) saturate(100%) hue-rotate(0deg);filter:brightness( 100%) contrast( 100%) saturate( 100%) hue-rotate( 0deg)}.wpr-promo-box-badge{position:absolute;display:inline-block;text-align:center;z-index:35}.wpr-content-ticker,.wpr-content-ticker-inner{display:-webkit-box;display:-ms-flexbox;overflow:hidden}.wpr-promo-box-badge-cyrcle.wpr-promo-box-badge-left{-webkit-transform:translateX(-40%) translateY(-40%);-ms-transform:translateX(-40%) translateY(-40%);transform:translateX(-40%) translateY(-40%)}.wpr-promo-box-badge-cyrcle.wpr-promo-box-badge-right{-webkit-transform:translateX(40%) translateY(-40%);-ms-transform:translateX(40%) translateY(-40%);transform:translateX(40%) translateY(-40%)}.wpr-promo-box-badge-flag.wpr-promo-box-badge-left:before{left:5px;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.wpr-promo-box-badge-flag.wpr-promo-box-badge-right:before{right:-5px;-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg)}.elementor-widget-wpr-promo-box .wpr-promo-box-title{font-size:24px;font-weight:600}.elementor-widget-wpr-promo-box .wpr-promo-box-badge .wpr-promo-box-badge-inner{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.elementor-widget-wpr-promo-box .wpr-promo-box-badge-corner .wpr-promo-box-badge-inner{line-height:1.6}.wpr-content-ticker{display:flex}.wpr-content-ticker-inner,.wpr-tabs-wrap{display:-moz-flex;display:-ms-flex;display:-o-flex}.wpr-content-ticker-inner{display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;z-index:20;width:100%}.wpr-ticker-gradient-type-both .wpr-ticker-gradient:before,.wpr-ticker-gradient-type-left .wpr-ticker-gradient:before{content:"";position:absolute;bottom:0;top:0;left:0;width:40px;z-index:20}.wpr-ticker-gradient-type-both .wpr-ticker-gradient:after,.wpr-ticker-gradient-type-right .wpr-ticker-gradient:after{content:"";position:absolute;bottom:0;top:0;right:0;width:40px;z-index:20}.wpr-ticker-arrow-position-left .wpr-ticker-slider-controls{margin-right:20px}.wpr-ticker-arrow-position-right .wpr-ticker-slider-controls{margin-left:20px}.wpr-ticker-title{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-align-items:center;overflow:hidden;transition-property:all;transition-timing-function:ease-in-out;-webkit-transition-duration:.2s;-o-transition-duration:.2s;transition-duration:.2s;margin:0}.wpr-ticker-title-inner{overflow:hidden;display:inline}.wpr-tabs-wrap,.wpr-ticker-heading{display:-webkit-box;display:-ms-flexbox}.wpr-ticker-heading{display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;z-index:25;-webkit-transition-property:all;-o-transition-property:all;transition-property:all;-webkit-transition-timing-function:ease-in-out;-o-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}.wpr-ticker-heading-triangle-bottom .wpr-ticker-heading:before,.wpr-ticker-heading-triangle-middle .wpr-ticker-heading:before,.wpr-ticker-heading-triangle-top .wpr-ticker-heading:before{position:absolute;-webkit-transition-property:inherit;-o-transition-property:inherit;-webkit-transition-timing-function:inherit;-o-transition-timing-function:inherit;-webkit-transition-duration:inherit;-o-transition-duration:inherit;content:""}.wpr-ticker-heading-triangle-middle .wpr-ticker-heading:before{width:0;height:0;background:0 0!important;border-bottom-color:transparent;border-top-color:transparent;border-right-style:solid;border-bottom-style:solid;border-top-style:solid;border-width:10px;top:50%;transition-property:inherit;transition-timing-function:inherit;transition-duration:inherit}.wpr-ticker-heading-triangle-bottom .wpr-ticker-heading:before,.wpr-ticker-heading-triangle-top .wpr-ticker-heading:before{top:0;bottom:0;width:100%;z-index:1;transition-property:inherit;transition-timing-function:inherit;transition-duration:inherit}.wpr-ticker-heading-icon,.wpr-ticker-heading-text,.wpr-ticker-icon-circle{-webkit-transition-property:inherit;-o-transition-property:inherit;-webkit-transition-timing-function:inherit;-o-transition-timing-function:inherit}.wpr-ticker-heading-icon,.wpr-ticker-heading-text{position:relative;z-index:20;transition-property:inherit;transition-timing-function:inherit;-webkit-transition-duration:inherit;-o-transition-duration:inherit;transition-duration:inherit}.wpr-ticker-heading-triangle-top .wpr-ticker-heading:before{-ms-transform:skew(20deg);transform:skew(20deg);-webkit-transform:skew(20deg)}.wpr-ticker-heading-triangle-bottom .wpr-ticker-heading:before{-ms-transform:skew(-20deg);transform:skew(-20deg);-webkit-transform:skew(-20deg)}.wpr-ticker-heading-position-left.wpr-ticker-heading-triangle-middle .wpr-ticker-heading:before{-webkit-transform:translateY(-50%) rotate(180deg);-ms-transform:translateY(-50%) rotate(180deg);transform:translateY(-50%) rotate(180deg)}.wpr-ticker-arrow{-webkit-box-sizing:content-box;box-sizing:content-box;text-align:center;-webkit-transition:.5s;-o-transition:.5s;transition:.5s;cursor:pointer}.wpr-ticker-next-arrow{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.wpr-content-ticker-inner .wpr-ticker-item{display:-moz-flex!important;display:-ms-flex!important;display:-o-flex!important;display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center;position:relative;overflow:hidden}.wpr-ticker-arrow-style-vertical .wpr-ticker-slider .wpr-ticker-item{margin:1px 0}.wpr-ticker-icon-circle{display:block;border-radius:50%;-webkit-border-radius:50%;z-index:5;transition-property:inherit;transition-timing-function:inherit;-webkit-transition-duration:inherit;-o-transition-duration:inherit;transition-duration:inherit}.wpr-ticker-icon-circle:after,.wpr-ticker-icon-circle:before{content:"";position:absolute;top:50%;left:50%;-webkit-animation-name:wpr-ticker-icon-blink;animation-name:wpr-ticker-icon-blink;-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;border-radius:50%;border-width:1px;border-style:solid;-webkit-border-radius:50%;-moz-border-radius:50%;-webkit-transition-property:inherit;-o-transition-property:inherit;transition-property:inherit;-webkit-transition-timing-function:inherit;-o-transition-timing-function:inherit;transition-timing-function:inherit;-webkit-transition-duration:inherit;-o-transition-duration:inherit;transition-duration:inherit}.wpr-ticker-icon-circle:after{-webkit-animation-delay:1s;animation-delay:1s}@-webkit-keyframes wpr-ticker-icon-blink{0%{-webkit-transform:scale(1,1);transform:scale(1,1)}100%{-webkit-transform:scale(3,3);transform:scale(3,3);opacity:0}}@keyframes wpr-ticker-icon-blink{0%{-webkit-transform:scale(1,1);transform:scale(1,1)}100%{-webkit-transform:scale(3,3);transform:scale(3,3);opacity:0}}.wpr-tabs-wrap{display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.wpr-switcher-container,.wpr-tab{display:-moz-flex;display:-ms-flex;display:-o-flex;display:-webkit-box;display:-ms-flexbox}.wpr-add-to-cart-layout-column.wpr-product-adc-align-center .cart,.wpr-tabs-hr-position-center>.elementor-widget-container>.wpr-tabs{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wpr-add-to-cart-layout-column.wpr-product-adc-align-left .cart,.wpr-tabs-hr-position-left>.elementor-widget-container .wc-tabs,.wpr-tabs-hr-position-left>.elementor-widget-container>.wpr-tabs{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.elementor-widget-wpr-product-tabs.wpr-tabs-position-above .wc-tabs,.wpr-add-to-cart-layout-column.wpr-product-adc-align-right .cart,.wpr-tabs-hr-position-right>.elementor-widget-container>.wpr-tabs{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab,.elementor-widget-wpr-product-tabs:not(.wpr-tabs-hr-position-left):not(.wpr-tabs-hr-position-right):not(.wpr-tabs-hr-position-center) .elementor-widget-container .wc-tabs li,.elementor-widget-wpr-product-tabs:not(.wpr-tabs-hr-position-left):not(.wpr-tabs-hr-position-right):not(.wpr-tabs-hr-position-center) .elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab,.wpr-tabs-hr-position-justify>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-ms-flex-preferred-size:0;flex-basis:0}.wpr-tab{position:relative;z-index:25;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer}.wpr-tab,.wpr-tab-icon,.wpr-tab-image,.wpr-tab-title{-webkit-transition-property:all;-o-transition-property:all;transition-property:all}.wpr-tab-icon,.wpr-tab-icon i,.wpr-tab-image,.wpr-tab-title{-webkit-transition-duration:inherit;-o-transition-duration:inherit;transition-duration:inherit}.wpr-switcher-content-wrap,.wpr-tabs-content-wrap{position:relative;width:100%;-webkit-transition-property:height;-o-transition-property:height;transition-property:height;-webkit-transition-timing-function:cubic-bezier(0.5,0.9,0.6,0.95);-o-transition-timing-function:cubic-bezier(0.5,0.9,0.6,0.95);transition-timing-function:cubic-bezier(0.5,0.9,0.6,0.95);-webkit-transition-duration:.5s;-o-transition-duration:.5s;transition-duration:.5s;z-index:1;overflow:hidden}.wpr-switcher-content,.wpr-tab-content{position:absolute;width:100%;top:0;left:0;z-index:1}.wpr-switcher-content-active,.wpr-tab-content-active{position:relative;z-index:100}.wpr-pc-btn-icon-top .wpr-pc-content,.wpr-stt-btn-icon-bottom .wpr-stt-btn,.wpr-tabs-icon-position-center>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.wpr-tabs-triangle-yes>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab:before{content:"";position:absolute;width:0;height:0;-webkit-transition-property:border-color;-o-transition-property:border-color;transition-property:border-color;-webkit-transition-timing-function:ease-in;-o-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0;visibility:hidden;z-index:110}.wpr-tabs-position-above>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab:before{border-top-color:#fff}.wpr-pc-btn,.wpr-stt-btn{border:none;font-size:16px;text-align:center;cursor:pointer;line-height:1}.wpr-tabs-position-above.wpr-tabs-triangle-type-inner.wpr-tabs-position-above>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab:before{left:50%;-ms-transform:translateX(-50%) rotate(180deg);transform:translateX(-50%) rotate(180deg);-webkit-transform:translateX(-50%) rotate(180deg);bottom:-1px}.wpr-tabs-position-left.wpr-tabs-triangle-type-outer>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab:before,.wpr-tabs-position-right.wpr-tabs-triangle-type-inner>.elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap>.wpr-tab:before{top:50%;-ms-transform:translateY(-50%) rotate(180deg);transform:translateY(-50%) rotate(180deg);-webkit-transform:translateY(-50%) rotate(180deg)}.wpr-ticker-effect-typing .wpr-ticker-title:after{display:inline-block;vertical-align:top;opacity:1;color:inherit;margin-left:2px}.wpr-ticker-effect-typing .slick-current .wpr-ticker-title:after{-webkit-animation-name:wpr-cursor-blink;animation-name:wpr-cursor-blink;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-duration:.5s;animation-duration:.5s}.wpr-ticker-effect-typing .slick-current .wpr-ticker-title-inner{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-animation:1s steps(30,end) wpr-ticker-typing;animation:1s steps(30,end) wpr-ticker-typing;overflow:hidden}@-webkit-keyframes wpr-ticker-typing{from{width:0}to{width:100%}}@keyframes wpr-ticker-typing{from{width:0}to{width:100%}}.wpr-switcher-container{display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin:0 auto}.wpr-switcher,.wpr-switcher-wrap{position:relative;display:-moz-flex;display:-ms-flex;display:-o-flex;display:-webkit-box;display:-ms-flexbox}.wpr-switcher-wrap{display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wpr-switcher{display:flex;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-ms-flex-preferred-size:0;flex-basis:0;height:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;z-index:20;cursor:pointer}.wpr-stt-btn,.wpr-switcher-inner{display:-webkit-box;display:-ms-flexbox}.wpr-switcher-inner{display:-moz-flex;display:-ms-flex;display:-o-flex;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wpr-switcher-bg{position:absolute;height:100%;z-index:1;-o-transition:.4s ease-in-out;transition:.4s ease-in-out;-webkit-transition:.4s ease-in-out}.wpr-switcher-style-dual.wpr-switcher-label-style-outer>.elementor-widget-container>.wpr-content-toggle>.wpr-switcher-container[data-active-switcher*="2"] .wpr-switcher-bg{left:100%;-ms-transform:translateX(-100%);transform:translateX(-100%);-webkit-transform:translateX(-100%)}.wpr-stt-btn{padding:20px;max-width:5cm;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-shadow:0 0 10px 0 rgb(0,0,0,.25);box-shadow:0 0 10px 0 rgb(0,0,0,.25)}.wpr-feature-list-center .wpr-feature-list-item,.wpr-pc-btn-icon-bottom .wpr-pc-content,.wpr-stt-btn-icon-top .wpr-stt-btn{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wpr-stt-btn-align-fixed .wpr-stt-btn{visibility:hidden;position:fixed;z-index:9999}.wpr-one-sided-timeline-left .wpr-icon,.wpr-one-sided-timeline-left .wpr-middle-line,.wpr-one-sided-timeline-left .wpr-timeline-fill,.wpr-one-sided-timeline-left .wpr-year-label,.wpr-pc-btn-align-fixed-right .wpr-pc-btn,.wpr-stt-btn-align-fixed-right .wpr-stt-btn{left:auto}.wpr-pc-btn-align-fixed-left .wpr-pc-btn,.wpr-stt-btn-align-fixed-left .wpr-stt-btn{right:auto}.wpr-pc-btn{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.elementor a.wpr-pc-btn{-webkit-box-shadow:0 0 10px 0 rgba(0,0,0,.2);box-shadow:0 0 10px 0 rgba(0,0,0,.2)}.wpr-pc-btn-align-fixed .wpr-pc-btn{position:fixed;z-index:9999}.wpr-vertical{min-width:100%;min-height:100%;overflow:hidden}.wpr-vertical .wpr-timeline-centered .wpr-data-wrap{display:flow-root}.wpr-timeline-centered{position:relative;display:table;width:100%;height:100%}.wpr-flip-items-wrapper,.wpr-list-style-none ul{list-style-type:none}.wpr-list-style-disc ul{list-style-type:disc}.wpr-list-style-decimal ul{list-style-type:decimal}.wpr-timeline-centered.wpr-both-sided-timeline .wpr-timeline-entry{position:relative;width:50%;float:right;margin-bottom:70px;clear:both}.wpr-product-add-to-cart .quantity .qty,.wpr-product-add-to-cart .wpr-quantity-wrapper i,.wpr-wrapper .wpr-year-label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wpr-timeline-centered.wpr-one-sided-timeline .wpr-timeline-entry{width:100%;float:left}.wpr-middle-line{position:absolute;display:block;width:4px;top:20px;height:100%}.wpr-one-sided-timeline-left .wpr-icon{right:.3%}.wpr-timeline-fill{position:absolute;display:block;width:4px;left:50%;top:20px;background-color:#3d2a3d;height:0}.timeline-background-image,.timeline-background-image img{height:100%;max-width:100%!important;max-height:100%!important}.wpr-read-more-button{display:inline-block;font-size:14px}.wpr-timeline-centered.wpr-both-sided-timeline .wpr-timeline-entry.wpr-left-aligned .wpr-extra-label{left:108%}.wpr-horizontal .wpr-extra-label .wpr-label,.wpr-horizontal .wpr-extra-label .wpr-sub-label{text-align:center;line-height:1}.wpr-horizontal-bottom .wpr-extra-label{position:absolute;display:table;width:100%;height:80px;overflow:hidden;text-align:center;vertical-align:middle;top:0;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.wpr-extra-label .wpr-label{font-size:15px;font-weight:600}.wpr-extra-label .wpr-sub-label{font-size:12px}.wpr-timeline-centered.wpr-both-sided-timeline .wpr-timeline-entry.wpr-left-aligned .wpr-timeline-entry-inner .wpr-icon{position:absolute;left:calc(100%);-webkit-transform:translate(-50%);-ms-transform:translate(-50%);transform:translate(-50%)}.wpr-both-sided-timeline .wpr-right-aligned .wpr-icon{position:absolute;right:calc(100%);-webkit-transform:translate(50%);-ms-transform:translate(50%);transform:translate(50%)}.wpr-timeline-centered .wpr-timeline-entry.wpr-left-aligned .wpr-timeline-entry-inner .wpr-data-wrap:after{right:0;margin-left:0;margin-right:-9px;-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.wpr-right-aligned .wpr-story-info-vertical.wpr-data-wrap:after{right:100%}.wpr-timeline-centered .wpr-timeline-entry .wpr-extra-label{position:absolute;right:108%;width:100%;height:auto;padding:10px;-webkit-box-sizing:border-box;box-sizing:border-box}.wpr-timeline-centered.wpr-one-sided-timeline .wpr-timeline-entry .wpr-extra-label,.wpr-timeline-centered.wpr-one-sided-timeline-left .wpr-timeline-entry .wpr-extra-label{right:auto;position:static!important;-webkit-transform:none!important;-ms-transform:none!important;transform:none!important;display:block;margin-bottom:10px}.wpr-timeline-centered.wpr-one-sided-timeline-left .wpr-timeline-entry .wpr-extra-label{position:static!important;text-align:right;margin-left:auto}.wpr-timeline-centered .wpr-timeline-entry .wpr-timeline-entry-inner .wpr-icon{display:block;width:48px;height:48px;-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;text-align:center;font-size:0;float:left}.wpr-timeline-centered .wpr-timeline-entry .wpr-timeline-entry-inner .wpr-data-wrap{position:relative;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.wpr-timeline-centered .wpr-timeline-entry .wpr-timeline-entry-inner .wpr-data-wrap:after{content:'';display:block;position:absolute;width:0;height:0;border-style:solid;border-width:9px 9px 9px 0;border-color:transparent;top:14px;margin-left:-9px}.wpr-title-wrap{overflow:hidden;-ms-flex-negative:0;flex-shrink:0;width:100%!important}.wpr-timeline-centered .wpr-timeline-entry .wpr-timeline-entry-inner .wpr-data-wrap .wpr-title{font-weight:700;display:inline-block}.wpr-timeline-centered .wpr-timeline-entry .wpr-timeline-entry-inner .wpr-data-wrap .wpr-title span{-webkit-opacity:.6;-moz-opacity:.6;opacity:.6}.wpr-timeline-centered .wpr-year-wrap .wpr-year-label{display:inline-block;text-align:center;white-space:nowrap}.wpr-timeline-centered .wpr-year-wrap{display:block;position:relative;float:left;clear:left;width:100%;margin-left:auto;margin-right:auto;padding:0;text-align:center}.wpr-timeline-centered.wpr-one-sided-timeline .wpr-year-wrap .wpr-year-label{position:absolute;-webkit-transform:translate(-50%,0);-ms-transform:translate(-50%,0);transform:translate(-50%,0)}.wpr-timeline-centered.wpr-one-sided-timeline-left .wpr-year-wrap .wpr-year-label{position:absolute;-webkit-transform:translate(50%,0);-ms-transform:translate(50%,0);transform:translate(50%,0)}.wpr-one-sided-timeline .wpr-timeline-entry .wpr-timeline-entry-inner .wpr-icon{-webkit-transform:translate(-50%,-50%)!important;-ms-transform:translate(-50%,-50%)!important;transform:translate(-50%,-50%)!important}.wpr-wrapper .wpr-icon{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important;-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.timeline-background-image{position:absolute;left:0;top:0;width:100%;opacity:.7;z-index:-1}.timeline-background-image img{width:100%}.wpr-horizontal-timeline .swiper-slide-line-bottom{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.wpr-horizontal-timeline .wpr-story-info{width:98%}.story-with-background{background-image:url('');background-repeat:no-repeat;background-position:center;background-size:cover}.wpr-timeline-story-overlay{position:absolute;top:0;left:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;width:100%;line-height:1;height:auto}.wpr-horizontal-bottom.swiper-container{position:unset;overflow:hidden;z-index:10}.wpr-horizontal.swiper-container{position:unset;z-index:11;margin:0 32px}.wpr-horizontal{padding-top:10px}.wpr-horizontal-bottom{padding-bottom:10px}.wpr-horizontal-bottom .wpr-year-wrap{position:absolute;display:table;text-align:center;top:96px;left:10px;height:36px;width:72px;vertical-align:middle;border-radius:6px;overflow:hidden;z-index:1;table-layout:fixed;word-break:break-word}.wpr-horizontal-bottom .wpr-year-label{padding:2px;vertical-align:middle;display:table-cell}.wpr-horizontal-bottom .wpr-icon{color:#fff;width:40px;height:40px;text-align:center;display:block;z-index:100;border-radius:50%;-webkit-transform:translate(-50%);-ms-transform:translate(-50%);transform:translate(-50%)}.wpr-horizontal .wpr-icon i,.wpr-horizontal-bottom .wpr-icon i{line-height:40px;font-size:26px}.wpr-horizontal-bottom .wpr-icon:empty{width:24px;height:24px;top:102px;left:calc(50% - 12px)}.wpr-horizontal-bottom .wpr-story-info:before{content:"";display:block;position:absolute}.wpr-horizontal-bottom .wpr-story-info{padding:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:relative;-webkit-transition:.2s ease-in;-o-transition:.2s ease-in;transition:.2s ease-in;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:6px}.wpr-story-info,.wpr-story-info-vertical{font-size:0}.wpr-timeline-media{overflow:hidden;position:relative;display:inline-block}.wpr-timeline-iframe-wrapper{position:relative;width:100%;height:0;padding-bottom:56.25%}.wpr-horizontal-bottom .wpr-title{display:inline-block;margin:0;line-height:1.2em;padding:8px 8px 0;font-size:20px}.wpr-horizontal .wpr-description,.wpr-horizontal-bottom .wpr-description{display:inline-block;width:100%;margin:0;line-height:1.2em;padding:8px;font-size:inherit}.wpr-wrapper .wpr-description{font-size:15px;background-color:transparent!important}.wpr-horizontal-bottom .wpr-swiper-pagination.swiper-pagination-progressbar{position:absolute;left:50%;z-index:0}.wpr-horizontal-bottom .wpr-swiper-pagination.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:rgba(0,0,0,.25)}.wpr-horizontal-bottom .wpr-button-next,.wpr-horizontal-bottom .wpr-button-prev{position:absolute;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:40px;top:113px;cursor:pointer;line-height:0}.wpr-horizontal .wpr-year-wrap{position:absolute;display:table;text-align:center;bottom:61px;left:12px;height:36px;width:72px;vertical-align:middle;border-radius:6px;overflow:hidden;z-index:1;table-layout:fixed;word-break:break-word;background:#ff00b3}.wpr-horizontal .wpr-year-label{padding:2px;vertical-align:middle;display:table-cell;background:#ff00b3}.wpr-timeline-centered .wpr-extra-label{-webkit-transform:translateY(-50%)!important;-ms-transform:translateY(-50%)!important;transform:translateY(-50%)!important}.wpr-horizontal .wpr-extra-label{position:absolute;display:table;width:100%;height:80px;overflow:hidden;text-align:center;vertical-align:middle;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.wpr-horizontal .wpr-extra-label .wpr-label,.wpr-horizontal .wpr-extra-label .wpr-sub-label{display:inline-block;width:100%}.wpr-horizontal .wpr-icon{width:40px;height:40px;text-align:center;position:absolute;display:block;z-index:100;left:50%;-webkit-transform:translate(-50%,50%);-ms-transform:translate(-50%,50%);transform:translate(-50%,50%)}.wpr-horizontal .wpr-icon:empty{width:24px;height:24px;bottom:48px;left:calc(50% - 12px)}.wpr-horizontal .wpr-story-info:before{content:"";display:block;position:absolute;left:calc(50% - 10px);left:-o-calc(50% - 10px);border-bottom-color:transparent!important;bottom:-28px}.wpr-horizontal .wpr-story-info,.wpr-horizontal-bottom .wpr-story-info{border-bottom:4px solid #23a455}.wpr-horizontal .wpr-story-info{position:relative;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-transition:.2s ease-in;-o-transition:.2s ease-in;transition:.2s ease-in;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box}.wpr-horizontal .wpr-title{padding:8px 8px 0;font-size:20px}.wpr-horizontal .wpr-swiper-pagination.swiper-pagination-progressbar{position:absolute;height:2px;left:50%;z-index:0}.wpr-horizontal .wpr-button-next,.wpr-horizontal .wpr-button-prev{position:absolute;font-size:40px;cursor:pointer;line-height:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wpr-horizontal .wpr-button-prev{margin-left:-6px}.wpr-horizontal .wpr-button-next{margin-right:-6px}.wpr-button-next.swiper-button-disabled,.wpr-button-prev.swiper-button-disabled{opacity:.35;pointer-events:none;opacity:.55;cursor:auto;pointer-events:none}.wpr-wrapper .wpr-year{font-size:16px;font-weight:700;line-height:2.1em}.wpr-wrapper span.wpr-title{font-size:20px;font-weight:600}.wpr-horizontal-bottom .wpr-story-info:before{border:13px solid;border-top-color:transparent;border-left-color:transparent;border-right-color:transparent}.wpr-left-aligned .wpr-data-wrap:after{border-right-color:transparent!important}.wpr-wrapper span.wpr-extra-label{font-size:15px;font-weight:400;color:#7a7a7a}.wpr-wrapper a.wpr-title{font-size:24px;font-weight:700}.wpr-horizontal .wpr-story-info:before{border:13px solid transparent}.wpr-horizontal .wpr-timeline-prev-arrow{left:1%;-webkit-transform:translateY(50%);-ms-transform:translateY(50%);transform:translateY(50%)}.wpr-horizontal .wpr-timeline-next-arrow{right:1%;-webkit-transform:translateY(50%) rotate(180deg);-ms-transform:translateY(50%) rotate(180deg);transform:translateY(50%) rotate(180deg)}.wpr-flip-carousel-wrapper,.wpr-lottie-animations-wrapper{min-height:1px}.wpr-flip-carousel{overflow:hidden!important;opacity:0}.wpr-flip-carousel ul li.flipster__item,.wpr-flip-items-wrapper img{margin:auto}.elementor-widget-wpr-page-checkout .checkout_coupon .form-row-last button,.elementor-widget-wpr-product-tabs:not(.wpr-tabs-hr-position-left):not(.wpr-tabs-hr-position-right):not(.wpr-tabs-hr-position-center) .elementor-widget-container>.wpr-tabs .wc-tabs,.elementor-widget-wpr-product-tabs:not(.wpr-tabs-hr-position-left):not(.wpr-tabs-hr-position-right):not(.wpr-tabs-hr-position-center) .elementor-widget-container>.wpr-tabs>.wpr-tabs-wrap,.woocommerce-MyAccount-navigation-link a,.wpr-acc-search-input,.wpr-account-tabs-stretch .woocommerce-MyAccount-navigation-link,.wpr-checkout-flex-justify .wc-proceed-to-checkout a,.wpr-flip-carousel ul li.flipster__item img,.wpr-img-accordion-item-display-custom.wpr-img-accordion-sep-style-1 .inner-block>span,.wpr-img-accordion-item-display-custom.wpr-img-accordion-sep-style-2 .inner-block>span,.wpr-product-media-wrap .woocommerce-product-gallery,.wpr-product-thumb-nav li img,.wpr-quantity-wrap,.wpr-sticky-section-yes,.wpr-table-appended-tr{width:100%}.wpr-flip-carousel .flipcaption,.wpr-flip-carousel .flipster__button,.wpr-flip-carousel .flipster__nav__link{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:center;outline:0}.wpr-flip-carousel .flipster__nav__link{width:100%;height:100%;padding:0}.elementor-widget-wpr-product-tabs .comment-reply-title,.woocommerce div.product .wpr-product-tabs .woocommerce-tabs ul.tabs li::after,.woocommerce div.product .wpr-product-tabs .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .wpr-product-tabs .woocommerce-tabs ul.tabs::after,.woocommerce div.product .wpr-product-tabs .woocommerce-tabs ul.tabs::before,.woocommerce-notices-wrapper .woocommerce-error:after,.woocommerce-notices-wrapper .woocommerce-message:after,.wpr-acc-active .wpr-ti-close,.wpr-checkout-notice .woocommerce-error:after,.wpr-checkout-notice .woocommerce-message:after,.wpr-close-cart,.wpr-feature-list-center .wpr-feature-list-line,.wpr-feature-list-item:last-of-type .wpr-feature-list-line,.wpr-flip-carousel .flipster__nav__link::after,.wpr-mini-cart .woocommerce-mini-cart-item.mini_cart_item:after,.wpr-mini-cart .woocommerce-mini-cart-item.mini_cart_item:before,.wpr-mini-cart-dropdown .wpr-mini-cart-separator,.wpr-product-add-to-cart .available-on-backorder,.wpr-product-add-to-cart .in-stock,.wpr-product-add-to-cart .out-of-stock,.wpr-product-add-to-cart .reset_variations,.wpr-product-media-thumbs-none .wpr-product-media-wrap .flex-control-nav,.wpr-product-rating a,.wpr-product-tabs h2.woocommerce-Reviews-title:first-of-type,.wpr-sub-hidden,.wpr-ti-open{display:none}.wpr-flip-carousel-navigation{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:center}.wpr-dual-heading-icon-and-desc-top .wpr-dual-heading-wrap{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.wpr-page-list,.wpr-taxonomy-list{display:-webkit-box;display:-ms-flexbox;display:flex;list-style:none;padding:0;margin:0}.wpr-taxonomy-list li a{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;display:inline-block;text-decoration:none}.wpr-taxonomy-list li .wpr-tax-dropdown{width:auto;cursor:pointer}.wpr-taxonomy-list span,.wpr-taxonomy-list-vertical .wpr-taxonomy-list i{line-height:1.5;vertical-align:middle}.wpr-product-add-to-cart .quantity,.wpr-taxonomy-list .wpr-tax-wrap,.wpr-taxonomy-list-horizontal .wpr-taxonomy-list li a{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wpr-page-list-horizontal .wpr-page-list,.wpr-taxonomy-list-horizontal .wpr-taxonomy-list{-ms-flex-wrap:wrap;flex-wrap:wrap}.wpr-entry-info-yes .wpr-table-pagination-cont,.wpr-export-search-inner-cont,.wpr-mini-cart-sidebar.wpr-close-btn-yes .wpr-close-cart,.wpr-taxonomy-list-vertical .wpr-taxonomy-list li a{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wpr-page-list-vertical .wpr-sub-page,.wpr-taxonomy-list-vertical .wpr-sub-taxonomy{padding-left:20px}.wpr-taxonomy-list-vertical .wpr-inner-sub-taxonomy{padding-left:40px}.wpr-feature-list-right .wpr-feature-list-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.wpr-feature-list-rhombus .wpr-feature-list-icon-inner-wrap{-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.wpr-feature-list-rhombus .wpr-feature-list-icon-wrap i,.wpr-feature-list-rhombus .wpr-feature-list-icon-wrap img{-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.wpr-feature-list-wrap .wpr-feature-list-icon-inner-wrap{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;overflow:hidden}.elementor-widget-wpr-page-checkout select,.elementor-widget-wpr-page-checkout ul,.wpr-feature-list,.wpr-product-tabs ol,.wpr-product-tabs ul{padding:0}.wpr-feature-list-icon-wrap img{width:100%;max-width:100%}.wpr-feature-list-item:not(:last-of-type) .wpr-feature-list-line{position:absolute;top:100%;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);width:0;height:0}.wpr-feature-list-left .wpr-feature-list-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:left}.wpr-image-accordion *,.wpr-product-add-to-cart *{margin:0;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}.wpr-image-accordion-wrap{overflow:hidden;opacity:0}.wpr-skew-acc-images-yes .wpr-image-accordion-wrap{overflow:visible}.wpr-image-accordion-wrap h1{position:relative;margin-bottom:45px;font-family:Oswald,sans-serif;font-size:44px;text-transform:uppercase;color:#424242}.wpr-image-accordion-wrap .wpr-image-accordion{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%}.wpr-image-accordion-wrap .wpr-image-accordion-item{position:relative;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden}.wpr-image-accordion-wrap .wpr-image-accordion-item .wpr-accordion-background{position:absolute;top:0;left:0;min-height:100%;min-width:100%}.elementor-widget-wpr-product-tabs .wc-tabs li,.wpr-image-accordion-item-inner{position:relative;text-align:center}.wpr-img-accordion-media-hover-top{position:absolute;top:0;left:0;width:100%;z-index:99}.wpr-img-accordion-media-hover-bottom{position:absolute;bottom:0;left:0;width:100%;z-index:99}.wpr-accordion-image-wrap{position:absolute;overflow:hidden;height:100%;width:100%;max-height:100%;max-width:100%;background-size:cover;background-position:center center}.wpr-accordion-image-wrap img{display:inline;max-height:100%}.wpr-img-accordion-item-lightbox{cursor:pointer}.wpr-animation-wrap-active .wpr-img-accordion-item-lightbox{pointer-events:auto}.wpr-img-accordion-lightbox-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:999}.wpr-image-accordion-item .inner-block a,.wpr-mini-cart-inner{position:relative;display:inline-block}.wpr-image-accordion .wpr-template-wrap{position:absolute;top:0;left:0;display:-webkit-box;display:-ms-flexbox;display:flex;height:100%}.wpr-table-tr-before-remove::before,.wpr-table-tr-before::before{top:10px;left:10px;color:#fff;width:20px;height:20px;border-radius:50%;font-size:15px}.wpr-particle-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0}.wpr-particle-wrapper canvas{position:relative;z-index:-1}.wpr-jarallax{position:relative;-webkit-transition:.9s ease-in-out;-o-transition:.9s ease-in-out;transition:.9s ease-in-out}.wpr-parallax-ml-children{position:relative;display:none}.wpr-reading-progress-bar-container{position:fixed;top:0;left:0;width:100%;z-index:9999999;background-color:transparent}.wpr-reading-progress-bar{background-color:#000;width:0%}.wpr-cart-section-table-wrap,.wpr-cart-wrapper .cart_totals,.wpr-table-inner-container{overflow-x:auto}.wpr-data-table{border-spacing:0;margin-right:0!important;margin-left:0!important;margin-bottom:0}.wpr-data-table tr:first-child th{border-top:none!important}.wpr-data-table tr:last-child td,.wpr-tabs-position-above .wpr-product-tabs .woocommerce-tabs ul.tabs li a{border-bottom:none!important}.wpr-data-table tr td:first-child,.wpr-data-table tr th:first-child{border-left:none!important}.wpr-data-table tr td:last-child,.wpr-data-table tr th:last-child{border-right:none!important}.wpr-flex-column{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wpr-flex-column-reverse{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wpr-equal-column-width-yes .wpr-data-table{table-layout:fixed}.wpr-equal-column-width-yes .wpr-data-table .wpr-table-td-pag,.wpr-equal-column-width-yes .wpr-data-table .wpr-table-th-pag{width:50px}.wpr-table-live-search-cont input{min-width:100%}.wpr-search-input-icon,.wpr-sorting-icon{position:absolute;top:50%;right:5%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.wpr-table-custom-pagination{list-style-type:none!important;padding:0}.wpr-table-tr-before::before{content:'+';position:absolute;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:green}.wpr-table-tr-before-remove::before{content:'-';position:absolute;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:red}.wpr-csv,.wpr-xls{padding:auto}.wpr-entry-info{white-space:nowrap;min-width:50px}.wpr-checkout-notice a,.wpr-table-text-nowrap-yes td,.wpr-table-text-nowrap-yes th{white-space:nowrap}.wpr-data-table .fa-question-circle{font-weight:400!important;font-family:"Font Awesome 5 Free"!important}.wpr-data-table-content-tooltip{position:absolute;top:-10px;left:50%;border-radius:4px;padding:6px 10px;visibility:hidden;opacity:0;font-size:15px;-webkit-transform:translate(-50%,-100%);-ms-transform:translate(-50%,-100%);transform:translate(-50%,-100%);-webkit-transition:230ms ease-in-out;-o-transition:230ms ease-in-out;transition:230ms ease-in-out;text-align:center}.wpr-table-td:hover .wpr-data-table-content-tooltip{visibility:visible;opacity:1;top:-7px;-ms-transform:translate(-50%,-100%);transform:translate(-50%,-100%);-webkit-transform:translate(-50%,-100%)}.wpr-mini-cart .woocommerce-mini-cart::-webkit-scrollbar{width:9px;background-color:transparent}.wpr-mini-cart .woocommerce-mini-cart::-webkit-scrollbar-thumb{border-right:3px solid}.wpr-mini-cart .woocommerce-mini-cart__empty-message{text-align:center;margin:0}.wpr-mini-cart{position:absolute;display:none;top:100%;z-index:999}.wpr-mini-cart-sidebar .wpr-mini-cart{background-color:transparent!important}.wpr-mini-cart-sidebar .wpr-mini-cart,.wpr-mini-cart-sidebar .wpr-shopping-cart-wrap{position:fixed;top:0;left:0;width:100%!important;height:100%;z-index:999;margin:0!important}.wpr-mini-cart-sidebar .wpr-shopping-cart-inner-wrap{position:absolute;top:0;-webkit-transition:1s;-o-transition:1s;transition:1s;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.wpr-mini-cart-sidebar .widget_shopping_cart_content{position:relative;top:0;-webkit-transition:1s;-o-transition:1s;transition:1s;height:auto;-webkit-box-flex:1;-ms-flex:1;flex:1}@-webkit-keyframes mini-cart-slide-in-align-left{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes mini-cart-slide-in-align-left{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes mini-cart-slide-out-align-left{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes mini-cart-slide-out-align-left{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@-webkit-keyframes mini-cart-slide-in-align-right{0%{-webkit-transform:translateX(100%);transform:translateX(100%)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes mini-cart-slide-in-align-right{0%{-webkit-transform:translateX(100%);transform:translateX(100%)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes mini-cart-slide-out-align-right{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes mini-cart-slide-out-align-right{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{-webkit-transform:translateX(100%);transform:translateX(100%)}}.wpr-mini-cart-sidebar.wpr-mini-cart-align-right .wpr-mini-cart-slide-in{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);-webkit-animation-name:mini-cart-slide-in-align-right;animation-name:mini-cart-slide-in-align-right;-webkit-animation-duration:.6s;animation-duration:.6s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.wpr-mini-cart-sidebar.wpr-mini-cart-align-right .wpr-mini-cart-slide-out{-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%);-webkit-animation-name:mini-cart-slide-out-align-right;animation-name:mini-cart-slide-out-align-right;-webkit-animation-duration:.6s;animation-duration:.6s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.wpr-mini-cart-sidebar.wpr-mini-cart-align-left .wpr-mini-cart-slide-in{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);-webkit-animation-name:mini-cart-slide-in-align-left;animation-name:mini-cart-slide-in-align-left;-webkit-animation-duration:.6s;animation-duration:.6s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.wpr-mini-cart-sidebar.wpr-mini-cart-align-left .wpr-mini-cart-slide-out{-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%);-webkit-animation-name:mini-cart-slide-out-align-left;animation-name:mini-cart-slide-out-align-left;-webkit-animation-duration:.6s;animation-duration:.6s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.wpr-mini-cart-icon-count{position:absolute;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-radius:50%}.wpr-buttons-layout-row .woocommerce-variation-add-to-cart,.wpr-mini-cart-toggle-btn,.wpr-product-add-to-cart .wpr-quantity-wrapper{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wpr-toggle-icon-none .wpr-mini-cart-btn-icon i::before{content:""}.wpr-toggle-icon-bag-light .wpr-mini-cart-btn-icon i::before{content:"\e8e3"}.wpr-toggle-icon-bag-medium .wpr-mini-cart-btn-icon i::before{content:"\e8e4"}.wpr-toggle-icon-bag-solid .wpr-mini-cart-btn-icon i::before{content:"\e8e5"}.wpr-toggle-icon-basket-light .wpr-mini-cart-btn-icon i::before{content:"\e8e6"}.wpr-toggle-icon-basket-medium .wpr-mini-cart-btn-icon i::before{content:"\e8e7"}.wpr-toggle-icon-basket-solid .wpr-mini-cart-btn-icon i::before{content:"\e8e8"}.wpr-toggle-icon-cart-light .wpr-mini-cart-btn-icon i::before{content:"\e8e9"}.wpr-toggle-icon-cart-medium .wpr-mini-cart-btn-icon i::before{content:"\e8ea"}.wpr-toggle-icon-cart-solid .wpr-mini-cart-btn-icon i::before{content:"\e8eb"}.wpr-mini-cart-wrap .woocommerce-mini-cart-item{position:relative;display:-ms-grid;display:grid;-ms-grid-columns:28% auto;grid-template-columns:28% auto;width:100%;text-align:left}.wpr-mini-cart-image a img,.wpr-mini-cart-image img{float:none!important;display:block;min-width:100%;height:auto;margin-left:0!important}.wpr-mini-cart-remove{position:absolute;right:0}.wpr-mini-cart-wrap .woocommerce-mini-cart-item .remove{position:relative;display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-line-pack:center;align-content:center;vertical-align:middle;text-indent:-9999px}.wpr-mini-cart-wrap .woocommerce-mini-cart-item a.remove:before{font-family:"Font Awesome 5 Free";content:'\f00d';position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);text-indent:0;font-weight:600!important}.wpr-cart-wrapper .product-remove .remove:hover,.wpr-mini-cart-wrap .woocommerce-mini-cart-item .remove:hover{background-color:transparent;color:#000}.wpr-mini-cart-wrap .woocommerce-mini-cart__buttons{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin:0}.wpr-mini-cart-wrap .woocommerce-mini-cart__buttons a.button{width:50%;text-align:center;margin:0}.wpr-mini-cart .woocommerce-mini-cart__total{text-align:center;padding:10px;margin:0}.wpr-cart-wrapper dl.variation,.wpr-mini-cart dl.variation{display:-ms-grid!important;display:grid!important;-ms-grid-columns:25% 75%!important;grid-template-columns:25% 75%!important}.wpr-cart-wrapper dl.variation dd,.wpr-cart-wrapper dl.variation dt,.wpr-mini-cart dl.variation dd,.wpr-mini-cart dl.variation dt{float:none!important;margin:0!important}dl.variation dd{margin-right:10px!important}@media screen and (max-width:768px){.wpr-flip-carousel ul li.flipster__item{width:70%}.wpr-export-search-inner-cont,.wpr-table-pagination-cont{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.wpr-equal-column-width-yes .wpr-data-table{table-layout:auto}.wpr-table-export-button-cont{width:100%;-ms-flex-pack:distribute;justify-content:space-around}.wpr-mini-cart-dropdown .wpr-mini-cart{position:fixed!important;width:100vw!important;top:auto!important}}.wpr-product-media-wrap{position:relative;display:inline-block;max-width:100%}.wpr-product-media-image{display:inline-block;position:relative;vertical-align:middle;overflow:hidden}.wpr-product-thumb-nav{display:-webkit-box;display:-ms-flexbox;display:flex;padding:0;margin:0;list-style:none}.wpr-product-thumb-nav li{overflow:hidden;cursor:pointer;opacity:.75}.wpr-gallery-zoom-yes .wpr-product-media-image:hover img{-webkit-transform:scale(1.5);-ms-transform:scale(1.5);transform:scale(1.5)}.wpr-product-media-onsale{position:absolute;top:0;left:0;z-index:2}.wpr-product-media-wrap .flex-control-thumbs{list-style-type:none;cursor:pointer}.wpr-product-media-wrap .flex-control-thumbs li{clear:none!important;width:100%!important}.wpr-product-media-thumbs-slider .wpr-product-media-wrap .flex-control-nav{position:relative;max-width:none!important;grid-column-gap:0px!important;grid-row-gap:0!important;-webkit-transition:.6s;-o-transition:.6s;transition:.6s}.wpr-product-media-thumbs-vertical .flex-viewport{width:75%}.woocommerce [data-elementor-type=wpr-theme-builder] #content div.product div.images,.woocommerce div.product[data-elementor-type=wpr-theme-builder] div.images,.woocommerce-page [data-elementor-type=wpr-theme-builder] #content div.product div.images,.woocommerce-page div.product[data-elementor-type=wpr-theme-builder] div.images{float:none;width:100%;height:auto;margin-bottom:0}[data-elementor-type=wpr-theme-builder] ul.flex-direction-nav{position:absolute;top:90%;z-index:-9;opacity:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;left:0;margin:0;padding:0;list-style:none}[data-elementor-type=wpr-theme-builder] .wpr-product-media-wrap a.flex-next,[data-elementor-type=wpr-theme-builder] .wpr-product-media-wrap a.flex-prev{visibility:hidden;overflow:hidden}[data-elementor-type=wpr-theme-builder] a.flex-next::after{visibility:visible;content:'\f054';font-family:'Font Awesome 5 Free';position:absolute;top:0;right:0}[data-elementor-type=wpr-theme-builder] a.flex-prev::before{visibility:visible;content:'\f053';font-family:'Font Awesome 5 Free';position:absolute;top:0;left:0}[data-elementor-type=wpr-theme-builder] ul.flex-direction-nav li a{color:#ccc}.wpr-product-media-wrap .wpr-product-sales-badge{position:absolute;top:0;left:0;z-index:2;display:inline-block}.woocommerce div.product[data-elementor-type=wpr-theme-builder] div.images .woocommerce-product-gallery__trigger,.wpr-product-media-wrap .wpr-product-media-lightbox{position:absolute;top:0;right:0;cursor:pointer}.wpr-product-media-wrap .woocommerce-product-gallery__trigger{display:none;opacity:0!important;z-index:99}.woocommerce div.product .wpr-product-tabs .woocommerce-tabs ul.tabs,.woocommerce div.product .wpr-product-tabs .woocommerce-tabs ul.tabs li{overflow:visible;padding:0;margin:0;border:none;background-color:transparent}.woocommerce div.product .wpr-product-tabs .woocommerce-tabs ul.tabs li a{display:block;font-weight:400}.wpr-tabs-position-above .wpr-product-tabs .woocommerce-tabs ul.tabs li.active:after{content:' ';display:block;border:none;-webkit-box-shadow:none;box-shadow:none;padding:0;margin:0 auto;position:static}.wpr-tabs-hr-position-center>.elementor-widget-container .wc-tabs,.wpr-tabs-hr-position-center>.elementor-widget-container>.wc-tabs-wrapper{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wpr-tabs-hr-position-right>.elementor-widget-container .wc-tabs{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.elementor-widget-wpr-product-tabs .woocommerce-Tabs-panel{width:100%;display:none}.cart_totals table.shop_table,.elementor-widget-wpr-product-tabs .wpr-product-tabs table,.elementor-widget-wpr-product-tabs .wpr-product-tabs tr td,.elementor-widget-wpr-product-tabs .wpr-product-tabs tr th,.wpr-cart-section-table-wrap table.shop_table,.wpr-cart-wrapper table.shop_table td,.wpr-product-additional-information table.shop_attributes,.wpr-product-additional-information table.shop_attributes td,.wpr-product-additional-information table.shop_attributes th{border:none}.elementor-widget-wpr-product-tabs #reviews #comments ol.commentlist li .comment-text{margin:0 0 0 50px;border:1px solid;border-radius:4px;padding:1em 1em 0}.elementor-widget-wpr-product-tabs .woocommerce-Reviews .comment_container{border-bottom:none;padding:0;margin:0}.wpr-individual-rating-cont{position:relative;display:inline-block;width:150px}.wpr-individual-rating-cont span{position:absolute;top:0;left:0;display:inline-block;height:100%;background-color:#000}.elementor-widget-wpr-product-tabs #reviews #comments ol.commentlist li img.avatar{float:left;position:absolute;top:0;left:0;padding:0;width:32px;height:auto;background:#ebe9eb;border:1px solid #e4e1e3;margin:0;-webkit-box-shadow:none;box-shadow:none}.elementor-widget-wpr-product-tabs p.stars a{position:relative;height:1em;text-indent:-999em;display:inline-block;text-decoration:none;-webkit-box-shadow:none;box-shadow:none;margin:0;font-size:inherit;border:none;width:15px;text-indent:-999999px}.elementor-widget-wpr-product-tabs p.stars a.active::before,.elementor-widget-wpr-product-tabs p.stars a:hover::before,.elementor-widget-wpr-product-tabs p.stars.selected a.active:before,.elementor-widget-wpr-product-tabs p.stars.selected a:not(.active):before,.elementor-widget-wpr-product-tabs p.stars:hover a:before{content:"\e020"}.elementor-widget-wpr-product-tabs p.stars a:before,.elementor-widget-wpr-product-tabs p.stars a:hover~a:before,.elementor-widget-wpr-product-tabs p.stars.selected a.active~a:before{content:"\e021"}.elementor-widget-wpr-product-tabs p.stars a::before{display:block;position:absolute;top:0;left:0;width:1em;height:1em;line-height:1;font-family:WooCommerce;content:"\e021";text-indent:0;opacity:1;font-size:inherit}.elementor-widget-wpr-product-tabs .star-rating::before{color:#000;float:left;top:0;left:0;position:absolute}.elementor-widget-wpr-product-tabs .star-rating span::before{top:0;position:absolute;left:0}.wpr-product-meta .posted_in,.wpr-product-meta .sku_wrapper,.wpr-product-meta .tagged_as{display:none;position:relative}.woocommerce-notices-wrapper .woocommerce-error,.woocommerce-notices-wrapper .woocommerce-message,.wpr-checkout-notice .woocommerce-error,.wpr-checkout-notice .woocommerce-message{margin:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.woocommerce-grouped-product-list-item a.button,.wpr-acc-icon-box,.wpr-cart-wrapper .product-remove .remove,.wpr-product-filter-tax-wrap li a span:first-child{display:-webkit-inline-box;display:-ms-inline-flexbox}.woocommerce-notices-wrapper .woocommerce-error:before,.woocommerce-notices-wrapper .woocommerce-message:before,.wpr-checkout-notice .woocommerce-error:before,.wpr-checkout-notice .woocommerce-message:before{top:50%!important;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}@media screen and (min-width:481px){.woocommerce-notices-wrapper .woocommerce-message:before,.wpr-checkout-notice .woocommerce-message:before{top:50%!important;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}}@media screen and (max-width:480px){.wpr-testimonial-meta-position-left .wpr-testimonial-item,.wpr-testimonial-meta-position-right .wpr-testimonial-item{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.wpr-testimonial-meta-position-left .wpr-testimonial-content-inner,.wpr-testimonial-meta-position-right .wpr-testimonial-content-inner{margin-left:0!important}.wpr-testimonial-meta-position-left .wpr-testimonial-meta,.wpr-testimonial-meta-position-right .wpr-testimonial-meta{margin-left:0!important;margin-right:0!important;padding:0!important;margin-bottom:20px}.wpr-testimonial-meta-position-left .wpr-testimonial-content-inner:before,.wpr-testimonial-meta-position-right .wpr-testimonial-content-inner:before{display:none}.wpr-testimonial-meta-position-left .wpr-testimonial-image,.wpr-testimonial-meta-position-left .wpr-testimonial-meta-content-wrap,.wpr-testimonial-meta-position-right .wpr-testimonial-image,.wpr-testimonial-meta-position-right .wpr-testimonial-meta-content-wrap{display:block!important;float:none!important;text-align:center!important}.wpr-testimonial-meta-position-left.wpr-testimonial-image-position-left .wpr-testimonial-image,.wpr-testimonial-meta-position-left.wpr-testimonial-image-position-right .wpr-testimonial-image,.wpr-testimonial-meta-position-right.wpr-testimonial-image-position-left .wpr-testimonial-image,.wpr-testimonial-meta-position-right.wpr-testimonial-image-position-right .wpr-testimonial-image{margin-left:0!important;margin-right:0!important}.wpr-testimonial-meta-position-left .wpr-testimonial-image img,.wpr-testimonial-meta-position-left .wpr-testimonial-logo-image img,.wpr-testimonial-meta-position-right .wpr-testimonial-image img,.wpr-testimonial-meta-position-right .wpr-testimonial-logo-image img{display:inline-block!important;float:none!important}.wpr-button-tooltip-a-position-left .wpr-button-tooltip-a,.wpr-button-tooltip-b-position-right .wpr-button-tooltip-b,.wpr-button-tooltip-position-left .wpr-button-tooltip,.wpr-button-tooltip-position-right .wpr-button-tooltip{top:0;left:50%!important;right:auto!important;-ms-transform:translate(-50%,-120%);transform:translate(-50%,-120%);-webkit-transform:translate(-50%,-120%);margin-top:-5px}.wpr-button-tooltip-a-position-left .wpr-button-a-wrap:hover .wpr-button-tooltip-a,.wpr-button-tooltip-b-position-right .wpr-button-b-wrap:hover .wpr-button-tooltip-b,.wpr-button-tooltip-position-left .wpr-button-wrap:hover .wpr-button-tooltip,.wpr-button-tooltip-position-right .wpr-button-wrap:hover .wpr-button-tooltip{-ms-transform:translate(-50%,-100%);transform:translate(-50%,-100%);-webkit-transform:translate(-50%,-100%)}.wpr-button-tooltip-a-position-left .wpr-button-tooltip-a:before,.wpr-button-tooltip-b-position-right .wpr-button-tooltip-b:before,.wpr-button-tooltip-position-left .wpr-button-tooltip:before,.wpr-button-tooltip-position-right .wpr-button-tooltip:before{left:50%;-ms-transform:translateX(-50%);transform:translateX(-50%);-webkit-transform:translateX(-50%);bottom:-5px;top:auto}.woocommerce-notices-wrapper .woocommerce-message,.wpr-checkout-notice .woocommerce-message{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.woocommerce-notices-wrapper .woocommerce-message p,.wpr-checkout-notice .woocommerce-message p{margin-bottom:.9em!important}}.elementor-widget-wpr-product-add-to-cart:not(.wpr-product-qty-align-default) .wpr-quantity-wrapper .qty{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.elementor-widget-wpr-product-add-to-cart:not(.wpr-product-qty-align-default) .wpr-quantity-wrapper .qty::-webkit-inner-spin-button,.wpr-quantity-wrap .qty::-webkit-outer-spin-button{-webkit-appearance:none}.wpr-buttons-layout-column .woocommerce-variation-add-to-cart{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.wpr-product-qty-align-left.wpr-buttons-layout-column .woocommerce-variation-add-to-cart .wpr-quantity-wrapper{-ms-flex-item-align:start;align-self:flex-start}.wpr-product-qty-align-right.wpr-buttons-layout-column .woocommerce-variation-add-to-cart .wpr-quantity-wrapper{-ms-flex-item-align:end;align-self:flex-end}.wpr-product-qty-align-before .wpr-quantity-wrapper i:first-child{border-right:0!important;border-bottom:0!important}.wpr-product-qty-align-before .wpr-quantity-wrapper i:last-child,.wpr-product-qty-align-both .wpr-quantity-wrapper i:first-child{border-right:0!important}.wpr-product-qty-align-after .wpr-quantity-wrapper i:first-child{border-left:0!important;border-bottom:0!important}.wpr-product-qty-align-after .wpr-quantity-wrapper i:last-child,.wpr-product-qty-align-both .wpr-quantity-wrapper i:last-child{border-left:0!important}.woocommerce div.product .wpr-product-add-to-cart form.cart .group_table td{vertical-align:middle;padding:0}.wpr-variations-layout-column .variations tr td,.wpr-variations-layout-column .variations tr th{padding:0;width:100%}.woocommerce-grouped-product-list-item a.button{display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;font-weight:400}.wpr-product-rating .wpr-woo-rating i:before{content:'\002605'!important}.wpr-cart-wrapper table td,.wpr-cart-wrapper table th{border:0}.elementor-widget[class*=elementor-widget-wpr-] table.shop_table .wc-item-meta li{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;margin-right:10px}@media screen and (max-width:881px){.wpr-cart-horizontal .wpr-cart-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.wpr-cart-horizontal .wpr-cart-wrapper .cart-collaterals .cart_totals,.wpr-cart-vertical .cart-collaterals .cart_totals,.wpr-checkout-horizontal .col2-set .col-1,.wpr-checkout-horizontal .col2-set .col-2,.wpr-checkout-vertical .col2-set .col-1,.wpr-checkout-vertical .col2-set .col-2,.wpr-my-account-tabs-horizontal .woocommerce-MyAccount-content,.wpr-my-account-tabs-horizontal nav.woocommerce-MyAccount-navigation{float:none;width:100%}.wpr-cart-sticky-yes .cart-collaterals{position:sticky;top:0}.elementor-widget-wpr-page-checkout .select2-container .select2-selection--single .select2-selection__rendered,.wpr-cart-wrapper .select2-selection--single .select2-selection__rendered{padding-left:0}.wpr-cart-wrapper .form-row.coupon-col .coupon-col-end button{width:100%;height:100%}.wpr-cart-wrapper a.remove:before{font-family:"Font Awesome 5 Free";content:'\f00d';position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);text-indent:0}.wpr-cart-wrapper .product-remove .remove{position:relative;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-line-pack:center;align-content:center;vertical-align:middle;text-indent:-9999px}.elementor-widget-wpr-page-checkout .select2-container--default .select2-selection--single,.elementor-widget-wpr-page-checkout .select2-container--focus span,.wpr-cart-wrapper .select2-container--default .select2-selection--single,.wpr-cart-wrapper .select2-container--focus span{border:none!important;outline:0!important}.elementor-widget-wpr-page-checkout .checkout_coupon .form-row-last{width:18%}.wpr-checkout-order-review-table #order_review table{border:none!important}.wpr-checkout-order-review-table #order_review thead th:first-child{border-left-style:none!important;border-top-style:none!important}.wpr-checkout-order-review-table #order_review thead th:last-child{border-right-style:none!important;border-top-style:none!important}.wpr-checkout-order-review-table #order_review tbody td:first-child,.wpr-checkout-order-review-table #order_review tfoot tr th:first-child{border-left-style:none!important}.wpr-checkout-order-review-table #order_review tbody td:last-child,.wpr-checkout-order-review-table #order_review tfoot tr td:last-child{border-right-style:none!important}.wpr-checkout-order-review-table #order_review tfoot tr:last-child td,.wpr-checkout-order-review-table #order_review tfoot tr:last-child th{border-bottom-style:none!important}.elementor-widget-wpr-page-checkout table.shop_table{margin:0;border-collapse:collapse}@media screen and (max-width:670px){.wpr-checkout-horizontal .wpr-customer-details-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.wpr-checkout-horizontal .wpr-customer-details-wrapper .wpr-checkout-order-review-table{max-width:100%}}.elementor-widget-wpr-my-account-pro .woocommerce-MyAccount-navigation ul{margin:0;padding:0;list-style-type:none}.elementor-widget-wpr-my-account-pro .woocommerce-MyAccount-content fieldset{border:none;padding:0}.elementor-widget-wpr-my-account-pro .select2-selection{height:auto!important;border:none!important}@media screen and (max-width:867px){.woocommerce-account .wpr-my-account-tabs-vertical .woocommerce-MyAccount-navigation{float:left}.woocommerce-account .wpr-my-account-tabs-vertical .woocommerce-MyAccount-content{float:right}}@media screen and (max-width:767px){.wpr-main-menu-align--mobilecenter .wpr-nav-menu-vertical .wpr-menu-item .wpr-sub-icon,.wpr-main-menu-align--mobileleft .wpr-nav-menu-vertical .wpr-menu-item .wpr-sub-icon{right:0}.wpr-main-menu-align--mobileleft .wpr-nav-menu-horizontal .wpr-nav-menu,.wpr-main-menu-align--mobileleft .wpr-nav-menu-vertical .wpr-menu-item{text-align:left}.wpr-main-menu-align--mobilecenter .wpr-nav-menu-horizontal .wpr-nav-menu,.wpr-main-menu-align--mobilecenter .wpr-nav-menu-vertical .wpr-menu-item{text-align:center}.wpr-main-menu-align--mobileright .wpr-nav-menu-horizontal .wpr-nav-menu,.wpr-main-menu-align--mobileright .wpr-nav-menu-vertical .wpr-menu-item{text-align:right}.wpr-grid-pagination a>span,.wpr-grid-pagination span>span,.wpr-nav-menu-bp-mobile .wpr-nav-menu-container,.wpr-nav-menu-bp-pro-al .wpr-nav-menu-container,.wpr-nav-menu-bp-pro-nn .wpr-nav-menu-container{display:none}.wpr-nav-menu-bp-mobile .wpr-mobile-nav-menu-container,.wpr-nav-menu-bp-pro-al .wpr-mobile-nav-menu-container,.wpr-nav-menu-bp-pro-nn .wpr-mobile-nav-menu-container{display:block}.wpr-grid-pagination a,.wpr-grid-pagination span{margin-bottom:10px}.wpr-grid-pagination.wpr-grid-pagination-numbered a i,.wpr-grid-pagination.wpr-grid-pagination-numbered span i{padding:0!important}.wpr-magazine-grid.wpr-mgzn-grid-3-h.wpr-mgzn-grid-rows-1{-ms-grid-columns:1fr!important;grid-template-columns:1fr!important;-ms-grid-rows:(1fr)[3]!important;grid-template-rows:repeat(3,1fr)!important}.wpr-magazine-grid.wpr-mgzn-grid-3-h.wpr-mgzn-grid-rows-1>:first-child,.wpr-magazine-grid.wpr-mgzn-grid-3-h.wpr-mgzn-grid-rows-2>:first-child,.wpr-magazine-grid.wpr-mgzn-grid-3-h.wpr-mgzn-grid-rows-3>:first-child{-ms-grid-row:1;-ms-grid-column:1}.wpr-magazine-grid.wpr-mgzn-grid-3-h.wpr-mgzn-grid-rows-1>:nth-child(2),.wpr-magazine-grid.wpr-mgzn-grid-3-h.wpr-mgzn-grid-rows-2>:nth-child(2),.wpr-magazine-grid.wpr-mgzn-grid-3-h.wpr-mgzn-grid-rows-3>:nth-child(2){-ms-grid-row:2;-ms-grid-column:1}.wpr-magazine-grid.wpr-mgzn-grid-3-h.wpr-mgzn-grid-rows-1>:nth-child(3),.wpr-magazine-grid.wpr-mgzn-grid-3-h.wpr-mgzn-grid-rows-2>:nth-child(3),.wpr-magazine-grid.wpr-mgzn-grid-3-h.wpr-mgzn-grid-rows-3>:nth-child(3){-ms-grid-row:3;-ms-grid-column:1}.wpr-magazine-grid.wpr-mgzn-grid-3-h.wpr-mgzn-grid-rows-2{-ms-grid-columns:1fr!important;grid-template-columns:1fr!important;-ms-grid-rows:(1fr)[6]!important;grid-template-rows:repeat(6,1fr)!important}.wpr-magazine-grid.wpr-mgzn-grid-3-h.wpr-mgzn-grid-rows-2>:nth-child(4),.wpr-magazine-grid.wpr-mgzn-grid-3-h.wpr-mgzn-grid-rows-3>:nth-child(4){-ms-grid-row:4;-ms-grid-column:1}.wpr-magazine-grid.wpr-mgzn-grid-3-h.wpr-mgzn-grid-rows-2>:nth-child(5),.wpr-magazine-grid.wpr-mgzn-grid-3-h.wpr-mgzn-grid-rows-3>:nth-child(5){-ms-grid-row:5;-ms-grid-column:1}.wpr-magazine-grid.wpr-mgzn-grid-3-h.wpr-mgzn-grid-rows-2>:nth-child(6),.wpr-magazine-grid.wpr-mgzn-grid-3-h.wpr-mgzn-grid-rows-3>:nth-child(6){-ms-grid-row:6;-ms-grid-column:1}.wpr-magazine-grid.wpr-mgzn-grid-3-h.wpr-mgzn-grid-rows-3{-ms-grid-columns:1fr!important;grid-template-columns:1fr!important;-ms-grid-rows:(1fr)[9]!important;grid-template-rows:repeat(9,1fr)!important}.wpr-magazine-grid.wpr-mgzn-grid-3-h.wpr-mgzn-grid-rows-3>:nth-child(7){-ms-grid-row:7;-ms-grid-column:1}.wpr-magazine-grid.wpr-mgzn-grid-3-h.wpr-mgzn-grid-rows-3>:nth-child(8){-ms-grid-row:8;-ms-grid-column:1}.wpr-magazine-grid.wpr-mgzn-grid-3-h.wpr-mgzn-grid-rows-3>:nth-child(9){-ms-grid-row:9;-ms-grid-column:1}.wpr-timeline-centered.wpr-both-sided-timeline .wpr-timeline-entry{float:none;width:100%}.wpr-timeline-centered .wpr-right-aligned .wpr-icon{-webkit-transform:translate(-50%,-50%)!important;-ms-transform:translate(-50%,-50%)!important;transform:translate(-50%,-50%)!important}.wpr-one-sided-timeline .wpr-extra-label{position:static!important;-webkit-transform:none!important;-ms-transform:none!important;transform:none!important;display:block;margin-bottom:10px}.wpr-right-aligned .wpr-extra-label .wpr-label{text-align:left!important}.wpr-my-account-tabs-horizontal .woocommerce-MyAccount-navigation ul{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.woocommerce-account .wpr-my-account-tabs-vertical .woocommerce-MyAccount-content,.woocommerce-account .wpr-my-account-tabs-vertical .woocommerce-MyAccount-navigation{width:100%!important}}.wpr-active-filters-horizontal .wpr-product-active-filters{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.wpr-product-active-filters li a::before{font-family:"Font Awesome 5 Free"!important;content:'\f00d';top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);font-weight:600!important}.wpr-product-filter-rating .wpr-rating-icon-full{color:orange}.wpr-product-filter-rating .wpr-rating-icon-empty{color:#d3d3d3}.wpr-product-filter-rating .wpr-active-product-filter .wpr-rating-icon-full,.wpr-product-filter-tax-wrap .wpr-active-product-filter{color:red}.wpr-product-filter-tax-wrap li a{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;line-height:1}.wpr-product-filter-tax-wrap li a span:last-child:not(.wpr-product-filter-tax-name){margin-left:4px}.wpr-product-filter-tax-wrap li a span:first-child{display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.wpr-active-product-filter:not(.wpr-woo-rating) span:first-child:before{content:"\f00c";font-family:"Font Awesome 5 Free";font-weight:900}.wpr-product-filter-price-slider .ui-slider-range{position:absolute;display:block}.wpr-product-filter-price-slider .ui-slider-handle{position:absolute;cursor:ew-resize}.wpr-product-filter-slide-handlers-square .wpr-product-filter-price-slider .ui-slider-handle{border-radius:0;border:none!important;outline:0!important}.wpr-product-filter-price-amount{margin-top:20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.wpr-charts-container{min-height:20px}.wpr-charts-container .wpr-rotating-plane{width:25px;height:25px;background:rgba(0,0,0,.25);border-radius:50%;position:absolute;top:50%;left:50%;z-index:999;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.wpr-acc-search-input-wrap i{position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.wpr-acc-search-input-wrap i.fa-times{cursor:pointer;display:none}.wpr-advanced-accordion .wpr-acc-button{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;width:100%;border:none;text-align:left;outline:0;font-size:15px;-webkit-transition:none;-o-transition:none;transition:none}.wpr-acc-icon-box{position:absolute;left:0;top:0;height:100%;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wpr-acc-icon-box-after{position:absolute;left:100%;top:0;height:0;width:0}.wpr-acc-item-title{z-index:9;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wpr-acc-title-text{white-space:normal}.wpr-advanced-accordion .wpr-toggle-icon i{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0)}.wpr-advanced-accordion .wpr-acc-panel{display:none;overflow:hidden;position:relative;-webkit-transition:max-height .2s ease-out;-o-transition:max-height .2s ease-out;transition:max-height .2s ease-out}.wpr-acc-button:hover,.wpr-advanced-accordion .wpr-acc-active{background-color:#ccc}.wpr-page-list li{font-size:0;text-align:left}.wpr-page-list li a{display:inline-block;text-decoration:none;cursor:pointer}.wpr-page-list i,.wpr-page-list i:before{width:100%;height:100%;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.wpr-page-list .wpr-page-list-item,.wpr-page-list-item-icon,.wpr-page-list-item-icon i{display:-webkit-inline-box;display:-ms-inline-flexbox}.wpr-page-list .wpr-page-list-item{display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.wpr-page-list-item{line-height:1.5}.wpr-page-list-item-icon{margin-right:5px;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wpr-page-list-item-icon i{font-size:25px;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wpr-pl-badge-top .wpr-page-list-item-badge,.wpr-pl-icon-top .wpr-page-list-item-icon{margin-bottom:auto}.wpr-pl-badge-bottom .wpr-page-list-item-badge,.wpr-pl-icon-bottom .wpr-page-list-item-icon{margin-top:auto}.wpr-page-list-item-badge{background-color:#ff00b3;padding:3px 5px}@keyframes badgeFade{50%{opacity:.5}0%{opacity:1}}
assets/css/lib/animations/loading-animations.css CHANGED
@@ -1,1064 +1,1064 @@
1
- /*
2
- * Usage:
3
- *
4
- <div class="wpr-rotating-plane"></div>
5
- *
6
- */
7
-
8
- .wpr-rotating-plane {
9
- width: 40px;
10
- height: 40px;
11
- background-color: #333;
12
- -webkit-animation: wpr-rotatePlane 1.2s infinite ease-in-out;
13
- animation: wpr-rotatePlane 1.2s infinite ease-in-out;
14
- }
15
-
16
- @-webkit-keyframes wpr-rotatePlane {
17
- 0% {
18
- -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg);
19
- transform: perspective(120px) rotateX(0deg) rotateY(0deg);
20
- }
21
- 50% {
22
- -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
23
- transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
24
- }
25
- 100% {
26
- -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
27
- transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
28
- }
29
- }
30
-
31
- @keyframes wpr-rotatePlane {
32
- 0% {
33
- -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg);
34
- transform: perspective(120px) rotateX(0deg) rotateY(0deg);
35
- }
36
- 50% {
37
- -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
38
- transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
39
- }
40
- 100% {
41
- -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
42
- transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
43
- }
44
- }
45
-
46
-
47
- /*
48
- * Usage:
49
- *
50
- <div class="wpr-double-bounce">
51
- <div class="wpr-child wpr-double-bounce1"></div>
52
- <div class="wpr-child wpr-double-bounce2"></div>
53
- </div>
54
- *
55
- */
56
-
57
- .wpr-double-bounce {
58
- width: 23px;
59
- height: 23px;
60
- position: relative;
61
- }
62
-
63
- .wpr-double-bounce .wpr-child {
64
- width: 100%;
65
- height: 100%;
66
- border-radius: 50%;
67
- opacity: 0.6;
68
- position: absolute;
69
- top: 0;
70
- left: 0;
71
- -webkit-animation: wpr-doubleBounce 2s infinite ease-in-out;
72
- animation: wpr-doubleBounce 2s infinite ease-in-out;
73
- }
74
-
75
- .wpr-double-bounce .wpr-double-bounce2 {
76
- -webkit-animation-delay: -1.0s;
77
- animation-delay: -1.0s;
78
- }
79
-
80
- @-webkit-keyframes wpr-doubleBounce {
81
- 0%,
82
- 100% {
83
- -webkit-transform: scale(0);
84
- transform: scale(0);
85
- }
86
- 50% {
87
- -webkit-transform: scale(1);
88
- transform: scale(1);
89
- }
90
- }
91
-
92
- @keyframes wpr-doubleBounce {
93
- 0%,
94
- 100% {
95
- -webkit-transform: scale(0);
96
- transform: scale(0);
97
- }
98
- 50% {
99
- -webkit-transform: scale(1);
100
- transform: scale(1);
101
- }
102
- }
103
-
104
-
105
- /*
106
- * Usage:
107
- *
108
- <div class="wpr-wave">
109
- <div class="wpr-rect wpr-rect1"></div>
110
- <div class="wpr-rect wpr-rect2"></div>
111
- <div class="wpr-rect wpr-rect3"></div>
112
- <div class="wpr-rect wpr-rect4"></div>
113
- <div class="wpr-rect wpr-rect5"></div>
114
- </div>
115
- *
116
- */
117
-
118
- .wpr-wave {
119
- width: 50px;
120
- height: 25px;
121
- text-align: center;
122
- }
123
-
124
- .wpr-wave .wpr-rect {
125
- height: 100%;
126
- width: 4px;
127
- margin-right: 2px;
128
- display: inline-block;
129
- -webkit-animation: wpr-waveStretchDelay 1.2s infinite ease-in-out;
130
- animation: wpr-waveStretchDelay 1.2s infinite ease-in-out;
131
- }
132
-
133
- .wpr-wave .wpr-rect1 {
134
- -webkit-animation-delay: -1.2s;
135
- animation-delay: -1.2s;
136
- }
137
-
138
- .wpr-wave .wpr-rect2 {
139
- -webkit-animation-delay: -1.1s;
140
- animation-delay: -1.1s;
141
- }
142
-
143
- .wpr-wave .wpr-rect3 {
144
- -webkit-animation-delay: -1s;
145
- animation-delay: -1s;
146
- }
147
-
148
- .wpr-wave .wpr-rect4 {
149
- -webkit-animation-delay: -0.9s;
150
- animation-delay: -0.9s;
151
- }
152
-
153
- .wpr-wave .wpr-rect5 {
154
- -webkit-animation-delay: -0.8s;
155
- animation-delay: -0.8s;
156
- }
157
-
158
- @-webkit-keyframes wpr-waveStretchDelay {
159
- 0%,
160
- 40%,
161
- 100% {
162
- -webkit-transform: scaleY(0.4);
163
- transform: scaleY(0.4);
164
- }
165
- 20% {
166
- -webkit-transform: scaleY(1);
167
- transform: scaleY(1);
168
- }
169
- }
170
-
171
- @keyframes wpr-waveStretchDelay {
172
- 0%,
173
- 40%,
174
- 100% {
175
- -webkit-transform: scaleY(0.4);
176
- transform: scaleY(0.4);
177
- }
178
- 20% {
179
- -webkit-transform: scaleY(1);
180
- transform: scaleY(1);
181
- }
182
- }
183
-
184
-
185
- /*
186
- * Usage:
187
- *
188
- <div class="wpr-wandering-cubes">
189
- <div class="wpr-cube wpr-cube1"></div>
190
- <div class="wpr-cube wpr-cube2"></div>
191
- </div>
192
- *
193
- */
194
-
195
- .wpr-wandering-cubes {
196
- width: 40px;
197
- height: 40px;
198
- position: relative;
199
- }
200
-
201
- .wpr-wandering-cubes .wpr-cube {
202
- background-color: #333;
203
- width: 10px;
204
- height: 10px;
205
- position: absolute;
206
- top: 0;
207
- left: 0;
208
- -webkit-animation: wpr-wanderingCube 1.8s ease-in-out -1.8s infinite both;
209
- animation: wpr-wanderingCube 1.8s ease-in-out -1.8s infinite both;
210
- }
211
-
212
- .wpr-wandering-cubes .wpr-cube2 {
213
- -webkit-animation-delay: -0.9s;
214
- animation-delay: -0.9s;
215
- }
216
-
217
- @-webkit-keyframes wpr-wanderingCube {
218
- 0% {
219
- -webkit-transform: rotate(0deg);
220
- transform: rotate(0deg);
221
- }
222
- 25% {
223
- -webkit-transform: translateX(30px) rotate(-90deg) scale(0.5);
224
- transform: translateX(30px) rotate(-90deg) scale(0.5);
225
- }
226
- 50% {
227
- /* Hack to make FF rotate in the right direction */
228
- -webkit-transform: translateX(30px) translateY(30px) rotate(-179deg);
229
- transform: translateX(30px) translateY(30px) rotate(-179deg);
230
- }
231
- 50.1% {
232
- -webkit-transform: translateX(30px) translateY(30px) rotate(-180deg);
233
- transform: translateX(30px) translateY(30px) rotate(-180deg);
234
- }
235
- 75% {
236
- -webkit-transform: translateX(0) translateY(30px) rotate(-270deg) scale(0.5);
237
- transform: translateX(0) translateY(30px) rotate(-270deg) scale(0.5);
238
- }
239
- 100% {
240
- -webkit-transform: rotate(-360deg);
241
- transform: rotate(-360deg);
242
- }
243
- }
244
-
245
- @keyframes wpr-wanderingCube {
246
- 0% {
247
- -webkit-transform: rotate(0deg);
248
- transform: rotate(0deg);
249
- }
250
- 25% {
251
- -webkit-transform: translateX(30px) rotate(-90deg) scale(0.5);
252
- transform: translateX(30px) rotate(-90deg) scale(0.5);
253
- }
254
- 50% {
255
- /* Hack to make FF rotate in the right direction */
256
- -webkit-transform: translateX(30px) translateY(30px) rotate(-179deg);
257
- transform: translateX(30px) translateY(30px) rotate(-179deg);
258
- }
259
- 50.1% {
260
- -webkit-transform: translateX(30px) translateY(30px) rotate(-180deg);
261
- transform: translateX(30px) translateY(30px) rotate(-180deg);
262
- }
263
- 75% {
264
- -webkit-transform: translateX(0) translateY(30px) rotate(-270deg) scale(0.5);
265
- transform: translateX(0) translateY(30px) rotate(-270deg) scale(0.5);
266
- }
267
- 100% {
268
- -webkit-transform: rotate(-360deg);
269
- transform: rotate(-360deg);
270
- }
271
- }
272
-
273
-
274
- /*
275
- * Usage:
276
- *
277
- <div class="wpr-spinner wpr-spinner-pulse"></div>
278
- *
279
- */
280
-
281
- .wpr-spinner-pulse {
282
- width: 23px;
283
- height: 23px;
284
- border-radius: 100%;
285
- -webkit-animation: wpr-pulseScaleOut 1s infinite ease-in-out;
286
- animation: wpr-pulseScaleOut 1s infinite ease-in-out;
287
- }
288
-
289
- @-webkit-keyframes wpr-pulseScaleOut {
290
- 0% {
291
- -webkit-t