Version Description
Download this release
Release Info
Code changes from version 1.3.53 to 1.3.54
- admin/import/class-parsers.php +1041 -1041
- admin/import/class-wordpress-importer.php +1370 -1370
- admin/includes/wpr-templates-actions.php +313 -313
- admin/includes/wpr-templates-shortcode.php +4 -23
- admin/mega-menu.php +375 -375
- admin/plugin-options.php +570 -570
- admin/popups.php +86 -86
- admin/premade-blocks.php +39 -39
- admin/templates/views/generatepress/class-generatepress-compat.php +73 -73
- admin/templates/views/oceanwp/class-oceanwp-compat.php +72 -72
- admin/templates/views/royal/theme-footer-royal.php +23 -23
- admin/templates/views/storefront/class-storefront-compat.php +105 -105
- admin/templates/views/theme-header.php +32 -32
- admin/templates/wpr-canvas.php +66 -66
- assets/css/admin/mega-menu.css +443 -443
- assets/css/admin/plugin-options.css +6 -0
- assets/css/admin/premade-blocks.css +6 -0
- assets/css/admin/templates-kit.css +609 -603
- assets/css/editor.css +943 -943
- assets/css/editor.min.css +1003 -1008
- assets/css/frontend.css +42 -2
- assets/css/frontend.min.css +1 -1
- assets/css/lib/animations/loading-animations.css +0 -112
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'
|
60 |
-
'type'
|
61 |
-
'options'
|
|
|
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 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
.elementor-control-
|
146 |
-
.elementor-control-
|
147 |
-
.elementor-control-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
.elementor-control-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
.elementor-control-
|
162 |
-
.elementor-control-
|
163 |
-
.elementor-control-
|
164 |
-
.elementor-control-
|
165 |
-
.elementor-control-
|
166 |
-
.elementor-control-
|
167 |
-
.elementor-control-
|
168 |
-
.elementor-control-
|
169 |
-
.elementor-control-
|
170 |
-
.elementor-control-
|
171 |
-
.elementor-control-
|
172 |
-
.elementor-control-
|
173 |
-
.elementor-control-
|
174 |
-
.elementor-control-
|
175 |
-
.elementor-control-
|
176 |
-
.elementor-control-
|
177 |
-
.elementor-control-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
.elementor-control-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
[class*="wpr__section_"] ~ .elementor-control-type-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
[class*="wpr__section_"] ~ .elementor-control-type-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
.elementor-control-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
.elementor-control-
|
216 |
-
.elementor-control-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
.elementor-control-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
width:
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
color: #
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
color: #
|
274 |
-
font-size:
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
#
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
.elementor-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
#
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
}
|
314 |
-
|
315 |
-
#elementor-panel__editor__help__link[href^="https://wordpress.org/support/plugin/royal-elementor-addons/"]
|
316 |
-
color: #fff;
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
#wpr-template-editor-popup .dialog-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
}
|
366 |
-
|
367 |
-
#wpr-template-editor-popup .dialog-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
-webkit-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
-
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
|
437 |
-
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
-
|
447 |
-
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
-
.
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
.
|
464 |
-
|
465 |
-
|
466 |
-
|
467 |
-
.
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
.
|
472 |
-
|
473 |
-
|
474 |
-
|
475 |
-
.
|
476 |
-
|
477 |
-
|
478 |
-
|
479 |
-
.
|
480 |
-
|
481 |
-
|
482 |
-
|
483 |
-
.
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
.
|
488 |
-
|
489 |
-
|
490 |
-
|
491 |
-
.
|
492 |
-
|
493 |
-
|
494 |
-
|
495 |
-
.
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
-
.
|
500 |
-
|
501 |
-
|
502 |
-
|
503 |
-
|
504 |
-
|
505 |
-
|
506 |
-
|
507 |
-
|
508 |
-
|
509 |
-
|
510 |
-
|
511 |
-
.elementor-control-wpr_library_buttons .wpr-
|
512 |
-
.elementor-control-wpr_library_buttons .wpr-
|
513 |
-
.elementor-control-wpr_library_buttons .wpr-
|
514 |
-
.elementor-control-wpr_library_buttons .wpr-
|
515 |
-
.elementor-control-wpr_library_buttons .wpr-
|
516 |
-
.elementor-control-wpr_library_buttons .wpr-
|
517 |
-
.elementor-control-wpr_library_buttons .wpr-
|
518 |
-
|
519 |
-
|
520 |
-
|
521 |
-
.elementor-control-wpr_library_buttons
|
522 |
-
|
523 |
-
|
524 |
-
}
|
525 |
-
|
526 |
-
.elementor-control-wpr_library_buttons {
|
527 |
-
|
528 |
-
|
529 |
-
}
|
530 |
-
|
531 |
-
.elementor-control-wpr_library_buttons .elementor-control-raw-html {
|
532 |
-
|
533 |
-
|
534 |
-
|
535 |
-
|
536 |
-
|
537 |
-
|
538 |
-
|
539 |
-
|
540 |
-
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
-
|
545 |
-
|
546 |
-
|
547 |
-
|
548 |
-
|
549 |
-
|
550 |
-
|
551 |
-
|
552 |
-
|
553 |
-
|
554 |
-
-
|
555 |
-
|
556 |
-
|
557 |
-
}
|
558 |
-
.elementor-control-wpr_library_buttons .elementor-control-raw-html div a:
|
559 |
-
|
560 |
-
color: #
|
561 |
-
|
562 |
-
}
|
563 |
-
|
564 |
-
|
565 |
-
|
566 |
-
|
567 |
-
|
568 |
-
|
569 |
-
|
570 |
-
|
571 |
-
|
572 |
-
|
573 |
-
|
574 |
-
|
575 |
-
|
576 |
-
|
577 |
-
|
578 |
-
|
579 |
-
|
580 |
-
|
581 |
-
|
582 |
-
|
583 |
-
|
584 |
-
|
585 |
-
|
586 |
-
|
587 |
-
}
|
588 |
-
|
589 |
-
|
590 |
-
|
591 |
-
|
592 |
-
|
593 |
-
|
594 |
-
|
595 |
-
|
596 |
-
|
597 |
-
|
598 |
-
|
599 |
-
|
600 |
-
|
601 |
-
|
602 |
-
|
603 |
-
|
604 |
-
|
605 |
-
|
606 |
-
}
|
607 |
-
|
608 |
-
|
609 |
-
|
610 |
-
|
611 |
-
|
612 |
-
|
613 |
-
|
614 |
-
|
615 |
-
|
616 |
-
|
617 |
-
|
618 |
-
|
619 |
-
|
620 |
-
|
621 |
-
|
622 |
-
|
623 |
-
|
624 |
-
|
625 |
-
|
626 |
-
|
627 |
-
|
628 |
-
|
629 |
-
|
630 |
-
|
631 |
-
|
632 |
-
|
633 |
-
|
634 |
-
|
635 |
-
|
636 |
-
|
637 |
-
|
638 |
-
|
639 |
-
}
|
640 |
-
|
641 |
-
|
642 |
-
|
643 |
-
padding-
|
644 |
-
}
|
645 |
-
|
646 |
-
.elementor-control-
|
647 |
-
|
648 |
-
|
649 |
-
|
650 |
-
|
651 |
-
.elementor-control-layout_select .elementor-choices label
|
652 |
-
|
653 |
-
|
654 |
-
|
655 |
-
.elementor-control-layout_select .elementor-choices label:nth-child(
|
656 |
-
|
657 |
-
|
658 |
-
|
659 |
-
|
660 |
-
|
661 |
-
|
662 |
-
|
663 |
-
|
664 |
-
|
665 |
-
|
666 |
-
|
667 |
-
|
668 |
-
|
669 |
-
|
670 |
-
|
671 |
-
|
672 |
-
.elementor-control.elementor-control-
|
673 |
-
.elementor-control.elementor-control-
|
674 |
-
.elementor-control.elementor-control-
|
675 |
-
.elementor-control.elementor-control-
|
676 |
-
.elementor-control.elementor-control-
|
677 |
-
.elementor-control.elementor-control-
|
678 |
-
.elementor-control.elementor-control-
|
679 |
-
.elementor-control.elementor-control-
|
680 |
-
.elementor-control.elementor-control-
|
681 |
-
.elementor-control.elementor-control-
|
682 |
-
.elementor-control.elementor-control-
|
683 |
-
.elementor-control.elementor-control-
|
684 |
-
.elementor-control.elementor-control-
|
685 |
-
.elementor-control.elementor-control-
|
686 |
-
.elementor-control.elementor-control-
|
687 |
-
.elementor-control.elementor-control-
|
688 |
-
.elementor-control.elementor-control-
|
689 |
-
.elementor-control.elementor-control-
|
690 |
-
.elementor-control.elementor-control-
|
691 |
-
.elementor-control.elementor-control-
|
692 |
-
.elementor-control.elementor-control-
|
693 |
-
.elementor-control.elementor-control-
|
694 |
-
.elementor-control.elementor-control-
|
695 |
-
.elementor-control.elementor-control-
|
696 |
-
.elementor-control.elementor-control-
|
697 |
-
.elementor-control.elementor-control-
|
698 |
-
.elementor-control.elementor-control-
|
699 |
-
.elementor-control.elementor-control-
|
700 |
-
.elementor-control.elementor-control-
|
701 |
-
.elementor-control.elementor-control-
|
702 |
-
.elementor-control.elementor-control-
|
703 |
-
.elementor-control.elementor-control-
|
704 |
-
.elementor-control.elementor-control-
|
705 |
-
.elementor-control.elementor-control-
|
706 |
-
.elementor-control.elementor-control-
|
707 |
-
.elementor-control.elementor-control-
|
708 |
-
.elementor-control.elementor-control-
|
709 |
-
.elementor-control.elementor-control-
|
710 |
-
.elementor-control.elementor-control-
|
711 |
-
.elementor-control.elementor-control-
|
712 |
-
.elementor-control.elementor-control-
|
713 |
-
.elementor-control.elementor-control-
|
714 |
-
.elementor-control.elementor-control-
|
715 |
-
.elementor-control.elementor-control-
|
716 |
-
.elementor-control.elementor-control-
|
717 |
-
.elementor-control.elementor-control-
|
718 |
-
.elementor-control.elementor-control-
|
719 |
-
.elementor-control.elementor-control-
|
720 |
-
|
721 |
-
|
722 |
-
|
723 |
-
.elementor-control.
|
724 |
-
.elementor-control.
|
725 |
-
|
726 |
-
|
727 |
-
|
728 |
-
.elementor-control-
|
729 |
-
.elementor-control-
|
730 |
-
.elementor-control-
|
731 |
-
.elementor-control-
|
732 |
-
.elementor-control-
|
733 |
-
.elementor-control-
|
734 |
-
.elementor-control-
|
735 |
-
.elementor-control-
|
736 |
-
.elementor-control-
|
737 |
-
.elementor-control-
|
738 |
-
.elementor-control-
|
739 |
-
.elementor-control-
|
740 |
-
.elementor-control-
|
741 |
-
.elementor-control-
|
742 |
-
.elementor-control-
|
743 |
-
.elementor-control-
|
744 |
-
.elementor-control-
|
745 |
-
.elementor-control-
|
746 |
-
.elementor-control-
|
747 |
-
.elementor-control-
|
748 |
-
.elementor-control-
|
749 |
-
.elementor-control-
|
750 |
-
.elementor-control-
|
751 |
-
.elementor-control-
|
752 |
-
.elementor-control-
|
753 |
-
.elementor-control-
|
754 |
-
.elementor-control-
|
755 |
-
.elementor-control-
|
756 |
-
.elementor-control-
|
757 |
-
.elementor-control-
|
758 |
-
.elementor-control-
|
759 |
-
.elementor-control-
|
760 |
-
.elementor-control-
|
761 |
-
.elementor-control-
|
762 |
-
.elementor-control-
|
763 |
-
.elementor-control-
|
764 |
-
.elementor-control-
|
765 |
-
.elementor-control-
|
766 |
-
.elementor-control-
|
767 |
-
|
768 |
-
|
769 |
-
|
770 |
-
|
771 |
-
.elementor-control.elementor-control-
|
772 |
-
|
773 |
-
|
774 |
-
|
775 |
-
|
776 |
-
|
777 |
-
|
778 |
-
.elementor-control.
|
779 |
-
|
780 |
-
|
781 |
-
}
|
782 |
-
|
783 |
-
.elementor-control-
|
784 |
-
|
785 |
-
|
786 |
-
}
|
787 |
-
|
788 |
-
.elementor-control-pro_features_section .elementor-section-
|
789 |
-
|
790 |
-
|
791 |
-
|
792 |
-
|
793 |
-
|
794 |
-
|
795 |
-
|
796 |
-
.
|
797 |
-
|
798 |
-
|
799 |
-
|
800 |
-
|
801 |
-
|
802 |
-
|
803 |
-
|
804 |
-
|
805 |
-
|
806 |
-
|
807 |
-
|
808 |
-
|
809 |
-
|
810 |
-
|
811 |
-
|
812 |
-
|
813 |
-
|
814 |
-
|
815 |
-
|
816 |
-
|
817 |
-
|
818 |
-
|
819 |
-
|
820 |
-
|
821 |
-
|
822 |
-
|
823 |
-
|
824 |
-
|
825 |
-
|
826 |
-
|
827 |
-
|
828 |
-
|
829 |
-
|
830 |
-
|
831 |
-
|
832 |
-
.
|
833 |
-
|
834 |
-
|
835 |
-
|
836 |
-
|
837 |
-
.elementor-control
|
838 |
-
|
839 |
-
|
840 |
-
}
|
841 |
-
|
842 |
-
.elementor-control.elementor-control-woo_grid_notice_video_tutorial
|
843 |
-
|
844 |
-
|
845 |
-
}
|
846 |
-
|
847 |
-
.elementor-control
|
848 |
-
|
849 |
-
|
850 |
-
}
|
851 |
-
|
852 |
-
.elementor-control[class*="video_tutorial"] a {
|
853 |
-
|
854 |
-
|
855 |
-
|
856 |
-
|
857 |
-
.elementor-control
|
858 |
-
|
859 |
-
|
860 |
-
|
861 |
-
|
862 |
-
|
863 |
-
|
864 |
-
|
865 |
-
|
866 |
-
|
867 |
-
|
868 |
-
|
869 |
-
|
870 |
-
|
871 |
-
|
872 |
-
|
873 |
-
|
874 |
-
|
875 |
-
|
876 |
-
|
877 |
-
|
878 |
-
|
879 |
-
|
880 |
-
|
881 |
-
|
882 |
-
|
883 |
-
|
884 |
-
|
885 |
-
|
886 |
-
|
887 |
-
|
888 |
-
|
889 |
-
|
890 |
-
|
891 |
-
|
892 |
-
|
893 |
-
|
894 |
-
|
895 |
-
|
896 |
-
|
897 |
-
|
898 |
-
|
899 |
-
|
900 |
-
|
901 |
-
|
902 |
-
|
903 |
-
|
904 |
-
}
|
905 |
-
|
906 |
-
|
907 |
-
|
908 |
-
|
909 |
-
|
910 |
-
|
911 |
-
|
912 |
-
|
913 |
-
|
914 |
-
|
915 |
-
.elementor-control-section_request_new_feature .elementor-section-title {
|
916 |
-
|
917 |
-
|
918 |
-
}
|
919 |
-
|
920 |
-
.elementor-control-
|
921 |
-
line-height: 20px;
|
922 |
-
|
923 |
-
|
924 |
-
|
925 |
-
|
926 |
-
|
927 |
-
|
928 |
-
|
929 |
-
|
930 |
-
|
931 |
-
|
932 |
-
|
933 |
-
|
934 |
-
|
935 |
-
|
936 |
-
|
937 |
-
|
938 |
-
|
939 |
-
|
940 |
-
}
|
941 |
-
|
942 |
-
.elementor-control-request_new_feature a
|
943 |
-
|
944 |
-
|
945 |
-
}
|
946 |
-
|
947 |
-
|
948 |
-
|
949 |
-
|
950 |
-
|
951 |
-
|
952 |
-
|
953 |
-
|
954 |
-
|
955 |
-
|
956 |
-
|
957 |
-
|
958 |
-
|
959 |
-
|
960 |
-
|
961 |
-
|
962 |
-
|
963 |
-
|
964 |
-
|
965 |
-
|
966 |
-
|
967 |
-
|
968 |
-
|
969 |
-
|
970 |
-
|
971 |
-
|
972 |
-
|
973 |
-
|
974 |
-
|
975 |
-
|
976 |
-
|
977 |
-
|
978 |
-
|
979 |
-
|
980 |
-
|
981 |
-
|
982 |
-
|
983 |
-
|
984 |
-
|
985 |
-
|
986 |
-
|
987 |
-
|
988 |
-
|
989 |
-
|
990 |
-
|
991 |
-
|
992 |
-
|
993 |
-
|
994 |
-
|
995 |
-
|
996 |
-
|
997 |
-
|
998 |
-
|
999 |
-
|
1000 |
-
|
1001 |
-
|
1002 |
-
|
1003 |
-
|
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
|
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-re
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|