Version Description
- Enhancement : Added Support for RTL
- Fixed : Shape Separator missing shapes added
- Fixed : Link Custom Attribute bug
- Fixed : Animated Text Overflow bug
- Tweak : Custom Offset option added in Timeline widget
- Tweak : Added option to trigger on mouseover in Info Cirlce widget
Download this release
Release Info
Developer | wpvibes |
Plugin | Elementor Addon Elements |
Version | 1.7.2 |
Comparing to | |
See all releases |
Code changes from version 1.7.1 to 1.7.2
- assets/css/eae.css +4260 -3292
- assets/css/eae.min.css +1 -1
- assets/js/eae.js +29 -14
- assets/js/eae.min.js +1 -1
- elementor-addon-elements.php +25 -21
- freemius/README.md +72 -43
- freemius/assets/css/admin/account.css +1 -1
- freemius/assets/css/admin/add-ons.css +1 -1
- freemius/assets/css/admin/common.css +2 -2
- freemius/assets/css/admin/connect.css +1 -1
- freemius/assets/css/admin/debug.css +1 -1
- freemius/assets/css/admin/dialog-boxes.css +1 -1
- freemius/assets/css/admin/plugins.css +1 -0
- freemius/assets/css/customizer.css +1 -1
- freemius/config.php +4 -1
- freemius/includes/class-freemius.php +2418 -375
- freemius/includes/class-fs-api.php +1 -1
- freemius/includes/class-fs-plugin-updater.php +81 -8
- freemius/includes/class-fs-storage.php +46 -40
- freemius/includes/customizer/class-fs-customizer-support-section.php +2 -2
- freemius/includes/customizer/class-fs-customizer-upsell-control.php +5 -1
- freemius/includes/entities/class-fs-entity.php +10 -0
- freemius/includes/entities/class-fs-payment.php +2 -2
- freemius/includes/entities/class-fs-plugin-license.php +40 -0
- freemius/includes/entities/class-fs-plugin.php +5 -0
- freemius/includes/entities/class-fs-pricing.php +16 -0
- freemius/includes/entities/class-fs-site.php +7 -4
- freemius/includes/entities/class-fs-subscription.php +136 -114
- freemius/includes/fs-core-functions.php +282 -217
- freemius/includes/fs-essential-functions.php +42 -21
- freemius/includes/fs-plugin-info-dialog.php +62 -28
- freemius/includes/i18n.php +2 -0
- freemius/includes/managers/class-fs-admin-menu-manager.php +59 -33
- freemius/includes/managers/class-fs-cache-manager.php +1 -1
- freemius/includes/managers/class-fs-option-manager.php +35 -11
- freemius/includes/managers/class-fs-plugin-manager.php +3 -3
- freemius/includes/sdk/FreemiusBase.php +1 -1
- freemius/includes/sdk/FreemiusWordPress.php +20 -12
- freemius/includes/supplements/fs-essential-functions-1.1.7.1.php +1 -1
- freemius/languages/freemius-cs_CZ.mo +0 -0
- freemius/languages/freemius-da_DK.mo +0 -0
- freemius/languages/freemius-en.mo +0 -0
- freemius/languages/freemius-es_ES.mo +0 -0
- freemius/languages/freemius-fr_FR.mo +0 -0
- freemius/languages/freemius-he_IL.mo +0 -0
- freemius/languages/freemius-hu_HU.mo +0 -0
- freemius/languages/freemius-it_IT.mo +0 -0
- freemius/languages/freemius-ja.mo +0 -0
- freemius/languages/freemius-nl_NL.mo +0 -0
- freemius/languages/freemius-ru_RU.mo +0 -0
- freemius/languages/freemius-ta.mo +0 -0
- freemius/languages/freemius-zh_CN.mo +0 -0
- freemius/languages/freemius.pot +630 -489
- freemius/package.json +1 -1
- freemius/start.php +9 -1
- freemius/templates/account.php +308 -144
- freemius/templates/account/partials/addon.php +125 -86
- freemius/templates/account/partials/site.php +45 -29
- freemius/templates/account/payments.php +1 -1
- freemius/templates/add-ons.php +67 -6
- freemius/templates/auto-installation.php +1 -1
- freemius/templates/connect.php +85 -30
- freemius/templates/debug.php +49 -27
assets/css/eae.css
CHANGED
@@ -1,376 +1,530 @@
|
|
1 |
-
.elementor-widget-wts-textseparator .elementor-widget-container{
|
2 |
-
|
3 |
}
|
4 |
-
.wts-eae-textseparator{
|
5 |
-
|
6 |
-
|
7 |
-
|
|
|
|
|
|
|
|
|
8 |
}
|
9 |
|
10 |
.eae-separator-icon-inner i {
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
|
|
15 |
}
|
16 |
|
17 |
-
.eae-separator-icon-inner i:before{
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
}
|
26 |
.wts-eae-textseparator .eae-sep-holder {
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
}
|
32 |
|
33 |
-
.wts-eae-textseparator .eae-sep-holder .eae-sep-lines{
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
}
|
41 |
|
42 |
-
.eae-separator-title{
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
}
|
50 |
|
51 |
-
.sep-align-right .sep-right{
|
52 |
-
|
53 |
}
|
54 |
|
55 |
-
.sep-align-left .sep-left{
|
56 |
-
|
57 |
}
|
58 |
|
59 |
-
.eae-icon-view-stacked i{
|
60 |
-
|
61 |
-
|
62 |
-
.eae-
|
63 |
-
|
64 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
|
66 |
/**
|
67 |
Price Table Css
|
68 |
**/
|
69 |
-
.wts-price-box-wrapper .eae-pt-heading,
|
|
|
|
|
|
|
|
|
70 |
.plan-price-shape {
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
}
|
76 |
|
77 |
-
.eae-pt-price-box-shape-circle .plan-price-shape,
|
78 |
-
.eae-pt-price-box-shape-
|
79 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
80 |
.plan-price-shape-inner {
|
81 |
-
|
82 |
-
|
|
|
83 |
}
|
84 |
.plan-price-shape-inner > span {
|
85 |
-
|
86 |
-
|
|
|
87 |
}
|
88 |
|
89 |
.eae-pt-feature-list {
|
90 |
-
|
91 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
92 |
}
|
93 |
-
.eae-pt-button-wrapper > a{ text-align:center; display:inline-block; line-height: 1}
|
94 |
-
.eae-pt-button-wrapper{ text-align: center;}
|
95 |
|
96 |
-
.wts-price-box-wrapper .heading-wrapper,
|
97 |
-
.
|
98 |
-
|
99 |
-
|
100 |
-
.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
101 |
|
102 |
/**
|
103 |
Flip Box CSS
|
104 |
**/
|
105 |
-
.eae-flip-box{
|
106 |
-
|
107 |
-
|
108 |
-
}
|
109 |
-
.eae-flip-box-wrapper{
|
110 |
-
display: inline-block;
|
111 |
-
width: 100%;
|
112 |
-
}
|
113 |
-
.eae-flip-box-inner{ width:100%; height:200px; position:relative;
|
114 |
-
-webkit-transform-style: preserve-3d;
|
115 |
-
-moz-transform-style: preserve-3d;
|
116 |
-
-ms-transform-style: preserve-3d;
|
117 |
-
transform-style: preserve-3d;
|
118 |
}
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
132 |
}
|
133 |
.eae-flip-box-front {
|
134 |
-
|
135 |
}
|
136 |
.eae-flip-box-back {
|
137 |
-
|
138 |
}
|
139 |
|
140 |
-
.eae-fb-animate-vertical .eae-flip-box-inner .eae-flip-box-front{
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
150 |
|
151 |
-
.eae-fb-animate-
|
152 |
-
|
153 |
-
|
154 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
155 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
156 |
|
157 |
.eae-flip-box-wrapper:hover .eae-flip-box-back,
|
158 |
.eae-flip-box-wrapper:focus .eae-flip-box-back {
|
159 |
-
|
160 |
}
|
161 |
.eae-flip-box-wrapper:hover .eae-flip-box-front,
|
162 |
.eae-flip-box-wrapper:focus .eae-flip-box-front {
|
163 |
-
|
164 |
}
|
165 |
.fade .eae-flip-box-wrapper .eae-flip-box-front {
|
166 |
-
|
167 |
-
|
168 |
}
|
169 |
.fade .eae-flip-box-wrapper .eae-flip-box-back {
|
170 |
-
|
171 |
-
|
172 |
}
|
173 |
.fade .eae-flip-box-wrapper:hover .eae-flip-box-front,
|
174 |
.fade .eae-flip-box-wrapper:focus .eae-flip-box-front {
|
175 |
-
|
176 |
}
|
177 |
.fade .eae-flip-box-wrapper:hover .eae-flip-box-back,
|
178 |
.fade .eae-flip-box-wrapper:focus .eae-flip-box-back {
|
179 |
-
|
180 |
}
|
181 |
|
182 |
.eae-fb-animate-flip .eae-flip-box-wrapper {
|
183 |
-
|
184 |
}
|
185 |
-
.eae-fb-animate-flip .eae-flip-box-inner{
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
}
|
190 |
.eae-fb-animate-flip .eae-flip-box-front {
|
191 |
-
|
192 |
}
|
193 |
.eae-fb-animate-flip .eae-flip-box-back {
|
194 |
-
|
195 |
}
|
196 |
.eae-fb-animate-flip .eae-flip-box-wrapper:hover .eae-flip-box-inner,
|
197 |
-
.eae-fb-animate-flip .eae-flip-box-wrapper:focus .eae-flip-box-inner{
|
198 |
-
|
199 |
}
|
200 |
.up .eae-flip-box-front {
|
201 |
-
|
202 |
}
|
203 |
.up .eae-flip-box-back {
|
204 |
-
|
205 |
}
|
206 |
.up .eae-flip-box-wrapper:hover .eae-flip-box-inner,
|
207 |
-
.up .eae-flip-box-wrapper:focus .eae-flip-box-inner{
|
208 |
-
|
209 |
}
|
210 |
|
211 |
.box .eae-flip-box-front {
|
212 |
-
|
213 |
}
|
214 |
.box .eae-flip-box-back {
|
215 |
-
|
216 |
}
|
217 |
.box.up .eae-flip-box-back {
|
218 |
-
|
219 |
}
|
220 |
|
221 |
-
.hideback .eae-flip-box-front,
|
222 |
-
|
|
|
223 |
}
|
224 |
.eae-fb-animate-nananana .eae-flip-box-wrapper {
|
225 |
-
|
226 |
-
|
227 |
}
|
228 |
.eae-fb-animate-nananana .eae-flip-box-wrapper:hover .eae-flip-box-front,
|
229 |
.eae-fb-animate-nananana .eae-flip-box-wrapper:focus .eae-flip-box-front {
|
230 |
-
|
231 |
-
|
232 |
}
|
233 |
|
234 |
-
|
235 |
/* Cube Animation */
|
236 |
|
237 |
-
.eae-fb-animate-flipcard .eae-flip-box-front,
|
238 |
-
|
239 |
-
|
240 |
-
|
|
|
241 |
}
|
242 |
|
243 |
/* top to down */
|
244 |
|
245 |
.flipcard-rotate-top-down .eae-flip-box-front {
|
246 |
-
|
247 |
}
|
248 |
.flipcard-rotate-top-down .eae-flip-box-back {
|
249 |
-
|
250 |
}
|
251 |
-
.eae-fb-animate-flipcard.flipcard-rotate-top-down
|
252 |
-
|
|
|
|
|
253 |
}
|
254 |
-
.eae-fb-animate-flipcard.flipcard-rotate-top-down
|
255 |
-
|
256 |
-
|
|
|
|
|
257 |
}
|
258 |
|
259 |
-
|
260 |
/* down to top */
|
261 |
.flipcard-rotate-down-top .eae-flip-box-front {
|
262 |
-
|
263 |
}
|
264 |
.flipcard-rotate-down-top .eae-flip-box-back {
|
265 |
-
|
266 |
}
|
267 |
-
.eae-fb-animate-flipcard.flipcard-rotate-down-top
|
268 |
-
|
|
|
|
|
269 |
}
|
270 |
-
.eae-fb-animate-flipcard.flipcard-rotate-down-top
|
271 |
-
|
272 |
-
|
|
|
|
|
273 |
}
|
274 |
|
275 |
/* left to right */
|
276 |
|
277 |
.flipcard-rotate-left-right .eae-flip-box-front {
|
278 |
-
|
279 |
}
|
280 |
.flipcard-rotate-left-right .eae-flip-box-back {
|
281 |
-
|
282 |
}
|
283 |
-
.eae-fb-animate-flipcard.flipcard-rotate-left-right
|
284 |
-
|
|
|
|
|
285 |
}
|
286 |
-
.eae-fb-animate-flipcard.flipcard-rotate-left-right
|
287 |
-
|
288 |
-
|
|
|
|
|
289 |
}
|
290 |
|
291 |
/* right to left */
|
292 |
|
293 |
.flipcard-rotate-right-left .eae-flip-box-front {
|
294 |
-
|
295 |
}
|
296 |
.flipcard-rotate-right-left .eae-flip-box-back {
|
297 |
-
|
298 |
}
|
299 |
-
.eae-fb-animate-flipcard.flipcard-rotate-right-left
|
300 |
-
|
|
|
|
|
301 |
}
|
302 |
-
.eae-fb-animate-flipcard.flipcard-rotate-right-left
|
303 |
-
|
304 |
-
|
|
|
|
|
305 |
}
|
306 |
|
307 |
@keyframes batman {
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
|
|
|
|
313 |
}
|
314 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
315 |
|
316 |
-
.eae-flip-box-front i,
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
328 |
}
|
329 |
-
.eae-fb-icon-view-framed{ border:1px solid #92BE43; }
|
330 |
-
.eae-fb-icon-shape-circle{ border-radius:50%; }
|
331 |
-
.eae-flip-box-wrapper .icon-wrapper{ display:inline-block; padding:10px; line-height: 1; }
|
332 |
|
333 |
-
.eae-flip-box-wrapper .front-icon-title,
|
|
|
|
|
|
|
|
|
334 |
|
335 |
-
.eae-flip-box-wrapper .flipbox-content {
|
336 |
-
|
337 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
338 |
|
339 |
-
.eae-flip-box-front{
|
340 |
-
|
|
|
|
|
|
|
|
|
341 |
|
342 |
@media only screen and (max-width: 768px) {
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
|
|
350 |
}
|
351 |
/**
|
352 |
Shape Separator
|
353 |
**/
|
354 |
-
.elementor-widget-wts-shape-separator svg{
|
|
|
|
|
355 |
|
356 |
/**
|
357 |
Post List
|
358 |
**/
|
359 |
-
.wts-eae-pl-wrapper ul{
|
360 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
361 |
}
|
362 |
-
.
|
363 |
-
|
364 |
-
overflow: hidden; margin-bottom:10px;
|
365 |
}
|
366 |
-
.eae-pl-img-align-none .eae-pl-image-wrapper a{ text-align: center; }
|
367 |
-
.eae-pl-title{ margin:0; }
|
368 |
-
.eae-pl-title a{ display:block; }
|
369 |
|
370 |
-
.eae-pl-readmore a{
|
371 |
-
|
372 |
-
|
373 |
-
|
|
|
374 |
}
|
375 |
|
376 |
/**
|
@@ -381,140 +535,159 @@ Primary style
|
|
381 |
-------------------------------- */
|
382 |
|
383 |
.eae-at-animation-text-wrapper {
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
}
|
|
|
388 |
.eae-at-animation-text-wrapper .eae-at-animation-text {
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
|
|
|
|
|
|
394 |
}
|
|
|
395 |
.eae-at-animation-text-wrapper .eae-at-animation-text.is-visible {
|
396 |
-
|
397 |
}
|
398 |
.no-js .eae-at-animation-text-wrapper .eae-at-animation-text {
|
399 |
-
|
400 |
}
|
401 |
.no-js .eae-at-animation-text-wrapper .eae-at-animation-text.is-visible {
|
402 |
-
|
403 |
}
|
404 |
|
405 |
-
.eae-animtext-wrapper{
|
406 |
-
|
|
|
407 |
|
408 |
/**
|
409 |
Animated Text Styles
|
410 |
**/
|
411 |
.eae-st-rest-text {
|
412 |
-
|
413 |
}
|
414 |
.eae-st-split-text {
|
415 |
-
|
416 |
}
|
417 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
418 |
/* --------------------------------
|
419 |
xtype
|
420 |
-------------------------------- */
|
421 |
.eae-at-animation.type .eae-at-animation-text-wrapper {
|
422 |
-
|
423 |
-
|
424 |
}
|
425 |
.eae-at-animation.type .eae-at-animation-text-wrapper::after {
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
|
437 |
-
|
438 |
-
|
439 |
}
|
440 |
.eae-at-animation.type .eae-at-animation-text-wrapper.waiting::after {
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
}
|
445 |
|
446 |
.eae-at-animation.type .eae-at-animation-text-wrapper.selected::after {
|
447 |
-
|
448 |
}
|
449 |
|
450 |
.eae-at-animation.type .eae-at-animation-text {
|
451 |
-
|
452 |
}
|
453 |
.eae-at-animation.type .eae-at-animation-text.is-visible {
|
454 |
-
|
455 |
}
|
456 |
.eae-at-animation.type i {
|
457 |
-
|
458 |
-
|
459 |
}
|
460 |
.eae-at-animation.type i.in {
|
461 |
-
|
462 |
-
|
463 |
}
|
464 |
|
465 |
@-webkit-keyframes cd-pulse {
|
466 |
-
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
473 |
-
|
474 |
-
|
475 |
-
|
476 |
-
|
477 |
-
|
478 |
}
|
479 |
@-moz-keyframes cd-pulse {
|
480 |
-
|
481 |
-
|
482 |
-
|
483 |
-
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
|
489 |
-
|
490 |
-
|
491 |
-
|
492 |
}
|
493 |
@keyframes cd-pulse {
|
494 |
-
|
495 |
-
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
-
|
500 |
-
|
501 |
-
|
502 |
-
|
503 |
-
|
504 |
-
|
505 |
-
|
506 |
-
|
507 |
-
|
508 |
-
|
509 |
-
|
510 |
-
|
511 |
-
|
512 |
-
|
513 |
-
|
514 |
-
|
515 |
-
|
516 |
-
|
517 |
-
|
518 |
}
|
519 |
|
520 |
/**
|
@@ -524,119 +697,117 @@ xtype
|
|
524 |
Primary style
|
525 |
-------------------------------- */
|
526 |
.eae-img-comp-container {
|
527 |
-
|
528 |
-
|
529 |
-
|
530 |
}
|
531 |
.eae-img-comp-container img {
|
532 |
-
|
533 |
}
|
534 |
.eae-img-comp-img {
|
535 |
-
|
536 |
width: 100%;
|
537 |
height: 100%;
|
538 |
overflow:hidden;*/
|
539 |
|
540 |
-
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
-
|
545 |
-
|
546 |
-
|
547 |
-
|
548 |
}
|
549 |
-
.eae-img-comp-img img{
|
550 |
-
|
551 |
-
|
552 |
-
|
553 |
}
|
554 |
.eae-img-comp-slider {
|
555 |
-
|
556 |
-
|
557 |
-
|
558 |
-
|
559 |
-
|
560 |
-
|
561 |
-
|
562 |
-
|
563 |
-
}
|
564 |
-
.icon-horizontal{
|
565 |
-
|
566 |
-
}
|
567 |
-
.icon-vertical{
|
568 |
-
|
569 |
-
}
|
570 |
-
|
571 |
-
.eae-img-comp-overlay{
|
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 |
-
text-align: center;
|
604 |
}
|
605 |
-
.elementor-widget-wts-ab-image .elementor-widget-container{
|
606 |
-
|
607 |
-
|
608 |
-
|
609 |
}
|
610 |
|
611 |
-
.eae-text-before{
|
612 |
-
|
613 |
-
|
614 |
-
|
615 |
-
|
616 |
-
|
617 |
-
|
618 |
-
|
619 |
}
|
620 |
|
621 |
-
.eae-text-after{
|
622 |
-
|
623 |
-
|
624 |
-
|
625 |
-
|
626 |
-
|
627 |
-
|
628 |
-
|
629 |
}
|
630 |
|
631 |
/* Test CSS */
|
632 |
|
633 |
-
.divTest{
|
634 |
-
|
635 |
-
|
636 |
-
|
637 |
}
|
638 |
|
639 |
-
|
640 |
/*.eae-particle-wrapper{*/
|
641 |
/* width:100%;*/
|
642 |
/* height:100%;*/
|
@@ -645,1171 +816,1292 @@ Primary style
|
|
645 |
/* top:0;*/
|
646 |
/*}*/
|
647 |
|
648 |
-
|
649 |
/*.particles-js-canvas-el{ height:100%; position:absolute; }*/
|
650 |
|
651 |
-
.eae-particle-wrapper{
|
652 |
-
|
653 |
-
|
654 |
-
|
655 |
-
|
656 |
}
|
657 |
-
.eae-particle-wrapper.eae-particle-area{
|
658 |
-
|
659 |
-
|
660 |
}
|
661 |
|
662 |
-
body:not(.elementor-editor-active) .eae-particle-wrapper{
|
663 |
-
|
664 |
-
|
665 |
}
|
666 |
|
667 |
-
body:not(.elementor-editor-active)
|
668 |
-
|
|
|
|
|
|
|
|
|
|
|
669 |
|
670 |
/**
|
671 |
BG Slider
|
672 |
**/
|
673 |
-
.eae-section-bs{
|
674 |
-
|
675 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
676 |
|
677 |
/**
|
678 |
Popup
|
679 |
**/
|
680 |
.eae-popup.mfp-bg {
|
681 |
-
|
682 |
-
|
683 |
-
|
684 |
-
|
685 |
-
|
686 |
-
|
687 |
-
|
688 |
-
|
689 |
-
|
|
|
690 |
|
691 |
-
.eae-popup-link{
|
692 |
-
|
693 |
-
|
694 |
-
|
695 |
-
|
696 |
}
|
697 |
|
698 |
-
.eae-popup-link svg{
|
699 |
-
|
700 |
}
|
701 |
-
.eae-popup-link:hover{
|
702 |
-
|
703 |
}
|
704 |
.eae-popup.mfp-wrap {
|
705 |
-
|
706 |
-
|
707 |
-
|
708 |
-
|
709 |
-
|
710 |
-
|
711 |
-
|
712 |
-
|
|
|
713 |
|
714 |
.eae-popup .mfp-container {
|
715 |
-
|
716 |
-
|
717 |
-
|
718 |
-
|
719 |
-
|
720 |
-
|
721 |
-
|
722 |
-
|
|
|
723 |
|
724 |
.eae-popup .mfp-container:before {
|
725 |
-
|
726 |
-
|
727 |
-
|
728 |
-
|
|
|
729 |
|
730 |
.eae-popup .mfp-align-top .mfp-container:before {
|
731 |
-
|
|
|
732 |
|
733 |
.eae-popup .mfp-content {
|
734 |
-
|
735 |
-
|
736 |
-
|
737 |
-
|
738 |
-
|
739 |
-
|
740 |
-
|
741 |
}
|
742 |
-
.eae-modal-content{
|
743 |
-
|
744 |
}
|
745 |
-
.eae-pop-btn-align-left .eae-popup-wrapper{
|
746 |
-
|
747 |
}
|
748 |
-
.eae-pop-btn-align-right .eae-popup-wrapper{
|
749 |
-
|
750 |
}
|
751 |
-
.eae-pop-btn-align-center .eae-popup-wrapper{
|
752 |
-
|
753 |
}
|
754 |
-
.eae-pop-btn-align-justify .eae-popup-wrapper{
|
755 |
-
|
756 |
}
|
757 |
-
.eae-pop-btn-align-justify .eae-popup-wrapper a{
|
758 |
-
|
759 |
}
|
760 |
.eae-popup .mfp-inline-holder .mfp-content,
|
761 |
.eae-popup .mfp-ajax-holder .mfp-content {
|
762 |
-
|
763 |
-
|
764 |
-
|
765 |
-
overflow: hidden;
|
766 |
}
|
767 |
|
768 |
.eae-popup .mfp-ajax-cur {
|
769 |
-
|
|
|
770 |
|
771 |
-
.eae-popup .mfp-zoom-out-cur,
|
772 |
-
|
773 |
-
|
774 |
-
|
|
|
|
|
775 |
|
776 |
.eae-popup .mfp-zoom {
|
777 |
-
|
778 |
-
|
779 |
-
|
780 |
-
|
|
|
781 |
|
782 |
.eae-popup.mfp-auto-cursor .mfp-content {
|
783 |
-
|
|
|
784 |
|
785 |
.eae-popup .eae-close,
|
786 |
.eae-popup .mfp-arrow,
|
787 |
.eae-popup .mfp-preloader,
|
788 |
.eae-popup .mfp-counter {
|
789 |
-
|
790 |
-
|
791 |
-
|
|
|
792 |
|
793 |
.mfp-loading.mfp-figure {
|
794 |
-
|
|
|
795 |
|
796 |
.mfp-hide {
|
797 |
-
|
|
|
798 |
|
799 |
.eae-popup .mfp-preloader {
|
800 |
-
|
801 |
-
|
802 |
-
|
803 |
-
|
804 |
-
|
805 |
-
|
806 |
-
|
807 |
-
|
808 |
-
|
|
|
809 |
.eae-popup .mfp-preloader a {
|
810 |
-
|
|
|
811 |
.eae-popup .mfp-preloader a:hover {
|
812 |
-
|
|
|
813 |
|
814 |
.mfp-s-ready .mfp-preloader {
|
815 |
-
|
|
|
816 |
|
817 |
.mfp-s-error .mfp-content {
|
818 |
-
|
|
|
819 |
|
820 |
button.eae-close,
|
821 |
button.mfp-arrow {
|
822 |
-
|
823 |
-
|
824 |
-
|
825 |
-
|
826 |
-
|
827 |
-
|
828 |
-
|
829 |
-
|
830 |
-
|
831 |
-
|
832 |
-
|
|
|
833 |
|
834 |
button::-moz-focus-inner {
|
835 |
-
|
836 |
-
|
|
|
837 |
|
838 |
.eae-popup .eae-close {
|
839 |
-
|
840 |
-
|
841 |
-
|
842 |
-
|
843 |
-
|
844 |
-
|
845 |
-
|
846 |
-
|
847 |
-
|
848 |
-
|
849 |
-
|
850 |
-
|
851 |
}
|
852 |
.eae-close:hover,
|
853 |
.eae-close:focus {
|
854 |
-
|
855 |
-
|
856 |
}
|
857 |
.eae-close:active {
|
858 |
-
|
859 |
-
|
860 |
-
|
861 |
-
|
862 |
-
|
863 |
-
|
|
|
864 |
}
|
865 |
.eae-popup.eae-close-btn-in .eae-close {
|
866 |
-
|
867 |
}
|
868 |
|
869 |
.mfp-image-holder .eae-close,
|
870 |
.mfp-iframe-holder .eae-close {
|
871 |
-
|
872 |
-
|
873 |
-
|
874 |
-
|
875 |
-
|
|
|
876 |
|
877 |
.mfp-counter {
|
878 |
-
|
879 |
-
|
880 |
-
|
881 |
-
|
882 |
-
|
883 |
-
|
884 |
-
|
|
|
885 |
|
886 |
.mfp-arrow {
|
887 |
-
|
888 |
-
|
889 |
-
|
890 |
-
|
891 |
-
|
892 |
-
|
893 |
-
|
894 |
-
|
895 |
-
|
|
|
896 |
.mfp-arrow:active {
|
897 |
-
|
|
|
898 |
.mfp-arrow:hover,
|
899 |
.mfp-arrow:focus {
|
900 |
-
|
|
|
901 |
.mfp-arrow:before,
|
902 |
.mfp-arrow:after {
|
903 |
-
|
904 |
-
|
905 |
-
|
906 |
-
|
907 |
-
|
908 |
-
|
909 |
-
|
910 |
-
|
911 |
-
|
912 |
-
|
|
|
913 |
.mfp-arrow:after {
|
914 |
-
|
915 |
-
|
916 |
-
|
|
|
917 |
.mfp-arrow:before {
|
918 |
-
|
919 |
-
|
920 |
-
|
|
|
921 |
|
922 |
.mfp-arrow-left {
|
923 |
-
|
|
|
924 |
.mfp-arrow-left:after {
|
925 |
-
|
926 |
-
|
|
|
927 |
.mfp-arrow-left:before {
|
928 |
-
|
929 |
-
|
|
|
930 |
|
931 |
.mfp-arrow-right {
|
932 |
-
|
|
|
933 |
.mfp-arrow-right:after {
|
934 |
-
|
935 |
-
|
|
|
936 |
.mfp-arrow-right:before {
|
937 |
-
|
|
|
938 |
|
939 |
.mfp-iframe-holder {
|
940 |
-
|
941 |
-
|
|
|
942 |
.mfp-iframe-holder .mfp-content {
|
943 |
-
|
944 |
-
|
945 |
-
|
|
|
946 |
.mfp-iframe-holder .eae-close {
|
947 |
-
|
|
|
948 |
|
949 |
.mfp-iframe-scaler {
|
950 |
-
|
951 |
-
|
952 |
-
|
953 |
-
|
|
|
954 |
.mfp-iframe-scaler iframe {
|
955 |
-
|
956 |
-
|
957 |
-
|
958 |
-
|
959 |
-
|
960 |
-
|
961 |
-
|
962 |
-
|
|
|
963 |
|
964 |
/* Main image in popup */
|
965 |
img.mfp-img {
|
966 |
-
|
967 |
-
|
968 |
-
|
969 |
-
|
970 |
-
|
971 |
-
|
972 |
-
|
973 |
-
|
|
|
974 |
|
975 |
/* The shadow behind the image */
|
976 |
.eae-popup .mfp-figure {
|
977 |
-
|
|
|
978 |
.eae-popup .mfp-figure:after {
|
979 |
-
|
980 |
-
|
981 |
-
|
982 |
-
|
983 |
-
|
984 |
-
|
985 |
-
|
986 |
-
|
987 |
-
|
988 |
-
|
989 |
-
|
990 |
-
|
|
|
991 |
.eae-popup .mfp-figure small {
|
992 |
-
|
993 |
-
|
994 |
-
|
995 |
-
|
|
|
996 |
.eae-popup .mfp-figure figure {
|
997 |
-
|
|
|
998 |
|
999 |
.eae-popup .mfp-bottom-bar {
|
1000 |
-
|
1001 |
-
|
1002 |
-
|
1003 |
-
|
1004 |
-
|
1005 |
-
|
|
|
1006 |
|
1007 |
.eae-popup .mfp-title {
|
1008 |
-
|
1009 |
-
|
1010 |
-
|
1011 |
-
|
1012 |
-
|
1013 |
-
|
1014 |
}
|
1015 |
|
1016 |
.eae-popup .mfp-image-holder .mfp-content {
|
1017 |
-
|
|
|
1018 |
|
1019 |
.eae-popup .mfp-gallery .mfp-image-holder .mfp-figure {
|
1020 |
-
|
|
|
1021 |
|
1022 |
-
@media screen and (max-width: 800px) and (orientation: landscape),
|
1023 |
-
|
|
|
1024 |
* Remove all paddings around the image on small screen
|
1025 |
*/
|
1026 |
-
|
1027 |
-
|
1028 |
-
|
1029 |
-
|
1030 |
-
|
1031 |
-
|
1032 |
-
|
1033 |
-
|
1034 |
-
|
1035 |
-
|
1036 |
-
|
1037 |
-
|
1038 |
-
|
1039 |
-
|
1040 |
-
|
1041 |
-
|
1042 |
-
|
1043 |
-
|
1044 |
-
|
1045 |
-
|
1046 |
-
|
1047 |
-
|
1048 |
-
|
1049 |
-
|
1050 |
-
|
1051 |
-
|
1052 |
-
|
1053 |
-
|
1054 |
-
|
1055 |
-
|
1056 |
-
|
1057 |
-
|
1058 |
-
|
1059 |
-
|
1060 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1061 |
|
1062 |
-
.elementor-element.eae-animated-gradient-yes
|
1063 |
-
|
1064 |
-
|
1065 |
-
|
1066 |
-
|
|
|
1067 |
}
|
1068 |
-
.animated-gradient{
|
1069 |
-
|
1070 |
-
|
1071 |
-
|
1072 |
-
|
1073 |
-
|
1074 |
}
|
1075 |
@-webkit-keyframes AnimateGradient {
|
1076 |
-
|
1077 |
-
|
1078 |
-
|
1079 |
-
|
1080 |
-
|
1081 |
-
|
1082 |
-
|
1083 |
-
|
1084 |
-
|
1085 |
}
|
1086 |
@-moz-keyframes AnimateGradient {
|
1087 |
-
|
1088 |
-
|
1089 |
-
|
1090 |
-
|
1091 |
-
|
1092 |
-
|
1093 |
-
|
1094 |
-
|
1095 |
-
|
1096 |
}
|
1097 |
@keyframes AnimateGradient {
|
1098 |
-
|
1099 |
-
|
1100 |
-
|
1101 |
-
|
1102 |
-
|
1103 |
-
|
1104 |
-
|
1105 |
-
|
1106 |
-
|
1107 |
}
|
1108 |
|
1109 |
/*--------------------------------Testimonial Slider----------------------------*/
|
1110 |
|
1111 |
-
.eae-swiper-outer-wrapper .swiper-slide{
|
1112 |
-
|
1113 |
-
|
1114 |
}
|
1115 |
-
.eae-swiper-outer-wrapper .swiper-slide-wrapper
|
1116 |
-
|
|
|
1117 |
}
|
1118 |
|
1119 |
.eae-grid {
|
1120 |
-
|
1121 |
-
|
1122 |
-
|
1123 |
}
|
1124 |
.eae-masonry- .eae-grid-item {
|
1125 |
-
|
1126 |
-
|
1127 |
}
|
1128 |
-
.eae-masonry- .eae-grid-item .testimonial-wrapper{
|
1129 |
-
|
1130 |
}
|
1131 |
-
.eae-grid-container
|
1132 |
-
|
1133 |
}
|
1134 |
-
.eae-grid-container{
|
1135 |
-
|
1136 |
}
|
1137 |
|
1138 |
-
.wrapper .content{
|
1139 |
-
|
1140 |
-
}/*------------------------skin-2------------------*/
|
1141 |
-
.skin-2.testimonial-wrapper{
|
1142 |
-
|
1143 |
-
|
1144 |
-
|
1145 |
-
|
1146 |
-
|
1147 |
-
|
1148 |
-
|
1149 |
-
}
|
1150 |
-
.skin-2 .content-wrapper{
|
1151 |
-
|
1152 |
-
|
1153 |
-
|
1154 |
-
|
1155 |
-
|
1156 |
-
|
1157 |
-
|
1158 |
-
.skin-2 i.
|
1159 |
-
|
1160 |
-
}
|
1161 |
-
.skin-2 i.before-content{
|
1162 |
-
|
1163 |
-
|
1164 |
-
}
|
1165 |
-
.skin-2 i.after-content{
|
1166 |
-
|
1167 |
-
|
1168 |
-
}
|
1169 |
-
.skin-2 blockquote{
|
1170 |
-
|
1171 |
-
|
1172 |
-
|
1173 |
-
|
1174 |
-
|
1175 |
-
|
1176 |
-
|
1177 |
-
|
1178 |
-
}
|
1179 |
-
.skin-2 blockquote::before
|
1180 |
-
|
1181 |
-
|
1182 |
-
|
1183 |
-
|
1184 |
-
|
1185 |
-
|
1186 |
-
|
1187 |
-
|
1188 |
-
|
1189 |
-
|
1190 |
-
|
1191 |
-
|
1192 |
-
|
1193 |
-
|
1194 |
-
|
1195 |
-
|
1196 |
-
}
|
1197 |
-
.skin-2 .image-wrapper{
|
1198 |
-
|
1199 |
-
|
1200 |
-
|
1201 |
}
|
1202 |
-
.skin-2 img{
|
1203 |
-
|
1204 |
-
|
1205 |
}
|
1206 |
-
.skin-2 .detail-wrapper{
|
1207 |
-
|
1208 |
}
|
1209 |
-
.skin-2 .rating-wrapper
|
1210 |
-
|
|
|
|
|
|
|
1211 |
}
|
1212 |
-
.skin-2 .rating-wrapper{
|
1213 |
-
|
1214 |
}
|
1215 |
|
1216 |
-
.skin-2 .title{
|
1217 |
-
|
1218 |
-
|
1219 |
}
|
1220 |
-
.skin-2 blockquote p{
|
1221 |
-
|
1222 |
}
|
1223 |
|
1224 |
/*------------------------skin-1------------------*/
|
1225 |
|
1226 |
-
.skin-1.testimonial-wrapper{
|
1227 |
-
|
1228 |
-
|
1229 |
-
|
1230 |
-
|
1231 |
-
|
1232 |
-
}
|
1233 |
-
.skin-1 .content-wrapper{
|
1234 |
-
order : 0;
|
1235 |
-
}
|
1236 |
-
.skin-1 .image-wrapper{
|
1237 |
-
order : 1;
|
1238 |
-
text-align: center;
|
1239 |
-
margin: 15px 0;
|
1240 |
-
}
|
1241 |
-
.skin-1 .detail-wrapper{
|
1242 |
-
order : 2;
|
1243 |
-
}
|
1244 |
-
.skin-1 .content-wrapper{
|
1245 |
-
padding: 10px;
|
1246 |
-
position: relative;
|
1247 |
-
}
|
1248 |
-
.skin-1 i.before-content , .skin-1 i.after-content{
|
1249 |
-
position: absolute;
|
1250 |
-
}
|
1251 |
-
.skin-1 i.before-content{
|
1252 |
-
top : 10px;
|
1253 |
-
left : 20px;
|
1254 |
-
}
|
1255 |
-
.skin-1 i.after-content{
|
1256 |
-
bottom : 10px;
|
1257 |
-
right: 20px;
|
1258 |
-
}
|
1259 |
-
.skin-1 blockquote{
|
1260 |
-
position: relative;
|
1261 |
-
background-color: #ffffff;
|
1262 |
-
font-size: 14px;
|
1263 |
-
padding: 10px;
|
1264 |
-
font-weight: 500;
|
1265 |
-
text-align: left;
|
1266 |
-
margin: 0;
|
1267 |
-
line-height: 1.6em;
|
1268 |
-
font-style: italic;
|
1269 |
-
}
|
1270 |
-
.skin-1 blockquote::before , .skin-1 blockquote::after{
|
1271 |
-
font-family: 'FontAwesome';
|
1272 |
-
content: "\201C";
|
1273 |
-
position: absolute;
|
1274 |
-
font-size: 50px;
|
1275 |
-
opacity: 0.3;
|
1276 |
-
font-style: normal;
|
1277 |
-
}
|
1278 |
-
|
1279 |
-
.skin-1 blockquote::before{
|
1280 |
-
top : 10px;
|
1281 |
-
left: 20px;
|
1282 |
-
}
|
1283 |
-
.skin-1 blockquote::after{
|
1284 |
-
content: "\201D";
|
1285 |
-
right: 20px;
|
1286 |
-
|
1287 |
-
}
|
1288 |
-
.skin-1 .image-wrapper{
|
1289 |
-
position: relative;
|
1290 |
-
max-width: 100%;
|
1291 |
}
|
1292 |
-
.skin-1
|
1293 |
-
|
1294 |
-
height: auto;
|
1295 |
-
border-radius: 50%;
|
1296 |
}
|
1297 |
-
.skin-1 .
|
1298 |
-
|
1299 |
-
|
1300 |
-
|
1301 |
-
|
1302 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1303 |
}
|
1304 |
-
.skin-1 .rating-wrapper
|
1305 |
-
|
|
|
|
|
1306 |
}
|
1307 |
-
.skin-1 .title-wrapper{
|
1308 |
-
|
1309 |
-
|
1310 |
}
|
1311 |
-
.skin-1 .rating-wrapper{
|
1312 |
-
|
1313 |
}
|
1314 |
|
1315 |
/*------------------------skin-4------------------*/
|
1316 |
|
1317 |
-
.skin-4.testimonial-wrapper{
|
1318 |
-
|
1319 |
-
|
1320 |
-
|
1321 |
-
|
1322 |
-
|
1323 |
-
|
1324 |
-
|
1325 |
-
}
|
1326 |
-
.skin-4 .content-wrapper{
|
1327 |
-
|
1328 |
-
|
1329 |
-
}
|
1330 |
-
.skin-4 .content-wrapper{
|
1331 |
-
|
1332 |
-
|
1333 |
-
}
|
1334 |
-
.skin-4 i.before-content
|
1335 |
-
|
1336 |
-
|
1337 |
-
|
1338 |
-
|
1339 |
-
|
1340 |
-
|
1341 |
-
|
1342 |
-
|
1343 |
-
|
1344 |
-
|
1345 |
-
|
1346 |
-
|
1347 |
-
|
1348 |
-
|
1349 |
-
|
1350 |
-
|
1351 |
-
|
1352 |
-
|
1353 |
-
|
1354 |
-
|
1355 |
-
|
1356 |
-
|
1357 |
-
|
1358 |
-
|
1359 |
-
|
1360 |
-
|
1361 |
-
|
1362 |
-
|
1363 |
-
|
1364 |
-
|
1365 |
-
|
1366 |
-
|
1367 |
-
|
1368 |
-
|
1369 |
-
|
1370 |
-
|
1371 |
-
|
1372 |
-
|
1373 |
-
|
1374 |
-
|
1375 |
-
|
1376 |
-
|
|
|
1377 |
}
|
1378 |
-
.skin-4 img{
|
1379 |
-
|
1380 |
-
|
1381 |
}
|
1382 |
-
.skin-4 .detail-wrapper{
|
1383 |
-
|
1384 |
}
|
1385 |
-
.skin-4 .rating-wrapper
|
1386 |
-
|
|
|
|
|
1387 |
}
|
1388 |
-
.skin-4 .rating-wrapper{
|
1389 |
-
|
1390 |
}
|
1391 |
|
1392 |
-
.skin-4 .title{
|
1393 |
-
|
1394 |
-
|
1395 |
}
|
1396 |
|
1397 |
/*------------------------skin-3------------------*/
|
1398 |
|
1399 |
-
.skin-3.testimonial-wrapper{
|
1400 |
-
|
1401 |
-
|
1402 |
-
|
1403 |
-
|
1404 |
-
|
1405 |
-
|
1406 |
-
}
|
1407 |
-
.skin-3 .content-section{
|
1408 |
-
display: flex;
|
1409 |
-
flex-direction: column;
|
1410 |
-
align-self: center;
|
1411 |
-
}
|
1412 |
-
.skin-3 .content-wrapper{
|
1413 |
-
padding: 10px;
|
1414 |
-
position: relative;
|
1415 |
-
}
|
1416 |
-
.skin-3 i.before-content , .skin-2 i.after-content{
|
1417 |
-
position: absolute;
|
1418 |
-
}
|
1419 |
-
.skin-3 i.before-content{
|
1420 |
-
top : 10px;
|
1421 |
-
left : 20px;
|
1422 |
-
}
|
1423 |
-
.skin-3 i.after-content{
|
1424 |
-
bottom : 10px;
|
1425 |
-
right: 20px;
|
1426 |
-
}
|
1427 |
-
.skin-3 blockquote{
|
1428 |
-
position: relative;
|
1429 |
-
font-size: 18px;
|
1430 |
-
padding: 10px;
|
1431 |
-
font-weight: 500;
|
1432 |
-
text-align: left;
|
1433 |
-
margin: 0;
|
1434 |
-
line-height: 1.6em;
|
1435 |
-
font-style: italic;
|
1436 |
-
}
|
1437 |
-
.skin-3 blockquote::before , .skin-3 blockquote::after{
|
1438 |
-
font-family: 'FontAwesome';
|
1439 |
-
content: "\201C";
|
1440 |
-
position: absolute;
|
1441 |
-
font-size: 50px;
|
1442 |
-
opacity: 0.3;
|
1443 |
-
font-style: normal;
|
1444 |
-
}
|
1445 |
-
|
1446 |
-
.skin-3 blockquote::before{
|
1447 |
-
top : 10px;
|
1448 |
-
left: 20px;
|
1449 |
-
}
|
1450 |
-
.skin-3 blockquote::after{
|
1451 |
-
content: "\201D";
|
1452 |
-
right: 20px;
|
1453 |
-
|
1454 |
-
}
|
1455 |
-
.skin-3 .image-wrapper{
|
1456 |
-
position: relative;
|
1457 |
-
max-width: 30%;
|
1458 |
-
max-height: 250px;
|
1459 |
-
text-align: center;
|
1460 |
-
align-self: center;
|
1461 |
-
}
|
1462 |
-
.skin-3 img{
|
1463 |
-
width: 100%;
|
1464 |
-
}
|
1465 |
-
.testimonial-wrapper .skin-3 .eae-person-avatar{ border-radius: 50% ;
|
1466 |
-
}
|
1467 |
-
.skin-3 .detail-wrapper{
|
1468 |
-
text-align : left;
|
1469 |
-
padding-left: 20px;
|
1470 |
-
}
|
1471 |
-
.skin-3 .rating-wrapper , .skin-3 .title , .skin-3 .designation{
|
1472 |
-
padding: 3px 0;
|
1473 |
-
}
|
1474 |
-
.skin-3 .rating-wrapper{
|
1475 |
-
color : #800040;
|
1476 |
-
}
|
1477 |
-
|
1478 |
-
.skin-3 .title{
|
1479 |
-
font-weight: 800;
|
1480 |
-
}
|
1481 |
-
.eae-swiper-outer-wrapper .swiper-button-prev{
|
1482 |
-
-webkit-mask: url(arrow-left.svg) no-repeat 100% 100%;
|
1483 |
-
mask: url(arrow-left.svg) no-repeat 100% 100%;
|
1484 |
-
-webkit-mask-size: cover;
|
1485 |
-
mask-size: cover;
|
1486 |
-
background-image: none;
|
1487 |
-
background-color: #007aff;
|
1488 |
-
transform: translateY(-50%);
|
1489 |
-
margin-top:0px;
|
1490 |
-
|
1491 |
-
}
|
1492 |
-
.eae-swiper-outer-wrapper .swiper-container-rtl .swiper-button-prev{
|
1493 |
-
-webkit-mask: url(arrow-right.svg) no-repeat 100% 100%;
|
1494 |
-
mask: url(arrow-right.svg) no-repeat 100% 100%;
|
1495 |
-
}
|
1496 |
-
.eae-swiper-outer-wrapper .swiper-button-next{
|
1497 |
-
-webkit-mask: url(arrow-right.svg) no-repeat 100% 100%;
|
1498 |
-
mask: url(arrow-right.svg) no-repeat 100% 100%;
|
1499 |
-
-webkit-mask-size: cover;
|
1500 |
-
mask-size: cover;
|
1501 |
-
background-image: none;
|
1502 |
-
background-color: #007aff;
|
1503 |
-
transform: translateY(-50%);
|
1504 |
-
margin-top:0px;
|
1505 |
-
}
|
1506 |
-
.eae-swiper-outer-wrapper .swiper-container-rtl .swiper-button-next{
|
1507 |
-
-webkit-mask: url(arrow-left.svg) no-repeat 100% 100%;
|
1508 |
-
mask: url(arrow-left.svg) no-repeat 100% 100%;
|
1509 |
-
}
|
1510 |
-
.elementor-widget-wts-testimonial-slider .eae-swiper-outer-wrapper .swiper-button-prev, .elementor-widget-wts-testimonial-slider .eae-swiper-outer-wrapper .swiper-button-next{
|
1511 |
-
-webkit-mask: none;
|
1512 |
-
mask: none;
|
1513 |
-
-webkit-mask-size: unset;
|
1514 |
-
mask-size: unset;
|
1515 |
-
background-image: none;
|
1516 |
-
background-color: unset;
|
1517 |
-
width: auto;
|
1518 |
-
height: auto;
|
1519 |
-
transform: translateY(-50%);
|
1520 |
-
margin-top:0px;
|
1521 |
-
}
|
1522 |
-
|
1523 |
-
.swiper-container .swiper-button-next i, .swiper-container .swiper-button-prev i{
|
1524 |
-
width: 1em;
|
1525 |
-
height: 1em;
|
1526 |
-
text-align: center;
|
1527 |
-
position: relative;
|
1528 |
-
}
|
1529 |
-
|
1530 |
-
.elementor-widget-wts-testimonial-slider .eae-swiper-outer-wrapper .eae-swiper-button-wrapper{ position: absolute; height: auto; line-height: 0; }
|
1531 |
-
|
1532 |
-
.eae-hpos-right.eae-vpos-top .eae-swiper-button-wrapper{
|
1533 |
-
bottom: auto; top: 0; width: auto; right: 0;
|
1534 |
-
}
|
1535 |
-
.eae-vpos-top.eae-hpos-left .eae-swiper-button-wrapper{
|
1536 |
-
bottom: auto; top: 0; width: auto; left: 0;
|
1537 |
-
}
|
1538 |
-
.eeae-hpos-right.eae-vpos-bottom .eae-swiper-button-wrapper{
|
1539 |
-
bottom: 0; top: auto; width: auto; right: 0;
|
1540 |
-
}
|
1541 |
-
.eae-vpos-bottom.eae-hpos-left .eae-swiper-button-wrapper{
|
1542 |
-
bottom: 0; top: auto; width: auto; left: 0;
|
1543 |
-
}
|
1544 |
-
.eae-hpos-right.eae-vpos-middle .eae-swiper-button-wrapper{
|
1545 |
-
bottom: auto; top: 50%; width: auto; right: 0;
|
1546 |
-
}
|
1547 |
-
.eae-hpos-left.eae-vpos-middle .eae-swiper-button-wrapper{
|
1548 |
-
bottom: auto; top: 50%; width: auto; left: 0;
|
1549 |
-
}
|
1550 |
-
|
1551 |
-
.eae-hpos-right .swiper-button-prev, .eae-hpos-left .swiper-button-prev, .eae-hpos-right .swiper-button-next, .eae-hpos-left .swiper-button-next {
|
1552 |
-
position: relative;
|
1553 |
-
display: inline-block;
|
1554 |
-
right: auto;
|
1555 |
-
left: auto;
|
1556 |
-
}
|
1557 |
-
|
1558 |
-
.eae-hpos-right.eae-vpos-bottom .swiper-button-prev, .eae-hpos-right.eae-vpos-bottom .swiper-button-next {
|
1559 |
-
top: auto;
|
1560 |
-
bottom: 0;
|
1561 |
-
transform: unset;
|
1562 |
-
}
|
1563 |
-
.eae-hpos-right.eae-vpos-top .swiper-button-next, .eae-hpos-right.eae-vpos-top .swiper-button-prev {
|
1564 |
-
top: 0;
|
1565 |
-
bottom: auto;
|
1566 |
-
transform: unset;
|
1567 |
-
}
|
1568 |
-
.eae-hpos-left.eae-vpos-top .swiper-button-prev, .eae-hpos-left.eae-vpos-top .swiper-button-next {
|
1569 |
-
top: 0;
|
1570 |
-
bottom: auto;
|
1571 |
-
transform: unset;
|
1572 |
-
}
|
1573 |
-
.eae-hpos-left.eae-vpos-bottom .swiper-button-next, .eae-hpos-left.eae-vpos-bottom .swiper-button-prev {
|
1574 |
-
top: auto;
|
1575 |
-
bottom: 0;
|
1576 |
-
transform: unset;
|
1577 |
-
}
|
1578 |
-
.eae-hpos-center.eae-vpos-bottom .swiper-button-next, .eae-hpos-center.eae-vpos-bottom .swiper-button-prev {
|
1579 |
-
top: auto;
|
1580 |
-
bottom: 0;
|
1581 |
-
transform: unset;
|
1582 |
}
|
1583 |
-
.
|
1584 |
-
|
1585 |
-
|
1586 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1587 |
}
|
1588 |
|
1589 |
-
|
1590 |
@media all and (max-width: 900px) {
|
1591 |
-
|
1592 |
-
|
1593 |
-
|
1594 |
-
|
1595 |
-
|
1596 |
-
|
1597 |
-
|
1598 |
-
|
1599 |
-
|
1600 |
-
|
1601 |
-
|
1602 |
-
|
|
|
|
|
|
|
|
|
1603 |
}
|
1604 |
|
1605 |
/* Info Circle */
|
1606 |
.eae-info-circle {
|
1607 |
-
|
1608 |
-
|
1609 |
-
|
1610 |
-
|
1611 |
-
|
1612 |
}
|
1613 |
-
|
1614 |
-
.eae-info-circle:before {
|
1615 |
-
|
1616 |
-
|
1617 |
-
|
1618 |
-
|
1619 |
-
|
1620 |
-
|
1621 |
-
|
1622 |
-
|
1623 |
-
|
1624 |
-
|
1625 |
-
|
1626 |
-
|
1627 |
-
|
1628 |
}
|
1629 |
|
1630 |
.eae-info-circle:after {
|
1631 |
-
|
1632 |
-
|
1633 |
-
|
1634 |
}
|
1635 |
|
1636 |
.eae-info-circle .eae-ic-icon-wrap {
|
1637 |
-
|
1638 |
-
|
1639 |
-
|
1640 |
-
|
1641 |
-
|
1642 |
-
|
1643 |
-
|
1644 |
-
|
1645 |
-
|
1646 |
}
|
1647 |
|
1648 |
.eae-info-circle .eae-info-circle-item {
|
1649 |
-
|
1650 |
-
|
1651 |
-
|
1652 |
-
|
1653 |
-
|
1654 |
-
}
|
1655 |
-
|
1656 |
-
.eae-info-circle
|
1657 |
-
|
1658 |
-
|
1659 |
-
|
|
|
|
|
1660 |
}
|
1661 |
|
1662 |
.eae-info-circle .eae-info-circle-item__content-wrap {
|
1663 |
-
|
1664 |
-
|
1665 |
-
|
1666 |
-
|
1667 |
-
|
1668 |
-
|
1669 |
-
|
1670 |
-
|
1671 |
-
|
1672 |
-
|
1673 |
-
|
1674 |
-
|
1675 |
-
|
1676 |
-
|
1677 |
-
|
1678 |
}
|
1679 |
|
1680 |
.eae-info-circle .eae-info-circle-item__content-wrap:before {
|
1681 |
-
|
1682 |
-
|
1683 |
-
|
1684 |
-
|
1685 |
}
|
1686 |
|
1687 |
.eae-info-circle .eae-info-circle-item__content {
|
1688 |
-
|
1689 |
-
|
1690 |
-
|
1691 |
-
|
1692 |
-
|
1693 |
-
|
1694 |
-
|
1695 |
-
|
1696 |
-
|
1697 |
-
|
1698 |
-
|
1699 |
-
|
1700 |
-
|
1701 |
-
|
1702 |
}
|
1703 |
|
1704 |
-
|
1705 |
/* Mobile */
|
1706 |
@media screen and (max-width: 767px) {
|
1707 |
-
|
1708 |
-
|
1709 |
-
|
1710 |
-
|
1711 |
-
|
1712 |
-
|
1713 |
-
|
1714 |
|
1715 |
-
|
1716 |
-
|
1717 |
-
|
1718 |
|
1719 |
-
|
1720 |
-
|
1721 |
-
|
1722 |
-
|
1723 |
-
|
1724 |
-
|
1725 |
-
|
1726 |
-
|
1727 |
-
|
1728 |
-
|
1729 |
-
|
1730 |
-
|
1731 |
-
|
1732 |
-
|
1733 |
-
|
1734 |
-
|
1735 |
-
|
1736 |
-
|
1737 |
-
|
1738 |
|
1739 |
-
|
1740 |
-
|
1741 |
-
|
1742 |
-
|
1743 |
-
|
1744 |
-
|
1745 |
-
|
1746 |
-
|
1747 |
-
|
1748 |
-
|
1749 |
-
|
1750 |
-
|
1751 |
-
|
1752 |
-
|
1753 |
-
|
1754 |
-
|
1755 |
-
|
1756 |
-
|
1757 |
|
1758 |
-
|
1759 |
-
|
1760 |
-
|
1761 |
-
|
1762 |
-
|
1763 |
-
|
1764 |
-
|
1765 |
-
|
1766 |
}
|
1767 |
|
1768 |
/**
|
1769 |
New Icon
|
1770 |
*/
|
1771 |
-
.eae-icon-wrap i{
|
1772 |
-
|
1773 |
-
|
1774 |
-
|
1775 |
-
|
1776 |
-
}
|
1777 |
-
.eae-icon-wrap i img{
|
1778 |
-
|
1779 |
-
|
1780 |
-
|
1781 |
-
|
1782 |
-
}
|
1783 |
-
.eae-icon{
|
1784 |
-
|
1785 |
-
|
1786 |
-
|
1787 |
-
|
1788 |
-
|
1789 |
-
|
1790 |
}
|
1791 |
|
1792 |
-
.eae-icon-shape-circle:not(.elementor-element){
|
1793 |
-
|
1794 |
}
|
1795 |
.eae-icon-view-framed:not(.elementor-element) {
|
1796 |
-
|
1797 |
-
|
1798 |
}
|
1799 |
|
1800 |
-
.eae-icon-wrapper{
|
1801 |
-
|
1802 |
}
|
1803 |
|
1804 |
-
.eae-icon-wrapper .eae-icon{
|
1805 |
-
|
1806 |
-
|
1807 |
-
|
1808 |
-
|
1809 |
-
|
1810 |
}
|
1811 |
|
1812 |
-
|
1813 |
/**
|
1814 |
|
1815 |
Timeline CSS
|
@@ -1817,981 +2109,1344 @@ new comment
|
|
1817 |
|
1818 |
**/
|
1819 |
|
1820 |
-
|
1821 |
.eae-timeline {
|
1822 |
-
|
1823 |
-
|
1824 |
-
|
1825 |
}
|
1826 |
|
1827 |
-
.eae-timline-progress-bar{
|
1828 |
-
|
1829 |
-
|
1830 |
-
|
1831 |
-
|
1832 |
-
|
1833 |
-
|
1834 |
}
|
1835 |
|
1836 |
-
.eae-timeline-item{
|
1837 |
-
|
1838 |
-
|
1839 |
-
|
1840 |
-
|
1841 |
}
|
1842 |
|
1843 |
-
.eae-timeline-item:last-child{
|
1844 |
-
|
1845 |
}
|
1846 |
|
1847 |
.eae-tl-top .eae-timeline-item {
|
1848 |
-
|
1849 |
}
|
1850 |
-
.eae-tl-top .eae-tl-item-content::before{
|
1851 |
-
|
1852 |
}
|
1853 |
.eae-timeline-item.image-position-row-reverse .eae-tl-item-image,
|
1854 |
-
.eae-timeline-item.image-position-row .eae-tl-item-image{
|
1855 |
-
|
1856 |
-
|
1857 |
}
|
1858 |
|
1859 |
-
.eae-tl-item-meta-wrapper-inner{
|
1860 |
-
|
1861 |
}
|
1862 |
.eae-tl-bottom .eae-timeline-item {
|
1863 |
-
|
1864 |
}
|
1865 |
-
.eae-tl-bottom .eae-tl-item-content::before{
|
1866 |
-
|
1867 |
}
|
1868 |
|
1869 |
.eae-tl-center .eae-timeline-item {
|
1870 |
-
|
1871 |
}
|
1872 |
-
.eae-tl-center .eae-tl-item-content::before{
|
1873 |
-
|
1874 |
}
|
1875 |
|
1876 |
-
.eae-layout-center .eae-timline-progress-bar{
|
1877 |
-
|
1878 |
}
|
1879 |
.eae-layout-center .eae-timeline-item:nth-child(odd) {
|
1880 |
-
|
1881 |
}
|
1882 |
-
.eae-layout-center .eae-timeline-item:nth-child(odd) .eae-tl-item-meta-wrapper{
|
1883 |
-
|
1884 |
-
|
1885 |
-
|
1886 |
}
|
1887 |
-
|
1888 |
-
|
1889 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1890 |
}
|
1891 |
-
|
1892 |
-
|
1893 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1894 |
}
|
1895 |
|
1896 |
-
.eae-layout-left .eae-tl-content-wrapper {
|
1897 |
-
|
1898 |
-
|
1899 |
}
|
1900 |
-
|
1901 |
-
|
|
|
|
|
1902 |
}
|
1903 |
-
.eae-layout-left .eae-
|
1904 |
-
|
1905 |
}
|
1906 |
-
.eae-layout-left .eae-tl-item-meta-wrapper
|
1907 |
-
|
|
|
|
|
|
|
1908 |
}
|
1909 |
|
1910 |
-
.eae-layout-right .eae-timline-progress-bar{
|
1911 |
-
|
1912 |
}
|
1913 |
-
.eae-layout-right .eae-tl-content-wrapper {
|
1914 |
-
|
1915 |
-
|
|
|
|
|
|
|
|
|
|
|
1916 |
}
|
1917 |
-
|
1918 |
-
|
|
|
1919 |
}
|
1920 |
-
.eae-layout-right .eae-tl-item-meta-wrapper{
|
1921 |
-
|
1922 |
}
|
1923 |
-
.eae-layout-right .eae-tl-item-meta-wrapper-inner{
|
1924 |
-
|
1925 |
}
|
1926 |
|
1927 |
.eae-tl-item-meta-wrapper {
|
1928 |
-
|
1929 |
-
|
1930 |
-
|
1931 |
-
|
1932 |
-
|
1933 |
-
|
1934 |
-
|
1935 |
-
|
1936 |
}
|
1937 |
-
.eae-tl-item-meta{
|
1938 |
-
|
1939 |
}
|
1940 |
|
1941 |
.eae-tl-icon-wrapper {
|
1942 |
-
|
1943 |
-
|
1944 |
-
|
1945 |
-
|
1946 |
-
|
1947 |
-
|
1948 |
-
|
1949 |
-
|
1950 |
-
|
1951 |
-
|
1952 |
-
|
1953 |
-
|
1954 |
-
|
1955 |
-
|
1956 |
-
|
1957 |
-
|
1958 |
-
|
1959 |
}
|
1960 |
|
1961 |
.eae-tl-content-wrapper {
|
1962 |
-
|
1963 |
-
|
1964 |
-
|
1965 |
-
|
1966 |
-
|
1967 |
-
|
1968 |
-
}
|
1969 |
-
.eae-tl-item-content{
|
1970 |
-
|
1971 |
-
|
1972 |
-
|
1973 |
-
|
1974 |
-
|
1975 |
-
|
1976 |
-
}
|
1977 |
-
.eae-tl-content{
|
1978 |
-
|
1979 |
-
|
1980 |
-
|
1981 |
-
|
1982 |
-
|
1983 |
-
}
|
1984 |
-
|
1985 |
-
.image-position-row
|
1986 |
-
.
|
1987 |
-
.eae-timeline-item.custom-image-style-yes
|
1988 |
-
|
1989 |
-
|
1990 |
-
|
1991 |
-
|
1992 |
-
|
1993 |
-
|
1994 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1995 |
}
|
1996 |
.custom-image-style-.image-position-row .eae-content-inner,
|
1997 |
.custom-image-style-.image-position-row-reverse .eae-content-inner,
|
1998 |
.custom-image-style-no.image-position-row .eae-content-inner,
|
1999 |
-
.custom-image-style-no.image-position-row-reverse .eae-content-inner{
|
2000 |
-
|
2001 |
-
|
2002 |
-
|
2003 |
}
|
2004 |
-
.eae-tl-item-image{
|
2005 |
-
|
2006 |
}
|
2007 |
|
2008 |
-
.image-position-row .eae-tl-item-image img,
|
2009 |
-
|
2010 |
-
|
|
|
2011 |
}
|
2012 |
-
.image-position-row .eae-tl-item-image
|
2013 |
-
|
|
|
2014 |
}
|
2015 |
-
.image-position-column .eae-tl-item-image{
|
2016 |
-
|
2017 |
}
|
2018 |
.custom-image-style-no.image-position-column .eae-tl-item-image,
|
2019 |
-
.custom-image-style-.image-position-column .eae-tl-item-image{
|
2020 |
-
|
2021 |
}
|
2022 |
|
2023 |
-
.eae-pb-inner-line{
|
2024 |
-
|
2025 |
-
|
2026 |
}
|
2027 |
|
2028 |
.eae-tl-item-content::before {
|
2029 |
-
|
2030 |
-
|
2031 |
-
|
2032 |
-
|
2033 |
-
|
2034 |
-
|
2035 |
-
|
2036 |
}
|
2037 |
|
2038 |
-
|
2039 |
-
|
2040 |
-
display: flex;
|
2041 |
}
|
2042 |
|
2043 |
-
.elementor-widget-bpel-timeline .eae-icon-wrapper{
|
2044 |
-
|
2045 |
-
|
2046 |
-
|
2047 |
-
|
2048 |
-
|
2049 |
}
|
2050 |
|
2051 |
-
.eae-tl-read-more{
|
2052 |
-
|
2053 |
-
|
2054 |
-
|
2055 |
}
|
2056 |
-
.image-position-row
|
2057 |
-
|
|
|
|
|
|
|
2058 |
}
|
2059 |
-
.image-position-row-reverse
|
2060 |
-
|
|
|
|
|
|
|
2061 |
}
|
2062 |
@media screen and (min-width: 1024px) {
|
2063 |
-
|
2064 |
-
|
2065 |
-
|
2066 |
-
|
2067 |
-
|
2068 |
-
|
2069 |
-
|
2070 |
-
|
2071 |
-
|
2072 |
-
|
2073 |
-
|
2074 |
-
|
2075 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2076 |
}
|
2077 |
@media screen and (max-width: 1023px) and (min-width: 768px) {
|
2078 |
-
|
2079 |
-
|
2080 |
-
|
2081 |
-
.
|
2082 |
-
|
2083 |
-
|
2084 |
-
|
2085 |
-
.eae-
|
2086 |
-
|
2087 |
-
|
2088 |
-
|
2089 |
-
|
2090 |
-
.eae-tl-res-style-mobile-tablet.eae-tl-res-layout-left .eae-timeline-item{
|
2091 |
-
flex-direction: row !important;
|
2092 |
-
}
|
2093 |
-
.eae-tl-res-style-mobile-tablet.eae-tl-res-layout-right .eae-timeline-item{
|
2094 |
-
flex-direction: row-reverse !important;
|
2095 |
-
}
|
2096 |
-
|
2097 |
-
.eae-layout-center.eae-tl-res-style-mobile-tablet.eae-tl-res-layout-left .eae-timeline-item .eae-tl-item-content::before,
|
2098 |
-
.eae-timeline.eae-layout-center.eae-tl-res-style-mobile .eae-timeline-item:nth-child(even) .eae-tl-item-content::before,
|
2099 |
-
.eae-layout-left .eae-tl-item-content::before,
|
2100 |
-
.eae-layout-left .eae-timeline-item .eae-tl-item-content::before{
|
2101 |
-
left: 4px !important;
|
2102 |
-
border-width: 8px 16px 8px 0 !important;
|
2103 |
-
border-color: transparent #f4f4f4 transparent transparent !important;
|
2104 |
-
}
|
2105 |
|
2106 |
-
|
2107 |
-
|
2108 |
-
|
2109 |
-
|
2110 |
-
|
2111 |
-
|
2112 |
-
|
2113 |
-
|
2114 |
-
|
2115 |
-
|
2116 |
-
|
2117 |
-
|
2118 |
-
|
2119 |
-
|
2120 |
-
|
2121 |
-
|
2122 |
-
|
2123 |
-
.eae-
|
2124 |
-
|
2125 |
-
|
2126 |
-
|
2127 |
-
|
2128 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2129 |
}
|
2130 |
|
2131 |
@media screen and (max-width: 767px) {
|
2132 |
-
|
2133 |
-
|
2134 |
-
|
2135 |
-
|
2136 |
-
|
2137 |
-
|
2138 |
-
|
2139 |
-
|
2140 |
-
|
2141 |
-
|
2142 |
-
|
2143 |
-
|
2144 |
-
|
2145 |
-
|
2146 |
-
|
2147 |
-
|
2148 |
-
|
2149 |
-
|
2150 |
-
|
2151 |
-
|
2152 |
-
|
2153 |
-
|
2154 |
-
|
2155 |
-
|
2156 |
-
|
2157 |
-
|
2158 |
-
.eae-
|
2159 |
-
|
2160 |
-
|
2161 |
-
|
2162 |
-
|
2163 |
-
|
2164 |
-
.eae-tl-
|
2165 |
-
|
2166 |
-
.eae-layout-
|
2167 |
-
|
2168 |
-
|
2169 |
-
|
2170 |
-
|
2171 |
-
.eae-tl-
|
2172 |
-
|
2173 |
-
|
2174 |
-
|
2175 |
-
|
2176 |
-
.eae-tl-res-style-mobile.eae-
|
2177 |
-
.eae-
|
2178 |
-
|
2179 |
-
|
2180 |
-
|
2181 |
-
.eae-
|
2182 |
-
.eae-tl-
|
2183 |
-
|
2184 |
-
|
2185 |
-
|
2186 |
-
|
2187 |
-
|
2188 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2189 |
}
|
2190 |
|
2191 |
/** EverGreen Timer **/
|
2192 |
|
2193 |
-
[data-element_type="eae-evergreen-timer.skin1"] .eae-evergreen-wrapper{
|
2194 |
-
|
2195 |
-
|
2196 |
}
|
2197 |
-
[data-element_type="eae-evergreen-timer.skin1"] #eaeclockdiv{
|
2198 |
-
|
2199 |
-
|
2200 |
-
|
2201 |
-
|
2202 |
-
|
2203 |
-
|
2204 |
}
|
2205 |
|
2206 |
-
[data-element_type="eae-evergreen-timer.skin1"] .eae-time-wrapper{
|
2207 |
-
|
2208 |
-
|
2209 |
-
|
2210 |
-
|
2211 |
-
|
2212 |
}
|
2213 |
|
2214 |
-
[data-element_type="eae-evergreen-timer.skin1"] #eaeclockdiv div > span{
|
2215 |
-
|
2216 |
-
|
2217 |
-
|
2218 |
-
|
2219 |
}
|
2220 |
|
2221 |
-
[data-element_type="eae-evergreen-timer.skin1"] .smalltext{
|
2222 |
-
|
2223 |
-
|
2224 |
}
|
2225 |
|
2226 |
-
[data-element_type="eae-evergreen-timer.skin1"] .eae-egt-hide{
|
2227 |
-
|
2228 |
}
|
2229 |
|
2230 |
.eae-egt-message {
|
2231 |
-
|
2232 |
}
|
2233 |
|
2234 |
-
@media screen and (max-width: 767px){
|
2235 |
-
|
2236 |
-
|
2237 |
-
|
2238 |
|
2239 |
-
|
2240 |
-
|
2241 |
-
|
2242 |
}
|
2243 |
|
2244 |
/* Skin 2 - Flip Clock Css*/
|
2245 |
|
2246 |
[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper * {
|
2247 |
-
|
2248 |
-
|
2249 |
-
|
2250 |
-
|
2251 |
-
|
2252 |
-
|
2253 |
-
|
2254 |
-
|
2255 |
-
|
2256 |
-
|
2257 |
-
}
|
2258 |
-
[data-element_type="eae-evergreen-timer.skin2"] .eae-evergreen-wrapper{
|
2259 |
-
|
2260 |
-
|
2261 |
-
|
2262 |
-
|
2263 |
}
|
2264 |
-
[data-element_type="eae-evergreen-timer.skin2"] .timer-container{
|
2265 |
-
|
2266 |
}
|
2267 |
[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper a {
|
2268 |
-
|
2269 |
-
|
2270 |
-
|
2271 |
}
|
2272 |
|
2273 |
-
[data-element_type="eae-evergreen-timer.skin2"]
|
2274 |
-
|
|
|
|
|
2275 |
}
|
2276 |
|
2277 |
[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul {
|
2278 |
-
|
2279 |
}
|
2280 |
|
2281 |
-
[data-element_type="eae-evergreen-timer.skin2"]
|
2282 |
-
|
2283 |
-
|
2284 |
-
|
|
|
|
|
2285 |
}
|
2286 |
|
2287 |
-
[data-element_type="eae-evergreen-timer.skin2"]
|
2288 |
-
|
|
|
2289 |
}
|
2290 |
|
2291 |
-
[data-element_type="eae-evergreen-timer.skin2"]
|
2292 |
-
|
|
|
2293 |
}
|
2294 |
|
2295 |
/* Main */
|
2296 |
[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper {
|
2297 |
-
|
2298 |
-
|
2299 |
-
}
|
2300 |
-
|
2301 |
-
[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-meridium {
|
2302 |
-
background: none !important;
|
2303 |
-
box-shadow: 0 0 0 !important;
|
2304 |
-
font-size: 36px !important;
|
2305 |
-
}
|
2306 |
-
|
2307 |
-
[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-meridium a {
|
2308 |
-
color: #313333;
|
2309 |
-
}
|
2310 |
-
|
2311 |
-
[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper {
|
2312 |
-
text-align: center;
|
2313 |
-
position: relative;
|
2314 |
-
width: 100%;
|
2315 |
-
margin: 1em;
|
2316 |
-
}
|
2317 |
-
|
2318 |
-
[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper:before,
|
2319 |
-
[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper:after {
|
2320 |
-
content: " "; /* 1 */
|
2321 |
-
display: table; /* 2 */
|
2322 |
-
}
|
2323 |
-
[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper:after {
|
2324 |
-
clear: both;
|
2325 |
-
}
|
2326 |
-
|
2327 |
-
/* Skeleton */
|
2328 |
-
[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul {
|
2329 |
-
position: relative;
|
2330 |
-
float: left;
|
2331 |
-
margin: 5px;
|
2332 |
-
width: 60px;
|
2333 |
-
height: 90px;
|
2334 |
-
font-size: 80px;
|
2335 |
-
font-weight: bold;
|
2336 |
-
line-height: 87px;
|
2337 |
-
border-radius: 6px;
|
2338 |
-
background: #000;
|
2339 |
-
}
|
2340 |
-
|
2341 |
-
[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul li {
|
2342 |
-
z-index: 1;
|
2343 |
-
position: absolute;
|
2344 |
-
left: 0;
|
2345 |
-
top: 0;
|
2346 |
-
width: 100%;
|
2347 |
-
height: 100%;
|
2348 |
-
line-height: 87px;
|
2349 |
-
text-decoration: none !important;
|
2350 |
-
}
|
2351 |
-
|
2352 |
-
[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul li:first-child {
|
2353 |
-
z-index: 2;
|
2354 |
-
}
|
2355 |
-
|
2356 |
-
[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul li a {
|
2357 |
-
display: block;
|
2358 |
-
height: 100%;
|
2359 |
-
-webkit-perspective: 200px;
|
2360 |
-
-moz-perspective: 200px;
|
2361 |
-
perspective: 200px;
|
2362 |
-
margin: 0 !important;
|
2363 |
-
overflow: visible !important;
|
2364 |
-
cursor: default !important;
|
2365 |
}
|
2366 |
|
2367 |
-
[data-element_type="eae-evergreen-timer.skin2"] .
|
2368 |
-
|
2369 |
-
|
2370 |
-
|
2371 |
-
width: 100%;
|
2372 |
-
height: 50%;
|
2373 |
-
font-size: 80px;
|
2374 |
-
overflow: hidden;
|
2375 |
-
outline: 1px solid transparent;
|
2376 |
}
|
2377 |
|
2378 |
-
[data-element_type="eae-evergreen-timer.skin2"] .
|
2379 |
-
|
2380 |
-
width: 100%;
|
2381 |
-
height: 100%;
|
2382 |
-
z-index: 2;
|
2383 |
}
|
2384 |
|
2385 |
-
[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper
|
2386 |
-
|
2387 |
-
|
2388 |
-
|
2389 |
-
|
2390 |
-
transform-origin: 50% 100%;
|
2391 |
-
top: 0;
|
2392 |
}
|
2393 |
|
2394 |
-
[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper
|
2395 |
-
|
2396 |
-
|
2397 |
-
|
2398 |
-
|
2399 |
-
|
2400 |
-
|
2401 |
-
height: 3px;
|
2402 |
-
background-color: #000;
|
2403 |
-
background-color: rgba(0, 0, 0, 0.4);
|
2404 |
}
|
2405 |
|
2406 |
-
|
2407 |
-
|
2408 |
-
|
2409 |
-
|
2410 |
-
|
2411 |
-
|
2412 |
-
|
2413 |
-
|
2414 |
-
|
|
|
|
|
|
|
2415 |
}
|
2416 |
|
2417 |
-
[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul li
|
2418 |
-
|
2419 |
-
|
2420 |
-
|
2421 |
-
|
2422 |
-
|
2423 |
-
|
2424 |
-
|
2425 |
-
|
2426 |
-
|
2427 |
-
|
2428 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2429 |
}
|
2430 |
|
2431 |
-
[data-element_type="eae-evergreen-timer.skin2"]
|
2432 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
2433 |
}
|
2434 |
|
2435 |
-
[data-element_type="eae-evergreen-timer.skin2"]
|
2436 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
2437 |
}
|
2438 |
|
2439 |
/* PLAY */
|
2440 |
-
[data-element_type="eae-evergreen-timer.skin2"]
|
2441 |
-
|
|
|
|
|
|
|
2442 |
}
|
2443 |
|
2444 |
[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper .flip {
|
2445 |
-
|
2446 |
}
|
2447 |
|
2448 |
-
[data-element_type="eae-evergreen-timer.skin2"]
|
2449 |
-
|
2450 |
-
|
2451 |
-
|
2452 |
-
|
|
|
|
|
|
|
2453 |
}
|
2454 |
|
2455 |
[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-divider {
|
2456 |
-
|
2457 |
-
|
2458 |
-
|
2459 |
-
|
2460 |
-
|
2461 |
}
|
2462 |
|
2463 |
-
[data-element_type="eae-evergreen-timer.skin2"]
|
2464 |
-
|
|
|
2465 |
}
|
2466 |
|
2467 |
[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-dot {
|
2468 |
-
|
2469 |
-
|
2470 |
-
|
2471 |
-
|
2472 |
-
|
2473 |
-
|
2474 |
-
|
2475 |
-
|
2476 |
}
|
2477 |
|
2478 |
-
[data-element_type="eae-evergreen-timer.skin2"]
|
2479 |
-
|
2480 |
-
|
2481 |
-
|
2482 |
-
|
2483 |
-
|
|
|
|
|
2484 |
}
|
2485 |
|
2486 |
-
[data-element_type="eae-evergreen-timer.skin2"]
|
2487 |
-
|
|
|
|
|
2488 |
}
|
2489 |
|
2490 |
-
[data-element_type="eae-evergreen-timer.skin2"]
|
2491 |
-
|
|
|
|
|
2492 |
}
|
2493 |
|
2494 |
[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-dot.top {
|
2495 |
-
|
2496 |
}
|
2497 |
|
2498 |
[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-dot.bottom {
|
2499 |
-
|
2500 |
}
|
2501 |
|
2502 |
@-webkit-keyframes asd {
|
2503 |
-
|
2504 |
-
|
2505 |
-
|
2506 |
|
2507 |
-
|
2508 |
-
|
2509 |
-
|
2510 |
}
|
2511 |
|
2512 |
@-moz-keyframes asd {
|
2513 |
-
|
2514 |
-
|
2515 |
-
|
2516 |
|
2517 |
-
|
2518 |
-
|
2519 |
-
|
2520 |
}
|
2521 |
|
2522 |
@-o-keyframes asd {
|
2523 |
-
|
2524 |
-
|
2525 |
-
|
2526 |
|
2527 |
-
|
2528 |
-
|
2529 |
-
|
2530 |
}
|
2531 |
|
2532 |
@keyframes asd {
|
2533 |
-
|
2534 |
-
|
2535 |
-
|
2536 |
|
2537 |
-
|
2538 |
-
|
2539 |
-
|
2540 |
}
|
2541 |
|
2542 |
-
[data-element_type="eae-evergreen-timer.skin2"]
|
2543 |
-
|
2544 |
-
|
2545 |
-
|
2546 |
-
|
|
|
|
|
|
|
|
|
2547 |
}
|
2548 |
|
2549 |
@-webkit-keyframes turn {
|
2550 |
-
|
2551 |
-
|
2552 |
-
|
2553 |
|
2554 |
-
|
2555 |
-
|
2556 |
-
|
2557 |
}
|
2558 |
|
2559 |
@-moz-keyframes turn {
|
2560 |
-
|
2561 |
-
|
2562 |
-
|
2563 |
|
2564 |
-
|
2565 |
-
|
2566 |
-
|
2567 |
}
|
2568 |
|
2569 |
@-o-keyframes turn {
|
2570 |
-
|
2571 |
-
|
2572 |
-
|
2573 |
|
2574 |
-
|
2575 |
-
|
2576 |
-
|
2577 |
}
|
2578 |
|
2579 |
@keyframes turn {
|
2580 |
-
|
2581 |
-
|
2582 |
-
|
2583 |
|
2584 |
-
|
2585 |
-
|
2586 |
-
|
2587 |
}
|
2588 |
|
2589 |
-
[data-element_type="eae-evergreen-timer.skin2"]
|
2590 |
-
|
2591 |
-
|
2592 |
-
|
2593 |
-
|
|
|
|
|
|
|
|
|
2594 |
}
|
2595 |
|
2596 |
@-webkit-keyframes turn2 {
|
2597 |
-
|
2598 |
-
|
2599 |
-
|
2600 |
|
2601 |
-
|
2602 |
-
|
2603 |
-
|
2604 |
}
|
2605 |
|
2606 |
@-moz-keyframes turn2 {
|
2607 |
-
|
2608 |
-
|
2609 |
-
|
2610 |
|
2611 |
-
|
2612 |
-
|
2613 |
-
|
2614 |
}
|
2615 |
|
2616 |
@-o-keyframes turn2 {
|
2617 |
-
|
2618 |
-
|
2619 |
-
|
2620 |
|
2621 |
-
|
2622 |
-
|
2623 |
-
|
2624 |
}
|
2625 |
|
2626 |
@keyframes turn2 {
|
2627 |
-
|
2628 |
-
|
2629 |
-
|
2630 |
|
2631 |
-
|
2632 |
-
|
2633 |
-
|
2634 |
}
|
2635 |
|
2636 |
-
[data-element_type="eae-evergreen-timer.skin2"]
|
2637 |
-
|
|
|
|
|
|
|
2638 |
}
|
2639 |
|
2640 |
/* SHADOW */
|
2641 |
-
[data-element_type="eae-evergreen-timer.skin2"]
|
2642 |
-
|
2643 |
-
|
2644 |
-
|
2645 |
-
|
2646 |
-
|
2647 |
-
|
2648 |
-
|
2649 |
-
|
2650 |
-
|
2651 |
-
|
2652 |
-
|
2653 |
-
|
2654 |
-
|
2655 |
-
|
2656 |
-
|
2657 |
-
|
2658 |
-
|
2659 |
-
|
2660 |
-
|
2661 |
-
|
2662 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2663 |
}
|
2664 |
|
2665 |
/*DOWN*/
|
2666 |
-
[data-element_type="eae-evergreen-timer.skin2"]
|
2667 |
-
|
2668 |
-
|
2669 |
-
|
2670 |
-
|
2671 |
-
|
2672 |
-
|
2673 |
-
|
2674 |
-
|
2675 |
-
|
2676 |
-
|
2677 |
-
|
2678 |
-
|
2679 |
-
|
2680 |
-
|
2681 |
-
|
2682 |
-
|
2683 |
-
|
2684 |
-
|
2685 |
-
|
2686 |
-
|
2687 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2688 |
}
|
2689 |
|
2690 |
@-webkit-keyframes show {
|
2691 |
-
|
2692 |
-
|
2693 |
-
|
2694 |
|
2695 |
-
|
2696 |
-
|
2697 |
-
|
2698 |
}
|
2699 |
|
2700 |
@-moz-keyframes show {
|
2701 |
-
|
2702 |
-
|
2703 |
-
|
2704 |
|
2705 |
-
|
2706 |
-
|
2707 |
-
|
2708 |
}
|
2709 |
|
2710 |
@-o-keyframes show {
|
2711 |
-
|
2712 |
-
|
2713 |
-
|
2714 |
|
2715 |
-
|
2716 |
-
|
2717 |
-
|
2718 |
}
|
2719 |
|
2720 |
@keyframes show {
|
2721 |
-
|
2722 |
-
|
2723 |
-
|
2724 |
|
2725 |
-
|
2726 |
-
|
2727 |
-
|
2728 |
}
|
2729 |
|
2730 |
@-webkit-keyframes hide {
|
2731 |
-
|
2732 |
-
|
2733 |
-
|
2734 |
|
2735 |
-
|
2736 |
-
|
2737 |
-
|
2738 |
}
|
2739 |
|
2740 |
@-moz-keyframes hide {
|
2741 |
-
|
2742 |
-
|
2743 |
-
|
2744 |
|
2745 |
-
|
2746 |
-
|
2747 |
-
|
2748 |
}
|
2749 |
|
2750 |
@-o-keyframes hide {
|
2751 |
-
|
2752 |
-
|
2753 |
-
|
2754 |
|
2755 |
-
|
2756 |
-
|
2757 |
-
|
2758 |
}
|
2759 |
|
2760 |
@keyframes hide {
|
2761 |
-
|
2762 |
-
|
2763 |
-
|
2764 |
|
2765 |
-
|
2766 |
-
|
2767 |
-
|
2768 |
}
|
2769 |
|
2770 |
@media screen and (max-width: 767px) {
|
2771 |
-
|
2772 |
-
|
2773 |
-
|
2774 |
-
|
2775 |
-
|
2776 |
-
|
2777 |
-
|
2778 |
-
|
2779 |
-
|
2780 |
-
|
2781 |
-
|
2782 |
-
|
2783 |
-
|
2784 |
-
|
2785 |
-
|
2786 |
-
|
2787 |
-
|
2788 |
-
|
2789 |
-
|
2790 |
-
|
2791 |
-
|
2792 |
-
|
2793 |
-
|
2794 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2795 |
position: relative;
|
2796 |
float: left;
|
2797 |
margin: 5px;
|
@@ -2880,1678 +3535,1991 @@ new comment
|
|
2880 |
display: block;
|
2881 |
text-align: center;
|
2882 |
}*/
|
2883 |
-
[data-element_type="eae-evergreen-timer.skin3"] #timer{
|
2884 |
-
|
2885 |
-
|
2886 |
-
|
2887 |
-
|
2888 |
-
|
2889 |
-
|
2890 |
}
|
2891 |
-
[data-element_type="eae-evergreen-timer.skin3"] .desc{
|
2892 |
-
|
2893 |
-
|
2894 |
-
|
2895 |
}
|
2896 |
-
[data-element_type="eae-evergreen-timer.skin3"].eae-egt-content-align-right
|
2897 |
-
|
|
|
2898 |
}
|
2899 |
-
[data-element_type="eae-evergreen-timer.skin3"].eae-egt-content-align-left
|
2900 |
-
|
|
|
2901 |
}
|
2902 |
-
[data-element_type="eae-evergreen-timer.skin3"] .desc .egt-time-text{
|
2903 |
-
|
2904 |
-
|
2905 |
}
|
2906 |
|
2907 |
-
[data-element_type="eae-evergreen-timer.skin3"] .eae-time-wrapper{
|
2908 |
-
|
2909 |
-
|
2910 |
-
|
2911 |
-
|
2912 |
-
|
2913 |
-
|
2914 |
-
|
2915 |
}
|
2916 |
|
2917 |
[data-element_type="eae-evergreen-timer.skin3"] #timer span:nth-child(1) {
|
2918 |
-
|
2919 |
}
|
2920 |
|
2921 |
[data-element_type="eae-evergreen-timer.skin3"] #timer span:nth-child(2) {
|
2922 |
-
|
2923 |
}
|
2924 |
|
2925 |
[data-element_type="eae-evergreen-timer.skin3"] #timer span:nth-child(3) {
|
2926 |
-
|
2927 |
}
|
2928 |
|
2929 |
[data-element_type="eae-evergreen-timer.skin3"] #timer span:nth-child(4) {
|
2930 |
-
|
2931 |
}
|
2932 |
|
2933 |
[data-element_type="eae-evergreen-timer.skin3"] .fade {
|
2934 |
-
|
2935 |
}
|
2936 |
|
2937 |
@keyframes flip {
|
2938 |
-
|
2939 |
-
|
2940 |
-
|
2941 |
-
|
2942 |
-
|
2943 |
-
|
2944 |
-
|
2945 |
-
|
2946 |
-
|
2947 |
-
|
2948 |
-
|
2949 |
-
|
2950 |
}
|
2951 |
|
2952 |
@media screen and (max-width: 767px) {
|
2953 |
-
|
2954 |
-
|
2955 |
-
|
2956 |
-
|
2957 |
-
|
2958 |
-
|
2959 |
-
|
|
|
|
|
2960 |
|
2961 |
-
|
2962 |
-
|
2963 |
-
|
|
|
|
|
2964 |
|
2965 |
-
|
2966 |
-
|
2967 |
-
|
|
|
|
|
2968 |
}
|
2969 |
|
2970 |
/* Skin 4 - Digit Up Animation */
|
2971 |
[data-element_type="eae-evergreen-timer.skin4"] .eae-evergreen-wrapper {
|
2972 |
-
|
2973 |
}
|
2974 |
[data-element_type="eae-evergreen-timer.skin4"] .container {
|
2975 |
-
|
2976 |
}
|
2977 |
[data-element_type="eae-evergreen-timer.skin4"] .special {
|
2978 |
-
|
2979 |
-
|
2980 |
-
|
2981 |
}
|
2982 |
[data-element_type="eae-evergreen-timer.skin4"] #counter {
|
2983 |
-
|
2984 |
-
|
2985 |
}
|
2986 |
[data-element_type="eae-evergreen-timer.skin4"] .digit-separator {
|
2987 |
-
|
2988 |
-
|
2989 |
-
|
2990 |
-
|
2991 |
-
|
2992 |
-
|
2993 |
-
|
2994 |
-
|
2995 |
-
|
2996 |
}
|
2997 |
[data-element_type="eae-evergreen-timer.skin4"] .digit {
|
2998 |
-
|
2999 |
-
|
3000 |
}
|
3001 |
|
3002 |
/* Comparison Table */
|
3003 |
|
3004 |
.eae-ct-wrapper * {
|
3005 |
-
|
3006 |
|
3007 |
-
|
3008 |
-
|
3009 |
}
|
3010 |
-
article.eae-ct-wrapper{
|
3011 |
-
|
3012 |
-
|
3013 |
-
|
3014 |
-
|
3015 |
}
|
3016 |
-
.eae-ct-wrapper tbody tr.eae-ct-header td
|
3017 |
-
|
|
|
3018 |
}
|
3019 |
.eae-ct-wrapper ul {
|
3020 |
-
|
3021 |
-
|
3022 |
-
|
3023 |
-
|
3024 |
}
|
3025 |
.eae-ct-wrapper li {
|
3026 |
-
|
3027 |
-
|
3028 |
-
|
3029 |
}
|
3030 |
.eae-ct-wrapper li:hover {
|
3031 |
-
|
3032 |
}
|
3033 |
.eae-ct-wrapper li:last-child {
|
3034 |
-
|
3035 |
}
|
3036 |
.eae-ct-wrapper .eae-ct-heading {
|
3037 |
-
|
3038 |
-
|
3039 |
-
|
3040 |
-
|
3041 |
-
|
3042 |
-
|
3043 |
-
|
3044 |
-
|
3045 |
-
}
|
3046 |
-
.eae-ct-wrapper li.eae-ct-heading .eae-ct-heading-inner{
|
3047 |
-
|
3048 |
-
|
3049 |
-
|
3050 |
-
|
3051 |
-
|
3052 |
-
|
3053 |
}
|
3054 |
.eae-ct-wrapper li.eae-ct-heading.active {
|
3055 |
-
|
3056 |
}
|
3057 |
-
.eae-ct-wrapper table {
|
3058 |
-
|
3059 |
-
|
3060 |
-
|
3061 |
-
vertical-align: middle;
|
3062 |
}
|
3063 |
-
.eae-ct-wrapper
|
3064 |
-
|
|
|
3065 |
}
|
3066 |
-
|
3067 |
-
.eae-ct-wrapper
|
3068 |
-
|
|
|
3069 |
}
|
3070 |
-
.eae-ct-wrapper table
|
3071 |
-
|
3072 |
-
text-align:center;
|
3073 |
}
|
3074 |
-
|
3075 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3076 |
}
|
3077 |
-
.eae-ct-wrapper
|
3078 |
-
|
|
|
3079 |
}
|
3080 |
-
.eae-ct-wrapper
|
3081 |
-
|
3082 |
}
|
3083 |
-
.eae-ct-wrapper
|
3084 |
-
|
|
|
|
|
|
|
3085 |
}
|
3086 |
|
3087 |
.eae-ct-wrapper td:nth-child(1) {
|
3088 |
-
|
|
|
|
|
|
|
3089 |
}
|
3090 |
-
.eae-ct-wrapper td{
|
3091 |
-
display:none;
|
3092 |
-
}
|
3093 |
.eae-ct-wrapper .sep {
|
3094 |
-
|
3095 |
-
|
3096 |
}
|
3097 |
.eae-ct-price-wrapper {
|
3098 |
-
|
3099 |
-
|
3100 |
-
}
|
3101 |
-
.eae-ct-tt-type-icon .eae-ct-feature .tooltip{
|
3102 |
-
|
3103 |
-
}
|
3104 |
-
.eae-ct-wrapper .tooltiptext::before{
|
3105 |
-
|
3106 |
-
|
3107 |
-
|
3108 |
-
|
3109 |
-
|
3110 |
-
|
3111 |
-
|
3112 |
-
|
3113 |
-
|
3114 |
-
|
3115 |
-
|
3116 |
-
|
3117 |
-
|
3118 |
-
}
|
3119 |
-
.eae-ct-wrapper .eae-ct-price {
|
3120 |
-
|
3121 |
-
|
3122 |
-
|
3123 |
-
|
3124 |
-
|
3125 |
-
|
3126 |
-
|
3127 |
-
}
|
3128 |
-
.eae-ct-wrapper .
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3129 |
.feature-heading-blank.eae-ct-wrapper .hide {
|
3130 |
-
|
3131 |
-
|
3132 |
}
|
3133 |
-
.eae-ct-wrapper .hide.eae-ct-hide.eae-fbox-heading{
|
3134 |
-
|
3135 |
}
|
3136 |
.eae-ct-ribbons-yes .eae-ct-ribbons-wrapper {
|
3137 |
-
|
3138 |
-
|
3139 |
-
|
3140 |
-ms-transform: rotate(90deg);*/
|
3141 |
-
|
3142 |
-
|
3143 |
-
|
3144 |
-
|
3145 |
-
|
3146 |
-
|
3147 |
-
}
|
3148 |
-
.eae-ct-ribbons-h-top.eae-ct-ribbons-yes .eae-ct-ribbons-wrapper{
|
3149 |
-
|
3150 |
-
|
3151 |
-
|
3152 |
-
|
3153 |
-
|
3154 |
-
|
3155 |
-
|
3156 |
-
}
|
3157 |
-
.eae-ct-ribbons-h-top.eae-ct-ribbons-yes .eae-ct-ribbons-wrapper-top{
|
3158 |
-
|
3159 |
-
|
3160 |
-
|
3161 |
-
|
3162 |
-
|
3163 |
-
|
3164 |
-
|
3165 |
}
|
3166 |
.eae-ct-ribbons-h-left.eae-ct-ribbons-yes .eae-ct-ribbons-wrapper {
|
3167 |
-
|
3168 |
-
|
3169 |
-
|
3170 |
-
|
3171 |
-
|
3172 |
}
|
3173 |
.eae-ct-ribbons-h-right.eae-ct-ribbons-yes .eae-ct-ribbons-wrapper {
|
3174 |
-
|
3175 |
-
|
3176 |
-
|
3177 |
-
|
3178 |
-
|
3179 |
}
|
3180 |
|
3181 |
.eae-ct-ribbons-yes .eae-ct-ribbons-wrapper span.eae-ct-ribbons-inner {
|
3182 |
-
|
3183 |
-
|
3184 |
-
|
3185 |
-
|
3186 |
-
|
3187 |
-
|
3188 |
-
|
3189 |
-
|
3190 |
-
|
3191 |
-
|
3192 |
-
|
3193 |
-
|
3194 |
-
|
3195 |
-
|
3196 |
-
|
3197 |
-
|
|
|
|
|
3198 |
}
|
3199 |
.eae-ct-wrapper .tooltip {
|
3200 |
-
|
3201 |
-
|
3202 |
}
|
3203 |
|
3204 |
.eae-ct-wrapper .tooltip .tooltiptext {
|
3205 |
-
|
3206 |
-
|
3207 |
-
|
3208 |
-
|
3209 |
-
|
3210 |
-
|
3211 |
-
|
3212 |
|
3213 |
-
|
3214 |
-
|
3215 |
-
|
3216 |
-
|
3217 |
-
|
3218 |
-
|
3219 |
}
|
3220 |
|
3221 |
.eae-ct-wrapper .tooltip:hover .tooltiptext {
|
3222 |
-
|
3223 |
}
|
3224 |
-
.eae-ct-heading-tooltip{
|
3225 |
-
|
3226 |
-
|
3227 |
}
|
3228 |
-
.eae-ct-btn{
|
3229 |
-
|
3230 |
-
|
3231 |
-
|
3232 |
-
|
3233 |
}
|
3234 |
-
.eae-ct-btn:hover{
|
3235 |
-
|
3236 |
}
|
3237 |
-
.eae-ct-wrapper i.fa.fa-check
|
3238 |
-
|
|
|
3239 |
}
|
3240 |
-
.eae-ct-wrapper i.fa.fa-close
|
3241 |
-
|
|
|
3242 |
}
|
3243 |
|
3244 |
-
.button-heading-blank.eae-ct-wrapper tr:last-child td:first-child{
|
3245 |
-
|
|
|
3246 |
}
|
3247 |
|
3248 |
-
.eae-ct-wrapper tr:last-child{
|
3249 |
-
|
3250 |
}
|
3251 |
tbody tr:nth-child(2) {
|
3252 |
-
|
3253 |
}
|
3254 |
@media (min-width: 767px) {
|
3255 |
-
|
3256 |
-
|
3257 |
-
|
3258 |
-
|
3259 |
-
|
3260 |
-
|
3261 |
-
|
|
|
3262 |
}
|
3263 |
|
3264 |
-
.eae-tab-format-all .eae-ct-wrapper ul{
|
3265 |
-
|
|
|
|
|
|
|
3266 |
}
|
3267 |
-
.hide.eae-ct-hide{display: table-cell;}
|
3268 |
@media (min-width: 1023px) {
|
3269 |
-
|
3270 |
-
|
3271 |
-
|
3272 |
-
|
3273 |
-
|
3274 |
-
|
3275 |
-
|
3276 |
-
|
3277 |
-
|
3278 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3279 |
}
|
3280 |
@media (max-width: 1023px) {
|
3281 |
-
|
3282 |
-
|
3283 |
-
|
3284 |
-
|
3285 |
-
|
3286 |
-
|
3287 |
-
|
3288 |
-
|
3289 |
-
|
|
|
3290 |
|
3291 |
-
|
3292 |
-
|
|
|
|
|
|
|
|
|
3293 |
}
|
3294 |
@media (max-width: 1023px) and (min-width: 768px) {
|
3295 |
-
|
3296 |
-
|
3297 |
-
|
3298 |
-
|
3299 |
-
|
3300 |
-
|
3301 |
-
|
3302 |
-
|
3303 |
-
|
3304 |
-
|
3305 |
-
|
3306 |
-
|
|
|
|
|
|
|
3307 |
}
|
3308 |
@media (max-width: 767px) {
|
3309 |
-
|
3310 |
-
|
3311 |
-
|
3312 |
-
|
3313 |
-
|
3314 |
-
|
3315 |
|
3316 |
-
|
3317 |
-
|
3318 |
-
|
3319 |
-
|
|
|
|
|
|
|
3320 |
}
|
3321 |
|
3322 |
/* Progress Bar */
|
3323 |
.eae-progress-bar-wrapper {
|
3324 |
-
|
3325 |
-
|
3326 |
-
|
3327 |
-
|
3328 |
}
|
3329 |
|
3330 |
.eae-progress-bar-wrapper.eae-progress-bar {
|
3331 |
-
|
3332 |
-
|
3333 |
-
|
3334 |
}
|
3335 |
|
3336 |
.eae-pb-bar,
|
3337 |
.eae-pb-bar-inner,
|
3338 |
.eae-pb-bar-value,
|
3339 |
.eae-pb-bar-skill {
|
3340 |
-
|
3341 |
}
|
3342 |
|
3343 |
-
.eae-pb-bar{
|
3344 |
-
|
3345 |
-
|
3346 |
-
|
3347 |
-
|
3348 |
}
|
3349 |
|
3350 |
.eae-pb-bar--no-overflow {
|
3351 |
-
|
3352 |
}
|
3353 |
|
3354 |
.eae-pb-bar-inner {
|
3355 |
-
|
3356 |
-
|
3357 |
-
|
3358 |
-
|
3359 |
-
|
3360 |
-
|
3361 |
-
|
3362 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3363 |
}
|
3364 |
.eae-pb-bar-inner.js-animated {
|
3365 |
-
|
3366 |
-
|
3367 |
-
|
3368 |
-
|
3369 |
-
|
3370 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3371 |
}
|
3372 |
-
|
3373 |
.eae-pb-bar-skill,
|
3374 |
.eae-pb-bar-value {
|
3375 |
-
|
3376 |
-
|
3377 |
}
|
3378 |
|
3379 |
-
.eae-pb-bar-value--aligned-value {
|
3380 |
-
|
3381 |
-
|
|
|
|
|
|
|
|
|
3382 |
}
|
3383 |
|
3384 |
/* progress bar #1 styles */
|
3385 |
-
.eae-progress-bar-skin1{
|
3386 |
-
|
3387 |
-
|
3388 |
-
|
3389 |
-
|
3390 |
}
|
3391 |
-
.eae-pb-bar-skin1{
|
3392 |
-
|
3393 |
}
|
3394 |
.eae-pb-bar-inner-skin1 {
|
3395 |
-
|
3396 |
-
|
3397 |
-
|
3398 |
-
|
3399 |
}
|
3400 |
|
3401 |
.eae-pb-bar-skill-skin1 {
|
3402 |
-
|
3403 |
-
|
3404 |
-
|
3405 |
-
|
|
|
|
|
|
|
3406 |
}
|
3407 |
.eae-pb-bar-skill-skin1.js-animated {
|
3408 |
-
|
3409 |
-
|
3410 |
-
|
3411 |
-
|
3412 |
-
|
3413 |
-
|
|
|
|
|
|
|
3414 |
}
|
3415 |
|
3416 |
.eae-pb-bar-value-skin1 {
|
3417 |
-
|
3418 |
-
|
3419 |
-
|
3420 |
-
right: 0;
|
3421 |
}
|
3422 |
-
.eae-pb-bar-value-skin1
|
3423 |
-
|
3424 |
-
|
3425 |
-
|
3426 |
-
|
3427 |
-
right : 0;
|
3428 |
-
opacity: 1;
|
3429 |
}
|
3430 |
|
3431 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3432 |
|
3433 |
/* progress bar #2 styles */
|
3434 |
.eae-progress-bar-skin2 {
|
3435 |
-
|
3436 |
-
|
3437 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3438 |
}
|
3439 |
|
3440 |
@-webkit-keyframes progress-2-bg-animation {
|
3441 |
-
|
3442 |
-
|
3443 |
-
|
3444 |
-
|
3445 |
-
|
3446 |
-
|
3447 |
}
|
3448 |
|
3449 |
@keyframes progress-2-bg-animation {
|
3450 |
-
|
3451 |
-
background-position: 0 0, 0 0;
|
3452 |
-
}
|
3453 |
-
100% {
|
3454 |
-
background-position: 0 0, 42px 0;
|
3455 |
-
}
|
3456 |
-
}
|
3457 |
-
.eae-pb-bar-inner-skin2 {
|
3458 |
-
background-image: linear-gradient(to top, rgba(255, 255, 255, 0.15), rgba(0, 0, 0, 0.2)), linear-gradient(135deg, #5EEB5B, #5EEB5B 33%, #358600 33%, #358600 66%, #5EEB5B 66%);
|
3459 |
-
background-size: 100% 100%, 42px 100%;
|
3460 |
background-position: 0 0, 0 0;
|
3461 |
-
|
|
|
|
|
|
|
3462 |
}
|
3463 |
-
|
3464 |
-
|
3465 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3466 |
}
|
3467 |
|
3468 |
.eae-pb-bar-skill-skin2 {
|
3469 |
-
|
3470 |
-
|
3471 |
-
|
|
|
|
|
|
|
|
|
|
|
3472 |
}
|
|
|
3473 |
.eae-pb-bar-skill-skin2.js-animated {
|
3474 |
-
|
3475 |
-
|
3476 |
-
|
3477 |
-
|
3478 |
-
|
3479 |
-
|
3480 |
}
|
3481 |
|
3482 |
.eae-pb-bar-value-skin2 {
|
3483 |
-
|
3484 |
-
|
3485 |
-
|
|
|
|
|
3486 |
}
|
|
|
|
|
|
|
|
|
3487 |
.eae-pb-bar-value-skin2.js-animated {
|
3488 |
-
|
3489 |
-
|
3490 |
-
|
3491 |
-
|
3492 |
-
|
3493 |
-
|
3494 |
}
|
3495 |
|
3496 |
/* Progress Bar Skin 3*/
|
3497 |
|
3498 |
.eae-progress-bar-skin3 {
|
3499 |
-
|
3500 |
-
|
3501 |
}
|
3502 |
-
.eae-pb-bar-value-skin3
|
3503 |
-
|
|
|
3504 |
}
|
3505 |
-
.eae-pb-bar-value-skin3:after
|
3506 |
-
|
|
|
3507 |
}
|
3508 |
|
3509 |
.eae-pb-bar-skill-skin3 {
|
3510 |
-
|
3511 |
-
|
3512 |
-
|
3513 |
-
|
3514 |
}
|
3515 |
.eae-pb-bar-skill-skin3.js-animated {
|
3516 |
-
|
3517 |
-
|
3518 |
-
|
3519 |
-
|
3520 |
-
|
3521 |
-
|
|
|
|
|
|
|
|
|
|
|
3522 |
}
|
3523 |
|
3524 |
.eae-pb-bar-value-skin3 {
|
3525 |
-
|
3526 |
-
|
3527 |
-
|
3528 |
-
|
3529 |
-
|
3530 |
-
|
3531 |
}
|
3532 |
.eae-pb-bar-value-skin3:after {
|
3533 |
-
|
3534 |
-
|
3535 |
-
|
3536 |
-
|
3537 |
-
|
3538 |
-
|
3539 |
-
|
3540 |
-
|
3541 |
-
|
3542 |
-
|
3543 |
-
|
3544 |
-
|
3545 |
}
|
3546 |
.eae-pb-bar-inner-skin3.js-animated {
|
3547 |
-
|
3548 |
-
|
3549 |
-
|
3550 |
-
|
3551 |
-
|
3552 |
-
|
3553 |
}
|
3554 |
.eae-pb-bar-value-skin3.js-animated {
|
3555 |
-
|
3556 |
-
|
3557 |
-
|
3558 |
-
|
3559 |
-
|
3560 |
-
|
3561 |
}
|
3562 |
|
3563 |
/* Progress Bar Skin 4 */
|
3564 |
.eae-progress-bar-skin4 {
|
3565 |
-
|
3566 |
-
|
3567 |
}
|
3568 |
|
3569 |
.eae-pb-bar-inner-skin4 {
|
3570 |
-
|
3571 |
}
|
3572 |
.eae-pb-bar-inner-skin4:after {
|
3573 |
-
|
3574 |
-
|
3575 |
-
|
3576 |
-
|
3577 |
-
|
3578 |
-
|
3579 |
-
|
3580 |
-
|
3581 |
-
|
3582 |
-
|
3583 |
-
|
|
|
|
|
|
|
|
|
|
|
3584 |
}
|
3585 |
-
|
3586 |
.eae-pb-bar-value-skin4 {
|
3587 |
-
|
3588 |
-
|
3589 |
-
|
3590 |
-
|
3591 |
}
|
3592 |
.eae-pb-bar-value-skin4.js-animated {
|
3593 |
-
|
3594 |
-
|
3595 |
-
|
3596 |
-
|
3597 |
-
|
3598 |
}
|
3599 |
|
3600 |
.eae-pb-bar-skill-skin4 {
|
3601 |
-
|
3602 |
-
|
3603 |
-
|
3604 |
-
|
3605 |
}
|
3606 |
.eae-pb-bar-skill-skin4.js-animated {
|
3607 |
-
|
3608 |
-
|
3609 |
-
|
3610 |
-
|
3611 |
-
|
3612 |
-
|
|
|
|
|
|
|
|
|
|
|
3613 |
}
|
3614 |
|
3615 |
/* Progress Bar Skin 5 */
|
3616 |
.eae-progress-bar-skin5 {
|
3617 |
-
|
3618 |
-
|
3619 |
}
|
3620 |
|
3621 |
-
.eae-pb-bar-inner-skin5{
|
3622 |
-
|
3623 |
}
|
3624 |
|
3625 |
.eae-pb-bar-skill-skin5 {
|
3626 |
-
|
3627 |
-
|
3628 |
-
|
3629 |
-
|
3630 |
-
|
3631 |
-
|
3632 |
-
|
|
|
|
|
|
|
|
|
|
|
3633 |
}
|
3634 |
.eae-pb-bar-skill-skin5.js-animated {
|
3635 |
-
|
3636 |
-
|
3637 |
-
|
3638 |
-
|
3639 |
-
|
3640 |
}
|
3641 |
|
3642 |
.eae-pb-bar-value-skin5 {
|
3643 |
-
|
3644 |
-
|
3645 |
-
|
3646 |
-
|
3647 |
-
|
3648 |
-
|
3649 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
3650 |
}
|
3651 |
.eae-pb-bar-value-skin5.js-animated {
|
3652 |
-
|
3653 |
-
|
3654 |
-
|
3655 |
-
|
3656 |
-
|
3657 |
}
|
3658 |
|
3659 |
/* EAE Dual Button */
|
3660 |
-
.eae-dual-button-wrapper .eae-button-1-wrapper
|
3661 |
-
|
|
|
3662 |
}
|
3663 |
|
3664 |
-
.eae-dual-button-wrapper.button-style-horizontal{
|
3665 |
-
|
3666 |
-
|
3667 |
-
|
3668 |
}
|
3669 |
-
.eae-dual-button-main-wrapper{
|
3670 |
-
|
3671 |
-
|
3672 |
-
|
3673 |
}
|
3674 |
-
.eae-dual-button-wrapper a{
|
3675 |
-
|
3676 |
}
|
3677 |
-
.eae-dual-button-wrapper.button-style-vertical{
|
3678 |
-
|
3679 |
-
|
3680 |
-
|
3681 |
}
|
3682 |
-
.eae-button-1.icon-before,
|
3683 |
-
|
3684 |
-
|
|
|
3685 |
}
|
3686 |
-
.eae-button-1.icon-
|
3687 |
-
|
3688 |
-
|
|
|
3689 |
}
|
3690 |
-
.eae-button-1
|
3691 |
-
|
3692 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
3693 |
}
|
3694 |
-
.eae-button-1-wrapper
|
3695 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
3696 |
}
|
3697 |
.eae-dual-button-wrapper.button-style-vertical .eae-button-1.icon-before,
|
3698 |
.eae-dual-button-wrapper.button-style-vertical .eae-button-2.icon-before,
|
3699 |
.eae-dual-button-wrapper.button-style-vertical .eae-button-1.icon-after,
|
3700 |
-
.eae-dual-button-wrapper.button-style-vertical .eae-button-2.icon-after{
|
3701 |
-
|
3702 |
}
|
3703 |
-
.eae-button-1.icon-up,
|
|
|
3704 |
display: flex;
|
3705 |
flex-direction: column;
|
3706 |
text-align: center;
|
3707 |
}
|
3708 |
-
.eae-button-1.icon-down,
|
3709 |
-
|
3710 |
-
|
3711 |
-
|
|
|
3712 |
}
|
3713 |
.eae-button-1-wrapper {
|
3714 |
-
|
3715 |
-
|
3716 |
-
|
3717 |
-
|
3718 |
-
|
3719 |
-
}
|
3720 |
-
.eae-button-2-wrapper{
|
3721 |
-
background: orange;
|
3722 |
-
display:flex;
|
3723 |
-
justify-content: center;
|
3724 |
-
width: 100%;
|
3725 |
-
line-height: 1;
|
3726 |
-
}
|
3727 |
-
.eae-button-1.icon-up .icon-wrapper, .eae-button-2.icon-up .icon-wrapper,
|
3728 |
-
.eae-button-2.icon-down .icon-wrapper, .eae-button-2.icon-down .icon-wrapper {
|
3729 |
-
text-align: center;
|
3730 |
-
}
|
3731 |
-
.eae-button-1.icon-up .eae-button-text, .eae-button-2.icon-up .eae-button-text,
|
3732 |
-
.eae-button-2.icon-down .eae-button-text, .eae-button-2.icon-down .eae-button-text {
|
3733 |
-
text-align: center;
|
3734 |
-
}
|
3735 |
-
.eae-button-1.icon-before i , .eae-button-2.icon-before i, .eae-button-2.icon-after i{
|
3736 |
-
align-self: center;
|
3737 |
-
margin: 0 10px 0 0;
|
3738 |
-
}
|
3739 |
-
.eae-button-1.icon-after i,.eae-button-2.icon-after i{
|
3740 |
-
align-self: center;
|
3741 |
-
margin: 0 0 0 10px;
|
3742 |
-
}
|
3743 |
-
.eae-button-1.icon-up i, .eae-button-1.icon-down i, .eae-button-2.icon-up i, .eae-button-2.icon-down i{
|
3744 |
-
align-self: center;
|
3745 |
-
margin: 5px 0;
|
3746 |
-
}
|
3747 |
-
.eae-dual-button-wrapper.button-style-horizontal .eae-button-1-wrapper , .eae-dual-button-wrapper.button-style-horizontal .eae-button-2-wrapper{
|
3748 |
-
padding: 12px 30px;
|
3749 |
-
}
|
3750 |
-
.eae-dual-button-wrapper.button-style-vertical .eae-button-1-wrapper , .eae-dual-button-wrapper.button-style-vertical .eae-button-2-wrapper{
|
3751 |
-
padding: 20px 30px;
|
3752 |
}
|
3753 |
-
.eae-
|
3754 |
-
|
3755 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3756 |
}
|
3757 |
-
|
3758 |
-
.eae-
|
3759 |
-
|
|
|
|
|
3760 |
}
|
3761 |
-
.eae-
|
3762 |
-
|
3763 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3764 |
}
|
3765 |
-
.eae-button-separator-wrapper{
|
3766 |
|
|
|
|
|
|
|
3767 |
}
|
3768 |
-
.eae-button-
|
3769 |
-
|
3770 |
-
|
3771 |
-
line-height: 40px;
|
3772 |
-
border-radius: 50%;
|
3773 |
-
z-index: 1;
|
3774 |
-
box-shadow: 0 0 0 6px rgba(255,255,255,0.2);
|
3775 |
-
background: #FAFAF8;
|
3776 |
-
color: #444;
|
3777 |
-
text-transform: uppercase;
|
3778 |
-
text-align: center;
|
3779 |
-
vertical-align: middle;
|
3780 |
-
font-weight: 400;
|
3781 |
-
font-size: 14px;
|
3782 |
-
position: absolute;
|
3783 |
-
transform: translateY(-50%);
|
3784 |
}
|
3785 |
-
.eae-button-separator
|
3786 |
-
|
3787 |
-
|
3788 |
-
|
3789 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3790 |
}
|
|
|
3791 |
/* Sweep to right */
|
3792 |
.eae-sweep-right {
|
3793 |
-
|
3794 |
-
|
3795 |
-
|
3796 |
-
|
3797 |
-
|
3798 |
-
|
3799 |
-
|
3800 |
-
|
3801 |
-
|
3802 |
}
|
3803 |
.eae-sweep-right:before {
|
3804 |
-
|
3805 |
-
|
3806 |
-
|
3807 |
-
|
3808 |
-
|
3809 |
-
|
3810 |
-
|
3811 |
-
|
3812 |
-
|
3813 |
-
|
3814 |
-
|
3815 |
-
|
3816 |
-
|
3817 |
-
|
3818 |
-
|
3819 |
-
|
3820 |
-
|
3821 |
-
|
3822 |
-
}
|
3823 |
-
.eae-sweep-right:hover,
|
3824 |
-
|
3825 |
-
|
3826 |
-
|
3827 |
-
|
3828 |
-
|
|
|
|
|
|
|
|
|
3829 |
}
|
3830 |
|
3831 |
/* Sweep To Left */
|
3832 |
.eae-sweep-left {
|
3833 |
-
|
3834 |
-
|
3835 |
-
|
3836 |
-
|
3837 |
-
|
3838 |
-
|
3839 |
-
|
3840 |
-
|
3841 |
-
|
3842 |
}
|
3843 |
.eae-sweep-left:before {
|
3844 |
-
|
3845 |
-
|
3846 |
-
|
3847 |
-
|
3848 |
-
|
3849 |
-
|
3850 |
-
|
3851 |
-
|
3852 |
-
|
3853 |
-
|
3854 |
-
|
3855 |
-
|
3856 |
-
|
3857 |
-
|
3858 |
-
|
3859 |
-
|
3860 |
-
|
3861 |
-
|
3862 |
-
}
|
3863 |
-
.eae-sweep-left:hover,
|
3864 |
-
|
3865 |
-
|
3866 |
-
|
3867 |
-
|
3868 |
-
|
|
|
|
|
|
|
|
|
3869 |
}
|
3870 |
|
3871 |
/* Sweep To Bottom */
|
3872 |
.eae-sweep-bottom {
|
3873 |
-
|
3874 |
-
|
3875 |
-
|
3876 |
-
|
3877 |
-
|
3878 |
-
|
3879 |
-
|
3880 |
-
|
3881 |
-
|
3882 |
}
|
3883 |
.eae-sweep-bottom:before {
|
3884 |
-
|
3885 |
-
|
3886 |
-
|
3887 |
-
|
3888 |
-
|
3889 |
-
|
3890 |
-
|
3891 |
-
|
3892 |
-
|
3893 |
-
|
3894 |
-
|
3895 |
-
|
3896 |
-
|
3897 |
-
|
3898 |
-
|
3899 |
-
|
3900 |
-
|
3901 |
-
|
3902 |
-
}
|
3903 |
-
.eae-sweep-bottom:hover,
|
3904 |
-
|
3905 |
-
|
3906 |
-
|
3907 |
-
|
3908 |
-
|
|
|
|
|
|
|
|
|
3909 |
}
|
3910 |
|
3911 |
/* Sweep To Top */
|
3912 |
.eae-sweep-top {
|
3913 |
-
|
3914 |
-
|
3915 |
-
|
3916 |
-
|
3917 |
-
|
3918 |
-
|
3919 |
-
|
3920 |
-
|
3921 |
-
|
3922 |
}
|
3923 |
.eae-sweep-top:before {
|
3924 |
-
|
3925 |
-
|
3926 |
-
|
3927 |
-
|
3928 |
-
|
3929 |
-
|
3930 |
-
|
3931 |
-
|
3932 |
-
|
3933 |
-
|
3934 |
-
|
3935 |
-
|
3936 |
-
|
3937 |
-
|
3938 |
-
|
3939 |
-
|
3940 |
-
|
3941 |
-
|
3942 |
-
}
|
3943 |
-
.eae-sweep-top:hover,
|
3944 |
-
|
3945 |
-
|
3946 |
-
|
3947 |
-
|
3948 |
-
|
|
|
|
|
|
|
|
|
3949 |
}
|
3950 |
|
3951 |
/* Bounce To Right */
|
3952 |
.eae-bounce-right {
|
3953 |
-
|
3954 |
-
|
3955 |
-
|
3956 |
-
|
3957 |
-
|
3958 |
-
|
3959 |
-
|
3960 |
-
|
3961 |
-
|
3962 |
}
|
3963 |
.eae-bounce-right:before {
|
3964 |
-
|
3965 |
-
|
3966 |
-
|
3967 |
-
|
3968 |
-
|
3969 |
-
|
3970 |
-
|
3971 |
-
|
3972 |
-
|
3973 |
-
|
3974 |
-
|
3975 |
-
|
3976 |
-
|
3977 |
-
|
3978 |
-
|
3979 |
-
|
3980 |
-
|
3981 |
-
|
3982 |
-
}
|
3983 |
-
.eae-bounce-right:hover,
|
3984 |
-
|
3985 |
-
|
3986 |
-
|
3987 |
-
|
3988 |
-
|
3989 |
-
|
3990 |
-
|
|
|
|
|
|
|
|
|
3991 |
}
|
3992 |
|
3993 |
/* Bounce To Left */
|
3994 |
.eae-bounce-left {
|
3995 |
-
|
3996 |
-
|
3997 |
-
|
3998 |
-
|
3999 |
-
|
4000 |
-
|
4001 |
-
|
4002 |
-
|
4003 |
-
|
4004 |
}
|
4005 |
.eae-bounce-left:before {
|
4006 |
-
|
4007 |
-
|
4008 |
-
|
4009 |
-
|
4010 |
-
|
4011 |
-
|
4012 |
-
|
4013 |
-
|
4014 |
-
|
4015 |
-
|
4016 |
-
|
4017 |
-
|
4018 |
-
|
4019 |
-
|
4020 |
-
|
4021 |
-
|
4022 |
-
|
4023 |
-
|
4024 |
-
}
|
4025 |
-
.eae-bounce-left:hover,
|
4026 |
-
|
4027 |
-
|
4028 |
-
|
4029 |
-
|
4030 |
-
|
4031 |
-
|
4032 |
-
|
|
|
|
|
|
|
|
|
4033 |
}
|
4034 |
|
4035 |
/* Bounce To Bottom */
|
4036 |
.eae-bounce-bottom {
|
4037 |
-
|
4038 |
-
|
4039 |
-
|
4040 |
-
|
4041 |
-
|
4042 |
-
|
4043 |
-
|
4044 |
-
|
4045 |
-
|
4046 |
}
|
4047 |
.eae-bounce-bottom:before {
|
4048 |
-
|
4049 |
-
|
4050 |
-
|
4051 |
-
|
4052 |
-
|
4053 |
-
|
4054 |
-
|
4055 |
-
|
4056 |
-
|
4057 |
-
|
4058 |
-
|
4059 |
-
|
4060 |
-
|
4061 |
-
|
4062 |
-
|
4063 |
-
|
4064 |
-
|
4065 |
-
|
4066 |
-
}
|
4067 |
-
.eae-bounce-bottom:hover,
|
4068 |
-
|
4069 |
-
|
4070 |
-
|
4071 |
-
|
4072 |
-
|
4073 |
-
|
4074 |
-
|
|
|
|
|
|
|
|
|
4075 |
}
|
4076 |
|
4077 |
/* Bounce To Top */
|
4078 |
.eae-bounce-top {
|
4079 |
-
|
4080 |
-
|
4081 |
-
|
4082 |
-
|
4083 |
-
|
4084 |
-
|
4085 |
-
|
4086 |
-
|
4087 |
-
|
4088 |
}
|
4089 |
.eae-bounce-top:before {
|
4090 |
-
|
4091 |
-
|
4092 |
-
|
4093 |
-
|
4094 |
-
|
4095 |
-
|
4096 |
-
|
4097 |
-
|
4098 |
-
|
4099 |
-
|
4100 |
-
|
4101 |
-
|
4102 |
-
|
4103 |
-
|
4104 |
-
|
4105 |
-
|
4106 |
-
|
4107 |
-
|
4108 |
-
}
|
4109 |
-
.eae-bounce-top:hover,
|
4110 |
-
|
4111 |
-
|
4112 |
-
|
4113 |
-
|
4114 |
-
|
4115 |
-
|
4116 |
-
|
|
|
|
|
|
|
|
|
4117 |
}
|
4118 |
/* Google Map */
|
4119 |
-
.eae-markers .marker{
|
4120 |
-
|
4121 |
}
|
4122 |
-
.eae-markers p{
|
4123 |
-
|
4124 |
}
|
4125 |
|
4126 |
/*EAE Filterable Gallery*/
|
4127 |
-
.eae-fg-wrapper{
|
4128 |
-
|
4129 |
-
|
4130 |
-
|
4131 |
}
|
4132 |
-
.eae-gallery-filter{
|
4133 |
-
|
4134 |
-
|
4135 |
-
|
4136 |
-
|
4137 |
}
|
4138 |
-
.eae-filter-label{
|
4139 |
-
|
4140 |
-
|
4141 |
-
|
4142 |
-
|
4143 |
}
|
4144 |
-
.eae-filter-label.current{
|
4145 |
-
|
4146 |
}
|
4147 |
|
4148 |
-
.eae-fg-image{
|
4149 |
-
|
4150 |
-
|
4151 |
-
|
4152 |
}
|
4153 |
-
.eae-fg-wrapper .eae-gallery-item-inner img{
|
4154 |
-
|
4155 |
-
|
4156 |
-
|
4157 |
-
|
4158 |
-
|
4159 |
}
|
4160 |
|
4161 |
-
.eae-gallery-item{
|
4162 |
-
|
4163 |
-
|
4164 |
}
|
4165 |
.eae-gallery-filter a {
|
4166 |
-
|
4167 |
-
|
4168 |
}
|
4169 |
.eae-gallery-filter a.current {
|
4170 |
-
|
4171 |
}
|
4172 |
|
4173 |
-
.eae-gallery-item-inner{
|
4174 |
-
|
4175 |
-
|
4176 |
}
|
4177 |
|
4178 |
/*Overlay Css*/
|
4179 |
-
.eae-overlay-always .eae-gallery-item .eae-grid-overlay
|
4180 |
-
|
4181 |
-
display:block;
|
4182 |
}
|
4183 |
|
4184 |
.eae-overlay-hover .eae-gallery-item-inner:hover .eae-grid-overlay {
|
4185 |
-
|
4186 |
}
|
4187 |
-
.eae-overlay-hide-on-hover .eae-gallery-item-inner:hover .eae-grid-overlay{
|
4188 |
-
|
4189 |
}
|
4190 |
-
.eae-overlay-hide-on-hover .eae-grid-overlay{
|
4191 |
-
|
4192 |
}
|
4193 |
-
.eae-grid-overlay{
|
4194 |
-
|
4195 |
-
|
4196 |
-
|
4197 |
-
|
4198 |
-
|
4199 |
-
|
4200 |
-
|
4201 |
-
|
4202 |
}
|
4203 |
|
4204 |
.eae-grid-overlay-inner {
|
4205 |
-
|
4206 |
-
|
4207 |
-
|
4208 |
-
|
4209 |
-
|
4210 |
-
|
4211 |
}
|
4212 |
|
4213 |
.eae-fg-wrapper .eae-icon-wrapper {
|
4214 |
-
|
4215 |
-
|
4216 |
-
|
4217 |
}
|
4218 |
|
4219 |
-
|
4220 |
/* Overlay Icon*/
|
4221 |
-
.eae-overlay-caption{
|
4222 |
-
|
4223 |
-
|
4224 |
-
|
4225 |
-
|
4226 |
-
|
4227 |
-
}
|
4228 |
-
.eae-overlay-icon{
|
4229 |
-
|
4230 |
-
|
4231 |
-
|
4232 |
-
}
|
4233 |
-
.eae-overlay-icon svg{
|
4234 |
-
|
4235 |
-
}
|
4236 |
-
.eae-icon-view-framed .eae-overlay-icon{
|
4237 |
-
|
4238 |
-
|
4239 |
-
|
4240 |
-
|
4241 |
-
}
|
4242 |
-
|
4243 |
-
.eae-icon-view-stacked .eae-overlay-icon{
|
4244 |
-
|
4245 |
-
|
4246 |
-
|
4247 |
-
}
|
4248 |
-
.eae-hover-direction-effect .eae-grid-overlay{
|
4249 |
-
|
4250 |
-
|
4251 |
-
|
4252 |
-
|
4253 |
-
|
4254 |
-
}
|
4255 |
-
|
4256 |
-
.eae-fg-wrapper.eae-image-ratio-yes
|
4257 |
-
|
4258 |
-
|
4259 |
-
|
4260 |
-
|
4261 |
-
|
4262 |
-
|
4263 |
-
|
4264 |
-
|
4265 |
-
|
4266 |
-
|
4267 |
-
|
4268 |
-
|
4269 |
-
|
4270 |
-
|
4271 |
-
|
4272 |
-
|
|
|
|
|
|
|
|
|
4273 |
}
|
4274 |
|
4275 |
/* Ribbons and Badges */
|
4276 |
|
4277 |
-
.wts-eae-ribbons-badges-wrapper{
|
4278 |
-
|
4279 |
}
|
4280 |
-
.wts-eae-enable-ribbons-badges-yes
|
4281 |
-
|
|
|
|
|
4282 |
}
|
4283 |
|
4284 |
/* Ribbon */
|
4285 |
-
.wts-eae-enable-ribbons-badges-yes.wts-eae-badge-type-ribbon
|
4286 |
-
|
4287 |
-
|
4288 |
-
|
4289 |
-
|
4290 |
-
|
4291 |
-
|
4292 |
-
|
4293 |
-
|
4294 |
-
|
4295 |
-
|
4296 |
-
|
4297 |
-
|
4298 |
-
|
4299 |
-
|
4300 |
-
|
4301 |
-
|
4302 |
-
|
4303 |
-
|
4304 |
-
|
4305 |
-
|
4306 |
-
|
4307 |
-
|
4308 |
-
|
4309 |
-
|
4310 |
-
|
4311 |
-
|
4312 |
-
|
4313 |
-
|
4314 |
-
|
4315 |
-
|
4316 |
-
|
4317 |
-
|
4318 |
-
|
4319 |
-
|
4320 |
-
|
4321 |
-
|
4322 |
-
|
4323 |
-
|
4324 |
-
|
4325 |
-
|
4326 |
-
|
4327 |
-
|
4328 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4329 |
}
|
4330 |
/* Ribbon */
|
4331 |
|
4332 |
/* Sale Badge Badge */
|
4333 |
-
.wts-eae-enable-ribbons-badges-yes.wts-eae-badge-type-badge
|
4334 |
-
|
4335 |
-
|
4336 |
-
|
4337 |
-
|
4338 |
-
|
4339 |
-
|
4340 |
-
|
4341 |
-
|
4342 |
-
|
4343 |
-
|
4344 |
-
|
4345 |
-
|
4346 |
-
|
4347 |
-
|
4348 |
-
|
4349 |
-
|
4350 |
-
|
4351 |
-
|
4352 |
-
|
4353 |
-
|
4354 |
-
|
4355 |
-
|
4356 |
-
|
4357 |
-
|
4358 |
-
|
4359 |
-
|
4360 |
-
|
4361 |
-
|
4362 |
-
|
4363 |
-
|
4364 |
-
|
4365 |
-
|
4366 |
-
|
4367 |
-
|
4368 |
-
|
4369 |
-
|
4370 |
-
.wts-eae-badge-h-right.wts-eae-badge-v-
|
4371 |
-
|
4372 |
-
|
4373 |
-
|
4374 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4375 |
}
|
4376 |
|
4377 |
/* Sale Badge Badge */
|
4378 |
|
4379 |
-
|
4380 |
/* Icon Migration */
|
4381 |
/* Flipbox */
|
4382 |
-
.eae-flip-box-front svg
|
4383 |
-
|
4384 |
-
|
|
|
4385 |
}
|
4386 |
/* Text-Separator */
|
4387 |
-
.wts-eae-textseparator svg{
|
4388 |
-
|
4389 |
-
|
4390 |
}
|
4391 |
|
4392 |
/* AfterBefore Image Comp */
|
4393 |
-
.eae-img-comp-slider svg{
|
4394 |
-
|
4395 |
-
|
4396 |
}
|
4397 |
|
4398 |
/* Model Popup */
|
4399 |
-
.eae-popup-link svg{
|
4400 |
-
|
4401 |
-
|
4402 |
}
|
4403 |
|
4404 |
.eae-popup svg:hover,
|
4405 |
.eae-popup svg:focus {
|
4406 |
-
|
4407 |
-
|
4408 |
}
|
4409 |
.eae-popup svg:active {
|
4410 |
-
|
4411 |
}
|
4412 |
|
4413 |
-
.eae-popup svg.eae-close{
|
4414 |
-
|
4415 |
-
|
4416 |
-
|
4417 |
-
|
4418 |
-
|
4419 |
-
|
4420 |
-
|
4421 |
}
|
4422 |
/* Dual Button */
|
4423 |
-
.eae-dual-button-wrapper svg{
|
4424 |
-
|
4425 |
-
|
4426 |
-
|
4427 |
}
|
4428 |
-
eae-button-separator i{
|
4429 |
-
|
4430 |
-
|
4431 |
}
|
4432 |
-
.eae-button-1.icon-before svg
|
4433 |
-
|
4434 |
-
|
|
|
|
|
4435 |
}
|
4436 |
|
4437 |
-
.eae-button-1.icon-after svg
|
4438 |
-
|
4439 |
-
|
|
|
4440 |
}
|
4441 |
-
.eae-button-1.icon-up svg,
|
4442 |
-
|
4443 |
-
|
|
|
|
|
|
|
4444 |
}
|
4445 |
|
4446 |
/* Price Table */
|
4447 |
-
.eae-pt-button-wrapper a svg{
|
4448 |
-
|
4449 |
}
|
4450 |
-
.eae-pt-action-button .eae-pt-align-icon-left{
|
4451 |
-
|
4452 |
}
|
4453 |
|
4454 |
-
.eae-pt-action-button .eae-pt-align-icon-right{
|
4455 |
-
|
4456 |
}
|
4457 |
|
4458 |
-
.eae-icon-wrap svg{
|
4459 |
-
|
4460 |
-
|
4461 |
-
|
4462 |
-
|
4463 |
}
|
4464 |
-
.eae-info-circle .eae-icon-wrap svg{
|
4465 |
-
|
4466 |
-
|
4467 |
-
|
4468 |
}
|
4469 |
|
4470 |
-
.eae-icon-view-stacked svg{
|
|
|
|
|
4471 |
|
4472 |
-
.ae-link-yes{
|
4473 |
-
|
4474 |
}
|
4475 |
|
4476 |
/*unfold-css*/
|
4477 |
.eae-element-unfold-content {
|
4478 |
-
|
4479 |
-
|
4480 |
-
|
4481 |
-
|
4482 |
-
|
4483 |
-
|
4484 |
-
|
4485 |
-
|
4486 |
-
}
|
4487 |
-
|
4488 |
-
a.eae-unfold-link{
|
4489 |
-
|
4490 |
-
|
4491 |
-
|
4492 |
-
|
4493 |
}
|
4494 |
a.eae-unfold-link svg {
|
4495 |
-
|
4496 |
-
}
|
4497 |
-
.eae-unfold-button-icon{
|
4498 |
-
|
4499 |
-
}
|
4500 |
-
|
4501 |
-
.eae-fold-yes.elementor-section .elementor-container,
|
4502 |
-
|
4503 |
-
|
4504 |
-
|
4505 |
-
|
4506 |
-
|
4507 |
-
|
4508 |
-
|
4509 |
-
|
4510 |
-
|
4511 |
-
body.elementor-editor-
|
4512 |
-
|
4513 |
-
|
4514 |
-
|
4515 |
-
|
4516 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4517 |
}
|
4518 |
|
4519 |
-
|
4520 |
-
|
4521 |
-
|
4522 |
-
|
4523 |
-
|
4524 |
-
opacity: 1.00;
|
4525 |
-
}
|
4526 |
-
.eae-unfold-icon-type-svg .eae-unfold-button-icon, .eae-fold-icon-type-svg .eae-unfold-button-icon{
|
4527 |
-
-webkit-mask-size: cover !important;
|
4528 |
-
background-image: none;
|
4529 |
-
transform: translateY(-50%);
|
4530 |
}
|
4531 |
|
4532 |
-
|
4533 |
-
|
4534 |
-
|
4535 |
-
|
4536 |
-
|
4537 |
-
}
|
4538 |
-
.elementor-section.elementor-section-content-middle.eae-widget-unfold-yes > .elementor-container , .elementor-section.elementor-section-content-bottom.eae-widget-unfold-yes > .elementor-container{
|
4539 |
-
-webkit-box-align: start;
|
4540 |
-
-webkit-align-items: flex-start;
|
4541 |
-
-ms-flex-align: start;
|
4542 |
-
align-items: start;
|
4543 |
}
|
4544 |
|
4545 |
-
|
4546 |
-
|
4547 |
-
|
4548 |
-
.elementor-widget-wts-modal-popup.eae-pop-btn-type-image .eae-popup-link{
|
4549 |
-
padding:0px;
|
4550 |
-
background-color: transparent;
|
4551 |
-
overflow:hidden;
|
4552 |
}
|
4553 |
-
|
4554 |
-
/*Comparision Table Bug Fix elementor*/
|
4555 |
-
[data-elementor-device-mode='tablet'] .eae-tab-format-mobile .eae-ct-hide.eae-fbox-heading{
|
4556 |
-
display: none !important;
|
4557 |
-
}
|
1 |
+
.elementor-widget-wts-textseparator .elementor-widget-container {
|
2 |
+
overflow: hidden;
|
3 |
}
|
4 |
+
.wts-eae-textseparator {
|
5 |
+
align-items: center;
|
6 |
+
display: flex;
|
7 |
+
flex-flow: row nowrap;
|
8 |
+
margin: auto;
|
9 |
+
}
|
10 |
+
body.rtl .wts-eae-textseparator {
|
11 |
+
flex-direction: row-reverse;
|
12 |
}
|
13 |
|
14 |
.eae-separator-icon-inner i {
|
15 |
+
height: 1em;
|
16 |
+
width: 1em;
|
17 |
+
text-align: center;
|
18 |
+
position: relative;
|
19 |
+
display: block;
|
20 |
}
|
21 |
|
22 |
+
.eae-separator-icon-inner i:before {
|
23 |
+
position: absolute;
|
24 |
+
left: 50%;
|
25 |
+
-webkit-transform: translateX(-50%);
|
26 |
+
-moz-transform: translateX(-50%);
|
27 |
+
-ms-transform: translateX(-50%);
|
28 |
+
-o-transform: translateX(-50%);
|
29 |
+
transform: translateX(-50%);
|
30 |
}
|
31 |
.wts-eae-textseparator .eae-sep-holder {
|
32 |
+
flex: 1 1 auto;
|
33 |
+
height: 1px;
|
34 |
+
min-width: 10%;
|
35 |
+
position: relative;
|
36 |
}
|
37 |
|
38 |
+
.wts-eae-textseparator .eae-sep-holder .eae-sep-lines {
|
39 |
+
border-top-width: 1px;
|
40 |
+
display: block;
|
41 |
+
height: 1px;
|
42 |
+
position: relative;
|
43 |
+
top: 1px;
|
44 |
+
width: 100%;
|
45 |
}
|
46 |
|
47 |
+
.eae-separator-title {
|
48 |
+
margin: 0;
|
49 |
+
-moz-box-flex: 0;
|
50 |
+
flex: 0 1 auto;
|
51 |
+
line-height: 1em;
|
52 |
+
margin: 0;
|
53 |
+
overflow-wrap: break-word;
|
54 |
}
|
55 |
|
56 |
+
.sep-align-right .sep-right {
|
57 |
+
display: none;
|
58 |
}
|
59 |
|
60 |
+
.sep-align-left .sep-left {
|
61 |
+
display: none;
|
62 |
}
|
63 |
|
64 |
+
.eae-icon-view-stacked i {
|
65 |
+
color: #fff;
|
66 |
+
}
|
67 |
+
.eae-icon-view-framed .eae-separator-icon-inner {
|
68 |
+
border: 1px solid;
|
69 |
+
}
|
70 |
+
.eae-icon-shape-circle .eae-separator-icon-inner {
|
71 |
+
border-radius: 50%;
|
72 |
+
}
|
73 |
+
.eae-separator-icon-wrapper,
|
74 |
+
.eae-separator-title {
|
75 |
+
margin: 0 5px !important;
|
76 |
+
}
|
77 |
+
.eae-separator-icon-inner {
|
78 |
+
line-height: 1;
|
79 |
+
}
|
80 |
|
81 |
/**
|
82 |
Price Table Css
|
83 |
**/
|
84 |
+
.wts-price-box-wrapper .eae-pt-heading,
|
85 |
+
.wts-price-box-wrapper .eae-pt-sub-heading {
|
86 |
+
margin: 5px 0;
|
87 |
+
text-align: center;
|
88 |
+
}
|
89 |
.plan-price-shape {
|
90 |
+
display: table;
|
91 |
+
height: 6em;
|
92 |
+
margin: auto;
|
93 |
+
width: 6em;
|
94 |
}
|
95 |
|
96 |
+
.eae-pt-price-box-shape-circle .plan-price-shape,
|
97 |
+
.eae-pt-price-box-shape-square .plan-price-shape {
|
98 |
+
border: 1px solid;
|
99 |
+
}
|
100 |
+
.eae-pt-price-box-shape-circle .plan-price-shape {
|
101 |
+
border-radius: 50%;
|
102 |
+
}
|
103 |
+
.plan-price-block {
|
104 |
+
padding: 10px 0;
|
105 |
+
}
|
106 |
.plan-price-shape-inner {
|
107 |
+
display: table-cell;
|
108 |
+
vertical-align: middle;
|
109 |
+
padding: 10px;
|
110 |
}
|
111 |
.plan-price-shape-inner > span {
|
112 |
+
display: block;
|
113 |
+
font-size: 1em;
|
114 |
+
text-align: center;
|
115 |
}
|
116 |
|
117 |
.eae-pt-feature-list {
|
118 |
+
list-style: outside none none;
|
119 |
+
text-align: center;
|
120 |
+
margin: 10px 0;
|
121 |
+
}
|
122 |
+
.eae-pt-button-wrapper > a {
|
123 |
+
text-align: center;
|
124 |
+
display: inline-block;
|
125 |
+
line-height: 1;
|
126 |
+
}
|
127 |
+
.eae-pt-button-wrapper {
|
128 |
+
text-align: center;
|
129 |
}
|
|
|
|
|
130 |
|
131 |
+
.wts-price-box-wrapper .heading-wrapper,
|
132 |
+
.wts-price-box-wrapper .plan-features-wrapper {
|
133 |
+
padding: 10px 5px;
|
134 |
+
}
|
135 |
+
.eae-pt-button-wrapper {
|
136 |
+
padding: 15px 0;
|
137 |
+
}
|
138 |
+
.eae-pt-button-wrapper a {
|
139 |
+
padding: 5px 15px;
|
140 |
+
border-radius: 3px;
|
141 |
+
}
|
142 |
+
.eae-pt-align-icon-right {
|
143 |
+
float: right;
|
144 |
+
}
|
145 |
+
.strike-feature {
|
146 |
+
text-decoration: line-through;
|
147 |
+
}
|
148 |
|
149 |
/**
|
150 |
Flip Box CSS
|
151 |
**/
|
152 |
+
.eae-flip-box {
|
153 |
+
width: 100%;
|
154 |
+
text-align: center;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
155 |
}
|
156 |
+
.eae-flip-box-wrapper {
|
157 |
+
display: inline-block;
|
158 |
+
width: 100%;
|
159 |
+
}
|
160 |
+
.eae-flip-box-inner {
|
161 |
+
width: 100%;
|
162 |
+
height: 200px;
|
163 |
+
position: relative;
|
164 |
+
-webkit-transform-style: preserve-3d;
|
165 |
+
-moz-transform-style: preserve-3d;
|
166 |
+
-ms-transform-style: preserve-3d;
|
167 |
+
transform-style: preserve-3d;
|
168 |
+
}
|
169 |
+
|
170 |
+
.eae-flip-box-inner .eae-flip-box-front,
|
171 |
+
.eae-flip-box-inner .eae-flip-box-back {
|
172 |
+
width: 100%;
|
173 |
+
height: 100%;
|
174 |
+
position: absolute;
|
175 |
+
top: 0;
|
176 |
+
left: 0;
|
177 |
+
text-align: center;
|
178 |
+
padding: 10px;
|
179 |
+
-webkit-backface-visibility: hidden;
|
180 |
+
-moz-backface-visibility: hidden;
|
181 |
+
-ms-backface-visibility: hidden;
|
182 |
+
backface-visibility: hidden;
|
183 |
+
|
184 |
+
-webkit-transition: all 0.6s ease 0s;
|
185 |
+
-moz-transition: all 0.6s ease 0s;
|
186 |
+
-ms-transition: all 0.6s ease 0s;
|
187 |
+
-o-transition: all 0.6s ease 0s;
|
188 |
+
transition: all 0.6s ease 0s;
|
189 |
}
|
190 |
.eae-flip-box-front {
|
191 |
+
z-index: 2;
|
192 |
}
|
193 |
.eae-flip-box-back {
|
194 |
+
z-index: 1;
|
195 |
}
|
196 |
|
197 |
+
.eae-fb-animate-vertical .eae-flip-box-inner .eae-flip-box-front {
|
198 |
+
-webkit-transform: perspective(1000px) rotateX(0deg);
|
199 |
+
-ms-transform: perspective(1000px) rotateX(0deg);
|
200 |
+
transform: perspective(1000px) rotateX(0deg);
|
201 |
+
}
|
202 |
+
.eae-fb-animate-vertical .eae-flip-box-inner .eae-flip-box-back {
|
203 |
+
-webkit-transform: perspective(1000px) rotateX(180deg);
|
204 |
+
transform: perspective(1000px) rotateX(180deg);
|
205 |
+
-ms-transform: perspective(1000px) rotateX(180deg);
|
206 |
+
}
|
207 |
+
.eae-fb-animate-vertical .eae-flip-box-inner:hover .eae-flip-box-front {
|
208 |
+
-webkit-transform: perspective(1000px) rotateX(180deg);
|
209 |
+
transform: perspective(1000px) rotateX(180deg);
|
210 |
+
-ms-transform: perspective(1000px) rotateX(180deg);
|
211 |
+
}
|
212 |
+
.eae-fb-animate-vertical .eae-flip-box-inner:hover .eae-flip-box-back {
|
213 |
+
-webkit-transform: perspective(1000px) rotateX(0deg);
|
214 |
+
transform: perspective(1000px) rotateX(0deg);
|
215 |
+
-ms-transform: perspective(1000px) rotateX(0deg);
|
216 |
+
}
|
217 |
|
218 |
+
.eae-fb-animate-horizontal .eae-flip-box-inner .eae-flip-box-front {
|
219 |
+
-webkit-transform: perspective(1000px) rotateY(0deg);
|
220 |
+
transform: perspective(1000px) rotateY(0deg);
|
221 |
+
-ms-transform: perspective(1000px) rotateY(0deg);
|
222 |
+
}
|
223 |
+
.eae-fb-animate-horizontal .eae-flip-box-inner .eae-flip-box-back {
|
224 |
+
-webkit-transform: perspective(1000px) rotateY(180deg);
|
225 |
+
transform: perspective(1000px) rotateY(180deg);
|
226 |
+
-ms-transform: perspective(1000px) rotateY(180deg);
|
227 |
+
}
|
228 |
+
.eae-fb-animate-horizontal .eae-flip-box-inner:hover .eae-flip-box-front {
|
229 |
+
-webkit-transform: perspective(1000px) rotateY(180deg);
|
230 |
+
transform: perspective(1000px) rotateY(180deg);
|
231 |
+
-ms-transform: perspective(1000px) rotateY(180deg);
|
232 |
+
}
|
233 |
+
.eae-fb-animate-horizontal .eae-flip-box-inner:hover .eae-flip-box-back {
|
234 |
+
-webkit-transform: perspective(1000px) rotateY(0deg);
|
235 |
+
transform: perspective(1000px) rotateY(0deg);
|
236 |
+
-ms-transform: perspective(1000px) rotateY(0deg);
|
237 |
+
}
|
238 |
|
239 |
+
.eae-fb-animate-fade .eae-flip-box-inner .eae-flip-box-front {
|
240 |
+
opacity: 1;
|
241 |
+
}
|
242 |
+
.eae-fb-animate-fade .eae-flip-box-inner .eae-flip-box-back {
|
243 |
+
opacity: 0;
|
244 |
+
}
|
245 |
+
.eae-fb-animate-fade .eae-flip-box-inner:hover .eae-flip-box-front {
|
246 |
+
opacity: 0;
|
247 |
+
}
|
248 |
+
.eae-fb-animate-fade .eae-flip-box-inner:hover .eae-flip-box-back {
|
249 |
+
opacity: 1;
|
250 |
+
}
|
251 |
|
252 |
.eae-flip-box-wrapper:hover .eae-flip-box-back,
|
253 |
.eae-flip-box-wrapper:focus .eae-flip-box-back {
|
254 |
+
z-index: 2;
|
255 |
}
|
256 |
.eae-flip-box-wrapper:hover .eae-flip-box-front,
|
257 |
.eae-flip-box-wrapper:focus .eae-flip-box-front {
|
258 |
+
z-index: 1;
|
259 |
}
|
260 |
.fade .eae-flip-box-wrapper .eae-flip-box-front {
|
261 |
+
opacity: 1;
|
262 |
+
transition: 1s;
|
263 |
}
|
264 |
.fade .eae-flip-box-wrapper .eae-flip-box-back {
|
265 |
+
opacity: 0;
|
266 |
+
transition: 1s;
|
267 |
}
|
268 |
.fade .eae-flip-box-wrapper:hover .eae-flip-box-front,
|
269 |
.fade .eae-flip-box-wrapper:focus .eae-flip-box-front {
|
270 |
+
opacity: 0;
|
271 |
}
|
272 |
.fade .eae-flip-box-wrapper:hover .eae-flip-box-back,
|
273 |
.fade .eae-flip-box-wrapper:focus .eae-flip-box-back {
|
274 |
+
opacity: 1;
|
275 |
}
|
276 |
|
277 |
.eae-fb-animate-flip .eae-flip-box-wrapper {
|
278 |
+
perspective: 800px;
|
279 |
}
|
280 |
+
.eae-fb-animate-flip .eae-flip-box-inner {
|
281 |
+
transform-style: preserve-3d;
|
282 |
+
transform: rotateX(0) rotateY(0) rotateZ(0);
|
283 |
+
transition: 1s;
|
284 |
}
|
285 |
.eae-fb-animate-flip .eae-flip-box-front {
|
286 |
+
transform: translate3d(0, 0, 1px);
|
287 |
}
|
288 |
.eae-fb-animate-flip .eae-flip-box-back {
|
289 |
+
transform: rotateY(180deg) translate3d(0, 0, 0);
|
290 |
}
|
291 |
.eae-fb-animate-flip .eae-flip-box-wrapper:hover .eae-flip-box-inner,
|
292 |
+
.eae-fb-animate-flip .eae-flip-box-wrapper:focus .eae-flip-box-inner {
|
293 |
+
transform: rotateY(180deg);
|
294 |
}
|
295 |
.up .eae-flip-box-front {
|
296 |
+
transform: translate3d(0, 0, 1px);
|
297 |
}
|
298 |
.up .eae-flip-box-back {
|
299 |
+
transform: rotateX(180deg) translate3d(0, 0, 0);
|
300 |
}
|
301 |
.up .eae-flip-box-wrapper:hover .eae-flip-box-inner,
|
302 |
+
.up .eae-flip-box-wrapper:focus .eae-flip-box-inner {
|
303 |
+
transform: rotateX(180deg);
|
304 |
}
|
305 |
|
306 |
.box .eae-flip-box-front {
|
307 |
+
transform: translate3d(0, 0, 100px) scale(0.85, 0.85);
|
308 |
}
|
309 |
.box .eae-flip-box-back {
|
310 |
+
transform: rotateY(180deg) translate3d(0, 0, 100px) scale(0.85, 0.85);
|
311 |
}
|
312 |
.box.up .eae-flip-box-back {
|
313 |
+
transform: rotateX(180deg) translate3d(0, 0, 100px) scale(0.85, 0.85);
|
314 |
}
|
315 |
|
316 |
+
.hideback .eae-flip-box-front,
|
317 |
+
.hideback .eae-flip-box-back {
|
318 |
+
backface-visibility: hidden;
|
319 |
}
|
320 |
.eae-fb-animate-nananana .eae-flip-box-wrapper {
|
|
|
|
|
321 |
}
|
322 |
.eae-fb-animate-nananana .eae-flip-box-wrapper:hover .eae-flip-box-front,
|
323 |
.eae-fb-animate-nananana .eae-flip-box-wrapper:focus .eae-flip-box-front {
|
324 |
+
z-index: 10;
|
325 |
+
animation: batman 1s 2 alternate linear;
|
326 |
}
|
327 |
|
|
|
328 |
/* Cube Animation */
|
329 |
|
330 |
+
.eae-fb-animate-flipcard .eae-flip-box-front,
|
331 |
+
.eae-fb-animate-flipcard .eae-flip-box-back {
|
332 |
+
transition: transform 0.4s ease;
|
333 |
+
transform-origin: center center -150px;
|
334 |
+
-webkit-transform-origin: center center -150px;
|
335 |
}
|
336 |
|
337 |
/* top to down */
|
338 |
|
339 |
.flipcard-rotate-top-down .eae-flip-box-front {
|
340 |
+
transform: perspective(0px) rotateX(0deg) rotateY(0deg) rotateZ(0deg);
|
341 |
}
|
342 |
.flipcard-rotate-top-down .eae-flip-box-back {
|
343 |
+
transform: perspective(0px) rotateX(90deg) rotateY(0deg) rotateZ(0deg);
|
344 |
}
|
345 |
+
.eae-fb-animate-flipcard.flipcard-rotate-top-down
|
346 |
+
.eae-flip-box-wrapper:hover
|
347 |
+
.eae-flip-box-front {
|
348 |
+
transform: perspective(0px) rotateX(-90deg) rotateY(0) rotateZ(0deg);
|
349 |
}
|
350 |
+
.eae-fb-animate-flipcard.flipcard-rotate-top-down
|
351 |
+
.eae-flip-box-wrapper:hover
|
352 |
+
.eae-flip-box-back {
|
353 |
+
z-index: 99999;
|
354 |
+
transform: perspective(0px) rotateX(0deg) rotateY(0deg) rotateZ(0);
|
355 |
}
|
356 |
|
|
|
357 |
/* down to top */
|
358 |
.flipcard-rotate-down-top .eae-flip-box-front {
|
359 |
+
transform: perspective(0px) rotateX(0deg) rotateY(0deg) rotateZ(0deg);
|
360 |
}
|
361 |
.flipcard-rotate-down-top .eae-flip-box-back {
|
362 |
+
transform: perspective(0px) rotateX(-90deg) rotateY(0deg) rotateZ(0deg);
|
363 |
}
|
364 |
+
.eae-fb-animate-flipcard.flipcard-rotate-down-top
|
365 |
+
.eae-flip-box-wrapper:hover
|
366 |
+
.eae-flip-box-front {
|
367 |
+
transform: perspective(0px) rotateX(90deg) rotateY(0) rotateZ(0deg);
|
368 |
}
|
369 |
+
.eae-fb-animate-flipcard.flipcard-rotate-down-top
|
370 |
+
.eae-flip-box-wrapper:hover
|
371 |
+
.eae-flip-box-back {
|
372 |
+
z-index: 99999;
|
373 |
+
transform: perspective(0px) rotateX(0deg) rotateY(0deg) rotateZ(0deg);
|
374 |
}
|
375 |
|
376 |
/* left to right */
|
377 |
|
378 |
.flipcard-rotate-left-right .eae-flip-box-front {
|
379 |
+
transform: perspective(0px) rotateX(0deg) rotateY(0deg) rotateZ(0deg);
|
380 |
}
|
381 |
.flipcard-rotate-left-right .eae-flip-box-back {
|
382 |
+
transform: perspective(0px) rotateX(0deg) rotateY(-90deg) rotateZ(0deg);
|
383 |
}
|
384 |
+
.eae-fb-animate-flipcard.flipcard-rotate-left-right
|
385 |
+
.eae-flip-box-wrapper:hover
|
386 |
+
.eae-flip-box-front {
|
387 |
+
transform: perspective(0px) rotateX(0deg) rotateY(90deg) rotateZ(0deg);
|
388 |
}
|
389 |
+
.eae-fb-animate-flipcard.flipcard-rotate-left-right
|
390 |
+
.eae-flip-box-wrapper:hover
|
391 |
+
.eae-flip-box-back {
|
392 |
+
z-index: 99999;
|
393 |
+
transform: perspective(0px) rotateX(0deg) rotateY(0deg) rotateZ(0deg);
|
394 |
}
|
395 |
|
396 |
/* right to left */
|
397 |
|
398 |
.flipcard-rotate-right-left .eae-flip-box-front {
|
399 |
+
transform: perspective(0px) rotateX(0deg) rotateY(0deg) rotateZ(0deg);
|
400 |
}
|
401 |
.flipcard-rotate-right-left .eae-flip-box-back {
|
402 |
+
transform: perspective(0px) rotateX(0deg) rotateY(90deg) rotateZ(0deg);
|
403 |
}
|
404 |
+
.eae-fb-animate-flipcard.flipcard-rotate-right-left
|
405 |
+
.eae-flip-box-wrapper:hover
|
406 |
+
.eae-flip-box-front {
|
407 |
+
transform: perspective(0px) rotateX(0deg) rotateY(-90deg) rotateZ(0deg);
|
408 |
}
|
409 |
+
.eae-fb-animate-flipcard.flipcard-rotate-right-left
|
410 |
+
.eae-flip-box-wrapper:hover
|
411 |
+
.eae-flip-box-back {
|
412 |
+
z-index: 99999;
|
413 |
+
transform: perspective(0px) rotateX(0deg) rotateY(0deg) rotateZ(0deg);
|
414 |
}
|
415 |
|
416 |
@keyframes batman {
|
417 |
+
0% {
|
418 |
+
transform: scale(1, 1) rotateZ(0);
|
419 |
+
}
|
420 |
+
100% {
|
421 |
+
transform: scale(0, 0) rotateZ(720deg);
|
422 |
+
opacity: 0;
|
423 |
+
}
|
424 |
}
|
425 |
|
426 |
+
.eae-flip-box-front i,
|
427 |
+
.eae-flip-box-back i {
|
428 |
+
font-size: 32px;
|
429 |
+
height: 1em;
|
430 |
+
width: 1em;
|
431 |
+
position: relative;
|
432 |
+
display: block;
|
433 |
+
}
|
434 |
|
435 |
+
.eae-flip-box-front i:before,
|
436 |
+
.eae-flip-box-back i:before {
|
437 |
+
position: absolute;
|
438 |
+
left: 50%;
|
439 |
+
-webkit-transform: translate(-50%);
|
440 |
+
-moz-transform: translate(-50%);
|
441 |
+
-ms-transform: translate(-50%);
|
442 |
+
-o-transform: translate(-50%);
|
443 |
+
transform: translate(-50%);
|
444 |
+
}
|
445 |
+
.eae-fb-icon-view-framed {
|
446 |
+
border: 1px solid #92be43;
|
447 |
+
}
|
448 |
+
.eae-fb-icon-shape-circle {
|
449 |
+
border-radius: 50%;
|
450 |
+
}
|
451 |
+
.eae-flip-box-wrapper .icon-wrapper {
|
452 |
+
display: inline-block;
|
453 |
+
padding: 10px;
|
454 |
+
line-height: 1;
|
455 |
}
|
|
|
|
|
|
|
456 |
|
457 |
+
.eae-flip-box-wrapper .front-icon-title,
|
458 |
+
.eae-flip-box-wrapper .back-icon-title {
|
459 |
+
margin: 10px auto;
|
460 |
+
color: #fff;
|
461 |
+
}
|
462 |
|
463 |
+
.eae-flip-box-wrapper .flipbox-content {
|
464 |
+
display: block;
|
465 |
+
position: relative;
|
466 |
+
top: 50%;
|
467 |
+
transform: translateY(-50%);
|
468 |
+
-ms-transform: translateY(-50%);
|
469 |
+
}
|
470 |
+
.flipbox-content p {
|
471 |
+
margin-bottom: 10px;
|
472 |
+
}
|
473 |
+
.eae-fb-button {
|
474 |
+
display: inline-block;
|
475 |
+
padding: 5px 10px;
|
476 |
+
}
|
477 |
|
478 |
+
.eae-flip-box-front {
|
479 |
+
background: #a0ce4e;
|
480 |
+
}
|
481 |
+
.eae-flip-box-back {
|
482 |
+
background: #73b9dc;
|
483 |
+
}
|
484 |
|
485 |
@media only screen and (max-width: 768px) {
|
486 |
+
.flipbox-content,
|
487 |
+
.eae-flip-box-front,
|
488 |
+
.eae-flip-box-back {
|
489 |
+
cursor: pointer;
|
490 |
+
overflow: visible !important;
|
491 |
+
transform-style: preserve-3d;
|
492 |
+
-webkit-transform-style: preserve-3d;
|
493 |
+
}
|
494 |
}
|
495 |
/**
|
496 |
Shape Separator
|
497 |
**/
|
498 |
+
.elementor-widget-wts-shape-separator svg {
|
499 |
+
display: block;
|
500 |
+
}
|
501 |
|
502 |
/**
|
503 |
Post List
|
504 |
**/
|
505 |
+
.wts-eae-pl-wrapper ul {
|
506 |
+
margin: 0;
|
507 |
+
}
|
508 |
+
.wts-eae-pl-wrapper ul li {
|
509 |
+
list-style: none;
|
510 |
+
overflow: hidden;
|
511 |
+
margin-bottom: 10px;
|
512 |
+
}
|
513 |
+
.eae-pl-img-align-none .eae-pl-image-wrapper a {
|
514 |
+
text-align: center;
|
515 |
+
}
|
516 |
+
.eae-pl-title {
|
517 |
+
margin: 0;
|
518 |
}
|
519 |
+
.eae-pl-title a {
|
520 |
+
display: block;
|
|
|
521 |
}
|
|
|
|
|
|
|
522 |
|
523 |
+
.eae-pl-readmore a {
|
524 |
+
display: inline-block;
|
525 |
+
border-radius: 2px;
|
526 |
+
color: #fff;
|
527 |
+
padding: 4px 8px;
|
528 |
}
|
529 |
|
530 |
/**
|
535 |
-------------------------------- */
|
536 |
|
537 |
.eae-at-animation-text-wrapper {
|
538 |
+
display: inline-block;
|
539 |
+
position: relative;
|
540 |
+
text-align: left;
|
541 |
}
|
542 |
+
|
543 |
.eae-at-animation-text-wrapper .eae-at-animation-text {
|
544 |
+
display: inline-block;
|
545 |
+
position: absolute;
|
546 |
+
white-space: nowrap;
|
547 |
+
left: 0;
|
548 |
+
top: 0;
|
549 |
+
}
|
550 |
+
[data-elementor-device-mode="mobile"] .eae-at-animation-text {
|
551 |
+
white-space: normal;
|
552 |
}
|
553 |
+
|
554 |
.eae-at-animation-text-wrapper .eae-at-animation-text.is-visible {
|
555 |
+
position: relative;
|
556 |
}
|
557 |
.no-js .eae-at-animation-text-wrapper .eae-at-animation-text {
|
558 |
+
opacity: 0;
|
559 |
}
|
560 |
.no-js .eae-at-animation-text-wrapper .eae-at-animation-text.is-visible {
|
561 |
+
opacity: 1;
|
562 |
}
|
563 |
|
564 |
+
.eae-animtext-wrapper {
|
565 |
+
font-size: 40px;
|
566 |
+
}
|
567 |
|
568 |
/**
|
569 |
Animated Text Styles
|
570 |
**/
|
571 |
.eae-st-rest-text {
|
572 |
+
display: inline-block;
|
573 |
}
|
574 |
.eae-st-split-text {
|
575 |
+
display: inline-block;
|
576 |
}
|
577 |
|
578 |
+
body.rtl .eae-st-transform-text-title {
|
579 |
+
display: flex;
|
580 |
+
flex-direction: row-reverse;
|
581 |
+
}
|
582 |
+
body.rtl .eae-text-align-left .eae-st-transform-text-title {
|
583 |
+
justify-content: flex-start;
|
584 |
+
}
|
585 |
+
body.rtl .eae-text-align-right .eae-st-transform-text-title {
|
586 |
+
justify-content: flex-end;
|
587 |
+
}
|
588 |
+
body.rtl .eae-text-align-center .eae-st-transform-text-title {
|
589 |
+
justify-content: center;
|
590 |
+
}
|
591 |
/* --------------------------------
|
592 |
xtype
|
593 |
-------------------------------- */
|
594 |
.eae-at-animation.type .eae-at-animation-text-wrapper {
|
595 |
+
vertical-align: bottom;
|
596 |
+
overflow: hidden;
|
597 |
}
|
598 |
.eae-at-animation.type .eae-at-animation-text-wrapper::after {
|
599 |
+
/* vertical bar */
|
600 |
+
content: "";
|
601 |
+
position: absolute;
|
602 |
+
right: 0;
|
603 |
+
top: 50%;
|
604 |
+
bottom: auto;
|
605 |
+
-webkit-transform: translateY(-50%);
|
606 |
+
-moz-transform: translateY(-50%);
|
607 |
+
-ms-transform: translateY(-50%);
|
608 |
+
-o-transform: translateY(-50%);
|
609 |
+
transform: translateY(-50%);
|
610 |
+
height: 90%;
|
611 |
+
width: 1px;
|
612 |
}
|
613 |
.eae-at-animation.type .eae-at-animation-text-wrapper.waiting::after {
|
614 |
+
-webkit-animation: cd-pulse 1s infinite;
|
615 |
+
-moz-animation: cd-pulse 1s infinite;
|
616 |
+
animation: cd-pulse 1s infinite;
|
617 |
}
|
618 |
|
619 |
.eae-at-animation.type .eae-at-animation-text-wrapper.selected::after {
|
620 |
+
visibility: hidden;
|
621 |
}
|
622 |
|
623 |
.eae-at-animation.type .eae-at-animation-text {
|
624 |
+
visibility: hidden;
|
625 |
}
|
626 |
.eae-at-animation.type .eae-at-animation-text.is-visible {
|
627 |
+
visibility: visible;
|
628 |
}
|
629 |
.eae-at-animation.type i {
|
630 |
+
position: absolute;
|
631 |
+
visibility: hidden;
|
632 |
}
|
633 |
.eae-at-animation.type i.in {
|
634 |
+
position: relative;
|
635 |
+
visibility: visible;
|
636 |
}
|
637 |
|
638 |
@-webkit-keyframes cd-pulse {
|
639 |
+
0% {
|
640 |
+
-webkit-transform: translateY(-50%) scale(1);
|
641 |
+
opacity: 1;
|
642 |
+
}
|
643 |
+
40% {
|
644 |
+
-webkit-transform: translateY(-50%) scale(0.9);
|
645 |
+
opacity: 0;
|
646 |
+
}
|
647 |
+
100% {
|
648 |
+
-webkit-transform: translateY(-50%) scale(0);
|
649 |
+
opacity: 0;
|
650 |
+
}
|
651 |
}
|
652 |
@-moz-keyframes cd-pulse {
|
653 |
+
0% {
|
654 |
+
-moz-transform: translateY(-50%) scale(1);
|
655 |
+
opacity: 1;
|
656 |
+
}
|
657 |
+
40% {
|
658 |
+
-moz-transform: translateY(-50%) scale(0.9);
|
659 |
+
opacity: 0;
|
660 |
+
}
|
661 |
+
100% {
|
662 |
+
-moz-transform: translateY(-50%) scale(0);
|
663 |
+
opacity: 0;
|
664 |
+
}
|
665 |
}
|
666 |
@keyframes cd-pulse {
|
667 |
+
0% {
|
668 |
+
-webkit-transform: translateY(-50%) scale(1);
|
669 |
+
-moz-transform: translateY(-50%) scale(1);
|
670 |
+
-ms-transform: translateY(-50%) scale(1);
|
671 |
+
-o-transform: translateY(-50%) scale(1);
|
672 |
+
transform: translateY(-50%) scale(1);
|
673 |
+
opacity: 1;
|
674 |
+
}
|
675 |
+
40% {
|
676 |
+
-webkit-transform: translateY(-50%) scale(0.9);
|
677 |
+
-moz-transform: translateY(-50%) scale(0.9);
|
678 |
+
-ms-transform: translateY(-50%) scale(0.9);
|
679 |
+
-o-transform: translateY(-50%) scale(0.9);
|
680 |
+
transform: translateY(-50%) scale(0.9);
|
681 |
+
opacity: 0;
|
682 |
+
}
|
683 |
+
100% {
|
684 |
+
-webkit-transform: translateY(-50%) scale(0);
|
685 |
+
-moz-transform: translateY(-50%) scale(0);
|
686 |
+
-ms-transform: translateY(-50%) scale(0);
|
687 |
+
-o-transform: translateY(-50%) scale(0);
|
688 |
+
transform: translateY(-50%) scale(0);
|
689 |
+
opacity: 0;
|
690 |
+
}
|
691 |
}
|
692 |
|
693 |
/**
|
697 |
Primary style
|
698 |
-------------------------------- */
|
699 |
.eae-img-comp-container {
|
700 |
+
width: 100%;
|
701 |
+
position: relative;
|
702 |
+
text-align: center;
|
703 |
}
|
704 |
.eae-img-comp-container img {
|
705 |
+
vertical-align: middle;
|
706 |
}
|
707 |
.eae-img-comp-img {
|
708 |
+
/*position: absolute;
|
709 |
width: 100%;
|
710 |
height: 100%;
|
711 |
overflow:hidden;*/
|
712 |
|
713 |
+
position: absolute;
|
714 |
+
top: 0px;
|
715 |
+
left: 0px;
|
716 |
+
height: 100%;
|
717 |
+
width: 100%;
|
718 |
+
overflow: hidden;
|
719 |
+
transform: translateZ(0px);
|
720 |
+
backface-visibility: hidden;
|
721 |
}
|
722 |
+
.eae-img-comp-img img {
|
723 |
+
display: block;
|
724 |
+
max-width: 100%;
|
725 |
+
width: 100%;
|
726 |
}
|
727 |
.eae-img-comp-slider {
|
728 |
+
position: absolute;
|
729 |
+
z-index: 9;
|
730 |
+
/*set the appearance of the slider:*/
|
731 |
+
width: 40px;
|
732 |
+
height: 40px;
|
733 |
+
background-color: #2196f3;
|
734 |
+
opacity: 1;
|
735 |
+
border-radius: 50%;
|
736 |
+
}
|
737 |
+
.icon-horizontal {
|
738 |
+
cursor: ew-resize;
|
739 |
+
}
|
740 |
+
.icon-vertical {
|
741 |
+
cursor: n-resize;
|
742 |
+
}
|
743 |
+
|
744 |
+
.eae-img-comp-overlay {
|
745 |
+
}
|
746 |
+
.mode-horizontal .eae-img-comp-overlay img {
|
747 |
+
position: absolute;
|
748 |
+
left: 0;
|
749 |
+
top: 0;
|
750 |
+
display: block;
|
751 |
+
width: auto;
|
752 |
+
height: 100% !important;
|
753 |
+
max-width: none !important;
|
754 |
+
}
|
755 |
+
|
756 |
+
.mode-vertical .eae-img-comp-overlay img {
|
757 |
+
position: absolute;
|
758 |
+
left: 0;
|
759 |
+
top: 0;
|
760 |
+
display: block;
|
761 |
+
width: 100%;
|
762 |
+
height: auto !important;
|
763 |
+
max-width: none !important;
|
764 |
+
}
|
765 |
+
|
766 |
+
.eae-slider-icon,
|
767 |
+
.eae-img-comp-slider svg {
|
768 |
+
top: 50%;
|
769 |
+
transform: translateY(-50%) translateX(-50%);
|
770 |
+
position: absolute;
|
771 |
+
left: 50%;
|
772 |
+
color: white;
|
773 |
+
}
|
774 |
+
.elementor-widget-wts-ab-image {
|
775 |
+
text-align: center;
|
|
|
776 |
}
|
777 |
+
.elementor-widget-wts-ab-image .elementor-widget-container {
|
778 |
+
display: inline-block;
|
779 |
+
margin: 0 auto !important;
|
780 |
+
overflow: hidden;
|
781 |
}
|
782 |
|
783 |
+
.eae-text-before {
|
784 |
+
position: absolute !important;
|
785 |
+
padding: 10px;
|
786 |
+
transition: transform 0.3s 0.7s, opacity 0.3s 0.7s;
|
787 |
+
color: #d36118;
|
788 |
+
z-index: 0;
|
789 |
+
background: rgba(255, 255, 255, 0.5);
|
790 |
+
margin: 20px;
|
791 |
}
|
792 |
|
793 |
+
.eae-text-after {
|
794 |
+
position: absolute !important;
|
795 |
+
padding: 10px;
|
796 |
+
transition: transform 0.3s 0.7s, opacity 0.3s 0.7s;
|
797 |
+
color: #d36118;
|
798 |
+
z-index: 0;
|
799 |
+
background: rgba(255, 255, 255, 0.5);
|
800 |
+
margin: 20px;
|
801 |
}
|
802 |
|
803 |
/* Test CSS */
|
804 |
|
805 |
+
.divTest {
|
806 |
+
display: inline-block;
|
807 |
+
background-color: #00a0d2;
|
808 |
+
padding: 20px;
|
809 |
}
|
810 |
|
|
|
811 |
/*.eae-particle-wrapper{*/
|
812 |
/* width:100%;*/
|
813 |
/* height:100%;*/
|
816 |
/* top:0;*/
|
817 |
/*}*/
|
818 |
|
|
|
819 |
/*.particles-js-canvas-el{ height:100%; position:absolute; }*/
|
820 |
|
821 |
+
.eae-particle-wrapper {
|
822 |
+
position: absolute;
|
823 |
+
left: 0;
|
824 |
+
top: 0;
|
|
|
825 |
}
|
826 |
+
.eae-particle-wrapper.eae-particle-area {
|
827 |
+
width: 100%;
|
828 |
+
height: 100%;
|
829 |
}
|
830 |
|
831 |
+
body:not(.elementor-editor-active) .eae-particle-wrapper {
|
832 |
+
width: 100%;
|
833 |
+
height: 100%;
|
834 |
}
|
835 |
|
836 |
+
body:not(.elementor-editor-active)
|
837 |
+
.eae-particle-wrapper
|
838 |
+
.particles-js-canvas-el {
|
839 |
+
height: 100%;
|
840 |
+
position: absolute;
|
841 |
+
z-index: 0;
|
842 |
+
}
|
843 |
|
844 |
/**
|
845 |
BG Slider
|
846 |
**/
|
847 |
+
.eae-section-bs {
|
848 |
+
position: absolute;
|
849 |
+
width: 100%;
|
850 |
+
height: 100%;
|
851 |
+
top: 0;
|
852 |
+
}
|
853 |
+
.eae-section-bs-inner {
|
854 |
+
width: 100%;
|
855 |
+
height: 100% !important;
|
856 |
+
}
|
857 |
|
858 |
/**
|
859 |
Popup
|
860 |
**/
|
861 |
.eae-popup.mfp-bg {
|
862 |
+
top: 0;
|
863 |
+
left: 0;
|
864 |
+
width: 100%;
|
865 |
+
height: 100%;
|
866 |
+
z-index: 1042;
|
867 |
+
overflow: hidden;
|
868 |
+
position: fixed;
|
869 |
+
background: #0b0b0b;
|
870 |
+
opacity: 0.8;
|
871 |
+
}
|
872 |
|
873 |
+
.eae-popup-link {
|
874 |
+
padding: 12px 24px;
|
875 |
+
color: #fff;
|
876 |
+
display: inline-flex;
|
877 |
+
line-height: 1;
|
878 |
}
|
879 |
|
880 |
+
.eae-popup-link svg {
|
881 |
+
fill: #fff;
|
882 |
}
|
883 |
+
.eae-popup-link:hover {
|
884 |
+
color: #fff;
|
885 |
}
|
886 |
.eae-popup.mfp-wrap {
|
887 |
+
top: 0;
|
888 |
+
left: 0;
|
889 |
+
width: 100%;
|
890 |
+
height: 100%;
|
891 |
+
z-index: 1043;
|
892 |
+
position: fixed;
|
893 |
+
outline: none !important;
|
894 |
+
-webkit-backface-visibility: hidden;
|
895 |
+
}
|
896 |
|
897 |
.eae-popup .mfp-container {
|
898 |
+
text-align: center;
|
899 |
+
position: absolute;
|
900 |
+
width: 100%;
|
901 |
+
height: 100%;
|
902 |
+
left: 0;
|
903 |
+
top: 0;
|
904 |
+
padding: 0 8px;
|
905 |
+
box-sizing: border-box;
|
906 |
+
}
|
907 |
|
908 |
.eae-popup .mfp-container:before {
|
909 |
+
content: "";
|
910 |
+
display: inline-block;
|
911 |
+
height: 100%;
|
912 |
+
vertical-align: middle;
|
913 |
+
}
|
914 |
|
915 |
.eae-popup .mfp-align-top .mfp-container:before {
|
916 |
+
display: none;
|
917 |
+
}
|
918 |
|
919 |
.eae-popup .mfp-content {
|
920 |
+
position: relative;
|
921 |
+
display: inline-block;
|
922 |
+
vertical-align: middle;
|
923 |
+
margin: 0 auto;
|
924 |
+
text-align: left;
|
925 |
+
z-index: 1045;
|
|
|
926 |
}
|
927 |
+
.eae-modal-content {
|
928 |
+
padding: 20px;
|
929 |
}
|
930 |
+
.eae-pop-btn-align-left .eae-popup-wrapper {
|
931 |
+
text-align: left;
|
932 |
}
|
933 |
+
.eae-pop-btn-align-right .eae-popup-wrapper {
|
934 |
+
text-align: right;
|
935 |
}
|
936 |
+
.eae-pop-btn-align-center .eae-popup-wrapper {
|
937 |
+
text-align: center;
|
938 |
}
|
939 |
+
.eae-pop-btn-align-justify .eae-popup-wrapper {
|
940 |
+
text-align: center;
|
941 |
}
|
942 |
+
.eae-pop-btn-align-justify .eae-popup-wrapper a {
|
943 |
+
display: block;
|
944 |
}
|
945 |
.eae-popup .mfp-inline-holder .mfp-content,
|
946 |
.eae-popup .mfp-ajax-holder .mfp-content {
|
947 |
+
width: 50%;
|
948 |
+
background-color: #fff;
|
949 |
+
cursor: auto;
|
950 |
+
overflow: hidden;
|
951 |
}
|
952 |
|
953 |
.eae-popup .mfp-ajax-cur {
|
954 |
+
cursor: progress;
|
955 |
+
}
|
956 |
|
957 |
+
.eae-popup .mfp-zoom-out-cur,
|
958 |
+
.eae-popup .mfp-zoom-out-cur .mfp-image-holder .eae-close {
|
959 |
+
cursor: -moz-zoom-out;
|
960 |
+
cursor: -webkit-zoom-out;
|
961 |
+
cursor: zoom-out;
|
962 |
+
}
|
963 |
|
964 |
.eae-popup .mfp-zoom {
|
965 |
+
cursor: pointer;
|
966 |
+
cursor: -webkit-zoom-in;
|
967 |
+
cursor: -moz-zoom-in;
|
968 |
+
cursor: zoom-in;
|
969 |
+
}
|
970 |
|
971 |
.eae-popup.mfp-auto-cursor .mfp-content {
|
972 |
+
cursor: auto;
|
973 |
+
}
|
974 |
|
975 |
.eae-popup .eae-close,
|
976 |
.eae-popup .mfp-arrow,
|
977 |
.eae-popup .mfp-preloader,
|
978 |
.eae-popup .mfp-counter {
|
979 |
+
-webkit-user-select: none;
|
980 |
+
-moz-user-select: none;
|
981 |
+
user-select: none;
|
982 |
+
}
|
983 |
|
984 |
.mfp-loading.mfp-figure {
|
985 |
+
display: none;
|
986 |
+
}
|
987 |
|
988 |
.mfp-hide {
|
989 |
+
display: none !important;
|
990 |
+
}
|
991 |
|
992 |
.eae-popup .mfp-preloader {
|
993 |
+
color: #ccc;
|
994 |
+
position: absolute;
|
995 |
+
top: 50%;
|
996 |
+
width: auto;
|
997 |
+
text-align: center;
|
998 |
+
margin-top: -0.8em;
|
999 |
+
left: 8px;
|
1000 |
+
right: 8px;
|
1001 |
+
z-index: 1044;
|
1002 |
+
}
|
1003 |
.eae-popup .mfp-preloader a {
|
1004 |
+
color: #ccc;
|
1005 |
+
}
|
1006 |
.eae-popup .mfp-preloader a:hover {
|
1007 |
+
color: #fff;
|
1008 |
+
}
|
1009 |
|
1010 |
.mfp-s-ready .mfp-preloader {
|
1011 |
+
display: none;
|
1012 |
+
}
|
1013 |
|
1014 |
.mfp-s-error .mfp-content {
|
1015 |
+
display: none;
|
1016 |
+
}
|
1017 |
|
1018 |
button.eae-close,
|
1019 |
button.mfp-arrow {
|
1020 |
+
overflow: visible;
|
1021 |
+
cursor: pointer;
|
1022 |
+
background: transparent;
|
1023 |
+
border: 0;
|
1024 |
+
-webkit-appearance: none;
|
1025 |
+
display: block;
|
1026 |
+
outline: none;
|
1027 |
+
padding: 0;
|
1028 |
+
z-index: 1046;
|
1029 |
+
box-shadow: none;
|
1030 |
+
touch-action: manipulation;
|
1031 |
+
}
|
1032 |
|
1033 |
button::-moz-focus-inner {
|
1034 |
+
padding: 0;
|
1035 |
+
border: 0;
|
1036 |
+
}
|
1037 |
|
1038 |
.eae-popup .eae-close {
|
1039 |
+
width: 28px;
|
1040 |
+
height: 28px;
|
1041 |
+
line-height: 1em;
|
1042 |
+
position: absolute;
|
1043 |
+
right: 10px;
|
1044 |
+
top: 10px;
|
1045 |
+
text-decoration: none;
|
1046 |
+
text-align: center;
|
1047 |
+
opacity: 1;
|
1048 |
+
color: #fff;
|
1049 |
+
font-size: 28px;
|
1050 |
+
z-index: 1500;
|
1051 |
}
|
1052 |
.eae-close:hover,
|
1053 |
.eae-close:focus {
|
1054 |
+
opacity: 1;
|
1055 |
+
cursor: pointer;
|
1056 |
}
|
1057 |
.eae-close:active {
|
1058 |
+
top: 1px;
|
1059 |
+
}
|
1060 |
+
.eae-close:before {
|
1061 |
+
top: 50%;
|
1062 |
+
left: 50%;
|
1063 |
+
position: absolute;
|
1064 |
+
transform: translate(-50%, -50%);
|
1065 |
}
|
1066 |
.eae-popup.eae-close-btn-in .eae-close {
|
1067 |
+
color: #fff;
|
1068 |
}
|
1069 |
|
1070 |
.mfp-image-holder .eae-close,
|
1071 |
.mfp-iframe-holder .eae-close {
|
1072 |
+
color: #fff;
|
1073 |
+
right: -6px;
|
1074 |
+
text-align: right;
|
1075 |
+
padding-right: 6px;
|
1076 |
+
width: 100%;
|
1077 |
+
}
|
1078 |
|
1079 |
.mfp-counter {
|
1080 |
+
position: absolute;
|
1081 |
+
top: 0;
|
1082 |
+
right: 0;
|
1083 |
+
color: #ccc;
|
1084 |
+
font-size: 12px;
|
1085 |
+
line-height: 18px;
|
1086 |
+
white-space: nowrap;
|
1087 |
+
}
|
1088 |
|
1089 |
.mfp-arrow {
|
1090 |
+
position: absolute;
|
1091 |
+
opacity: 0.65;
|
1092 |
+
margin: 0;
|
1093 |
+
top: 50%;
|
1094 |
+
margin-top: -55px;
|
1095 |
+
padding: 0;
|
1096 |
+
width: 90px;
|
1097 |
+
height: 110px;
|
1098 |
+
-webkit-tap-highlight-color: transparent;
|
1099 |
+
}
|
1100 |
.mfp-arrow:active {
|
1101 |
+
margin-top: -54px;
|
1102 |
+
}
|
1103 |
.mfp-arrow:hover,
|
1104 |
.mfp-arrow:focus {
|
1105 |
+
opacity: 1;
|
1106 |
+
}
|
1107 |
.mfp-arrow:before,
|
1108 |
.mfp-arrow:after {
|
1109 |
+
content: "";
|
1110 |
+
display: block;
|
1111 |
+
width: 0;
|
1112 |
+
height: 0;
|
1113 |
+
position: absolute;
|
1114 |
+
left: 0;
|
1115 |
+
top: 0;
|
1116 |
+
margin-top: 35px;
|
1117 |
+
margin-left: 35px;
|
1118 |
+
border: medium inset transparent;
|
1119 |
+
}
|
1120 |
.mfp-arrow:after {
|
1121 |
+
border-top-width: 13px;
|
1122 |
+
border-bottom-width: 13px;
|
1123 |
+
top: 8px;
|
1124 |
+
}
|
1125 |
.mfp-arrow:before {
|
1126 |
+
border-top-width: 21px;
|
1127 |
+
border-bottom-width: 21px;
|
1128 |
+
opacity: 0.7;
|
1129 |
+
}
|
1130 |
|
1131 |
.mfp-arrow-left {
|
1132 |
+
left: 0;
|
1133 |
+
}
|
1134 |
.mfp-arrow-left:after {
|
1135 |
+
border-right: 17px solid #fff;
|
1136 |
+
margin-left: 31px;
|
1137 |
+
}
|
1138 |
.mfp-arrow-left:before {
|
1139 |
+
margin-left: 25px;
|
1140 |
+
border-right: 27px solid #3f3f3f;
|
1141 |
+
}
|
1142 |
|
1143 |
.mfp-arrow-right {
|
1144 |
+
right: 0;
|
1145 |
+
}
|
1146 |
.mfp-arrow-right:after {
|
1147 |
+
border-left: 17px solid #fff;
|
1148 |
+
margin-left: 39px;
|
1149 |
+
}
|
1150 |
.mfp-arrow-right:before {
|
1151 |
+
border-left: 27px solid #3f3f3f;
|
1152 |
+
}
|
1153 |
|
1154 |
.mfp-iframe-holder {
|
1155 |
+
padding-top: 40px;
|
1156 |
+
padding-bottom: 40px;
|
1157 |
+
}
|
1158 |
.mfp-iframe-holder .mfp-content {
|
1159 |
+
line-height: 0;
|
1160 |
+
width: 100%;
|
1161 |
+
max-width: 900px;
|
1162 |
+
}
|
1163 |
.mfp-iframe-holder .eae-close {
|
1164 |
+
top: -40px;
|
1165 |
+
}
|
1166 |
|
1167 |
.mfp-iframe-scaler {
|
1168 |
+
width: 100%;
|
1169 |
+
height: 0;
|
1170 |
+
overflow: hidden;
|
1171 |
+
padding-top: 56.25%;
|
1172 |
+
}
|
1173 |
.mfp-iframe-scaler iframe {
|
1174 |
+
position: absolute;
|
1175 |
+
display: block;
|
1176 |
+
top: 0;
|
1177 |
+
left: 0;
|
1178 |
+
width: 100%;
|
1179 |
+
height: 100%;
|
1180 |
+
box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
|
1181 |
+
background: #000;
|
1182 |
+
}
|
1183 |
|
1184 |
/* Main image in popup */
|
1185 |
img.mfp-img {
|
1186 |
+
width: auto;
|
1187 |
+
max-width: 100%;
|
1188 |
+
height: auto;
|
1189 |
+
display: block;
|
1190 |
+
line-height: 0;
|
1191 |
+
box-sizing: border-box;
|
1192 |
+
padding: 40px 0 40px;
|
1193 |
+
margin: 0 auto;
|
1194 |
+
}
|
1195 |
|
1196 |
/* The shadow behind the image */
|
1197 |
.eae-popup .mfp-figure {
|
1198 |
+
line-height: 0;
|
1199 |
+
}
|
1200 |
.eae-popup .mfp-figure:after {
|
1201 |
+
content: "";
|
1202 |
+
position: absolute;
|
1203 |
+
left: 0;
|
1204 |
+
top: 40px;
|
1205 |
+
bottom: 40px;
|
1206 |
+
display: block;
|
1207 |
+
right: 0;
|
1208 |
+
width: auto;
|
1209 |
+
height: auto;
|
1210 |
+
z-index: -1;
|
1211 |
+
box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
|
1212 |
+
background: #444;
|
1213 |
+
}
|
1214 |
.eae-popup .mfp-figure small {
|
1215 |
+
color: #bdbdbd;
|
1216 |
+
display: block;
|
1217 |
+
font-size: 12px;
|
1218 |
+
line-height: 14px;
|
1219 |
+
}
|
1220 |
.eae-popup .mfp-figure figure {
|
1221 |
+
margin: 0;
|
1222 |
+
}
|
1223 |
|
1224 |
.eae-popup .mfp-bottom-bar {
|
1225 |
+
margin-top: -36px;
|
1226 |
+
position: absolute;
|
1227 |
+
top: 100%;
|
1228 |
+
left: 0;
|
1229 |
+
width: 100%;
|
1230 |
+
cursor: auto;
|
1231 |
+
}
|
1232 |
|
1233 |
.eae-popup .mfp-title {
|
1234 |
+
text-align: left;
|
1235 |
+
line-height: 1;
|
1236 |
+
word-wrap: break-word;
|
1237 |
+
color: #ffffff;
|
1238 |
+
background-color: #4054b2;
|
1239 |
+
padding: 20px 20px 20px 20px;
|
1240 |
}
|
1241 |
|
1242 |
.eae-popup .mfp-image-holder .mfp-content {
|
1243 |
+
max-width: 100%;
|
1244 |
+
}
|
1245 |
|
1246 |
.eae-popup .mfp-gallery .mfp-image-holder .mfp-figure {
|
1247 |
+
cursor: pointer;
|
1248 |
+
}
|
1249 |
|
1250 |
+
@media screen and (max-width: 800px) and (orientation: landscape),
|
1251 |
+
screen and (max-height: 300px) {
|
1252 |
+
/**
|
1253 |
* Remove all paddings around the image on small screen
|
1254 |
*/
|
1255 |
+
.mfp-img-mobile .mfp-image-holder {
|
1256 |
+
padding-left: 0;
|
1257 |
+
padding-right: 0;
|
1258 |
+
}
|
1259 |
+
.mfp-img-mobile img.mfp-img {
|
1260 |
+
padding: 0;
|
1261 |
+
}
|
1262 |
+
.mfp-img-mobile .mfp-figure:after {
|
1263 |
+
top: 0;
|
1264 |
+
bottom: 0;
|
1265 |
+
}
|
1266 |
+
.mfp-img-mobile .mfp-figure small {
|
1267 |
+
display: inline;
|
1268 |
+
margin-left: 5px;
|
1269 |
+
}
|
1270 |
+
.mfp-img-mobile .mfp-bottom-bar {
|
1271 |
+
background: rgba(0, 0, 0, 0.6);
|
1272 |
+
bottom: 0;
|
1273 |
+
margin: 0;
|
1274 |
+
top: auto;
|
1275 |
+
padding: 3px 5px;
|
1276 |
+
position: fixed;
|
1277 |
+
box-sizing: border-box;
|
1278 |
+
}
|
1279 |
+
.mfp-img-mobile .mfp-bottom-bar:empty {
|
1280 |
+
padding: 0;
|
1281 |
+
}
|
1282 |
+
.mfp-img-mobile .mfp-counter {
|
1283 |
+
right: 5px;
|
1284 |
+
top: 3px;
|
1285 |
+
}
|
1286 |
+
.mfp-img-mobile .eae-close {
|
1287 |
+
top: 0;
|
1288 |
+
right: 0;
|
1289 |
+
width: 35px;
|
1290 |
+
height: 35px;
|
1291 |
+
line-height: 35px;
|
1292 |
+
background: rgba(0, 0, 0, 0.6);
|
1293 |
+
position: fixed;
|
1294 |
+
text-align: center;
|
1295 |
+
padding: 0;
|
1296 |
+
}
|
1297 |
+
}
|
1298 |
|
1299 |
+
.elementor-element.eae-animated-gradient-yes,
|
1300 |
+
.elementor-element.eae-animated-gradient-yes .animated-gradient {
|
1301 |
+
background-size: 400% 400% !important;
|
1302 |
+
-webkit-animation: AnimateGradient 15s ease-in-out infinite;
|
1303 |
+
-moz-animation: AnimateGradient 15s ease-in-out infinite;
|
1304 |
+
animation: AnimateGradient 15s ease-in-out infinite;
|
1305 |
}
|
1306 |
+
.animated-gradient {
|
1307 |
+
position: absolute;
|
1308 |
+
top: 0;
|
1309 |
+
left: 0;
|
1310 |
+
height: 100%;
|
1311 |
+
width: 100%;
|
1312 |
}
|
1313 |
@-webkit-keyframes AnimateGradient {
|
1314 |
+
0% {
|
1315 |
+
background-position: 0% 50%;
|
1316 |
+
}
|
1317 |
+
50% {
|
1318 |
+
background-position: 100% 50%;
|
1319 |
+
}
|
1320 |
+
100% {
|
1321 |
+
background-position: 0% 50%;
|
1322 |
+
}
|
1323 |
}
|
1324 |
@-moz-keyframes AnimateGradient {
|
1325 |
+
0% {
|
1326 |
+
background-position: 0% 50%;
|
1327 |
+
}
|
1328 |
+
50% {
|
1329 |
+
background-position: 100% 50%;
|
1330 |
+
}
|
1331 |
+
100% {
|
1332 |
+
background-position: 0% 50%;
|
1333 |
+
}
|
1334 |
}
|
1335 |
@keyframes AnimateGradient {
|
1336 |
+
0% {
|
1337 |
+
background-position: 0% 50%;
|
1338 |
+
}
|
1339 |
+
50% {
|
1340 |
+
background-position: 100% 50%;
|
1341 |
+
}
|
1342 |
+
100% {
|
1343 |
+
background-position: 0% 50%;
|
1344 |
+
}
|
1345 |
}
|
1346 |
|
1347 |
/*--------------------------------Testimonial Slider----------------------------*/
|
1348 |
|
1349 |
+
.eae-swiper-outer-wrapper .swiper-slide {
|
1350 |
+
height: auto;
|
1351 |
+
overflow: inherit;
|
1352 |
}
|
1353 |
+
.eae-swiper-outer-wrapper .swiper-slide-wrapper,
|
1354 |
+
.eae-swiper-outer-wrapper .testimonial-wrapper {
|
1355 |
+
height: 100%;
|
1356 |
}
|
1357 |
|
1358 |
.eae-grid {
|
1359 |
+
display: flex;
|
1360 |
+
flex-wrap: wrap;
|
1361 |
+
flex-direction: row;
|
1362 |
}
|
1363 |
.eae-masonry- .eae-grid-item {
|
1364 |
+
position: relative;
|
1365 |
+
height: 100%;
|
1366 |
}
|
1367 |
+
.eae-masonry- .eae-grid-item .testimonial-wrapper {
|
1368 |
+
height: 100%;
|
1369 |
}
|
1370 |
+
.eae-grid-container {
|
1371 |
+
transition: 0.1s all ease;
|
1372 |
}
|
1373 |
+
.eae-grid-container {
|
1374 |
+
display: inline-block;
|
1375 |
}
|
1376 |
|
1377 |
+
.wrapper .content {
|
1378 |
+
margin: 10px 0;
|
1379 |
+
} /*------------------------skin-2------------------*/
|
1380 |
+
.skin-2.testimonial-wrapper {
|
1381 |
+
display: flex;
|
1382 |
+
flex-direction: column;
|
1383 |
+
background-color: #9c989821;
|
1384 |
+
min-height: 300px;
|
1385 |
+
padding: 10px 20px;
|
1386 |
+
box-shadow: 0 0 5px rgba(0, 0, 0, 0.15);
|
1387 |
+
color: #696969;
|
1388 |
+
}
|
1389 |
+
.skin-2 .content-wrapper {
|
1390 |
+
padding: 10px;
|
1391 |
+
position: relative;
|
1392 |
+
background-color: #fff;
|
1393 |
+
border-radius: 10px;
|
1394 |
+
color: #77778e;
|
1395 |
+
}
|
1396 |
+
.skin-2 i.before-content,
|
1397 |
+
.skin-2 i.after-content {
|
1398 |
+
position: absolute;
|
1399 |
+
}
|
1400 |
+
.skin-2 i.before-content {
|
1401 |
+
top: 10px;
|
1402 |
+
left: 20px;
|
1403 |
+
}
|
1404 |
+
.skin-2 i.after-content {
|
1405 |
+
bottom: 10px;
|
1406 |
+
right: 20px;
|
1407 |
+
}
|
1408 |
+
.skin-2 blockquote {
|
1409 |
+
position: relative;
|
1410 |
+
font-size: 14px;
|
1411 |
+
padding: 10px;
|
1412 |
+
font-weight: 500;
|
1413 |
+
text-align: left;
|
1414 |
+
margin: 0;
|
1415 |
+
line-height: 1.6em;
|
1416 |
+
font-style: italic;
|
1417 |
+
}
|
1418 |
+
.skin-2 blockquote::before,
|
1419 |
+
.skin-2 blockquote::after {
|
1420 |
+
font-family: "FontAwesome";
|
1421 |
+
content: "\201C";
|
1422 |
+
position: absolute;
|
1423 |
+
font-size: 50px;
|
1424 |
+
opacity: 0.3;
|
1425 |
+
font-style: normal;
|
1426 |
+
}
|
1427 |
+
|
1428 |
+
.skin-2 blockquote::before {
|
1429 |
+
top: 10px;
|
1430 |
+
left: 20px;
|
1431 |
+
}
|
1432 |
+
.skin-2 blockquote::after {
|
1433 |
+
content: "\201D";
|
1434 |
+
right: 20px;
|
1435 |
+
}
|
1436 |
+
.skin-2 .image-wrapper {
|
1437 |
+
position: relative;
|
1438 |
+
max-width: 100%;
|
1439 |
+
text-align: center;
|
1440 |
}
|
1441 |
+
.skin-2 img {
|
1442 |
+
width: 100px;
|
1443 |
+
border-radius: 25%;
|
1444 |
}
|
1445 |
+
.skin-2 .detail-wrapper {
|
1446 |
+
text-align: center;
|
1447 |
}
|
1448 |
+
.skin-2 .rating-wrapper,
|
1449 |
+
.skin-2 .title,
|
1450 |
+
.skin-2 .designation,
|
1451 |
+
.skin-2 .company {
|
1452 |
+
padding: 5px 0;
|
1453 |
}
|
1454 |
+
.skin-2 .rating-wrapper {
|
1455 |
+
color: #000080;
|
1456 |
}
|
1457 |
|
1458 |
+
.skin-2 .title {
|
1459 |
+
font-weight: 800;
|
1460 |
+
color: #000000;
|
1461 |
}
|
1462 |
+
.skin-2 blockquote p {
|
1463 |
+
margin: 10px 0 !important;
|
1464 |
}
|
1465 |
|
1466 |
/*------------------------skin-1------------------*/
|
1467 |
|
1468 |
+
.skin-1.testimonial-wrapper {
|
1469 |
+
display: flex;
|
1470 |
+
flex-direction: column;
|
1471 |
+
background-color: #ffffff;
|
1472 |
+
box-shadow: 0 0 5px rgba(0, 0, 0, 0.15);
|
1473 |
+
color: black;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1474 |
}
|
1475 |
+
.skin-1 .content-wrapper {
|
1476 |
+
order: 0;
|
|
|
|
|
1477 |
}
|
1478 |
+
.skin-1 .image-wrapper {
|
1479 |
+
order: 1;
|
1480 |
+
text-align: center;
|
1481 |
+
margin: 15px 0;
|
1482 |
+
}
|
1483 |
+
.skin-1 .detail-wrapper {
|
1484 |
+
order: 2;
|
1485 |
+
}
|
1486 |
+
.skin-1 .content-wrapper {
|
1487 |
+
padding: 10px;
|
1488 |
+
position: relative;
|
1489 |
+
}
|
1490 |
+
.skin-1 i.before-content,
|
1491 |
+
.skin-1 i.after-content {
|
1492 |
+
position: absolute;
|
1493 |
+
}
|
1494 |
+
.skin-1 i.before-content {
|
1495 |
+
top: 10px;
|
1496 |
+
left: 20px;
|
1497 |
+
}
|
1498 |
+
.skin-1 i.after-content {
|
1499 |
+
bottom: 10px;
|
1500 |
+
right: 20px;
|
1501 |
+
}
|
1502 |
+
.skin-1 blockquote {
|
1503 |
+
position: relative;
|
1504 |
+
background-color: #ffffff;
|
1505 |
+
font-size: 14px;
|
1506 |
+
padding: 10px;
|
1507 |
+
font-weight: 500;
|
1508 |
+
text-align: left;
|
1509 |
+
margin: 0;
|
1510 |
+
line-height: 1.6em;
|
1511 |
+
font-style: italic;
|
1512 |
+
}
|
1513 |
+
.skin-1 blockquote::before,
|
1514 |
+
.skin-1 blockquote::after {
|
1515 |
+
font-family: "FontAwesome";
|
1516 |
+
content: "\201C";
|
1517 |
+
position: absolute;
|
1518 |
+
font-size: 50px;
|
1519 |
+
opacity: 0.3;
|
1520 |
+
font-style: normal;
|
1521 |
+
}
|
1522 |
+
|
1523 |
+
.skin-1 blockquote::before {
|
1524 |
+
top: 10px;
|
1525 |
+
left: 20px;
|
1526 |
+
}
|
1527 |
+
.skin-1 blockquote::after {
|
1528 |
+
content: "\201D";
|
1529 |
+
right: 20px;
|
1530 |
+
}
|
1531 |
+
.skin-1 .image-wrapper {
|
1532 |
+
position: relative;
|
1533 |
+
max-width: 100%;
|
1534 |
+
}
|
1535 |
+
.skin-1 img {
|
1536 |
+
width: 100px;
|
1537 |
+
height: auto;
|
1538 |
+
border-radius: 50%;
|
1539 |
+
}
|
1540 |
+
.skin-1 .detail-wrapper {
|
1541 |
+
display: flex;
|
1542 |
+
flex-direction: row-reverse;
|
1543 |
+
justify-content: space-between;
|
1544 |
+
padding: 10px;
|
1545 |
+
background-color: rgba(157, 163, 156, 0.18);
|
1546 |
}
|
1547 |
+
.skin-1 .rating-wrapper,
|
1548 |
+
.skin-1 .title,
|
1549 |
+
.skin-1 .designation {
|
1550 |
+
margin: 0 5px;
|
1551 |
}
|
1552 |
+
.skin-1 .title-wrapper {
|
1553 |
+
display: flex;
|
1554 |
+
flex-direction: row;
|
1555 |
}
|
1556 |
+
.skin-1 .rating-wrapper {
|
1557 |
+
color: #fecc1f;
|
1558 |
}
|
1559 |
|
1560 |
/*------------------------skin-4------------------*/
|
1561 |
|
1562 |
+
.skin-4.testimonial-wrapper {
|
1563 |
+
flex-direction: column;
|
1564 |
+
display: flex;
|
1565 |
+
background-color: #bfbfb6bd;
|
1566 |
+
min-height: 300px;
|
1567 |
+
padding: 10px 0;
|
1568 |
+
box-shadow: 0 0 5px rgba(0, 0, 0, 0.15);
|
1569 |
+
color: #77778e;
|
1570 |
+
}
|
1571 |
+
.skin-4 .content-wrapper {
|
1572 |
+
padding: 10px;
|
1573 |
+
position: relative;
|
1574 |
+
}
|
1575 |
+
.skin-4 .content-wrapper {
|
1576 |
+
order: 2;
|
1577 |
+
color: #3c3c3c;
|
1578 |
+
}
|
1579 |
+
.skin-4 i.before-content,
|
1580 |
+
.skin-4 i.after-content {
|
1581 |
+
position: absolute;
|
1582 |
+
}
|
1583 |
+
.skin-4 i.before-content {
|
1584 |
+
top: 10px;
|
1585 |
+
left: 20px;
|
1586 |
+
}
|
1587 |
+
.skin-4 i.after-content {
|
1588 |
+
bottom: 10px;
|
1589 |
+
right: 20px;
|
1590 |
+
}
|
1591 |
+
.skin-4 blockquote {
|
1592 |
+
position: relative;
|
1593 |
+
font-size: 14px;
|
1594 |
+
padding: 10px;
|
1595 |
+
font-weight: 500;
|
1596 |
+
text-align: left;
|
1597 |
+
margin: 0;
|
1598 |
+
line-height: 1.6em;
|
1599 |
+
font-style: italic;
|
1600 |
+
}
|
1601 |
+
.skin-4 blockquote::before,
|
1602 |
+
.skin-4 blockquote::after {
|
1603 |
+
font-family: "FontAwesome";
|
1604 |
+
content: "\201C";
|
1605 |
+
position: absolute;
|
1606 |
+
font-size: 50px;
|
1607 |
+
opacity: 0.3;
|
1608 |
+
font-style: normal;
|
1609 |
+
}
|
1610 |
+
|
1611 |
+
.skin-4 blockquote::before {
|
1612 |
+
top: 10px;
|
1613 |
+
left: 20px;
|
1614 |
+
}
|
1615 |
+
.skin-4 blockquote::after {
|
1616 |
+
content: "\201D";
|
1617 |
+
right: 20px;
|
1618 |
+
}
|
1619 |
+
.skin-4 .image-wrapper {
|
1620 |
+
position: relative;
|
1621 |
+
max-width: 100%;
|
1622 |
+
text-align: center;
|
1623 |
}
|
1624 |
+
.skin-4 img {
|
1625 |
+
width: 100px;
|
1626 |
+
border-radius: 50%;
|
1627 |
}
|
1628 |
+
.skin-4 .detail-wrapper {
|
1629 |
+
text-align: center;
|
1630 |
}
|
1631 |
+
.skin-4 .rating-wrapper,
|
1632 |
+
.skin-2 .title,
|
1633 |
+
.skin-2 .designation {
|
1634 |
+
padding: 5px 0;
|
1635 |
}
|
1636 |
+
.skin-4 .rating-wrapper {
|
1637 |
+
color: #690a69;
|
1638 |
}
|
1639 |
|
1640 |
+
.skin-4 .title {
|
1641 |
+
font-weight: 800;
|
1642 |
+
color: #000000;
|
1643 |
}
|
1644 |
|
1645 |
/*------------------------skin-3------------------*/
|
1646 |
|
1647 |
+
.skin-3.testimonial-wrapper {
|
1648 |
+
display: flex;
|
1649 |
+
flex-direction: row;
|
1650 |
+
background-color: #9c989821;
|
1651 |
+
box-shadow: 0 0 5px rgba(0, 0, 0, 0.15);
|
1652 |
+
color: black;
|
1653 |
+
overflow: hidden;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1654 |
}
|
1655 |
+
.skin-3 .content-section {
|
1656 |
+
display: flex;
|
1657 |
+
flex-direction: column;
|
1658 |
+
align-self: center;
|
1659 |
+
}
|
1660 |
+
.skin-3 .content-wrapper {
|
1661 |
+
padding: 10px;
|
1662 |
+
position: relative;
|
1663 |
+
}
|
1664 |
+
.skin-3 i.before-content,
|
1665 |
+
.skin-2 i.after-content {
|
1666 |
+
position: absolute;
|
1667 |
+
}
|
1668 |
+
.skin-3 i.before-content {
|
1669 |
+
top: 10px;
|
1670 |
+
left: 20px;
|
1671 |
+
}
|
1672 |
+
.skin-3 i.after-content {
|
1673 |
+
bottom: 10px;
|
1674 |
+
right: 20px;
|
1675 |
+
}
|
1676 |
+
.skin-3 blockquote {
|
1677 |
+
position: relative;
|
1678 |
+
font-size: 18px;
|
1679 |
+
padding: 10px;
|
1680 |
+
font-weight: 500;
|
1681 |
+
text-align: left;
|
1682 |
+
margin: 0;
|
1683 |
+
line-height: 1.6em;
|
1684 |
+
font-style: italic;
|
1685 |
+
}
|
1686 |
+
.skin-3 blockquote::before,
|
1687 |
+
.skin-3 blockquote::after {
|
1688 |
+
font-family: "FontAwesome";
|
1689 |
+
content: "\201C";
|
1690 |
+
position: absolute;
|
1691 |
+
font-size: 50px;
|
1692 |
+
opacity: 0.3;
|
1693 |
+
font-style: normal;
|
1694 |
+
}
|
1695 |
+
|
1696 |
+
.skin-3 blockquote::before {
|
1697 |
+
top: 10px;
|
1698 |
+
left: 20px;
|
1699 |
+
}
|
1700 |
+
.skin-3 blockquote::after {
|
1701 |
+
content: "\201D";
|
1702 |
+
right: 20px;
|
1703 |
+
}
|
1704 |
+
.skin-3 .image-wrapper {
|
1705 |
+
position: relative;
|
1706 |
+
max-width: 30%;
|
1707 |
+
max-height: 250px;
|
1708 |
+
text-align: center;
|
1709 |
+
align-self: center;
|
1710 |
+
}
|
1711 |
+
.skin-3 img {
|
1712 |
+
width: 100%;
|
1713 |
+
}
|
1714 |
+
.testimonial-wrapper .skin-3 .eae-person-avatar {
|
1715 |
+
border-radius: 50%;
|
1716 |
+
}
|
1717 |
+
.skin-3 .detail-wrapper {
|
1718 |
+
text-align: left;
|
1719 |
+
padding-left: 20px;
|
1720 |
+
}
|
1721 |
+
.skin-3 .rating-wrapper,
|
1722 |
+
.skin-3 .title,
|
1723 |
+
.skin-3 .designation {
|
1724 |
+
padding: 3px 0;
|
1725 |
+
}
|
1726 |
+
.skin-3 .rating-wrapper {
|
1727 |
+
color: #800040;
|
1728 |
+
}
|
1729 |
+
|
1730 |
+
.skin-3 .title {
|
1731 |
+
font-weight: 800;
|
1732 |
+
}
|
1733 |
+
.eae-swiper-outer-wrapper .swiper-button-prev {
|
1734 |
+
-webkit-mask: url(arrow-left.svg) no-repeat 100% 100%;
|
1735 |
+
mask: url(arrow-left.svg) no-repeat 100% 100%;
|
1736 |
+
-webkit-mask-size: cover;
|
1737 |
+
mask-size: cover;
|
1738 |
+
background-image: none;
|
1739 |
+
background-color: #007aff;
|
1740 |
+
transform: translateY(-50%);
|
1741 |
+
margin-top: 0px;
|
1742 |
+
}
|
1743 |
+
.eae-swiper-outer-wrapper .swiper-container-rtl .swiper-button-prev {
|
1744 |
+
-webkit-mask: url(arrow-right.svg) no-repeat 100% 100%;
|
1745 |
+
mask: url(arrow-right.svg) no-repeat 100% 100%;
|
1746 |
+
}
|
1747 |
+
.eae-swiper-outer-wrapper .swiper-button-next {
|
1748 |
+
-webkit-mask: url(arrow-right.svg) no-repeat 100% 100%;
|
1749 |
+
mask: url(arrow-right.svg) no-repeat 100% 100%;
|
1750 |
+
-webkit-mask-size: cover;
|
1751 |
+
mask-size: cover;
|
1752 |
+
background-image: none;
|
1753 |
+
background-color: #007aff;
|
1754 |
+
transform: translateY(-50%);
|
1755 |
+
margin-top: 0px;
|
1756 |
+
}
|
1757 |
+
.eae-swiper-outer-wrapper .swiper-container-rtl .swiper-button-next {
|
1758 |
+
-webkit-mask: url(arrow-left.svg) no-repeat 100% 100%;
|
1759 |
+
mask: url(arrow-left.svg) no-repeat 100% 100%;
|
1760 |
+
}
|
1761 |
+
.elementor-widget-wts-testimonial-slider
|
1762 |
+
.eae-swiper-outer-wrapper
|
1763 |
+
.swiper-button-prev,
|
1764 |
+
.elementor-widget-wts-testimonial-slider
|
1765 |
+
.eae-swiper-outer-wrapper
|
1766 |
+
.swiper-button-next {
|
1767 |
+
-webkit-mask: none;
|
1768 |
+
mask: none;
|
1769 |
+
-webkit-mask-size: unset;
|
1770 |
+
mask-size: unset;
|
1771 |
+
background-image: none;
|
1772 |
+
background-color: unset;
|
1773 |
+
width: auto;
|
1774 |
+
height: auto;
|
1775 |
+
transform: translateY(-50%);
|
1776 |
+
margin-top: 0px;
|
1777 |
+
}
|
1778 |
+
|
1779 |
+
.swiper-container .swiper-button-next i,
|
1780 |
+
.swiper-container .swiper-button-prev i {
|
1781 |
+
width: 1em;
|
1782 |
+
height: 1em;
|
1783 |
+
text-align: center;
|
1784 |
+
position: relative;
|
1785 |
+
}
|
1786 |
+
|
1787 |
+
.elementor-widget-wts-testimonial-slider
|
1788 |
+
.eae-swiper-outer-wrapper
|
1789 |
+
.eae-swiper-button-wrapper {
|
1790 |
+
position: absolute;
|
1791 |
+
height: auto;
|
1792 |
+
line-height: 0;
|
1793 |
+
}
|
1794 |
+
|
1795 |
+
.eae-hpos-right.eae-vpos-top .eae-swiper-button-wrapper {
|
1796 |
+
bottom: auto;
|
1797 |
+
top: 0;
|
1798 |
+
width: auto;
|
1799 |
+
right: 0;
|
1800 |
+
}
|
1801 |
+
.eae-vpos-top.eae-hpos-left .eae-swiper-button-wrapper {
|
1802 |
+
bottom: auto;
|
1803 |
+
top: 0;
|
1804 |
+
width: auto;
|
1805 |
+
left: 0;
|
1806 |
+
}
|
1807 |
+
.eeae-hpos-right.eae-vpos-bottom .eae-swiper-button-wrapper {
|
1808 |
+
bottom: 0;
|
1809 |
+
top: auto;
|
1810 |
+
width: auto;
|
1811 |
+
right: 0;
|
1812 |
+
}
|
1813 |
+
.eae-vpos-bottom.eae-hpos-left .eae-swiper-button-wrapper {
|
1814 |
+
bottom: 0;
|
1815 |
+
top: auto;
|
1816 |
+
width: auto;
|
1817 |
+
left: 0;
|
1818 |
+
}
|
1819 |
+
.eae-hpos-right.eae-vpos-middle .eae-swiper-button-wrapper {
|
1820 |
+
bottom: auto;
|
1821 |
+
top: 50%;
|
1822 |
+
width: auto;
|
1823 |
+
right: 0;
|
1824 |
+
}
|
1825 |
+
.eae-hpos-left.eae-vpos-middle .eae-swiper-button-wrapper {
|
1826 |
+
bottom: auto;
|
1827 |
+
top: 50%;
|
1828 |
+
width: auto;
|
1829 |
+
left: 0;
|
1830 |
+
}
|
1831 |
+
|
1832 |
+
.eae-hpos-right .swiper-button-prev,
|
1833 |
+
.eae-hpos-left .swiper-button-prev,
|
1834 |
+
.eae-hpos-right .swiper-button-next,
|
1835 |
+
.eae-hpos-left .swiper-button-next {
|
1836 |
+
position: relative;
|
1837 |
+
display: inline-block;
|
1838 |
+
right: auto;
|
1839 |
+
left: auto;
|
1840 |
+
}
|
1841 |
+
|
1842 |
+
.eae-hpos-right.eae-vpos-bottom .swiper-button-prev,
|
1843 |
+
.eae-hpos-right.eae-vpos-bottom .swiper-button-next {
|
1844 |
+
top: auto;
|
1845 |
+
bottom: 0;
|
1846 |
+
transform: unset;
|
1847 |
+
}
|
1848 |
+
.eae-hpos-right.eae-vpos-top .swiper-button-next,
|
1849 |
+
.eae-hpos-right.eae-vpos-top .swiper-button-prev {
|
1850 |
+
top: 0;
|
1851 |
+
bottom: auto;
|
1852 |
+
transform: unset;
|
1853 |
+
}
|
1854 |
+
.eae-hpos-left.eae-vpos-top .swiper-button-prev,
|
1855 |
+
.eae-hpos-left.eae-vpos-top .swiper-button-next {
|
1856 |
+
top: 0;
|
1857 |
+
bottom: auto;
|
1858 |
+
transform: unset;
|
1859 |
+
}
|
1860 |
+
.eae-hpos-left.eae-vpos-bottom .swiper-button-next,
|
1861 |
+
.eae-hpos-left.eae-vpos-bottom .swiper-button-prev {
|
1862 |
+
top: auto;
|
1863 |
+
bottom: 0;
|
1864 |
+
transform: unset;
|
1865 |
+
}
|
1866 |
+
.eae-hpos-center.eae-vpos-bottom .swiper-button-next,
|
1867 |
+
.eae-hpos-center.eae-vpos-bottom .swiper-button-prev {
|
1868 |
+
top: auto;
|
1869 |
+
bottom: 0;
|
1870 |
+
transform: unset;
|
1871 |
+
}
|
1872 |
+
.eae-hpos-center.eae-vpos-top .swiper-button-next,
|
1873 |
+
.eae-hpos-center.eae-vpos-top .swiper-button-prev {
|
1874 |
+
top: 0;
|
1875 |
+
bottom: auto;
|
1876 |
+
transform: unset;
|
1877 |
}
|
1878 |
|
|
|
1879 |
@media all and (max-width: 900px) {
|
1880 |
+
.mfp-arrow {
|
1881 |
+
-webkit-transform: scale(0.75);
|
1882 |
+
transform: scale(0.75);
|
1883 |
+
}
|
1884 |
+
.mfp-arrow-left {
|
1885 |
+
-webkit-transform-origin: 0;
|
1886 |
+
transform-origin: 0;
|
1887 |
+
}
|
1888 |
+
.mfp-arrow-right {
|
1889 |
+
-webkit-transform-origin: 100%;
|
1890 |
+
transform-origin: 100%;
|
1891 |
+
}
|
1892 |
+
.mfp-container {
|
1893 |
+
padding-left: 6px;
|
1894 |
+
padding-right: 6px;
|
1895 |
+
}
|
1896 |
}
|
1897 |
|
1898 |
/* Info Circle */
|
1899 |
.eae-info-circle {
|
1900 |
+
position: relative;
|
1901 |
+
width: 90%;
|
1902 |
+
margin: 0 auto;
|
1903 |
+
border-radius: 50%;
|
1904 |
+
display: block;
|
1905 |
}
|
1906 |
+
|
1907 |
+
.eae-info-circle:before {
|
1908 |
+
content: "";
|
1909 |
+
display: block;
|
1910 |
+
position: absolute;
|
1911 |
+
top: 4%;
|
1912 |
+
left: 4%;
|
1913 |
+
width: 92%;
|
1914 |
+
height: 92%;
|
1915 |
+
border-radius: 50%;
|
1916 |
+
z-index: 1;
|
1917 |
+
-webkit-box-sizing: border-box;
|
1918 |
+
-moz-box-sizing: border-box;
|
1919 |
+
box-sizing: border-box;
|
1920 |
+
pointer-events: none;
|
1921 |
}
|
1922 |
|
1923 |
.eae-info-circle:after {
|
1924 |
+
content: "";
|
1925 |
+
display: block;
|
1926 |
+
padding-top: 100%;
|
1927 |
}
|
1928 |
|
1929 |
.eae-info-circle .eae-ic-icon-wrap {
|
1930 |
+
position: absolute;
|
1931 |
+
display: inline-block;
|
1932 |
+
top: 50%;
|
1933 |
+
left: 50%;
|
1934 |
+
z-index: 2;
|
1935 |
+
line-height: 1em;
|
1936 |
+
vertical-align: middle;
|
1937 |
+
overflow: hidden;
|
1938 |
+
max-width: 100%;
|
1939 |
}
|
1940 |
|
1941 |
.eae-info-circle .eae-info-circle-item {
|
1942 |
+
top: 0;
|
1943 |
+
left: 0;
|
1944 |
+
width: 100%;
|
1945 |
+
height: 100%;
|
1946 |
+
display: block;
|
1947 |
+
}
|
1948 |
+
|
1949 |
+
.eae-info-circle
|
1950 |
+
.eae-info-circle-item.eae-active
|
1951 |
+
.eae-info-circle-item__content-wrap {
|
1952 |
+
visibility: visible;
|
1953 |
+
opacity: 1;
|
1954 |
+
display: flex;
|
1955 |
}
|
1956 |
|
1957 |
.eae-info-circle .eae-info-circle-item__content-wrap {
|
1958 |
+
visibility: visible;
|
1959 |
+
display: none;
|
1960 |
+
height: 91%;
|
1961 |
+
width: 91%;
|
1962 |
+
opacity: 0;
|
1963 |
+
top: 50%;
|
1964 |
+
transform: translateY(-50%) translateX(-50%);
|
1965 |
+
position: absolute;
|
1966 |
+
left: 50%;
|
1967 |
+
border-radius: 50%;
|
1968 |
+
overflow: hidden;
|
1969 |
+
-webkit-box-sizing: border-box;
|
1970 |
+
-moz-box-sizing: border-box;
|
1971 |
+
box-sizing: border-box;
|
|
|
1972 |
}
|
1973 |
|
1974 |
.eae-info-circle .eae-info-circle-item__content-wrap:before {
|
1975 |
+
content: "";
|
1976 |
+
display: inline-block;
|
1977 |
+
height: 100%;
|
1978 |
+
vertical-align: middle;
|
1979 |
}
|
1980 |
|
1981 |
.eae-info-circle .eae-info-circle-item__content {
|
1982 |
+
display: inline-block;
|
1983 |
+
top: 50%;
|
1984 |
+
transform: translateY(-50%) translateX(-50%);
|
1985 |
+
position: absolute;
|
1986 |
+
left: 50%;
|
1987 |
+
vertical-align: middle;
|
1988 |
+
z-index: 1;
|
1989 |
+
max-height: 100%;
|
1990 |
+
overflow: auto;
|
1991 |
+
-webkit-box-sizing: border-box;
|
1992 |
+
-moz-box-sizing: border-box;
|
1993 |
+
box-sizing: border-box;
|
1994 |
+
text-align: center;
|
1995 |
+
width: 75%;
|
1996 |
}
|
1997 |
|
|
|
1998 |
/* Mobile */
|
1999 |
@media screen and (max-width: 767px) {
|
2000 |
+
.eae-info-circle.eae-info-circle .eae-info-circle-item__content-wrap:before {
|
2001 |
+
display: none;
|
2002 |
+
}
|
2003 |
+
.eae-info-circle:before,
|
2004 |
+
.eae-info-circle:after {
|
2005 |
+
display: none;
|
2006 |
+
}
|
2007 |
|
2008 |
+
.eae-info-circle {
|
2009 |
+
width: 100% !important;
|
2010 |
+
}
|
2011 |
|
2012 |
+
.eae-info-circle-wrapper:before,
|
2013 |
+
.eae-info-circle-wrapper:after {
|
2014 |
+
display: none;
|
2015 |
+
}
|
2016 |
+
.eae-info-circle .eae-ic-icon-wrap {
|
2017 |
+
display: block;
|
2018 |
+
text-align: center;
|
2019 |
+
position: relative !important;
|
2020 |
+
left: unset !important;
|
2021 |
+
margin-left: 0 !important;
|
2022 |
+
margin-top: 0 !important;
|
2023 |
+
margin-bottom: 10px;
|
2024 |
+
}
|
2025 |
+
.eae-info-circle-item {
|
2026 |
+
position: relative !important;
|
2027 |
+
border-radius: 0 !important;
|
2028 |
+
padding: 0px;
|
2029 |
+
margin: 10px 0;
|
2030 |
+
}
|
2031 |
|
2032 |
+
.eae-info-circle .eae-info-circle-item__content-wrap {
|
2033 |
+
visibility: visible;
|
2034 |
+
opacity: 1 !important;
|
2035 |
+
display: flex !important;
|
2036 |
+
border-radius: 0 !important;
|
2037 |
+
border: none !important;
|
2038 |
+
margin: 0 !important;
|
2039 |
+
padding-right: 0 !important;
|
2040 |
+
padding-left: 0 !important;
|
2041 |
+
padding-bottom: 0 !important;
|
2042 |
+
width: 100%;
|
2043 |
+
height: auto;
|
2044 |
+
line-height: 1.5em;
|
2045 |
+
position: relative;
|
2046 |
+
top: unset;
|
2047 |
+
left: unset;
|
2048 |
+
transform: unset;
|
2049 |
+
}
|
2050 |
|
2051 |
+
.eae-info-circle .eae-info-circle-item__content {
|
2052 |
+
position: relative;
|
2053 |
+
top: unset;
|
2054 |
+
left: unset;
|
2055 |
+
transform: unset;
|
2056 |
+
width: 100%;
|
2057 |
+
padding: 10px;
|
2058 |
+
}
|
2059 |
}
|
2060 |
|
2061 |
/**
|
2062 |
New Icon
|
2063 |
*/
|
2064 |
+
.eae-icon-wrap i {
|
2065 |
+
height: 1.25em;
|
2066 |
+
width: 1.25em;
|
2067 |
+
line-height: 1.25em;
|
2068 |
+
display: block;
|
2069 |
+
}
|
2070 |
+
.eae-icon-wrap i img {
|
2071 |
+
top: 50%;
|
2072 |
+
left: 50%;
|
2073 |
+
transform: translateX(-50%) translateY(-50%);
|
2074 |
+
position: absolute;
|
2075 |
+
}
|
2076 |
+
.eae-icon {
|
2077 |
+
display: inline-block;
|
2078 |
+
text-align: center;
|
2079 |
+
vertical-align: middle;
|
2080 |
+
max-width: 100%;
|
2081 |
+
overflow: hidden;
|
2082 |
+
padding: 10px;
|
2083 |
}
|
2084 |
|
2085 |
+
.eae-icon-shape-circle:not(.elementor-element) {
|
2086 |
+
border-radius: 50%;
|
2087 |
}
|
2088 |
.eae-icon-view-framed:not(.elementor-element) {
|
2089 |
+
border-width: 1px;
|
2090 |
+
border-style: solid;
|
2091 |
}
|
2092 |
|
2093 |
+
.eae-icon-wrapper {
|
2094 |
+
display: flex;
|
2095 |
}
|
2096 |
|
2097 |
+
.eae-icon-wrapper .eae-icon {
|
2098 |
+
position: absolute;
|
2099 |
+
left: 50%;
|
2100 |
+
top: 50%;
|
2101 |
+
transform: translate(-50%, -50%);
|
2102 |
+
line-height: 1;
|
2103 |
}
|
2104 |
|
|
|
2105 |
/**
|
2106 |
|
2107 |
Timeline CSS
|
2109 |
|
2110 |
**/
|
2111 |
|
|
|
2112 |
.eae-timeline {
|
2113 |
+
position: relative;
|
2114 |
+
display: inline-block;
|
2115 |
+
width: 100%;
|
2116 |
}
|
2117 |
|
2118 |
+
.eae-timline-progress-bar {
|
2119 |
+
width: 4px;
|
2120 |
+
background-color: #f45b69;
|
2121 |
+
top: 0;
|
2122 |
+
bottom: 50px;
|
2123 |
+
position: absolute;
|
2124 |
+
transform: translateX(-50%);
|
2125 |
}
|
2126 |
|
2127 |
+
.eae-timeline-item {
|
2128 |
+
position: relative;
|
2129 |
+
display: flex;
|
2130 |
+
flex-direction: row;
|
2131 |
+
padding-bottom: 50px;
|
2132 |
}
|
2133 |
|
2134 |
+
.eae-timeline-item:last-child {
|
2135 |
+
padding-bottom: 0px !important;
|
2136 |
}
|
2137 |
|
2138 |
.eae-tl-top .eae-timeline-item {
|
2139 |
+
align-items: flex-start;
|
2140 |
}
|
2141 |
+
.eae-tl-top .eae-tl-item-content::before {
|
2142 |
+
top: 10px;
|
2143 |
}
|
2144 |
.eae-timeline-item.image-position-row-reverse .eae-tl-item-image,
|
2145 |
+
.eae-timeline-item.image-position-row .eae-tl-item-image {
|
2146 |
+
margin-top: 0;
|
2147 |
+
margin-bottom: 0;
|
2148 |
}
|
2149 |
|
2150 |
+
.eae-tl-item-meta-wrapper-inner {
|
2151 |
+
display: none;
|
2152 |
}
|
2153 |
.eae-tl-bottom .eae-timeline-item {
|
2154 |
+
align-items: flex-end;
|
2155 |
}
|
2156 |
+
.eae-tl-bottom .eae-tl-item-content::before {
|
2157 |
+
bottom: 10px;
|
2158 |
}
|
2159 |
|
2160 |
.eae-tl-center .eae-timeline-item {
|
2161 |
+
align-items: center;
|
2162 |
}
|
2163 |
+
.eae-tl-center .eae-tl-item-content::before {
|
2164 |
+
bottom: calc(50% - 5px);
|
2165 |
}
|
2166 |
|
2167 |
+
.eae-layout-center .eae-timline-progress-bar {
|
2168 |
+
left: 50%;
|
2169 |
}
|
2170 |
.eae-layout-center .eae-timeline-item:nth-child(odd) {
|
2171 |
+
flex-direction: row-reverse;
|
2172 |
}
|
2173 |
+
.eae-layout-center .eae-timeline-item:nth-child(odd) .eae-tl-item-meta-wrapper {
|
2174 |
+
margin-right: 0px;
|
2175 |
+
margin-left: 0px;
|
2176 |
+
justify-content: flex-start;
|
2177 |
}
|
2178 |
+
body:not(.rtl)[data-elementor-device-mode="tablet"]
|
2179 |
+
.eae-layout-center
|
2180 |
+
.eae-timeline-item:nth-child(odd)
|
2181 |
+
.eae-tl-content-wrapper,
|
2182 |
+
body.rtl[data-elementor-device-mode="tablet"]
|
2183 |
+
.eae-layout-center
|
2184 |
+
.eae-timeline-item:nth-child(even)
|
2185 |
+
.eae-tl-content-wrapper {
|
2186 |
+
padding-right: 20px;
|
2187 |
+
padding-left: 0px;
|
2188 |
}
|
2189 |
+
body:not(.rtl)[data-elementor-device-mode="tablet"]
|
2190 |
+
.eae-layout-center
|
2191 |
+
.eae-timeline-item:nth-child(even)
|
2192 |
+
.eae-tl-content-wrapper,
|
2193 |
+
body.rtl[data-elementor-device-mode="tablet"]
|
2194 |
+
.eae-layout-center
|
2195 |
+
.eae-timeline-item:nth-child(odd)
|
2196 |
+
.eae-tl-content-wrapper {
|
2197 |
+
padding-right: 0px;
|
2198 |
+
padding-left: 20px;
|
2199 |
}
|
2200 |
|
2201 |
+
body:not(.rtl) .eae-layout-left .eae-tl-content-wrapper {
|
2202 |
+
padding-right: 10px;
|
2203 |
+
padding-left: 20px;
|
2204 |
}
|
2205 |
+
|
2206 |
+
body.rtl .eae-layout-left .eae-tl-content-wrapper {
|
2207 |
+
padding-right: 20px;
|
2208 |
+
padding-left: 10px;
|
2209 |
}
|
2210 |
+
.eae-layout-left .eae-timline-progress-bar {
|
2211 |
+
display: none;
|
2212 |
}
|
2213 |
+
.eae-layout-left .eae-tl-item-meta-wrapper {
|
2214 |
+
display: none;
|
2215 |
+
}
|
2216 |
+
.eae-layout-left .eae-tl-item-meta-wrapper-inner {
|
2217 |
+
display: block;
|
2218 |
}
|
2219 |
|
2220 |
+
.eae-layout-right .eae-timline-progress-bar {
|
2221 |
+
display: none;
|
2222 |
}
|
2223 |
+
body:not(.rtl) .eae-layout-right .eae-tl-content-wrapper {
|
2224 |
+
padding-right: 20px;
|
2225 |
+
padding-left: 10px;
|
2226 |
+
}
|
2227 |
+
|
2228 |
+
body.rtl .eae-layout-right .eae-tl-content-wrapper {
|
2229 |
+
padding-right: 10px;
|
2230 |
+
padding-left: 20px;
|
2231 |
}
|
2232 |
+
|
2233 |
+
.eae-layout-right .eae-tl-icon-wrapper {
|
2234 |
+
order: 3;
|
2235 |
}
|
2236 |
+
.eae-layout-right .eae-tl-item-meta-wrapper {
|
2237 |
+
display: none;
|
2238 |
}
|
2239 |
+
.eae-layout-right .eae-tl-item-meta-wrapper-inner {
|
2240 |
+
display: block;
|
2241 |
}
|
2242 |
|
2243 |
.eae-tl-item-meta-wrapper {
|
2244 |
+
flex-grow: 1;
|
2245 |
+
order: 0;
|
2246 |
+
flex-basis: 50%;
|
2247 |
+
flex-direction: initial;
|
2248 |
+
justify-content: flex-end;
|
2249 |
+
display: flex;
|
2250 |
+
align-items: center;
|
2251 |
+
margin-right: 0px;
|
2252 |
}
|
2253 |
+
.eae-tl-item-meta {
|
2254 |
+
padding: 0px 20px;
|
2255 |
}
|
2256 |
|
2257 |
.eae-tl-icon-wrapper {
|
2258 |
+
height: auto;
|
2259 |
+
width: auto;
|
2260 |
+
flex-grow: 0;
|
2261 |
+
flex-shrink: 0;
|
2262 |
+
order: 1;
|
2263 |
+
margin-left: 0px;
|
2264 |
+
margin-right: 0px;
|
2265 |
+
min-width: 10px;
|
2266 |
+
min-height: 10px;
|
2267 |
+
border-radius: 999px;
|
2268 |
+
position: relative;
|
2269 |
+
display: -ms-flexbox;
|
2270 |
+
display: flex;
|
2271 |
+
-ms-flex-align: center;
|
2272 |
+
align-items: center;
|
2273 |
+
-ms-flex-pack: center;
|
2274 |
+
justify-content: center;
|
2275 |
}
|
2276 |
|
2277 |
.eae-tl-content-wrapper {
|
2278 |
+
flex-grow: 1;
|
2279 |
+
order: 2;
|
2280 |
+
flex-basis: 50%;
|
2281 |
+
position: relative;
|
2282 |
+
padding-right: 0px;
|
2283 |
+
padding-left: 20px;
|
2284 |
+
}
|
2285 |
+
.eae-tl-item-content {
|
2286 |
+
background: #f4f4f4;
|
2287 |
+
padding: 25px;
|
2288 |
+
overflow: hidden;
|
2289 |
+
text-align: center;
|
2290 |
+
display: flex;
|
2291 |
+
flex-direction: row;
|
2292 |
+
}
|
2293 |
+
.eae-tl-content {
|
2294 |
+
display: inline-block;
|
2295 |
+
position: relative;
|
2296 |
+
padding: 10px;
|
2297 |
+
width: 100%;
|
2298 |
+
color: #000;
|
2299 |
+
}
|
2300 |
+
|
2301 |
+
.image-position-row
|
2302 |
+
.eae-timeline
|
2303 |
+
.eae-timeline-item:not(.custom-image-style-yes)
|
2304 |
+
.eae-content-inner,
|
2305 |
+
.image-position-row-reverse
|
2306 |
+
.eae-timeline
|
2307 |
+
.eae-timeline-item:not(.custom-image-style-yes)
|
2308 |
+
.eae-content-inner,
|
2309 |
+
.eae-timeline-item.custom-image-style-yes.image-position-row .eae-content-inner,
|
2310 |
+
.eae-timeline-item.custom-image-style-yes.image-position-row-reverse
|
2311 |
+
.eae-content-inner {
|
2312 |
+
position: relative;
|
2313 |
+
left: 50%;
|
2314 |
+
top: 50%;
|
2315 |
+
transform: translate(-50%, -50%);
|
2316 |
+
line-height: 1;
|
2317 |
+
width: 100%;
|
2318 |
}
|
2319 |
.custom-image-style-.image-position-row .eae-content-inner,
|
2320 |
.custom-image-style-.image-position-row-reverse .eae-content-inner,
|
2321 |
.custom-image-style-no.image-position-row .eae-content-inner,
|
2322 |
+
.custom-image-style-no.image-position-row-reverse .eae-content-inner {
|
2323 |
+
left: unset;
|
2324 |
+
top: unset;
|
2325 |
+
transform: unset;
|
2326 |
}
|
2327 |
+
.eae-tl-item-image {
|
2328 |
+
display: inline-block;
|
2329 |
}
|
2330 |
|
2331 |
+
.image-position-row .eae-tl-item-image img,
|
2332 |
+
.image-position-row-reverse .eae-tl-item-image img {
|
2333 |
+
object-fit: cover;
|
2334 |
+
height: 100% !important;
|
2335 |
}
|
2336 |
+
.image-position-row .eae-tl-item-image,
|
2337 |
+
.image-position-row-reverse .eae-tl-item-image {
|
2338 |
+
margin: 0px;
|
2339 |
}
|
2340 |
+
.image-position-column .eae-tl-item-image {
|
2341 |
+
margin: auto;
|
2342 |
}
|
2343 |
.custom-image-style-no.image-position-column .eae-tl-item-image,
|
2344 |
+
.custom-image-style-.image-position-column .eae-tl-item-image {
|
2345 |
+
margin: 0 auto;
|
2346 |
}
|
2347 |
|
2348 |
+
.eae-pb-inner-line {
|
2349 |
+
width: 100%;
|
2350 |
+
background-color: #3d5ac3;
|
2351 |
}
|
2352 |
|
2353 |
.eae-tl-item-content::before {
|
2354 |
+
content: "";
|
2355 |
+
position: absolute;
|
2356 |
+
width: 0;
|
2357 |
+
height: 0;
|
2358 |
+
border-style: solid;
|
2359 |
+
border-width: 8px 16px 8px 0;
|
2360 |
+
border-color: transparent #f4f4f4 transparent transparent;
|
2361 |
}
|
2362 |
|
2363 |
+
.eae-icon-wrapper {
|
2364 |
+
display: flex;
|
|
|
2365 |
}
|
2366 |
|
2367 |
+
.elementor-widget-bpel-timeline .eae-icon-wrapper {
|
2368 |
+
position: absolute;
|
2369 |
+
left: 50%;
|
2370 |
+
top: 50%;
|
2371 |
+
transform: translate(-50%, -50%);
|
2372 |
+
line-height: 1;
|
2373 |
}
|
2374 |
|
2375 |
+
.eae-tl-read-more {
|
2376 |
+
display: inline-block;
|
2377 |
+
padding: 5px;
|
2378 |
+
border: 2px solid #000000;
|
2379 |
}
|
2380 |
+
.image-position-row
|
2381 |
+
.eae-timeline.eae-timeline-alternate-yes
|
2382 |
+
.eae-timeline-item:nth-child(odd):not(.custom-image-style-yes)
|
2383 |
+
.eae-tl-item-content {
|
2384 |
+
flex-direction: row-reverse !important;
|
2385 |
}
|
2386 |
+
.image-position-row-reverse
|
2387 |
+
.eae-timeline.eae-timeline-alternate-yes
|
2388 |
+
.eae-timeline-item:nth-child(odd):not(.custom-image-style-yes)
|
2389 |
+
.eae-tl-item-content {
|
2390 |
+
flex-direction: row !important;
|
2391 |
}
|
2392 |
@media screen and (min-width: 1024px) {
|
2393 |
+
.eae-layout-center .eae-timeline-item:nth-child(odd) .eae-tl-content-wrapper,
|
2394 |
+
body.rtl
|
2395 |
+
.eae-layout-center
|
2396 |
+
.eae-timeline-item:nth-child(even)
|
2397 |
+
.eae-tl-content-wrapper {
|
2398 |
+
padding-right: 20px;
|
2399 |
+
padding-left: 0px;
|
2400 |
+
}
|
2401 |
+
.eae-layout-center .eae-timeline-item:nth-child(even) .eae-tl-content-wrapper,
|
2402 |
+
body.rtl
|
2403 |
+
.eae-layout-center
|
2404 |
+
.eae-timeline-item:nth-child(odd)
|
2405 |
+
.eae-tl-content-wrapper {
|
2406 |
+
padding-right: 0px;
|
2407 |
+
padding-left: 20px;
|
2408 |
+
}
|
2409 |
+
|
2410 |
+
.eae-layout-right .eae-tl-item-content::before,
|
2411 |
+
.eae-layout-center
|
2412 |
+
.eae-timeline-item:nth-child(odd)
|
2413 |
+
.eae-tl-item-content::before,
|
2414 |
+
body.rtl .eae-layout-left .eae-tl-item-content::before,
|
2415 |
+
body.rtl
|
2416 |
+
.eae-layout-center
|
2417 |
+
.eae-timeline-item:nth-child(even)
|
2418 |
+
.eae-tl-item-content::before {
|
2419 |
+
right: 4px;
|
2420 |
+
left: unset;
|
2421 |
+
border-width: 8px 0 8px 16px;
|
2422 |
+
border-color: transparent transparent transparent #f4f4f4;
|
2423 |
+
}
|
2424 |
+
|
2425 |
+
.eae-layout-left .eae-tl-item-content::before,
|
2426 |
+
.eae-layout-center
|
2427 |
+
.eae-timeline-item:nth-child(even)
|
2428 |
+
.eae-tl-item-content::before,
|
2429 |
+
body.rtl .eae-layout-right .eae-tl-item-content::before,
|
2430 |
+
body.rtl
|
2431 |
+
.eae-layout-center
|
2432 |
+
.eae-timeline-item:nth-child(odd)
|
2433 |
+
.eae-tl-item-content::before {
|
2434 |
+
left: 4px;
|
2435 |
+
right: unset;
|
2436 |
+
border-width: 8px 16px 8px 0;
|
2437 |
+
border-color: transparent #f4f4f4 transparent transparent;
|
2438 |
+
}
|
2439 |
}
|
2440 |
@media screen and (max-width: 1023px) and (min-width: 768px) {
|
2441 |
+
.image-position-row
|
2442 |
+
.eae-timeline.eae-timeline-alternate-yes
|
2443 |
+
.eae-timeline-item:nth-child(odd):not(.custom-image-style-yes)
|
2444 |
+
.eae-tl-item-content {
|
2445 |
+
flex-direction: row-reverse !important;
|
2446 |
+
}
|
2447 |
+
.image-position-row-reverse
|
2448 |
+
.eae-timeline.eae-timeline-alternate-yes
|
2449 |
+
.eae-timeline-item:nth-child(odd):not(.custom-image-style-yes)
|
2450 |
+
.eae-tl-item-content {
|
2451 |
+
flex-direction: row !important;
|
2452 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2453 |
|
2454 |
+
.eae-tl-res-style-mobile-tablet .eae-tl-item-meta-wrapper {
|
2455 |
+
display: none;
|
2456 |
+
}
|
2457 |
+
.eae-tl-res-style-mobile-tablet .eae-tl-item-meta-wrapper-inner {
|
2458 |
+
display: block;
|
2459 |
+
}
|
2460 |
+
.eae-tl-res-style-mobile-tablet.eae-tl-res-layout-left .eae-timeline-item {
|
2461 |
+
flex-direction: row !important;
|
2462 |
+
}
|
2463 |
+
.eae-tl-res-style-mobile-tablet.eae-tl-res-layout-right .eae-timeline-item {
|
2464 |
+
flex-direction: row-reverse !important;
|
2465 |
+
}
|
2466 |
+
|
2467 |
+
.eae-layout-center.eae-tl-res-style-mobile-tablet.eae-tl-res-layout-left
|
2468 |
+
.eae-timeline-item
|
2469 |
+
.eae-tl-item-content::before,
|
2470 |
+
.eae-timeline.eae-layout-center.eae-tl-res-style-mobile
|
2471 |
+
.eae-timeline-item:nth-child(even)
|
2472 |
+
.eae-tl-item-content::before,
|
2473 |
+
body:not(.rtl) .eae-layout-left .eae-tl-item-content::before,
|
2474 |
+
body:not(.rtl)
|
2475 |
+
.eae-layout-left
|
2476 |
+
.eae-timeline-item
|
2477 |
+
.eae-tl-item-content::before,
|
2478 |
+
body.rtl .eae-layout-right .eae-timeline-item .eae-tl-item-content::before,
|
2479 |
+
body.rtl .eae-layout-right .eae-tl-item-content::before,
|
2480 |
+
body.rtl
|
2481 |
+
.eae-timeline.eae-layout-center.eae-tl-res-style-mobile
|
2482 |
+
.eae-timeline-item:nth-child(odd)
|
2483 |
+
.eae-tl-item-content::before,
|
2484 |
+
body.rtl
|
2485 |
+
.eae-layout-center.eae-tl-res-style-mobile-tablet.eae-tl-res-layout-right
|
2486 |
+
.eae-timeline-item
|
2487 |
+
.eae-tl-item-content::before {
|
2488 |
+
left: 4px !important;
|
2489 |
+
border-width: 8px 16px 8px 0 !important;
|
2490 |
+
border-color: transparent #f4f4f4 transparent transparent !important;
|
2491 |
+
}
|
2492 |
+
body.rtl
|
2493 |
+
.eae-timeline.eae-layout-center.eae-tl-res-style-mobile
|
2494 |
+
.eae-timeline-item:nth-child(odd)
|
2495 |
+
.eae-tl-item-content::before {
|
2496 |
+
left: 4px !important;
|
2497 |
+
right: unset !important;
|
2498 |
+
border-width: 8px 16px 8px 0 !important;
|
2499 |
+
border-color: transparent #f4f4f4 transparent transparent !important;
|
2500 |
+
}
|
2501 |
+
|
2502 |
+
body.rtl .eae-layout-left .eae-tl-item-content::before,
|
2503 |
+
body.rtl .eae-layout-left .eae-timeline-item .eae-tl-item-content::before,
|
2504 |
+
body:not(.rtl)
|
2505 |
+
.eae-layout-right
|
2506 |
+
.eae-timeline-item
|
2507 |
+
.eae-tl-item-content::before,
|
2508 |
+
body:not(.rtl) .eae-layout-right .eae-tl-item-content::before,
|
2509 |
+
.eae-timeline.eae-layout-center.eae-tl-res-style-mobile
|
2510 |
+
.eae-timeline-item:nth-child(odd)
|
2511 |
+
.eae-tl-item-content::before,
|
2512 |
+
body:not(.rtl)
|
2513 |
+
.eae-layout-center.eae-tl-res-style-mobile-tablet.eae-tl-res-layout-right
|
2514 |
+
.eae-timeline-item
|
2515 |
+
.eae-tl-item-content::before,
|
2516 |
+
body:not(.rtl)
|
2517 |
+
.eae-tl-res-style-mobile-tablet.eae-tl-res-layout-right
|
2518 |
+
.eae-timeline-item
|
2519 |
+
.eae-tl-item-content::before,
|
2520 |
+
body.rtl
|
2521 |
+
.eae-timeline.eae-layout-center.eae-tl-res-style-mobile
|
2522 |
+
.eae-timeline-item:nth-child(even)
|
2523 |
+
.eae-tl-item-content::before,
|
2524 |
+
body.rtl
|
2525 |
+
.eae-layout-center.eae-tl-res-style-mobile-tablet.eae-tl-res-layout-left
|
2526 |
+
.eae-timeline-item
|
2527 |
+
.eae-tl-item-content::before {
|
2528 |
+
right: 4px !important;
|
2529 |
+
border-width: 8px 0 8px 16px !important;
|
2530 |
+
border-color: transparent transparent transparent #f4f4f4 !important;
|
2531 |
+
}
|
2532 |
+
body.rtl
|
2533 |
+
.eae-tl-res-style-mobile-tablet.eae-layout-center.eae-tl-res-layout-right
|
2534 |
+
.eae-timeline-item
|
2535 |
+
.eae-tl-content-wrapper,
|
2536 |
+
.eae-tl-res-style-mobile-tablet.eae-layout-center.eae-tl-res-layout-left
|
2537 |
+
.eae-timeline-item
|
2538 |
+
.eae-tl-content-wrapper {
|
2539 |
+
padding-right: 0px !important;
|
2540 |
+
padding-left: 20px !important;
|
2541 |
+
}
|
2542 |
+
|
2543 |
+
body.rtl
|
2544 |
+
.eae-tl-res-style-mobile-tablet.eae-layout-center.eae-tl-res-layout-left
|
2545 |
+
.eae-timeline-item
|
2546 |
+
.eae-tl-content-wrapper,
|
2547 |
+
.eae-tl-res-style-mobile-tablet.eae-layout-center.eae-tl-res-layout-right
|
2548 |
+
.eae-timeline-item
|
2549 |
+
.eae-tl-content-wrapper {
|
2550 |
+
padding-right: 20px !important;
|
2551 |
+
padding-left: 0px !important;
|
2552 |
+
}
|
2553 |
+
.eae-tl-res-style-mobile-tablet.eae-layout-center.eae-tl-res-layout-left
|
2554 |
+
.eae-timline-progress-bar {
|
2555 |
+
left: 13px;
|
2556 |
+
}
|
2557 |
+
.eae-tl-res-style-mobile-tablet.eae-layout-center.eae-tl-res-layout-right
|
2558 |
+
.eae-timline-progress-bar {
|
2559 |
+
left: calc(100% - 13px);
|
2560 |
+
}
|
2561 |
}
|
2562 |
|
2563 |
@media screen and (max-width: 767px) {
|
2564 |
+
.eae-tl-item-meta-wrapper {
|
2565 |
+
display: none;
|
2566 |
+
}
|
2567 |
+
.eae-tl-item-meta-wrapper-inner {
|
2568 |
+
display: block;
|
2569 |
+
}
|
2570 |
+
|
2571 |
+
.elementor-widget-bpel-timeline:not(.image-position-column)
|
2572 |
+
.eae-timeline
|
2573 |
+
.eae-tl-item-content {
|
2574 |
+
flex-direction: column-reverse !important;
|
2575 |
+
}
|
2576 |
+
.elementor-widget-bpel-timeline:not(.image-position-column) .eae-tl-content,
|
2577 |
+
.eae-tl-item-image {
|
2578 |
+
width: 100% !important;
|
2579 |
+
}
|
2580 |
+
.eae-tl-res-style-mobile.eae-tl-res-layout-left .eae-timeline-item,
|
2581 |
+
.eae-tl-res-style-mobile-tablet.eae-tl-res-layout-left .eae-timeline-item {
|
2582 |
+
flex-direction: row !important;
|
2583 |
+
}
|
2584 |
+
.eae-tl-res-style-mobile-tablet.eae-tl-res-layout-right .eae-timeline-item,
|
2585 |
+
.eae-tl-res-style-mobile.eae-tl-res-layout-right .eae-timeline-item {
|
2586 |
+
flex-direction: row-reverse !important;
|
2587 |
+
}
|
2588 |
+
|
2589 |
+
body:not(.rtl)
|
2590 |
+
.eae-tl-res-style-mobile.eae-tl-res-layout-left
|
2591 |
+
.eae-timeline-item
|
2592 |
+
.eae-tl-item-content::before,
|
2593 |
+
body:not(.rtl)
|
2594 |
+
.eae-tl-res-style-mobile-tablet.eae-tl-res-layout-left
|
2595 |
+
.eae-timeline-item
|
2596 |
+
.eae-tl-item-content::before,
|
2597 |
+
body:not(.rtl)
|
2598 |
+
.eae-layout-left
|
2599 |
+
.eae-timeline-item
|
2600 |
+
.eae-tl-item-content::before,
|
2601 |
+
.eae-timeline.eae-layout-center.eae-tl-center.eae-tl-res-style-mobile.eae-tl-res-layout-left
|
2602 |
+
.eae-timeline-item:nth-child(odd)
|
2603 |
+
.eae-tl-item-content::before,
|
2604 |
+
.eae-timeline.eae-layout-center.eae-tl-center.eae-tl-res-style-mobile-tablet.eae-tl-res-layout-left
|
2605 |
+
.eae-timeline-item:nth-child(odd)
|
2606 |
+
.eae-tl-item-content::before,
|
2607 |
+
body.rtl
|
2608 |
+
.eae-timeline.eae-tl-res-style-mobile.eae-tl-res-layout-right
|
2609 |
+
.eae-timeline-item
|
2610 |
+
.eae-tl-item-content::before,
|
2611 |
+
body.rtl
|
2612 |
+
.eae-timeline.eae-layout-right
|
2613 |
+
.eae-timeline-item
|
2614 |
+
.eae-tl-item-content::before {
|
2615 |
+
left: 4px !important;
|
2616 |
+
border-width: 8px 16px 8px 0 !important;
|
2617 |
+
border-color: transparent #f4f4f4 transparent transparent !important;
|
2618 |
+
}
|
2619 |
+
|
2620 |
+
body.rtl
|
2621 |
+
.eae-tl-res-style-mobile.eae-tl-res-layout-left
|
2622 |
+
.eae-timeline-item
|
2623 |
+
.eae-tl-item-content::before,
|
2624 |
+
body:not(.rtl)
|
2625 |
+
.eae-tl-res-style-mobile-tablet.eae-tl-res-layout-right
|
2626 |
+
.eae-timeline-item
|
2627 |
+
.eae-tl-item-content::before,
|
2628 |
+
body:not(.rtl)
|
2629 |
+
.eae-tl-res-style-mobile.eae-tl-res-layout-right
|
2630 |
+
.eae-timeline-item
|
2631 |
+
.eae-tl-item-content::before,
|
2632 |
+
body:not(.rtl)
|
2633 |
+
.eae-layout-right
|
2634 |
+
.eae-timeline-item
|
2635 |
+
.eae-tl-item-content::before,
|
2636 |
+
body.rtl .eae-layout-left .eae-timeline-item .eae-tl-item-content::before {
|
2637 |
+
right: 4px !important;
|
2638 |
+
border-width: 8px 0 8px 16px !important;
|
2639 |
+
border-color: transparent transparent transparent #f4f4f4 !important;
|
2640 |
+
}
|
2641 |
+
|
2642 |
+
body:not(.rtl)
|
2643 |
+
.eae-tl-res-style-mobile.eae-layout-center.eae-tl-res-layout-left
|
2644 |
+
.eae-timeline-item
|
2645 |
+
.eae-tl-content-wrapper,
|
2646 |
+
body:not(.rtl)
|
2647 |
+
.eae-tl-res-style-mobile-tablet.eae-layout-center.eae-tl-res-layout-left
|
2648 |
+
.eae-timeline-item
|
2649 |
+
.eae-tl-content-wrapper
|
2650 |
+
body.rtl
|
2651 |
+
.eae-timeline.eae-tl-res-style-mobile.eae-layout-center.eae-tl-res-layout-right
|
2652 |
+
.eae-timeline-item
|
2653 |
+
.eae-tl-content-wrapper,
|
2654 |
+
.eae-timeline.eae-tl-res-style-mobile-tablet.eae-layout-center.eae-tl-res-layout-right
|
2655 |
+
.eae-timeline-item
|
2656 |
+
.eae-tl-content-wrapper {
|
2657 |
+
padding-right: 0px !important;
|
2658 |
+
padding-left: 20px !important;
|
2659 |
+
}
|
2660 |
+
body:not(.rtl)
|
2661 |
+
.eae-tl-res-style-mobile.eae-layout-center.eae-tl-res-layout-right
|
2662 |
+
.eae-timeline-item
|
2663 |
+
.eae-tl-content-wrapper,
|
2664 |
+
body:not(.rtl)
|
2665 |
+
.eae-tl-res-style-mobile-tablet.eae-layout-center.eae-tl-res-layout-right
|
2666 |
+
.eae-timeline-item
|
2667 |
+
.eae-tl-content-wrapper,
|
2668 |
+
body.rtl
|
2669 |
+
.eae-tl-res-style-mobile.eae-layout-center.eae-tl-res-layout-left
|
2670 |
+
.eae-timeline-item
|
2671 |
+
.eae-tl-content-wrapper,
|
2672 |
+
body.rtl
|
2673 |
+
.eae-tl-res-style-mobile-tablet.eae-layout-center.eae-tl-res-layout-left
|
2674 |
+
.eae-timeline-item
|
2675 |
+
.eae-tl-content-wrapper {
|
2676 |
+
padding-right: 20px !important;
|
2677 |
+
padding-left: 0px !important;
|
2678 |
+
}
|
2679 |
+
.eae-tl-res-style-mobile.eae-layout-center.eae-tl-res-layout-left
|
2680 |
+
.eae-timline-progress-bar,
|
2681 |
+
.eae-tl-res-style-mobile-tablet.eae-layout-center.eae-tl-res-layout-left
|
2682 |
+
.eae-timline-progress-bar {
|
2683 |
+
left: 13px;
|
2684 |
+
}
|
2685 |
+
.eae-tl-res-style-mobile.eae-layout-center.eae-tl-res-layout-right
|
2686 |
+
.eae-timline-progress-bar,
|
2687 |
+
.eae-tl-res-style-mobile-tablet.eae-layout-center.eae-tl-res-layout-right
|
2688 |
+
.eae-timline-progress-bar {
|
2689 |
+
left: calc(100% - 13px);
|
2690 |
+
}
|
2691 |
+
|
2692 |
+
body.rtl
|
2693 |
+
.eae-layout-center.eae-timeline.eae-tl-res-style-mobile-tablet.eae-tl-res-layout-right
|
2694 |
+
.eae-timeline-item
|
2695 |
+
.eae-tl-content-wrapper
|
2696 |
+
.eae-tl-item-content::before {
|
2697 |
+
left: 4px;
|
2698 |
+
right: unset;
|
2699 |
+
}
|
2700 |
+
|
2701 |
+
body.rtl
|
2702 |
+
.eae-layout-center.eae-timeline.eae-tl-res-style-mobile-tablet.eae-tl-res-layout-left
|
2703 |
+
.eae-timeline-item
|
2704 |
+
.eae-tl-content-wrapper
|
2705 |
+
.eae-tl-item-content::before {
|
2706 |
+
left: unset;
|
2707 |
+
right: 4px;
|
2708 |
+
border-width: 8px 0 8px 16px !important;
|
2709 |
+
border-color: transparent transparent transparent #f4f4f4 !important;
|
2710 |
+
}
|
2711 |
}
|
2712 |
|
2713 |
/** EverGreen Timer **/
|
2714 |
|
2715 |
+
[data-element_type="eae-evergreen-timer.skin1"] .eae-evergreen-wrapper {
|
2716 |
+
display: block;
|
2717 |
+
text-align: center;
|
2718 |
}
|
2719 |
+
[data-element_type="eae-evergreen-timer.skin1"] #eaeclockdiv {
|
2720 |
+
font-family: sans-serif;
|
2721 |
+
color: #fff;
|
2722 |
+
display: inline-block;
|
2723 |
+
font-weight: 100;
|
2724 |
+
text-align: center;
|
2725 |
+
font-size: 30px;
|
2726 |
}
|
2727 |
|
2728 |
+
[data-element_type="eae-evergreen-timer.skin1"] .eae-time-wrapper {
|
2729 |
+
padding: 10px;
|
2730 |
+
border-radius: 3px;
|
2731 |
+
background: #00bf96;
|
2732 |
+
display: inline-block;
|
2733 |
+
overflow: hidden;
|
2734 |
}
|
2735 |
|
2736 |
+
[data-element_type="eae-evergreen-timer.skin1"] #eaeclockdiv div > span {
|
2737 |
+
padding: 15px;
|
2738 |
+
width: 100%;
|
2739 |
+
background: #00816a;
|
2740 |
+
display: inline-block;
|
2741 |
}
|
2742 |
|
2743 |
+
[data-element_type="eae-evergreen-timer.skin1"] .smalltext {
|
2744 |
+
padding: 7px;
|
2745 |
+
font-size: 16px;
|
2746 |
}
|
2747 |
|
2748 |
+
[data-element_type="eae-evergreen-timer.skin1"] .eae-egt-hide {
|
2749 |
+
display: none;
|
2750 |
}
|
2751 |
|
2752 |
.eae-egt-message {
|
2753 |
+
display: none;
|
2754 |
}
|
2755 |
|
2756 |
+
@media screen and (max-width: 767px) {
|
2757 |
+
[data-element_type="eae-evergreen-timer.skin1"] #eaeclockdiv div > span {
|
2758 |
+
padding: 5px;
|
2759 |
+
}
|
2760 |
|
2761 |
+
[data-element_type="eae-evergreen-timer.skin1"] .eae-time-wrapper {
|
2762 |
+
padding: 5px;
|
2763 |
+
}
|
2764 |
}
|
2765 |
|
2766 |
/* Skin 2 - Flip Clock Css*/
|
2767 |
|
2768 |
[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper * {
|
2769 |
+
-webkit-box-sizing: border-box;
|
2770 |
+
-moz-box-sizing: border-box;
|
2771 |
+
-ms-box-sizing: border-box;
|
2772 |
+
-o-box-sizing: border-box;
|
2773 |
+
box-sizing: border-box;
|
2774 |
+
-webkit-backface-visibility: hidden;
|
2775 |
+
-moz-backface-visibility: hidden;
|
2776 |
+
-ms-backface-visibility: hidden;
|
2777 |
+
-o-backface-visibility: hidden;
|
2778 |
+
backface-visibility: hidden;
|
2779 |
+
}
|
2780 |
+
[data-element_type="eae-evergreen-timer.skin2"] .eae-evergreen-wrapper {
|
2781 |
+
display: inline-block;
|
2782 |
+
width: 100%;
|
2783 |
+
text-align: center;
|
2784 |
+
margin: auto;
|
2785 |
}
|
2786 |
+
[data-element_type="eae-evergreen-timer.skin2"] .timer-container {
|
2787 |
+
display: inline-block;
|
2788 |
}
|
2789 |
[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper a {
|
2790 |
+
cursor: pointer;
|
2791 |
+
text-decoration: none;
|
2792 |
+
color: #ccc;
|
2793 |
}
|
2794 |
|
2795 |
+
[data-element_type="eae-evergreen-timer.skin2"]
|
2796 |
+
.eae-flip-clock-wrapper
|
2797 |
+
a:hover {
|
2798 |
+
color: #fff;
|
2799 |
}
|
2800 |
|
2801 |
[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul {
|
2802 |
+
list-style: none;
|
2803 |
}
|
2804 |
|
2805 |
+
[data-element_type="eae-evergreen-timer.skin2"]
|
2806 |
+
.eae-flip-clock-wrapper.clearfix:before,
|
2807 |
+
[data-element_type="eae-evergreen-timer.skin2"]
|
2808 |
+
.eae-flip-clock-wrapper.clearfix:after {
|
2809 |
+
content: " ";
|
2810 |
+
display: table;
|
2811 |
}
|
2812 |
|
2813 |
+
[data-element_type="eae-evergreen-timer.skin2"]
|
2814 |
+
.eae-flip-clock-wrapper.clearfix:after {
|
2815 |
+
clear: both;
|
2816 |
}
|
2817 |
|
2818 |
+
[data-element_type="eae-evergreen-timer.skin2"]
|
2819 |
+
.eae-flip-clock-wrapper.clearfix {
|
2820 |
+
*zoom: 1;
|
2821 |
}
|
2822 |
|
2823 |
/* Main */
|
2824 |
[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper {
|
2825 |
+
font: normal 11px "Helvetica Neue", Helvetica, sans-serif;
|
2826 |
+
-webkit-user-select: none;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2827 |
}
|
2828 |
|
2829 |
+
[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-meridium {
|
2830 |
+
background: none !important;
|
2831 |
+
box-shadow: 0 0 0 !important;
|
2832 |
+
font-size: 36px !important;
|
|
|
|
|
|
|
|
|
|
|
2833 |
}
|
2834 |
|
2835 |
+
[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-meridium a {
|
2836 |
+
color: #313333;
|
|
|
|
|
|
|
2837 |
}
|
2838 |
|
2839 |
+
[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper {
|
2840 |
+
text-align: center;
|
2841 |
+
position: relative;
|
2842 |
+
width: 100%;
|
2843 |
+
margin: 1em;
|
|
|
|
|
2844 |
}
|
2845 |
|
2846 |
+
[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper:before,
|
2847 |
+
[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper:after {
|
2848 |
+
content: " "; /* 1 */
|
2849 |
+
display: table; /* 2 */
|
2850 |
+
}
|
2851 |
+
[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper:after {
|
2852 |
+
clear: both;
|
|
|
|
|
|
|
2853 |
}
|
2854 |
|
2855 |
+
/* Skeleton */
|
2856 |
+
[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul {
|
2857 |
+
position: relative;
|
2858 |
+
float: left;
|
2859 |
+
margin: 5px;
|
2860 |
+
width: 60px;
|
2861 |
+
height: 90px;
|
2862 |
+
font-size: 80px;
|
2863 |
+
font-weight: bold;
|
2864 |
+
line-height: 87px;
|
2865 |
+
border-radius: 6px;
|
2866 |
+
background: #000;
|
2867 |
}
|
2868 |
|
2869 |
+
[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul li {
|
2870 |
+
z-index: 1;
|
2871 |
+
position: absolute;
|
2872 |
+
left: 0;
|
2873 |
+
top: 0;
|
2874 |
+
width: 100%;
|
2875 |
+
height: 100%;
|
2876 |
+
line-height: 87px;
|
2877 |
+
text-decoration: none !important;
|
2878 |
+
}
|
2879 |
+
|
2880 |
+
[data-element_type="eae-evergreen-timer.skin2"]
|
2881 |
+
.eae-flip-clock-wrapper
|
2882 |
+
ul
|
2883 |
+
li:first-child {
|
2884 |
+
z-index: 2;
|
2885 |
+
}
|
2886 |
+
|
2887 |
+
[data-element_type="eae-evergreen-timer.skin2"]
|
2888 |
+
.eae-flip-clock-wrapper
|
2889 |
+
ul
|
2890 |
+
li
|
2891 |
+
a {
|
2892 |
+
display: block;
|
2893 |
+
height: 100%;
|
2894 |
+
-webkit-perspective: 200px;
|
2895 |
+
-moz-perspective: 200px;
|
2896 |
+
perspective: 200px;
|
2897 |
+
margin: 0 !important;
|
2898 |
+
overflow: visible !important;
|
2899 |
+
cursor: default !important;
|
2900 |
+
}
|
2901 |
+
|
2902 |
+
[data-element_type="eae-evergreen-timer.skin2"]
|
2903 |
+
.eae-flip-clock-wrapper
|
2904 |
+
ul
|
2905 |
+
li
|
2906 |
+
a
|
2907 |
+
div {
|
2908 |
+
z-index: 1;
|
2909 |
+
position: absolute;
|
2910 |
+
left: 0;
|
2911 |
+
width: 100%;
|
2912 |
+
height: 50%;
|
2913 |
+
font-size: 80px;
|
2914 |
+
overflow: hidden;
|
2915 |
+
outline: 1px solid transparent;
|
2916 |
+
}
|
2917 |
+
|
2918 |
+
[data-element_type="eae-evergreen-timer.skin2"]
|
2919 |
+
.eae-flip-clock-wrapper
|
2920 |
+
ul
|
2921 |
+
li
|
2922 |
+
a
|
2923 |
+
div
|
2924 |
+
.shadow {
|
2925 |
+
position: absolute;
|
2926 |
+
width: 100%;
|
2927 |
+
height: 100%;
|
2928 |
+
z-index: 2;
|
2929 |
+
}
|
2930 |
+
|
2931 |
+
[data-element_type="eae-evergreen-timer.skin2"]
|
2932 |
+
.eae-flip-clock-wrapper
|
2933 |
+
ul
|
2934 |
+
li
|
2935 |
+
a
|
2936 |
+
div.up {
|
2937 |
+
-webkit-transform-origin: 50% 100%;
|
2938 |
+
-moz-transform-origin: 50% 100%;
|
2939 |
+
-ms-transform-origin: 50% 100%;
|
2940 |
+
-o-transform-origin: 50% 100%;
|
2941 |
+
transform-origin: 50% 100%;
|
2942 |
+
top: 0;
|
2943 |
+
}
|
2944 |
+
|
2945 |
+
[data-element_type="eae-evergreen-timer.skin2"]
|
2946 |
+
.eae-flip-clock-wrapper
|
2947 |
+
ul
|
2948 |
+
li
|
2949 |
+
a
|
2950 |
+
div.up:after {
|
2951 |
+
content: "";
|
2952 |
+
position: absolute;
|
2953 |
+
top: 44px;
|
2954 |
+
left: 0;
|
2955 |
+
z-index: 5;
|
2956 |
+
width: 100%;
|
2957 |
+
height: 3px;
|
2958 |
+
background-color: #000;
|
2959 |
+
background-color: rgba(0, 0, 0, 0.4);
|
2960 |
+
}
|
2961 |
+
|
2962 |
+
[data-element_type="eae-evergreen-timer.skin2"]
|
2963 |
+
.eae-flip-clock-wrapper
|
2964 |
+
ul
|
2965 |
+
li
|
2966 |
+
a
|
2967 |
+
div.down {
|
2968 |
+
-webkit-transform-origin: 50% 0;
|
2969 |
+
-moz-transform-origin: 50% 0;
|
2970 |
+
-ms-transform-origin: 50% 0;
|
2971 |
+
-o-transform-origin: 50% 0;
|
2972 |
+
transform-origin: 50% 0;
|
2973 |
+
bottom: 0;
|
2974 |
+
border-bottom-left-radius: 6px;
|
2975 |
+
border-bottom-right-radius: 6px;
|
2976 |
+
}
|
2977 |
+
|
2978 |
+
[data-element_type="eae-evergreen-timer.skin2"]
|
2979 |
+
.eae-flip-clock-wrapper
|
2980 |
+
ul
|
2981 |
+
li
|
2982 |
+
a
|
2983 |
+
div
|
2984 |
+
div.inn {
|
2985 |
+
position: absolute;
|
2986 |
+
left: 0;
|
2987 |
+
z-index: 1;
|
2988 |
+
width: 100%;
|
2989 |
+
height: 200%;
|
2990 |
+
color: #ccc;
|
2991 |
+
text-shadow: 0 1px 2px #000;
|
2992 |
+
text-align: center;
|
2993 |
+
background-color: #333;
|
2994 |
+
border-radius: 6px;
|
2995 |
+
font-size: 70px;
|
2996 |
}
|
2997 |
|
2998 |
+
[data-element_type="eae-evergreen-timer.skin2"]
|
2999 |
+
.eae-flip-clock-wrapper
|
3000 |
+
ul
|
3001 |
+
li
|
3002 |
+
a
|
3003 |
+
div.up
|
3004 |
+
div.inn {
|
3005 |
+
top: 0;
|
3006 |
}
|
3007 |
|
3008 |
+
[data-element_type="eae-evergreen-timer.skin2"]
|
3009 |
+
.eae-flip-clock-wrapper
|
3010 |
+
ul
|
3011 |
+
li
|
3012 |
+
a
|
3013 |
+
div.down
|
3014 |
+
div.inn {
|
3015 |
+
bottom: 0;
|
3016 |
}
|
3017 |
|
3018 |
/* PLAY */
|
3019 |
+
[data-element_type="eae-evergreen-timer.skin2"]
|
3020 |
+
.eae-flip-clock-wrapper
|
3021 |
+
ul.play
|
3022 |
+
li.flip-clock-before {
|
3023 |
+
z-index: 3;
|
3024 |
}
|
3025 |
|
3026 |
[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper .flip {
|
3027 |
+
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.7);
|
3028 |
}
|
3029 |
|
3030 |
+
[data-element_type="eae-evergreen-timer.skin2"]
|
3031 |
+
.eae-flip-clock-wrapper
|
3032 |
+
ul.play
|
3033 |
+
li.flip-clock-active {
|
3034 |
+
-webkit-animation: asd 0.01s 0.49s linear both;
|
3035 |
+
-moz-animation: asd 0.01s 0.49s linear both;
|
3036 |
+
animation: asd 0.01s 0.49s linear both;
|
3037 |
+
z-index: 5;
|
3038 |
}
|
3039 |
|
3040 |
[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-divider {
|
3041 |
+
float: left;
|
3042 |
+
display: inline-block;
|
3043 |
+
position: relative;
|
3044 |
+
width: 20px;
|
3045 |
+
height: 100px;
|
3046 |
}
|
3047 |
|
3048 |
+
[data-element_type="eae-evergreen-timer.skin2"]
|
3049 |
+
.flip-clock-divider:first-child {
|
3050 |
+
width: 0;
|
3051 |
}
|
3052 |
|
3053 |
[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-dot {
|
3054 |
+
display: block;
|
3055 |
+
background: #323434;
|
3056 |
+
width: 10px;
|
3057 |
+
height: 10px;
|
3058 |
+
position: absolute;
|
3059 |
+
border-radius: 50%;
|
3060 |
+
box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
|
3061 |
+
left: 5px;
|
3062 |
}
|
3063 |
|
3064 |
+
[data-element_type="eae-evergreen-timer.skin2"]
|
3065 |
+
.flip-clock-divider
|
3066 |
+
.flip-clock-label {
|
3067 |
+
position: absolute;
|
3068 |
+
top: -1.5em;
|
3069 |
+
right: -86px;
|
3070 |
+
color: black;
|
3071 |
+
text-shadow: none;
|
3072 |
}
|
3073 |
|
3074 |
+
[data-element_type="eae-evergreen-timer.skin2"]
|
3075 |
+
.flip-clock-divider.minutes
|
3076 |
+
.flip-clock-label {
|
3077 |
+
right: -88px;
|
3078 |
}
|
3079 |
|
3080 |
+
[data-element_type="eae-evergreen-timer.skin2"]
|
3081 |
+
.flip-clock-divider.seconds
|
3082 |
+
.flip-clock-label {
|
3083 |
+
right: -91px;
|
3084 |
}
|
3085 |
|
3086 |
[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-dot.top {
|
3087 |
+
top: 30%;
|
3088 |
}
|
3089 |
|
3090 |
[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-dot.bottom {
|
3091 |
+
bottom: 30%;
|
3092 |
}
|
3093 |
|
3094 |
@-webkit-keyframes asd {
|
3095 |
+
0% {
|
3096 |
+
z-index: 2;
|
3097 |
+
}
|
3098 |
|
3099 |
+
100% {
|
3100 |
+
z-index: 4;
|
3101 |
+
}
|
3102 |
}
|
3103 |
|
3104 |
@-moz-keyframes asd {
|
3105 |
+
0% {
|
3106 |
+
z-index: 2;
|
3107 |
+
}
|
3108 |
|
3109 |
+
100% {
|
3110 |
+
z-index: 4;
|
3111 |
+
}
|
3112 |
}
|
3113 |
|
3114 |
@-o-keyframes asd {
|
3115 |
+
0% {
|
3116 |
+
z-index: 2;
|
3117 |
+
}
|
3118 |
|
3119 |
+
100% {
|
3120 |
+
z-index: 4;
|
3121 |
+
}
|
3122 |
}
|
3123 |
|
3124 |
@keyframes asd {
|
3125 |
+
0% {
|
3126 |
+
z-index: 2;
|
3127 |
+
}
|
3128 |
|
3129 |
+
100% {
|
3130 |
+
z-index: 4;
|
3131 |
+
}
|
3132 |
}
|
3133 |
|
3134 |
+
[data-element_type="eae-evergreen-timer.skin2"]
|
3135 |
+
.eae-flip-clock-wrapper
|
3136 |
+
ul.play
|
3137 |
+
li.flip-clock-active
|
3138 |
+
.down {
|
3139 |
+
z-index: 2;
|
3140 |
+
-webkit-animation: turn 0.5s 0.5s linear both;
|
3141 |
+
-moz-animation: turn 0.5s 0.5s linear both;
|
3142 |
+
animation: turn 0.5s 0.5s linear both;
|
3143 |
}
|
3144 |
|
3145 |
@-webkit-keyframes turn {
|
3146 |
+
0% {
|
3147 |
+
-webkit-transform: rotateX(90deg);
|
3148 |
+
}
|
3149 |
|
3150 |
+
100% {
|
3151 |
+
-webkit-transform: rotateX(0deg);
|
3152 |
+
}
|
3153 |
}
|
3154 |
|
3155 |
@-moz-keyframes turn {
|
3156 |
+
0% {
|
3157 |
+
-moz-transform: rotateX(90deg);
|
3158 |
+
}
|
3159 |
|
3160 |
+
100% {
|
3161 |
+
-moz-transform: rotateX(0deg);
|
3162 |
+
}
|
3163 |
}
|
3164 |
|
3165 |
@-o-keyframes turn {
|
3166 |
+
0% {
|
3167 |
+
-o-transform: rotateX(90deg);
|
3168 |
+
}
|
3169 |
|
3170 |
+
100% {
|
3171 |
+
-o-transform: rotateX(0deg);
|
3172 |
+
}
|
3173 |
}
|
3174 |
|
3175 |
@keyframes turn {
|
3176 |
+
0% {
|
3177 |
+
transform: rotateX(90deg);
|
3178 |
+
}
|
3179 |
|
3180 |
+
100% {
|
3181 |
+
transform: rotateX(0deg);
|
3182 |
+
}
|
3183 |
}
|
3184 |
|
3185 |
+
[data-element_type="eae-evergreen-timer.skin2"]
|
3186 |
+
.eae-flip-clock-wrapper
|
3187 |
+
ul.play
|
3188 |
+
li.flip-clock-before
|
3189 |
+
.up {
|
3190 |
+
z-index: 2;
|
3191 |
+
-webkit-animation: turn2 0.5s linear both;
|
3192 |
+
-moz-animation: turn2 0.5s linear both;
|
3193 |
+
animation: turn2 0.5s linear both;
|
3194 |
}
|
3195 |
|
3196 |
@-webkit-keyframes turn2 {
|
3197 |
+
0% {
|
3198 |
+
-webkit-transform: rotateX(0deg);
|
3199 |
+
}
|
3200 |
|
3201 |
+
100% {
|
3202 |
+
-webkit-transform: rotateX(-90deg);
|
3203 |
+
}
|
3204 |
}
|
3205 |
|
3206 |
@-moz-keyframes turn2 {
|
3207 |
+
0% {
|
3208 |
+
-moz-transform: rotateX(0deg);
|
3209 |
+
}
|
3210 |
|
3211 |
+
100% {
|
3212 |
+
-moz-transform: rotateX(-90deg);
|
3213 |
+
}
|
3214 |
}
|
3215 |
|
3216 |
@-o-keyframes turn2 {
|
3217 |
+
0% {
|
3218 |
+
-o-transform: rotateX(0deg);
|
3219 |
+
}
|
3220 |
|
3221 |
+
100% {
|
3222 |
+
-o-transform: rotateX(-90deg);
|
3223 |
+
}
|
3224 |
}
|
3225 |
|
3226 |
@keyframes turn2 {
|
3227 |
+
0% {
|
3228 |
+
transform: rotateX(0deg);
|
3229 |
+
}
|
3230 |
|
3231 |
+
100% {
|
3232 |
+
transform: rotateX(-90deg);
|
3233 |
+
}
|
3234 |
}
|
3235 |
|
3236 |
+
[data-element_type="eae-evergreen-timer.skin2"]
|
3237 |
+
.eae-flip-clock-wrapper
|
3238 |
+
ul
|
3239 |
+
li.flip-clock-active {
|
3240 |
+
z-index: 3;
|
3241 |
}
|
3242 |
|
3243 |
/* SHADOW */
|
3244 |
+
[data-element_type="eae-evergreen-timer.skin2"]
|
3245 |
+
.eae-flip-clock-wrapper
|
3246 |
+
ul.play
|
3247 |
+
li.flip-clock-before
|
3248 |
+
.up
|
3249 |
+
.shadow {
|
3250 |
+
background: -moz-linear-gradient(top, rgba(0, 0, 0, 0.1) 0%, black 100%);
|
3251 |
+
background: -webkit-gradient(
|
3252 |
+
linear,
|
3253 |
+
left top,
|
3254 |
+
left bottom,
|
3255 |
+
color-stop(0%, rgba(0, 0, 0, 0.1)),
|
3256 |
+
color-stop(100%, black)
|
3257 |
+
);
|
3258 |
+
background: linear, top, rgba(0, 0, 0, 0.1) 0%, black 100%;
|
3259 |
+
background: -o-linear-gradient(top, rgba(0, 0, 0, 0.1) 0%, black 100%);
|
3260 |
+
background: -ms-linear-gradient(top, rgba(0, 0, 0, 0.1) 0%, black 100%);
|
3261 |
+
background: linear, to bottom, rgba(0, 0, 0, 0.1) 0%, black 100%;
|
3262 |
+
-webkit-animation: show 0.5s linear both;
|
3263 |
+
-moz-animation: show 0.5s linear both;
|
3264 |
+
animation: show 0.5s linear both;
|
3265 |
+
}
|
3266 |
+
|
3267 |
+
[data-element_type="eae-evergreen-timer.skin2"]
|
3268 |
+
.eae-flip-clock-wrapper
|
3269 |
+
ul.play
|
3270 |
+
li.flip-clock-active
|
3271 |
+
.up
|
3272 |
+
.shadow {
|
3273 |
+
background: -moz-linear-gradient(top, rgba(0, 0, 0, 0.1) 0%, black 100%);
|
3274 |
+
background: -webkit-gradient(
|
3275 |
+
linear,
|
3276 |
+
left top,
|
3277 |
+
left bottom,
|
3278 |
+
color-stop(0%, rgba(0, 0, 0, 0.1)),
|
3279 |
+
color-stop(100%, black)
|
3280 |
+
);
|
3281 |
+
background: linear, top, rgba(0, 0, 0, 0.1) 0%, black 100%;
|
3282 |
+
background: -o-linear-gradient(top, rgba(0, 0, 0, 0.1) 0%, black 100%);
|
3283 |
+
background: -ms-linear-gradient(top, rgba(0, 0, 0, 0.1) 0%, black 100%);
|
3284 |
+
background: linear, to bottom, rgba(0, 0, 0, 0.1) 0%, black 100%;
|
3285 |
+
-webkit-animation: hide 0.5s 0.3s linear both;
|
3286 |
+
-moz-animation: hide 0.5s 0.3s linear both;
|
3287 |
+
animation: hide 0.5s 0.3s linear both;
|
3288 |
}
|
3289 |
|
3290 |
/*DOWN*/
|
3291 |
+
[data-element_type="eae-evergreen-timer.skin2"]
|
3292 |
+
.eae-flip-clock-wrapper
|
3293 |
+
ul.play
|
3294 |
+
li.flip-clock-before
|
3295 |
+
.down
|
3296 |
+
.shadow {
|
3297 |
+
background: -moz-linear-gradient(top, black 0%, rgba(0, 0, 0, 0.1) 100%);
|
3298 |
+
background: -webkit-gradient(
|
3299 |
+
linear,
|
3300 |
+
left top,
|
3301 |
+
left bottom,
|
3302 |
+
color-stop(0%, black),
|
3303 |
+
color-stop(100%, rgba(0, 0, 0, 0.1))
|
3304 |
+
);
|
3305 |
+
background: linear, top, black 0%, rgba(0, 0, 0, 0.1) 100%;
|
3306 |
+
background: -o-linear-gradient(top, black 0%, rgba(0, 0, 0, 0.1) 100%);
|
3307 |
+
background: -ms-linear-gradient(top, black 0%, rgba(0, 0, 0, 0.1) 100%);
|
3308 |
+
background: linear, to bottom, black 0%, rgba(0, 0, 0, 0.1) 100%;
|
3309 |
+
-webkit-animation: show 0.5s linear both;
|
3310 |
+
-moz-animation: show 0.5s linear both;
|
3311 |
+
animation: show 0.5s linear both;
|
3312 |
+
}
|
3313 |
+
|
3314 |
+
[data-element_type="eae-evergreen-timer.skin2"]
|
3315 |
+
.eae-flip-clock-wrapper
|
3316 |
+
ul.play
|
3317 |
+
li.flip-clock-active
|
3318 |
+
.down
|
3319 |
+
.shadow {
|
3320 |
+
background: -moz-linear-gradient(top, black 0%, rgba(0, 0, 0, 0.1) 100%);
|
3321 |
+
background: -webkit-gradient(
|
3322 |
+
linear,
|
3323 |
+
left top,
|
3324 |
+
left bottom,
|
3325 |
+
color-stop(0%, black),
|
3326 |
+
color-stop(100%, rgba(0, 0, 0, 0.1))
|
3327 |
+
);
|
3328 |
+
background: linear, top, black 0%, rgba(0, 0, 0, 0.1) 100%;
|
3329 |
+
background: -o-linear-gradient(top, black 0%, rgba(0, 0, 0, 0.1) 100%);
|
3330 |
+
background: -ms-linear-gradient(top, black 0%, rgba(0, 0, 0, 0.1) 100%);
|
3331 |
+
background: linear, to bottom, black 0%, rgba(0, 0, 0, 0.1) 100%;
|
3332 |
+
-webkit-animation: hide 0.5s 0.3s linear both;
|
3333 |
+
-moz-animation: hide 0.5s 0.3s linear both;
|
3334 |
+
animation: hide 0.5s 0.2s linear both;
|
3335 |
}
|
3336 |
|
3337 |
@-webkit-keyframes show {
|
3338 |
+
0% {
|
3339 |
+
opacity: 0;
|
3340 |
+
}
|
3341 |
|
3342 |
+
100% {
|
3343 |
+
opacity: 1;
|
3344 |
+
}
|
3345 |
}
|
3346 |
|
3347 |
@-moz-keyframes show {
|
3348 |
+
0% {
|
3349 |
+
opacity: 0;
|
3350 |
+
}
|
3351 |
|
3352 |
+
100% {
|
3353 |
+
opacity: 1;
|
3354 |
+
}
|
3355 |
}
|
3356 |
|
3357 |
@-o-keyframes show {
|
3358 |
+
0% {
|
3359 |
+
opacity: 0;
|
3360 |
+
}
|
3361 |
|
3362 |
+
100% {
|
3363 |
+
opacity: 1;
|
3364 |
+
}
|
3365 |
}
|
3366 |
|
3367 |
@keyframes show {
|
3368 |
+
0% {
|
3369 |
+
opacity: 0;
|
3370 |
+
}
|
3371 |
|
3372 |
+
100% {
|
3373 |
+
opacity: 1;
|
3374 |
+
}
|
3375 |
}
|
3376 |
|
3377 |
@-webkit-keyframes hide {
|
3378 |
+
0% {
|
3379 |
+
opacity: 1;
|
3380 |
+
}
|
3381 |
|
3382 |
+
100% {
|
3383 |
+
opacity: 0;
|
3384 |
+
}
|
3385 |
}
|
3386 |
|
3387 |
@-moz-keyframes hide {
|
3388 |
+
0% {
|
3389 |
+
opacity: 1;
|
3390 |
+
}
|
3391 |
|
3392 |
+
100% {
|
3393 |
+
opacity: 0;
|
3394 |
+
}
|
3395 |
}
|
3396 |
|
3397 |
@-o-keyframes hide {
|
3398 |
+
0% {
|
3399 |
+
opacity: 1;
|
3400 |
+
}
|
3401 |
|
3402 |
+
100% {
|
3403 |
+
opacity: 0;
|
3404 |
+
}
|
3405 |
}
|
3406 |
|
3407 |
@keyframes hide {
|
3408 |
+
0% {
|
3409 |
+
opacity: 1;
|
3410 |
+
}
|
3411 |
|
3412 |
+
100% {
|
3413 |
+
opacity: 0;
|
3414 |
+
}
|
3415 |
}
|
3416 |
|
3417 |
@media screen and (max-width: 767px) {
|
3418 |
+
[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-divider {
|
3419 |
+
width: 15px;
|
3420 |
+
}
|
3421 |
+
[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-dot {
|
3422 |
+
height: 5px;
|
3423 |
+
width: 5px;
|
3424 |
+
}
|
3425 |
+
[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul {
|
3426 |
+
height: 40px;
|
3427 |
+
}
|
3428 |
+
[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-divider {
|
3429 |
+
height: 50px;
|
3430 |
+
}
|
3431 |
+
[data-element_type="eae-evergreen-timer.skin2"]
|
3432 |
+
.eae-flip-clock-wrapper
|
3433 |
+
ul
|
3434 |
+
li {
|
3435 |
+
line-height: 37px;
|
3436 |
+
}
|
3437 |
+
[data-element_type="eae-evergreen-timer.skin2"]
|
3438 |
+
.eae-flip-clock-wrapper
|
3439 |
+
ul
|
3440 |
+
li
|
3441 |
+
a
|
3442 |
+
div
|
3443 |
+
div.inn {
|
3444 |
+
font-size: 24px;
|
3445 |
+
}
|
3446 |
+
[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul {
|
3447 |
+
margin: 2px;
|
3448 |
+
}
|
3449 |
+
/* [data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul {
|
3450 |
position: relative;
|
3451 |
float: left;
|
3452 |
margin: 5px;
|
3535 |
display: block;
|
3536 |
text-align: center;
|
3537 |
}*/
|
3538 |
+
[data-element_type="eae-evergreen-timer.skin3"] #timer {
|
3539 |
+
font-family: sans-serif;
|
3540 |
+
color: #fff;
|
3541 |
+
display: inline-block;
|
3542 |
+
font-weight: 100;
|
3543 |
+
text-align: center;
|
3544 |
+
font-size: 30px;
|
3545 |
}
|
3546 |
+
[data-element_type="eae-evergreen-timer.skin3"] .desc {
|
3547 |
+
display: flex;
|
3548 |
+
justify-content: center;
|
|
|
3549 |
}
|
3550 |
+
[data-element_type="eae-evergreen-timer.skin3"].eae-egt-content-align-right
|
3551 |
+
.desc {
|
3552 |
+
justify-content: flex-end;
|
3553 |
}
|
3554 |
+
[data-element_type="eae-evergreen-timer.skin3"].eae-egt-content-align-left
|
3555 |
+
.desc {
|
3556 |
+
justify-content: flex-start;
|
3557 |
}
|
3558 |
+
[data-element_type="eae-evergreen-timer.skin3"] .desc .egt-time-text {
|
3559 |
+
display: inline-block;
|
3560 |
+
padding: 0 50px 0 50px;
|
3561 |
}
|
3562 |
|
3563 |
+
[data-element_type="eae-evergreen-timer.skin3"] .eae-time-wrapper {
|
3564 |
+
padding: 50px;
|
3565 |
+
border-radius: 3px;
|
3566 |
+
background: #00bf96;
|
3567 |
+
display: inline-block;
|
3568 |
+
overflow: hidden;
|
3569 |
+
margin: 5px;
|
3570 |
+
line-height: 1em;
|
3571 |
}
|
3572 |
|
3573 |
[data-element_type="eae-evergreen-timer.skin3"] #timer span:nth-child(1) {
|
3574 |
+
background: khaki;
|
3575 |
}
|
3576 |
|
3577 |
[data-element_type="eae-evergreen-timer.skin3"] #timer span:nth-child(2) {
|
3578 |
+
background: indianred;
|
3579 |
}
|
3580 |
|
3581 |
[data-element_type="eae-evergreen-timer.skin3"] #timer span:nth-child(3) {
|
3582 |
+
background: cadetblue;
|
3583 |
}
|
3584 |
|
3585 |
[data-element_type="eae-evergreen-timer.skin3"] #timer span:nth-child(4) {
|
3586 |
+
background: cornflowerblue;
|
3587 |
}
|
3588 |
|
3589 |
[data-element_type="eae-evergreen-timer.skin3"] .fade {
|
3590 |
+
animation: flip 0.7s ease forwards;
|
3591 |
}
|
3592 |
|
3593 |
@keyframes flip {
|
3594 |
+
0% {
|
3595 |
+
transform: rotateY(0) scaleY(1.1);
|
3596 |
+
opacity: 0.5;
|
3597 |
+
}
|
3598 |
+
50% {
|
3599 |
+
transform: rotateY(180deg) scaleY(1.3);
|
3600 |
+
opacity: 0;
|
3601 |
+
}
|
3602 |
+
100% {
|
3603 |
+
transform: rotateY(0);
|
3604 |
+
opacity: 1;
|
3605 |
+
}
|
3606 |
}
|
3607 |
|
3608 |
@media screen and (max-width: 767px) {
|
3609 |
+
[data-element_type="eae-evergreen-timer.skin3"] #timer span {
|
3610 |
+
font-size: 22px;
|
3611 |
+
}
|
3612 |
+
[data-element_type="eae-evergreen-timer.skin2"]
|
3613 |
+
.flip-clock-divider
|
3614 |
+
.flip-clock-label {
|
3615 |
+
top: -1.5em;
|
3616 |
+
right: -42px;
|
3617 |
+
}
|
3618 |
|
3619 |
+
[data-element_type="eae-evergreen-timer.skin2"]
|
3620 |
+
.flip-clock-divider.minutes
|
3621 |
+
.flip-clock-label {
|
3622 |
+
right: -48px;
|
3623 |
+
}
|
3624 |
|
3625 |
+
[data-element_type="eae-evergreen-timer.skin2"]
|
3626 |
+
.flip-clock-divider.seconds
|
3627 |
+
.flip-clock-label {
|
3628 |
+
right: -51px;
|
3629 |
+
}
|
3630 |
}
|
3631 |
|
3632 |
/* Skin 4 - Digit Up Animation */
|
3633 |
[data-element_type="eae-evergreen-timer.skin4"] .eae-evergreen-wrapper {
|
3634 |
+
width: 100%;
|
3635 |
}
|
3636 |
[data-element_type="eae-evergreen-timer.skin4"] .container {
|
3637 |
+
margin: 0 auto;
|
3638 |
}
|
3639 |
[data-element_type="eae-evergreen-timer.skin4"] .special {
|
3640 |
+
position: relative;
|
3641 |
+
width: 840px;
|
3642 |
+
height: 47px;
|
3643 |
}
|
3644 |
[data-element_type="eae-evergreen-timer.skin4"] #counter {
|
3645 |
+
position: absolute;
|
3646 |
+
z-index: 4000;
|
3647 |
}
|
3648 |
[data-element_type="eae-evergreen-timer.skin4"] .digit-separator {
|
3649 |
+
position: relative;
|
3650 |
+
float: left;
|
3651 |
+
width: 17px;
|
3652 |
+
height: 44px;
|
3653 |
+
overflow: hidden;
|
3654 |
+
background-image: url("../digit-sep-svg.svg");
|
3655 |
+
background-repeat: no-repeat;
|
3656 |
+
background-position: 0px 0px;
|
3657 |
+
background-color: #4054b2;
|
3658 |
}
|
3659 |
[data-element_type="eae-evergreen-timer.skin4"] .digit {
|
3660 |
+
background-image: url("../digits-svg-alpha.svg");
|
3661 |
+
background-color: #4054b2;
|
3662 |
}
|
3663 |
|
3664 |
/* Comparison Table */
|
3665 |
|
3666 |
.eae-ct-wrapper * {
|
3667 |
+
box-sizing: border-box;
|
3668 |
|
3669 |
+
margin: 0;
|
3670 |
+
outline: 0;
|
3671 |
}
|
3672 |
+
article.eae-ct-wrapper {
|
3673 |
+
width: 100%;
|
3674 |
+
max-width: 1000px;
|
3675 |
+
margin: 0 auto;
|
3676 |
+
position: relative;
|
3677 |
}
|
3678 |
+
.eae-ct-wrapper tbody tr.eae-ct-header td,
|
3679 |
+
.eae-ct-wrapper th {
|
3680 |
+
position: relative;
|
3681 |
}
|
3682 |
.eae-ct-wrapper ul {
|
3683 |
+
display: none;
|
3684 |
+
top: 0px;
|
3685 |
+
z-index: 10;
|
3686 |
+
padding-bottom: 14px;
|
3687 |
}
|
3688 |
.eae-ct-wrapper li {
|
3689 |
+
list-style: none;
|
3690 |
+
flex: 1;
|
3691 |
+
position: relative;
|
3692 |
}
|
3693 |
.eae-ct-wrapper li:hover {
|
3694 |
+
cursor: pointer;
|
3695 |
}
|
3696 |
.eae-ct-wrapper li:last-child {
|
3697 |
+
/*border-right:1px solid #DDD;*/
|
3698 |
}
|
3699 |
.eae-ct-wrapper .eae-ct-heading {
|
3700 |
+
width: 100%;
|
3701 |
+
padding: 10px;
|
3702 |
+
background: #fff;
|
3703 |
+
font-size: 20px;
|
3704 |
+
font-weight: bold;
|
3705 |
+
height: 60px;
|
3706 |
+
color: #999;
|
3707 |
+
text-align: center;
|
3708 |
+
}
|
3709 |
+
.eae-ct-wrapper li.eae-ct-heading .eae-ct-heading-inner {
|
3710 |
+
position: absolute;
|
3711 |
+
align-self: center;
|
3712 |
+
top: 50%;
|
3713 |
+
left: 50%;
|
3714 |
+
transform: translate(-50%, -50%);
|
3715 |
+
width: 100%;
|
3716 |
}
|
3717 |
.eae-ct-wrapper li.eae-ct-heading.active {
|
3718 |
+
background: #f5f5f5;
|
3719 |
}
|
3720 |
+
.eae-ct-wrapper table {
|
3721 |
+
border-collapse: collapse;
|
3722 |
+
table-layout: fixed;
|
3723 |
+
width: 100%;
|
|
|
3724 |
}
|
3725 |
+
.eae-ct-wrapper th {
|
3726 |
+
background: #f5f5f5;
|
3727 |
+
display: none;
|
3728 |
}
|
3729 |
+
.eae-ct-wrapper td,
|
3730 |
+
.eae-ct-wrapper th {
|
3731 |
+
height: 53px;
|
3732 |
+
vertical-align: middle;
|
3733 |
}
|
3734 |
+
.eae-ct-wrapper table {
|
3735 |
+
border: none;
|
|
|
3736 |
}
|
3737 |
+
/*.eae-ct-wrapper table tr td:first-child,.eae-ct-wrapper table tr td:last-child, .eae-ct-wrapper td,.eae-ct-wrapper td,.eae-ct-wrapper th { border:1px solid #DDD; padding:10px; empty-cells:show; }*/
|
3738 |
+
.eae-ct-wrapper table th,
|
3739 |
+
.eae-ct-wrapper table td {
|
3740 |
+
border: none;
|
3741 |
+
}
|
3742 |
+
.eae-ct-wrapper table tr td:first-child,
|
3743 |
+
.eae-ct-wrapper table tr td:last-child,
|
3744 |
+
.eae-ct-wrapper td,
|
3745 |
+
.eae-ct-wrapper td,
|
3746 |
+
.eae-ct-wrapper th {
|
3747 |
+
padding: 10px;
|
3748 |
+
empty-cells: show;
|
3749 |
+
}
|
3750 |
+
.eae-ct-wrapper td,
|
3751 |
+
.eae-ct-wrapper th {
|
3752 |
+
text-align: center;
|
3753 |
}
|
3754 |
+
.eae-ct-wrapper td + td,
|
3755 |
+
.eae-ct-wrapper th + th {
|
3756 |
+
text-align: center;
|
3757 |
}
|
3758 |
+
.eae-ct-wrapper tr:first-child {
|
3759 |
+
background: none !important;
|
3760 |
}
|
3761 |
+
.eae-ct-wrapper ul li:nth-child(1) {
|
3762 |
+
display: table-cell;
|
3763 |
+
}
|
3764 |
+
.eae-ct-wrapper tr td:nth-child(2) {
|
3765 |
+
display: table-cell;
|
3766 |
}
|
3767 |
|
3768 |
.eae-ct-wrapper td:nth-child(1) {
|
3769 |
+
display: table-cell;
|
3770 |
+
}
|
3771 |
+
.eae-ct-wrapper td {
|
3772 |
+
display: none;
|
3773 |
}
|
|
|
|
|
|
|
3774 |
.eae-ct-wrapper .sep {
|
3775 |
+
background: #f5f5f5;
|
3776 |
+
font-weight: bold;
|
3777 |
}
|
3778 |
.eae-ct-price-wrapper {
|
3779 |
+
display: flex;
|
3780 |
+
justify-content: center;
|
3781 |
+
}
|
3782 |
+
.eae-ct-tt-type-icon .eae-ct-feature .tooltip {
|
3783 |
+
float: right;
|
3784 |
+
}
|
3785 |
+
.eae-ct-wrapper .tooltiptext::before {
|
3786 |
+
content: "";
|
3787 |
+
border-width: 5px 5px 0 5px;
|
3788 |
+
border-color: #fff;
|
3789 |
+
border-left-color: transparent;
|
3790 |
+
border-right-color: transparent;
|
3791 |
+
border-bottom-color: transparent;
|
3792 |
+
bottom: -10px;
|
3793 |
+
width: 0;
|
3794 |
+
height: 0;
|
3795 |
+
border-style: solid;
|
3796 |
+
position: absolute;
|
3797 |
+
margin: 5px;
|
3798 |
+
left: 42%;
|
3799 |
+
}
|
3800 |
+
.eae-ct-wrapper .eae-ct-price {
|
3801 |
+
font-size: 28px;
|
3802 |
+
font-weight: bold;
|
3803 |
+
line-height: 1em;
|
3804 |
+
}
|
3805 |
+
.eae-ct-wrapper .eae-ct-currency {
|
3806 |
+
align-self: flex-start;
|
3807 |
+
margin-right: 3px;
|
3808 |
+
}
|
3809 |
+
.eae-ct-wrapper .eae-ct-fractional-price {
|
3810 |
+
align-self: flex-start;
|
3811 |
+
margin-left: 3px;
|
3812 |
+
}
|
3813 |
+
.eae-ct-wrapper .eae-ct-duration {
|
3814 |
+
align-self: flex-start;
|
3815 |
+
}
|
3816 |
+
.eae-ct-wrapper .eae-ct-original-price {
|
3817 |
+
margin-right: 5px;
|
3818 |
+
text-decoration: line-through;
|
3819 |
+
align-self: flex-end;
|
3820 |
+
}
|
3821 |
+
.eae-ct-wrapper .tick {
|
3822 |
+
font-size: 18px;
|
3823 |
+
color: #2ca01c;
|
3824 |
+
}
|
3825 |
.feature-heading-blank.eae-ct-wrapper .hide {
|
3826 |
+
border: unset !important;
|
3827 |
+
background: unset !important;
|
3828 |
}
|
3829 |
+
.eae-ct-wrapper .hide.eae-ct-hide.eae-fbox-heading {
|
3830 |
+
border: 0px solid black;
|
3831 |
}
|
3832 |
.eae-ct-ribbons-yes .eae-ct-ribbons-wrapper {
|
3833 |
+
position: absolute;
|
3834 |
+
top: 0;
|
3835 |
+
/* -webkit-transform: rotate(90deg);
|
3836 |
-ms-transform: rotate(90deg);*/
|
3837 |
+
/* transform: rotate(90deg); */
|
3838 |
+
width: 100px;
|
3839 |
+
overflow: hidden;
|
3840 |
+
height: 100px;
|
3841 |
+
z-index: 998;
|
3842 |
+
padding: 8px 12px;
|
3843 |
+
}
|
3844 |
+
.eae-ct-ribbons-h-top.eae-ct-ribbons-yes .eae-ct-ribbons-wrapper {
|
3845 |
+
position: absolute;
|
3846 |
+
top: 0;
|
3847 |
+
width: 100%;
|
3848 |
+
overflow: hidden;
|
3849 |
+
height: 50px;
|
3850 |
+
z-index: 999;
|
3851 |
+
padding: 8px 12px;
|
3852 |
+
}
|
3853 |
+
.eae-ct-ribbons-h-top.eae-ct-ribbons-yes .eae-ct-ribbons-wrapper-top {
|
3854 |
+
background-color: rgba(63, 195, 135, 0.8);
|
3855 |
+
color: #fff;
|
3856 |
+
transform: translateY(-100%);
|
3857 |
+
position: absolute;
|
3858 |
+
width: 100%;
|
3859 |
+
top: 0;
|
3860 |
+
left: 0;
|
3861 |
}
|
3862 |
.eae-ct-ribbons-h-left.eae-ct-ribbons-yes .eae-ct-ribbons-wrapper {
|
3863 |
+
-webkit-transform: rotate(0);
|
3864 |
+
-ms-transform: rotate(0);
|
3865 |
+
transform: rotate(0);
|
3866 |
+
left: 0;
|
3867 |
+
right: auto;
|
3868 |
}
|
3869 |
.eae-ct-ribbons-h-right.eae-ct-ribbons-yes .eae-ct-ribbons-wrapper {
|
3870 |
+
-webkit-transform: rotate(0);
|
3871 |
+
-ms-transform: rotate(0);
|
3872 |
+
transform: rotate(90deg);
|
3873 |
+
left: auto;
|
3874 |
+
right: 0;
|
3875 |
}
|
3876 |
|
3877 |
.eae-ct-ribbons-yes .eae-ct-ribbons-wrapper span.eae-ct-ribbons-inner {
|
3878 |
+
position: absolute;
|
3879 |
+
text-align: center;
|
3880 |
+
left: 0;
|
3881 |
+
top: 0;
|
3882 |
+
width: 200%;
|
3883 |
+
-webkit-transform: translateY(-50%) translateX(-50%) translateX(35px)
|
3884 |
+
rotate(-45deg);
|
3885 |
+
-ms-transform: translateY(-50%) translateX(-50%) translateX(35px)
|
3886 |
+
rotate(-45deg);
|
3887 |
+
transform: translateY(-50%) translateX(-50%) translateX(35px) rotate(-45deg);
|
3888 |
+
margin-top: 35px;
|
3889 |
+
font-size: 13px;
|
3890 |
+
line-height: 2;
|
3891 |
+
font-weight: 800;
|
3892 |
+
text-transform: uppercase;
|
3893 |
+
background: rgba(63, 195, 135, 0.8);
|
3894 |
+
padding: 8px 12px;
|
3895 |
+
color: #ffffff;
|
3896 |
}
|
3897 |
.eae-ct-wrapper .tooltip {
|
3898 |
+
position: relative;
|
3899 |
+
display: inline-block;
|
3900 |
}
|
3901 |
|
3902 |
.eae-ct-wrapper .tooltip .tooltiptext {
|
3903 |
+
visibility: hidden;
|
3904 |
+
min-width: 120px;
|
3905 |
+
background-color: black;
|
3906 |
+
color: #fff;
|
3907 |
+
text-align: center;
|
3908 |
+
border-radius: 6px;
|
3909 |
+
padding: 5px 0;
|
3910 |
|
3911 |
+
/* Position the tooltip */
|
3912 |
+
position: absolute;
|
3913 |
+
z-index: 1;
|
3914 |
+
bottom: 120%;
|
3915 |
+
left: 50%;
|
3916 |
+
margin-left: -60px;
|
3917 |
}
|
3918 |
|
3919 |
.eae-ct-wrapper .tooltip:hover .tooltiptext {
|
3920 |
+
visibility: visible;
|
3921 |
}
|
3922 |
+
.eae-ct-heading-tooltip {
|
3923 |
+
text-decoration-line: underline;
|
3924 |
+
text-decoration-style: dotted;
|
3925 |
}
|
3926 |
+
.eae-ct-btn {
|
3927 |
+
padding: 10px 15px 10px 15px;
|
3928 |
+
color: #fff;
|
3929 |
+
display: inline-block;
|
3930 |
+
line-height: 1em;
|
3931 |
}
|
3932 |
+
.eae-ct-btn:hover {
|
3933 |
+
color: #fff;
|
3934 |
}
|
3935 |
+
.eae-ct-wrapper i.fa.fa-check,
|
3936 |
+
.eae-ct-wrapper i.fas.fa-check {
|
3937 |
+
color: #38f146;
|
3938 |
}
|
3939 |
+
.eae-ct-wrapper i.fa.fa-close,
|
3940 |
+
.eae-ct-wrapper i.fas.fa-times {
|
3941 |
+
color: #ff0000;
|
3942 |
}
|
3943 |
|
3944 |
+
.button-heading-blank.eae-ct-wrapper tr:last-child td:first-child {
|
3945 |
+
background: none !important;
|
3946 |
+
border: none !important;
|
3947 |
}
|
3948 |
|
3949 |
+
.eae-ct-wrapper tr:last-child {
|
3950 |
+
background: none !important;
|
3951 |
}
|
3952 |
tbody tr:nth-child(2) {
|
3953 |
+
background: none !important;
|
3954 |
}
|
3955 |
@media (min-width: 767px) {
|
3956 |
+
.eae-ct-wrapper td,
|
3957 |
+
.eae-ct-wrapper .eae-ct-header {
|
3958 |
+
width: 330px;
|
3959 |
+
}
|
3960 |
+
.eae-ct-wrapper td + td,
|
3961 |
+
.eae-ct-wrapper th + th {
|
3962 |
+
width: auto;
|
3963 |
+
}
|
3964 |
}
|
3965 |
|
3966 |
+
.eae-tab-format-all .eae-ct-wrapper ul {
|
3967 |
+
display: flex;
|
3968 |
+
}
|
3969 |
+
.hide.eae-ct-hide {
|
3970 |
+
display: table-cell;
|
3971 |
}
|
|
|
3972 |
@media (min-width: 1023px) {
|
3973 |
+
.eae-tab-format-all tbody tr.eae-ct-header {
|
3974 |
+
display: none;
|
3975 |
+
}
|
3976 |
+
.eae-tab-format-tab-mob .eae-ct-wrapper td,
|
3977 |
+
.eae-tab-format-tab-mob .eae-ct-wrapper th,
|
3978 |
+
.eae-tab-format-mobile .eae-ct-wrapper td,
|
3979 |
+
.eae-tab-format-mobile .eae-ct-wrapper th {
|
3980 |
+
display: table-cell !important;
|
3981 |
+
}
|
3982 |
+
|
3983 |
+
.eae-tab-format-all .hide.eae-ct-hide {
|
3984 |
+
display: table-cell;
|
3985 |
+
}
|
3986 |
+
.eae-tab-format-tab-mob .hide.eae-ct-hide,
|
3987 |
+
.eae-tab-format-mobile .hide.eae-ct-hide {
|
3988 |
+
display: none !important;
|
3989 |
+
}
|
3990 |
}
|
3991 |
@media (max-width: 1023px) {
|
3992 |
+
.eae-tab-format-tab-mob .eae-ct-wrapper ul {
|
3993 |
+
display: flex;
|
3994 |
+
}
|
3995 |
+
/*.eae-tab-format-all .eae-ct-wrapper td+td,.eae-tab-format-all .eae-ct-wrapper th+th{*/
|
3996 |
+
/* display: none;*/
|
3997 |
+
/*}*/
|
3998 |
+
.eae-tab-format-all tbody tr.eae-ct-header,
|
3999 |
+
.eae-tab-format-tab-mob tbody tr.eae-ct-header {
|
4000 |
+
display: none;
|
4001 |
+
}
|
4002 |
|
4003 |
+
.eae-tab-format-all .hide.eae-ct-hide {
|
4004 |
+
display: table-cell;
|
4005 |
+
}
|
4006 |
+
.eae-tab-format-tab-mob .hide.eae-ct-hide {
|
4007 |
+
display: table-cell;
|
4008 |
+
}
|
4009 |
}
|
4010 |
@media (max-width: 1023px) and (min-width: 768px) {
|
4011 |
+
.eae-tab-format-mobile .eae-ct-wrapper td,
|
4012 |
+
.eae-tab-format-mobile .eae-ct-wrapper th {
|
4013 |
+
display: table-cell !important;
|
4014 |
+
}
|
4015 |
+
/*[data-elementor-device-mode='tablet'] .eae-tab-format-mobile .eae-ct-hide.eae-fbox-heading{*/
|
4016 |
+
/* display: none !important;*/
|
4017 |
+
/*}*/
|
4018 |
+
|
4019 |
+
.eae-tab-format-all tbody tr.eae-ct-header,
|
4020 |
+
.eae-tab-format-tab-mob tbody tr.eae-ct-header {
|
4021 |
+
display: none;
|
4022 |
+
}
|
4023 |
+
.eae-tab-format-tab-mob .hide.eae-ct-hide {
|
4024 |
+
display: table-cell;
|
4025 |
+
}
|
4026 |
}
|
4027 |
@media (max-width: 767px) {
|
4028 |
+
.eae-tab-format-mobile .eae-ct-wrapper ul {
|
4029 |
+
display: flex;
|
4030 |
+
}
|
4031 |
+
.eae-tab-format-mobile tbody tr.eae-ct-header {
|
4032 |
+
display: none;
|
4033 |
+
}
|
4034 |
|
4035 |
+
.eae-tab-format-mobile tbody tr.eae-ct-header,
|
4036 |
+
.eae-tab-format-all tbody tr.eae-ct-header {
|
4037 |
+
display: none;
|
4038 |
+
}
|
4039 |
+
.eae-tab-format-mobile .hide.eae-ct-hide {
|
4040 |
+
display: table-cell;
|
4041 |
+
}
|
4042 |
}
|
4043 |
|
4044 |
/* Progress Bar */
|
4045 |
.eae-progress-bar-wrapper {
|
4046 |
+
display: flex;
|
4047 |
+
flex-direction: column;
|
4048 |
+
align-items: flex-start;
|
4049 |
+
margin: 15px 0;
|
4050 |
}
|
4051 |
|
4052 |
.eae-progress-bar-wrapper.eae-progress-bar {
|
4053 |
+
width: 100%;
|
4054 |
+
position: relative;
|
4055 |
+
box-sizing: border-box;
|
4056 |
}
|
4057 |
|
4058 |
.eae-pb-bar,
|
4059 |
.eae-pb-bar-inner,
|
4060 |
.eae-pb-bar-value,
|
4061 |
.eae-pb-bar-skill {
|
4062 |
+
box-sizing: border-box;
|
4063 |
}
|
4064 |
|
4065 |
+
.eae-pb-bar {
|
4066 |
+
position: relative;
|
4067 |
+
height: 100%;
|
4068 |
+
width: 100%;
|
4069 |
+
overflow: hidden;
|
4070 |
}
|
4071 |
|
4072 |
.eae-pb-bar--no-overflow {
|
4073 |
+
overflow: visible;
|
4074 |
}
|
4075 |
|
4076 |
.eae-pb-bar-inner {
|
4077 |
+
position: absolute;
|
4078 |
+
top: 0;
|
4079 |
+
left: 0;
|
4080 |
+
height: 100%;
|
4081 |
+
-webkit-transform: scaleX(0);
|
4082 |
+
transform: scaleX(0);
|
4083 |
+
-webkit-transform-origin: left center;
|
4084 |
+
transform-origin: left center;
|
4085 |
+
}
|
4086 |
+
body.rtl .eae-pb-bar .eae-pb-bar-inner {
|
4087 |
+
position: absolute;
|
4088 |
+
top: 0;
|
4089 |
+
right: 0 !important;
|
4090 |
+
height: 100%;
|
4091 |
+
-webkit-transform: scaleX(0);
|
4092 |
+
transform: scaleX(0);
|
4093 |
+
-webkit-transform-origin: right center;
|
4094 |
+
transform-origin: right center;
|
4095 |
}
|
4096 |
.eae-pb-bar-inner.js-animated {
|
4097 |
+
transition-property: all;
|
4098 |
+
transition-duration: 1.5s;
|
4099 |
+
transition-timing-function: cubic-bezier(0.1, 1.14, 0.31, 1.06);
|
4100 |
+
transition-delay: 1.5s;
|
4101 |
+
-webkit-transform: scaleX(1);
|
4102 |
+
transform: scaleX(1);
|
4103 |
+
}
|
4104 |
+
body.rtl .eae-pb-bar .eae-pb-bar-inner.js-animated {
|
4105 |
+
transition-property: all;
|
4106 |
+
transition-duration: 1.5s;
|
4107 |
+
transition-timing-function: cubic-bezier(0.1, 1.14, 0.31, 1.06);
|
4108 |
+
transition-delay: 1.5s;
|
4109 |
+
-webkit-transform: scaleX(1);
|
4110 |
+
transform: scaleX(1);
|
4111 |
}
|
|
|
4112 |
.eae-pb-bar-skill,
|
4113 |
.eae-pb-bar-value {
|
4114 |
+
font-size: 14px;
|
4115 |
+
letter-spacing: 1px;
|
4116 |
}
|
4117 |
|
4118 |
+
body:not(.rtl) .eae-pb-bar-value--aligned-value {
|
4119 |
+
-webkit-transform: translateX(-50%);
|
4120 |
+
transform: translateX(-50%);
|
4121 |
+
}
|
4122 |
+
body.rtl .eae-pb-bar-value--aligned-value {
|
4123 |
+
-webkit-transform: translateX(50%);
|
4124 |
+
transform: translateX(50%);
|
4125 |
}
|
4126 |
|
4127 |
/* progress bar #1 styles */
|
4128 |
+
.eae-progress-bar-skin1 {
|
4129 |
+
height: 20px;
|
4130 |
+
padding: 4px;
|
4131 |
+
border: 1px solid #dddddd;
|
4132 |
+
border-radius: 20px;
|
4133 |
}
|
4134 |
+
.eae-pb-bar-skin1 {
|
4135 |
+
border-radius: 20px;
|
4136 |
}
|
4137 |
.eae-pb-bar-inner-skin1 {
|
4138 |
+
background-color: #00bfb3;
|
4139 |
+
background-size: 200%;
|
4140 |
+
background-position: 0 0;
|
4141 |
+
border-radius: 20px;
|
4142 |
}
|
4143 |
|
4144 |
.eae-pb-bar-skill-skin1 {
|
4145 |
+
position: absolute;
|
4146 |
+
bottom: 20px;
|
4147 |
+
left: 0px;
|
4148 |
+
opacity: 0;
|
4149 |
+
}
|
4150 |
+
body.rtl .eae-pb-bar-skill-skin1 {
|
4151 |
+
right: 0px;
|
4152 |
}
|
4153 |
.eae-pb-bar-skill-skin1.js-animated {
|
4154 |
+
transition-property: all;
|
4155 |
+
transition-duration: 0.5s;
|
4156 |
+
transition-timing-function: linear;
|
4157 |
+
transition-delay: 0.5s;
|
4158 |
+
left: 0;
|
4159 |
+
opacity: 1;
|
4160 |
+
}
|
4161 |
+
body.rtl .eae-pb-bar-skill-skin1.js-animated {
|
4162 |
+
right: 0 !important;
|
4163 |
}
|
4164 |
|
4165 |
.eae-pb-bar-value-skin1 {
|
4166 |
+
position: absolute;
|
4167 |
+
bottom: 20px;
|
4168 |
+
opacity: 1;
|
|
|
4169 |
}
|
4170 |
+
body:not(.rtl) .eae-pb-bar-value-skin1 {
|
4171 |
+
right: 0;
|
4172 |
+
}
|
4173 |
+
body.rtl .eae-pb-bar-value-skin1 {
|
4174 |
+
left: 0% !important;
|
|
|
|
|
4175 |
}
|
4176 |
|
4177 |
+
.eae-pb-bar-value-skin1.js-animated {
|
4178 |
+
transition-property: all;
|
4179 |
+
transition-duration: 0.5s;
|
4180 |
+
transition-timing-function: linear;
|
4181 |
+
transition-delay: 0.5s;
|
4182 |
+
opacity: 1;
|
4183 |
+
}
|
4184 |
+
body:not(.rtl) .eae-pb-bar-value-skin1.js-animated {
|
4185 |
+
right: 0;
|
4186 |
+
}
|
4187 |
|
4188 |
/* progress bar #2 styles */
|
4189 |
.eae-progress-bar-skin2 {
|
4190 |
+
height: 15px;
|
4191 |
+
box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14),
|
4192 |
+
0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);
|
4193 |
+
border-radius: 3px;
|
4194 |
+
}
|
4195 |
+
|
4196 |
+
@-webkit-keyframes progress-2-bg-animation-rtl {
|
4197 |
+
100% {
|
4198 |
+
background-position: 0 0, 0 0;
|
4199 |
+
}
|
4200 |
+
0% {
|
4201 |
+
background-position: 0 0, 42px 0;
|
4202 |
+
}
|
4203 |
+
}
|
4204 |
+
|
4205 |
+
@keyframes progress-2-bg-animation-rtl {
|
4206 |
+
100% {
|
4207 |
+
background-position: 0 0, 0 0;
|
4208 |
+
}
|
4209 |
+
0% {
|
4210 |
+
background-position: 0 0, 42px 0;
|
4211 |
+
}
|
4212 |
}
|
4213 |
|
4214 |
@-webkit-keyframes progress-2-bg-animation {
|
4215 |
+
0% {
|
4216 |
+
background-position: 0 0, 0 0;
|
4217 |
+
}
|
4218 |
+
1000% {
|
4219 |
+
background-position: 0 0, 42px 0;
|
4220 |
+
}
|
4221 |
}
|
4222 |
|
4223 |
@keyframes progress-2-bg-animation {
|
4224 |
+
0% {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4225 |
background-position: 0 0, 0 0;
|
4226 |
+
}
|
4227 |
+
100% {
|
4228 |
+
background-position: 0 0, 42px 0;
|
4229 |
+
}
|
4230 |
}
|
4231 |
+
|
4232 |
+
.eae-pb-bar-inner-skin2 {
|
4233 |
+
background-image: linear-gradient(
|
4234 |
+
to top,
|
4235 |
+
rgba(255, 255, 255, 0.15),
|
4236 |
+
rgba(0, 0, 0, 0.2)
|
4237 |
+
),
|
4238 |
+
linear-gradient(
|
4239 |
+
135deg,
|
4240 |
+
#5eeb5b,
|
4241 |
+
#5eeb5b 33%,
|
4242 |
+
#358600 33%,
|
4243 |
+
#358600 66%,
|
4244 |
+
#5eeb5b 66%
|
4245 |
+
);
|
4246 |
+
background-size: 100% 100%, 42px 100%;
|
4247 |
+
background-position: 0 0, 0 0;
|
4248 |
+
border-radius: 3px;
|
4249 |
+
}
|
4250 |
+
body:not(.rtl) .eae-pb-bar-inner-skin2.js-animated {
|
4251 |
+
-webkit-animation: progress-2-bg-animation 1.5s linear 0s infinite;
|
4252 |
+
animation: progress-2-bg-animation 1.5s linear 0s infinite;
|
4253 |
+
}
|
4254 |
+
|
4255 |
+
body.rtl .eae-pb-bar-inner-skin2.js-animated {
|
4256 |
+
-webkit-animation: progress-2-bg-animation-rtl 1.5s linear 0s infinite;
|
4257 |
+
animation: progress-2-bg-animation-rtl 1.5s linear 0s infinite;
|
4258 |
}
|
4259 |
|
4260 |
.eae-pb-bar-skill-skin2 {
|
4261 |
+
position: absolute;
|
4262 |
+
opacity: 0;
|
4263 |
+
}
|
4264 |
+
body:not(.rtl) .eae-pb-bar-skill-skin2 {
|
4265 |
+
left: 0;
|
4266 |
+
}
|
4267 |
+
body.rtl .eae-pb-bar-skill-skin2 {
|
4268 |
+
right: 0;
|
4269 |
}
|
4270 |
+
|
4271 |
.eae-pb-bar-skill-skin2.js-animated {
|
4272 |
+
transition-property: all;
|
4273 |
+
transition-duration: 0.5s;
|
4274 |
+
transition-timing-function: linear;
|
4275 |
+
transition-delay: 0.5s;
|
4276 |
+
bottom: 20px;
|
4277 |
+
opacity: 1;
|
4278 |
}
|
4279 |
|
4280 |
.eae-pb-bar-value-skin2 {
|
4281 |
+
position: absolute;
|
4282 |
+
opacity: 0;
|
4283 |
+
}
|
4284 |
+
body:not(.rtl) .eae-pb-bar-value-skin2 {
|
4285 |
+
right: 0;
|
4286 |
}
|
4287 |
+
body.rtl .eae-pb-bar-value-skin2 {
|
4288 |
+
left: 0%;
|
4289 |
+
}
|
4290 |
+
|
4291 |
.eae-pb-bar-value-skin2.js-animated {
|
4292 |
+
transition-property: all;
|
4293 |
+
transition-duration: 0.5s;
|
4294 |
+
transition-timing-function: linear;
|
4295 |
+
transition-delay: 0.5s;
|
4296 |
+
bottom: 20px;
|
4297 |
+
opacity: 1;
|
4298 |
}
|
4299 |
|
4300 |
/* Progress Bar Skin 3*/
|
4301 |
|
4302 |
.eae-progress-bar-skin3 {
|
4303 |
+
height: 5px;
|
4304 |
+
background-color: #efefef;
|
4305 |
}
|
4306 |
+
.eae-pb-bar-value-skin3,
|
4307 |
+
.eae-pb-bar-inner-skin3 {
|
4308 |
+
background-color: #f40076;
|
4309 |
}
|
4310 |
+
.eae-pb-bar-value-skin3:after,
|
4311 |
+
.eae-pb-bar-inner:after {
|
4312 |
+
border-top-color: #f40076;
|
4313 |
}
|
4314 |
|
4315 |
.eae-pb-bar-skill-skin3 {
|
4316 |
+
position: absolute;
|
4317 |
+
bottom: 10px;
|
4318 |
+
left: -10px;
|
4319 |
+
opacity: 0;
|
4320 |
}
|
4321 |
.eae-pb-bar-skill-skin3.js-animated {
|
4322 |
+
transition-property: all;
|
4323 |
+
transition-duration: 0.5s;
|
4324 |
+
transition-timing-function: linear;
|
4325 |
+
transition-delay: 0.5s;
|
4326 |
+
opacity: 1;
|
4327 |
+
}
|
4328 |
+
body:not(.rtl) .eae-pb-bar-skill-skin3.js-animated {
|
4329 |
+
left: 0;
|
4330 |
+
}
|
4331 |
+
body.rtl .eae-pb-bar-skill-skin3.js-animated {
|
4332 |
+
right: 0;
|
4333 |
}
|
4334 |
|
4335 |
.eae-pb-bar-value-skin3 {
|
4336 |
+
position: absolute;
|
4337 |
+
display: inline-block;
|
4338 |
+
padding: 0px 8px;
|
4339 |
+
font-size: 14px;
|
4340 |
+
color: #fff;
|
4341 |
+
opacity: 0;
|
4342 |
}
|
4343 |
.eae-pb-bar-value-skin3:after {
|
4344 |
+
position: absolute;
|
4345 |
+
left: 50%;
|
4346 |
+
bottom: -10px;
|
4347 |
+
display: block;
|
4348 |
+
width: 0;
|
4349 |
+
height: 0;
|
4350 |
+
content: "";
|
4351 |
+
-webkit-transform: translateX(-50%);
|
4352 |
+
transform: translateX(-50%);
|
4353 |
+
border-width: 5px;
|
4354 |
+
border-style: solid;
|
4355 |
+
border-color: #f40076 transparent transparent transparent;
|
4356 |
}
|
4357 |
.eae-pb-bar-inner-skin3.js-animated {
|
4358 |
+
transition-property: all;
|
4359 |
+
transition-duration: 1.5s;
|
4360 |
+
transition-timing-function: cubic-bezier(0.1, 1.14, 0.31, 1.06);
|
4361 |
+
transition-delay: 1.5s;
|
4362 |
+
-webkit-transform: scaleX(1);
|
4363 |
+
transform: scaleX(1);
|
4364 |
}
|
4365 |
.eae-pb-bar-value-skin3.js-animated {
|
4366 |
+
transition-property: all;
|
4367 |
+
transition-duration: 1.5s;
|
4368 |
+
transition-timing-function: cubic-bezier(0.1, 1.14, 0.31, 1.06);
|
4369 |
+
transition-delay: 2s;
|
4370 |
+
bottom: 14px;
|
4371 |
+
opacity: 1;
|
4372 |
}
|
4373 |
|
4374 |
/* Progress Bar Skin 4 */
|
4375 |
.eae-progress-bar-skin4 {
|
4376 |
+
height: 3px;
|
4377 |
+
background-color: #efefef;
|
4378 |
}
|
4379 |
|
4380 |
.eae-pb-bar-inner-skin4 {
|
4381 |
+
background-color: #000;
|
4382 |
}
|
4383 |
.eae-pb-bar-inner-skin4:after {
|
4384 |
+
position: absolute;
|
4385 |
+
top: 50%;
|
4386 |
+
display: block;
|
4387 |
+
width: 8px;
|
4388 |
+
height: 8px;
|
4389 |
+
content: "";
|
4390 |
+
-webkit-transform: translateY(-50%);
|
4391 |
+
transform: translateY(-50%);
|
4392 |
+
background-color: #000;
|
4393 |
+
border-radius: 50%;
|
4394 |
+
}
|
4395 |
+
body:not(.rtl) .eae-pb-bar-inner-skin4:after {
|
4396 |
+
right: 0;
|
4397 |
+
}
|
4398 |
+
body.rtl .eae-pb-bar-inner-skin4:after {
|
4399 |
+
left: 0;
|
4400 |
}
|
|
|
4401 |
.eae-pb-bar-value-skin4 {
|
4402 |
+
position: absolute;
|
4403 |
+
bottom: 2px;
|
4404 |
+
font-size: 14px;
|
4405 |
+
opacity: 0;
|
4406 |
}
|
4407 |
.eae-pb-bar-value-skin4.js-animated {
|
4408 |
+
transition-property: all;
|
4409 |
+
transition-duration: 1.5s;
|
4410 |
+
transition-timing-function: linear;
|
4411 |
+
transition-delay: 1.5s;
|
4412 |
+
opacity: 1;
|
4413 |
}
|
4414 |
|
4415 |
.eae-pb-bar-skill-skin4 {
|
4416 |
+
position: absolute;
|
4417 |
+
bottom: 2px;
|
4418 |
+
left: -20px;
|
4419 |
+
opacity: 0;
|
4420 |
}
|
4421 |
.eae-pb-bar-skill-skin4.js-animated {
|
4422 |
+
transition-property: all;
|
4423 |
+
transition-duration: 0.5s;
|
4424 |
+
transition-timing-function: linear;
|
4425 |
+
transition-delay: 0.5s;
|
4426 |
+
opacity: 1;
|
4427 |
+
}
|
4428 |
+
body:not(.rtl) .eae-pb-bar-skill-skin4.js-animated {
|
4429 |
+
left: 0;
|
4430 |
+
}
|
4431 |
+
body.rtl .eae-pb-bar-skill-skin4.js-animated {
|
4432 |
+
right: 0;
|
4433 |
}
|
4434 |
|
4435 |
/* Progress Bar Skin 5 */
|
4436 |
.eae-progress-bar-skin5 {
|
4437 |
+
height: 30px;
|
4438 |
+
background-color: #f7f7f7;
|
4439 |
}
|
4440 |
|
4441 |
+
.eae-pb-bar-inner-skin5 {
|
4442 |
+
background-color: #57b8ff;
|
4443 |
}
|
4444 |
|
4445 |
.eae-pb-bar-skill-skin5 {
|
4446 |
+
position: absolute;
|
4447 |
+
top: 50%;
|
4448 |
+
color: #fff;
|
4449 |
+
-webkit-transform: translateY(-50%);
|
4450 |
+
transform: translateY(-50%);
|
4451 |
+
opacity: 0;
|
4452 |
+
}
|
4453 |
+
body:not(.rtl) .eae-pb-bar-skill-skin5 {
|
4454 |
+
left: 10px;
|
4455 |
+
}
|
4456 |
+
body:not(.rtl) .eae-pb-bar-skill-skin5 {
|
4457 |
+
right: 10px;
|
4458 |
}
|
4459 |
.eae-pb-bar-skill-skin5.js-animated {
|
4460 |
+
transition-property: all;
|
4461 |
+
transition-duration: 0.5s;
|
4462 |
+
transition-timing-function: linear;
|
4463 |
+
transition-delay: 0.5s;
|
4464 |
+
opacity: 1;
|
4465 |
}
|
4466 |
|
4467 |
.eae-pb-bar-value-skin5 {
|
4468 |
+
position: absolute;
|
4469 |
+
top: 50%;
|
4470 |
+
color: #fff;
|
4471 |
+
opacity: 0;
|
4472 |
+
z-index: 10;
|
4473 |
+
}
|
4474 |
+
body:not(.rtl) .eae-pb-bar-value-skin5 {
|
4475 |
+
-webkit-transform: translateX(-100%) translateX(-10px) translateY(-50%);
|
4476 |
+
transform: translateX(-100%) translateX(-10px) translateY(-50%);
|
4477 |
+
}
|
4478 |
+
body.rtl .eae-pb-bar-value-skin5 {
|
4479 |
+
-webkit-transform: translateX(100%) translateX(10px) translateY(-50%);
|
4480 |
+
transform: translateX(100%) translateX(10px) translateY(-50%);
|
4481 |
}
|
4482 |
.eae-pb-bar-value-skin5.js-animated {
|
4483 |
+
transition-property: all;
|
4484 |
+
transition-duration: 1.5s;
|
4485 |
+
transition-timing-function: linear;
|
4486 |
+
transition-delay: 1.5s;
|
4487 |
+
opacity: 1;
|
4488 |
}
|
4489 |
|
4490 |
/* EAE Dual Button */
|
4491 |
+
.eae-dual-button-wrapper .eae-button-1-wrapper,
|
4492 |
+
.eae-dual-button-wrapper .eae-button-2-wrapper {
|
4493 |
+
overflow: hidden;
|
4494 |
}
|
4495 |
|
4496 |
+
.eae-dual-button-wrapper.button-style-horizontal {
|
4497 |
+
display: flex;
|
4498 |
+
flex-direction: row;
|
4499 |
+
position: relative;
|
4500 |
}
|
4501 |
+
.eae-dual-button-main-wrapper {
|
4502 |
+
display: flex;
|
4503 |
+
flex-direction: row;
|
4504 |
+
justify-content: center;
|
4505 |
}
|
4506 |
+
.eae-dual-button-wrapper a {
|
4507 |
+
min-width: 0px;
|
4508 |
}
|
4509 |
+
.eae-dual-button-wrapper.button-style-vertical {
|
4510 |
+
display: inline-flex;
|
4511 |
+
flex-direction: column;
|
4512 |
+
position: relative;
|
4513 |
}
|
4514 |
+
.eae-button-1.icon-before,
|
4515 |
+
.eae-button-2.icon-before {
|
4516 |
+
display: flex;
|
4517 |
+
flex-direction: row;
|
4518 |
}
|
4519 |
+
body.rtl .eae-button-1.icon-before,
|
4520 |
+
body.rtl .eae-button-2.icon-before {
|
4521 |
+
display: flex;
|
4522 |
+
flex-direction: row-reverse;
|
4523 |
}
|
4524 |
+
.eae-button-1.icon-after,
|
4525 |
+
.eae-button-2.icon-after {
|
4526 |
+
display: flex;
|
4527 |
+
flex-direction: row-reverse;
|
4528 |
+
}
|
4529 |
+
body.rtl .eae-button-1.icon-after,
|
4530 |
+
body.rtl .eae-button-2.icon-after {
|
4531 |
+
display: flex;
|
4532 |
+
flex-direction: row;
|
4533 |
}
|
4534 |
+
.eae-button-1-wrapper .eae-button-1,
|
4535 |
+
.eae-button-2-wrapper .eae-button-2 {
|
4536 |
+
color: black;
|
4537 |
+
align-items: center;
|
4538 |
+
}
|
4539 |
+
.eae-button-1-wrapper:hover .eae-button-1,
|
4540 |
+
.eae-button-2-wrapper:hover .eae-button-2 {
|
4541 |
+
color: black;
|
4542 |
}
|
4543 |
.eae-dual-button-wrapper.button-style-vertical .eae-button-1.icon-before,
|
4544 |
.eae-dual-button-wrapper.button-style-vertical .eae-button-2.icon-before,
|
4545 |
.eae-dual-button-wrapper.button-style-vertical .eae-button-1.icon-after,
|
4546 |
+
.eae-dual-button-wrapper.button-style-vertical .eae-button-2.icon-after {
|
4547 |
+
justify-content: center;
|
4548 |
}
|
4549 |
+
.eae-button-1.icon-up,
|
4550 |
+
.eae-button-2.icon-up {
|
4551 |
display: flex;
|
4552 |
flex-direction: column;
|
4553 |
text-align: center;
|
4554 |
}
|
4555 |
+
.eae-button-1.icon-down,
|
4556 |
+
.eae-button-2.icon-down {
|
4557 |
+
display: flex;
|
4558 |
+
flex-direction: column-reverse;
|
4559 |
+
text-align: center;
|
4560 |
}
|
4561 |
.eae-button-1-wrapper {
|
4562 |
+
background: lightpink;
|
4563 |
+
display: flex;
|
4564 |
+
justify-content: center;
|
4565 |
+
width: 100%;
|
4566 |
+
line-height: 1;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4567 |
}
|
4568 |
+
.eae-button-2-wrapper {
|
4569 |
+
background: orange;
|
4570 |
+
display: flex;
|
4571 |
+
justify-content: center;
|
4572 |
+
width: 100%;
|
4573 |
+
line-height: 1;
|
4574 |
+
}
|
4575 |
+
.eae-button-1.icon-up .icon-wrapper,
|
4576 |
+
.eae-button-2.icon-up .icon-wrapper,
|
4577 |
+
.eae-button-2.icon-down .icon-wrapper,
|
4578 |
+
.eae-button-2.icon-down .icon-wrapper {
|
4579 |
+
text-align: center;
|
4580 |
}
|
4581 |
+
.eae-button-1.icon-up .eae-button-text,
|
4582 |
+
.eae-button-2.icon-up .eae-button-text,
|
4583 |
+
.eae-button-2.icon-down .eae-button-text,
|
4584 |
+
.eae-button-2.icon-down .eae-button-text {
|
4585 |
+
text-align: center;
|
4586 |
}
|
4587 |
+
.eae-button-1.icon-before i,
|
4588 |
+
.eae-button-2.icon-before i,
|
4589 |
+
.eae-button-2.icon-after i {
|
4590 |
+
align-self: center;
|
4591 |
+
margin: 0 10px 0 0;
|
4592 |
+
}
|
4593 |
+
.eae-button-1.icon-after i,
|
4594 |
+
.eae-button-2.icon-after i {
|
4595 |
+
align-self: center;
|
4596 |
+
margin: 0 0 0 10px;
|
4597 |
+
}
|
4598 |
+
.eae-button-1.icon-up i,
|
4599 |
+
.eae-button-1.icon-down i,
|
4600 |
+
.eae-button-2.icon-up i,
|
4601 |
+
.eae-button-2.icon-down i {
|
4602 |
+
align-self: center;
|
4603 |
+
margin: 5px 0;
|
4604 |
+
}
|
4605 |
+
.eae-dual-button-wrapper.button-style-horizontal .eae-button-1-wrapper,
|
4606 |
+
.eae-dual-button-wrapper.button-style-horizontal .eae-button-2-wrapper {
|
4607 |
+
padding: 12px 30px;
|
4608 |
+
}
|
4609 |
+
.eae-dual-button-wrapper.button-style-vertical .eae-button-1-wrapper,
|
4610 |
+
.eae-dual-button-wrapper.button-style-vertical .eae-button-2-wrapper {
|
4611 |
+
padding: 20px 30px;
|
4612 |
+
}
|
4613 |
+
.eae-button1,
|
4614 |
+
.eae-button2 {
|
4615 |
+
position: relative;
|
4616 |
+
display: flex;
|
4617 |
}
|
|
|
4618 |
|
4619 |
+
.eae-dual-button-wrapper.button-style-horizontal .eae-button1,
|
4620 |
+
.eae-dual-button-wrapper.button-style-horizontal .eae-button2 {
|
4621 |
+
min-width: 150px;
|
4622 |
}
|
4623 |
+
.eae-dual-button-wrapper.button-style-vertical .eae-button1 {
|
4624 |
+
display: flex;
|
4625 |
+
flex-direction: column;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4626 |
}
|
4627 |
+
.eae-button-separator-wrapper .eae-button-separator {
|
4628 |
+
width: 40px;
|
4629 |
+
height: 40px;
|
4630 |
+
line-height: 40px;
|
4631 |
+
border-radius: 50%;
|
4632 |
+
z-index: 1;
|
4633 |
+
box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.2);
|
4634 |
+
background: #fafaf8;
|
4635 |
+
color: #444;
|
4636 |
+
text-transform: uppercase;
|
4637 |
+
text-align: center;
|
4638 |
+
vertical-align: middle;
|
4639 |
+
font-weight: 400;
|
4640 |
+
font-size: 14px;
|
4641 |
+
position: absolute;
|
4642 |
+
transform: translateY(-50%);
|
4643 |
+
}
|
4644 |
+
.eae-button-separator span {
|
4645 |
+
position: absolute;
|
4646 |
+
left: 50%;
|
4647 |
+
top: 50%;
|
4648 |
+
transform: translate(-50%, -50%);
|
4649 |
+
}
|
4650 |
+
body.rtl.elementor-editor-active
|
4651 |
+
.eae-dual-button-main-wrapper
|
4652 |
+
.button-style-horizontal
|
4653 |
+
.eae-button1
|
4654 |
+
.eae-button-separator-wrapper.not-rtl
|
4655 |
+
.eae-button-separator {
|
4656 |
+
display: none !important;
|
4657 |
+
}
|
4658 |
+
body:not(.rtl).elementor-editor-active
|
4659 |
+
.eae-dual-button-main-wrapper
|
4660 |
+
.button-style-horizontal
|
4661 |
+
.eae-button2
|
4662 |
+
.eae-button-separator-wrapper.rtl
|
4663 |
+
.eae-button-separator {
|
4664 |
+
display: none !important;
|
4665 |
}
|
4666 |
+
|
4667 |
/* Sweep to right */
|
4668 |
.eae-sweep-right {
|
4669 |
+
vertical-align: middle;
|
4670 |
+
-webkit-transform: perspective(1px) translateZ(0);
|
4671 |
+
transform: perspective(1px) translateZ(0);
|
4672 |
+
box-shadow: 0 0 1px rgba(0, 0, 0, 0);
|
4673 |
+
position: relative;
|
4674 |
+
-webkit-transition-property: color;
|
4675 |
+
transition-property: color;
|
4676 |
+
-webkit-transition-duration: 0.3s;
|
4677 |
+
transition-duration: 0.3s;
|
4678 |
}
|
4679 |
.eae-sweep-right:before {
|
4680 |
+
content: "";
|
4681 |
+
position: absolute;
|
4682 |
+
z-index: -1;
|
4683 |
+
top: 0;
|
4684 |
+
left: 0;
|
4685 |
+
right: 0;
|
4686 |
+
bottom: 0;
|
4687 |
+
background: #2098d1;
|
4688 |
+
-webkit-transform: scaleX(0);
|
4689 |
+
transform: scaleX(0);
|
4690 |
+
-webkit-transform-origin: 0 50%;
|
4691 |
+
transform-origin: 0 50%;
|
4692 |
+
-webkit-transition-property: transform;
|
4693 |
+
transition-property: transform;
|
4694 |
+
-webkit-transition-duration: 0.3s;
|
4695 |
+
transition-duration: 0.3s;
|
4696 |
+
-webkit-transition-timing-function: ease-out;
|
4697 |
+
transition-timing-function: ease-out;
|
4698 |
+
}
|
4699 |
+
.eae-sweep-right:hover,
|
4700 |
+
.eae-sweep-right:focus,
|
4701 |
+
.eae-sweep-right:active {
|
4702 |
+
color: white;
|
4703 |
+
}
|
4704 |
+
.eae-sweep-right:hover:before,
|
4705 |
+
.eae-sweep-right:focus:before,
|
4706 |
+
.eae-sweep-right:active:before {
|
4707 |
+
-webkit-transform: scaleX(1);
|
4708 |
+
transform: scaleX(1);
|
4709 |
}
|
4710 |
|
4711 |
/* Sweep To Left */
|
4712 |
.eae-sweep-left {
|
4713 |
+
vertical-align: middle;
|
4714 |
+
-webkit-transform: perspective(1px) translateZ(0);
|
4715 |
+
transform: perspective(1px) translateZ(0);
|
4716 |
+
box-shadow: 0 0 1px rgba(0, 0, 0, 0);
|
4717 |
+
position: relative;
|
4718 |
+
-webkit-transition-property: color;
|
4719 |
+
transition-property: color;
|
4720 |
+
-webkit-transition-duration: 0.3s;
|
4721 |
+
transition-duration: 0.3s;
|
4722 |
}
|
4723 |
.eae-sweep-left:before {
|
4724 |
+
content: "";
|
4725 |
+
position: absolute;
|
4726 |
+
z-index: -1;
|
4727 |
+
top: 0;
|
4728 |
+
left: 0;
|
4729 |
+
right: 0;
|
4730 |
+
bottom: 0;
|
4731 |
+
background: #2098d1;
|
4732 |
+
-webkit-transform: scaleX(0);
|
4733 |
+
transform: scaleX(0);
|
4734 |
+
-webkit-transform-origin: 100% 50%;
|
4735 |
+
transform-origin: 100% 50%;
|
4736 |
+
-webkit-transition-property: transform;
|
4737 |
+
transition-property: transform;
|
4738 |
+
-webkit-transition-duration: 0.3s;
|
4739 |
+
transition-duration: 0.3s;
|
4740 |
+
-webkit-transition-timing-function: ease-out;
|
4741 |
+
transition-timing-function: ease-out;
|
4742 |
+
}
|
4743 |
+
.eae-sweep-left:hover,
|
4744 |
+
.eae-sweep-left:focus,
|
4745 |
+
.eae-sweep-left:active {
|
4746 |
+
color: white;
|
4747 |
+
}
|
4748 |
+
.eae-sweep-left:hover:before,
|
4749 |
+
.eae-sweep-left:focus:before,
|
4750 |
+
.eae-sweep-left:active:before {
|
4751 |
+
-webkit-transform: scaleX(1);
|
4752 |
+
transform: scaleX(1);
|
4753 |
}
|
4754 |
|
4755 |
/* Sweep To Bottom */
|
4756 |
.eae-sweep-bottom {
|
4757 |
+
vertical-align: middle;
|
4758 |
+
-webkit-transform: perspective(1px) translateZ(0);
|
4759 |
+
transform: perspective(1px) translateZ(0);
|
4760 |
+
box-shadow: 0 0 1px rgba(0, 0, 0, 0);
|
4761 |
+
position: relative;
|
4762 |
+
-webkit-transition-property: color;
|
4763 |
+
transition-property: color;
|
4764 |
+
-webkit-transition-duration: 0.3s;
|
4765 |
+
transition-duration: 0.3s;
|
4766 |
}
|
4767 |
.eae-sweep-bottom:before {
|
4768 |
+
content: "";
|
4769 |
+
position: absolute;
|
4770 |
+
z-index: -1;
|
4771 |
+
top: 0;
|
4772 |
+
left: 0;
|
4773 |
+
right: 0;
|
4774 |
+
bottom: 0;
|
4775 |
+
background: #2098d1;
|
4776 |
+
-webkit-transform: scaleY(0);
|
4777 |
+
transform: scaleY(0);
|
4778 |
+
-webkit-transform-origin: 50% 0;
|
4779 |
+
transform-origin: 50% 0;
|
4780 |
+
-webkit-transition-property: transform;
|
4781 |
+
transition-property: transform;
|
4782 |
+
-webkit-transition-duration: 0.3s;
|
4783 |
+
transition-duration: 0.3s;
|
4784 |
+
-webkit-transition-timing-function: ease-out;
|
4785 |
+
transition-timing-function: ease-out;
|
4786 |
+
}
|
4787 |
+
.eae-sweep-bottom:hover,
|
4788 |
+
.eae-sweep-bottom:focus,
|
4789 |
+
.eae-sweep-bottom:active {
|
4790 |
+
color: white;
|
4791 |
+
}
|
4792 |
+
.eae-sweep-bottom:hover:before,
|
4793 |
+
.eae-sweep-bottom:focus:before,
|
4794 |
+
.eae-sweep-bottom:active:before {
|
4795 |
+
-webkit-transform: scaleY(1);
|
4796 |
+
transform: scaleY(1);
|
4797 |
}
|
4798 |
|
4799 |
/* Sweep To Top */
|
4800 |
.eae-sweep-top {
|
4801 |
+
vertical-align: middle;
|
4802 |
+
-webkit-transform: perspective(1px) translateZ(0);
|
4803 |
+
transform: perspective(1px) translateZ(0);
|
4804 |
+
box-shadow: 0 0 1px rgba(0, 0, 0, 0);
|
4805 |
+
position: relative;
|
4806 |
+
-webkit-transition-property: color;
|
4807 |
+
transition-property: color;
|
4808 |
+
-webkit-transition-duration: 0.3s;
|
4809 |
+
transition-duration: 0.3s;
|
4810 |
}
|
4811 |
.eae-sweep-top:before {
|
4812 |
+
content: "";
|
4813 |
+
position: absolute;
|
4814 |
+
z-index: -1;
|
4815 |
+
top: 0;
|
4816 |
+
left: 0;
|
4817 |
+
right: 0;
|
4818 |
+
bottom: 0;
|
4819 |
+
background: #2098d1;
|
4820 |
+
-webkit-transform: scaleY(0);
|
4821 |
+
transform: scaleY(0);
|
4822 |
+
-webkit-transform-origin: 50% 100%;
|
4823 |
+
transform-origin: 50% 100%;
|
4824 |
+
-webkit-transition-property: transform;
|
4825 |
+
transition-property: transform;
|
4826 |
+
-webkit-transition-duration: 0.3s;
|
4827 |
+
transition-duration: 0.3s;
|
4828 |
+
-webkit-transition-timing-function: ease-out;
|
4829 |
+
transition-timing-function: ease-out;
|
4830 |
+
}
|
4831 |
+
.eae-sweep-top:hover,
|
4832 |
+
.eae-sweep-top:focus,
|
4833 |
+
.eae-sweep-top:active {
|
4834 |
+
color: white;
|
4835 |
+
}
|
4836 |
+
.eae-sweep-top:hover:before,
|
4837 |
+
.eae-sweep-top:focus:before,
|
4838 |
+
.eae-sweep-top:active:before {
|
4839 |
+
-webkit-transform: scaleY(1);
|
4840 |
+
transform: scaleY(1);
|
4841 |
}
|
4842 |
|
4843 |
/* Bounce To Right */
|
4844 |
.eae-bounce-right {
|
4845 |
+
vertical-align: middle;
|
4846 |
+
-webkit-transform: perspective(1px) translateZ(0);
|
4847 |
+
transform: perspective(1px) translateZ(0);
|
4848 |
+
box-shadow: 0 0 1px rgba(0, 0, 0, 0);
|
4849 |
+
position: relative;
|
4850 |
+
-webkit-transition-property: color;
|
4851 |
+
transition-property: color;
|
4852 |
+
-webkit-transition-duration: 0.5s;
|
4853 |
+
transition-duration: 0.5s;
|
4854 |
}
|
4855 |
.eae-bounce-right:before {
|
4856 |
+
content: "";
|
4857 |
+
position: absolute;
|
4858 |
+
z-index: -1;
|
4859 |
+
top: 0;
|
4860 |
+
left: 0;
|
4861 |
+
right: 0;
|
4862 |
+
bottom: 0;
|
4863 |
+
background: #2098d1;
|
4864 |
+
-webkit-transform: scaleX(0);
|
4865 |
+
transform: scaleX(0);
|
4866 |
+
-webkit-transform-origin: 0 50%;
|
4867 |
+
transform-origin: 0 50%;
|
4868 |
+
-webkit-transition-property: transform;
|
4869 |
+
transition-property: transform;
|
4870 |
+
-webkit-transition-duration: 0.5s;
|
4871 |
+
transition-duration: 0.5s;
|
4872 |
+
-webkit-transition-timing-function: ease-out;
|
4873 |
+
transition-timing-function: ease-out;
|
4874 |
+
}
|
4875 |
+
.eae-bounce-right:hover,
|
4876 |
+
.eae-bounce-right:focus,
|
4877 |
+
.eae-bounce-right:active {
|
4878 |
+
color: white;
|
4879 |
+
}
|
4880 |
+
.eae-bounce-right:hover:before,
|
4881 |
+
.eae-bounce-right:focus:before,
|
4882 |
+
.eae-bounce-right:active:before {
|
4883 |
+
-webkit-transform: scaleX(1);
|
4884 |
+
transform: scaleX(1);
|
4885 |
+
-webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
|
4886 |
+
transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
|
4887 |
}
|
4888 |
|
4889 |
/* Bounce To Left */
|
4890 |
.eae-bounce-left {
|
4891 |
+
vertical-align: middle;
|
4892 |
+
-webkit-transform: perspective(1px) translateZ(0);
|
4893 |
+
transform: perspective(1px) translateZ(0);
|
4894 |
+
box-shadow: 0 0 1px rgba(0, 0, 0, 0);
|
4895 |
+
position: relative;
|
4896 |
+
-webkit-transition-property: color;
|
4897 |
+
transition-property: color;
|
4898 |
+
-webkit-transition-duration: 0.5s;
|
4899 |
+
transition-duration: 0.5s;
|
4900 |
}
|
4901 |
.eae-bounce-left:before {
|
4902 |
+
content: "";
|
4903 |
+
position: absolute;
|
4904 |
+
z-index: -1;
|
4905 |
+
top: 0;
|
4906 |
+
left: 0;
|
4907 |
+
right: 0;
|
4908 |
+
bottom: 0;
|
4909 |
+
background: #2098d1;
|
4910 |
+
-webkit-transform: scaleX(0);
|
4911 |
+
transform: scaleX(0);
|
4912 |
+
-webkit-transform-origin: 100% 50%;
|
4913 |
+
transform-origin: 100% 50%;
|
4914 |
+
-webkit-transition-property: transform;
|
4915 |
+
transition-property: transform;
|
4916 |
+
-webkit-transition-duration: 0.5s;
|
4917 |
+
transition-duration: 0.5s;
|
4918 |
+
-webkit-transition-timing-function: ease-out;
|
4919 |
+
transition-timing-function: ease-out;
|
4920 |
+
}
|
4921 |
+
.eae-bounce-left:hover,
|
4922 |
+
.eae-bounce-left:focus,
|
4923 |
+
.eae-bounce-left:active {
|
4924 |
+
color: white;
|
4925 |
+
}
|
4926 |
+
.eae-bounce-left:hover:before,
|
4927 |
+
.eae-bounce-left:focus:before,
|
4928 |
+
.eae-bounce-left:active:before {
|
4929 |
+
-webkit-transform: scaleX(1);
|
4930 |
+
transform: scaleX(1);
|
4931 |
+
-webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
|
4932 |
+
transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
|
4933 |
}
|
4934 |
|
4935 |
/* Bounce To Bottom */
|
4936 |
.eae-bounce-bottom {
|
4937 |
+
vertical-align: middle;
|
4938 |
+
-webkit-transform: perspective(1px) translateZ(0);
|
4939 |
+
transform: perspective(1px) translateZ(0);
|
4940 |
+
box-shadow: 0 0 1px rgba(0, 0, 0, 0);
|
4941 |
+
position: relative;
|
4942 |
+
-webkit-transition-property: color;
|
4943 |
+
transition-property: color;
|
4944 |
+
-webkit-transition-duration: 0.5s;
|
4945 |
+
transition-duration: 0.5s;
|
4946 |
}
|
4947 |
.eae-bounce-bottom:before {
|
4948 |
+
content: "";
|
4949 |
+
position: absolute;
|
4950 |
+
z-index: -1;
|
4951 |
+
top: 0;
|
4952 |
+
left: 0;
|
4953 |
+
right: 0;
|
4954 |
+
bottom: 0;
|
4955 |
+
background: #2098d1;
|
4956 |
+
-webkit-transform: scaleY(0);
|
4957 |
+
transform: scaleY(0);
|
4958 |
+
-webkit-transform-origin: 50% 0;
|
4959 |
+
transform-origin: 50% 0;
|
4960 |
+
-webkit-transition-property: transform;
|
4961 |
+
transition-property: transform;
|
4962 |
+
-webkit-transition-duration: 0.5s;
|
4963 |
+
transition-duration: 0.5s;
|
4964 |
+
-webkit-transition-timing-function: ease-out;
|
4965 |
+
transition-timing-function: ease-out;
|
4966 |
+
}
|
4967 |
+
.eae-bounce-bottom:hover,
|
4968 |
+
.eae-bounce-bottom:focus,
|
4969 |
+
.eae-bounce-bottom:active {
|
4970 |
+
color: white;
|
4971 |
+
}
|
4972 |
+
.eae-bounce-bottom:hover:before,
|
4973 |
+
.eae-bounce-bottom:focus:before,
|
4974 |
+
.eae-bounce-bottom:active:before {
|
4975 |
+
-webkit-transform: scaleY(1);
|
4976 |
+
transform: scaleY(1);
|
4977 |
+
-webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
|
4978 |
+
transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
|
4979 |
}
|
4980 |
|
4981 |
/* Bounce To Top */
|
4982 |
.eae-bounce-top {
|
4983 |
+
vertical-align: middle;
|
4984 |
+
-webkit-transform: perspective(1px) translateZ(0);
|
4985 |
+
transform: perspective(1px) translateZ(0);
|
4986 |
+
box-shadow: 0 0 1px rgba(0, 0, 0, 0);
|
4987 |
+
position: relative;
|
4988 |
+
-webkit-transition-property: color;
|
4989 |
+
transition-property: color;
|
4990 |
+
-webkit-transition-duration: 0.5s;
|
4991 |
+
transition-duration: 0.5s;
|
4992 |
}
|
4993 |
.eae-bounce-top:before {
|
4994 |
+
content: "";
|
4995 |
+
position: absolute;
|
4996 |
+
z-index: -1;
|
4997 |
+
top: 0;
|
4998 |
+
left: 0;
|
4999 |
+
right: 0;
|
5000 |
+
bottom: 0;
|
5001 |
+
background: #2098d1;
|
5002 |
+
-webkit-transform: scaleY(0);
|
5003 |
+
transform: scaleY(0);
|
5004 |
+
-webkit-transform-origin: 50% 100%;
|
5005 |
+
transform-origin: 50% 100%;
|
5006 |
+
-webkit-transition-property: transform;
|
5007 |
+
transition-property: transform;
|
5008 |
+
-webkit-transition-duration: 0.5s;
|
5009 |
+
transition-duration: 0.5s;
|
5010 |
+
-webkit-transition-timing-function: ease-out;
|
5011 |
+
transition-timing-function: ease-out;
|
5012 |
+
}
|
5013 |
+
.eae-bounce-top:hover,
|
5014 |
+
.eae-bounce-top:focus,
|
5015 |
+
.eae-bounce-top:active {
|
5016 |
+
color: white;
|
5017 |
+
}
|
5018 |
+
.eae-bounce-top:hover:before,
|
5019 |
+
.eae-bounce-top:focus:before,
|
5020 |
+
.eae-bounce-top:active:before {
|
5021 |
+
-webkit-transform: scaleY(1);
|
5022 |
+
transform: scaleY(1);
|
5023 |
+
-webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
|
5024 |
+
transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
|
5025 |
}
|
5026 |
/* Google Map */
|
5027 |
+
.eae-markers .marker {
|
5028 |
+
display: none;
|
5029 |
}
|
5030 |
+
.eae-markers p {
|
5031 |
+
margin-bottom: 0;
|
5032 |
}
|
5033 |
|
5034 |
/*EAE Filterable Gallery*/
|
5035 |
+
.eae-fg-wrapper {
|
5036 |
+
display: flex;
|
5037 |
+
flex-direction: column;
|
5038 |
+
overflow: hidden;
|
5039 |
}
|
5040 |
+
.eae-gallery-filter {
|
5041 |
+
display: flex;
|
5042 |
+
flex-direction: row;
|
5043 |
+
justify-content: center;
|
5044 |
+
flex-wrap: wrap;
|
5045 |
}
|
5046 |
+
.eae-filter-label {
|
5047 |
+
padding: 5px 10px;
|
5048 |
+
background-color: #a0ce4e;
|
5049 |
+
color: #fff;
|
5050 |
+
margin: 0px 3px 0px 3px;
|
5051 |
}
|
5052 |
+
.eae-filter-label.current {
|
5053 |
+
background-color: #73b9dc;
|
5054 |
}
|
5055 |
|
5056 |
+
.eae-fg-image {
|
5057 |
+
display: flex;
|
5058 |
+
flex-wrap: wrap;
|
5059 |
+
flex-direction: row;
|
5060 |
}
|
5061 |
+
.eae-fg-wrapper .eae-gallery-item-inner img {
|
5062 |
+
width: 100%;
|
5063 |
+
height: auto;
|
5064 |
+
display: block !important;
|
5065 |
+
transition: all 0.5s ease;
|
5066 |
+
-webkit-transition: all 0.5s ease;
|
5067 |
}
|
5068 |
|
5069 |
+
.eae-gallery-item {
|
5070 |
+
height: auto;
|
|
|
5071 |
}
|
5072 |
.eae-gallery-filter a {
|
5073 |
+
color: #ffffff;
|
5074 |
+
text-decoration: none;
|
5075 |
}
|
5076 |
.eae-gallery-filter a.current {
|
5077 |
+
font-weight: bold;
|
5078 |
}
|
5079 |
|
5080 |
+
.eae-gallery-item-inner {
|
5081 |
+
position: relative;
|
5082 |
+
overflow: hidden;
|
5083 |
}
|
5084 |
|
5085 |
/*Overlay Css*/
|
5086 |
+
.eae-overlay-always .eae-gallery-item .eae-grid-overlay {
|
5087 |
+
display: block;
|
|
|
5088 |
}
|
5089 |
|
5090 |
.eae-overlay-hover .eae-gallery-item-inner:hover .eae-grid-overlay {
|
5091 |
+
display: block;
|
5092 |
}
|
5093 |
+
.eae-overlay-hide-on-hover .eae-gallery-item-inner:hover .eae-grid-overlay {
|
5094 |
+
display: none;
|
5095 |
}
|
5096 |
+
.eae-overlay-hide-on-hover .eae-grid-overlay {
|
5097 |
+
display: block;
|
5098 |
}
|
5099 |
+
.eae-grid-overlay {
|
5100 |
+
position: absolute;
|
5101 |
+
top: 0;
|
5102 |
+
left: 0;
|
5103 |
+
display: none;
|
5104 |
+
z-index: 99;
|
5105 |
+
background: rgba(0, 0, 0, 0.5);
|
5106 |
+
height: 100%;
|
5107 |
+
width: 100%;
|
5108 |
}
|
5109 |
|
5110 |
.eae-grid-overlay-inner {
|
5111 |
+
display: block;
|
5112 |
+
position: relative;
|
5113 |
+
top: 50%;
|
5114 |
+
left: 50%;
|
5115 |
+
transform: translate(-50%, -50%);
|
5116 |
+
text-align: center;
|
5117 |
}
|
5118 |
|
5119 |
.eae-fg-wrapper .eae-icon-wrapper {
|
5120 |
+
display: flex;
|
5121 |
+
justify-content: center;
|
|
|
5122 |
}
|
5123 |
|
|
|
5124 |
/* Overlay Icon*/
|
5125 |
+
.eae-overlay-caption {
|
5126 |
+
display: block;
|
5127 |
+
line-height: 1em;
|
5128 |
+
margin-top: 15px;
|
5129 |
+
color: #73b9dc;
|
5130 |
+
@font: 20 px Arial, sans-serif;
|
5131 |
+
}
|
5132 |
+
.eae-overlay-icon {
|
5133 |
+
line-height: 1em;
|
5134 |
+
padding: 0.5em;
|
5135 |
+
display: inline-block;
|
5136 |
+
}
|
5137 |
+
.eae-overlay-icon svg {
|
5138 |
+
height: auto;
|
5139 |
+
}
|
5140 |
+
.eae-icon-view-framed .eae-overlay-icon {
|
5141 |
+
padding: 0.5em;
|
5142 |
+
color: #73b9dc;
|
5143 |
+
border: 3px solid #73b9dc;
|
5144 |
+
background-color: transparent;
|
5145 |
+
}
|
5146 |
+
|
5147 |
+
.eae-icon-view-stacked .eae-overlay-icon {
|
5148 |
+
padding: 0.5em;
|
5149 |
+
color: #fff;
|
5150 |
+
background-color: #818a91;
|
5151 |
+
}
|
5152 |
+
.eae-hover-direction-effect .eae-grid-overlay {
|
5153 |
+
position: absolute;
|
5154 |
+
z-index: 99;
|
5155 |
+
background: rgba(0, 0, 0, 0.5);
|
5156 |
+
height: 100%;
|
5157 |
+
width: 100%;
|
5158 |
+
}
|
5159 |
+
|
5160 |
+
.eae-fg-wrapper.eae-image-ratio-yes
|
5161 |
+
.eae-gallery-item-inner
|
5162 |
+
.eae-fg-img-wrapper {
|
5163 |
+
position: relative;
|
5164 |
+
top: 0;
|
5165 |
+
overflow: hidden;
|
5166 |
+
left: 0;
|
5167 |
+
right: 0;
|
5168 |
+
border: 0;
|
5169 |
+
}
|
5170 |
+
.eae-fg-wrapper.eae-image-ratio-yes
|
5171 |
+
.eae-gallery-item-inner
|
5172 |
+
.eae-fg-img-wrapper
|
5173 |
+
img {
|
5174 |
+
height: 100%;
|
5175 |
+
width: 100%;
|
5176 |
+
display: block;
|
5177 |
+
position: absolute;
|
5178 |
+
top: 0;
|
5179 |
+
left: 0;
|
5180 |
+
object-fit: cover;
|
5181 |
}
|
5182 |
|
5183 |
/* Ribbons and Badges */
|
5184 |
|
5185 |
+
.wts-eae-ribbons-badges-wrapper {
|
5186 |
+
display: none;
|
5187 |
}
|
5188 |
+
.wts-eae-enable-ribbons-badges-yes
|
5189 |
+
.elementor-column-wrap
|
5190 |
+
> .wts-eae-ribbons-badges-wrapper {
|
5191 |
+
display: block;
|
5192 |
}
|
5193 |
|
5194 |
/* Ribbon */
|
5195 |
+
.wts-eae-enable-ribbons-badges-yes.wts-eae-badge-type-ribbon
|
5196 |
+
> .wts-eae-ribbons-badges-wrapper {
|
5197 |
+
position: absolute;
|
5198 |
+
top: 0;
|
5199 |
+
left: auto;
|
5200 |
+
right: 0;
|
5201 |
+
/* -webkit-transform: rotate(90deg); */
|
5202 |
+
-ms-transform: rotate(90deg);
|
5203 |
+
/* transform: rotate(90deg); */
|
5204 |
+
width: 150px;
|
5205 |
+
overflow: hidden;
|
5206 |
+
height: 150px;
|
5207 |
+
z-index: 999;
|
5208 |
+
padding: 8px 12px;
|
5209 |
+
}
|
5210 |
+
.wts-eae-badge-h-left.wts-eae-enable-ribbons-badges-yes.wts-eae-badge-type-ribbon
|
5211 |
+
> .wts-eae-ribbons-badges-wrapper {
|
5212 |
+
-webkit-transform: rotate(0);
|
5213 |
+
-ms-transform: rotate(0);
|
5214 |
+
transform: rotate(0);
|
5215 |
+
left: 0;
|
5216 |
+
right: auto;
|
5217 |
+
}
|
5218 |
+
.wts-eae-badge-h-right.wts-eae-enable-ribbons-badges-yes.wts-eae-badge-type-ribbon
|
5219 |
+
> .wts-eae-ribbons-badges-wrapper {
|
5220 |
+
-webkit-transform: rotate(0);
|
5221 |
+
-ms-transform: rotate(0);
|
5222 |
+
transform: rotate(90deg);
|
5223 |
+
left: auto;
|
5224 |
+
right: 0;
|
5225 |
+
}
|
5226 |
+
.wts-eae-enable-ribbons-badges-yes.wts-eae-badge-type-ribbon
|
5227 |
+
> .wts-eae-ribbons-badges-wrapper
|
5228 |
+
span.wts-eae-ribbons-badges-inner {
|
5229 |
+
position: absolute;
|
5230 |
+
text-align: center;
|
5231 |
+
left: 0;
|
5232 |
+
top: 0;
|
5233 |
+
width: 200%;
|
5234 |
+
-webkit-transform: translateY(-50%) translateX(-50%) translateX(35px)
|
5235 |
+
rotate(-45deg);
|
5236 |
+
-ms-transform: translateY(-50%) translateX(-50%) translateX(35px)
|
5237 |
+
rotate(-45deg);
|
5238 |
+
transform: translateY(-50%) translateX(-50%) translateX(35px) rotate(-45deg);
|
5239 |
+
margin-top: 35px;
|
5240 |
+
font-size: 13px;
|
5241 |
+
line-height: 2;
|
5242 |
+
font-weight: 800;
|
5243 |
+
text-transform: uppercase;
|
5244 |
+
background: rgba(63, 195, 135, 0.8);
|
5245 |
+
padding: 8px 12px;
|
5246 |
}
|
5247 |
/* Ribbon */
|
5248 |
|
5249 |
/* Sale Badge Badge */
|
5250 |
+
.wts-eae-enable-ribbons-badges-yes.wts-eae-badge-type-badge
|
5251 |
+
> .wts-eae-ribbons-badges-wrapper
|
5252 |
+
span.wts-eae-ribbons-badges-inner {
|
5253 |
+
min-height: 3.236em;
|
5254 |
+
min-width: 3.236em;
|
5255 |
+
padding: 0;
|
5256 |
+
font-size: 1em;
|
5257 |
+
font-weight: 700;
|
5258 |
+
position: absolute;
|
5259 |
+
text-align: center;
|
5260 |
+
line-height: 3.236;
|
5261 |
+
top: -0.5em;
|
5262 |
+
left: -0.5em;
|
5263 |
+
margin: 0;
|
5264 |
+
border-radius: 100%;
|
5265 |
+
background-color: #77a464;
|
5266 |
+
color: #fff;
|
5267 |
+
font-size: 0.857em;
|
5268 |
+
z-index: 9;
|
5269 |
+
}
|
5270 |
+
.wts-eae-badge-h-left.wts-eae-badge-v-bottom.wts-eae-enable-ribbons-badges-yes
|
5271 |
+
> .wts-eae-ribbons-badges-wrapper
|
5272 |
+
span.wts-eae-ribbons-badges-inner {
|
5273 |
+
left: 20px;
|
5274 |
+
right: auto;
|
5275 |
+
top: auto;
|
5276 |
+
bottom: 20px;
|
5277 |
+
}
|
5278 |
+
.wts-eae-badge-h-left.wts-eae-badge-v-top.wts-eae-enable-ribbons-badges-yes
|
5279 |
+
> .wts-eae-ribbons-badges-wrapper
|
5280 |
+
span.wts-eae-ribbons-badges-inner {
|
5281 |
+
left: 20px;
|
5282 |
+
right: auto;
|
5283 |
+
top: 20px;
|
5284 |
+
bottom: auto;
|
5285 |
+
}
|
5286 |
+
|
5287 |
+
.wts-eae-badge-h-right.wts-eae-badge-v-bottom.wts-eae-enable-ribbons-badges-yes
|
5288 |
+
> .wts-eae-ribbons-badges-wrapper
|
5289 |
+
span.wts-eae-ribbons-badges-inner {
|
5290 |
+
left: auto;
|
5291 |
+
right: 20px;
|
5292 |
+
top: auto;
|
5293 |
+
bottom: 20px;
|
5294 |
+
}
|
5295 |
+
.wts-eae-badge-h-right.wts-eae-badge-v-top.wts-eae-enable-ribbons-badges-yes
|
5296 |
+
> .wts-eae-ribbons-badges-wrapper
|
5297 |
+
span.wts-eae-ribbons-badges-inner {
|
5298 |
+
left: auto;
|
5299 |
+
right: 20px;
|
5300 |
+
top: 20px;
|
5301 |
+
bottom: auto;
|
5302 |
}
|
5303 |
|
5304 |
/* Sale Badge Badge */
|
5305 |
|
|
|
5306 |
/* Icon Migration */
|
5307 |
/* Flipbox */
|
5308 |
+
.eae-flip-box-front svg,
|
5309 |
+
.eae-flip-box-back svg {
|
5310 |
+
width: 25px;
|
5311 |
+
height: auto;
|
5312 |
}
|
5313 |
/* Text-Separator */
|
5314 |
+
.wts-eae-textseparator svg {
|
5315 |
+
width: 25px;
|
5316 |
+
height: auto;
|
5317 |
}
|
5318 |
|
5319 |
/* AfterBefore Image Comp */
|
5320 |
+
.eae-img-comp-slider svg {
|
5321 |
+
width: 22px;
|
5322 |
+
height: auto;
|
5323 |
}
|
5324 |
|
5325 |
/* Model Popup */
|
5326 |
+
.eae-popup-link svg {
|
5327 |
+
display: inline-block;
|
5328 |
+
width: 1em;
|
5329 |
}
|
5330 |
|
5331 |
.eae-popup svg:hover,
|
5332 |
.eae-popup svg:focus {
|
5333 |
+
opacity: 1;
|
5334 |
+
cursor: pointer;
|
5335 |
}
|
5336 |
.eae-popup svg:active {
|
5337 |
+
top: 1px;
|
5338 |
}
|
5339 |
|
5340 |
+
.eae-popup svg.eae-close {
|
5341 |
+
width: 28px;
|
5342 |
+
height: 28px;
|
5343 |
+
line-height: 1em;
|
5344 |
+
text-decoration: none;
|
5345 |
+
text-align: center;
|
5346 |
+
opacity: 1;
|
5347 |
+
background-color: #fff;
|
5348 |
}
|
5349 |
/* Dual Button */
|
5350 |
+
.eae-dual-button-wrapper svg {
|
5351 |
+
width: 1em;
|
5352 |
+
height: auto;
|
5353 |
+
display: block;
|
5354 |
}
|
5355 |
+
eae-button-separator i {
|
5356 |
+
position: relative;
|
5357 |
+
display: block;
|
5358 |
}
|
5359 |
+
.eae-button-1.icon-before svg,
|
5360 |
+
.eae-button-2.icon-before svg,
|
5361 |
+
.eae-button-2.icon-after svg {
|
5362 |
+
align-self: center;
|
5363 |
+
margin: 0 10px 0 0;
|
5364 |
}
|
5365 |
|
5366 |
+
.eae-button-1.icon-after svg,
|
5367 |
+
.eae-button-2.icon-after svg {
|
5368 |
+
align-self: center;
|
5369 |
+
margin: 0 0 0 10px;
|
5370 |
}
|
5371 |
+
.eae-button-1.icon-up svg,
|
5372 |
+
.eae-button-1.icon-down svg,
|
5373 |
+
.eae-button-2.icon-up svg,
|
5374 |
+
.eae-button-2.icon-down svg {
|
5375 |
+
align-self: center;
|
5376 |
+
margin: 5px 0;
|
5377 |
}
|
5378 |
|
5379 |
/* Price Table */
|
5380 |
+
.eae-pt-button-wrapper a svg {
|
5381 |
+
width: 1em;
|
5382 |
}
|
5383 |
+
.eae-pt-action-button .eae-pt-align-icon-left {
|
5384 |
+
float: left;
|
5385 |
}
|
5386 |
|
5387 |
+
.eae-pt-action-button .eae-pt-align-icon-right {
|
5388 |
+
float: right;
|
5389 |
}
|
5390 |
|
5391 |
+
.eae-icon-wrap svg {
|
5392 |
+
width: 20px;
|
5393 |
+
height: auto;
|
5394 |
+
font-size: 20px;
|
5395 |
+
display: block;
|
5396 |
}
|
5397 |
+
.eae-info-circle .eae-icon-wrap svg {
|
5398 |
+
width: 20px;
|
5399 |
+
height: auto;
|
5400 |
+
font-size: 20px;
|
5401 |
}
|
5402 |
|
5403 |
+
.eae-icon-view-stacked svg {
|
5404 |
+
fill: #fff;
|
5405 |
+
}
|
5406 |
|
5407 |
+
.ae-link-yes {
|
5408 |
+
cursor: pointer;
|
5409 |
}
|
5410 |
|
5411 |
/*unfold-css*/
|
5412 |
.eae-element-unfold-content {
|
5413 |
+
padding: 10px 0px;
|
5414 |
+
background-color: #d3d3d3c4;
|
5415 |
+
/*background: linear-gradient(180deg, #F4EFEF 0%, #F6F6F6 100%);*/
|
5416 |
+
width: 100%;
|
5417 |
+
position: absolute;
|
5418 |
+
left: 0;
|
5419 |
+
bottom: 0;
|
5420 |
+
z-index: 999;
|
5421 |
+
}
|
5422 |
+
|
5423 |
+
a.eae-unfold-link {
|
5424 |
+
background-color: #61ce70;
|
5425 |
+
color: #fff;
|
5426 |
+
display: inline-block;
|
5427 |
+
overflow: hidden;
|
5428 |
}
|
5429 |
a.eae-unfold-link svg {
|
5430 |
+
background-color: #fff;
|
5431 |
+
}
|
5432 |
+
.eae-unfold-button-icon {
|
5433 |
+
vertical-align: middle;
|
5434 |
+
}
|
5435 |
+
|
5436 |
+
.eae-fold-yes.elementor-section .elementor-container,
|
5437 |
+
.eae-fold-yes .elementor-column-wrap,
|
5438 |
+
.eae-fold-yes.elementor-widget {
|
5439 |
+
overflow: hidden;
|
5440 |
+
}
|
5441 |
+
|
5442 |
+
body.elementor-editor-active
|
5443 |
+
.elementor.elementor-edit-mode
|
5444 |
+
.elementor-element.elementor-section.eae-widget-unfold-yes
|
5445 |
+
.elementor-container,
|
5446 |
+
body.elementor-editor-preview
|
5447 |
+
.elementor.elementor-edit-mode
|
5448 |
+
.elementor-element.elementor-section.eae-widget-unfold-yes
|
5449 |
+
.elementor-container {
|
5450 |
+
overflow: hidden;
|
5451 |
+
}
|
5452 |
+
body.elementor-editor-active
|
5453 |
+
.elementor.elementor-edit-mode
|
5454 |
+
.elementor-element.elementor-column.eae-widget-unfold-yes
|
5455 |
+
.elementor-column-wrap,
|
5456 |
+
body.elementor-editor-preview
|
5457 |
+
.elementor.elementor-edit-mode
|
5458 |
+
.elementor-element.elementor-column.eae-widget-unfold-yes
|
5459 |
+
.elementor-column-wrap {
|
5460 |
+
overflow: hidden;
|
5461 |
+
}
|
5462 |
+
body.elementor-editor-active
|
5463 |
+
.elementor.elementor-edit-mode
|
5464 |
+
.elementor-element.elementor-widget.eae-widget-unfold-yes,
|
5465 |
+
body.elementor-editor-preview
|
5466 |
+
.elementor.elementor-edit-mode
|
5467 |
+
.elementor-element.elementor-widget.eae-widget-unfold-yes {
|
5468 |
+
overflow: hidden;
|
5469 |
+
}
|
5470 |
+
|
5471 |
+
.eae-widget-unfold-yes .elementor-widget-container .eae-fold-yes.eae-rc {
|
5472 |
+
display: none !important;
|
5473 |
+
}
|
5474 |
+
|
5475 |
+
.eae-unfold-button-icon svg {
|
5476 |
+
line-height: 1em;
|
5477 |
+
text-decoration: none;
|
5478 |
+
-webkit-mask-repeat: no-repeat !important;
|
5479 |
+
text-align: center;
|
5480 |
+
opacity: 1;
|
5481 |
+
}
|
5482 |
+
.eae-unfold-icon-type-svg .eae-unfold-button-icon,
|
5483 |
+
.eae-fold-icon-type-svg .eae-unfold-button-icon {
|
5484 |
+
-webkit-mask-size: cover !important;
|
5485 |
+
background-image: none;
|
5486 |
+
transform: translateY(-50%);
|
5487 |
+
}
|
5488 |
+
|
5489 |
+
.elementor-section.elementor-section-items-middle.eae-widget-unfold-yes
|
5490 |
+
> .elementor-container,
|
5491 |
+
.elementor-section.elementor-section-items-bottom.eae-widget-unfold-yes
|
5492 |
+
> .elementor-container {
|
5493 |
+
-webkit-box-align: start;
|
5494 |
+
-webkit-align-items: flex-start;
|
5495 |
+
-ms-flex-align: start;
|
5496 |
+
align-items: start;
|
5497 |
+
}
|
5498 |
+
.elementor-section.elementor-section-content-middle.eae-widget-unfold-yes
|
5499 |
+
> .elementor-container,
|
5500 |
+
.elementor-section.elementor-section-content-bottom.eae-widget-unfold-yes
|
5501 |
+
> .elementor-container {
|
5502 |
+
-webkit-box-align: start;
|
5503 |
+
-webkit-align-items: flex-start;
|
5504 |
+
-ms-flex-align: start;
|
5505 |
+
align-items: start;
|
5506 |
}
|
5507 |
|
5508 |
+
/*Modal Pop Up Button Type Image*/
|
5509 |
+
.elementor-widget-wts-modal-popup.eae-pop-btn-type-image .eae-popup-link {
|
5510 |
+
padding: 0px;
|
5511 |
+
background-color: transparent;
|
5512 |
+
overflow: hidden;
|
|
|
|
|
|
|
|
|
|
|
|
|
5513 |
}
|
5514 |
|
5515 |
+
/*Comparision Table Bug Fix elementor*/
|
5516 |
+
[data-elementor-device-mode="tablet"]
|
5517 |
+
.eae-tab-format-mobile
|
5518 |
+
.eae-ct-hide.eae-fbox-heading {
|
5519 |
+
display: none !important;
|
|
|
|
|
|
|
|
|
|
|
|
|
5520 |
}
|
5521 |
|
5522 |
+
/* Timeline Stacked Item Border Size Changed to 0 */
|
5523 |
+
.eae-timeline-item .eae-icon-view-stacked {
|
5524 |
+
border-width: 0px !important;
|
|
|
|
|
|
|
|
|
5525 |
}
|
|
|
|
|
|
|
|
|
|
assets/css/eae.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.elementor-widget-wts-textseparator .elementor-widget-container{overflow:hidden}.wts-eae-textseparator{align-items:center;display:flex;flex-flow:row nowrap;margin:auto}.eae-separator-icon-inner i{height:1em;width:1em;text-align:center;position:relative;display:block}.eae-separator-icon-inner i:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-ms-transform:translateX(-50%);-o-transform:translateX(-50%);transform:translateX(-50%)}.wts-eae-textseparator .eae-sep-holder{flex:1 1 auto;height:1px;min-width:10%;position:relative}.wts-eae-textseparator .eae-sep-holder .eae-sep-lines{border-top-width:1px;display:block;height:1px;position:relative;top:1px;width:100%}.eae-separator-title{margin:0;-moz-box-flex:0;flex:0 1 auto;line-height:1em;margin:0;overflow-wrap:break-word}.sep-align-right .sep-right{display:none}.sep-align-left .sep-left{display:none}.eae-icon-view-stacked i{color:#fff}.eae-icon-view-framed .eae-separator-icon-inner{border:1px solid}.eae-icon-shape-circle .eae-separator-icon-inner{border-radius:50%}.eae-separator-icon-wrapper,.eae-separator-title{margin:0 5px!important}.eae-separator-icon-inner{line-height:1}.wts-price-box-wrapper .eae-pt-heading,.wts-price-box-wrapper .eae-pt-sub-heading{margin:5px 0;text-align:center}.plan-price-shape{display:table;height:6em;margin:auto;width:6em}.eae-pt-price-box-shape-circle .plan-price-shape,.eae-pt-price-box-shape-square .plan-price-shape{border:1px solid}.eae-pt-price-box-shape-circle .plan-price-shape{border-radius:50%}.plan-price-block{padding:10px 0}.plan-price-shape-inner{display:table-cell;vertical-align:middle;padding:10px}.plan-price-shape-inner>span{display:block;font-size:1em;text-align:center}.eae-pt-feature-list{list-style:outside none none;text-align:center;margin:10px 0}.eae-pt-button-wrapper>a{text-align:center;display:inline-block;line-height:1}.eae-pt-button-wrapper{text-align:center}.wts-price-box-wrapper .heading-wrapper,.wts-price-box-wrapper .plan-features-wrapper{padding:10px 5px}.eae-pt-button-wrapper{padding:15px 0}.eae-pt-button-wrapper a{padding:5px 15px;border-radius:3px}.eae-pt-align-icon-right{float:right}.strike-feature{text-decoration:line-through}.eae-flip-box{width:100%;text-align:center}.eae-flip-box-wrapper{display:inline-block;width:100%}.eae-flip-box-inner{width:100%;height:200px;position:relative;-webkit-transform-style:preserve-3d;-moz-transform-style:preserve-3d;-ms-transform-style:preserve-3d;transform-style:preserve-3d}.eae-flip-box-inner .eae-flip-box-back,.eae-flip-box-inner .eae-flip-box-front{width:100%;height:100%;position:absolute;top:0;left:0;text-align:center;padding:10px;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition:all .6s ease 0s;-moz-transition:all .6s ease 0s;-ms-transition:all .6s ease 0s;-o-transition:all .6s ease 0s;transition:all .6s ease 0s}.eae-flip-box-front{z-index:2}.eae-flip-box-back{z-index:1}.eae-fb-animate-vertical .eae-flip-box-inner .eae-flip-box-front{-webkit-transform:perspective(1000px) rotateX(0);-ms-transform:perspective(1000px) rotateX(0);transform:perspective(1000px) rotateX(0)}.eae-fb-animate-vertical .eae-flip-box-inner .eae-flip-box-back{-webkit-transform:perspective(1000px) rotateX(180deg);transform:perspective(1000px) rotateX(180deg);-ms-transform:perspective(1000px) rotateX(180deg)}.eae-fb-animate-vertical .eae-flip-box-inner:hover .eae-flip-box-front{-webkit-transform:perspective(1000px) rotateX(180deg);transform:perspective(1000px) rotateX(180deg);-ms-transform:perspective(1000px) rotateX(180deg)}.eae-fb-animate-vertical .eae-flip-box-inner:hover .eae-flip-box-back{-webkit-transform:perspective(1000px) rotateX(0);transform:perspective(1000px) rotateX(0);-ms-transform:perspective(1000px) rotateX(0)}.eae-fb-animate-horizontal .eae-flip-box-inner .eae-flip-box-front{-webkit-transform:perspective(1000px) rotateY(0);transform:perspective(1000px) rotateY(0);-ms-transform:perspective(1000px) rotateY(0)}.eae-fb-animate-horizontal .eae-flip-box-inner .eae-flip-box-back{-webkit-transform:perspective(1000px) rotateY(180deg);transform:perspective(1000px) rotateY(180deg);-ms-transform:perspective(1000px) rotateY(180deg)}.eae-fb-animate-horizontal .eae-flip-box-inner:hover .eae-flip-box-front{-webkit-transform:perspective(1000px) rotateY(180deg);transform:perspective(1000px) rotateY(180deg);-ms-transform:perspective(1000px) rotateY(180deg)}.eae-fb-animate-horizontal .eae-flip-box-inner:hover .eae-flip-box-back{-webkit-transform:perspective(1000px) rotateY(0);transform:perspective(1000px) rotateY(0);-ms-transform:perspective(1000px) rotateY(0)}.eae-fb-animate-fade .eae-flip-box-inner .eae-flip-box-front{opacity:1}.eae-fb-animate-fade .eae-flip-box-inner .eae-flip-box-back{opacity:0}.eae-fb-animate-fade .eae-flip-box-inner:hover .eae-flip-box-front{opacity:0}.eae-fb-animate-fade .eae-flip-box-inner:hover .eae-flip-box-back{opacity:1}.eae-flip-box-wrapper:focus .eae-flip-box-back,.eae-flip-box-wrapper:hover .eae-flip-box-back{z-index:2}.eae-flip-box-wrapper:focus .eae-flip-box-front,.eae-flip-box-wrapper:hover .eae-flip-box-front{z-index:1}.fade .eae-flip-box-wrapper .eae-flip-box-front{opacity:1;transition:1s}.fade .eae-flip-box-wrapper .eae-flip-box-back{opacity:0;transition:1s}.fade .eae-flip-box-wrapper:focus .eae-flip-box-front,.fade .eae-flip-box-wrapper:hover .eae-flip-box-front{opacity:0}.fade .eae-flip-box-wrapper:focus .eae-flip-box-back,.fade .eae-flip-box-wrapper:hover .eae-flip-box-back{opacity:1}.eae-fb-animate-flip .eae-flip-box-wrapper{perspective:800px}.eae-fb-animate-flip .eae-flip-box-inner{transform-style:preserve-3d;transform:rotateX(0) rotateY(0) rotateZ(0);transition:1s}.eae-fb-animate-flip .eae-flip-box-front{transform:translate3d(0,0,1px)}.eae-fb-animate-flip .eae-flip-box-back{transform:rotateY(180deg) translate3d(0,0,0)}.eae-fb-animate-flip .eae-flip-box-wrapper:focus .eae-flip-box-inner,.eae-fb-animate-flip .eae-flip-box-wrapper:hover .eae-flip-box-inner{transform:rotateY(180deg)}.up .eae-flip-box-front{transform:translate3d(0,0,1px)}.up .eae-flip-box-back{transform:rotateX(180deg) translate3d(0,0,0)}.up .eae-flip-box-wrapper:focus .eae-flip-box-inner,.up .eae-flip-box-wrapper:hover .eae-flip-box-inner{transform:rotateX(180deg)}.box .eae-flip-box-front{transform:translate3d(0,0,100px) scale(.85,.85)}.box .eae-flip-box-back{transform:rotateY(180deg) translate3d(0,0,100px) scale(.85,.85)}.box.up .eae-flip-box-back{transform:rotateX(180deg) translate3d(0,0,100px) scale(.85,.85)}.hideback .eae-flip-box-back,.hideback .eae-flip-box-front{backface-visibility:hidden}.eae-fb-animate-nananana .eae-flip-box-wrapper:focus .eae-flip-box-front,.eae-fb-animate-nananana .eae-flip-box-wrapper:hover .eae-flip-box-front{z-index:10;animation:batman 1s 2 alternate linear}.eae-fb-animate-flipcard .eae-flip-box-back,.eae-fb-animate-flipcard .eae-flip-box-front{transition:transform .4s ease;transform-origin:center center -150px;-webkit-transform-origin:center center -150px}.flipcard-rotate-top-down .eae-flip-box-front{transform:perspective(0) rotateX(0) rotateY(0) rotateZ(0)}.flipcard-rotate-top-down .eae-flip-box-back{transform:perspective(0) rotateX(90deg) rotateY(0) rotateZ(0)}.eae-fb-animate-flipcard.flipcard-rotate-top-down .eae-flip-box-wrapper:hover .eae-flip-box-front{transform:perspective(0) rotateX(-90deg) rotateY(0) rotateZ(0)}.eae-fb-animate-flipcard.flipcard-rotate-top-down .eae-flip-box-wrapper:hover .eae-flip-box-back{z-index:99999;transform:perspective(0) rotateX(0) rotateY(0) rotateZ(0)}.flipcard-rotate-down-top .eae-flip-box-front{transform:perspective(0) rotateX(0) rotateY(0) rotateZ(0)}.flipcard-rotate-down-top .eae-flip-box-back{transform:perspective(0) rotateX(-90deg) rotateY(0) rotateZ(0)}.eae-fb-animate-flipcard.flipcard-rotate-down-top .eae-flip-box-wrapper:hover .eae-flip-box-front{transform:perspective(0) rotateX(90deg) rotateY(0) rotateZ(0)}.eae-fb-animate-flipcard.flipcard-rotate-down-top .eae-flip-box-wrapper:hover .eae-flip-box-back{z-index:99999;transform:perspective(0) rotateX(0) rotateY(0) rotateZ(0)}.flipcard-rotate-left-right .eae-flip-box-front{transform:perspective(0) rotateX(0) rotateY(0) rotateZ(0)}.flipcard-rotate-left-right .eae-flip-box-back{transform:perspective(0) rotateX(0) rotateY(-90deg) rotateZ(0)}.eae-fb-animate-flipcard.flipcard-rotate-left-right .eae-flip-box-wrapper:hover .eae-flip-box-front{transform:perspective(0) rotateX(0) rotateY(90deg) rotateZ(0)}.eae-fb-animate-flipcard.flipcard-rotate-left-right .eae-flip-box-wrapper:hover .eae-flip-box-back{z-index:99999;transform:perspective(0) rotateX(0) rotateY(0) rotateZ(0)}.flipcard-rotate-right-left .eae-flip-box-front{transform:perspective(0) rotateX(0) rotateY(0) rotateZ(0)}.flipcard-rotate-right-left .eae-flip-box-back{transform:perspective(0) rotateX(0) rotateY(90deg) rotateZ(0)}.eae-fb-animate-flipcard.flipcard-rotate-right-left .eae-flip-box-wrapper:hover .eae-flip-box-front{transform:perspective(0) rotateX(0) rotateY(-90deg) rotateZ(0)}.eae-fb-animate-flipcard.flipcard-rotate-right-left .eae-flip-box-wrapper:hover .eae-flip-box-back{z-index:99999;transform:perspective(0) rotateX(0) rotateY(0) rotateZ(0)}@keyframes batman{0%{transform:scale(1,1) rotateZ(0)}100%{transform:scale(0,0) rotateZ(720deg);opacity:0}}.eae-flip-box-back i,.eae-flip-box-front i{font-size:32px;height:1em;width:1em;position:relative;display:block}.eae-flip-box-back i:before,.eae-flip-box-front i:before{position:absolute;left:50%;-webkit-transform:translate(-50%);-moz-transform:translate(-50%);-ms-transform:translate(-50%);-o-transform:translate(-50%);transform:translate(-50%)}.eae-fb-icon-view-framed{border:1px solid #92be43}.eae-fb-icon-shape-circle{border-radius:50%}.eae-flip-box-wrapper .icon-wrapper{display:inline-block;padding:10px;line-height:1}.eae-flip-box-wrapper .back-icon-title,.eae-flip-box-wrapper .front-icon-title{margin:10px auto;color:#fff}.eae-flip-box-wrapper .flipbox-content{display:block;position:relative;top:50%;transform:translateY(-50%);-ms-transform:translateY(-50%)}.flipbox-content p{margin-bottom:10px}.eae-fb-button{display:inline-block;padding:5px 10px}.eae-flip-box-front{background:#a0ce4e}.eae-flip-box-back{background:#73b9dc}@media only screen and (max-width:768px){.eae-flip-box-back,.eae-flip-box-front,.flipbox-content{cursor:pointer;overflow:visible!important;transform-style:preserve-3d;-webkit-transform-style:preserve-3d}}.elementor-widget-wts-shape-separator svg{display:block}.wts-eae-pl-wrapper ul{margin:0}.wts-eae-pl-wrapper ul li{list-style:none;overflow:hidden;margin-bottom:10px}.eae-pl-img-align-none .eae-pl-image-wrapper a{text-align:center}.eae-pl-title{margin:0}.eae-pl-title a{display:block}.eae-pl-readmore a{display:inline-block;border-radius:2px;color:#fff;padding:4px 8px}.eae-at-animation-text-wrapper{display:inline-block;position:relative;text-align:left}.eae-at-animation-text-wrapper .eae-at-animation-text{display:inline-block;position:absolute;white-space:nowrap;left:0;top:0}.eae-at-animation-text-wrapper .eae-at-animation-text.is-visible{position:relative}.no-js .eae-at-animation-text-wrapper .eae-at-animation-text{opacity:0}.no-js .eae-at-animation-text-wrapper .eae-at-animation-text.is-visible{opacity:1}.eae-animtext-wrapper{font-size:40px}.eae-st-rest-text{display:inline-block}.eae-st-split-text{display:inline-block}.eae-at-animation.type .eae-at-animation-text-wrapper{vertical-align:bottom;overflow:hidden}.eae-at-animation.type .eae-at-animation-text-wrapper::after{content:'';position:absolute;right:0;top:50%;bottom:auto;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%);height:90%;width:1px}.eae-at-animation.type .eae-at-animation-text-wrapper.waiting::after{-webkit-animation:cd-pulse 1s infinite;-moz-animation:cd-pulse 1s infinite;animation:cd-pulse 1s infinite}.eae-at-animation.type .eae-at-animation-text-wrapper.selected::after{visibility:hidden}.eae-at-animation.type .eae-at-animation-text{visibility:hidden}.eae-at-animation.type .eae-at-animation-text.is-visible{visibility:visible}.eae-at-animation.type i{position:absolute;visibility:hidden}.eae-at-animation.type i.in{position:relative;visibility:visible}@-webkit-keyframes cd-pulse{0%{-webkit-transform:translateY(-50%) scale(1);opacity:1}40%{-webkit-transform:translateY(-50%) scale(.9);opacity:0}100%{-webkit-transform:translateY(-50%) scale(0);opacity:0}}@-moz-keyframes cd-pulse{0%{-moz-transform:translateY(-50%) scale(1);opacity:1}40%{-moz-transform:translateY(-50%) scale(.9);opacity:0}100%{-moz-transform:translateY(-50%) scale(0);opacity:0}}@keyframes cd-pulse{0%{-webkit-transform:translateY(-50%) scale(1);-moz-transform:translateY(-50%) scale(1);-ms-transform:translateY(-50%) scale(1);-o-transform:translateY(-50%) scale(1);transform:translateY(-50%) scale(1);opacity:1}40%{-webkit-transform:translateY(-50%) scale(.9);-moz-transform:translateY(-50%) scale(.9);-ms-transform:translateY(-50%) scale(.9);-o-transform:translateY(-50%) scale(.9);transform:translateY(-50%) scale(.9);opacity:0}100%{-webkit-transform:translateY(-50%) scale(0);-moz-transform:translateY(-50%) scale(0);-ms-transform:translateY(-50%) scale(0);-o-transform:translateY(-50%) scale(0);transform:translateY(-50%) scale(0);opacity:0}}.eae-img-comp-container{width:100%;position:relative;text-align:center}.eae-img-comp-container img{vertical-align:middle}.eae-img-comp-img{position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;transform:translateZ(0);backface-visibility:hidden}.eae-img-comp-img img{display:block;max-width:100%;width:100%}.eae-img-comp-slider{position:absolute;z-index:9;width:40px;height:40px;background-color:#2196f3;opacity:1;border-radius:50%}.icon-horizontal{cursor:ew-resize}.icon-vertical{cursor:n-resize}.mode-horizontal .eae-img-comp-overlay img{position:absolute;left:0;top:0;display:block;width:auto;height:100%!important;max-width:none!important}.mode-vertical .eae-img-comp-overlay img{position:absolute;left:0;top:0;display:block;width:100%;height:auto!important;max-width:none!important}.eae-img-comp-slider svg,.eae-slider-icon{top:50%;transform:translateY(-50%) translateX(-50%);position:absolute;left:50%;color:#fff}.elementor-widget-wts-ab-image{text-align:center}.elementor-widget-wts-ab-image .elementor-widget-container{display:inline-block;margin:0 auto!important;overflow:hidden}.eae-text-before{position:absolute!important;padding:10px;transition:transform .3s .7s,opacity .3s .7s;color:#d36118;z-index:0;background:rgba(255,255,255,.5);margin:20px}.eae-text-after{position:absolute!important;padding:10px;transition:transform .3s .7s,opacity .3s .7s;color:#d36118;z-index:0;background:rgba(255,255,255,.5);margin:20px}.divTest{display:inline-block;background-color:#00a0d2;padding:20px}.eae-particle-wrapper{position:absolute;left:0;top:0}.eae-particle-wrapper.eae-particle-area{width:100%;height:100%}body:not(.elementor-editor-active) .eae-particle-wrapper{width:100%;height:100%}body:not(.elementor-editor-active) .eae-particle-wrapper .particles-js-canvas-el{height:100%;position:absolute;z-index:0}.eae-section-bs{position:absolute;width:100%;height:100%;top:0}.eae-section-bs-inner{width:100%;height:100%!important}.eae-popup.mfp-bg{top:0;left:0;width:100%;height:100%;z-index:1042;overflow:hidden;position:fixed;background:#0b0b0b;opacity:.8}.eae-popup-link{padding:12px 24px;color:#fff;display:inline-flex;line-height:1}.eae-popup-link svg{fill:#fff}.eae-popup-link:hover{color:#fff}.eae-popup.mfp-wrap{top:0;left:0;width:100%;height:100%;z-index:1043;position:fixed;outline:0!important;-webkit-backface-visibility:hidden}.eae-popup .mfp-container{text-align:center;position:absolute;width:100%;height:100%;left:0;top:0;padding:0 8px;box-sizing:border-box}.eae-popup .mfp-container:before{content:'';display:inline-block;height:100%;vertical-align:middle}.eae-popup .mfp-align-top .mfp-container:before{display:none}.eae-popup .mfp-content{position:relative;display:inline-block;vertical-align:middle;margin:0 auto;text-align:left;z-index:1045}.eae-modal-content{padding:20px}.eae-pop-btn-align-left .eae-popup-wrapper{text-align:left}.eae-pop-btn-align-right .eae-popup-wrapper{text-align:right}.eae-pop-btn-align-center .eae-popup-wrapper{text-align:center}.eae-pop-btn-align-justify .eae-popup-wrapper{text-align:center}.eae-pop-btn-align-justify .eae-popup-wrapper a{display:block}.eae-popup .mfp-ajax-holder .mfp-content,.eae-popup .mfp-inline-holder .mfp-content{width:50%;background-color:#fff;cursor:auto;overflow:hidden}.eae-popup .mfp-ajax-cur{cursor:progress}.eae-popup .mfp-zoom-out-cur,.eae-popup .mfp-zoom-out-cur .mfp-image-holder .eae-close{cursor:-moz-zoom-out;cursor:-webkit-zoom-out;cursor:zoom-out}.eae-popup .mfp-zoom{cursor:pointer;cursor:-webkit-zoom-in;cursor:-moz-zoom-in;cursor:zoom-in}.eae-popup.mfp-auto-cursor .mfp-content{cursor:auto}.eae-popup .eae-close,.eae-popup .mfp-arrow,.eae-popup .mfp-counter,.eae-popup .mfp-preloader{-webkit-user-select:none;-moz-user-select:none;user-select:none}.mfp-loading.mfp-figure{display:none}.mfp-hide{display:none!important}.eae-popup .mfp-preloader{color:#ccc;position:absolute;top:50%;width:auto;text-align:center;margin-top:-.8em;left:8px;right:8px;z-index:1044}.eae-popup .mfp-preloader a{color:#ccc}.eae-popup .mfp-preloader a:hover{color:#fff}.mfp-s-ready .mfp-preloader{display:none}.mfp-s-error .mfp-content{display:none}button.eae-close,button.mfp-arrow{overflow:visible;cursor:pointer;background:0 0;border:0;-webkit-appearance:none;display:block;outline:0;padding:0;z-index:1046;box-shadow:none;touch-action:manipulation}button::-moz-focus-inner{padding:0;border:0}.eae-popup .eae-close{width:28px;height:28px;line-height:1em;position:absolute;right:10px;top:10px;text-decoration:none;text-align:center;opacity:1;color:#fff;font-size:28px;z-index:1500}.eae-close:focus,.eae-close:hover{opacity:1;cursor:pointer}.eae-close:active{top:1px}.eae-close:before{top:50%;left:50%;position:absolute;transform:translate(-50%,-50%)}.eae-popup.eae-close-btn-in .eae-close{color:#fff}.mfp-iframe-holder .eae-close,.mfp-image-holder .eae-close{color:#fff;right:-6px;text-align:right;padding-right:6px;width:100%}.mfp-counter{position:absolute;top:0;right:0;color:#ccc;font-size:12px;line-height:18px;white-space:nowrap}.mfp-arrow{position:absolute;opacity:.65;margin:0;top:50%;margin-top:-55px;padding:0;width:90px;height:110px;-webkit-tap-highlight-color:transparent}.mfp-arrow:active{margin-top:-54px}.mfp-arrow:focus,.mfp-arrow:hover{opacity:1}.mfp-arrow:after,.mfp-arrow:before{content:'';display:block;width:0;height:0;position:absolute;left:0;top:0;margin-top:35px;margin-left:35px;border:medium inset transparent}.mfp-arrow:after{border-top-width:13px;border-bottom-width:13px;top:8px}.mfp-arrow:before{border-top-width:21px;border-bottom-width:21px;opacity:.7}.mfp-arrow-left{left:0}.mfp-arrow-left:after{border-right:17px solid #fff;margin-left:31px}.mfp-arrow-left:before{margin-left:25px;border-right:27px solid #3f3f3f}.mfp-arrow-right{right:0}.mfp-arrow-right:after{border-left:17px solid #fff;margin-left:39px}.mfp-arrow-right:before{border-left:27px solid #3f3f3f}.mfp-iframe-holder{padding-top:40px;padding-bottom:40px}.mfp-iframe-holder .mfp-content{line-height:0;width:100%;max-width:900px}.mfp-iframe-holder .eae-close{top:-40px}.mfp-iframe-scaler{width:100%;height:0;overflow:hidden;padding-top:56.25%}.mfp-iframe-scaler iframe{position:absolute;display:block;top:0;left:0;width:100%;height:100%;box-shadow:0 0 8px rgba(0,0,0,.6);background:#000}img.mfp-img{width:auto;max-width:100%;height:auto;display:block;line-height:0;box-sizing:border-box;padding:40px 0 40px;margin:0 auto}.eae-popup .mfp-figure{line-height:0}.eae-popup .mfp-figure:after{content:'';position:absolute;left:0;top:40px;bottom:40px;display:block;right:0;width:auto;height:auto;z-index:-1;box-shadow:0 0 8px rgba(0,0,0,.6);background:#444}.eae-popup .mfp-figure small{color:#bdbdbd;display:block;font-size:12px;line-height:14px}.eae-popup .mfp-figure figure{margin:0}.eae-popup .mfp-bottom-bar{margin-top:-36px;position:absolute;top:100%;left:0;width:100%;cursor:auto}.eae-popup .mfp-title{text-align:left;line-height:1;word-wrap:break-word;color:#fff;background-color:#4054b2;padding:20px 20px 20px 20px}.eae-popup .mfp-image-holder .mfp-content{max-width:100%}.eae-popup .mfp-gallery .mfp-image-holder .mfp-figure{cursor:pointer}@media screen and (max-width:800px) and (orientation:landscape),screen and (max-height:300px){.mfp-img-mobile .mfp-image-holder{padding-left:0;padding-right:0}.mfp-img-mobile img.mfp-img{padding:0}.mfp-img-mobile .mfp-figure:after{top:0;bottom:0}.mfp-img-mobile .mfp-figure small{display:inline;margin-left:5px}.mfp-img-mobile .mfp-bottom-bar{background:rgba(0,0,0,.6);bottom:0;margin:0;top:auto;padding:3px 5px;position:fixed;box-sizing:border-box}.mfp-img-mobile .mfp-bottom-bar:empty{padding:0}.mfp-img-mobile .mfp-counter{right:5px;top:3px}.mfp-img-mobile .eae-close{top:0;right:0;width:35px;height:35px;line-height:35px;background:rgba(0,0,0,.6);position:fixed;text-align:center;padding:0}}.elementor-element.eae-animated-gradient-yes,.elementor-element.eae-animated-gradient-yes .animated-gradient{background-size:400% 400%!important;-webkit-animation:AnimateGradient 15s ease-in-out infinite;-moz-animation:AnimateGradient 15s ease-in-out infinite;animation:AnimateGradient 15s ease-in-out infinite}.animated-gradient{position:absolute;top:0;left:0;height:100%;width:100%}@-webkit-keyframes AnimateGradient{0%{background-position:0 50%}50%{background-position:100% 50%}100%{background-position:0 50%}}@-moz-keyframes AnimateGradient{0%{background-position:0 50%}50%{background-position:100% 50%}100%{background-position:0 50%}}@keyframes AnimateGradient{0%{background-position:0 50%}50%{background-position:100% 50%}100%{background-position:0 50%}}.eae-swiper-outer-wrapper .swiper-slide{height:auto;overflow:inherit}.eae-swiper-outer-wrapper .swiper-slide-wrapper,.eae-swiper-outer-wrapper .testimonial-wrapper{height:100%}.eae-grid{display:flex;flex-wrap:wrap;flex-direction:row}.eae-masonry- .eae-grid-item{position:relative;height:100%}.eae-masonry- .eae-grid-item .testimonial-wrapper{height:100%}.eae-grid-container{transition:.1s all ease}.eae-grid-container{display:inline-block}.wrapper .content{margin:10px 0}.skin-2.testimonial-wrapper{display:flex;flex-direction:column;background-color:#9c989821;min-height:300px;padding:10px 20px;box-shadow:0 0 5px rgba(0,0,0,.15);color:#696969}.skin-2 .content-wrapper{padding:10px;position:relative;background-color:#fff;border-radius:10px;color:#77778e}.skin-2 i.after-content,.skin-2 i.before-content{position:absolute}.skin-2 i.before-content{top:10px;left:20px}.skin-2 i.after-content{bottom:10px;right:20px}.skin-2 blockquote{position:relative;font-size:14px;padding:10px;font-weight:500;text-align:left;margin:0;line-height:1.6em;font-style:italic}.skin-2 blockquote::after,.skin-2 blockquote::before{font-family:FontAwesome;content:"\201C";position:absolute;font-size:50px;opacity:.3;font-style:normal}.skin-2 blockquote::before{top:10px;left:20px}.skin-2 blockquote::after{content:"\201D";right:20px}.skin-2 .image-wrapper{position:relative;max-width:100%;text-align:center}.skin-2 img{width:100px;border-radius:25%}.skin-2 .detail-wrapper{text-align:center}.skin-2 .company,.skin-2 .designation,.skin-2 .rating-wrapper,.skin-2 .title{padding:5px 0}.skin-2 .rating-wrapper{color:navy}.skin-2 .title{font-weight:800;color:#000}.skin-2 blockquote p{margin:10px 0!important}.skin-1.testimonial-wrapper{display:flex;flex-direction:column;background-color:#fff;box-shadow:0 0 5px rgba(0,0,0,.15);color:#000}.skin-1 .content-wrapper{order:0}.skin-1 .image-wrapper{order:1;text-align:center;margin:15px 0}.skin-1 .detail-wrapper{order:2}.skin-1 .content-wrapper{padding:10px;position:relative}.skin-1 i.after-content,.skin-1 i.before-content{position:absolute}.skin-1 i.before-content{top:10px;left:20px}.skin-1 i.after-content{bottom:10px;right:20px}.skin-1 blockquote{position:relative;background-color:#fff;font-size:14px;padding:10px;font-weight:500;text-align:left;margin:0;line-height:1.6em;font-style:italic}.skin-1 blockquote::after,.skin-1 blockquote::before{font-family:FontAwesome;content:"\201C";position:absolute;font-size:50px;opacity:.3;font-style:normal}.skin-1 blockquote::before{top:10px;left:20px}.skin-1 blockquote::after{content:"\201D";right:20px}.skin-1 .image-wrapper{position:relative;max-width:100%}.skin-1 img{width:100px;height:auto;border-radius:50%}.skin-1 .detail-wrapper{display:flex;flex-direction:row-reverse;justify-content:space-between;padding:10px;background-color:rgba(157,163,156,.18)}.skin-1 .designation,.skin-1 .rating-wrapper,.skin-1 .title{margin:0 5px}.skin-1 .title-wrapper{display:flex;flex-direction:row}.skin-1 .rating-wrapper{color:#fecc1f}.skin-4.testimonial-wrapper{flex-direction:column;display:flex;background-color:#bfbfb6bd;min-height:300px;padding:10px 0;box-shadow:0 0 5px rgba(0,0,0,.15);color:#77778e}.skin-4 .content-wrapper{padding:10px;position:relative}.skin-4 .content-wrapper{order:2;color:#3c3c3c}.skin-4 i.after-content,.skin-4 i.before-content{position:absolute}.skin-4 i.before-content{top:10px;left:20px}.skin-4 i.after-content{bottom:10px;right:20px}.skin-4 blockquote{position:relative;font-size:14px;padding:10px;font-weight:500;text-align:left;margin:0;line-height:1.6em;font-style:italic}.skin-4 blockquote::after,.skin-4 blockquote::before{font-family:FontAwesome;content:"\201C";position:absolute;font-size:50px;opacity:.3;font-style:normal}.skin-4 blockquote::before{top:10px;left:20px}.skin-4 blockquote::after{content:"\201D";right:20px}.skin-4 .image-wrapper{position:relative;max-width:100%;text-align:center}.skin-4 img{width:100px;border-radius:50%}.skin-4 .detail-wrapper{text-align:center}.skin-2 .designation,.skin-2 .title,.skin-4 .rating-wrapper{padding:5px 0}.skin-4 .rating-wrapper{color:#690a69}.skin-4 .title{font-weight:800;color:#000}.skin-3.testimonial-wrapper{display:flex;flex-direction:row;background-color:#9c989821;box-shadow:0 0 5px rgba(0,0,0,.15);color:#000;overflow:hidden}.skin-3 .content-section{display:flex;flex-direction:column;align-self:center}.skin-3 .content-wrapper{padding:10px;position:relative}.skin-2 i.after-content,.skin-3 i.before-content{position:absolute}.skin-3 i.before-content{top:10px;left:20px}.skin-3 i.after-content{bottom:10px;right:20px}.skin-3 blockquote{position:relative;font-size:18px;padding:10px;font-weight:500;text-align:left;margin:0;line-height:1.6em;font-style:italic}.skin-3 blockquote::after,.skin-3 blockquote::before{font-family:FontAwesome;content:"\201C";position:absolute;font-size:50px;opacity:.3;font-style:normal}.skin-3 blockquote::before{top:10px;left:20px}.skin-3 blockquote::after{content:"\201D";right:20px}.skin-3 .image-wrapper{position:relative;max-width:30%;max-height:250px;text-align:center;align-self:center}.skin-3 img{width:100%}.testimonial-wrapper .skin-3 .eae-person-avatar{border-radius:50%}.skin-3 .detail-wrapper{text-align:left;padding-left:20px}.skin-3 .designation,.skin-3 .rating-wrapper,.skin-3 .title{padding:3px 0}.skin-3 .rating-wrapper{color:#800040}.skin-3 .title{font-weight:800}.eae-swiper-outer-wrapper .swiper-button-prev{-webkit-mask:url(arrow-left.svg) no-repeat 100% 100%;mask:url(arrow-left.svg) no-repeat 100% 100%;-webkit-mask-size:cover;mask-size:cover;background-image:none;background-color:#007aff;transform:translateY(-50%);margin-top:0}.eae-swiper-outer-wrapper .swiper-container-rtl .swiper-button-prev{-webkit-mask:url(arrow-right.svg) no-repeat 100% 100%;mask:url(arrow-right.svg) no-repeat 100% 100%}.eae-swiper-outer-wrapper .swiper-button-next{-webkit-mask:url(arrow-right.svg) no-repeat 100% 100%;mask:url(arrow-right.svg) no-repeat 100% 100%;-webkit-mask-size:cover;mask-size:cover;background-image:none;background-color:#007aff;transform:translateY(-50%);margin-top:0}.eae-swiper-outer-wrapper .swiper-container-rtl .swiper-button-next{-webkit-mask:url(arrow-left.svg) no-repeat 100% 100%;mask:url(arrow-left.svg) no-repeat 100% 100%}.elementor-widget-wts-testimonial-slider .eae-swiper-outer-wrapper .swiper-button-next,.elementor-widget-wts-testimonial-slider .eae-swiper-outer-wrapper .swiper-button-prev{-webkit-mask:none;mask:none;-webkit-mask-size:unset;mask-size:unset;background-image:none;background-color:unset;width:auto;height:auto;transform:translateY(-50%);margin-top:0}.swiper-container .swiper-button-next i,.swiper-container .swiper-button-prev i{width:1em;height:1em;text-align:center;position:relative}.elementor-widget-wts-testimonial-slider .eae-swiper-outer-wrapper .eae-swiper-button-wrapper{position:absolute;height:auto;line-height:0}.eae-hpos-right.eae-vpos-top .eae-swiper-button-wrapper{bottom:auto;top:0;width:auto;right:0}.eae-vpos-top.eae-hpos-left .eae-swiper-button-wrapper{bottom:auto;top:0;width:auto;left:0}.eeae-hpos-right.eae-vpos-bottom .eae-swiper-button-wrapper{bottom:0;top:auto;width:auto;right:0}.eae-vpos-bottom.eae-hpos-left .eae-swiper-button-wrapper{bottom:0;top:auto;width:auto;left:0}.eae-hpos-right.eae-vpos-middle .eae-swiper-button-wrapper{bottom:auto;top:50%;width:auto;right:0}.eae-hpos-left.eae-vpos-middle .eae-swiper-button-wrapper{bottom:auto;top:50%;width:auto;left:0}.eae-hpos-left .swiper-button-next,.eae-hpos-left .swiper-button-prev,.eae-hpos-right .swiper-button-next,.eae-hpos-right .swiper-button-prev{position:relative;display:inline-block;right:auto;left:auto}.eae-hpos-right.eae-vpos-bottom .swiper-button-next,.eae-hpos-right.eae-vpos-bottom .swiper-button-prev{top:auto;bottom:0;transform:unset}.eae-hpos-right.eae-vpos-top .swiper-button-next,.eae-hpos-right.eae-vpos-top .swiper-button-prev{top:0;bottom:auto;transform:unset}.eae-hpos-left.eae-vpos-top .swiper-button-next,.eae-hpos-left.eae-vpos-top .swiper-button-prev{top:0;bottom:auto;transform:unset}.eae-hpos-left.eae-vpos-bottom .swiper-button-next,.eae-hpos-left.eae-vpos-bottom .swiper-button-prev{top:auto;bottom:0;transform:unset}.eae-hpos-center.eae-vpos-bottom .swiper-button-next,.eae-hpos-center.eae-vpos-bottom .swiper-button-prev{top:auto;bottom:0;transform:unset}.eae-hpos-center.eae-vpos-top .swiper-button-next,.eae-hpos-center.eae-vpos-top .swiper-button-prev{top:0;bottom:auto;transform:unset}@media all and (max-width:900px){.mfp-arrow{-webkit-transform:scale(.75);transform:scale(.75)}.mfp-arrow-left{-webkit-transform-origin:0;transform-origin:0}.mfp-arrow-right{-webkit-transform-origin:100%;transform-origin:100%}.mfp-container{padding-left:6px;padding-right:6px}}.eae-info-circle{position:relative;width:90%;margin:0 auto;border-radius:50%;display:block}.eae-info-circle:before{content:'';display:block;position:absolute;top:4%;left:4%;width:92%;height:92%;border-radius:50%;z-index:1;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;pointer-events:none}.eae-info-circle:after{content:'';display:block;padding-top:100%}.eae-info-circle .eae-ic-icon-wrap{position:absolute;display:inline-block;top:50%;left:50%;z-index:2;line-height:1em;vertical-align:middle;overflow:hidden;max-width:100%}.eae-info-circle .eae-info-circle-item{top:0;left:0;width:100%;height:100%;display:block}.eae-info-circle .eae-info-circle-item.eae-active .eae-info-circle-item__content-wrap{visibility:visible;opacity:1;display:flex}.eae-info-circle .eae-info-circle-item__content-wrap{visibility:visible;display:none;height:91%;width:91%;opacity:0;top:50%;transform:translateY(-50%) translateX(-50%);position:absolute;left:50%;border-radius:50%;overflow:hidden;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.eae-info-circle .eae-info-circle-item__content-wrap:before{content:'';display:inline-block;height:100%;vertical-align:middle}.eae-info-circle .eae-info-circle-item__content{display:inline-block;top:50%;transform:translateY(-50%) translateX(-50%);position:absolute;left:50%;vertical-align:middle;z-index:1;max-height:100%;overflow:auto;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;text-align:center;width:75%}@media screen and (max-width:767px){.eae-info-circle.eae-info-circle .eae-info-circle-item__content-wrap:before{display:none}.eae-info-circle:after,.eae-info-circle:before{display:none}.eae-info-circle{width:100%!important}.eae-info-circle-wrapper:after,.eae-info-circle-wrapper:before{display:none}.eae-info-circle .eae-ic-icon-wrap{display:block;text-align:center;position:relative!important;left:unset!important;margin-left:0!important;margin-top:0!important;margin-bottom:10px}.eae-info-circle-item{position:relative!important;border-radius:0!important;padding:0;margin:10px 0}.eae-info-circle .eae-info-circle-item__content-wrap{visibility:visible;opacity:1!important;display:flex!important;border-radius:0!important;border:none!important;margin:0!important;padding-right:0!important;padding-left:0!important;padding-bottom:0!important;width:100%;height:auto;line-height:1.5em;position:relative;top:unset;left:unset;transform:unset}.eae-info-circle .eae-info-circle-item__content{position:relative;top:unset;left:unset;transform:unset;width:100%;padding:10px}}.eae-icon-wrap i{height:1.25em;width:1.25em;line-height:1.25em;display:block}.eae-icon-wrap i img{top:50%;left:50%;transform:translateX(-50%) translateY(-50%);position:absolute}.eae-icon{display:inline-block;text-align:center;vertical-align:middle;max-width:100%;overflow:hidden;padding:10px}.eae-icon-shape-circle:not(.elementor-element){border-radius:50%}.eae-icon-view-framed:not(.elementor-element){border-width:1px;border-style:solid}.eae-icon-wrapper{display:flex}.eae-icon-wrapper .eae-icon{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);line-height:1}.eae-timeline{position:relative;display:inline-block;width:100%}.eae-timline-progress-bar{width:4px;background-color:#f45b69;top:0;bottom:50px;position:absolute;transform:translateX(-50%)}.eae-timeline-item{position:relative;display:flex;flex-direction:row;padding-bottom:50px}.eae-timeline-item:last-child{padding-bottom:0!important}.eae-tl-top .eae-timeline-item{align-items:flex-start}.eae-tl-top .eae-tl-item-content::before{top:10px}.eae-timeline-item.image-position-row .eae-tl-item-image,.eae-timeline-item.image-position-row-reverse .eae-tl-item-image{margin-top:0;margin-bottom:0}.eae-tl-item-meta-wrapper-inner{display:none}.eae-tl-bottom .eae-timeline-item{align-items:flex-end}.eae-tl-bottom .eae-tl-item-content::before{bottom:10px}.eae-tl-center .eae-timeline-item{align-items:center}.eae-tl-center .eae-tl-item-content::before{bottom:calc(50% - 5px)}.eae-layout-center .eae-timline-progress-bar{left:50%}.eae-layout-center .eae-timeline-item:nth-child(odd){flex-direction:row-reverse}.eae-layout-center .eae-timeline-item:nth-child(odd) .eae-tl-item-meta-wrapper{margin-right:0;margin-left:0;justify-content:flex-start}.eae-layout-center .eae-timeline-item:nth-child(odd) .eae-tl-content-wrapper{padding-right:20px;padding-left:0}.eae-layout-center .eae-timeline-item:nth-child(even) .eae-tl-content-wrapper{padding-right:0;padding-left:20px}.eae-layout-left .eae-tl-content-wrapper{padding-right:10px;padding-left:20px}.eae-layout-left .eae-timline-progress-bar{display:none}.eae-layout-left .eae-tl-item-meta-wrapper{display:none}.eae-layout-left .eae-tl-item-meta-wrapper-inner{display:block}.eae-layout-right .eae-timline-progress-bar{display:none}.eae-layout-right .eae-tl-content-wrapper{padding-right:20px;padding-left:10px}.eae-layout-right .eae-tl-icon-wrapper{order:3}.eae-layout-right .eae-tl-item-meta-wrapper{display:none}.eae-layout-right .eae-tl-item-meta-wrapper-inner{display:block}.eae-tl-item-meta-wrapper{flex-grow:1;order:0;flex-basis:50%;flex-direction:initial;justify-content:flex-end;display:flex;align-items:center;margin-right:0}.eae-tl-item-meta{padding:0 20px}.eae-tl-icon-wrapper{height:auto;width:auto;flex-grow:0;flex-shrink:0;order:1;margin-left:0;margin-right:0;min-width:10px;min-height:10px;border-radius:999px;position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.eae-tl-content-wrapper{flex-grow:1;order:2;flex-basis:50%;position:relative;padding-right:0;padding-left:20px}.eae-tl-item-content{background:#f4f4f4;padding:25px;overflow:hidden;text-align:center;display:flex;flex-direction:row}.eae-tl-content{display:inline-block;position:relative;padding:10px;width:100%;color:#000}.eae-timeline-item.custom-image-style-yes.image-position-row .eae-content-inner,.eae-timeline-item.custom-image-style-yes.image-position-row-reverse .eae-content-inner,.image-position-row .eae-timeline .eae-timeline-item:not(.custom-image-style-yes) .eae-content-inner,.image-position-row-reverse .eae-timeline .eae-timeline-item:not(.custom-image-style-yes) .eae-content-inner{position:relative;left:50%;top:50%;transform:translate(-50%,-50%);line-height:1;width:100%}.custom-image-style-.image-position-row .eae-content-inner,.custom-image-style-.image-position-row-reverse .eae-content-inner,.custom-image-style-no.image-position-row .eae-content-inner,.custom-image-style-no.image-position-row-reverse .eae-content-inner{left:unset;top:unset;transform:unset}.eae-tl-item-image{display:inline-block}.image-position-row .eae-tl-item-image img,.image-position-row-reverse .eae-tl-item-image img{object-fit:cover;height:100%!important}.image-position-row .eae-tl-item-image,.image-position-row-reverse .eae-tl-item-image{margin:0}.image-position-column .eae-tl-item-image{margin:auto}.custom-image-style-.image-position-column .eae-tl-item-image,.custom-image-style-no.image-position-column .eae-tl-item-image{margin:0 auto}.eae-pb-inner-line{width:100%;background-color:#3d5ac3}.eae-tl-item-content::before{content:'';position:absolute;width:0;height:0;border-style:solid;border-width:8px 16px 8px 0;border-color:transparent #f4f4f4 transparent transparent}.eae-icon-wrapper{display:flex}.elementor-widget-bpel-timeline .eae-icon-wrapper{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);line-height:1}.eae-tl-read-more{display:inline-block;padding:5px;border:2px solid #000}.image-position-row .eae-timeline.eae-timeline-alternate-yes .eae-timeline-item:nth-child(odd):not(.custom-image-style-yes) .eae-tl-item-content{flex-direction:row-reverse!important}.image-position-row-reverse .eae-timeline.eae-timeline-alternate-yes .eae-timeline-item:nth-child(odd):not(.custom-image-style-yes) .eae-tl-item-content{flex-direction:row!important}@media screen and (min-width:1024px){.eae-layout-center .eae-timeline-item:nth-child(odd) .eae-tl-item-content::before,.eae-layout-right .eae-tl-item-content::before{right:4px;border-width:8px 0 8px 16px;border-color:transparent transparent transparent #f4f4f4}.eae-layout-center .eae-timeline-item:nth-child(even) .eae-tl-item-content::before,.eae-layout-left .eae-tl-item-content::before{left:4px;border-width:8px 16px 8px 0;border-color:transparent #f4f4f4 transparent transparent}}@media screen and (max-width:1023px) and (min-width:768px){.image-position-row .eae-timeline.eae-timeline-alternate-yes .eae-timeline-item:nth-child(odd):not(.custom-image-style-yes) .eae-tl-item-content{flex-direction:row-reverse!important}.image-position-row-reverse .eae-timeline.eae-timeline-alternate-yes .eae-timeline-item:nth-child(odd):not(.custom-image-style-yes) .eae-tl-item-content{flex-direction:row!important}.eae-tl-res-style-mobile-tablet .eae-tl-item-meta-wrapper{display:none}.eae-tl-res-style-mobile-tablet .eae-tl-item-meta-wrapper-inner{display:block}.eae-tl-res-style-mobile-tablet.eae-tl-res-layout-left .eae-timeline-item{flex-direction:row!important}.eae-tl-res-style-mobile-tablet.eae-tl-res-layout-right .eae-timeline-item{flex-direction:row-reverse!important}.eae-layout-center.eae-tl-res-style-mobile-tablet.eae-tl-res-layout-left .eae-timeline-item .eae-tl-item-content::before,.eae-layout-left .eae-timeline-item .eae-tl-item-content::before,.eae-layout-left .eae-tl-item-content::before,.eae-timeline.eae-layout-center.eae-tl-res-style-mobile .eae-timeline-item:nth-child(even) .eae-tl-item-content::before{left:4px!important;border-width:8px 16px 8px 0!important;border-color:transparent #f4f4f4 transparent transparent!important}.eae-layout-center.eae-tl-res-style-mobile-tablet.eae-tl-res-layout-right .eae-timeline-item .eae-tl-item-content::before,.eae-layout-right .eae-timeline-item .eae-tl-item-content::before,.eae-layout-right .eae-tl-item-content::before,.eae-timeline.eae-layout-center.eae-tl-res-style-mobile .eae-timeline-item:nth-child(odd) .eae-tl-item-content::before,.eae-tl-res-style-mobile-tablet.eae-tl-res-layout-right .eae-timeline-item .eae-tl-item-content::before{right:4px!important;border-width:8px 0 8px 16px!important;border-color:transparent transparent transparent #f4f4f4!important}.eae-tl-res-style-mobile-tablet.eae-layout-center.eae-tl-res-layout-left .eae-timeline-item .eae-tl-content-wrapper{padding-right:0!important;padding-left:20px!important}.eae-tl-res-style-mobile-tablet.eae-layout-center.eae-tl-res-layout-right .eae-timeline-item .eae-tl-content-wrapper{padding-right:20px!important;padding-left:0!important}.eae-tl-res-style-mobile-tablet.eae-layout-center.eae-tl-res-layout-left .eae-timline-progress-bar{left:13px}.eae-tl-res-style-mobile-tablet.eae-layout-center.eae-tl-res-layout-right .eae-timline-progress-bar{left:calc(100% - 13px)}}@media screen and (max-width:767px){.eae-tl-item-meta-wrapper{display:none}.eae-tl-item-meta-wrapper-inner{display:block}.elementor-widget-bpel-timeline:not(.image-position-column) .eae-timeline .eae-tl-item-content{flex-direction:column-reverse!important}.eae-tl-item-image,.elementor-widget-bpel-timeline:not(.image-position-column) .eae-tl-content{width:100%!important}.eae-tl-res-style-mobile-tablet.eae-tl-res-layout-left .eae-timeline-item,.eae-tl-res-style-mobile.eae-tl-res-layout-left .eae-timeline-item{flex-direction:row!important}.eae-tl-res-style-mobile-tablet.eae-tl-res-layout-right .eae-timeline-item,.eae-tl-res-style-mobile.eae-tl-res-layout-right .eae-timeline-item{flex-direction:row-reverse!important}.eae-layout-left .eae-timeline-item .eae-tl-item-content::before,.eae-timeline.eae-layout-center.eae-tl-center.eae-tl-res-style-mobile-tablet.eae-tl-res-layout-left .eae-timeline-item:nth-child(odd) .eae-tl-item-content::before,.eae-timeline.eae-layout-center.eae-tl-center.eae-tl-res-style-mobile.eae-tl-res-layout-left .eae-timeline-item:nth-child(odd) .eae-tl-item-content::before,.eae-tl-res-style-mobile-tablet.eae-tl-res-layout-left .eae-timeline-item .eae-tl-item-content::before,.eae-tl-res-style-mobile.eae-tl-res-layout-left .eae-timeline-item .eae-tl-item-content::before{left:4px!important;border-width:8px 16px 8px 0!important;border-color:transparent #f4f4f4 transparent transparent!important}.eae-layout-right .eae-timeline-item .eae-tl-item-content::before,.eae-tl-res-style-mobile-tablet.eae-tl-res-layout-right .eae-timeline-item .eae-tl-item-content::before,.eae-tl-res-style-mobile.eae-tl-res-layout-right .eae-timeline-item .eae-tl-item-content::before{right:4px!important;border-width:8px 0 8px 16px!important;border-color:transparent transparent transparent #f4f4f4!important}.eae-tl-res-style-mobile-tablet.eae-layout-center.eae-tl-res-layout-left .eae-timeline-item .eae-tl-content-wrapper,.eae-tl-res-style-mobile.eae-layout-center.eae-tl-res-layout-left .eae-timeline-item .eae-tl-content-wrapper{padding-right:0!important;padding-left:20px!important}.eae-tl-res-style-mobile-tablet.eae-layout-center.eae-tl-res-layout-right .eae-timeline-item .eae-tl-content-wrapper,.eae-tl-res-style-mobile.eae-layout-center.eae-tl-res-layout-right .eae-timeline-item .eae-tl-content-wrapper{padding-right:20px!important;padding-left:0!important}.eae-tl-res-style-mobile-tablet.eae-layout-center.eae-tl-res-layout-left .eae-timline-progress-bar,.eae-tl-res-style-mobile.eae-layout-center.eae-tl-res-layout-left .eae-timline-progress-bar{left:13px}.eae-tl-res-style-mobile-tablet.eae-layout-center.eae-tl-res-layout-right .eae-timline-progress-bar,.eae-tl-res-style-mobile.eae-layout-center.eae-tl-res-layout-right .eae-timline-progress-bar{left:calc(100% - 13px)}}[data-element_type="eae-evergreen-timer.skin1"] .eae-evergreen-wrapper{display:block;text-align:center}[data-element_type="eae-evergreen-timer.skin1"] #eaeclockdiv{font-family:sans-serif;color:#fff;display:inline-block;font-weight:100;text-align:center;font-size:30px}[data-element_type="eae-evergreen-timer.skin1"] .eae-time-wrapper{padding:10px;border-radius:3px;background:#00bf96;display:inline-block;overflow:hidden}[data-element_type="eae-evergreen-timer.skin1"] #eaeclockdiv div>span{padding:15px;width:100%;background:#00816a;display:inline-block}[data-element_type="eae-evergreen-timer.skin1"] .smalltext{padding:7px;font-size:16px}[data-element_type="eae-evergreen-timer.skin1"] .eae-egt-hide{display:none}.eae-egt-message{display:none}@media screen and (max-width:767px){[data-element_type="eae-evergreen-timer.skin1"] #eaeclockdiv div>span{padding:5px}[data-element_type="eae-evergreen-timer.skin1"] .eae-time-wrapper{padding:5px}}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-o-backface-visibility:hidden;backface-visibility:hidden}[data-element_type="eae-evergreen-timer.skin2"] .eae-evergreen-wrapper{display:inline-block;width:100%;text-align:center;margin:auto}[data-element_type="eae-evergreen-timer.skin2"] .timer-container{display:inline-block}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper a{cursor:pointer;text-decoration:none;color:#ccc}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper a:hover{color:#fff}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul{list-style:none}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper.clearfix:after,[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper.clearfix:before{content:" ";display:table}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper.clearfix:after{clear:both}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper{font:normal 11px "Helvetica Neue",Helvetica,sans-serif;-webkit-user-select:none}[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-meridium{background:0 0!important;box-shadow:0 0 0!important;font-size:36px!important}[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-meridium a{color:#313333}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper{text-align:center;position:relative;width:100%;margin:1em}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper:after,[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper:before{content:" ";display:table}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper:after{clear:both}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul{position:relative;float:left;margin:5px;width:60px;height:90px;font-size:80px;font-weight:700;line-height:87px;border-radius:6px;background:#000}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul li{z-index:1;position:absolute;left:0;top:0;width:100%;height:100%;line-height:87px;text-decoration:none!important}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul li:first-child{z-index:2}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul li a{display:block;height:100%;-webkit-perspective:200px;-moz-perspective:200px;perspective:200px;margin:0!important;overflow:visible!important;cursor:default!important}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul li a div{z-index:1;position:absolute;left:0;width:100%;height:50%;font-size:80px;overflow:hidden;outline:1px solid transparent}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul li a div .shadow{position:absolute;width:100%;height:100%;z-index:2}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul li a div.up{-webkit-transform-origin:50% 100%;-moz-transform-origin:50% 100%;-ms-transform-origin:50% 100%;-o-transform-origin:50% 100%;transform-origin:50% 100%;top:0}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul li a div.up:after{content:"";position:absolute;top:44px;left:0;z-index:5;width:100%;height:3px;background-color:#000;background-color:rgba(0,0,0,.4)}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul li a div.down{-webkit-transform-origin:50% 0;-moz-transform-origin:50% 0;-ms-transform-origin:50% 0;-o-transform-origin:50% 0;transform-origin:50% 0;bottom:0;border-bottom-left-radius:6px;border-bottom-right-radius:6px}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul li a div div.inn{position:absolute;left:0;z-index:1;width:100%;height:200%;color:#ccc;text-shadow:0 1px 2px #000;text-align:center;background-color:#333;border-radius:6px;font-size:70px}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul li a div.up div.inn{top:0}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul li a div.down div.inn{bottom:0}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul.play li.flip-clock-before{z-index:3}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper .flip{box-shadow:0 2px 5px rgba(0,0,0,.7)}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul.play li.flip-clock-active{-webkit-animation:asd 10ms .49s linear both;-moz-animation:asd 10ms .49s linear both;animation:asd 10ms .49s linear both;z-index:5}[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-divider{float:left;display:inline-block;position:relative;width:20px;height:100px}[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-divider:first-child{width:0}[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-dot{display:block;background:#323434;width:10px;height:10px;position:absolute;border-radius:50%;box-shadow:0 0 5px rgba(0,0,0,.5);left:5px}[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-divider .flip-clock-label{position:absolute;top:-1.5em;right:-86px;color:#000;text-shadow:none}[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-divider.minutes .flip-clock-label{right:-88px}[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-divider.seconds .flip-clock-label{right:-91px}[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-dot.top{top:30%}[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-dot.bottom{bottom:30%}@-webkit-keyframes asd{0%{z-index:2}100%{z-index:4}}@-moz-keyframes asd{0%{z-index:2}100%{z-index:4}}@-o-keyframes asd{0%{z-index:2}100%{z-index:4}}@keyframes asd{0%{z-index:2}100%{z-index:4}}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul.play li.flip-clock-active .down{z-index:2;-webkit-animation:turn .5s .5s linear both;-moz-animation:turn .5s .5s linear both;animation:turn .5s .5s linear both}@-webkit-keyframes turn{0%{-webkit-transform:rotateX(90deg)}100%{-webkit-transform:rotateX(0)}}@-moz-keyframes turn{0%{-moz-transform:rotateX(90deg)}100%{-moz-transform:rotateX(0)}}@-o-keyframes turn{0%{-o-transform:rotateX(90deg)}100%{-o-transform:rotateX(0)}}@keyframes turn{0%{transform:rotateX(90deg)}100%{transform:rotateX(0)}}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul.play li.flip-clock-before .up{z-index:2;-webkit-animation:turn2 .5s linear both;-moz-animation:turn2 .5s linear both;animation:turn2 .5s linear both}@-webkit-keyframes turn2{0%{-webkit-transform:rotateX(0)}100%{-webkit-transform:rotateX(-90deg)}}@-moz-keyframes turn2{0%{-moz-transform:rotateX(0)}100%{-moz-transform:rotateX(-90deg)}}@-o-keyframes turn2{0%{-o-transform:rotateX(0)}100%{-o-transform:rotateX(-90deg)}}@keyframes turn2{0%{transform:rotateX(0)}100%{transform:rotateX(-90deg)}}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul li.flip-clock-active{z-index:3}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul.play li.flip-clock-before .up .shadow{background:-moz-linear-gradient(top,rgba(0,0,0,.1) 0,#000 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,rgba(0,0,0,.1)),color-stop(100%,#000));background:linear,top,rgba(0,0,0,.1) 0,#000 100%;background:-o-linear-gradient(top,rgba(0,0,0,.1) 0,#000 100%);background:-ms-linear-gradient(top,rgba(0,0,0,.1) 0,#000 100%);background:linear,to bottom,rgba(0,0,0,.1) 0,#000 100%;-webkit-animation:show .5s linear both;-moz-animation:show .5s linear both;animation:show .5s linear both}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul.play li.flip-clock-active .up .shadow{background:-moz-linear-gradient(top,rgba(0,0,0,.1) 0,#000 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,rgba(0,0,0,.1)),color-stop(100%,#000));background:linear,top,rgba(0,0,0,.1) 0,#000 100%;background:-o-linear-gradient(top,rgba(0,0,0,.1) 0,#000 100%);background:-ms-linear-gradient(top,rgba(0,0,0,.1) 0,#000 100%);background:linear,to bottom,rgba(0,0,0,.1) 0,#000 100%;-webkit-animation:hide .5s .3s linear both;-moz-animation:hide .5s .3s linear both;animation:hide .5s .3s linear both}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul.play li.flip-clock-before .down .shadow{background:-moz-linear-gradient(top,#000 0,rgba(0,0,0,.1) 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#000),color-stop(100%,rgba(0,0,0,.1)));background:linear,top,#000 0,rgba(0,0,0,.1) 100%;background:-o-linear-gradient(top,#000 0,rgba(0,0,0,.1) 100%);background:-ms-linear-gradient(top,#000 0,rgba(0,0,0,.1) 100%);background:linear,to bottom,#000 0,rgba(0,0,0,.1) 100%;-webkit-animation:show .5s linear both;-moz-animation:show .5s linear both;animation:show .5s linear both}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul.play li.flip-clock-active .down .shadow{background:-moz-linear-gradient(top,#000 0,rgba(0,0,0,.1) 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#000),color-stop(100%,rgba(0,0,0,.1)));background:linear,top,#000 0,rgba(0,0,0,.1) 100%;background:-o-linear-gradient(top,#000 0,rgba(0,0,0,.1) 100%);background:-ms-linear-gradient(top,#000 0,rgba(0,0,0,.1) 100%);background:linear,to bottom,#000 0,rgba(0,0,0,.1) 100%;-webkit-animation:hide .5s .3s linear both;-moz-animation:hide .5s .3s linear both;animation:hide .5s .2s linear both}@-webkit-keyframes show{0%{opacity:0}100%{opacity:1}}@-moz-keyframes show{0%{opacity:0}100%{opacity:1}}@-o-keyframes show{0%{opacity:0}100%{opacity:1}}@keyframes show{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes hide{0%{opacity:1}100%{opacity:0}}@-moz-keyframes hide{0%{opacity:1}100%{opacity:0}}@-o-keyframes hide{0%{opacity:1}100%{opacity:0}}@keyframes hide{0%{opacity:1}100%{opacity:0}}@media screen and (max-width:767px){[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-divider{width:15px}[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-dot{height:5px;width:5px}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul{height:40px}[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-divider{height:50px}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul li{line-height:37px}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul li a div div.inn{font-size:24px}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul{margin:2px}}[data-element_type="eae-evergreen-timer.skin3"] #timer{font-family:sans-serif;color:#fff;display:inline-block;font-weight:100;text-align:center;font-size:30px}[data-element_type="eae-evergreen-timer.skin3"] .desc{display:flex;justify-content:center}[data-element_type="eae-evergreen-timer.skin3"].eae-egt-content-align-right .desc{justify-content:flex-end}[data-element_type="eae-evergreen-timer.skin3"].eae-egt-content-align-left .desc{justify-content:flex-start}[data-element_type="eae-evergreen-timer.skin3"] .desc .egt-time-text{display:inline-block;padding:0 50px 0 50px}[data-element_type="eae-evergreen-timer.skin3"] .eae-time-wrapper{padding:50px;border-radius:3px;background:#00bf96;display:inline-block;overflow:hidden;margin:5px;line-height:1em}[data-element_type="eae-evergreen-timer.skin3"] #timer span:nth-child(1){background:khaki}[data-element_type="eae-evergreen-timer.skin3"] #timer span:nth-child(2){background:#cd5c5c}[data-element_type="eae-evergreen-timer.skin3"] #timer span:nth-child(3){background:#5f9ea0}[data-element_type="eae-evergreen-timer.skin3"] #timer span:nth-child(4){background:#6495ed}[data-element_type="eae-evergreen-timer.skin3"] .fade{animation:flip .7s ease forwards}@keyframes flip{0%{transform:rotateY(0) scaleY(1.1);opacity:.5}50%{transform:rotateY(180deg) scaleY(1.3);opacity:0}100%{transform:rotateY(0);opacity:1}}@media screen and (max-width:767px){[data-element_type="eae-evergreen-timer.skin3"] #timer span{font-size:22px}[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-divider .flip-clock-label{top:-1.5em;right:-42px}[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-divider.minutes .flip-clock-label{right:-48px}[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-divider.seconds .flip-clock-label{right:-51px}}[data-element_type="eae-evergreen-timer.skin4"] .eae-evergreen-wrapper{width:100%}[data-element_type="eae-evergreen-timer.skin4"] .container{margin:0 auto}[data-element_type="eae-evergreen-timer.skin4"] .special{position:relative;width:840px;height:47px}[data-element_type="eae-evergreen-timer.skin4"] #counter{position:absolute;z-index:4000}[data-element_type="eae-evergreen-timer.skin4"] .digit-separator{position:relative;float:left;width:17px;height:44px;overflow:hidden;background-image:url(../digit-sep-svg.svg);background-repeat:no-repeat;background-position:0 0;background-color:#4054b2}[data-element_type="eae-evergreen-timer.skin4"] .digit{background-image:url(../digits-svg-alpha.svg);background-color:#4054b2}.eae-ct-wrapper *{box-sizing:border-box;margin:0;outline:0}article.eae-ct-wrapper{width:100%;max-width:1000px;margin:0 auto;position:relative}.eae-ct-wrapper tbody tr.eae-ct-header td,.eae-ct-wrapper th{position:relative}.eae-ct-wrapper ul{display:none;top:0;z-index:10;padding-bottom:14px}.eae-ct-wrapper li{list-style:none;flex:1;position:relative}.eae-ct-wrapper li:hover{cursor:pointer}.eae-ct-wrapper .eae-ct-heading{width:100%;padding:10px;background:#fff;font-size:20px;font-weight:700;height:60px;color:#999;text-align:center}.eae-ct-wrapper li.eae-ct-heading .eae-ct-heading-inner{position:absolute;align-self:center;top:50%;left:50%;transform:translate(-50%,-50%);width:100%}.eae-ct-wrapper li.eae-ct-heading.active{background:#f5f5f5}.eae-ct-wrapper table{border-collapse:collapse;table-layout:fixed;width:100%}.eae-ct-wrapper th{background:#f5f5f5;display:none}.eae-ct-wrapper td,.eae-ct-wrapper th{height:53px;vertical-align:middle}.eae-ct-wrapper table{border:none}.eae-ct-wrapper table td,.eae-ct-wrapper table th{border:none}.eae-ct-wrapper table tr td:first-child,.eae-ct-wrapper table tr td:last-child,.eae-ct-wrapper td,.eae-ct-wrapper th{padding:10px;empty-cells:show}.eae-ct-wrapper td,.eae-ct-wrapper th{text-align:center}.eae-ct-wrapper td+td,.eae-ct-wrapper th+th{text-align:center}.eae-ct-wrapper tr:first-child{background:0 0!important}.eae-ct-wrapper ul li:nth-child(1){display:table-cell}.eae-ct-wrapper tr td:nth-child(2){display:table-cell}.eae-ct-wrapper td:nth-child(1){display:table-cell}.eae-ct-wrapper td{display:none}.eae-ct-wrapper .sep{background:#f5f5f5;font-weight:700}.eae-ct-price-wrapper{display:flex;justify-content:center}.eae-ct-tt-type-icon .eae-ct-feature .tooltip{float:right}.eae-ct-wrapper .tooltiptext::before{content:'';border-width:5px 5px 0 5px;border-color:#fff;border-left-color:transparent;border-right-color:transparent;border-bottom-color:transparent;bottom:-10px;width:0;height:0;border-style:solid;position:absolute;margin:5px;left:42%}.eae-ct-wrapper .eae-ct-price{font-size:28px;font-weight:700;line-height:1em}.eae-ct-wrapper .eae-ct-currency{align-self:flex-start;margin-right:3px}.eae-ct-wrapper .eae-ct-fractional-price{align-self:flex-start;margin-left:3px}.eae-ct-wrapper .eae-ct-duration{align-self:flex-start}.eae-ct-wrapper .eae-ct-original-price{margin-right:5px;text-decoration:line-through;align-self:flex-end}.eae-ct-wrapper .tick{font-size:18px;color:#2ca01c}.feature-heading-blank.eae-ct-wrapper .hide{border:unset!important;background:unset!important}.eae-ct-wrapper .hide.eae-ct-hide.eae-fbox-heading{border:0 solid #000}.eae-ct-ribbons-yes .eae-ct-ribbons-wrapper{position:absolute;top:0;width:100px;overflow:hidden;height:100px;z-index:998;padding:8px 12px}.eae-ct-ribbons-h-top.eae-ct-ribbons-yes .eae-ct-ribbons-wrapper{position:absolute;top:0;width:100%;overflow:hidden;height:50px;z-index:999;padding:8px 12px}.eae-ct-ribbons-h-top.eae-ct-ribbons-yes .eae-ct-ribbons-wrapper-top{background-color:rgba(63,195,135,.8);color:#fff;transform:translateY(-100%);position:absolute;width:100%;top:0;left:0}.eae-ct-ribbons-h-left.eae-ct-ribbons-yes .eae-ct-ribbons-wrapper{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);left:0;right:auto}.eae-ct-ribbons-h-right.eae-ct-ribbons-yes .eae-ct-ribbons-wrapper{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(90deg);left:auto;right:0}.eae-ct-ribbons-yes .eae-ct-ribbons-wrapper span.eae-ct-ribbons-inner{position:absolute;text-align:center;left:0;top:0;width:200%;-webkit-transform:translateY(-50%) translateX(-50%) translateX(35px) rotate(-45deg);-ms-transform:translateY(-50%) translateX(-50%) translateX(35px) rotate(-45deg);transform:translateY(-50%) translateX(-50%) translateX(35px) rotate(-45deg);margin-top:35px;font-size:13px;line-height:2;font-weight:800;text-transform:uppercase;background:rgba(63,195,135,.8);padding:8px 12px;color:#fff}.eae-ct-wrapper .tooltip{position:relative;display:inline-block}.eae-ct-wrapper .tooltip .tooltiptext{visibility:hidden;min-width:120px;background-color:#000;color:#fff;text-align:center;border-radius:6px;padding:5px 0;position:absolute;z-index:1;bottom:120%;left:50%;margin-left:-60px}.eae-ct-wrapper .tooltip:hover .tooltiptext{visibility:visible}.eae-ct-heading-tooltip{text-decoration-line:underline;text-decoration-style:dotted}.eae-ct-btn{padding:10px 15px 10px 15px;color:#fff;display:inline-block;line-height:1em}.eae-ct-btn:hover{color:#fff}.eae-ct-wrapper i.fa.fa-check,.eae-ct-wrapper i.fas.fa-check{color:#38f146}.eae-ct-wrapper i.fa.fa-close,.eae-ct-wrapper i.fas.fa-times{color:red}.button-heading-blank.eae-ct-wrapper tr:last-child td:first-child{background:0 0!important;border:none!important}.eae-ct-wrapper tr:last-child{background:0 0!important}tbody tr:nth-child(2){background:0 0!important}@media (min-width:767px){.eae-ct-wrapper .eae-ct-header,.eae-ct-wrapper td{width:330px}.eae-ct-wrapper td+td,.eae-ct-wrapper th+th{width:auto}}.eae-tab-format-all .eae-ct-wrapper ul{display:flex}.hide.eae-ct-hide{display:table-cell}@media (min-width:1023px){.eae-tab-format-all tbody tr.eae-ct-header{display:none}.eae-tab-format-mobile .eae-ct-wrapper td,.eae-tab-format-mobile .eae-ct-wrapper th,.eae-tab-format-tab-mob .eae-ct-wrapper td,.eae-tab-format-tab-mob .eae-ct-wrapper th{display:table-cell!important}.eae-tab-format-all .hide.eae-ct-hide{display:table-cell}.eae-tab-format-mobile .hide.eae-ct-hide,.eae-tab-format-tab-mob .hide.eae-ct-hide{display:none!important}}@media (max-width:1023px){.eae-tab-format-tab-mob .eae-ct-wrapper ul{display:flex}.eae-tab-format-all tbody tr.eae-ct-header,.eae-tab-format-tab-mob tbody tr.eae-ct-header{display:none}.eae-tab-format-all .hide.eae-ct-hide{display:table-cell}.eae-tab-format-tab-mob .hide.eae-ct-hide{display:table-cell}}@media (max-width:1023px) and (min-width:768px){.eae-tab-format-mobile .eae-ct-wrapper td,.eae-tab-format-mobile .eae-ct-wrapper th{display:table-cell!important}.eae-tab-format-all tbody tr.eae-ct-header,.eae-tab-format-tab-mob tbody tr.eae-ct-header{display:none}.eae-tab-format-tab-mob .hide.eae-ct-hide{display:table-cell}}@media (max-width:767px){.eae-tab-format-mobile .eae-ct-wrapper ul{display:flex}.eae-tab-format-mobile tbody tr.eae-ct-header{display:none}.eae-tab-format-all tbody tr.eae-ct-header,.eae-tab-format-mobile tbody tr.eae-ct-header{display:none}.eae-tab-format-mobile .hide.eae-ct-hide{display:table-cell}}.eae-progress-bar-wrapper{display:flex;flex-direction:column;align-items:flex-start;margin:15px 0}.eae-progress-bar-wrapper.eae-progress-bar{width:100%;position:relative;box-sizing:border-box}.eae-pb-bar,.eae-pb-bar-inner,.eae-pb-bar-skill,.eae-pb-bar-value{box-sizing:border-box}.eae-pb-bar{position:relative;height:100%;width:100%;overflow:hidden}.eae-pb-bar--no-overflow{overflow:visible}.eae-pb-bar-inner{position:absolute;top:0;left:0;height:100%;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:left center;transform-origin:left center}.eae-pb-bar-inner.js-animated{transition-property:all;transition-duration:1.5s;transition-timing-function:cubic-bezier(.1,1.14,.31,1.06);transition-delay:1.5s;-webkit-transform:scaleX(1);transform:scaleX(1)}.eae-pb-bar-skill,.eae-pb-bar-value{font-size:14px;letter-spacing:1px}.eae-pb-bar-value--aligned-value{-webkit-transform:translateX(-50%);transform:translateX(-50%)}.eae-progress-bar-skin1{height:20px;padding:4px;border:1px solid #ddd;border-radius:20px}.eae-pb-bar-skin1{border-radius:20px}.eae-pb-bar-inner-skin1{background-color:#00bfb3;background-size:200%;background-position:0 0;border-radius:20px}.eae-pb-bar-skill-skin1{position:absolute;bottom:20px;left:0;opacity:0}.eae-pb-bar-skill-skin1.js-animated{transition-property:all;transition-duration:.5s;transition-timing-function:linear;transition-delay:.5s;left:0;opacity:1}.eae-pb-bar-value-skin1{position:absolute;bottom:20px;opacity:1;right:0}.eae-pb-bar-value-skin1.js-animated{transition-property:all;transition-duration:.5s;transition-timing-function:linear;transition-delay:.5s;right:0;opacity:1}.eae-progress-bar-skin2{height:15px;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.12),0 1px 5px 0 rgba(0,0,0,.2);border-radius:3px}@-webkit-keyframes progress-2-bg-animation{0%{background-position:0 0,0 0}100%{background-position:0 0,42px 0}}@keyframes progress-2-bg-animation{0%{background-position:0 0,0 0}100%{background-position:0 0,42px 0}}.eae-pb-bar-inner-skin2{background-image:linear-gradient(to top,rgba(255,255,255,.15),rgba(0,0,0,.2)),linear-gradient(135deg,#5eeb5b,#5eeb5b 33%,#358600 33%,#358600 66%,#5eeb5b 66%);background-size:100% 100%,42px 100%;background-position:0 0,0 0;border-radius:3px}.eae-pb-bar-inner-skin2.js-animated{-webkit-animation:progress-2-bg-animation 1.5s linear 0s infinite;animation:progress-2-bg-animation 1.5s linear 0s infinite}.eae-pb-bar-skill-skin2{position:absolute;left:0;opacity:0}.eae-pb-bar-skill-skin2.js-animated{transition-property:all;transition-duration:.5s;transition-timing-function:linear;transition-delay:.5s;bottom:20px;opacity:1}.eae-pb-bar-value-skin2{position:absolute;right:0;opacity:0}.eae-pb-bar-value-skin2.js-animated{transition-property:all;transition-duration:.5s;transition-timing-function:linear;transition-delay:.5s;bottom:20px;opacity:1}.eae-progress-bar-skin3{height:5px;background-color:#efefef}.eae-pb-bar-inner-skin3,.eae-pb-bar-value-skin3{background-color:#f40076}.eae-pb-bar-inner:after,.eae-pb-bar-value-skin3:after{border-top-color:#f40076}.eae-pb-bar-skill-skin3{position:absolute;bottom:10px;left:-10px;opacity:0}.eae-pb-bar-skill-skin3.js-animated{transition-property:all;transition-duration:.5s;transition-timing-function:linear;transition-delay:.5s;left:0;opacity:1}.eae-pb-bar-value-skin3{position:absolute;display:inline-block;padding:0 8px;font-size:14px;color:#fff;opacity:0}.eae-pb-bar-value-skin3:after{position:absolute;left:50%;bottom:-10px;display:block;width:0;height:0;content:'';-webkit-transform:translateX(-50%);transform:translateX(-50%);border-width:5px;border-style:solid;border-color:#f40076 transparent transparent transparent}.eae-pb-bar-inner-skin3.js-animated{transition-property:all;transition-duration:1.5s;transition-timing-function:cubic-bezier(.1,1.14,.31,1.06);transition-delay:1.5s;-webkit-transform:scaleX(1);transform:scaleX(1)}.eae-pb-bar-value-skin3.js-animated{transition-property:all;transition-duration:1.5s;transition-timing-function:cubic-bezier(.1,1.14,.31,1.06);transition-delay:2s;bottom:14px;opacity:1}.eae-progress-bar-skin4{height:3px;background-color:#efefef}.eae-pb-bar-inner-skin4{background-color:#000}.eae-pb-bar-inner-skin4:after{position:absolute;top:50%;right:0;display:block;width:8px;height:8px;content:'';-webkit-transform:translateY(-50%);transform:translateY(-50%);background-color:#000;border-radius:50%}.eae-pb-bar-value-skin4{position:absolute;bottom:2px;font-size:14px;opacity:0}.eae-pb-bar-value-skin4.js-animated{transition-property:all;transition-duration:1.5s;transition-timing-function:linear;transition-delay:1.5s;opacity:1}.eae-pb-bar-skill-skin4{position:absolute;bottom:2px;left:-20px;opacity:0}.eae-pb-bar-skill-skin4.js-animated{transition-property:all;transition-duration:.5s;transition-timing-function:linear;transition-delay:.5s;left:0;opacity:1}.eae-progress-bar-skin5{height:30px;background-color:#f7f7f7}.eae-pb-bar-inner-skin5{background-color:#57b8ff}.eae-pb-bar-skill-skin5{position:absolute;top:50%;left:10px;color:#fff;-webkit-transform:translateY(-50%);transform:translateY(-50%);opacity:0}.eae-pb-bar-skill-skin5.js-animated{transition-property:all;transition-duration:.5s;transition-timing-function:linear;transition-delay:.5s;opacity:1}.eae-pb-bar-value-skin5{position:absolute;top:50%;color:#fff;-webkit-transform:translateX(-100%) translateX(-10px) translateY(-50%);transform:translateX(-100%) translateX(-10px) translateY(-50%);opacity:0;z-index:10}.eae-pb-bar-value-skin5.js-animated{transition-property:all;transition-duration:1.5s;transition-timing-function:linear;transition-delay:1.5s;opacity:1}.eae-dual-button-wrapper .eae-button-1-wrapper,.eae-dual-button-wrapper .eae-button-2-wrapper{overflow:hidden}.eae-dual-button-wrapper.button-style-horizontal{display:flex;flex-direction:row;position:relative}.eae-dual-button-main-wrapper{display:flex;flex-direction:row;justify-content:center}.eae-dual-button-wrapper a{min-width:0}.eae-dual-button-wrapper.button-style-vertical{display:inline-flex;flex-direction:column;position:relative}.eae-button-1.icon-before,.eae-button-2.icon-before{display:flex;flex-direction:row}.eae-button-1.icon-after,.eae-button-2.icon-after{display:flex;flex-direction:row-reverse}.eae-button-1-wrapper .eae-button-1,.eae-button-2-wrapper .eae-button-2{color:#000;align-items:center}.eae-button-1-wrapper:hover .eae-button-1,.eae-button-2-wrapper:hover .eae-button-2{color:#000}.eae-dual-button-wrapper.button-style-vertical .eae-button-1.icon-after,.eae-dual-button-wrapper.button-style-vertical .eae-button-1.icon-before,.eae-dual-button-wrapper.button-style-vertical .eae-button-2.icon-after,.eae-dual-button-wrapper.button-style-vertical .eae-button-2.icon-before{justify-content:center}.eae-button-1.icon-up,.eae-button-2.icon-up{display:flex;flex-direction:column;text-align:center}.eae-button-1.icon-down,.eae-button-2.icon-down{display:flex;flex-direction:column-reverse;text-align:center}.eae-button-1-wrapper{background:#ffb6c1;display:flex;justify-content:center;width:100%;line-height:1}.eae-button-2-wrapper{background:orange;display:flex;justify-content:center;width:100%;line-height:1}.eae-button-1.icon-up .icon-wrapper,.eae-button-2.icon-down .icon-wrapper,.eae-button-2.icon-up .icon-wrapper{text-align:center}.eae-button-1.icon-up .eae-button-text,.eae-button-2.icon-down .eae-button-text,.eae-button-2.icon-up .eae-button-text{text-align:center}.eae-button-1.icon-before i,.eae-button-2.icon-after i,.eae-button-2.icon-before i{align-self:center;margin:0 10px 0 0}.eae-button-1.icon-after i,.eae-button-2.icon-after i{align-self:center;margin:0 0 0 10px}.eae-button-1.icon-down i,.eae-button-1.icon-up i,.eae-button-2.icon-down i,.eae-button-2.icon-up i{align-self:center;margin:5px 0}.eae-dual-button-wrapper.button-style-horizontal .eae-button-1-wrapper,.eae-dual-button-wrapper.button-style-horizontal .eae-button-2-wrapper{padding:12px 30px}.eae-dual-button-wrapper.button-style-vertical .eae-button-1-wrapper,.eae-dual-button-wrapper.button-style-vertical .eae-button-2-wrapper{padding:20px 30px}.eae-button1,.eae-button2{position:relative;display:flex}.eae-dual-button-wrapper.button-style-horizontal .eae-button1,.eae-dual-button-wrapper.button-style-horizontal .eae-button2{min-width:150px}.eae-dual-button-wrapper.button-style-vertical .eae-button1{display:flex;flex-direction:column}.eae-button-separator-wrapper .eae-button-separator{width:40px;height:40px;line-height:40px;border-radius:50%;z-index:1;box-shadow:0 0 0 6px rgba(255,255,255,.2);background:#fafaf8;color:#444;text-transform:uppercase;text-align:center;vertical-align:middle;font-weight:400;font-size:14px;position:absolute;transform:translateY(-50%)}.eae-button-separator span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.eae-sweep-right{vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px transparent;position:relative;-webkit-transition-property:color;transition-property:color;-webkit-transition-duration:.3s;transition-duration:.3s}.eae-sweep-right:before{content:"";position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;background:#2098d1;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:0 50%;transform-origin:0 50%;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.eae-sweep-right:active,.eae-sweep-right:focus,.eae-sweep-right:hover{color:#fff}.eae-sweep-right:active:before,.eae-sweep-right:focus:before,.eae-sweep-right:hover:before{-webkit-transform:scaleX(1);transform:scaleX(1)}.eae-sweep-left{vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px transparent;position:relative;-webkit-transition-property:color;transition-property:color;-webkit-transition-duration:.3s;transition-duration:.3s}.eae-sweep-left:before{content:"";position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;background:#2098d1;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:100% 50%;transform-origin:100% 50%;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.eae-sweep-left:active,.eae-sweep-left:focus,.eae-sweep-left:hover{color:#fff}.eae-sweep-left:active:before,.eae-sweep-left:focus:before,.eae-sweep-left:hover:before{-webkit-transform:scaleX(1);transform:scaleX(1)}.eae-sweep-bottom{vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px transparent;position:relative;-webkit-transition-property:color;transition-property:color;-webkit-transition-duration:.3s;transition-duration:.3s}.eae-sweep-bottom:before{content:"";position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;background:#2098d1;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.eae-sweep-bottom:active,.eae-sweep-bottom:focus,.eae-sweep-bottom:hover{color:#fff}.eae-sweep-bottom:active:before,.eae-sweep-bottom:focus:before,.eae-sweep-bottom:hover:before{-webkit-transform:scaleY(1);transform:scaleY(1)}.eae-sweep-top{vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px transparent;position:relative;-webkit-transition-property:color;transition-property:color;-webkit-transition-duration:.3s;transition-duration:.3s}.eae-sweep-top:before{content:"";position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;background:#2098d1;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:50% 100%;transform-origin:50% 100%;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.eae-sweep-top:active,.eae-sweep-top:focus,.eae-sweep-top:hover{color:#fff}.eae-sweep-top:active:before,.eae-sweep-top:focus:before,.eae-sweep-top:hover:before{-webkit-transform:scaleY(1);transform:scaleY(1)}.eae-bounce-right{vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px transparent;position:relative;-webkit-transition-property:color;transition-property:color;-webkit-transition-duration:.5s;transition-duration:.5s}.eae-bounce-right:before{content:"";position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;background:#2098d1;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:0 50%;transform-origin:0 50%;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.eae-bounce-right:active,.eae-bounce-right:focus,.eae-bounce-right:hover{color:#fff}.eae-bounce-right:active:before,.eae-bounce-right:focus:before,.eae-bounce-right:hover:before{-webkit-transform:scaleX(1);transform:scaleX(1);-webkit-transition-timing-function:cubic-bezier(.52,1.64,.37,.66);transition-timing-function:cubic-bezier(.52,1.64,.37,.66)}.eae-bounce-left{vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px transparent;position:relative;-webkit-transition-property:color;transition-property:color;-webkit-transition-duration:.5s;transition-duration:.5s}.eae-bounce-left:before{content:"";position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;background:#2098d1;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:100% 50%;transform-origin:100% 50%;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.eae-bounce-left:active,.eae-bounce-left:focus,.eae-bounce-left:hover{color:#fff}.eae-bounce-left:active:before,.eae-bounce-left:focus:before,.eae-bounce-left:hover:before{-webkit-transform:scaleX(1);transform:scaleX(1);-webkit-transition-timing-function:cubic-bezier(.52,1.64,.37,.66);transition-timing-function:cubic-bezier(.52,1.64,.37,.66)}.eae-bounce-bottom{vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px transparent;position:relative;-webkit-transition-property:color;transition-property:color;-webkit-transition-duration:.5s;transition-duration:.5s}.eae-bounce-bottom:before{content:"";position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;background:#2098d1;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.eae-bounce-bottom:active,.eae-bounce-bottom:focus,.eae-bounce-bottom:hover{color:#fff}.eae-bounce-bottom:active:before,.eae-bounce-bottom:focus:before,.eae-bounce-bottom:hover:before{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition-timing-function:cubic-bezier(.52,1.64,.37,.66);transition-timing-function:cubic-bezier(.52,1.64,.37,.66)}.eae-bounce-top{vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px transparent;position:relative;-webkit-transition-property:color;transition-property:color;-webkit-transition-duration:.5s;transition-duration:.5s}.eae-bounce-top:before{content:"";position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;background:#2098d1;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:50% 100%;transform-origin:50% 100%;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.eae-bounce-top:active,.eae-bounce-top:focus,.eae-bounce-top:hover{color:#fff}.eae-bounce-top:active:before,.eae-bounce-top:focus:before,.eae-bounce-top:hover:before{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition-timing-function:cubic-bezier(.52,1.64,.37,.66);transition-timing-function:cubic-bezier(.52,1.64,.37,.66)}.eae-markers .marker{display:none}.eae-markers p{margin-bottom:0}.eae-fg-wrapper{display:flex;flex-direction:column;overflow:hidden}.eae-gallery-filter{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap}.eae-filter-label{padding:5px 10px;background-color:#a0ce4e;color:#fff;margin:0 3px 0 3px}.eae-filter-label.current{background-color:#73b9dc}.eae-fg-image{display:flex;flex-wrap:wrap;flex-direction:row}.eae-fg-wrapper .eae-gallery-item-inner img{width:100%;height:auto;display:block!important;transition:all .5s ease;-webkit-transition:all .5s ease}.eae-gallery-item{height:auto}.eae-gallery-filter a{color:#fff;text-decoration:none}.eae-gallery-filter a.current{font-weight:700}.eae-gallery-item-inner{position:relative;overflow:hidden}.eae-overlay-always .eae-gallery-item .eae-grid-overlay{display:block}.eae-overlay-hover .eae-gallery-item-inner:hover .eae-grid-overlay{display:block}.eae-overlay-hide-on-hover .eae-gallery-item-inner:hover .eae-grid-overlay{display:none}.eae-overlay-hide-on-hover .eae-grid-overlay{display:block}.eae-grid-overlay{position:absolute;top:0;left:0;display:none;z-index:99;background:rgba(0,0,0,.5);height:100%;width:100%}.eae-grid-overlay-inner{display:block;position:relative;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.eae-fg-wrapper .eae-icon-wrapper{display:flex;justify-content:center}.eae-overlay-caption{display:block;line-height:1em;margin-top:15px;color:#73b9dc}.eae-overlay-icon{line-height:1em;padding:.5em;display:inline-block}.eae-overlay-icon svg{height:auto}.eae-icon-view-framed .eae-overlay-icon{padding:.5em;color:#73b9dc;border:3px solid #73b9dc;background-color:transparent}.eae-icon-view-stacked .eae-overlay-icon{padding:.5em;color:#fff;background-color:#818a91}.eae-hover-direction-effect .eae-grid-overlay{position:absolute;z-index:99;background:rgba(0,0,0,.5);height:100%;width:100%}.eae-fg-wrapper.eae-image-ratio-yes .eae-gallery-item-inner .eae-fg-img-wrapper{position:relative;top:0;overflow:hidden;left:0;right:0;border:0}.eae-fg-wrapper.eae-image-ratio-yes .eae-gallery-item-inner .eae-fg-img-wrapper img{height:100%;width:100%;display:block;position:absolute;top:0;left:0;object-fit:cover}.wts-eae-ribbons-badges-wrapper{display:none}.wts-eae-enable-ribbons-badges-yes .elementor-column-wrap>.wts-eae-ribbons-badges-wrapper{display:block}.wts-eae-enable-ribbons-badges-yes.wts-eae-badge-type-ribbon>.wts-eae-ribbons-badges-wrapper{position:absolute;top:0;left:auto;right:0;-ms-transform:rotate(90deg);width:150px;overflow:hidden;height:150px;z-index:999;padding:8px 12px}.wts-eae-badge-h-left.wts-eae-enable-ribbons-badges-yes.wts-eae-badge-type-ribbon>.wts-eae-ribbons-badges-wrapper{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);left:0;right:auto}.wts-eae-badge-h-right.wts-eae-enable-ribbons-badges-yes.wts-eae-badge-type-ribbon>.wts-eae-ribbons-badges-wrapper{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(90deg);left:auto;right:0}.wts-eae-enable-ribbons-badges-yes.wts-eae-badge-type-ribbon>.wts-eae-ribbons-badges-wrapper span.wts-eae-ribbons-badges-inner{position:absolute;text-align:center;left:0;top:0;width:200%;-webkit-transform:translateY(-50%) translateX(-50%) translateX(35px) rotate(-45deg);-ms-transform:translateY(-50%) translateX(-50%) translateX(35px) rotate(-45deg);transform:translateY(-50%) translateX(-50%) translateX(35px) rotate(-45deg);margin-top:35px;font-size:13px;line-height:2;font-weight:800;text-transform:uppercase;background:rgba(63,195,135,.8);padding:8px 12px}.wts-eae-enable-ribbons-badges-yes.wts-eae-badge-type-badge>.wts-eae-ribbons-badges-wrapper span.wts-eae-ribbons-badges-inner{min-height:3.236em;min-width:3.236em;padding:0;font-size:1em;font-weight:700;position:absolute;text-align:center;line-height:3.236;top:-.5em;left:-.5em;margin:0;border-radius:100%;background-color:#77a464;color:#fff;font-size:.857em;z-index:9}.wts-eae-badge-h-left.wts-eae-badge-v-bottom.wts-eae-enable-ribbons-badges-yes>.wts-eae-ribbons-badges-wrapper span.wts-eae-ribbons-badges-inner{left:20px;right:auto;top:auto;bottom:20px}.wts-eae-badge-h-left.wts-eae-badge-v-top.wts-eae-enable-ribbons-badges-yes>.wts-eae-ribbons-badges-wrapper span.wts-eae-ribbons-badges-inner{left:20px;right:auto;top:20px;bottom:auto}.wts-eae-badge-h-right.wts-eae-badge-v-bottom.wts-eae-enable-ribbons-badges-yes>.wts-eae-ribbons-badges-wrapper span.wts-eae-ribbons-badges-inner{left:auto;right:20px;top:auto;bottom:20px}.wts-eae-badge-h-right.wts-eae-badge-v-top.wts-eae-enable-ribbons-badges-yes>.wts-eae-ribbons-badges-wrapper span.wts-eae-ribbons-badges-inner{left:auto;right:20px;top:20px;bottom:auto}.eae-flip-box-back svg,.eae-flip-box-front svg{width:25px;height:auto}.wts-eae-textseparator svg{width:25px;height:auto}.eae-img-comp-slider svg{width:22px;height:auto}.eae-popup-link svg{display:inline-block;width:1em}.eae-popup svg:focus,.eae-popup svg:hover{opacity:1;cursor:pointer}.eae-popup svg:active{top:1px}.eae-popup svg.eae-close{width:28px;height:28px;line-height:1em;text-decoration:none;text-align:center;opacity:1;background-color:#fff}.eae-dual-button-wrapper svg{width:1em;height:auto;display:block}eae-button-separator i{position:relative;display:block}.eae-button-1.icon-before svg,.eae-button-2.icon-after svg,.eae-button-2.icon-before svg{align-self:center;margin:0 10px 0 0}.eae-button-1.icon-after svg,.eae-button-2.icon-after svg{align-self:center;margin:0 0 0 10px}.eae-button-1.icon-down svg,.eae-button-1.icon-up svg,.eae-button-2.icon-down svg,.eae-button-2.icon-up svg{align-self:center;margin:5px 0}.eae-pt-button-wrapper a svg{width:1em}.eae-pt-action-button .eae-pt-align-icon-left{float:left}.eae-pt-action-button .eae-pt-align-icon-right{float:right}.eae-icon-wrap svg{width:20px;height:auto;font-size:20px;display:block}.eae-info-circle .eae-icon-wrap svg{width:20px;height:auto;font-size:20px}.eae-icon-view-stacked svg{fill:#fff}.ae-link-yes{cursor:pointer}.eae-element-unfold-content{padding:10px 0;background-color:#d3d3D3C4;width:100%;position:absolute;left:0;bottom:0;z-index:999}a.eae-unfold-link{background-color:#61ce70;color:#fff;display:inline-block;overflow:hidden}a.eae-unfold-link svg{background-color:#fff}.eae-unfold-button-icon{vertical-align:middle}.eae-fold-yes .elementor-column-wrap,.eae-fold-yes.elementor-section .elementor-container,.eae-fold-yes.elementor-widget{overflow:hidden}body.elementor-editor-active .elementor.elementor-edit-mode .elementor-element.elementor-section.eae-widget-unfold-yes .elementor-container,body.elementor-editor-preview .elementor.elementor-edit-mode .elementor-element.elementor-section.eae-widget-unfold-yes .elementor-container{overflow:hidden}body.elementor-editor-active .elementor.elementor-edit-mode .elementor-element.elementor-column.eae-widget-unfold-yes .elementor-column-wrap,body.elementor-editor-preview .elementor.elementor-edit-mode .elementor-element.elementor-column.eae-widget-unfold-yes .elementor-column-wrap{overflow:hidden}body.elementor-editor-active .elementor.elementor-edit-mode .elementor-element.elementor-widget.eae-widget-unfold-yes,body.elementor-editor-preview .elementor.elementor-edit-mode .elementor-element.elementor-widget.eae-widget-unfold-yes{overflow:hidden}.eae-widget-unfold-yes .elementor-widget-container .eae-fold-yes.eae-rc{display:none!important}.eae-unfold-button-icon svg{line-height:1em;text-decoration:none;-webkit-mask-repeat:no-repeat!important;text-align:center;opacity:1}.eae-fold-icon-type-svg .eae-unfold-button-icon,.eae-unfold-icon-type-svg .eae-unfold-button-icon{-webkit-mask-size:cover!important;background-image:none;transform:translateY(-50%)}.elementor-section.elementor-section-items-bottom.eae-widget-unfold-yes>.elementor-container,.elementor-section.elementor-section-items-middle.eae-widget-unfold-yes>.elementor-container{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:start}.elementor-section.elementor-section-content-bottom.eae-widget-unfold-yes>.elementor-container,.elementor-section.elementor-section-content-middle.eae-widget-unfold-yes>.elementor-container{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:start}.elementor-widget-wts-modal-popup.eae-pop-btn-type-image .eae-popup-link{padding:0;background-color:transparent;overflow:hidden}[data-elementor-device-mode=tablet] .eae-tab-format-mobile .eae-ct-hide.eae-fbox-heading{display:none!important}
|
1 |
+
.elementor-widget-wts-textseparator .elementor-widget-container{overflow:hidden}.wts-eae-textseparator{align-items:center;display:flex;flex-flow:row nowrap;margin:auto}body.rtl .wts-eae-textseparator{flex-direction:row-reverse}.eae-separator-icon-inner i{height:1em;width:1em;text-align:center;position:relative;display:block}.eae-separator-icon-inner i:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-ms-transform:translateX(-50%);-o-transform:translateX(-50%);transform:translateX(-50%)}.wts-eae-textseparator .eae-sep-holder{flex:1 1 auto;height:1px;min-width:10%;position:relative}.wts-eae-textseparator .eae-sep-holder .eae-sep-lines{border-top-width:1px;display:block;height:1px;position:relative;top:1px;width:100%}.eae-separator-title{margin:0;-moz-box-flex:0;flex:0 1 auto;line-height:1em;margin:0;overflow-wrap:break-word}.sep-align-right .sep-right{display:none}.sep-align-left .sep-left{display:none}.eae-icon-view-stacked i{color:#fff}.eae-icon-view-framed .eae-separator-icon-inner{border:1px solid}.eae-icon-shape-circle .eae-separator-icon-inner{border-radius:50%}.eae-separator-icon-wrapper,.eae-separator-title{margin:0 5px!important}.eae-separator-icon-inner{line-height:1}.wts-price-box-wrapper .eae-pt-heading,.wts-price-box-wrapper .eae-pt-sub-heading{margin:5px 0;text-align:center}.plan-price-shape{display:table;height:6em;margin:auto;width:6em}.eae-pt-price-box-shape-circle .plan-price-shape,.eae-pt-price-box-shape-square .plan-price-shape{border:1px solid}.eae-pt-price-box-shape-circle .plan-price-shape{border-radius:50%}.plan-price-block{padding:10px 0}.plan-price-shape-inner{display:table-cell;vertical-align:middle;padding:10px}.plan-price-shape-inner>span{display:block;font-size:1em;text-align:center}.eae-pt-feature-list{list-style:outside none none;text-align:center;margin:10px 0}.eae-pt-button-wrapper>a{text-align:center;display:inline-block;line-height:1}.eae-pt-button-wrapper{text-align:center}.wts-price-box-wrapper .heading-wrapper,.wts-price-box-wrapper .plan-features-wrapper{padding:10px 5px}.eae-pt-button-wrapper{padding:15px 0}.eae-pt-button-wrapper a{padding:5px 15px;border-radius:3px}.eae-pt-align-icon-right{float:right}.strike-feature{text-decoration:line-through}.eae-flip-box{width:100%;text-align:center}.eae-flip-box-wrapper{display:inline-block;width:100%}.eae-flip-box-inner{width:100%;height:200px;position:relative;-webkit-transform-style:preserve-3d;-moz-transform-style:preserve-3d;-ms-transform-style:preserve-3d;transform-style:preserve-3d}.eae-flip-box-inner .eae-flip-box-back,.eae-flip-box-inner .eae-flip-box-front{width:100%;height:100%;position:absolute;top:0;left:0;text-align:center;padding:10px;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition:all .6s ease 0s;-moz-transition:all .6s ease 0s;-ms-transition:all .6s ease 0s;-o-transition:all .6s ease 0s;transition:all .6s ease 0s}.eae-flip-box-front{z-index:2}.eae-flip-box-back{z-index:1}.eae-fb-animate-vertical .eae-flip-box-inner .eae-flip-box-front{-webkit-transform:perspective(1000px) rotateX(0);-ms-transform:perspective(1000px) rotateX(0);transform:perspective(1000px) rotateX(0)}.eae-fb-animate-vertical .eae-flip-box-inner .eae-flip-box-back{-webkit-transform:perspective(1000px) rotateX(180deg);transform:perspective(1000px) rotateX(180deg);-ms-transform:perspective(1000px) rotateX(180deg)}.eae-fb-animate-vertical .eae-flip-box-inner:hover .eae-flip-box-front{-webkit-transform:perspective(1000px) rotateX(180deg);transform:perspective(1000px) rotateX(180deg);-ms-transform:perspective(1000px) rotateX(180deg)}.eae-fb-animate-vertical .eae-flip-box-inner:hover .eae-flip-box-back{-webkit-transform:perspective(1000px) rotateX(0);transform:perspective(1000px) rotateX(0);-ms-transform:perspective(1000px) rotateX(0)}.eae-fb-animate-horizontal .eae-flip-box-inner .eae-flip-box-front{-webkit-transform:perspective(1000px) rotateY(0);transform:perspective(1000px) rotateY(0);-ms-transform:perspective(1000px) rotateY(0)}.eae-fb-animate-horizontal .eae-flip-box-inner .eae-flip-box-back{-webkit-transform:perspective(1000px) rotateY(180deg);transform:perspective(1000px) rotateY(180deg);-ms-transform:perspective(1000px) rotateY(180deg)}.eae-fb-animate-horizontal .eae-flip-box-inner:hover .eae-flip-box-front{-webkit-transform:perspective(1000px) rotateY(180deg);transform:perspective(1000px) rotateY(180deg);-ms-transform:perspective(1000px) rotateY(180deg)}.eae-fb-animate-horizontal .eae-flip-box-inner:hover .eae-flip-box-back{-webkit-transform:perspective(1000px) rotateY(0);transform:perspective(1000px) rotateY(0);-ms-transform:perspective(1000px) rotateY(0)}.eae-fb-animate-fade .eae-flip-box-inner .eae-flip-box-front{opacity:1}.eae-fb-animate-fade .eae-flip-box-inner .eae-flip-box-back{opacity:0}.eae-fb-animate-fade .eae-flip-box-inner:hover .eae-flip-box-front{opacity:0}.eae-fb-animate-fade .eae-flip-box-inner:hover .eae-flip-box-back{opacity:1}.eae-flip-box-wrapper:focus .eae-flip-box-back,.eae-flip-box-wrapper:hover .eae-flip-box-back{z-index:2}.eae-flip-box-wrapper:focus .eae-flip-box-front,.eae-flip-box-wrapper:hover .eae-flip-box-front{z-index:1}.fade .eae-flip-box-wrapper .eae-flip-box-front{opacity:1;transition:1s}.fade .eae-flip-box-wrapper .eae-flip-box-back{opacity:0;transition:1s}.fade .eae-flip-box-wrapper:focus .eae-flip-box-front,.fade .eae-flip-box-wrapper:hover .eae-flip-box-front{opacity:0}.fade .eae-flip-box-wrapper:focus .eae-flip-box-back,.fade .eae-flip-box-wrapper:hover .eae-flip-box-back{opacity:1}.eae-fb-animate-flip .eae-flip-box-wrapper{perspective:800px}.eae-fb-animate-flip .eae-flip-box-inner{transform-style:preserve-3d;transform:rotateX(0) rotateY(0) rotateZ(0);transition:1s}.eae-fb-animate-flip .eae-flip-box-front{transform:translate3d(0,0,1px)}.eae-fb-animate-flip .eae-flip-box-back{transform:rotateY(180deg) translate3d(0,0,0)}.eae-fb-animate-flip .eae-flip-box-wrapper:focus .eae-flip-box-inner,.eae-fb-animate-flip .eae-flip-box-wrapper:hover .eae-flip-box-inner{transform:rotateY(180deg)}.up .eae-flip-box-front{transform:translate3d(0,0,1px)}.up .eae-flip-box-back{transform:rotateX(180deg) translate3d(0,0,0)}.up .eae-flip-box-wrapper:focus .eae-flip-box-inner,.up .eae-flip-box-wrapper:hover .eae-flip-box-inner{transform:rotateX(180deg)}.box .eae-flip-box-front{transform:translate3d(0,0,100px) scale(.85,.85)}.box .eae-flip-box-back{transform:rotateY(180deg) translate3d(0,0,100px) scale(.85,.85)}.box.up .eae-flip-box-back{transform:rotateX(180deg) translate3d(0,0,100px) scale(.85,.85)}.hideback .eae-flip-box-back,.hideback .eae-flip-box-front{backface-visibility:hidden}.eae-fb-animate-nananana .eae-flip-box-wrapper:focus .eae-flip-box-front,.eae-fb-animate-nananana .eae-flip-box-wrapper:hover .eae-flip-box-front{z-index:10;animation:batman 1s 2 alternate linear}.eae-fb-animate-flipcard .eae-flip-box-back,.eae-fb-animate-flipcard .eae-flip-box-front{transition:transform .4s ease;transform-origin:center center -150px;-webkit-transform-origin:center center -150px}.flipcard-rotate-top-down .eae-flip-box-front{transform:perspective(0) rotateX(0) rotateY(0) rotateZ(0)}.flipcard-rotate-top-down .eae-flip-box-back{transform:perspective(0) rotateX(90deg) rotateY(0) rotateZ(0)}.eae-fb-animate-flipcard.flipcard-rotate-top-down .eae-flip-box-wrapper:hover .eae-flip-box-front{transform:perspective(0) rotateX(-90deg) rotateY(0) rotateZ(0)}.eae-fb-animate-flipcard.flipcard-rotate-top-down .eae-flip-box-wrapper:hover .eae-flip-box-back{z-index:99999;transform:perspective(0) rotateX(0) rotateY(0) rotateZ(0)}.flipcard-rotate-down-top .eae-flip-box-front{transform:perspective(0) rotateX(0) rotateY(0) rotateZ(0)}.flipcard-rotate-down-top .eae-flip-box-back{transform:perspective(0) rotateX(-90deg) rotateY(0) rotateZ(0)}.eae-fb-animate-flipcard.flipcard-rotate-down-top .eae-flip-box-wrapper:hover .eae-flip-box-front{transform:perspective(0) rotateX(90deg) rotateY(0) rotateZ(0)}.eae-fb-animate-flipcard.flipcard-rotate-down-top .eae-flip-box-wrapper:hover .eae-flip-box-back{z-index:99999;transform:perspective(0) rotateX(0) rotateY(0) rotateZ(0)}.flipcard-rotate-left-right .eae-flip-box-front{transform:perspective(0) rotateX(0) rotateY(0) rotateZ(0)}.flipcard-rotate-left-right .eae-flip-box-back{transform:perspective(0) rotateX(0) rotateY(-90deg) rotateZ(0)}.eae-fb-animate-flipcard.flipcard-rotate-left-right .eae-flip-box-wrapper:hover .eae-flip-box-front{transform:perspective(0) rotateX(0) rotateY(90deg) rotateZ(0)}.eae-fb-animate-flipcard.flipcard-rotate-left-right .eae-flip-box-wrapper:hover .eae-flip-box-back{z-index:99999;transform:perspective(0) rotateX(0) rotateY(0) rotateZ(0)}.flipcard-rotate-right-left .eae-flip-box-front{transform:perspective(0) rotateX(0) rotateY(0) rotateZ(0)}.flipcard-rotate-right-left .eae-flip-box-back{transform:perspective(0) rotateX(0) rotateY(90deg) rotateZ(0)}.eae-fb-animate-flipcard.flipcard-rotate-right-left .eae-flip-box-wrapper:hover .eae-flip-box-front{transform:perspective(0) rotateX(0) rotateY(-90deg) rotateZ(0)}.eae-fb-animate-flipcard.flipcard-rotate-right-left .eae-flip-box-wrapper:hover .eae-flip-box-back{z-index:99999;transform:perspective(0) rotateX(0) rotateY(0) rotateZ(0)}@keyframes batman{0%{transform:scale(1,1) rotateZ(0)}100%{transform:scale(0,0) rotateZ(720deg);opacity:0}}.eae-flip-box-back i,.eae-flip-box-front i{font-size:32px;height:1em;width:1em;position:relative;display:block}.eae-flip-box-back i:before,.eae-flip-box-front i:before{position:absolute;left:50%;-webkit-transform:translate(-50%);-moz-transform:translate(-50%);-ms-transform:translate(-50%);-o-transform:translate(-50%);transform:translate(-50%)}.eae-fb-icon-view-framed{border:1px solid #92be43}.eae-fb-icon-shape-circle{border-radius:50%}.eae-flip-box-wrapper .icon-wrapper{display:inline-block;padding:10px;line-height:1}.eae-flip-box-wrapper .back-icon-title,.eae-flip-box-wrapper .front-icon-title{margin:10px auto;color:#fff}.eae-flip-box-wrapper .flipbox-content{display:block;position:relative;top:50%;transform:translateY(-50%);-ms-transform:translateY(-50%)}.flipbox-content p{margin-bottom:10px}.eae-fb-button{display:inline-block;padding:5px 10px}.eae-flip-box-front{background:#a0ce4e}.eae-flip-box-back{background:#73b9dc}@media only screen and (max-width:768px){.eae-flip-box-back,.eae-flip-box-front,.flipbox-content{cursor:pointer;overflow:visible!important;transform-style:preserve-3d;-webkit-transform-style:preserve-3d}}.elementor-widget-wts-shape-separator svg{display:block}.wts-eae-pl-wrapper ul{margin:0}.wts-eae-pl-wrapper ul li{list-style:none;overflow:hidden;margin-bottom:10px}.eae-pl-img-align-none .eae-pl-image-wrapper a{text-align:center}.eae-pl-title{margin:0}.eae-pl-title a{display:block}.eae-pl-readmore a{display:inline-block;border-radius:2px;color:#fff;padding:4px 8px}.eae-at-animation-text-wrapper{display:inline-block;position:relative;text-align:left}.eae-at-animation-text-wrapper .eae-at-animation-text{display:inline-block;position:absolute;white-space:nowrap;left:0;top:0}[data-elementor-device-mode=mobile] .eae-at-animation-text{white-space:normal}.eae-at-animation-text-wrapper .eae-at-animation-text.is-visible{position:relative}.no-js .eae-at-animation-text-wrapper .eae-at-animation-text{opacity:0}.no-js .eae-at-animation-text-wrapper .eae-at-animation-text.is-visible{opacity:1}.eae-animtext-wrapper{font-size:40px}.eae-st-rest-text{display:inline-block}.eae-st-split-text{display:inline-block}body.rtl .eae-st-transform-text-title{display:flex;flex-direction:row-reverse}body.rtl .eae-text-align-left .eae-st-transform-text-title{justify-content:flex-start}body.rtl .eae-text-align-right .eae-st-transform-text-title{justify-content:flex-end}body.rtl .eae-text-align-center .eae-st-transform-text-title{justify-content:center}.eae-at-animation.type .eae-at-animation-text-wrapper{vertical-align:bottom;overflow:hidden}.eae-at-animation.type .eae-at-animation-text-wrapper::after{content:"";position:absolute;right:0;top:50%;bottom:auto;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%);height:90%;width:1px}.eae-at-animation.type .eae-at-animation-text-wrapper.waiting::after{-webkit-animation:cd-pulse 1s infinite;-moz-animation:cd-pulse 1s infinite;animation:cd-pulse 1s infinite}.eae-at-animation.type .eae-at-animation-text-wrapper.selected::after{visibility:hidden}.eae-at-animation.type .eae-at-animation-text{visibility:hidden}.eae-at-animation.type .eae-at-animation-text.is-visible{visibility:visible}.eae-at-animation.type i{position:absolute;visibility:hidden}.eae-at-animation.type i.in{position:relative;visibility:visible}@-webkit-keyframes cd-pulse{0%{-webkit-transform:translateY(-50%) scale(1);opacity:1}40%{-webkit-transform:translateY(-50%) scale(.9);opacity:0}100%{-webkit-transform:translateY(-50%) scale(0);opacity:0}}@-moz-keyframes cd-pulse{0%{-moz-transform:translateY(-50%) scale(1);opacity:1}40%{-moz-transform:translateY(-50%) scale(.9);opacity:0}100%{-moz-transform:translateY(-50%) scale(0);opacity:0}}@keyframes cd-pulse{0%{-webkit-transform:translateY(-50%) scale(1);-moz-transform:translateY(-50%) scale(1);-ms-transform:translateY(-50%) scale(1);-o-transform:translateY(-50%) scale(1);transform:translateY(-50%) scale(1);opacity:1}40%{-webkit-transform:translateY(-50%) scale(.9);-moz-transform:translateY(-50%) scale(.9);-ms-transform:translateY(-50%) scale(.9);-o-transform:translateY(-50%) scale(.9);transform:translateY(-50%) scale(.9);opacity:0}100%{-webkit-transform:translateY(-50%) scale(0);-moz-transform:translateY(-50%) scale(0);-ms-transform:translateY(-50%) scale(0);-o-transform:translateY(-50%) scale(0);transform:translateY(-50%) scale(0);opacity:0}}.eae-img-comp-container{width:100%;position:relative;text-align:center}.eae-img-comp-container img{vertical-align:middle}.eae-img-comp-img{position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;transform:translateZ(0);backface-visibility:hidden}.eae-img-comp-img img{display:block;max-width:100%;width:100%}.eae-img-comp-slider{position:absolute;z-index:9;width:40px;height:40px;background-color:#2196f3;opacity:1;border-radius:50%}.icon-horizontal{cursor:ew-resize}.icon-vertical{cursor:n-resize}.mode-horizontal .eae-img-comp-overlay img{position:absolute;left:0;top:0;display:block;width:auto;height:100%!important;max-width:none!important}.mode-vertical .eae-img-comp-overlay img{position:absolute;left:0;top:0;display:block;width:100%;height:auto!important;max-width:none!important}.eae-img-comp-slider svg,.eae-slider-icon{top:50%;transform:translateY(-50%) translateX(-50%);position:absolute;left:50%;color:#fff}.elementor-widget-wts-ab-image{text-align:center}.elementor-widget-wts-ab-image .elementor-widget-container{display:inline-block;margin:0 auto!important;overflow:hidden}.eae-text-before{position:absolute!important;padding:10px;transition:transform .3s .7s,opacity .3s .7s;color:#d36118;z-index:0;background:rgba(255,255,255,.5);margin:20px}.eae-text-after{position:absolute!important;padding:10px;transition:transform .3s .7s,opacity .3s .7s;color:#d36118;z-index:0;background:rgba(255,255,255,.5);margin:20px}.divTest{display:inline-block;background-color:#00a0d2;padding:20px}.eae-particle-wrapper{position:absolute;left:0;top:0}.eae-particle-wrapper.eae-particle-area{width:100%;height:100%}body:not(.elementor-editor-active) .eae-particle-wrapper{width:100%;height:100%}body:not(.elementor-editor-active) .eae-particle-wrapper .particles-js-canvas-el{height:100%;position:absolute;z-index:0}.eae-section-bs{position:absolute;width:100%;height:100%;top:0}.eae-section-bs-inner{width:100%;height:100%!important}.eae-popup.mfp-bg{top:0;left:0;width:100%;height:100%;z-index:1042;overflow:hidden;position:fixed;background:#0b0b0b;opacity:.8}.eae-popup-link{padding:12px 24px;color:#fff;display:inline-flex;line-height:1}.eae-popup-link svg{fill:#fff}.eae-popup-link:hover{color:#fff}.eae-popup.mfp-wrap{top:0;left:0;width:100%;height:100%;z-index:1043;position:fixed;outline:0!important;-webkit-backface-visibility:hidden}.eae-popup .mfp-container{text-align:center;position:absolute;width:100%;height:100%;left:0;top:0;padding:0 8px;box-sizing:border-box}.eae-popup .mfp-container:before{content:"";display:inline-block;height:100%;vertical-align:middle}.eae-popup .mfp-align-top .mfp-container:before{display:none}.eae-popup .mfp-content{position:relative;display:inline-block;vertical-align:middle;margin:0 auto;text-align:left;z-index:1045}.eae-modal-content{padding:20px}.eae-pop-btn-align-left .eae-popup-wrapper{text-align:left}.eae-pop-btn-align-right .eae-popup-wrapper{text-align:right}.eae-pop-btn-align-center .eae-popup-wrapper{text-align:center}.eae-pop-btn-align-justify .eae-popup-wrapper{text-align:center}.eae-pop-btn-align-justify .eae-popup-wrapper a{display:block}.eae-popup .mfp-ajax-holder .mfp-content,.eae-popup .mfp-inline-holder .mfp-content{width:50%;background-color:#fff;cursor:auto;overflow:hidden}.eae-popup .mfp-ajax-cur{cursor:progress}.eae-popup .mfp-zoom-out-cur,.eae-popup .mfp-zoom-out-cur .mfp-image-holder .eae-close{cursor:-moz-zoom-out;cursor:-webkit-zoom-out;cursor:zoom-out}.eae-popup .mfp-zoom{cursor:pointer;cursor:-webkit-zoom-in;cursor:-moz-zoom-in;cursor:zoom-in}.eae-popup.mfp-auto-cursor .mfp-content{cursor:auto}.eae-popup .eae-close,.eae-popup .mfp-arrow,.eae-popup .mfp-counter,.eae-popup .mfp-preloader{-webkit-user-select:none;-moz-user-select:none;user-select:none}.mfp-loading.mfp-figure{display:none}.mfp-hide{display:none!important}.eae-popup .mfp-preloader{color:#ccc;position:absolute;top:50%;width:auto;text-align:center;margin-top:-.8em;left:8px;right:8px;z-index:1044}.eae-popup .mfp-preloader a{color:#ccc}.eae-popup .mfp-preloader a:hover{color:#fff}.mfp-s-ready .mfp-preloader{display:none}.mfp-s-error .mfp-content{display:none}button.eae-close,button.mfp-arrow{overflow:visible;cursor:pointer;background:0 0;border:0;-webkit-appearance:none;display:block;outline:0;padding:0;z-index:1046;box-shadow:none;touch-action:manipulation}button::-moz-focus-inner{padding:0;border:0}.eae-popup .eae-close{width:28px;height:28px;line-height:1em;position:absolute;right:10px;top:10px;text-decoration:none;text-align:center;opacity:1;color:#fff;font-size:28px;z-index:1500}.eae-close:focus,.eae-close:hover{opacity:1;cursor:pointer}.eae-close:active{top:1px}.eae-close:before{top:50%;left:50%;position:absolute;transform:translate(-50%,-50%)}.eae-popup.eae-close-btn-in .eae-close{color:#fff}.mfp-iframe-holder .eae-close,.mfp-image-holder .eae-close{color:#fff;right:-6px;text-align:right;padding-right:6px;width:100%}.mfp-counter{position:absolute;top:0;right:0;color:#ccc;font-size:12px;line-height:18px;white-space:nowrap}.mfp-arrow{position:absolute;opacity:.65;margin:0;top:50%;margin-top:-55px;padding:0;width:90px;height:110px;-webkit-tap-highlight-color:transparent}.mfp-arrow:active{margin-top:-54px}.mfp-arrow:focus,.mfp-arrow:hover{opacity:1}.mfp-arrow:after,.mfp-arrow:before{content:"";display:block;width:0;height:0;position:absolute;left:0;top:0;margin-top:35px;margin-left:35px;border:medium inset transparent}.mfp-arrow:after{border-top-width:13px;border-bottom-width:13px;top:8px}.mfp-arrow:before{border-top-width:21px;border-bottom-width:21px;opacity:.7}.mfp-arrow-left{left:0}.mfp-arrow-left:after{border-right:17px solid #fff;margin-left:31px}.mfp-arrow-left:before{margin-left:25px;border-right:27px solid #3f3f3f}.mfp-arrow-right{right:0}.mfp-arrow-right:after{border-left:17px solid #fff;margin-left:39px}.mfp-arrow-right:before{border-left:27px solid #3f3f3f}.mfp-iframe-holder{padding-top:40px;padding-bottom:40px}.mfp-iframe-holder .mfp-content{line-height:0;width:100%;max-width:900px}.mfp-iframe-holder .eae-close{top:-40px}.mfp-iframe-scaler{width:100%;height:0;overflow:hidden;padding-top:56.25%}.mfp-iframe-scaler iframe{position:absolute;display:block;top:0;left:0;width:100%;height:100%;box-shadow:0 0 8px rgba(0,0,0,.6);background:#000}img.mfp-img{width:auto;max-width:100%;height:auto;display:block;line-height:0;box-sizing:border-box;padding:40px 0 40px;margin:0 auto}.eae-popup .mfp-figure{line-height:0}.eae-popup .mfp-figure:after{content:"";position:absolute;left:0;top:40px;bottom:40px;display:block;right:0;width:auto;height:auto;z-index:-1;box-shadow:0 0 8px rgba(0,0,0,.6);background:#444}.eae-popup .mfp-figure small{color:#bdbdbd;display:block;font-size:12px;line-height:14px}.eae-popup .mfp-figure figure{margin:0}.eae-popup .mfp-bottom-bar{margin-top:-36px;position:absolute;top:100%;left:0;width:100%;cursor:auto}.eae-popup .mfp-title{text-align:left;line-height:1;word-wrap:break-word;color:#fff;background-color:#4054b2;padding:20px 20px 20px 20px}.eae-popup .mfp-image-holder .mfp-content{max-width:100%}.eae-popup .mfp-gallery .mfp-image-holder .mfp-figure{cursor:pointer}@media screen and (max-width:800px) and (orientation:landscape),screen and (max-height:300px){.mfp-img-mobile .mfp-image-holder{padding-left:0;padding-right:0}.mfp-img-mobile img.mfp-img{padding:0}.mfp-img-mobile .mfp-figure:after{top:0;bottom:0}.mfp-img-mobile .mfp-figure small{display:inline;margin-left:5px}.mfp-img-mobile .mfp-bottom-bar{background:rgba(0,0,0,.6);bottom:0;margin:0;top:auto;padding:3px 5px;position:fixed;box-sizing:border-box}.mfp-img-mobile .mfp-bottom-bar:empty{padding:0}.mfp-img-mobile .mfp-counter{right:5px;top:3px}.mfp-img-mobile .eae-close{top:0;right:0;width:35px;height:35px;line-height:35px;background:rgba(0,0,0,.6);position:fixed;text-align:center;padding:0}}.elementor-element.eae-animated-gradient-yes,.elementor-element.eae-animated-gradient-yes .animated-gradient{background-size:400% 400%!important;-webkit-animation:AnimateGradient 15s ease-in-out infinite;-moz-animation:AnimateGradient 15s ease-in-out infinite;animation:AnimateGradient 15s ease-in-out infinite}.animated-gradient{position:absolute;top:0;left:0;height:100%;width:100%}@-webkit-keyframes AnimateGradient{0%{background-position:0 50%}50%{background-position:100% 50%}100%{background-position:0 50%}}@-moz-keyframes AnimateGradient{0%{background-position:0 50%}50%{background-position:100% 50%}100%{background-position:0 50%}}@keyframes AnimateGradient{0%{background-position:0 50%}50%{background-position:100% 50%}100%{background-position:0 50%}}.eae-swiper-outer-wrapper .swiper-slide{height:auto;overflow:inherit}.eae-swiper-outer-wrapper .swiper-slide-wrapper,.eae-swiper-outer-wrapper .testimonial-wrapper{height:100%}.eae-grid{display:flex;flex-wrap:wrap;flex-direction:row}.eae-masonry- .eae-grid-item{position:relative;height:100%}.eae-masonry- .eae-grid-item .testimonial-wrapper{height:100%}.eae-grid-container{transition:.1s all ease}.eae-grid-container{display:inline-block}.wrapper .content{margin:10px 0}.skin-2.testimonial-wrapper{display:flex;flex-direction:column;background-color:#9c989821;min-height:300px;padding:10px 20px;box-shadow:0 0 5px rgba(0,0,0,.15);color:#696969}.skin-2 .content-wrapper{padding:10px;position:relative;background-color:#fff;border-radius:10px;color:#77778e}.skin-2 i.after-content,.skin-2 i.before-content{position:absolute}.skin-2 i.before-content{top:10px;left:20px}.skin-2 i.after-content{bottom:10px;right:20px}.skin-2 blockquote{position:relative;font-size:14px;padding:10px;font-weight:500;text-align:left;margin:0;line-height:1.6em;font-style:italic}.skin-2 blockquote::after,.skin-2 blockquote::before{font-family:FontAwesome;content:"\201C";position:absolute;font-size:50px;opacity:.3;font-style:normal}.skin-2 blockquote::before{top:10px;left:20px}.skin-2 blockquote::after{content:"\201D";right:20px}.skin-2 .image-wrapper{position:relative;max-width:100%;text-align:center}.skin-2 img{width:100px;border-radius:25%}.skin-2 .detail-wrapper{text-align:center}.skin-2 .company,.skin-2 .designation,.skin-2 .rating-wrapper,.skin-2 .title{padding:5px 0}.skin-2 .rating-wrapper{color:navy}.skin-2 .title{font-weight:800;color:#000}.skin-2 blockquote p{margin:10px 0!important}.skin-1.testimonial-wrapper{display:flex;flex-direction:column;background-color:#fff;box-shadow:0 0 5px rgba(0,0,0,.15);color:#000}.skin-1 .content-wrapper{order:0}.skin-1 .image-wrapper{order:1;text-align:center;margin:15px 0}.skin-1 .detail-wrapper{order:2}.skin-1 .content-wrapper{padding:10px;position:relative}.skin-1 i.after-content,.skin-1 i.before-content{position:absolute}.skin-1 i.before-content{top:10px;left:20px}.skin-1 i.after-content{bottom:10px;right:20px}.skin-1 blockquote{position:relative;background-color:#fff;font-size:14px;padding:10px;font-weight:500;text-align:left;margin:0;line-height:1.6em;font-style:italic}.skin-1 blockquote::after,.skin-1 blockquote::before{font-family:FontAwesome;content:"\201C";position:absolute;font-size:50px;opacity:.3;font-style:normal}.skin-1 blockquote::before{top:10px;left:20px}.skin-1 blockquote::after{content:"\201D";right:20px}.skin-1 .image-wrapper{position:relative;max-width:100%}.skin-1 img{width:100px;height:auto;border-radius:50%}.skin-1 .detail-wrapper{display:flex;flex-direction:row-reverse;justify-content:space-between;padding:10px;background-color:rgba(157,163,156,.18)}.skin-1 .designation,.skin-1 .rating-wrapper,.skin-1 .title{margin:0 5px}.skin-1 .title-wrapper{display:flex;flex-direction:row}.skin-1 .rating-wrapper{color:#fecc1f}.skin-4.testimonial-wrapper{flex-direction:column;display:flex;background-color:#bfbfb6bd;min-height:300px;padding:10px 0;box-shadow:0 0 5px rgba(0,0,0,.15);color:#77778e}.skin-4 .content-wrapper{padding:10px;position:relative}.skin-4 .content-wrapper{order:2;color:#3c3c3c}.skin-4 i.after-content,.skin-4 i.before-content{position:absolute}.skin-4 i.before-content{top:10px;left:20px}.skin-4 i.after-content{bottom:10px;right:20px}.skin-4 blockquote{position:relative;font-size:14px;padding:10px;font-weight:500;text-align:left;margin:0;line-height:1.6em;font-style:italic}.skin-4 blockquote::after,.skin-4 blockquote::before{font-family:FontAwesome;content:"\201C";position:absolute;font-size:50px;opacity:.3;font-style:normal}.skin-4 blockquote::before{top:10px;left:20px}.skin-4 blockquote::after{content:"\201D";right:20px}.skin-4 .image-wrapper{position:relative;max-width:100%;text-align:center}.skin-4 img{width:100px;border-radius:50%}.skin-4 .detail-wrapper{text-align:center}.skin-2 .designation,.skin-2 .title,.skin-4 .rating-wrapper{padding:5px 0}.skin-4 .rating-wrapper{color:#690a69}.skin-4 .title{font-weight:800;color:#000}.skin-3.testimonial-wrapper{display:flex;flex-direction:row;background-color:#9c989821;box-shadow:0 0 5px rgba(0,0,0,.15);color:#000;overflow:hidden}.skin-3 .content-section{display:flex;flex-direction:column;align-self:center}.skin-3 .content-wrapper{padding:10px;position:relative}.skin-2 i.after-content,.skin-3 i.before-content{position:absolute}.skin-3 i.before-content{top:10px;left:20px}.skin-3 i.after-content{bottom:10px;right:20px}.skin-3 blockquote{position:relative;font-size:18px;padding:10px;font-weight:500;text-align:left;margin:0;line-height:1.6em;font-style:italic}.skin-3 blockquote::after,.skin-3 blockquote::before{font-family:FontAwesome;content:"\201C";position:absolute;font-size:50px;opacity:.3;font-style:normal}.skin-3 blockquote::before{top:10px;left:20px}.skin-3 blockquote::after{content:"\201D";right:20px}.skin-3 .image-wrapper{position:relative;max-width:30%;max-height:250px;text-align:center;align-self:center}.skin-3 img{width:100%}.testimonial-wrapper .skin-3 .eae-person-avatar{border-radius:50%}.skin-3 .detail-wrapper{text-align:left;padding-left:20px}.skin-3 .designation,.skin-3 .rating-wrapper,.skin-3 .title{padding:3px 0}.skin-3 .rating-wrapper{color:#800040}.skin-3 .title{font-weight:800}.eae-swiper-outer-wrapper .swiper-button-prev{-webkit-mask:url(arrow-left.svg) no-repeat 100% 100%;mask:url(arrow-left.svg) no-repeat 100% 100%;-webkit-mask-size:cover;mask-size:cover;background-image:none;background-color:#007aff;transform:translateY(-50%);margin-top:0}.eae-swiper-outer-wrapper .swiper-container-rtl .swiper-button-prev{-webkit-mask:url(arrow-right.svg) no-repeat 100% 100%;mask:url(arrow-right.svg) no-repeat 100% 100%}.eae-swiper-outer-wrapper .swiper-button-next{-webkit-mask:url(arrow-right.svg) no-repeat 100% 100%;mask:url(arrow-right.svg) no-repeat 100% 100%;-webkit-mask-size:cover;mask-size:cover;background-image:none;background-color:#007aff;transform:translateY(-50%);margin-top:0}.eae-swiper-outer-wrapper .swiper-container-rtl .swiper-button-next{-webkit-mask:url(arrow-left.svg) no-repeat 100% 100%;mask:url(arrow-left.svg) no-repeat 100% 100%}.elementor-widget-wts-testimonial-slider .eae-swiper-outer-wrapper .swiper-button-next,.elementor-widget-wts-testimonial-slider .eae-swiper-outer-wrapper .swiper-button-prev{-webkit-mask:none;mask:none;-webkit-mask-size:unset;mask-size:unset;background-image:none;background-color:unset;width:auto;height:auto;transform:translateY(-50%);margin-top:0}.swiper-container .swiper-button-next i,.swiper-container .swiper-button-prev i{width:1em;height:1em;text-align:center;position:relative}.elementor-widget-wts-testimonial-slider .eae-swiper-outer-wrapper .eae-swiper-button-wrapper{position:absolute;height:auto;line-height:0}.eae-hpos-right.eae-vpos-top .eae-swiper-button-wrapper{bottom:auto;top:0;width:auto;right:0}.eae-vpos-top.eae-hpos-left .eae-swiper-button-wrapper{bottom:auto;top:0;width:auto;left:0}.eeae-hpos-right.eae-vpos-bottom .eae-swiper-button-wrapper{bottom:0;top:auto;width:auto;right:0}.eae-vpos-bottom.eae-hpos-left .eae-swiper-button-wrapper{bottom:0;top:auto;width:auto;left:0}.eae-hpos-right.eae-vpos-middle .eae-swiper-button-wrapper{bottom:auto;top:50%;width:auto;right:0}.eae-hpos-left.eae-vpos-middle .eae-swiper-button-wrapper{bottom:auto;top:50%;width:auto;left:0}.eae-hpos-left .swiper-button-next,.eae-hpos-left .swiper-button-prev,.eae-hpos-right .swiper-button-next,.eae-hpos-right .swiper-button-prev{position:relative;display:inline-block;right:auto;left:auto}.eae-hpos-right.eae-vpos-bottom .swiper-button-next,.eae-hpos-right.eae-vpos-bottom .swiper-button-prev{top:auto;bottom:0;transform:unset}.eae-hpos-right.eae-vpos-top .swiper-button-next,.eae-hpos-right.eae-vpos-top .swiper-button-prev{top:0;bottom:auto;transform:unset}.eae-hpos-left.eae-vpos-top .swiper-button-next,.eae-hpos-left.eae-vpos-top .swiper-button-prev{top:0;bottom:auto;transform:unset}.eae-hpos-left.eae-vpos-bottom .swiper-button-next,.eae-hpos-left.eae-vpos-bottom .swiper-button-prev{top:auto;bottom:0;transform:unset}.eae-hpos-center.eae-vpos-bottom .swiper-button-next,.eae-hpos-center.eae-vpos-bottom .swiper-button-prev{top:auto;bottom:0;transform:unset}.eae-hpos-center.eae-vpos-top .swiper-button-next,.eae-hpos-center.eae-vpos-top .swiper-button-prev{top:0;bottom:auto;transform:unset}@media all and (max-width:900px){.mfp-arrow{-webkit-transform:scale(.75);transform:scale(.75)}.mfp-arrow-left{-webkit-transform-origin:0;transform-origin:0}.mfp-arrow-right{-webkit-transform-origin:100%;transform-origin:100%}.mfp-container{padding-left:6px;padding-right:6px}}.eae-info-circle{position:relative;width:90%;margin:0 auto;border-radius:50%;display:block}.eae-info-circle:before{content:"";display:block;position:absolute;top:4%;left:4%;width:92%;height:92%;border-radius:50%;z-index:1;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;pointer-events:none}.eae-info-circle:after{content:"";display:block;padding-top:100%}.eae-info-circle .eae-ic-icon-wrap{position:absolute;display:inline-block;top:50%;left:50%;z-index:2;line-height:1em;vertical-align:middle;overflow:hidden;max-width:100%}.eae-info-circle .eae-info-circle-item{top:0;left:0;width:100%;height:100%;display:block}.eae-info-circle .eae-info-circle-item.eae-active .eae-info-circle-item__content-wrap{visibility:visible;opacity:1;display:flex}.eae-info-circle .eae-info-circle-item__content-wrap{visibility:visible;display:none;height:91%;width:91%;opacity:0;top:50%;transform:translateY(-50%) translateX(-50%);position:absolute;left:50%;border-radius:50%;overflow:hidden;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.eae-info-circle .eae-info-circle-item__content-wrap:before{content:"";display:inline-block;height:100%;vertical-align:middle}.eae-info-circle .eae-info-circle-item__content{display:inline-block;top:50%;transform:translateY(-50%) translateX(-50%);position:absolute;left:50%;vertical-align:middle;z-index:1;max-height:100%;overflow:auto;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;text-align:center;width:75%}@media screen and (max-width:767px){.eae-info-circle.eae-info-circle .eae-info-circle-item__content-wrap:before{display:none}.eae-info-circle:after,.eae-info-circle:before{display:none}.eae-info-circle{width:100%!important}.eae-info-circle-wrapper:after,.eae-info-circle-wrapper:before{display:none}.eae-info-circle .eae-ic-icon-wrap{display:block;text-align:center;position:relative!important;left:unset!important;margin-left:0!important;margin-top:0!important;margin-bottom:10px}.eae-info-circle-item{position:relative!important;border-radius:0!important;padding:0;margin:10px 0}.eae-info-circle .eae-info-circle-item__content-wrap{visibility:visible;opacity:1!important;display:flex!important;border-radius:0!important;border:none!important;margin:0!important;padding-right:0!important;padding-left:0!important;padding-bottom:0!important;width:100%;height:auto;line-height:1.5em;position:relative;top:unset;left:unset;transform:unset}.eae-info-circle .eae-info-circle-item__content{position:relative;top:unset;left:unset;transform:unset;width:100%;padding:10px}}.eae-icon-wrap i{height:1.25em;width:1.25em;line-height:1.25em;display:block}.eae-icon-wrap i img{top:50%;left:50%;transform:translateX(-50%) translateY(-50%);position:absolute}.eae-icon{display:inline-block;text-align:center;vertical-align:middle;max-width:100%;overflow:hidden;padding:10px}.eae-icon-shape-circle:not(.elementor-element){border-radius:50%}.eae-icon-view-framed:not(.elementor-element){border-width:1px;border-style:solid}.eae-icon-wrapper{display:flex}.eae-icon-wrapper .eae-icon{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);line-height:1}.eae-timeline{position:relative;display:inline-block;width:100%}.eae-timline-progress-bar{width:4px;background-color:#f45b69;top:0;bottom:50px;position:absolute;transform:translateX(-50%)}.eae-timeline-item{position:relative;display:flex;flex-direction:row;padding-bottom:50px}.eae-timeline-item:last-child{padding-bottom:0!important}.eae-tl-top .eae-timeline-item{align-items:flex-start}.eae-tl-top .eae-tl-item-content::before{top:10px}.eae-timeline-item.image-position-row .eae-tl-item-image,.eae-timeline-item.image-position-row-reverse .eae-tl-item-image{margin-top:0;margin-bottom:0}.eae-tl-item-meta-wrapper-inner{display:none}.eae-tl-bottom .eae-timeline-item{align-items:flex-end}.eae-tl-bottom .eae-tl-item-content::before{bottom:10px}.eae-tl-center .eae-timeline-item{align-items:center}.eae-tl-center .eae-tl-item-content::before{bottom:calc(50% - 5px)}.eae-layout-center .eae-timline-progress-bar{left:50%}.eae-layout-center .eae-timeline-item:nth-child(odd){flex-direction:row-reverse}.eae-layout-center .eae-timeline-item:nth-child(odd) .eae-tl-item-meta-wrapper{margin-right:0;margin-left:0;justify-content:flex-start}body.rtl[data-elementor-device-mode=tablet] .eae-layout-center .eae-timeline-item:nth-child(even) .eae-tl-content-wrapper,body:not(.rtl)[data-elementor-device-mode=tablet] .eae-layout-center .eae-timeline-item:nth-child(odd) .eae-tl-content-wrapper{padding-right:20px;padding-left:0}body.rtl[data-elementor-device-mode=tablet] .eae-layout-center .eae-timeline-item:nth-child(odd) .eae-tl-content-wrapper,body:not(.rtl)[data-elementor-device-mode=tablet] .eae-layout-center .eae-timeline-item:nth-child(even) .eae-tl-content-wrapper{padding-right:0;padding-left:20px}body:not(.rtl) .eae-layout-left .eae-tl-content-wrapper{padding-right:10px;padding-left:20px}body.rtl .eae-layout-left .eae-tl-content-wrapper{padding-right:20px;padding-left:10px}.eae-layout-left .eae-timline-progress-bar{display:none}.eae-layout-left .eae-tl-item-meta-wrapper{display:none}.eae-layout-left .eae-tl-item-meta-wrapper-inner{display:block}.eae-layout-right .eae-timline-progress-bar{display:none}body:not(.rtl) .eae-layout-right .eae-tl-content-wrapper{padding-right:20px;padding-left:10px}body.rtl .eae-layout-right .eae-tl-content-wrapper{padding-right:10px;padding-left:20px}.eae-layout-right .eae-tl-icon-wrapper{order:3}.eae-layout-right .eae-tl-item-meta-wrapper{display:none}.eae-layout-right .eae-tl-item-meta-wrapper-inner{display:block}.eae-tl-item-meta-wrapper{flex-grow:1;order:0;flex-basis:50%;flex-direction:initial;justify-content:flex-end;display:flex;align-items:center;margin-right:0}.eae-tl-item-meta{padding:0 20px}.eae-tl-icon-wrapper{height:auto;width:auto;flex-grow:0;flex-shrink:0;order:1;margin-left:0;margin-right:0;min-width:10px;min-height:10px;border-radius:999px;position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.eae-tl-content-wrapper{flex-grow:1;order:2;flex-basis:50%;position:relative;padding-right:0;padding-left:20px}.eae-tl-item-content{background:#f4f4f4;padding:25px;overflow:hidden;text-align:center;display:flex;flex-direction:row}.eae-tl-content{display:inline-block;position:relative;padding:10px;width:100%;color:#000}.eae-timeline-item.custom-image-style-yes.image-position-row .eae-content-inner,.eae-timeline-item.custom-image-style-yes.image-position-row-reverse .eae-content-inner,.image-position-row .eae-timeline .eae-timeline-item:not(.custom-image-style-yes) .eae-content-inner,.image-position-row-reverse .eae-timeline .eae-timeline-item:not(.custom-image-style-yes) .eae-content-inner{position:relative;left:50%;top:50%;transform:translate(-50%,-50%);line-height:1;width:100%}.custom-image-style-.image-position-row .eae-content-inner,.custom-image-style-.image-position-row-reverse .eae-content-inner,.custom-image-style-no.image-position-row .eae-content-inner,.custom-image-style-no.image-position-row-reverse .eae-content-inner{left:unset;top:unset;transform:unset}.eae-tl-item-image{display:inline-block}.image-position-row .eae-tl-item-image img,.image-position-row-reverse .eae-tl-item-image img{object-fit:cover;height:100%!important}.image-position-row .eae-tl-item-image,.image-position-row-reverse .eae-tl-item-image{margin:0}.image-position-column .eae-tl-item-image{margin:auto}.custom-image-style-.image-position-column .eae-tl-item-image,.custom-image-style-no.image-position-column .eae-tl-item-image{margin:0 auto}.eae-pb-inner-line{width:100%;background-color:#3d5ac3}.eae-tl-item-content::before{content:"";position:absolute;width:0;height:0;border-style:solid;border-width:8px 16px 8px 0;border-color:transparent #f4f4f4 transparent transparent}.eae-icon-wrapper{display:flex}.elementor-widget-bpel-timeline .eae-icon-wrapper{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);line-height:1}.eae-tl-read-more{display:inline-block;padding:5px;border:2px solid #000}.image-position-row .eae-timeline.eae-timeline-alternate-yes .eae-timeline-item:nth-child(odd):not(.custom-image-style-yes) .eae-tl-item-content{flex-direction:row-reverse!important}.image-position-row-reverse .eae-timeline.eae-timeline-alternate-yes .eae-timeline-item:nth-child(odd):not(.custom-image-style-yes) .eae-tl-item-content{flex-direction:row!important}@media screen and (min-width:1024px){.eae-layout-center .eae-timeline-item:nth-child(odd) .eae-tl-content-wrapper,body.rtl .eae-layout-center .eae-timeline-item:nth-child(even) .eae-tl-content-wrapper{padding-right:20px;padding-left:0}.eae-layout-center .eae-timeline-item:nth-child(even) .eae-tl-content-wrapper,body.rtl .eae-layout-center .eae-timeline-item:nth-child(odd) .eae-tl-content-wrapper{padding-right:0;padding-left:20px}.eae-layout-center .eae-timeline-item:nth-child(odd) .eae-tl-item-content::before,.eae-layout-right .eae-tl-item-content::before,body.rtl .eae-layout-center .eae-timeline-item:nth-child(even) .eae-tl-item-content::before,body.rtl .eae-layout-left .eae-tl-item-content::before{right:4px;left:unset;border-width:8px 0 8px 16px;border-color:transparent transparent transparent #f4f4f4}.eae-layout-center .eae-timeline-item:nth-child(even) .eae-tl-item-content::before,.eae-layout-left .eae-tl-item-content::before,body.rtl .eae-layout-center .eae-timeline-item:nth-child(odd) .eae-tl-item-content::before,body.rtl .eae-layout-right .eae-tl-item-content::before{left:4px;right:unset;border-width:8px 16px 8px 0;border-color:transparent #f4f4f4 transparent transparent}}@media screen and (max-width:1023px) and (min-width:768px){.image-position-row .eae-timeline.eae-timeline-alternate-yes .eae-timeline-item:nth-child(odd):not(.custom-image-style-yes) .eae-tl-item-content{flex-direction:row-reverse!important}.image-position-row-reverse .eae-timeline.eae-timeline-alternate-yes .eae-timeline-item:nth-child(odd):not(.custom-image-style-yes) .eae-tl-item-content{flex-direction:row!important}.eae-tl-res-style-mobile-tablet .eae-tl-item-meta-wrapper{display:none}.eae-tl-res-style-mobile-tablet .eae-tl-item-meta-wrapper-inner{display:block}.eae-tl-res-style-mobile-tablet.eae-tl-res-layout-left .eae-timeline-item{flex-direction:row!important}.eae-tl-res-style-mobile-tablet.eae-tl-res-layout-right .eae-timeline-item{flex-direction:row-reverse!important}.eae-layout-center.eae-tl-res-style-mobile-tablet.eae-tl-res-layout-left .eae-timeline-item .eae-tl-item-content::before,.eae-timeline.eae-layout-center.eae-tl-res-style-mobile .eae-timeline-item:nth-child(even) .eae-tl-item-content::before,body.rtl .eae-layout-center.eae-tl-res-style-mobile-tablet.eae-tl-res-layout-right .eae-timeline-item .eae-tl-item-content::before,body.rtl .eae-layout-right .eae-timeline-item .eae-tl-item-content::before,body.rtl .eae-layout-right .eae-tl-item-content::before,body.rtl .eae-timeline.eae-layout-center.eae-tl-res-style-mobile .eae-timeline-item:nth-child(odd) .eae-tl-item-content::before,body:not(.rtl) .eae-layout-left .eae-timeline-item .eae-tl-item-content::before,body:not(.rtl) .eae-layout-left .eae-tl-item-content::before{left:4px!important;border-width:8px 16px 8px 0!important;border-color:transparent #f4f4f4 transparent transparent!important}body.rtl .eae-timeline.eae-layout-center.eae-tl-res-style-mobile .eae-timeline-item:nth-child(odd) .eae-tl-item-content::before{left:4px!important;right:unset!important;border-width:8px 16px 8px 0!important;border-color:transparent #f4f4f4 transparent transparent!important}.eae-timeline.eae-layout-center.eae-tl-res-style-mobile .eae-timeline-item:nth-child(odd) .eae-tl-item-content::before,body.rtl .eae-layout-center.eae-tl-res-style-mobile-tablet.eae-tl-res-layout-left .eae-timeline-item .eae-tl-item-content::before,body.rtl .eae-layout-left .eae-timeline-item .eae-tl-item-content::before,body.rtl .eae-layout-left .eae-tl-item-content::before,body.rtl .eae-timeline.eae-layout-center.eae-tl-res-style-mobile .eae-timeline-item:nth-child(even) .eae-tl-item-content::before,body:not(.rtl) .eae-layout-center.eae-tl-res-style-mobile-tablet.eae-tl-res-layout-right .eae-timeline-item .eae-tl-item-content::before,body:not(.rtl) .eae-layout-right .eae-timeline-item .eae-tl-item-content::before,body:not(.rtl) .eae-layout-right .eae-tl-item-content::before,body:not(.rtl) .eae-tl-res-style-mobile-tablet.eae-tl-res-layout-right .eae-timeline-item .eae-tl-item-content::before{right:4px!important;border-width:8px 0 8px 16px!important;border-color:transparent transparent transparent #f4f4f4!important}.eae-tl-res-style-mobile-tablet.eae-layout-center.eae-tl-res-layout-left .eae-timeline-item .eae-tl-content-wrapper,body.rtl .eae-tl-res-style-mobile-tablet.eae-layout-center.eae-tl-res-layout-right .eae-timeline-item .eae-tl-content-wrapper{padding-right:0!important;padding-left:20px!important}.eae-tl-res-style-mobile-tablet.eae-layout-center.eae-tl-res-layout-right .eae-timeline-item .eae-tl-content-wrapper,body.rtl .eae-tl-res-style-mobile-tablet.eae-layout-center.eae-tl-res-layout-left .eae-timeline-item .eae-tl-content-wrapper{padding-right:20px!important;padding-left:0!important}.eae-tl-res-style-mobile-tablet.eae-layout-center.eae-tl-res-layout-left .eae-timline-progress-bar{left:13px}.eae-tl-res-style-mobile-tablet.eae-layout-center.eae-tl-res-layout-right .eae-timline-progress-bar{left:calc(100% - 13px)}}@media screen and (max-width:767px){.eae-tl-item-meta-wrapper{display:none}.eae-tl-item-meta-wrapper-inner{display:block}.elementor-widget-bpel-timeline:not(.image-position-column) .eae-timeline .eae-tl-item-content{flex-direction:column-reverse!important}.eae-tl-item-image,.elementor-widget-bpel-timeline:not(.image-position-column) .eae-tl-content{width:100%!important}.eae-tl-res-style-mobile-tablet.eae-tl-res-layout-left .eae-timeline-item,.eae-tl-res-style-mobile.eae-tl-res-layout-left .eae-timeline-item{flex-direction:row!important}.eae-tl-res-style-mobile-tablet.eae-tl-res-layout-right .eae-timeline-item,.eae-tl-res-style-mobile.eae-tl-res-layout-right .eae-timeline-item{flex-direction:row-reverse!important}.eae-timeline.eae-layout-center.eae-tl-center.eae-tl-res-style-mobile-tablet.eae-tl-res-layout-left .eae-timeline-item:nth-child(odd) .eae-tl-item-content::before,.eae-timeline.eae-layout-center.eae-tl-center.eae-tl-res-style-mobile.eae-tl-res-layout-left .eae-timeline-item:nth-child(odd) .eae-tl-item-content::before,body.rtl .eae-timeline.eae-layout-right .eae-timeline-item .eae-tl-item-content::before,body.rtl .eae-timeline.eae-tl-res-style-mobile.eae-tl-res-layout-right .eae-timeline-item .eae-tl-item-content::before,body:not(.rtl) .eae-layout-left .eae-timeline-item .eae-tl-item-content::before,body:not(.rtl) .eae-tl-res-style-mobile-tablet.eae-tl-res-layout-left .eae-timeline-item .eae-tl-item-content::before,body:not(.rtl) .eae-tl-res-style-mobile.eae-tl-res-layout-left .eae-timeline-item .eae-tl-item-content::before{left:4px!important;border-width:8px 16px 8px 0!important;border-color:transparent #f4f4f4 transparent transparent!important}body.rtl .eae-layout-left .eae-timeline-item .eae-tl-item-content::before,body.rtl .eae-tl-res-style-mobile.eae-tl-res-layout-left .eae-timeline-item .eae-tl-item-content::before,body:not(.rtl) .eae-layout-right .eae-timeline-item .eae-tl-item-content::before,body:not(.rtl) .eae-tl-res-style-mobile-tablet.eae-tl-res-layout-right .eae-timeline-item .eae-tl-item-content::before,body:not(.rtl) .eae-tl-res-style-mobile.eae-tl-res-layout-right .eae-timeline-item .eae-tl-item-content::before{right:4px!important;border-width:8px 0 8px 16px!important;border-color:transparent transparent transparent #f4f4f4!important}.eae-timeline.eae-tl-res-style-mobile-tablet.eae-layout-center.eae-tl-res-layout-right .eae-timeline-item .eae-tl-content-wrapper,body:not(.rtl) .eae-tl-res-style-mobile-tablet.eae-layout-center.eae-tl-res-layout-left .eae-timeline-item .eae-tl-content-wrapper body.rtl .eae-timeline.eae-tl-res-style-mobile.eae-layout-center.eae-tl-res-layout-right .eae-timeline-item .eae-tl-content-wrapper,body:not(.rtl) .eae-tl-res-style-mobile.eae-layout-center.eae-tl-res-layout-left .eae-timeline-item .eae-tl-content-wrapper{padding-right:0!important;padding-left:20px!important}body.rtl .eae-tl-res-style-mobile-tablet.eae-layout-center.eae-tl-res-layout-left .eae-timeline-item .eae-tl-content-wrapper,body.rtl .eae-tl-res-style-mobile.eae-layout-center.eae-tl-res-layout-left .eae-timeline-item .eae-tl-content-wrapper,body:not(.rtl) .eae-tl-res-style-mobile-tablet.eae-layout-center.eae-tl-res-layout-right .eae-timeline-item .eae-tl-content-wrapper,body:not(.rtl) .eae-tl-res-style-mobile.eae-layout-center.eae-tl-res-layout-right .eae-timeline-item .eae-tl-content-wrapper{padding-right:20px!important;padding-left:0!important}.eae-tl-res-style-mobile-tablet.eae-layout-center.eae-tl-res-layout-left .eae-timline-progress-bar,.eae-tl-res-style-mobile.eae-layout-center.eae-tl-res-layout-left .eae-timline-progress-bar{left:13px}.eae-tl-res-style-mobile-tablet.eae-layout-center.eae-tl-res-layout-right .eae-timline-progress-bar,.eae-tl-res-style-mobile.eae-layout-center.eae-tl-res-layout-right .eae-timline-progress-bar{left:calc(100% - 13px)}body.rtl .eae-layout-center.eae-timeline.eae-tl-res-style-mobile-tablet.eae-tl-res-layout-right .eae-timeline-item .eae-tl-content-wrapper .eae-tl-item-content::before{left:4px;right:unset}body.rtl .eae-layout-center.eae-timeline.eae-tl-res-style-mobile-tablet.eae-tl-res-layout-left .eae-timeline-item .eae-tl-content-wrapper .eae-tl-item-content::before{left:unset;right:4px;border-width:8px 0 8px 16px!important;border-color:transparent transparent transparent #f4f4f4!important}}[data-element_type="eae-evergreen-timer.skin1"] .eae-evergreen-wrapper{display:block;text-align:center}[data-element_type="eae-evergreen-timer.skin1"] #eaeclockdiv{font-family:sans-serif;color:#fff;display:inline-block;font-weight:100;text-align:center;font-size:30px}[data-element_type="eae-evergreen-timer.skin1"] .eae-time-wrapper{padding:10px;border-radius:3px;background:#00bf96;display:inline-block;overflow:hidden}[data-element_type="eae-evergreen-timer.skin1"] #eaeclockdiv div>span{padding:15px;width:100%;background:#00816a;display:inline-block}[data-element_type="eae-evergreen-timer.skin1"] .smalltext{padding:7px;font-size:16px}[data-element_type="eae-evergreen-timer.skin1"] .eae-egt-hide{display:none}.eae-egt-message{display:none}@media screen and (max-width:767px){[data-element_type="eae-evergreen-timer.skin1"] #eaeclockdiv div>span{padding:5px}[data-element_type="eae-evergreen-timer.skin1"] .eae-time-wrapper{padding:5px}}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-o-backface-visibility:hidden;backface-visibility:hidden}[data-element_type="eae-evergreen-timer.skin2"] .eae-evergreen-wrapper{display:inline-block;width:100%;text-align:center;margin:auto}[data-element_type="eae-evergreen-timer.skin2"] .timer-container{display:inline-block}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper a{cursor:pointer;text-decoration:none;color:#ccc}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper a:hover{color:#fff}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul{list-style:none}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper.clearfix:after,[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper.clearfix:before{content:" ";display:table}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper.clearfix:after{clear:both}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper{font:normal 11px "Helvetica Neue",Helvetica,sans-serif;-webkit-user-select:none}[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-meridium{background:0 0!important;box-shadow:0 0 0!important;font-size:36px!important}[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-meridium a{color:#313333}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper{text-align:center;position:relative;width:100%;margin:1em}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper:after,[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper:before{content:" ";display:table}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper:after{clear:both}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul{position:relative;float:left;margin:5px;width:60px;height:90px;font-size:80px;font-weight:700;line-height:87px;border-radius:6px;background:#000}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul li{z-index:1;position:absolute;left:0;top:0;width:100%;height:100%;line-height:87px;text-decoration:none!important}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul li:first-child{z-index:2}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul li a{display:block;height:100%;-webkit-perspective:200px;-moz-perspective:200px;perspective:200px;margin:0!important;overflow:visible!important;cursor:default!important}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul li a div{z-index:1;position:absolute;left:0;width:100%;height:50%;font-size:80px;overflow:hidden;outline:1px solid transparent}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul li a div .shadow{position:absolute;width:100%;height:100%;z-index:2}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul li a div.up{-webkit-transform-origin:50% 100%;-moz-transform-origin:50% 100%;-ms-transform-origin:50% 100%;-o-transform-origin:50% 100%;transform-origin:50% 100%;top:0}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul li a div.up:after{content:"";position:absolute;top:44px;left:0;z-index:5;width:100%;height:3px;background-color:#000;background-color:rgba(0,0,0,.4)}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul li a div.down{-webkit-transform-origin:50% 0;-moz-transform-origin:50% 0;-ms-transform-origin:50% 0;-o-transform-origin:50% 0;transform-origin:50% 0;bottom:0;border-bottom-left-radius:6px;border-bottom-right-radius:6px}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul li a div div.inn{position:absolute;left:0;z-index:1;width:100%;height:200%;color:#ccc;text-shadow:0 1px 2px #000;text-align:center;background-color:#333;border-radius:6px;font-size:70px}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul li a div.up div.inn{top:0}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul li a div.down div.inn{bottom:0}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul.play li.flip-clock-before{z-index:3}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper .flip{box-shadow:0 2px 5px rgba(0,0,0,.7)}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul.play li.flip-clock-active{-webkit-animation:asd 10ms .49s linear both;-moz-animation:asd 10ms .49s linear both;animation:asd 10ms .49s linear both;z-index:5}[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-divider{float:left;display:inline-block;position:relative;width:20px;height:100px}[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-divider:first-child{width:0}[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-dot{display:block;background:#323434;width:10px;height:10px;position:absolute;border-radius:50%;box-shadow:0 0 5px rgba(0,0,0,.5);left:5px}[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-divider .flip-clock-label{position:absolute;top:-1.5em;right:-86px;color:#000;text-shadow:none}[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-divider.minutes .flip-clock-label{right:-88px}[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-divider.seconds .flip-clock-label{right:-91px}[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-dot.top{top:30%}[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-dot.bottom{bottom:30%}@-webkit-keyframes asd{0%{z-index:2}100%{z-index:4}}@-moz-keyframes asd{0%{z-index:2}100%{z-index:4}}@-o-keyframes asd{0%{z-index:2}100%{z-index:4}}@keyframes asd{0%{z-index:2}100%{z-index:4}}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul.play li.flip-clock-active .down{z-index:2;-webkit-animation:turn .5s .5s linear both;-moz-animation:turn .5s .5s linear both;animation:turn .5s .5s linear both}@-webkit-keyframes turn{0%{-webkit-transform:rotateX(90deg)}100%{-webkit-transform:rotateX(0)}}@-moz-keyframes turn{0%{-moz-transform:rotateX(90deg)}100%{-moz-transform:rotateX(0)}}@-o-keyframes turn{0%{-o-transform:rotateX(90deg)}100%{-o-transform:rotateX(0)}}@keyframes turn{0%{transform:rotateX(90deg)}100%{transform:rotateX(0)}}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul.play li.flip-clock-before .up{z-index:2;-webkit-animation:turn2 .5s linear both;-moz-animation:turn2 .5s linear both;animation:turn2 .5s linear both}@-webkit-keyframes turn2{0%{-webkit-transform:rotateX(0)}100%{-webkit-transform:rotateX(-90deg)}}@-moz-keyframes turn2{0%{-moz-transform:rotateX(0)}100%{-moz-transform:rotateX(-90deg)}}@-o-keyframes turn2{0%{-o-transform:rotateX(0)}100%{-o-transform:rotateX(-90deg)}}@keyframes turn2{0%{transform:rotateX(0)}100%{transform:rotateX(-90deg)}}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul li.flip-clock-active{z-index:3}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul.play li.flip-clock-before .up .shadow{background:-moz-linear-gradient(top,rgba(0,0,0,.1) 0,#000 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,rgba(0,0,0,.1)),color-stop(100%,#000));background:linear,top,rgba(0,0,0,.1) 0,#000 100%;background:-o-linear-gradient(top,rgba(0,0,0,.1) 0,#000 100%);background:-ms-linear-gradient(top,rgba(0,0,0,.1) 0,#000 100%);background:linear,to bottom,rgba(0,0,0,.1) 0,#000 100%;-webkit-animation:show .5s linear both;-moz-animation:show .5s linear both;animation:show .5s linear both}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul.play li.flip-clock-active .up .shadow{background:-moz-linear-gradient(top,rgba(0,0,0,.1) 0,#000 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,rgba(0,0,0,.1)),color-stop(100%,#000));background:linear,top,rgba(0,0,0,.1) 0,#000 100%;background:-o-linear-gradient(top,rgba(0,0,0,.1) 0,#000 100%);background:-ms-linear-gradient(top,rgba(0,0,0,.1) 0,#000 100%);background:linear,to bottom,rgba(0,0,0,.1) 0,#000 100%;-webkit-animation:hide .5s .3s linear both;-moz-animation:hide .5s .3s linear both;animation:hide .5s .3s linear both}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul.play li.flip-clock-before .down .shadow{background:-moz-linear-gradient(top,#000 0,rgba(0,0,0,.1) 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#000),color-stop(100%,rgba(0,0,0,.1)));background:linear,top,#000 0,rgba(0,0,0,.1) 100%;background:-o-linear-gradient(top,#000 0,rgba(0,0,0,.1) 100%);background:-ms-linear-gradient(top,#000 0,rgba(0,0,0,.1) 100%);background:linear,to bottom,#000 0,rgba(0,0,0,.1) 100%;-webkit-animation:show .5s linear both;-moz-animation:show .5s linear both;animation:show .5s linear both}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul.play li.flip-clock-active .down .shadow{background:-moz-linear-gradient(top,#000 0,rgba(0,0,0,.1) 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#000),color-stop(100%,rgba(0,0,0,.1)));background:linear,top,#000 0,rgba(0,0,0,.1) 100%;background:-o-linear-gradient(top,#000 0,rgba(0,0,0,.1) 100%);background:-ms-linear-gradient(top,#000 0,rgba(0,0,0,.1) 100%);background:linear,to bottom,#000 0,rgba(0,0,0,.1) 100%;-webkit-animation:hide .5s .3s linear both;-moz-animation:hide .5s .3s linear both;animation:hide .5s .2s linear both}@-webkit-keyframes show{0%{opacity:0}100%{opacity:1}}@-moz-keyframes show{0%{opacity:0}100%{opacity:1}}@-o-keyframes show{0%{opacity:0}100%{opacity:1}}@keyframes show{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes hide{0%{opacity:1}100%{opacity:0}}@-moz-keyframes hide{0%{opacity:1}100%{opacity:0}}@-o-keyframes hide{0%{opacity:1}100%{opacity:0}}@keyframes hide{0%{opacity:1}100%{opacity:0}}@media screen and (max-width:767px){[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-divider{width:15px}[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-dot{height:5px;width:5px}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul{height:40px}[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-divider{height:50px}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul li{line-height:37px}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul li a div div.inn{font-size:24px}[data-element_type="eae-evergreen-timer.skin2"] .eae-flip-clock-wrapper ul{margin:2px}}[data-element_type="eae-evergreen-timer.skin3"] #timer{font-family:sans-serif;color:#fff;display:inline-block;font-weight:100;text-align:center;font-size:30px}[data-element_type="eae-evergreen-timer.skin3"] .desc{display:flex;justify-content:center}[data-element_type="eae-evergreen-timer.skin3"].eae-egt-content-align-right .desc{justify-content:flex-end}[data-element_type="eae-evergreen-timer.skin3"].eae-egt-content-align-left .desc{justify-content:flex-start}[data-element_type="eae-evergreen-timer.skin3"] .desc .egt-time-text{display:inline-block;padding:0 50px 0 50px}[data-element_type="eae-evergreen-timer.skin3"] .eae-time-wrapper{padding:50px;border-radius:3px;background:#00bf96;display:inline-block;overflow:hidden;margin:5px;line-height:1em}[data-element_type="eae-evergreen-timer.skin3"] #timer span:nth-child(1){background:khaki}[data-element_type="eae-evergreen-timer.skin3"] #timer span:nth-child(2){background:#cd5c5c}[data-element_type="eae-evergreen-timer.skin3"] #timer span:nth-child(3){background:#5f9ea0}[data-element_type="eae-evergreen-timer.skin3"] #timer span:nth-child(4){background:#6495ed}[data-element_type="eae-evergreen-timer.skin3"] .fade{animation:flip .7s ease forwards}@keyframes flip{0%{transform:rotateY(0) scaleY(1.1);opacity:.5}50%{transform:rotateY(180deg) scaleY(1.3);opacity:0}100%{transform:rotateY(0);opacity:1}}@media screen and (max-width:767px){[data-element_type="eae-evergreen-timer.skin3"] #timer span{font-size:22px}[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-divider .flip-clock-label{top:-1.5em;right:-42px}[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-divider.minutes .flip-clock-label{right:-48px}[data-element_type="eae-evergreen-timer.skin2"] .flip-clock-divider.seconds .flip-clock-label{right:-51px}}[data-element_type="eae-evergreen-timer.skin4"] .eae-evergreen-wrapper{width:100%}[data-element_type="eae-evergreen-timer.skin4"] .container{margin:0 auto}[data-element_type="eae-evergreen-timer.skin4"] .special{position:relative;width:840px;height:47px}[data-element_type="eae-evergreen-timer.skin4"] #counter{position:absolute;z-index:4000}[data-element_type="eae-evergreen-timer.skin4"] .digit-separator{position:relative;float:left;width:17px;height:44px;overflow:hidden;background-image:url(../digit-sep-svg.svg);background-repeat:no-repeat;background-position:0 0;background-color:#4054b2}[data-element_type="eae-evergreen-timer.skin4"] .digit{background-image:url(../digits-svg-alpha.svg);background-color:#4054b2}.eae-ct-wrapper *{box-sizing:border-box;margin:0;outline:0}article.eae-ct-wrapper{width:100%;max-width:1000px;margin:0 auto;position:relative}.eae-ct-wrapper tbody tr.eae-ct-header td,.eae-ct-wrapper th{position:relative}.eae-ct-wrapper ul{display:none;top:0;z-index:10;padding-bottom:14px}.eae-ct-wrapper li{list-style:none;flex:1;position:relative}.eae-ct-wrapper li:hover{cursor:pointer}.eae-ct-wrapper .eae-ct-heading{width:100%;padding:10px;background:#fff;font-size:20px;font-weight:700;height:60px;color:#999;text-align:center}.eae-ct-wrapper li.eae-ct-heading .eae-ct-heading-inner{position:absolute;align-self:center;top:50%;left:50%;transform:translate(-50%,-50%);width:100%}.eae-ct-wrapper li.eae-ct-heading.active{background:#f5f5f5}.eae-ct-wrapper table{border-collapse:collapse;table-layout:fixed;width:100%}.eae-ct-wrapper th{background:#f5f5f5;display:none}.eae-ct-wrapper td,.eae-ct-wrapper th{height:53px;vertical-align:middle}.eae-ct-wrapper table{border:none}.eae-ct-wrapper table td,.eae-ct-wrapper table th{border:none}.eae-ct-wrapper table tr td:first-child,.eae-ct-wrapper table tr td:last-child,.eae-ct-wrapper td,.eae-ct-wrapper th{padding:10px;empty-cells:show}.eae-ct-wrapper td,.eae-ct-wrapper th{text-align:center}.eae-ct-wrapper td+td,.eae-ct-wrapper th+th{text-align:center}.eae-ct-wrapper tr:first-child{background:0 0!important}.eae-ct-wrapper ul li:nth-child(1){display:table-cell}.eae-ct-wrapper tr td:nth-child(2){display:table-cell}.eae-ct-wrapper td:nth-child(1){display:table-cell}.eae-ct-wrapper td{display:none}.eae-ct-wrapper .sep{background:#f5f5f5;font-weight:700}.eae-ct-price-wrapper{display:flex;justify-content:center}.eae-ct-tt-type-icon .eae-ct-feature .tooltip{float:right}.eae-ct-wrapper .tooltiptext::before{content:"";border-width:5px 5px 0 5px;border-color:#fff;border-left-color:transparent;border-right-color:transparent;border-bottom-color:transparent;bottom:-10px;width:0;height:0;border-style:solid;position:absolute;margin:5px;left:42%}.eae-ct-wrapper .eae-ct-price{font-size:28px;font-weight:700;line-height:1em}.eae-ct-wrapper .eae-ct-currency{align-self:flex-start;margin-right:3px}.eae-ct-wrapper .eae-ct-fractional-price{align-self:flex-start;margin-left:3px}.eae-ct-wrapper .eae-ct-duration{align-self:flex-start}.eae-ct-wrapper .eae-ct-original-price{margin-right:5px;text-decoration:line-through;align-self:flex-end}.eae-ct-wrapper .tick{font-size:18px;color:#2ca01c}.feature-heading-blank.eae-ct-wrapper .hide{border:unset!important;background:unset!important}.eae-ct-wrapper .hide.eae-ct-hide.eae-fbox-heading{border:0 solid #000}.eae-ct-ribbons-yes .eae-ct-ribbons-wrapper{position:absolute;top:0;width:100px;overflow:hidden;height:100px;z-index:998;padding:8px 12px}.eae-ct-ribbons-h-top.eae-ct-ribbons-yes .eae-ct-ribbons-wrapper{position:absolute;top:0;width:100%;overflow:hidden;height:50px;z-index:999;padding:8px 12px}.eae-ct-ribbons-h-top.eae-ct-ribbons-yes .eae-ct-ribbons-wrapper-top{background-color:rgba(63,195,135,.8);color:#fff;transform:translateY(-100%);position:absolute;width:100%;top:0;left:0}.eae-ct-ribbons-h-left.eae-ct-ribbons-yes .eae-ct-ribbons-wrapper{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);left:0;right:auto}.eae-ct-ribbons-h-right.eae-ct-ribbons-yes .eae-ct-ribbons-wrapper{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(90deg);left:auto;right:0}.eae-ct-ribbons-yes .eae-ct-ribbons-wrapper span.eae-ct-ribbons-inner{position:absolute;text-align:center;left:0;top:0;width:200%;-webkit-transform:translateY(-50%) translateX(-50%) translateX(35px) rotate(-45deg);-ms-transform:translateY(-50%) translateX(-50%) translateX(35px) rotate(-45deg);transform:translateY(-50%) translateX(-50%) translateX(35px) rotate(-45deg);margin-top:35px;font-size:13px;line-height:2;font-weight:800;text-transform:uppercase;background:rgba(63,195,135,.8);padding:8px 12px;color:#fff}.eae-ct-wrapper .tooltip{position:relative;display:inline-block}.eae-ct-wrapper .tooltip .tooltiptext{visibility:hidden;min-width:120px;background-color:#000;color:#fff;text-align:center;border-radius:6px;padding:5px 0;position:absolute;z-index:1;bottom:120%;left:50%;margin-left:-60px}.eae-ct-wrapper .tooltip:hover .tooltiptext{visibility:visible}.eae-ct-heading-tooltip{text-decoration-line:underline;text-decoration-style:dotted}.eae-ct-btn{padding:10px 15px 10px 15px;color:#fff;display:inline-block;line-height:1em}.eae-ct-btn:hover{color:#fff}.eae-ct-wrapper i.fa.fa-check,.eae-ct-wrapper i.fas.fa-check{color:#38f146}.eae-ct-wrapper i.fa.fa-close,.eae-ct-wrapper i.fas.fa-times{color:red}.button-heading-blank.eae-ct-wrapper tr:last-child td:first-child{background:0 0!important;border:none!important}.eae-ct-wrapper tr:last-child{background:0 0!important}tbody tr:nth-child(2){background:0 0!important}@media (min-width:767px){.eae-ct-wrapper .eae-ct-header,.eae-ct-wrapper td{width:330px}.eae-ct-wrapper td+td,.eae-ct-wrapper th+th{width:auto}}.eae-tab-format-all .eae-ct-wrapper ul{display:flex}.hide.eae-ct-hide{display:table-cell}@media (min-width:1023px){.eae-tab-format-all tbody tr.eae-ct-header{display:none}.eae-tab-format-mobile .eae-ct-wrapper td,.eae-tab-format-mobile .eae-ct-wrapper th,.eae-tab-format-tab-mob .eae-ct-wrapper td,.eae-tab-format-tab-mob .eae-ct-wrapper th{display:table-cell!important}.eae-tab-format-all .hide.eae-ct-hide{display:table-cell}.eae-tab-format-mobile .hide.eae-ct-hide,.eae-tab-format-tab-mob .hide.eae-ct-hide{display:none!important}}@media (max-width:1023px){.eae-tab-format-tab-mob .eae-ct-wrapper ul{display:flex}.eae-tab-format-all tbody tr.eae-ct-header,.eae-tab-format-tab-mob tbody tr.eae-ct-header{display:none}.eae-tab-format-all .hide.eae-ct-hide{display:table-cell}.eae-tab-format-tab-mob .hide.eae-ct-hide{display:table-cell}}@media (max-width:1023px) and (min-width:768px){.eae-tab-format-mobile .eae-ct-wrapper td,.eae-tab-format-mobile .eae-ct-wrapper th{display:table-cell!important}.eae-tab-format-all tbody tr.eae-ct-header,.eae-tab-format-tab-mob tbody tr.eae-ct-header{display:none}.eae-tab-format-tab-mob .hide.eae-ct-hide{display:table-cell}}@media (max-width:767px){.eae-tab-format-mobile .eae-ct-wrapper ul{display:flex}.eae-tab-format-mobile tbody tr.eae-ct-header{display:none}.eae-tab-format-all tbody tr.eae-ct-header,.eae-tab-format-mobile tbody tr.eae-ct-header{display:none}.eae-tab-format-mobile .hide.eae-ct-hide{display:table-cell}}.eae-progress-bar-wrapper{display:flex;flex-direction:column;align-items:flex-start;margin:15px 0}.eae-progress-bar-wrapper.eae-progress-bar{width:100%;position:relative;box-sizing:border-box}.eae-pb-bar,.eae-pb-bar-inner,.eae-pb-bar-skill,.eae-pb-bar-value{box-sizing:border-box}.eae-pb-bar{position:relative;height:100%;width:100%;overflow:hidden}.eae-pb-bar--no-overflow{overflow:visible}.eae-pb-bar-inner{position:absolute;top:0;left:0;height:100%;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:left center;transform-origin:left center}body.rtl .eae-pb-bar .eae-pb-bar-inner{position:absolute;top:0;right:0!important;height:100%;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:right center;transform-origin:right center}.eae-pb-bar-inner.js-animated{transition-property:all;transition-duration:1.5s;transition-timing-function:cubic-bezier(.1,1.14,.31,1.06);transition-delay:1.5s;-webkit-transform:scaleX(1);transform:scaleX(1)}body.rtl .eae-pb-bar .eae-pb-bar-inner.js-animated{transition-property:all;transition-duration:1.5s;transition-timing-function:cubic-bezier(.1,1.14,.31,1.06);transition-delay:1.5s;-webkit-transform:scaleX(1);transform:scaleX(1)}.eae-pb-bar-skill,.eae-pb-bar-value{font-size:14px;letter-spacing:1px}body:not(.rtl) .eae-pb-bar-value--aligned-value{-webkit-transform:translateX(-50%);transform:translateX(-50%)}body.rtl .eae-pb-bar-value--aligned-value{-webkit-transform:translateX(50%);transform:translateX(50%)}.eae-progress-bar-skin1{height:20px;padding:4px;border:1px solid #ddd;border-radius:20px}.eae-pb-bar-skin1{border-radius:20px}.eae-pb-bar-inner-skin1{background-color:#00bfb3;background-size:200%;background-position:0 0;border-radius:20px}.eae-pb-bar-skill-skin1{position:absolute;bottom:20px;left:0;opacity:0}body.rtl .eae-pb-bar-skill-skin1{right:0}.eae-pb-bar-skill-skin1.js-animated{transition-property:all;transition-duration:.5s;transition-timing-function:linear;transition-delay:.5s;left:0;opacity:1}body.rtl .eae-pb-bar-skill-skin1.js-animated{right:0!important}.eae-pb-bar-value-skin1{position:absolute;bottom:20px;opacity:1}body:not(.rtl) .eae-pb-bar-value-skin1{right:0}body.rtl .eae-pb-bar-value-skin1{left:0!important}.eae-pb-bar-value-skin1.js-animated{transition-property:all;transition-duration:.5s;transition-timing-function:linear;transition-delay:.5s;opacity:1}body:not(.rtl) .eae-pb-bar-value-skin1.js-animated{right:0}.eae-progress-bar-skin2{height:15px;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.12),0 1px 5px 0 rgba(0,0,0,.2);border-radius:3px}@-webkit-keyframes progress-2-bg-animation-rtl{100%{background-position:0 0,0 0}0%{background-position:0 0,42px 0}}@keyframes progress-2-bg-animation-rtl{100%{background-position:0 0,0 0}0%{background-position:0 0,42px 0}}@-webkit-keyframes progress-2-bg-animation{0%{background-position:0 0,0 0}1000%{background-position:0 0,42px 0}}@keyframes progress-2-bg-animation{0%{background-position:0 0,0 0}100%{background-position:0 0,42px 0}}.eae-pb-bar-inner-skin2{background-image:linear-gradient(to top,rgba(255,255,255,.15),rgba(0,0,0,.2)),linear-gradient(135deg,#5eeb5b,#5eeb5b 33%,#358600 33%,#358600 66%,#5eeb5b 66%);background-size:100% 100%,42px 100%;background-position:0 0,0 0;border-radius:3px}body:not(.rtl) .eae-pb-bar-inner-skin2.js-animated{-webkit-animation:progress-2-bg-animation 1.5s linear 0s infinite;animation:progress-2-bg-animation 1.5s linear 0s infinite}body.rtl .eae-pb-bar-inner-skin2.js-animated{-webkit-animation:progress-2-bg-animation-rtl 1.5s linear 0s infinite;animation:progress-2-bg-animation-rtl 1.5s linear 0s infinite}.eae-pb-bar-skill-skin2{position:absolute;opacity:0}body:not(.rtl) .eae-pb-bar-skill-skin2{left:0}body.rtl .eae-pb-bar-skill-skin2{right:0}.eae-pb-bar-skill-skin2.js-animated{transition-property:all;transition-duration:.5s;transition-timing-function:linear;transition-delay:.5s;bottom:20px;opacity:1}.eae-pb-bar-value-skin2{position:absolute;opacity:0}body:not(.rtl) .eae-pb-bar-value-skin2{right:0}body.rtl .eae-pb-bar-value-skin2{left:0}.eae-pb-bar-value-skin2.js-animated{transition-property:all;transition-duration:.5s;transition-timing-function:linear;transition-delay:.5s;bottom:20px;opacity:1}.eae-progress-bar-skin3{height:5px;background-color:#efefef}.eae-pb-bar-inner-skin3,.eae-pb-bar-value-skin3{background-color:#f40076}.eae-pb-bar-inner:after,.eae-pb-bar-value-skin3:after{border-top-color:#f40076}.eae-pb-bar-skill-skin3{position:absolute;bottom:10px;left:-10px;opacity:0}.eae-pb-bar-skill-skin3.js-animated{transition-property:all;transition-duration:.5s;transition-timing-function:linear;transition-delay:.5s;opacity:1}body:not(.rtl) .eae-pb-bar-skill-skin3.js-animated{left:0}body.rtl .eae-pb-bar-skill-skin3.js-animated{right:0}.eae-pb-bar-value-skin3{position:absolute;display:inline-block;padding:0 8px;font-size:14px;color:#fff;opacity:0}.eae-pb-bar-value-skin3:after{position:absolute;left:50%;bottom:-10px;display:block;width:0;height:0;content:"";-webkit-transform:translateX(-50%);transform:translateX(-50%);border-width:5px;border-style:solid;border-color:#f40076 transparent transparent transparent}.eae-pb-bar-inner-skin3.js-animated{transition-property:all;transition-duration:1.5s;transition-timing-function:cubic-bezier(.1,1.14,.31,1.06);transition-delay:1.5s;-webkit-transform:scaleX(1);transform:scaleX(1)}.eae-pb-bar-value-skin3.js-animated{transition-property:all;transition-duration:1.5s;transition-timing-function:cubic-bezier(.1,1.14,.31,1.06);transition-delay:2s;bottom:14px;opacity:1}.eae-progress-bar-skin4{height:3px;background-color:#efefef}.eae-pb-bar-inner-skin4{background-color:#000}.eae-pb-bar-inner-skin4:after{position:absolute;top:50%;display:block;width:8px;height:8px;content:"";-webkit-transform:translateY(-50%);transform:translateY(-50%);background-color:#000;border-radius:50%}body:not(.rtl) .eae-pb-bar-inner-skin4:after{right:0}body.rtl .eae-pb-bar-inner-skin4:after{left:0}.eae-pb-bar-value-skin4{position:absolute;bottom:2px;font-size:14px;opacity:0}.eae-pb-bar-value-skin4.js-animated{transition-property:all;transition-duration:1.5s;transition-timing-function:linear;transition-delay:1.5s;opacity:1}.eae-pb-bar-skill-skin4{position:absolute;bottom:2px;left:-20px;opacity:0}.eae-pb-bar-skill-skin4.js-animated{transition-property:all;transition-duration:.5s;transition-timing-function:linear;transition-delay:.5s;opacity:1}body:not(.rtl) .eae-pb-bar-skill-skin4.js-animated{left:0}body.rtl .eae-pb-bar-skill-skin4.js-animated{right:0}.eae-progress-bar-skin5{height:30px;background-color:#f7f7f7}.eae-pb-bar-inner-skin5{background-color:#57b8ff}.eae-pb-bar-skill-skin5{position:absolute;top:50%;color:#fff;-webkit-transform:translateY(-50%);transform:translateY(-50%);opacity:0}body:not(.rtl) .eae-pb-bar-skill-skin5{left:10px}body:not(.rtl) .eae-pb-bar-skill-skin5{right:10px}.eae-pb-bar-skill-skin5.js-animated{transition-property:all;transition-duration:.5s;transition-timing-function:linear;transition-delay:.5s;opacity:1}.eae-pb-bar-value-skin5{position:absolute;top:50%;color:#fff;opacity:0;z-index:10}body:not(.rtl) .eae-pb-bar-value-skin5{-webkit-transform:translateX(-100%) translateX(-10px) translateY(-50%);transform:translateX(-100%) translateX(-10px) translateY(-50%)}body.rtl .eae-pb-bar-value-skin5{-webkit-transform:translateX(100%) translateX(10px) translateY(-50%);transform:translateX(100%) translateX(10px) translateY(-50%)}.eae-pb-bar-value-skin5.js-animated{transition-property:all;transition-duration:1.5s;transition-timing-function:linear;transition-delay:1.5s;opacity:1}.eae-dual-button-wrapper .eae-button-1-wrapper,.eae-dual-button-wrapper .eae-button-2-wrapper{overflow:hidden}.eae-dual-button-wrapper.button-style-horizontal{display:flex;flex-direction:row;position:relative}.eae-dual-button-main-wrapper{display:flex;flex-direction:row;justify-content:center}.eae-dual-button-wrapper a{min-width:0}.eae-dual-button-wrapper.button-style-vertical{display:inline-flex;flex-direction:column;position:relative}.eae-button-1.icon-before,.eae-button-2.icon-before{display:flex;flex-direction:row}body.rtl .eae-button-1.icon-before,body.rtl .eae-button-2.icon-before{display:flex;flex-direction:row-reverse}.eae-button-1.icon-after,.eae-button-2.icon-after{display:flex;flex-direction:row-reverse}body.rtl .eae-button-1.icon-after,body.rtl .eae-button-2.icon-after{display:flex;flex-direction:row}.eae-button-1-wrapper .eae-button-1,.eae-button-2-wrapper .eae-button-2{color:#000;align-items:center}.eae-button-1-wrapper:hover .eae-button-1,.eae-button-2-wrapper:hover .eae-button-2{color:#000}.eae-dual-button-wrapper.button-style-vertical .eae-button-1.icon-after,.eae-dual-button-wrapper.button-style-vertical .eae-button-1.icon-before,.eae-dual-button-wrapper.button-style-vertical .eae-button-2.icon-after,.eae-dual-button-wrapper.button-style-vertical .eae-button-2.icon-before{justify-content:center}.eae-button-1.icon-up,.eae-button-2.icon-up{display:flex;flex-direction:column;text-align:center}.eae-button-1.icon-down,.eae-button-2.icon-down{display:flex;flex-direction:column-reverse;text-align:center}.eae-button-1-wrapper{background:#ffb6c1;display:flex;justify-content:center;width:100%;line-height:1}.eae-button-2-wrapper{background:orange;display:flex;justify-content:center;width:100%;line-height:1}.eae-button-1.icon-up .icon-wrapper,.eae-button-2.icon-down .icon-wrapper,.eae-button-2.icon-up .icon-wrapper{text-align:center}.eae-button-1.icon-up .eae-button-text,.eae-button-2.icon-down .eae-button-text,.eae-button-2.icon-up .eae-button-text{text-align:center}.eae-button-1.icon-before i,.eae-button-2.icon-after i,.eae-button-2.icon-before i{align-self:center;margin:0 10px 0 0}.eae-button-1.icon-after i,.eae-button-2.icon-after i{align-self:center;margin:0 0 0 10px}.eae-button-1.icon-down i,.eae-button-1.icon-up i,.eae-button-2.icon-down i,.eae-button-2.icon-up i{align-self:center;margin:5px 0}.eae-dual-button-wrapper.button-style-horizontal .eae-button-1-wrapper,.eae-dual-button-wrapper.button-style-horizontal .eae-button-2-wrapper{padding:12px 30px}.eae-dual-button-wrapper.button-style-vertical .eae-button-1-wrapper,.eae-dual-button-wrapper.button-style-vertical .eae-button-2-wrapper{padding:20px 30px}.eae-button1,.eae-button2{position:relative;display:flex}.eae-dual-button-wrapper.button-style-horizontal .eae-button1,.eae-dual-button-wrapper.button-style-horizontal .eae-button2{min-width:150px}.eae-dual-button-wrapper.button-style-vertical .eae-button1{display:flex;flex-direction:column}.eae-button-separator-wrapper .eae-button-separator{width:40px;height:40px;line-height:40px;border-radius:50%;z-index:1;box-shadow:0 0 0 6px rgba(255,255,255,.2);background:#fafaf8;color:#444;text-transform:uppercase;text-align:center;vertical-align:middle;font-weight:400;font-size:14px;position:absolute;transform:translateY(-50%)}.eae-button-separator span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}body.rtl.elementor-editor-active .eae-dual-button-main-wrapper .button-style-horizontal .eae-button1 .eae-button-separator-wrapper.not-rtl .eae-button-separator{display:none!important}body:not(.rtl).elementor-editor-active .eae-dual-button-main-wrapper .button-style-horizontal .eae-button2 .eae-button-separator-wrapper.rtl .eae-button-separator{display:none!important}.eae-sweep-right{vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px transparent;position:relative;-webkit-transition-property:color;transition-property:color;-webkit-transition-duration:.3s;transition-duration:.3s}.eae-sweep-right:before{content:"";position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;background:#2098d1;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:0 50%;transform-origin:0 50%;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.eae-sweep-right:active,.eae-sweep-right:focus,.eae-sweep-right:hover{color:#fff}.eae-sweep-right:active:before,.eae-sweep-right:focus:before,.eae-sweep-right:hover:before{-webkit-transform:scaleX(1);transform:scaleX(1)}.eae-sweep-left{vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px transparent;position:relative;-webkit-transition-property:color;transition-property:color;-webkit-transition-duration:.3s;transition-duration:.3s}.eae-sweep-left:before{content:"";position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;background:#2098d1;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:100% 50%;transform-origin:100% 50%;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.eae-sweep-left:active,.eae-sweep-left:focus,.eae-sweep-left:hover{color:#fff}.eae-sweep-left:active:before,.eae-sweep-left:focus:before,.eae-sweep-left:hover:before{-webkit-transform:scaleX(1);transform:scaleX(1)}.eae-sweep-bottom{vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px transparent;position:relative;-webkit-transition-property:color;transition-property:color;-webkit-transition-duration:.3s;transition-duration:.3s}.eae-sweep-bottom:before{content:"";position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;background:#2098d1;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.eae-sweep-bottom:active,.eae-sweep-bottom:focus,.eae-sweep-bottom:hover{color:#fff}.eae-sweep-bottom:active:before,.eae-sweep-bottom:focus:before,.eae-sweep-bottom:hover:before{-webkit-transform:scaleY(1);transform:scaleY(1)}.eae-sweep-top{vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px transparent;position:relative;-webkit-transition-property:color;transition-property:color;-webkit-transition-duration:.3s;transition-duration:.3s}.eae-sweep-top:before{content:"";position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;background:#2098d1;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:50% 100%;transform-origin:50% 100%;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.eae-sweep-top:active,.eae-sweep-top:focus,.eae-sweep-top:hover{color:#fff}.eae-sweep-top:active:before,.eae-sweep-top:focus:before,.eae-sweep-top:hover:before{-webkit-transform:scaleY(1);transform:scaleY(1)}.eae-bounce-right{vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px transparent;position:relative;-webkit-transition-property:color;transition-property:color;-webkit-transition-duration:.5s;transition-duration:.5s}.eae-bounce-right:before{content:"";position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;background:#2098d1;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:0 50%;transform-origin:0 50%;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.eae-bounce-right:active,.eae-bounce-right:focus,.eae-bounce-right:hover{color:#fff}.eae-bounce-right:active:before,.eae-bounce-right:focus:before,.eae-bounce-right:hover:before{-webkit-transform:scaleX(1);transform:scaleX(1);-webkit-transition-timing-function:cubic-bezier(.52,1.64,.37,.66);transition-timing-function:cubic-bezier(.52,1.64,.37,.66)}.eae-bounce-left{vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px transparent;position:relative;-webkit-transition-property:color;transition-property:color;-webkit-transition-duration:.5s;transition-duration:.5s}.eae-bounce-left:before{content:"";position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;background:#2098d1;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:100% 50%;transform-origin:100% 50%;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.eae-bounce-left:active,.eae-bounce-left:focus,.eae-bounce-left:hover{color:#fff}.eae-bounce-left:active:before,.eae-bounce-left:focus:before,.eae-bounce-left:hover:before{-webkit-transform:scaleX(1);transform:scaleX(1);-webkit-transition-timing-function:cubic-bezier(.52,1.64,.37,.66);transition-timing-function:cubic-bezier(.52,1.64,.37,.66)}.eae-bounce-bottom{vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px transparent;position:relative;-webkit-transition-property:color;transition-property:color;-webkit-transition-duration:.5s;transition-duration:.5s}.eae-bounce-bottom:before{content:"";position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;background:#2098d1;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.eae-bounce-bottom:active,.eae-bounce-bottom:focus,.eae-bounce-bottom:hover{color:#fff}.eae-bounce-bottom:active:before,.eae-bounce-bottom:focus:before,.eae-bounce-bottom:hover:before{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition-timing-function:cubic-bezier(.52,1.64,.37,.66);transition-timing-function:cubic-bezier(.52,1.64,.37,.66)}.eae-bounce-top{vertical-align:middle;-webkit-transform:perspective(1px) translateZ(0);transform:perspective(1px) translateZ(0);box-shadow:0 0 1px transparent;position:relative;-webkit-transition-property:color;transition-property:color;-webkit-transition-duration:.5s;transition-duration:.5s}.eae-bounce-top:before{content:"";position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;background:#2098d1;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:50% 100%;transform-origin:50% 100%;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.eae-bounce-top:active,.eae-bounce-top:focus,.eae-bounce-top:hover{color:#fff}.eae-bounce-top:active:before,.eae-bounce-top:focus:before,.eae-bounce-top:hover:before{-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition-timing-function:cubic-bezier(.52,1.64,.37,.66);transition-timing-function:cubic-bezier(.52,1.64,.37,.66)}.eae-markers .marker{display:none}.eae-markers p{margin-bottom:0}.eae-fg-wrapper{display:flex;flex-direction:column;overflow:hidden}.eae-gallery-filter{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap}.eae-filter-label{padding:5px 10px;background-color:#a0ce4e;color:#fff;margin:0 3px 0 3px}.eae-filter-label.current{background-color:#73b9dc}.eae-fg-image{display:flex;flex-wrap:wrap;flex-direction:row}.eae-fg-wrapper .eae-gallery-item-inner img{width:100%;height:auto;display:block!important;transition:all .5s ease;-webkit-transition:all .5s ease}.eae-gallery-item{height:auto}.eae-gallery-filter a{color:#fff;text-decoration:none}.eae-gallery-filter a.current{font-weight:700}.eae-gallery-item-inner{position:relative;overflow:hidden}.eae-overlay-always .eae-gallery-item .eae-grid-overlay{display:block}.eae-overlay-hover .eae-gallery-item-inner:hover .eae-grid-overlay{display:block}.eae-overlay-hide-on-hover .eae-gallery-item-inner:hover .eae-grid-overlay{display:none}.eae-overlay-hide-on-hover .eae-grid-overlay{display:block}.eae-grid-overlay{position:absolute;top:0;left:0;display:none;z-index:99;background:rgba(0,0,0,.5);height:100%;width:100%}.eae-grid-overlay-inner{display:block;position:relative;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.eae-fg-wrapper .eae-icon-wrapper{display:flex;justify-content:center}.eae-overlay-caption{display:block;line-height:1em;margin-top:15px;color:#73b9dc}.eae-overlay-icon{line-height:1em;padding:.5em;display:inline-block}.eae-overlay-icon svg{height:auto}.eae-icon-view-framed .eae-overlay-icon{padding:.5em;color:#73b9dc;border:3px solid #73b9dc;background-color:transparent}.eae-icon-view-stacked .eae-overlay-icon{padding:.5em;color:#fff;background-color:#818a91}.eae-hover-direction-effect .eae-grid-overlay{position:absolute;z-index:99;background:rgba(0,0,0,.5);height:100%;width:100%}.eae-fg-wrapper.eae-image-ratio-yes .eae-gallery-item-inner .eae-fg-img-wrapper{position:relative;top:0;overflow:hidden;left:0;right:0;border:0}.eae-fg-wrapper.eae-image-ratio-yes .eae-gallery-item-inner .eae-fg-img-wrapper img{height:100%;width:100%;display:block;position:absolute;top:0;left:0;object-fit:cover}.wts-eae-ribbons-badges-wrapper{display:none}.wts-eae-enable-ribbons-badges-yes .elementor-column-wrap>.wts-eae-ribbons-badges-wrapper{display:block}.wts-eae-enable-ribbons-badges-yes.wts-eae-badge-type-ribbon>.wts-eae-ribbons-badges-wrapper{position:absolute;top:0;left:auto;right:0;-ms-transform:rotate(90deg);width:150px;overflow:hidden;height:150px;z-index:999;padding:8px 12px}.wts-eae-badge-h-left.wts-eae-enable-ribbons-badges-yes.wts-eae-badge-type-ribbon>.wts-eae-ribbons-badges-wrapper{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);left:0;right:auto}.wts-eae-badge-h-right.wts-eae-enable-ribbons-badges-yes.wts-eae-badge-type-ribbon>.wts-eae-ribbons-badges-wrapper{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(90deg);left:auto;right:0}.wts-eae-enable-ribbons-badges-yes.wts-eae-badge-type-ribbon>.wts-eae-ribbons-badges-wrapper span.wts-eae-ribbons-badges-inner{position:absolute;text-align:center;left:0;top:0;width:200%;-webkit-transform:translateY(-50%) translateX(-50%) translateX(35px) rotate(-45deg);-ms-transform:translateY(-50%) translateX(-50%) translateX(35px) rotate(-45deg);transform:translateY(-50%) translateX(-50%) translateX(35px) rotate(-45deg);margin-top:35px;font-size:13px;line-height:2;font-weight:800;text-transform:uppercase;background:rgba(63,195,135,.8);padding:8px 12px}.wts-eae-enable-ribbons-badges-yes.wts-eae-badge-type-badge>.wts-eae-ribbons-badges-wrapper span.wts-eae-ribbons-badges-inner{min-height:3.236em;min-width:3.236em;padding:0;font-size:1em;font-weight:700;position:absolute;text-align:center;line-height:3.236;top:-.5em;left:-.5em;margin:0;border-radius:100%;background-color:#77a464;color:#fff;font-size:.857em;z-index:9}.wts-eae-badge-h-left.wts-eae-badge-v-bottom.wts-eae-enable-ribbons-badges-yes>.wts-eae-ribbons-badges-wrapper span.wts-eae-ribbons-badges-inner{left:20px;right:auto;top:auto;bottom:20px}.wts-eae-badge-h-left.wts-eae-badge-v-top.wts-eae-enable-ribbons-badges-yes>.wts-eae-ribbons-badges-wrapper span.wts-eae-ribbons-badges-inner{left:20px;right:auto;top:20px;bottom:auto}.wts-eae-badge-h-right.wts-eae-badge-v-bottom.wts-eae-enable-ribbons-badges-yes>.wts-eae-ribbons-badges-wrapper span.wts-eae-ribbons-badges-inner{left:auto;right:20px;top:auto;bottom:20px}.wts-eae-badge-h-right.wts-eae-badge-v-top.wts-eae-enable-ribbons-badges-yes>.wts-eae-ribbons-badges-wrapper span.wts-eae-ribbons-badges-inner{left:auto;right:20px;top:20px;bottom:auto}.eae-flip-box-back svg,.eae-flip-box-front svg{width:25px;height:auto}.wts-eae-textseparator svg{width:25px;height:auto}.eae-img-comp-slider svg{width:22px;height:auto}.eae-popup-link svg{display:inline-block;width:1em}.eae-popup svg:focus,.eae-popup svg:hover{opacity:1;cursor:pointer}.eae-popup svg:active{top:1px}.eae-popup svg.eae-close{width:28px;height:28px;line-height:1em;text-decoration:none;text-align:center;opacity:1;background-color:#fff}.eae-dual-button-wrapper svg{width:1em;height:auto;display:block}eae-button-separator i{position:relative;display:block}.eae-button-1.icon-before svg,.eae-button-2.icon-after svg,.eae-button-2.icon-before svg{align-self:center;margin:0 10px 0 0}.eae-button-1.icon-after svg,.eae-button-2.icon-after svg{align-self:center;margin:0 0 0 10px}.eae-button-1.icon-down svg,.eae-button-1.icon-up svg,.eae-button-2.icon-down svg,.eae-button-2.icon-up svg{align-self:center;margin:5px 0}.eae-pt-button-wrapper a svg{width:1em}.eae-pt-action-button .eae-pt-align-icon-left{float:left}.eae-pt-action-button .eae-pt-align-icon-right{float:right}.eae-icon-wrap svg{width:20px;height:auto;font-size:20px;display:block}.eae-info-circle .eae-icon-wrap svg{width:20px;height:auto;font-size:20px}.eae-icon-view-stacked svg{fill:#fff}.ae-link-yes{cursor:pointer}.eae-element-unfold-content{padding:10px 0;background-color:#d3d3d3c4;width:100%;position:absolute;left:0;bottom:0;z-index:999}a.eae-unfold-link{background-color:#61ce70;color:#fff;display:inline-block;overflow:hidden}a.eae-unfold-link svg{background-color:#fff}.eae-unfold-button-icon{vertical-align:middle}.eae-fold-yes .elementor-column-wrap,.eae-fold-yes.elementor-section .elementor-container,.eae-fold-yes.elementor-widget{overflow:hidden}body.elementor-editor-active .elementor.elementor-edit-mode .elementor-element.elementor-section.eae-widget-unfold-yes .elementor-container,body.elementor-editor-preview .elementor.elementor-edit-mode .elementor-element.elementor-section.eae-widget-unfold-yes .elementor-container{overflow:hidden}body.elementor-editor-active .elementor.elementor-edit-mode .elementor-element.elementor-column.eae-widget-unfold-yes .elementor-column-wrap,body.elementor-editor-preview .elementor.elementor-edit-mode .elementor-element.elementor-column.eae-widget-unfold-yes .elementor-column-wrap{overflow:hidden}body.elementor-editor-active .elementor.elementor-edit-mode .elementor-element.elementor-widget.eae-widget-unfold-yes,body.elementor-editor-preview .elementor.elementor-edit-mode .elementor-element.elementor-widget.eae-widget-unfold-yes{overflow:hidden}.eae-widget-unfold-yes .elementor-widget-container .eae-fold-yes.eae-rc{display:none!important}.eae-unfold-button-icon svg{line-height:1em;text-decoration:none;-webkit-mask-repeat:no-repeat!important;text-align:center;opacity:1}.eae-fold-icon-type-svg .eae-unfold-button-icon,.eae-unfold-icon-type-svg .eae-unfold-button-icon{-webkit-mask-size:cover!important;background-image:none;transform:translateY(-50%)}.elementor-section.elementor-section-items-bottom.eae-widget-unfold-yes>.elementor-container,.elementor-section.elementor-section-items-middle.eae-widget-unfold-yes>.elementor-container{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:start}.elementor-section.elementor-section-content-bottom.eae-widget-unfold-yes>.elementor-container,.elementor-section.elementor-section-content-middle.eae-widget-unfold-yes>.elementor-container{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:start}.elementor-widget-wts-modal-popup.eae-pop-btn-type-image .eae-popup-link{padding:0;background-color:transparent;overflow:hidden}[data-elementor-device-mode=tablet] .eae-tab-format-mobile .eae-ct-hide.eae-fbox-heading{display:none!important}.eae-timeline-item .eae-icon-view-stacked{border-width:0!important}
|
assets/js/eae.js
CHANGED
@@ -940,17 +940,16 @@ var breakpoints = eae.breakpoints;
|
|
940 |
$($scope.find('.eae-info-circle-item')[0]).addClass('eae-active');
|
941 |
}
|
942 |
|
943 |
-
$scope.find('.eae-ic-icon-wrap').on('click
|
944 |
$scope.find('.eae-info-circle-item').removeClass('eae-active');
|
945 |
$(this).parent().addClass('eae-active');
|
946 |
});
|
947 |
-
|
948 |
-
|
949 |
-
|
950 |
-
|
951 |
-
|
952 |
-
|
953 |
-
// }
|
954 |
|
955 |
|
956 |
function showDiv() {
|
@@ -973,6 +972,7 @@ var breakpoints = eae.breakpoints;
|
|
973 |
var pb = $scope.find(".eae-timline-progress-bar");
|
974 |
var items = $scope.find(".eae-timeline-item");
|
975 |
var tl = $scope.find(".eae-timeline");
|
|
|
976 |
var h = $(tl).height();
|
977 |
var last_offset = $(items).last().find('.eae-tl-icon-wrapper').offset().top - $(items[0]).parent().offset().top;
|
978 |
var icon_width = $scope.find('.eae-tl-icon-wrapper');
|
@@ -993,16 +993,17 @@ var breakpoints = eae.breakpoints;
|
|
993 |
$(value).removeClass('eae-tl-item-focused');
|
994 |
}
|
995 |
},
|
996 |
-
offset:
|
997 |
})
|
998 |
});
|
999 |
}
|
1000 |
|
1001 |
function progress_bar_increment() {
|
1002 |
var pb = $scope.find(".eae-timline-progress-bar");
|
1003 |
-
|
|
|
1004 |
//jQuery(".eae-timline-progress-bar").css('top', $scope.find(".eae-timeline").offset().top + 50);
|
1005 |
-
$scope.find(".eae-pb-inner-line").css('height', $(window).scrollTop() - $scope.find(".eae-timeline").offset().top +
|
1006 |
$scope.find(".eae-pb-inner-line").css('max-height', $scope.find(".eae-pb-inner-line").parent().height());
|
1007 |
}
|
1008 |
|
@@ -2201,6 +2202,7 @@ var breakpoints = eae.breakpoints;
|
|
2201 |
};
|
2202 |
|
2203 |
var ProgressBar = function ($scope, $) {
|
|
|
2204 |
$wrapper = $scope.find('.eae-progress-bar');
|
2205 |
var skill = $wrapper.attr('data-skill');
|
2206 |
var skill_value = $wrapper.attr('data-value');
|
@@ -2218,18 +2220,31 @@ var breakpoints = eae.breakpoints;
|
|
2218 |
}
|
2219 |
if(skin === 'skin3'){
|
2220 |
$(valueELem).addClass('eae-pb-bar-value--aligned-value');
|
2221 |
-
$
|
|
|
|
|
|
|
|
|
|
|
2222 |
$(prgInner).attr("style" ,"width :" +skill_value+ "%");
|
2223 |
}
|
2224 |
if(skin === 'skin4'){
|
2225 |
$(valueELem).addClass('eae-pb-bar-value--aligned-value');
|
2226 |
-
$
|
|
|
|
|
|
|
|
|
2227 |
$(prgInner).attr("style" ,"width :" +skill_value+ "%")
|
2228 |
$(prgBar).addClass('eae-pb-bar--no-overflow');
|
2229 |
}
|
2230 |
if(skin === 'skin5'){
|
2231 |
$(valueELem).addClass('eae-pb-bar-value--aligned-value');
|
2232 |
-
$
|
|
|
|
|
|
|
|
|
2233 |
$(prgInner).attr("style" ,"width :" +skill_value+ "%")
|
2234 |
}
|
2235 |
|
940 |
$($scope.find('.eae-info-circle-item')[0]).addClass('eae-active');
|
941 |
}
|
942 |
|
943 |
+
$scope.find('.eae-ic-icon-wrap').on('click', function () {
|
944 |
$scope.find('.eae-info-circle-item').removeClass('eae-active');
|
945 |
$(this).parent().addClass('eae-active');
|
946 |
});
|
947 |
+
if($scope.hasClass('eae-mouseenter-yes')){
|
948 |
+
$scope.find('.eae-ic-icon-wrap').on('mouseenter', function () {
|
949 |
+
$scope.find('.eae-info-circle-item').removeClass('eae-active');
|
950 |
+
$(this).parent().addClass('eae-active');
|
951 |
+
});
|
952 |
+
}
|
|
|
953 |
|
954 |
|
955 |
function showDiv() {
|
972 |
var pb = $scope.find(".eae-timline-progress-bar");
|
973 |
var items = $scope.find(".eae-timeline-item");
|
974 |
var tl = $scope.find(".eae-timeline");
|
975 |
+
const offset = tl.data('top-offset');
|
976 |
var h = $(tl).height();
|
977 |
var last_offset = $(items).last().find('.eae-tl-icon-wrapper').offset().top - $(items[0]).parent().offset().top;
|
978 |
var icon_width = $scope.find('.eae-tl-icon-wrapper');
|
993 |
$(value).removeClass('eae-tl-item-focused');
|
994 |
}
|
995 |
},
|
996 |
+
offset: offset,
|
997 |
})
|
998 |
});
|
999 |
}
|
1000 |
|
1001 |
function progress_bar_increment() {
|
1002 |
var pb = $scope.find(".eae-timline-progress-bar");
|
1003 |
+
var tm = $scope.find(".eae-timeline");
|
1004 |
+
const offset = tm.data('top-offset');
|
1005 |
//jQuery(".eae-timline-progress-bar").css('top', $scope.find(".eae-timeline").offset().top + 50);
|
1006 |
+
$scope.find(".eae-pb-inner-line").css('height', $(window).scrollTop() - $scope.find(".eae-timeline").offset().top + offset);
|
1007 |
$scope.find(".eae-pb-inner-line").css('max-height', $scope.find(".eae-pb-inner-line").parent().height());
|
1008 |
}
|
1009 |
|
2202 |
};
|
2203 |
|
2204 |
var ProgressBar = function ($scope, $) {
|
2205 |
+
$is_rtl = jQuery('body').hasClass('rtl');
|
2206 |
$wrapper = $scope.find('.eae-progress-bar');
|
2207 |
var skill = $wrapper.attr('data-skill');
|
2208 |
var skill_value = $wrapper.attr('data-value');
|
2220 |
}
|
2221 |
if(skin === 'skin3'){
|
2222 |
$(valueELem).addClass('eae-pb-bar-value--aligned-value');
|
2223 |
+
if($is_rtl){
|
2224 |
+
$(valueELem).attr("style" ,"right :" +skill_value+ "%");
|
2225 |
+
}else{
|
2226 |
+
$(valueELem).attr("style" ,"left :" +skill_value+ "%");
|
2227 |
+
}
|
2228 |
+
|
2229 |
$(prgInner).attr("style" ,"width :" +skill_value+ "%");
|
2230 |
}
|
2231 |
if(skin === 'skin4'){
|
2232 |
$(valueELem).addClass('eae-pb-bar-value--aligned-value');
|
2233 |
+
if($is_rtl){
|
2234 |
+
$(valueELem).attr("style" ,"right :" +skill_value+ "%");
|
2235 |
+
}else{
|
2236 |
+
$(valueELem).attr("style" ,"left :" +skill_value+ "%");
|
2237 |
+
}
|
2238 |
$(prgInner).attr("style" ,"width :" +skill_value+ "%")
|
2239 |
$(prgBar).addClass('eae-pb-bar--no-overflow');
|
2240 |
}
|
2241 |
if(skin === 'skin5'){
|
2242 |
$(valueELem).addClass('eae-pb-bar-value--aligned-value');
|
2243 |
+
if($is_rtl){
|
2244 |
+
$(valueELem).attr("style" ,"right :" +skill_value+ "%");
|
2245 |
+
}else{
|
2246 |
+
$(valueELem).attr("style" ,"left :" +skill_value+ "%");
|
2247 |
+
}
|
2248 |
$(prgInner).attr("style" ,"width :" +skill_value+ "%")
|
2249 |
}
|
2250 |
|
assets/js/eae.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
jQuery(window).on("elementor/frontend/init",(function(){elementorFrontend.hooks.addAction("frontend/element_ready/wts-gmap.default",(function(e){map=function(a){$wrapper=e.find(".eae-markers");var i=$wrapper.data("zoom"),t=a.find(".marker"),n=$wrapper.data("style"),d=($wrapper.data("scroll"),{zoom:i,center:new google.maps.LatLng(0,0),mapTypeId:google.maps.MapTypeId.ROADMAP,styles:n}),r=new google.maps.Map(a[0],d);return r.markers=[],t.each((function(){!function(a,i){var t=$wrapper.data("animate");$wrapper.data("show-info-window-onload");$wrapper=e.find(".eae-markers");var n=new google.maps.LatLng(a.attr("data-lat"),a.attr("data-lng"));if(icon_img=a.attr("data-icon"),""!=icon_img)var d={url:a.attr("data-icon"),scaledSize:new google.maps.Size(a.attr("data-icon-size"),a.attr("data-icon-size"))};var r=new google.maps.Marker({position:n,map:i,icon:d,animation:google.maps.Animation.DROP});"animate-yes"==t&&"yes"!=a.data("info-window")&&r.setAnimation(google.maps.Animation.BOUNCE);"animate-yes"==t&&google.maps.event.addListener(r,"click",(function(){r.setAnimation(null)}));if(i.markers.push(r),a.html()){var s=new google.maps.InfoWindow({content:a.html()});"yes"==a.data("info-window")&&s.open(i,r),google.maps.event.addListener(r,"click",(function(){s.open(i,r)}))}"animate-yes"==t&&google.maps.event.addListener(s,"closeclick",(function(){r.setAnimation(google.maps.Animation.BOUNCE)}))}(jQuery(this),r)})),function(e,a){var i=new google.maps.LatLngBounds;jQuery.each(e.markers,(function(e,a){var t=new google.maps.LatLng(a.position.lat(),a.position.lng());i.extend(t)})),1==e.markers.length?(e.setCenter(i.getCenter()),e.setZoom(a)):e.fitBounds(i)}(r,i),r}(e.find(".eae-markers"))})),elementorFrontend.hooks.addAction("frontend/element_ready/global",(function(e){var a,i,t,n,d,r,s,l=[],o=[],c=e.children(".eae-section-bs").children(".eae-section-bs-inner");c&&c.data("eae-bg-slider")&&(slider_images=c.data("eae-bg-slider"),a=c.data("eae-bg-slider-transition"),i=c.data("eae-bg-slider-animation"),n=("yes"==(t=c.data("eae-bg-custom-overlay"))||c.data("eae-bg-slider-overlay"),eae_editor.plugin_url+"assets/lib/vegas/overlays/"+c.data("eae-bg-slider-overlay")),d=c.data("eae-bg-slider-cover"),r=c.data("eae-bs-slider-delay"),s=c.data("eae-bs-slider-timer"),"undefined"!=typeof slider_images&&(l=slider_images.split(","),jQuery.each(l,(function(e,a){var i=[];i.src=a,o.push(i)})),c.vegas({slides:o,transition:a,animation:i,overlay:n,cover:d,delay:r,timer:s,init:function(){"yes"==t&&c.children(".vegas-overlay").css("background-image","")}})))}))}));var isEditMode=!1,breakpoints=eae.breakpoints;!function(e){e(window).on("elementor/frontend/init",(function(){var a=function(e,a){function i(e){$icons=a(document).find(e).find(".eae-ic-icon-wrap"),window.innerWidth<767?$icons.each((function(e,i){a(i).css("top",a(i).height()/2+8+"px"),a(i).next(".eae-info-circle-item__content-wrap").css("padding-top",a(i).height()/2+8+"px")})):$icons.each((function(e,i){a(i).css("margin-left",-.5*a(i).outerWidth()),a(i).css("margin-top",-.5*a(i).outerHeight()),$a=function(e){return e=(e-90)*Math.PI/180,{x:50+45*Math.cos(e),y:50+45*Math.sin(e)}}($angle),$b=360/$icons.length,a(i).css("left",$a.x+"%"),a(i).css("top",$a.y+"%"),$angle+=$b}))}$wrap_class=".elementor-element-"+e.data("id"),$angle=0,i(e);var t=null;function n(){"yes"==e.find(".eae-info-circle").data("autoplay")&&(t=setInterval(d,$autoplayDuration))}function d(){e.find(".eae-active").next().length>0?e.find(".eae-active").next().addClass("eae-active").siblings().removeClass("eae-active"):e.find(".eae-info-circle-item").eq(0).addClass("eae-active").siblings().removeClass("eae-active")}$autoplayDuration=e.find(".eae-info-circle").data("delay"),n(),e.find(".eae-ic-icon-wrap").hover((function(){clearInterval(t)}),(function(){n()})),e.find(".eae-info-circle-item").length>0&&a(e.find(".eae-info-circle-item")[0]).addClass("eae-active"),e.find(".eae-ic-icon-wrap").on("click mouseenter",(function(){e.find(".eae-info-circle-item").removeClass("eae-active"),a(this).parent().addClass("eae-active")})),window.addEventListener("resize",i.bind(this,$wrap_class))},i=function(e,a){function i(){var i=e.find(".eae-timline-progress-bar"),t=e.find(".eae-timeline-item"),n=e.find(".eae-timeline"),d=a(n).height(),r=a(t).last().find(".eae-tl-icon-wrapper").offset().top-a(t[0]).parent().offset().top,s=e.find(".eae-tl-icon-wrapper");a(i).css("top",a(t[0]).find(".eae-tl-icon-wrapper").offset().top-a(t[0]).parent().offset().top),a(i).css("bottom",d-r),a(i).css("left",s.eq(0)[0].offsetLeft+s.eq(0).width()/2),a(i).css("display","block"),t.each((function(e,i){new Waypoint({element:a(i),handler:function(e){"down"==e?a(i).addClass("eae-tl-item-focused"):a(i).removeClass("eae-tl-item-focused")},offset:100})}))}i(),window.addEventListener("resize",i),window.addEventListener("scroll",(function(){e.find(".eae-timline-progress-bar"),e.find(".eae-pb-inner-line").css("height",a(window).scrollTop()-e.find(".eae-timeline").offset().top+100),e.find(".eae-pb-inner-line").css("max-height",e.find(".eae-pb-inner-line").parent().height())}))};function t(e,a,i){var t=new Date;t.setTime(t.getTime()+60*i*60*1e3);var n="expires="+t.toUTCString();document.cookie=e+"="+a+";"+n+";path=/"}function n(e){for(var a=e+"=",i=decodeURIComponent(document.cookie).split(";"),t=0;t<i.length;t++){for(var n=i[t];" "==n.charAt(0);)n=n.substring(1);if(0==n.indexOf(a))return n.substring(a.length,n.length)}return""}var d=function(e,a){$wrapper=e.find(".eae-progress-bar");$wrapper.attr("data-skill");var i=$wrapper.attr("data-value"),t=$wrapper.attr("data-skin"),n=$wrapper.find(".eae-pb-bar-skill"),d=$wrapper.find(".eae-pb-bar-value"),r=$wrapper.find(".eae-pb-bar"),s=$wrapper.find(".eae-pb-bar-inner");"skin1"===t&&a(s).attr("style","width : "+i+"%"),"skin2"===t&&a(s).attr("style","width : "+i+"%"),"skin3"===t&&(a(d).addClass("eae-pb-bar-value--aligned-value"),a(d).attr("style","left :"+i+"%"),a(s).attr("style","width :"+i+"%")),"skin4"===t&&(a(d).addClass("eae-pb-bar-value--aligned-value"),a(d).attr("style","left :"+i+"%"),a(s).attr("style","width :"+i+"%"),a(r).addClass("eae-pb-bar--no-overflow")),"skin5"===t&&(a(d).addClass("eae-pb-bar-value--aligned-value"),a(d).attr("style","left :"+i+"%"),a(s).attr("style","width :"+i+"%")),$wrapper.each((function(e,i){new Waypoint({element:i,skill_value:a(i).find(".eae-pb-bar-skill"),valueElem:a(i).find(".eae-pb-bar-value"),prgBar:a(i).find(".eae-pb-bar-bar"),prgInner:a(i).find(".eae-pb-bar-inner"),handler:function(e){"down"==e&&(a(d).hasClass("js-animated")||a(d).addClass("js-animated"),a(s).hasClass("js-animated")||a(s).addClass("js-animated"),a(n).hasClass("js-animated")||a(n).addClass("js-animated"))},offset:"bottom-in-view"})}))};e.fn.EAEHoverDirection=function(a){var i=e.extend({inaccuracy:30,speed:200},a);this.find(".overlay").css({top:-9999999}),this.mouseenter((function(a){container=e(this),overlay=container.find(".overlay"),parentOffset=container.offset(),relX=a.pageX-parentOffset.left,relY=a.pageY-parentOffset.top,overlay.css({top:0,left:0,width:container.width(),height:container.height()}),relX>container.width()-i.inaccuracy?overlay.css({top:0,left:container.width()}):relX<i.inaccuracy?overlay.css({top:0,left:-container.width()}):relY>container.height()-i.inaccuracy?overlay.css({top:container.width(),left:0}):relY<i.inaccuracy&&overlay.css({top:-container.width(),left:0}),overlay.animate({top:0,left:0},i.speed)})),this.mouseleave((function(a){container=e(this),overlay=container.find(".overlay"),parentOffset=container.offset(),relX=a.pageX-parentOffset.left,relY=a.pageY-parentOffset.top,relX<=0&&overlay.animate({top:0,left:-container.width()},i.speed),relX>=container.width()&&overlay.animate({top:0,left:container.width()},i.speed),relY<=0&&overlay.animate({left:0,top:-container.height()},i.speed),relY>=container.height()&&overlay.animate({left:0,top:container.height()},i.speed)}))},elementorFrontend.hooks.addAction("frontend/element_ready/wts-ab-image.default",(function(e,a){e.find(".eae-img-comp-container").imagesLoaded().done((function(){ab_style=e.find(".eae-img-comp-container").data("ab-style"),slider_pos=e.find(".eae-img-comp-container").data("slider-pos"),"horizontal"===ab_style?(separator_width=parseInt(e.find(".eae-img-comp-overlay").css("border-right-width")),function(e){var a,i;a=e.find(".eae-img-comp-overlay"),i=(i=a.width())*slider_pos/100,function(a){var t,n,d,r=0;function s(e){e.preventDefault(),r=1,window.addEventListener("mousemove",o),t.addEventListener("touchmove",c)}function l(){r=0}function o(e){var i;if(0==r)return!1;(i=function(e){var i;return e=e||window.event,i=a.getBoundingClientRect(),e.pageX-i.left}(e))<0&&(i=0),i>n&&(i=n),f(i)}function c(e){var i;if(0==r)return!1;(i=function(e){var i;return i=a.getBoundingClientRect(),e.changedTouches[0].clientX-i.left}(e))<0&&(i=0),i>n&&(i=n),f(i)}function f(e){a.style.width=e+"px",t.style.left=a.offsetWidth-t.offsetWidth/2-separator_width/2+"px"}n=a.offsetWidth,d=a.offsetHeight,a.style.width=i+"px",(t=(t=e.find(".eae-img-comp-slider"))[0]).style.top=d/2-t.offsetHeight/2+"px",t.style.left=i-t.offsetWidth/2-separator_width/2+"px",e.hasClass("elementor-element-edit-mode")||(t.addEventListener("mousedown",s),window.addEventListener("mouseup",l),t.addEventListener("touchstart",s),window.addEventListener("touchstop",l))}(a[0])}(e)):(separator_width=parseInt(e.find(".eae-img-comp-overlay").css("border-bottom-width")),function(e){var a;a=e.find(".eae-img-comp-overlay"),start_pos=a.height(),start_pos=start_pos*slider_pos/100,function(a){var i,t,n,d=0;function r(e){e.preventDefault(),d=1,window.addEventListener("mousemove",l),i.addEventListener("touchmove",o)}function s(){d=0}function l(e){var i;if(0==d)return!1;(i=function(e){var i,t=0;return e=e||window.event,i=a.getBoundingClientRect(),t=e.pageY-i.top,t-=window.pageYOffset}(e))<0&&(i=0),i>n&&(i=n),c(i)}function o(e){var i;if(0==d)return!1;(i=function(e){var i;return i=a.getBoundingClientRect(),e.changedTouches[0].clientY-i.top}(e))<0&&(i=0),i>n&&(i=n),c(i)}function c(e){a.style.height=e+"px",i.style.top=a.offsetHeight-i.offsetHeight/2-separator_width/2+"px"}t=a.offsetWidth,n=a.offsetHeight,a.style.height=start_pos+"px",(i=(i=e.find(".eae-img-comp-slider"))[0]).style.top=start_pos-i.offsetHeight/2-separator_width/2+"px",i.style.left=t/2-i.offsetWidth/2+"px",e.hasClass("elementor-element-edit-mode")||(i.addEventListener("mousedown",r),window.addEventListener("mouseup",s),i.addEventListener("touchstart",r),window.addEventListener("touchstop",s))}(a[0])}(e))}))})),elementorFrontend.hooks.addAction("frontend/element_ready/global",(function(e,a){e.hasClass("eae-particle-yes")&&(id=e.data("id"),element_type=e.data("element_type"),pdata=e.data("eae-particle"),pdata_wrapper=e.find(".eae-particle-wrapper").data("eae-pdata"),"undefined"!=typeof pdata&&""!=pdata?e.find(".eae-section-bs").length>0?(e.find(".eae-section-bs").after('<div class="eae-particle-wrapper" id="eae-particle-'+id+'"></div>'),particlesJS("eae-particle-"+id,pdata)):("column"==element_type?e.prepend('<div class="eae-particle-wrapper" id="eae-particle-'+id+'"></div>'):e.prepend('<div class="eae-particle-wrapper " id="eae-particle-'+id+'"></div>'),particlesJS("eae-particle-"+id,pdata)):"undefined"!=typeof pdata_wrapper&&""!=pdata_wrapper&&(element_type,e.prepend('<div class="eae-particle-wrapper eae-particle-area" id="eae-particle-'+id+'"></div>'),particlesJS("eae-particle-"+id,JSON.parse(pdata_wrapper))))})),elementorFrontend.hooks.addAction("frontend/element_ready/global",(function(e,a){if(e.hasClass("eae-animated-gradient-yes")){id=e.data("id"),color=e.data("color"),angle=e.data("angle");var i="linear-gradient("+angle+","+color+")";heading=e.find(".elementor-heading-title"),e.css("background-image",i),e.hasClass("elementor-element-edit-mode")&&(color=e.find(".animated-gradient").data("color"),angle=e.find(".animated-gradient").data("angle"),gradient_color_editor="linear-gradient("+angle+","+color+")",e.prepend('<div class="animated-gradient" style="background-image : '+gradient_color_editor+' "></div>'))}})),elementorFrontend.hooks.addAction("frontend/element_ready/wts-modal-popup.default",(function(e,a){$preview_modal=e.find(".eae-popup-wrapper").data("preview-modal"),$close_btn_type=e.find(".eae-popup-wrapper").data("close-button-type"),$close_btn=e.find(".eae-popup-wrapper").data("close-btn"),"icon"==$close_btn_type?$close_btn_html='<i class="eae-close '+$close_btn+'"> </i>':$close_btn_html='<svg class="eae-close" style="-webkit-mask: url('+$close_btn+"); mask: url("+$close_btn+'); "></svg>',$magnific=e.find(".eae-popup-link").eaePopup({type:"inline",disableOn:0,key:null,midClick:!1,mainClass:"eae-popup eae-popup-"+e.find(".eae-popup-link").data("id")+" eae-wrap-"+e.find(".eae-popup-link").data("ctrl-id"),preloader:!0,focus:"",closeOnContentClick:!1,closeOnBgClick:!0,closeBtnInside:e.find(".eae-popup-wrapper").data("close-in-out"),showCloseBtn:!0,enableEscapeKey:!1,modal:!1,alignTop:!1,removalDelay:0,prependTo:null,fixedContentPos:"auto",fixedBgPos:"auto",overflowY:"auto",closeMarkup:$close_btn_html,tClose:"Close (Esc)",tLoading:"Loading...",autoFocusLast:!0}),"yes"==$preview_modal&&e.hasClass("elementor-element-edit-mode")&&e.find(".eae-popup-link").click()})),elementorFrontend.hooks.addAction("frontend/element_ready/wts-testimonial-slider.default",(function(e,a){if(e.find(".eae-grid-wrapper").hasClass("eae-masonry-yes")){var i=e.find(".eae-grid").masonry({});i.imagesLoaded().progress((function(){i.masonry("layout")}))}if(e.find(".eae-layout-carousel").length){outer_wrapper=e.find(".eae-swiper-outer-wrapper"),wid=e.data("id"),wclass=".elementor-element-"+wid;var t=outer_wrapper.data("direction"),n=outer_wrapper.data("speed"),d=outer_wrapper.data("autoplay"),r=outer_wrapper.data("duration"),s=outer_wrapper.data("effect"),l=outer_wrapper.data("space"),o=outer_wrapper.data("loop");o="yes"==o;var c=outer_wrapper.data("slides-per-view"),f=outer_wrapper.data("slides-per-group"),p=outer_wrapper.data("ptype"),m=outer_wrapper.data("navigation"),u=outer_wrapper.data("clickable"),g=outer_wrapper.data("keyboard"),v=outer_wrapper.data("scrollbar");adata={direction:t,effect:s,spaceBetween:l.desktop,loop:o,speed:n,slidesPerView:c.desktop,slidesPerGroup:f.desktop,observer:!0,mousewheel:{invert:!0},breakpoints:{1024:{spaceBetween:l.tablet,slidesPerView:c.tablet,slidesPerGroup:f.tablet},767:{spaceBetween:l.mobile,slidesPerView:c.mobile,slidesPerGroup:f.mobile}}},"fade"==s&&(adata.fadeEffect={crossFade:!1}),adata.autoplay="yes"==d&&{delay:r,disableOnInteraction:!1},"yes"==m&&(adata.navigation={nextEl:".swiper-button-next",prevEl:".swiper-button-prev"}),""!=p&&(adata.pagination={el:".swiper-pagination",type:p}),"bullets"==p&&"yes"==u&&(adata.pagination={el:".swiper-pagination",clickable:!0,type:p}),"yes"==v&&(adata.scrollbar={el:".swiper-scrollbar",draggable:!0}),"yes"==g&&(adata.keyboard={enabled:!0,onlyInViewport:!0}),0==o&&(adata.autoplay={delay:r,stopOnLastSlide:!0,disableOnInteraction:!1}),window.mswiper=new Swiper(".elementor-element-"+wid+" .eae-swiper-outer-wrapper .swiper-container",adata),a(".elementor-element-"+wid+" .eae-swiper-outer-wrapper .swiper-container").css("visibility","visible")}})),elementorFrontend.hooks.addAction("frontend/element_ready/eae-info-circle.skin1",a),elementorFrontend.hooks.addAction("frontend/element_ready/eae-info-circle.skin2",a),elementorFrontend.hooks.addAction("frontend/element_ready/eae-info-circle.skin3",a),elementorFrontend.hooks.addAction("frontend/element_ready/eae-info-circle.skin4",a),elementorFrontend.hooks.addAction("frontend/element_ready/eae-timeline.skin1",i),elementorFrontend.hooks.addAction("frontend/element_ready/eae-timeline.skin2",i),elementorFrontend.hooks.addAction("frontend/element_ready/eae-timeline.skin3",i),elementorFrontend.hooks.addAction("frontend/element_ready/eae-timeline.skin4",i),elementorFrontend.hooks.addAction("frontend/element_ready/eae-evergreen-timer.skin1",(function(e,a){var i=e.find(".eae-evergreen-wrapper").data("egtime"),d=e.find(".eae-evergreen-wrapper").data("egt-expire"),r=e.find(".eae-evergreen-wrapper").data("element-type"),s="eae-"+e.find(".eae-evergreen-wrapper").data("id"),l="eae-temp-"+e.find(".eae-evergreen-wrapper").data("id"),o=e.find(".eae-evergreen-wrapper").data("actions"),c=e.find(".eae-evergreen-wrapper").data("unqid"),f=(new Date).getTime();if(!e.hasClass("elementor-element-edit-mode"))if("countdown"===r){u=new Date(i),i=u.getTime();var p="expires="+u.toUTCString();document.cookie=l+"="+u.getTime()+";"+p+";path=/"}else{var m=n(s),u="";if(""!==m){(u=new Date(parseInt(m))).setSeconds(u.getSeconds()+e.find(".eae-evergreen-wrapper").data("egtime")),i=u.getTime();var g=new Date(parseInt(m));g.setTime(g.getTime()+60*d*60*1e3);var v="expires="+g.toUTCString();document.cookie=s+"="+m+";"+v+";path=/";var h=new Date(parseInt(m));h.setTime(h.getTime()+1e3*e.find(".eae-evergreen-wrapper").data("egtime"));p="expires="+h.toUTCString();i-f>0&&(document.cookie=l+"="+m+";"+p+";path=/")}else{temp_date=i,(u=new Date).setSeconds(u.getSeconds()+e.find(".eae-evergreen-wrapper").data("egtime")),i=u.getTime(),t(s,(new Date).getTime(),d);var w=new Date;w.setTime(w.getTime()+1e3*temp_date);var y="expires="+w.toUTCString();document.cookie=l+"="+(new Date).getTime()+";"+y+";path=/"}}if(!e.hasClass("elementor-element-edit-mode")&&i-f<0)return o.length>0&&o.forEach((function(i){"redirect"===i&&($url=e.find(".eae-evergreen-wrapper").data("redirected-url"),""!==a.trim($url)&&(window.location.href=$url1)),"hide"===i&&(e.hasClass("elementor-element-edit-mode")||(e.find("#eaeclockdiv").css("display","none"),e.find(".egt-title").css("display","none"))),"message"===i&&e.find(".eae-egt-message").css("display","block"),"hide_parent"===i&&(e.hasClass("elementor-element-edit-mode")||($p_secs=e.closest("section"),$p_secs.css("display","none")))})),days="00",hours="00",minutes="00",seconds="00",e.find("."+c).find("#eaedivDays").html(days),e.find("."+c).find("#eaedivHours").html(hours.slice(-2)),e.find("."+c).find("#eaedivMinutes").html(minutes.slice(-2)),void e.find("."+c).find("#eaedivSeconds").html(seconds.slice(-2));e.hasClass("elementor-element-edit-mode")&&("countdown"===r?(u=new Date(i),i=u.getTime()):((u=new Date).setSeconds(u.getSeconds()+e.find(".eae-evergreen-wrapper").data("egtime")),i=u.getTime()));var k=setInterval((function(){var t=(new Date).getTime(),n=i-t,d=0,r=0,s=0,l=0;n>0?(d=Math.floor(n/864e5),r="0"+Math.floor(n%864e5/36e5),s="0"+Math.floor(n%36e5/6e4),l="0"+Math.floor(n%6e4/1e3)):(o.length>0&&(e.hasClass("elementor-element-edit-mode")||o.forEach((function(i){"redirect"===i&&($url1=e.find(".eae-evergreen-wrapper").data("redirected-url"),""!==a.trim($url1)&&(window.location.href=$url1)),"hide"===i&&(e.find("#eaeclockdiv").css("display","none"),e.find(".egt-title").css("display","none")),"message"===i&&e.find(".eae-egt-message").css("display","block"),"hide_parent"===i&&(e.hasClass("elementor-element-edit-mode")||($p_secs=e.closest("section"),$p_secs.css("display","none")))}))),clearInterval(k),d="0",r="00",s="00",l="00"),d<10&&(d="0"+d),e.find("."+c).find("#eaedivDays").html(d),e.find("."+c).find("#eaedivHours").html(r.slice(-2)),e.find("."+c).find("#eaedivMinutes").html(s.slice(-2)),e.find("."+c).find("#eaedivSeconds").html(l.slice(-2))}),1e3)})),elementorFrontend.hooks.addAction("frontend/element_ready/eae-evergreen-timer.skin2",(function(e,a){var i=e.find(".eae-evergreen-wrapper").data("egtime"),d=e.find(".eae-evergreen-wrapper").data("egt-expire"),r=e.find(".eae-evergreen-wrapper").data("element-type"),s="eae-"+e.find(".eae-evergreen-wrapper").data("id"),l="eae-temp-"+e.find(".eae-evergreen-wrapper").data("id"),o=e.find(".eae-evergreen-wrapper").data("actions"),c=e.find(".eae-evergreen-wrapper").data("unqid"),f=(new Date).getTime();if(!e.hasClass("elementor-element-edit-mode"))if("countdown"===r){u=new Date(i),i=u.getTime();var p="expires="+u.toUTCString();document.cookie=l+"="+u.getTime()+";"+p+";path=/"}else{var m=n(s),u="";if(""!==m){(u=new Date(parseInt(m))).setSeconds(u.getSeconds()+e.find(".eae-evergreen-wrapper").data("egtime")),i=u.getTime();var g=new Date(parseInt(m));g.setTime(g.getTime()+60*d*60*1e3);var v="expires="+g.toUTCString();document.cookie=s+"="+m+";"+v+";path=/";var h=new Date(parseInt(m));h.setTime(h.getTime()+1e3*e.find(".eae-evergreen-wrapper").data("egtime"));p="expires="+h.toUTCString();i-f>0&&(document.cookie=l+"="+m+";"+p+";path=/")}else{temp_date=i,(u=new Date).setSeconds(u.getSeconds()+e.find(".eae-evergreen-wrapper").data("egtime")),i=u.getTime(),t(s,(new Date).getTime(),d);var w=new Date;w.setTime(w.getTime()+1e3*temp_date);var y="expires="+w.toUTCString();document.cookie=l+"="+(new Date).getTime()+";"+y+";path=/"}}if(!e.hasClass("elementor-element-edit-mode")&&i-f<0)return void(o.length>0&&o.forEach((function(i){"redirect"===i&&($url=e.find(".eae-evergreen-wrapper").data("redirected-url"),""!==a.trim($url)&&(window.location.href=$url)),"hide"===i&&(e.find("."+c).find(".timer-container").css("display","none"),e.find("."+c).find(".egt-title").css("display","none")),"message"===i&&e.find("."+c).find(".eae-egt-message").css("display","block"),"hide_parent"===i&&(e.hasClass("elementor-element-edit-mode")||($p_secs=e.closest("section"),$p_secs.css("display","none")))})));e.hasClass("elementor-element-edit-mode")&&("countdown"===r?(u=new Date(i),i=u.getTime()):((u=new Date).setSeconds(u.getSeconds()+e.find(".eae-evergreen-wrapper").data("egtime")),i=u.getTime()));var k=setInterval((function(){var t=(new Date).getTime(),n=i-t,d=Math.floor(n/864e5),r=Math.floor(n%864e5/36e5),s=Math.floor(n%36e5/6e4),l=Math.floor(n%6e4/1e3);if(e.find("."+c).find("#eaeulSec1").find(".flip-clock-active").removeClass("flip-clock-active"),e.find("."+c).find("#eaeulSec1").find(".flip-clock-before").removeClass("flip-clock-before"),e.find("."+c).find("#eaeulSec").find(".flip-clock-active").removeClass("flip-clock-active"),e.find("."+c).find("#eaeulSec").find(".flip-clock-before").removeClass("flip-clock-before"),n<0)return clearInterval(k),void(o.length>0&&o.forEach((function(i){"redirect"===i&&(e.hasClass("elementor-element-edit-mode")||($url1=e.find(".eae-evergreen-wrapper").data("redirected-url"),""!==a.trim($url1)&&(window.location.href=$url1))),"hide"===i&&(e.hasClass("elementor-element-edit-mode")||(e.find("."+c).find(".timer-container").css("display","none"),e.find("."+c).find(".egt-title").css("display","none"))),"message"===i&&(e.hasClass("elementor-element-edit-mode")||e.find("."+c).find(".eae-egt-message").css("display","block")),"hide_parent"===i&&(e.hasClass("elementor-element-edit-mode")||($p_secs=e.closest("section"),$p_secs.css("display","none")))})));if(2===a.trim(l).length){var f="#eaeulSec1 li:eq( "+a.trim(l).charAt(1)+" )",p="#eaeulSec li:eq( "+a.trim(l).charAt(0)+" )";e.find("."+c).find(f).next().length>0?(e.find("."+c).find(f).addClass("flip-clock-active"),e.find("."+c).find(f).next().addClass("flip-clock-before")):(e.find("."+c).find("#eaeulSec1 li:last-child").addClass("flip-clock-active"),e.find("."+c).find("#eaeulSec1 li:first-child").addClass("flip-clock-before")),e.find("."+c).find(p).next().length>0?(e.find("."+c).find(p).addClass("flip-clock-active"),e.find("."+c).find(p).next().addClass("flip-clock-before")):(e.find("."+c).find("#eaeulSec li:last-child").addClass("flip-clock-active"),e.find("."+c).find("#eaeulSec li:first-child").addClass("flip-clock-before"))}else{f="#eaeulSec1 li:eq( "+a.trim(l).charAt(0)+" )",p="#eaeulSec li:eq( 0 )";e.find("."+c).find(f).next().length>0?(e.find("."+c).find(f).addClass("flip-clock-active"),e.find("."+c).find(f).next().addClass("flip-clock-before")):(e.find("."+c).find("#eaeulSec1 li:last-child").addClass("flip-clock-active"),e.find("."+c).find("#eaeulSec1 li:first-child").addClass("flip-clock-before")),e.find("."+c).find(p).next().length>0?(e.find("."+c).find(p).addClass("flip-clock-active"),e.find("."+c).find(p).next().addClass("flip-clock-before")):(e.find("."+c).find("#eaeulSec li:last-child").addClass("flip-clock-active"),e.find("."+c).find("#eaeulSec li:first-child").addClass("flip-clock-before"))}if(e.find("."+c).find("#eaeulMin1").find(".flip-clock-active").removeClass("flip-clock-active"),e.find("."+c).find("#eaeulMin1").find(".flip-clock-before").removeClass("flip-clock-before"),e.find("."+c).find("#eaeulMin").find(".flip-clock-active").removeClass("flip-clock-active"),e.find("."+c).find("#eaeulMin").find(".flip-clock-before").removeClass("flip-clock-before"),2==a.trim(s).length){f="#eaeulMin1 li:eq( "+a.trim(s).charAt(1)+" )",p="#eaeulMin li:eq( "+a.trim(s).charAt(0)+" )";e.find("."+c).find(f).next().length>0?(e.find("."+c).find(f).addClass("flip-clock-active"),e.find("."+c).find(f).next().addClass("flip-clock-before")):(e.find("."+c).find("#eaeulMin1 li:last-child").addClass("flip-clock-active"),e.find("."+c).find("#eaeulMin1 li:first-child").addClass("flip-clock-before")),e.find("."+c).find(p).next().length>0?(e.find("."+c).find(p).addClass("flip-clock-active"),e.find("."+c).find(p).next().addClass("flip-clock-before")):(e.find("."+c).find("#eaeulMin li:last-child").addClass("flip-clock-active"),e.find("."+c).find("#eaeulMin li:first-child").addClass("flip-clock-before"))}else{f="#eaeulMin1 li:eq( "+a.trim(s).charAt(0)+" )",p="#eaeulMin li:eq( 0 )";e.find("."+c).find(f).next().length>0?(e.find("."+c).find(f).addClass("flip-clock-active"),e.find("."+c).find(f).next().addClass("flip-clock-before")):(e.find("."+c).find("#eaeulMin1 li:last-child").addClass("flip-clock-active"),e.find("."+c).find("#eaeulMin1 li:first-child").addClass("flip-clock-before")),e.find("."+c).find(p).next().length>0?(e.find("."+c).find(p).addClass("flip-clock-active"),e.find("."+c).find(p).next().addClass("flip-clock-before")):(e.find("."+c).find("#eaeulMin li:last-child").addClass("flip-clock-active"),e.find("."+c).find("#eaeulMin li:first-child").addClass("flip-clock-before"))}if(e.find("."+c).find("#eaeulHour1").find(".flip-clock-active").removeClass("flip-clock-active"),e.find("."+c).find("#eaeulHour1").find(".flip-clock-before").removeClass("flip-clock-before"),e.find("."+c).find("#eaeulHour").find(".flip-clock-active").removeClass("flip-clock-active"),e.find("."+c).find("#eaeulHour").find(".flip-clock-before").removeClass("flip-clock-before"),2==a.trim(r).length){f="#eaeulHour1 li:eq( "+a.trim(r).charAt(1)+" )",p="#eaeulHour li:eq( "+a.trim(r).charAt(0)+" )";e.find("."+c).find(f).next().length>0?(e.find("."+c).find(f).addClass("flip-clock-active"),e.find("."+c).find(f).next().addClass("flip-clock-before")):(e.find("."+c).find("#eaeulHour1 li:last-child").addClass("flip-clock-active"),e.find("."+c).find("#eaeulHour1 li:first-child").addClass("flip-clock-before")),e.find("."+c).find(p).next().length>0?(e.find("."+c).find(p).addClass("flip-clock-active"),e.find("."+c).find(p).next().addClass("flip-clock-before")):(e.find("."+c).find("#eaeulHour li:last-child").addClass("flip-clock-active"),e.find("."+c).find("#eaeulHour li:first-child").addClass("flip-clock-before"))}else{f="#eaeulHour1 li:eq( "+a.trim(r).charAt(0)+" )",p="#eaeulHour li:eq( 0 )";e.find("."+c).find(f).next().length>0?(e.find("."+c).find(f).addClass("flip-clock-active"),e.find("."+c).find(f).next().addClass("flip-clock-before")):(e.find("."+c).find("#eaeulHour1 li:last-child").addClass("flip-clock-active"),e.find("."+c).find("#eaeulHour li:first-child").addClass("flip-clock-before")),e.find("."+c).find(p).next().length>0?(e.find("."+c).find(p).addClass("flip-clock-active"),e.find("."+c).find(p).next().addClass("flip-clock-before")):(e.find("."+c).find("#eaeulHour li:last-child").addClass("flip-clock-active"),e.find("."+c).find("#eaeulHour li:first-child").addClass("flip-clock-before"))}if(e.find("."+c).find("#eaeulDay1").find(".flip-clock-active").removeClass("flip-clock-active"),e.find("."+c).find("#eaeulDay1").find(".flip-clock-before").removeClass("flip-clock-before"),e.find("."+c).find("#eaeulDay").find(".flip-clock-active").removeClass("flip-clock-active"),e.find("."+c).find("#eaeulDay").find(".flip-clock-before").removeClass("flip-clock-before"),2==a.trim(d).length){f="#eaeulDay1 li:eq( "+a.trim(d).charAt(1)+" )",p="#eaeulDay li:eq( "+a.trim(d).charAt(0)+" )";e.find("."+c).find(f).next().length>0?(e.find("."+c).find(f).addClass("flip-clock-active"),e.find("."+c).find(f).next().addClass("flip-clock-before")):(e.find("."+c).find("#eaeulDay1 li:last-child").addClass("flip-clock-active"),e.find("."+c).find("#eaeulDay1 li:first-child").addClass("flip-clock-before")),e.find("."+c).find(p).next().length>0?(e.find("."+c).find(p).addClass("flip-clock-active"),e.find("."+c).find(p).next().addClass("flip-clock-before")):(e.find("."+c).find("#eaeulDay li:last-child").addClass("flip-clock-active"),e.find("."+c).find("#eaeulDay li:first-child").addClass("flip-clock-before"))}else{f="#eaeulDay1 li:eq( "+a.trim(d).charAt(0)+" )",p="#eaeulDay li:eq( 0 )";e.find("."+c).find(f).next().length>0?(e.find("."+c).find(f).addClass("flip-clock-active"),e.find("."+c).find(f).next().addClass("flip-clock-before")):(e.find("."+c).find("#eaeulDay1 li:last-child").addClass("flip-clock-active"),e.find("."+c).find("#eaeulDay li:first-child").addClass("flip-clock-before")),e.find("."+c).find(p).next().length>0?(e.find("."+c).find(p).addClass("flip-clock-active"),e.find("."+c).find(p).next().addClass("flip-clock-before")):(e.find("."+c).find("#eaeulDay li:last-child").addClass("flip-clock-active"),e.find("."+c).find("#eaeulDay li:first-child").addClass("flip-clock-before"))}}),1e3)})),elementorFrontend.hooks.addAction("frontend/element_ready/eae-evergreen-timer.skin3",(function(e,a){var i,d=e.find(".eae-evergreen-wrapper").data("egtime"),r=e.find(".eae-evergreen-wrapper").data("egt-expire"),s=e.find(".eae-evergreen-wrapper").data("element-type"),l="eae-"+e.find(".eae-evergreen-wrapper").data("id"),o="eae-temp-"+e.find(".eae-evergreen-wrapper").data("id"),c=e.find(".eae-evergreen-wrapper").data("actions"),f=e.find(".eae-evergreen-wrapper").data("days"),p=e.find(".eae-evergreen-wrapper").data("hours"),m=e.find(".eae-evergreen-wrapper").data("mins"),u=e.find(".eae-evergreen-wrapper").data("seconds"),g=e.find(".eae-evergreen-wrapper").data("unqid"),v=(new Date).getTime();if(!e.hasClass("elementor-element-edit-mode"))if("countdown"===s){y=new Date(d),d=y.getTime();var h="expires="+y.toUTCString();document.cookie=o+"="+y.getTime()+";"+h+";path=/"}else{var w=n(l),y="";if(""!==w){(y=new Date(parseInt(w))).setSeconds(y.getSeconds()+e.find(".eae-evergreen-wrapper").data("egtime")),d=y.getTime();var k=new Date(parseInt(w));k.setTime(k.getTime()+60*r*60*1e3);var b="expires="+k.toUTCString();document.cookie=l+"="+w+";"+b+";path=/";var C=new Date(parseInt(w));C.setTime(C.getTime()+1e3*e.find(".eae-evergreen-wrapper").data("egtime"));h="expires="+C.toUTCString();d-v>0&&(document.cookie=o+"="+w+";"+h+";path=/")}else{temp_date=d,(y=new Date).setSeconds(y.getSeconds()+e.find(".eae-evergreen-wrapper").data("egtime")),d=y.getTime(),t(l,(new Date).getTime(),r);var _=new Date;_.setTime(_.getTime()+1e3*temp_date);var T="expires="+_.toUTCString();document.cookie=o+"="+(new Date).getTime()+";"+T+";path=/"}}if(!e.hasClass("elementor-element-edit-mode")){var x=D(d);if(parseInt(x.all)<1){if(c.length>0&&(c.forEach((function(a){"redirect"===a&&(e.hasClass("elementor-element-edit-mode")||($url=e.find(".eae-evergreen-wrapper").data("redirected-url"),""!==$url&&(window.location.href=$url))),"hide_parent"===a&&(e.hasClass("elementor-element-edit-mode")||($p_secs=e.closest("section"),$p_secs.css("display","none"))),"hide"===a&&(e.find("#timer").css("display","none"),e.find(".egt-title").css("display","none"),e.find(".desc").css("display","none")),"message"===a&&e.find(".eae-egt-message").css("display","block")})),1===c.length&&(""===c[0]||"message"===c[0]))){var $=e.find("."+g).find("#timer")[0];"yes"===f&&($.innerHTML="<span class='egt-time eae-time-wrapper'><div>00</div></span>"),"yes"===p&&("yes"===f?a($).append("<span class='egt-time eae-time-wrapper'><div>00</div></span>"):$.innerHTML="<span class='egt-time eae-time-wrapper'><div>00</div></span>"),"yes"===m&&("yes"===f||"yes"===p?a($).append("<span class='egt-time eae-time-wrapper'><div>00</div></span>"):$.innerHTML="<span class='egt-time eae-time-wrapper'><div>00</div></span>"),"yes"===u&&("yes"===f||"yes"===p||"yes"===m?a($).append("<span class='egt-time eae-time-wrapper'><div>00</div></span>"):$.innerHTML="<span class='egt-time eae-time-wrapper'><div>00</div></span>")}return}}function D(e){var a=d-new Date;return{days:Math.floor(a/864e5),hours:"0"+Math.floor(a/36e5%24),minutes:"0"+Math.floor(a/6e4%60),seconds:"0"+Math.floor(a/1e3%60),all:a}}function S(e){e.classList.add("fade"),setTimeout((function(){e.classList.remove("fade")}),700)}e.hasClass("elementor-element-edit-mode")&&("countdown"===s?(y=new Date(d),d=y.getTime()):((y=new Date).setSeconds(y.getSeconds()+e.find(".eae-evergreen-wrapper").data("egtime")),d=y.getTime())),D(d).all>1&&(i=setInterval((function(){var t=e.find("."+g).find("#timer")[0],n=D(d);"yes"===f&&(n.days<10&&(n.days="0"+n.days),t.innerHTML="<span class='egt-time eae-time-wrapper'><div>"+n.days+"</div></span>"),"yes"===p&&("yes"===f?a(t).append("<span class='egt-time eae-time-wrapper'><div>"+n.hours.slice(-2)+"</div></span>"):t.innerHTML="<span class='egt-time eae-time-wrapper'><div>"+n.hours.slice(-2)+"</div></span>"),"yes"===m&&("yes"===f||"yes"===p?a(t).append("<span class='egt-time eae-time-wrapper'><div>"+n.minutes.slice(-2)+"</div></span>"):t.innerHTML="<span class='egt-time eae-time-wrapper'><div>"+n.minutes.slice(-2)+"</div></span>"),"yes"===u&&("yes"===f||"yes"===p||"yes"===m?a(t).append("<span class='egt-time eae-time-wrapper'><div>"+n.seconds.slice(-2)+"</div></span>"):t.innerHTML="<span class='egt-time eae-time-wrapper'><div>"+n.seconds.slice(-2)+"</div></span>");var r=t.getElementsByTagName("span");"yes"===f&&59==n.hours&&59==n.minutes&&59==n.seconds&&S(r[0]),"yes"===p&&("yes"===f?59==n.minutes&&59==n.seconds&&S(r[1]):59==n.minutes&&59==n.seconds&&S(r[0])),"yes"===m&&("yes"===f?"yes"===p?59==n.seconds&&S(r[2]):59==n.seconds&&S(r[1]):"yes"===p?59==n.seconds&&S(r[1]):59==n.seconds&&S(r[0])),"yes"===u&&("yes"===f?"yes"===p?"yes"===m&&S(r[3]):S("yes"===m?r[2]:r[1]):"yes"===p?"yes"===m&&S(r[2]):S("yes"===m?r[1]:r[0])),n.all<=1&&(clearInterval(i),"yes"===f&&(t.innerHTML="<span class='egt-time eae-time-wrapper'><div>00</div></span>"),"yes"===p&&("yes"===f?a(t).append("<span class='egt-time eae-time-wrapper'><div>00</div></span>"):t.innerHTML="<span class='egt-time eae-time-wrapper'><div>00</div></span>"),"yes"===m&&("yes"===f||"yes"===p?a(t).append("<span class='egt-time eae-time-wrapper'><div>00</div></span>"):t.innerHTML="<span class='egt-time eae-time-wrapper'><div>00</div></span>"),"yes"===u&&("yes"===f||"yes"===p||"yes"===m?a(t).append("<span class='egt-time eae-time-wrapper'><div>00</div></span>"):t.innerHTML="<span class='egt-time eae-time-wrapper'><div>00</div></span>"),e.hasClass("elementor-element-edit-mode")||c.length>0&&c.forEach((function(a){"redirect"===a&&($url1=e.find(".eae-evergreen-wrapper").data("redirected-url"),""!==$url1&&(window.location.href=$url1)),"hide"===a&&(e.find("#timer").css("display","none"),e.find(".egt-title").css("display","none"),e.find(".desc").css("display","none")),"message"===a&&e.find(".eae-egt-message").css("display","block"),"hide_parent"===a&&($p_secs=e.closest("section"),$p_secs.css("display","none"))})))}),1e3))})),elementorFrontend.hooks.addAction("frontend/element_ready/eae-comparisontable.default",(function(e,a){a(e.find(".eae-ct-heading")[0]).addClass("active"),e.find("ul").on("click","li",(function(){var i=a(this).index()+2;e.find("tr").find("td:not(:eq(0))").hide(),e.find("td:nth-child("+i+")").css("display","table-cell"),e.find("tr").find("th:not(:eq(0))").hide(),e.find("li").removeClass("active"),a(this).addClass("active")}));var i=window.matchMedia("(min-width: 767px)");function t(a){a.matches?e.find(".sep").attr("colspan",5):e.find(".sep").attr("colspan",2)}i.addListener(t),t(i)})),elementorFrontend.hooks.addAction("frontend/element_ready/eae-progress-bar.skin1",d),elementorFrontend.hooks.addAction("frontend/element_ready/eae-progress-bar.skin2",d),elementorFrontend.hooks.addAction("frontend/element_ready/eae-progress-bar.skin3",d),elementorFrontend.hooks.addAction("frontend/element_ready/eae-progress-bar.skin4",d),elementorFrontend.hooks.addAction("frontend/element_ready/eae-progress-bar.skin5",d),elementorFrontend.hooks.addAction("frontend/element_ready/eae-filterableGallery.default",(function(e,a){var i=e.find(".eae-fg-wrapper"),t=e.data("id"),n=i.attr("data-maxtilt"),d=i.attr("data-perspective"),r=i.attr("data-speed"),s=i.attr("data-tilt-axis"),l=i.attr("data-glare"),o=parseInt(i.attr("data-overlay-speed"));if(s="x"===s?"y":"y"===s?"x":"both","yes"===l)var c=i.attr("data-max-glare");l="yes"===l;var f=a(".elementor-element-"+t+" .eae-fg-image"),p=i.hasClass("masonry-yes")?"masonry":"fitRows";adata={percentPosition:!0,animationOptions:{duration:750,easing:"linear",queue:!1}},"fitRows"===p&&(adata.layoutMode="fitRows"),"masonry"===p&&(adata.masonry={columnWidth:".eae-gallery-item",horizontalOrder:!0}),e.hasClass("eae-show-all-yes")||(e.find(".eae-gallery-filter a").first().addClass("current"),adata.filter=e.find(".eae-gallery-filter a").first().attr("data-filter"));var m=f.isotope(adata);m.imagesLoaded().progress((function(){m.isotope("layout")})),e.find(".eae-tilt-yes")&&(atilt={maxTilt:n,perspective:d,easing:"linear",scale:1,speed:r,disableAxis:s,transition:!0,reset:!0,glare:l,maxGlare:c},e.find(".el-tilt").tilt(atilt)),a(".elementor-element-"+t+" .eae-gallery-filter a").on("click",(function(){e.find(".eae-gallery-filter .current").removeClass("current"),a(this).addClass("current");var i=a(this).attr("data-filter");adata.filter=i;var t=f.isotope(adata);return t.imagesLoaded().progress((function(){if(t.isotope("layout"),isEditMode)return!1;e.find(".eae-tilt-yes")&&(e.find(".el-tilt").tilt(atilt),e.find(".el-tilt").tilt.reset.call(e.find(".el-tilt")))})),!1})),i.hasClass("eae-hover-direction-effect")||e.find(".eae-gallery-item-inner").hover((function(){a(this).find(".eae-grid-overlay").addClass("animated")})),i.hasClass("eae-hover-direction-effect")&&(e.find(".eae-gallery-item-inner").hover((function(){a(this).find(".eae-grid-overlay").addClass("overlay")})),i.find(".eae-gallery-item-inner").EAEHoverDirection({speed:o}))})),elementorFrontend.hooks.addAction("frontend/element_ready/global",(function(e,a){isEditMode||e.data("wts-url")&&"yes"==e.data("wts-link")&&e.on("click",(function(a){e.data("wts-url")&&"yes"==e.data("wts-new-window")?window.open(e.data("wts-url")):location.href=e.data("wts-url")}))}))}))}(jQuery);
|
1 |
+
jQuery(window).on("elementor/frontend/init",(function(){elementorFrontend.hooks.addAction("frontend/element_ready/wts-gmap.default",(function(e){map=function(a){$wrapper=e.find(".eae-markers");var i=$wrapper.data("zoom"),t=a.find(".marker"),n=$wrapper.data("style"),d=($wrapper.data("scroll"),{zoom:i,center:new google.maps.LatLng(0,0),mapTypeId:google.maps.MapTypeId.ROADMAP,styles:n}),r=new google.maps.Map(a[0],d);return r.markers=[],t.each((function(){!function(a,i){var t=$wrapper.data("animate");$wrapper.data("show-info-window-onload");$wrapper=e.find(".eae-markers");var n=new google.maps.LatLng(a.attr("data-lat"),a.attr("data-lng"));if(icon_img=a.attr("data-icon"),""!=icon_img)var d={url:a.attr("data-icon"),scaledSize:new google.maps.Size(a.attr("data-icon-size"),a.attr("data-icon-size"))};var r=new google.maps.Marker({position:n,map:i,icon:d,animation:google.maps.Animation.DROP});"animate-yes"==t&&"yes"!=a.data("info-window")&&r.setAnimation(google.maps.Animation.BOUNCE);"animate-yes"==t&&google.maps.event.addListener(r,"click",(function(){r.setAnimation(null)}));if(i.markers.push(r),a.html()){var s=new google.maps.InfoWindow({content:a.html()});"yes"==a.data("info-window")&&s.open(i,r),google.maps.event.addListener(r,"click",(function(){s.open(i,r)}))}"animate-yes"==t&&google.maps.event.addListener(s,"closeclick",(function(){r.setAnimation(google.maps.Animation.BOUNCE)}))}(jQuery(this),r)})),function(e,a){var i=new google.maps.LatLngBounds;jQuery.each(e.markers,(function(e,a){var t=new google.maps.LatLng(a.position.lat(),a.position.lng());i.extend(t)})),1==e.markers.length?(e.setCenter(i.getCenter()),e.setZoom(a)):e.fitBounds(i)}(r,i),r}(e.find(".eae-markers"))})),elementorFrontend.hooks.addAction("frontend/element_ready/global",(function(e){var a,i,t,n,d,r,s,l=[],o=[],c=e.children(".eae-section-bs").children(".eae-section-bs-inner");c&&c.data("eae-bg-slider")&&(slider_images=c.data("eae-bg-slider"),a=c.data("eae-bg-slider-transition"),i=c.data("eae-bg-slider-animation"),n=("yes"==(t=c.data("eae-bg-custom-overlay"))||c.data("eae-bg-slider-overlay"),eae_editor.plugin_url+"assets/lib/vegas/overlays/"+c.data("eae-bg-slider-overlay")),d=c.data("eae-bg-slider-cover"),r=c.data("eae-bs-slider-delay"),s=c.data("eae-bs-slider-timer"),"undefined"!=typeof slider_images&&(l=slider_images.split(","),jQuery.each(l,(function(e,a){var i=[];i.src=a,o.push(i)})),c.vegas({slides:o,transition:a,animation:i,overlay:n,cover:d,delay:r,timer:s,init:function(){"yes"==t&&c.children(".vegas-overlay").css("background-image","")}})))}))}));var isEditMode=!1,breakpoints=eae.breakpoints;!function(e){e(window).on("elementor/frontend/init",(function(){var a=function(e,a){function i(e){$icons=a(document).find(e).find(".eae-ic-icon-wrap"),window.innerWidth<767?$icons.each((function(e,i){a(i).css("top",a(i).height()/2+8+"px"),a(i).next(".eae-info-circle-item__content-wrap").css("padding-top",a(i).height()/2+8+"px")})):$icons.each((function(e,i){a(i).css("margin-left",-.5*a(i).outerWidth()),a(i).css("margin-top",-.5*a(i).outerHeight()),$a=function(e){return e=(e-90)*Math.PI/180,{x:50+45*Math.cos(e),y:50+45*Math.sin(e)}}($angle),$b=360/$icons.length,a(i).css("left",$a.x+"%"),a(i).css("top",$a.y+"%"),$angle+=$b}))}$wrap_class=".elementor-element-"+e.data("id"),$angle=0,i(e);var t=null;function n(){"yes"==e.find(".eae-info-circle").data("autoplay")&&(t=setInterval(d,$autoplayDuration))}function d(){e.find(".eae-active").next().length>0?e.find(".eae-active").next().addClass("eae-active").siblings().removeClass("eae-active"):e.find(".eae-info-circle-item").eq(0).addClass("eae-active").siblings().removeClass("eae-active")}$autoplayDuration=e.find(".eae-info-circle").data("delay"),n(),e.find(".eae-ic-icon-wrap").hover((function(){clearInterval(t)}),(function(){n()})),e.find(".eae-info-circle-item").length>0&&a(e.find(".eae-info-circle-item")[0]).addClass("eae-active"),e.find(".eae-ic-icon-wrap").on("click",(function(){e.find(".eae-info-circle-item").removeClass("eae-active"),a(this).parent().addClass("eae-active")})),e.hasClass("eae-mouseenter-yes")&&e.find(".eae-ic-icon-wrap").on("mouseenter",(function(){e.find(".eae-info-circle-item").removeClass("eae-active"),a(this).parent().addClass("eae-active")})),window.addEventListener("resize",i.bind(this,$wrap_class))},i=function(e,a){function i(){var i=e.find(".eae-timline-progress-bar"),t=e.find(".eae-timeline-item"),n=e.find(".eae-timeline");const d=n.data("top-offset");var r=a(n).height(),s=a(t).last().find(".eae-tl-icon-wrapper").offset().top-a(t[0]).parent().offset().top,l=e.find(".eae-tl-icon-wrapper");a(i).css("top",a(t[0]).find(".eae-tl-icon-wrapper").offset().top-a(t[0]).parent().offset().top),a(i).css("bottom",r-s),a(i).css("left",l.eq(0)[0].offsetLeft+l.eq(0).width()/2),a(i).css("display","block"),t.each((function(e,i){new Waypoint({element:a(i),handler:function(e){"down"==e?a(i).addClass("eae-tl-item-focused"):a(i).removeClass("eae-tl-item-focused")},offset:d})}))}i(),window.addEventListener("resize",i),window.addEventListener("scroll",(function(){e.find(".eae-timline-progress-bar");const i=e.find(".eae-timeline").data("top-offset");e.find(".eae-pb-inner-line").css("height",a(window).scrollTop()-e.find(".eae-timeline").offset().top+i),e.find(".eae-pb-inner-line").css("max-height",e.find(".eae-pb-inner-line").parent().height())}))};function t(e,a,i){var t=new Date;t.setTime(t.getTime()+60*i*60*1e3);var n="expires="+t.toUTCString();document.cookie=e+"="+a+";"+n+";path=/"}function n(e){for(var a=e+"=",i=decodeURIComponent(document.cookie).split(";"),t=0;t<i.length;t++){for(var n=i[t];" "==n.charAt(0);)n=n.substring(1);if(0==n.indexOf(a))return n.substring(a.length,n.length)}return""}var d=function(e,a){$is_rtl=jQuery("body").hasClass("rtl"),$wrapper=e.find(".eae-progress-bar");$wrapper.attr("data-skill");var i=$wrapper.attr("data-value"),t=$wrapper.attr("data-skin"),n=$wrapper.find(".eae-pb-bar-skill"),d=$wrapper.find(".eae-pb-bar-value"),r=$wrapper.find(".eae-pb-bar"),s=$wrapper.find(".eae-pb-bar-inner");"skin1"===t&&a(s).attr("style","width : "+i+"%"),"skin2"===t&&a(s).attr("style","width : "+i+"%"),"skin3"===t&&(a(d).addClass("eae-pb-bar-value--aligned-value"),$is_rtl?a(d).attr("style","right :"+i+"%"):a(d).attr("style","left :"+i+"%"),a(s).attr("style","width :"+i+"%")),"skin4"===t&&(a(d).addClass("eae-pb-bar-value--aligned-value"),$is_rtl?a(d).attr("style","right :"+i+"%"):a(d).attr("style","left :"+i+"%"),a(s).attr("style","width :"+i+"%"),a(r).addClass("eae-pb-bar--no-overflow")),"skin5"===t&&(a(d).addClass("eae-pb-bar-value--aligned-value"),$is_rtl?a(d).attr("style","right :"+i+"%"):a(d).attr("style","left :"+i+"%"),a(s).attr("style","width :"+i+"%")),$wrapper.each((function(e,i){new Waypoint({element:i,skill_value:a(i).find(".eae-pb-bar-skill"),valueElem:a(i).find(".eae-pb-bar-value"),prgBar:a(i).find(".eae-pb-bar-bar"),prgInner:a(i).find(".eae-pb-bar-inner"),handler:function(e){"down"==e&&(a(d).hasClass("js-animated")||a(d).addClass("js-animated"),a(s).hasClass("js-animated")||a(s).addClass("js-animated"),a(n).hasClass("js-animated")||a(n).addClass("js-animated"))},offset:"bottom-in-view"})}))};e.fn.EAEHoverDirection=function(a){var i=e.extend({inaccuracy:30,speed:200},a);this.find(".overlay").css({top:-9999999}),this.mouseenter((function(a){container=e(this),overlay=container.find(".overlay"),parentOffset=container.offset(),relX=a.pageX-parentOffset.left,relY=a.pageY-parentOffset.top,overlay.css({top:0,left:0,width:container.width(),height:container.height()}),relX>container.width()-i.inaccuracy?overlay.css({top:0,left:container.width()}):relX<i.inaccuracy?overlay.css({top:0,left:-container.width()}):relY>container.height()-i.inaccuracy?overlay.css({top:container.width(),left:0}):relY<i.inaccuracy&&overlay.css({top:-container.width(),left:0}),overlay.animate({top:0,left:0},i.speed)})),this.mouseleave((function(a){container=e(this),overlay=container.find(".overlay"),parentOffset=container.offset(),relX=a.pageX-parentOffset.left,relY=a.pageY-parentOffset.top,relX<=0&&overlay.animate({top:0,left:-container.width()},i.speed),relX>=container.width()&&overlay.animate({top:0,left:container.width()},i.speed),relY<=0&&overlay.animate({left:0,top:-container.height()},i.speed),relY>=container.height()&&overlay.animate({left:0,top:container.height()},i.speed)}))},elementorFrontend.hooks.addAction("frontend/element_ready/wts-ab-image.default",(function(e,a){e.find(".eae-img-comp-container").imagesLoaded().done((function(){ab_style=e.find(".eae-img-comp-container").data("ab-style"),slider_pos=e.find(".eae-img-comp-container").data("slider-pos"),"horizontal"===ab_style?(separator_width=parseInt(e.find(".eae-img-comp-overlay").css("border-right-width")),function(e){var a,i;a=e.find(".eae-img-comp-overlay"),i=(i=a.width())*slider_pos/100,function(a){var t,n,d,r=0;function s(e){e.preventDefault(),r=1,window.addEventListener("mousemove",o),t.addEventListener("touchmove",c)}function l(){r=0}function o(e){var i;if(0==r)return!1;(i=function(e){var i;return e=e||window.event,i=a.getBoundingClientRect(),e.pageX-i.left}(e))<0&&(i=0),i>n&&(i=n),f(i)}function c(e){var i;if(0==r)return!1;(i=function(e){var i;return i=a.getBoundingClientRect(),e.changedTouches[0].clientX-i.left}(e))<0&&(i=0),i>n&&(i=n),f(i)}function f(e){a.style.width=e+"px",t.style.left=a.offsetWidth-t.offsetWidth/2-separator_width/2+"px"}n=a.offsetWidth,d=a.offsetHeight,a.style.width=i+"px",(t=(t=e.find(".eae-img-comp-slider"))[0]).style.top=d/2-t.offsetHeight/2+"px",t.style.left=i-t.offsetWidth/2-separator_width/2+"px",e.hasClass("elementor-element-edit-mode")||(t.addEventListener("mousedown",s),window.addEventListener("mouseup",l),t.addEventListener("touchstart",s),window.addEventListener("touchstop",l))}(a[0])}(e)):(separator_width=parseInt(e.find(".eae-img-comp-overlay").css("border-bottom-width")),function(e){var a;a=e.find(".eae-img-comp-overlay"),start_pos=a.height(),start_pos=start_pos*slider_pos/100,function(a){var i,t,n,d=0;function r(e){e.preventDefault(),d=1,window.addEventListener("mousemove",l),i.addEventListener("touchmove",o)}function s(){d=0}function l(e){var i;if(0==d)return!1;(i=function(e){var i,t=0;return e=e||window.event,i=a.getBoundingClientRect(),t=e.pageY-i.top,t-=window.pageYOffset}(e))<0&&(i=0),i>n&&(i=n),c(i)}function o(e){var i;if(0==d)return!1;(i=function(e){var i;return i=a.getBoundingClientRect(),e.changedTouches[0].clientY-i.top}(e))<0&&(i=0),i>n&&(i=n),c(i)}function c(e){a.style.height=e+"px",i.style.top=a.offsetHeight-i.offsetHeight/2-separator_width/2+"px"}t=a.offsetWidth,n=a.offsetHeight,a.style.height=start_pos+"px",(i=(i=e.find(".eae-img-comp-slider"))[0]).style.top=start_pos-i.offsetHeight/2-separator_width/2+"px",i.style.left=t/2-i.offsetWidth/2+"px",e.hasClass("elementor-element-edit-mode")||(i.addEventListener("mousedown",r),window.addEventListener("mouseup",s),i.addEventListener("touchstart",r),window.addEventListener("touchstop",s))}(a[0])}(e))}))})),elementorFrontend.hooks.addAction("frontend/element_ready/global",(function(e,a){e.hasClass("eae-particle-yes")&&(id=e.data("id"),element_type=e.data("element_type"),pdata=e.data("eae-particle"),pdata_wrapper=e.find(".eae-particle-wrapper").data("eae-pdata"),"undefined"!=typeof pdata&&""!=pdata?e.find(".eae-section-bs").length>0?(e.find(".eae-section-bs").after('<div class="eae-particle-wrapper" id="eae-particle-'+id+'"></div>'),particlesJS("eae-particle-"+id,pdata)):("column"==element_type?e.prepend('<div class="eae-particle-wrapper" id="eae-particle-'+id+'"></div>'):e.prepend('<div class="eae-particle-wrapper " id="eae-particle-'+id+'"></div>'),particlesJS("eae-particle-"+id,pdata)):"undefined"!=typeof pdata_wrapper&&""!=pdata_wrapper&&(element_type,e.prepend('<div class="eae-particle-wrapper eae-particle-area" id="eae-particle-'+id+'"></div>'),particlesJS("eae-particle-"+id,JSON.parse(pdata_wrapper))))})),elementorFrontend.hooks.addAction("frontend/element_ready/global",(function(e,a){if(e.hasClass("eae-animated-gradient-yes")){id=e.data("id"),color=e.data("color"),angle=e.data("angle");var i="linear-gradient("+angle+","+color+")";heading=e.find(".elementor-heading-title"),e.css("background-image",i),e.hasClass("elementor-element-edit-mode")&&(color=e.find(".animated-gradient").data("color"),angle=e.find(".animated-gradient").data("angle"),gradient_color_editor="linear-gradient("+angle+","+color+")",e.prepend('<div class="animated-gradient" style="background-image : '+gradient_color_editor+' "></div>'))}})),elementorFrontend.hooks.addAction("frontend/element_ready/wts-modal-popup.default",(function(e,a){$preview_modal=e.find(".eae-popup-wrapper").data("preview-modal"),$close_btn_type=e.find(".eae-popup-wrapper").data("close-button-type"),$close_btn=e.find(".eae-popup-wrapper").data("close-btn"),"icon"==$close_btn_type?$close_btn_html='<i class="eae-close '+$close_btn+'"> </i>':$close_btn_html='<svg class="eae-close" style="-webkit-mask: url('+$close_btn+"); mask: url("+$close_btn+'); "></svg>',$magnific=e.find(".eae-popup-link").eaePopup({type:"inline",disableOn:0,key:null,midClick:!1,mainClass:"eae-popup eae-popup-"+e.find(".eae-popup-link").data("id")+" eae-wrap-"+e.find(".eae-popup-link").data("ctrl-id"),preloader:!0,focus:"",closeOnContentClick:!1,closeOnBgClick:!0,closeBtnInside:e.find(".eae-popup-wrapper").data("close-in-out"),showCloseBtn:!0,enableEscapeKey:!1,modal:!1,alignTop:!1,removalDelay:0,prependTo:null,fixedContentPos:"auto",fixedBgPos:"auto",overflowY:"auto",closeMarkup:$close_btn_html,tClose:"Close (Esc)",tLoading:"Loading...",autoFocusLast:!0}),"yes"==$preview_modal&&e.hasClass("elementor-element-edit-mode")&&e.find(".eae-popup-link").click()})),elementorFrontend.hooks.addAction("frontend/element_ready/wts-testimonial-slider.default",(function(e,a){if(e.find(".eae-grid-wrapper").hasClass("eae-masonry-yes")){var i=e.find(".eae-grid").masonry({});i.imagesLoaded().progress((function(){i.masonry("layout")}))}if(e.find(".eae-layout-carousel").length){outer_wrapper=e.find(".eae-swiper-outer-wrapper"),wid=e.data("id"),wclass=".elementor-element-"+wid;var t=outer_wrapper.data("direction"),n=outer_wrapper.data("speed"),d=outer_wrapper.data("autoplay"),r=outer_wrapper.data("duration"),s=outer_wrapper.data("effect"),l=outer_wrapper.data("space"),o=outer_wrapper.data("loop");o="yes"==o;var c=outer_wrapper.data("slides-per-view"),f=outer_wrapper.data("slides-per-group"),p=outer_wrapper.data("ptype"),m=outer_wrapper.data("navigation"),u=outer_wrapper.data("clickable"),g=outer_wrapper.data("keyboard"),v=outer_wrapper.data("scrollbar");adata={direction:t,effect:s,spaceBetween:l.desktop,loop:o,speed:n,slidesPerView:c.desktop,slidesPerGroup:f.desktop,observer:!0,mousewheel:{invert:!0},breakpoints:{1024:{spaceBetween:l.tablet,slidesPerView:c.tablet,slidesPerGroup:f.tablet},767:{spaceBetween:l.mobile,slidesPerView:c.mobile,slidesPerGroup:f.mobile}}},"fade"==s&&(adata.fadeEffect={crossFade:!1}),adata.autoplay="yes"==d&&{delay:r,disableOnInteraction:!1},"yes"==m&&(adata.navigation={nextEl:".swiper-button-next",prevEl:".swiper-button-prev"}),""!=p&&(adata.pagination={el:".swiper-pagination",type:p}),"bullets"==p&&"yes"==u&&(adata.pagination={el:".swiper-pagination",clickable:!0,type:p}),"yes"==v&&(adata.scrollbar={el:".swiper-scrollbar",draggable:!0}),"yes"==g&&(adata.keyboard={enabled:!0,onlyInViewport:!0}),0==o&&(adata.autoplay={delay:r,stopOnLastSlide:!0,disableOnInteraction:!1}),window.mswiper=new Swiper(".elementor-element-"+wid+" .eae-swiper-outer-wrapper .swiper-container",adata),a(".elementor-element-"+wid+" .eae-swiper-outer-wrapper .swiper-container").css("visibility","visible")}})),elementorFrontend.hooks.addAction("frontend/element_ready/eae-info-circle.skin1",a),elementorFrontend.hooks.addAction("frontend/element_ready/eae-info-circle.skin2",a),elementorFrontend.hooks.addAction("frontend/element_ready/eae-info-circle.skin3",a),elementorFrontend.hooks.addAction("frontend/element_ready/eae-info-circle.skin4",a),elementorFrontend.hooks.addAction("frontend/element_ready/eae-timeline.skin1",i),elementorFrontend.hooks.addAction("frontend/element_ready/eae-timeline.skin2",i),elementorFrontend.hooks.addAction("frontend/element_ready/eae-timeline.skin3",i),elementorFrontend.hooks.addAction("frontend/element_ready/eae-timeline.skin4",i),elementorFrontend.hooks.addAction("frontend/element_ready/eae-evergreen-timer.skin1",(function(e,a){var i=e.find(".eae-evergreen-wrapper").data("egtime"),d=e.find(".eae-evergreen-wrapper").data("egt-expire"),r=e.find(".eae-evergreen-wrapper").data("element-type"),s="eae-"+e.find(".eae-evergreen-wrapper").data("id"),l="eae-temp-"+e.find(".eae-evergreen-wrapper").data("id"),o=e.find(".eae-evergreen-wrapper").data("actions"),c=e.find(".eae-evergreen-wrapper").data("unqid"),f=(new Date).getTime();if(!e.hasClass("elementor-element-edit-mode"))if("countdown"===r){u=new Date(i),i=u.getTime();var p="expires="+u.toUTCString();document.cookie=l+"="+u.getTime()+";"+p+";path=/"}else{var m=n(s),u="";if(""!==m){(u=new Date(parseInt(m))).setSeconds(u.getSeconds()+e.find(".eae-evergreen-wrapper").data("egtime")),i=u.getTime();var g=new Date(parseInt(m));g.setTime(g.getTime()+60*d*60*1e3);var v="expires="+g.toUTCString();document.cookie=s+"="+m+";"+v+";path=/";var h=new Date(parseInt(m));h.setTime(h.getTime()+1e3*e.find(".eae-evergreen-wrapper").data("egtime"));p="expires="+h.toUTCString();i-f>0&&(document.cookie=l+"="+m+";"+p+";path=/")}else{temp_date=i,(u=new Date).setSeconds(u.getSeconds()+e.find(".eae-evergreen-wrapper").data("egtime")),i=u.getTime(),t(s,(new Date).getTime(),d);var w=new Date;w.setTime(w.getTime()+1e3*temp_date);var y="expires="+w.toUTCString();document.cookie=l+"="+(new Date).getTime()+";"+y+";path=/"}}if(!e.hasClass("elementor-element-edit-mode")&&i-f<0)return o.length>0&&o.forEach((function(i){"redirect"===i&&($url=e.find(".eae-evergreen-wrapper").data("redirected-url"),""!==a.trim($url)&&(window.location.href=$url1)),"hide"===i&&(e.hasClass("elementor-element-edit-mode")||(e.find("#eaeclockdiv").css("display","none"),e.find(".egt-title").css("display","none"))),"message"===i&&e.find(".eae-egt-message").css("display","block"),"hide_parent"===i&&(e.hasClass("elementor-element-edit-mode")||($p_secs=e.closest("section"),$p_secs.css("display","none")))})),days="00",hours="00",minutes="00",seconds="00",e.find("."+c).find("#eaedivDays").html(days),e.find("."+c).find("#eaedivHours").html(hours.slice(-2)),e.find("."+c).find("#eaedivMinutes").html(minutes.slice(-2)),void e.find("."+c).find("#eaedivSeconds").html(seconds.slice(-2));e.hasClass("elementor-element-edit-mode")&&("countdown"===r?(u=new Date(i),i=u.getTime()):((u=new Date).setSeconds(u.getSeconds()+e.find(".eae-evergreen-wrapper").data("egtime")),i=u.getTime()));var k=setInterval((function(){var t=(new Date).getTime(),n=i-t,d=0,r=0,s=0,l=0;n>0?(d=Math.floor(n/864e5),r="0"+Math.floor(n%864e5/36e5),s="0"+Math.floor(n%36e5/6e4),l="0"+Math.floor(n%6e4/1e3)):(o.length>0&&(e.hasClass("elementor-element-edit-mode")||o.forEach((function(i){"redirect"===i&&($url1=e.find(".eae-evergreen-wrapper").data("redirected-url"),""!==a.trim($url1)&&(window.location.href=$url1)),"hide"===i&&(e.find("#eaeclockdiv").css("display","none"),e.find(".egt-title").css("display","none")),"message"===i&&e.find(".eae-egt-message").css("display","block"),"hide_parent"===i&&(e.hasClass("elementor-element-edit-mode")||($p_secs=e.closest("section"),$p_secs.css("display","none")))}))),clearInterval(k),d="0",r="00",s="00",l="00"),d<10&&(d="0"+d),e.find("."+c).find("#eaedivDays").html(d),e.find("."+c).find("#eaedivHours").html(r.slice(-2)),e.find("."+c).find("#eaedivMinutes").html(s.slice(-2)),e.find("."+c).find("#eaedivSeconds").html(l.slice(-2))}),1e3)})),elementorFrontend.hooks.addAction("frontend/element_ready/eae-evergreen-timer.skin2",(function(e,a){var i=e.find(".eae-evergreen-wrapper").data("egtime"),d=e.find(".eae-evergreen-wrapper").data("egt-expire"),r=e.find(".eae-evergreen-wrapper").data("element-type"),s="eae-"+e.find(".eae-evergreen-wrapper").data("id"),l="eae-temp-"+e.find(".eae-evergreen-wrapper").data("id"),o=e.find(".eae-evergreen-wrapper").data("actions"),c=e.find(".eae-evergreen-wrapper").data("unqid"),f=(new Date).getTime();if(!e.hasClass("elementor-element-edit-mode"))if("countdown"===r){u=new Date(i),i=u.getTime();var p="expires="+u.toUTCString();document.cookie=l+"="+u.getTime()+";"+p+";path=/"}else{var m=n(s),u="";if(""!==m){(u=new Date(parseInt(m))).setSeconds(u.getSeconds()+e.find(".eae-evergreen-wrapper").data("egtime")),i=u.getTime();var g=new Date(parseInt(m));g.setTime(g.getTime()+60*d*60*1e3);var v="expires="+g.toUTCString();document.cookie=s+"="+m+";"+v+";path=/";var h=new Date(parseInt(m));h.setTime(h.getTime()+1e3*e.find(".eae-evergreen-wrapper").data("egtime"));p="expires="+h.toUTCString();i-f>0&&(document.cookie=l+"="+m+";"+p+";path=/")}else{temp_date=i,(u=new Date).setSeconds(u.getSeconds()+e.find(".eae-evergreen-wrapper").data("egtime")),i=u.getTime(),t(s,(new Date).getTime(),d);var w=new Date;w.setTime(w.getTime()+1e3*temp_date);var y="expires="+w.toUTCString();document.cookie=l+"="+(new Date).getTime()+";"+y+";path=/"}}if(!e.hasClass("elementor-element-edit-mode")&&i-f<0)return void(o.length>0&&o.forEach((function(i){"redirect"===i&&($url=e.find(".eae-evergreen-wrapper").data("redirected-url"),""!==a.trim($url)&&(window.location.href=$url)),"hide"===i&&(e.find("."+c).find(".timer-container").css("display","none"),e.find("."+c).find(".egt-title").css("display","none")),"message"===i&&e.find("."+c).find(".eae-egt-message").css("display","block"),"hide_parent"===i&&(e.hasClass("elementor-element-edit-mode")||($p_secs=e.closest("section"),$p_secs.css("display","none")))})));e.hasClass("elementor-element-edit-mode")&&("countdown"===r?(u=new Date(i),i=u.getTime()):((u=new Date).setSeconds(u.getSeconds()+e.find(".eae-evergreen-wrapper").data("egtime")),i=u.getTime()));var k=setInterval((function(){var t=(new Date).getTime(),n=i-t,d=Math.floor(n/864e5),r=Math.floor(n%864e5/36e5),s=Math.floor(n%36e5/6e4),l=Math.floor(n%6e4/1e3);if(e.find("."+c).find("#eaeulSec1").find(".flip-clock-active").removeClass("flip-clock-active"),e.find("."+c).find("#eaeulSec1").find(".flip-clock-before").removeClass("flip-clock-before"),e.find("."+c).find("#eaeulSec").find(".flip-clock-active").removeClass("flip-clock-active"),e.find("."+c).find("#eaeulSec").find(".flip-clock-before").removeClass("flip-clock-before"),n<0)return clearInterval(k),void(o.length>0&&o.forEach((function(i){"redirect"===i&&(e.hasClass("elementor-element-edit-mode")||($url1=e.find(".eae-evergreen-wrapper").data("redirected-url"),""!==a.trim($url1)&&(window.location.href=$url1))),"hide"===i&&(e.hasClass("elementor-element-edit-mode")||(e.find("."+c).find(".timer-container").css("display","none"),e.find("."+c).find(".egt-title").css("display","none"))),"message"===i&&(e.hasClass("elementor-element-edit-mode")||e.find("."+c).find(".eae-egt-message").css("display","block")),"hide_parent"===i&&(e.hasClass("elementor-element-edit-mode")||($p_secs=e.closest("section"),$p_secs.css("display","none")))})));if(2===a.trim(l).length){var f="#eaeulSec1 li:eq( "+a.trim(l).charAt(1)+" )",p="#eaeulSec li:eq( "+a.trim(l).charAt(0)+" )";e.find("."+c).find(f).next().length>0?(e.find("."+c).find(f).addClass("flip-clock-active"),e.find("."+c).find(f).next().addClass("flip-clock-before")):(e.find("."+c).find("#eaeulSec1 li:last-child").addClass("flip-clock-active"),e.find("."+c).find("#eaeulSec1 li:first-child").addClass("flip-clock-before")),e.find("."+c).find(p).next().length>0?(e.find("."+c).find(p).addClass("flip-clock-active"),e.find("."+c).find(p).next().addClass("flip-clock-before")):(e.find("."+c).find("#eaeulSec li:last-child").addClass("flip-clock-active"),e.find("."+c).find("#eaeulSec li:first-child").addClass("flip-clock-before"))}else{f="#eaeulSec1 li:eq( "+a.trim(l).charAt(0)+" )",p="#eaeulSec li:eq( 0 )";e.find("."+c).find(f).next().length>0?(e.find("."+c).find(f).addClass("flip-clock-active"),e.find("."+c).find(f).next().addClass("flip-clock-before")):(e.find("."+c).find("#eaeulSec1 li:last-child").addClass("flip-clock-active"),e.find("."+c).find("#eaeulSec1 li:first-child").addClass("flip-clock-before")),e.find("."+c).find(p).next().length>0?(e.find("."+c).find(p).addClass("flip-clock-active"),e.find("."+c).find(p).next().addClass("flip-clock-before")):(e.find("."+c).find("#eaeulSec li:last-child").addClass("flip-clock-active"),e.find("."+c).find("#eaeulSec li:first-child").addClass("flip-clock-before"))}if(e.find("."+c).find("#eaeulMin1").find(".flip-clock-active").removeClass("flip-clock-active"),e.find("."+c).find("#eaeulMin1").find(".flip-clock-before").removeClass("flip-clock-before"),e.find("."+c).find("#eaeulMin").find(".flip-clock-active").removeClass("flip-clock-active"),e.find("."+c).find("#eaeulMin").find(".flip-clock-before").removeClass("flip-clock-before"),2==a.trim(s).length){f="#eaeulMin1 li:eq( "+a.trim(s).charAt(1)+" )",p="#eaeulMin li:eq( "+a.trim(s).charAt(0)+" )";e.find("."+c).find(f).next().length>0?(e.find("."+c).find(f).addClass("flip-clock-active"),e.find("."+c).find(f).next().addClass("flip-clock-before")):(e.find("."+c).find("#eaeulMin1 li:last-child").addClass("flip-clock-active"),e.find("."+c).find("#eaeulMin1 li:first-child").addClass("flip-clock-before")),e.find("."+c).find(p).next().length>0?(e.find("."+c).find(p).addClass("flip-clock-active"),e.find("."+c).find(p).next().addClass("flip-clock-before")):(e.find("."+c).find("#eaeulMin li:last-child").addClass("flip-clock-active"),e.find("."+c).find("#eaeulMin li:first-child").addClass("flip-clock-before"))}else{f="#eaeulMin1 li:eq( "+a.trim(s).charAt(0)+" )",p="#eaeulMin li:eq( 0 )";e.find("."+c).find(f).next().length>0?(e.find("."+c).find(f).addClass("flip-clock-active"),e.find("."+c).find(f).next().addClass("flip-clock-before")):(e.find("."+c).find("#eaeulMin1 li:last-child").addClass("flip-clock-active"),e.find("."+c).find("#eaeulMin1 li:first-child").addClass("flip-clock-before")),e.find("."+c).find(p).next().length>0?(e.find("."+c).find(p).addClass("flip-clock-active"),e.find("."+c).find(p).next().addClass("flip-clock-before")):(e.find("."+c).find("#eaeulMin li:last-child").addClass("flip-clock-active"),e.find("."+c).find("#eaeulMin li:first-child").addClass("flip-clock-before"))}if(e.find("."+c).find("#eaeulHour1").find(".flip-clock-active").removeClass("flip-clock-active"),e.find("."+c).find("#eaeulHour1").find(".flip-clock-before").removeClass("flip-clock-before"),e.find("."+c).find("#eaeulHour").find(".flip-clock-active").removeClass("flip-clock-active"),e.find("."+c).find("#eaeulHour").find(".flip-clock-before").removeClass("flip-clock-before"),2==a.trim(r).length){f="#eaeulHour1 li:eq( "+a.trim(r).charAt(1)+" )",p="#eaeulHour li:eq( "+a.trim(r).charAt(0)+" )";e.find("."+c).find(f).next().length>0?(e.find("."+c).find(f).addClass("flip-clock-active"),e.find("."+c).find(f).next().addClass("flip-clock-before")):(e.find("."+c).find("#eaeulHour1 li:last-child").addClass("flip-clock-active"),e.find("."+c).find("#eaeulHour1 li:first-child").addClass("flip-clock-before")),e.find("."+c).find(p).next().length>0?(e.find("."+c).find(p).addClass("flip-clock-active"),e.find("."+c).find(p).next().addClass("flip-clock-before")):(e.find("."+c).find("#eaeulHour li:last-child").addClass("flip-clock-active"),e.find("."+c).find("#eaeulHour li:first-child").addClass("flip-clock-before"))}else{f="#eaeulHour1 li:eq( "+a.trim(r).charAt(0)+" )",p="#eaeulHour li:eq( 0 )";e.find("."+c).find(f).next().length>0?(e.find("."+c).find(f).addClass("flip-clock-active"),e.find("."+c).find(f).next().addClass("flip-clock-before")):(e.find("."+c).find("#eaeulHour1 li:last-child").addClass("flip-clock-active"),e.find("."+c).find("#eaeulHour li:first-child").addClass("flip-clock-before")),e.find("."+c).find(p).next().length>0?(e.find("."+c).find(p).addClass("flip-clock-active"),e.find("."+c).find(p).next().addClass("flip-clock-before")):(e.find("."+c).find("#eaeulHour li:last-child").addClass("flip-clock-active"),e.find("."+c).find("#eaeulHour li:first-child").addClass("flip-clock-before"))}if(e.find("."+c).find("#eaeulDay1").find(".flip-clock-active").removeClass("flip-clock-active"),e.find("."+c).find("#eaeulDay1").find(".flip-clock-before").removeClass("flip-clock-before"),e.find("."+c).find("#eaeulDay").find(".flip-clock-active").removeClass("flip-clock-active"),e.find("."+c).find("#eaeulDay").find(".flip-clock-before").removeClass("flip-clock-before"),2==a.trim(d).length){f="#eaeulDay1 li:eq( "+a.trim(d).charAt(1)+" )",p="#eaeulDay li:eq( "+a.trim(d).charAt(0)+" )";e.find("."+c).find(f).next().length>0?(e.find("."+c).find(f).addClass("flip-clock-active"),e.find("."+c).find(f).next().addClass("flip-clock-before")):(e.find("."+c).find("#eaeulDay1 li:last-child").addClass("flip-clock-active"),e.find("."+c).find("#eaeulDay1 li:first-child").addClass("flip-clock-before")),e.find("."+c).find(p).next().length>0?(e.find("."+c).find(p).addClass("flip-clock-active"),e.find("."+c).find(p).next().addClass("flip-clock-before")):(e.find("."+c).find("#eaeulDay li:last-child").addClass("flip-clock-active"),e.find("."+c).find("#eaeulDay li:first-child").addClass("flip-clock-before"))}else{f="#eaeulDay1 li:eq( "+a.trim(d).charAt(0)+" )",p="#eaeulDay li:eq( 0 )";e.find("."+c).find(f).next().length>0?(e.find("."+c).find(f).addClass("flip-clock-active"),e.find("."+c).find(f).next().addClass("flip-clock-before")):(e.find("."+c).find("#eaeulDay1 li:last-child").addClass("flip-clock-active"),e.find("."+c).find("#eaeulDay li:first-child").addClass("flip-clock-before")),e.find("."+c).find(p).next().length>0?(e.find("."+c).find(p).addClass("flip-clock-active"),e.find("."+c).find(p).next().addClass("flip-clock-before")):(e.find("."+c).find("#eaeulDay li:last-child").addClass("flip-clock-active"),e.find("."+c).find("#eaeulDay li:first-child").addClass("flip-clock-before"))}}),1e3)})),elementorFrontend.hooks.addAction("frontend/element_ready/eae-evergreen-timer.skin3",(function(e,a){var i,d=e.find(".eae-evergreen-wrapper").data("egtime"),r=e.find(".eae-evergreen-wrapper").data("egt-expire"),s=e.find(".eae-evergreen-wrapper").data("element-type"),l="eae-"+e.find(".eae-evergreen-wrapper").data("id"),o="eae-temp-"+e.find(".eae-evergreen-wrapper").data("id"),c=e.find(".eae-evergreen-wrapper").data("actions"),f=e.find(".eae-evergreen-wrapper").data("days"),p=e.find(".eae-evergreen-wrapper").data("hours"),m=e.find(".eae-evergreen-wrapper").data("mins"),u=e.find(".eae-evergreen-wrapper").data("seconds"),g=e.find(".eae-evergreen-wrapper").data("unqid"),v=(new Date).getTime();if(!e.hasClass("elementor-element-edit-mode"))if("countdown"===s){y=new Date(d),d=y.getTime();var h="expires="+y.toUTCString();document.cookie=o+"="+y.getTime()+";"+h+";path=/"}else{var w=n(l),y="";if(""!==w){(y=new Date(parseInt(w))).setSeconds(y.getSeconds()+e.find(".eae-evergreen-wrapper").data("egtime")),d=y.getTime();var k=new Date(parseInt(w));k.setTime(k.getTime()+60*r*60*1e3);var b="expires="+k.toUTCString();document.cookie=l+"="+w+";"+b+";path=/";var C=new Date(parseInt(w));C.setTime(C.getTime()+1e3*e.find(".eae-evergreen-wrapper").data("egtime"));h="expires="+C.toUTCString();d-v>0&&(document.cookie=o+"="+w+";"+h+";path=/")}else{temp_date=d,(y=new Date).setSeconds(y.getSeconds()+e.find(".eae-evergreen-wrapper").data("egtime")),d=y.getTime(),t(l,(new Date).getTime(),r);var _=new Date;_.setTime(_.getTime()+1e3*temp_date);var T="expires="+_.toUTCString();document.cookie=o+"="+(new Date).getTime()+";"+T+";path=/"}}if(!e.hasClass("elementor-element-edit-mode")){var x=D(d);if(parseInt(x.all)<1){if(c.length>0&&(c.forEach((function(a){"redirect"===a&&(e.hasClass("elementor-element-edit-mode")||($url=e.find(".eae-evergreen-wrapper").data("redirected-url"),""!==$url&&(window.location.href=$url))),"hide_parent"===a&&(e.hasClass("elementor-element-edit-mode")||($p_secs=e.closest("section"),$p_secs.css("display","none"))),"hide"===a&&(e.find("#timer").css("display","none"),e.find(".egt-title").css("display","none"),e.find(".desc").css("display","none")),"message"===a&&e.find(".eae-egt-message").css("display","block")})),1===c.length&&(""===c[0]||"message"===c[0]))){var $=e.find("."+g).find("#timer")[0];"yes"===f&&($.innerHTML="<span class='egt-time eae-time-wrapper'><div>00</div></span>"),"yes"===p&&("yes"===f?a($).append("<span class='egt-time eae-time-wrapper'><div>00</div></span>"):$.innerHTML="<span class='egt-time eae-time-wrapper'><div>00</div></span>"),"yes"===m&&("yes"===f||"yes"===p?a($).append("<span class='egt-time eae-time-wrapper'><div>00</div></span>"):$.innerHTML="<span class='egt-time eae-time-wrapper'><div>00</div></span>"),"yes"===u&&("yes"===f||"yes"===p||"yes"===m?a($).append("<span class='egt-time eae-time-wrapper'><div>00</div></span>"):$.innerHTML="<span class='egt-time eae-time-wrapper'><div>00</div></span>")}return}}function D(e){var a=d-new Date;return{days:Math.floor(a/864e5),hours:"0"+Math.floor(a/36e5%24),minutes:"0"+Math.floor(a/6e4%60),seconds:"0"+Math.floor(a/1e3%60),all:a}}function S(e){e.classList.add("fade"),setTimeout((function(){e.classList.remove("fade")}),700)}e.hasClass("elementor-element-edit-mode")&&("countdown"===s?(y=new Date(d),d=y.getTime()):((y=new Date).setSeconds(y.getSeconds()+e.find(".eae-evergreen-wrapper").data("egtime")),d=y.getTime())),D(d).all>1&&(i=setInterval((function(){var t=e.find("."+g).find("#timer")[0],n=D(d);"yes"===f&&(n.days<10&&(n.days="0"+n.days),t.innerHTML="<span class='egt-time eae-time-wrapper'><div>"+n.days+"</div></span>"),"yes"===p&&("yes"===f?a(t).append("<span class='egt-time eae-time-wrapper'><div>"+n.hours.slice(-2)+"</div></span>"):t.innerHTML="<span class='egt-time eae-time-wrapper'><div>"+n.hours.slice(-2)+"</div></span>"),"yes"===m&&("yes"===f||"yes"===p?a(t).append("<span class='egt-time eae-time-wrapper'><div>"+n.minutes.slice(-2)+"</div></span>"):t.innerHTML="<span class='egt-time eae-time-wrapper'><div>"+n.minutes.slice(-2)+"</div></span>"),"yes"===u&&("yes"===f||"yes"===p||"yes"===m?a(t).append("<span class='egt-time eae-time-wrapper'><div>"+n.seconds.slice(-2)+"</div></span>"):t.innerHTML="<span class='egt-time eae-time-wrapper'><div>"+n.seconds.slice(-2)+"</div></span>");var r=t.getElementsByTagName("span");"yes"===f&&59==n.hours&&59==n.minutes&&59==n.seconds&&S(r[0]),"yes"===p&&("yes"===f?59==n.minutes&&59==n.seconds&&S(r[1]):59==n.minutes&&59==n.seconds&&S(r[0])),"yes"===m&&("yes"===f?"yes"===p?59==n.seconds&&S(r[2]):59==n.seconds&&S(r[1]):"yes"===p?59==n.seconds&&S(r[1]):59==n.seconds&&S(r[0])),"yes"===u&&("yes"===f?"yes"===p?"yes"===m&&S(r[3]):S("yes"===m?r[2]:r[1]):"yes"===p?"yes"===m&&S(r[2]):S("yes"===m?r[1]:r[0])),n.all<=1&&(clearInterval(i),"yes"===f&&(t.innerHTML="<span class='egt-time eae-time-wrapper'><div>00</div></span>"),"yes"===p&&("yes"===f?a(t).append("<span class='egt-time eae-time-wrapper'><div>00</div></span>"):t.innerHTML="<span class='egt-time eae-time-wrapper'><div>00</div></span>"),"yes"===m&&("yes"===f||"yes"===p?a(t).append("<span class='egt-time eae-time-wrapper'><div>00</div></span>"):t.innerHTML="<span class='egt-time eae-time-wrapper'><div>00</div></span>"),"yes"===u&&("yes"===f||"yes"===p||"yes"===m?a(t).append("<span class='egt-time eae-time-wrapper'><div>00</div></span>"):t.innerHTML="<span class='egt-time eae-time-wrapper'><div>00</div></span>"),e.hasClass("elementor-element-edit-mode")||c.length>0&&c.forEach((function(a){"redirect"===a&&($url1=e.find(".eae-evergreen-wrapper").data("redirected-url"),""!==$url1&&(window.location.href=$url1)),"hide"===a&&(e.find("#timer").css("display","none"),e.find(".egt-title").css("display","none"),e.find(".desc").css("display","none")),"message"===a&&e.find(".eae-egt-message").css("display","block"),"hide_parent"===a&&($p_secs=e.closest("section"),$p_secs.css("display","none"))})))}),1e3))})),elementorFrontend.hooks.addAction("frontend/element_ready/eae-comparisontable.default",(function(e,a){a(e.find(".eae-ct-heading")[0]).addClass("active"),e.find("ul").on("click","li",(function(){var i=a(this).index()+2;e.find("tr").find("td:not(:eq(0))").hide(),e.find("td:nth-child("+i+")").css("display","table-cell"),e.find("tr").find("th:not(:eq(0))").hide(),e.find("li").removeClass("active"),a(this).addClass("active")}));var i=window.matchMedia("(min-width: 767px)");function t(a){a.matches?e.find(".sep").attr("colspan",5):e.find(".sep").attr("colspan",2)}i.addListener(t),t(i)})),elementorFrontend.hooks.addAction("frontend/element_ready/eae-progress-bar.skin1",d),elementorFrontend.hooks.addAction("frontend/element_ready/eae-progress-bar.skin2",d),elementorFrontend.hooks.addAction("frontend/element_ready/eae-progress-bar.skin3",d),elementorFrontend.hooks.addAction("frontend/element_ready/eae-progress-bar.skin4",d),elementorFrontend.hooks.addAction("frontend/element_ready/eae-progress-bar.skin5",d),elementorFrontend.hooks.addAction("frontend/element_ready/eae-filterableGallery.default",(function(e,a){var i=e.find(".eae-fg-wrapper"),t=e.data("id"),n=i.attr("data-maxtilt"),d=i.attr("data-perspective"),r=i.attr("data-speed"),s=i.attr("data-tilt-axis"),l=i.attr("data-glare"),o=parseInt(i.attr("data-overlay-speed"));if(s="x"===s?"y":"y"===s?"x":"both","yes"===l)var c=i.attr("data-max-glare");l="yes"===l;var f=a(".elementor-element-"+t+" .eae-fg-image"),p=i.hasClass("masonry-yes")?"masonry":"fitRows";adata={percentPosition:!0,animationOptions:{duration:750,easing:"linear",queue:!1}},"fitRows"===p&&(adata.layoutMode="fitRows"),"masonry"===p&&(adata.masonry={columnWidth:".eae-gallery-item",horizontalOrder:!0}),e.hasClass("eae-show-all-yes")||(e.find(".eae-gallery-filter a").first().addClass("current"),adata.filter=e.find(".eae-gallery-filter a").first().attr("data-filter"));var m=f.isotope(adata);m.imagesLoaded().progress((function(){m.isotope("layout")})),e.find(".eae-tilt-yes")&&(atilt={maxTilt:n,perspective:d,easing:"linear",scale:1,speed:r,disableAxis:s,transition:!0,reset:!0,glare:l,maxGlare:c},e.find(".el-tilt").tilt(atilt)),a(".elementor-element-"+t+" .eae-gallery-filter a").on("click",(function(){e.find(".eae-gallery-filter .current").removeClass("current"),a(this).addClass("current");var i=a(this).attr("data-filter");adata.filter=i;var t=f.isotope(adata);return t.imagesLoaded().progress((function(){if(t.isotope("layout"),isEditMode)return!1;e.find(".eae-tilt-yes")&&(e.find(".el-tilt").tilt(atilt),e.find(".el-tilt").tilt.reset.call(e.find(".el-tilt")))})),!1})),i.hasClass("eae-hover-direction-effect")||e.find(".eae-gallery-item-inner").hover((function(){a(this).find(".eae-grid-overlay").addClass("animated")})),i.hasClass("eae-hover-direction-effect")&&(e.find(".eae-gallery-item-inner").hover((function(){a(this).find(".eae-grid-overlay").addClass("overlay")})),i.find(".eae-gallery-item-inner").EAEHoverDirection({speed:o}))})),elementorFrontend.hooks.addAction("frontend/element_ready/global",(function(e,a){isEditMode||e.data("wts-url")&&"yes"==e.data("wts-link")&&e.on("click",(function(a){e.data("wts-url")&&"yes"==e.data("wts-new-window")?window.open(e.data("wts-url")):location.href=e.data("wts-url")}))}))}))}(jQuery);
|
elementor-addon-elements.php
CHANGED
@@ -1,45 +1,48 @@
|
|
1 |
<?php
|
|
|
2 |
/**
|
3 |
* Plugin Name: Elementor Addon Elements
|
4 |
* Description: Add new elements to Elementor page builder plugin.
|
5 |
* Plugin URI: https://www.elementoraddons.com/elements-addon-elements/
|
6 |
* Author: WP Vibes
|
7 |
-
* Version: 1.7.
|
8 |
* Author URI: https://wpvibes.com/
|
9 |
*
|
10 |
* Text Domain: wts-eae
|
11 |
* @package WTS_EAE
|
12 |
*/
|
13 |
-
define(
|
14 |
-
define(
|
15 |
-
define(
|
16 |
-
define(
|
17 |
-
define(
|
18 |
|
19 |
|
20 |
-
if (
|
21 |
|
22 |
-
function _is_elementor_installed()
|
|
|
23 |
$file_path = 'elementor/elementor.php';
|
24 |
$installed_plugins = get_plugins();
|
25 |
|
26 |
-
return isset(
|
27 |
}
|
28 |
}
|
29 |
|
30 |
-
if(!function_exists('is_plugin_active')){
|
31 |
-
include_once(
|
32 |
}
|
33 |
-
if (
|
34 |
// Create a helper function for easy SDK access.
|
35 |
-
function wpv_eae()
|
|
|
36 |
|
37 |
global $wpv_eae;
|
38 |
|
39 |
-
if (
|
40 |
// Include Freemius SDK.
|
41 |
require_once dirname(__FILE__) . '/freemius/start.php';
|
42 |
-
$wpv_eae = fs_dynamic_init(
|
43 |
'id' => '4599',
|
44 |
'slug' => 'addon-elements-for-elementor-page-builder',
|
45 |
'type' => 'plugin',
|
@@ -52,7 +55,7 @@ if ( ! function_exists( 'wpv_eae' ) ) {
|
|
52 |
'account' => false,
|
53 |
'contact' => false,
|
54 |
),
|
55 |
-
)
|
56 |
}
|
57 |
|
58 |
return $wpv_eae;
|
@@ -61,18 +64,19 @@ if ( ! function_exists( 'wpv_eae' ) ) {
|
|
61 |
// Init Freemius.
|
62 |
wpv_eae();
|
63 |
// Signal that SDK was initiated.
|
64 |
-
do_action(
|
65 |
}
|
66 |
/**
|
67 |
* Handles plugin activation actions.
|
68 |
*
|
69 |
* @since 1.0
|
70 |
*/
|
71 |
-
function eae_activate()
|
72 |
-
|
|
|
73 |
return;
|
74 |
}
|
75 |
\Elementor\Plugin::$instance->files_manager->clear_cache();
|
76 |
}
|
77 |
-
register_activation_hook(
|
78 |
-
require_once 'inc/bootstrap.php';
|
1 |
<?php
|
2 |
+
|
3 |
/**
|
4 |
* Plugin Name: Elementor Addon Elements
|
5 |
* Description: Add new elements to Elementor page builder plugin.
|
6 |
* Plugin URI: https://www.elementoraddons.com/elements-addon-elements/
|
7 |
* Author: WP Vibes
|
8 |
+
* Version: 1.7.2
|
9 |
* Author URI: https://wpvibes.com/
|
10 |
*
|
11 |
* Text Domain: wts-eae
|
12 |
* @package WTS_EAE
|
13 |
*/
|
14 |
+
define('EAE_FILE', __FILE__);
|
15 |
+
define('EAE_URL', plugins_url('/', __FILE__));
|
16 |
+
define('EAE_PATH', plugin_dir_path(__FILE__));
|
17 |
+
define('EAE_SCRIPT_SUFFIX', defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min');
|
18 |
+
define('EAE_VERSION', '1.7.2');
|
19 |
|
20 |
|
21 |
+
if (!function_exists('_is_elementor_installed')) {
|
22 |
|
23 |
+
function _is_elementor_installed()
|
24 |
+
{
|
25 |
$file_path = 'elementor/elementor.php';
|
26 |
$installed_plugins = get_plugins();
|
27 |
|
28 |
+
return isset($installed_plugins[$file_path]);
|
29 |
}
|
30 |
}
|
31 |
|
32 |
+
if (!function_exists('is_plugin_active')) {
|
33 |
+
include_once(ABSPATH . 'wp-admin/includes/plugin.php');
|
34 |
}
|
35 |
+
if (!function_exists('wpv_eae')) {
|
36 |
// Create a helper function for easy SDK access.
|
37 |
+
function wpv_eae()
|
38 |
+
{
|
39 |
|
40 |
global $wpv_eae;
|
41 |
|
42 |
+
if (!isset($wpv_eae)) {
|
43 |
// Include Freemius SDK.
|
44 |
require_once dirname(__FILE__) . '/freemius/start.php';
|
45 |
+
$wpv_eae = fs_dynamic_init(array(
|
46 |
'id' => '4599',
|
47 |
'slug' => 'addon-elements-for-elementor-page-builder',
|
48 |
'type' => 'plugin',
|
55 |
'account' => false,
|
56 |
'contact' => false,
|
57 |
),
|
58 |
+
));
|
59 |
}
|
60 |
|
61 |
return $wpv_eae;
|
64 |
// Init Freemius.
|
65 |
wpv_eae();
|
66 |
// Signal that SDK was initiated.
|
67 |
+
do_action('wpv_eae_loaded');
|
68 |
}
|
69 |
/**
|
70 |
* Handles plugin activation actions.
|
71 |
*
|
72 |
* @since 1.0
|
73 |
*/
|
74 |
+
function eae_activate()
|
75 |
+
{
|
76 |
+
if (!is_plugin_active('elementor/elementor.php')) {
|
77 |
return;
|
78 |
}
|
79 |
\Elementor\Plugin::$instance->files_manager->clear_cache();
|
80 |
}
|
81 |
+
register_activation_hook(__FILE__, 'eae_activate');
|
82 |
+
require_once 'inc/bootstrap.php';
|
freemius/README.md
CHANGED
@@ -1,69 +1,99 @@
|
|
1 |
Freemius WordPress SDK
|
2 |
======================
|
3 |
|
4 |
-
|
5 |
|
6 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
|
8 |
-
https://
|
|
|
|
|
9 |
|
10 |
-
|
|
|
|
|
|
|
|
|
11 |
|
12 |
https://dashboard.freemius.com/register/
|
13 |
|
14 |
-
|
|
|
|
|
|
|
|
|
|
|
15 |
|
16 |
## Code Documentation
|
17 |
|
18 |
You can find the SDK's documentation here:
|
19 |
https://freemius.com/help/documentation/wordpress-sdk/
|
20 |
|
21 |
-
## Initializing the SDK
|
|
|
|
|
|
|
|
|
22 |
|
23 |
-
|
|
|
|
|
24 |
|
25 |
```php
|
26 |
-
|
27 |
// Create a helper function for easy SDK access.
|
28 |
function my_prefix_fs() {
|
29 |
global $my_prefix_fs;
|
|
|
30 |
if ( ! isset( $my_prefix_fs ) ) {
|
31 |
// Include Freemius SDK.
|
32 |
require_once dirname(__FILE__) . '/freemius/start.php';
|
33 |
-
|
34 |
$my_prefix_fs = fs_dynamic_init( array(
|
35 |
-
'id'
|
36 |
-
'slug'
|
37 |
-
'
|
38 |
-
'
|
39 |
-
'
|
40 |
-
'is_premium'
|
41 |
-
|
42 |
-
'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
// Set the SDK to work in a sandbox mode (for development & testing).
|
44 |
// IMPORTANT: MAKE SURE TO REMOVE SECRET KEY BEFORE DEPLOYMENT.
|
45 |
-
'secret_key'
|
46 |
) );
|
47 |
}
|
48 |
-
|
49 |
return $my_prefix_fs;
|
50 |
}
|
51 |
-
|
52 |
// Init Freemius.
|
53 |
my_prefix_fs();
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
- **1234** - Replace with your plugin's ID.
|
58 |
-
- **pk_MY_PUBLIC_KEY** - Replace with your plugin's public key.
|
59 |
-
- **sk_MY_SECRET_KEY** - Replace with your plugin's secret key.
|
60 |
-
- **my-plugin-slug** - Replace with your plugin's WordPress.org slug.
|
61 |
-
- **my_menu_slug** - Replace with your admin dashboard settings menu slug.
|
62 |
|
|
|
63 |
|
64 |
## Usage example
|
65 |
|
66 |
-
You can call
|
67 |
|
68 |
```php
|
69 |
<?php my_prefix_fs()->get_upgrade_url(); ?>
|
@@ -78,6 +108,8 @@ Or when calling Freemius multiple times in a scope, it's recommended to use it w
|
|
78 |
?>
|
79 |
```
|
80 |
|
|
|
|
|
81 |
## Adding license based logic examples
|
82 |
|
83 |
Add marketing content to encourage your users to upgrade for your paid version:
|
@@ -200,10 +232,10 @@ Add logic for specified paid plan:
|
|
200 |
```
|
201 |
|
202 |
## Excluding files and folders from the free plugin version
|
203 |
-
There are two ways to exclude files from your free version.
|
204 |
|
205 |
-
1. Add `__premium_only` just before the file extension. For example, functions__premium_only.php will be only included in the premium plugin version. This works for all
|
206 |
-
2. Add `@fs_premium_only` a
|
207 |
```php
|
208 |
<?php
|
209 |
/**
|
@@ -227,27 +259,24 @@ There are two ways to exclude files from your free version.
|
|
227 |
// ... my code ...
|
228 |
?>
|
229 |
```
|
230 |
-
|
231 |
|
232 |
# WordPress.org Compliance
|
233 |
Based on [WordPress.org Guidelines](https://wordpress.org/plugins/about/guidelines/) you are not allowed to submit a plugin that has premium code in it:
|
234 |
> All code hosted by WordPress.org servers must be free and fully-functional. If you want to sell advanced features for a plugin (such as a "pro" version), then you must sell and serve that code from your own site, we will not host it on our servers.
|
235 |
|
236 |
-
Therefore, if you want to deploy your free plugin's version to WordPress.org, make sure you wrap all your premium code with `if ( my_prefix_fs()->{{ method }}__premium_only() )` or the other methods provided to exclude premium features & files from the free version.
|
237 |
|
238 |
## Deployment
|
239 |
-
Zip your
|
240 |
-
The plugin will be scanned and processed by a custom
|
241 |
|
242 |
1. **Premium version**: Identical to your uploaded version, including all code (except your `secret_key`). Will be enabled for download ONLY for your paying or in trial customers.
|
243 |
2. **Free version**: The code stripped from all your paid features (based on the logic added wrapped in `{ method }__premium_only()`).
|
244 |
|
245 |
-
The free version is the one that you should give your users to download. Therefore, download the free generated version and upload to your site. Or, if your plugin was WordPress.org
|
246 |
-
|
247 |
-
## Reporting Bugs
|
248 |
-
Email dev [at] freemius [dot] com
|
249 |
|
250 |
-
##
|
|
|
251 |
|
252 |
-
|
253 |
-
Freemius, Inc.
|
1 |
Freemius WordPress SDK
|
2 |
======================
|
3 |
|
4 |
+
Welcome to the official repository for the Freemius SDK! Adding the SDK to your WordPress plugin, theme, or add-ons, enables all the benefits that come with using the [Freemius platform](https://freemius.com) such as:
|
5 |
|
6 |
+
* [Software Licensing](https://freemius.com/wordpress/software-licensing/)
|
7 |
+
* [Secure Checkout](https://freemius.com/wordpress/checkout/)
|
8 |
+
* [Subscriptions](https://freemius.com/wordpress/recurring-payments-subscriptions/)
|
9 |
+
* [Automatic Updates](https://freemius.com/wordpress/automatic-software-updates/)
|
10 |
+
* [Seamless EU VAT](https://freemius.com/wordpress/collecting-eu-vat-europe/)
|
11 |
+
* [Cart Abandonment Recovery](https://freemius.com/wordpress/cart-abandonment-recovery/)
|
12 |
+
* [Affiliate Platform](https://freemius.com/wordpress/affiliate-platform/)
|
13 |
+
* [Analytics & Usage Tracking](https://freemius.com/wordpress/insights/)
|
14 |
+
* [User Dashboard](https://freemius.com/wordpress/user-dashboard/)
|
15 |
|
16 |
+
* [Monetization](https://freemius.com/wordpress/)
|
17 |
+
* [Analytics](https://freemius.com/wordpress/insights/)
|
18 |
+
* [More...](https://freemius.com/wordpress/features-comparison/)
|
19 |
|
20 |
+
Freemius truly empowers developers to create prosperous subscription-based businesses.
|
21 |
+
|
22 |
+
If you're new to Freemius then we recommend taking a look at our [Getting Started](https://freemius.com/help/documentation/getting-started/) guide first.
|
23 |
+
|
24 |
+
If you're a WordPress plugin or theme developer and are interested in monetizing with Freemius then you can [sign-up for a FREE account](https://dashboard.freemius.com/register/):
|
25 |
|
26 |
https://dashboard.freemius.com/register/
|
27 |
|
28 |
+
Once you have your account setup and are familiar with how it all works you're ready to begin [integrating Freemius](https://freemius.com/help/documentation/wordpress-sdk/integrating-freemius-sdk/) into your WordPress product
|
29 |
+
|
30 |
+
You can see some of the existing WordPress.org plugins & themes that are already utilizing the power of Freemius here:
|
31 |
+
|
32 |
+
* https://profiles.wordpress.org/freemius/#content-plugins
|
33 |
+
* https://includewp.com/freemius/#focus
|
34 |
|
35 |
## Code Documentation
|
36 |
|
37 |
You can find the SDK's documentation here:
|
38 |
https://freemius.com/help/documentation/wordpress-sdk/
|
39 |
|
40 |
+
## Integrating & Initializing the SDK
|
41 |
+
|
42 |
+
As part of the integration process, you'll need to [add the latest version](https://freemius.com/help/documentation/getting-started/#add_the_latest_wordpress_sdk_into_your_product) of the Freemius SDK into your WordPress project.
|
43 |
+
|
44 |
+
Then, when you've completed the [SDK integration form](https://freemius.com/help/documentation/getting-started/#fill_out_the_sdk_integration_form) a snippet of code is generated which you'll need to copy and paste into the top of your main plugin's PHP file, right after the plugin's header comment.
|
45 |
|
46 |
+
Note: For themes, this will be in the root `functions.php` file instead.
|
47 |
+
|
48 |
+
A typical SDK snippet will look similar to the following (your particular snippet may differ slightly depending on your integration):
|
49 |
|
50 |
```php
|
51 |
+
if ( ! function_exists( 'my_prefix_fs' ) ) {
|
52 |
// Create a helper function for easy SDK access.
|
53 |
function my_prefix_fs() {
|
54 |
global $my_prefix_fs;
|
55 |
+
|
56 |
if ( ! isset( $my_prefix_fs ) ) {
|
57 |
// Include Freemius SDK.
|
58 |
require_once dirname(__FILE__) . '/freemius/start.php';
|
59 |
+
|
60 |
$my_prefix_fs = fs_dynamic_init( array(
|
61 |
+
'id' => '1234',
|
62 |
+
'slug' => 'my-new-plugin',
|
63 |
+
'premium_slug' => 'my-new-plugin-premium',
|
64 |
+
'type' => 'plugin',
|
65 |
+
'public_key' => 'pk_bAEfta69seKymZzmf2xtqq8QXHz9y',
|
66 |
+
'is_premium' => true,
|
67 |
+
// If your plugin is a serviceware, set this option to false.
|
68 |
+
'has_premium_version' => true,
|
69 |
+
'has_paid_plans' => true,
|
70 |
+
'is_org_compliant' => true,
|
71 |
+
'menu' => array(
|
72 |
+
'slug' => 'my-new-plugin',
|
73 |
+
'parent' => array(
|
74 |
+
'slug' => 'options-general.php',
|
75 |
+
),
|
76 |
+
),
|
77 |
// Set the SDK to work in a sandbox mode (for development & testing).
|
78 |
// IMPORTANT: MAKE SURE TO REMOVE SECRET KEY BEFORE DEPLOYMENT.
|
79 |
+
'secret_key' => 'sk_ubb4yN3mzqGR2x8#P7r5&@*xC$utE',
|
80 |
) );
|
81 |
}
|
82 |
+
|
83 |
return $my_prefix_fs;
|
84 |
}
|
85 |
+
|
86 |
// Init Freemius.
|
87 |
my_prefix_fs();
|
88 |
+
// Signal that SDK was initiated.
|
89 |
+
do_action( 'my_prefix_fs_loaded' );
|
90 |
+
}
|
|
|
|
|
|
|
|
|
|
|
91 |
|
92 |
+
```
|
93 |
|
94 |
## Usage example
|
95 |
|
96 |
+
You can call anySDK methods by prefixing them with the shortcode function for your particular plugin/theme (specified when completing the SDK integration form in the Developer Dashboard):
|
97 |
|
98 |
```php
|
99 |
<?php my_prefix_fs()->get_upgrade_url(); ?>
|
108 |
?>
|
109 |
```
|
110 |
|
111 |
+
There are many other SDK methods available that you can use to enhance the functionality of your WordPress product. Some of the more common use-cases are covered in the [Freemius SDK Gists](https://freemius.com/help/documentation/wordpress-sdk/gists/) documentation.
|
112 |
+
|
113 |
## Adding license based logic examples
|
114 |
|
115 |
Add marketing content to encourage your users to upgrade for your paid version:
|
232 |
```
|
233 |
|
234 |
## Excluding files and folders from the free plugin version
|
235 |
+
There are [two ways](https://freemius.com/help/documentation/wordpress-sdk/software-licensing/#excluding_files_and_folders_from_the_free_plugin_version) to exclude files from your free version.
|
236 |
|
237 |
+
1. Add `__premium_only` just before the file extension. For example, functions__premium_only.php will be only included in the premium plugin version. This works for all types of files, not only PHP.
|
238 |
+
2. Add `@fs_premium_only` a special meta tag to the plugin's main PHP file header. Example:
|
239 |
```php
|
240 |
<?php
|
241 |
/**
|
259 |
// ... my code ...
|
260 |
?>
|
261 |
```
|
262 |
+
In the example plugin header above, the file `/lib/functions.php` and the directory `/premium-files/` will be removed from the free plugin version.
|
263 |
|
264 |
# WordPress.org Compliance
|
265 |
Based on [WordPress.org Guidelines](https://wordpress.org/plugins/about/guidelines/) you are not allowed to submit a plugin that has premium code in it:
|
266 |
> All code hosted by WordPress.org servers must be free and fully-functional. If you want to sell advanced features for a plugin (such as a "pro" version), then you must sell and serve that code from your own site, we will not host it on our servers.
|
267 |
|
268 |
+
Therefore, if you want to deploy your free plugin's version to WordPress.org, make sure you wrap all your premium code with `if ( my_prefix_fs()->{{ method }}__premium_only() )` or use [some of the other methods](https://freemius.com/help/documentation/wordpress-sdk/software-licensing/) provided by the SDK to exclude premium features & files from the free version.
|
269 |
|
270 |
## Deployment
|
271 |
+
Zip your Freemius product’s root folder and [upload it in the Deployment section](https://freemius.com/help/documentation/selling-with-freemius/deployment/) in the *Freemius Developer's Dashboard*.
|
272 |
+
The plugin/theme will automatically be scanned and processed by a custom-developed *PHP Processor* which will auto-generate two versions of your plugin:
|
273 |
|
274 |
1. **Premium version**: Identical to your uploaded version, including all code (except your `secret_key`). Will be enabled for download ONLY for your paying or in trial customers.
|
275 |
2. **Free version**: The code stripped from all your paid features (based on the logic added wrapped in `{ method }__premium_only()`).
|
276 |
|
277 |
+
The free version is the one that you should give your users to download. Therefore, download the free generated version and upload to your site. Or, if your plugin was WordPress.org compliant and you made sure to exclude all your premium code with the different provided techniques, you can deploy the downloaded free version to the .org repo.
|
|
|
|
|
|
|
278 |
|
279 |
+
## License
|
280 |
+
Copyright (c) Freemius®, Inc.
|
281 |
|
282 |
+
Licensed under the GNU general public license (version 3).
|
|
freemius/assets/css/admin/account.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
label.fs-tag,span.fs-tag{background:#ffba00;color:#fff;display:inline-block;border-radius:3px;padding:5px;font-size:11px;line-height:11px;vertical-align:baseline}label.fs-tag.fs-warn,span.fs-tag.fs-warn{background:#ffba00}label.fs-tag.fs-info,span.fs-tag.fs-info{background:#00a0d2}label.fs-tag.fs-success,span.fs-tag.fs-success{background:#46b450}label.fs-tag.fs-error,span.fs-tag.fs-error{background:#dc3232}#fs_account .postbox,#fs_account .widefat{max-width:
|
1 |
+
label.fs-tag,span.fs-tag{background:#ffba00;color:#fff;display:inline-block;border-radius:3px;padding:5px;font-size:11px;line-height:11px;vertical-align:baseline}label.fs-tag.fs-warn,span.fs-tag.fs-warn{background:#ffba00}label.fs-tag.fs-info,span.fs-tag.fs-info{background:#00a0d2}label.fs-tag.fs-success,span.fs-tag.fs-success{background:#46b450}label.fs-tag.fs-error,span.fs-tag.fs-error{background:#dc3232}.fs-notice[data-id="license_not_whitelabeled"].success,.fs-notice[data-id="license_whitelabeled"].success{color:inherit;border-left-color:#00a0d2}.fs-notice[data-id="license_not_whitelabeled"].success label.fs-plugin-title,.fs-notice[data-id="license_whitelabeled"].success label.fs-plugin-title{display:none}#fs_account .postbox,#fs_account .widefat{max-width:800px}#fs_account h3{font-size:1.3em;padding:12px 15px;margin:0 0 12px 0;line-height:1.4;border-bottom:1px solid #F1F1F1}#fs_account h3 .dashicons{width:26px;height:26px;font-size:1.3em}#fs_account i.dashicons{font-size:1.2em;height:1.2em;width:1.2em}#fs_account .dashicons{vertical-align:middle}#fs_account .fs-header-actions{position:absolute;top:17px;right:15px;font-size:0.9em}#fs_account .fs-header-actions ul{margin:0}#fs_account .fs-header-actions li{float:left}#fs_account .fs-header-actions li form{display:inline-block}#fs_account .fs-header-actions li a{text-decoration:none}#fs_account_details .button-group{float:right}.rtl #fs_account .fs-header-actions{left:15px;right:auto}.fs-key-value-table{width:100%}.fs-key-value-table form{display:inline-block}.fs-key-value-table tr td:first-child{text-align:right}.fs-key-value-table tr td:first-child nobr{font-weight:bold}.fs-key-value-table tr td:first-child form{display:block}.fs-key-value-table tr td.fs-right{text-align:right}.fs-key-value-table tr.fs-odd{background:#ebebeb}.fs-key-value-table td,.fs-key-value-table th{padding:10px}.fs-key-value-table code{line-height:28px}.fs-key-value-table var,.fs-key-value-table code,.fs-key-value-table input[type="text"]{color:#0073AA;font-size:16px;background:none}.fs-key-value-table input[type="text"]{width:100%;font-weight:bold}.fs-field-beta_program label{margin-left:7px}label.fs-tag{background:#ffba00;color:#fff;display:inline-block;border-radius:3px;padding:5px;font-size:11px;line-height:11px;vertical-align:baseline}label.fs-tag.fs-warn{background:#ffba00}label.fs-tag.fs-success{background:#46b450}label.fs-tag.fs-error{background:#dc3232}#fs_sites .fs-scrollable-table .fs-table-body{max-height:200px;overflow:auto;border:1px solid #e5e5e5}#fs_sites .fs-scrollable-table .fs-table-body>table.widefat{border:none !important}#fs_sites .fs-scrollable-table .fs-main-column{width:100%}#fs_sites .fs-scrollable-table .fs-site-details td:first-of-type{text-align:right;color:grey;width:1px}#fs_sites .fs-scrollable-table .fs-site-details td:last-of-type{text-align:right}#fs_sites .fs-scrollable-table .fs-install-details table tr td{width:1px;white-space:nowrap}#fs_sites .fs-scrollable-table .fs-install-details table tr td:last-of-type{width:auto}#fs_addons h3{border:none;margin-bottom:0;padding:4px 5px}#fs_addons td{vertical-align:middle}#fs_addons thead{white-space:nowrap}#fs_addons td:first-child,#fs_addons th:first-child{text-align:left;font-weight:bold}#fs_addons td:last-child,#fs_addons th:last-child{text-align:right}#fs_addons th{font-weight:bold}#fs_billing_address{width:100%}#fs_billing_address tr td{width:50%;padding:5px}#fs_billing_address tr:first-of-type td{padding-top:0}#fs_billing_address span{font-weight:bold}#fs_billing_address input,#fs_billing_address select{display:block;width:100%;margin-top:5px}#fs_billing_address input::-moz-placeholder,#fs_billing_address select::-moz-placeholder{color:transparent;opacity:1}#fs_billing_address input:-ms-input-placeholder,#fs_billing_address select:-ms-input-placeholder{color:transparent}#fs_billing_address input::-webkit-input-placeholder,#fs_billing_address select::-webkit-input-placeholder{color:transparent}#fs_billing_address input.fs-read-mode,#fs_billing_address select.fs-read-mode{border-color:transparent;color:#777;border-bottom:1px dashed #ccc;padding-left:0;background:none}#fs_billing_address.fs-read-mode td span{display:none}#fs_billing_address.fs-read-mode input,#fs_billing_address.fs-read-mode select{border-color:transparent;color:#777;border-bottom:1px dashed #ccc;padding-left:0;background:none}#fs_billing_address.fs-read-mode input::-moz-placeholder,#fs_billing_address.fs-read-mode select::-moz-placeholder{color:#ccc;opacity:1}#fs_billing_address.fs-read-mode input:-ms-input-placeholder,#fs_billing_address.fs-read-mode select:-ms-input-placeholder{color:#ccc}#fs_billing_address.fs-read-mode input::-webkit-input-placeholder,#fs_billing_address.fs-read-mode select::-webkit-input-placeholder{color:#ccc}#fs_billing_address button{display:block;width:100%}
|
freemius/assets/css/admin/add-ons.css
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
.fs-badge{position:absolute;top:10px;right:0;background:#71ae00;color:white;text-transform:uppercase;padding:5px 10px;-moz-border-radius:3px 0 0 3px;-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;font-weight:bold;border-right:0;-moz-box-shadow:0 2px 1px -1px rgba(0,0,0,0.3);-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,0.3);box-shadow:0 2px 1px -1px rgba(0,0,0,0.3)}#fs_addons .fs-cards-list{list-style:none}#fs_addons .fs-cards-list .fs-card{float:left;height:152px;width:310px;padding:0;margin:0 0 30px 30px;font-size:14px;list-style:none;border:1px solid #ddd;cursor:pointer;position:relative}#fs_addons .fs-cards-list .fs-card .fs-overlay{position:absolute;left:0;right:0;bottom:0;top:0;z-index:9}#fs_addons .fs-cards-list .fs-card .fs-inner{background-color:#fff;overflow:hidden;height:100%;position:relative}#fs_addons .fs-cards-list .fs-card .fs-inner>ul{-moz-transition:all,0.15s;-o-transition:all,0.15s;-ms-transition:all,0.15s;-webkit-transition:all,0.15s;transition:all,0.15s;left:0;right:0;top:0;position:absolute}#fs_addons .fs-cards-list .fs-card .fs-inner>ul>li{list-style:none;line-height:18px;padding:0 15px;width:100%;display:block;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-card-banner{padding:0;margin:0;line-height:0;display:block;height:100px;background-repeat:repeat-x;background-size:100% 100%;-moz-transition:all,0.15s;-o-transition:all,0.15s;-ms-transition:all,0.15s;-webkit-transition:all,0.15s;transition:all,0.15s}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-card-banner .fs-badge.fs-installed-addon-badge{font-size:1.02em;line-height:1.3em}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-title{margin:10px 0 0 0;height:18px;overflow:hidden;color:#000;white-space:nowrap;text-overflow:ellipsis;font-weight:bold}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-offer{font-size:0.9em}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-description{background-color:#f9f9f9;padding:10px 15px 100px 15px;border-top:1px solid #eee;margin:0 0 10px 0;color:#777}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-tag{position:absolute;top:10px;right:0px;background:greenyellow;display:block;padding:2px 10px;-moz-box-shadow:1px 1px 1px rgba(0,0,0,0.3);-webkit-box-shadow:1px 1px 1px rgba(0,0,0,0.3);box-shadow:1px 1px 1px rgba(0,0,0,0.3);text-transform:uppercase;font-size:0.9em;font-weight:bold}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-cta .button,#fs_addons .fs-cards-list .fs-card .fs-inner .fs-cta .button-group{position:absolute;top:112px;right:10px}@media screen and (min-width: 960px){#fs_addons .fs-cards-list .fs-card:hover .fs-overlay{border:2px solid #29abe1;margin-left:-1px;margin-top:-1px}#fs_addons .fs-cards-list .fs-card:hover .fs-inner ul{top:-100px}#fs_addons .fs-cards-list .fs-card:hover .fs-inner .fs-title,#fs_addons .fs-cards-list .fs-card:hover .fs-inner .fs-offer{color:#29abe1}}
|
2 |
-
#TB_window,#TB_window iframe{width:821px !important}#plugin-information .fyi{width:266px !important}#plugin-information #section-holder{margin-right:299px}#plugin-information #section-description h2,#plugin-information #section-description h3,#plugin-information #section-description p,#plugin-information #section-description b,#plugin-information #section-description i,#plugin-information #section-description blockquote,#plugin-information #section-description li,#plugin-information #section-description ul,#plugin-information #section-description ol{clear:none}#plugin-information #section-description .fs-selling-points{padding-bottom:10px;border-bottom:1px solid #ddd}#plugin-information #section-description .fs-selling-points ul{margin:0}#plugin-information #section-description .fs-selling-points ul li{padding:0;list-style:none outside none}#plugin-information #section-description .fs-selling-points ul li i.dashicons{color:#71ae00;font-size:3em;vertical-align:middle;line-height:30px;float:left;margin:0 0 0 -15px}#plugin-information #section-description .fs-selling-points ul li h3{margin:1em 30px !important}#plugin-information #section-description .fs-screenshots:after{content:"";display:table;clear:both}#plugin-information #section-description .fs-screenshots ul{list-style:none;margin:0}#plugin-information #section-description .fs-screenshots ul li{width:225px;height:225px;float:left;margin-bottom:20px;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}#plugin-information #section-description .fs-screenshots ul li a{display:block;width:100%;height:100%;border:1px solid;-moz-box-shadow:1px 1px 1px rgba(0,0,0,0.2);-webkit-box-shadow:1px 1px 1px rgba(0,0,0,0.2);box-shadow:1px 1px 1px rgba(0,0,0,0.2);background-size:cover}#plugin-information #section-description .fs-screenshots ul li.odd{margin-right:20px}#plugin-information .plugin-information-pricing{margin:-16px;border-bottom:1px solid #ddd}#plugin-information .plugin-information-pricing .fs-plan h3{margin-top:0;padding:20px;font-size:16px}#plugin-information .plugin-information-pricing .fs-plan .nav-tab-wrapper{border-bottom:1px solid #ddd}#plugin-information .plugin-information-pricing .fs-plan .nav-tab-wrapper .nav-tab{cursor:pointer;position:relative;padding:0 10px;font-size:0.9em}#plugin-information .plugin-information-pricing .fs-plan .nav-tab-wrapper .nav-tab label{text-transform:uppercase;color:green;background:greenyellow;position:absolute;left:-1px;right:-1px;bottom:100%;border:1px solid darkgreen;padding:2px;text-align:center;font-size:0.9em;line-height:1em}#plugin-information .plugin-information-pricing .fs-plan .nav-tab-wrapper .nav-tab.nav-tab-active{cursor:default;background:#fffeec;border-bottom-color:#fffeec}#plugin-information .plugin-information-pricing .fs-plan.fs-single-cycle h3{background:#fffeec;margin:0;padding-bottom:0;color:#0073aa}#plugin-information .plugin-information-pricing .fs-plan.fs-single-cycle .nav-tab-wrapper,#plugin-information .plugin-information-pricing .fs-plan.fs-single-cycle .fs-billing-frequency{display:none}#plugin-information .plugin-information-pricing .fs-plan .fs-pricing-body{background:#fffeec;padding:20px}#plugin-information .plugin-information-pricing .fs-plan .button{width:100%;text-align:center;font-weight:bold;text-transform:uppercase;font-size:1.1em}#plugin-information .plugin-information-pricing .fs-plan label{white-space:nowrap}#plugin-information .plugin-information-pricing .fs-plan var{font-style:normal}#plugin-information .plugin-information-pricing .fs-plan .fs-billing-frequency,#plugin-information .plugin-information-pricing .fs-plan .fs-annual-discount{text-align:center;display:block;font-weight:bold;margin-bottom:10px;text-transform:uppercase;background:#F3F3F3;padding:2px;border:1px solid #ccc}#plugin-information .plugin-information-pricing .fs-plan .fs-annual-discount{text-transform:none;color:green;background:greenyellow}#plugin-information .plugin-information-pricing .fs-plan ul.fs-trial-terms{font-size:0.9em}#plugin-information .plugin-information-pricing .fs-plan ul.fs-trial-terms i{float:left;margin:0 0 0 -15px}#plugin-information .plugin-information-pricing .fs-plan ul.fs-trial-terms li{margin:10px 0 0 0}#plugin-information #section-features .fs-features{margin:-20px -26px}#plugin-information #section-features table{width:100%;border-spacing:0;border-collapse:separate}#plugin-information #section-features table thead th{padding:10px 0}#plugin-information #section-features table thead .fs-price{color:#71ae00;font-weight:normal;display:block;text-align:center}#plugin-information #section-features table tbody td{border-top:1px solid #ccc;padding:10px 0;text-align:center;width:100px;color:#71ae00}#plugin-information #section-features table tbody td:first-child{text-align:left;width:auto;color:inherit;padding-left:26px}#plugin-information #section-features table tbody tr.fs-odd td{background:#fefefe}#plugin-information #section-features .dashicons-yes{width:30px;height:30px;font-size:30px}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown .button-group .button,#plugin-information .fs-dropdown .button-group .button{position:relative;width:auto;top:0;right:0}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown .button-group .button:focus,#plugin-information .fs-dropdown .button-group .button:focus{z-index:10}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown .button-group .fs-dropdown-arrow,#plugin-information .fs-dropdown .button-group .fs-dropdown-arrow{border-top:6px solid white;border-right:4px solid transparent;border-left:4px solid transparent;top:12px;position:relative}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown.active:not(.up) .button:not(.fs-dropdown-arrow-button),#plugin-information .fs-dropdown.active:not(.up) .button:not(.fs-dropdown-arrow-button){border-bottom-left-radius:0}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown.active:not(.up) .fs-dropdown-arrow-button,#plugin-information .fs-dropdown.active:not(.up) .fs-dropdown-arrow-button{border-bottom-right-radius:0}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown.active.up .button:not(.fs-dropdown-arrow-button),#plugin-information .fs-dropdown.active.up .button:not(.fs-dropdown-arrow-button){border-top-left-radius:0}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown.active.up .fs-dropdown-arrow-button,#plugin-information .fs-dropdown.active.up .fs-dropdown-arrow-button{border-top-right-radius:0}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown .fs-dropdown-list,#plugin-information .fs-dropdown .fs-dropdown-list{position:absolute;right:-1px;top:100%;margin-left:auto;padding:3px 0;border:1px solid #bfbfbf;background-color:#fff;z-index:1;width:230px;text-align:left;-moz-box-shadow:0px 2px 4px -1px rgba(0,0,0,0.2),0px 4px 5px 0px rgba(0,0,0,0.14),0px 1px 10px 0px rgba(0,0,0,0.12);-webkit-box-shadow:0px 2px 4px -1px rgba(0,0,0,0.2),0px 4px 5px 0px rgba(0,0,0,0.14),0px 1px 10px 0px rgba(0,0,0,0.12);box-shadow:0px 2px 4px -1px rgba(0,0,0,0.2),0px 4px 5px 0px rgba(0,0,0,0.14),0px 1px 10px 0px rgba(0,0,0,0.12)}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown .fs-dropdown-list li,#plugin-information .fs-dropdown .fs-dropdown-list li{margin:0}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown .fs-dropdown-list li a,#plugin-information .fs-dropdown .fs-dropdown-list li a{display:block;padding:5px 10px;text-decoration:none;text-shadow:none}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown .fs-dropdown-list li:hover,#plugin-information .fs-dropdown .fs-dropdown-list li:hover{background-color:#0074a3;color:#fff}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown .fs-dropdown-list li:hover a,#plugin-information .fs-dropdown .fs-dropdown-list li:hover a{color:#fff}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown:not(.up) .fs-dropdown-list,#plugin-information .fs-dropdown:not(.up) .fs-dropdown-list{-moz-border-radius:3px 0 3px 3px;-webkit-border-radius:3px 0 3px 3px;border-radius:3px 0 3px 3px}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown.up .fs-dropdown-list,#plugin-information .fs-dropdown.up .fs-dropdown-list{-moz-border-radius:3px 3px 0 3px;-webkit-border-radius:3px 3px 0 3px;border-radius:3px 3px 0 3px}#plugin-information .fs-dropdown .button-group{width:100%}#plugin-information .fs-dropdown .button-group .button{float:none;font-size:14px;font-weight:normal;text-transform:none}#plugin-information .fs-dropdown .fs-dropdown-list{margin-top:1px}#plugin-information .fs-dropdown.up .fs-dropdown-list{top:auto;bottom:100%;margin-bottom:2px}#plugin-information.wp-core-ui .fs-pricing-body .fs-dropdown .button-group{text-align:center;display:table}#plugin-information.wp-core-ui .fs-pricing-body .fs-dropdown .button-group .button{display:table-cell}#plugin-information.wp-core-ui .fs-pricing-body .fs-dropdown .button-group .button:not(.fs-dropdown-arrow-button){left:1px;width:100%}#plugin-information-footer>.button,#plugin-information-footer .fs-dropdown{position:relative;top:3px}#plugin-information-footer>.button.left,#plugin-information-footer .fs-dropdown.left{float:left}#plugin-information-footer>.right,#plugin-information-footer .fs-dropdown{float:right}@media screen and (max-width: 961px){#fs_addons .fs-cards-list .fs-card{height:265px}}
|
1 |
.fs-badge{position:absolute;top:10px;right:0;background:#71ae00;color:white;text-transform:uppercase;padding:5px 10px;-moz-border-radius:3px 0 0 3px;-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;font-weight:bold;border-right:0;-moz-box-shadow:0 2px 1px -1px rgba(0,0,0,0.3);-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,0.3);box-shadow:0 2px 1px -1px rgba(0,0,0,0.3)}#fs_addons .fs-cards-list{list-style:none}#fs_addons .fs-cards-list .fs-card{float:left;height:152px;width:310px;padding:0;margin:0 0 30px 30px;font-size:14px;list-style:none;border:1px solid #ddd;cursor:pointer;position:relative}#fs_addons .fs-cards-list .fs-card .fs-overlay{position:absolute;left:0;right:0;bottom:0;top:0;z-index:9}#fs_addons .fs-cards-list .fs-card .fs-inner{background-color:#fff;overflow:hidden;height:100%;position:relative}#fs_addons .fs-cards-list .fs-card .fs-inner>ul{-moz-transition:all,0.15s;-o-transition:all,0.15s;-ms-transition:all,0.15s;-webkit-transition:all,0.15s;transition:all,0.15s;left:0;right:0;top:0;position:absolute}#fs_addons .fs-cards-list .fs-card .fs-inner>ul>li{list-style:none;line-height:18px;padding:0 15px;width:100%;display:block;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-card-banner{padding:0;margin:0;line-height:0;display:block;height:100px;background-repeat:repeat-x;background-size:100% 100%;-moz-transition:all,0.15s;-o-transition:all,0.15s;-ms-transition:all,0.15s;-webkit-transition:all,0.15s;transition:all,0.15s}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-card-banner .fs-badge.fs-installed-addon-badge{font-size:1.02em;line-height:1.3em}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-title{margin:10px 0 0 0;height:18px;overflow:hidden;color:#000;white-space:nowrap;text-overflow:ellipsis;font-weight:bold}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-offer{font-size:0.9em}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-description{background-color:#f9f9f9;padding:10px 15px 100px 15px;border-top:1px solid #eee;margin:0 0 10px 0;color:#777}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-tag{position:absolute;top:10px;right:0px;background:greenyellow;display:block;padding:2px 10px;-moz-box-shadow:1px 1px 1px rgba(0,0,0,0.3);-webkit-box-shadow:1px 1px 1px rgba(0,0,0,0.3);box-shadow:1px 1px 1px rgba(0,0,0,0.3);text-transform:uppercase;font-size:0.9em;font-weight:bold}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-cta .button,#fs_addons .fs-cards-list .fs-card .fs-inner .fs-cta .button-group{position:absolute;top:112px;right:10px}@media screen and (min-width: 960px){#fs_addons .fs-cards-list .fs-card:hover .fs-overlay{border:2px solid #29abe1;margin-left:-1px;margin-top:-1px}#fs_addons .fs-cards-list .fs-card:hover .fs-inner ul{top:-100px}#fs_addons .fs-cards-list .fs-card:hover .fs-inner .fs-title,#fs_addons .fs-cards-list .fs-card:hover .fs-inner .fs-offer{color:#29abe1}}
|
2 |
+
#TB_window,#TB_window iframe{width:821px !important}#plugin-information .fyi{width:266px !important}#plugin-information #section-holder{margin-right:299px}#plugin-information #section-description h2,#plugin-information #section-description h3,#plugin-information #section-description p,#plugin-information #section-description b,#plugin-information #section-description i,#plugin-information #section-description blockquote,#plugin-information #section-description li,#plugin-information #section-description ul,#plugin-information #section-description ol{clear:none}#plugin-information #section-description iframe{max-width:100%}#plugin-information #section-description .fs-selling-points{padding-bottom:10px;border-bottom:1px solid #ddd}#plugin-information #section-description .fs-selling-points ul{margin:0}#plugin-information #section-description .fs-selling-points ul li{padding:0;list-style:none outside none}#plugin-information #section-description .fs-selling-points ul li i.dashicons{color:#71ae00;font-size:3em;vertical-align:middle;line-height:30px;float:left;margin:0 0 0 -15px}#plugin-information #section-description .fs-selling-points ul li h3{margin:1em 30px !important}#plugin-information #section-description .fs-screenshots:after{content:"";display:table;clear:both}#plugin-information #section-description .fs-screenshots ul{list-style:none;margin:0}#plugin-information #section-description .fs-screenshots ul li{width:225px;height:225px;float:left;margin-bottom:20px;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}#plugin-information #section-description .fs-screenshots ul li a{display:block;width:100%;height:100%;border:1px solid;-moz-box-shadow:1px 1px 1px rgba(0,0,0,0.2);-webkit-box-shadow:1px 1px 1px rgba(0,0,0,0.2);box-shadow:1px 1px 1px rgba(0,0,0,0.2);background-size:cover}#plugin-information #section-description .fs-screenshots ul li.odd{margin-right:20px}#plugin-information .plugin-information-pricing{margin:-16px;border-bottom:1px solid #ddd}#plugin-information .plugin-information-pricing .fs-plan h3{margin-top:0;padding:20px;font-size:16px}#plugin-information .plugin-information-pricing .fs-plan .nav-tab-wrapper{border-bottom:1px solid #ddd}#plugin-information .plugin-information-pricing .fs-plan .nav-tab-wrapper .nav-tab{cursor:pointer;position:relative;padding:0 10px;font-size:0.9em}#plugin-information .plugin-information-pricing .fs-plan .nav-tab-wrapper .nav-tab label{text-transform:uppercase;color:green;background:greenyellow;position:absolute;left:-1px;right:-1px;bottom:100%;border:1px solid darkgreen;padding:2px;text-align:center;font-size:0.9em;line-height:1em}#plugin-information .plugin-information-pricing .fs-plan .nav-tab-wrapper .nav-tab.nav-tab-active{cursor:default;background:#fffeec;border-bottom-color:#fffeec}#plugin-information .plugin-information-pricing .fs-plan.fs-single-cycle h3{background:#fffeec;margin:0;padding-bottom:0;color:#0073aa}#plugin-information .plugin-information-pricing .fs-plan.fs-single-cycle .nav-tab-wrapper,#plugin-information .plugin-information-pricing .fs-plan.fs-single-cycle .fs-billing-frequency{display:none}#plugin-information .plugin-information-pricing .fs-plan .fs-pricing-body{background:#fffeec;padding:20px}#plugin-information .plugin-information-pricing .fs-plan .button{width:100%;text-align:center;font-weight:bold;text-transform:uppercase;font-size:1.1em}#plugin-information .plugin-information-pricing .fs-plan label{white-space:nowrap}#plugin-information .plugin-information-pricing .fs-plan var{font-style:normal}#plugin-information .plugin-information-pricing .fs-plan .fs-billing-frequency,#plugin-information .plugin-information-pricing .fs-plan .fs-annual-discount{text-align:center;display:block;font-weight:bold;margin-bottom:10px;text-transform:uppercase;background:#F3F3F3;padding:2px;border:1px solid #ccc}#plugin-information .plugin-information-pricing .fs-plan .fs-annual-discount{text-transform:none;color:green;background:greenyellow}#plugin-information .plugin-information-pricing .fs-plan ul.fs-trial-terms{font-size:0.9em}#plugin-information .plugin-information-pricing .fs-plan ul.fs-trial-terms i{float:left;margin:0 0 0 -15px}#plugin-information .plugin-information-pricing .fs-plan ul.fs-trial-terms li{margin:10px 0 0 0}#plugin-information #section-features .fs-features{margin:-20px -26px}#plugin-information #section-features table{width:100%;border-spacing:0;border-collapse:separate}#plugin-information #section-features table thead th{padding:10px 0}#plugin-information #section-features table thead .fs-price{color:#71ae00;font-weight:normal;display:block;text-align:center}#plugin-information #section-features table tbody td{border-top:1px solid #ccc;padding:10px 0;text-align:center;width:100px;color:#71ae00}#plugin-information #section-features table tbody td:first-child{text-align:left;width:auto;color:inherit;padding-left:26px}#plugin-information #section-features table tbody tr.fs-odd td{background:#fefefe}#plugin-information #section-features .dashicons-yes{width:30px;height:30px;font-size:30px}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown .button-group .button,#plugin-information .fs-dropdown .button-group .button{position:relative;width:auto;top:0;right:0}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown .button-group .button:focus,#plugin-information .fs-dropdown .button-group .button:focus{z-index:10}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown .button-group .fs-dropdown-arrow,#plugin-information .fs-dropdown .button-group .fs-dropdown-arrow{border-top:6px solid white;border-right:4px solid transparent;border-left:4px solid transparent;top:12px;position:relative}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown.active:not(.up) .button:not(.fs-dropdown-arrow-button),#plugin-information .fs-dropdown.active:not(.up) .button:not(.fs-dropdown-arrow-button){border-bottom-left-radius:0}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown.active:not(.up) .fs-dropdown-arrow-button,#plugin-information .fs-dropdown.active:not(.up) .fs-dropdown-arrow-button{border-bottom-right-radius:0}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown.active.up .button:not(.fs-dropdown-arrow-button),#plugin-information .fs-dropdown.active.up .button:not(.fs-dropdown-arrow-button){border-top-left-radius:0}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown.active.up .fs-dropdown-arrow-button,#plugin-information .fs-dropdown.active.up .fs-dropdown-arrow-button{border-top-right-radius:0}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown .fs-dropdown-list,#plugin-information .fs-dropdown .fs-dropdown-list{position:absolute;right:-1px;top:100%;margin-left:auto;padding:3px 0;border:1px solid #bfbfbf;background-color:#fff;z-index:1;width:230px;text-align:left;-moz-box-shadow:0px 2px 4px -1px rgba(0,0,0,0.2),0px 4px 5px 0px rgba(0,0,0,0.14),0px 1px 10px 0px rgba(0,0,0,0.12);-webkit-box-shadow:0px 2px 4px -1px rgba(0,0,0,0.2),0px 4px 5px 0px rgba(0,0,0,0.14),0px 1px 10px 0px rgba(0,0,0,0.12);box-shadow:0px 2px 4px -1px rgba(0,0,0,0.2),0px 4px 5px 0px rgba(0,0,0,0.14),0px 1px 10px 0px rgba(0,0,0,0.12)}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown .fs-dropdown-list li,#plugin-information .fs-dropdown .fs-dropdown-list li{margin:0}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown .fs-dropdown-list li a,#plugin-information .fs-dropdown .fs-dropdown-list li a{display:block;padding:5px 10px;text-decoration:none;text-shadow:none}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown .fs-dropdown-list li:hover,#plugin-information .fs-dropdown .fs-dropdown-list li:hover{background-color:#0074a3;color:#fff}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown .fs-dropdown-list li:hover a,#plugin-information .fs-dropdown .fs-dropdown-list li:hover a{color:#fff}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown:not(.up) .fs-dropdown-list,#plugin-information .fs-dropdown:not(.up) .fs-dropdown-list{-moz-border-radius:3px 0 3px 3px;-webkit-border-radius:3px 0 3px 3px;border-radius:3px 0 3px 3px}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-dropdown.up .fs-dropdown-list,#plugin-information .fs-dropdown.up .fs-dropdown-list{-moz-border-radius:3px 3px 0 3px;-webkit-border-radius:3px 3px 0 3px;border-radius:3px 3px 0 3px}#plugin-information .fs-dropdown .button-group{width:100%}#plugin-information .fs-dropdown .button-group .button{float:none;font-size:14px;font-weight:normal;text-transform:none}#plugin-information .fs-dropdown .fs-dropdown-list{margin-top:1px}#plugin-information .fs-dropdown.up .fs-dropdown-list{top:auto;bottom:100%;margin-bottom:2px}#plugin-information.wp-core-ui .fs-pricing-body .fs-dropdown .button-group{text-align:center;display:table}#plugin-information.wp-core-ui .fs-pricing-body .fs-dropdown .button-group .button{display:table-cell}#plugin-information.wp-core-ui .fs-pricing-body .fs-dropdown .button-group .button:not(.fs-dropdown-arrow-button){left:1px;width:100%}#plugin-information-footer>.button,#plugin-information-footer .fs-dropdown{position:relative;top:3px}#plugin-information-footer>.button.left,#plugin-information-footer .fs-dropdown.left{float:left}#plugin-information-footer>.right,#plugin-information-footer .fs-dropdown{float:right}@media screen and (max-width: 961px){#fs_addons .fs-cards-list .fs-card{height:265px}}
|
freemius/assets/css/admin/common.css
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
-
.fs-badge{position:absolute;top:10px;right:0;background:#71ae00;color:white;text-transform:uppercase;padding:5px 10px;-moz-border-radius:3px 0 0 3px;-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;font-weight:bold;border-right:0;-moz-box-shadow:0 2px 1px -1px rgba(0,0,0,0.3);-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,0.3);box-shadow:0 2px 1px -1px rgba(0,0,0,0.3)}.theme-browser .theme .fs-premium-theme-badge-container{position:absolute;right:0;top:0}.theme-browser .theme .fs-premium-theme-badge-container .fs-badge{position:relative;top:0;margin-top:10px;text-align:center}.theme-browser .theme .fs-premium-theme-badge-container .fs-badge.fs-premium-theme-badge{font-size:1.1em}.theme-browser .theme .fs-premium-theme-badge-container .fs-badge.fs-beta-theme-badge{background:#00a0d2}#fs_frame{line-height:0;font-size:0}.fs-full-size-wrapper{margin:40px 0 -65px -20px}@media (max-width: 600px){.fs-full-size-wrapper{margin:0 0 -65px -10px}}
|
2 |
-
.fs-notice{position:relative}.fs-notice.fs-has-title{margin-bottom:30px !important}.fs-notice.success{color:green}.fs-notice.promotion{border-color:#00a0d2 !important;background-color:#f2fcff !important}.fs-notice .fs-notice-body{margin:.5em 0;padding:2px}.fs-notice .fs-close{cursor:pointer;color:#aaa;float:right}.fs-notice .fs-close:hover{color:#666}.fs-notice .fs-close>*{margin-top:7px;display:inline-block}.fs-notice label.fs-plugin-title{background:rgba(0,0,0,0.3);color:#fff;padding:2px 10px;position:absolute;top:100%;bottom:auto;right:auto;-moz-border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;left:10px;font-size:12px;font-weight:bold;cursor:auto}div.fs-notice.updated,div.fs-notice.success,div.fs-notice.promotion{display:block !important}.rtl .fs-notice .fs-close{float:left}.fs-secure-notice{position:fixed;top:32px;left:160px;right:0;background:#ebfdeb;padding:10px 20px;color:green;z-index:9999;-moz-box-shadow:0 2px 2px rgba(6,113,6,0.3);-webkit-box-shadow:0 2px 2px rgba(6,113,6,0.3);box-shadow:0 2px 2px rgba(6,113,6,0.3);opacity:0.95;filter:alpha(opacity=95)}.fs-secure-notice:hover{opacity:1;filter:alpha(opacity=100)}.fs-secure-notice a.fs-security-proof{color:green;text-decoration:none}@media screen and (max-width: 960px){.fs-secure-notice{left:36px}}@media screen and (max-width: 600px){.fs-secure-notice{display:none}}@media screen and (max-width: 500px){#fs_promo_tab{display:none}}@media screen and (max-width: 782px){.fs-secure-notice{left:0;top:46px;text-align:center}}span.fs-submenu-item.fs-sub:before{content:'\21B3';padding:0 5px}.rtl span.fs-submenu-item.fs-sub:before{content:'\21B2'}.fs-submenu-item.pricing.upgrade-mode{color:greenyellow}.fs-submenu-item.pricing.trial-mode{color:#83e2ff}#adminmenu .update-plugins.fs-trial{background-color:#00b9eb}.fs-ajax-spinner{border:0;width:20px;height:20px;margin-right:5px;vertical-align:sub;display:inline-block;background:url("/wp-admin/images/wpspin_light-2x.gif");background-size:contain}.wrap.fs-section h2{text-align:left}.plugins p.fs-upgrade-notice{border:0;background-color:#d54e21;padding:10px;color:#f9f9f9;margin-top:10px}
|
1 |
+
.fs-badge{position:absolute;top:10px;right:0;background:#71ae00;color:white;text-transform:uppercase;padding:5px 10px;-moz-border-radius:3px 0 0 3px;-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;font-weight:bold;border-right:0;-moz-box-shadow:0 2px 1px -1px rgba(0,0,0,0.3);-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,0.3);box-shadow:0 2px 1px -1px rgba(0,0,0,0.3)}.theme-browser .theme .fs-premium-theme-badge-container{position:absolute;right:0;top:0}.theme-browser .theme .fs-premium-theme-badge-container .fs-badge{position:relative;top:0;margin-top:10px;text-align:center}.theme-browser .theme .fs-premium-theme-badge-container .fs-badge.fs-premium-theme-badge{font-size:1.1em}.theme-browser .theme .fs-premium-theme-badge-container .fs-badge.fs-beta-theme-badge{background:#00a0d2}.fs-switch{position:relative;display:inline-block;color:#ccc;text-shadow:0 1px 1px rgba(255,255,255,0.8);height:18px;padding:6px 6px 5px 6px;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);background:#ececec;box-shadow:0 0 4px rgba(0,0,0,0.1),inset 0 1px 3px 0 rgba(0,0,0,0.1);cursor:pointer}.fs-switch span{display:inline-block;width:35px;text-transform:uppercase}.fs-switch .fs-toggle{position:absolute;top:1px;width:37px;height:25px;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.3);border-radius:4px;background:#fff;background-color:#fff;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #ececec), color-stop(1, #fff));background-image:-webkit-linear-gradient(top, #ececec, #fff);background-image:-moz-linear-gradient(top, #ececec, #fff);background-image:-ms-linear-gradient(top, #ececec, #fff);background-image:-o-linear-gradient(top, #ececec, #fff);background-image:linear-gradient(top, bottom, #ececec, #fff);box-shadow:inset 0 1px 0 0 rgba(255,255,255,0.5);z-index:999;-moz-transition:0.4s cubic-bezier(0.54, 1.6, 0.5, 1);-o-transition:0.4s cubic-bezier(0.54, 1.6, 0.5, 1);-ms-transition:0.4s cubic-bezier(0.54, 1.6, 0.5, 1);-webkit-transition:0.4s cubic-bezier(0.54, 1.6, 0.5, 1);transition:0.4s cubic-bezier(0.54, 1.6, 0.5, 1)}.fs-switch.fs-off .fs-toggle{left:2%}.fs-switch.fs-on .fs-toggle{left:54%}.fs-switch.fs-round{top:8px;padding:4px 25px;-moz-border-radius:24px;-webkit-border-radius:24px;border-radius:24px}.fs-switch.fs-round .fs-toggle{top:0;width:24px;height:24px;-moz-border-radius:24px;-webkit-border-radius:24px;border-radius:24px}.fs-switch.fs-round.fs-off .fs-toggle{left:-1px}.fs-switch.fs-round.fs-on{background:#0085ba}.fs-switch.fs-round.fs-on .fs-toggle{left:25px}.fs-switch.fs-small.fs-round{padding:1px 19px}.fs-switch.fs-small.fs-round .fs-toggle{top:0;width:18px;height:18px;-moz-border-radius:18px;-webkit-border-radius:18px;border-radius:18px}.fs-switch.fs-small.fs-round.fs-on .fs-toggle{left:19px}.fs-switch-feedback{margin-left:10px}.fs-switch-feedback.success{color:#71ae00}.rtl .fs-switch-feedback{margin-left:0;margin-right:10px}#fs_frame{line-height:0;font-size:0}.fs-full-size-wrapper{margin:40px 0 -65px -20px}@media (max-width: 600px){.fs-full-size-wrapper{margin:0 0 -65px -10px}}
|
2 |
+
.fs-notice{position:relative}.fs-notice.fs-has-title{margin-bottom:30px !important}.fs-notice.success{color:green}.fs-notice.promotion{border-color:#00a0d2 !important;background-color:#f2fcff !important}.fs-notice .fs-notice-body{margin:.5em 0;padding:2px}.fs-notice .fs-close{cursor:pointer;color:#aaa;float:right}.fs-notice .fs-close:hover{color:#666}.fs-notice .fs-close>*{margin-top:7px;display:inline-block}.fs-notice label.fs-plugin-title{background:rgba(0,0,0,0.3);color:#fff;padding:2px 10px;position:absolute;top:100%;bottom:auto;right:auto;-moz-border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;left:10px;font-size:12px;font-weight:bold;cursor:auto}div.fs-notice.updated,div.fs-notice.success,div.fs-notice.promotion{display:block !important}.rtl .fs-notice .fs-close{float:left}.fs-secure-notice{position:fixed;top:32px;left:160px;right:0;background:#ebfdeb;padding:10px 20px;color:green;z-index:9999;-moz-box-shadow:0 2px 2px rgba(6,113,6,0.3);-webkit-box-shadow:0 2px 2px rgba(6,113,6,0.3);box-shadow:0 2px 2px rgba(6,113,6,0.3);opacity:0.95;filter:alpha(opacity=95)}.fs-secure-notice:hover{opacity:1;filter:alpha(opacity=100)}.fs-secure-notice a.fs-security-proof{color:green;text-decoration:none}@media screen and (max-width: 960px){.fs-secure-notice{left:36px}}@media screen and (max-width: 600px){.fs-secure-notice{display:none}}@media screen and (max-width: 500px){#fs_promo_tab{display:none}}@media screen and (max-width: 782px){.fs-secure-notice{left:0;top:46px;text-align:center}}span.fs-submenu-item.fs-sub:before{content:'\21B3';padding:0 5px}.rtl span.fs-submenu-item.fs-sub:before{content:'\21B2'}.fs-submenu-item.pricing.upgrade-mode{color:greenyellow}.fs-submenu-item.pricing.trial-mode{color:#83e2ff}#adminmenu .update-plugins.fs-trial{background-color:#00b9eb}.fs-ajax-spinner{border:0;width:20px;height:20px;margin-right:5px;vertical-align:sub;display:inline-block;background:url("/wp-admin/images/wpspin_light-2x.gif");background-size:contain;margin-bottom:-2px}.wrap.fs-section h2{text-align:left}.plugins p.fs-upgrade-notice{border:0;background-color:#d54e21;padding:10px;color:#f9f9f9;margin-top:10px}
|
freemius/assets/css/admin/connect.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
#fs_connect{width:480px;-moz-box-shadow:0px 1px 2px rgba(0,0,0,0.3);-webkit-box-shadow:0px 1px 2px rgba(0,0,0,0.3);box-shadow:0px 1px 2px rgba(0,0,0,0.3);margin:20px 0}@media screen and (max-width: 479px){#fs_connect{-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;width:auto;margin:0 0 0 -10px}}#fs_connect .fs-content{background:#fff;padding:15px 20px}#fs_connect .fs-content .fs-error{background:snow;color:#d3135a;border:1px solid #d3135a;-moz-box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);text-align:center;padding:5px;margin-bottom:10px}#fs_connect .fs-content p{margin:0;padding:0;font-size:1.2em}#fs_connect .fs-license-key-container{position:relative;width:280px;margin:10px auto 0 auto}#fs_connect .fs-license-key-container input{width:100%}#fs_connect .fs-license-key-container .dashicons{position:absolute;top:5px;right:5px}#fs_connect.require-license-key .fs-sites-list-container td{cursor:pointer}#fs_connect #delegate_to_site_admins{margin-right:15px;float:right;height:26px;vertical-align:middle;line-height:37px;font-weight:bold;border-bottom:1px dashed;text-decoration:none}#fs_connect #delegate_to_site_admins.rtl{margin-left:15px;margin-right:0}#fs_connect .fs-actions{padding:10px 20px;background:#C0C7CA}#fs_connect .fs-actions .button{padding:0 10px 1px;line-height:35px;height:37px;font-size:16px;margin-bottom:0}#fs_connect .fs-actions .button .dashicons{font-size:37px;margin-left:-8px;margin-right:12px}#fs_connect .fs-actions .button.button-primary{padding-right:15px;padding-left:15px}#fs_connect .fs-actions .button.button-primary:after{content:' \279C'}#fs_connect .fs-actions .button.button-primary.fs-loading:after{content:''}#fs_connect .fs-actions .button.button-secondary{float:right}#fs_connect.fs-anonymous-disabled .fs-actions .button.button-primary{width:100%}#fs_connect .fs-permissions{padding:10px 20px;background:#FEFEFE;-moz-transition:background 0.5s ease;-o-transition:background 0.5s ease;-ms-transition:background 0.5s ease;-webkit-transition:background 0.5s ease;transition:background 0.5s ease}#fs_connect .fs-permissions .fs-license-sync-disclaimer{text-align:center;margin-top:0}#fs_connect .fs-permissions .fs-trigger{font-size:0.9em;text-decoration:none;text-align:center;display:block}#fs_connect .fs-permissions ul{height:0;overflow:hidden;margin:0}#fs_connect .fs-permissions ul li{margin-bottom:12px}#fs_connect .fs-permissions ul li:last-child{margin-bottom:0}#fs_connect .fs-permissions ul li i.dashicons{float:left;font-size:40px;width:40px;height:40px}#fs_connect .fs-permissions ul li
|
1 |
+
#fs_connect{width:480px;-moz-box-shadow:0px 1px 2px rgba(0,0,0,0.3);-webkit-box-shadow:0px 1px 2px rgba(0,0,0,0.3);box-shadow:0px 1px 2px rgba(0,0,0,0.3);margin:20px 0}@media screen and (max-width: 479px){#fs_connect{-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;width:auto;margin:0 0 0 -10px}}#fs_connect .fs-content{background:#fff;padding:15px 20px}#fs_connect .fs-content .fs-error{background:snow;color:#d3135a;border:1px solid #d3135a;-moz-box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);text-align:center;padding:5px;margin-bottom:10px}#fs_connect .fs-content p{margin:0;padding:0;font-size:1.2em}#fs_connect .fs-license-key-container{position:relative;width:280px;margin:10px auto 0 auto}#fs_connect .fs-license-key-container input{width:100%}#fs_connect .fs-license-key-container .dashicons{position:absolute;top:5px;right:5px}#fs_connect.require-license-key .fs-sites-list-container td{cursor:pointer}#fs_connect #delegate_to_site_admins{margin-right:15px;float:right;height:26px;vertical-align:middle;line-height:37px;font-weight:bold;border-bottom:1px dashed;text-decoration:none}#fs_connect #delegate_to_site_admins.rtl{margin-left:15px;margin-right:0}#fs_connect .fs-actions{padding:10px 20px;background:#C0C7CA}#fs_connect .fs-actions .button{padding:0 10px 1px;line-height:35px;height:37px;font-size:16px;margin-bottom:0}#fs_connect .fs-actions .button .dashicons{font-size:37px;margin-left:-8px;margin-right:12px}#fs_connect .fs-actions .button.button-primary{padding-right:15px;padding-left:15px}#fs_connect .fs-actions .button.button-primary:after{content:' \279C'}#fs_connect .fs-actions .button.button-primary.fs-loading:after{content:''}#fs_connect .fs-actions .button.button-secondary{float:right}#fs_connect.fs-anonymous-disabled .fs-actions .button.button-primary{width:100%}#fs_connect .fs-permissions{padding:10px 20px;background:#FEFEFE;-moz-transition:background 0.5s ease;-o-transition:background 0.5s ease;-ms-transition:background 0.5s ease;-webkit-transition:background 0.5s ease;transition:background 0.5s ease}#fs_connect .fs-permissions .fs-license-sync-disclaimer{text-align:center;margin-top:0}#fs_connect .fs-permissions .fs-trigger{font-size:0.9em;text-decoration:none;text-align:center;display:block}#fs_connect .fs-permissions ul{height:0;overflow:hidden;margin:0}#fs_connect .fs-permissions ul li{margin-bottom:12px}#fs_connect .fs-permissions ul li:last-child{margin-bottom:0}#fs_connect .fs-permissions ul li i.dashicons{float:left;font-size:40px;width:40px;height:40px}#fs_connect .fs-permissions ul li .fs-switch{float:right}#fs_connect .fs-permissions ul li .fs-permission-description{margin-left:55px}#fs_connect .fs-permissions ul li .fs-permission-description span{font-weight:bold;text-transform:uppercase;color:#23282d}#fs_connect .fs-permissions ul li .fs-permission-description p{margin:2px 0 0 0}#fs_connect .fs-permissions.fs-open{background:#fff}#fs_connect .fs-permissions.fs-open ul{height:auto;margin:20px 20px 10px 20px}@media screen and (max-width: 479px){#fs_connect .fs-permissions{background:#fff}#fs_connect .fs-permissions .fs-trigger{display:none}#fs_connect .fs-permissions ul{height:auto;margin:20px}}#fs_connect .fs-freemium-licensing{padding:8px;background:#777;color:#fff}#fs_connect .fs-freemium-licensing p{text-align:center;display:block;margin:0;padding:0}#fs_connect .fs-freemium-licensing a{color:#C2EEFF;text-decoration:underline}#fs_connect .fs-visual{padding:12px;line-height:0;background:#fafafa;height:80px;position:relative}#fs_connect .fs-visual .fs-site-icon{position:absolute;left:20px;top:10px}#fs_connect .fs-visual .fs-connect-logo{position:absolute;right:20px;top:10px}#fs_connect .fs-visual .fs-plugin-icon{position:absolute;top:10px;left:50%;margin-left:-40px}#fs_connect .fs-visual .fs-plugin-icon,#fs_connect .fs-visual .fs-site-icon,#fs_connect .fs-visual img,#fs_connect .fs-visual object{width:80px;height:80px}#fs_connect .fs-visual .dashicons-wordpress{font-size:64px;background:#01749a;color:#fff;width:64px;height:64px;padding:8px}#fs_connect .fs-visual .dashicons-plus{position:absolute;top:50%;font-size:30px;margin-top:-10px;color:#bbb}#fs_connect .fs-visual .dashicons-plus.fs-first{left:28%}#fs_connect .fs-visual .dashicons-plus.fs-second{left:65%}#fs_connect .fs-visual .fs-plugin-icon,#fs_connect .fs-visual .fs-connect-logo,#fs_connect .fs-visual .fs-site-icon{border:1px solid #ccc;padding:1px;background:#fff}#fs_connect .fs-terms{text-align:center;font-size:0.85em;padding:5px;background:rgba(0,0,0,0.05)}#fs_connect .fs-terms,#fs_connect .fs-terms a{color:#999}#fs_connect .fs-terms a{text-decoration:none}.fs-multisite-options-container{margin-top:10px;border:1px solid #ccc;padding:5px}.fs-multisite-options-container a{text-decoration:none}.fs-multisite-options-container a:focus{box-shadow:none}.fs-multisite-options-container a.selected{font-weight:bold}.fs-multisite-options-container.fs-apply-on-all-sites{border:0 none;padding:0}.fs-multisite-options-container.fs-apply-on-all-sites .fs-all-sites-options{border-spacing:0}.fs-multisite-options-container.fs-apply-on-all-sites .fs-all-sites-options td:not(:first-child){display:none}.fs-multisite-options-container .fs-sites-list-container{display:none;overflow:auto}.fs-multisite-options-container .fs-sites-list-container table td{border-top:1px solid #ccc;padding:4px 2px}.fs-tooltip-trigger{position:relative}.fs-tooltip-trigger:not(a){cursor:help}.fs-tooltip-trigger .fs-tooltip{opacity:0;visibility:hidden;-moz-transition:opacity 0.3s ease-in-out;-o-transition:opacity 0.3s ease-in-out;-ms-transition:opacity 0.3s ease-in-out;-webkit-transition:opacity 0.3s ease-in-out;transition:opacity 0.3s ease-in-out;position:absolute;background:rgba(0,0,0,0.8);color:#fff;font-family:'arial', serif;font-size:12px;padding:10px;z-index:999999;bottom:100%;margin-bottom:5px;left:0;right:0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;-moz-box-shadow:1px 1px 1px rgba(0,0,0,0.2);-webkit-box-shadow:1px 1px 1px rgba(0,0,0,0.2);box-shadow:1px 1px 1px rgba(0,0,0,0.2);line-height:1.3em;font-weight:bold;text-align:left}.rtl .fs-tooltip-trigger .fs-tooltip{text-align:right}.fs-tooltip-trigger .fs-tooltip::after{content:' ';display:block;width:0;height:0;border-style:solid;border-width:5px 5px 0 5px;border-color:rgba(0,0,0,0.8) transparent transparent transparent;position:absolute;top:100%;left:21px}.rtl .fs-tooltip-trigger .fs-tooltip::after{right:21px;left:auto}.fs-tooltip-trigger:hover .fs-tooltip{visibility:visible;opacity:1}#fs_marketing_optin{display:none;margin-top:10px;border:1px solid #ccc;padding:10px;line-height:1.5em}#fs_marketing_optin .fs-message{display:block;margin-bottom:5px;font-size:1.05em;font-weight:600}#fs_marketing_optin.error{border:1px solid #d3135a;background:#fee}#fs_marketing_optin.error .fs-message{color:#d3135a}#fs_marketing_optin .fs-input-container{margin-top:5px}#fs_marketing_optin .fs-input-container label{margin-top:5px;display:block}#fs_marketing_optin .fs-input-container label input{float:left;margin:1px 0 0 0}#fs_marketing_optin .fs-input-container label:first-child{display:block;margin-bottom:2px}#fs_marketing_optin .fs-input-label{display:block;margin-left:20px}#fs_marketing_optin .fs-input-label .underlined{text-decoration:underline}.rtl #fs_marketing_optin .fs-input-container label input{float:right}.rtl #fs_marketing_optin .fs-input-label{margin-left:0;margin-right:20px}.rtl #fs_connect .fs-actions{padding:10px 20px;background:#C0C7CA}.rtl #fs_connect .fs-actions .button .dashicons{font-size:37px;margin-left:-8px;margin-right:12px}.rtl #fs_connect .fs-actions .button.button-primary:after{content:' \000bb'}.rtl #fs_connect .fs-actions .button.button-primary.fs-loading:after{content:''}.rtl #fs_connect .fs-actions .button.button-secondary{float:left}.rtl #fs_connect .fs-permissions ul li .fs-permission-description{margin-right:55px;margin-left:0}.rtl #fs_connect .fs-permissions ul li .fs-switch{float:left}.rtl #fs_connect .fs-permissions ul li i.dashicons{float:right}.rtl #fs_connect .fs-visual .fs-site-icon{right:20px;left:auto}.rtl #fs_connect .fs-visual .fs-connect-logo{right:auto;left:20px}#fs_theme_connect_wrapper{position:fixed;top:0;height:100%;width:100%;z-index:99990;background:rgba(0,0,0,0.75);text-align:center;overflow-y:auto}#fs_theme_connect_wrapper:before{content:"";display:inline-block;vertical-align:middle;height:100%}#fs_theme_connect_wrapper>button.close{color:white;cursor:pointer;height:40px;width:40px;position:absolute;right:0;border:0;background-color:transparent;top:32px}#fs_theme_connect_wrapper #fs_connect{top:0;text-align:left;display:inline-block;vertical-align:middle;margin-top:52px;margin-bottom:20px}#fs_theme_connect_wrapper #fs_connect .fs-terms{background:rgba(140,140,140,0.64)}#fs_theme_connect_wrapper #fs_connect .fs-terms,#fs_theme_connect_wrapper #fs_connect .fs-terms a{color:#c5c5c5}.wp-pointer-content #fs_connect{margin:0;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.fs-opt-in-pointer .wp-pointer-content{padding:0}.fs-opt-in-pointer.wp-pointer-top .wp-pointer-arrow{border-bottom-color:#dfdfdf}.fs-opt-in-pointer.wp-pointer-top .wp-pointer-arrow-inner{border-bottom-color:#fafafa}.fs-opt-in-pointer.wp-pointer-bottom .wp-pointer-arrow{border-top-color:#dfdfdf}.fs-opt-in-pointer.wp-pointer-bottom .wp-pointer-arrow-inner{border-top-color:#fafafa}.fs-opt-in-pointer.wp-pointer-left .wp-pointer-arrow{border-right-color:#dfdfdf}.fs-opt-in-pointer.wp-pointer-left .wp-pointer-arrow-inner{border-right-color:#fafafa}.fs-opt-in-pointer.wp-pointer-right .wp-pointer-arrow{border-left-color:#dfdfdf}.fs-opt-in-pointer.wp-pointer-right .wp-pointer-arrow-inner{border-left-color:#fafafa}
|
freemius/assets/css/admin/debug.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.
|
1 |
+
.fs-switch-label{font-size:20px;line-height:31px;margin:0 5px}#fs_log_book table{font-family:Consolas,Monaco,monospace;font-size:12px}#fs_log_book table th{color:#ccc}#fs_log_book table tr{background:#232525}#fs_log_book table tr.alternate{background:#2b2b2b}#fs_log_book table tr td.fs-col--logger{color:#5a7435}#fs_log_book table tr td.fs-col--type{color:#ffc861}#fs_log_book table tr td.fs-col--function{color:#a7b7b1;font-weight:bold}#fs_log_book table tr td.fs-col--message,#fs_log_book table tr td.fs-col--message a{color:#9a73ac !important}#fs_log_book table tr td.fs-col--file{color:#d07922}#fs_log_book table tr td.fs-col--timestamp{color:#6596be}
|
freemius/assets/css/admin/dialog-boxes.css
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
-
.fs-modal{position:fixed;overflow:auto;height:100%;width:100%;top:0;z-index:100000;display:none;background:rgba(0,0,0,0.6)}.fs-modal .fs-modal-dialog{background:transparent;position:absolute;left:50%;margin-left:-298px;padding-bottom:30px;top:-100%;z-index:100001;width:596px}@media (max-width: 650px){.fs-modal .fs-modal-dialog{margin-left:-50%;box-sizing:border-box;padding-left:10px;padding-right:10px;width:100%}.fs-modal .fs-modal-dialog .fs-modal-panel>h3>strong{font-size:1.3em}}.fs-modal.active{display:block}.fs-modal.active:before{display:block}.fs-modal.active .fs-modal-dialog{top:10%}.fs-modal.fs-success .fs-modal-header{border-bottom-color:#46b450}.fs-modal.fs-success .fs-modal-body{background-color:#f7fff7}.fs-modal.fs-warn .fs-modal-header{border-bottom-color:#ffb900}.fs-modal.fs-warn .fs-modal-body{background-color:#fff8e5}.fs-modal.fs-error .fs-modal-header{border-bottom-color:#dc3232}.fs-modal.fs-error .fs-modal-body{background-color:#ffeaea}.fs-modal .fs-modal-body,.fs-modal .fs-modal-footer{border:0;background:#fefefe;padding:20px}.fs-modal .fs-modal-header{border-bottom:#eeeeee solid 1px;background:#fbfbfb;padding:15px 20px;position:relative;margin-bottom:-10px}.fs-modal .fs-modal-header h4{margin:0;padding:0;text-transform:uppercase;font-size:1.2em;font-weight:bold;color:#cacaca;text-shadow:1px 1px 1px #fff;letter-spacing:0.6px;-webkit-font-smoothing:antialiased}.fs-modal .fs-modal-header .fs-close{position:absolute;right:10px;top:12px;cursor:pointer;color:#bbb;-moz-border-radius:20px;-webkit-border-radius:20px;border-radius:20px;padding:3px;-moz-transition:all 0.2s ease-in-out;-o-transition:all 0.2s ease-in-out;-ms-transition:all 0.2s ease-in-out;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.fs-modal .fs-modal-header .fs-close:hover{color:#fff;background:#aaa}.fs-modal .fs-modal-header .fs-close .dashicons,.fs-modal .fs-modal-header .fs-close:hover .dashicons{text-decoration:none}.fs-modal .fs-modal-body{border-bottom:0}.fs-modal .fs-modal-body p{font-size:14px}.fs-modal .fs-modal-body h2{font-size:20px;line-height:1.5em}.fs-modal .fs-modal-body>div{margin-top:10px}.fs-modal .fs-modal-body>div h2{font-weight:bold;font-size:20px;margin-top:0}.fs-modal .fs-modal-footer{border-top:#eeeeee solid 1px;text-align:right}.fs-modal .fs-modal-footer>.button{margin:0 7px}.fs-modal .fs-modal-footer>.button:first-child{margin:0}.fs-modal .fs-modal-panel>.notice.inline{margin:0;display:none}.fs-modal .fs-modal-panel:not(.active){display:none}.rtl .fs-modal .fs-modal-header .fs-close{right:auto;left:20px}body.has-fs-modal{overflow:hidden}.fs-modal.fs-modal-deactivation-feedback .reason-input,.fs-modal.fs-modal-deactivation-feedback .internal-message{margin:3px 0 3px 22px}.fs-modal.fs-modal-deactivation-feedback .reason-input input,.fs-modal.fs-modal-deactivation-feedback .reason-input textarea,.fs-modal.fs-modal-deactivation-feedback .internal-message input,.fs-modal.fs-modal-deactivation-feedback .internal-message textarea{width:100%}.fs-modal.fs-modal-deactivation-feedback li.reason.has-internal-message .internal-message{border:1px solid #ccc;padding:7px;display:none}@media (max-width: 650px){.fs-modal.fs-modal-deactivation-feedback li.reason li.reason{margin-bottom:10px}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason .reason-input,.fs-modal.fs-modal-deactivation-feedback li.reason li.reason .internal-message{margin-left:29px}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason label{display:table}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason label>span{display:table-cell;font-size:1.3em}}.fs-modal.fs-modal-deactivation-feedback .anonymous-feedback-label{float:left}.fs-modal.fs-modal-deactivation-feedback .fs-modal-panel{margin-top:0 !important}.fs-modal.fs-modal-deactivation-feedback .fs-modal-panel h3{margin-top:0;line-height:1.5em}#the-list .deactivate>.fs-slug{display:none}.fs-modal.fs-modal-subscription-cancellation .fs-price-increase-warning{color:red;font-weight:bold;padding:0 25px;margin-bottom:0}.fs-modal.fs-modal-subscription-cancellation ul.subscription-actions label input{float:left;top:5px;position:relative}.rtl .fs-modal.fs-modal-subscription-cancellation ul.subscription-actions label input{float:right}.fs-modal.fs-modal-subscription-cancellation ul.subscription-actions label span{display:block;margin-left:24px}.rtl .fs-modal.fs-modal-subscription-cancellation ul.subscription-actions label span{margin-left:0;margin-right:24px}.fs-modal.fs-modal-license-activation .fs-modal-body input.fs-license-key{width:100%}.fs-license-options-container table,.fs-license-options-container table select,.fs-license-options-container table .fs-available-license-key{width:100%}.fs-license-options-container table td:first-child{width:1%}.fs-license-options-container table .fs-other-license-key-container label{position:relative;top:6px;float:left;margin-right:5px}.fs-license-options-container table .fs-other-license-key-container div{overflow:hidden;width:auto;height:30px;display:block;top:2px;position:relative}.fs-license-options-container table .fs-other-license-key-container div input{margin:0}.fs-sites-list-container td{cursor:pointer}.fs-multisite-options-container{margin-top:10px;border:1px solid #ccc;padding:5px}.fs-multisite-options-container a{text-decoration:none}.fs-multisite-options-container a:focus{box-shadow:none}.fs-multisite-options-container a.selected{font-weight:bold}.fs-multisite-options-container.fs-apply-on-all-sites{border:0 none;padding:0}.fs-multisite-options-container.fs-apply-on-all-sites .fs-all-sites-options{border-spacing:0}.fs-multisite-options-container.fs-apply-on-all-sites .fs-all-sites-options td:not(:first-child){display:none}.fs-multisite-options-container .fs-sites-list-container{display:none;overflow:auto}.fs-multisite-options-container .fs-sites-list-container table td{border-top:1px solid #ccc;padding:4px 2px}.fs-modal.fs-modal-license-key-resend .email-address-container{overflow:hidden;padding-right:2px}.fs-modal.fs-modal-license-key-resend.fs-freemium input.email-address{width:300px}.fs-modal.fs-modal-license-key-resend.fs-freemium label{display:block;margin-bottom:10px}.fs-modal.fs-modal-license-key-resend.fs-premium input.email-address{width:100%}.fs-modal.fs-modal-license-key-resend.fs-premium .button-container{float:right;margin-left:7px}@media (max-width: 650px){.fs-modal.fs-modal-license-key-resend.fs-premium .button-container{margin-top:2px}}
|
2 |
.rtl .fs-modal.fs-modal-license-key-resend .fs-modal-body .input-container>.email-address-container{padding-left:2px;padding-right:0}.rtl .fs-modal.fs-modal-license-key-resend .fs-modal-body .button-container{float:left;margin-right:7px;margin-left:0}a.show-license-resend-modal{margin-top:4px;display:inline-block}.fs-ajax-loader{position:relative;width:170px;height:20px;margin:auto}.fs-ajax-loader .fs-ajax-loader-bar{position:absolute;top:0;background-color:#0074a3;width:20px;height:20px;-webkit-animation-name:bounce_ajaxLoader;-moz-animation-name:bounce_ajaxLoader;-ms-animation-name:bounce_ajaxLoader;-o-animation-name:bounce_ajaxLoader;animation-name:bounce_ajaxLoader;-webkit-animation-duration:1.5s;-moz-animation-duration:1.5s;-ms-animation-duration:1.5s;-o-animation-duration:1.5s;animation-duration:1.5s;animation-iteration-count:infinite;-o-animation-iteration-count:infinite;-ms-animation-iteration-count:infinite;-webkit-animation-iteration-count:infinite;-moz-animation-iteration-count:infinite;-webkit-animation-direction:normal;-moz-animation-direction:normal;-ms-animation-direction:normal;-o-animation-direction:normal;animation-direction:normal;-moz-transform:0.3;-o-transform:0.3;-ms-transform:0.3;-webkit-transform:0.3;transform:0.3}.fs-ajax-loader .fs-ajax-loader-bar-1{left:0px;animation-delay:0.6s;-o-animation-delay:0.6s;-ms-animation-delay:0.6s;-webkit-animation-delay:0.6s;-moz-animation-delay:0.6s}.fs-ajax-loader .fs-ajax-loader-bar-2{left:19px;animation-delay:0.75s;-o-animation-delay:0.75s;-ms-animation-delay:0.75s;-webkit-animation-delay:0.75s;-moz-animation-delay:0.75s}.fs-ajax-loader .fs-ajax-loader-bar-3{left:38px;animation-delay:0.9s;-o-animation-delay:0.9s;-ms-animation-delay:0.9s;-webkit-animation-delay:0.9s;-moz-animation-delay:0.9s}.fs-ajax-loader .fs-ajax-loader-bar-4{left:57px;animation-delay:1.05s;-o-animation-delay:1.05s;-ms-animation-delay:1.05s;-webkit-animation-delay:1.05s;-moz-animation-delay:1.05s}.fs-ajax-loader .fs-ajax-loader-bar-5{left:76px;animation-delay:1.2s;-o-animation-delay:1.2s;-ms-animation-delay:1.2s;-webkit-animation-delay:1.2s;-moz-animation-delay:1.2s}.fs-ajax-loader .fs-ajax-loader-bar-6{left:95px;animation-delay:1.35s;-o-animation-delay:1.35s;-ms-animation-delay:1.35s;-webkit-animation-delay:1.35s;-moz-animation-delay:1.35s}.fs-ajax-loader .fs-ajax-loader-bar-7{left:114px;animation-delay:1.5s;-o-animation-delay:1.5s;-ms-animation-delay:1.5s;-webkit-animation-delay:1.5s;-moz-animation-delay:1.5s}.fs-ajax-loader .fs-ajax-loader-bar-8{left:133px;animation-delay:1.65s;-o-animation-delay:1.65s;-ms-animation-delay:1.65s;-webkit-animation-delay:1.65s;-moz-animation-delay:1.65s}@-moz-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}@-ms-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}@-o-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}@-webkit-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}@keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}.fs-modal-auto-install #request-filesystem-credentials-form h2,.fs-modal-auto-install #request-filesystem-credentials-form .request-filesystem-credentials-action-buttons{display:none}.fs-modal-auto-install #request-filesystem-credentials-form input[type=password],.fs-modal-auto-install #request-filesystem-credentials-form input[type=email],.fs-modal-auto-install #request-filesystem-credentials-form input[type=text]{-webkit-appearance:none;padding:10px 10px 5px 10px;width:300px;max-width:100%}.fs-modal-auto-install #request-filesystem-credentials-form>div,.fs-modal-auto-install #request-filesystem-credentials-form label,.fs-modal-auto-install #request-filesystem-credentials-form fieldset{width:300px;max-width:100%;margin:0 auto;display:block}.button-primary.warn{box-shadow:0 1px 0 #d2593c;text-shadow:0 -1px 1px #d2593c,1px 0 1px #d2593c,0 1px 1px #d2593c,-1px 0 1px #d2593c;background:#f56a48;border-color:#ec6544 #d2593c #d2593c}.button-primary.warn:hover{background:#fd6d4a;border-color:#d2593c}.button-primary.warn:focus{box-shadow:0 1px 0 #dd6041,0 0 2px 1px #e4a796}.button-primary.warn:active{background:#dd6041;border-color:#d2593c;box-shadow:inset 0 2px 0 #d2593c}.button-primary.warn.disabled{color:#f5b3a1 !important;background:#e76444 !important;border-color:#d85e40 !important;text-shadow:0 -1px 0 rgba(0,0,0,0.1) !important}
|
1 |
+
.fs-modal{position:fixed;overflow:auto;height:100%;width:100%;top:0;z-index:100000;display:none;background:rgba(0,0,0,0.6)}.fs-modal .dashicons{vertical-align:middle}.fs-modal .fs-modal-dialog{background:transparent;position:absolute;left:50%;margin-left:-298px;padding-bottom:30px;top:-100%;z-index:100001;width:596px}@media (max-width: 650px){.fs-modal .fs-modal-dialog{margin-left:-50%;box-sizing:border-box;padding-left:10px;padding-right:10px;width:100%}.fs-modal .fs-modal-dialog .fs-modal-panel>h3>strong{font-size:1.3em}}.fs-modal.active{display:block}.fs-modal.active:before{display:block}.fs-modal.active .fs-modal-dialog{top:10%}.fs-modal.fs-success .fs-modal-header{border-bottom-color:#46b450}.fs-modal.fs-success .fs-modal-body{background-color:#f7fff7}.fs-modal.fs-warn .fs-modal-header{border-bottom-color:#ffb900}.fs-modal.fs-warn .fs-modal-body{background-color:#fff8e5}.fs-modal.fs-error .fs-modal-header{border-bottom-color:#dc3232}.fs-modal.fs-error .fs-modal-body{background-color:#ffeaea}.fs-modal .fs-modal-body,.fs-modal .fs-modal-footer{border:0;background:#fefefe;padding:20px}.fs-modal .fs-modal-header{border-bottom:#eeeeee solid 1px;background:#fbfbfb;padding:15px 20px;position:relative;margin-bottom:-10px}.fs-modal .fs-modal-header h4{margin:0;padding:0;text-transform:uppercase;font-size:1.2em;font-weight:bold;color:#cacaca;text-shadow:1px 1px 1px #fff;letter-spacing:0.6px;-webkit-font-smoothing:antialiased}.fs-modal .fs-modal-header .fs-close{position:absolute;right:10px;top:12px;cursor:pointer;color:#bbb;-moz-border-radius:20px;-webkit-border-radius:20px;border-radius:20px;padding:3px;-moz-transition:all 0.2s ease-in-out;-o-transition:all 0.2s ease-in-out;-ms-transition:all 0.2s ease-in-out;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.fs-modal .fs-modal-header .fs-close:hover{color:#fff;background:#aaa}.fs-modal .fs-modal-header .fs-close .dashicons,.fs-modal .fs-modal-header .fs-close:hover .dashicons{text-decoration:none}.fs-modal .fs-modal-body{border-bottom:0}.fs-modal .fs-modal-body p{font-size:14px}.fs-modal .fs-modal-body h2{font-size:20px;line-height:1.5em}.fs-modal .fs-modal-body>div{margin-top:10px}.fs-modal .fs-modal-body>div h2{font-weight:bold;font-size:20px;margin-top:0}.fs-modal .fs-modal-footer{border-top:#eeeeee solid 1px;text-align:right}.fs-modal .fs-modal-footer>.button{margin:0 7px}.fs-modal .fs-modal-footer>.button:first-child{margin:0}.fs-modal .fs-modal-panel>.notice.inline{margin:0;display:none}.fs-modal .fs-modal-panel:not(.active){display:none}.rtl .fs-modal .fs-modal-header .fs-close{right:auto;left:20px}body.has-fs-modal{overflow:hidden}.fs-modal.fs-modal-deactivation-feedback .reason-input,.fs-modal.fs-modal-deactivation-feedback .internal-message{margin:3px 0 3px 22px}.fs-modal.fs-modal-deactivation-feedback .reason-input input,.fs-modal.fs-modal-deactivation-feedback .reason-input textarea,.fs-modal.fs-modal-deactivation-feedback .internal-message input,.fs-modal.fs-modal-deactivation-feedback .internal-message textarea{width:100%}.fs-modal.fs-modal-deactivation-feedback li.reason.has-internal-message .internal-message{border:1px solid #ccc;padding:7px;display:none}@media (max-width: 650px){.fs-modal.fs-modal-deactivation-feedback li.reason li.reason{margin-bottom:10px}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason .reason-input,.fs-modal.fs-modal-deactivation-feedback li.reason li.reason .internal-message{margin-left:29px}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason label{display:table}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason label>span{display:table-cell;font-size:1.3em}}.fs-modal.fs-modal-deactivation-feedback .anonymous-feedback-label{float:left}.fs-modal.fs-modal-deactivation-feedback .fs-modal-panel{margin-top:0 !important}.fs-modal.fs-modal-deactivation-feedback .fs-modal-panel h3{margin-top:0;line-height:1.5em}#the-list .deactivate>.fs-slug{display:none}.fs-modal.fs-modal-subscription-cancellation .fs-price-increase-warning{color:red;font-weight:bold;padding:0 25px;margin-bottom:0}.fs-modal.fs-modal-subscription-cancellation ul.subscription-actions label input{float:left;top:5px;position:relative}.rtl .fs-modal.fs-modal-subscription-cancellation ul.subscription-actions label input{float:right}.fs-modal.fs-modal-subscription-cancellation ul.subscription-actions label span{display:block;margin-left:24px}.rtl .fs-modal.fs-modal-subscription-cancellation ul.subscription-actions label span{margin-left:0;margin-right:24px}.fs-modal.fs-modal-license-activation .fs-modal-body input.fs-license-key{width:100%}.fs-license-options-container table,.fs-license-options-container table select,.fs-license-options-container table .fs-available-license-key{width:100%}.fs-license-options-container table td:first-child{width:1%}.fs-license-options-container table .fs-other-license-key-container label{position:relative;top:6px;float:left;margin-right:5px}.fs-license-options-container table .fs-other-license-key-container div{overflow:hidden;width:auto;height:30px;display:block;top:2px;position:relative}.fs-license-options-container table .fs-other-license-key-container div input{margin:0}.fs-sites-list-container td{cursor:pointer}.fs-modal.fs-modal-user-change .fs-modal-body input#fs_other_email_address{width:100%}.fs-user-change-options-container table{width:100%;border-collapse:collapse}.fs-user-change-options-container table tr{display:block;margin-bottom:2px}.fs-user-change-options-container table .fs-email-address-container td{display:inline-block}.fs-user-change-options-container table .fs-email-address-container input[type="radio"]{margin-bottom:0;margin-top:0}.fs-user-change-options-container table .fs-other-email-address-container{width:100%}.fs-user-change-options-container table .fs-other-email-address-container>div{display:table;width:100%}.fs-user-change-options-container table .fs-other-email-address-container>div label,.fs-user-change-options-container table .fs-other-email-address-container>div>div{display:table-cell}.fs-user-change-options-container table .fs-other-email-address-container>div label{width:1%;padding-left:3px;padding-right:3px}.fs-user-change-options-container table .fs-other-email-address-container>div>div{width:auto}.fs-user-change-options-container table .fs-other-email-address-container>div>div input{width:100%}.fs-modal.fs-modal-developer-license-debug-mode .fs-modal-body input.fs-license-or-user-key{width:100%}.fs-multisite-options-container{margin-top:10px;border:1px solid #ccc;padding:5px}.fs-multisite-options-container a{text-decoration:none}.fs-multisite-options-container a:focus{box-shadow:none}.fs-multisite-options-container a.selected{font-weight:bold}.fs-multisite-options-container.fs-apply-on-all-sites{border:0 none;padding:0}.fs-multisite-options-container.fs-apply-on-all-sites .fs-all-sites-options{border-spacing:0}.fs-multisite-options-container.fs-apply-on-all-sites .fs-all-sites-options td:not(:first-child){display:none}.fs-multisite-options-container .fs-sites-list-container{display:none;overflow:auto}.fs-multisite-options-container .fs-sites-list-container table td{border-top:1px solid #ccc;padding:4px 2px}.fs-modal.fs-modal-license-key-resend .email-address-container{overflow:hidden;padding-right:2px}.fs-modal.fs-modal-license-key-resend.fs-freemium input.email-address{width:300px}.fs-modal.fs-modal-license-key-resend.fs-freemium label{display:block;margin-bottom:10px}.fs-modal.fs-modal-license-key-resend.fs-premium input.email-address{width:100%}.fs-modal.fs-modal-license-key-resend.fs-premium .button-container{float:right;margin-left:7px}@media (max-width: 650px){.fs-modal.fs-modal-license-key-resend.fs-premium .button-container{margin-top:2px}}
|
2 |
.rtl .fs-modal.fs-modal-license-key-resend .fs-modal-body .input-container>.email-address-container{padding-left:2px;padding-right:0}.rtl .fs-modal.fs-modal-license-key-resend .fs-modal-body .button-container{float:left;margin-right:7px;margin-left:0}a.show-license-resend-modal{margin-top:4px;display:inline-block}.fs-ajax-loader{position:relative;width:170px;height:20px;margin:auto}.fs-ajax-loader .fs-ajax-loader-bar{position:absolute;top:0;background-color:#0074a3;width:20px;height:20px;-webkit-animation-name:bounce_ajaxLoader;-moz-animation-name:bounce_ajaxLoader;-ms-animation-name:bounce_ajaxLoader;-o-animation-name:bounce_ajaxLoader;animation-name:bounce_ajaxLoader;-webkit-animation-duration:1.5s;-moz-animation-duration:1.5s;-ms-animation-duration:1.5s;-o-animation-duration:1.5s;animation-duration:1.5s;animation-iteration-count:infinite;-o-animation-iteration-count:infinite;-ms-animation-iteration-count:infinite;-webkit-animation-iteration-count:infinite;-moz-animation-iteration-count:infinite;-webkit-animation-direction:normal;-moz-animation-direction:normal;-ms-animation-direction:normal;-o-animation-direction:normal;animation-direction:normal;-moz-transform:0.3;-o-transform:0.3;-ms-transform:0.3;-webkit-transform:0.3;transform:0.3}.fs-ajax-loader .fs-ajax-loader-bar-1{left:0px;animation-delay:0.6s;-o-animation-delay:0.6s;-ms-animation-delay:0.6s;-webkit-animation-delay:0.6s;-moz-animation-delay:0.6s}.fs-ajax-loader .fs-ajax-loader-bar-2{left:19px;animation-delay:0.75s;-o-animation-delay:0.75s;-ms-animation-delay:0.75s;-webkit-animation-delay:0.75s;-moz-animation-delay:0.75s}.fs-ajax-loader .fs-ajax-loader-bar-3{left:38px;animation-delay:0.9s;-o-animation-delay:0.9s;-ms-animation-delay:0.9s;-webkit-animation-delay:0.9s;-moz-animation-delay:0.9s}.fs-ajax-loader .fs-ajax-loader-bar-4{left:57px;animation-delay:1.05s;-o-animation-delay:1.05s;-ms-animation-delay:1.05s;-webkit-animation-delay:1.05s;-moz-animation-delay:1.05s}.fs-ajax-loader .fs-ajax-loader-bar-5{left:76px;animation-delay:1.2s;-o-animation-delay:1.2s;-ms-animation-delay:1.2s;-webkit-animation-delay:1.2s;-moz-animation-delay:1.2s}.fs-ajax-loader .fs-ajax-loader-bar-6{left:95px;animation-delay:1.35s;-o-animation-delay:1.35s;-ms-animation-delay:1.35s;-webkit-animation-delay:1.35s;-moz-animation-delay:1.35s}.fs-ajax-loader .fs-ajax-loader-bar-7{left:114px;animation-delay:1.5s;-o-animation-delay:1.5s;-ms-animation-delay:1.5s;-webkit-animation-delay:1.5s;-moz-animation-delay:1.5s}.fs-ajax-loader .fs-ajax-loader-bar-8{left:133px;animation-delay:1.65s;-o-animation-delay:1.65s;-ms-animation-delay:1.65s;-webkit-animation-delay:1.65s;-moz-animation-delay:1.65s}@-moz-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}@-ms-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}@-o-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}@-webkit-keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}@keyframes bounce_ajaxLoader{0%{-moz-transform:scale(1);-o-transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-moz-transform:scale(0.3);-o-transform:scale(0.3);-ms-transform:scale(0.3);-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}.fs-modal-auto-install #request-filesystem-credentials-form h2,.fs-modal-auto-install #request-filesystem-credentials-form .request-filesystem-credentials-action-buttons{display:none}.fs-modal-auto-install #request-filesystem-credentials-form input[type=password],.fs-modal-auto-install #request-filesystem-credentials-form input[type=email],.fs-modal-auto-install #request-filesystem-credentials-form input[type=text]{-webkit-appearance:none;padding:10px 10px 5px 10px;width:300px;max-width:100%}.fs-modal-auto-install #request-filesystem-credentials-form>div,.fs-modal-auto-install #request-filesystem-credentials-form label,.fs-modal-auto-install #request-filesystem-credentials-form fieldset{width:300px;max-width:100%;margin:0 auto;display:block}.button-primary.warn{box-shadow:0 1px 0 #d2593c;text-shadow:0 -1px 1px #d2593c,1px 0 1px #d2593c,0 1px 1px #d2593c,-1px 0 1px #d2593c;background:#f56a48;border-color:#ec6544 #d2593c #d2593c}.button-primary.warn:hover{background:#fd6d4a;border-color:#d2593c}.button-primary.warn:focus{box-shadow:0 1px 0 #dd6041,0 0 2px 1px #e4a796}.button-primary.warn:active{background:#dd6041;border-color:#d2593c;box-shadow:inset 0 2px 0 #d2593c}.button-primary.warn.disabled{color:#f5b3a1 !important;background:#e76444 !important;border-color:#d85e40 !important;text-shadow:0 -1px 0 rgba(0,0,0,0.1) !important}
|
freemius/assets/css/admin/plugins.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
label.fs-tag,span.fs-tag{background:#ffba00;color:#fff;display:inline-block;border-radius:3px;padding:5px;font-size:11px;line-height:11px;vertical-align:baseline}label.fs-tag.fs-warn,span.fs-tag.fs-warn{background:#ffba00}label.fs-tag.fs-info,span.fs-tag.fs-info{background:#00a0d2}label.fs-tag.fs-success,span.fs-tag.fs-success{background:#46b450}label.fs-tag.fs-error,span.fs-tag.fs-error{background:#dc3232}.wp-list-table.plugins .plugin-title span.fs-tag{display:inline-block;margin-left:5px;line-height:10px}
|
freemius/assets/css/customizer.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
#fs_customizer_upsell .fs-customizer-plan{padding:10px 20px 20px 20px;border-radius:3px;background:#fff}#fs_customizer_upsell .fs-customizer-plan h2{position:relative;margin:0;line-height:2em;text-transform:uppercase}#fs_customizer_upsell .fs-customizer-plan h2 .button-link{top:-2px}#fs_customizer_upsell .fs-feature{position:relative}#fs_customizer_upsell .dashicons-yes{color:#0085ba;font-size:2em;vertical-align:bottom;margin-left:-7px;margin-right:10px}.rtl #fs_customizer_upsell .dashicons-yes{margin-left:10px;margin-right:-7px}#fs_customizer_upsell .dashicons-editor-help{color:#bbb;cursor:help}#fs_customizer_upsell .dashicons-editor-help .fs-feature-desc{opacity:0;visibility:hidden;-moz-transition:opacity 0.3s ease-in-out;-o-transition:opacity 0.3s ease-in-out;-ms-transition:opacity 0.3s ease-in-out;-webkit-transition:opacity 0.3s ease-in-out;transition:opacity 0.3s ease-in-out;position:absolute;background:#000;color:#fff;font-family:'arial', serif;font-size:12px;padding:10px;z-index:999999;bottom:100%;margin-bottom:5px;left:0;right:0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;-moz-box-shadow:1px 1px 1px rgba(0,0,0,0.2);-webkit-box-shadow:1px 1px 1px rgba(0,0,0,0.2);box-shadow:1px 1px 1px rgba(0,0,0,0.2);line-height:1.3em;font-weight:bold;text-align:left}.rtl #fs_customizer_upsell .dashicons-editor-help .fs-feature-desc{text-align:right}#fs_customizer_upsell .dashicons-editor-help .fs-feature-desc::after{content:' ';display:block;width:0;height:0;border-style:solid;border-width:5px 5px 0 5px;border-color:#000 transparent transparent transparent;position:absolute;top:100%;left:21px}.rtl #fs_customizer_upsell .dashicons-editor-help .fs-feature-desc::after{right:21px;left:auto}#fs_customizer_upsell .dashicons-editor-help:hover .fs-feature-desc{visibility:visible;opacity:1}#fs_customizer_upsell .button-primary{display:block;text-align:center;margin-top:10px}#fs_customizer_support{display:block !important}#fs_customizer_support .button{float:right}#fs_customizer_support .button-group{width:100%;display:block;margin-top:10px}#fs_customizer_support .button-group .button{float:none;width:50%;text-align:center}
|
1 |
+
#fs_customizer_upsell .fs-customizer-plan{padding:10px 20px 20px 20px;border-radius:3px;background:#fff}#fs_customizer_upsell .fs-customizer-plan h2{position:relative;margin:0;line-height:2em;text-transform:uppercase}#fs_customizer_upsell .fs-customizer-plan h2 .button-link{top:-2px}#fs_customizer_upsell .fs-feature{position:relative}#fs_customizer_upsell .dashicons-yes{color:#0085ba;font-size:2em;vertical-align:bottom;margin-left:-7px;margin-right:10px}.rtl #fs_customizer_upsell .dashicons-yes{margin-left:10px;margin-right:-7px}#fs_customizer_upsell .dashicons-editor-help{color:#bbb;cursor:help}#fs_customizer_upsell .dashicons-editor-help .fs-feature-desc{opacity:0;visibility:hidden;-moz-transition:opacity 0.3s ease-in-out;-o-transition:opacity 0.3s ease-in-out;-ms-transition:opacity 0.3s ease-in-out;-webkit-transition:opacity 0.3s ease-in-out;transition:opacity 0.3s ease-in-out;position:absolute;background:#000;color:#fff;font-family:'arial', serif;font-size:12px;padding:10px;z-index:999999;bottom:100%;margin-bottom:5px;left:0;right:0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;-moz-box-shadow:1px 1px 1px rgba(0,0,0,0.2);-webkit-box-shadow:1px 1px 1px rgba(0,0,0,0.2);box-shadow:1px 1px 1px rgba(0,0,0,0.2);line-height:1.3em;font-weight:bold;text-align:left}.rtl #fs_customizer_upsell .dashicons-editor-help .fs-feature-desc{text-align:right}#fs_customizer_upsell .dashicons-editor-help .fs-feature-desc::after{content:' ';display:block;width:0;height:0;border-style:solid;border-width:5px 5px 0 5px;border-color:#000 transparent transparent transparent;position:absolute;top:100%;left:21px}.rtl #fs_customizer_upsell .dashicons-editor-help .fs-feature-desc::after{right:21px;left:auto}#fs_customizer_upsell .dashicons-editor-help:hover .fs-feature-desc{visibility:visible;opacity:1}#fs_customizer_upsell .button-primary{display:block;text-align:center;margin-top:10px}#fs_customizer_support{display:block !important}#fs_customizer_support .button{float:right}#fs_customizer_support .button-group{width:100%;display:block;margin-top:10px}#fs_customizer_support .button-group .button{float:none;width:50%;text-align:center}#customize-theme-controls #accordion-section-freemius_upsell{border-top:1px solid #0085ba !important;border-bottom:1px solid #0085ba !important}#customize-theme-controls #accordion-section-freemius_upsell h3.accordion-section-title{color:#fff;background-color:#0085ba;border-left:4px solid #0085ba;transition:.15s background-color ease-in-out, .15s border-color ease-in-out;outline:none;border-bottom:none !important}#customize-theme-controls #accordion-section-freemius_upsell h3.accordion-section-title:hover{background-color:#008ec2;border-left-color:#0073aa}#customize-theme-controls #accordion-section-freemius_upsell h3.accordion-section-title:after{color:#fff}#customize-theme-controls #accordion-section-freemius_upsell .rtl h3.accordion-section-title{border-left:none;border-right:4px solid #0085ba}#customize-theme-controls #accordion-section-freemius_upsell .rtl h3.accordion-section-title:hover{border-right-color:#0073aa}
|
freemius/config.php
CHANGED
@@ -385,4 +385,7 @@
|
|
385 |
|
386 |
if ( ! defined( 'WP_FS__DEMO_MODE' ) ) {
|
387 |
define( 'WP_FS__DEMO_MODE', false );
|
388 |
-
}
|
|
|
|
|
|
385 |
|
386 |
if ( ! defined( 'WP_FS__DEMO_MODE' ) ) {
|
387 |
define( 'WP_FS__DEMO_MODE', false );
|
388 |
+
}
|
389 |
+
if ( ! defined( 'FS_SDK__SSLVERIFY' ) ) {
|
390 |
+
define( 'FS_SDK__SSLVERIFY', false );
|
391 |
+
}
|
freemius/includes/class-freemius.php
CHANGED
@@ -164,6 +164,15 @@
|
|
164 |
*/
|
165 |
private $_has_addons;
|
166 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
167 |
/**
|
168 |
* @since 1.1.6
|
169 |
* @var string[]bool.
|
@@ -334,6 +343,22 @@
|
|
334 |
*/
|
335 |
private $_dynamically_added_top_level_page_hook_name = '';
|
336 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
337 |
#region Uninstall Reasons IDs
|
338 |
|
339 |
const REASON_NO_LONGER_NEEDED = 1;
|
@@ -352,6 +377,14 @@
|
|
352 |
const REASON_DIDNT_WORK_AS_EXPECTED = 14;
|
353 |
const REASON_TEMPORARY_DEACTIVATION = 15;
|
354 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
355 |
#endregion
|
356 |
|
357 |
/* Ctor
|
@@ -484,13 +517,13 @@
|
|
484 |
);
|
485 |
|
486 |
if ( 'true' === fs_request_get( 'fs_clear_api_cache' ) ||
|
487 |
-
|
488 |
) {
|
489 |
FS_Api::clear_cache();
|
490 |
$this->_cache->clear();
|
491 |
}
|
492 |
|
493 |
-
$this->
|
494 |
|
495 |
/**
|
496 |
* Starting from version 2.0.0, `FS_Site` entities no longer have the `plan` property and have `plan_id`
|
@@ -702,6 +735,52 @@
|
|
702 |
$this->_menu->has_menu();
|
703 |
}
|
704 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
705 |
/**
|
706 |
* Check if the context module is free wp.org theme.
|
707 |
*
|
@@ -734,12 +813,11 @@
|
|
734 |
* @since 1.2.2.7 Even if the menu item was specified to be hidden, when it is the context page, then show the submenu item so the user will have the right context page.
|
735 |
*
|
736 |
* @param string $slug
|
737 |
-
* @param bool $
|
738 |
-
* or hidden.
|
739 |
*
|
740 |
* @return bool
|
741 |
*/
|
742 |
-
function is_submenu_item_visible( $slug, $
|
743 |
if ( $this->is_admin_page( $slug ) ) {
|
744 |
/**
|
745 |
* It is the current context page, so show the submenu item
|
@@ -754,7 +832,11 @@
|
|
754 |
return false;
|
755 |
}
|
756 |
|
757 |
-
if (
|
|
|
|
|
|
|
|
|
758 |
/**
|
759 |
* wp.org themes are limited to a single submenu item, and
|
760 |
* sub-submenu items are most likely not allowed (never verified).
|
@@ -980,7 +1062,7 @@
|
|
980 |
}
|
981 |
|
982 |
if ( isset( $this->_storage->subscription ) && is_object( $this->_storage->subscription ) ) {
|
983 |
-
$this->_storage->subscriptions = array( $this->_storage->subscription );
|
984 |
}
|
985 |
}
|
986 |
|
@@ -1395,7 +1477,10 @@
|
|
1395 |
if ( $this->is_plugin() &&
|
1396 |
! isset( $this->_storage->is_plugin_new_install )
|
1397 |
) {
|
1398 |
-
$this->_storage->is_plugin_new_install =
|
|
|
|
|
|
|
1399 |
}
|
1400 |
}
|
1401 |
|
@@ -1418,6 +1503,13 @@
|
|
1418 |
-1 < settings.url.indexOf('admin-ajax.php') &&
|
1419 |
! ( settings.url.indexOf( '<?php echo $admin_param ?>' ) > 0 )
|
1420 |
) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1421 |
if (settings.url.indexOf('?') > 0) {
|
1422 |
settings.url += '&';
|
1423 |
} else {
|
@@ -1425,7 +1517,6 @@
|
|
1425 |
}
|
1426 |
|
1427 |
settings.url += '<?php echo $admin_param ?>=true';
|
1428 |
-
|
1429 |
}
|
1430 |
});
|
1431 |
})(jQuery);
|
@@ -1443,7 +1534,7 @@
|
|
1443 |
?>
|
1444 |
<script type="text/javascript">
|
1445 |
(function ($) {
|
1446 |
-
$('.fs-submenu-item.wp-support-forum').parent().attr(
|
1447 |
})(jQuery);
|
1448 |
</script>
|
1449 |
<?php
|
@@ -1453,11 +1544,11 @@
|
|
1453 |
* @author Vova Feldman (@svovaf)
|
1454 |
* @since 1.0.9
|
1455 |
*/
|
1456 |
-
private function
|
1457 |
$this->_logger->entrance();
|
1458 |
|
1459 |
if ( is_admin() ) {
|
1460 |
-
add_action( '
|
1461 |
|
1462 |
if ( $this->is_plugin() ) {
|
1463 |
if ( self::is_plugin_install_page() && true !== fs_request_get_bool( 'fs_allow_updater_and_dialog' ) ) {
|
@@ -1498,34 +1589,6 @@
|
|
1498 |
} else {
|
1499 |
add_action( 'after_switch_theme', array( &$this, '_activate_theme_event_hook' ), 10, 2 );
|
1500 |
|
1501 |
-
/**
|
1502 |
-
* Include the required hooks to capture the theme settings' page tabs
|
1503 |
-
* and cache them.
|
1504 |
-
*
|
1505 |
-
* @author Vova Feldman (@svovaf)
|
1506 |
-
* @since 1.2.2.7
|
1507 |
-
*/
|
1508 |
-
if ( ! $this->_cache->has_valid( 'tabs' ) ) {
|
1509 |
-
add_action( 'admin_footer', array( &$this, '_tabs_capture' ) );
|
1510 |
-
// Add license activation AJAX callback.
|
1511 |
-
$this->add_ajax_action( 'store_tabs', array( &$this, '_store_tabs_ajax_action' ) );
|
1512 |
-
|
1513 |
-
add_action( 'admin_enqueue_scripts', array( &$this, '_store_tabs_styles' ), 9999999 );
|
1514 |
-
}
|
1515 |
-
|
1516 |
-
add_action(
|
1517 |
-
'admin_footer',
|
1518 |
-
array( &$this, '_add_freemius_tabs' ),
|
1519 |
-
/**
|
1520 |
-
* The tabs JS code must be executed after the tabs capture logic (_tabs_capture()).
|
1521 |
-
* That's why the priority is 11 while the tabs capture logic is added
|
1522 |
-
* with priority 10.
|
1523 |
-
*
|
1524 |
-
* @author Vova Feldman (@svovaf)
|
1525 |
-
*/
|
1526 |
-
11
|
1527 |
-
);
|
1528 |
-
|
1529 |
add_action( 'admin_footer', array( &$this, '_style_premium_theme' ) );
|
1530 |
}
|
1531 |
|
@@ -1545,7 +1608,10 @@
|
|
1545 |
*
|
1546 |
* @author Vova Feldman (@svovaf)
|
1547 |
*/
|
1548 |
-
if ( $this->is_plugin() &&
|
|
|
|
|
|
|
1549 |
add_action( 'plugins_loaded', array( &$this, '_plugins_loaded' ) );
|
1550 |
} else {
|
1551 |
// If was activated before, then it was already loaded before.
|
@@ -1564,6 +1630,7 @@
|
|
1564 |
}
|
1565 |
|
1566 |
add_action( 'init', array( &$this, '_maybe_add_gdpr_optin_ajax_handler') );
|
|
|
1567 |
}
|
1568 |
|
1569 |
if ( $this->is_plugin() ) {
|
@@ -1595,16 +1662,19 @@
|
|
1595 |
|
1596 |
add_action( 'admin_init', array( &$this, '_redirect_on_clicked_menu_link' ), WP_FS__LOWEST_PRIORITY );
|
1597 |
|
1598 |
-
if ( $this->is_theme() ) {
|
1599 |
add_action( 'admin_init', array( &$this, '_add_tracking_links' ) );
|
1600 |
}
|
1601 |
|
1602 |
add_action( 'admin_init', array( &$this, '_add_license_activation' ) );
|
1603 |
add_action( 'admin_init', array( &$this, '_add_premium_version_upgrade_selection' ) );
|
1604 |
add_action( 'admin_init', array( &$this, '_add_beta_mode_update_handler' ) );
|
|
|
1605 |
|
1606 |
$this->add_ajax_action( 'update_billing', array( &$this, '_update_billing_ajax_action' ) );
|
1607 |
$this->add_ajax_action( 'start_trial', array( &$this, '_start_trial_ajax_action' ) );
|
|
|
|
|
1608 |
|
1609 |
if ( $this->_is_network_active && fs_is_network_admin() ) {
|
1610 |
$this->add_ajax_action( 'network_activate', array( &$this, '_network_activate_ajax_action' ) );
|
@@ -1646,6 +1716,65 @@
|
|
1646 |
}
|
1647 |
}
|
1648 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1649 |
/**
|
1650 |
* Makes Freemius-related updates unavailable on the "Add Plugins" admin page (/plugin-install.php) so that
|
1651 |
* they won't interfere with the .org plugins' functionalities on that page (e.g. updating of a .org plugin).
|
@@ -1908,7 +2037,11 @@
|
|
1908 |
* @since 2.0.0
|
1909 |
*/
|
1910 |
function _hook_action_links_and_register_account_hooks() {
|
1911 |
-
|
|
|
|
|
|
|
|
|
1912 |
|
1913 |
if ( self::is_plugins_page() && $this->is_plugin() ) {
|
1914 |
$this->hook_plugin_action_links();
|
@@ -2088,6 +2221,12 @@
|
|
2088 |
);
|
2089 |
|
2090 |
$store_option = true;
|
|
|
|
|
|
|
|
|
|
|
|
|
2091 |
}
|
2092 |
|
2093 |
if ( empty( $id_slug_type_path_map[ $module_id ]['path'] ) ||
|
@@ -2250,6 +2389,10 @@
|
|
2250 |
|
2251 |
if ( ! isset( $caller_map[ $caller_file_hash ] ) ) {
|
2252 |
foreach ( $all_plugins_paths as $plugin_path ) {
|
|
|
|
|
|
|
|
|
2253 |
if ( false !== strpos( $caller_file_path, fs_normalize_path( dirname( $plugin_path ) . '/' ) ) ) {
|
2254 |
$caller_map[ $caller_file_hash ] = fs_normalize_path( $plugin_path );
|
2255 |
break;
|
@@ -2928,7 +3071,7 @@
|
|
2928 |
* @return bool
|
2929 |
*/
|
2930 |
function is_activation_page() {
|
2931 |
-
if ( $this->_menu->
|
2932 |
return true;
|
2933 |
}
|
2934 |
|
@@ -4157,7 +4300,7 @@
|
|
4157 |
)
|
4158 |
),
|
4159 |
sprintf(
|
4160 |
-
'<a href="%s" target="_blank"><b>%s</b></a> - %s',
|
4161 |
sprintf( 'https://wordpress.org/plugins/%s/download/', $this->_slug ),
|
4162 |
$install_previous_title,
|
4163 |
$install_previous_desc
|
@@ -4264,7 +4407,7 @@
|
|
4264 |
)
|
4265 |
),
|
4266 |
sprintf(
|
4267 |
-
'<a href="%s" target="_blank"><b>%s</b></a> - %s',
|
4268 |
sprintf( 'https://wordpress.org/plugins/%s/download/', $this->_slug ),
|
4269 |
$install_previous_title,
|
4270 |
$install_previous_desc
|
@@ -4630,22 +4773,7 @@
|
|
4630 |
|
4631 |
$this->parse_settings( $plugin_info );
|
4632 |
|
4633 |
-
|
4634 |
-
$this->add_ajax_action(
|
4635 |
-
'delete_theme_update_data',
|
4636 |
-
array( &$this, '_delete_theme_update_data_action' )
|
4637 |
-
);
|
4638 |
-
}
|
4639 |
-
|
4640 |
-
if ( ! self::is_ajax() ) {
|
4641 |
-
if ( ! $this->is_addon() || $this->is_only_premium() ) {
|
4642 |
-
add_action(
|
4643 |
-
( $this->_is_network_active && fs_is_network_admin() ? 'network_' : '' ) . 'admin_menu',
|
4644 |
-
array( &$this, '_prepare_admin_menu' ),
|
4645 |
-
WP_FS__LOWEST_PRIORITY
|
4646 |
-
);
|
4647 |
-
}
|
4648 |
-
}
|
4649 |
|
4650 |
if ( $this->should_stop_execution() ) {
|
4651 |
return;
|
@@ -4800,7 +4928,10 @@
|
|
4800 |
} else {
|
4801 |
$is_network_admin = fs_is_network_admin();
|
4802 |
|
4803 |
-
if (
|
|
|
|
|
|
|
4804 |
$this->_parent->is_registered() &&
|
4805 |
! $this->is_registered() &&
|
4806 |
/**
|
@@ -4816,16 +4947,40 @@
|
|
4816 |
*/
|
4817 |
( $this->is_network_active() || ! $is_network_admin )
|
4818 |
) {
|
4819 |
-
|
4820 |
-
|
4821 |
-
|
4822 |
-
|
4823 |
-
|
4824 |
-
|
4825 |
-
)
|
4826 |
-
|
4827 |
-
|
4828 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4829 |
}
|
4830 |
|
4831 |
// @todo This should be only executed on activation. It should be migrated to register_activation_hook() together with other activation related logic.
|
@@ -5320,6 +5475,65 @@
|
|
5320 |
}
|
5321 |
}
|
5322 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5323 |
/**
|
5324 |
* Parse plugin's settings (as defined by the plugin dev).
|
5325 |
*
|
@@ -5396,6 +5610,7 @@
|
|
5396 |
'is_live' => $this->get_bool_option( $plugin_info, 'is_live', true ),
|
5397 |
'affiliate_moderation' => $this->get_option( $plugin_info, 'has_affiliation' ),
|
5398 |
'bundle_id' => $this->get_option( $plugin_info, 'bundle_id', null ),
|
|
|
5399 |
) );
|
5400 |
|
5401 |
if ( $plugin->is_updated() ) {
|
@@ -5456,6 +5671,7 @@
|
|
5456 |
$this->_anonymous_mode = $this->get_bool_option( $plugin_info, 'anonymous_mode', false );
|
5457 |
}
|
5458 |
$this->_permissions = $this->get_option( $plugin_info, 'permissions', array() );
|
|
|
5459 |
|
5460 |
if ( ! empty( $plugin_info['trial'] ) ) {
|
5461 |
$this->_trial_days = $this->get_numeric_option(
|
@@ -5467,6 +5683,14 @@
|
|
5467 |
|
5468 |
$this->_is_trial_require_payment = $this->get_bool_option( $plugin_info['trial'], 'is_require_payment', false );
|
5469 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5470 |
}
|
5471 |
|
5472 |
/**
|
@@ -5819,12 +6043,16 @@
|
|
5819 |
* @return Freemius[]
|
5820 |
*/
|
5821 |
function get_installed_addons() {
|
|
|
|
|
|
|
|
|
|
|
5822 |
$installed_addons = array();
|
|
|
5823 |
foreach ( self::$_instances as $instance ) {
|
5824 |
-
if ( $instance->
|
5825 |
-
|
5826 |
-
$installed_addons[] = $instance;
|
5827 |
-
}
|
5828 |
}
|
5829 |
}
|
5830 |
|
@@ -5874,7 +6102,25 @@
|
|
5874 |
* @return bool
|
5875 |
*/
|
5876 |
function is_addon() {
|
5877 |
-
return
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5878 |
}
|
5879 |
|
5880 |
/**
|
@@ -6631,6 +6877,8 @@
|
|
6631 |
} else {
|
6632 |
$this->sync_install();
|
6633 |
}
|
|
|
|
|
6634 |
}
|
6635 |
}
|
6636 |
}
|
@@ -6843,6 +7091,8 @@
|
|
6843 |
} else {
|
6844 |
$this->sync_install( array(), true );
|
6845 |
}
|
|
|
|
|
6846 |
}
|
6847 |
}
|
6848 |
|
@@ -6899,6 +7149,8 @@
|
|
6899 |
* @since 1.0.7
|
6900 |
*/
|
6901 |
function _admin_init_action() {
|
|
|
|
|
6902 |
/**
|
6903 |
* Automatically redirect to connect/activation page after plugin activation.
|
6904 |
*
|
@@ -6911,12 +7163,16 @@
|
|
6911 |
/**
|
6912 |
* Don't redirect if activating multiple plugins at once (bulk activation).
|
6913 |
*/
|
6914 |
-
} else {
|
6915 |
$this->_redirect_on_activation_hook();
|
6916 |
return;
|
6917 |
}
|
6918 |
}
|
6919 |
|
|
|
|
|
|
|
|
|
6920 |
if ( fs_request_is_action( $this->get_unique_affix() . '_skip_activation' ) ) {
|
6921 |
check_admin_referer( $this->get_unique_affix() . '_skip_activation' );
|
6922 |
|
@@ -6937,8 +7193,7 @@
|
|
6937 |
|
6938 |
$this->_add_upgrade_action_link();
|
6939 |
|
6940 |
-
if ( ! $this->
|
6941 |
-
! ( ! $this->_is_network_active && fs_is_network_admin() ) &&
|
6942 |
(
|
6943 |
( true === $this->_storage->require_license_activation ) ||
|
6944 |
// Not registered nor anonymous.
|
@@ -6948,7 +7203,7 @@
|
|
6948 |
)
|
6949 |
) {
|
6950 |
if ( ! $this->is_pending_activation() ) {
|
6951 |
-
if ( ! $this->
|
6952 |
/**
|
6953 |
* If a user visits any other admin page before activating the premium-only theme with a valid
|
6954 |
* license, reactivate the previous theme.
|
@@ -7015,8 +7270,8 @@
|
|
7015 |
}
|
7016 |
}
|
7017 |
|
7018 |
-
if ( $this->
|
7019 |
-
$this->
|
7020 |
) {
|
7021 |
$this->_show_theme_activation_optin_dialog();
|
7022 |
}
|
@@ -7482,7 +7737,10 @@
|
|
7482 |
* @author Leo Fajardo (@leorw)
|
7483 |
* @since 1.2.2
|
7484 |
*/
|
7485 |
-
if (
|
|
|
|
|
|
|
7486 |
deactivate_plugins( $other_version_basename );
|
7487 |
}
|
7488 |
}
|
@@ -7591,8 +7849,17 @@
|
|
7591 |
$this->_storage->is_plugin_new_install = empty( $this->_storage->plugin_last_version );
|
7592 |
}
|
7593 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7594 |
if ( ! $this->_anonymous_mode &&
|
7595 |
-
$
|
7596 |
! $this->_isAutoInstall
|
7597 |
) {
|
7598 |
// Store hint that the plugin was just activated to enable auto-redirection to settings.
|
@@ -7625,11 +7892,20 @@
|
|
7625 |
return;
|
7626 |
}
|
7627 |
|
7628 |
-
$license = $this->
|
7629 |
if ( ! is_object( $license ) ) {
|
7630 |
return;
|
7631 |
}
|
7632 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7633 |
if ( ! $this->is_registered() ) {
|
7634 |
// Opt in with a license key.
|
7635 |
$this->opt_in(
|
@@ -7652,7 +7928,6 @@
|
|
7652 |
}
|
7653 |
}
|
7654 |
|
7655 |
-
|
7656 |
/**
|
7657 |
* @author Leo Fajardo (@leorw)
|
7658 |
* @since 2.3.0
|
@@ -7668,12 +7943,21 @@
|
|
7668 |
|
7669 |
$license = ( ! is_null( $license ) ) ?
|
7670 |
$license :
|
7671 |
-
$this->
|
7672 |
|
7673 |
if ( ! is_object( $license ) ) {
|
7674 |
return;
|
7675 |
}
|
7676 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7677 |
if ( ! $this->is_network_registered() ) {
|
7678 |
$sites = $this->get_sites_for_network_level_optin();
|
7679 |
|
@@ -7737,17 +8021,218 @@
|
|
7737 |
}
|
7738 |
|
7739 |
/**
|
|
|
|
|
7740 |
* @author Leo Fajardo (@leorw)
|
7741 |
-
* @since 2.
|
7742 |
*
|
7743 |
-
* @
|
|
|
|
|
7744 |
*/
|
7745 |
-
private function
|
7746 |
-
$
|
7747 |
-
|
|
|
7748 |
|
7749 |
-
$
|
7750 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7751 |
);
|
7752 |
|
7753 |
if ( ! empty ( $foreign_licenses ) ) {
|
@@ -7760,7 +8245,7 @@
|
|
7760 |
$parent_licenses_endpoint = add_query_arg( $foreign_licenses, $parent_licenses_endpoint );
|
7761 |
}
|
7762 |
|
7763 |
-
$result = $
|
7764 |
|
7765 |
if (
|
7766 |
! $this->is_api_result_object( $result, 'licenses' ) ||
|
@@ -7770,9 +8255,24 @@
|
|
7770 |
return null;
|
7771 |
}
|
7772 |
|
7773 |
-
$
|
7774 |
|
7775 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7776 |
}
|
7777 |
|
7778 |
/**
|
@@ -7781,7 +8281,7 @@
|
|
7781 |
*
|
7782 |
* @return array
|
7783 |
*/
|
7784 |
-
|
7785 |
$sites = array();
|
7786 |
$all_sites = self::get_sites();
|
7787 |
|
@@ -7911,6 +8411,10 @@
|
|
7911 |
foreach ( $sites as $site ) {
|
7912 |
$blog_id = self::get_site_blog_id( $site );
|
7913 |
|
|
|
|
|
|
|
|
|
7914 |
$install_id = $this->_delete_site( true, $blog_id );
|
7915 |
|
7916 |
// Clear all storage data.
|
@@ -8521,12 +9025,25 @@
|
|
8521 |
'is_uninstalled' => false,
|
8522 |
);
|
8523 |
|
8524 |
-
$plugins_update_data[] = $new_plugin;
|
8525 |
$network_plugins_cache->plugins[ $basename ] = $new_plugin;
|
8526 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8527 |
if ( isset( $site_active_plugins[ $basename ] ) ) {
|
8528 |
$site_active_plugins_cache->plugins[ $basename ] = $new_plugin;
|
8529 |
-
$site_active_plugins_cache->plugins[ $basename ]['is_active'] =
|
8530 |
}
|
8531 |
}
|
8532 |
}
|
@@ -8688,26 +9205,28 @@
|
|
8688 |
$include_themes = true,
|
8689 |
$include_blog_data = true
|
8690 |
) {
|
8691 |
-
if (
|
8692 |
-
|
8693 |
-
|
8694 |
-
|
8695 |
-
|
8696 |
-
$
|
8697 |
-
|
8698 |
-
$
|
|
|
|
|
8699 |
}
|
8700 |
}
|
8701 |
-
}
|
8702 |
|
8703 |
-
|
8704 |
-
|
8705 |
-
|
8706 |
-
|
8707 |
-
|
8708 |
-
|
8709 |
-
|
8710 |
-
|
|
|
8711 |
}
|
8712 |
}
|
8713 |
}
|
@@ -9063,6 +9582,21 @@
|
|
9063 |
}
|
9064 |
}
|
9065 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9066 |
/**
|
9067 |
* Update install only if changed.
|
9068 |
*
|
@@ -9346,6 +9880,8 @@
|
|
9346 |
$fs = self::get_instance_by_file( $plugin_file );
|
9347 |
|
9348 |
if ( is_object( $fs ) ) {
|
|
|
|
|
9349 |
self::require_plugin_essentials();
|
9350 |
|
9351 |
if ( is_plugin_active( $fs->_free_plugin_basename ) ||
|
@@ -9397,10 +9933,12 @@
|
|
9397 |
* @author Vova Feldman (@svovaf)
|
9398 |
* @since 1.0.1
|
9399 |
*
|
|
|
|
|
9400 |
* @return array
|
9401 |
*/
|
9402 |
-
function get_plugin_data() {
|
9403 |
-
if ( ! isset( $this->_plugin_data ) ) {
|
9404 |
self::require_plugin_essentials();
|
9405 |
|
9406 |
if ( $this->is_plugin() ) {
|
@@ -9505,6 +10043,18 @@
|
|
9505 |
null;
|
9506 |
}
|
9507 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9508 |
/**
|
9509 |
* @author Vova Feldman (@svovaf)
|
9510 |
* @since 1.2.1.5
|
@@ -9527,6 +10077,32 @@
|
|
9527 |
$this->_plugin->id;
|
9528 |
}
|
9529 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9530 |
/**
|
9531 |
* @author Vova Feldman (@svovaf)
|
9532 |
* @since 1.0.1
|
@@ -9626,12 +10202,14 @@
|
|
9626 |
* @author Vova Feldman (@svovaf)
|
9627 |
* @since 1.0.0
|
9628 |
*
|
|
|
|
|
9629 |
* @return string
|
9630 |
*/
|
9631 |
-
function get_plugin_version() {
|
9632 |
$this->_logger->entrance();
|
9633 |
|
9634 |
-
$plugin_data = $this->get_plugin_data();
|
9635 |
|
9636 |
$this->_logger->departure( 'Version = ' . $plugin_data['Version'] );
|
9637 |
|
@@ -9756,7 +10334,7 @@
|
|
9756 |
* @return array[number]FS_User
|
9757 |
*/
|
9758 |
static function get_all_users() {
|
9759 |
-
$users = self
|
9760 |
|
9761 |
if ( ! is_array( $users ) ) {
|
9762 |
$users = array();
|
@@ -9800,7 +10378,7 @@
|
|
9800 |
$option_name = $module_type . '_' . $option_name;
|
9801 |
}
|
9802 |
|
9803 |
-
return self
|
9804 |
}
|
9805 |
|
9806 |
/**
|
@@ -9848,6 +10426,58 @@
|
|
9848 |
self::$_accounts->set_option( $option_name, $option_value, $store, $network_level_or_blog_id );
|
9849 |
}
|
9850 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9851 |
/**
|
9852 |
* @author Vova Feldman (@svovaf)
|
9853 |
* @since 1.0.6
|
@@ -10031,7 +10661,7 @@
|
|
10031 |
* @return FS_Plugin_Tag[]
|
10032 |
*/
|
10033 |
private static function get_all_updates() {
|
10034 |
-
$updates = self
|
10035 |
|
10036 |
if ( ! is_array( $updates ) ) {
|
10037 |
$updates = array();
|
@@ -10047,7 +10677,7 @@
|
|
10047 |
* @return array<number,FS_Plugin[]>|false
|
10048 |
*/
|
10049 |
private static function get_all_addons() {
|
10050 |
-
$addons = self
|
10051 |
|
10052 |
if ( ! is_array( $addons ) ) {
|
10053 |
$addons = array();
|
@@ -10060,7 +10690,7 @@
|
|
10060 |
* @author Vova Feldman (@svovaf)
|
10061 |
* @since 1.0.6
|
10062 |
*
|
10063 |
-
* @return
|
10064 |
*/
|
10065 |
private static function get_all_account_addons() {
|
10066 |
$addons = self::$_accounts->get_option( 'account_addons', array() );
|
@@ -10101,6 +10731,18 @@
|
|
10101 |
return ( is_object( $this->_site ) && $this->_site->is_tracking_allowed() );
|
10102 |
}
|
10103 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10104 |
/**
|
10105 |
* @author Vova Feldman (@svovaf)
|
10106 |
* @since 1.0.4
|
@@ -10161,7 +10803,7 @@
|
|
10161 |
* @author Vova Feldman (@svovaf)
|
10162 |
* @since 1.0.6
|
10163 |
*
|
10164 |
-
* @return
|
10165 |
*/
|
10166 |
function get_account_addons() {
|
10167 |
$this->_logger->entrance();
|
@@ -10305,7 +10947,7 @@
|
|
10305 |
|
10306 |
if ( ! fs_is_network_admin() ) {
|
10307 |
// Get blog-level activated installations.
|
10308 |
-
$sites = self
|
10309 |
} else {
|
10310 |
$sites = null;
|
10311 |
|
@@ -10314,7 +10956,7 @@
|
|
10314 |
) {
|
10315 |
if ( FS_Site::is_valid_id( $addon_storage->network_install_blog_id ) ) {
|
10316 |
// Get network-level activated installations.
|
10317 |
-
$sites = self
|
10318 |
'sites',
|
10319 |
array(),
|
10320 |
$addon_storage->network_install_blog_id
|
@@ -10324,9 +10966,10 @@
|
|
10324 |
}
|
10325 |
|
10326 |
$addon_info = array(
|
10327 |
-
'is_connected'
|
10328 |
-
'slug'
|
10329 |
-
'title'
|
|
|
10330 |
);
|
10331 |
|
10332 |
if ( ! $is_installed ) {
|
@@ -10372,14 +11015,14 @@
|
|
10372 |
|
10373 |
$addon_info['site'] = $site;
|
10374 |
|
10375 |
-
$plugins_data = self
|
10376 |
if ( isset( $plugins_data[ $slug ] ) ) {
|
10377 |
$plugin_data = $plugins_data[ $slug ];
|
10378 |
|
10379 |
$addon_info['version'] = $plugin_data->version;
|
10380 |
}
|
10381 |
|
10382 |
-
$all_plans = self
|
10383 |
if ( isset( $all_plans[ $slug ] ) ) {
|
10384 |
$plans = $all_plans[ $slug ];
|
10385 |
|
@@ -10392,7 +11035,7 @@
|
|
10392 |
}
|
10393 |
}
|
10394 |
|
10395 |
-
$licenses = self
|
10396 |
if ( is_array( $licenses ) && isset( $licenses[ $addon_id ] ) ) {
|
10397 |
foreach ( $licenses[ $addon_id ] as $license ) {
|
10398 |
if ( $license->id == $site->license_id ) {
|
@@ -10406,7 +11049,9 @@
|
|
10406 |
if ( isset( $addon_storage->subscriptions ) &&
|
10407 |
! empty( $addon_storage->subscriptions )
|
10408 |
) {
|
10409 |
-
|
|
|
|
|
10410 |
if ( $subscription->license_id == $site->license_id ) {
|
10411 |
$addon_info['subscription'] = $subscription;
|
10412 |
break;
|
@@ -10497,7 +11142,7 @@
|
|
10497 |
function is_premium() {
|
10498 |
/**
|
10499 |
* `$this->_plugin` will be `false` when `is_activation_mode` calls this method directly from the
|
10500 |
-
* `
|
10501 |
*
|
10502 |
* @author Leo Fajardo (@leorw)
|
10503 |
* @since 2.2.3
|
@@ -10594,7 +11239,20 @@
|
|
10594 |
return false;
|
10595 |
}
|
10596 |
|
10597 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10598 |
}
|
10599 |
|
10600 |
/**
|
@@ -10729,10 +11387,26 @@
|
|
10729 |
* @author Vova Feldman (@svovaf)
|
10730 |
* @since 1.1.7.3
|
10731 |
*
|
|
|
|
|
10732 |
* @return bool
|
10733 |
*/
|
10734 |
-
function has_any_license() {
|
10735 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10736 |
}
|
10737 |
|
10738 |
/**
|
@@ -10878,7 +11552,9 @@
|
|
10878 |
|
10879 |
if ( $license instanceof FS_Plugin_License ) {
|
10880 |
$this->_licenses[] = $license;
|
10881 |
-
|
|
|
|
|
10882 |
$this->_store_licenses();
|
10883 |
|
10884 |
return $license;
|
@@ -11103,7 +11779,22 @@
|
|
11103 |
|
11104 |
// Update current license.
|
11105 |
if ( is_object( $this->_license ) ) {
|
11106 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11107 |
}
|
11108 |
|
11109 |
return $this->_licenses;
|
@@ -11447,18 +12138,33 @@
|
|
11447 |
* Activate a given license on a collection of blogs/sites that are not yet opted-in.
|
11448 |
*
|
11449 |
* @author Vova Feldman (@svovaf)
|
11450 |
-
* @since 2.
|
11451 |
*
|
11452 |
* @param \FS_User $user
|
11453 |
* @param string $license_key
|
11454 |
-
* @param int[] $site_ids
|
11455 |
*
|
11456 |
* @return true|mixed True if successful, otherwise, the API result.
|
11457 |
*/
|
11458 |
-
private function
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11459 |
FS_User $user,
|
11460 |
$license_key,
|
11461 |
-
array $site_ids
|
11462 |
) {
|
11463 |
$sites = array();
|
11464 |
foreach ( $site_ids as $site_id ) {
|
@@ -11482,30 +12188,43 @@
|
|
11482 |
}
|
11483 |
|
11484 |
$installs = array();
|
11485 |
-
foreach ( $result->installs as $install ) {
|
11486 |
-
$installs[] = new FS_Site( $install );
|
11487 |
-
}
|
11488 |
|
11489 |
-
|
11490 |
-
|
11491 |
|
11492 |
-
|
11493 |
|
11494 |
-
|
11495 |
-
$address = trailingslashit( fs_strip_url_protocol( $install->url ) );
|
11496 |
-
$blog_id = $address_to_blog_map[ $address ];
|
11497 |
|
11498 |
-
$this->
|
11499 |
|
11500 |
-
$this->reset_anonymous_mode(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11501 |
|
11502 |
-
|
11503 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11504 |
}
|
11505 |
-
}
|
11506 |
|
11507 |
-
|
11508 |
-
|
|
|
11509 |
}
|
11510 |
|
11511 |
return true;
|
@@ -11524,7 +12243,15 @@
|
|
11524 |
function _update_site_license( $new_license ) {
|
11525 |
$this->_logger->entrance();
|
11526 |
|
11527 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11528 |
|
11529 |
if ( ! is_object( $new_license ) ) {
|
11530 |
$this->_site->license_id = null;
|
@@ -11559,6 +12286,241 @@
|
|
11559 |
return $this->_license;
|
11560 |
}
|
11561 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11562 |
/**
|
11563 |
* Sync site's subscription.
|
11564 |
*
|
@@ -11616,7 +12578,7 @@
|
|
11616 |
return null;
|
11617 |
}
|
11618 |
|
11619 |
-
foreach ( $this->_storage->subscriptions as $subscription ) {
|
11620 |
if ( $subscription->license_id == $license_id ) {
|
11621 |
return $subscription;
|
11622 |
}
|
@@ -11642,7 +12604,7 @@
|
|
11642 |
return;
|
11643 |
}
|
11644 |
|
11645 |
-
$subscriptions = $this->_storage->subscriptions;
|
11646 |
|
11647 |
$updated_subscription = false;
|
11648 |
foreach ( $subscriptions as $key => $existing_subscription ) {
|
@@ -11737,7 +12699,7 @@
|
|
11737 |
}
|
11738 |
|
11739 |
$current_plan_order = - 1;
|
11740 |
-
$required_plan_order =
|
11741 |
for ( $i = 0, $len = count( $this->_plans ); $i < $len; $i ++ ) {
|
11742 |
if ( $plan === $this->_plans[ $i ]->name ) {
|
11743 |
$required_plan_order = $i;
|
@@ -11755,9 +12717,11 @@
|
|
11755 |
* @author Vova Feldman (@svovaf)
|
11756 |
* @since 1.2.1.7
|
11757 |
*
|
|
|
|
|
11758 |
* @return bool
|
11759 |
*/
|
11760 |
-
function is_single_plan() {
|
11761 |
$this->_logger->entrance();
|
11762 |
|
11763 |
if ( ! $this->is_registered() ||
|
@@ -11767,7 +12731,18 @@
|
|
11767 |
return true;
|
11768 |
}
|
11769 |
|
11770 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11771 |
}
|
11772 |
|
11773 |
/**
|
@@ -11881,6 +12856,77 @@
|
|
11881 |
fs_require_template( 'forms/resend-key.php', $vars );
|
11882 |
}
|
11883 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11884 |
/**
|
11885 |
* Displays a subscription cancellation dialog box when the user clicks on the "Deactivate License"
|
11886 |
* link on the "Account" page or deactivates a plugin and there's an active subscription that is
|
@@ -11899,6 +12945,10 @@
|
|
11899 |
// Subscription cancellation dialog box is currently not supported for multisite networks.
|
11900 |
return array();
|
11901 |
}
|
|
|
|
|
|
|
|
|
11902 |
|
11903 |
$license = $this->_get_license();
|
11904 |
|
@@ -11976,6 +13026,10 @@
|
|
11976 |
* @since 1.2.0
|
11977 |
*/
|
11978 |
function _add_license_activation() {
|
|
|
|
|
|
|
|
|
11979 |
if ( ! $this->is_user_admin() ) {
|
11980 |
// Only admins can activate a license.
|
11981 |
return;
|
@@ -11986,8 +13040,18 @@
|
|
11986 |
return;
|
11987 |
}
|
11988 |
|
11989 |
-
if (
|
11990 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11991 |
return;
|
11992 |
}
|
11993 |
|
@@ -12013,6 +13077,57 @@
|
|
12013 |
$this->add_ajax_action( 'resend_license_key', array( &$this, '_resend_license_key_ajax_action' ) );
|
12014 |
}
|
12015 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12016 |
/**
|
12017 |
* @author Leo Fajardo (@leorw)
|
12018 |
* @since 2.0.2
|
@@ -12032,6 +13147,61 @@
|
|
12032 |
}
|
12033 |
}
|
12034 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12035 |
/**
|
12036 |
* @author Leo Fajardo (@leorw)
|
12037 |
* @since 2.3.0
|
@@ -12111,22 +13281,156 @@
|
|
12111 |
exit;
|
12112 |
}
|
12113 |
|
12114 |
-
$
|
12115 |
-
|
12116 |
-
|
12117 |
-
|
12118 |
-
|
12119 |
-
|
12120 |
-
|
12121 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12122 |
);
|
12123 |
-
|
12124 |
-
echo json_encode( $result );
|
12125 |
-
|
12126 |
-
exit;
|
12127 |
}
|
12128 |
|
12129 |
/**
|
|
|
12130 |
* A helper method to activate migrated licenses. If the product is network activated and integrated, the method will network activate the license.
|
12131 |
*
|
12132 |
* @author Vova Feldman (@svovaf)
|
@@ -12135,6 +13439,8 @@
|
|
12135 |
* @param string $license_key
|
12136 |
* @param null|bool $is_marketing_allowed
|
12137 |
* @param null|number $plugin_id
|
|
|
|
|
12138 |
*
|
12139 |
* @return array {
|
12140 |
* @var bool $success
|
@@ -12147,17 +13453,52 @@
|
|
12147 |
function activate_migrated_license(
|
12148 |
$license_key,
|
12149 |
$is_marketing_allowed = null,
|
12150 |
-
$plugin_id = null
|
|
|
|
|
12151 |
) {
|
12152 |
-
|
|
|
|
|
12153 |
$license_key,
|
12154 |
-
$this->is_network_active() ?
|
12155 |
$this->get_sites_for_network_level_optin() :
|
12156 |
-
|
12157 |
$is_marketing_allowed,
|
12158 |
-
|
12159 |
$plugin_id
|
12160 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12161 |
}
|
12162 |
|
12163 |
/**
|
@@ -12171,6 +13512,7 @@
|
|
12171 |
* @param null|bool $is_marketing_allowed
|
12172 |
* @param null|int $blog_id
|
12173 |
* @param null|number $plugin_id
|
|
|
12174 |
*
|
12175 |
* @return array {
|
12176 |
* @var bool $success
|
@@ -12183,13 +13525,20 @@
|
|
12183 |
$sites = array(),
|
12184 |
$is_marketing_allowed = null,
|
12185 |
$blog_id = null,
|
12186 |
-
$plugin_id = null
|
|
|
|
|
12187 |
) {
|
12188 |
$this->_logger->entrance();
|
12189 |
|
12190 |
$license_key = trim( $license_key );
|
12191 |
|
12192 |
-
|
|
|
|
|
|
|
|
|
|
|
12193 |
// If the license activation is executed outside the context of a network admin, ignore the sites collection.
|
12194 |
$sites = array();
|
12195 |
}
|
@@ -12198,13 +13547,37 @@
|
|
12198 |
$this :
|
12199 |
$this->get_addon_instance( $plugin_id );
|
12200 |
|
|
|
|
|
12201 |
$error = false;
|
12202 |
$next_page = false;
|
12203 |
|
12204 |
$has_valid_blog_id = is_numeric( $blog_id );
|
12205 |
|
12206 |
-
|
12207 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12208 |
// If no specific blog ID was provided, activate the license for all sites in the network.
|
12209 |
$blog_2_install_map = array();
|
12210 |
$site_ids = array();
|
@@ -12214,7 +13587,7 @@
|
|
12214 |
continue;
|
12215 |
}
|
12216 |
|
12217 |
-
$install = $
|
12218 |
|
12219 |
if ( is_object( $install ) ) {
|
12220 |
$blog_2_install_map[ $site['blog_id'] ] = $install;
|
@@ -12223,10 +13596,8 @@
|
|
12223 |
}
|
12224 |
}
|
12225 |
|
12226 |
-
$user = $this->get_current_or_network_user();
|
12227 |
-
|
12228 |
if ( ! empty( $blog_2_install_map ) ) {
|
12229 |
-
$result = $
|
12230 |
|
12231 |
if ( true !== $result ) {
|
12232 |
$error = FS_Api::is_api_error_object( $result ) ?
|
@@ -12236,7 +13607,7 @@
|
|
12236 |
}
|
12237 |
|
12238 |
if ( empty( $error ) && ! empty( $site_ids ) ) {
|
12239 |
-
$result = $
|
12240 |
|
12241 |
if ( true !== $result ) {
|
12242 |
$error = FS_Api::is_api_error_object( $result ) ?
|
@@ -12245,41 +13616,73 @@
|
|
12245 |
}
|
12246 |
}
|
12247 |
} else {
|
12248 |
-
if ( $
|
12249 |
-
|
12250 |
-
|
12251 |
-
|
12252 |
-
*
|
12253 |
-
* @author Leo Fajardo (@leorw)
|
12254 |
-
*/
|
12255 |
-
$this->switch_to_blog( $blog_id );
|
12256 |
-
}
|
12257 |
|
12258 |
-
|
12259 |
|
12260 |
-
|
12261 |
-
'license_key' => $fs->apply_filters( 'license_key', $license_key )
|
12262 |
-
);
|
12263 |
|
12264 |
-
|
|
|
12265 |
|
12266 |
-
|
12267 |
-
|
12268 |
-
$
|
12269 |
-
|
12270 |
-
|
12271 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12272 |
}
|
12273 |
}
|
12274 |
|
12275 |
if ( empty( $error ) ) {
|
12276 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
12277 |
|
12278 |
$fs->_sync_license( true, $has_valid_blog_id );
|
12279 |
|
|
|
|
|
12280 |
$next_page = $fs->is_addon() ?
|
12281 |
$fs->get_parent_instance()->get_account_url() :
|
12282 |
-
$fs->
|
12283 |
}
|
12284 |
} else {
|
12285 |
$next_page = $fs->opt_in(
|
@@ -12297,7 +13700,7 @@
|
|
12297 |
if ( isset( $next_page->error ) ) {
|
12298 |
$error = $next_page->error;
|
12299 |
} else {
|
12300 |
-
if (
|
12301 |
/**
|
12302 |
* Get the list of sites that were just opted-in (and license activated).
|
12303 |
* This is an optimization for the next part below saving some DB queries.
|
@@ -12325,17 +13728,17 @@
|
|
12325 |
continue;
|
12326 |
}
|
12327 |
|
12328 |
-
if ( $
|
12329 |
// Site was already connected before.
|
12330 |
continue;
|
12331 |
}
|
12332 |
|
12333 |
-
if ( $
|
12334 |
// Site's connection was delegated.
|
12335 |
continue;
|
12336 |
}
|
12337 |
|
12338 |
-
if ( $
|
12339 |
// Site connection was already skipped.
|
12340 |
continue;
|
12341 |
}
|
@@ -12344,18 +13747,18 @@
|
|
12344 |
}
|
12345 |
|
12346 |
if ( ! empty( $pending_sites ) ) {
|
12347 |
-
if ( $
|
12348 |
-
$
|
12349 |
} else {
|
12350 |
-
$
|
12351 |
}
|
12352 |
}
|
12353 |
}
|
12354 |
}
|
12355 |
}
|
12356 |
|
12357 |
-
if ( false === $error && true === $
|
12358 |
-
$
|
12359 |
}
|
12360 |
|
12361 |
$result = array(
|
@@ -12363,9 +13766,9 @@
|
|
12363 |
);
|
12364 |
|
12365 |
if ( false !== $error ) {
|
12366 |
-
$result['error'] = $
|
12367 |
} else {
|
12368 |
-
if ( $
|
12369 |
/**
|
12370 |
* Purge the valid user licenses cache so that when the "Account" or the "Add-Ons" page is loaded,
|
12371 |
* an updated valid user licenses collection will be fetched from the server which is used to also
|
@@ -12374,7 +13777,7 @@
|
|
12374 |
* @author Leo Fajardo (@leorw)
|
12375 |
* @since 2.2.4
|
12376 |
*/
|
12377 |
-
$
|
12378 |
}
|
12379 |
|
12380 |
$result['next_page'] = $next_page;
|
@@ -12383,6 +13786,64 @@
|
|
12383 |
return $result;
|
12384 |
}
|
12385 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12386 |
/**
|
12387 |
* @author Leo Fajardo (@leorw)
|
12388 |
* @since 1.2.3.1
|
@@ -13353,7 +14814,12 @@
|
|
13353 |
* @return bool
|
13354 |
*/
|
13355 |
function is_user_in_admin() {
|
13356 |
-
return
|
|
|
|
|
|
|
|
|
|
|
13357 |
}
|
13358 |
|
13359 |
/**
|
@@ -13409,9 +14875,8 @@
|
|
13409 |
$page_param = $this->_menu->get_slug( $page );
|
13410 |
|
13411 |
if ( empty( $page ) &&
|
13412 |
-
$this->is_theme() &&
|
13413 |
// Show the opt-in as an overlay for free wp.org themes or themes without any settings page.
|
13414 |
-
|
13415 |
) {
|
13416 |
$params[ $this->get_unique_affix() . '_show_optin' ] = 'true';
|
13417 |
|
@@ -13666,9 +15131,18 @@
|
|
13666 |
if ( function_exists( 'get_sites' ) ) {
|
13667 |
// For WP 4.6 and above.
|
13668 |
return get_sites( $args );
|
13669 |
-
} else if ( function_exists( '
|
13670 |
// For WP 3.7 to WP 4.5.
|
13671 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13672 |
} else {
|
13673 |
// For WP 3.6 and below.
|
13674 |
return get_blog_list( 0, 'all' );
|
@@ -13841,10 +15315,12 @@
|
|
13841 |
*
|
13842 |
* @param int $blog_id
|
13843 |
* @param FS_Site $install
|
|
|
|
|
13844 |
*/
|
13845 |
function switch_to_blog( $blog_id, FS_Site $install = null ) {
|
13846 |
-
if ( $blog_id == $this->_context_is_network_or_blog_id ) {
|
13847 |
-
return;
|
13848 |
}
|
13849 |
|
13850 |
switch_to_blog( $blog_id );
|
@@ -13858,9 +15334,10 @@
|
|
13858 |
$install :
|
13859 |
$this->get_install_by_blog_id( $blog_id );
|
13860 |
|
13861 |
-
$this->_user
|
13862 |
-
$this->_licenses
|
13863 |
-
$this->_license
|
|
|
13864 |
|
13865 |
if ( is_object( $this->_site ) ) {
|
13866 |
// Try to fetch user from install.
|
@@ -13905,6 +15382,8 @@
|
|
13905 |
|
13906 |
unset( $this->_site_api );
|
13907 |
unset( $this->_user_api );
|
|
|
|
|
13908 |
}
|
13909 |
|
13910 |
/**
|
@@ -14350,6 +15829,18 @@
|
|
14350 |
return ( $this->_menu->get_slug( $page ) === fs_request_get( 'page', '', 'get' ) );
|
14351 |
}
|
14352 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14353 |
/**
|
14354 |
* Get module's main admin setting page URL.
|
14355 |
*
|
@@ -14370,8 +15861,22 @@
|
|
14370 |
* @since 1.2.2.7
|
14371 |
*
|
14372 |
* @return bool
|
|
|
|
|
14373 |
*/
|
14374 |
function is_theme_settings_page() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14375 |
return fs_starts_with(
|
14376 |
fs_request_get( 'page', '', 'get' ),
|
14377 |
$this->_menu->get_slug()
|
@@ -14791,7 +16296,7 @@
|
|
14791 |
/**
|
14792 |
* This is a special fault tolerance mechanism to handle a scenario that the user data is missing.
|
14793 |
*/
|
14794 |
-
$user = $this->
|
14795 |
}
|
14796 |
|
14797 |
$this->_user = ( $user instanceof FS_User ) ?
|
@@ -14831,13 +16336,19 @@
|
|
14831 |
* @author Vova Feldman (@svovaf)
|
14832 |
* @since 2.0.0
|
14833 |
*
|
|
|
|
|
14834 |
* @return \FS_User|mixed
|
14835 |
*/
|
14836 |
-
private function
|
|
|
|
|
|
|
|
|
14837 |
$api = $this->get_api_site_scope();
|
14838 |
|
14839 |
$uid = $this->get_anonymous_id();
|
14840 |
-
$request_path = "/users/{$
|
14841 |
|
14842 |
$result = $api->get( $request_path, false, WP_FS__TIME_10_MIN_IN_SEC );
|
14843 |
|
@@ -14993,6 +16504,13 @@
|
|
14993 |
'is_uninstalled' => false,
|
14994 |
) );
|
14995 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14996 |
if ( true === $network_level_or_blog_id ) {
|
14997 |
if ( ! isset( $override_with['sites'] ) ) {
|
14998 |
$params['sites'] = $this->get_sites_for_network_level_optin();
|
@@ -15088,9 +16606,12 @@
|
|
15088 |
if ( ! $is_uninstall ) {
|
15089 |
$fs_user = Freemius::_get_user_by_email( $email );
|
15090 |
if ( is_object( $fs_user ) && ! $this->is_pending_activation() ) {
|
15091 |
-
return $this->
|
|
|
15092 |
false,
|
15093 |
$trial_plan_id,
|
|
|
|
|
15094 |
$sites
|
15095 |
);
|
15096 |
}
|
@@ -15185,6 +16706,8 @@
|
|
15185 |
'http' => 402
|
15186 |
);
|
15187 |
|
|
|
|
|
15188 |
return $result;
|
15189 |
}
|
15190 |
|
@@ -15257,6 +16780,9 @@
|
|
15257 |
( isset( $decoded->is_marketing_allowed ) && ! is_null( $decoded->is_marketing_allowed ) ?
|
15258 |
$decoded->is_marketing_allowed :
|
15259 |
null ),
|
|
|
|
|
|
|
15260 |
$decoded->install_id,
|
15261 |
$decoded->install_public_key,
|
15262 |
$decoded->install_secret_key,
|
@@ -15270,6 +16796,9 @@
|
|
15270 |
( isset( $decoded->is_marketing_allowed ) && ! is_null( $decoded->is_marketing_allowed ) ?
|
15271 |
$decoded->is_marketing_allowed :
|
15272 |
null ),
|
|
|
|
|
|
|
15273 |
$decoded->installs,
|
15274 |
false
|
15275 |
);
|
@@ -15361,7 +16890,7 @@
|
|
15361 |
);
|
15362 |
|
15363 |
if ( is_numeric( $first_install->license_id ) ) {
|
15364 |
-
$this->
|
15365 |
}
|
15366 |
|
15367 |
$this->_admin_notices->remove_sticky( 'connect_account' );
|
@@ -15496,6 +17025,7 @@
|
|
15496 |
fs_request_get( 'user_public_key' ),
|
15497 |
fs_request_get( 'user_secret_key' ),
|
15498 |
fs_request_get_bool( 'is_marketing_allowed', null ),
|
|
|
15499 |
$pending_sites_info['blog_ids'],
|
15500 |
$pending_sites_info['license_key'],
|
15501 |
$pending_sites_info['trial_plan_id']
|
@@ -15506,6 +17036,7 @@
|
|
15506 |
fs_request_get( 'user_public_key' ),
|
15507 |
fs_request_get( 'user_secret_key' ),
|
15508 |
fs_request_get_bool( 'is_marketing_allowed', null ),
|
|
|
15509 |
fs_request_get( 'install_id' ),
|
15510 |
fs_request_get( 'install_public_key' ),
|
15511 |
fs_request_get( 'install_secret_key' ),
|
@@ -15561,13 +17092,12 @@
|
|
15561 |
* @param string $user_public_key
|
15562 |
* @param string $user_secret_key
|
15563 |
* @param bool|null $is_marketing_allowed
|
|
|
15564 |
* @param number $install_id
|
15565 |
* @param string $install_public_key
|
15566 |
* @param string $install_secret_key
|
15567 |
* @param bool $redirect
|
15568 |
-
* @param bool $auto_install
|
15569 |
-
* redirect (or return a URL) to the account page with a special parameter to
|
15570 |
-
* trigger the auto installation processes.
|
15571 |
*
|
15572 |
* @return string If redirect is `false`, returns the next page the user should be redirected to.
|
15573 |
*/
|
@@ -15576,6 +17106,7 @@
|
|
15576 |
$user_public_key,
|
15577 |
$user_secret_key,
|
15578 |
$is_marketing_allowed,
|
|
|
15579 |
$install_id,
|
15580 |
$install_public_key,
|
15581 |
$install_secret_key,
|
@@ -15617,6 +17148,10 @@
|
|
15617 |
$this->disable_opt_in_notice_and_lock_user();
|
15618 |
}
|
15619 |
|
|
|
|
|
|
|
|
|
15620 |
return $this->setup_account(
|
15621 |
$this->_user,
|
15622 |
$this->_site,
|
@@ -15635,6 +17170,7 @@
|
|
15635 |
* @param string $user_public_key
|
15636 |
* @param string $user_secret_key
|
15637 |
* @param bool|null $is_marketing_allowed
|
|
|
15638 |
* @param array $site_ids
|
15639 |
* @param bool $license_key
|
15640 |
* @param bool $trial_plan_id
|
@@ -15647,6 +17183,7 @@
|
|
15647 |
$user_public_key,
|
15648 |
$user_secret_key,
|
15649 |
$is_marketing_allowed,
|
|
|
15650 |
$site_ids,
|
15651 |
$license_key = false,
|
15652 |
$trial_plan_id = false,
|
@@ -15658,6 +17195,10 @@
|
|
15658 |
$this->disable_opt_in_notice_and_lock_user();
|
15659 |
}
|
15660 |
|
|
|
|
|
|
|
|
|
15661 |
$sites = array();
|
15662 |
foreach ( $site_ids as $site_id ) {
|
15663 |
$sites[] = $this->get_site_info( array( 'blog_id' => $site_id ) );
|
@@ -15676,11 +17217,10 @@
|
|
15676 |
* @param string $user_public_key
|
15677 |
* @param string $user_secret_key
|
15678 |
* @param bool|null $is_marketing_allowed
|
|
|
15679 |
* @param object[] $installs
|
15680 |
* @param bool $redirect
|
15681 |
-
* @param bool $auto_install
|
15682 |
-
* redirect (or return a URL) to the account page with a special parameter to
|
15683 |
-
* trigger the auto installation processes.
|
15684 |
*
|
15685 |
* @return string If redirect is `false`, returns the next page the user should be redirected to.
|
15686 |
*/
|
@@ -15689,6 +17229,7 @@
|
|
15689 |
$user_public_key,
|
15690 |
$user_secret_key,
|
15691 |
$is_marketing_allowed,
|
|
|
15692 |
array $installs,
|
15693 |
$redirect = true,
|
15694 |
$auto_install = false
|
@@ -15699,6 +17240,10 @@
|
|
15699 |
$this->disable_opt_in_notice_and_lock_user();
|
15700 |
}
|
15701 |
|
|
|
|
|
|
|
|
|
15702 |
$install_ids = array();
|
15703 |
|
15704 |
foreach ( $installs as $install ) {
|
@@ -15808,6 +17353,8 @@
|
|
15808 |
*/
|
15809 |
$license_key = fs_request_get( 'license_secret_key' );
|
15810 |
|
|
|
|
|
15811 |
$this->install_with_current_user( $license_key );
|
15812 |
}
|
15813 |
}
|
@@ -15852,7 +17399,7 @@
|
|
15852 |
*
|
15853 |
* @return \FS_Site|object|string If redirect is `false`, returns the next page the user should be redirected to, or the API error object if failed to install. If $setup_account is set to `false`, return the newly created install.
|
15854 |
*/
|
15855 |
-
|
15856 |
FS_User $user,
|
15857 |
$license_key = false,
|
15858 |
$trial_plan_id = false,
|
@@ -15941,6 +17488,10 @@
|
|
15941 |
|
15942 |
if ( ! empty( $license_key ) ) {
|
15943 |
$extra_install_params['license_key'] = $this->apply_filters( 'license_key', $license_key );
|
|
|
|
|
|
|
|
|
15944 |
} else if ( FS_Plugin_Plan::is_valid_id( $trial_plan_id ) ) {
|
15945 |
$extra_install_params['trial_plan_id'] = $trial_plan_id;
|
15946 |
}
|
@@ -15962,7 +17513,7 @@
|
|
15962 |
! $this->is_api_result_object( $result, 'installs' )
|
15963 |
) {
|
15964 |
if ( ! empty( $args['license_key'] ) ) {
|
15965 |
-
// Pass
|
15966 |
$args['license_key'] = $license_key;
|
15967 |
}
|
15968 |
|
@@ -16003,10 +17554,15 @@
|
|
16003 |
* @author Vova Feldman (@svovaf)
|
16004 |
* @since 1.0.6
|
16005 |
*
|
16006 |
-
* @param Freemius
|
16007 |
-
* @param bool|int|null
|
|
|
16008 |
*/
|
16009 |
-
private function _activate_addon_account(
|
|
|
|
|
|
|
|
|
16010 |
if ( $this->is_registered() ) {
|
16011 |
// Already activated.
|
16012 |
return;
|
@@ -16045,6 +17601,10 @@
|
|
16045 |
}
|
16046 |
}
|
16047 |
|
|
|
|
|
|
|
|
|
16048 |
// Activate add-on with parent plugin credentials.
|
16049 |
$result = $parent_fs->get_api_site_scope()->call(
|
16050 |
"/addons/{$this->_plugin->id}/installs.json",
|
@@ -16053,16 +17613,25 @@
|
|
16053 |
);
|
16054 |
|
16055 |
if ( ! $this->is_api_result_object( $result, 'installs' ) ) {
|
16056 |
-
|
16057 |
-
|
16058 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16059 |
|
16060 |
-
|
16061 |
-
|
16062 |
-
|
16063 |
-
|
16064 |
-
|
16065 |
-
|
|
|
16066 |
|
16067 |
return;
|
16068 |
}
|
@@ -16095,21 +17664,29 @@
|
|
16095 |
|
16096 |
if ( ! fs_is_network_admin() ) {
|
16097 |
// Try to activate premium license.
|
16098 |
-
$this->_activate_license( true );
|
16099 |
-
} else {
|
16100 |
-
$license_id = fs_request_get( 'license_id' );
|
16101 |
|
16102 |
-
if ( is_object( $
|
16103 |
-
|
16104 |
-
$license_id == $this->_site->license_id
|
16105 |
-
) {
|
16106 |
-
// License is already activated.
|
16107 |
-
return;
|
16108 |
}
|
|
|
|
|
|
|
|
|
|
|
16109 |
|
16110 |
-
|
16111 |
-
|
16112 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16113 |
|
16114 |
if ( is_object( $premium_license ) ) {
|
16115 |
$this->maybe_network_activate_addon_license( $premium_license );
|
@@ -16339,7 +17916,7 @@
|
|
16339 |
*/
|
16340 |
private function add_menu_action() {
|
16341 |
if ( $this->is_activation_mode() ) {
|
16342 |
-
if ( $this->
|
16343 |
$this->override_plugin_menu_with_activation();
|
16344 |
} else {
|
16345 |
/**
|
@@ -16361,7 +17938,7 @@
|
|
16361 |
}
|
16362 |
} else if (
|
16363 |
fs_request_is_action( 'sync_user' ) &&
|
16364 |
-
( ! $this->has_settings_menu() || $this->
|
16365 |
) {
|
16366 |
$this->_handle_account_user_sync();
|
16367 |
}
|
@@ -16609,7 +18186,7 @@
|
|
16609 |
// Didn't ask to hide the pricing page.
|
16610 |
$this->is_page_visible( 'pricing' ) &&
|
16611 |
// Don't have a valid active license or has more than one plan.
|
16612 |
-
( ! $this->is_paying() || ! $this->is_single_plan() )
|
16613 |
);
|
16614 |
}
|
16615 |
|
@@ -16627,12 +18204,13 @@
|
|
16627 |
return false;
|
16628 |
}
|
16629 |
|
16630 |
-
if ( $this->
|
16631 |
-
|
16632 |
-
|
16633 |
-
|
16634 |
-
|
16635 |
-
if ( $is_activation_mode
|
|
|
16636 |
return false;
|
16637 |
}
|
16638 |
|
@@ -16712,17 +18290,19 @@
|
|
16712 |
}
|
16713 |
|
16714 |
if ( $add_submenu_items ) {
|
16715 |
-
|
16716 |
-
|
16717 |
-
$this->
|
16718 |
-
|
16719 |
-
|
16720 |
-
|
16721 |
-
|
16722 |
-
|
16723 |
-
|
16724 |
-
|
16725 |
-
|
|
|
|
|
16726 |
|
16727 |
if ( $this->has_addons() ) {
|
16728 |
$this->add_submenu_item(
|
@@ -16741,7 +18321,7 @@
|
|
16741 |
if ( $add_submenu_items ||
|
16742 |
( $is_activation_mode && $this->is_only_premium() && $this->is_admin_page( 'pricing' ) )
|
16743 |
) {
|
16744 |
-
if (
|
16745 |
$show_pricing = (
|
16746 |
$this->is_submenu_item_visible( 'pricing' ) &&
|
16747 |
$this->is_pricing_page_visible()
|
@@ -17106,6 +18686,24 @@
|
|
17106 |
|
17107 |
#endregion ------------------------------------------------------------------
|
17108 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17109 |
|
17110 |
#--------------------------------------------------------------------------------
|
17111 |
#region Actions / Hooks / Filters
|
@@ -17482,37 +19080,44 @@
|
|
17482 |
private function _store_site( $store = true, $network_level_or_blog_id = null, FS_Site $site = null ) {
|
17483 |
$this->_logger->entrance();
|
17484 |
|
17485 |
-
if (
|
|
|
|
|
|
|
|
|
17486 |
$this->_logger->error( "Empty install ID, can't store site." );
|
17487 |
|
17488 |
return;
|
17489 |
}
|
17490 |
|
17491 |
-
$site_clone
|
17492 |
-
$encrypted_site = clone $site_clone;
|
17493 |
|
17494 |
$sites = self::get_all_sites( $this->_module_type, $network_level_or_blog_id );
|
17495 |
|
17496 |
-
$
|
|
|
17497 |
|
17498 |
-
|
17499 |
-
|
17500 |
-
|
17501 |
-
|
17502 |
-
|
17503 |
-
|
17504 |
-
|
17505 |
-
|
17506 |
-
|
17507 |
-
|
17508 |
-
|
17509 |
-
|
17510 |
-
|
17511 |
-
|
17512 |
-
|
|
|
|
|
|
|
17513 |
}
|
17514 |
|
17515 |
-
$sites[ $this->_slug ] = $
|
17516 |
|
17517 |
$this->set_account_option( 'sites', $sites, $store, $network_level_or_blog_id );
|
17518 |
}
|
@@ -17722,6 +19327,10 @@
|
|
17722 |
* @since 2.2.4
|
17723 |
*/
|
17724 |
private function purge_valid_user_licenses_cache() {
|
|
|
|
|
|
|
|
|
17725 |
$this->get_api_user_scope()->purge_cache( $this->get_valid_user_licenses_endpoint() );
|
17726 |
}
|
17727 |
|
@@ -18375,9 +19984,93 @@
|
|
18375 |
*
|
18376 |
* @author Vova Feldman (@svovaf)
|
18377 |
* @since 1.2.1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18378 |
*/
|
18379 |
-
function
|
18380 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18381 |
}
|
18382 |
|
18383 |
/**
|
@@ -18387,15 +20080,16 @@
|
|
18387 |
* @since 2.1.3
|
18388 |
*
|
18389 |
* @param FS_Plugin_License $license
|
|
|
18390 |
*
|
18391 |
* @return bool
|
18392 |
*/
|
18393 |
-
private static function is_active_valid_license( $license ) {
|
18394 |
return (
|
18395 |
is_object( $license ) &&
|
18396 |
FS_Plugin_License::is_valid_id( $license->id ) &&
|
18397 |
$license->is_active() &&
|
18398 |
-
$license->is_valid()
|
18399 |
);
|
18400 |
}
|
18401 |
|
@@ -18449,6 +20143,22 @@
|
|
18449 |
);
|
18450 |
}
|
18451 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18452 |
/**
|
18453 |
* Check if user is a trial or have feature enabled license.
|
18454 |
*
|
@@ -18694,7 +20404,7 @@
|
|
18694 |
} else {
|
18695 |
// Authentication params are broken.
|
18696 |
$this->_admin_notices->add(
|
18697 |
-
$this->get_text_inline( 'It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again.', 'wrong-authentication-param-message' ),
|
18698 |
$this->get_text_x_inline( 'Oops', 'exclamation', 'oops' ) . '...',
|
18699 |
'error'
|
18700 |
);
|
@@ -18861,12 +20571,32 @@
|
|
18861 |
$this->get_network_install_blog_id()
|
18862 |
);
|
18863 |
} else {
|
18864 |
-
if ( is_object( $this->_license )
|
18865 |
-
|
18866 |
-
$
|
18867 |
-
|
18868 |
-
|
18869 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18870 |
}
|
18871 |
}
|
18872 |
|
@@ -18890,7 +20620,7 @@
|
|
18890 |
|
18891 |
$hmm_text = $this->get_text_x_inline( 'Hmm', 'something somebody says when they are thinking about what you have just said.', 'hmm' ) . '...';
|
18892 |
|
18893 |
-
if ( $this->has_paid_plan() ) {
|
18894 |
switch ( $plan_change ) {
|
18895 |
case 'none':
|
18896 |
if ( ! $background && is_admin() ) {
|
@@ -18983,6 +20713,9 @@
|
|
18983 |
'license_expired',
|
18984 |
$hmm_text
|
18985 |
);
|
|
|
|
|
|
|
18986 |
$this->_admin_notices->remove_sticky( 'plan_upgraded' );
|
18987 |
break;
|
18988 |
case 'trial_started':
|
@@ -19018,6 +20751,13 @@
|
|
19018 |
}
|
19019 |
|
19020 |
if ( 'none' !== $plan_change ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19021 |
$this->do_action( 'after_license_change', $plan_change, $this->get_plan() );
|
19022 |
}
|
19023 |
}
|
@@ -19037,7 +20777,8 @@
|
|
19037 |
* @author Vova Feldman (@svovaf)
|
19038 |
* @since 1.0.5
|
19039 |
*
|
19040 |
-
* @param bool
|
|
|
19041 |
*/
|
19042 |
protected function _activate_license( $background = false, $premium_license = null ) {
|
19043 |
$this->_logger->entrance();
|
@@ -19231,7 +20972,11 @@
|
|
19231 |
|
19232 |
if ( $show_notice ) {
|
19233 |
$this->_admin_notices->add(
|
19234 |
-
sprintf( $this->
|
|
|
|
|
|
|
|
|
19235 |
$this->get_text_inline( 'O.K', 'ok' )
|
19236 |
);
|
19237 |
}
|
@@ -19736,7 +21481,7 @@
|
|
19736 |
*/
|
19737 |
private function get_latest_download_link( $label, $plugin_id = false ) {
|
19738 |
return sprintf(
|
19739 |
-
'<a target="_blank" href="%s">%s</a>',
|
19740 |
$this->_get_latest_download_local_url( $plugin_id ),
|
19741 |
$label
|
19742 |
);
|
@@ -19807,7 +21552,7 @@
|
|
19807 |
$this->get_text_inline( 'Version %s was released.', 'version-x-released' ) . ' ' . $this->get_text_inline( 'Please download %s.', 'please-download-x' ),
|
19808 |
$update->version,
|
19809 |
sprintf(
|
19810 |
-
'<a href="%s" target="_blank">%s</a>',
|
19811 |
$this->get_account_url( 'download_latest' ),
|
19812 |
sprintf(
|
19813 |
/* translators: %s: plan name (e.g. latest "Professional" version) */
|
@@ -19844,7 +21589,7 @@
|
|
19844 |
|
19845 |
$api = $this->get_api_site_or_plugin_scope();
|
19846 |
|
19847 |
-
$path = $this->add_show_pending( '/addons.json?enriched=true' );
|
19848 |
|
19849 |
/**
|
19850 |
* @since 1.2.1
|
@@ -20038,6 +21783,39 @@
|
|
20038 |
return true;
|
20039 |
}
|
20040 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20041 |
/**
|
20042 |
* Handle user name update.
|
20043 |
*
|
@@ -20151,7 +21929,7 @@
|
|
20151 |
* @return string
|
20152 |
*/
|
20153 |
function get_after_activation_url( $filter, $params = array(), $network = null ) {
|
20154 |
-
if ( $this->
|
20155 |
( fs_request_has( 'pending_activation' ) ||
|
20156 |
// For cases when the first time path is set, even though it's a WP.org theme.
|
20157 |
fs_request_get_bool( $this->get_unique_affix() . '_show_optin' ) )
|
@@ -20206,8 +21984,9 @@
|
|
20206 |
// Alias.
|
20207 |
$oops_text = $this->get_text_x_inline( 'Oops', 'exclamation', 'oops' ) . '...';
|
20208 |
|
20209 |
-
$is_network_action
|
20210 |
-
$blog_id
|
|
|
20211 |
|
20212 |
if ( is_numeric( $blog_id ) ) {
|
20213 |
$this->switch_to_blog( $blog_id );
|
@@ -20219,7 +21998,7 @@
|
|
20219 |
case 'opt_in':
|
20220 |
check_admin_referer( trim( "{$action}:{$blog_id}:{$install_id}", ':' ) );
|
20221 |
|
20222 |
-
if ( $
|
20223 |
if ( $is_network_action && ! empty( $blog_id ) ) {
|
20224 |
if ( ! $this->is_registered() ) {
|
20225 |
$this->install_with_user(
|
@@ -20242,7 +22021,7 @@
|
|
20242 |
case 'toggle_tracking':
|
20243 |
check_admin_referer( trim( "{$action}:{$blog_id}:{$install_id}", ':' ) );
|
20244 |
|
20245 |
-
if ( $
|
20246 |
if ( $is_network_action && ! empty( $blog_id ) ) {
|
20247 |
if ( $this->is_registered() ) {
|
20248 |
if ( $this->is_tracking_prohibited() ) {
|
@@ -20260,7 +22039,7 @@
|
|
20260 |
$this->get_plugin_title(),
|
20261 |
fs_strip_url_protocol( get_site_url( $blog_id ) ),
|
20262 |
sprintf(
|
20263 |
-
'<a href="%s" target="_blank">%s</a>',
|
20264 |
'https://freemius.com',
|
20265 |
'freemius.com'
|
20266 |
)
|
@@ -20277,8 +22056,20 @@
|
|
20277 |
case 'delete_account':
|
20278 |
check_admin_referer( trim( "{$action}:{$blog_id}:{$install_id}", ':' ) );
|
20279 |
|
20280 |
-
|
20281 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20282 |
$this->delete_network_account_event();
|
20283 |
} else {
|
20284 |
$this->delete_account_event();
|
@@ -20294,7 +22085,12 @@
|
|
20294 |
} else {
|
20295 |
if ( $this->is_addon_activated( $plugin_id ) ) {
|
20296 |
$fs_addon = self::get_instance_by_id( $plugin_id );
|
20297 |
-
|
|
|
|
|
|
|
|
|
|
|
20298 |
|
20299 |
fs_redirect( $this->_get_admin_page_url( 'account' ) );
|
20300 |
}
|
@@ -20342,6 +22138,18 @@
|
|
20342 |
|
20343 |
if ( is_object( $fs ) ) {
|
20344 |
$fs->_activate_license();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20345 |
}
|
20346 |
|
20347 |
return;
|
@@ -20564,6 +22372,26 @@
|
|
20564 |
|
20565 |
$this->_handle_account_edits();
|
20566 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20567 |
$this->do_action( 'account_page_load_before_departure' );
|
20568 |
}
|
20569 |
|
@@ -20700,6 +22528,86 @@
|
|
20700 |
}
|
20701 |
}
|
20702 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20703 |
#----------------------------------------------------------------------------------
|
20704 |
#region Contact Us
|
20705 |
#----------------------------------------------------------------------------------
|
@@ -20894,6 +22802,26 @@
|
|
20894 |
return $this->_plugin_api;
|
20895 |
}
|
20896 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20897 |
/**
|
20898 |
* Get site API scope object (fallback to public plugin scope when not registered).
|
20899 |
*
|
@@ -20908,6 +22836,43 @@
|
|
20908 |
$this->get_api_plugin_scope();
|
20909 |
}
|
20910 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20911 |
/**
|
20912 |
* Show trial promotional notice (if any trial exist).
|
20913 |
*
|
@@ -21227,7 +23192,7 @@
|
|
21227 |
function _show_theme_activation_optin_dialog() {
|
21228 |
fs_enqueue_local_style( 'fs_connect', '/admin/connect.css' );
|
21229 |
|
21230 |
-
add_action( 'admin_footer
|
21231 |
}
|
21232 |
|
21233 |
/**
|
@@ -21235,6 +23200,12 @@
|
|
21235 |
* @since 1.2.2
|
21236 |
*/
|
21237 |
function _add_fs_theme_activation_dialog() {
|
|
|
|
|
|
|
|
|
|
|
|
|
21238 |
$vars = array( 'id' => $this->_module_id );
|
21239 |
fs_require_once_template( 'connect.php', $vars );
|
21240 |
}
|
@@ -21322,7 +23293,7 @@
|
|
21322 |
$add_upgrade_link = (
|
21323 |
$add_action_links ||
|
21324 |
( $is_activation_mode && $this->is_only_premium() )
|
21325 |
-
) && ! WP_FS__DEMO_MODE;
|
21326 |
|
21327 |
$add_addons_link = ( $add_action_links && $this->has_addons() );
|
21328 |
|
@@ -21411,6 +23382,20 @@
|
|
21411 |
|
21412 |
$this->_logger->entrance();
|
21413 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21414 |
if ( fs_is_network_admin() ) {
|
21415 |
if ( ! $this->_is_network_active ) {
|
21416 |
// Don't add tracking links when browsing the network WP Admin and the plugin is not network active.
|
@@ -21441,14 +23426,18 @@
|
|
21441 |
return;
|
21442 |
}
|
21443 |
|
21444 |
-
if (
|
21445 |
-
|
21446 |
-
|
21447 |
-
|
21448 |
-
|
|
|
|
|
|
|
21449 |
|
21450 |
-
|
21451 |
-
|
|
|
21452 |
return;
|
21453 |
}
|
21454 |
}
|
@@ -21461,6 +23450,10 @@
|
|
21461 |
return;
|
21462 |
}
|
21463 |
|
|
|
|
|
|
|
|
|
21464 |
$link_text_id = '';
|
21465 |
$url = '#';
|
21466 |
|
@@ -21470,8 +23463,6 @@
|
|
21470 |
} else {
|
21471 |
$link_text_id = $this->get_text_inline( 'Opt In', 'opt-in' );
|
21472 |
}
|
21473 |
-
|
21474 |
-
add_action( 'admin_footer', array( &$this, '_add_optout_dialog' ) );
|
21475 |
} else if ( $this->is_anonymous() || $this->is_activation_mode() ) {
|
21476 |
/**
|
21477 |
* Show opt-in link only if skipped or in activation mode.
|
@@ -21488,6 +23479,8 @@
|
|
21488 |
$url = $this->get_activation_url( $params );
|
21489 |
}
|
21490 |
|
|
|
|
|
21491 |
if ( ! empty( $link_text_id ) && $this->is_plugin() && self::is_plugins_page() ) {
|
21492 |
$this->add_plugin_action_link(
|
21493 |
$link_text_id,
|
@@ -21524,7 +23517,7 @@
|
|
21524 |
if ( ! empty( $this->_dynamically_added_top_level_page_hook_name ) ) {
|
21525 |
if ( $this->is_network_registered() ) {
|
21526 |
$page = 'account';
|
21527 |
-
} else if ( $this->is_network_anonymous() ) {
|
21528 |
$this->maybe_set_slug_and_network_menu_exists_flag();
|
21529 |
}
|
21530 |
}
|
@@ -21559,10 +23552,12 @@
|
|
21559 |
* @since 1.0.3
|
21560 |
*/
|
21561 |
function _redirect_on_activation_hook() {
|
21562 |
-
|
|
|
21563 |
|
21564 |
-
|
21565 |
-
|
|
|
21566 |
}
|
21567 |
}
|
21568 |
|
@@ -21602,7 +23597,7 @@
|
|
21602 |
|
21603 |
foreach ( $this->_action_links as $new_links ) {
|
21604 |
foreach ( $new_links as $link ) {
|
21605 |
-
$before_deactivate[ $link['key'] ] = '<a href="' . $link['href'] . '"' . ( $link['external'] ? ' target="_blank"' : '' ) . '>' . $link['label'] . '</a>';
|
21606 |
}
|
21607 |
}
|
21608 |
|
@@ -21722,7 +23717,7 @@
|
|
21722 |
'';
|
21723 |
|
21724 |
return sprintf(
|
21725 |
-
' %s: <ol><li>%s.</li>%s<li>%s (<a href="%s" target="_blank">%s</a>).</li></ol>',
|
21726 |
$this->get_text_inline( 'Please follow these steps to complete the upgrade', 'follow-steps-to-complete-upgrade' ),
|
21727 |
( empty( $activate_license_string ) ? '' : $activate_license_string . '</li><li>' ) .
|
21728 |
$this->get_latest_download_link( sprintf(
|
@@ -21975,6 +23970,14 @@
|
|
21975 |
*/
|
21976 |
function set_plugin_upgrade_complete() {
|
21977 |
$this->_storage->plugin_upgrade_mode = false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21978 |
}
|
21979 |
|
21980 |
#endregion
|
@@ -22177,7 +24180,7 @@
|
|
22177 |
function _tabs_capture() {
|
22178 |
$this->_logger->entrance();
|
22179 |
|
22180 |
-
if ( ! $this->
|
22181 |
! $this->is_matching_url( $this->main_menu_url() )
|
22182 |
) {
|
22183 |
return;
|
@@ -22232,7 +24235,7 @@
|
|
22232 |
function _store_tabs_styles() {
|
22233 |
$this->_logger->entrance();
|
22234 |
|
22235 |
-
if ( ! $this->
|
22236 |
! $this->is_matching_url( $this->main_menu_url() )
|
22237 |
) {
|
22238 |
return;
|
@@ -22306,18 +24309,23 @@
|
|
22306 |
return false;
|
22307 |
}
|
22308 |
|
22309 |
-
if (
|
22310 |
// Only add tabs to themes for now.
|
22311 |
return false;
|
22312 |
}
|
22313 |
|
22314 |
-
if ( ! $this->has_paid_plan() && ! $this->has_addons() ) {
|
22315 |
// Only add tabs to monetizing themes.
|
22316 |
return false;
|
22317 |
}
|
22318 |
|
22319 |
-
if ( ! $this->
|
22320 |
-
// Only add tabs if browsing one of the
|
|
|
|
|
|
|
|
|
|
|
22321 |
return false;
|
22322 |
}
|
22323 |
|
@@ -23004,8 +25012,8 @@
|
|
23004 |
}
|
23005 |
|
23006 |
$modules = array_merge(
|
23007 |
-
array_values( self
|
23008 |
-
array_values( self
|
23009 |
);
|
23010 |
|
23011 |
foreach ( $modules as $module ) {
|
@@ -23110,10 +25118,45 @@
|
|
23110 |
*
|
23111 |
* @author Vova Feldman (@svovaf)
|
23112 |
*/
|
23113 |
-
self::shoot_ajax_success( array(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23114 |
}
|
23115 |
|
23116 |
-
|
23117 |
}
|
23118 |
|
23119 |
/**
|
@@ -23149,8 +25192,8 @@
|
|
23149 |
}
|
23150 |
|
23151 |
$modules = array_merge(
|
23152 |
-
array_values( self
|
23153 |
-
array_values( self
|
23154 |
);
|
23155 |
|
23156 |
foreach ( $modules as $key => $module ) {
|
164 |
*/
|
165 |
private $_has_addons;
|
166 |
|
167 |
+
/**
|
168 |
+
* @since 2.4.5
|
169 |
+
* @var string Navigation type: 'menu' or 'tabs'.
|
170 |
+
*/
|
171 |
+
private $_navigation;
|
172 |
+
|
173 |
+
const NAVIGATION_MENU = 'menu';
|
174 |
+
const NAVIGATION_TABS = 'tabs';
|
175 |
+
|
176 |
/**
|
177 |
* @since 1.1.6
|
178 |
* @var string[]bool.
|
343 |
*/
|
344 |
private $_dynamically_added_top_level_page_hook_name = '';
|
345 |
|
346 |
+
/**
|
347 |
+
* @author Leo Fajardo (@leorw)
|
348 |
+
* @since 2.3.1
|
349 |
+
*
|
350 |
+
* @var bool
|
351 |
+
*/
|
352 |
+
private $is_whitelabeled;
|
353 |
+
|
354 |
+
/**
|
355 |
+
* @author Leo Fajardo (@leorw)
|
356 |
+
* @since 2.4.0
|
357 |
+
*
|
358 |
+
* @var bool
|
359 |
+
*/
|
360 |
+
private $_is_bundle_license_auto_activation_enabled = false;
|
361 |
+
|
362 |
#region Uninstall Reasons IDs
|
363 |
|
364 |
const REASON_NO_LONGER_NEEDED = 1;
|
377 |
const REASON_DIDNT_WORK_AS_EXPECTED = 14;
|
378 |
const REASON_TEMPORARY_DEACTIVATION = 15;
|
379 |
|
380 |
+
/**
|
381 |
+
* @author Leo Fajardo (@leorw)
|
382 |
+
* @since 2.3.1
|
383 |
+
*
|
384 |
+
* @var boolean|null
|
385 |
+
*/
|
386 |
+
private $_use_external_pricing = null;
|
387 |
+
|
388 |
#endregion
|
389 |
|
390 |
/* Ctor
|
517 |
);
|
518 |
|
519 |
if ( 'true' === fs_request_get( 'fs_clear_api_cache' ) ||
|
520 |
+
fs_request_is_action( 'restart_freemius' )
|
521 |
) {
|
522 |
FS_Api::clear_cache();
|
523 |
$this->_cache->clear();
|
524 |
}
|
525 |
|
526 |
+
$this->register_constructor_hooks();
|
527 |
|
528 |
/**
|
529 |
* Starting from version 2.0.0, `FS_Site` entities no longer have the `plan` property and have `plan_id`
|
735 |
$this->_menu->has_menu();
|
736 |
}
|
737 |
|
738 |
+
/**
|
739 |
+
* If `true` the opt-in should be shown as a modal dialog box on the themes.php page. WordPress.org themes guidelines prohibit from redirecting the user from the themes.php page after activating a theme.
|
740 |
+
*
|
741 |
+
* @author Vova Feldman (@svovaf)
|
742 |
+
* @since 2.4.5
|
743 |
+
*
|
744 |
+
* @return bool
|
745 |
+
*/
|
746 |
+
function show_opt_in_on_themes_page() {
|
747 |
+
if ( ! $this->is_free_wp_org_theme() ) {
|
748 |
+
return false;
|
749 |
+
}
|
750 |
+
|
751 |
+
if ( ! $this->has_settings_menu() ) {
|
752 |
+
return true;
|
753 |
+
}
|
754 |
+
|
755 |
+
return $this->show_settings_with_tabs();
|
756 |
+
}
|
757 |
+
|
758 |
+
/**
|
759 |
+
* If `true` the opt-in should be shown on the product's main setting page.
|
760 |
+
*
|
761 |
+
* @author Vova Feldman (@svovaf)
|
762 |
+
* @since 2.4.5
|
763 |
+
*
|
764 |
+
* @return bool
|
765 |
+
*
|
766 |
+
* @uses show_opt_in_on_themes_page();
|
767 |
+
*/
|
768 |
+
function show_opt_in_on_setting_page() {
|
769 |
+
return ! $this->show_opt_in_on_themes_page();
|
770 |
+
}
|
771 |
+
|
772 |
+
/**
|
773 |
+
* If `true` the settings should be shown using tabs.
|
774 |
+
*
|
775 |
+
* @author Vova Feldman (@svovaf)
|
776 |
+
* @since 2.4.5
|
777 |
+
*
|
778 |
+
* @return bool
|
779 |
+
*/
|
780 |
+
function show_settings_with_tabs() {
|
781 |
+
return ( self::NAVIGATION_TABS === $this->_navigation );
|
782 |
+
}
|
783 |
+
|
784 |
/**
|
785 |
* Check if the context module is free wp.org theme.
|
786 |
*
|
813 |
* @since 1.2.2.7 Even if the menu item was specified to be hidden, when it is the context page, then show the submenu item so the user will have the right context page.
|
814 |
*
|
815 |
* @param string $slug
|
816 |
+
* @param bool $is_tabs_visibility_check This is used to decide if the associated tab should be shown or hidden.
|
|
|
817 |
*
|
818 |
* @return bool
|
819 |
*/
|
820 |
+
function is_submenu_item_visible( $slug, $is_tabs_visibility_check = false ) {
|
821 |
if ( $this->is_admin_page( $slug ) ) {
|
822 |
/**
|
823 |
* It is the current context page, so show the submenu item
|
832 |
return false;
|
833 |
}
|
834 |
|
835 |
+
if (
|
836 |
+
! $is_tabs_visibility_check &&
|
837 |
+
$this->is_org_repo_compliant() &&
|
838 |
+
$this->show_settings_with_tabs()
|
839 |
+
) {
|
840 |
/**
|
841 |
* wp.org themes are limited to a single submenu item, and
|
842 |
* sub-submenu items are most likely not allowed (never verified).
|
1062 |
}
|
1063 |
|
1064 |
if ( isset( $this->_storage->subscription ) && is_object( $this->_storage->subscription ) ) {
|
1065 |
+
$this->_storage->subscriptions = array( fs_get_entity( $this->_storage->subscription, FS_Subscription::get_class_name() ) );
|
1066 |
}
|
1067 |
}
|
1068 |
|
1477 |
if ( $this->is_plugin() &&
|
1478 |
! isset( $this->_storage->is_plugin_new_install )
|
1479 |
) {
|
1480 |
+
$this->_storage->is_plugin_new_install = (
|
1481 |
+
! is_plugin_active( $this->_plugin_basename ) &&
|
1482 |
+
empty( $this->_storage->plugin_last_version )
|
1483 |
+
);
|
1484 |
}
|
1485 |
}
|
1486 |
|
1503 |
-1 < settings.url.indexOf('admin-ajax.php') &&
|
1504 |
! ( settings.url.indexOf( '<?php echo $admin_param ?>' ) > 0 )
|
1505 |
) {
|
1506 |
+
if (
|
1507 |
+
'string' === typeof settings.data &&
|
1508 |
+
settings.data.indexOf( 'action=heartbeat' ) > 0
|
1509 |
+
) {
|
1510 |
+
return;
|
1511 |
+
}
|
1512 |
+
|
1513 |
if (settings.url.indexOf('?') > 0) {
|
1514 |
settings.url += '&';
|
1515 |
} else {
|
1517 |
}
|
1518 |
|
1519 |
settings.url += '<?php echo $admin_param ?>=true';
|
|
|
1520 |
}
|
1521 |
});
|
1522 |
})(jQuery);
|
1534 |
?>
|
1535 |
<script type="text/javascript">
|
1536 |
(function ($) {
|
1537 |
+
$('.fs-submenu-item.wp-support-forum').parent().attr( { target: '_blank', rel: 'noopener noreferrer' } );
|
1538 |
})(jQuery);
|
1539 |
</script>
|
1540 |
<?php
|
1544 |
* @author Vova Feldman (@svovaf)
|
1545 |
* @since 1.0.9
|
1546 |
*/
|
1547 |
+
private function register_constructor_hooks() {
|
1548 |
$this->_logger->entrance();
|
1549 |
|
1550 |
if ( is_admin() ) {
|
1551 |
+
add_action( 'admin_init', array( &$this, '_hook_action_links_and_register_account_hooks' ) );
|
1552 |
|
1553 |
if ( $this->is_plugin() ) {
|
1554 |
if ( self::is_plugin_install_page() && true !== fs_request_get_bool( 'fs_allow_updater_and_dialog' ) ) {
|
1589 |
} else {
|
1590 |
add_action( 'after_switch_theme', array( &$this, '_activate_theme_event_hook' ), 10, 2 );
|
1591 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1592 |
add_action( 'admin_footer', array( &$this, '_style_premium_theme' ) );
|
1593 |
}
|
1594 |
|
1608 |
*
|
1609 |
* @author Vova Feldman (@svovaf)
|
1610 |
*/
|
1611 |
+
if ( $this->is_plugin() &&
|
1612 |
+
$this->is_activation_mode( false ) &&
|
1613 |
+
0 == did_action( 'plugins_loaded' )
|
1614 |
+
) {
|
1615 |
add_action( 'plugins_loaded', array( &$this, '_plugins_loaded' ) );
|
1616 |
} else {
|
1617 |
// If was activated before, then it was already loaded before.
|
1630 |
}
|
1631 |
|
1632 |
add_action( 'init', array( &$this, '_maybe_add_gdpr_optin_ajax_handler') );
|
1633 |
+
add_action( 'init', array( &$this, '_maybe_add_pricing_ajax_handler' ) );
|
1634 |
}
|
1635 |
|
1636 |
if ( $this->is_plugin() ) {
|
1662 |
|
1663 |
add_action( 'admin_init', array( &$this, '_redirect_on_clicked_menu_link' ), WP_FS__LOWEST_PRIORITY );
|
1664 |
|
1665 |
+
if ( $this->is_theme() && ! $this->is_migration() ) {
|
1666 |
add_action( 'admin_init', array( &$this, '_add_tracking_links' ) );
|
1667 |
}
|
1668 |
|
1669 |
add_action( 'admin_init', array( &$this, '_add_license_activation' ) );
|
1670 |
add_action( 'admin_init', array( &$this, '_add_premium_version_upgrade_selection' ) );
|
1671 |
add_action( 'admin_init', array( &$this, '_add_beta_mode_update_handler' ) );
|
1672 |
+
add_action( 'admin_init', array( &$this, '_add_user_change_option' ) );
|
1673 |
|
1674 |
$this->add_ajax_action( 'update_billing', array( &$this, '_update_billing_ajax_action' ) );
|
1675 |
$this->add_ajax_action( 'start_trial', array( &$this, '_start_trial_ajax_action' ) );
|
1676 |
+
$this->add_ajax_action( 'set_data_debug_mode', array( &$this, '_set_data_debug_mode' ) );
|
1677 |
+
$this->add_ajax_action( 'toggle_whitelabel_mode', array( &$this, '_toggle_whitelabel_mode_ajax_handler' ) );
|
1678 |
|
1679 |
if ( $this->_is_network_active && fs_is_network_admin() ) {
|
1680 |
$this->add_ajax_action( 'network_activate', array( &$this, '_network_activate_ajax_action' ) );
|
1716 |
}
|
1717 |
}
|
1718 |
|
1719 |
+
/**
|
1720 |
+
* Register the required hooks right after the settings parse is completed.
|
1721 |
+
*
|
1722 |
+
* @author Vova Feldman (@svovaf)
|
1723 |
+
* @since 2.3.1
|
1724 |
+
*/
|
1725 |
+
private function register_after_settings_parse_hooks() {
|
1726 |
+
if ( is_admin() &&
|
1727 |
+
$this->is_theme() &&
|
1728 |
+
$this->is_premium() &&
|
1729 |
+
! $this->has_active_valid_license()
|
1730 |
+
) {
|
1731 |
+
$this->add_ajax_action(
|
1732 |
+
'delete_theme_update_data',
|
1733 |
+
array( &$this, '_delete_theme_update_data_action' )
|
1734 |
+
);
|
1735 |
+
}
|
1736 |
+
|
1737 |
+
if ( $this->show_settings_with_tabs() ) {
|
1738 |
+
/**
|
1739 |
+
* Include the required hooks to capture the theme settings' page tabs
|
1740 |
+
* and cache them.
|
1741 |
+
*
|
1742 |
+
* @author Vova Feldman (@svovaf)
|
1743 |
+
* @since 1.2.2.7
|
1744 |
+
*/
|
1745 |
+
if ( ! $this->_cache->has_valid( 'tabs' ) ) {
|
1746 |
+
add_action( 'admin_footer', array( &$this, '_tabs_capture' ) );
|
1747 |
+
// Add license activation AJAX callback.
|
1748 |
+
$this->add_ajax_action( 'store_tabs', array( &$this, '_store_tabs_ajax_action' ) );
|
1749 |
+
|
1750 |
+
add_action( 'admin_enqueue_scripts', array( &$this, '_store_tabs_styles' ), 9999999 );
|
1751 |
+
}
|
1752 |
+
|
1753 |
+
add_action(
|
1754 |
+
'admin_footer',
|
1755 |
+
array( &$this, '_add_freemius_tabs' ),
|
1756 |
+
/**
|
1757 |
+
* The tabs JS code must be executed after the tabs capture logic (_tabs_capture()).
|
1758 |
+
* That's why the priority is 11 while the tabs capture logic is added
|
1759 |
+
* with priority 10.
|
1760 |
+
*
|
1761 |
+
* @author Vova Feldman (@svovaf)
|
1762 |
+
*/
|
1763 |
+
11
|
1764 |
+
);
|
1765 |
+
}
|
1766 |
+
|
1767 |
+
if ( ! self::is_ajax() ) {
|
1768 |
+
if ( ! $this->is_addon() || $this->is_only_premium() ) {
|
1769 |
+
add_action(
|
1770 |
+
( $this->_is_network_active && fs_is_network_admin() ? 'network_' : '' ) . 'admin_menu',
|
1771 |
+
array( &$this, '_prepare_admin_menu' ),
|
1772 |
+
WP_FS__LOWEST_PRIORITY
|
1773 |
+
);
|
1774 |
+
}
|
1775 |
+
}
|
1776 |
+
}
|
1777 |
+
|
1778 |
/**
|
1779 |
* Makes Freemius-related updates unavailable on the "Add Plugins" admin page (/plugin-install.php) so that
|
1780 |
* they won't interfere with the .org plugins' functionalities on that page (e.g. updating of a .org plugin).
|
2037 |
* @since 2.0.0
|
2038 |
*/
|
2039 |
function _hook_action_links_and_register_account_hooks() {
|
2040 |
+
if ( $this->is_migration() ) {
|
2041 |
+
return;
|
2042 |
+
}
|
2043 |
+
|
2044 |
+
$this->_add_tracking_links();
|
2045 |
|
2046 |
if ( self::is_plugins_page() && $this->is_plugin() ) {
|
2047 |
$this->hook_plugin_action_links();
|
2221 |
);
|
2222 |
|
2223 |
$store_option = true;
|
2224 |
+
} else if (
|
2225 |
+
isset( $id_slug_type_path_map[ $module_id ]['slug'] ) &&
|
2226 |
+
$slug !== $id_slug_type_path_map[ $module_id ]['slug']
|
2227 |
+
) {
|
2228 |
+
$id_slug_type_path_map[ $module_id ]['slug'] = $slug;
|
2229 |
+
$store_option = true;
|
2230 |
}
|
2231 |
|
2232 |
if ( empty( $id_slug_type_path_map[ $module_id ]['path'] ) ||
|
2389 |
|
2390 |
if ( ! isset( $caller_map[ $caller_file_hash ] ) ) {
|
2391 |
foreach ( $all_plugins_paths as $plugin_path ) {
|
2392 |
+
if ( empty( $plugin_path ) ) {
|
2393 |
+
continue;
|
2394 |
+
}
|
2395 |
+
|
2396 |
if ( false !== strpos( $caller_file_path, fs_normalize_path( dirname( $plugin_path ) . '/' ) ) ) {
|
2397 |
$caller_map[ $caller_file_hash ] = fs_normalize_path( $plugin_path );
|
2398 |
break;
|
3071 |
* @return bool
|
3072 |
*/
|
3073 |
function is_activation_page() {
|
3074 |
+
if ( $this->_menu->is_activation_page( $this->show_opt_in_on_themes_page() ) ) {
|
3075 |
return true;
|
3076 |
}
|
3077 |
|
4300 |
)
|
4301 |
),
|
4302 |
sprintf(
|
4303 |
+
'<a href="%s" target="_blank" rel="noopener noreferrer"><b>%s</b></a> - %s',
|
4304 |
sprintf( 'https://wordpress.org/plugins/%s/download/', $this->_slug ),
|
4305 |
$install_previous_title,
|
4306 |
$install_previous_desc
|
4407 |
)
|
4408 |
),
|
4409 |
sprintf(
|
4410 |
+
'<a href="%s" target="_blank" rel="noopener noreferrer"><b>%s</b></a> - %s',
|
4411 |
sprintf( 'https://wordpress.org/plugins/%s/download/', $this->_slug ),
|
4412 |
$install_previous_title,
|
4413 |
$install_previous_desc
|
4773 |
|
4774 |
$this->parse_settings( $plugin_info );
|
4775 |
|
4776 |
+
$this->register_after_settings_parse_hooks();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4777 |
|
4778 |
if ( $this->should_stop_execution() ) {
|
4779 |
return;
|
4928 |
} else {
|
4929 |
$is_network_admin = fs_is_network_admin();
|
4930 |
|
4931 |
+
if ( ! $this->_parent->is_registered() && $this->is_registered() ) {
|
4932 |
+
// If add-on activated and parent not, automatically install parent for the user.
|
4933 |
+
$this->activate_parent_account( $this->_parent );
|
4934 |
+
} else if (
|
4935 |
$this->_parent->is_registered() &&
|
4936 |
! $this->is_registered() &&
|
4937 |
/**
|
4947 |
*/
|
4948 |
( $this->is_network_active() || ! $is_network_admin )
|
4949 |
) {
|
4950 |
+
$premium_license = null;
|
4951 |
+
|
4952 |
+
if (
|
4953 |
+
! $this->has_free_plan() &&
|
4954 |
+
$this->is_bundle_license_auto_activation_enabled() &&
|
4955 |
+
$this->_parent->is_activated_with_bundle_license()
|
4956 |
+
) {
|
4957 |
+
/**
|
4958 |
+
* If the add-on has no free plan, try to activate the account only when there's a bundle license.
|
4959 |
+
*
|
4960 |
+
* @author Leo Fajardo (@leorw)
|
4961 |
+
* @since 2.4.0
|
4962 |
+
*/
|
4963 |
+
$bundle_license = $this->get_active_parent_license( $this->_parent->_get_license()->secret_key, false );
|
4964 |
+
|
4965 |
+
if (
|
4966 |
+
is_object( $bundle_license ) &&
|
4967 |
+
! empty( $bundle_license->products ) &&
|
4968 |
+
in_array( $this->get_id(), $bundle_license->products )
|
4969 |
+
) {
|
4970 |
+
$premium_license = $bundle_license;
|
4971 |
+
}
|
4972 |
+
}
|
4973 |
+
|
4974 |
+
if ( $this->has_free_plan() || is_object( $premium_license) ) {
|
4975 |
+
// If parent plugin activated, automatically install add-on for the user.
|
4976 |
+
$this->_activate_addon_account(
|
4977 |
+
$this->_parent,
|
4978 |
+
( $this->is_network_active() && $is_network_admin ) ?
|
4979 |
+
true :
|
4980 |
+
get_current_blog_id(),
|
4981 |
+
$premium_license
|
4982 |
+
);
|
4983 |
+
}
|
4984 |
}
|
4985 |
|
4986 |
// @todo This should be only executed on activation. It should be migrated to register_activation_hook() together with other activation related logic.
|
5475 |
}
|
5476 |
}
|
5477 |
|
5478 |
+
/**
|
5479 |
+
* @author Vova Feldman (@svovaf)
|
5480 |
+
* @since 2.3.2
|
5481 |
+
*
|
5482 |
+
* @return bool
|
5483 |
+
*/
|
5484 |
+
function is_extensions_tracking_allowed() {
|
5485 |
+
return ( true === $this->apply_filters(
|
5486 |
+
'is_extensions_tracking_allowed',
|
5487 |
+
$this->_storage->get( 'is_extensions_tracking_allowed', true )
|
5488 |
+
) );
|
5489 |
+
}
|
5490 |
+
|
5491 |
+
/**
|
5492 |
+
* @author Vova Feldman (@svovaf)
|
5493 |
+
* @since 2.3.2
|
5494 |
+
*/
|
5495 |
+
function _update_tracking_permission_callback() {
|
5496 |
+
$this->_logger->entrance();
|
5497 |
+
|
5498 |
+
$this->check_ajax_referer( 'update_tracking_permission' );
|
5499 |
+
|
5500 |
+
$is_enabled = fs_request_get_bool( 'is_enabled', null );
|
5501 |
+
|
5502 |
+
if ( ! is_bool( $is_enabled ) ) {
|
5503 |
+
self::shoot_ajax_failure();
|
5504 |
+
}
|
5505 |
+
|
5506 |
+
$permission = fs_request_get( 'permission' );
|
5507 |
+
|
5508 |
+
switch ( $permission ) {
|
5509 |
+
case 'extensions':
|
5510 |
+
$this->update_extensions_tracking_flag( $is_enabled );
|
5511 |
+
break;
|
5512 |
+
default:
|
5513 |
+
$permission = 'no_match';
|
5514 |
+
}
|
5515 |
+
|
5516 |
+
if ( 'no_match' === $permission ) {
|
5517 |
+
self::shoot_ajax_failure();
|
5518 |
+
}
|
5519 |
+
|
5520 |
+
self::shoot_ajax_success( array(
|
5521 |
+
'permissions' => array(
|
5522 |
+
$permission => $is_enabled,
|
5523 |
+
)
|
5524 |
+
) );
|
5525 |
+
}
|
5526 |
+
|
5527 |
+
/**
|
5528 |
+
* @author Leo Fajardo (@leorw)
|
5529 |
+
* @since 2.3.2
|
5530 |
+
*
|
5531 |
+
* @param bool $is_enabled
|
5532 |
+
*/
|
5533 |
+
private function update_extensions_tracking_flag( $is_enabled ) {
|
5534 |
+
$this->_storage->store( 'is_extensions_tracking_allowed', $is_enabled );
|
5535 |
+
}
|
5536 |
+
|
5537 |
/**
|
5538 |
* Parse plugin's settings (as defined by the plugin dev).
|
5539 |
*
|
5610 |
'is_live' => $this->get_bool_option( $plugin_info, 'is_live', true ),
|
5611 |
'affiliate_moderation' => $this->get_option( $plugin_info, 'has_affiliation' ),
|
5612 |
'bundle_id' => $this->get_option( $plugin_info, 'bundle_id', null ),
|
5613 |
+
'bundle_public_key' => $this->get_option( $plugin_info, 'bundle_public_key', null ),
|
5614 |
) );
|
5615 |
|
5616 |
if ( $plugin->is_updated() ) {
|
5671 |
$this->_anonymous_mode = $this->get_bool_option( $plugin_info, 'anonymous_mode', false );
|
5672 |
}
|
5673 |
$this->_permissions = $this->get_option( $plugin_info, 'permissions', array() );
|
5674 |
+
$this->_is_bundle_license_auto_activation_enabled = $this->get_option( $plugin_info, 'bundle_license_auto_activation', false );
|
5675 |
|
5676 |
if ( ! empty( $plugin_info['trial'] ) ) {
|
5677 |
$this->_trial_days = $this->get_numeric_option(
|
5683 |
|
5684 |
$this->_is_trial_require_payment = $this->get_bool_option( $plugin_info['trial'], 'is_require_payment', false );
|
5685 |
}
|
5686 |
+
|
5687 |
+
$this->_navigation = $this->get_option(
|
5688 |
+
$plugin_info,
|
5689 |
+
'navigation',
|
5690 |
+
$this->is_free_wp_org_theme() ?
|
5691 |
+
self::NAVIGATION_TABS :
|
5692 |
+
self::NAVIGATION_MENU
|
5693 |
+
);
|
5694 |
}
|
5695 |
|
5696 |
/**
|
6043 |
* @return Freemius[]
|
6044 |
*/
|
6045 |
function get_installed_addons() {
|
6046 |
+
if ( $this->is_addon() ) {
|
6047 |
+
// Add-on cannot have add-ons.
|
6048 |
+
return array();
|
6049 |
+
}
|
6050 |
+
|
6051 |
$installed_addons = array();
|
6052 |
+
|
6053 |
foreach ( self::$_instances as $instance ) {
|
6054 |
+
if ( $instance->is_addon_of( $this->_plugin->id ) ) {
|
6055 |
+
$installed_addons[] = $instance;
|
|
|
|
|
6056 |
}
|
6057 |
}
|
6058 |
|
6102 |
* @return bool
|
6103 |
*/
|
6104 |
function is_addon() {
|
6105 |
+
return (
|
6106 |
+
isset( $this->_plugin->parent_plugin_id ) &&
|
6107 |
+
is_numeric( $this->_plugin->parent_plugin_id )
|
6108 |
+
);
|
6109 |
+
}
|
6110 |
+
|
6111 |
+
/**
|
6112 |
+
* @author Vova Feldman (@svovaf)
|
6113 |
+
* @since 2.3.2
|
6114 |
+
*
|
6115 |
+
* @param number $parent_product_id
|
6116 |
+
*
|
6117 |
+
* @return bool
|
6118 |
+
*/
|
6119 |
+
function is_addon_of( $parent_product_id ) {
|
6120 |
+
return (
|
6121 |
+
$this->is_addon() &&
|
6122 |
+
$parent_product_id == $this->_plugin->parent_plugin_id
|
6123 |
+
);
|
6124 |
}
|
6125 |
|
6126 |
/**
|
6877 |
} else {
|
6878 |
$this->sync_install();
|
6879 |
}
|
6880 |
+
|
6881 |
+
$this->maybe_sync_install_user();
|
6882 |
}
|
6883 |
}
|
6884 |
}
|
7091 |
} else {
|
7092 |
$this->sync_install( array(), true );
|
7093 |
}
|
7094 |
+
|
7095 |
+
$this->maybe_sync_install_user();
|
7096 |
}
|
7097 |
}
|
7098 |
|
7149 |
* @since 1.0.7
|
7150 |
*/
|
7151 |
function _admin_init_action() {
|
7152 |
+
$is_migration = $this->is_migration();
|
7153 |
+
|
7154 |
/**
|
7155 |
* Automatically redirect to connect/activation page after plugin activation.
|
7156 |
*
|
7163 |
/**
|
7164 |
* Don't redirect if activating multiple plugins at once (bulk activation).
|
7165 |
*/
|
7166 |
+
} else if ( ! $is_migration ) {
|
7167 |
$this->_redirect_on_activation_hook();
|
7168 |
return;
|
7169 |
}
|
7170 |
}
|
7171 |
|
7172 |
+
if ( $is_migration ) {
|
7173 |
+
return;
|
7174 |
+
}
|
7175 |
+
|
7176 |
if ( fs_request_is_action( $this->get_unique_affix() . '_skip_activation' ) ) {
|
7177 |
check_admin_referer( $this->get_unique_affix() . '_skip_activation' );
|
7178 |
|
7193 |
|
7194 |
$this->_add_upgrade_action_link();
|
7195 |
|
7196 |
+
if ( ! ( ! $this->_is_network_active && fs_is_network_admin() ) &&
|
|
|
7197 |
(
|
7198 |
( true === $this->_storage->require_license_activation ) ||
|
7199 |
// Not registered nor anonymous.
|
7203 |
)
|
7204 |
) {
|
7205 |
if ( ! $this->is_pending_activation() ) {
|
7206 |
+
if ( ! $this->is_activation_page() ) {
|
7207 |
/**
|
7208 |
* If a user visits any other admin page before activating the premium-only theme with a valid
|
7209 |
* license, reactivate the previous theme.
|
7270 |
}
|
7271 |
}
|
7272 |
|
7273 |
+
if ( $this->show_opt_in_on_themes_page() &&
|
7274 |
+
$this->is_activation_page()
|
7275 |
) {
|
7276 |
$this->_show_theme_activation_optin_dialog();
|
7277 |
}
|
7737 |
* @author Leo Fajardo (@leorw)
|
7738 |
* @since 1.2.2
|
7739 |
*/
|
7740 |
+
if (
|
7741 |
+
is_plugin_active( $other_version_basename ) &&
|
7742 |
+
$this->apply_filters( 'deactivate_on_activation', true )
|
7743 |
+
) {
|
7744 |
deactivate_plugins( $other_version_basename );
|
7745 |
}
|
7746 |
}
|
7849 |
$this->_storage->is_plugin_new_install = empty( $this->_storage->plugin_last_version );
|
7850 |
}
|
7851 |
|
7852 |
+
/**
|
7853 |
+
* Also flush when activating the premium version so that even if Freemius was off before, the API
|
7854 |
+
* connectivity test can be run again.
|
7855 |
+
*
|
7856 |
+
* @author Leo Fajardo (@leorw)
|
7857 |
+
* @since 2.2.3.1
|
7858 |
+
*/
|
7859 |
+
$has_api_connectivity = $this->has_api_connectivity( WP_FS__DEV_MODE || $is_premium_version_activation );
|
7860 |
+
|
7861 |
if ( ! $this->_anonymous_mode &&
|
7862 |
+
$has_api_connectivity &&
|
7863 |
! $this->_isAutoInstall
|
7864 |
) {
|
7865 |
// Store hint that the plugin was just activated to enable auto-redirection to settings.
|
7892 |
return;
|
7893 |
}
|
7894 |
|
7895 |
+
$license = $this->get_active_parent_license();
|
7896 |
if ( ! is_object( $license ) ) {
|
7897 |
return;
|
7898 |
}
|
7899 |
|
7900 |
+
if (
|
7901 |
+
$this->is_bundle_license_auto_activation_enabled() &&
|
7902 |
+
! empty( $license->products )
|
7903 |
+
) {
|
7904 |
+
$this->activate_bundle_license( $license );
|
7905 |
+
|
7906 |
+
return;
|
7907 |
+
}
|
7908 |
+
|
7909 |
if ( ! $this->is_registered() ) {
|
7910 |
// Opt in with a license key.
|
7911 |
$this->opt_in(
|
7928 |
}
|
7929 |
}
|
7930 |
|
|
|
7931 |
/**
|
7932 |
* @author Leo Fajardo (@leorw)
|
7933 |
* @since 2.3.0
|
7943 |
|
7944 |
$license = ( ! is_null( $license ) ) ?
|
7945 |
$license :
|
7946 |
+
$this->get_active_parent_license();
|
7947 |
|
7948 |
if ( ! is_object( $license ) ) {
|
7949 |
return;
|
7950 |
}
|
7951 |
|
7952 |
+
if (
|
7953 |
+
$this->is_bundle_license_auto_activation_enabled() &&
|
7954 |
+
! empty( $license->products )
|
7955 |
+
) {
|
7956 |
+
$this->activate_bundle_license( $license );
|
7957 |
+
|
7958 |
+
return;
|
7959 |
+
}
|
7960 |
+
|
7961 |
if ( ! $this->is_network_registered() ) {
|
7962 |
$sites = $this->get_sites_for_network_level_optin();
|
7963 |
|
8021 |
}
|
8022 |
|
8023 |
/**
|
8024 |
+
* Tries to activate a bundle license for all supported products if the current product is activated with a bundle license. This is called after activating an available license (not via the license activation dialog but by clicking on a license activation button) for a product via its "Account" page.
|
8025 |
+
*
|
8026 |
* @author Leo Fajardo (@leorw)
|
8027 |
+
* @since 2.4.0
|
8028 |
*
|
8029 |
+
* @param FS_Plugin_License $license
|
8030 |
+
* @param array $sites
|
8031 |
+
* @param int $blog_id
|
8032 |
*/
|
8033 |
+
private function maybe_activate_bundle_license( FS_Plugin_License $license = null, $sites = array(), $blog_id = 0 ) {
|
8034 |
+
if ( ! is_object( $license ) && $this->has_active_valid_license() ) {
|
8035 |
+
$license = $this->_license;
|
8036 |
+
}
|
8037 |
|
8038 |
+
if ( ! is_object( $license ) ) {
|
8039 |
+
return;
|
8040 |
+
}
|
8041 |
+
|
8042 |
+
$parent_license = ( ! empty( $license->products ) ) ?
|
8043 |
+
$license :
|
8044 |
+
$this->get_active_parent_license( $license->secret_key );
|
8045 |
+
|
8046 |
+
if ( is_object( $parent_license ) ) {
|
8047 |
+
$this->activate_bundle_license( $parent_license, $sites, $blog_id );
|
8048 |
+
}
|
8049 |
+
}
|
8050 |
+
|
8051 |
+
/**
|
8052 |
+
* Try to activate a bundle license for all the bundle products installed on the site.
|
8053 |
+
* (1) If a child product install already has a license, the bundle license won't be activated.
|
8054 |
+
* (2) On multi-site networks, if the attempt to activate the bundle license is triggered from the network admin, the bundle license activation will only work for non-delegated sites and only if none of them is associated with a license. Even if one of the sites has the product installed with a license key, skip the bundle license activation for the product.
|
8055 |
+
* (3) On multi-site networks, if the attempt to activate the bundle license is triggered from a site-level admin, only activate the license if the product is site-level activated or delegated, and the product installation is not yet associated with a license.
|
8056 |
+
*
|
8057 |
+
* @author Leo Fajardo (@leorw)
|
8058 |
+
* @since 2.4.0
|
8059 |
+
*
|
8060 |
+
* @param FS_Plugin_License $license
|
8061 |
+
* @param array $sites
|
8062 |
+
* @param int $current_blog_id
|
8063 |
+
*/
|
8064 |
+
private function activate_bundle_license( $license, $sites = array(), $current_blog_id = 0 ) {
|
8065 |
+
$is_network_admin = fs_is_network_admin();
|
8066 |
+
|
8067 |
+
$installs_by_blog_map = array();
|
8068 |
+
$site_info_by_blog_map = array();
|
8069 |
+
|
8070 |
+
/**
|
8071 |
+
* Try to activate the license for all supported products.
|
8072 |
+
*
|
8073 |
+
* @author Leo Fajardo
|
8074 |
+
*/
|
8075 |
+
foreach ( $license->products as $product_id ) {
|
8076 |
+
$fs = self::get_instance_by_id( $product_id );
|
8077 |
+
|
8078 |
+
if ( ! is_object( $fs ) ) {
|
8079 |
+
continue;
|
8080 |
+
}
|
8081 |
+
|
8082 |
+
if ( ! $fs->has_paid_plan() ) {
|
8083 |
+
continue;
|
8084 |
+
}
|
8085 |
+
|
8086 |
+
if (
|
8087 |
+
! $fs->is_addon() &&
|
8088 |
+
! FS_Plan_Manager::instance()->has_paid_plan( $fs->_plans )
|
8089 |
+
) {
|
8090 |
+
/**
|
8091 |
+
* The parent product can be free-only but can have its `has_paid_plan` flag set to `true` when
|
8092 |
+
* there is a context bundle.
|
8093 |
+
*/
|
8094 |
+
continue;
|
8095 |
+
}
|
8096 |
+
|
8097 |
+
if ( $current_blog_id > 0 ) {
|
8098 |
+
$fs->switch_to_blog( $current_blog_id );
|
8099 |
+
}
|
8100 |
+
|
8101 |
+
if ( $fs->has_active_valid_license() ) {
|
8102 |
+
continue;
|
8103 |
+
}
|
8104 |
+
|
8105 |
+
if ( ! $is_network_admin || $current_blog_id > 0 ) {
|
8106 |
+
if ( $fs->is_network_active() && ! $fs->is_delegated_connection( $current_blog_id ) ) {
|
8107 |
+
// Do not try to activate the license in the site level if the product is network active and the connection was not delegated.
|
8108 |
+
continue;
|
8109 |
+
}
|
8110 |
+
} else {
|
8111 |
+
if ( ! $fs->is_network_active() ) {
|
8112 |
+
// Do not try to activate the license in the network level if the product is not network active.
|
8113 |
+
continue;
|
8114 |
+
}
|
8115 |
+
|
8116 |
+
if ( $fs->is_network_delegated_connection() ) {
|
8117 |
+
// Do not try to activate the license in the network level if the activation has been delegated to site admins.
|
8118 |
+
continue;
|
8119 |
+
}
|
8120 |
+
|
8121 |
+
$has_install_with_license = false;
|
8122 |
+
|
8123 |
+
// Collection of sites that have an install entity that is not activated with a license or non-delegated sites that have no install entity, or both types of site.
|
8124 |
+
$filtered_sites = array();
|
8125 |
+
|
8126 |
+
if ( empty( $sites ) ) {
|
8127 |
+
$all_sites = self::get_sites();
|
8128 |
+
|
8129 |
+
foreach ( $all_sites as $site ) {
|
8130 |
+
$sites[] = array( 'blog_id' => self::get_site_blog_id( $site ) );
|
8131 |
+
}
|
8132 |
+
} else {
|
8133 |
+
// Populate the map here to avoid calling `$fs->get_site_info( $site );` in the other `for` loop below.
|
8134 |
+
foreach ( $sites as $site ) {
|
8135 |
+
if ( ! isset( $site['blog_id'] ) || ! is_numeric( $site['blog_id'] ) ) {
|
8136 |
+
continue;
|
8137 |
+
}
|
8138 |
+
|
8139 |
+
$site_info_by_blog_map[ $site['blog_id'] ] = $site;
|
8140 |
+
}
|
8141 |
+
}
|
8142 |
+
|
8143 |
+
foreach ( $sites as $site ) {
|
8144 |
+
if ( ! isset( $site['blog_id'] ) || ! is_numeric( $site['blog_id'] ) ) {
|
8145 |
+
continue;
|
8146 |
+
}
|
8147 |
+
|
8148 |
+
$blog_id = $site['blog_id'];
|
8149 |
+
|
8150 |
+
if ( ! isset( $installs_by_blog_map[ $blog_id ] ) ) {
|
8151 |
+
$installs_by_blog_map[ $blog_id ] = self::get_all_sites( $fs->get_module_type(), $blog_id );
|
8152 |
+
}
|
8153 |
+
|
8154 |
+
$installs = $installs_by_blog_map[ $blog_id ];
|
8155 |
+
$install = null;
|
8156 |
+
|
8157 |
+
if ( isset( $installs[ $fs->get_slug() ] ) ) {
|
8158 |
+
$install = $installs[ $fs->get_slug() ];
|
8159 |
+
|
8160 |
+
if (
|
8161 |
+
is_object( $install ) &&
|
8162 |
+
(
|
8163 |
+
! FS_Site::is_valid_id( $install->id ) ||
|
8164 |
+
! FS_User::is_valid_id( $install->user_id ) ||
|
8165 |
+
! FS_Plugin_Plan::is_valid_id( $install->plan_id )
|
8166 |
+
)
|
8167 |
+
) {
|
8168 |
+
$install = null;
|
8169 |
+
}
|
8170 |
+
}
|
8171 |
+
|
8172 |
+
if (
|
8173 |
+
is_object( $install ) &&
|
8174 |
+
FS_Plugin_License::is_valid_id( $install->license_id )
|
8175 |
+
) {
|
8176 |
+
$has_install_with_license = true;
|
8177 |
+
break;
|
8178 |
+
}
|
8179 |
+
|
8180 |
+
if ( $fs->is_site_delegated_connection( $blog_id ) ) {
|
8181 |
+
// Site activation delegated, don't activate bundle license on the site in the network admin.
|
8182 |
+
continue;
|
8183 |
+
}
|
8184 |
+
|
8185 |
+
if ( ! isset( $site_info_by_blog_map[ $blog_id ] ) ) {
|
8186 |
+
$site_info_by_blog_map[ $blog_id ] = $fs->get_site_info( $site );
|
8187 |
+
}
|
8188 |
+
|
8189 |
+
$filtered_sites[] = $site_info_by_blog_map[ $blog_id ];
|
8190 |
+
}
|
8191 |
+
|
8192 |
+
if ( $has_install_with_license || empty( $filtered_sites ) ) {
|
8193 |
+
// Do not try to activate the license at the network level if there's any install with a license or there's no site to activate the license on.
|
8194 |
+
continue;
|
8195 |
+
}
|
8196 |
+
|
8197 |
+
$sites = $filtered_sites;
|
8198 |
+
}
|
8199 |
+
|
8200 |
+
$fs->activate_migrated_license(
|
8201 |
+
$license->secret_key,
|
8202 |
+
null,
|
8203 |
+
null,
|
8204 |
+
$sites,
|
8205 |
+
( $current_blog_id > 0 ? $current_blog_id : null )
|
8206 |
+
);
|
8207 |
+
}
|
8208 |
+
}
|
8209 |
+
|
8210 |
+
/**
|
8211 |
+
* Returns a parent license that can be activated for the context product.
|
8212 |
+
*
|
8213 |
+
* @author Leo Fajardo (@leorw)
|
8214 |
+
* @since 2.3.0
|
8215 |
+
*
|
8216 |
+
* @param string|null $license_key
|
8217 |
+
* @param bool $flush
|
8218 |
+
*
|
8219 |
+
* @return FS_Plugin_License
|
8220 |
+
*/
|
8221 |
+
function get_active_parent_license( $license_key = null, $flush = true ) {
|
8222 |
+
$parent_licenses_endpoint = "/plugins/{$this->get_id()}/parent_licenses.json?filter=activatable";
|
8223 |
+
|
8224 |
+
$fs = $this;
|
8225 |
+
|
8226 |
+
if ( $this->is_addon() ) {
|
8227 |
+
$parent_instance = $this->get_parent_instance();
|
8228 |
+
|
8229 |
+
if ( is_object( $parent_instance ) && $parent_instance->is_registered() ) {
|
8230 |
+
$fs = $parent_instance;
|
8231 |
+
}
|
8232 |
+
}
|
8233 |
+
|
8234 |
+
$foreign_licenses = $fs->get_foreign_licenses_info(
|
8235 |
+
self::get_all_licenses( $this->get_parent_id() )
|
8236 |
);
|
8237 |
|
8238 |
if ( ! empty ( $foreign_licenses ) ) {
|
8245 |
$parent_licenses_endpoint = add_query_arg( $foreign_licenses, $parent_licenses_endpoint );
|
8246 |
}
|
8247 |
|
8248 |
+
$result = $fs->get_current_or_network_user_api_scope()->get( $parent_licenses_endpoint, $flush );
|
8249 |
|
8250 |
if (
|
8251 |
! $this->is_api_result_object( $result, 'licenses' ) ||
|
8255 |
return null;
|
8256 |
}
|
8257 |
|
8258 |
+
$parent_license = null;
|
8259 |
|
8260 |
+
if ( empty( $license_key ) ) {
|
8261 |
+
$parent_license = $result->licenses[0];
|
8262 |
+
} else {
|
8263 |
+
foreach ( $result->licenses as $license ) {
|
8264 |
+
if ( $license_key === $license->secret_key ) {
|
8265 |
+
$parent_license = $license;
|
8266 |
+
break;
|
8267 |
+
}
|
8268 |
+
}
|
8269 |
+
}
|
8270 |
+
|
8271 |
+
if ( ! is_null( $parent_license ) ) {
|
8272 |
+
$parent_license = new FS_Plugin_License( $parent_license );
|
8273 |
+
}
|
8274 |
+
|
8275 |
+
return $parent_license;
|
8276 |
}
|
8277 |
|
8278 |
/**
|
8281 |
*
|
8282 |
* @return array
|
8283 |
*/
|
8284 |
+
function get_sites_for_network_level_optin() {
|
8285 |
$sites = array();
|
8286 |
$all_sites = self::get_sites();
|
8287 |
|
8411 |
foreach ( $sites as $site ) {
|
8412 |
$blog_id = self::get_site_blog_id( $site );
|
8413 |
|
8414 |
+
if ( $this->is_site_delegated_connection( $blog_id ) ) {
|
8415 |
+
continue;
|
8416 |
+
}
|
8417 |
+
|
8418 |
$install_id = $this->_delete_site( true, $blog_id );
|
8419 |
|
8420 |
// Clear all storage data.
|
9025 |
'is_uninstalled' => false,
|
9026 |
);
|
9027 |
|
|
|
9028 |
$network_plugins_cache->plugins[ $basename ] = $new_plugin;
|
9029 |
|
9030 |
+
$is_site_level_active = (
|
9031 |
+
isset( $site_active_plugins[ $basename ] ) &&
|
9032 |
+
$site_active_plugins[ $basename ]['is_active']
|
9033 |
+
);
|
9034 |
+
|
9035 |
+
/**
|
9036 |
+
* If not network active, set the activity status based on the site-level plugin status.
|
9037 |
+
*/
|
9038 |
+
if ( ! $new_plugin['is_active'] ) {
|
9039 |
+
$new_plugin['is_active'] = $is_site_level_active;
|
9040 |
+
}
|
9041 |
+
|
9042 |
+
$plugins_update_data[] = $new_plugin;
|
9043 |
+
|
9044 |
if ( isset( $site_active_plugins[ $basename ] ) ) {
|
9045 |
$site_active_plugins_cache->plugins[ $basename ] = $new_plugin;
|
9046 |
+
$site_active_plugins_cache->plugins[ $basename ]['is_active'] = $is_site_level_active;
|
9047 |
}
|
9048 |
}
|
9049 |
}
|
9205 |
$include_themes = true,
|
9206 |
$include_blog_data = true
|
9207 |
) {
|
9208 |
+
if ( $this->is_extensions_tracking_allowed() ) {
|
9209 |
+
if ( ! defined( 'WP_FS__TRACK_PLUGINS' ) || false !== WP_FS__TRACK_PLUGINS ) {
|
9210 |
+
/**
|
9211 |
+
* @since 1.1.8 Also send plugin updates.
|
9212 |
+
*/
|
9213 |
+
if ( $include_plugins && ! isset( $override['plugins'] ) ) {
|
9214 |
+
$plugins = $this->get_plugins_data_for_api();
|
9215 |
+
if ( ! empty( $plugins ) ) {
|
9216 |
+
$override['plugins'] = $plugins;
|
9217 |
+
}
|
9218 |
}
|
9219 |
}
|
|
|
9220 |
|
9221 |
+
if ( ! defined( 'WP_FS__TRACK_THEMES' ) || false !== WP_FS__TRACK_THEMES ) {
|
9222 |
+
/**
|
9223 |
+
* @since 1.1.8 Also send themes updates.
|
9224 |
+
*/
|
9225 |
+
if ( $include_themes && ! isset( $override['themes'] ) ) {
|
9226 |
+
$themes = $this->get_themes_data_for_api();
|
9227 |
+
if ( ! empty( $themes ) ) {
|
9228 |
+
$override['themes'] = $themes;
|
9229 |
+
}
|
9230 |
}
|
9231 |
}
|
9232 |
}
|
9582 |
}
|
9583 |
}
|
9584 |
|
9585 |
+
/**
|
9586 |
+
* Syncs the install owner's data if needed (i.e., if the install owner is different from the loaded user).
|
9587 |
+
*
|
9588 |
+
* @author Leo Fajardo (@leorw)
|
9589 |
+
* @since 2.3.2
|
9590 |
+
*/
|
9591 |
+
private function maybe_sync_install_user() {
|
9592 |
+
if ( $this->_user->id == $this->_site->user_id ) {
|
9593 |
+
return;
|
9594 |
+
}
|
9595 |
+
|
9596 |
+
// Fetch user data and store if found.
|
9597 |
+
$this->sync_user_by_current_install();
|
9598 |
+
}
|
9599 |
+
|
9600 |
/**
|
9601 |
* Update install only if changed.
|
9602 |
*
|
9880 |
$fs = self::get_instance_by_file( $plugin_file );
|
9881 |
|
9882 |
if ( is_object( $fs ) ) {
|
9883 |
+
$fs->remove_sdk_reference();
|
9884 |
+
|
9885 |
self::require_plugin_essentials();
|
9886 |
|
9887 |
if ( is_plugin_active( $fs->_free_plugin_basename ) ||
|
9933 |
* @author Vova Feldman (@svovaf)
|
9934 |
* @since 1.0.1
|
9935 |
*
|
9936 |
+
* @param bool $reparse_plugin_metadata
|
9937 |
+
*
|
9938 |
* @return array
|
9939 |
*/
|
9940 |
+
function get_plugin_data( $reparse_plugin_metadata = false ) {
|
9941 |
+
if ( ! isset( $this->_plugin_data ) || $reparse_plugin_metadata ) {
|
9942 |
self::require_plugin_essentials();
|
9943 |
|
9944 |
if ( $this->is_plugin() ) {
|
10043 |
null;
|
10044 |
}
|
10045 |
|
10046 |
+
/**
|
10047 |
+
* @author Vova Feldman (@svovaf)
|
10048 |
+
* @since 2.3.1
|
10049 |
+
*
|
10050 |
+
* @return string|null Bundle public key.
|
10051 |
+
*/
|
10052 |
+
function get_bundle_public_key() {
|
10053 |
+
return isset( $this->_plugin->bundle_public_key ) ?
|
10054 |
+
$this->_plugin->bundle_public_key :
|
10055 |
+
null;
|
10056 |
+
}
|
10057 |
+
|
10058 |
/**
|
10059 |
* @author Vova Feldman (@svovaf)
|
10060 |
* @since 1.2.1.5
|
10077 |
$this->_plugin->id;
|
10078 |
}
|
10079 |
|
10080 |
+
/**
|
10081 |
+
* @author Vova Feldman (@svovaf)
|
10082 |
+
* @since 2.3.1
|
10083 |
+
*
|
10084 |
+
* @return string
|
10085 |
+
*/
|
10086 |
+
function get_usage_tracking_terms_url() {
|
10087 |
+
return $this->apply_filters(
|
10088 |
+
'usage_tracking_terms_url',
|
10089 |
+
"https://freemius.com/wordpress/usage-tracking/{$this->_plugin->id}/{$this->_slug}/"
|
10090 |
+
);
|
10091 |
+
}
|
10092 |
+
|
10093 |
+
/**
|
10094 |
+
* @author Vova Feldman (@svovaf)
|
10095 |
+
* @since 2.3.1
|
10096 |
+
*
|
10097 |
+
* @return string
|
10098 |
+
*/
|
10099 |
+
function get_eula_url() {
|
10100 |
+
return $this->apply_filters(
|
10101 |
+
'eula_url',
|
10102 |
+
"https://freemius.com/terms/{$this->_plugin->id}/{$this->_slug}/"
|
10103 |
+
);
|
10104 |
+
}
|
10105 |
+
|
10106 |
/**
|
10107 |
* @author Vova Feldman (@svovaf)
|
10108 |
* @since 1.0.1
|
10202 |
* @author Vova Feldman (@svovaf)
|
10203 |
* @since 1.0.0
|
10204 |
*
|
10205 |
+
* @param bool $reparse_plugin_metadata
|
10206 |
+
*
|
10207 |
* @return string
|
10208 |
*/
|
10209 |
+
function get_plugin_version( $reparse_plugin_metadata = false ) {
|
10210 |
$this->_logger->entrance();
|
10211 |
|
10212 |
+
$plugin_data = $this->get_plugin_data( $reparse_plugin_metadata );
|
10213 |
|
10214 |
$this->_logger->departure( 'Version = ' . $plugin_data['Version'] );
|
10215 |
|
10334 |
* @return array[number]FS_User
|
10335 |
*/
|
10336 |
static function get_all_users() {
|
10337 |
+
$users = self::maybe_get_entities_account_option( 'users', array() );
|
10338 |
|
10339 |
if ( ! is_array( $users ) ) {
|
10340 |
$users = array();
|
10378 |
$option_name = $module_type . '_' . $option_name;
|
10379 |
}
|
10380 |
|
10381 |
+
return self::maybe_get_entities_account_option( $option_name, array(), $network_level_or_blog_id );
|
10382 |
}
|
10383 |
|
10384 |
/**
|
10426 |
self::$_accounts->set_option( $option_name, $option_value, $store, $network_level_or_blog_id );
|
10427 |
}
|
10428 |
|
10429 |
+
/**
|
10430 |
+
* This method can also return non-entity or non-entities collection option like the `user_id_license_ids_map` option.
|
10431 |
+
*
|
10432 |
+
* @author Leo Fajardo (@leorw)
|
10433 |
+
* @since 2.3.1
|
10434 |
+
*
|
10435 |
+
* @param string $option_name
|
10436 |
+
* @param mixed $default
|
10437 |
+
* @param null|bool|int $network_level_or_blog_id When an integer, use the given blog storage. When `true` use the multisite storage (if there's a network). When `false`, use the current context blog storage. When `null`, the decision which storage to use (MS vs. Current S) will be handled internally and determined based on the $option (based on self::$_SITE_LEVEL_PARAMS).
|
10438 |
+
*
|
10439 |
+
* @return mixed|FS_Plugin[]|FS_User[]|FS_Site[]|FS_Plugin_License[]|FS_Plugin_Plan[]|FS_Plugin_Tag[]
|
10440 |
+
*/
|
10441 |
+
private static function maybe_get_entities_account_option( $option_name, $default = null, $network_level_or_blog_id = null ) {
|
10442 |
+
$option = self::$_accounts->get_option( $option_name, $default, $network_level_or_blog_id );
|
10443 |
+
|
10444 |
+
$class_name = '';
|
10445 |
+
|
10446 |
+
if ( fs_starts_with( $option_name, WP_FS__MODULE_TYPE_THEME . '_' ) ) {
|
10447 |
+
$option_name = str_replace( WP_FS__MODULE_TYPE_THEME . '_', '', $option_name );
|
10448 |
+
}
|
10449 |
+
|
10450 |
+
switch ( $option_name ) {
|
10451 |
+
case 'plugins':
|
10452 |
+
case 'themes':
|
10453 |
+
case 'addons':
|
10454 |
+
$class_name = FS_Plugin::get_class_name();
|
10455 |
+
break;
|
10456 |
+
case 'users':
|
10457 |
+
$class_name = FS_User::get_class_name();
|
10458 |
+
break;
|
10459 |
+
case 'sites':
|
10460 |
+
$class_name = FS_Site::get_class_name();
|
10461 |
+
break;
|
10462 |
+
case 'licenses':
|
10463 |
+
case 'all_licenses':
|
10464 |
+
$class_name = FS_Plugin_License::get_class_name();
|
10465 |
+
break;
|
10466 |
+
case 'plans':
|
10467 |
+
$class_name = FS_Plugin_Plan::get_class_name();
|
10468 |
+
break;
|
10469 |
+
case 'updates':
|
10470 |
+
$class_name = FS_Plugin_Tag::get_class_name();
|
10471 |
+
break;
|
10472 |
+
}
|
10473 |
+
|
10474 |
+
if ( empty( $class_name ) ) {
|
10475 |
+
return $option;
|
10476 |
+
}
|
10477 |
+
|
10478 |
+
return fs_get_entities( $option, $class_name );
|
10479 |
+
}
|
10480 |
+
|
10481 |
/**
|
10482 |
* @author Vova Feldman (@svovaf)
|
10483 |
* @since 1.0.6
|
10661 |
* @return FS_Plugin_Tag[]
|
10662 |
*/
|
10663 |
private static function get_all_updates() {
|
10664 |
+
$updates = self::maybe_get_entities_account_option( 'updates', array() );
|
10665 |
|
10666 |
if ( ! is_array( $updates ) ) {
|
10667 |
$updates = array();
|
10677 |
* @return array<number,FS_Plugin[]>|false
|
10678 |
*/
|
10679 |
private static function get_all_addons() {
|
10680 |
+
$addons = self::maybe_get_entities_account_option( 'addons', array() );
|
10681 |
|
10682 |
if ( ! is_array( $addons ) ) {
|
10683 |
$addons = array();
|
10690 |
* @author Vova Feldman (@svovaf)
|
10691 |
* @since 1.0.6
|
10692 |
*
|
10693 |
+
* @return number[]|false
|
10694 |
*/
|
10695 |
private static function get_all_account_addons() {
|
10696 |
$addons = self::$_accounts->get_option( 'account_addons', array() );
|
10731 |
return ( is_object( $this->_site ) && $this->_site->is_tracking_allowed() );
|
10732 |
}
|
10733 |
|
10734 |
+
/**
|
10735 |
+
* @author Leo Fajardo (@leorw)
|
10736 |
+
* @since 2.4.0
|
10737 |
+
*
|
10738 |
+
* @return bool
|
10739 |
+
*/
|
10740 |
+
function is_bundle_license_auto_activation_enabled() {
|
10741 |
+
return $this->is_addon() ?
|
10742 |
+
( is_object( $this->_parent ) && $this->_parent->is_bundle_license_auto_activation_enabled() ) :
|
10743 |
+
$this->_is_bundle_license_auto_activation_enabled;
|
10744 |
+
}
|
10745 |
+
|
10746 |
/**
|
10747 |
* @author Vova Feldman (@svovaf)
|
10748 |
* @since 1.0.4
|
10803 |
* @author Vova Feldman (@svovaf)
|
10804 |
* @since 1.0.6
|
10805 |
*
|
10806 |
+
* @return number[]|false
|
10807 |
*/
|
10808 |
function get_account_addons() {
|
10809 |
$this->_logger->entrance();
|
10947 |
|
10948 |
if ( ! fs_is_network_admin() ) {
|
10949 |
// Get blog-level activated installations.
|
10950 |
+
$sites = self::maybe_get_entities_account_option( 'sites', array() );
|
10951 |
} else {
|
10952 |
$sites = null;
|
10953 |
|
10956 |
) {
|
10957 |
if ( FS_Site::is_valid_id( $addon_storage->network_install_blog_id ) ) {
|
10958 |
// Get network-level activated installations.
|
10959 |
+
$sites = self::maybe_get_entities_account_option(
|
10960 |
'sites',
|
10961 |
array(),
|
10962 |
$addon_storage->network_install_blog_id
|
10966 |
}
|
10967 |
|
10968 |
$addon_info = array(
|
10969 |
+
'is_connected' => false,
|
10970 |
+
'slug' => $slug,
|
10971 |
+
'title' => $addon->title,
|
10972 |
+
'is_whitelabeled' => $addon_storage->is_whitelabeled
|
10973 |
);
|
10974 |
|
10975 |
if ( ! $is_installed ) {
|
11015 |
|
11016 |
$addon_info['site'] = $site;
|
11017 |
|
11018 |
+
$plugins_data = self::maybe_get_entities_account_option( WP_FS__MODULE_TYPE_PLUGIN . 's', array() );
|
11019 |
if ( isset( $plugins_data[ $slug ] ) ) {
|
11020 |
$plugin_data = $plugins_data[ $slug ];
|
11021 |
|
11022 |
$addon_info['version'] = $plugin_data->version;
|
11023 |
}
|
11024 |
|
11025 |
+
$all_plans = self::maybe_get_entities_account_option( 'plans', array() );
|
11026 |
if ( isset( $all_plans[ $slug ] ) ) {
|
11027 |
$plans = $all_plans[ $slug ];
|
11028 |
|
11035 |
}
|
11036 |
}
|
11037 |
|
11038 |
+
$licenses = self::maybe_get_entities_account_option( 'all_licenses', array() );
|
11039 |
if ( is_array( $licenses ) && isset( $licenses[ $addon_id ] ) ) {
|
11040 |
foreach ( $licenses[ $addon_id ] as $license ) {
|
11041 |
if ( $license->id == $site->license_id ) {
|
11049 |
if ( isset( $addon_storage->subscriptions ) &&
|
11050 |
! empty( $addon_storage->subscriptions )
|
11051 |
) {
|
11052 |
+
$addon_subscriptions = fs_get_entities( $addon_storage->subscriptions, FS_Subscription::get_class_name() );
|
11053 |
+
|
11054 |
+
foreach ( $addon_subscriptions as $subscription ) {
|
11055 |
if ( $subscription->license_id == $site->license_id ) {
|
11056 |
$addon_info['subscription'] = $subscription;
|
11057 |
break;
|
11142 |
function is_premium() {
|
11143 |
/**
|
11144 |
* `$this->_plugin` will be `false` when `is_activation_mode` calls this method directly from the
|
11145 |
+
* `register_constructor_hooks` method.
|
11146 |
*
|
11147 |
* @author Leo Fajardo (@leorw)
|
11148 |
* @since 2.2.3
|
11239 |
return false;
|
11240 |
}
|
11241 |
|
11242 |
+
if ( ! $this->has_active_valid_license() ) {
|
11243 |
+
return false;
|
11244 |
+
}
|
11245 |
+
|
11246 |
+
if ( $this->_site->trial_plan_id != $this->_license->plan_id ) {
|
11247 |
+
return false;
|
11248 |
+
}
|
11249 |
+
|
11250 |
+
/**
|
11251 |
+
* @var FS_Subscription $subscription
|
11252 |
+
*/
|
11253 |
+
$subscription = $this->_get_subscription( $this->_license->id );
|
11254 |
+
|
11255 |
+
return ( is_object( $subscription ) && $subscription->is_active() );
|
11256 |
}
|
11257 |
|
11258 |
/**
|
11387 |
* @author Vova Feldman (@svovaf)
|
11388 |
* @since 1.1.7.3
|
11389 |
*
|
11390 |
+
* @param bool $including_foreign
|
11391 |
+
*
|
11392 |
* @return bool
|
11393 |
*/
|
11394 |
+
function has_any_license( $including_foreign = true ) {
|
11395 |
+
if ( ! is_array( $this->_licenses ) || 0 === count( $this->_licenses ) ) {
|
11396 |
+
return false;
|
11397 |
+
}
|
11398 |
+
|
11399 |
+
if ( $including_foreign ) {
|
11400 |
+
return true;
|
11401 |
+
}
|
11402 |
+
|
11403 |
+
foreach ( $this->_licenses as $license ) {
|
11404 |
+
if ( $this->_user->id == $license->user_id ) {
|
11405 |
+
return true;
|
11406 |
+
}
|
11407 |
+
}
|
11408 |
+
|
11409 |
+
return false;
|
11410 |
}
|
11411 |
|
11412 |
/**
|
11552 |
|
11553 |
if ( $license instanceof FS_Plugin_License ) {
|
11554 |
$this->_licenses[] = $license;
|
11555 |
+
|
11556 |
+
$this->set_license( $license );
|
11557 |
+
|
11558 |
$this->_store_licenses();
|
11559 |
|
11560 |
return $license;
|
11779 |
|
11780 |
// Update current license.
|
11781 |
if ( is_object( $this->_license ) ) {
|
11782 |
+
$license = $this->_get_license_by_id( $this->_license->id );
|
11783 |
+
|
11784 |
+
if ( is_object( $license ) ) {
|
11785 |
+
/**
|
11786 |
+
* `$license` can be `false` in case a user change action has just been completed and this method
|
11787 |
+
* has synced the `$this->_licenses` collection for the new user. In this case, the
|
11788 |
+
* `$this->_licenses` collection may have only the newly activated license that is associated with
|
11789 |
+
* the new user. `set_license` will eventually be called in the same request by the logic that
|
11790 |
+
* follows outside this method which will detect that the install's license has been updated, and
|
11791 |
+
* then `_update_site_license` will be called which in turn will call `set_license`.
|
11792 |
+
*
|
11793 |
+
* @author Leo Fajardo (@leorw)
|
11794 |
+
* @since 2.3.2
|
11795 |
+
*/
|
11796 |
+
$this->set_license( $license );
|
11797 |
+
}
|
11798 |
}
|
11799 |
|
11800 |
return $this->_licenses;
|
12138 |
* Activate a given license on a collection of blogs/sites that are not yet opted-in.
|
12139 |
*
|
12140 |
* @author Vova Feldman (@svovaf)
|
12141 |
+
* @since 2.3.1
|
12142 |
*
|
12143 |
* @param \FS_User $user
|
12144 |
* @param string $license_key
|
|
|
12145 |
*
|
12146 |
* @return true|mixed True if successful, otherwise, the API result.
|
12147 |
*/
|
12148 |
+
private function activate_license_on_site( FS_User $user, $license_key ) {
|
12149 |
+
return $this->activate_license_on_many_sites( $user, $license_key );
|
12150 |
+
}
|
12151 |
+
|
12152 |
+
/**
|
12153 |
+
* Activate a given license on a collection of blogs/sites that are not yet opted-in.
|
12154 |
+
*
|
12155 |
+
* @author Vova Feldman (@svovaf)
|
12156 |
+
* @since 2.0.0
|
12157 |
+
*
|
12158 |
+
* @param \FS_User $user
|
12159 |
+
* @param string $license_key
|
12160 |
+
* @param int[] $site_ids
|
12161 |
+
*
|
12162 |
+
* @return true|mixed True if successful, otherwise, the API result.
|
12163 |
+
*/
|
12164 |
+
private function activate_license_on_many_sites(
|
12165 |
FS_User $user,
|
12166 |
$license_key,
|
12167 |
+
array $site_ids = array()
|
12168 |
) {
|
12169 |
$sites = array();
|
12170 |
foreach ( $site_ids as $site_id ) {
|
12188 |
}
|
12189 |
|
12190 |
$installs = array();
|
|
|
|
|
|
|
12191 |
|
12192 |
+
if ( $this->is_api_result_entity( $result ) ) {
|
12193 |
+
$install = new FS_Site( $result );
|
12194 |
|
12195 |
+
$this->_user = $user;
|
12196 |
|
12197 |
+
$this->_store_site( true, null, $install );
|
|
|
|
|
12198 |
|
12199 |
+
$this->_site = $install;
|
12200 |
|
12201 |
+
$this->reset_anonymous_mode();
|
12202 |
+
} else {
|
12203 |
+
foreach ( $result->installs as $install ) {
|
12204 |
+
$installs[] = new FS_Site( $install );
|
12205 |
+
}
|
12206 |
+
|
12207 |
+
// Map site addresses to their blog IDs.
|
12208 |
+
$address_to_blog_map = $this->get_address_to_blog_map();
|
12209 |
|
12210 |
+
$first_blog_id = null;
|
12211 |
+
|
12212 |
+
foreach ( $installs as $install ) {
|
12213 |
+
$address = trailingslashit( fs_strip_url_protocol( $install->url ) );
|
12214 |
+
$blog_id = $address_to_blog_map[ $address ];
|
12215 |
+
|
12216 |
+
$this->_store_site( true, $blog_id, $install );
|
12217 |
+
|
12218 |
+
$this->reset_anonymous_mode( $blog_id );
|
12219 |
+
|
12220 |
+
if ( is_null( $first_blog_id ) ) {
|
12221 |
+
$first_blog_id = $blog_id;
|
12222 |
+
}
|
12223 |
}
|
|
|
12224 |
|
12225 |
+
if ( ! FS_Site::is_valid_id( $this->_storage->network_install_blog_id ) ) {
|
12226 |
+
$this->_storage->network_install_blog_id = $first_blog_id;
|
12227 |
+
}
|
12228 |
}
|
12229 |
|
12230 |
return true;
|
12243 |
function _update_site_license( $new_license ) {
|
12244 |
$this->_logger->entrance();
|
12245 |
|
12246 |
+
/**
|
12247 |
+
* In case this call will be removed in the future, the `_sync_licenses()` method needs to be updated
|
12248 |
+
* accordingly so that it will also handle the case when an ownership change is done via license
|
12249 |
+
* activation.
|
12250 |
+
*
|
12251 |
+
* @author Leo Fajardo (@leorw)
|
12252 |
+
* @since 2.3.2
|
12253 |
+
*/
|
12254 |
+
$this->set_license( $new_license );
|
12255 |
|
12256 |
if ( ! is_object( $new_license ) ) {
|
12257 |
$this->_site->license_id = null;
|
12286 |
return $this->_license;
|
12287 |
}
|
12288 |
|
12289 |
+
/**
|
12290 |
+
* @author Vova Feldman (@svovaf)
|
12291 |
+
* @since 2.3.1
|
12292 |
+
*
|
12293 |
+
* @param \FS_Plugin_License $license
|
12294 |
+
*/
|
12295 |
+
private function set_license( FS_Plugin_License $license = null ) {
|
12296 |
+
$this->_license = $license;
|
12297 |
+
|
12298 |
+
$this->maybe_update_whitelabel_flag( $license );
|
12299 |
+
}
|
12300 |
+
|
12301 |
+
/**
|
12302 |
+
* @author Leo Fajardo (@leorw)
|
12303 |
+
* @since 2.3.1
|
12304 |
+
*
|
12305 |
+
* @param FS_Plugin_License $license
|
12306 |
+
*/
|
12307 |
+
private function maybe_update_whitelabel_flag( $license ) {
|
12308 |
+
$is_whitelabeled = isset( $this->_storage->is_whitelabeled ) ?
|
12309 |
+
$this->_storage->is_whitelabeled :
|
12310 |
+
false;
|
12311 |
+
|
12312 |
+
if ( is_object( $license ) ) {
|
12313 |
+
$license_user = self::_get_user_by_id( $license->user_id );
|
12314 |
+
|
12315 |
+
if ( ! is_object( $license_user ) ) {
|
12316 |
+
// If foreign license, do not update the `is_whitelabeled` flag.
|
12317 |
+
return;
|
12318 |
+
}
|
12319 |
+
|
12320 |
+
if ( $this->is_addon() ) {
|
12321 |
+
/**
|
12322 |
+
* Store the last license data to the parent's storage since it's needed only when showing the
|
12323 |
+
* "Start Debug" dialog which is triggered from the "Account" page. This way, there's no need to
|
12324 |
+
* iterate over the add-ons just to get the last license data.
|
12325 |
+
*/
|
12326 |
+
$this->get_parent_instance()->store_last_activated_license_data( $license, $license_user );
|
12327 |
+
} else {
|
12328 |
+
$this->store_last_activated_license_data( $license );
|
12329 |
+
}
|
12330 |
+
|
12331 |
+
if ( $license->is_whitelabeled ) {
|
12332 |
+
// Activated a developer license, data should be hidden.
|
12333 |
+
$is_whitelabeled = true;
|
12334 |
+
} else if ( $this->is_registered() && $this->_user->id == $license->user_id ) {
|
12335 |
+
// The account owner activated a regular license key, no need to hide the data.
|
12336 |
+
$is_whitelabeled = false;
|
12337 |
+
}
|
12338 |
+
}
|
12339 |
+
|
12340 |
+
$this->_storage->is_whitelabeled = $is_whitelabeled;
|
12341 |
+
|
12342 |
+
// Reset the whitelabeled status after update.
|
12343 |
+
$this->is_whitelabeled = null;
|
12344 |
+
if ( $this->is_addon() ) {
|
12345 |
+
$parent_fs = $this->get_parent_instance();
|
12346 |
+
|
12347 |
+
if ( is_object( $parent_fs ) ) {
|
12348 |
+
$parent_fs->is_whitelabeled = null;
|
12349 |
+
}
|
12350 |
+
}
|
12351 |
+
}
|
12352 |
+
|
12353 |
+
/**
|
12354 |
+
* @author Leo Fajardo (@leorw)
|
12355 |
+
* @since 2.3.1
|
12356 |
+
*
|
12357 |
+
* @param FS_Plugin_License $license
|
12358 |
+
* @param FS_User $license_user
|
12359 |
+
*/
|
12360 |
+
private function store_last_activated_license_data( FS_Plugin_License $license, $license_user = null ) {
|
12361 |
+
if ( ! is_object( $license_user ) ) {
|
12362 |
+
$this->_storage->last_license_key = md5( $license->secret_key );
|
12363 |
+
$this->_storage->last_license_user_id = null;
|
12364 |
+
} else {
|
12365 |
+
$this->_storage->last_license_user_key = md5( $license_user->secret_key );
|
12366 |
+
$this->_storage->last_license_user_id = $license_user->id;
|
12367 |
+
}
|
12368 |
+
}
|
12369 |
+
|
12370 |
+
/**
|
12371 |
+
* @author Leo Fajardo (@leorw)
|
12372 |
+
* @since 2.3.1
|
12373 |
+
*
|
12374 |
+
* @param bool $ignore_data_debug_mode
|
12375 |
+
*
|
12376 |
+
* @return bool
|
12377 |
+
*/
|
12378 |
+
function is_whitelabeled_by_flag( $ignore_data_debug_mode = false ) {
|
12379 |
+
if ( true !== $this->_storage->is_whitelabeled ) {
|
12380 |
+
return false;
|
12381 |
+
} else if ( $ignore_data_debug_mode ) {
|
12382 |
+
return true;
|
12383 |
+
}
|
12384 |
+
|
12385 |
+
$fs = $this->is_addon() ?
|
12386 |
+
$this->get_parent_instance() :
|
12387 |
+
$this;
|
12388 |
+
|
12389 |
+
return ! $fs->is_data_debug_mode();
|
12390 |
+
}
|
12391 |
+
|
12392 |
+
/**
|
12393 |
+
* @author Leo Fajardo (@leorw)
|
12394 |
+
* @since 2.3.1
|
12395 |
+
*
|
12396 |
+
* @return number
|
12397 |
+
*/
|
12398 |
+
function get_last_license_user_id() {
|
12399 |
+
return ( FS_User::is_valid_id( $this->_storage->last_license_user_id ) ) ?
|
12400 |
+
$this->_storage->last_license_user_id :
|
12401 |
+
null;
|
12402 |
+
}
|
12403 |
+
|
12404 |
+
/**
|
12405 |
+
* @author Leo Fajardo (@leorw)
|
12406 |
+
* @since 2.3.1
|
12407 |
+
*
|
12408 |
+
* @param int $blog_id
|
12409 |
+
* @param bool $ignore_data_debug_mode
|
12410 |
+
*
|
12411 |
+
* @return bool
|
12412 |
+
*/
|
12413 |
+
function is_whitelabeled( $ignore_data_debug_mode = false, $blog_id = null ) {
|
12414 |
+
if ( ! is_null( $blog_id ) ) {
|
12415 |
+
$this->switch_to_blog( $blog_id );
|
12416 |
+
}
|
12417 |
+
|
12418 |
+
if ( ! is_null( $this->is_whitelabeled ) ) {
|
12419 |
+
$is_whitelabeled = $this->is_whitelabeled;
|
12420 |
+
} else {
|
12421 |
+
$is_whitelabeled = false;
|
12422 |
+
|
12423 |
+
$is_whitelabeled_flag = $this->is_whitelabeled_by_flag( true );
|
12424 |
+
|
12425 |
+
if ( ! $this->has_addons() ) {
|
12426 |
+
$is_whitelabeled = $is_whitelabeled_flag;
|
12427 |
+
} else if ( $is_whitelabeled_flag ) {
|
12428 |
+
$is_whitelabeled = true;
|
12429 |
+
} else {
|
12430 |
+
$addon_ids = $this->get_updated_account_addons();
|
12431 |
+
$installed_addons = $this->get_installed_addons();
|
12432 |
+
foreach ( $installed_addons as $fs_addon ) {
|
12433 |
+
$addon_ids[] = $fs_addon->get_id();
|
12434 |
+
}
|
12435 |
+
|
12436 |
+
if ( ! empty( $addon_ids ) ) {
|
12437 |
+
$addon_ids = array_unique( $addon_ids );
|
12438 |
+
|
12439 |
+
$is_network_level = (
|
12440 |
+
fs_is_network_admin() &&
|
12441 |
+
$this->is_network_active()
|
12442 |
+
);
|
12443 |
+
|
12444 |
+
foreach ( $addon_ids as $addon_id ) {
|
12445 |
+
$addon = $this->get_addon( $addon_id );
|
12446 |
+
|
12447 |
+
if ( ! is_object( $addon ) ) {
|
12448 |
+
continue;
|
12449 |
+
}
|
12450 |
+
|
12451 |
+
$addon_storage = FS_Storage::instance( WP_FS__MODULE_TYPE_PLUGIN, $addon->slug );
|
12452 |
+
$fs_addon = $this->is_addon_activated( $addon_id ) ?
|
12453 |
+
self::get_addon_instance( $addon_id ) :
|
12454 |
+
null;
|
12455 |
+
|
12456 |
+
$was_addon_network_activated = false;
|
12457 |
+
|
12458 |
+
if ( is_object( $fs_addon ) ) {
|
12459 |
+
$was_addon_network_activated = $fs_addon->is_network_active();
|
12460 |
+
} else if ( $is_network_level ) {
|
12461 |
+
$was_addon_network_activated = $addon_storage->get( 'was_plugin_loaded', false, true );
|
12462 |
+
}
|
12463 |
+
|
12464 |
+
$network_delegated_connection = (
|
12465 |
+
$was_addon_network_activated &&
|
12466 |
+
$addon_storage->get( 'is_delegated_connection', false, true )
|
12467 |
+
);
|
12468 |
+
|
12469 |
+
if (
|
12470 |
+
$is_network_level &&
|
12471 |
+
( ! $was_addon_network_activated || $network_delegated_connection )
|
12472 |
+
) {
|
12473 |
+
$sites = self::get_sites();
|
12474 |
+
|
12475 |
+
/**
|
12476 |
+
* If in network admin area and the add-on was not network-activated or network-activated
|
12477 |
+
* and network-delegated, find any add-on whose is_whitelabeled flag is true.
|
12478 |
+
*/
|
12479 |
+
foreach ( $sites as $site ) {
|
12480 |
+
$site_info = $this->get_site_info( $site );
|
12481 |
+
|
12482 |
+
if ( $addon_storage->get( 'is_whitelabeled', false, $site_info['blog_id'] ) ) {
|
12483 |
+
$is_whitelabeled = true;
|
12484 |
+
break;
|
12485 |
+
}
|
12486 |
+
}
|
12487 |
+
|
12488 |
+
if ( $is_whitelabeled ) {
|
12489 |
+
break;
|
12490 |
+
}
|
12491 |
+
} else {
|
12492 |
+
/**
|
12493 |
+
* This will be executed when any of the following is met:
|
12494 |
+
* 1. Add-on was network-activated, not network-delegated, and in network admin area.
|
12495 |
+
* 2. Add-on was network-activated, network-delegated, and in site admin area.
|
12496 |
+
* 3. Add-on was not network-activated and in site admin area.
|
12497 |
+
*/
|
12498 |
+
if ( true === $addon_storage->is_whitelabeled ) {
|
12499 |
+
$is_whitelabeled = true;
|
12500 |
+
break;
|
12501 |
+
}
|
12502 |
+
}
|
12503 |
+
}
|
12504 |
+
}
|
12505 |
+
}
|
12506 |
+
|
12507 |
+
$this->is_whitelabeled = $is_whitelabeled;
|
12508 |
+
|
12509 |
+
if ( ! $is_whitelabeled || ! $this->is_data_debug_mode() ) {
|
12510 |
+
$this->_admin_notices->remove_sticky( 'data_debug_mode_enabled' );
|
12511 |
+
}
|
12512 |
+
|
12513 |
+
if ( ! is_null( $blog_id ) ) {
|
12514 |
+
$this->restore_current_blog();
|
12515 |
+
}
|
12516 |
+
}
|
12517 |
+
|
12518 |
+
return (
|
12519 |
+
$is_whitelabeled &&
|
12520 |
+
( $ignore_data_debug_mode || ! $this->is_data_debug_mode() )
|
12521 |
+
);
|
12522 |
+
}
|
12523 |
+
|
12524 |
/**
|
12525 |
* Sync site's subscription.
|
12526 |
*
|
12578 |
return null;
|
12579 |
}
|
12580 |
|
12581 |
+
foreach ( fs_get_entities( $this->_storage->subscriptions, FS_Subscription::get_class_name() ) as $subscription ) {
|
12582 |
if ( $subscription->license_id == $license_id ) {
|
12583 |
return $subscription;
|
12584 |
}
|
12604 |
return;
|
12605 |
}
|
12606 |
|
12607 |
+
$subscriptions = fs_get_entities( $this->_storage->subscriptions, FS_Subscription::get_class_name() );
|
12608 |
|
12609 |
$updated_subscription = false;
|
12610 |
foreach ( $subscriptions as $key => $existing_subscription ) {
|
12699 |
}
|
12700 |
|
12701 |
$current_plan_order = - 1;
|
12702 |
+
$required_plan_order = PHP_INT_MAX;
|
12703 |
for ( $i = 0, $len = count( $this->_plans ); $i < $len; $i ++ ) {
|
12704 |
if ( $plan === $this->_plans[ $i ]->name ) {
|
12705 |
$required_plan_order = $i;
|
12717 |
* @author Vova Feldman (@svovaf)
|
12718 |
* @since 1.2.1.7
|
12719 |
*
|
12720 |
+
* @param bool $double_check In some cases developers prefer to release their paid offering as premium-only, even though there is a free version. For those cases, looking at the 'is_premium_only' value isn't enough because the result will return false even when the product has only signle paid plan.
|
12721 |
+
*
|
12722 |
* @return bool
|
12723 |
*/
|
12724 |
+
function is_single_plan( $double_check = false ) {
|
12725 |
$this->_logger->entrance();
|
12726 |
|
12727 |
if ( ! $this->is_registered() ||
|
12731 |
return true;
|
12732 |
}
|
12733 |
|
12734 |
+
$has_free_plan = $this->has_free_plan();
|
12735 |
+
|
12736 |
+
if ( ! $has_free_plan && $double_check ) {
|
12737 |
+
foreach ( $this->_plans as $plan ) {
|
12738 |
+
if ( $plan->is_free() ) {
|
12739 |
+
$has_free_plan = true;
|
12740 |
+
break;
|
12741 |
+
}
|
12742 |
+
}
|
12743 |
+
}
|
12744 |
+
|
12745 |
+
return ( 1 === ( count( $this->_plans ) - ( $has_free_plan ? 1 : 0 ) ) );
|
12746 |
}
|
12747 |
|
12748 |
/**
|
12856 |
fs_require_template( 'forms/resend-key.php', $vars );
|
12857 |
}
|
12858 |
|
12859 |
+
/**
|
12860 |
+
* Returns a collection of IDs of installs that are associated with the context product and its add-ons, and activated with foreign licenses.
|
12861 |
+
*
|
12862 |
+
* @author Leo Fajardo (@leorw)
|
12863 |
+
* @since 2.3.2
|
12864 |
+
*
|
12865 |
+
* @return number[]
|
12866 |
+
*/
|
12867 |
+
function get_installs_ids_with_foreign_licenses() {
|
12868 |
+
$installs = array();
|
12869 |
+
|
12870 |
+
if (
|
12871 |
+
is_object( $this->_license ) &&
|
12872 |
+
$this->_site->user_id != $this->_license->user_id
|
12873 |
+
) {
|
12874 |
+
$installs[] = $this->_site->id;
|
12875 |
+
}
|
12876 |
+
|
12877 |
+
/**
|
12878 |
+
* Also try to get foreign licenses for the context product's add-ons.
|
12879 |
+
*/
|
12880 |
+
$installs_by_slug_map = $this->get_parent_and_addons_installs_info();
|
12881 |
+
|
12882 |
+
foreach ( $installs_by_slug_map as $slug => $install_info ) {
|
12883 |
+
if ( $slug == $this->get_slug() ) {
|
12884 |
+
continue;
|
12885 |
+
}
|
12886 |
+
|
12887 |
+
$install = $install_info['install'];
|
12888 |
+
$license = $install_info['license'];
|
12889 |
+
|
12890 |
+
if (
|
12891 |
+
is_object( $license ) &&
|
12892 |
+
$install->user_id != $license->user_id
|
12893 |
+
) {
|
12894 |
+
$installs[] = $install->id;
|
12895 |
+
}
|
12896 |
+
}
|
12897 |
+
|
12898 |
+
return $installs;
|
12899 |
+
}
|
12900 |
+
|
12901 |
+
/**
|
12902 |
+
* Displays the "Change User" dialog box when the user clicks on the "Change User" button on the "Account" page.
|
12903 |
+
*
|
12904 |
+
* @author Leo Fajardo (@leorw)
|
12905 |
+
* @since 2.3.2
|
12906 |
+
*
|
12907 |
+
* @param number[] $install_ids
|
12908 |
+
*/
|
12909 |
+
function _add_user_change_dialog_box( $install_ids ) {
|
12910 |
+
$vars = array(
|
12911 |
+
'id' => $this->_module_id,
|
12912 |
+
'license_owners' => $this->fetch_installs_licenses_owners_data( $install_ids )
|
12913 |
+
);
|
12914 |
+
|
12915 |
+
fs_require_template( 'forms/user-change.php', $vars );
|
12916 |
+
}
|
12917 |
+
|
12918 |
+
/**
|
12919 |
+
* @author Leo Fajardo (@leorw)
|
12920 |
+
* @since 2.3.1
|
12921 |
+
*/
|
12922 |
+
function _add_data_debug_mode_dialog_box() {
|
12923 |
+
$vars = array(
|
12924 |
+
'id' => $this->_module_id,
|
12925 |
+
);
|
12926 |
+
|
12927 |
+
fs_require_template( 'forms/data-debug-mode.php', $vars );
|
12928 |
+
}
|
12929 |
+
|
12930 |
/**
|
12931 |
* Displays a subscription cancellation dialog box when the user clicks on the "Deactivate License"
|
12932 |
* link on the "Account" page or deactivates a plugin and there's an active subscription that is
|
12945 |
// Subscription cancellation dialog box is currently not supported for multisite networks.
|
12946 |
return array();
|
12947 |
}
|
12948 |
+
|
12949 |
+
if ( $this->is_whitelabeled() ) {
|
12950 |
+
return array();
|
12951 |
+
}
|
12952 |
|
12953 |
$license = $this->_get_license();
|
12954 |
|
13026 |
* @since 1.2.0
|
13027 |
*/
|
13028 |
function _add_license_activation() {
|
13029 |
+
if ( $this->is_migration() ) {
|
13030 |
+
return;
|
13031 |
+
}
|
13032 |
+
|
13033 |
if ( ! $this->is_user_admin() ) {
|
13034 |
// Only admins can activate a license.
|
13035 |
return;
|
13040 |
return;
|
13041 |
}
|
13042 |
|
13043 |
+
if (
|
13044 |
+
$this->has_premium_version() &&
|
13045 |
+
! $this->is_premium() &&
|
13046 |
+
/**
|
13047 |
+
* Also handle the case when an upgrade was made using the free version.
|
13048 |
+
*
|
13049 |
+
* @author Leo Fajardo (@leorw)
|
13050 |
+
* @since 2.3.2
|
13051 |
+
*/
|
13052 |
+
! is_object( $this->_get_license() )
|
13053 |
+
) {
|
13054 |
+
// Only add license activation logic to the premium version, or in case of a serviceware plugin, also in the free version.
|
13055 |
return;
|
13056 |
}
|
13057 |
|
13077 |
$this->add_ajax_action( 'resend_license_key', array( &$this, '_resend_license_key_ajax_action' ) );
|
13078 |
}
|
13079 |
|
13080 |
+
/**
|
13081 |
+
* Prepares page to include all required UI and logic for the "Change User" dialog.
|
13082 |
+
*
|
13083 |
+
* @author Leo Fajardo (@leorw)
|
13084 |
+
* @since 2.3.2
|
13085 |
+
*/
|
13086 |
+
function _add_user_change_option() {
|
13087 |
+
if ( ! $this->should_handle_user_change() ) {
|
13088 |
+
return;
|
13089 |
+
}
|
13090 |
+
|
13091 |
+
$installs_ids_with_foreign_licenses = $this->get_installs_ids_with_foreign_licenses();
|
13092 |
+
|
13093 |
+
if ( empty( $installs_ids_with_foreign_licenses ) ) {
|
13094 |
+
// Handle user change only when the parent product or one of its add-ons is activated with a foreign license.
|
13095 |
+
return;
|
13096 |
+
}
|
13097 |
+
|
13098 |
+
// Add user change AJAX handler.
|
13099 |
+
$this->add_ajax_action( 'change_user', array( &$this, '_user_change_ajax_action' ) );
|
13100 |
+
}
|
13101 |
+
|
13102 |
+
/**
|
13103 |
+
* @author Leo Fajardo (@leorw)
|
13104 |
+
* @since 2.3.2
|
13105 |
+
*/
|
13106 |
+
function should_handle_user_change() {
|
13107 |
+
if ( ! $this->is_user_admin() ) {
|
13108 |
+
// Only admins can change user.
|
13109 |
+
return false;
|
13110 |
+
}
|
13111 |
+
|
13112 |
+
if ( $this->is_addon() ) {
|
13113 |
+
return false;
|
13114 |
+
}
|
13115 |
+
|
13116 |
+
if ( ! $this->is_registered() ) {
|
13117 |
+
return false;
|
13118 |
+
}
|
13119 |
+
|
13120 |
+
if (
|
13121 |
+
$this->is_network_active() &&
|
13122 |
+
( fs_is_network_admin() || ! $this->is_site_delegated_connection() )
|
13123 |
+
) {
|
13124 |
+
// Handle only on site-level "Account" section for now.
|
13125 |
+
return false;
|
13126 |
+
}
|
13127 |
+
|
13128 |
+
return true;
|
13129 |
+
}
|
13130 |
+
|
13131 |
/**
|
13132 |
* @author Leo Fajardo (@leorw)
|
13133 |
* @since 2.0.2
|
13147 |
}
|
13148 |
}
|
13149 |
|
13150 |
+
/**
|
13151 |
+
* @author Edgar Melkonyan
|
13152 |
+
* @since 2.4.1
|
13153 |
+
*
|
13154 |
+
* @throws Freemius_Exception
|
13155 |
+
*/
|
13156 |
+
function _toggle_whitelabel_mode_ajax_handler() {
|
13157 |
+
$this->_logger->entrance();
|
13158 |
+
|
13159 |
+
$this->check_ajax_referer( 'toggle_whitelabel_mode' );
|
13160 |
+
|
13161 |
+
if ( ! $this->is_user_admin() ) {
|
13162 |
+
// Only for admins.
|
13163 |
+
self::shoot_ajax_failure();
|
13164 |
+
}
|
13165 |
+
|
13166 |
+
$license = $this->get_api_user_scope()->call(
|
13167 |
+
"/licenses/{$this->_site->license_id}.json",
|
13168 |
+
'put',
|
13169 |
+
array( 'is_whitelabeled' => ! $this->_license->is_whitelabeled )
|
13170 |
+
);
|
13171 |
+
|
13172 |
+
if ( ! $this->is_api_result_entity( $license ) ) {
|
13173 |
+
self::shoot_ajax_failure(
|
13174 |
+
FS_Api::is_api_error_object( $license ) ?
|
13175 |
+
$license->error->message :
|
13176 |
+
fs_text_inline( "An unknown error has occurred while trying to toggle the license's white-label mode.", 'unknown-error-occurred', $this->get_slug() )
|
13177 |
+
);
|
13178 |
+
}
|
13179 |
+
|
13180 |
+
$this->_license->is_whitelabeled = $license->is_whitelabeled;
|
13181 |
+
$this->_store_licenses();
|
13182 |
+
|
13183 |
+
$this->_sync_license();
|
13184 |
+
|
13185 |
+
if ( ! $license->is_whitelabeled ) {
|
13186 |
+
$this->_admin_notices->remove_sticky( 'license_whitelabeled' );
|
13187 |
+
} else {
|
13188 |
+
$this->_admin_notices->add_sticky(
|
13189 |
+
sprintf(
|
13190 |
+
$this->get_text_inline(
|
13191 |
+
'Your %s license was flagged as white-labeled to hide sensitive information from the WP Admin (e.g. your email, license key, prices, billing address & invoices). If you ever wish to revert it back, you can easily do it through your %s. If this was a mistake you can also %s.',
|
13192 |
+
'license_whitelabeled'
|
13193 |
+
),
|
13194 |
+
"<strong>{$this->get_plugin_title()}</strong>",
|
13195 |
+
sprintf( '<a href="https://users.freemius.com" target="_blank">%s</a>', $this->get_text_inline( 'User Dashboard', 'user-dashboard' ) ),
|
13196 |
+
sprintf( '<a href="#" class="fs-toggle-whitelabel-mode">%s</a>', $this->get_text_inline( 'revert it now', 'revert-it-now' ) )
|
13197 |
+
),
|
13198 |
+
'license_whitelabeled'
|
13199 |
+
);
|
13200 |
+
}
|
13201 |
+
|
13202 |
+
self::shoot_ajax_response( array( 'success' => true ) );
|
13203 |
+
}
|
13204 |
+
|
13205 |
/**
|
13206 |
* @author Leo Fajardo (@leorw)
|
13207 |
* @since 2.3.0
|
13281 |
exit;
|
13282 |
}
|
13283 |
|
13284 |
+
$sites = fs_is_network_admin() ?
|
13285 |
+
fs_request_get( 'sites', array(), 'post' ) :
|
13286 |
+
array();
|
13287 |
+
|
13288 |
+
$result = $this->activate_license(
|
13289 |
+
$license_key,
|
13290 |
+
$sites,
|
13291 |
+
fs_request_get_bool( 'is_marketing_allowed', null ),
|
13292 |
+
fs_request_get( 'blog_id', null ),
|
13293 |
+
fs_request_get( 'module_id', null, 'post' ),
|
13294 |
+
fs_request_get( 'user_id', null ),
|
13295 |
+
fs_request_get_bool( 'is_extensions_tracking_allowed', true )
|
13296 |
+
);
|
13297 |
+
|
13298 |
+
if (
|
13299 |
+
$result['success'] &&
|
13300 |
+
$this->is_bundle_license_auto_activation_enabled()
|
13301 |
+
) {
|
13302 |
+
$license = new FS_Plugin_License();
|
13303 |
+
$license->secret_key = $license_key;
|
13304 |
+
|
13305 |
+
$this->maybe_activate_bundle_license( $license, $sites );
|
13306 |
+
}
|
13307 |
+
|
13308 |
+
echo json_encode( $result );
|
13309 |
+
|
13310 |
+
exit;
|
13311 |
+
}
|
13312 |
+
|
13313 |
+
/**
|
13314 |
+
* User change WP AJAX handler.
|
13315 |
+
*
|
13316 |
+
* @author Leo Fajardo (@leorw)
|
13317 |
+
* @since 2.3.2
|
13318 |
+
*/
|
13319 |
+
function _user_change_ajax_action() {
|
13320 |
+
$this->_logger->entrance();
|
13321 |
+
|
13322 |
+
$this->check_ajax_referer( 'change_user' );
|
13323 |
+
|
13324 |
+
$new_email_address = trim( fs_request_get( 'email_address', '' ) );
|
13325 |
+
$new_user_id = fs_request_get( 'user_id' );
|
13326 |
+
|
13327 |
+
if ( empty( $new_email_address ) && ! FS_User::is_valid_id( $new_user_id ) ) {
|
13328 |
+
self::shoot_ajax_failure( fs_text_inline( 'Invalid new user ID or email address.', 'invalid-new-user-id-or-email', $this->get_slug() ) );
|
13329 |
+
}
|
13330 |
+
|
13331 |
+
$params = array();
|
13332 |
+
|
13333 |
+
if ( ! empty( $new_email_address ) ) {
|
13334 |
+
$params['user_email'] = $new_email_address;
|
13335 |
+
} else {
|
13336 |
+
$params['user_id'] = $new_user_id;
|
13337 |
+
}
|
13338 |
+
|
13339 |
+
$installs_info_by_slug_map = $this->get_parent_and_addons_installs_info();
|
13340 |
+
$install_ids = array();
|
13341 |
+
|
13342 |
+
foreach ( $installs_info_by_slug_map as $slug => $install_info ) {
|
13343 |
+
$install_ids[ $slug ] = $install_info['install']->id;
|
13344 |
+
}
|
13345 |
+
|
13346 |
+
$params['install_ids'] = implode( ',', array_values( $install_ids ) );
|
13347 |
+
|
13348 |
+
$install = $this->get_api_site_scope()->call( $this->add_show_pending( '/' ), 'put', $params );
|
13349 |
+
|
13350 |
+
if ( FS_Api::is_api_error( $install ) ) {
|
13351 |
+
$error = '';
|
13352 |
+
|
13353 |
+
if ( is_object( $install ) ) {
|
13354 |
+
switch ( $install->error->code ) {
|
13355 |
+
case 'user_exist':
|
13356 |
+
$error = (
|
13357 |
+
$this->get_text_x_inline( 'Oops', 'exclamation', 'oops' ) . '...' .
|
13358 |
+
$this->get_text_inline( 'Sorry, we could not complete the email update. Another user with the same email is already registered.', 'user-exist-message' ) . ' ' .
|
13359 |
+
sprintf( $this->get_text_inline( 'If you would like to give up the ownership of the %s\'s account to %s click the Change Ownership button.', 'user-exist-message_ownership' ), $this->_module_type, '<b>' . $new_email_address . '</b>' ) .
|
13360 |
+
sprintf(
|
13361 |
+
'<a style="line-height: 40px;" href="%s"><button class="button button-primary">%s ➜</button></a>',
|
13362 |
+
$this->get_account_url( 'change_owner', array(
|
13363 |
+
'state' => 'init',
|
13364 |
+
'candidate_email' => $new_email_address
|
13365 |
+
) ),
|
13366 |
+
$this->get_text_inline( 'Change Ownership', 'change-ownership' )
|
13367 |
+
)
|
13368 |
+
);
|
13369 |
+
break;
|
13370 |
+
}
|
13371 |
+
}
|
13372 |
+
|
13373 |
+
if ( empty( $error ) ) {
|
13374 |
+
$error = FS_Api::is_api_error_object( $install ) ?
|
13375 |
+
$install->error->message :
|
13376 |
+
var_export( $install->error, true );
|
13377 |
+
}
|
13378 |
+
|
13379 |
+
self::shoot_ajax_failure( $error );
|
13380 |
+
} else {
|
13381 |
+
if (
|
13382 |
+
// If successful ownership change.
|
13383 |
+
$this->get_user()->id != $install->user_id ||
|
13384 |
+
! empty( $new_email_address )
|
13385 |
+
) {
|
13386 |
+
$this->complete_ownership_change_by_license( $install->user_id, $install_ids );
|
13387 |
+
}
|
13388 |
+
}
|
13389 |
+
|
13390 |
+
self::shoot_ajax_success();
|
13391 |
+
}
|
13392 |
+
|
13393 |
+
/**
|
13394 |
+
* @author Leo Fajardo (@leorw)
|
13395 |
+
* @since 2.3.2.14
|
13396 |
+
*/
|
13397 |
+
function starting_migration() {
|
13398 |
+
if ( ! empty( $this->_storage->license_migration ) ) {
|
13399 |
+
// Do not overwrite the data if already set.
|
13400 |
+
return;
|
13401 |
+
}
|
13402 |
+
|
13403 |
+
$this->_storage->license_migration = array(
|
13404 |
+
'is_migrating' => true,
|
13405 |
+
'start_timestamp' => time()
|
13406 |
+
);
|
13407 |
+
}
|
13408 |
+
|
13409 |
+
/**
|
13410 |
+
* @author Leo Fajardo (@leorw)
|
13411 |
+
* @since 2.3.2.14
|
13412 |
+
*/
|
13413 |
+
function is_migration() {
|
13414 |
+
if ( $this->is_addon() ) {
|
13415 |
+
return $this->get_parent_instance()->is_migration();
|
13416 |
+
}
|
13417 |
+
|
13418 |
+
if ( empty( $this->_storage->license_migration ) ) {
|
13419 |
+
return false;
|
13420 |
+
}
|
13421 |
+
|
13422 |
+
if ( ! $this->_storage->license_migration['is_migrating'] ) {
|
13423 |
+
return false;
|
13424 |
+
}
|
13425 |
+
|
13426 |
+
return (
|
13427 |
+
// Return `true` if the migration is within 5 minutes from the starting time.
|
13428 |
+
( time() - $this->_storage->license_migration['start_timestamp'] ) <= WP_FS__TIME_5_MIN_IN_SEC
|
13429 |
);
|
|
|
|
|
|
|
|
|
13430 |
}
|
13431 |
|
13432 |
/**
|
13433 |
+
*
|
13434 |
* A helper method to activate migrated licenses. If the product is network activated and integrated, the method will network activate the license.
|
13435 |
*
|
13436 |
* @author Vova Feldman (@svovaf)
|
13439 |
* @param string $license_key
|
13440 |
* @param null|bool $is_marketing_allowed
|
13441 |
* @param null|number $plugin_id
|
13442 |
+
* @param array $sites
|
13443 |
+
* @param int $blog_id
|
13444 |
*
|
13445 |
* @return array {
|
13446 |
* @var bool $success
|
13453 |
function activate_migrated_license(
|
13454 |
$license_key,
|
13455 |
$is_marketing_allowed = null,
|
13456 |
+
$plugin_id = null,
|
13457 |
+
$sites = array(),
|
13458 |
+
$blog_id = null
|
13459 |
) {
|
13460 |
+
$this->_logger->entrance();
|
13461 |
+
|
13462 |
+
$result = $this->activate_license(
|
13463 |
$license_key,
|
13464 |
+
( empty( $sites ) && is_null( $blog_id ) && $this->is_network_active() ) ?
|
13465 |
$this->get_sites_for_network_level_optin() :
|
13466 |
+
$sites,
|
13467 |
$is_marketing_allowed,
|
13468 |
+
$blog_id,
|
13469 |
$plugin_id
|
13470 |
);
|
13471 |
+
|
13472 |
+
// No need to show the sticky after license activation notice after migrating a license.
|
13473 |
+
$this->_admin_notices->remove_sticky( 'plan_upgraded' );
|
13474 |
+
|
13475 |
+
return $result;
|
13476 |
+
}
|
13477 |
+
|
13478 |
+
/**
|
13479 |
+
* @author Leo Fajardo (@leorw)
|
13480 |
+
* @since 2.3.1
|
13481 |
+
*
|
13482 |
+
* @return string
|
13483 |
+
*/
|
13484 |
+
function get_pricing_js_path() {
|
13485 |
+
return $this->apply_filters( 'freemius_pricing_js_path', WP_FS__DIR_INCLUDES . '/freemius-pricing/freemius-pricing.js' );
|
13486 |
+
}
|
13487 |
+
|
13488 |
+
/**
|
13489 |
+
* @author Leo Fajardo (@leorw)
|
13490 |
+
* @since 2.3.1
|
13491 |
+
*
|
13492 |
+
* @return bool
|
13493 |
+
*/
|
13494 |
+
function should_use_external_pricing() {
|
13495 |
+
if ( is_null( $this->_use_external_pricing ) ) {
|
13496 |
+
$pricing_js_path = $this->get_pricing_js_path();
|
13497 |
+
|
13498 |
+
$this->_use_external_pricing = ( empty( $pricing_js_path ) || ! file_exists( $pricing_js_path ) );
|
13499 |
+
}
|
13500 |
+
|
13501 |
+
return $this->_use_external_pricing;
|
13502 |
}
|
13503 |
|
13504 |
/**
|
13512 |
* @param null|bool $is_marketing_allowed
|
13513 |
* @param null|int $blog_id
|
13514 |
* @param null|number $plugin_id
|
13515 |
+
* @param null|number $license_owner_id
|
13516 |
*
|
13517 |
* @return array {
|
13518 |
* @var bool $success
|
13525 |
$sites = array(),
|
13526 |
$is_marketing_allowed = null,
|
13527 |
$blog_id = null,
|
13528 |
+
$plugin_id = null,
|
13529 |
+
$license_owner_id = null,
|
13530 |
+
$is_extensions_tracking_allowed = true
|
13531 |
) {
|
13532 |
$this->_logger->entrance();
|
13533 |
|
13534 |
$license_key = trim( $license_key );
|
13535 |
|
13536 |
+
$is_network_activation_or_migration = (
|
13537 |
+
fs_is_network_admin() ||
|
13538 |
+
( ! empty( $sites ) && $this->is_migration() )
|
13539 |
+
);
|
13540 |
+
|
13541 |
+
if ( ! $is_network_activation_or_migration ) {
|
13542 |
// If the license activation is executed outside the context of a network admin, ignore the sites collection.
|
13543 |
$sites = array();
|
13544 |
}
|
13547 |
$this :
|
13548 |
$this->get_addon_instance( $plugin_id );
|
13549 |
|
13550 |
+
$this->update_extensions_tracking_flag( $is_extensions_tracking_allowed );
|
13551 |
+
|
13552 |
$error = false;
|
13553 |
$next_page = false;
|
13554 |
|
13555 |
$has_valid_blog_id = is_numeric( $blog_id );
|
13556 |
|
13557 |
+
$user = null;
|
13558 |
+
|
13559 |
+
if ( $fs->is_addon() && $fs->get_parent_instance()->is_registered() ) {
|
13560 |
+
/**
|
13561 |
+
* When activating an add-on's license and the parent is opted-in, activate the license with the parent's opted-in user context.
|
13562 |
+
*
|
13563 |
+
* @author Vova Feldman (@svovaf)
|
13564 |
+
*/
|
13565 |
+
$user = $fs->get_parent_instance()->get_current_or_network_user();
|
13566 |
+
} else if ( $fs->is_registered() ) {
|
13567 |
+
$user = $fs->get_current_or_network_user();
|
13568 |
+
}
|
13569 |
+
|
13570 |
+
if ( $has_valid_blog_id ) {
|
13571 |
+
/**
|
13572 |
+
* If a specific blog ID was provided, activate the license only on the specific blog that is associated with the given blog ID.
|
13573 |
+
*
|
13574 |
+
* @author Leo Fajardo (@leorw)
|
13575 |
+
*/
|
13576 |
+
$fs->switch_to_blog( $blog_id );
|
13577 |
+
}
|
13578 |
+
|
13579 |
+
if ( is_object( $user ) ) {
|
13580 |
+
if ( $is_network_activation_or_migration && ! $has_valid_blog_id ) {
|
13581 |
// If no specific blog ID was provided, activate the license for all sites in the network.
|
13582 |
$blog_2_install_map = array();
|
13583 |
$site_ids = array();
|
13587 |
continue;
|
13588 |
}
|
13589 |
|
13590 |
+
$install = $fs->get_install_by_blog_id( $site['blog_id'] );
|
13591 |
|
13592 |
if ( is_object( $install ) ) {
|
13593 |
$blog_2_install_map[ $site['blog_id'] ] = $install;
|
13596 |
}
|
13597 |
}
|
13598 |
|
|
|
|
|
13599 |
if ( ! empty( $blog_2_install_map ) ) {
|
13600 |
+
$result = $fs->activate_license_on_many_installs( $user, $license_key, $blog_2_install_map );
|
13601 |
|
13602 |
if ( true !== $result ) {
|
13603 |
$error = FS_Api::is_api_error_object( $result ) ?
|
13607 |
}
|
13608 |
|
13609 |
if ( empty( $error ) && ! empty( $site_ids ) ) {
|
13610 |
+
$result = $fs->activate_license_on_many_sites( $user, $license_key, $site_ids );
|
13611 |
|
13612 |
if ( true !== $result ) {
|
13613 |
$error = FS_Api::is_api_error_object( $result ) ?
|
13616 |
}
|
13617 |
}
|
13618 |
} else {
|
13619 |
+
if ( $fs->is_registered() ) {
|
13620 |
+
$params = array(
|
13621 |
+
'license_key' => $fs->apply_filters( 'license_key', $license_key )
|
13622 |
+
);
|
|
|
|
|
|
|
|
|
|
|
13623 |
|
13624 |
+
$install_ids = array();
|
13625 |
|
13626 |
+
$change_owner = FS_User::is_valid_id( $license_owner_id );
|
|
|
|
|
13627 |
|
13628 |
+
if ( $change_owner ) {
|
13629 |
+
$params['user_id'] = $license_owner_id;
|
13630 |
|
13631 |
+
$installs_info_by_slug_map = $fs->get_parent_and_addons_installs_info();
|
13632 |
+
|
13633 |
+
foreach ( $installs_info_by_slug_map as $slug => $install_info ) {
|
13634 |
+
$install_ids[ $slug ] = $install_info['install']->id;
|
13635 |
+
}
|
13636 |
+
|
13637 |
+
$params['install_ids'] = implode( ',', array_values( $install_ids ) );
|
13638 |
+
}
|
13639 |
+
|
13640 |
+
$api = $fs->get_api_site_scope();
|
13641 |
+
|
13642 |
+
$install = $api->call( $fs->add_show_pending( '/' ), 'put', $params );
|
13643 |
+
|
13644 |
+
if ( FS_Api::is_api_error( $install ) ) {
|
13645 |
+
$error = FS_Api::is_api_error_object( $install ) ?
|
13646 |
+
$install->error->message :
|
13647 |
+
var_export( $install->error, true );
|
13648 |
+
} else {
|
13649 |
+
$fs->reconnect_locally( $has_valid_blog_id );
|
13650 |
+
|
13651 |
+
if (
|
13652 |
+
$change_owner &&
|
13653 |
+
// If successful ownership change.
|
13654 |
+
$fs->get_user()->id != $install->user_id
|
13655 |
+
) {
|
13656 |
+
$fs->complete_ownership_change_by_license( $install->user_id, $install_ids );
|
13657 |
+
}
|
13658 |
+
}
|
13659 |
+
} else /* ( $fs->is_addon() && $fs->get_parent_instance()->is_registered() ) */ {
|
13660 |
+
$result = $fs->activate_license_on_site( $user, $license_key );
|
13661 |
+
|
13662 |
+
if ( true !== $result ) {
|
13663 |
+
$error = FS_Api::is_api_error_object( $result ) ?
|
13664 |
+
$result->error->message :
|
13665 |
+
var_export( $result, true );
|
13666 |
+
}
|
13667 |
}
|
13668 |
}
|
13669 |
|
13670 |
if ( empty( $error ) ) {
|
13671 |
+
$fs->network_upgrade_mode_completed();
|
13672 |
+
|
13673 |
+
$fs->_user = $user;
|
13674 |
+
|
13675 |
+
if ( fs_is_network_admin() && ! $has_valid_blog_id ) {
|
13676 |
+
$fs->_site = $fs->get_network_install();
|
13677 |
+
}
|
13678 |
|
13679 |
$fs->_sync_license( true, $has_valid_blog_id );
|
13680 |
|
13681 |
+
$this->maybe_sync_install_user();
|
13682 |
+
|
13683 |
$next_page = $fs->is_addon() ?
|
13684 |
$fs->get_parent_instance()->get_account_url() :
|
13685 |
+
$fs->get_after_activation_url( 'after_connect_url' );
|
13686 |
}
|
13687 |
} else {
|
13688 |
$next_page = $fs->opt_in(
|
13700 |
if ( isset( $next_page->error ) ) {
|
13701 |
$error = $next_page->error;
|
13702 |
} else {
|
13703 |
+
if ( $is_network_activation_or_migration ) {
|
13704 |
/**
|
13705 |
* Get the list of sites that were just opted-in (and license activated).
|
13706 |
* This is an optimization for the next part below saving some DB queries.
|
13728 |
continue;
|
13729 |
}
|
13730 |
|
13731 |
+
if ( $fs->is_installed_on_site( $blog_id ) ) {
|
13732 |
// Site was already connected before.
|
13733 |
continue;
|
13734 |
}
|
13735 |
|
13736 |
+
if ( $fs->is_site_delegated_connection( $blog_id ) ) {
|
13737 |
// Site's connection was delegated.
|
13738 |
continue;
|
13739 |
}
|
13740 |
|
13741 |
+
if ( $fs->is_anonymous_site( $blog_id ) ) {
|
13742 |
// Site connection was already skipped.
|
13743 |
continue;
|
13744 |
}
|
13747 |
}
|
13748 |
|
13749 |
if ( ! empty( $pending_sites ) ) {
|
13750 |
+
if ( $fs->is_freemium() && $fs->is_enable_anonymous() ) {
|
13751 |
+
$fs->skip_connection( $pending_sites );
|
13752 |
} else {
|
13753 |
+
$fs->delegate_connection( $pending_sites );
|
13754 |
}
|
13755 |
}
|
13756 |
}
|
13757 |
}
|
13758 |
}
|
13759 |
|
13760 |
+
if ( false === $error && true === $fs->_storage->require_license_activation ) {
|
13761 |
+
$fs->_storage->require_license_activation = false;
|
13762 |
}
|
13763 |
|
13764 |
$result = array(
|
13766 |
);
|
13767 |
|
13768 |
if ( false !== $error ) {
|
13769 |
+
$result['error'] = $fs->apply_filters( 'opt_in_error_message', $error );
|
13770 |
} else {
|
13771 |
+
if ( $fs->is_addon() || $fs->has_addons() ) {
|
13772 |
/**
|
13773 |
* Purge the valid user licenses cache so that when the "Account" or the "Add-Ons" page is loaded,
|
13774 |
* an updated valid user licenses collection will be fetched from the server which is used to also
|
13777 |
* @author Leo Fajardo (@leorw)
|
13778 |
* @since 2.2.4
|
13779 |
*/
|
13780 |
+
$fs->purge_valid_user_licenses_cache();
|
13781 |
}
|
13782 |
|
13783 |
$result['next_page'] = $next_page;
|
13786 |
return $result;
|
13787 |
}
|
13788 |
|
13789 |
+
/**
|
13790 |
+
* @author Leo Fajardo (@leorw)
|
13791 |
+
* @since 2.3.2
|
13792 |
+
*
|
13793 |
+
* @return array {
|
13794 |
+
* @key string Product slug.
|
13795 |
+
* @value array {
|
13796 |
+
* @property FS_Site $site
|
13797 |
+
* @property FS_Plugin_License $license
|
13798 |
+
* }
|
13799 |
+
* }
|
13800 |
+
*/
|
13801 |
+
private function get_parent_and_addons_installs_info() {
|
13802 |
+
$fs = $this->is_addon() ?
|
13803 |
+
$this->get_parent_instance() :
|
13804 |
+
$this;
|
13805 |
+
|
13806 |
+
$installed_addons_ids = array();
|
13807 |
+
|
13808 |
+
$installed_addons_instances = $fs->get_installed_addons();
|
13809 |
+
foreach ( $installed_addons_instances as $instance ) {
|
13810 |
+
$installed_addons_ids[] = $instance->get_id();
|
13811 |
+
}
|
13812 |
+
|
13813 |
+
$addons_ids = array_unique( array_merge(
|
13814 |
+
$installed_addons_ids,
|
13815 |
+
$fs->get_updated_account_addons()
|
13816 |
+
) );
|
13817 |
+
|
13818 |
+
// Add parent product info.
|
13819 |
+
$installs_info_by_slug_map = array(
|
13820 |
+
$fs->get_slug() => array(
|
13821 |
+
'install' => $fs->get_site(),
|
13822 |
+
'license' => $fs->_get_license()
|
13823 |
+
)
|
13824 |
+
);
|
13825 |
+
|
13826 |
+
foreach ( $addons_ids as $addon_id ) {
|
13827 |
+
$is_installed = isset( $installed_addons_ids_map[ $addon_id ] );
|
13828 |
+
|
13829 |
+
$addon_info = $fs->_get_addon_info( $addon_id, $is_installed );
|
13830 |
+
|
13831 |
+
if ( ! $addon_info['is_connected'] ) {
|
13832 |
+
// Add-on is not associated with an install entity.
|
13833 |
+
continue;
|
13834 |
+
}
|
13835 |
+
|
13836 |
+
$installs_info_by_slug_map[ $addon_info['slug'] ] = array(
|
13837 |
+
'install' => $addon_info['site'],
|
13838 |
+
'license' => isset( $addon_info['license'] ) ?
|
13839 |
+
$addon_info['license'] :
|
13840 |
+
null
|
13841 |
+
);
|
13842 |
+
}
|
13843 |
+
|
13844 |
+
return $installs_info_by_slug_map;
|
13845 |
+
}
|
13846 |
+
|
13847 |
/**
|
13848 |
* @author Leo Fajardo (@leorw)
|
13849 |
* @since 1.2.3.1
|
14814 |
* @return bool
|
14815 |
*/
|
14816 |
function is_user_in_admin() {
|
14817 |
+
return (
|
14818 |
+
is_admin() &&
|
14819 |
+
! self::is_ajax() &&
|
14820 |
+
! self::is_cron() &&
|
14821 |
+
( 'admin-post.php' !== self::get_current_page() )
|
14822 |
+
);
|
14823 |
}
|
14824 |
|
14825 |
/**
|
14875 |
$page_param = $this->_menu->get_slug( $page );
|
14876 |
|
14877 |
if ( empty( $page ) &&
|
|
|
14878 |
// Show the opt-in as an overlay for free wp.org themes or themes without any settings page.
|
14879 |
+
$this->show_opt_in_on_themes_page()
|
14880 |
) {
|
14881 |
$params[ $this->get_unique_affix() . '_show_optin' ] = 'true';
|
14882 |
|
15131 |
if ( function_exists( 'get_sites' ) ) {
|
15132 |
// For WP 4.6 and above.
|
15133 |
return get_sites( $args );
|
15134 |
+
} else if ( function_exists( 'wp_' . 'get_sites' ) ) {
|
15135 |
// For WP 3.7 to WP 4.5.
|
15136 |
+
/**
|
15137 |
+
* This is a hack suggested previously proposed by the TRT. Our SDK is compliant with older WP versions and we'd like to keep it that way.
|
15138 |
+
*
|
15139 |
+
* @todo Remove this hack once this false-positive error is removed from the Theme Sniffer.
|
15140 |
+
*
|
15141 |
+
* @since 2.3.3
|
15142 |
+
* @author Vova Feldman (@svovaf)
|
15143 |
+
*/
|
15144 |
+
$fn = 'wp_' . 'get_sites';
|
15145 |
+
return $fn( $args );
|
15146 |
} else {
|
15147 |
// For WP 3.6 and below.
|
15148 |
return get_blog_list( 0, 'all' );
|
15315 |
*
|
15316 |
* @param int $blog_id
|
15317 |
* @param FS_Site $install
|
15318 |
+
*
|
15319 |
+
* @return bool Since 2.3.1 returns if a switch was made.
|
15320 |
*/
|
15321 |
function switch_to_blog( $blog_id, FS_Site $install = null ) {
|
15322 |
+
if ( ! is_numeric( $blog_id ) || $blog_id == $this->_context_is_network_or_blog_id ) {
|
15323 |
+
return false;
|
15324 |
}
|
15325 |
|
15326 |
switch_to_blog( $blog_id );
|
15334 |
$install :
|
15335 |
$this->get_install_by_blog_id( $blog_id );
|
15336 |
|
15337 |
+
$this->_user = false;
|
15338 |
+
$this->_licenses = false;
|
15339 |
+
$this->_license = null;
|
15340 |
+
$this->is_whitelabeled = null;
|
15341 |
|
15342 |
if ( is_object( $this->_site ) ) {
|
15343 |
// Try to fetch user from install.
|
15382 |
|
15383 |
unset( $this->_site_api );
|
15384 |
unset( $this->_user_api );
|
15385 |
+
|
15386 |
+
return false;
|
15387 |
}
|
15388 |
|
15389 |
/**
|
15829 |
return ( $this->_menu->get_slug( $page ) === fs_request_get( 'page', '', 'get' ) );
|
15830 |
}
|
15831 |
|
15832 |
+
/**
|
15833 |
+
* Check if currently in the product's main admin page.
|
15834 |
+
*
|
15835 |
+
* @author Vova Feldman (@svovaf)
|
15836 |
+
* @since 2.3.1
|
15837 |
+
*
|
15838 |
+
* @return bool
|
15839 |
+
*/
|
15840 |
+
function is_main_admin_page() {
|
15841 |
+
return $this->is_admin_page( '' );
|
15842 |
+
}
|
15843 |
+
|
15844 |
/**
|
15845 |
* Get module's main admin setting page URL.
|
15846 |
*
|
15861 |
* @since 1.2.2.7
|
15862 |
*
|
15863 |
* @return bool
|
15864 |
+
*
|
15865 |
+
* @deprecated Please use is_product_settings_page() instead;
|
15866 |
*/
|
15867 |
function is_theme_settings_page() {
|
15868 |
+
return $this->is_product_settings_page();
|
15869 |
+
}
|
15870 |
+
|
15871 |
+
/**
|
15872 |
+
* Check if currently on the product's main setting page or on any of the Freemius added pages (via tabs).
|
15873 |
+
*
|
15874 |
+
* @author Vova Feldman (@svovaf)
|
15875 |
+
* @since 1.2.2.7
|
15876 |
+
*
|
15877 |
+
* @return bool
|
15878 |
+
*/
|
15879 |
+
function is_product_settings_page() {
|
15880 |
return fs_starts_with(
|
15881 |
fs_request_get( 'page', '', 'get' ),
|
15882 |
$this->_menu->get_slug()
|
16296 |
/**
|
16297 |
* This is a special fault tolerance mechanism to handle a scenario that the user data is missing.
|
16298 |
*/
|
16299 |
+
$user = $this->sync_user_by_current_install();
|
16300 |
}
|
16301 |
|
16302 |
$this->_user = ( $user instanceof FS_User ) ?
|
16336 |
* @author Vova Feldman (@svovaf)
|
16337 |
* @since 2.0.0
|
16338 |
*
|
16339 |
+
* @param number|null $site_user_id
|
16340 |
+
*
|
16341 |
* @return \FS_User|mixed
|
16342 |
*/
|
16343 |
+
private function sync_user_by_current_install( $site_user_id = null ) {
|
16344 |
+
$site_user_id = FS_Site::is_valid_id( $site_user_id ) ?
|
16345 |
+
$site_user_id :
|
16346 |
+
$this->_site->user_id;
|
16347 |
+
|
16348 |
$api = $this->get_api_site_scope();
|
16349 |
|
16350 |
$uid = $this->get_anonymous_id();
|
16351 |
+
$request_path = "/users/{$site_user_id}.json?uid={$uid}";
|
16352 |
|
16353 |
$result = $api->get( $request_path, false, WP_FS__TIME_10_MIN_IN_SEC );
|
16354 |
|
16504 |
'is_uninstalled' => false,
|
16505 |
) );
|
16506 |
|
16507 |
+
if ( $this->is_addon() ) {
|
16508 |
+
$parent_fs = $this->get_parent_instance();
|
16509 |
+
|
16510 |
+
$params['parent_plugin_slug'] = $parent_fs->_slug;
|
16511 |
+
$params['parent_plugin_id'] = $parent_fs->get_id();
|
16512 |
+
}
|
16513 |
+
|
16514 |
if ( true === $network_level_or_blog_id ) {
|
16515 |
if ( ! isset( $override_with['sites'] ) ) {
|
16516 |
$params['sites'] = $this->get_sites_for_network_level_optin();
|
16606 |
if ( ! $is_uninstall ) {
|
16607 |
$fs_user = Freemius::_get_user_by_email( $email );
|
16608 |
if ( is_object( $fs_user ) && ! $this->is_pending_activation() ) {
|
16609 |
+
return $this->install_with_user(
|
16610 |
+
$fs_user,
|
16611 |
false,
|
16612 |
$trial_plan_id,
|
16613 |
+
true,
|
16614 |
+
true,
|
16615 |
$sites
|
16616 |
);
|
16617 |
}
|
16706 |
'http' => 402
|
16707 |
);
|
16708 |
|
16709 |
+
$this->maybe_modify_api_curl_error_message( $result );
|
16710 |
+
|
16711 |
return $result;
|
16712 |
}
|
16713 |
|
16780 |
( isset( $decoded->is_marketing_allowed ) && ! is_null( $decoded->is_marketing_allowed ) ?
|
16781 |
$decoded->is_marketing_allowed :
|
16782 |
null ),
|
16783 |
+
( isset( $decoded->is_extensions_tracking_allowed ) && ! is_null( $decoded->is_extensions_tracking_allowed ) ?
|
16784 |
+
$decoded->is_extensions_tracking_allowed :
|
16785 |
+
null ),
|
16786 |
$decoded->install_id,
|
16787 |
$decoded->install_public_key,
|
16788 |
$decoded->install_secret_key,
|
16796 |
( isset( $decoded->is_marketing_allowed ) && ! is_null( $decoded->is_marketing_allowed ) ?
|
16797 |
$decoded->is_marketing_allowed :
|
16798 |
null ),
|
16799 |
+
( isset( $decoded->is_extensions_tracking_allowed ) && ! is_null( $decoded->is_extensions_tracking_allowed ) ?
|
16800 |
+
$decoded->is_extensions_tracking_allowed :
|
16801 |
+
null ),
|
16802 |
$decoded->installs,
|
16803 |
false
|
16804 |
);
|
16890 |
);
|
16891 |
|
16892 |
if ( is_numeric( $first_install->license_id ) ) {
|
16893 |
+
$this->set_license( $this->_get_license_by_id( $first_install->license_id ) );
|
16894 |
}
|
16895 |
|
16896 |
$this->_admin_notices->remove_sticky( 'connect_account' );
|
17025 |
fs_request_get( 'user_public_key' ),
|
17026 |
fs_request_get( 'user_secret_key' ),
|
17027 |
fs_request_get_bool( 'is_marketing_allowed', null ),
|
17028 |
+
fs_request_get_bool( 'is_extensions_tracking_allowed', null ),
|
17029 |
$pending_sites_info['blog_ids'],
|
17030 |
$pending_sites_info['license_key'],
|
17031 |
$pending_sites_info['trial_plan_id']
|
17036 |
fs_request_get( 'user_public_key' ),
|
17037 |
fs_request_get( 'user_secret_key' ),
|
17038 |
fs_request_get_bool( 'is_marketing_allowed', null ),
|
17039 |
+
fs_request_get_bool( 'is_extensions_tracking_allowed', null ),
|
17040 |
fs_request_get( 'install_id' ),
|
17041 |
fs_request_get( 'install_public_key' ),
|
17042 |
fs_request_get( 'install_secret_key' ),
|
17092 |
* @param string $user_public_key
|
17093 |
* @param string $user_secret_key
|
17094 |
* @param bool|null $is_marketing_allowed
|
17095 |
+
* @param bool|null $is_extensions_tracking_allowed Since 2.3.2
|
17096 |
* @param number $install_id
|
17097 |
* @param string $install_public_key
|
17098 |
* @param string $install_secret_key
|
17099 |
* @param bool $redirect
|
17100 |
+
* @param bool $auto_install Since 1.2.1.7 If `true` and setting up an account with a valid license, will redirect (or return a URL) to the account page with a special parameter to trigger the auto installation processes.
|
|
|
|
|
17101 |
*
|
17102 |
* @return string If redirect is `false`, returns the next page the user should be redirected to.
|
17103 |
*/
|
17106 |
$user_public_key,
|
17107 |
$user_secret_key,
|
17108 |
$is_marketing_allowed,
|
17109 |
+
$is_extensions_tracking_allowed,
|
17110 |
$install_id,
|
17111 |
$install_public_key,
|
17112 |
$install_secret_key,
|
17148 |
$this->disable_opt_in_notice_and_lock_user();
|
17149 |
}
|
17150 |
|
17151 |
+
if ( ! is_null( $is_extensions_tracking_allowed ) ) {
|
17152 |
+
$this->update_extensions_tracking_flag( $is_extensions_tracking_allowed );
|
17153 |
+
}
|
17154 |
+
|
17155 |
return $this->setup_account(
|
17156 |
$this->_user,
|
17157 |
$this->_site,
|
17170 |
* @param string $user_public_key
|
17171 |
* @param string $user_secret_key
|
17172 |
* @param bool|null $is_marketing_allowed
|
17173 |
+
* @param bool|null $is_extensions_tracking_allowed Since 2.3.2
|
17174 |
* @param array $site_ids
|
17175 |
* @param bool $license_key
|
17176 |
* @param bool $trial_plan_id
|
17183 |
$user_public_key,
|
17184 |
$user_secret_key,
|
17185 |
$is_marketing_allowed,
|
17186 |
+
$is_extensions_tracking_allowed,
|
17187 |
$site_ids,
|
17188 |
$license_key = false,
|
17189 |
$trial_plan_id = false,
|
17195 |
$this->disable_opt_in_notice_and_lock_user();
|
17196 |
}
|
17197 |
|
17198 |
+
if ( ! is_null( $is_extensions_tracking_allowed ) ) {
|
17199 |
+
$this->update_extensions_tracking_flag( $is_extensions_tracking_allowed );
|
17200 |
+
}
|
17201 |
+
|
17202 |
$sites = array();
|
17203 |
foreach ( $site_ids as $site_id ) {
|
17204 |
$sites[] = $this->get_site_info( array( 'blog_id' => $site_id ) );
|
17217 |
* @param string $user_public_key
|
17218 |
* @param string $user_secret_key
|
17219 |
* @param bool|null $is_marketing_allowed
|
17220 |
+
* @param bool|null $is_extensions_tracking_allowed Since 2.3.2
|
17221 |
* @param object[] $installs
|
17222 |
* @param bool $redirect
|
17223 |
+
* @param bool $auto_install Since 1.2.1.7 If `true` and setting up an account with a valid license, will redirect (or return a URL) to the account page with a special parameter to trigger the auto installation processes.
|
|
|
|
|
17224 |
*
|
17225 |
* @return string If redirect is `false`, returns the next page the user should be redirected to.
|
17226 |
*/
|
17229 |
$user_public_key,
|
17230 |
$user_secret_key,
|
17231 |
$is_marketing_allowed,
|
17232 |
+
$is_extensions_tracking_allowed,
|
17233 |
array $installs,
|
17234 |
$redirect = true,
|
17235 |
$auto_install = false
|
17240 |
$this->disable_opt_in_notice_and_lock_user();
|
17241 |
}
|
17242 |
|
17243 |
+
if ( ! is_null( $is_extensions_tracking_allowed ) ) {
|
17244 |
+
$this->update_extensions_tracking_flag( $is_extensions_tracking_allowed );
|
17245 |
+
}
|
17246 |
+
|
17247 |
$install_ids = array();
|
17248 |
|
17249 |
foreach ( $installs as $install ) {
|
17353 |
*/
|
17354 |
$license_key = fs_request_get( 'license_secret_key' );
|
17355 |
|
17356 |
+
$this->update_extensions_tracking_flag( fs_request_get_bool( 'is_extensions_tracking_allowed', true ) );
|
17357 |
+
|
17358 |
$this->install_with_current_user( $license_key );
|
17359 |
}
|
17360 |
}
|
17399 |
*
|
17400 |
* @return \FS_Site|object|string If redirect is `false`, returns the next page the user should be redirected to, or the API error object if failed to install. If $setup_account is set to `false`, return the newly created install.
|
17401 |
*/
|
17402 |
+
function install_with_user(
|
17403 |
FS_User $user,
|
17404 |
$license_key = false,
|
17405 |
$trial_plan_id = false,
|
17488 |
|
17489 |
if ( ! empty( $license_key ) ) {
|
17490 |
$extra_install_params['license_key'] = $this->apply_filters( 'license_key', $license_key );
|
17491 |
+
|
17492 |
+
if ( $silent ) {
|
17493 |
+
$extra_install_params['ignore_license_owner'] = true;
|
17494 |
+
}
|
17495 |
} else if ( FS_Plugin_Plan::is_valid_id( $trial_plan_id ) ) {
|
17496 |
$extra_install_params['trial_plan_id'] = $trial_plan_id;
|
17497 |
}
|
17513 |
! $this->is_api_result_object( $result, 'installs' )
|
17514 |
) {
|
17515 |
if ( ! empty( $args['license_key'] ) ) {
|
17516 |
+
// Pass the fully entered license key to the failure handler.
|
17517 |
$args['license_key'] = $license_key;
|
17518 |
}
|
17519 |
|
17554 |
* @author Vova Feldman (@svovaf)
|
17555 |
* @since 1.0.6
|
17556 |
*
|
17557 |
+
* @param Freemius $parent_fs
|
17558 |
+
* @param bool|int|null $network_level_or_blog_id True for network level opt-in and integer for opt-in for specified blog in the network.
|
17559 |
+
* @param FS_Plugin_License $bundle_license Since 2.4.0. If provided, this license will be activated for the add-on.
|
17560 |
*/
|
17561 |
+
private function _activate_addon_account(
|
17562 |
+
Freemius $parent_fs,
|
17563 |
+
$network_level_or_blog_id = null,
|
17564 |
+
FS_Plugin_License $bundle_license = null
|
17565 |
+
) {
|
17566 |
if ( $this->is_registered() ) {
|
17567 |
// Already activated.
|
17568 |
return;
|
17601 |
}
|
17602 |
}
|
17603 |
|
17604 |
+
if ( is_object( $bundle_license ) ) {
|
17605 |
+
$params['license_key'] = $bundle_license->secret_key;
|
17606 |
+
}
|
17607 |
+
|
17608 |
// Activate add-on with parent plugin credentials.
|
17609 |
$result = $parent_fs->get_api_site_scope()->call(
|
17610 |
"/addons/{$this->_plugin->id}/installs.json",
|
17613 |
);
|
17614 |
|
17615 |
if ( ! $this->is_api_result_object( $result, 'installs' ) ) {
|
17616 |
+
if ( is_object( $bundle_license ) ) {
|
17617 |
+
/**
|
17618 |
+
* When a license object is provided, it's an attempt by the SDK to activate a bundle license and not a user-initiated action, therefore, do not show any admin notice to avoid confusion (e.g.: the notice will show up just above the opt-in link). If the license activation fails, the admin will see an opt-in link instead.
|
17619 |
+
*
|
17620 |
+
* @author Leo Fajardo (@leorw)
|
17621 |
+
* @since 2.4.0
|
17622 |
+
*/
|
17623 |
+
} else {
|
17624 |
+
$error_message = FS_Api::is_api_error_object( $result ) ?
|
17625 |
+
$result->error->message :
|
17626 |
+
$this->get_text_inline( 'An unknown error has occurred.', 'unknown-error' );
|
17627 |
|
17628 |
+
$this->_admin_notices->add(
|
17629 |
+
sprintf( $this->get_text_inline( 'Couldn\'t activate %s.', 'could-not-activate-x' ), $this->get_plugin_name() ) . ' ' .
|
17630 |
+
$this->get_text_inline( 'Please contact us with the following message:', 'contact-us-with-error-message' ) . ' ' . '<b>' . $error_message . '</b>',
|
17631 |
+
$this->get_text_x_inline( 'Oops', 'exclamation', 'oops' ) . '...',
|
17632 |
+
'error'
|
17633 |
+
);
|
17634 |
+
}
|
17635 |
|
17636 |
return;
|
17637 |
}
|
17664 |
|
17665 |
if ( ! fs_is_network_admin() ) {
|
17666 |
// Try to activate premium license.
|
17667 |
+
$this->_activate_license( true, $bundle_license );
|
|
|
|
|
17668 |
|
17669 |
+
if ( is_object( $bundle_license ) ) {
|
17670 |
+
$this->maybe_activate_bundle_license( $bundle_license );
|
|
|
|
|
|
|
|
|
17671 |
}
|
17672 |
+
} else {
|
17673 |
+
if ( is_object( $bundle_license ) ) {
|
17674 |
+
$premium_license = $bundle_license;
|
17675 |
+
} else {
|
17676 |
+
$license_id = fs_request_get( 'license_id' );
|
17677 |
|
17678 |
+
if ( is_object( $this->_site ) &&
|
17679 |
+
FS_Plugin_License::is_valid_id( $license_id ) &&
|
17680 |
+
$license_id == $this->_site->license_id
|
17681 |
+
) {
|
17682 |
+
// License is already activated.
|
17683 |
+
return;
|
17684 |
+
}
|
17685 |
+
|
17686 |
+
$premium_license = FS_Plugin_License::is_valid_id( $license_id ) ?
|
17687 |
+
$this->_get_license_by_id( $license_id ) :
|
17688 |
+
$this->_get_available_premium_license();
|
17689 |
+
}
|
17690 |
|
17691 |
if ( is_object( $premium_license ) ) {
|
17692 |
$this->maybe_network_activate_addon_license( $premium_license );
|
17916 |
*/
|
17917 |
private function add_menu_action() {
|
17918 |
if ( $this->is_activation_mode() ) {
|
17919 |
+
if ( $this->show_opt_in_on_setting_page() ) {
|
17920 |
$this->override_plugin_menu_with_activation();
|
17921 |
} else {
|
17922 |
/**
|
17938 |
}
|
17939 |
} else if (
|
17940 |
fs_request_is_action( 'sync_user' ) &&
|
17941 |
+
( ! $this->has_settings_menu() || $this->show_opt_in_on_themes_page() )
|
17942 |
) {
|
17943 |
$this->_handle_account_user_sync();
|
17944 |
}
|
18186 |
// Didn't ask to hide the pricing page.
|
18187 |
$this->is_page_visible( 'pricing' ) &&
|
18188 |
// Don't have a valid active license or has more than one plan.
|
18189 |
+
( ! $this->is_paying() || ! $this->is_single_plan( true ) )
|
18190 |
);
|
18191 |
}
|
18192 |
|
18204 |
return false;
|
18205 |
}
|
18206 |
|
18207 |
+
if ( $this->show_opt_in_on_themes_page() ) {
|
18208 |
+
if ( ! fs_is_network_admin() ) {
|
18209 |
+
// Also add action links or submenu items when running in a free .org theme so the tabs will be visible.
|
18210 |
+
return true;
|
18211 |
+
}
|
18212 |
+
} else if ( $is_activation_mode ) {
|
18213 |
+
// Don't show submenu-items/tabs in activation mode, unless it's a wp.org theme.
|
18214 |
return false;
|
18215 |
}
|
18216 |
|
18290 |
}
|
18291 |
|
18292 |
if ( $add_submenu_items ) {
|
18293 |
+
if (! WP_FS__DEMO_MODE && ! $this->is_whitelabeled() ) {
|
18294 |
+
// Add contact page.
|
18295 |
+
$this->add_submenu_item(
|
18296 |
+
$this->get_text_inline( 'Contact Us', 'contact-us' ),
|
18297 |
+
array( &$this, '_contact_page_render' ),
|
18298 |
+
$this->get_plugin_name() . ' – ' . $this->get_text_inline( 'Contact Us', 'contact-us' ),
|
18299 |
+
'manage_options',
|
18300 |
+
'contact',
|
18301 |
+
'Freemius::_clean_admin_content_section',
|
18302 |
+
WP_FS__DEFAULT_PRIORITY,
|
18303 |
+
$this->is_submenu_item_visible( 'contact' )
|
18304 |
+
);
|
18305 |
+
}
|
18306 |
|
18307 |
if ( $this->has_addons() ) {
|
18308 |
$this->add_submenu_item(
|
18321 |
if ( $add_submenu_items ||
|
18322 |
( $is_activation_mode && $this->is_only_premium() && $this->is_admin_page( 'pricing' ) )
|
18323 |
) {
|
18324 |
+
if (! WP_FS__DEMO_MODE && ! $this->is_whitelabeled() ) {
|
18325 |
$show_pricing = (
|
18326 |
$this->is_submenu_item_visible( 'pricing' ) &&
|
18327 |
$this->is_pricing_page_visible()
|
18686 |
|
18687 |
#endregion ------------------------------------------------------------------
|
18688 |
|
18689 |
+
#--------------------------------------------------------------------------------
|
18690 |
+
#region Admin Notices
|
18691 |
+
#--------------------------------------------------------------------------------
|
18692 |
+
|
18693 |
+
/**
|
18694 |
+
* @author Vova Feldman (@svovaf)
|
18695 |
+
* @since 2.3.1
|
18696 |
+
*
|
18697 |
+
* @param string|string[] $ids
|
18698 |
+
* @param int|null $network_level_or_blog_id
|
18699 |
+
*
|
18700 |
+
* @uses FS_Admin_Notices::remove_sticky()
|
18701 |
+
*/
|
18702 |
+
function remove_sticky( $ids, $network_level_or_blog_id = null ) {
|
18703 |
+
$this->_admin_notices->remove_sticky( $ids, $network_level_or_blog_id );
|
18704 |
+
}
|
18705 |
+
|
18706 |
+
#endregion
|
18707 |
|
18708 |
#--------------------------------------------------------------------------------
|
18709 |
#region Actions / Hooks / Filters
|
19080 |
private function _store_site( $store = true, $network_level_or_blog_id = null, FS_Site $site = null ) {
|
19081 |
$this->_logger->entrance();
|
19082 |
|
19083 |
+
if ( is_null( $site ) ) {
|
19084 |
+
$site = $this->_site;
|
19085 |
+
}
|
19086 |
+
|
19087 |
+
if ( !isset( $site ) || !is_object($site) || empty( $site->id ) ) {
|
19088 |
$this->_logger->error( "Empty install ID, can't store site." );
|
19089 |
|
19090 |
return;
|
19091 |
}
|
19092 |
|
19093 |
+
$site_clone = clone $site;
|
|
|
19094 |
|
19095 |
$sites = self::get_all_sites( $this->_module_type, $network_level_or_blog_id );
|
19096 |
|
19097 |
+
if ( is_object( $this->_user ) && $this->_user->id != $site->user_id ) {
|
19098 |
+
$this->sync_user_by_current_install( $site->user_id );
|
19099 |
|
19100 |
+
$prev_stored_user_id = $this->_storage->get( 'prev_user_id', false, $network_level_or_blog_id );
|
19101 |
+
|
19102 |
+
if ( empty( $prev_stored_user_id ) &&
|
19103 |
+
is_object($this->_user) && $this->_user->id != $site->user_id
|
19104 |
+
) {
|
19105 |
+
/**
|
19106 |
+
* Store the current user ID as the previous user ID so that the previous user can be used
|
19107 |
+
* as the install's owner while the new owner's details are not yet available.
|
19108 |
+
*
|
19109 |
+
* This will be executed only in the `replica` site. For example, there are 2 sites, namely `original`
|
19110 |
+
* and `replica`, then an ownership change was initiated and completed in the `original`, the `replica`
|
19111 |
+
* will be using the previous user until it is updated again (e.g.: until the next clone of `original`
|
19112 |
+
* into `replica`.
|
19113 |
+
*
|
19114 |
+
* @author Leo Fajardo (@leorw)
|
19115 |
+
*/
|
19116 |
+
$this->_storage->store( 'prev_user_id', $sites[ $this->_slug ]->user_id, $network_level_or_blog_id );
|
19117 |
+
}
|
19118 |
}
|
19119 |
|
19120 |
+
$sites[ $this->_slug ] = $site_clone;
|
19121 |
|
19122 |
$this->set_account_option( 'sites', $sites, $store, $network_level_or_blog_id );
|
19123 |
}
|
19327 |
* @since 2.2.4
|
19328 |
*/
|
19329 |
private function purge_valid_user_licenses_cache() {
|
19330 |
+
if ( ! $this->is_registered() ) {
|
19331 |
+
return;
|
19332 |
+
}
|
19333 |
+
|
19334 |
$this->get_api_user_scope()->purge_cache( $this->get_valid_user_licenses_endpoint() );
|
19335 |
}
|
19336 |
|
19984 |
*
|
19985 |
* @author Vova Feldman (@svovaf)
|
19986 |
* @since 1.2.1
|
19987 |
+
*
|
19988 |
+
* @param bool $check_expiration
|
19989 |
+
*/
|
19990 |
+
function has_active_valid_license( $check_expiration = true ) {
|
19991 |
+
return self::is_active_valid_license( $this->_license, $check_expiration );
|
19992 |
+
}
|
19993 |
+
|
19994 |
+
/**
|
19995 |
+
* @author Leo Fajardo (@leorw)
|
19996 |
+
* @since 2.3.1
|
19997 |
+
*/
|
19998 |
+
function is_data_debug_mode() {
|
19999 |
+
if ( is_null( $this->is_whitelabeled ) || ! $this->is_whitelabeled ) {
|
20000 |
+
return false;
|
20001 |
+
}
|
20002 |
+
|
20003 |
+
$fs = $this->is_addon() ?
|
20004 |
+
$this->get_parent_instance() :
|
20005 |
+
$this;
|
20006 |
+
|
20007 |
+
if ( $fs->is_network_active() && fs_is_network_admin() ) {
|
20008 |
+
$is_developer_license_debug_mode = get_site_transient( "fs_{$this->get_id()}_data_debug_mode" );
|
20009 |
+
} else {
|
20010 |
+
$is_developer_license_debug_mode = get_transient( "fs_{$this->get_id()}_data_debug_mode" );
|
20011 |
+
}
|
20012 |
+
|
20013 |
+
return ( 'true' === $is_developer_license_debug_mode );
|
20014 |
+
}
|
20015 |
+
|
20016 |
+
/**
|
20017 |
+
* @author Leo Fajardo (@leorw)
|
20018 |
+
* @since 2.3.1
|
20019 |
*/
|
20020 |
+
function _set_data_debug_mode() {
|
20021 |
+
if ( ! $this->is_whitelabeled( true ) ) {
|
20022 |
+
return;
|
20023 |
+
}
|
20024 |
+
|
20025 |
+
$license_or_user_key = fs_request_get( 'license_or_user_key' );
|
20026 |
+
|
20027 |
+
$transient_value = ( ! empty( $license_or_user_key ) ) ?
|
20028 |
+
'true' :
|
20029 |
+
'false';
|
20030 |
+
|
20031 |
+
if ( 'true' === $transient_value ) {
|
20032 |
+
$stored_key = $this->_storage->get( ! FS_User::is_valid_id( $this->_storage->last_license_user_id ) ?
|
20033 |
+
'last_license_key' :
|
20034 |
+
'last_license_user_key'
|
20035 |
+
);
|
20036 |
+
|
20037 |
+
if ( md5( $license_or_user_key ) !== $stored_key ) {
|
20038 |
+
$this->shoot_ajax_failure( sprintf(
|
20039 |
+
'%s... %s',
|
20040 |
+
$this->get_text_x_inline( 'Oops', 'exclamation', 'oops' ),
|
20041 |
+
$this->get_text_inline(
|
20042 |
+
'seems like the key you entered doesn\'t match our records.',
|
20043 |
+
'developer-or-license-not-found'
|
20044 |
+
)
|
20045 |
+
) );
|
20046 |
+
}
|
20047 |
+
}
|
20048 |
+
|
20049 |
+
if ( $this->is_network_active() && fs_is_network_admin() ) {
|
20050 |
+
set_site_transient(
|
20051 |
+
"fs_{$this->get_id()}_data_debug_mode",
|
20052 |
+
$transient_value,
|
20053 |
+
WP_FS__TIME_24_HOURS_IN_SEC / 24
|
20054 |
+
);
|
20055 |
+
} else {
|
20056 |
+
set_transient(
|
20057 |
+
"fs_{$this->get_id()}_data_debug_mode",
|
20058 |
+
$transient_value,
|
20059 |
+
WP_FS__TIME_24_HOURS_IN_SEC / 24
|
20060 |
+
);
|
20061 |
+
}
|
20062 |
+
|
20063 |
+
if ( 'true' === $transient_value ) {
|
20064 |
+
$this->_admin_notices->add_sticky(
|
20065 |
+
$this->get_text_inline(
|
20066 |
+
'Debug mode was successfully enabled and will be automatically disabled in 60 min. You can also disable it earlier by clicking the "Stop Debug" link.',
|
20067 |
+
'data_debug_mode_enabled'
|
20068 |
+
),
|
20069 |
+
'data_debug_mode_enabled'
|
20070 |
+
);
|
20071 |
+
}
|
20072 |
+
|
20073 |
+
$this->shoot_ajax_success();
|
20074 |
}
|
20075 |
|
20076 |
/**
|
20080 |
* @since 2.1.3
|
20081 |
*
|
20082 |
* @param FS_Plugin_License $license
|
20083 |
+
* @param bool $check_expiration
|
20084 |
*
|
20085 |
* @return bool
|
20086 |
*/
|
20087 |
+
private static function is_active_valid_license( $license, $check_expiration = true ) {
|
20088 |
return (
|
20089 |
is_object( $license ) &&
|
20090 |
FS_Plugin_License::is_valid_id( $license->id ) &&
|
20091 |
$license->is_active() &&
|
20092 |
+
( ! $check_expiration || $license->is_valid() )
|
20093 |
);
|
20094 |
}
|
20095 |
|
20143 |
);
|
20144 |
}
|
20145 |
|
20146 |
+
/**
|
20147 |
+
* Checks if the product is activated with a bundle license.
|
20148 |
+
*
|
20149 |
+
* @author Leo Fajardo (@leorw)
|
20150 |
+
* @since 2.4.0
|
20151 |
+
*
|
20152 |
+
* @return bool
|
20153 |
+
*/
|
20154 |
+
function is_activated_with_bundle_license() {
|
20155 |
+
if ( ! $this->has_features_enabled_license() ) {
|
20156 |
+
return false;
|
20157 |
+
}
|
20158 |
+
|
20159 |
+
return FS_Plugin_License::is_valid_id( $this->_license->parent_license_id );
|
20160 |
+
}
|
20161 |
+
|
20162 |
/**
|
20163 |
* Check if user is a trial or have feature enabled license.
|
20164 |
*
|
20404 |
} else {
|
20405 |
// Authentication params are broken.
|
20406 |
$this->_admin_notices->add(
|
20407 |
+
$this->get_text_inline( 'It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again.', 'wrong-authentication-param-message' ) . '<br> ' . $this->get_text_inline( 'Error received from the server:', 'server-error-message' ) . var_export( $result->error, true ),
|
20408 |
$this->get_text_x_inline( 'Oops', 'exclamation', 'oops' ) . '...',
|
20409 |
'error'
|
20410 |
);
|
20571 |
$this->get_network_install_blog_id()
|
20572 |
);
|
20573 |
} else {
|
20574 |
+
if ( ! is_object( $this->_license ) ) {
|
20575 |
+
$this->maybe_update_whitelabel_flag(
|
20576 |
+
FS_Plugin_License::is_valid_id( $site->license_id ) ?
|
20577 |
+
$this->get_license_by_id( $site->license_id ) :
|
20578 |
+
null
|
20579 |
+
);
|
20580 |
+
} else {
|
20581 |
+
$this->maybe_update_whitelabel_flag( $this->_license );
|
20582 |
+
|
20583 |
+
if ( $this->_license->is_expired() ) {
|
20584 |
+
if ( ! $this->has_features_enabled_license() ) {
|
20585 |
+
$this->_deactivate_license();
|
20586 |
+
$plan_change = 'downgraded';
|
20587 |
+
} else {
|
20588 |
+
$last_time_expired_license_notice_was_shown = $this->_storage->get( 'expired_license_notice_shown', 0 );
|
20589 |
+
|
20590 |
+
if ( time() - ( 14 * WP_FS__TIME_24_HOURS_IN_SEC ) >= $last_time_expired_license_notice_was_shown ) {
|
20591 |
+
/**
|
20592 |
+
* Show the expired license notice every 14 days.
|
20593 |
+
*
|
20594 |
+
* @author Leo Fajardo (@leorw)
|
20595 |
+
* @since 2.3.1
|
20596 |
+
*/
|
20597 |
+
$plan_change = 'expired';
|
20598 |
+
}
|
20599 |
+
}
|
20600 |
}
|
20601 |
}
|
20602 |
|
20620 |
|
20621 |
$hmm_text = $this->get_text_x_inline( 'Hmm', 'something somebody says when they are thinking about what you have just said.', 'hmm' ) . '...';
|
20622 |
|
20623 |
+
if ( $this->apply_filters( 'has_paid_plan_account', $this->has_paid_plan() ) ) {
|
20624 |
switch ( $plan_change ) {
|
20625 |
case 'none':
|
20626 |
if ( ! $background && is_admin() ) {
|
20713 |
'license_expired',
|
20714 |
$hmm_text
|
20715 |
);
|
20716 |
+
|
20717 |
+
$this->_storage->expired_license_notice_shown = WP_FS__SCRIPT_START_TIME;
|
20718 |
+
|
20719 |
$this->_admin_notices->remove_sticky( 'plan_upgraded' );
|
20720 |
break;
|
20721 |
case 'trial_started':
|
20751 |
}
|
20752 |
|
20753 |
if ( 'none' !== $plan_change ) {
|
20754 |
+
if (
|
20755 |
+
! is_object( $this->_license ) ||
|
20756 |
+
! $this->_license->is_whitelabeled
|
20757 |
+
) {
|
20758 |
+
$this->_admin_notices->remove_sticky( 'license_whitelabeled' );
|
20759 |
+
}
|
20760 |
+
|
20761 |
$this->do_action( 'after_license_change', $plan_change, $this->get_plan() );
|
20762 |
}
|
20763 |
}
|
20777 |
* @author Vova Feldman (@svovaf)
|
20778 |
* @since 1.0.5
|
20779 |
*
|
20780 |
+
* @param bool $background
|
20781 |
+
* @param FS_Plugin_License|null $premium_license
|
20782 |
*/
|
20783 |
protected function _activate_license( $background = false, $premium_license = null ) {
|
20784 |
$this->_logger->entrance();
|
20972 |
|
20973 |
if ( $show_notice ) {
|
20974 |
$this->_admin_notices->add(
|
20975 |
+
sprintf( $this->is_only_premium() ?
|
20976 |
+
$this->get_text_inline( 'Your %s license was successfully deactivated.', 'license-deactivation-message_premium-only' ) :
|
20977 |
+
$this->get_text_inline( 'Your license was successfully deactivated, you are back to the %s plan.', 'license-deactivation-message' ),
|
20978 |
+
$this->get_plan_title()
|
20979 |
+
),
|
20980 |
$this->get_text_inline( 'O.K', 'ok' )
|
20981 |
);
|
20982 |
}
|
21481 |
*/
|
21482 |
private function get_latest_download_link( $label, $plugin_id = false ) {
|
21483 |
return sprintf(
|
21484 |
+
'<a target="_blank" rel="noopener" href="%s">%s</a>',
|
21485 |
$this->_get_latest_download_local_url( $plugin_id ),
|
21486 |
$label
|
21487 |
);
|
21552 |
$this->get_text_inline( 'Version %s was released.', 'version-x-released' ) . ' ' . $this->get_text_inline( 'Please download %s.', 'please-download-x' ),
|
21553 |
$update->version,
|
21554 |
sprintf(
|
21555 |
+
'<a href="%s" target="_blank" rel="noopener">%s</a>',
|
21556 |
$this->get_account_url( 'download_latest' ),
|
21557 |
sprintf(
|
21558 |
/* translators: %s: plan name (e.g. latest "Professional" version) */
|
21589 |
|
21590 |
$api = $this->get_api_site_or_plugin_scope();
|
21591 |
|
21592 |
+
$path = $this->add_show_pending( '/addons.json?enriched=true&count=50' );
|
21593 |
|
21594 |
/**
|
21595 |
* @since 1.2.1
|
21783 |
return true;
|
21784 |
}
|
21785 |
|
21786 |
+
/**
|
21787 |
+
* Completes ownership change by license.
|
21788 |
+
*
|
21789 |
+
* @author Leo Fajardo (@leorw)
|
21790 |
+
* @since 2.3.2
|
21791 |
+
*
|
21792 |
+
* @param number $user_id
|
21793 |
+
* @param array[string]number $install_ids_by_slug_map
|
21794 |
+
*
|
21795 |
+
*/
|
21796 |
+
private function complete_ownership_change_by_license( $user_id, $install_ids_by_slug_map ) {
|
21797 |
+
$this->_logger->entrance();
|
21798 |
+
|
21799 |
+
$this->sync_user_by_current_install( $user_id );
|
21800 |
+
|
21801 |
+
$result = $this->get_api_user_scope( true )->get(
|
21802 |
+
"/installs.json?install_ids=" . implode( ',', $install_ids_by_slug_map )
|
21803 |
+
);
|
21804 |
+
|
21805 |
+
if ( $this->is_api_result_object( $result, 'installs' ) ) {
|
21806 |
+
$sites = self::get_all_sites( $this->get_module_type() );
|
21807 |
+
$install_ids_by_slug_map = array_flip( $install_ids_by_slug_map );
|
21808 |
+
|
21809 |
+
foreach ( $result->installs as $install ) {
|
21810 |
+
$site = new FS_Site( $install );
|
21811 |
+
|
21812 |
+
$sites[ $install_ids_by_slug_map[ $site->id ] ] = clone $site;
|
21813 |
+
}
|
21814 |
+
|
21815 |
+
$this->set_account_option( 'sites', $sites, true );
|
21816 |
+
}
|
21817 |
+
}
|
21818 |
+
|
21819 |
/**
|
21820 |
* Handle user name update.
|
21821 |
*
|
21929 |
* @return string
|
21930 |
*/
|
21931 |
function get_after_activation_url( $filter, $params = array(), $network = null ) {
|
21932 |
+
if ( $this->show_opt_in_on_themes_page() &&
|
21933 |
( fs_request_has( 'pending_activation' ) ||
|
21934 |
// For cases when the first time path is set, even though it's a WP.org theme.
|
21935 |
fs_request_get_bool( $this->get_unique_affix() . '_show_optin' ) )
|
21984 |
// Alias.
|
21985 |
$oops_text = $this->get_text_x_inline( 'Oops', 'exclamation', 'oops' ) . '...';
|
21986 |
|
21987 |
+
$is_network_action = $this->is_network_level_action();
|
21988 |
+
$blog_id = $this->is_network_level_site_specific_action();
|
21989 |
+
$is_parent_plugin_action = ( $plugin_id == $this->get_id() );
|
21990 |
|
21991 |
if ( is_numeric( $blog_id ) ) {
|
21992 |
$this->switch_to_blog( $blog_id );
|
21998 |
case 'opt_in':
|
21999 |
check_admin_referer( trim( "{$action}:{$blog_id}:{$install_id}", ':' ) );
|
22000 |
|
22001 |
+
if ( $is_parent_plugin_action ) {
|
22002 |
if ( $is_network_action && ! empty( $blog_id ) ) {
|
22003 |
if ( ! $this->is_registered() ) {
|
22004 |
$this->install_with_user(
|
22021 |
case 'toggle_tracking':
|
22022 |
check_admin_referer( trim( "{$action}:{$blog_id}:{$install_id}", ':' ) );
|
22023 |
|
22024 |
+
if ( $is_parent_plugin_action ) {
|
22025 |
if ( $is_network_action && ! empty( $blog_id ) ) {
|
22026 |
if ( $this->is_registered() ) {
|
22027 |
if ( $this->is_tracking_prohibited() ) {
|
22039 |
$this->get_plugin_title(),
|
22040 |
fs_strip_url_protocol( get_site_url( $blog_id ) ),
|
22041 |
sprintf(
|
22042 |
+
'<a href="%s" target="_blank" rel="noopener">%s</a>',
|
22043 |
'https://freemius.com',
|
22044 |
'freemius.com'
|
22045 |
)
|
22056 |
case 'delete_account':
|
22057 |
check_admin_referer( trim( "{$action}:{$blog_id}:{$install_id}", ':' ) );
|
22058 |
|
22059 |
+
$is_network_deletion = $is_network_action && empty( $blog_id );
|
22060 |
+
|
22061 |
+
if ( $is_parent_plugin_action ) {
|
22062 |
+
// Delete add-on installs if have any.
|
22063 |
+
$installed_addons = $this->get_installed_addons();
|
22064 |
+
foreach ( $installed_addons as $fs_addon ) {
|
22065 |
+
if ( $is_network_deletion ) {
|
22066 |
+
$fs_addon->delete_network_account_event();
|
22067 |
+
} else {
|
22068 |
+
$fs_addon->delete_account_event();
|
22069 |
+
}
|
22070 |
+
}
|
22071 |
+
|
22072 |
+
if ( $is_network_deletion ) {
|
22073 |
$this->delete_network_account_event();
|
22074 |
} else {
|
22075 |
$this->delete_account_event();
|
22085 |
} else {
|
22086 |
if ( $this->is_addon_activated( $plugin_id ) ) {
|
22087 |
$fs_addon = self::get_instance_by_id( $plugin_id );
|
22088 |
+
|
22089 |
+
if ( $is_network_deletion ) {
|
22090 |
+
$fs_addon->delete_network_account_event();
|
22091 |
+
} else {
|
22092 |
+
$fs_addon->delete_account_event();
|
22093 |
+
}
|
22094 |
|
22095 |
fs_redirect( $this->_get_admin_page_url( 'account' ) );
|
22096 |
}
|
22138 |
|
22139 |
if ( is_object( $fs ) ) {
|
22140 |
$fs->_activate_license();
|
22141 |
+
|
22142 |
+
/**
|
22143 |
+
* Remove the product ID from `$_REQUEST` so that the syncing of the license for the other products will work properly.
|
22144 |
+
*
|
22145 |
+
* @author Leo Fajardo (@leorw)
|
22146 |
+
* @since 2.4.0
|
22147 |
+
*/
|
22148 |
+
unset( $_REQUEST['plugin_id'] );
|
22149 |
+
|
22150 |
+
if ( $this->is_bundle_license_auto_activation_enabled() ) {
|
22151 |
+
$fs->maybe_activate_bundle_license( null, array(), is_numeric( $blog_id ) ? $blog_id : 0 );
|
22152 |
+
}
|
22153 |
}
|
22154 |
|
22155 |
return;
|
22372 |
|
22373 |
$this->_handle_account_edits();
|
22374 |
|
22375 |
+
if (
|
22376 |
+
is_object( $this->_license ) &&
|
22377 |
+
$this->_license->user_id == $this->_user->id &&
|
22378 |
+
! $this->is_whitelabeled( true )
|
22379 |
+
) {
|
22380 |
+
$this->_admin_notices->add(
|
22381 |
+
sprintf(
|
22382 |
+
$this->get_text_inline( "Is this your client's site? %s if you wish to hide sensitive info like your email, license key, prices, billing address & invoices from the WP Admin.", 'license_not_whitelabeled' ),
|
22383 |
+
sprintf(
|
22384 |
+
'<a href="#" class="fs-toggle-whitelabel-mode">%s</a>',
|
22385 |
+
$this->get_text_inline( 'Click here', 'click-here' )
|
22386 |
+
)
|
22387 |
+
),
|
22388 |
+
'',
|
22389 |
+
'success',
|
22390 |
+
false,
|
22391 |
+
'license_not_whitelabeled'
|
22392 |
+
);
|
22393 |
+
}
|
22394 |
+
|
22395 |
$this->do_action( 'account_page_load_before_departure' );
|
22396 |
}
|
22397 |
|
22528 |
}
|
22529 |
}
|
22530 |
|
22531 |
+
/**
|
22532 |
+
* @author Leo Fajardo (@leorw)
|
22533 |
+
* @since 2.3.1
|
22534 |
+
*/
|
22535 |
+
function _maybe_add_pricing_ajax_handler() {
|
22536 |
+
if ( ! $this->should_use_external_pricing() ) {
|
22537 |
+
$this->add_ajax_action( 'pricing_ajax_action', array( &$this, '_fs_pricing_ajax_action_handler' ) );
|
22538 |
+
}
|
22539 |
+
}
|
22540 |
+
|
22541 |
+
/**
|
22542 |
+
* @author Leo Fajardo (@leorw)
|
22543 |
+
* @since 2.3.1
|
22544 |
+
*/
|
22545 |
+
function _fs_pricing_ajax_action_handler() {
|
22546 |
+
$this->check_ajax_referer( 'pricing_ajax_action' );
|
22547 |
+
|
22548 |
+
$result = null;
|
22549 |
+
$pricing_action = fs_request_get( 'pricing_action' );
|
22550 |
+
|
22551 |
+
switch ( $pricing_action ) {
|
22552 |
+
case 'fetch_pricing_data':
|
22553 |
+
$params = array(
|
22554 |
+
'is_enriched' => true,
|
22555 |
+
'trial' => fs_request_get_bool( 'trial' ),
|
22556 |
+
'sandbox' => fs_request_get( 'sandbox' ),
|
22557 |
+
's_ctx_type' => fs_request_get( 's_ctx_type' ),
|
22558 |
+
's_ctx_id' => fs_request_get( 's_ctx_id' ),
|
22559 |
+
's_ctx_ts' => fs_request_get( 's_ctx_ts' ),
|
22560 |
+
's_ctx_secure' => fs_request_get( 's_ctx_secure' ),
|
22561 |
+
);
|
22562 |
+
|
22563 |
+
$bundle_id = $this->get_bundle_id();
|
22564 |
+
$bundle_public_key = $this->get_bundle_public_key();
|
22565 |
+
|
22566 |
+
$has_bundle_context = ( FS_Plugin::is_valid_id( $bundle_id ) && ! empty( $bundle_public_key ) );
|
22567 |
+
|
22568 |
+
if ( ! $has_bundle_context ) {
|
22569 |
+
$api = $this->get_api_plugin_scope();
|
22570 |
+
} else {
|
22571 |
+
$api = FS_Api::instance(
|
22572 |
+
$bundle_id,
|
22573 |
+
'plugin',
|
22574 |
+
$bundle_id,
|
22575 |
+
$bundle_public_key,
|
22576 |
+
! $this->is_live(),
|
22577 |
+
false,
|
22578 |
+
$this->get_sdk_version()
|
22579 |
+
);
|
22580 |
+
|
22581 |
+
$params['plugin_id'] = $this->get_id();
|
22582 |
+
$params['plugin_public_key'] = $this->get_public_key();
|
22583 |
+
}
|
22584 |
+
|
22585 |
+
$result = $api->get( 'pricing.json?' . http_build_query( $params ) );
|
22586 |
+
break;
|
22587 |
+
case 'start_trial':
|
22588 |
+
$result = $this->opt_in(
|
22589 |
+
false,
|
22590 |
+
false,
|
22591 |
+
false,
|
22592 |
+
false,
|
22593 |
+
false,
|
22594 |
+
fs_request_get( 'plan_id' )
|
22595 |
+
);
|
22596 |
+
}
|
22597 |
+
|
22598 |
+
if ( is_object( $result ) && $this->is_api_error( $result ) ) {
|
22599 |
+
$this->_logger->api_error( $result );
|
22600 |
+
|
22601 |
+
self::shoot_ajax_failure(
|
22602 |
+
isset( $result->error ) ?
|
22603 |
+
( is_string( $result->error ) ? $result->error : $result->error->message ) :
|
22604 |
+
var_export( $result, true )
|
22605 |
+
);
|
22606 |
+
}
|
22607 |
+
|
22608 |
+
$this->shoot_ajax_success( $result );
|
22609 |
+
}
|
22610 |
+
|
22611 |
#----------------------------------------------------------------------------------
|
22612 |
#region Contact Us
|
22613 |
#----------------------------------------------------------------------------------
|
22802 |
return $this->_plugin_api;
|
22803 |
}
|
22804 |
|
22805 |
+
/**
|
22806 |
+
* Get bundle public API scope.
|
22807 |
+
*
|
22808 |
+
* @author Vova Feldman (@svovaf)
|
22809 |
+
* @since 2.3.1
|
22810 |
+
*
|
22811 |
+
* @return FS_Api
|
22812 |
+
*/
|
22813 |
+
function get_api_bundle_scope() {
|
22814 |
+
return FS_Api::instance(
|
22815 |
+
$this->get_bundle_id(),
|
22816 |
+
'plugin',
|
22817 |
+
$this->get_bundle_id(),
|
22818 |
+
$this->get_bundle_public_key(),
|
22819 |
+
! $this->is_live(),
|
22820 |
+
false,
|
22821 |
+
$this->get_sdk_version()
|
22822 |
+
);
|
22823 |
+
}
|
22824 |
+
|
22825 |
/**
|
22826 |
* Get site API scope object (fallback to public plugin scope when not registered).
|
22827 |
*
|
22836 |
$this->get_api_plugin_scope();
|
22837 |
}
|
22838 |
|
22839 |
+
/**
|
22840 |
+
* @author Leo Fajardo (@leorw)
|
22841 |
+
* @since 2.2.3.1
|
22842 |
+
*
|
22843 |
+
* @param object $result
|
22844 |
+
*/
|
22845 |
+
private function maybe_modify_api_curl_error_message( $result ) {
|
22846 |
+
if (
|
22847 |
+
'cUrlMissing' !== $result->error->type &&
|
22848 |
+
( 'CurlException' !== $result->error->type || CURLE_COULDNT_CONNECT != $result->error->code ) &&
|
22849 |
+
( 'HttpRequestFailed' !== $result->error->type || false === strpos( $result->error->message, 'cURL error ' . CURLE_COULDNT_CONNECT ) )
|
22850 |
+
) {
|
22851 |
+
return;
|
22852 |
+
}
|
22853 |
+
|
22854 |
+
$result->error->message = $this->esc_html_inline( 'We use PHP cURL library for the API calls, which is a very common library and usually installed and activated out of the box. Unfortunately, cURL is not activated (or disabled) on your server.', 'curl-missing-message' ) .
|
22855 |
+
' ' .
|
22856 |
+
$this->esc_html_inline(
|
22857 |
+
sprintf(
|
22858 |
+
'Please contact your hosting provider and ask them to whitelist %s for external connection.',
|
22859 |
+
implode(
|
22860 |
+
', ',
|
22861 |
+
$this->apply_filters( 'api_domains', array(
|
22862 |
+
'api.freemius.com',
|
22863 |
+
'wp.freemius.com'
|
22864 |
+
) )
|
22865 |
+
)
|
22866 |
+
),
|
22867 |
+
'connectivity-whitelist'
|
22868 |
+
) .
|
22869 |
+
' ' .
|
22870 |
+
sprintf(
|
22871 |
+
$this->esc_html_inline( 'Once you are done, deactivate the %s and activate it again.', 'connectivity-reactivate-module' ),
|
22872 |
+
$this->get_module_type()
|
22873 |
+
);
|
22874 |
+
}
|
22875 |
+
|
22876 |
/**
|
22877 |
* Show trial promotional notice (if any trial exist).
|
22878 |
*
|
23192 |
function _show_theme_activation_optin_dialog() {
|
23193 |
fs_enqueue_local_style( 'fs_connect', '/admin/connect.css' );
|
23194 |
|
23195 |
+
add_action( 'admin_footer', array( &$this, '_add_fs_theme_activation_dialog' ) );
|
23196 |
}
|
23197 |
|
23198 |
/**
|
23200 |
* @since 1.2.2
|
23201 |
*/
|
23202 |
function _add_fs_theme_activation_dialog() {
|
23203 |
+
global $pagenow;
|
23204 |
+
|
23205 |
+
if ( 'themes.php' !== $pagenow ) {
|
23206 |
+
return;
|
23207 |
+
}
|
23208 |
+
|
23209 |
$vars = array( 'id' => $this->_module_id );
|
23210 |
fs_require_once_template( 'connect.php', $vars );
|
23211 |
}
|
23293 |
$add_upgrade_link = (
|
23294 |
$add_action_links ||
|
23295 |
( $is_activation_mode && $this->is_only_premium() )
|
23296 |
+
) && ! WP_FS__DEMO_MODE && ( ! $this->is_whitelabeled() );
|
23297 |
|
23298 |
$add_addons_link = ( $add_action_links && $this->has_addons() );
|
23299 |
|
23382 |
|
23383 |
$this->_logger->entrance();
|
23384 |
|
23385 |
+
/**
|
23386 |
+
* @author Vova Feldman (@svovaf)
|
23387 |
+
* @since 2.3.2 Allow opting out from usage-tracking for paid products too by giving the appropriate warning letting the user know the automatic updates mechanism cannot function without an ongoing connection to the licensing and updates engine.
|
23388 |
+
*/
|
23389 |
+
/*if ( $this->is_premium() ) {
|
23390 |
+
// Don't add opt-in/out for premium code base.
|
23391 |
+
return;
|
23392 |
+
}*/
|
23393 |
+
|
23394 |
+
if ( $this->is_only_premium() && $this->is_free_plan() ) {
|
23395 |
+
// Don't add tracking links for premium-only products that were opted-in by relation (add-on or a parent product) before activating any license.
|
23396 |
+
return;
|
23397 |
+
}
|
23398 |
+
|
23399 |
if ( fs_is_network_admin() ) {
|
23400 |
if ( ! $this->_is_network_active ) {
|
23401 |
// Don't add tracking links when browsing the network WP Admin and the plugin is not network active.
|
23426 |
return;
|
23427 |
}
|
23428 |
|
23429 |
+
if (
|
23430 |
+
$this->is_activation_mode() &&
|
23431 |
+
$this->is_premium() &&
|
23432 |
+
! $this->is_registered()
|
23433 |
+
) {
|
23434 |
+
// If not yet registered and running the premium code base, a license activation link will already be shown.
|
23435 |
+
return;
|
23436 |
+
}
|
23437 |
|
23438 |
+
if ( $this->is_registered() && $this->is_tracking_allowed() ) {
|
23439 |
+
if ( ! $this->is_premium() && ! $this->is_enable_anonymous() ) {
|
23440 |
+
// If opted in and tracking is allowed, don't allow to opt out if not premium and anonymous mode is disabled.
|
23441 |
return;
|
23442 |
}
|
23443 |
}
|
23450 |
return;
|
23451 |
}
|
23452 |
|
23453 |
+
if ( $this->add_ajax_action( 'update_tracking_permission', array( &$this, '_update_tracking_permission_callback' ) ) ) {
|
23454 |
+
return;
|
23455 |
+
}
|
23456 |
+
|
23457 |
$link_text_id = '';
|
23458 |
$url = '#';
|
23459 |
|
23463 |
} else {
|
23464 |
$link_text_id = $this->get_text_inline( 'Opt In', 'opt-in' );
|
23465 |
}
|
|
|
|
|
23466 |
} else if ( $this->is_anonymous() || $this->is_activation_mode() ) {
|
23467 |
/**
|
23468 |
* Show opt-in link only if skipped or in activation mode.
|
23479 |
$url = $this->get_activation_url( $params );
|
23480 |
}
|
23481 |
|
23482 |
+
add_action( 'admin_footer', array( &$this, '_add_optout_dialog' ) );
|
23483 |
+
|
23484 |
if ( ! empty( $link_text_id ) && $this->is_plugin() && self::is_plugins_page() ) {
|
23485 |
$this->add_plugin_action_link(
|
23486 |
$link_text_id,
|
23517 |
if ( ! empty( $this->_dynamically_added_top_level_page_hook_name ) ) {
|
23518 |
if ( $this->is_network_registered() ) {
|
23519 |
$page = 'account';
|
23520 |
+
} else if ( $this->is_pending_activation() || $this->is_network_anonymous() ) {
|
23521 |
$this->maybe_set_slug_and_network_menu_exists_flag();
|
23522 |
}
|
23523 |
}
|
23552 |
* @since 1.0.3
|
23553 |
*/
|
23554 |
function _redirect_on_activation_hook() {
|
23555 |
+
if ( $this->apply_filters( 'redirect_on_activation', true ) ) {
|
23556 |
+
$url = $this->get_after_plugin_activation_redirect_url();
|
23557 |
|
23558 |
+
if ( is_string( $url ) ) {
|
23559 |
+
fs_redirect( $url );
|
23560 |
+
}
|
23561 |
}
|
23562 |
}
|
23563 |
|
23597 |
|
23598 |
foreach ( $this->_action_links as $new_links ) {
|
23599 |
foreach ( $new_links as $link ) {
|
23600 |
+
$before_deactivate[ $link['key'] ] = '<a href="' . $link['href'] . '"' . ( $link['external'] ? ' target="_blank" rel="noopener"' : '' ) . '>' . $link['label'] . '</a>';
|
23601 |
}
|
23602 |
}
|
23603 |
|
23717 |
'';
|
23718 |
|
23719 |
return sprintf(
|
23720 |
+
' %s: <ol><li>%s.</li>%s<li>%s (<a href="%s" target="_blank" rel="noopener">%s</a>).</li></ol>',
|
23721 |
$this->get_text_inline( 'Please follow these steps to complete the upgrade', 'follow-steps-to-complete-upgrade' ),
|
23722 |
( empty( $activate_license_string ) ? '' : $activate_license_string . '</li><li>' ) .
|
23723 |
$this->get_latest_download_link( sprintf(
|
23970 |
*/
|
23971 |
function set_plugin_upgrade_complete() {
|
23972 |
$this->_storage->plugin_upgrade_mode = false;
|
23973 |
+
|
23974 |
+
$license_migration = ! empty( $this->_storage->license_migration ) ?
|
23975 |
+
$this->_storage->license_migration :
|
23976 |
+
array();
|
23977 |
+
|
23978 |
+
$license_migration['is_migrating'] = false;
|
23979 |
+
|
23980 |
+
$this->_storage->license_migration = $license_migration;
|
23981 |
}
|
23982 |
|
23983 |
#endregion
|
24180 |
function _tabs_capture() {
|
24181 |
$this->_logger->entrance();
|
24182 |
|
24183 |
+
if ( ! $this->is_product_settings_page() ||
|
24184 |
! $this->is_matching_url( $this->main_menu_url() )
|
24185 |
) {
|
24186 |
return;
|
24235 |
function _store_tabs_styles() {
|
24236 |
$this->_logger->entrance();
|
24237 |
|
24238 |
+
if ( ! $this->is_product_settings_page() ||
|
24239 |
! $this->is_matching_url( $this->main_menu_url() )
|
24240 |
) {
|
24241 |
return;
|
24309 |
return false;
|
24310 |
}
|
24311 |
|
24312 |
+
if ( self::NAVIGATION_TABS !== $this->_navigation ) {
|
24313 |
// Only add tabs to themes for now.
|
24314 |
return false;
|
24315 |
}
|
24316 |
|
24317 |
+
if ( $this->is_theme() && ! $this->has_paid_plan() && ! $this->has_addons() ) {
|
24318 |
// Only add tabs to monetizing themes.
|
24319 |
return false;
|
24320 |
}
|
24321 |
|
24322 |
+
if ( ! $this->is_product_settings_page() ) {
|
24323 |
+
// Only add tabs if browsing one of the product's setting pages.
|
24324 |
+
return false;
|
24325 |
+
}
|
24326 |
+
|
24327 |
+
if ( $this->is_activation_mode() && $this->is_activation_page() ) {
|
24328 |
+
// Don't include tabs in the activation page.
|
24329 |
return false;
|
24330 |
}
|
24331 |
|
25012 |
}
|
25013 |
|
25014 |
$modules = array_merge(
|
25015 |
+
array_values( self::maybe_get_entities_account_option( 'plugins', array() ) ),
|
25016 |
+
array_values( self::maybe_get_entities_account_option( 'themes', array() ) )
|
25017 |
);
|
25018 |
|
25019 |
foreach ( $modules as $module ) {
|
25118 |
*
|
25119 |
* @author Vova Feldman (@svovaf)
|
25120 |
*/
|
25121 |
+
self::shoot_ajax_success( array(
|
25122 |
+
'is_marketing_allowed' => null,
|
25123 |
+
'license_owner_id' => null
|
25124 |
+
) );
|
25125 |
+
}
|
25126 |
+
|
25127 |
+
self::shoot_ajax_success( array(
|
25128 |
+
'is_marketing_allowed' => $user_plugins[0]->is_marketing_allowed,
|
25129 |
+
'license_owner_id' => ( isset( $user_plugins[0]->license_owner_id ) ? $user_plugins[0]->license_owner_id : null )
|
25130 |
+
) );
|
25131 |
+
}
|
25132 |
+
|
25133 |
+
/**
|
25134 |
+
* @author Leo Fajardo (@leorw)
|
25135 |
+
* @since 2.3.2
|
25136 |
+
*
|
25137 |
+
* @param number[] $install_ids
|
25138 |
+
*
|
25139 |
+
* @return array {
|
25140 |
+
* An array of objects containing the installs' licenses owners data.
|
25141 |
+
*
|
25142 |
+
* @property number $id User ID.
|
25143 |
+
* @property string $email User email (can be masked email).
|
25144 |
+
* }
|
25145 |
+
*/
|
25146 |
+
private function fetch_installs_licenses_owners_data( $install_ids ) {
|
25147 |
+
$this->_logger->entrance();
|
25148 |
+
|
25149 |
+
$response = $this->get_api_user_scope()->get(
|
25150 |
+
'/licenses_owners.json?install_ids=' . implode( ',', $install_ids )
|
25151 |
+
);
|
25152 |
+
|
25153 |
+
$license_owners = null;
|
25154 |
+
|
25155 |
+
if ( $this->is_api_result_object( $response, 'owners' ) ) {
|
25156 |
+
$license_owners = $response->owners;
|
25157 |
}
|
25158 |
|
25159 |
+
return $license_owners;
|
25160 |
}
|
25161 |
|
25162 |
/**
|
25192 |
}
|
25193 |
|
25194 |
$modules = array_merge(
|
25195 |
+
array_values( self::maybe_get_entities_account_option( 'plugins', array() ) ),
|
25196 |
+
array_values( self::maybe_get_entities_account_option( 'themes', array() ) )
|
25197 |
);
|
25198 |
|
25199 |
foreach ( $modules as $key => $module ) {
|
freemius/includes/class-fs-api.php
CHANGED
@@ -287,7 +287,7 @@
|
|
287 |
$this->_logger->warn( 'Fallback to cached API result: ' . var_export( $cached_result, true ) );
|
288 |
}
|
289 |
} else {
|
290 |
-
if ( is_object( $result ) && 404 == $result->error->http ) {
|
291 |
/**
|
292 |
* If the response code is 404, cache the result for half of the `$expiration`.
|
293 |
*
|
287 |
$this->_logger->warn( 'Fallback to cached API result: ' . var_export( $cached_result, true ) );
|
288 |
}
|
289 |
} else {
|
290 |
+
if ( is_object( $result ) && isset( $result->error->http ) && 404 == $result->error->http ) {
|
291 |
/**
|
292 |
* If the response code is 404, cache the result for half of the `$expiration`.
|
293 |
*
|
freemius/includes/class-fs-plugin-updater.php
CHANGED
@@ -102,7 +102,9 @@
|
|
102 |
'edit_and_echo_plugin_update_row'
|
103 |
), 11, 2 );
|
104 |
|
105 |
-
|
|
|
|
|
106 |
|
107 |
if ( ! WP_FS__IS_PRODUCTION_MODE ) {
|
108 |
add_filter( 'http_request_host_is_external', array(
|
@@ -238,6 +240,12 @@
|
|
238 |
* @since 2.0.0
|
239 |
*/
|
240 |
private function add_transient_filters() {
|
|
|
|
|
|
|
|
|
|
|
|
|
241 |
add_filter( 'pre_set_site_transient_update_plugins', array(
|
242 |
&$this,
|
243 |
'pre_set_site_transient_update_plugins_filter'
|
@@ -487,13 +495,35 @@
|
|
487 |
return $transient_data;
|
488 |
}
|
489 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
490 |
if ( ! isset( $this->_update_details ) ) {
|
491 |
// Get plugin's newest update.
|
492 |
$new_version = $this->_fs->get_update(
|
493 |
false,
|
494 |
fs_request_get_bool( 'force-check' ),
|
495 |
WP_FS__TIME_24_HOURS_IN_SEC / 24,
|
496 |
-
$
|
497 |
);
|
498 |
|
499 |
$this->_update_details = false;
|
@@ -512,23 +542,66 @@
|
|
512 |
}
|
513 |
}
|
514 |
|
|
|
|
|
|
|
515 |
if ( is_object( $this->_update_details ) ) {
|
|
|
|
|
|
|
|
|
516 |
if ( ! isset( $transient_data->response ) ) {
|
517 |
$transient_data->response = array();
|
518 |
}
|
519 |
|
520 |
// Add plugin to transient data.
|
521 |
-
$transient_data->response[ $
|
522 |
$this->_update_details :
|
523 |
(array) $this->_update_details;
|
524 |
-
} else
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
525 |
/**
|
526 |
-
*
|
527 |
*
|
528 |
-
* @
|
529 |
-
* @
|
530 |
*/
|
531 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
532 |
}
|
533 |
|
534 |
$slug = $this->_fs->get_slug();
|
102 |
'edit_and_echo_plugin_update_row'
|
103 |
), 11, 2 );
|
104 |
|
105 |
+
if ( ! $this->_fs->has_any_active_valid_license() ) {
|
106 |
+
add_action( 'admin_head', array( &$this, 'catch_plugin_information_dialog_contents' ) );
|
107 |
+
}
|
108 |
|
109 |
if ( ! WP_FS__IS_PRODUCTION_MODE ) {
|
110 |
add_filter( 'http_request_host_is_external', array(
|
240 |
* @since 2.0.0
|
241 |
*/
|
242 |
private function add_transient_filters() {
|
243 |
+
if ( $this->_fs->is_premium() && ! $this->_fs->is_tracking_allowed() ) {
|
244 |
+
$this->_logger->log( 'Opted out sites cannot receive automatic software updates.' );
|
245 |
+
|
246 |
+
return;
|
247 |
+
}
|
248 |
+
|
249 |
add_filter( 'pre_set_site_transient_update_plugins', array(
|
250 |
&$this,
|
251 |
'pre_set_site_transient_update_plugins_filter'
|
495 |
return $transient_data;
|
496 |
}
|
497 |
|
498 |
+
global $wp_current_filter;
|
499 |
+
|
500 |
+
$current_plugin_version = $this->_fs->get_plugin_version();
|
501 |
+
|
502 |
+
if ( ! empty( $wp_current_filter ) && 'upgrader_process_complete' === $wp_current_filter[0] ) {
|
503 |
+
if (
|
504 |
+
is_null( $this->_update_details ) ||
|
505 |
+
( is_object( $this->_update_details ) && $this->_update_details->new_version !== $current_plugin_version )
|
506 |
+
) {
|
507 |
+
/**
|
508 |
+
* After an update, clear the stored update details and reparse the plugin's main file in order to get
|
509 |
+
* the updated version's information and prevent the previous update information from showing up on the
|
510 |
+
* updates page.
|
511 |
+
*
|
512 |
+
* @author Leo Fajardo (@leorw)
|
513 |
+
* @since 2.3.1
|
514 |
+
*/
|
515 |
+
$this->_update_details = null;
|
516 |
+
$current_plugin_version = $this->_fs->get_plugin_version( true );
|
517 |
+
}
|
518 |
+
}
|
519 |
+
|
520 |
if ( ! isset( $this->_update_details ) ) {
|
521 |
// Get plugin's newest update.
|
522 |
$new_version = $this->_fs->get_update(
|
523 |
false,
|
524 |
fs_request_get_bool( 'force-check' ),
|
525 |
WP_FS__TIME_24_HOURS_IN_SEC / 24,
|
526 |
+
$current_plugin_version
|
527 |
);
|
528 |
|
529 |
$this->_update_details = false;
|
542 |
}
|
543 |
}
|
544 |
|
545 |
+
// Alias.
|
546 |
+
$basename = $this->_fs->premium_plugin_basename();
|
547 |
+
|
548 |
if ( is_object( $this->_update_details ) ) {
|
549 |
+
if ( isset( $transient_data->no_update ) ) {
|
550 |
+
unset( $transient_data->no_update[ $basename ] );
|
551 |
+
}
|
552 |
+
|
553 |
if ( ! isset( $transient_data->response ) ) {
|
554 |
$transient_data->response = array();
|
555 |
}
|
556 |
|
557 |
// Add plugin to transient data.
|
558 |
+
$transient_data->response[ $basename ] = $this->_fs->is_plugin() ?
|
559 |
$this->_update_details :
|
560 |
(array) $this->_update_details;
|
561 |
+
} else {
|
562 |
+
if ( isset( $transient_data->response ) ) {
|
563 |
+
/**
|
564 |
+
* Ensure that there's no update data for the plugin to prevent upgrading the premium version to the latest free version.
|
565 |
+
*
|
566 |
+
* @author Leo Fajardo (@leorw)
|
567 |
+
* @since 2.3.0
|
568 |
+
*/
|
569 |
+
unset( $transient_data->response[ $basename ] );
|
570 |
+
}
|
571 |
+
|
572 |
+
if ( ! isset( $transient_data->no_update ) ) {
|
573 |
+
$transient_data->no_update = array();
|
574 |
+
}
|
575 |
+
|
576 |
/**
|
577 |
+
* Add product to no_update transient data to properly integrate with WP 5.5 auto-updates UI.
|
578 |
*
|
579 |
+
* @since 2.4.1
|
580 |
+
* @link https://make.wordpress.org/core/2020/07/30/recommended-usage-of-the-updates-api-to-support-the-auto-updates-ui-for-plugins-and-themes-in-wordpress-5-5/
|
581 |
*/
|
582 |
+
$transient_data->no_update[ $basename ] = $this->_fs->is_plugin() ?
|
583 |
+
(object) array(
|
584 |
+
'id' => $basename,
|
585 |
+
'slug' => $this->_fs->get_slug(),
|
586 |
+
'plugin' => $basename,
|
587 |
+
'new_version' => $this->_fs->get_plugin_version(),
|
588 |
+
'url' => '',
|
589 |
+
'package' => '',
|
590 |
+
'icons' => array(),
|
591 |
+
'banners' => array(),
|
592 |
+
'banners_rtl' => array(),
|
593 |
+
'tested' => '',
|
594 |
+
'requires_php' => '',
|
595 |
+
'compatibility' => new stdClass(),
|
596 |
+
) :
|
597 |
+
array(
|
598 |
+
'theme' => $basename,
|
599 |
+
'new_version' => $this->_fs->get_plugin_version(),
|
600 |
+
'url' => '',
|
601 |
+
'package' => '',
|
602 |
+
'requires' => '',
|
603 |
+
'requires_php' => '',
|
604 |
+
);
|
605 |
}
|
606 |
|
607 |
$slug = $this->_fs->get_slug();
|
freemius/includes/class-fs-storage.php
CHANGED
@@ -336,57 +336,63 @@
|
|
336 |
private static function load_network_options_map() {
|
337 |
self::$_NETWORK_OPTIONS_MAP = array(
|
338 |
// Network level options.
|
339 |
-
'affiliate_application_data'
|
340 |
-
'beta_data'
|
341 |
-
'connectivity_test'
|
342 |
-
'handle_gdpr_admin_notice'
|
343 |
-
'has_trial_plan'
|
344 |
-
'install_sync_timestamp'
|
345 |
-
'install_sync_cron'
|
346 |
-
'is_anonymous_ms'
|
347 |
-
'is_network_activated'
|
348 |
-
'is_on'
|
349 |
-
'is_plugin_new_install'
|
350 |
-
'network_install_blog_id'
|
351 |
-
'pending_sites_info'
|
352 |
-
'plugin_last_version'
|
353 |
-
'plugin_main_file'
|
354 |
-
'plugin_version'
|
355 |
-
'sdk_downgrade_mode'
|
356 |
-
'sdk_last_version'
|
357 |
-
'sdk_upgrade_mode'
|
358 |
-
'sdk_version'
|
359 |
-
'sticky_optin_added_ms'
|
360 |
-
'subscriptions'
|
361 |
-
'sync_timestamp'
|
362 |
-
'sync_cron'
|
363 |
-
'was_plugin_loaded'
|
364 |
-
'network_user_id'
|
365 |
-
'plugin_upgrade_mode'
|
366 |
-
'plugin_downgrade_mode'
|
367 |
-
'is_network_connected'
|
368 |
/**
|
369 |
* Special flag that is used when a super-admin upgrades to the new version of the SDK that
|
370 |
* supports network level integration, when the connection decision wasn't made for all of the
|
371 |
* sites in the network.
|
372 |
*/
|
373 |
-
'is_network_activation'
|
|
|
374 |
|
375 |
// When network activated, then network level.
|
376 |
-
'install_timestamp'
|
377 |
-
'prev_is_premium'
|
378 |
-
'require_license_activation'
|
379 |
|
380 |
// If not network activated OR delegated, then site level.
|
381 |
-
'activation_timestamp'
|
382 |
-
'
|
383 |
-
'
|
384 |
-
'
|
385 |
-
'
|
386 |
-
'
|
|
|
|
|
|
|
|
|
|
|
387 |
|
388 |
// Site level options.
|
389 |
-
'is_anonymous'
|
390 |
);
|
391 |
}
|
392 |
|
336 |
private static function load_network_options_map() {
|
337 |
self::$_NETWORK_OPTIONS_MAP = array(
|
338 |
// Network level options.
|
339 |
+
'affiliate_application_data' => 0,
|
340 |
+
'beta_data' => 0,
|
341 |
+
'connectivity_test' => 0,
|
342 |
+
'handle_gdpr_admin_notice' => 0,
|
343 |
+
'has_trial_plan' => 0,
|
344 |
+
'install_sync_timestamp' => 0,
|
345 |
+
'install_sync_cron' => 0,
|
346 |
+
'is_anonymous_ms' => 0,
|
347 |
+
'is_network_activated' => 0,
|
348 |
+
'is_on' => 0,
|
349 |
+
'is_plugin_new_install' => 0,
|
350 |
+
'network_install_blog_id' => 0,
|
351 |
+
'pending_sites_info' => 0,
|
352 |
+
'plugin_last_version' => 0,
|
353 |
+
'plugin_main_file' => 0,
|
354 |
+
'plugin_version' => 0,
|
355 |
+
'sdk_downgrade_mode' => 0,
|
356 |
+
'sdk_last_version' => 0,
|
357 |
+
'sdk_upgrade_mode' => 0,
|
358 |
+
'sdk_version' => 0,
|
359 |
+
'sticky_optin_added_ms' => 0,
|
360 |
+
'subscriptions' => 0,
|
361 |
+
'sync_timestamp' => 0,
|
362 |
+
'sync_cron' => 0,
|
363 |
+
'was_plugin_loaded' => 0,
|
364 |
+
'network_user_id' => 0,
|
365 |
+
'plugin_upgrade_mode' => 0,
|
366 |
+
'plugin_downgrade_mode' => 0,
|
367 |
+
'is_network_connected' => 0,
|
368 |
/**
|
369 |
* Special flag that is used when a super-admin upgrades to the new version of the SDK that
|
370 |
* supports network level integration, when the connection decision wasn't made for all of the
|
371 |
* sites in the network.
|
372 |
*/
|
373 |
+
'is_network_activation' => 0,
|
374 |
+
'license_migration' => 0,
|
375 |
|
376 |
// When network activated, then network level.
|
377 |
+
'install_timestamp' => 1,
|
378 |
+
'prev_is_premium' => 1,
|
379 |
+
'require_license_activation' => 1,
|
380 |
|
381 |
// If not network activated OR delegated, then site level.
|
382 |
+
'activation_timestamp' => 2,
|
383 |
+
'expired_license_notice_shown' => 2,
|
384 |
+
'is_whitelabeled' => 2,
|
385 |
+
'last_license_key' => 2,
|
386 |
+
'last_license_user_id' => 2,
|
387 |
+
'prev_user_id' => 2,
|
388 |
+
'sticky_optin_added' => 2,
|
389 |
+
'uninstall_reason' => 2,
|
390 |
+
'is_pending_activation' => 2,
|
391 |
+
'pending_license_key' => 2,
|
392 |
+
'is_extensions_tracking_allowed' => 2,
|
393 |
|
394 |
// Site level options.
|
395 |
+
'is_anonymous' => 3,
|
396 |
);
|
397 |
}
|
398 |
|
freemius/includes/customizer/class-fs-customizer-support-section.php
CHANGED
@@ -87,10 +87,10 @@
|
|
87 |
<div class="button-group">
|
88 |
<# } #>
|
89 |
<# if ( data.contact ) { #>
|
90 |
-
<a class="button" href="{{ data.contact.url }}" target="_blank">{{ data.contact.label }} </a>
|
91 |
<# } #>
|
92 |
<# if ( data.support ) { #>
|
93 |
-
<a class="button" href="{{ data.support.url }}" target="_blank">{{ data.support.label }} </a>
|
94 |
<# } #>
|
95 |
<# if ( data.contact && data.support ) { #>
|
96 |
</div>
|
87 |
<div class="button-group">
|
88 |
<# } #>
|
89 |
<# if ( data.contact ) { #>
|
90 |
+
<a class="button" href="{{ data.contact.url }}" target="_blank" rel="noopener noreferrer">{{ data.contact.label }} </a>
|
91 |
<# } #>
|
92 |
<# if ( data.support ) { #>
|
93 |
+
<a class="button" href="{{ data.support.url }}" target="_blank" rel="noopener noreferrer">{{ data.support.label }} </a>
|
94 |
<# } #>
|
95 |
<# if ( data.contact && data.support ) { #>
|
96 |
</div>
|
freemius/includes/customizer/class-fs-customizer-upsell-control.php
CHANGED
@@ -58,8 +58,12 @@
|
|
58 |
$this->fs->get_trial_url() :
|
59 |
$this->fs->get_upgrade_url();
|
60 |
|
|
|
|
|
|
|
|
|
61 |
// Load features.
|
62 |
-
$pricing = $
|
63 |
|
64 |
if ( $this->fs->is_api_result_object( $pricing, 'plans' ) ) {
|
65 |
// Add support features.
|
58 |
$this->fs->get_trial_url() :
|
59 |
$this->fs->get_upgrade_url();
|
60 |
|
61 |
+
$api = FS_Plugin::is_valid_id( $this->fs->get_bundle_id() ) ?
|
62 |
+
$this->fs->get_api_bundle_scope() :
|
63 |
+
$this->fs->get_api_plugin_scope();
|
64 |
+
|
65 |
// Load features.
|
66 |
+
$pricing = $api->get( $this->fs->add_show_pending( "pricing.json" ) );
|
67 |
|
68 |
if ( $this->fs->is_api_result_object( $pricing, 'plans' ) ) {
|
69 |
// Add support features.
|
freemius/includes/entities/class-fs-entity.php
CHANGED
@@ -146,4 +146,14 @@
|
|
146 |
static function is_valid_id($id){
|
147 |
return is_numeric($id);
|
148 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
149 |
}
|
146 |
static function is_valid_id($id){
|
147 |
return is_numeric($id);
|
148 |
}
|
149 |
+
|
150 |
+
/**
|
151 |
+
* @author Leo Fajardo (@leorw)
|
152 |
+
* @since 2.3.1
|
153 |
+
*
|
154 |
+
* @return string
|
155 |
+
*/
|
156 |
+
public static function get_class_name() {
|
157 |
+
return get_called_class();
|
158 |
+
}
|
159 |
}
|
freemius/includes/entities/class-fs-payment.php
CHANGED
@@ -158,8 +158,8 @@
|
|
158 |
// Lazy load.
|
159 |
self::$CURRENCY_2_SYMBOL = array(
|
160 |
self::CURRENCY_USD => '$',
|
161 |
-
self::CURRENCY_GBP => '
|
162 |
-
self::CURRENCY_EUR => '
|
163 |
);
|
164 |
}
|
165 |
|
158 |
// Lazy load.
|
159 |
self::$CURRENCY_2_SYMBOL = array(
|
160 |
self::CURRENCY_USD => '$',
|
161 |
+
self::CURRENCY_GBP => '£',
|
162 |
+
self::CURRENCY_EUR => '€',
|
163 |
);
|
164 |
}
|
165 |
|
freemius/includes/entities/class-fs-plugin-license.php
CHANGED
@@ -50,6 +50,13 @@
|
|
50 |
* @var number
|
51 |
*/
|
52 |
public $parent_license_id;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
53 |
/**
|
54 |
* @var number
|
55 |
*/
|
@@ -74,6 +81,10 @@
|
|
74 |
* @var string
|
75 |
*/
|
76 |
public $secret_key;
|
|
|
|
|
|
|
|
|
77 |
/**
|
78 |
* @var bool $is_free_localhost Defaults to true. If true, allow unlimited localhost installs with the same
|
79 |
* license.
|
@@ -287,4 +298,33 @@
|
|
287 |
function total_activations() {
|
288 |
return ( $this->activated + $this->activated_local );
|
289 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
290 |
}
|
50 |
* @var number
|
51 |
*/
|
52 |
public $parent_license_id;
|
53 |
+
/**
|
54 |
+
* @author Leo Fajardo (@leorw)
|
55 |
+
* @since 2.4.0
|
56 |
+
*
|
57 |
+
* @var array
|
58 |
+
*/
|
59 |
+
public $products;
|
60 |
/**
|
61 |
* @var number
|
62 |
*/
|
81 |
* @var string
|
82 |
*/
|
83 |
public $secret_key;
|
84 |
+
/**
|
85 |
+
* @var bool
|
86 |
+
*/
|
87 |
+
public $is_whitelabeled;
|
88 |
/**
|
89 |
* @var bool $is_free_localhost Defaults to true. If true, allow unlimited localhost installs with the same
|
90 |
* license.
|
298 |
function total_activations() {
|
299 |
return ( $this->activated + $this->activated_local );
|
300 |
}
|
301 |
+
|
302 |
+
/**
|
303 |
+
* @author Vova Feldman (@svovaf)
|
304 |
+
* @since 2.3.1
|
305 |
+
*
|
306 |
+
* @return string
|
307 |
+
*/
|
308 |
+
function get_html_escaped_masked_secret_key() {
|
309 |
+
return self::mask_secret_key_for_html( $this->secret_key );
|
310 |
+
}
|
311 |
+
|
312 |
+
/**
|
313 |
+
* @author Vova Feldman (@svovaf)
|
314 |
+
* @since 2.3.1
|
315 |
+
*
|
316 |
+
* @param string $secret_key
|
317 |
+
*
|
318 |
+
* @return string
|
319 |
+
*/
|
320 |
+
static function mask_secret_key_for_html( $secret_key ) {
|
321 |
+
return (
|
322 |
+
// Initial 6 chars - sk_ABC
|
323 |
+
htmlspecialchars( substr( $secret_key, 0, 6 ) ) .
|
324 |
+
// Masking
|
325 |
+
str_pad( '', ( strlen( $secret_key ) - 9 ) * 6, '•' ) .
|
326 |
+
// Last 3 chars.
|
327 |
+
htmlspecialchars( substr( $secret_key, - 3 ) )
|
328 |
+
);
|
329 |
+
}
|
330 |
}
|
freemius/includes/entities/class-fs-plugin.php
CHANGED
@@ -99,6 +99,11 @@
|
|
99 |
* @var null|number
|
100 |
*/
|
101 |
public $bundle_id;
|
|
|
|
|
|
|
|
|
|
|
102 |
|
103 |
const AFFILIATE_MODERATION_CUSTOMERS = 'customers';
|
104 |
|
99 |
* @var null|number
|
100 |
*/
|
101 |
public $bundle_id;
|
102 |
+
/**
|
103 |
+
* @since 2.3.1
|
104 |
+
* @var null|string
|
105 |
+
*/
|
106 |
+
public $bundle_public_key;
|
107 |
|
108 |
const AFFILIATE_MODERATION_CUSTOMERS = 'customers';
|
109 |
|
freemius/includes/entities/class-fs-pricing.php
CHANGED
@@ -34,6 +34,13 @@
|
|
34 |
* @var null|float
|
35 |
*/
|
36 |
public $lifetime_price;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
|
38 |
#endregion Properties
|
39 |
|
@@ -138,4 +145,13 @@
|
|
138 |
return ( $this->monthly_price * 12 - $this->annual_price ) * ( $this->is_unlimited() ? 1 : $this->licenses );
|
139 |
}
|
140 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
141 |
}
|
34 |
* @var null|float
|
35 |
*/
|
36 |
public $lifetime_price;
|
37 |
+
/**
|
38 |
+
* @author Leo Fajardo (@leorw)
|
39 |
+
* @since 2.3.1
|
40 |
+
*
|
41 |
+
* @var string One of the following: `usd`, `gbp`, `eur`.
|
42 |
+
*/
|
43 |
+
public $currency;
|
44 |
|
45 |
#endregion Properties
|
46 |
|
145 |
return ( $this->monthly_price * 12 - $this->annual_price ) * ( $this->is_unlimited() ? 1 : $this->licenses );
|
146 |
}
|
147 |
|
148 |
+
/**
|
149 |
+
* @author Leo Fajardo (@leorw)
|
150 |
+
* @since 2.3.1
|
151 |
+
*
|
152 |
+
* @return bool
|
153 |
+
*/
|
154 |
+
function is_usd() {
|
155 |
+
return ( 'usd' === $this->currency );
|
156 |
+
}
|
157 |
}
|
freemius/includes/entities/class-fs-site.php
CHANGED
@@ -171,15 +171,18 @@
|
|
171 |
// WPEngine staging.
|
172 |
fs_ends_with( $subdomain, '.staging.wpengine.com' ) ||
|
173 |
fs_ends_with( $subdomain, '.dev.wpengine.com' ) ||
|
|
|
174 |
// Pantheon
|
175 |
-
( fs_ends_with($subdomain, 'pantheonsite.io') &&
|
176 |
-
(fs_starts_with($subdomain, 'test-') || fs_starts_with($subdomain, 'dev-'))) ||
|
177 |
// Cloudways
|
178 |
fs_ends_with( $subdomain, '.cloudwaysapps.com' ) ||
|
179 |
// Kinsta
|
180 |
-
(fs_ends_with($subdomain, '.kinsta.com')
|
181 |
// DesktopServer
|
182 |
-
fs_ends_with( $subdomain, '.dev.cc' )
|
|
|
|
|
183 |
);
|
184 |
}
|
185 |
|
171 |
// WPEngine staging.
|
172 |
fs_ends_with( $subdomain, '.staging.wpengine.com' ) ||
|
173 |
fs_ends_with( $subdomain, '.dev.wpengine.com' ) ||
|
174 |
+
fs_ends_with( $subdomain, '.wpengine.com' ) ||
|
175 |
// Pantheon
|
176 |
+
( fs_ends_with( $subdomain, 'pantheonsite.io' ) &&
|
177 |
+
( fs_starts_with( $subdomain, 'test-' ) || fs_starts_with( $subdomain, 'dev-' ) ) ) ||
|
178 |
// Cloudways
|
179 |
fs_ends_with( $subdomain, '.cloudwaysapps.com' ) ||
|
180 |
// Kinsta
|
181 |
+
( fs_starts_with( $subdomain, 'staging-' ) && ( fs_ends_with( $subdomain, '.kinsta.com' ) || fs_ends_with( $subdomain, '.kinsta.cloud' ) ) ) ||
|
182 |
// DesktopServer
|
183 |
+
fs_ends_with( $subdomain, '.dev.cc' ) ||
|
184 |
+
// Pressable
|
185 |
+
fs_ends_with( $subdomain, '.mystagingwebsite.com' )
|
186 |
);
|
187 |
}
|
188 |
|
freemius/includes/entities/class-fs-subscription.php
CHANGED
@@ -1,125 +1,147 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
|
13 |
-
|
14 |
|
15 |
-
|
16 |
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
77 |
|
78 |
-
|
79 |
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
* @author Vova Feldman (@svovaf)
|
110 |
-
* @since 1.0.9
|
111 |
-
*
|
112 |
-
* @return bool
|
113 |
-
*/
|
114 |
-
function is_first_payment_pending() {
|
115 |
-
return ( WP_FS__TIME_24_HOURS_IN_SEC >= strtotime( $this->next_payment ) - strtotime( $this->created ) );
|
116 |
-
}
|
117 |
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<?php
|
2 |
+
/**
|
3 |
+
* @package Freemius
|
4 |
+
* @copyright Copyright (c) 2015, Freemius, Inc.
|
5 |
+
* @license https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3
|
6 |
+
* @since 1.0.9
|
7 |
+
*/
|
8 |
|
9 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
10 |
+
exit;
|
11 |
+
}
|
12 |
|
13 |
+
class FS_Subscription extends FS_Entity {
|
14 |
|
15 |
+
#region Properties
|
16 |
|
17 |
+
/**
|
18 |
+
* @var number
|
19 |
+
*/
|
20 |
+
public $user_id;
|
21 |
+
/**
|
22 |
+
* @var number
|
23 |
+
*/
|
24 |
+
public $install_id;
|
25 |
+
/**
|
26 |
+
* @var number
|
27 |
+
*/
|
28 |
+
public $plan_id;
|
29 |
+
/**
|
30 |
+
* @var number
|
31 |
+
*/
|
32 |
+
public $license_id;
|
33 |
+
/**
|
34 |
+
* @var float
|
35 |
+
*/
|
36 |
+
public $total_gross;
|
37 |
+
/**
|
38 |
+
* @var float
|
39 |
+
*/
|
40 |
+
public $amount_per_cycle;
|
41 |
+
/**
|
42 |
+
* @var int # of months
|
43 |
+
*/
|
44 |
+
public $billing_cycle;
|
45 |
+
/**
|
46 |
+
* @var float
|
47 |
+
*/
|
48 |
+
public $outstanding_balance;
|
49 |
+
/**
|
50 |
+
* @var int
|
51 |
+
*/
|
52 |
+
public $failed_payments;
|
53 |
+
/**
|
54 |
+
* @var string
|
55 |
+
*/
|
56 |
+
public $gateway;
|
57 |
+
/**
|
58 |
+
* @var string
|
59 |
+
*/
|
60 |
+
public $external_id;
|
61 |
+
/**
|
62 |
+
* @var string|null
|
63 |
+
*/
|
64 |
+
public $trial_ends;
|
65 |
+
/**
|
66 |
+
* @var string|null Datetime of the next payment, or null if cancelled.
|
67 |
+
*/
|
68 |
+
public $next_payment;
|
69 |
+
/**
|
70 |
+
* @since 2.3.1
|
71 |
+
*
|
72 |
+
* @var string|null Datetime of the cancellation.
|
73 |
+
*/
|
74 |
+
public $canceled_at;
|
75 |
+
/**
|
76 |
+
* @var string|null
|
77 |
+
*/
|
78 |
+
public $vat_id;
|
79 |
+
/**
|
80 |
+
* @var string Two characters country code
|
81 |
+
*/
|
82 |
+
public $country_code;
|
83 |
|
84 |
+
#endregion Properties
|
85 |
|
86 |
+
/**
|
87 |
+
* @param object|bool $subscription
|
88 |
+
*/
|
89 |
+
function __construct( $subscription = false ) {
|
90 |
+
parent::__construct( $subscription );
|
91 |
+
}
|
92 |
|
93 |
+
static function get_type() {
|
94 |
+
return 'subscription';
|
95 |
+
}
|
96 |
|
97 |
+
/**
|
98 |
+
* Check if subscription is active.
|
99 |
+
*
|
100 |
+
* @author Vova Feldman (@svovaf)
|
101 |
+
* @since 1.0.9
|
102 |
+
*
|
103 |
+
* @return bool
|
104 |
+
*/
|
105 |
+
function is_active() {
|
106 |
+
if ( $this->is_canceled() ) {
|
107 |
+
return false;
|
108 |
+
}
|
109 |
|
110 |
+
return (
|
111 |
+
! empty( $this->next_payment ) &&
|
112 |
+
strtotime( $this->next_payment ) > WP_FS__SCRIPT_START_TIME
|
113 |
+
);
|
114 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
115 |
|
116 |
+
/**
|
117 |
+
* @author Vova Feldman (@svovaf)
|
118 |
+
* @since 2.3.1
|
119 |
+
*
|
120 |
+
* @return bool
|
121 |
+
*/
|
122 |
+
function is_canceled() {
|
123 |
+
return ! is_null( $this->canceled_at );
|
124 |
+
}
|
125 |
+
|
126 |
+
/**
|
127 |
+
* Subscription considered to be new without any payments
|
128 |
+
* if the next payment should be made within less than 24 hours
|
129 |
+
* from the subscription creation.
|
130 |
+
*
|
131 |
+
* @author Vova Feldman (@svovaf)
|
132 |
+
* @since 1.0.9
|
133 |
+
*
|
134 |
+
* @return bool
|
135 |
+
*/
|
136 |
+
function is_first_payment_pending() {
|
137 |
+
return ( WP_FS__TIME_24_HOURS_IN_SEC >= strtotime( $this->next_payment ) - strtotime( $this->created ) );
|
138 |
+
}
|
139 |
+
|
140 |
+
/**
|
141 |
+
* @author Vova Feldman (@svovaf)
|
142 |
+
* @since 1.1.7
|
143 |
+
*/
|
144 |
+
function has_trial() {
|
145 |
+
return ! is_null( $this->trial_ends );
|
146 |
+
}
|
147 |
+
}
|
freemius/includes/fs-core-functions.php
CHANGED
@@ -63,62 +63,70 @@
|
|
63 |
/* Scripts and styles including.
|
64 |
--------------------------------------------------------------------------------------------*/
|
65 |
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
$wp_plugins_dir = fs_normalize_path( WP_PLUGIN_DIR );
|
96 |
-
if ( 0 === strpos( $asset_abs_path, $wp_plugins_dir ) ) {
|
97 |
-
// Try to handle plugin assets that may be located in a non-standard plugins directory.
|
98 |
-
$asset_rel_path = str_replace( $wp_plugins_dir, '', $asset_abs_path );
|
99 |
-
$asset_url = plugins_url( fs_normalize_path( $asset_rel_path ) );
|
100 |
} else {
|
101 |
-
|
102 |
-
$
|
103 |
-
|
104 |
-
|
105 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
106 |
}
|
107 |
-
}
|
108 |
|
109 |
-
|
|
|
110 |
}
|
111 |
|
112 |
-
|
113 |
-
|
|
|
|
|
114 |
}
|
115 |
|
116 |
-
|
117 |
-
|
|
|
|
|
118 |
}
|
119 |
|
120 |
-
|
121 |
-
|
|
|
|
|
122 |
}
|
123 |
|
124 |
#--------------------------------------------------------------------------------
|
@@ -315,138 +323,191 @@
|
|
315 |
|
316 |
/* Core UI.
|
317 |
--------------------------------------------------------------------------------------------*/
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
$page,
|
336 |
-
$action,
|
337 |
-
$title,
|
338 |
-
$button_class = '',
|
339 |
-
$params = array(),
|
340 |
-
$is_primary = true,
|
341 |
-
$is_small = false,
|
342 |
-
$icon_class = false,
|
343 |
-
$confirmation = false,
|
344 |
-
$method = 'GET'
|
345 |
-
) {
|
346 |
-
echo fs_ui_get_action_button(
|
347 |
$module_id,
|
348 |
$page,
|
349 |
$action,
|
350 |
$title,
|
351 |
-
$button_class,
|
352 |
-
$params,
|
353 |
-
$is_primary,
|
354 |
-
$is_small,
|
355 |
-
$icon_class,
|
356 |
-
$confirmation,
|
357 |
-
$method
|
358 |
-
)
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
* @author Vova Feldman (@svovaf)
|
363 |
-
* @since 1.1.7
|
364 |
-
*
|
365 |
-
* @param number $module_id
|
366 |
-
* @param string $page
|
367 |
-
* @param string $action
|
368 |
-
* @param string $title
|
369 |
-
* @param string $button_class
|
370 |
-
* @param array $params
|
371 |
-
* @param bool $is_primary
|
372 |
-
* @param bool $is_small
|
373 |
-
* @param string|bool $icon_class Optional class for an icon.
|
374 |
-
* @param string|bool $confirmation Optional confirmation message before submit.
|
375 |
-
* @param string $method
|
376 |
-
*
|
377 |
-
* @return string
|
378 |
-
*/
|
379 |
-
function fs_ui_get_action_button(
|
380 |
-
$module_id,
|
381 |
-
$page,
|
382 |
-
$action,
|
383 |
-
$title,
|
384 |
-
$button_class = '',
|
385 |
-
$params = array(),
|
386 |
-
$is_primary = true,
|
387 |
-
$is_small = false,
|
388 |
-
$icon_class = false,
|
389 |
-
$confirmation = false,
|
390 |
-
$method = 'GET'
|
391 |
-
) {
|
392 |
-
// Prepend icon (if set).
|
393 |
-
$title = ( is_string( $icon_class ) ? '<i class="' . $icon_class . '"></i> ' : '' ) . $title;
|
394 |
-
|
395 |
-
if ( is_string( $confirmation ) ) {
|
396 |
-
return sprintf( '<form action="%s" method="%s"><input type="hidden" name="fs_action" value="%s">%s<a href="#" class="%s" onclick="if (confirm(\'%s\')) this.parentNode.submit(); return false;">%s</a></form>',
|
397 |
-
freemius( $module_id )->_get_admin_page_url( $page, $params ),
|
398 |
-
$method,
|
399 |
$action,
|
400 |
-
|
401 |
-
|
|
|
|
|
|
|
|
|
402 |
$confirmation,
|
403 |
-
$
|
404 |
-
);
|
405 |
-
} else if ( 'GET' !== strtoupper( $method ) ) {
|
406 |
-
return sprintf( '<form action="%s" method="%s"><input type="hidden" name="fs_action" value="%s">%s<a href="#" class="%s" onclick="this.parentNode.submit(); return false;">%s</a></form>',
|
407 |
-
freemius( $module_id )->_get_admin_page_url( $page, $params ),
|
408 |
-
$method,
|
409 |
-
$action,
|
410 |
-
wp_nonce_field( $action, '_wpnonce', true, false ),
|
411 |
-
'button' . ( ! empty( $button_class ) ? ' ' . $button_class : '' ) . ( $is_primary ? ' button-primary' : '' ) . ( $is_small ? ' button-small' : '' ),
|
412 |
-
$title
|
413 |
-
);
|
414 |
-
} else {
|
415 |
-
return sprintf( '<a href="%s" class="%s">%s</a></form>',
|
416 |
-
wp_nonce_url( freemius( $module_id )->_get_admin_page_url( $page, array_merge( $params, array( 'fs_action' => $action ) ) ), $action ),
|
417 |
-
'button' . ( ! empty( $button_class ) ? ' ' . $button_class : '' ) . ( $is_primary ? ' button-primary' : '' ) . ( $is_small ? ' button-small' : '' ),
|
418 |
-
$title
|
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 |
-
// break;
|
446 |
-
// }
|
447 |
}
|
448 |
|
449 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
450 |
|
451 |
if ( ! function_exists( 'fs_nonce_url' ) ) {
|
452 |
/**
|
@@ -634,71 +695,75 @@
|
|
634 |
|
635 |
#endregion Url Canonization ------------------------------------------------------------------
|
636 |
|
637 |
-
|
638 |
-
|
639 |
-
|
640 |
-
|
641 |
-
|
642 |
-
|
643 |
-
|
644 |
-
|
645 |
-
|
646 |
-
|
647 |
-
|
648 |
-
|
|
|
649 |
|
650 |
-
|
651 |
-
|
652 |
-
|
653 |
|
654 |
-
|
655 |
-
|
656 |
-
|
657 |
-
|
658 |
|
659 |
-
|
660 |
-
|
661 |
|
662 |
-
|
663 |
-
|
664 |
-
|
665 |
-
|
666 |
|
667 |
-
|
668 |
-
|
669 |
|
670 |
-
|
|
|
671 |
}
|
672 |
|
673 |
/* General Utilities
|
674 |
--------------------------------------------------------------------------------------------*/
|
675 |
|
676 |
-
|
677 |
-
|
678 |
-
|
679 |
-
|
680 |
-
|
681 |
-
|
682 |
-
|
683 |
-
|
684 |
-
|
685 |
-
|
686 |
-
|
687 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
688 |
|
689 |
-
|
690 |
-
|
691 |
-
return 1;
|
692 |
-
} // If b has a priority and a does not, b wins.
|
693 |
-
elseif ( isset( $a['priority'] ) && ! isset( $b['priority'] ) ) {
|
694 |
-
return - 1;
|
695 |
-
} // If neither has a priority or both priorities are equal its a tie.
|
696 |
-
elseif ( ( ! isset( $a['priority'] ) && ! isset( $b['priority'] ) ) || $a['priority'] === $b['priority'] ) {
|
697 |
-
return 0;
|
698 |
}
|
699 |
-
|
700 |
-
// If both have priority return the winner.
|
701 |
-
return ( $a['priority'] < $b['priority'] ) ? - 1 : 1;
|
702 |
}
|
703 |
|
704 |
#--------------------------------------------------------------------------------
|
63 |
/* Scripts and styles including.
|
64 |
--------------------------------------------------------------------------------------------*/
|
65 |
|
66 |
+
if ( ! function_exists( 'fs_asset_url' ) ) {
|
67 |
+
/**
|
68 |
+
* Generates an absolute URL to the given path. This function ensures that the URL will be correct whether the asset
|
69 |
+
* is inside a plugin's folder or a theme's folder.
|
70 |
+
*
|
71 |
+
* Examples:
|
72 |
+
* 1. "themes" folder
|
73 |
+
* Path: C:/xampp/htdocs/fswp/wp-content/themes/twentytwelve/freemius/assets/css/admin/common.css
|
74 |
+
* URL: http://fswp:8080/wp-content/themes/twentytwelve/freemius/assets/css/admin/common.css
|
75 |
+
*
|
76 |
+
* 2. "plugins" folder
|
77 |
+
* Path: C:/xampp/htdocs/fswp/wp-content/plugins/rating-widget-premium/freemius/assets/css/admin/common.css
|
78 |
+
* URL: http://fswp:8080/wp-content/plugins/rating-widget-premium/freemius/assets/css/admin/common.css
|
79 |
+
*
|
80 |
+
* @author Leo Fajardo (@leorw)
|
81 |
+
* @since 1.2.2
|
82 |
+
*
|
83 |
+
* @param string $asset_abs_path Asset's absolute path.
|
84 |
+
*
|
85 |
+
* @return string Asset's URL.
|
86 |
+
*/
|
87 |
+
function fs_asset_url( $asset_abs_path ) {
|
88 |
+
$wp_content_dir = fs_normalize_path( WP_CONTENT_DIR );
|
89 |
+
$asset_abs_path = fs_normalize_path( $asset_abs_path );
|
90 |
+
|
91 |
+
if ( 0 === strpos( $asset_abs_path, $wp_content_dir ) ) {
|
92 |
+
// Handle both theme and plugin assets located in the standard directories.
|
93 |
+
$asset_rel_path = str_replace( $wp_content_dir, '', $asset_abs_path );
|
94 |
+
$asset_url = content_url( fs_normalize_path( $asset_rel_path ) );
|
|
|
|
|
|
|
|
|
|
|
95 |
} else {
|
96 |
+
$wp_plugins_dir = fs_normalize_path( WP_PLUGIN_DIR );
|
97 |
+
if ( 0 === strpos( $asset_abs_path, $wp_plugins_dir ) ) {
|
98 |
+
// Try to handle plugin assets that may be located in a non-standard plugins directory.
|
99 |
+
$asset_rel_path = str_replace( $wp_plugins_dir, '', $asset_abs_path );
|
100 |
+
$asset_url = plugins_url( fs_normalize_path( $asset_rel_path ) );
|
101 |
+
} else {
|
102 |
+
// Try to handle theme assets that may be located in a non-standard themes directory.
|
103 |
+
$active_theme_stylesheet = get_stylesheet();
|
104 |
+
$wp_themes_dir = fs_normalize_path( trailingslashit( get_theme_root( $active_theme_stylesheet ) ) );
|
105 |
+
$asset_rel_path = str_replace( $wp_themes_dir, '', fs_normalize_path( $asset_abs_path ) );
|
106 |
+
$asset_url = trailingslashit( get_theme_root_uri( $active_theme_stylesheet ) ) . fs_normalize_path( $asset_rel_path );
|
107 |
+
}
|
108 |
}
|
|
|
109 |
|
110 |
+
return $asset_url;
|
111 |
+
}
|
112 |
}
|
113 |
|
114 |
+
if ( ! function_exists( 'fs_enqueue_local_style' ) ) {
|
115 |
+
function fs_enqueue_local_style( $handle, $path, $deps = array(), $ver = false, $media = 'all' ) {
|
116 |
+
wp_enqueue_style( $handle, fs_asset_url( WP_FS__DIR_CSS . '/' . trim( $path, '/' ) ), $deps, $ver, $media );
|
117 |
+
}
|
118 |
}
|
119 |
|
120 |
+
if ( ! function_exists( 'fs_enqueue_local_script' ) ) {
|
121 |
+
function fs_enqueue_local_script( $handle, $path, $deps = array(), $ver = false, $in_footer = 'all' ) {
|
122 |
+
wp_enqueue_script( $handle, fs_asset_url( WP_FS__DIR_JS . '/' . trim( $path, '/' ) ), $deps, $ver, $in_footer );
|
123 |
+
}
|
124 |
}
|
125 |
|
126 |
+
if ( ! function_exists( 'fs_img_url' ) ) {
|
127 |
+
function fs_img_url( $path, $img_dir = WP_FS__DIR_IMG ) {
|
128 |
+
return ( fs_asset_url( $img_dir . '/' . trim( $path, '/' ) ) );
|
129 |
+
}
|
130 |
}
|
131 |
|
132 |
#--------------------------------------------------------------------------------
|
323 |
|
324 |
/* Core UI.
|
325 |
--------------------------------------------------------------------------------------------*/
|
326 |
+
if ( ! function_exists( 'fs_ui_action_button' ) ) {
|
327 |
+
/**
|
328 |
+
* @param number $module_id
|
329 |
+
* @param string $page
|
330 |
+
* @param string $action
|
331 |
+
* @param string $title
|
332 |
+
* @param string $button_class
|
333 |
+
* @param array $params
|
334 |
+
* @param bool $is_primary
|
335 |
+
* @param bool $is_small
|
336 |
+
* @param string|bool $icon_class Optional class for an icon (since 1.1.7).
|
337 |
+
* @param string|bool $confirmation Optional confirmation message before submit (since 1.1.7).
|
338 |
+
* @param string $method Since 1.1.7
|
339 |
+
*
|
340 |
+
* @uses fs_ui_get_action_button()
|
341 |
+
*/
|
342 |
+
function fs_ui_action_button(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
343 |
$module_id,
|
344 |
$page,
|
345 |
$action,
|
346 |
$title,
|
347 |
+
$button_class = '',
|
348 |
+
$params = array(),
|
349 |
+
$is_primary = true,
|
350 |
+
$is_small = false,
|
351 |
+
$icon_class = false,
|
352 |
+
$confirmation = false,
|
353 |
+
$method = 'GET'
|
354 |
+
) {
|
355 |
+
echo fs_ui_get_action_button(
|
356 |
+
$module_id,
|
357 |
+
$page,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
358 |
$action,
|
359 |
+
$title,
|
360 |
+
$button_class,
|
361 |
+
$params,
|
362 |
+
$is_primary,
|
363 |
+
$is_small,
|
364 |
+
$icon_class,
|
365 |
$confirmation,
|
366 |
+
$method
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
367 |
);
|
368 |
}
|
369 |
}
|
370 |
|
371 |
+
if ( ! function_exists( 'fs_ui_get_action_button' ) ) {
|
372 |
+
/**
|
373 |
+
* @author Vova Feldman (@svovaf)
|
374 |
+
* @since 1.1.7
|
375 |
+
*
|
376 |
+
* @param number $module_id
|
377 |
+
* @param string $page
|
378 |
+
* @param string $action
|
379 |
+
* @param string $title
|
380 |
+
* @param string $button_class
|
381 |
+
* @param array $params
|
382 |
+
* @param bool $is_primary
|
383 |
+
* @param bool $is_small
|
384 |
+
* @param string|bool $icon_class Optional class for an icon.
|
385 |
+
* @param string|bool $confirmation Optional confirmation message before submit.
|
386 |
+
* @param string $method
|
387 |
+
*
|
388 |
+
* @return string
|
389 |
+
*/
|
390 |
+
function fs_ui_get_action_button(
|
391 |
+
$module_id,
|
392 |
+
$page,
|
393 |
+
$action,
|
394 |
+
$title,
|
395 |
+
$button_class = '',
|
396 |
+
$params = array(),
|
397 |
+
$is_primary = true,
|
398 |
+
$is_small = false,
|
399 |
+
$icon_class = false,
|
400 |
+
$confirmation = false,
|
401 |
+
$method = 'GET'
|
402 |
+
) {
|
403 |
+
// Prepend icon (if set).
|
404 |
+
$title = ( is_string( $icon_class ) ? '<i class="' . $icon_class . '"></i> ' : '' ) . $title;
|
405 |
+
|
406 |
+
if ( is_string( $confirmation ) ) {
|
407 |
+
return sprintf( '<form action="%s" method="%s"><input type="hidden" name="fs_action" value="%s">%s<a href="#" class="%s" onclick="if (confirm(\'%s\')) this.parentNode.submit(); return false;">%s</a></form>',
|
408 |
+
freemius( $module_id )->_get_admin_page_url( $page, $params ),
|
409 |
+
$method,
|
410 |
+
$action,
|
411 |
+
wp_nonce_field( $action, '_wpnonce', true, false ),
|
412 |
+
'button' . ( ! empty( $button_class ) ? ' ' . $button_class : '' ) . ( $is_primary ? ' button-primary' : '' ) . ( $is_small ? ' button-small' : '' ),
|
413 |
+
$confirmation,
|
414 |
+
$title
|
415 |
+
);
|
416 |
+
} else if ( 'GET' !== strtoupper( $method ) ) {
|
417 |
+
return sprintf( '<form action="%s" method="%s"><input type="hidden" name="fs_action" value="%s">%s<a href="#" class="%s" onclick="this.parentNode.submit(); return false;">%s</a></form>',
|
418 |
+
freemius( $module_id )->_get_admin_page_url( $page, $params ),
|
419 |
+
$method,
|
420 |
+
$action,
|
421 |
+
wp_nonce_field( $action, '_wpnonce', true, false ),
|
422 |
+
'button' . ( ! empty( $button_class ) ? ' ' . $button_class : '' ) . ( $is_primary ? ' button-primary' : '' ) . ( $is_small ? ' button-small' : '' ),
|
423 |
+
$title
|
424 |
+
);
|
425 |
+
} else {
|
426 |
+
return sprintf( '<a href="%s" class="%s">%s</a></form>',
|
427 |
+
wp_nonce_url( freemius( $module_id )->_get_admin_page_url( $page, array_merge( $params, array( 'fs_action' => $action ) ) ), $action ),
|
428 |
+
'button' . ( ! empty( $button_class ) ? ' ' . $button_class : '' ) . ( $is_primary ? ' button-primary' : '' ) . ( $is_small ? ' button-small' : '' ),
|
429 |
+
$title
|
430 |
+
);
|
431 |
+
}
|
432 |
+
}
|
433 |
+
|
434 |
+
function fs_ui_action_link( $module_id, $page, $action, $title, $params = array() ) {
|
435 |
+
?><a class=""
|
436 |
+
href="<?php echo wp_nonce_url( freemius( $module_id )->_get_admin_page_url( $page, array_merge( $params, array( 'fs_action' => $action ) ) ), $action ) ?>"><?php echo $title ?></a><?php
|
437 |
+
}
|
438 |
}
|
439 |
|
440 |
+
if ( ! function_exists( 'fs_get_entity' ) ) {
|
441 |
+
/**
|
442 |
+
* @author Leo Fajardo (@leorw)
|
443 |
+
* @since 2.3.1
|
444 |
+
*
|
445 |
+
* @param mixed $entity
|
446 |
+
* @param string $class
|
447 |
+
*
|
448 |
+
* @return FS_Plugin|FS_User|FS_Site|FS_Plugin_License|FS_Plugin_Plan|FS_Plugin_Tag|FS_Subscription
|
449 |
+
*/
|
450 |
+
function fs_get_entity( $entity, $class ) {
|
451 |
+
if ( ! is_object( $entity ) || $entity instanceof $class ) {
|
452 |
+
return $entity;
|
453 |
+
}
|
454 |
+
|
455 |
+
return new $class( $entity );
|
456 |
+
}
|
|
|
|
|
457 |
}
|
458 |
|
459 |
+
if ( ! function_exists( 'fs_get_entities' ) ) {
|
460 |
+
/**
|
461 |
+
* @author Leo Fajardo (@leorw)
|
462 |
+
* @since 2.3.1
|
463 |
+
*
|
464 |
+
* @param mixed $entities
|
465 |
+
* @param string $class_name
|
466 |
+
*
|
467 |
+
* @return FS_Plugin[]|FS_User[]|FS_Site[]|FS_Plugin_License[]|FS_Plugin_Plan[]|FS_Plugin_Tag[]|FS_Subscription[]
|
468 |
+
*/
|
469 |
+
function fs_get_entities( $entities, $class_name ) {
|
470 |
+
if ( ! is_array( $entities ) || empty( $entities ) ) {
|
471 |
+
return $entities;
|
472 |
+
}
|
473 |
+
|
474 |
+
// Get first element.
|
475 |
+
$first_array_element = reset( $entities );
|
476 |
+
|
477 |
+
if ( $first_array_element instanceof $class_name ) {
|
478 |
+
/**
|
479 |
+
* If the first element of the array is an instance of the context class, assume that all other
|
480 |
+
* elements are instances of the class.
|
481 |
+
*/
|
482 |
+
return $entities;
|
483 |
+
}
|
484 |
+
|
485 |
+
if (
|
486 |
+
is_array( $first_array_element ) &&
|
487 |
+
! empty( $first_array_element )
|
488 |
+
) {
|
489 |
+
$first_array_element = reset( $first_array_element );
|
490 |
+
|
491 |
+
if ( $first_array_element instanceof $class_name ) {
|
492 |
+
/**
|
493 |
+
* If the first element of the `$entities` array is an array whose first element is an instance of the
|
494 |
+
* context class, assume that all other objects are instances of the class.
|
495 |
+
*/
|
496 |
+
return $entities;
|
497 |
+
}
|
498 |
+
}
|
499 |
+
|
500 |
+
foreach ( $entities as $key => $entities_or_entity ) {
|
501 |
+
if ( is_array( $entities_or_entity ) ) {
|
502 |
+
$entities[ $key ] = fs_get_entities( $entities_or_entity, $class_name );
|
503 |
+
} else {
|
504 |
+
$entities[ $key ] = fs_get_entity( $entities_or_entity, $class_name );
|
505 |
+
}
|
506 |
+
}
|
507 |
+
|
508 |
+
return $entities;
|
509 |
+
}
|
510 |
+
}
|
511 |
|
512 |
if ( ! function_exists( 'fs_nonce_url' ) ) {
|
513 |
/**
|
695 |
|
696 |
#endregion Url Canonization ------------------------------------------------------------------
|
697 |
|
698 |
+
if ( ! function_exists( 'fs_download_image' ) ) {
|
699 |
+
/**
|
700 |
+
* @author Vova Feldman (@svovaf)
|
701 |
+
*
|
702 |
+
* @since 1.2.2 Changed to usage of WP_Filesystem_Direct.
|
703 |
+
*
|
704 |
+
* @param string $from URL
|
705 |
+
* @param string $to File path.
|
706 |
+
*
|
707 |
+
* @return bool Is successfully downloaded.
|
708 |
+
*/
|
709 |
+
function fs_download_image( $from, $to ) {
|
710 |
+
$dir = dirname( $to );
|
711 |
|
712 |
+
if ( 'direct' !== get_filesystem_method( array(), $dir ) ) {
|
713 |
+
return false;
|
714 |
+
}
|
715 |
|
716 |
+
if ( ! class_exists( 'WP_Filesystem_Direct' ) ) {
|
717 |
+
require_once ABSPATH . 'wp-admin/includes/class-wp-filesystem-base.php';
|
718 |
+
require_once ABSPATH . 'wp-admin/includes/class-wp-filesystem-direct.php';
|
719 |
+
}
|
720 |
|
721 |
+
$fs = new WP_Filesystem_Direct( '' );
|
722 |
+
$tmpfile = download_url( $from );
|
723 |
|
724 |
+
if ( $tmpfile instanceof WP_Error ) {
|
725 |
+
// Issue downloading the file.
|
726 |
+
return false;
|
727 |
+
}
|
728 |
|
729 |
+
$fs->copy( $tmpfile, $to );
|
730 |
+
$fs->delete( $tmpfile );
|
731 |
|
732 |
+
return true;
|
733 |
+
}
|
734 |
}
|
735 |
|
736 |
/* General Utilities
|
737 |
--------------------------------------------------------------------------------------------*/
|
738 |
|
739 |
+
if ( ! function_exists( 'fs_sort_by_priority' ) ) {
|
740 |
+
/**
|
741 |
+
* Sorts an array by the value of the priority key.
|
742 |
+
*
|
743 |
+
* @author Daniel Iser (@danieliser)
|
744 |
+
* @since 1.1.7
|
745 |
+
*
|
746 |
+
* @param $a
|
747 |
+
* @param $b
|
748 |
+
*
|
749 |
+
* @return int
|
750 |
+
*/
|
751 |
+
function fs_sort_by_priority( $a, $b ) {
|
752 |
+
|
753 |
+
// If b has a priority and a does not, b wins.
|
754 |
+
if ( ! isset( $a['priority'] ) && isset( $b['priority'] ) ) {
|
755 |
+
return 1;
|
756 |
+
} // If b has a priority and a does not, b wins.
|
757 |
+
elseif ( isset( $a['priority'] ) && ! isset( $b['priority'] ) ) {
|
758 |
+
return - 1;
|
759 |
+
} // If neither has a priority or both priorities are equal its a tie.
|
760 |
+
elseif ( ( ! isset( $a['priority'] ) && ! isset( $b['priority'] ) ) || $a['priority'] === $b['priority'] ) {
|
761 |
+
return 0;
|
762 |
+
}
|
763 |
|
764 |
+
// If both have priority return the winner.
|
765 |
+
return ( $a['priority'] < $b['priority'] ) ? - 1 : 1;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
766 |
}
|
|
|
|
|
|
|
767 |
}
|
768 |
|
769 |
#--------------------------------------------------------------------------------
|
freemius/includes/fs-essential-functions.php
CHANGED
@@ -344,7 +344,11 @@
|
|
344 |
}
|
345 |
|
346 |
if ( ! isset( $newest_sdk->type ) || 'theme' !== $newest_sdk->type ) {
|
347 |
-
|
|
|
|
|
|
|
|
|
348 |
} else {
|
349 |
$theme = wp_get_theme();
|
350 |
$in_activation = ( $newest_sdk->plugin_path == $theme->stylesheet );
|
@@ -376,45 +380,62 @@
|
|
376 |
global $fs_active_plugins;
|
377 |
|
378 |
/**
|
379 |
-
* @todo Multi-site network activated plugin are always loaded prior to site plugins so if there's a
|
380 |
*
|
381 |
* @link https://github.com/Freemius/wordpress-sdk/issues/26
|
382 |
*/
|
383 |
|
384 |
$newest_sdk_plugin_path = $fs_active_plugins->newest->plugin_path;
|
385 |
|
386 |
-
$active_plugins
|
387 |
-
$
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
394 |
|
395 |
-
|
396 |
-
|
|
|
|
|
|
|
397 |
|
398 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
399 |
|
400 |
return true;
|
401 |
-
}
|
|
|
|
|
402 |
// Plugin is network active.
|
403 |
$network_active_plugins = get_site_option( 'active_sitewide_plugins', array() );
|
404 |
|
405 |
-
if (isset($network_active_plugins[$newest_sdk_plugin_path])) {
|
406 |
-
reset($network_active_plugins);
|
407 |
-
if ( $newest_sdk_plugin_path === key($network_active_plugins) ) {
|
408 |
// Plugin is already activated first on the network level.
|
409 |
return false;
|
410 |
-
} else
|
411 |
-
$time = $network_active_plugins[$newest_sdk_plugin_path];
|
412 |
|
413 |
// Remove plugin from its current position.
|
414 |
-
unset($network_active_plugins[$newest_sdk_plugin_path]);
|
415 |
|
416 |
// Set it to be included first.
|
417 |
-
$network_active_plugins = array($newest_sdk_plugin_path => $time) + $network_active_plugins;
|
418 |
|
419 |
update_site_option( 'active_sitewide_plugins', $network_active_plugins );
|
420 |
|
344 |
}
|
345 |
|
346 |
if ( ! isset( $newest_sdk->type ) || 'theme' !== $newest_sdk->type ) {
|
347 |
+
if ( ! function_exists( 'is_plugin_active' ) ) {
|
348 |
+
require_once ABSPATH . 'wp-admin/includes/plugin.php';
|
349 |
+
}
|
350 |
+
|
351 |
+
$in_activation = ( ! is_plugin_active( $plugin_file ) );
|
352 |
} else {
|
353 |
$theme = wp_get_theme();
|
354 |
$in_activation = ( $newest_sdk->plugin_path == $theme->stylesheet );
|
380 |
global $fs_active_plugins;
|
381 |
|
382 |
/**
|
383 |
+
* @todo Multi-site network activated plugin are always loaded prior to site plugins so if there's a plugin activated in the network mode that has an older version of the SDK of another plugin which is site activated that has new SDK version, the fs-essential-functions.php will be loaded from the older SDK. Same thing about MU plugins (loaded even before network activated plugins).
|
384 |
*
|
385 |
* @link https://github.com/Freemius/wordpress-sdk/issues/26
|
386 |
*/
|
387 |
|
388 |
$newest_sdk_plugin_path = $fs_active_plugins->newest->plugin_path;
|
389 |
|
390 |
+
$active_plugins = get_option( 'active_plugins', array() );
|
391 |
+
$updated_active_plugins = array( $newest_sdk_plugin_path );
|
392 |
+
|
393 |
+
$plugin_found = false;
|
394 |
+
$is_first_path = true;
|
395 |
+
|
396 |
+
foreach ( $active_plugins as $key => $plugin_path ) {
|
397 |
+
if ( $plugin_path === $newest_sdk_plugin_path ) {
|
398 |
+
if ( $is_first_path ) {
|
399 |
+
// if it's the first plugin already, no need to continue
|
400 |
+
return false;
|
401 |
+
}
|
402 |
+
|
403 |
+
$plugin_found = true;
|
404 |
|
405 |
+
// Skip the plugin (it is already added as the 1st item of $updated_active_plugins).
|
406 |
+
continue;
|
407 |
+
}
|
408 |
+
|
409 |
+
$updated_active_plugins[] = $plugin_path;
|
410 |
|
411 |
+
if ( $is_first_path ) {
|
412 |
+
$is_first_path = false;
|
413 |
+
}
|
414 |
+
}
|
415 |
+
|
416 |
+
if ( $plugin_found ) {
|
417 |
+
update_option( 'active_plugins', $updated_active_plugins );
|
418 |
|
419 |
return true;
|
420 |
+
}
|
421 |
+
|
422 |
+
if ( is_multisite() ) {
|
423 |
// Plugin is network active.
|
424 |
$network_active_plugins = get_site_option( 'active_sitewide_plugins', array() );
|
425 |
|
426 |
+
if ( isset( $network_active_plugins[ $newest_sdk_plugin_path ] ) ) {
|
427 |
+
reset( $network_active_plugins );
|
428 |
+
if ( $newest_sdk_plugin_path === key( $network_active_plugins ) ) {
|
429 |
// Plugin is already activated first on the network level.
|
430 |
return false;
|
431 |
+
} else {
|
432 |
+
$time = $network_active_plugins[ $newest_sdk_plugin_path ];
|
433 |
|
434 |
// Remove plugin from its current position.
|
435 |
+
unset( $network_active_plugins[ $newest_sdk_plugin_path ] );
|
436 |
|
437 |
// Set it to be included first.
|
438 |
+
$network_active_plugins = array( $newest_sdk_plugin_path => $time ) + $network_active_plugins;
|
439 |
|
440 |
update_site_option( 'active_sitewide_plugins', $network_active_plugins );
|
441 |
|
freemius/includes/fs-plugin-info-dialog.php
CHANGED
@@ -145,15 +145,36 @@
|
|
145 |
}
|
146 |
|
147 |
if ( is_array( $pricing ) && 0 < count( $pricing ) ) {
|
148 |
-
$
|
149 |
|
150 |
-
foreach ( $pricing as
|
151 |
$prices = new FS_Pricing( $prices );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
152 |
}
|
153 |
|
154 |
-
$
|
|
|
|
|
|
|
155 |
|
156 |
-
|
|
|
157 |
}
|
158 |
|
159 |
if ( is_array( $features ) && 0 < count( $features ) ) {
|
@@ -239,14 +260,20 @@
|
|
239 |
if ( $has_valid_blog_id ) {
|
240 |
restore_current_blog();
|
241 |
}
|
|
|
242 |
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
|
|
|
|
|
|
|
|
|
|
250 |
}
|
251 |
}
|
252 |
|
@@ -556,7 +583,7 @@
|
|
556 |
|
557 |
$has_installed_version = ( 'install' !== $this->status['status'] );
|
558 |
|
559 |
-
if ( ! $api->has_paid_plan ) {
|
560 |
/**
|
561 |
* Free-only add-on.
|
562 |
*
|
@@ -859,9 +886,11 @@
|
|
859 |
$classes[] = 'disabled';
|
860 |
}
|
861 |
|
|
|
|
|
862 |
return sprintf(
|
863 |
'<a %s class="button %s">%s</a>',
|
864 |
-
empty( $href ) ? '' : 'href="' . $href . '" target="' . $target . '"',
|
865 |
implode( ' ', $classes ),
|
866 |
$label
|
867 |
);
|
@@ -1047,7 +1076,7 @@
|
|
1047 |
$href = add_query_arg( array( 'tab' => $tab, 'section' => $section_name ) );
|
1048 |
$href = esc_url( $href );
|
1049 |
$san_section = esc_attr( $section_name );
|
1050 |
-
echo "\t<a name='$san_section' href='$href' $class
|
1051 |
}
|
1052 |
|
1053 |
echo "</div>\n";
|
@@ -1180,7 +1209,7 @@
|
|
1180 |
|
1181 |
$(document).ready(function () {
|
1182 |
var $plan = $('.plugin-information-pricing .fs-plan[data-plan-id=<?php echo $plan->id ?>]');
|
1183 |
-
$plan.find('input[type=radio]').
|
1184 |
_updateCtaUrl(
|
1185 |
$plan.attr('data-plan-id'),
|
1186 |
$(this).val(),
|
@@ -1346,6 +1375,7 @@
|
|
1346 |
if ( ! empty( $api->slug ) && true == $api->is_wp_org_compliant ) {
|
1347 |
?>
|
1348 |
<li><a target="_blank"
|
|
|
1349 |
href="https://wordpress.org/plugins/<?php echo $api->slug; ?>/"><?php fs_esc_html_echo_inline( 'WordPress.org Plugin Page', 'wp-org-plugin-page', $api->slug ) ?>
|
1350 |
»</a>
|
1351 |
</li>
|
@@ -1354,6 +1384,7 @@
|
|
1354 |
if ( ! empty( $api->homepage ) ) {
|
1355 |
?>
|
1356 |
<li><a target="_blank"
|
|
|
1357 |
href="<?php echo esc_url( $api->homepage ); ?>"><?php fs_esc_html_echo_inline( 'Plugin Homepage', 'plugin-homepage', $api->slug ) ?>
|
1358 |
»</a>
|
1359 |
</li>
|
@@ -1362,6 +1393,7 @@
|
|
1362 |
if ( ! empty( $api->donate_link ) && empty( $api->contributors ) ) {
|
1363 |
?>
|
1364 |
<li><a target="_blank"
|
|
|
1365 |
href="<?php echo esc_url( $api->donate_link ); ?>"><?php fs_esc_html_echo_inline( 'Donate to this plugin', 'donate-to-plugin', $api->slug ) ?>
|
1366 |
»</a>
|
1367 |
</li>
|
@@ -1405,18 +1437,19 @@
|
|
1405 |
);
|
1406 |
?>
|
1407 |
<div class="counter-container">
|
1408 |
-
|
1409 |
-
|
1410 |
-
|
1411 |
-
|
1412 |
-
|
1413 |
-
|
1414 |
-
|
1415 |
-
|
|
|
1416 |
<span class="counter-back">
|
1417 |
-
|
1418 |
-
|
1419 |
-
|
1420 |
</div>
|
1421 |
<?php
|
1422 |
}
|
@@ -1437,13 +1470,14 @@
|
|
1437 |
if ( empty( $contrib_profile ) ) {
|
1438 |
echo "<li><img src='https://wordpress.org/grav-redirect.php?user={$contrib_username}&s=36' width='18' height='18' />{$contrib_username}</li>";
|
1439 |
} else {
|
1440 |
-
echo "<li><a href='{$contrib_profile}' target='_blank'><img src='https://wordpress.org/grav-redirect.php?user={$contrib_username}&s=36' width='18' height='18' />{$contrib_username}</a></li>";
|
1441 |
}
|
1442 |
}
|
1443 |
?>
|
1444 |
</ul>
|
1445 |
<?php if ( ! empty( $api->donate_link ) ) { ?>
|
1446 |
<a target="_blank"
|
|
|
1447 |
href="<?php echo esc_url( $api->donate_link ); ?>"><?php fs_echo_inline( 'Donate to this plugin', 'donate-to-plugin', $api->slug ) ?>
|
1448 |
»</a>
|
1449 |
<?php } ?>
|
@@ -1607,4 +1641,4 @@
|
|
1607 |
iframe_footer();
|
1608 |
exit;
|
1609 |
}
|
1610 |
-
}
|
145 |
}
|
146 |
|
147 |
if ( is_array( $pricing ) && 0 < count( $pricing ) ) {
|
148 |
+
$filtered_pricing = array();
|
149 |
|
150 |
+
foreach ( $pricing as $prices ) {
|
151 |
$prices = new FS_Pricing( $prices );
|
152 |
+
|
153 |
+
if ( ! $prices->is_usd() ) {
|
154 |
+
/**
|
155 |
+
* Skip non-USD pricing.
|
156 |
+
*
|
157 |
+
* @author Leo Fajardo (@leorw)
|
158 |
+
* @since 2.3.1
|
159 |
+
*/
|
160 |
+
continue;
|
161 |
+
}
|
162 |
+
|
163 |
+
if ( ( $prices->has_monthly() && $prices->monthly_price > 1.0 ) ||
|
164 |
+
( $prices->has_annual() && $prices->annual_price > 1.0 ) ||
|
165 |
+
( $prices->has_lifetime() && $prices->lifetime_price > 1.0 )
|
166 |
+
) {
|
167 |
+
$filtered_pricing[] = $prices;
|
168 |
+
}
|
169 |
}
|
170 |
|
171 |
+
if ( ! empty( $filtered_pricing ) ) {
|
172 |
+
$has_paid_plan = true;
|
173 |
+
|
174 |
+
$plan->pricing = $filtered_pricing;
|
175 |
|
176 |
+
$has_pricing = true;
|
177 |
+
}
|
178 |
}
|
179 |
|
180 |
if ( is_array( $features ) && 0 < count( $features ) ) {
|
260 |
if ( $has_valid_blog_id ) {
|
261 |
restore_current_blog();
|
262 |
}
|
263 |
+
}
|
264 |
|
265 |
+
/**
|
266 |
+
* Check if there's a purchased license in case the add-on can only be installed/downloaded as part of a purchased bundle.
|
267 |
+
*
|
268 |
+
* @author Leo Fajardo (@leorw)
|
269 |
+
* @since 2.4.1
|
270 |
+
*/
|
271 |
+
if ( is_object( $fs_addon ) ) {
|
272 |
+
$data->has_purchased_license = $fs_addon->has_active_valid_license();
|
273 |
+
} else {
|
274 |
+
$account_addons = $this->_fs->get_account_addons();
|
275 |
+
if ( ! empty( $account_addons ) && in_array( $selected_addon->id, $account_addons ) ) {
|
276 |
+
$data->has_purchased_license = true;
|
277 |
}
|
278 |
}
|
279 |
|
583 |
|
584 |
$has_installed_version = ( 'install' !== $this->status['status'] );
|
585 |
|
586 |
+
if ( ! $api->has_paid_plan && ! $api->has_purchased_license ) {
|
587 |
/**
|
588 |
* Free-only add-on.
|
589 |
*
|
886 |
$classes[] = 'disabled';
|
887 |
}
|
888 |
|
889 |
+
$rel = ( '_blank' === $target ) ? ' rel="noopener noreferrer"' : '';
|
890 |
+
|
891 |
return sprintf(
|
892 |
'<a %s class="button %s">%s</a>',
|
893 |
+
empty( $href ) ? '' : 'href="' . $href . '" target="' . $target . '"' . $rel,
|
894 |
implode( ' ', $classes ),
|
895 |
$label
|
896 |
);
|
1076 |
$href = add_query_arg( array( 'tab' => $tab, 'section' => $section_name ) );
|
1077 |
$href = esc_url( $href );
|
1078 |
$san_section = esc_attr( $section_name );
|
1079 |
+
echo "\t<a name='$san_section' href='$href' $class>" . esc_html( $title ) . "</a>\n";
|
1080 |
}
|
1081 |
|
1082 |
echo "</div>\n";
|
1209 |
|
1210 |
$(document).ready(function () {
|
1211 |
var $plan = $('.plugin-information-pricing .fs-plan[data-plan-id=<?php echo $plan->id ?>]');
|
1212 |
+
$plan.find('input[type=radio]').on('click', function () {
|
1213 |
_updateCtaUrl(
|
1214 |
$plan.attr('data-plan-id'),
|
1215 |
$(this).val(),
|
1375 |
if ( ! empty( $api->slug ) && true == $api->is_wp_org_compliant ) {
|
1376 |
?>
|
1377 |
<li><a target="_blank"
|
1378 |
+
rel="noopener noreferrer"
|
1379 |
href="https://wordpress.org/plugins/<?php echo $api->slug; ?>/"><?php fs_esc_html_echo_inline( 'WordPress.org Plugin Page', 'wp-org-plugin-page', $api->slug ) ?>
|
1380 |
»</a>
|
1381 |
</li>
|
1384 |
if ( ! empty( $api->homepage ) ) {
|
1385 |
?>
|
1386 |
<li><a target="_blank"
|
1387 |
+
rel="noopener noreferrer"
|
1388 |
href="<?php echo esc_url( $api->homepage ); ?>"><?php fs_esc_html_echo_inline( 'Plugin Homepage', 'plugin-homepage', $api->slug ) ?>
|
1389 |
»</a>
|
1390 |
</li>
|
1393 |
if ( ! empty( $api->donate_link ) && empty( $api->contributors ) ) {
|
1394 |
?>
|
1395 |
<li><a target="_blank"
|
1396 |
+
rel="noopener noreferrer"
|
1397 |
href="<?php echo esc_url( $api->donate_link ); ?>"><?php fs_esc_html_echo_inline( 'Donate to this plugin', 'donate-to-plugin', $api->slug ) ?>
|
1398 |
»</a>
|
1399 |
</li>
|
1437 |
);
|
1438 |
?>
|
1439 |
<div class="counter-container">
|
1440 |
+
<span class="counter-label"><a
|
1441 |
+
href="https://wordpress.org/support/view/plugin-reviews/<?php echo $api->slug; ?>?filter=<?php echo $key; ?>"
|
1442 |
+
target="_blank"
|
1443 |
+
rel="noopener noreferrer"
|
1444 |
+
title="<?php echo esc_attr( sprintf(
|
1445 |
+
/* translators: %s: # of stars (e.g. 5 stars) */
|
1446 |
+
fs_text_inline( 'Click to see reviews that provided a rating of %s', 'click-to-reviews', $api->slug ),
|
1447 |
+
$stars_label
|
1448 |
+
) ) ?>"><?php echo $stars_label ?></a></span>
|
1449 |
<span class="counter-back">
|
1450 |
+
<span class="counter-bar" style="width: <?php echo absint(92 * $_rating); ?>px;"></span>
|
1451 |
+
</span>
|
1452 |
+
<span class="counter-count"><?php echo number_format_i18n( $ratecount ); ?></span>
|
1453 |
</div>
|
1454 |
<?php
|
1455 |
}
|
1470 |
if ( empty( $contrib_profile ) ) {
|
1471 |
echo "<li><img src='https://wordpress.org/grav-redirect.php?user={$contrib_username}&s=36' width='18' height='18' />{$contrib_username}</li>";
|
1472 |
} else {
|
1473 |
+
echo "<li><a href='{$contrib_profile}' target='_blank' rel='noopener noreferrer'><img src='https://wordpress.org/grav-redirect.php?user={$contrib_username}&s=36' width='18' height='18' />{$contrib_username}</a></li>";
|
1474 |
}
|
1475 |
}
|
1476 |
?>
|
1477 |
</ul>
|
1478 |
<?php if ( ! empty( $api->donate_link ) ) { ?>
|
1479 |
<a target="_blank"
|
1480 |
+
rel="noopener noreferrer"
|
1481 |
href="<?php echo esc_url( $api->donate_link ); ?>"><?php fs_echo_inline( 'Donate to this plugin', 'donate-to-plugin', $api->slug ) ?>
|
1482 |
»</a>
|
1483 |
<?php } ?>
|
1641 |
iframe_footer();
|
1642 |
exit;
|
1643 |
}
|
1644 |
+
}
|
freemius/includes/i18n.php
CHANGED
@@ -98,6 +98,8 @@
|
|
98 |
'error' => _fs_text( 'Error' ),
|
99 |
'failed-finding-main-path' => _fs_text( 'Freemius SDK couldn\'t find the plugin\'s main file. Please contact sdk@freemius.com with the current error.' ),
|
100 |
'learn-more' => _fs_text( 'Learn more' ),
|
|
|
|
|
101 |
|
102 |
#region Affiliation
|
103 |
'affiliation' => _fs_text( 'Affiliation' ),
|
98 |
'error' => _fs_text( 'Error' ),
|
99 |
'failed-finding-main-path' => _fs_text( 'Freemius SDK couldn\'t find the plugin\'s main file. Please contact sdk@freemius.com with the current error.' ),
|
100 |
'learn-more' => _fs_text( 'Learn more' ),
|
101 |
+
'license_not_whitelabeled' => _fs_text( "Is this your client's site? %s if you wish to hide sensitive info like your billing address and invoices from the WP Admin."),
|
102 |
+
'license_whitelabeled' => _fs_text( 'Your %s license was flagged as white-labeled to hide sensitive information from the WP Admin (e.g. your billing address and invoices). If you ever wish to revert it back, you can easily do it through your %s. If this was a mistake you can also %s.'),
|
103 |
|
104 |
#region Affiliation
|
105 |
'affiliation' => _fs_text( 'Affiliation' ),
|
freemius/includes/managers/class-fs-admin-menu-manager.php
CHANGED
@@ -430,41 +430,62 @@
|
|
430 |
$this->get_raw_slug();
|
431 |
}
|
432 |
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
|
437 |
-
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
-
|
447 |
-
|
448 |
-
*
|
449 |
-
* @since 1.2.2
|
450 |
-
*/
|
451 |
-
return true;
|
452 |
-
}
|
453 |
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
|
461 |
-
|
462 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
463 |
|
464 |
-
|
465 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
466 |
|
467 |
-
|
|
|
|
|
|
|
468 |
|
469 |
/**
|
470 |
* Override submenu's action.
|
@@ -682,7 +703,12 @@
|
|
682 |
$menu['parent_slug'] :
|
683 |
'admin.php';
|
684 |
|
685 |
-
|
|
|
|
|
|
|
|
|
|
|
686 |
}
|
687 |
|
688 |
/**
|
430 |
$this->get_raw_slug();
|
431 |
}
|
432 |
|
433 |
+
/**
|
434 |
+
* Is user on plugin's admin activation page.
|
435 |
+
*
|
436 |
+
* @author Vova Feldman (@svovaf)
|
437 |
+
* @since 1.0.8
|
438 |
+
*
|
439 |
+
* @param bool $show_opt_in_on_themes_page Since 2.3.1
|
440 |
+
*
|
441 |
+
* @return bool
|
442 |
+
*
|
443 |
+
* @deprecated Please use is_activation_page() instead.
|
444 |
+
*/
|
445 |
+
function is_main_settings_page( $show_opt_in_on_themes_page = false ) {
|
446 |
+
return $this->is_activation_page( $show_opt_in_on_themes_page );
|
447 |
+
}
|
|
|
|
|
|
|
|
|
|
|
448 |
|
449 |
+
/**
|
450 |
+
* Is user on product's admin activation page.
|
451 |
+
*
|
452 |
+
* @author Vova Feldman (@svovaf)
|
453 |
+
* @since 2.3.1
|
454 |
+
*
|
455 |
+
* @param bool $show_opt_in_on_themes_page Since 2.3.1
|
456 |
+
*
|
457 |
+
* @return bool
|
458 |
+
*/
|
459 |
+
function is_activation_page( $show_opt_in_on_themes_page = false ) {
|
460 |
+
if ( $show_opt_in_on_themes_page ) {
|
461 |
+
/**
|
462 |
+
* In activation only when show_optin query string param is given.
|
463 |
+
*
|
464 |
+
* @since 1.2.2
|
465 |
+
*/
|
466 |
+
return (
|
467 |
+
( WP_FS__MODULE_TYPE_THEME === $this->_module_type ) &&
|
468 |
+
Freemius::is_themes_page() &&
|
469 |
+
fs_request_get_bool( $this->_module_unique_affix . '_show_optin' )
|
470 |
+
);
|
471 |
+
}
|
472 |
|
473 |
+
if ( $this->_menu_exists &&
|
474 |
+
( fs_is_plugin_page( $this->_menu_slug ) || fs_is_plugin_page( $this->_module_unique_affix ) )
|
475 |
+
) {
|
476 |
+
/**
|
477 |
+
* Module has a settings menu and the context page is the main settings page, so assume it's in
|
478 |
+
* activation (doesn't really check if already opted-in/skipped or not).
|
479 |
+
*
|
480 |
+
* @since 1.2.2
|
481 |
+
*/
|
482 |
+
return true;
|
483 |
+
}
|
484 |
|
485 |
+
return false;
|
486 |
+
}
|
487 |
+
|
488 |
+
#region Submenu Override
|
489 |
|
490 |
/**
|
491 |
* Override submenu's action.
|
703 |
$menu['parent_slug'] :
|
704 |
'admin.php';
|
705 |
|
706 |
+
return admin_url(
|
707 |
+
$parent_slug .
|
708 |
+
( false === strpos( $parent_slug, '?' ) ? '?' : '&' ) .
|
709 |
+
'page=' .
|
710 |
+
$menu['menu'][2]
|
711 |
+
);
|
712 |
}
|
713 |
|
714 |
/**
|
freemius/includes/managers/class-fs-cache-manager.php
CHANGED
@@ -37,7 +37,7 @@
|
|
37 |
$this->_logger->entrance();
|
38 |
$this->_logger->log( 'id = ' . $id );
|
39 |
|
40 |
-
$this->_options = FS_Option_Manager::get_manager( $id, true, true );
|
41 |
}
|
42 |
|
43 |
/**
|
37 |
$this->_logger->entrance();
|
38 |
$this->_logger->log( 'id = ' . $id );
|
39 |
|
40 |
+
$this->_options = FS_Option_Manager::get_manager( $id, true, true, false );
|
41 |
}
|
42 |
|
43 |
/**
|
freemius/includes/managers/class-fs-option-manager.php
CHANGED
@@ -48,6 +48,11 @@
|
|
48 |
*/
|
49 |
private $_is_network_storage;
|
50 |
|
|
|
|
|
|
|
|
|
|
|
51 |
/**
|
52 |
* @var array[string]FS_Option_Manager {
|
53 |
* @key string
|
@@ -60,11 +65,17 @@
|
|
60 |
* @author Vova Feldman (@svovaf)
|
61 |
* @since 1.0.3
|
62 |
*
|
63 |
-
* @param string
|
64 |
-
* @param bool
|
65 |
-
* @param bool|int
|
|
|
66 |
*/
|
67 |
-
private function __construct(
|
|
|
|
|
|
|
|
|
|
|
68 |
$id = strtolower( $id );
|
69 |
|
70 |
$this->_logger = FS_Logger::get_logger( WP_FS__SLUG . '_opt_mngr_' . $id, WP_FS__DEBUG_SDK, WP_FS__ECHO_DEBUG_SDK );
|
@@ -74,6 +85,8 @@
|
|
74 |
|
75 |
$this->_id = $id;
|
76 |
|
|
|
|
|
77 |
if ( is_multisite() ) {
|
78 |
$this->_is_network_storage = ( true === $network_level_or_blog_id );
|
79 |
|
@@ -93,13 +106,19 @@
|
|
93 |
* @author Vova Feldman (@svovaf)
|
94 |
* @since 1.0.3
|
95 |
*
|
96 |
-
* @param string
|
97 |
-
* @param bool
|
98 |
-
* @param bool|int
|
|
|
99 |
*
|
100 |
-
* @return FS_Option_Manager
|
101 |
*/
|
102 |
-
static function get_manager(
|
|
|
|
|
|
|
|
|
|
|
103 |
$key = strtolower( $id );
|
104 |
|
105 |
if ( is_multisite() ) {
|
@@ -115,7 +134,12 @@
|
|
115 |
}
|
116 |
|
117 |
if ( ! isset( self::$_MANAGERS[ $key ] ) ) {
|
118 |
-
self::$_MANAGERS[ $key ] = new FS_Option_Manager(
|
|
|
|
|
|
|
|
|
|
|
119 |
} // If load required but not yet loaded, load.
|
120 |
else if ( $load && ! self::$_MANAGERS[ $key ]->is_loaded() ) {
|
121 |
self::$_MANAGERS[ $key ]->load();
|
@@ -410,7 +434,7 @@
|
|
410 |
} else if ( $this->_blog_id > 0 ) {
|
411 |
update_blog_option( $this->_blog_id, $option_name, $this->_options );
|
412 |
} else {
|
413 |
-
update_option( $option_name, $this->_options );
|
414 |
}
|
415 |
|
416 |
if ( ! WP_FS__DEBUG_SDK ) {
|
48 |
*/
|
49 |
private $_is_network_storage;
|
50 |
|
51 |
+
/**
|
52 |
+
* @var bool|null
|
53 |
+
*/
|
54 |
+
private $_autoload;
|
55 |
+
|
56 |
/**
|
57 |
* @var array[string]FS_Option_Manager {
|
58 |
* @key string
|
65 |
* @author Vova Feldman (@svovaf)
|
66 |
* @since 1.0.3
|
67 |
*
|
68 |
+
* @param string $id
|
69 |
+
* @param bool $load
|
70 |
+
* @param bool|int $network_level_or_blog_id Since 2.0.0
|
71 |
+
* @param bool|null $autoload
|
72 |
*/
|
73 |
+
private function __construct(
|
74 |
+
$id,
|
75 |
+
$load = false,
|
76 |
+
$network_level_or_blog_id = false,
|
77 |
+
$autoload = null
|
78 |
+
) {
|
79 |
$id = strtolower( $id );
|
80 |
|
81 |
$this->_logger = FS_Logger::get_logger( WP_FS__SLUG . '_opt_mngr_' . $id, WP_FS__DEBUG_SDK, WP_FS__ECHO_DEBUG_SDK );
|
85 |
|
86 |
$this->_id = $id;
|
87 |
|
88 |
+
$this->_autoload = $autoload;
|
89 |
+
|
90 |
if ( is_multisite() ) {
|
91 |
$this->_is_network_storage = ( true === $network_level_or_blog_id );
|
92 |
|
106 |
* @author Vova Feldman (@svovaf)
|
107 |
* @since 1.0.3
|
108 |
*
|
109 |
+
* @param string $id
|
110 |
+
* @param bool $load
|
111 |
+
* @param bool|int $network_level_or_blog_id Since 2.0.0
|
112 |
+
* @param bool|null $autoload
|
113 |
*
|
114 |
+
* @return \FS_Option_Manager
|
115 |
*/
|
116 |
+
static function get_manager(
|
117 |
+
$id,
|
118 |
+
$load = false,
|
119 |
+
$network_level_or_blog_id = false,
|
120 |
+
$autoload = null
|
121 |
+
) {
|
122 |
$key = strtolower( $id );
|
123 |
|
124 |
if ( is_multisite() ) {
|
134 |
}
|
135 |
|
136 |
if ( ! isset( self::$_MANAGERS[ $key ] ) ) {
|
137 |
+
self::$_MANAGERS[ $key ] = new FS_Option_Manager(
|
138 |
+
$id,
|
139 |
+
$load,
|
140 |
+
$network_level_or_blog_id,
|
141 |
+
$autoload
|
142 |
+
);
|
143 |
} // If load required but not yet loaded, load.
|
144 |
else if ( $load && ! self::$_MANAGERS[ $key ]->is_loaded() ) {
|
145 |
self::$_MANAGERS[ $key ]->load();
|
434 |
} else if ( $this->_blog_id > 0 ) {
|
435 |
update_blog_option( $this->_blog_id, $option_name, $this->_options );
|
436 |
} else {
|
437 |
+
update_option( $option_name, $this->_options, $this->_autoload );
|
438 |
}
|
439 |
|
440 |
if ( ! WP_FS__DEBUG_SDK ) {
|
freemius/includes/managers/class-fs-plugin-manager.php
CHANGED
@@ -83,12 +83,12 @@
|
|
83 |
$option_manager = $this->get_option_manager();
|
84 |
|
85 |
if ( false !== $module_type ) {
|
86 |
-
return $option_manager->get_option( $module_type . 's', array() );
|
87 |
}
|
88 |
|
89 |
return array(
|
90 |
-
self::OPTION_NAME_PLUGINS => $option_manager->get_option( self::OPTION_NAME_PLUGINS, array() ),
|
91 |
-
self::OPTION_NAME_THEMES => $option_manager->get_option( self::OPTION_NAME_THEMES, array() ),
|
92 |
);
|
93 |
}
|
94 |
|
83 |
$option_manager = $this->get_option_manager();
|
84 |
|
85 |
if ( false !== $module_type ) {
|
86 |
+
return fs_get_entities( $option_manager->get_option( $module_type . 's', array() ), FS_Plugin::get_class_name() );
|
87 |
}
|
88 |
|
89 |
return array(
|
90 |
+
self::OPTION_NAME_PLUGINS => fs_get_entities( $option_manager->get_option( self::OPTION_NAME_PLUGINS, array() ), FS_Plugin::get_class_name() ),
|
91 |
+
self::OPTION_NAME_THEMES => fs_get_entities( $option_manager->get_option( self::OPTION_NAME_THEMES, array() ), FS_Plugin::get_class_name() ),
|
92 |
);
|
93 |
}
|
94 |
|
freemius/includes/sdk/FreemiusBase.php
CHANGED
@@ -137,7 +137,7 @@
|
|
137 |
} catch ( Exception $e ) {
|
138 |
// Map to error object.
|
139 |
$result = (object) array(
|
140 |
-
'error' => array(
|
141 |
'type' => 'Unknown',
|
142 |
'message' => $e->getMessage() . ' (' . $e->getFile() . ': ' . $e->getLine() . ')',
|
143 |
'code' => 'unknown',
|
137 |
} catch ( Exception $e ) {
|
138 |
// Map to error object.
|
139 |
$result = (object) array(
|
140 |
+
'error' => (object) array(
|
141 |
'type' => 'Unknown',
|
142 |
'message' => $e->getMessage() . ' (' . $e->getFile() . ': ' . $e->getLine() . ')',
|
143 |
'code' => 'unknown',
|
freemius/includes/sdk/FreemiusWordPress.php
CHANGED
@@ -59,6 +59,10 @@
|
|
59 |
}
|
60 |
}
|
61 |
|
|
|
|
|
|
|
|
|
62 |
$curl_version = FS_SDK__HAS_CURL ?
|
63 |
curl_version() :
|
64 |
array( 'version' => '7.37' );
|
@@ -228,10 +232,13 @@
|
|
228 |
$now = ( time() - self::$_clock_diff );
|
229 |
$date = date( 'r', $now );
|
230 |
|
231 |
-
if ( in_array( $pMethod, array( 'POST', 'PUT' ) )
|
232 |
-
|
233 |
-
|
234 |
-
|
|
|
|
|
|
|
235 |
|
236 |
$string_to_sign = implode( $eol, array(
|
237 |
$pMethod,
|
@@ -380,10 +387,11 @@
|
|
380 |
}
|
381 |
|
382 |
if ( in_array( $pMethod, array( 'POST', 'PUT' ) ) ) {
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
|
|
387 |
}
|
388 |
|
389 |
$request_url = self::GetUrl( $pCanonizedPath, $pIsSandbox );
|
@@ -397,7 +405,7 @@
|
|
397 |
}
|
398 |
|
399 |
if ( 'https' === substr( strtolower( $request_url ), 0, 5 ) ) {
|
400 |
-
$pWPRemoteArgs['sslverify'] =
|
401 |
}
|
402 |
|
403 |
if ( false !== $pBeforeExecutionFunction &&
|
@@ -570,7 +578,7 @@
|
|
570 |
} catch ( Exception $e ) {
|
571 |
// Map to error object.
|
572 |
$result = (object) array(
|
573 |
-
'error' => array(
|
574 |
'type' => 'Unknown',
|
575 |
'message' => $e->getMessage() . ' (' . $e->getFile() . ': ' . $e->getLine() . ')',
|
576 |
'code' => 'unknown',
|
@@ -649,7 +657,7 @@
|
|
649 |
$message = ( 1 < count( $parts ) ) ? $parts[1] : $message;
|
650 |
|
651 |
$e = new Freemius_Exception( array(
|
652 |
-
'error' => array(
|
653 |
'code' => $code,
|
654 |
'message' => $message,
|
655 |
'type' => 'CurlException',
|
@@ -657,7 +665,7 @@
|
|
657 |
) );
|
658 |
} else {
|
659 |
$e = new Freemius_Exception( array(
|
660 |
-
'error' => array(
|
661 |
'code' => $pError->get_error_code(),
|
662 |
'message' => $pError->get_error_message(),
|
663 |
'type' => 'WPRemoteException',
|
59 |
}
|
60 |
}
|
61 |
|
62 |
+
if ( ! defined( 'FS_SDK__SSLVERIFY' ) ) {
|
63 |
+
define( 'FS_SDK__SSLVERIFY', false );
|
64 |
+
}
|
65 |
+
|
66 |
$curl_version = FS_SDK__HAS_CURL ?
|
67 |
curl_version() :
|
68 |
array( 'version' => '7.37' );
|
232 |
$now = ( time() - self::$_clock_diff );
|
233 |
$date = date( 'r', $now );
|
234 |
|
235 |
+
if ( in_array( $pMethod, array( 'POST', 'PUT' ) ) ) {
|
236 |
+
$content_type = 'application/json';
|
237 |
+
|
238 |
+
if ( ! empty( $pPostParams ) ) {
|
239 |
+
$content_md5 = md5( $pPostParams );
|
240 |
+
}
|
241 |
+
}
|
242 |
|
243 |
$string_to_sign = implode( $eol, array(
|
244 |
$pMethod,
|
387 |
}
|
388 |
|
389 |
if ( in_array( $pMethod, array( 'POST', 'PUT' ) ) ) {
|
390 |
+
$pWPRemoteArgs['headers']['Content-type'] = 'application/json';
|
391 |
+
|
392 |
+
if ( is_array( $pParams ) && 0 < count( $pParams ) ) {
|
393 |
+
$pWPRemoteArgs['body'] = json_encode( $pParams );
|
394 |
+
}
|
395 |
}
|
396 |
|
397 |
$request_url = self::GetUrl( $pCanonizedPath, $pIsSandbox );
|
405 |
}
|
406 |
|
407 |
if ( 'https' === substr( strtolower( $request_url ), 0, 5 ) ) {
|
408 |
+
$pWPRemoteArgs['sslverify'] = FS_SDK__SSLVERIFY;
|
409 |
}
|
410 |
|
411 |
if ( false !== $pBeforeExecutionFunction &&
|
578 |
} catch ( Exception $e ) {
|
579 |
// Map to error object.
|
580 |
$result = (object) array(
|
581 |
+
'error' => (object) array(
|
582 |
'type' => 'Unknown',
|
583 |
'message' => $e->getMessage() . ' (' . $e->getFile() . ': ' . $e->getLine() . ')',
|
584 |
'code' => 'unknown',
|
657 |
$message = ( 1 < count( $parts ) ) ? $parts[1] : $message;
|
658 |
|
659 |
$e = new Freemius_Exception( array(
|
660 |
+
'error' => (object) array(
|
661 |
'code' => $code,
|
662 |
'message' => $message,
|
663 |
'type' => 'CurlException',
|
665 |
) );
|
666 |
} else {
|
667 |
$e = new Freemius_Exception( array(
|
668 |
+
'error' => (object) array(
|
669 |
'code' => $pError->get_error_code(),
|
670 |
'message' => $pError->get_error_message(),
|
671 |
'type' => 'WPRemoteException',
|
freemius/includes/supplements/fs-essential-functions-1.1.7.1.php
CHANGED
@@ -32,7 +32,7 @@
|
|
32 |
|
33 |
// Get active plugin's main files real full names (might be symlinks).
|
34 |
foreach ( $all_plugins as $relative_path => $data ) {
|
35 |
-
|
36 |
if ( '.' !== dirname( trailingslashit( $relative_path ) ) ) {
|
37 |
return $relative_path;
|
38 |
}
|
32 |
|
33 |
// Get active plugin's main files real full names (might be symlinks).
|
34 |
foreach ( $all_plugins as $relative_path => $data ) {
|
35 |
+
if ( 0 === strpos( $file_real_path, fs_normalize_path( dirname( realpath( WP_PLUGIN_DIR . '/' . $relative_path ) ) . '/' ) ) ) {
|
36 |
if ( '.' !== dirname( trailingslashit( $relative_path ) ) ) {
|
37 |
return $relative_path;
|
38 |
}
|
freemius/languages/freemius-cs_CZ.mo
ADDED
Binary file
|
freemius/languages/freemius-da_DK.mo
CHANGED
Binary file
|
freemius/languages/freemius-en.mo
CHANGED
Binary file
|
freemius/languages/freemius-es_ES.mo
CHANGED
Binary file
|
freemius/languages/freemius-fr_FR.mo
CHANGED
Binary file
|
freemius/languages/freemius-he_IL.mo
CHANGED
Binary file
|
freemius/languages/freemius-hu_HU.mo
CHANGED
Binary file
|
freemius/languages/freemius-it_IT.mo
CHANGED
Binary file
|
freemius/languages/freemius-ja.mo
ADDED
Binary file
|
freemius/languages/freemius-nl_NL.mo
CHANGED
Binary file
|
freemius/languages/freemius-ru_RU.mo
CHANGED
Binary file
|
freemius/languages/freemius-ta.mo
ADDED
Binary file
|
freemius/languages/freemius-zh_CN.mo
ADDED
Binary file
|
freemius/languages/freemius.pot
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
# Copyright (C)
|
2 |
# This file is distributed under the same license as the freemius package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
@@ -16,1382 +16,1446 @@ msgstr ""
|
|
16 |
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
18 |
|
19 |
-
#: includes/class-freemius.php:
|
20 |
msgid "An update to a Beta version will replace your installed version of %s with the latest Beta release - use with caution, and not on production sites. You have been warned."
|
21 |
msgstr ""
|
22 |
|
23 |
-
#: includes/class-freemius.php:
|
24 |
msgid "Would you like to proceed with the update?"
|
25 |
msgstr ""
|
26 |
|
27 |
-
#: includes/class-freemius.php:
|
28 |
msgid "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
|
29 |
msgstr ""
|
30 |
|
31 |
-
#: includes/class-freemius.php:
|
32 |
msgid "Error"
|
33 |
msgstr ""
|
34 |
|
35 |
-
#: includes/class-freemius.php:
|
36 |
msgid "I found a better %s"
|
37 |
msgstr ""
|
38 |
|
39 |
-
#: includes/class-freemius.php:
|
40 |
msgid "What's the %s's name?"
|
41 |
msgstr ""
|
42 |
|
43 |
-
#: includes/class-freemius.php:
|
44 |
msgid "It's a temporary %s. I'm just debugging an issue."
|
45 |
msgstr ""
|
46 |
|
47 |
-
#: includes/class-freemius.php:
|
48 |
msgid "Deactivation"
|
49 |
msgstr ""
|
50 |
|
51 |
-
#: includes/class-freemius.php:
|
52 |
msgid "Theme Switch"
|
53 |
msgstr ""
|
54 |
|
55 |
-
#: includes/class-freemius.php:
|
56 |
msgid "Other"
|
57 |
msgstr ""
|
58 |
|
59 |
-
#: includes/class-freemius.php:
|
60 |
msgid "I no longer need the %s"
|
61 |
msgstr ""
|
62 |
|
63 |
-
#: includes/class-freemius.php:
|
64 |
msgid "I only needed the %s for a short period"
|
65 |
msgstr ""
|
66 |
|
67 |
-
#: includes/class-freemius.php:
|
68 |
msgid "The %s broke my site"
|
69 |
msgstr ""
|
70 |
|
71 |
-
#: includes/class-freemius.php:
|
72 |
msgid "The %s suddenly stopped working"
|
73 |
msgstr ""
|
74 |
|
75 |
-
#: includes/class-freemius.php:
|
76 |
msgid "I can't pay for it anymore"
|
77 |
msgstr ""
|
78 |
|
79 |
-
#: includes/class-freemius.php:
|
80 |
msgid "What price would you feel comfortable paying?"
|
81 |
msgstr ""
|
82 |
|
83 |
-
#: includes/class-freemius.php:
|
84 |
msgid "I don't like to share my information with you"
|
85 |
msgstr ""
|
86 |
|
87 |
-
#: includes/class-freemius.php:
|
88 |
msgid "The %s didn't work"
|
89 |
msgstr ""
|
90 |
|
91 |
-
#: includes/class-freemius.php:
|
92 |
msgid "I couldn't understand how to make it work"
|
93 |
msgstr ""
|
94 |
|
95 |
-
#: includes/class-freemius.php:
|
96 |
msgid "The %s is great, but I need specific feature that you don't support"
|
97 |
msgstr ""
|
98 |
|
99 |
-
#: includes/class-freemius.php:
|
100 |
msgid "What feature?"
|
101 |
msgstr ""
|
102 |
|
103 |
-
#: includes/class-freemius.php:
|
104 |
msgid "The %s is not working"
|
105 |
msgstr ""
|
106 |
|
107 |
-
#: includes/class-freemius.php:
|
108 |
msgid "Kindly share what didn't work so we can fix it for future users..."
|
109 |
msgstr ""
|
110 |
|
111 |
-
#: includes/class-freemius.php:
|
112 |
msgid "It's not what I was looking for"
|
113 |
msgstr ""
|
114 |
|
115 |
-
#: includes/class-freemius.php:
|
116 |
msgid "What you've been looking for?"
|
117 |
msgstr ""
|
118 |
|
119 |
-
#: includes/class-freemius.php:
|
120 |
msgid "The %s didn't work as expected"
|
121 |
msgstr ""
|
122 |
|
123 |
-
#: includes/class-freemius.php:
|
124 |
msgid "What did you expect?"
|
125 |
msgstr ""
|
126 |
|
127 |
-
#: includes/class-freemius.php:
|
128 |
msgid "Freemius Debug"
|
129 |
msgstr ""
|
130 |
|
131 |
-
#: includes/class-freemius.php:
|
132 |
msgid "I don't know what is cURL or how to install it, help me!"
|
133 |
msgstr ""
|
134 |
|
135 |
-
#: includes/class-freemius.php:
|
136 |
msgid "We'll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update."
|
137 |
msgstr ""
|
138 |
|
139 |
-
#: includes/class-freemius.php:
|
140 |
msgid "Great, please install cURL and enable it in your php.ini file. In addition, search for the 'disable_functions' directive in your php.ini file and remove any disabled methods starting with 'curl_'. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the %s and reactivate it back again."
|
141 |
msgstr ""
|
142 |
|
143 |
-
#: includes/class-freemius.php:
|
144 |
msgid "Yes - do your thing"
|
145 |
msgstr ""
|
146 |
|
147 |
-
#: includes/class-freemius.php:
|
148 |
msgid "No - just deactivate"
|
149 |
msgstr ""
|
150 |
|
151 |
-
#: includes/class-freemius.php:
|
152 |
msgctxt "exclamation"
|
153 |
msgid "Oops"
|
154 |
msgstr ""
|
155 |
|
156 |
-
#: includes/class-freemius.php:
|
157 |
msgid "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
|
158 |
msgstr ""
|
159 |
|
160 |
-
#: includes/class-freemius.php:
|
161 |
msgctxt "addonX cannot run without pluginY"
|
162 |
msgid "%s cannot run without %s."
|
163 |
msgstr ""
|
164 |
|
165 |
-
#: includes/class-freemius.php:
|
166 |
msgctxt "addonX cannot run..."
|
167 |
msgid "%s cannot run without the plugin."
|
168 |
msgstr ""
|
169 |
|
170 |
-
#: includes/class-freemius.php:
|
171 |
msgid "Unexpected API error. Please contact the %s's author with the following error."
|
172 |
msgstr ""
|
173 |
|
174 |
-
#: includes/class-freemius.php:
|
175 |
msgid "Premium %s version was successfully activated."
|
176 |
msgstr ""
|
177 |
|
178 |
-
#: includes/class-freemius.php:
|
179 |
msgctxt "Used to express elation, enthusiasm, or triumph (especially in electronic communication)."
|
180 |
msgid "W00t"
|
181 |
msgstr ""
|
182 |
|
183 |
-
#: includes/class-freemius.php:
|
184 |
msgid "You have a %s license."
|
185 |
msgstr ""
|
186 |
|
187 |
-
#: includes/class-freemius.php:
|
188 |
msgctxt "interjection expressing joy or exuberance"
|
189 |
msgid "Yee-haw"
|
190 |
msgstr ""
|
191 |
|
192 |
-
#: includes/class-freemius.php:
|
193 |
msgid "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
|
194 |
msgstr ""
|
195 |
|
196 |
-
#: includes/class-freemius.php:
|
197 |
msgid "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
|
198 |
msgstr ""
|
199 |
|
200 |
-
#: includes/class-freemius.php:
|
201 |
msgid "More information about %s"
|
202 |
msgstr ""
|
203 |
|
204 |
-
#: includes/class-freemius.php:
|
205 |
msgid "Purchase License"
|
206 |
msgstr ""
|
207 |
|
208 |
-
#: includes/class-freemius.php:
|
209 |
msgid "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s."
|
210 |
msgstr ""
|
211 |
|
212 |
-
#: includes/class-freemius.php:
|
213 |
msgid "start the trial"
|
214 |
msgstr ""
|
215 |
|
216 |
-
#: includes/class-freemius.php:
|
217 |
msgid "complete the install"
|
218 |
msgstr ""
|
219 |
|
220 |
-
#: includes/class-freemius.php:
|
221 |
msgid "You are just one step away - %s"
|
222 |
msgstr ""
|
223 |
|
224 |
-
#: includes/class-freemius.php:
|
225 |
msgctxt "%s - plugin name. As complete \"PluginX\" activation now"
|
226 |
msgid "Complete \"%s\" Activation Now"
|
227 |
msgstr ""
|
228 |
|
229 |
-
#: includes/class-freemius.php:
|
230 |
msgid "We made a few tweaks to the %s, %s"
|
231 |
msgstr ""
|
232 |
|
233 |
-
#: includes/class-freemius.php:
|
234 |
msgid "Opt in to make \"%s\" better!"
|
235 |
msgstr ""
|
236 |
|
237 |
-
#: includes/class-freemius.php:
|
238 |
msgid "The upgrade of %s was successfully completed."
|
239 |
msgstr ""
|
240 |
|
241 |
-
#: includes/class-freemius.php:
|
242 |
msgid "Add-On"
|
243 |
msgstr ""
|
244 |
|
245 |
-
#: includes/class-freemius.php:
|
246 |
msgid "Plugin"
|
247 |
msgstr ""
|
248 |
|
249 |
-
#: includes/class-freemius.php:
|
250 |
msgid "Theme"
|
251 |
msgstr ""
|
252 |
|
253 |
-
#: includes/class-freemius.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
254 |
msgid "An unknown error has occurred while trying to set the user's beta mode."
|
255 |
msgstr ""
|
256 |
|
257 |
-
#: includes/class-freemius.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
258 |
msgid "Invalid site details collection."
|
259 |
msgstr ""
|
260 |
|
261 |
-
#: includes/class-freemius.php:
|
262 |
msgid "We couldn't find your email address in the system, are you sure it's the right address?"
|
263 |
msgstr ""
|
264 |
|
265 |
-
#: includes/class-freemius.php:
|
266 |
msgid "We can't see any active licenses associated with that email address, are you sure it's the right address?"
|
267 |
msgstr ""
|
268 |
|
269 |
-
#: includes/class-freemius.php:
|
270 |
msgid "Account is pending activation."
|
271 |
msgstr ""
|
272 |
|
273 |
-
#: includes/class-freemius.php:
|
274 |
msgid "Buy a license now"
|
275 |
msgstr ""
|
276 |
|
277 |
-
#: includes/class-freemius.php:
|
278 |
msgid "Renew your license now"
|
279 |
msgstr ""
|
280 |
|
281 |
-
#: includes/class-freemius.php:
|
282 |
msgid "%s to access version %s security & feature updates, and support."
|
283 |
msgstr ""
|
284 |
|
285 |
-
#: includes/class-freemius.php:
|
286 |
msgid "%s activation was successfully completed."
|
287 |
msgstr ""
|
288 |
|
289 |
-
#: includes/class-freemius.php:
|
290 |
msgid "Your account was successfully activated with the %s plan."
|
291 |
msgstr ""
|
292 |
|
293 |
-
#: includes/class-freemius.php:
|
294 |
msgid "Your trial has been successfully started."
|
295 |
msgstr ""
|
296 |
|
297 |
-
#: includes/class-freemius.php:
|
298 |
msgid "Couldn't activate %s."
|
299 |
msgstr ""
|
300 |
|
301 |
-
#: includes/class-freemius.php:
|
302 |
msgid "Please contact us with the following message:"
|
303 |
msgstr ""
|
304 |
|
305 |
-
#: includes/class-freemius.php:
|
306 |
msgid "An unknown error has occurred."
|
307 |
msgstr ""
|
308 |
|
309 |
-
#: includes/class-freemius.php:
|
310 |
msgid "Upgrade"
|
311 |
msgstr ""
|
312 |
|
313 |
-
#: includes/class-freemius.php:
|
314 |
msgid "Start Trial"
|
315 |
msgstr ""
|
316 |
|
317 |
-
#: includes/class-freemius.php:
|
318 |
msgid "Pricing"
|
319 |
msgstr ""
|
320 |
|
321 |
-
#: includes/class-freemius.php:
|
322 |
msgid "Affiliation"
|
323 |
msgstr ""
|
324 |
|
325 |
-
#: includes/class-freemius.php:
|
326 |
msgid "Account"
|
327 |
msgstr ""
|
328 |
|
329 |
-
#: includes/class-freemius.php:
|
330 |
msgid "Contact Us"
|
331 |
msgstr ""
|
332 |
|
333 |
-
#: includes/class-freemius.php:
|
334 |
msgid "Add-Ons"
|
335 |
msgstr ""
|
336 |
|
337 |
-
#: includes/class-freemius.php:
|
338 |
msgctxt "ASCII arrow left icon"
|
339 |
msgid "←"
|
340 |
msgstr ""
|
341 |
|
342 |
-
#: includes/class-freemius.php:
|
343 |
msgctxt "ASCII arrow right icon"
|
344 |
msgid "➤"
|
345 |
msgstr ""
|
346 |
|
347 |
-
#: includes/class-freemius.php:
|
348 |
msgctxt "noun"
|
349 |
msgid "Pricing"
|
350 |
msgstr ""
|
351 |
|
352 |
-
#: includes/class-freemius.php:
|
353 |
msgid "Support Forum"
|
354 |
msgstr ""
|
355 |
|
356 |
-
#: includes/class-freemius.php:
|
357 |
msgid "Your email has been successfully verified - you are AWESOME!"
|
358 |
msgstr ""
|
359 |
|
360 |
-
#: includes/class-freemius.php:
|
361 |
msgctxt "a positive response"
|
362 |
msgid "Right on"
|
363 |
msgstr ""
|
364 |
|
365 |
-
#: includes/class-freemius.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
366 |
msgid "Your %s Add-on plan was successfully upgraded."
|
367 |
msgstr ""
|
368 |
|
369 |
-
#: includes/class-freemius.php:
|
370 |
msgid "%s Add-on was successfully purchased."
|
371 |
msgstr ""
|
372 |
|
373 |
-
#: includes/class-freemius.php:
|
374 |
msgid "Download the latest version"
|
375 |
msgstr ""
|
376 |
|
377 |
-
#: includes/class-freemius.php:
|
378 |
msgid "Your server is blocking the access to Freemius' API, which is crucial for %1$s synchronization. Please contact your host to whitelist %2$s"
|
379 |
msgstr ""
|
380 |
|
381 |
-
#: includes/class-freemius.php:
|
382 |
msgid "Error received from the server:"
|
383 |
msgstr ""
|
384 |
|
385 |
-
#: includes/class-freemius.php:
|
386 |
msgid "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
|
387 |
msgstr ""
|
388 |
|
389 |
-
#: includes/class-freemius.php:
|
390 |
msgctxt "something somebody says when they are thinking about what you have just said."
|
391 |
msgid "Hmm"
|
392 |
msgstr ""
|
393 |
|
394 |
-
#: includes/class-freemius.php:
|
395 |
msgid "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
|
396 |
msgstr ""
|
397 |
|
398 |
-
#: includes/class-freemius.php:
|
399 |
msgctxt "trial period"
|
400 |
msgid "Trial"
|
401 |
msgstr ""
|
402 |
|
403 |
-
#: includes/class-freemius.php:
|
404 |
msgid "I have upgraded my account but when I try to Sync the License, the plan remains %s."
|
405 |
msgstr ""
|
406 |
|
407 |
-
#: includes/class-freemius.php:
|
408 |
msgid "Please contact us here"
|
409 |
msgstr ""
|
410 |
|
411 |
-
#: includes/class-freemius.php:
|
412 |
msgid "Your plan was successfully activated."
|
413 |
msgstr ""
|
414 |
|
415 |
-
#: includes/class-freemius.php:
|
416 |
msgid "Your plan was successfully upgraded."
|
417 |
msgstr ""
|
418 |
|
419 |
-
#: includes/class-freemius.php:
|
420 |
msgid "Your plan was successfully changed to %s."
|
421 |
msgstr ""
|
422 |
|
423 |
-
#: includes/class-freemius.php:
|
424 |
msgid "Your license has expired. You can still continue using the free %s forever."
|
425 |
msgstr ""
|
426 |
|
427 |
-
#: includes/class-freemius.php:
|
428 |
msgid "Your license has expired. %1$sUpgrade now%2$s to continue using the %3$s without interruptions."
|
429 |
msgstr ""
|
430 |
|
431 |
-
#: includes/class-freemius.php:
|
432 |
msgid "Your license has been cancelled. If you think it's a mistake, please contact support."
|
433 |
msgstr ""
|
434 |
|
435 |
-
#: includes/class-freemius.php:
|
436 |
msgid "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support."
|
437 |
msgstr ""
|
438 |
|
439 |
-
#: includes/class-freemius.php:
|
440 |
msgid "Your free trial has expired. You can still continue using all our free features."
|
441 |
msgstr ""
|
442 |
|
443 |
-
#: includes/class-freemius.php:
|
444 |
msgid "Your free trial has expired. %1$sUpgrade now%2$s to continue using the %3$s without interruptions."
|
445 |
msgstr ""
|
446 |
|
447 |
-
#: includes/class-freemius.php:
|
448 |
msgid "It looks like the license could not be activated."
|
449 |
msgstr ""
|
450 |
|
451 |
-
#: includes/class-freemius.php:
|
452 |
msgid "Your license was successfully activated."
|
453 |
msgstr ""
|
454 |
|
455 |
-
#: includes/class-freemius.php:
|
456 |
msgid "It looks like your site currently doesn't have an active license."
|
457 |
msgstr ""
|
458 |
|
459 |
-
#: includes/class-freemius.php:
|
460 |
msgid "It looks like the license deactivation failed."
|
461 |
msgstr ""
|
462 |
|
463 |
-
#: includes/class-freemius.php:
|
|
|
|
|
|
|
|
|
464 |
msgid "Your license was successfully deactivated, you are back to the %s plan."
|
465 |
msgstr ""
|
466 |
|
467 |
-
#: includes/class-freemius.php:
|
468 |
msgid "O.K"
|
469 |
msgstr ""
|
470 |
|
471 |
-
#: includes/class-freemius.php:
|
472 |
msgid "Seems like we are having some temporary issue with your subscription cancellation. Please try again in few minutes."
|
473 |
msgstr ""
|
474 |
|
475 |
-
#: includes/class-freemius.php:
|
476 |
msgid "Your subscription was successfully cancelled. Your %s plan license will expire in %s."
|
477 |
msgstr ""
|
478 |
|
479 |
-
#: includes/class-freemius.php:
|
480 |
msgid "You are already running the %s in a trial mode."
|
481 |
msgstr ""
|
482 |
|
483 |
-
#: includes/class-freemius.php:
|
484 |
msgid "You already utilized a trial before."
|
485 |
msgstr ""
|
486 |
|
487 |
-
#: includes/class-freemius.php:
|
488 |
msgid "Plan %s do not exist, therefore, can't start a trial."
|
489 |
msgstr ""
|
490 |
|
491 |
-
#: includes/class-freemius.php:
|
492 |
msgid "Plan %s does not support a trial period."
|
493 |
msgstr ""
|
494 |
|
495 |
-
#: includes/class-freemius.php:
|
496 |
msgid "None of the %s's plans supports a trial period."
|
497 |
msgstr ""
|
498 |
|
499 |
-
#: includes/class-freemius.php:
|
500 |
msgid "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
|
501 |
msgstr ""
|
502 |
|
503 |
-
#: includes/class-freemius.php:
|
504 |
msgid "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
|
505 |
msgstr ""
|
506 |
|
507 |
-
#: includes/class-freemius.php:
|
508 |
msgid "Your %s free trial was successfully cancelled."
|
509 |
msgstr ""
|
510 |
|
511 |
-
#: includes/class-freemius.php:
|
512 |
msgid "Version %s was released."
|
513 |
msgstr ""
|
514 |
|
515 |
-
#: includes/class-freemius.php:
|
516 |
msgid "Please download %s."
|
517 |
msgstr ""
|
518 |
|
519 |
-
#: includes/class-freemius.php:
|
520 |
msgid "the latest %s version here"
|
521 |
msgstr ""
|
522 |
|
523 |
-
#: includes/class-freemius.php:
|
524 |
msgid "New"
|
525 |
msgstr ""
|
526 |
|
527 |
-
#: includes/class-freemius.php:
|
528 |
msgid "Seems like you got the latest release."
|
529 |
msgstr ""
|
530 |
|
531 |
-
#: includes/class-freemius.php:
|
532 |
msgid "You are all good!"
|
533 |
msgstr ""
|
534 |
|
535 |
-
#: includes/class-freemius.php:
|
536 |
msgid "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
|
537 |
msgstr ""
|
538 |
|
539 |
-
#: includes/class-freemius.php:
|
540 |
msgid "Site successfully opted in."
|
541 |
msgstr ""
|
542 |
|
543 |
-
#: includes/class-freemius.php:
|
544 |
msgid "Awesome"
|
545 |
msgstr ""
|
546 |
|
547 |
-
#: includes/class-freemius.php:
|
548 |
msgid "We appreciate your help in making the %s better by letting us track some usage data."
|
549 |
msgstr ""
|
550 |
|
551 |
-
#: includes/class-freemius.php:
|
552 |
msgid "Thank you!"
|
553 |
msgstr ""
|
554 |
|
555 |
-
#: includes/class-freemius.php:
|
556 |
msgid "We will no longer be sending any usage data of %s on %s to %s."
|
557 |
msgstr ""
|
558 |
|
559 |
-
#: includes/class-freemius.php:
|
560 |
msgid "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
|
561 |
msgstr ""
|
562 |
|
563 |
-
#: includes/class-freemius.php:
|
564 |
msgid "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
|
565 |
msgstr ""
|
566 |
|
567 |
-
#: includes/class-freemius.php:
|
568 |
msgid "%s is the new owner of the account."
|
569 |
msgstr ""
|
570 |
|
571 |
-
#: includes/class-freemius.php:
|
572 |
msgctxt "as congratulations"
|
573 |
msgid "Congrats"
|
574 |
msgstr ""
|
575 |
|
576 |
-
#: includes/class-freemius.php:
|
577 |
-
msgid "Sorry, we could not complete the email update. Another user with the same email is already registered."
|
578 |
-
msgstr ""
|
579 |
-
|
580 |
-
#: includes/class-freemius.php:20422
|
581 |
-
msgid "If you would like to give up the ownership of the %s's account to %s click the Change Ownership button."
|
582 |
-
msgstr ""
|
583 |
-
|
584 |
-
#: includes/class-freemius.php:20429
|
585 |
-
msgid "Change Ownership"
|
586 |
-
msgstr ""
|
587 |
-
|
588 |
-
#: includes/class-freemius.php:20437
|
589 |
msgid "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
|
590 |
msgstr ""
|
591 |
|
592 |
-
#: includes/class-freemius.php:
|
593 |
msgid "Please provide your full name."
|
594 |
msgstr ""
|
595 |
|
596 |
-
#: includes/class-freemius.php:
|
597 |
msgid "Your name was successfully updated."
|
598 |
msgstr ""
|
599 |
|
600 |
-
#: includes/class-freemius.php:
|
601 |
msgid "You have successfully updated your %s."
|
602 |
msgstr ""
|
603 |
|
604 |
-
#: includes/class-freemius.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
605 |
msgid "Just letting you know that the add-ons information of %s is being pulled from an external server."
|
606 |
msgstr ""
|
607 |
|
608 |
-
#: includes/class-freemius.php:
|
609 |
msgctxt "advance notice of something that will need attention."
|
610 |
msgid "Heads up"
|
611 |
msgstr ""
|
612 |
|
613 |
-
#: includes/class-freemius.php:
|
614 |
msgctxt "exclamation"
|
615 |
msgid "Hey"
|
616 |
msgstr ""
|
617 |
|
618 |
-
#: includes/class-freemius.php:
|
619 |
msgid "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
|
620 |
msgstr ""
|
621 |
|
622 |
-
#: includes/class-freemius.php:
|
623 |
msgid "No commitment for %s days - cancel anytime!"
|
624 |
msgstr ""
|
625 |
|
626 |
-
#: includes/class-freemius.php:
|
627 |
msgid "No credit card required"
|
628 |
msgstr ""
|
629 |
|
630 |
-
#: includes/class-freemius.php:
|
631 |
msgctxt "call to action"
|
632 |
msgid "Start free trial"
|
633 |
msgstr ""
|
634 |
|
635 |
-
#: includes/class-freemius.php:
|
636 |
msgid "Hey there, did you know that %s has an affiliate program? If you like the %s you can become our ambassador and earn some cash!"
|
637 |
msgstr ""
|
638 |
|
639 |
-
#: includes/class-freemius.php:
|
640 |
msgid "Learn more"
|
641 |
msgstr ""
|
642 |
|
643 |
-
#: includes/class-freemius.php:
|
644 |
msgid "Activate License"
|
645 |
msgstr ""
|
646 |
|
647 |
-
#: includes/class-freemius.php:
|
648 |
msgid "Change License"
|
649 |
msgstr ""
|
650 |
|
651 |
-
#: includes/class-freemius.php:
|
652 |
msgid "Opt Out"
|
653 |
msgstr ""
|
654 |
|
655 |
-
#: includes/class-freemius.php:
|
656 |
msgid "Opt In"
|
657 |
msgstr ""
|
658 |
|
659 |
-
#: includes/class-freemius.php:
|
660 |
msgid " The paid version of %1$s is already installed. Please activate it to start benefiting the %2$s features. %3$s"
|
661 |
msgstr ""
|
662 |
|
663 |
-
#: includes/class-freemius.php:
|
664 |
msgid "Activate %s features"
|
665 |
msgstr ""
|
666 |
|
667 |
-
#: includes/class-freemius.php:
|
668 |
msgid "Please follow these steps to complete the upgrade"
|
669 |
msgstr ""
|
670 |
|
671 |
-
#: includes/class-freemius.php:
|
672 |
msgid "Download the latest %s version"
|
673 |
msgstr ""
|
674 |
|
675 |
-
#: includes/class-freemius.php:
|
676 |
msgid "Upload and activate the downloaded version"
|
677 |
msgstr ""
|
678 |
|
679 |
-
#: includes/class-freemius.php:
|
680 |
msgid "How to upload and activate?"
|
681 |
msgstr ""
|
682 |
|
683 |
-
#: includes/class-freemius.php:
|
684 |
msgid "%sClick here%s to choose the sites where you'd like to activate the license on."
|
685 |
msgstr ""
|
686 |
|
687 |
-
#: includes/class-freemius.php:
|
688 |
msgid "Auto installation only works for opted-in users."
|
689 |
msgstr ""
|
690 |
|
691 |
-
#: includes/class-freemius.php:
|
692 |
msgid "Invalid module ID."
|
693 |
msgstr ""
|
694 |
|
695 |
-
#: includes/class-freemius.php:
|
696 |
msgid "Premium version already active."
|
697 |
msgstr ""
|
698 |
|
699 |
-
#: includes/class-freemius.php:
|
700 |
msgid "You do not have a valid license to access the premium version."
|
701 |
msgstr ""
|
702 |
|
703 |
-
#: includes/class-freemius.php:
|
704 |
msgid "Plugin is a \"Serviceware\" which means it does not have a premium code version."
|
705 |
msgstr ""
|
706 |
|
707 |
-
#: includes/class-freemius.php:
|
708 |
msgid "Premium add-on version already installed."
|
709 |
msgstr ""
|
710 |
|
711 |
-
#: includes/class-freemius.php:
|
712 |
msgid "View paid features"
|
713 |
msgstr ""
|
714 |
|
715 |
-
#: includes/class-freemius.php:
|
716 |
msgid "Thank you so much for using %s and its add-ons!"
|
717 |
msgstr ""
|
718 |
|
719 |
-
#: includes/class-freemius.php:
|
720 |
msgid "Thank you so much for using %s!"
|
721 |
msgstr ""
|
722 |
|
723 |
-
#: includes/class-freemius.php:
|
724 |
msgid "You've already opted-in to our usage-tracking, which helps us keep improving the %s."
|
725 |
msgstr ""
|
726 |
|
727 |
-
#: includes/class-freemius.php:
|
728 |
msgid "Thank you so much for using our products!"
|
729 |
msgstr ""
|
730 |
|
731 |
-
#: includes/class-freemius.php:
|
732 |
msgid "You've already opted-in to our usage-tracking, which helps us keep improving them."
|
733 |
msgstr ""
|
734 |
|
735 |
-
#: includes/class-freemius.php:
|
736 |
msgid "%s and its add-ons"
|
737 |
msgstr ""
|
738 |
|
739 |
-
#: includes/class-freemius.php:
|
740 |
msgid "Products"
|
741 |
msgstr ""
|
742 |
|
743 |
-
#: includes/class-freemius.php:
|
744 |
msgid "Yes"
|
745 |
msgstr ""
|
746 |
|
747 |
-
#: includes/class-freemius.php:
|
748 |
msgid "send me security & feature updates, educational content and offers."
|
749 |
msgstr ""
|
750 |
|
751 |
-
#: includes/class-freemius.php:
|
752 |
msgid "No"
|
753 |
msgstr ""
|
754 |
|
755 |
-
#: includes/class-freemius.php:
|
756 |
msgid "do %sNOT%s send me security & feature updates, educational content and offers."
|
757 |
msgstr ""
|
758 |
|
759 |
-
#: includes/class-freemius.php:
|
760 |
msgid "Due to the new %sEU General Data Protection Regulation (GDPR)%s compliance requirements it is required that you provide your explicit consent, again, confirming that you are onboard :-)"
|
761 |
msgstr ""
|
762 |
|
763 |
-
#: includes/class-freemius.php:
|
764 |
msgid "Please let us know if you'd like us to contact you for security & feature updates, educational content, and occasional offers:"
|
765 |
msgstr ""
|
766 |
|
767 |
-
#: includes/class-freemius.php:
|
768 |
msgid "License key is empty."
|
769 |
msgstr ""
|
770 |
|
771 |
-
#: includes/class-fs-plugin-updater.php:
|
772 |
msgid "Renew license"
|
773 |
msgstr ""
|
774 |
|
775 |
-
#: includes/class-fs-plugin-updater.php:
|
776 |
msgid "Buy license"
|
777 |
msgstr ""
|
778 |
|
779 |
-
#: includes/class-fs-plugin-updater.php:
|
780 |
msgid "There is a %s of %s available."
|
781 |
msgstr ""
|
782 |
|
783 |
-
#: includes/class-fs-plugin-updater.php:
|
784 |
msgid "new Beta version"
|
785 |
msgstr ""
|
786 |
|
787 |
-
#: includes/class-fs-plugin-updater.php:
|
788 |
msgid "new version"
|
789 |
msgstr ""
|
790 |
|
791 |
-
#: includes/class-fs-plugin-updater.php:
|
792 |
msgid "Important Upgrade Notice:"
|
793 |
msgstr ""
|
794 |
|
795 |
-
#: includes/class-fs-plugin-updater.php:
|
796 |
msgid "Installing plugin: %s"
|
797 |
msgstr ""
|
798 |
|
799 |
-
#: includes/class-fs-plugin-updater.php:
|
800 |
msgid "Unable to connect to the filesystem. Please confirm your credentials."
|
801 |
msgstr ""
|
802 |
|
803 |
-
#: includes/class-fs-plugin-updater.php:
|
804 |
msgid "The remote plugin package does not contain a folder with the desired slug and renaming did not work."
|
805 |
msgstr ""
|
806 |
|
807 |
-
#: includes/fs-plugin-info-dialog.php:
|
808 |
msgid "Purchase More"
|
809 |
msgstr ""
|
810 |
|
811 |
-
#: includes/fs-plugin-info-dialog.php:
|
812 |
msgctxt "verb"
|
813 |
msgid "Purchase"
|
814 |
msgstr ""
|
815 |
|
816 |
-
#: includes/fs-plugin-info-dialog.php:
|
817 |
msgid "Start my free %s"
|
818 |
msgstr ""
|
819 |
|
820 |
-
#: includes/fs-plugin-info-dialog.php:
|
821 |
msgid "Install Free Version Update Now"
|
822 |
msgstr ""
|
823 |
|
824 |
-
#: includes/fs-plugin-info-dialog.php:
|
825 |
msgid "Install Update Now"
|
826 |
msgstr ""
|
827 |
|
828 |
-
#: includes/fs-plugin-info-dialog.php:
|
829 |
msgid "Install Free Version Now"
|
830 |
msgstr ""
|
831 |
|
832 |
-
#: includes/fs-plugin-info-dialog.php:
|
833 |
msgid "Install Now"
|
834 |
msgstr ""
|
835 |
|
836 |
-
#: includes/fs-plugin-info-dialog.php:
|
837 |
msgctxt "as download latest version"
|
838 |
msgid "Download Latest Free Version"
|
839 |
msgstr ""
|
840 |
|
841 |
-
#: includes/fs-plugin-info-dialog.php:
|
842 |
msgctxt "as download latest version"
|
843 |
msgid "Download Latest"
|
844 |
msgstr ""
|
845 |
|
846 |
-
#: includes/fs-plugin-info-dialog.php:
|
847 |
msgid "Activate this add-on"
|
848 |
msgstr ""
|
849 |
|
850 |
-
#: includes/fs-plugin-info-dialog.php:
|
851 |
msgid "Activate Free Version"
|
852 |
msgstr ""
|
853 |
|
854 |
-
#: includes/fs-plugin-info-dialog.php:
|
855 |
msgid "Activate"
|
856 |
msgstr ""
|
857 |
|
858 |
-
#: includes/fs-plugin-info-dialog.php:
|
859 |
msgctxt "Plugin installer section title"
|
860 |
msgid "Description"
|
861 |
msgstr ""
|
862 |
|
863 |
-
#: includes/fs-plugin-info-dialog.php:
|
864 |
msgctxt "Plugin installer section title"
|
865 |
msgid "Installation"
|
866 |
msgstr ""
|
867 |
|
868 |
-
#: includes/fs-plugin-info-dialog.php:
|
869 |
msgctxt "Plugin installer section title"
|
870 |
msgid "FAQ"
|
871 |
msgstr ""
|
872 |
|
873 |
-
#: includes/fs-plugin-info-dialog.php:
|
874 |
msgid "Screenshots"
|
875 |
msgstr ""
|
876 |
|
877 |
-
#: includes/fs-plugin-info-dialog.php:
|
878 |
msgctxt "Plugin installer section title"
|
879 |
msgid "Changelog"
|
880 |
msgstr ""
|
881 |
|
882 |
-
#: includes/fs-plugin-info-dialog.php:
|
883 |
msgctxt "Plugin installer section title"
|
884 |
msgid "Reviews"
|
885 |
msgstr ""
|
886 |
|
887 |
-
#: includes/fs-plugin-info-dialog.php:
|
888 |
msgctxt "Plugin installer section title"
|
889 |
msgid "Other Notes"
|
890 |
msgstr ""
|
891 |
|
892 |
-
#: includes/fs-plugin-info-dialog.php:
|
893 |
msgctxt "Plugin installer section title"
|
894 |
msgid "Features & Pricing"
|
895 |
msgstr ""
|
896 |
|
897 |
-
#: includes/fs-plugin-info-dialog.php:
|
898 |
msgid "Plugin Install"
|
899 |
msgstr ""
|
900 |
|
901 |
-
#: includes/fs-plugin-info-dialog.php:
|
902 |
msgctxt "e.g. Professional Plan"
|
903 |
msgid "%s Plan"
|
904 |
msgstr ""
|
905 |
|
906 |
-
#: includes/fs-plugin-info-dialog.php:
|
907 |
msgctxt "e.g. the best product"
|
908 |
msgid "Best"
|
909 |
msgstr ""
|
910 |
|
911 |
-
#: includes/fs-plugin-info-dialog.php:
|
912 |
msgctxt "as every month"
|
913 |
msgid "Monthly"
|
914 |
msgstr ""
|
915 |
|
916 |
-
#: includes/fs-plugin-info-dialog.php:
|
917 |
msgctxt "as once a year"
|
918 |
msgid "Annual"
|
919 |
msgstr ""
|
920 |
|
921 |
-
#: includes/fs-plugin-info-dialog.php:
|
922 |
msgid "Lifetime"
|
923 |
msgstr ""
|
924 |
|
925 |
-
#: includes/fs-plugin-info-dialog.php:
|
926 |
msgctxt "e.g. billed monthly"
|
927 |
msgid "Billed %s"
|
928 |
msgstr ""
|
929 |
|
930 |
-
#: includes/fs-plugin-info-dialog.php:
|
931 |
msgctxt "as once a year"
|
932 |
msgid "Annually"
|
933 |
msgstr ""
|
934 |
|
935 |
-
#: includes/fs-plugin-info-dialog.php:
|
936 |
msgctxt "as once a year"
|
937 |
msgid "Once"
|
938 |
msgstr ""
|
939 |
|
940 |
-
#: includes/fs-plugin-info-dialog.php:
|
941 |
msgid "Single Site License"
|
942 |
msgstr ""
|
943 |
|
944 |
-
#: includes/fs-plugin-info-dialog.php:
|
945 |
msgid "Unlimited Licenses"
|
946 |
msgstr ""
|
947 |
|
948 |
-
#: includes/fs-plugin-info-dialog.php:
|
949 |
msgid "Up to %s Sites"
|
950 |
msgstr ""
|
951 |
|
952 |
-
#: includes/fs-plugin-info-dialog.php:
|
953 |
msgctxt "as monthly period"
|
954 |
msgid "mo"
|
955 |
msgstr ""
|
956 |
|
957 |
-
#: includes/fs-plugin-info-dialog.php:
|
958 |
msgctxt "as annual period"
|
959 |
msgid "year"
|
960 |
msgstr ""
|
961 |
|
962 |
-
#: includes/fs-plugin-info-dialog.php:
|
963 |
msgctxt "noun"
|
964 |
msgid "Price"
|
965 |
msgstr ""
|
966 |
|
967 |
-
#: includes/fs-plugin-info-dialog.php:
|
968 |
msgid "Save %s"
|
969 |
msgstr ""
|
970 |
|
971 |
-
#: includes/fs-plugin-info-dialog.php:
|
972 |
msgid "No commitment for %s - cancel anytime"
|
973 |
msgstr ""
|
974 |
|
975 |
-
#: includes/fs-plugin-info-dialog.php:
|
976 |
msgid "After your free %s, pay as little as %s"
|
977 |
msgstr ""
|
978 |
|
979 |
-
#: includes/fs-plugin-info-dialog.php:
|
980 |
msgid "Details"
|
981 |
msgstr ""
|
982 |
|
983 |
-
#: includes/fs-plugin-info-dialog.php:
|
984 |
msgctxt "product version"
|
985 |
msgid "Version"
|
986 |
msgstr ""
|
987 |
|
988 |
-
#: includes/fs-plugin-info-dialog.php:
|
989 |
msgctxt "as the plugin author"
|
990 |
msgid "Author"
|
991 |
msgstr ""
|
992 |
|
993 |
-
#: includes/fs-plugin-info-dialog.php:
|
994 |
msgid "Last Updated"
|
995 |
msgstr ""
|
996 |
|
997 |
-
#: includes/fs-plugin-info-dialog.php:
|
998 |
msgctxt "x-ago"
|
999 |
msgid "%s ago"
|
1000 |
msgstr ""
|
1001 |
|
1002 |
-
#: includes/fs-plugin-info-dialog.php:
|
1003 |
msgid "Requires WordPress Version"
|
1004 |
msgstr ""
|
1005 |
|
1006 |
-
#: includes/fs-plugin-info-dialog.php:
|
1007 |
msgid "%s or higher"
|
1008 |
msgstr ""
|
1009 |
|
1010 |
-
#: includes/fs-plugin-info-dialog.php:
|
1011 |
msgid "Compatible up to"
|
1012 |
msgstr ""
|
1013 |
|
1014 |
-
#: includes/fs-plugin-info-dialog.php:
|
1015 |
msgid "Downloaded"
|
1016 |
msgstr ""
|
1017 |
|
1018 |
-
#: includes/fs-plugin-info-dialog.php:
|
1019 |
msgid "%s time"
|
1020 |
msgstr ""
|
1021 |
|
1022 |
-
#: includes/fs-plugin-info-dialog.php:
|
1023 |
msgid "%s times"
|
1024 |
msgstr ""
|
1025 |
|
1026 |
-
#: includes/fs-plugin-info-dialog.php:
|
1027 |
msgid "WordPress.org Plugin Page"
|
1028 |
msgstr ""
|
1029 |
|
1030 |
-
#: includes/fs-plugin-info-dialog.php:
|
1031 |
msgid "Plugin Homepage"
|
1032 |
msgstr ""
|
1033 |
|
1034 |
-
#: includes/fs-plugin-info-dialog.php:
|
1035 |
msgid "Donate to this plugin"
|
1036 |
msgstr ""
|
1037 |
|
1038 |
-
#: includes/fs-plugin-info-dialog.php:
|
1039 |
msgid "Average Rating"
|
1040 |
msgstr ""
|
1041 |
|
1042 |
-
#: includes/fs-plugin-info-dialog.php:
|
1043 |
msgid "based on %s"
|
1044 |
msgstr ""
|
1045 |
|
1046 |
-
#: includes/fs-plugin-info-dialog.php:
|
1047 |
msgid "%s rating"
|
1048 |
msgstr ""
|
1049 |
|
1050 |
-
#: includes/fs-plugin-info-dialog.php:
|
1051 |
msgid "%s ratings"
|
1052 |
msgstr ""
|
1053 |
|
1054 |
-
#: includes/fs-plugin-info-dialog.php:
|
1055 |
msgid "%s star"
|
1056 |
msgstr ""
|
1057 |
|
1058 |
-
#: includes/fs-plugin-info-dialog.php:
|
1059 |
msgid "%s stars"
|
1060 |
msgstr ""
|
1061 |
|
1062 |
-
#: includes/fs-plugin-info-dialog.php:
|
1063 |
msgid "Click to see reviews that provided a rating of %s"
|
1064 |
msgstr ""
|
1065 |
|
1066 |
-
#: includes/fs-plugin-info-dialog.php:
|
1067 |
msgid "Contributors"
|
1068 |
msgstr ""
|
1069 |
|
1070 |
-
#: includes/fs-plugin-info-dialog.php:
|
1071 |
msgid "Warning"
|
1072 |
msgstr ""
|
1073 |
|
1074 |
-
#: includes/fs-plugin-info-dialog.php:
|
1075 |
msgid "This plugin has not been tested with your current version of WordPress."
|
1076 |
msgstr ""
|
1077 |
|
1078 |
-
#: includes/fs-plugin-info-dialog.php:
|
1079 |
msgid "This plugin has not been marked as compatible with your version of WordPress."
|
1080 |
msgstr ""
|
1081 |
|
1082 |
-
#: includes/fs-plugin-info-dialog.php:
|
1083 |
msgid "Paid add-on must be deployed to Freemius."
|
1084 |
msgstr ""
|
1085 |
|
1086 |
-
#: includes/fs-plugin-info-dialog.php:
|
1087 |
msgid "Add-on must be deployed to WordPress.org or Freemius."
|
1088 |
msgstr ""
|
1089 |
|
1090 |
-
#: includes/fs-plugin-info-dialog.php:
|
1091 |
msgid "Newer Version (%s) Installed"
|
1092 |
msgstr ""
|
1093 |
|
1094 |
-
#: includes/fs-plugin-info-dialog.php:
|
1095 |
msgid "Newer Free Version (%s) Installed"
|
1096 |
msgstr ""
|
1097 |
|
1098 |
-
#: includes/fs-plugin-info-dialog.php:
|
1099 |
msgid "Latest Version Installed"
|
1100 |
msgstr ""
|
1101 |
|
1102 |
-
#: includes/fs-plugin-info-dialog.php:
|
1103 |
msgid "Latest Free Version Installed"
|
1104 |
msgstr ""
|
1105 |
|
1106 |
-
#: templates/account.php:
|
1107 |
msgid "Downgrading your plan"
|
1108 |
msgstr ""
|
1109 |
|
1110 |
-
#: templates/account.php:
|
1111 |
msgid "Cancelling the subscription"
|
1112 |
msgstr ""
|
1113 |
|
1114 |
#. translators: %1$s: Either 'Downgrading your plan' or 'Cancelling the subscription'
|
1115 |
-
#: templates/account.php:
|
1116 |
msgid "%1$s will immediately stop all future recurring payments and your %2$s plan license will expire in %3$s."
|
1117 |
msgstr ""
|
1118 |
|
1119 |
-
#: templates/account.php:
|
1120 |
msgid "Please note that we will not be able to grandfather outdated pricing for renewals/new subscriptions after a cancellation. If you choose to renew the subscription manually in the future, after a price increase, which typically occurs once a year, you will be charged the updated price."
|
1121 |
msgstr ""
|
1122 |
|
1123 |
-
#: templates/account.php:
|
1124 |
msgid "Cancelling the trial will immediately block access to all premium features. Are you sure?"
|
1125 |
msgstr ""
|
1126 |
|
1127 |
-
#: templates/account.php:
|
1128 |
msgid "You can still enjoy all %s features but you will not have access to %s security & feature updates, nor support."
|
1129 |
msgstr ""
|
1130 |
|
1131 |
-
#: templates/account.php:
|
1132 |
msgid "Once your license expires you can still use the Free version but you will NOT have access to the %s features."
|
1133 |
msgstr ""
|
1134 |
|
1135 |
#. translators: %s: Plan title (e.g. "Professional")
|
1136 |
-
#: templates/account.php:
|
1137 |
msgid "Activate %s Plan"
|
1138 |
msgstr ""
|
1139 |
|
1140 |
#. translators: %s: Time period (e.g. Auto renews in "2 months")
|
1141 |
-
#: templates/account.php:
|
1142 |
msgid "Auto renews in %s"
|
1143 |
msgstr ""
|
1144 |
|
1145 |
#. translators: %s: Time period (e.g. Expires in "2 months")
|
1146 |
-
#: templates/account.php:
|
1147 |
msgid "Expires in %s"
|
1148 |
msgstr ""
|
1149 |
|
1150 |
-
#: templates/account.php:
|
1151 |
msgctxt "as synchronize license"
|
1152 |
msgid "Sync License"
|
1153 |
msgstr ""
|
1154 |
|
1155 |
-
#: templates/account.php:
|
1156 |
msgid "Cancel Trial"
|
1157 |
msgstr ""
|
1158 |
|
1159 |
-
#: templates/account.php:
|
1160 |
msgid "Change Plan"
|
1161 |
msgstr ""
|
1162 |
|
1163 |
-
#: templates/account.php:
|
1164 |
msgctxt "verb"
|
1165 |
msgid "Upgrade"
|
1166 |
msgstr ""
|
1167 |
|
1168 |
-
#: templates/account.php:
|
1169 |
msgctxt "verb"
|
1170 |
msgid "Downgrade"
|
1171 |
msgstr ""
|
1172 |
|
1173 |
-
#: templates/account.php:
|
1174 |
msgid "Free"
|
1175 |
msgstr ""
|
1176 |
|
1177 |
-
#: templates/account.php:
|
1178 |
msgctxt "as product pricing plan"
|
1179 |
msgid "Plan"
|
1180 |
msgstr ""
|
1181 |
|
1182 |
-
#: templates/account.php:
|
1183 |
msgid "Bundle Plan"
|
1184 |
msgstr ""
|
1185 |
|
1186 |
-
#: templates/account.php:
|
1187 |
msgid "Free Trial"
|
1188 |
msgstr ""
|
1189 |
|
1190 |
-
#: templates/account.php:
|
1191 |
msgid "Account Details"
|
1192 |
msgstr ""
|
1193 |
|
1194 |
-
#: templates/account.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1195 |
msgid "Billing & Invoices"
|
1196 |
msgstr ""
|
1197 |
|
1198 |
-
#: templates/account.php:
|
1199 |
msgid "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
|
1200 |
msgstr ""
|
1201 |
|
1202 |
-
#: templates/account.php:
|
1203 |
msgid "Deletion is not temporary. Only delete if you no longer want to use this %s anymore. Are you sure you would like to continue with the deletion?"
|
1204 |
msgstr ""
|
1205 |
|
1206 |
-
#: templates/account.php:
|
1207 |
msgid "Delete Account"
|
1208 |
msgstr ""
|
1209 |
|
1210 |
-
#: templates/account.php:
|
1211 |
msgid "Deactivate License"
|
1212 |
msgstr ""
|
1213 |
|
1214 |
-
#: templates/account.php:
|
1215 |
msgid "Are you sure you want to proceed?"
|
1216 |
msgstr ""
|
1217 |
|
1218 |
-
#: templates/account.php:
|
1219 |
msgid "Cancel Subscription"
|
1220 |
msgstr ""
|
1221 |
|
1222 |
-
#: templates/account.php:
|
1223 |
msgctxt "as synchronize"
|
1224 |
msgid "Sync"
|
1225 |
msgstr ""
|
1226 |
|
1227 |
-
#: templates/account.php:
|
1228 |
msgid "Name"
|
1229 |
msgstr ""
|
1230 |
|
1231 |
-
#: templates/account.php:
|
1232 |
msgid "Email"
|
1233 |
msgstr ""
|
1234 |
|
1235 |
-
#: templates/account.php:
|
1236 |
msgid "User ID"
|
1237 |
msgstr ""
|
1238 |
|
1239 |
-
#: templates/account.php:
|
1240 |
msgid "ID"
|
1241 |
msgstr ""
|
1242 |
|
1243 |
-
#: templates/account.php:
|
1244 |
msgid "Site ID"
|
1245 |
msgstr ""
|
1246 |
|
1247 |
-
#: templates/account.php:
|
1248 |
msgid "No ID"
|
1249 |
msgstr ""
|
1250 |
|
1251 |
-
#: templates/account.php:
|
1252 |
msgid "Public Key"
|
1253 |
msgstr ""
|
1254 |
|
1255 |
-
#: templates/account.php:
|
1256 |
msgid "Secret Key"
|
1257 |
msgstr ""
|
1258 |
|
1259 |
-
#: templates/account.php:
|
1260 |
msgctxt "as secret encryption key missing"
|
1261 |
msgid "No Secret"
|
1262 |
msgstr ""
|
1263 |
|
1264 |
-
#: templates/account.php:
|
1265 |
msgid "Trial"
|
1266 |
msgstr ""
|
1267 |
|
1268 |
-
#: templates/account.php:
|
1269 |
msgid "License Key"
|
1270 |
msgstr ""
|
1271 |
|
1272 |
-
#: templates/account.php:
|
1273 |
msgid "Join the Beta program"
|
1274 |
msgstr ""
|
1275 |
|
1276 |
-
#: templates/account.php:
|
1277 |
msgid "not verified"
|
1278 |
msgstr ""
|
1279 |
|
1280 |
-
#: templates/account.php:
|
1281 |
msgid "Expired"
|
1282 |
msgstr ""
|
1283 |
|
1284 |
-
#: templates/account.php:
|
1285 |
msgid "Premium version"
|
1286 |
msgstr ""
|
1287 |
|
1288 |
-
#: templates/account.php:
|
1289 |
msgid "Free version"
|
1290 |
msgstr ""
|
1291 |
|
1292 |
-
#: templates/account.php:
|
1293 |
msgid "Verify Email"
|
1294 |
msgstr ""
|
1295 |
|
1296 |
-
#: templates/account.php:
|
1297 |
msgid "Download %s Version"
|
1298 |
msgstr ""
|
1299 |
|
1300 |
-
#: templates/account.php:
|
|
|
|
|
|
|
|
|
1301 |
msgctxt "verb"
|
1302 |
msgid "Show"
|
1303 |
msgstr ""
|
1304 |
|
1305 |
-
#: templates/account.php:
|
1306 |
msgid "What is your %s?"
|
1307 |
msgstr ""
|
1308 |
|
1309 |
-
#: templates/account.php:
|
1310 |
msgctxt "verb"
|
1311 |
msgid "Edit"
|
1312 |
msgstr ""
|
1313 |
|
1314 |
-
#: templates/account.php:
|
|
|
|
|
|
|
|
|
1315 |
msgid "Sites"
|
1316 |
msgstr ""
|
1317 |
|
1318 |
-
#: templates/account.php:
|
1319 |
msgid "Search by address"
|
1320 |
msgstr ""
|
1321 |
|
1322 |
-
#: templates/account.php:
|
1323 |
msgid "Address"
|
1324 |
msgstr ""
|
1325 |
|
1326 |
-
#: templates/account.php:
|
1327 |
msgid "License"
|
1328 |
msgstr ""
|
1329 |
|
1330 |
-
#: templates/account.php:
|
1331 |
msgid "Plan"
|
1332 |
msgstr ""
|
1333 |
|
1334 |
-
#: templates/account.php:
|
1335 |
msgctxt "as software license"
|
1336 |
msgid "License"
|
1337 |
msgstr ""
|
1338 |
|
1339 |
-
#: templates/account.php:
|
1340 |
msgctxt "verb"
|
1341 |
msgid "Hide"
|
1342 |
msgstr ""
|
1343 |
|
1344 |
-
#: templates/account.php:
|
1345 |
msgid "Processing"
|
1346 |
msgstr ""
|
1347 |
|
1348 |
-
#: templates/account.php:
|
1349 |
msgid "Get updates for bleeding edge Beta versions of %s."
|
1350 |
msgstr ""
|
1351 |
|
1352 |
-
#: templates/account.php:
|
1353 |
msgid "Cancelling %s"
|
1354 |
msgstr ""
|
1355 |
|
1356 |
-
#: templates/account.php:
|
1357 |
msgid "trial"
|
1358 |
msgstr ""
|
1359 |
|
1360 |
-
#: templates/account.php:
|
1361 |
msgid "Cancelling %s..."
|
1362 |
msgstr ""
|
1363 |
|
1364 |
-
#: templates/account.php:
|
1365 |
msgid "subscription"
|
1366 |
msgstr ""
|
1367 |
|
1368 |
-
#: templates/account.php:
|
1369 |
msgid "Deactivating your license will block all premium features, but will enable activating the license on another site. Are you sure you want to proceed?"
|
1370 |
msgstr ""
|
1371 |
|
1372 |
-
#: templates/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1373 |
msgid "View details"
|
1374 |
msgstr ""
|
1375 |
|
1376 |
-
#: templates/add-ons.php:
|
1377 |
msgid "Add Ons for %s"
|
1378 |
msgstr ""
|
1379 |
|
1380 |
-
#: templates/add-ons.php:
|
1381 |
-
msgid "We
|
1382 |
msgstr ""
|
1383 |
|
1384 |
-
#: templates/add-ons.php:
|
1385 |
msgctxt "active add-on"
|
1386 |
msgid "Active"
|
1387 |
msgstr ""
|
1388 |
|
1389 |
-
#: templates/add-ons.php:
|
1390 |
msgctxt "installed add-on"
|
1391 |
msgid "Installed"
|
1392 |
msgstr ""
|
1393 |
|
1394 |
-
#: templates/admin-notice.php:13, templates/forms/license-activation.php:
|
1395 |
msgctxt "as close a window"
|
1396 |
msgid "Dismiss"
|
1397 |
msgstr ""
|
@@ -1430,157 +1494,165 @@ msgctxt "greeting"
|
|
1430 |
msgid "Hey %s,"
|
1431 |
msgstr ""
|
1432 |
|
1433 |
-
#: templates/connect.php:
|
1434 |
msgid "Allow & Continue"
|
1435 |
msgstr ""
|
1436 |
|
1437 |
-
#: templates/connect.php:
|
1438 |
msgid "Re-send activation email"
|
1439 |
msgstr ""
|
1440 |
|
1441 |
-
#: templates/connect.php:
|
1442 |
msgid "Thanks %s!"
|
1443 |
msgstr ""
|
1444 |
|
1445 |
-
#: templates/connect.php:
|
1446 |
msgid "Agree & Activate License"
|
1447 |
msgstr ""
|
1448 |
|
1449 |
-
#: templates/connect.php:
|
1450 |
msgid "Thanks for purchasing %s! To get started, please enter your license key:"
|
1451 |
msgstr ""
|
1452 |
|
1453 |
-
#: templates/connect.php:
|
1454 |
msgid "Never miss an important update - opt in to our security & feature updates notifications, educational content, offers, and non-sensitive diagnostic tracking with %4$s."
|
1455 |
msgstr ""
|
1456 |
|
1457 |
-
#: templates/connect.php:
|
1458 |
msgid "Never miss an important update - opt in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
|
1459 |
msgstr ""
|
1460 |
|
1461 |
-
#: templates/connect.php:
|
1462 |
msgid "Never miss an important update - opt in to our security & feature updates notifications, educational content, offers, and non-sensitive diagnostic tracking with %4$s. If you skip this, that's okay! %1$s will still work just fine."
|
1463 |
msgstr ""
|
1464 |
|
1465 |
-
#: templates/connect.php:
|
1466 |
msgid "Never miss an important update - opt in to our security & feature updates notifications, and non-sensitive diagnostic tracking with %4$s. If you skip this, that's okay! %1$s will still work just fine."
|
1467 |
msgstr ""
|
1468 |
|
1469 |
-
#: templates/connect.php:
|
1470 |
msgid "We're excited to introduce the Freemius network-level integration."
|
1471 |
msgstr ""
|
1472 |
|
1473 |
-
#: templates/connect.php:
|
1474 |
msgid "During the update process we detected %d site(s) that are still pending license activation."
|
1475 |
msgstr ""
|
1476 |
|
1477 |
-
#: templates/connect.php:
|
1478 |
msgid "If you'd like to use the %s on those sites, please enter your license key below and click the activation button."
|
1479 |
msgstr ""
|
1480 |
|
1481 |
-
#: templates/connect.php:
|
1482 |
msgid "%s's paid features"
|
1483 |
msgstr ""
|
1484 |
|
1485 |
-
#: templates/connect.php:
|
1486 |
msgid "Alternatively, you can skip it for now and activate the license later, in your %s's network-level Account page."
|
1487 |
msgstr ""
|
1488 |
|
1489 |
-
#: templates/connect.php:
|
1490 |
msgid "During the update process we detected %s site(s) in the network that are still pending your attention."
|
1491 |
msgstr ""
|
1492 |
|
1493 |
-
#: templates/connect.php:
|
1494 |
msgid "License key"
|
1495 |
msgstr ""
|
1496 |
|
1497 |
-
#: templates/connect.php:
|
1498 |
msgid "Can't find your license key?"
|
1499 |
msgstr ""
|
1500 |
|
1501 |
-
#: templates/connect.php:
|
1502 |
msgctxt "verb"
|
1503 |
msgid "Skip"
|
1504 |
msgstr ""
|
1505 |
|
1506 |
-
#: templates/connect.php:
|
1507 |
msgid "Delegate to Site Admins"
|
1508 |
msgstr ""
|
1509 |
|
1510 |
-
#: templates/connect.php:
|
1511 |
msgid "If you click it, this decision will be delegated to the sites administrators."
|
1512 |
msgstr ""
|
1513 |
|
1514 |
-
#: templates/connect.php:
|
1515 |
msgid "Your Profile Overview"
|
1516 |
msgstr ""
|
1517 |
|
1518 |
-
#: templates/connect.php:
|
1519 |
msgid "Name and email address"
|
1520 |
msgstr ""
|
1521 |
|
1522 |
-
#: templates/connect.php:
|
1523 |
msgid "Your Site Overview"
|
1524 |
msgstr ""
|
1525 |
|
1526 |
-
#: templates/connect.php:
|
1527 |
-
msgid "Site URL, WP version, PHP info
|
1528 |
msgstr ""
|
1529 |
|
1530 |
-
#: templates/connect.php:
|
1531 |
msgid "Admin Notices"
|
1532 |
msgstr ""
|
1533 |
|
1534 |
-
#: templates/connect.php:
|
1535 |
msgid "Updates, announcements, marketing, no spam"
|
1536 |
msgstr ""
|
1537 |
|
1538 |
-
#: templates/connect.php:
|
1539 |
msgid "Current %s Events"
|
1540 |
msgstr ""
|
1541 |
|
1542 |
-
#: templates/connect.php:
|
1543 |
msgid "Activation, deactivation and uninstall"
|
1544 |
msgstr ""
|
1545 |
|
1546 |
-
#: templates/connect.php:
|
1547 |
msgid "Newsletter"
|
1548 |
msgstr ""
|
1549 |
|
1550 |
-
#: templates/connect.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1551 |
msgid "The %1$s will be periodically sending data to %2$s to check for security and feature updates, and verify the validity of your license."
|
1552 |
msgstr ""
|
1553 |
|
1554 |
-
#: templates/connect.php:
|
1555 |
msgid "What permissions are being granted?"
|
1556 |
msgstr ""
|
1557 |
|
1558 |
-
#: templates/connect.php:
|
1559 |
msgid "Don't have a license key?"
|
1560 |
msgstr ""
|
1561 |
|
1562 |
-
#: templates/connect.php:
|
1563 |
msgid "Have a license key?"
|
1564 |
msgstr ""
|
1565 |
|
1566 |
-
#: templates/connect.php:
|
1567 |
msgid "Privacy Policy"
|
1568 |
msgstr ""
|
1569 |
|
1570 |
-
#: templates/connect.php:
|
1571 |
msgid "License Agreement"
|
1572 |
msgstr ""
|
1573 |
|
1574 |
-
#: templates/connect.php:
|
1575 |
msgid "Terms of Service"
|
1576 |
msgstr ""
|
1577 |
|
1578 |
-
#: templates/connect.php:
|
1579 |
msgctxt "as in the process of sending an email"
|
1580 |
msgid "Sending email"
|
1581 |
msgstr ""
|
1582 |
|
1583 |
-
#: templates/connect.php:
|
1584 |
msgctxt "as activating plugin"
|
1585 |
msgid "Activating"
|
1586 |
msgstr ""
|
@@ -1608,222 +1680,226 @@ msgctxt "as code debugging"
|
|
1608 |
msgid "Debugging"
|
1609 |
msgstr ""
|
1610 |
|
1611 |
-
#: templates/debug.php:
|
1612 |
msgid "Actions"
|
1613 |
msgstr ""
|
1614 |
|
1615 |
-
#: templates/debug.php:
|
1616 |
msgid "Are you sure you want to delete all Freemius data?"
|
1617 |
msgstr ""
|
1618 |
|
1619 |
-
#: templates/debug.php:
|
1620 |
msgid "Delete All Accounts"
|
1621 |
msgstr ""
|
1622 |
|
1623 |
-
#: templates/debug.php:
|
1624 |
msgid "Clear API Cache"
|
1625 |
msgstr ""
|
1626 |
|
1627 |
-
#: templates/debug.php:
|
1628 |
msgid "Clear Updates Transients"
|
1629 |
msgstr ""
|
1630 |
|
1631 |
-
#: templates/debug.php:
|
1632 |
msgid "Sync Data From Server"
|
1633 |
msgstr ""
|
1634 |
|
1635 |
-
#: templates/debug.php:
|
1636 |
msgid "Migrate Options to Network"
|
1637 |
msgstr ""
|
1638 |
|
1639 |
-
#: templates/debug.php:
|
1640 |
msgid "Load DB Option"
|
1641 |
msgstr ""
|
1642 |
|
1643 |
-
#: templates/debug.php:
|
1644 |
msgid "Set DB Option"
|
1645 |
msgstr ""
|
1646 |
|
1647 |
-
#: templates/debug.php:
|
1648 |
msgid "Key"
|
1649 |
msgstr ""
|
1650 |
|
1651 |
-
#: templates/debug.php:
|
1652 |
msgid "Value"
|
1653 |
msgstr ""
|
1654 |
|
1655 |
-
#: templates/debug.php:
|
1656 |
msgctxt "as software development kit versions"
|
1657 |
msgid "SDK Versions"
|
1658 |
msgstr ""
|
1659 |
|
1660 |
-
#: templates/debug.php:
|
1661 |
msgid "SDK Path"
|
1662 |
msgstr ""
|
1663 |
|
1664 |
-
#: templates/debug.php:
|
1665 |
msgid "Module Path"
|
1666 |
msgstr ""
|
1667 |
|
1668 |
-
#: templates/debug.php:
|
1669 |
msgid "Is Active"
|
1670 |
msgstr ""
|
1671 |
|
1672 |
-
#: templates/debug.php:
|
1673 |
msgid "Plugins"
|
1674 |
msgstr ""
|
1675 |
|
1676 |
-
#: templates/debug.php:
|
1677 |
msgid "Themes"
|
1678 |
msgstr ""
|
1679 |
|
1680 |
-
#: templates/debug.php:
|
1681 |
msgid "Slug"
|
1682 |
msgstr ""
|
1683 |
|
1684 |
-
#: templates/debug.php:
|
1685 |
msgid "Title"
|
1686 |
msgstr ""
|
1687 |
|
1688 |
-
#: templates/debug.php:
|
1689 |
msgctxt "as application program interface"
|
1690 |
msgid "API"
|
1691 |
msgstr ""
|
1692 |
|
1693 |
-
#: templates/debug.php:
|
1694 |
msgid "Freemius State"
|
1695 |
msgstr ""
|
1696 |
|
1697 |
-
#: templates/debug.php:
|
1698 |
msgid "Network Blog"
|
1699 |
msgstr ""
|
1700 |
|
1701 |
-
#: templates/debug.php:
|
1702 |
msgid "Network User"
|
1703 |
msgstr ""
|
1704 |
|
1705 |
-
#: templates/debug.php:
|
1706 |
msgctxt "as connection was successful"
|
1707 |
msgid "Connected"
|
1708 |
msgstr ""
|
1709 |
|
1710 |
-
#: templates/debug.php:
|
1711 |
msgctxt "as connection blocked"
|
1712 |
msgid "Blocked"
|
1713 |
msgstr ""
|
1714 |
|
1715 |
-
#: templates/debug.php:
|
1716 |
msgid "Simulate Trial Promotion"
|
1717 |
msgstr ""
|
1718 |
|
1719 |
-
#: templates/debug.php:
|
1720 |
msgid "Simulate Network Upgrade"
|
1721 |
msgstr ""
|
1722 |
|
1723 |
-
#: templates/debug.php:
|
1724 |
msgid "%s Installs"
|
1725 |
msgstr ""
|
1726 |
|
1727 |
-
#: templates/debug.php:
|
1728 |
msgctxt "like websites"
|
1729 |
msgid "Sites"
|
1730 |
msgstr ""
|
1731 |
|
1732 |
-
#: templates/debug.php:
|
1733 |
msgid "Blog ID"
|
1734 |
msgstr ""
|
1735 |
|
1736 |
-
#: templates/debug.php:
|
|
|
|
|
|
|
|
|
1737 |
msgctxt "verb"
|
1738 |
msgid "Delete"
|
1739 |
msgstr ""
|
1740 |
|
1741 |
-
#: templates/debug.php:
|
1742 |
msgid "Add Ons of module %s"
|
1743 |
msgstr ""
|
1744 |
|
1745 |
-
#: templates/debug.php:
|
1746 |
msgid "Users"
|
1747 |
msgstr ""
|
1748 |
|
1749 |
-
#: templates/debug.php:
|
1750 |
msgid "Verified"
|
1751 |
msgstr ""
|
1752 |
|
1753 |
-
#: templates/debug.php:
|
1754 |
msgid "%s Licenses"
|
1755 |
msgstr ""
|
1756 |
|
1757 |
-
#: templates/debug.php:
|
1758 |
msgid "Plugin ID"
|
1759 |
msgstr ""
|
1760 |
|
1761 |
-
#: templates/debug.php:
|
1762 |
msgid "Plan ID"
|
1763 |
msgstr ""
|
1764 |
|
1765 |
-
#: templates/debug.php:
|
1766 |
msgid "Quota"
|
1767 |
msgstr ""
|
1768 |
|
1769 |
-
#: templates/debug.php:
|
1770 |
msgid "Activated"
|
1771 |
msgstr ""
|
1772 |
|
1773 |
-
#: templates/debug.php:
|
1774 |
msgid "Blocking"
|
1775 |
msgstr ""
|
1776 |
|
1777 |
-
#: templates/debug.php:
|
|
|
|
|
|
|
|
|
1778 |
msgctxt "as expiration date"
|
1779 |
msgid "Expiration"
|
1780 |
msgstr ""
|
1781 |
|
1782 |
-
#: templates/debug.php:
|
1783 |
msgid "Debug Log"
|
1784 |
msgstr ""
|
1785 |
|
1786 |
-
#: templates/debug.php:
|
1787 |
msgid "All Types"
|
1788 |
msgstr ""
|
1789 |
|
1790 |
-
#: templates/debug.php:
|
1791 |
msgid "All Requests"
|
1792 |
msgstr ""
|
1793 |
|
1794 |
-
#: templates/debug.php:
|
1795 |
msgid "File"
|
1796 |
msgstr ""
|
1797 |
|
1798 |
-
#: templates/debug.php:
|
1799 |
msgid "Function"
|
1800 |
msgstr ""
|
1801 |
|
1802 |
-
#: templates/debug.php:
|
1803 |
msgid "Process ID"
|
1804 |
msgstr ""
|
1805 |
|
1806 |
-
#: templates/debug.php:
|
1807 |
msgid "Logger"
|
1808 |
msgstr ""
|
1809 |
|
1810 |
-
#: templates/debug.php:
|
1811 |
msgid "Message"
|
1812 |
msgstr ""
|
1813 |
|
1814 |
-
#: templates/debug.php:
|
1815 |
msgid "Filter"
|
1816 |
msgstr ""
|
1817 |
|
1818 |
-
#: templates/debug.php:
|
1819 |
msgid "Download"
|
1820 |
msgstr ""
|
1821 |
|
1822 |
-
#: templates/debug.php:
|
1823 |
-
msgid "Type"
|
1824 |
-
msgstr ""
|
1825 |
-
|
1826 |
-
#: templates/debug.php:603, templates/debug/logger.php:26
|
1827 |
msgid "Timestamp"
|
1828 |
msgstr ""
|
1829 |
|
@@ -2009,146 +2085,166 @@ msgstr ""
|
|
2009 |
msgid "Apply to become an affiliate"
|
2010 |
msgstr ""
|
2011 |
|
2012 |
-
#: templates/forms/affiliation.php:
|
2013 |
msgid "Your affiliate application for %s has been accepted! Log in to your affiliate area at: %s."
|
2014 |
msgstr ""
|
2015 |
|
2016 |
-
#: templates/forms/affiliation.php:
|
2017 |
msgid "Thank you for applying for our affiliate program, we'll review your details during the next 14 days and will get back to you with further information."
|
2018 |
msgstr ""
|
2019 |
|
2020 |
-
#: templates/forms/affiliation.php:
|
2021 |
msgid "Your affiliation account was temporarily suspended."
|
2022 |
msgstr ""
|
2023 |
|
2024 |
-
#: templates/forms/affiliation.php:
|
2025 |
msgid "Thank you for applying for our affiliate program, unfortunately, we've decided at this point to reject your application. Please try again in 30 days."
|
2026 |
msgstr ""
|
2027 |
|
2028 |
-
#: templates/forms/affiliation.php:
|
2029 |
msgid "Due to violation of our affiliation terms, we decided to temporarily block your affiliation account. If you have any questions, please contact support."
|
2030 |
msgstr ""
|
2031 |
|
2032 |
-
#: templates/forms/affiliation.php:
|
2033 |
msgid "Like the %s? Become our ambassador and earn cash ;-)"
|
2034 |
msgstr ""
|
2035 |
|
2036 |
-
#: templates/forms/affiliation.php:
|
2037 |
msgid "Refer new customers to our %s and earn %s commission on each successful sale you refer!"
|
2038 |
msgstr ""
|
2039 |
|
2040 |
-
#: templates/forms/affiliation.php:
|
2041 |
msgid "Program Summary"
|
2042 |
msgstr ""
|
2043 |
|
2044 |
-
#: templates/forms/affiliation.php:
|
2045 |
msgid "%s commission when a customer purchases a new license."
|
2046 |
msgstr ""
|
2047 |
|
2048 |
-
#: templates/forms/affiliation.php:
|
2049 |
msgid "Get commission for automated subscription renewals."
|
2050 |
msgstr ""
|
2051 |
|
2052 |
-
#: templates/forms/affiliation.php:
|
2053 |
msgid "%s tracking cookie after the first visit to maximize earnings potential."
|
2054 |
msgstr ""
|
2055 |
|
2056 |
-
#: templates/forms/affiliation.php:
|
2057 |
msgid "Unlimited commissions."
|
2058 |
msgstr ""
|
2059 |
|
2060 |
-
#: templates/forms/affiliation.php:
|
2061 |
msgid "%s minimum payout amount."
|
2062 |
msgstr ""
|
2063 |
|
2064 |
-
#: templates/forms/affiliation.php:
|
2065 |
msgid "Payouts are in USD and processed monthly via PayPal."
|
2066 |
msgstr ""
|
2067 |
|
2068 |
-
#: templates/forms/affiliation.php:
|
2069 |
msgid "As we reserve 30 days for potential refunds, we only pay commissions that are older than 30 days."
|
2070 |
msgstr ""
|
2071 |
|
2072 |
-
#: templates/forms/affiliation.php:
|
2073 |
msgid "Affiliate"
|
2074 |
msgstr ""
|
2075 |
|
2076 |
-
#: templates/forms/affiliation.php:
|
2077 |
msgid "Email address"
|
2078 |
msgstr ""
|
2079 |
|
2080 |
-
#: templates/forms/affiliation.php:
|
2081 |
msgid "Full name"
|
2082 |
msgstr ""
|
2083 |
|
2084 |
-
#: templates/forms/affiliation.php:
|
2085 |
msgid "PayPal account email address"
|
2086 |
msgstr ""
|
2087 |
|
2088 |
-
#: templates/forms/affiliation.php:
|
2089 |
msgid "Where are you going to promote the %s?"
|
2090 |
msgstr ""
|
2091 |
|
2092 |
-
#: templates/forms/affiliation.php:
|
2093 |
msgid "Enter the domain of your website or other websites from where you plan to promote the %s."
|
2094 |
msgstr ""
|
2095 |
|
2096 |
-
#: templates/forms/affiliation.php:
|
2097 |
msgid "Add another domain"
|
2098 |
msgstr ""
|
2099 |
|
2100 |
-
#: templates/forms/affiliation.php:
|
2101 |
msgid "Extra Domains"
|
2102 |
msgstr ""
|
2103 |
|
2104 |
-
#: templates/forms/affiliation.php:
|
2105 |
msgid "Extra domains where you will be marketing the product from."
|
2106 |
msgstr ""
|
2107 |
|
2108 |
-
#: templates/forms/affiliation.php:
|
2109 |
msgid "Promotion methods"
|
2110 |
msgstr ""
|
2111 |
|
2112 |
-
#: templates/forms/affiliation.php:
|
2113 |
msgid "Social media (Facebook, Twitter, etc.)"
|
2114 |
msgstr ""
|
2115 |
|
2116 |
-
#: templates/forms/affiliation.php:
|
2117 |
msgid "Mobile apps"
|
2118 |
msgstr ""
|
2119 |
|
2120 |
-
#: templates/forms/affiliation.php:
|
2121 |
msgid "Website, email, and social media statistics (optional)"
|
2122 |
msgstr ""
|
2123 |
|
2124 |
-
#: templates/forms/affiliation.php:
|
2125 |
msgid "Please feel free to provide any relevant website or social media statistics, e.g. monthly unique site visits, number of email subscribers, followers, etc. (we will keep this information confidential)."
|
2126 |
msgstr ""
|
2127 |
|
2128 |
-
#: templates/forms/affiliation.php:
|
2129 |
msgid "How will you promote us?"
|
2130 |
msgstr ""
|
2131 |
|
2132 |
-
#: templates/forms/affiliation.php:
|
2133 |
msgid "Please provide details on how you intend to promote %s (please be as specific as possible)."
|
2134 |
msgstr ""
|
2135 |
|
2136 |
-
#: templates/forms/affiliation.php:
|
2137 |
msgid "Cancel"
|
2138 |
msgstr ""
|
2139 |
|
2140 |
-
#: templates/forms/affiliation.php:
|
2141 |
msgid "Become an affiliate"
|
2142 |
msgstr ""
|
2143 |
|
2144 |
-
#: templates/forms/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2145 |
msgid "Please enter the license key that you received in the email right after the purchase:"
|
2146 |
msgstr ""
|
2147 |
|
2148 |
-
#: templates/forms/license-activation.php:
|
2149 |
msgid "Update License"
|
2150 |
msgstr ""
|
2151 |
|
|
|
|
|
|
|
|
|
2152 |
#: templates/forms/optout.php:30
|
2153 |
msgctxt "verb"
|
2154 |
msgid "Opt Out"
|
@@ -2159,14 +2255,42 @@ msgctxt "verb"
|
|
2159 |
msgid "Opt In"
|
2160 |
msgstr ""
|
2161 |
|
2162 |
-
#: templates/forms/optout.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2163 |
msgid "Usage tracking is done in the name of making %s better. Making a better user experience, prioritizing new features, and more good things. We'd really appreciate if you'll reconsider letting us continue with the tracking."
|
2164 |
msgstr ""
|
2165 |
|
2166 |
-
#: templates/forms/optout.php:
|
|
|
|
|
|
|
|
|
2167 |
msgid "By clicking \"Opt Out\", we will no longer be sending any data from %s to %s."
|
2168 |
msgstr ""
|
2169 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2170 |
#: templates/forms/premium-versions-upgrade-handler.php:40
|
2171 |
msgid "There is a new version of %s available."
|
2172 |
msgstr ""
|
@@ -2212,11 +2336,6 @@ msgstr ""
|
|
2212 |
msgid "Don't cancel %s - I'm still interested in getting security & feature updates, as well as be able to contact support."
|
2213 |
msgstr ""
|
2214 |
|
2215 |
-
#. translators: %1$s: Either 'Downgrading your plan' or 'Cancelling the subscription'
|
2216 |
-
#: templates/forms/subscription-cancellation.php:99, templates/account/partials/addon.php:29, templates/account/partials/site.php:298
|
2217 |
-
msgid "%1$s will immediately stop all future recurring payments and your %s plan license will expire in %s."
|
2218 |
-
msgstr ""
|
2219 |
-
|
2220 |
#: templates/forms/subscription-cancellation.php:103
|
2221 |
msgid "Once your license expires you will no longer be able to use the %s, unless you activate it again with a valid premium license."
|
2222 |
msgstr ""
|
@@ -2241,6 +2360,23 @@ msgstr ""
|
|
2241 |
msgid "For compliance with the WordPress.org guidelines, before we start the trial we ask that you opt in with your user and non-sensitive site information, allowing the %s to periodically send data to %s to check for version updates and to validate your trial."
|
2242 |
msgstr ""
|
2243 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2244 |
#: templates/js/style-premium-theme.php:39
|
2245 |
msgid "Premium"
|
2246 |
msgstr ""
|
@@ -2298,27 +2434,32 @@ msgstr ""
|
|
2298 |
msgid "Last license"
|
2299 |
msgstr ""
|
2300 |
|
2301 |
-
|
|
|
|
|
|
|
|
|
|
|
2302 |
msgid "Cancelled"
|
2303 |
msgstr ""
|
2304 |
|
2305 |
-
#: templates/account/partials/addon.php:
|
2306 |
msgid "No expiration"
|
2307 |
msgstr ""
|
2308 |
|
2309 |
-
#: templates/account/partials/site.php:
|
2310 |
msgid "Owner Name"
|
2311 |
msgstr ""
|
2312 |
|
2313 |
-
#: templates/account/partials/site.php:
|
2314 |
msgid "Owner Email"
|
2315 |
msgstr ""
|
2316 |
|
2317 |
-
#: templates/account/partials/site.php:
|
2318 |
msgid "Owner ID"
|
2319 |
msgstr ""
|
2320 |
|
2321 |
-
#: templates/account/partials/site.php:
|
2322 |
msgid "Subscription"
|
2323 |
msgstr ""
|
2324 |
|
@@ -2358,19 +2499,19 @@ msgstr ""
|
|
2358 |
msgid "switching"
|
2359 |
msgstr ""
|
2360 |
|
2361 |
-
#: templates/forms/deactivation/form.php:
|
2362 |
msgid "Submit & %s"
|
2363 |
msgstr ""
|
2364 |
|
2365 |
-
#: templates/forms/deactivation/form.php:
|
2366 |
msgid "Kindly tell us the reason so we can improve."
|
2367 |
msgstr ""
|
2368 |
|
2369 |
-
#: templates/forms/deactivation/form.php:
|
2370 |
msgid "Yes - %s"
|
2371 |
msgstr ""
|
2372 |
|
2373 |
-
#: templates/forms/deactivation/form.php:
|
2374 |
msgid "Skip & %s"
|
2375 |
msgstr ""
|
2376 |
|
1 |
+
# Copyright (C) 2020 freemius
|
2 |
# This file is distributed under the same license as the freemius package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
16 |
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
18 |
|
19 |
+
#: includes/class-freemius.php:1912, templates/account.php:910
|
20 |
msgid "An update to a Beta version will replace your installed version of %s with the latest Beta release - use with caution, and not on production sites. You have been warned."
|
21 |
msgstr ""
|
22 |
|
23 |
+
#: includes/class-freemius.php:1919
|
24 |
msgid "Would you like to proceed with the update?"
|
25 |
msgstr ""
|
26 |
|
27 |
+
#: includes/class-freemius.php:2131
|
28 |
msgid "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error."
|
29 |
msgstr ""
|
30 |
|
31 |
+
#: includes/class-freemius.php:2133
|
32 |
msgid "Error"
|
33 |
msgstr ""
|
34 |
|
35 |
+
#: includes/class-freemius.php:2533
|
36 |
msgid "I found a better %s"
|
37 |
msgstr ""
|
38 |
|
39 |
+
#: includes/class-freemius.php:2535
|
40 |
msgid "What's the %s's name?"
|
41 |
msgstr ""
|
42 |
|
43 |
+
#: includes/class-freemius.php:2541
|
44 |
msgid "It's a temporary %s. I'm just debugging an issue."
|
45 |
msgstr ""
|
46 |
|
47 |
+
#: includes/class-freemius.php:2543
|
48 |
msgid "Deactivation"
|
49 |
msgstr ""
|
50 |
|
51 |
+
#: includes/class-freemius.php:2544
|
52 |
msgid "Theme Switch"
|
53 |
msgstr ""
|
54 |
|
55 |
+
#: includes/class-freemius.php:2553, templates/forms/resend-key.php:24, templates/forms/user-change.php:29
|
56 |
msgid "Other"
|
57 |
msgstr ""
|
58 |
|
59 |
+
#: includes/class-freemius.php:2561
|
60 |
msgid "I no longer need the %s"
|
61 |
msgstr ""
|
62 |
|
63 |
+
#: includes/class-freemius.php:2568
|
64 |
msgid "I only needed the %s for a short period"
|
65 |
msgstr ""
|
66 |
|
67 |
+
#: includes/class-freemius.php:2574
|
68 |
msgid "The %s broke my site"
|
69 |
msgstr ""
|
70 |
|
71 |
+
#: includes/class-freemius.php:2581
|
72 |
msgid "The %s suddenly stopped working"
|
73 |
msgstr ""
|
74 |
|
75 |
+
#: includes/class-freemius.php:2591
|
76 |
msgid "I can't pay for it anymore"
|
77 |
msgstr ""
|
78 |
|
79 |
+
#: includes/class-freemius.php:2593
|
80 |
msgid "What price would you feel comfortable paying?"
|
81 |
msgstr ""
|
82 |
|
83 |
+
#: includes/class-freemius.php:2599
|
84 |
msgid "I don't like to share my information with you"
|
85 |
msgstr ""
|
86 |
|
87 |
+
#: includes/class-freemius.php:2620
|
88 |
msgid "The %s didn't work"
|
89 |
msgstr ""
|
90 |
|
91 |
+
#: includes/class-freemius.php:2630
|
92 |
msgid "I couldn't understand how to make it work"
|
93 |
msgstr ""
|
94 |
|
95 |
+
#: includes/class-freemius.php:2638
|
96 |
msgid "The %s is great, but I need specific feature that you don't support"
|
97 |
msgstr ""
|
98 |
|
99 |
+
#: includes/class-freemius.php:2640
|
100 |
msgid "What feature?"
|
101 |
msgstr ""
|
102 |
|
103 |
+
#: includes/class-freemius.php:2644
|
104 |
msgid "The %s is not working"
|
105 |
msgstr ""
|
106 |
|
107 |
+
#: includes/class-freemius.php:2646
|
108 |
msgid "Kindly share what didn't work so we can fix it for future users..."
|
109 |
msgstr ""
|
110 |
|
111 |
+
#: includes/class-freemius.php:2650
|
112 |
msgid "It's not what I was looking for"
|
113 |
msgstr ""
|
114 |
|
115 |
+
#: includes/class-freemius.php:2652
|
116 |
msgid "What you've been looking for?"
|
117 |
msgstr ""
|
118 |
|
119 |
+
#: includes/class-freemius.php:2656
|
120 |
msgid "The %s didn't work as expected"
|
121 |
msgstr ""
|
122 |
|
123 |
+
#: includes/class-freemius.php:2658
|
124 |
msgid "What did you expect?"
|
125 |
msgstr ""
|
126 |
|
127 |
+
#: includes/class-freemius.php:3513, templates/debug.php:20
|
128 |
msgid "Freemius Debug"
|
129 |
msgstr ""
|
130 |
|
131 |
+
#: includes/class-freemius.php:4265
|
132 |
msgid "I don't know what is cURL or how to install it, help me!"
|
133 |
msgstr ""
|
134 |
|
135 |
+
#: includes/class-freemius.php:4267
|
136 |
msgid "We'll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update."
|
137 |
msgstr ""
|
138 |
|
139 |
+
#: includes/class-freemius.php:4274
|
140 |
msgid "Great, please install cURL and enable it in your php.ini file. In addition, search for the 'disable_functions' directive in your php.ini file and remove any disabled methods starting with 'curl_'. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the %s and reactivate it back again."
|
141 |
msgstr ""
|
142 |
|
143 |
+
#: includes/class-freemius.php:4379
|
144 |
msgid "Yes - do your thing"
|
145 |
msgstr ""
|
146 |
|
147 |
+
#: includes/class-freemius.php:4384
|
148 |
msgid "No - just deactivate"
|
149 |
msgstr ""
|
150 |
|
151 |
+
#: includes/class-freemius.php:4429, includes/class-freemius.php:4923, includes/class-freemius.php:6182, includes/class-freemius.php:13357, includes/class-freemius.php:14075, includes/class-freemius.php:17526, includes/class-freemius.php:17631, includes/class-freemius.php:17806, includes/class-freemius.php:20040, includes/class-freemius.php:20398, includes/class-freemius.php:20408, includes/class-freemius.php:21079, includes/class-freemius.php:21985, includes/class-freemius.php:22118, includes/class-freemius.php:22274, templates/add-ons.php:57
|
152 |
msgctxt "exclamation"
|
153 |
msgid "Oops"
|
154 |
msgstr ""
|
155 |
|
156 |
+
#: includes/class-freemius.php:4498
|
157 |
msgid "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience."
|
158 |
msgstr ""
|
159 |
|
160 |
+
#: includes/class-freemius.php:4920
|
161 |
msgctxt "addonX cannot run without pluginY"
|
162 |
msgid "%s cannot run without %s."
|
163 |
msgstr ""
|
164 |
|
165 |
+
#: includes/class-freemius.php:4921
|
166 |
msgctxt "addonX cannot run..."
|
167 |
msgid "%s cannot run without the plugin."
|
168 |
msgstr ""
|
169 |
|
170 |
+
#: includes/class-freemius.php:5120, includes/class-freemius.php:5145, includes/class-freemius.php:21150
|
171 |
msgid "Unexpected API error. Please contact the %s's author with the following error."
|
172 |
msgstr ""
|
173 |
|
174 |
+
#: includes/class-freemius.php:5848
|
175 |
msgid "Premium %s version was successfully activated."
|
176 |
msgstr ""
|
177 |
|
178 |
+
#: includes/class-freemius.php:5860, includes/class-freemius.php:7762
|
179 |
msgctxt "Used to express elation, enthusiasm, or triumph (especially in electronic communication)."
|
180 |
msgid "W00t"
|
181 |
msgstr ""
|
182 |
|
183 |
+
#: includes/class-freemius.php:5875
|
184 |
msgid "You have a %s license."
|
185 |
msgstr ""
|
186 |
|
187 |
+
#: includes/class-freemius.php:5879, includes/class-freemius.php:16925, includes/class-freemius.php:16936, includes/class-freemius.php:20309, includes/class-freemius.php:20659, includes/class-freemius.php:20728, includes/class-freemius.php:20900
|
188 |
msgctxt "interjection expressing joy or exuberance"
|
189 |
msgid "Yee-haw"
|
190 |
msgstr ""
|
191 |
|
192 |
+
#: includes/class-freemius.php:6165
|
193 |
msgid "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license."
|
194 |
msgstr ""
|
195 |
|
196 |
+
#: includes/class-freemius.php:6169
|
197 |
msgid "%s is a premium only add-on. You have to purchase a license first before activating the plugin."
|
198 |
msgstr ""
|
199 |
|
200 |
+
#: includes/class-freemius.php:6178, templates/add-ons.php:186, templates/account/partials/addon.php:381
|
201 |
msgid "More information about %s"
|
202 |
msgstr ""
|
203 |
|
204 |
+
#: includes/class-freemius.php:6179
|
205 |
msgid "Purchase License"
|
206 |
msgstr ""
|
207 |
|
208 |
+
#: includes/class-freemius.php:7118, templates/connect.php:171
|
209 |
msgid "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s."
|
210 |
msgstr ""
|
211 |
|
212 |
+
#: includes/class-freemius.php:7122
|
213 |
msgid "start the trial"
|
214 |
msgstr ""
|
215 |
|
216 |
+
#: includes/class-freemius.php:7123, templates/connect.php:175
|
217 |
msgid "complete the install"
|
218 |
msgstr ""
|
219 |
|
220 |
+
#: includes/class-freemius.php:7241
|
221 |
msgid "You are just one step away - %s"
|
222 |
msgstr ""
|
223 |
|
224 |
+
#: includes/class-freemius.php:7244
|
225 |
msgctxt "%s - plugin name. As complete \"PluginX\" activation now"
|
226 |
msgid "Complete \"%s\" Activation Now"
|
227 |
msgstr ""
|
228 |
|
229 |
+
#: includes/class-freemius.php:7322
|
230 |
msgid "We made a few tweaks to the %s, %s"
|
231 |
msgstr ""
|
232 |
|
233 |
+
#: includes/class-freemius.php:7326
|
234 |
msgid "Opt in to make \"%s\" better!"
|
235 |
msgstr ""
|
236 |
|
237 |
+
#: includes/class-freemius.php:7761
|
238 |
msgid "The upgrade of %s was successfully completed."
|
239 |
msgstr ""
|
240 |
|
241 |
+
#: includes/class-freemius.php:10243, includes/class-fs-plugin-updater.php:1099, includes/class-fs-plugin-updater.php:1294, includes/class-fs-plugin-updater.php:1301, templates/auto-installation.php:32
|
242 |
msgid "Add-On"
|
243 |
msgstr ""
|
244 |
|
245 |
+
#: includes/class-freemius.php:10245, templates/account.php:392, templates/account.php:400, templates/debug.php:358, templates/debug.php:549
|
246 |
msgid "Plugin"
|
247 |
msgstr ""
|
248 |
|
249 |
+
#: includes/class-freemius.php:10246, templates/account.php:393, templates/account.php:401, templates/debug.php:358, templates/debug.php:549, templates/forms/deactivation/form.php:71
|
250 |
msgid "Theme"
|
251 |
msgstr ""
|
252 |
|
253 |
+
#: includes/class-freemius.php:13176
|
254 |
+
msgid "An unknown error has occurred while trying to toggle the license's white-label mode."
|
255 |
+
msgstr ""
|
256 |
+
|
257 |
+
#: includes/class-freemius.php:13190
|
258 |
+
msgid "Your %s license was flagged as white-labeled to hide sensitive information from the WP Admin (e.g. your email, license key, prices, billing address & invoices). If you ever wish to revert it back, you can easily do it through your %s. If this was a mistake you can also %s."
|
259 |
+
msgstr ""
|
260 |
+
|
261 |
+
#: includes/class-freemius.php:13195
|
262 |
+
msgid "User Dashboard"
|
263 |
+
msgstr ""
|
264 |
+
|
265 |
+
#: includes/class-freemius.php:13196
|
266 |
+
msgid "revert it now"
|
267 |
+
msgstr ""
|
268 |
+
|
269 |
+
#: includes/class-freemius.php:13255
|
270 |
msgid "An unknown error has occurred while trying to set the user's beta mode."
|
271 |
msgstr ""
|
272 |
|
273 |
+
#: includes/class-freemius.php:13328
|
274 |
+
msgid "Invalid new user ID or email address."
|
275 |
+
msgstr ""
|
276 |
+
|
277 |
+
#: includes/class-freemius.php:13358, includes/class-freemius.php:22229
|
278 |
+
msgid "Sorry, we could not complete the email update. Another user with the same email is already registered."
|
279 |
+
msgstr ""
|
280 |
+
|
281 |
+
#: includes/class-freemius.php:13359, includes/class-freemius.php:22230
|
282 |
+
msgid "If you would like to give up the ownership of the %s's account to %s click the Change Ownership button."
|
283 |
+
msgstr ""
|
284 |
+
|
285 |
+
#: includes/class-freemius.php:13366, includes/class-freemius.php:22237
|
286 |
+
msgid "Change Ownership"
|
287 |
+
msgstr ""
|
288 |
+
|
289 |
+
#: includes/class-freemius.php:13942
|
290 |
msgid "Invalid site details collection."
|
291 |
msgstr ""
|
292 |
|
293 |
+
#: includes/class-freemius.php:14062
|
294 |
msgid "We couldn't find your email address in the system, are you sure it's the right address?"
|
295 |
msgstr ""
|
296 |
|
297 |
+
#: includes/class-freemius.php:14064
|
298 |
msgid "We can't see any active licenses associated with that email address, are you sure it's the right address?"
|
299 |
msgstr ""
|
300 |
|
301 |
+
#: includes/class-freemius.php:14338
|
302 |
msgid "Account is pending activation."
|
303 |
msgstr ""
|
304 |
|
305 |
+
#: includes/class-freemius.php:14450, templates/forms/premium-versions-upgrade-handler.php:47
|
306 |
msgid "Buy a license now"
|
307 |
msgstr ""
|
308 |
|
309 |
+
#: includes/class-freemius.php:14462, templates/forms/premium-versions-upgrade-handler.php:46
|
310 |
msgid "Renew your license now"
|
311 |
msgstr ""
|
312 |
|
313 |
+
#: includes/class-freemius.php:14466
|
314 |
msgid "%s to access version %s security & feature updates, and support."
|
315 |
msgstr ""
|
316 |
|
317 |
+
#: includes/class-freemius.php:16907
|
318 |
msgid "%s activation was successfully completed."
|
319 |
msgstr ""
|
320 |
|
321 |
+
#: includes/class-freemius.php:16921
|
322 |
msgid "Your account was successfully activated with the %s plan."
|
323 |
msgstr ""
|
324 |
|
325 |
+
#: includes/class-freemius.php:16932, includes/class-freemius.php:20724
|
326 |
msgid "Your trial has been successfully started."
|
327 |
msgstr ""
|
328 |
|
329 |
+
#: includes/class-freemius.php:17524, includes/class-freemius.php:17629, includes/class-freemius.php:17804
|
330 |
msgid "Couldn't activate %s."
|
331 |
msgstr ""
|
332 |
|
333 |
+
#: includes/class-freemius.php:17525, includes/class-freemius.php:17630, includes/class-freemius.php:17805
|
334 |
msgid "Please contact us with the following message:"
|
335 |
msgstr ""
|
336 |
|
337 |
+
#: includes/class-freemius.php:17626, templates/forms/data-debug-mode.php:162
|
338 |
msgid "An unknown error has occurred."
|
339 |
msgstr ""
|
340 |
|
341 |
+
#: includes/class-freemius.php:18162, includes/class-freemius.php:23310
|
342 |
msgid "Upgrade"
|
343 |
msgstr ""
|
344 |
|
345 |
+
#: includes/class-freemius.php:18168
|
346 |
msgid "Start Trial"
|
347 |
msgstr ""
|
348 |
|
349 |
+
#: includes/class-freemius.php:18170
|
350 |
msgid "Pricing"
|
351 |
msgstr ""
|
352 |
|
353 |
+
#: includes/class-freemius.php:18250, includes/class-freemius.php:18252
|
354 |
msgid "Affiliation"
|
355 |
msgstr ""
|
356 |
|
357 |
+
#: includes/class-freemius.php:18280, includes/class-freemius.php:18282, templates/account.php:240, templates/debug.php:324
|
358 |
msgid "Account"
|
359 |
msgstr ""
|
360 |
|
361 |
+
#: includes/class-freemius.php:18296, includes/class-freemius.php:18298, includes/customizer/class-fs-customizer-support-section.php:60
|
362 |
msgid "Contact Us"
|
363 |
msgstr ""
|
364 |
|
365 |
+
#: includes/class-freemius.php:18309, includes/class-freemius.php:18311, includes/class-freemius.php:23324, templates/account.php:119, templates/account/partials/addon.php:44
|
366 |
msgid "Add-Ons"
|
367 |
msgstr ""
|
368 |
|
369 |
+
#: includes/class-freemius.php:18345
|
370 |
msgctxt "ASCII arrow left icon"
|
371 |
msgid "←"
|
372 |
msgstr ""
|
373 |
|
374 |
+
#: includes/class-freemius.php:18345
|
375 |
msgctxt "ASCII arrow right icon"
|
376 |
msgid "➤"
|
377 |
msgstr ""
|
378 |
|
379 |
+
#: includes/class-freemius.php:18347, templates/pricing.php:109
|
380 |
msgctxt "noun"
|
381 |
msgid "Pricing"
|
382 |
msgstr ""
|
383 |
|
384 |
+
#: includes/class-freemius.php:18560, includes/customizer/class-fs-customizer-support-section.php:67
|
385 |
msgid "Support Forum"
|
386 |
msgstr ""
|
387 |
|
388 |
+
#: includes/class-freemius.php:19534
|
389 |
msgid "Your email has been successfully verified - you are AWESOME!"
|
390 |
msgstr ""
|
391 |
|
392 |
+
#: includes/class-freemius.php:19535
|
393 |
msgctxt "a positive response"
|
394 |
msgid "Right on"
|
395 |
msgstr ""
|
396 |
|
397 |
+
#: includes/class-freemius.php:20041
|
398 |
+
msgid "seems like the key you entered doesn't match our records."
|
399 |
+
msgstr ""
|
400 |
+
|
401 |
+
#: includes/class-freemius.php:20065
|
402 |
+
msgid "Debug mode was successfully enabled and will be automatically disabled in 60 min. You can also disable it earlier by clicking the \"Stop Debug\" link."
|
403 |
+
msgstr ""
|
404 |
+
|
405 |
+
#: includes/class-freemius.php:20300
|
406 |
msgid "Your %s Add-on plan was successfully upgraded."
|
407 |
msgstr ""
|
408 |
|
409 |
+
#: includes/class-freemius.php:20302
|
410 |
msgid "%s Add-on was successfully purchased."
|
411 |
msgstr ""
|
412 |
|
413 |
+
#: includes/class-freemius.php:20305
|
414 |
msgid "Download the latest version"
|
415 |
msgstr ""
|
416 |
|
417 |
+
#: includes/class-freemius.php:20391
|
418 |
msgid "Your server is blocking the access to Freemius' API, which is crucial for %1$s synchronization. Please contact your host to whitelist %2$s"
|
419 |
msgstr ""
|
420 |
|
421 |
+
#: includes/class-freemius.php:20397, includes/class-freemius.php:20407, includes/class-freemius.php:20859, includes/class-freemius.php:20948
|
422 |
msgid "Error received from the server:"
|
423 |
msgstr ""
|
424 |
|
425 |
+
#: includes/class-freemius.php:20407
|
426 |
msgid "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again."
|
427 |
msgstr ""
|
428 |
|
429 |
+
#: includes/class-freemius.php:20621, includes/class-freemius.php:20864, includes/class-freemius.php:20919, includes/class-freemius.php:21026
|
430 |
msgctxt "something somebody says when they are thinking about what you have just said."
|
431 |
msgid "Hmm"
|
432 |
msgstr ""
|
433 |
|
434 |
+
#: includes/class-freemius.php:20634
|
435 |
msgid "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry."
|
436 |
msgstr ""
|
437 |
|
438 |
+
#: includes/class-freemius.php:20635, templates/account.php:121, templates/add-ons.php:250, templates/account/partials/addon.php:46
|
439 |
msgctxt "trial period"
|
440 |
msgid "Trial"
|
441 |
msgstr ""
|
442 |
|
443 |
+
#: includes/class-freemius.php:20640
|
444 |
msgid "I have upgraded my account but when I try to Sync the License, the plan remains %s."
|
445 |
msgstr ""
|
446 |
|
447 |
+
#: includes/class-freemius.php:20644, includes/class-freemius.php:20703
|
448 |
msgid "Please contact us here"
|
449 |
msgstr ""
|
450 |
|
451 |
+
#: includes/class-freemius.php:20655
|
452 |
msgid "Your plan was successfully activated."
|
453 |
msgstr ""
|
454 |
|
455 |
+
#: includes/class-freemius.php:20656
|
456 |
msgid "Your plan was successfully upgraded."
|
457 |
msgstr ""
|
458 |
|
459 |
+
#: includes/class-freemius.php:20673
|
460 |
msgid "Your plan was successfully changed to %s."
|
461 |
msgstr ""
|
462 |
|
463 |
+
#: includes/class-freemius.php:20689
|
464 |
msgid "Your license has expired. You can still continue using the free %s forever."
|
465 |
msgstr ""
|
466 |
|
467 |
+
#: includes/class-freemius.php:20691
|
468 |
msgid "Your license has expired. %1$sUpgrade now%2$s to continue using the %3$s without interruptions."
|
469 |
msgstr ""
|
470 |
|
471 |
+
#: includes/class-freemius.php:20699
|
472 |
msgid "Your license has been cancelled. If you think it's a mistake, please contact support."
|
473 |
msgstr ""
|
474 |
|
475 |
+
#: includes/class-freemius.php:20712
|
476 |
msgid "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support."
|
477 |
msgstr ""
|
478 |
|
479 |
+
#: includes/class-freemius.php:20738
|
480 |
msgid "Your free trial has expired. You can still continue using all our free features."
|
481 |
msgstr ""
|
482 |
|
483 |
+
#: includes/class-freemius.php:20740
|
484 |
msgid "Your free trial has expired. %1$sUpgrade now%2$s to continue using the %3$s without interruptions."
|
485 |
msgstr ""
|
486 |
|
487 |
+
#: includes/class-freemius.php:20855
|
488 |
msgid "It looks like the license could not be activated."
|
489 |
msgstr ""
|
490 |
|
491 |
+
#: includes/class-freemius.php:20897
|
492 |
msgid "Your license was successfully activated."
|
493 |
msgstr ""
|
494 |
|
495 |
+
#: includes/class-freemius.php:20923
|
496 |
msgid "It looks like your site currently doesn't have an active license."
|
497 |
msgstr ""
|
498 |
|
499 |
+
#: includes/class-freemius.php:20947
|
500 |
msgid "It looks like the license deactivation failed."
|
501 |
msgstr ""
|
502 |
|
503 |
+
#: includes/class-freemius.php:20976
|
504 |
+
msgid "Your %s license was successfully deactivated."
|
505 |
+
msgstr ""
|
506 |
+
|
507 |
+
#: includes/class-freemius.php:20977
|
508 |
msgid "Your license was successfully deactivated, you are back to the %s plan."
|
509 |
msgstr ""
|
510 |
|
511 |
+
#: includes/class-freemius.php:20980
|
512 |
msgid "O.K"
|
513 |
msgstr ""
|
514 |
|
515 |
+
#: includes/class-freemius.php:21033
|
516 |
msgid "Seems like we are having some temporary issue with your subscription cancellation. Please try again in few minutes."
|
517 |
msgstr ""
|
518 |
|
519 |
+
#: includes/class-freemius.php:21042
|
520 |
msgid "Your subscription was successfully cancelled. Your %s plan license will expire in %s."
|
521 |
msgstr ""
|
522 |
|
523 |
+
#: includes/class-freemius.php:21084
|
524 |
msgid "You are already running the %s in a trial mode."
|
525 |
msgstr ""
|
526 |
|
527 |
+
#: includes/class-freemius.php:21095
|
528 |
msgid "You already utilized a trial before."
|
529 |
msgstr ""
|
530 |
|
531 |
+
#: includes/class-freemius.php:21109
|
532 |
msgid "Plan %s do not exist, therefore, can't start a trial."
|
533 |
msgstr ""
|
534 |
|
535 |
+
#: includes/class-freemius.php:21120
|
536 |
msgid "Plan %s does not support a trial period."
|
537 |
msgstr ""
|
538 |
|
539 |
+
#: includes/class-freemius.php:21131
|
540 |
msgid "None of the %s's plans supports a trial period."
|
541 |
msgstr ""
|
542 |
|
543 |
+
#: includes/class-freemius.php:21181
|
544 |
msgid "It looks like you are not in trial mode anymore so there's nothing to cancel :)"
|
545 |
msgstr ""
|
546 |
|
547 |
+
#: includes/class-freemius.php:21217
|
548 |
msgid "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes."
|
549 |
msgstr ""
|
550 |
|
551 |
+
#: includes/class-freemius.php:21236
|
552 |
msgid "Your %s free trial was successfully cancelled."
|
553 |
msgstr ""
|
554 |
|
555 |
+
#: includes/class-freemius.php:21552
|
556 |
msgid "Version %s was released."
|
557 |
msgstr ""
|
558 |
|
559 |
+
#: includes/class-freemius.php:21552
|
560 |
msgid "Please download %s."
|
561 |
msgstr ""
|
562 |
|
563 |
+
#: includes/class-freemius.php:21559
|
564 |
msgid "the latest %s version here"
|
565 |
msgstr ""
|
566 |
|
567 |
+
#: includes/class-freemius.php:21564
|
568 |
msgid "New"
|
569 |
msgstr ""
|
570 |
|
571 |
+
#: includes/class-freemius.php:21569
|
572 |
msgid "Seems like you got the latest release."
|
573 |
msgstr ""
|
574 |
|
575 |
+
#: includes/class-freemius.php:21570
|
576 |
msgid "You are all good!"
|
577 |
msgstr ""
|
578 |
|
579 |
+
#: includes/class-freemius.php:21873
|
580 |
msgid "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box."
|
581 |
msgstr ""
|
582 |
|
583 |
+
#: includes/class-freemius.php:22013
|
584 |
msgid "Site successfully opted in."
|
585 |
msgstr ""
|
586 |
|
587 |
+
#: includes/class-freemius.php:22014, includes/class-freemius.php:23020
|
588 |
msgid "Awesome"
|
589 |
msgstr ""
|
590 |
|
591 |
+
#: includes/class-freemius.php:22030, templates/forms/optout.php:41
|
592 |
msgid "We appreciate your help in making the %s better by letting us track some usage data."
|
593 |
msgstr ""
|
594 |
|
595 |
+
#: includes/class-freemius.php:22031
|
596 |
msgid "Thank you!"
|
597 |
msgstr ""
|
598 |
|
599 |
+
#: includes/class-freemius.php:22038
|
600 |
msgid "We will no longer be sending any usage data of %s on %s to %s."
|
601 |
msgstr ""
|
602 |
|
603 |
+
#: includes/class-freemius.php:22196
|
604 |
msgid "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder."
|
605 |
msgstr ""
|
606 |
|
607 |
+
#: includes/class-freemius.php:22202
|
608 |
msgid "Thanks for confirming the ownership change. An email was just sent to %s for final approval."
|
609 |
msgstr ""
|
610 |
|
611 |
+
#: includes/class-freemius.php:22207
|
612 |
msgid "%s is the new owner of the account."
|
613 |
msgstr ""
|
614 |
|
615 |
+
#: includes/class-freemius.php:22209
|
616 |
msgctxt "as congratulations"
|
617 |
msgid "Congrats"
|
618 |
msgstr ""
|
619 |
|
620 |
+
#: includes/class-freemius.php:22245
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
621 |
msgid "Your email was successfully updated. You should receive an email with confirmation instructions in few moments."
|
622 |
msgstr ""
|
623 |
|
624 |
+
#: includes/class-freemius.php:22257
|
625 |
msgid "Please provide your full name."
|
626 |
msgstr ""
|
627 |
|
628 |
+
#: includes/class-freemius.php:22262
|
629 |
msgid "Your name was successfully updated."
|
630 |
msgstr ""
|
631 |
|
632 |
+
#: includes/class-freemius.php:22323
|
633 |
msgid "You have successfully updated your %s."
|
634 |
msgstr ""
|
635 |
|
636 |
+
#: includes/class-freemius.php:22382
|
637 |
+
msgid "Is this your client's site? %s if you wish to hide sensitive info like your email, license key, prices, billing address & invoices from the WP Admin."
|
638 |
+
msgstr ""
|
639 |
+
|
640 |
+
#: includes/class-freemius.php:22385
|
641 |
+
msgid "Click here"
|
642 |
+
msgstr ""
|
643 |
+
|
644 |
+
#: includes/class-freemius.php:22483
|
645 |
msgid "Just letting you know that the add-ons information of %s is being pulled from an external server."
|
646 |
msgstr ""
|
647 |
|
648 |
+
#: includes/class-freemius.php:22484
|
649 |
msgctxt "advance notice of something that will need attention."
|
650 |
msgid "Heads up"
|
651 |
msgstr ""
|
652 |
|
653 |
+
#: includes/class-freemius.php:23060
|
654 |
msgctxt "exclamation"
|
655 |
msgid "Hey"
|
656 |
msgstr ""
|
657 |
|
658 |
+
#: includes/class-freemius.php:23060
|
659 |
msgid "How do you like %s so far? Test all our %s premium features with a %d-day free trial."
|
660 |
msgstr ""
|
661 |
|
662 |
+
#: includes/class-freemius.php:23068
|
663 |
msgid "No commitment for %s days - cancel anytime!"
|
664 |
msgstr ""
|
665 |
|
666 |
+
#: includes/class-freemius.php:23069
|
667 |
msgid "No credit card required"
|
668 |
msgstr ""
|
669 |
|
670 |
+
#: includes/class-freemius.php:23076, templates/forms/trial-start.php:53
|
671 |
msgctxt "call to action"
|
672 |
msgid "Start free trial"
|
673 |
msgstr ""
|
674 |
|
675 |
+
#: includes/class-freemius.php:23153
|
676 |
msgid "Hey there, did you know that %s has an affiliate program? If you like the %s you can become our ambassador and earn some cash!"
|
677 |
msgstr ""
|
678 |
|
679 |
+
#: includes/class-freemius.php:23162
|
680 |
msgid "Learn more"
|
681 |
msgstr ""
|
682 |
|
683 |
+
#: includes/class-freemius.php:23348, templates/account.php:556, templates/account.php:706, templates/connect.php:179, templates/connect.php:456, templates/forms/license-activation.php:27, templates/account/partials/addon.php:321
|
684 |
msgid "Activate License"
|
685 |
msgstr ""
|
686 |
|
687 |
+
#: includes/class-freemius.php:23349, templates/account.php:650, templates/account.php:705, templates/account/partials/addon.php:322, templates/account/partials/site.php:271
|
688 |
msgid "Change License"
|
689 |
msgstr ""
|
690 |
|
691 |
+
#: includes/class-freemius.php:23462, templates/account/partials/site.php:169
|
692 |
msgid "Opt Out"
|
693 |
msgstr ""
|
694 |
|
695 |
+
#: includes/class-freemius.php:23464, includes/class-freemius.php:23470, templates/account/partials/site.php:49, templates/account/partials/site.php:169
|
696 |
msgid "Opt In"
|
697 |
msgstr ""
|
698 |
|
699 |
+
#: includes/class-freemius.php:23700
|
700 |
msgid " The paid version of %1$s is already installed. Please activate it to start benefiting the %2$s features. %3$s"
|
701 |
msgstr ""
|
702 |
|
703 |
+
#: includes/class-freemius.php:23708
|
704 |
msgid "Activate %s features"
|
705 |
msgstr ""
|
706 |
|
707 |
+
#: includes/class-freemius.php:23721
|
708 |
msgid "Please follow these steps to complete the upgrade"
|
709 |
msgstr ""
|
710 |
|
711 |
+
#: includes/class-freemius.php:23725
|
712 |
msgid "Download the latest %s version"
|
713 |
msgstr ""
|
714 |
|
715 |
+
#: includes/class-freemius.php:23729
|
716 |
msgid "Upload and activate the downloaded version"
|
717 |
msgstr ""
|
718 |
|
719 |
+
#: includes/class-freemius.php:23731
|
720 |
msgid "How to upload and activate?"
|
721 |
msgstr ""
|
722 |
|
723 |
+
#: includes/class-freemius.php:23865
|
724 |
msgid "%sClick here%s to choose the sites where you'd like to activate the license on."
|
725 |
msgstr ""
|
726 |
|
727 |
+
#: includes/class-freemius.php:24034
|
728 |
msgid "Auto installation only works for opted-in users."
|
729 |
msgstr ""
|
730 |
|
731 |
+
#: includes/class-freemius.php:24044, includes/class-freemius.php:24077, includes/class-fs-plugin-updater.php:1273, includes/class-fs-plugin-updater.php:1287
|
732 |
msgid "Invalid module ID."
|
733 |
msgstr ""
|
734 |
|
735 |
+
#: includes/class-freemius.php:24053, includes/class-fs-plugin-updater.php:1309
|
736 |
msgid "Premium version already active."
|
737 |
msgstr ""
|
738 |
|
739 |
+
#: includes/class-freemius.php:24060
|
740 |
msgid "You do not have a valid license to access the premium version."
|
741 |
msgstr ""
|
742 |
|
743 |
+
#: includes/class-freemius.php:24067
|
744 |
msgid "Plugin is a \"Serviceware\" which means it does not have a premium code version."
|
745 |
msgstr ""
|
746 |
|
747 |
+
#: includes/class-freemius.php:24085, includes/class-fs-plugin-updater.php:1308
|
748 |
msgid "Premium add-on version already installed."
|
749 |
msgstr ""
|
750 |
|
751 |
+
#: includes/class-freemius.php:24435
|
752 |
msgid "View paid features"
|
753 |
msgstr ""
|
754 |
|
755 |
+
#: includes/class-freemius.php:24757
|
756 |
msgid "Thank you so much for using %s and its add-ons!"
|
757 |
msgstr ""
|
758 |
|
759 |
+
#: includes/class-freemius.php:24758
|
760 |
msgid "Thank you so much for using %s!"
|
761 |
msgstr ""
|
762 |
|
763 |
+
#: includes/class-freemius.php:24764
|
764 |
msgid "You've already opted-in to our usage-tracking, which helps us keep improving the %s."
|
765 |
msgstr ""
|
766 |
|
767 |
+
#: includes/class-freemius.php:24768
|
768 |
msgid "Thank you so much for using our products!"
|
769 |
msgstr ""
|
770 |
|
771 |
+
#: includes/class-freemius.php:24769
|
772 |
msgid "You've already opted-in to our usage-tracking, which helps us keep improving them."
|
773 |
msgstr ""
|
774 |
|
775 |
+
#: includes/class-freemius.php:24788
|
776 |
msgid "%s and its add-ons"
|
777 |
msgstr ""
|
778 |
|
779 |
+
#: includes/class-freemius.php:24797
|
780 |
msgid "Products"
|
781 |
msgstr ""
|
782 |
|
783 |
+
#: includes/class-freemius.php:24804, templates/connect.php:280
|
784 |
msgid "Yes"
|
785 |
msgstr ""
|
786 |
|
787 |
+
#: includes/class-freemius.php:24805, templates/connect.php:281
|
788 |
msgid "send me security & feature updates, educational content and offers."
|
789 |
msgstr ""
|
790 |
|
791 |
+
#: includes/class-freemius.php:24806, templates/connect.php:286
|
792 |
msgid "No"
|
793 |
msgstr ""
|
794 |
|
795 |
+
#: includes/class-freemius.php:24808, templates/connect.php:288
|
796 |
msgid "do %sNOT%s send me security & feature updates, educational content and offers."
|
797 |
msgstr ""
|
798 |
|
799 |
+
#: includes/class-freemius.php:24818
|
800 |
msgid "Due to the new %sEU General Data Protection Regulation (GDPR)%s compliance requirements it is required that you provide your explicit consent, again, confirming that you are onboard :-)"
|
801 |
msgstr ""
|
802 |
|
803 |
+
#: includes/class-freemius.php:24820, templates/connect.php:295
|
804 |
msgid "Please let us know if you'd like us to contact you for security & feature updates, educational content, and occasional offers:"
|
805 |
msgstr ""
|
806 |
|
807 |
+
#: includes/class-freemius.php:25102
|
808 |
msgid "License key is empty."
|
809 |
msgstr ""
|
810 |
|
811 |
+
#: includes/class-fs-plugin-updater.php:206, templates/forms/premium-versions-upgrade-handler.php:57
|
812 |
msgid "Renew license"
|
813 |
msgstr ""
|
814 |
|
815 |
+
#: includes/class-fs-plugin-updater.php:211, templates/forms/premium-versions-upgrade-handler.php:58
|
816 |
msgid "Buy license"
|
817 |
msgstr ""
|
818 |
|
819 |
+
#: includes/class-fs-plugin-updater.php:327, includes/class-fs-plugin-updater.php:360
|
820 |
msgid "There is a %s of %s available."
|
821 |
msgstr ""
|
822 |
|
823 |
+
#: includes/class-fs-plugin-updater.php:329, includes/class-fs-plugin-updater.php:365
|
824 |
msgid "new Beta version"
|
825 |
msgstr ""
|
826 |
|
827 |
+
#: includes/class-fs-plugin-updater.php:330, includes/class-fs-plugin-updater.php:366
|
828 |
msgid "new version"
|
829 |
msgstr ""
|
830 |
|
831 |
+
#: includes/class-fs-plugin-updater.php:389
|
832 |
msgid "Important Upgrade Notice:"
|
833 |
msgstr ""
|
834 |
|
835 |
+
#: includes/class-fs-plugin-updater.php:1338
|
836 |
msgid "Installing plugin: %s"
|
837 |
msgstr ""
|
838 |
|
839 |
+
#: includes/class-fs-plugin-updater.php:1379
|
840 |
msgid "Unable to connect to the filesystem. Please confirm your credentials."
|
841 |
msgstr ""
|
842 |
|
843 |
+
#: includes/class-fs-plugin-updater.php:1561
|
844 |
msgid "The remote plugin package does not contain a folder with the desired slug and renaming did not work."
|
845 |
msgstr ""
|
846 |
|
847 |
+
#: includes/fs-plugin-info-dialog.php:541
|
848 |
msgid "Purchase More"
|
849 |
msgstr ""
|
850 |
|
851 |
+
#: includes/fs-plugin-info-dialog.php:542, templates/account/partials/addon.php:385
|
852 |
msgctxt "verb"
|
853 |
msgid "Purchase"
|
854 |
msgstr ""
|
855 |
|
856 |
+
#: includes/fs-plugin-info-dialog.php:546
|
857 |
msgid "Start my free %s"
|
858 |
msgstr ""
|
859 |
|
860 |
+
#: includes/fs-plugin-info-dialog.php:744
|
861 |
msgid "Install Free Version Update Now"
|
862 |
msgstr ""
|
863 |
|
864 |
+
#: includes/fs-plugin-info-dialog.php:745, templates/account.php:639
|
865 |
msgid "Install Update Now"
|
866 |
msgstr ""
|
867 |
|
868 |
+
#: includes/fs-plugin-info-dialog.php:754
|
869 |
msgid "Install Free Version Now"
|
870 |
msgstr ""
|
871 |
|
872 |
+
#: includes/fs-plugin-info-dialog.php:755, templates/add-ons.php:323, templates/auto-installation.php:111, templates/account/partials/addon.php:365, templates/account/partials/addon.php:418
|
873 |
msgid "Install Now"
|
874 |
msgstr ""
|
875 |
|
876 |
+
#: includes/fs-plugin-info-dialog.php:771
|
877 |
msgctxt "as download latest version"
|
878 |
msgid "Download Latest Free Version"
|
879 |
msgstr ""
|
880 |
|
881 |
+
#: includes/fs-plugin-info-dialog.php:772, templates/account.php:99, templates/add-ons.php:37, templates/account/partials/addon.php:25
|
882 |
msgctxt "as download latest version"
|
883 |
msgid "Download Latest"
|
884 |
msgstr ""
|
885 |
|
886 |
+
#: includes/fs-plugin-info-dialog.php:787, templates/add-ons.php:329, templates/account/partials/addon.php:356, templates/account/partials/addon.php:412
|
887 |
msgid "Activate this add-on"
|
888 |
msgstr ""
|
889 |
|
890 |
+
#: includes/fs-plugin-info-dialog.php:789, templates/connect.php:453
|
891 |
msgid "Activate Free Version"
|
892 |
msgstr ""
|
893 |
|
894 |
+
#: includes/fs-plugin-info-dialog.php:790, templates/account.php:123, templates/add-ons.php:330, templates/account/partials/addon.php:48
|
895 |
msgid "Activate"
|
896 |
msgstr ""
|
897 |
|
898 |
+
#: includes/fs-plugin-info-dialog.php:1002
|
899 |
msgctxt "Plugin installer section title"
|
900 |
msgid "Description"
|
901 |
msgstr ""
|
902 |
|
903 |
+
#: includes/fs-plugin-info-dialog.php:1003
|
904 |
msgctxt "Plugin installer section title"
|
905 |
msgid "Installation"
|
906 |
msgstr ""
|
907 |
|
908 |
+
#: includes/fs-plugin-info-dialog.php:1004
|
909 |
msgctxt "Plugin installer section title"
|
910 |
msgid "FAQ"
|
911 |
msgstr ""
|
912 |
|
913 |
+
#: includes/fs-plugin-info-dialog.php:1005, templates/plugin-info/description.php:55
|
914 |
msgid "Screenshots"
|
915 |
msgstr ""
|
916 |
|
917 |
+
#: includes/fs-plugin-info-dialog.php:1006
|
918 |
msgctxt "Plugin installer section title"
|
919 |
msgid "Changelog"
|
920 |
msgstr ""
|
921 |
|
922 |
+
#: includes/fs-plugin-info-dialog.php:1007
|
923 |
msgctxt "Plugin installer section title"
|
924 |
msgid "Reviews"
|
925 |
msgstr ""
|
926 |
|
927 |
+
#: includes/fs-plugin-info-dialog.php:1008
|
928 |
msgctxt "Plugin installer section title"
|
929 |
msgid "Other Notes"
|
930 |
msgstr ""
|
931 |
|
932 |
+
#: includes/fs-plugin-info-dialog.php:1023
|
933 |
msgctxt "Plugin installer section title"
|
934 |
msgid "Features & Pricing"
|
935 |
msgstr ""
|
936 |
|
937 |
+
#: includes/fs-plugin-info-dialog.php:1033
|
938 |
msgid "Plugin Install"
|
939 |
msgstr ""
|
940 |
|
941 |
+
#: includes/fs-plugin-info-dialog.php:1105
|
942 |
msgctxt "e.g. Professional Plan"
|
943 |
msgid "%s Plan"
|
944 |
msgstr ""
|
945 |
|
946 |
+
#: includes/fs-plugin-info-dialog.php:1131
|
947 |
msgctxt "e.g. the best product"
|
948 |
msgid "Best"
|
949 |
msgstr ""
|
950 |
|
951 |
+
#: includes/fs-plugin-info-dialog.php:1137, includes/fs-plugin-info-dialog.php:1157
|
952 |
msgctxt "as every month"
|
953 |
msgid "Monthly"
|
954 |
msgstr ""
|
955 |
|
956 |
+
#: includes/fs-plugin-info-dialog.php:1140
|
957 |
msgctxt "as once a year"
|
958 |
msgid "Annual"
|
959 |
msgstr ""
|
960 |
|
961 |
+
#: includes/fs-plugin-info-dialog.php:1143
|
962 |
msgid "Lifetime"
|
963 |
msgstr ""
|
964 |
|
965 |
+
#: includes/fs-plugin-info-dialog.php:1157, includes/fs-plugin-info-dialog.php:1159, includes/fs-plugin-info-dialog.php:1161
|
966 |
msgctxt "e.g. billed monthly"
|
967 |
msgid "Billed %s"
|
968 |
msgstr ""
|
969 |
|
970 |
+
#: includes/fs-plugin-info-dialog.php:1159
|
971 |
msgctxt "as once a year"
|
972 |
msgid "Annually"
|
973 |
msgstr ""
|
974 |
|
975 |
+
#: includes/fs-plugin-info-dialog.php:1161
|
976 |
msgctxt "as once a year"
|
977 |
msgid "Once"
|
978 |
msgstr ""
|
979 |
|
980 |
+
#: includes/fs-plugin-info-dialog.php:1167
|
981 |
msgid "Single Site License"
|
982 |
msgstr ""
|
983 |
|
984 |
+
#: includes/fs-plugin-info-dialog.php:1169
|
985 |
msgid "Unlimited Licenses"
|
986 |
msgstr ""
|
987 |
|
988 |
+
#: includes/fs-plugin-info-dialog.php:1171
|
989 |
msgid "Up to %s Sites"
|
990 |
msgstr ""
|
991 |
|
992 |
+
#: includes/fs-plugin-info-dialog.php:1181, templates/plugin-info/features.php:82
|
993 |
msgctxt "as monthly period"
|
994 |
msgid "mo"
|
995 |
msgstr ""
|
996 |
|
997 |
+
#: includes/fs-plugin-info-dialog.php:1188, templates/plugin-info/features.php:80
|
998 |
msgctxt "as annual period"
|
999 |
msgid "year"
|
1000 |
msgstr ""
|
1001 |
|
1002 |
+
#: includes/fs-plugin-info-dialog.php:1242
|
1003 |
msgctxt "noun"
|
1004 |
msgid "Price"
|
1005 |
msgstr ""
|
1006 |
|
1007 |
+
#: includes/fs-plugin-info-dialog.php:1290
|
1008 |
msgid "Save %s"
|
1009 |
msgstr ""
|
1010 |
|
1011 |
+
#: includes/fs-plugin-info-dialog.php:1300
|
1012 |
msgid "No commitment for %s - cancel anytime"
|
1013 |
msgstr ""
|
1014 |
|
1015 |
+
#: includes/fs-plugin-info-dialog.php:1303
|
1016 |
msgid "After your free %s, pay as little as %s"
|
1017 |
msgstr ""
|
1018 |
|
1019 |
+
#: includes/fs-plugin-info-dialog.php:1314
|
1020 |
msgid "Details"
|
1021 |
msgstr ""
|
1022 |
|
1023 |
+
#: includes/fs-plugin-info-dialog.php:1318, templates/account.php:110, templates/debug.php:201, templates/debug.php:238, templates/debug.php:455, templates/account/partials/addon.php:36
|
1024 |
msgctxt "product version"
|
1025 |
msgid "Version"
|
1026 |
msgstr ""
|
1027 |
|
1028 |
+
#: includes/fs-plugin-info-dialog.php:1325
|
1029 |
msgctxt "as the plugin author"
|
1030 |
msgid "Author"
|
1031 |
msgstr ""
|
1032 |
|
1033 |
+
#: includes/fs-plugin-info-dialog.php:1332
|
1034 |
msgid "Last Updated"
|
1035 |
msgstr ""
|
1036 |
|
1037 |
+
#: includes/fs-plugin-info-dialog.php:1337, templates/account.php:525
|
1038 |
msgctxt "x-ago"
|
1039 |
msgid "%s ago"
|
1040 |
msgstr ""
|
1041 |
|
1042 |
+
#: includes/fs-plugin-info-dialog.php:1346
|
1043 |
msgid "Requires WordPress Version"
|
1044 |
msgstr ""
|
1045 |
|
1046 |
+
#: includes/fs-plugin-info-dialog.php:1347
|
1047 |
msgid "%s or higher"
|
1048 |
msgstr ""
|
1049 |
|
1050 |
+
#: includes/fs-plugin-info-dialog.php:1354
|
1051 |
msgid "Compatible up to"
|
1052 |
msgstr ""
|
1053 |
|
1054 |
+
#: includes/fs-plugin-info-dialog.php:1362
|
1055 |
msgid "Downloaded"
|
1056 |
msgstr ""
|
1057 |
|
1058 |
+
#: includes/fs-plugin-info-dialog.php:1366
|
1059 |
msgid "%s time"
|
1060 |
msgstr ""
|
1061 |
|
1062 |
+
#: includes/fs-plugin-info-dialog.php:1368
|
1063 |
msgid "%s times"
|
1064 |
msgstr ""
|
1065 |
|
1066 |
+
#: includes/fs-plugin-info-dialog.php:1379
|
1067 |
msgid "WordPress.org Plugin Page"
|
1068 |
msgstr ""
|
1069 |
|
1070 |
+
#: includes/fs-plugin-info-dialog.php:1388
|
1071 |
msgid "Plugin Homepage"
|
1072 |
msgstr ""
|
1073 |
|
1074 |
+
#: includes/fs-plugin-info-dialog.php:1397, includes/fs-plugin-info-dialog.php:1481
|
1075 |
msgid "Donate to this plugin"
|
1076 |
msgstr ""
|
1077 |
|
1078 |
+
#: includes/fs-plugin-info-dialog.php:1404
|
1079 |
msgid "Average Rating"
|
1080 |
msgstr ""
|
1081 |
|
1082 |
+
#: includes/fs-plugin-info-dialog.php:1411
|
1083 |
msgid "based on %s"
|
1084 |
msgstr ""
|
1085 |
|
1086 |
+
#: includes/fs-plugin-info-dialog.php:1415
|
1087 |
msgid "%s rating"
|
1088 |
msgstr ""
|
1089 |
|
1090 |
+
#: includes/fs-plugin-info-dialog.php:1417
|
1091 |
msgid "%s ratings"
|
1092 |
msgstr ""
|
1093 |
|
1094 |
+
#: includes/fs-plugin-info-dialog.php:1432
|
1095 |
msgid "%s star"
|
1096 |
msgstr ""
|
1097 |
|
1098 |
+
#: includes/fs-plugin-info-dialog.php:1434
|
1099 |
msgid "%s stars"
|
1100 |
msgstr ""
|
1101 |
|
1102 |
+
#: includes/fs-plugin-info-dialog.php:1446
|
1103 |
msgid "Click to see reviews that provided a rating of %s"
|
1104 |
msgstr ""
|
1105 |
|
1106 |
+
#: includes/fs-plugin-info-dialog.php:1459
|
1107 |
msgid "Contributors"
|
1108 |
msgstr ""
|
1109 |
|
1110 |
+
#: includes/fs-plugin-info-dialog.php:1489, includes/fs-plugin-info-dialog.php:1491
|
1111 |
msgid "Warning"
|
1112 |
msgstr ""
|
1113 |
|
1114 |
+
#: includes/fs-plugin-info-dialog.php:1489
|
1115 |
msgid "This plugin has not been tested with your current version of WordPress."
|
1116 |
msgstr ""
|
1117 |
|
1118 |
+
#: includes/fs-plugin-info-dialog.php:1491
|
1119 |
msgid "This plugin has not been marked as compatible with your version of WordPress."
|
1120 |
msgstr ""
|
1121 |
|
1122 |
+
#: includes/fs-plugin-info-dialog.php:1510
|
1123 |
msgid "Paid add-on must be deployed to Freemius."
|
1124 |
msgstr ""
|
1125 |
|
1126 |
+
#: includes/fs-plugin-info-dialog.php:1511
|
1127 |
msgid "Add-on must be deployed to WordPress.org or Freemius."
|
1128 |
msgstr ""
|
1129 |
|
1130 |
+
#: includes/fs-plugin-info-dialog.php:1532
|
1131 |
msgid "Newer Version (%s) Installed"
|
1132 |
msgstr ""
|
1133 |
|
1134 |
+
#: includes/fs-plugin-info-dialog.php:1533
|
1135 |
msgid "Newer Free Version (%s) Installed"
|
1136 |
msgstr ""
|
1137 |
|
1138 |
+
#: includes/fs-plugin-info-dialog.php:1540
|
1139 |
msgid "Latest Version Installed"
|
1140 |
msgstr ""
|
1141 |
|
1142 |
+
#: includes/fs-plugin-info-dialog.php:1541
|
1143 |
msgid "Latest Free Version Installed"
|
1144 |
msgstr ""
|
1145 |
|
1146 |
+
#: templates/account.php:100, templates/forms/subscription-cancellation.php:96, templates/account/partials/addon.php:26, templates/account/partials/site.php:311
|
1147 |
msgid "Downgrading your plan"
|
1148 |
msgstr ""
|
1149 |
|
1150 |
+
#: templates/account.php:101, templates/forms/subscription-cancellation.php:97, templates/account/partials/addon.php:27, templates/account/partials/site.php:312
|
1151 |
msgid "Cancelling the subscription"
|
1152 |
msgstr ""
|
1153 |
|
1154 |
#. translators: %1$s: Either 'Downgrading your plan' or 'Cancelling the subscription'
|
1155 |
+
#: templates/account.php:103, templates/forms/subscription-cancellation.php:99, templates/account/partials/site.php:314
|
1156 |
msgid "%1$s will immediately stop all future recurring payments and your %2$s plan license will expire in %3$s."
|
1157 |
msgstr ""
|
1158 |
|
1159 |
+
#: templates/account.php:104, templates/forms/subscription-cancellation.php:100, templates/account/partials/addon.php:30, templates/account/partials/site.php:315
|
1160 |
msgid "Please note that we will not be able to grandfather outdated pricing for renewals/new subscriptions after a cancellation. If you choose to renew the subscription manually in the future, after a price increase, which typically occurs once a year, you will be charged the updated price."
|
1161 |
msgstr ""
|
1162 |
|
1163 |
+
#: templates/account.php:105, templates/forms/subscription-cancellation.php:106, templates/account/partials/addon.php:31
|
1164 |
msgid "Cancelling the trial will immediately block access to all premium features. Are you sure?"
|
1165 |
msgstr ""
|
1166 |
|
1167 |
+
#: templates/account.php:106, templates/forms/subscription-cancellation.php:101, templates/account/partials/addon.php:32, templates/account/partials/site.php:316
|
1168 |
msgid "You can still enjoy all %s features but you will not have access to %s security & feature updates, nor support."
|
1169 |
msgstr ""
|
1170 |
|
1171 |
+
#: templates/account.php:107, templates/forms/subscription-cancellation.php:102, templates/account/partials/addon.php:33, templates/account/partials/site.php:317
|
1172 |
msgid "Once your license expires you can still use the Free version but you will NOT have access to the %s features."
|
1173 |
msgstr ""
|
1174 |
|
1175 |
#. translators: %s: Plan title (e.g. "Professional")
|
1176 |
+
#: templates/account.php:109, templates/account/partials/activate-license-button.php:31, templates/account/partials/addon.php:35
|
1177 |
msgid "Activate %s Plan"
|
1178 |
msgstr ""
|
1179 |
|
1180 |
#. translators: %s: Time period (e.g. Auto renews in "2 months")
|
1181 |
+
#: templates/account.php:112, templates/account/partials/addon.php:38, templates/account/partials/site.php:291
|
1182 |
msgid "Auto renews in %s"
|
1183 |
msgstr ""
|
1184 |
|
1185 |
#. translators: %s: Time period (e.g. Expires in "2 months")
|
1186 |
+
#: templates/account.php:114, templates/account/partials/addon.php:40, templates/account/partials/site.php:293
|
1187 |
msgid "Expires in %s"
|
1188 |
msgstr ""
|
1189 |
|
1190 |
+
#: templates/account.php:115
|
1191 |
msgctxt "as synchronize license"
|
1192 |
msgid "Sync License"
|
1193 |
msgstr ""
|
1194 |
|
1195 |
+
#: templates/account.php:116, templates/account/partials/addon.php:41
|
1196 |
msgid "Cancel Trial"
|
1197 |
msgstr ""
|
1198 |
|
1199 |
+
#: templates/account.php:117, templates/account/partials/addon.php:42
|
1200 |
msgid "Change Plan"
|
1201 |
msgstr ""
|
1202 |
|
1203 |
+
#: templates/account.php:118, templates/account/partials/addon.php:43
|
1204 |
msgctxt "verb"
|
1205 |
msgid "Upgrade"
|
1206 |
msgstr ""
|
1207 |
|
1208 |
+
#: templates/account.php:120, templates/account/partials/addon.php:45, templates/account/partials/site.php:318
|
1209 |
msgctxt "verb"
|
1210 |
msgid "Downgrade"
|
1211 |
msgstr ""
|
1212 |
|
1213 |
+
#: templates/account.php:122, templates/add-ons.php:246, templates/plugin-info/features.php:72, templates/account/partials/addon.php:47, templates/account/partials/site.php:33
|
1214 |
msgid "Free"
|
1215 |
msgstr ""
|
1216 |
|
1217 |
+
#: templates/account.php:124, templates/debug.php:371, includes/customizer/class-fs-customizer-upsell-control.php:110, templates/account/partials/addon.php:49
|
1218 |
msgctxt "as product pricing plan"
|
1219 |
msgid "Plan"
|
1220 |
msgstr ""
|
1221 |
|
1222 |
+
#: templates/account.php:125
|
1223 |
msgid "Bundle Plan"
|
1224 |
msgstr ""
|
1225 |
|
1226 |
+
#: templates/account.php:248
|
1227 |
msgid "Free Trial"
|
1228 |
msgstr ""
|
1229 |
|
1230 |
+
#: templates/account.php:259
|
1231 |
msgid "Account Details"
|
1232 |
msgstr ""
|
1233 |
|
1234 |
+
#: templates/account.php:266, templates/forms/data-debug-mode.php:33
|
1235 |
+
msgid "Start Debug"
|
1236 |
+
msgstr ""
|
1237 |
+
|
1238 |
+
#: templates/account.php:268
|
1239 |
+
msgid "Stop Debug"
|
1240 |
+
msgstr ""
|
1241 |
+
|
1242 |
+
#: templates/account.php:275
|
1243 |
msgid "Billing & Invoices"
|
1244 |
msgstr ""
|
1245 |
|
1246 |
+
#: templates/account.php:286
|
1247 |
msgid "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?"
|
1248 |
msgstr ""
|
1249 |
|
1250 |
+
#: templates/account.php:288
|
1251 |
msgid "Deletion is not temporary. Only delete if you no longer want to use this %s anymore. Are you sure you would like to continue with the deletion?"
|
1252 |
msgstr ""
|
1253 |
|
1254 |
+
#: templates/account.php:291
|
1255 |
msgid "Delete Account"
|
1256 |
msgstr ""
|
1257 |
|
1258 |
+
#: templates/account.php:303, templates/account/partials/addon.php:231, templates/account/partials/deactivate-license-button.php:35
|
1259 |
msgid "Deactivate License"
|
1260 |
msgstr ""
|
1261 |
|
1262 |
+
#: templates/account.php:326, templates/forms/subscription-cancellation.php:125
|
1263 |
msgid "Are you sure you want to proceed?"
|
1264 |
msgstr ""
|
1265 |
|
1266 |
+
#: templates/account.php:326, templates/account/partials/addon.php:255
|
1267 |
msgid "Cancel Subscription"
|
1268 |
msgstr ""
|
1269 |
|
1270 |
+
#: templates/account.php:355, templates/account/partials/addon.php:340
|
1271 |
msgctxt "as synchronize"
|
1272 |
msgid "Sync"
|
1273 |
msgstr ""
|
1274 |
|
1275 |
+
#: templates/account.php:370, templates/debug.php:505
|
1276 |
msgid "Name"
|
1277 |
msgstr ""
|
1278 |
|
1279 |
+
#: templates/account.php:376, templates/debug.php:506
|
1280 |
msgid "Email"
|
1281 |
msgstr ""
|
1282 |
|
1283 |
+
#: templates/account.php:383, templates/debug.php:369, templates/debug.php:555
|
1284 |
msgid "User ID"
|
1285 |
msgstr ""
|
1286 |
|
1287 |
+
#: templates/account.php:401, templates/account.php:719, templates/account.php:752, templates/debug.php:236, templates/debug.php:363, templates/debug.php:452, templates/debug.php:504, templates/debug.php:553, templates/debug.php:632, templates/account/payments.php:35, templates/debug/logger.php:21
|
1288 |
msgid "ID"
|
1289 |
msgstr ""
|
1290 |
|
1291 |
+
#: templates/account.php:408
|
1292 |
msgid "Site ID"
|
1293 |
msgstr ""
|
1294 |
|
1295 |
+
#: templates/account.php:411
|
1296 |
msgid "No ID"
|
1297 |
msgstr ""
|
1298 |
|
1299 |
+
#: templates/account.php:416, templates/debug.php:243, templates/debug.php:372, templates/debug.php:456, templates/debug.php:508, templates/account/partials/site.php:227
|
1300 |
msgid "Public Key"
|
1301 |
msgstr ""
|
1302 |
|
1303 |
+
#: templates/account.php:422, templates/debug.php:373, templates/debug.php:457, templates/debug.php:509, templates/account/partials/site.php:239
|
1304 |
msgid "Secret Key"
|
1305 |
msgstr ""
|
1306 |
|
1307 |
+
#: templates/account.php:425
|
1308 |
msgctxt "as secret encryption key missing"
|
1309 |
msgid "No Secret"
|
1310 |
msgstr ""
|
1311 |
|
1312 |
+
#: templates/account.php:452, templates/account/partials/site.php:120, templates/account/partials/site.php:122
|
1313 |
msgid "Trial"
|
1314 |
msgstr ""
|
1315 |
|
1316 |
+
#: templates/account.php:479, templates/debug.php:561, templates/account/partials/site.php:260
|
1317 |
msgid "License Key"
|
1318 |
msgstr ""
|
1319 |
|
1320 |
+
#: templates/account.php:510
|
1321 |
msgid "Join the Beta program"
|
1322 |
msgstr ""
|
1323 |
|
1324 |
+
#: templates/account.php:516
|
1325 |
msgid "not verified"
|
1326 |
msgstr ""
|
1327 |
|
1328 |
+
#: templates/account.php:525, templates/account/partials/addon.php:190
|
1329 |
msgid "Expired"
|
1330 |
msgstr ""
|
1331 |
|
1332 |
+
#: templates/account.php:585
|
1333 |
msgid "Premium version"
|
1334 |
msgstr ""
|
1335 |
|
1336 |
+
#: templates/account.php:587
|
1337 |
msgid "Free version"
|
1338 |
msgstr ""
|
1339 |
|
1340 |
+
#: templates/account.php:599
|
1341 |
msgid "Verify Email"
|
1342 |
msgstr ""
|
1343 |
|
1344 |
+
#: templates/account.php:613
|
1345 |
msgid "Download %s Version"
|
1346 |
msgstr ""
|
1347 |
|
1348 |
+
#: templates/account.php:629
|
1349 |
+
msgid "Download Paid Version"
|
1350 |
+
msgstr ""
|
1351 |
+
|
1352 |
+
#: templates/account.php:647, templates/account.php:890, templates/account/partials/site.php:248, templates/account/partials/site.php:270
|
1353 |
msgctxt "verb"
|
1354 |
msgid "Show"
|
1355 |
msgstr ""
|
1356 |
|
1357 |
+
#: templates/account.php:662
|
1358 |
msgid "What is your %s?"
|
1359 |
msgstr ""
|
1360 |
|
1361 |
+
#: templates/account.php:670, templates/account/billing.php:21
|
1362 |
msgctxt "verb"
|
1363 |
msgid "Edit"
|
1364 |
msgstr ""
|
1365 |
|
1366 |
+
#: templates/account.php:674, templates/forms/user-change.php:27
|
1367 |
+
msgid "Change User"
|
1368 |
+
msgstr ""
|
1369 |
+
|
1370 |
+
#: templates/account.php:698
|
1371 |
msgid "Sites"
|
1372 |
msgstr ""
|
1373 |
|
1374 |
+
#: templates/account.php:711
|
1375 |
msgid "Search by address"
|
1376 |
msgstr ""
|
1377 |
|
1378 |
+
#: templates/account.php:720, templates/debug.php:366
|
1379 |
msgid "Address"
|
1380 |
msgstr ""
|
1381 |
|
1382 |
+
#: templates/account.php:721
|
1383 |
msgid "License"
|
1384 |
msgstr ""
|
1385 |
|
1386 |
+
#: templates/account.php:722
|
1387 |
msgid "Plan"
|
1388 |
msgstr ""
|
1389 |
|
1390 |
+
#: templates/account.php:755
|
1391 |
msgctxt "as software license"
|
1392 |
msgid "License"
|
1393 |
msgstr ""
|
1394 |
|
1395 |
+
#: templates/account.php:884
|
1396 |
msgctxt "verb"
|
1397 |
msgid "Hide"
|
1398 |
msgstr ""
|
1399 |
|
1400 |
+
#: templates/account.php:906, templates/forms/data-debug-mode.php:31
|
1401 |
msgid "Processing"
|
1402 |
msgstr ""
|
1403 |
|
1404 |
+
#: templates/account.php:909
|
1405 |
msgid "Get updates for bleeding edge Beta versions of %s."
|
1406 |
msgstr ""
|
1407 |
|
1408 |
+
#: templates/account.php:967
|
1409 |
msgid "Cancelling %s"
|
1410 |
msgstr ""
|
1411 |
|
1412 |
+
#: templates/account.php:967, templates/account.php:984, templates/forms/subscription-cancellation.php:27, templates/forms/deactivation/form.php:133
|
1413 |
msgid "trial"
|
1414 |
msgstr ""
|
1415 |
|
1416 |
+
#: templates/account.php:982, templates/forms/deactivation/form.php:150
|
1417 |
msgid "Cancelling %s..."
|
1418 |
msgstr ""
|
1419 |
|
1420 |
+
#: templates/account.php:985, templates/forms/subscription-cancellation.php:28, templates/forms/deactivation/form.php:134
|
1421 |
msgid "subscription"
|
1422 |
msgstr ""
|
1423 |
|
1424 |
+
#: templates/account.php:999
|
1425 |
msgid "Deactivating your license will block all premium features, but will enable activating the license on another site. Are you sure you want to proceed?"
|
1426 |
msgstr ""
|
1427 |
|
1428 |
+
#: templates/account.php:1073
|
1429 |
+
msgid "Disabling white-label mode"
|
1430 |
+
msgstr ""
|
1431 |
+
|
1432 |
+
#: templates/account.php:1074
|
1433 |
+
msgid "Enabling white-label mode"
|
1434 |
+
msgstr ""
|
1435 |
+
|
1436 |
+
#: templates/add-ons.php:38
|
1437 |
msgid "View details"
|
1438 |
msgstr ""
|
1439 |
|
1440 |
+
#: templates/add-ons.php:48
|
1441 |
msgid "Add Ons for %s"
|
1442 |
msgstr ""
|
1443 |
|
1444 |
+
#: templates/add-ons.php:58
|
1445 |
+
msgid "We couldn't load the add-ons list. It's probably an issue on our side, please try to come back in few minutes."
|
1446 |
msgstr ""
|
1447 |
|
1448 |
+
#: templates/add-ons.php:229
|
1449 |
msgctxt "active add-on"
|
1450 |
msgid "Active"
|
1451 |
msgstr ""
|
1452 |
|
1453 |
+
#: templates/add-ons.php:230
|
1454 |
msgctxt "installed add-on"
|
1455 |
msgid "Installed"
|
1456 |
msgstr ""
|
1457 |
|
1458 |
+
#: templates/admin-notice.php:13, templates/forms/license-activation.php:220, templates/forms/resend-key.php:77
|
1459 |
msgctxt "as close a window"
|
1460 |
msgid "Dismiss"
|
1461 |
msgstr ""
|
1494 |
msgid "Hey %s,"
|
1495 |
msgstr ""
|
1496 |
|
1497 |
+
#: templates/connect.php:162
|
1498 |
msgid "Allow & Continue"
|
1499 |
msgstr ""
|
1500 |
|
1501 |
+
#: templates/connect.php:166
|
1502 |
msgid "Re-send activation email"
|
1503 |
msgstr ""
|
1504 |
|
1505 |
+
#: templates/connect.php:170
|
1506 |
msgid "Thanks %s!"
|
1507 |
msgstr ""
|
1508 |
|
1509 |
+
#: templates/connect.php:180, templates/forms/license-activation.php:46
|
1510 |
msgid "Agree & Activate License"
|
1511 |
msgstr ""
|
1512 |
|
1513 |
+
#: templates/connect.php:189
|
1514 |
msgid "Thanks for purchasing %s! To get started, please enter your license key:"
|
1515 |
msgstr ""
|
1516 |
|
1517 |
+
#: templates/connect.php:196
|
1518 |
msgid "Never miss an important update - opt in to our security & feature updates notifications, educational content, offers, and non-sensitive diagnostic tracking with %4$s."
|
1519 |
msgstr ""
|
1520 |
|
1521 |
+
#: templates/connect.php:197
|
1522 |
msgid "Never miss an important update - opt in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s."
|
1523 |
msgstr ""
|
1524 |
|
1525 |
+
#: templates/connect.php:203
|
1526 |
msgid "Never miss an important update - opt in to our security & feature updates notifications, educational content, offers, and non-sensitive diagnostic tracking with %4$s. If you skip this, that's okay! %1$s will still work just fine."
|
1527 |
msgstr ""
|
1528 |
|
1529 |
+
#: templates/connect.php:204
|
1530 |
msgid "Never miss an important update - opt in to our security & feature updates notifications, and non-sensitive diagnostic tracking with %4$s. If you skip this, that's okay! %1$s will still work just fine."
|
1531 |
msgstr ""
|
1532 |
|
1533 |
+
#: templates/connect.php:238
|
1534 |
msgid "We're excited to introduce the Freemius network-level integration."
|
1535 |
msgstr ""
|
1536 |
|
1537 |
+
#: templates/connect.php:241
|
1538 |
msgid "During the update process we detected %d site(s) that are still pending license activation."
|
1539 |
msgstr ""
|
1540 |
|
1541 |
+
#: templates/connect.php:243
|
1542 |
msgid "If you'd like to use the %s on those sites, please enter your license key below and click the activation button."
|
1543 |
msgstr ""
|
1544 |
|
1545 |
+
#: templates/connect.php:245
|
1546 |
msgid "%s's paid features"
|
1547 |
msgstr ""
|
1548 |
|
1549 |
+
#: templates/connect.php:250
|
1550 |
msgid "Alternatively, you can skip it for now and activate the license later, in your %s's network-level Account page."
|
1551 |
msgstr ""
|
1552 |
|
1553 |
+
#: templates/connect.php:252
|
1554 |
msgid "During the update process we detected %s site(s) in the network that are still pending your attention."
|
1555 |
msgstr ""
|
1556 |
|
1557 |
+
#: templates/connect.php:261, templates/forms/data-debug-mode.php:35, templates/forms/license-activation.php:49
|
1558 |
msgid "License key"
|
1559 |
msgstr ""
|
1560 |
|
1561 |
+
#: templates/connect.php:264, templates/forms/license-activation.php:22
|
1562 |
msgid "Can't find your license key?"
|
1563 |
msgstr ""
|
1564 |
|
1565 |
+
#: templates/connect.php:323, templates/connect.php:695, templates/forms/deactivation/retry-skip.php:20
|
1566 |
msgctxt "verb"
|
1567 |
msgid "Skip"
|
1568 |
msgstr ""
|
1569 |
|
1570 |
+
#: templates/connect.php:326
|
1571 |
msgid "Delegate to Site Admins"
|
1572 |
msgstr ""
|
1573 |
|
1574 |
+
#: templates/connect.php:326
|
1575 |
msgid "If you click it, this decision will be delegated to the sites administrators."
|
1576 |
msgstr ""
|
1577 |
|
1578 |
+
#: templates/connect.php:364
|
1579 |
msgid "Your Profile Overview"
|
1580 |
msgstr ""
|
1581 |
|
1582 |
+
#: templates/connect.php:365
|
1583 |
msgid "Name and email address"
|
1584 |
msgstr ""
|
1585 |
|
1586 |
+
#: templates/connect.php:372
|
1587 |
msgid "Your Site Overview"
|
1588 |
msgstr ""
|
1589 |
|
1590 |
+
#: templates/connect.php:373
|
1591 |
+
msgid "Site URL, WP version, PHP info"
|
1592 |
msgstr ""
|
1593 |
|
1594 |
+
#: templates/connect.php:379
|
1595 |
msgid "Admin Notices"
|
1596 |
msgstr ""
|
1597 |
|
1598 |
+
#: templates/connect.php:380, templates/connect.php:396
|
1599 |
msgid "Updates, announcements, marketing, no spam"
|
1600 |
msgstr ""
|
1601 |
|
1602 |
+
#: templates/connect.php:386
|
1603 |
msgid "Current %s Events"
|
1604 |
msgstr ""
|
1605 |
|
1606 |
+
#: templates/connect.php:387
|
1607 |
msgid "Activation, deactivation and uninstall"
|
1608 |
msgstr ""
|
1609 |
|
1610 |
+
#: templates/connect.php:395
|
1611 |
msgid "Newsletter"
|
1612 |
msgstr ""
|
1613 |
|
1614 |
+
#: templates/connect.php:403
|
1615 |
+
msgid "Plugins & Themes"
|
1616 |
+
msgstr ""
|
1617 |
+
|
1618 |
+
#: templates/connect.php:404
|
1619 |
+
msgid "Title, slug, version, and is active"
|
1620 |
+
msgstr ""
|
1621 |
+
|
1622 |
+
#: templates/connect.php:421, templates/forms/license-activation.php:41
|
1623 |
msgid "The %1$s will be periodically sending data to %2$s to check for security and feature updates, and verify the validity of your license."
|
1624 |
msgstr ""
|
1625 |
|
1626 |
+
#: templates/connect.php:426
|
1627 |
msgid "What permissions are being granted?"
|
1628 |
msgstr ""
|
1629 |
|
1630 |
+
#: templates/connect.php:452
|
1631 |
msgid "Don't have a license key?"
|
1632 |
msgstr ""
|
1633 |
|
1634 |
+
#: templates/connect.php:455
|
1635 |
msgid "Have a license key?"
|
1636 |
msgstr ""
|
1637 |
|
1638 |
+
#: templates/connect.php:463
|
1639 |
msgid "Privacy Policy"
|
1640 |
msgstr ""
|
1641 |
|
1642 |
+
#: templates/connect.php:465
|
1643 |
msgid "License Agreement"
|
1644 |
msgstr ""
|
1645 |
|
1646 |
+
#: templates/connect.php:465
|
1647 |
msgid "Terms of Service"
|
1648 |
msgstr ""
|
1649 |
|
1650 |
+
#: templates/connect.php:854
|
1651 |
msgctxt "as in the process of sending an email"
|
1652 |
msgid "Sending email"
|
1653 |
msgstr ""
|
1654 |
|
1655 |
+
#: templates/connect.php:855
|
1656 |
msgctxt "as activating plugin"
|
1657 |
msgid "Activating"
|
1658 |
msgstr ""
|
1680 |
msgid "Debugging"
|
1681 |
msgstr ""
|
1682 |
|
1683 |
+
#: templates/debug.php:52, templates/debug.php:248, templates/debug.php:374, templates/debug.php:510
|
1684 |
msgid "Actions"
|
1685 |
msgstr ""
|
1686 |
|
1687 |
+
#: templates/debug.php:62
|
1688 |
msgid "Are you sure you want to delete all Freemius data?"
|
1689 |
msgstr ""
|
1690 |
|
1691 |
+
#: templates/debug.php:62
|
1692 |
msgid "Delete All Accounts"
|
1693 |
msgstr ""
|
1694 |
|
1695 |
+
#: templates/debug.php:69
|
1696 |
msgid "Clear API Cache"
|
1697 |
msgstr ""
|
1698 |
|
1699 |
+
#: templates/debug.php:77
|
1700 |
msgid "Clear Updates Transients"
|
1701 |
msgstr ""
|
1702 |
|
1703 |
+
#: templates/debug.php:84
|
1704 |
msgid "Sync Data From Server"
|
1705 |
msgstr ""
|
1706 |
|
1707 |
+
#: templates/debug.php:93
|
1708 |
msgid "Migrate Options to Network"
|
1709 |
msgstr ""
|
1710 |
|
1711 |
+
#: templates/debug.php:98
|
1712 |
msgid "Load DB Option"
|
1713 |
msgstr ""
|
1714 |
|
1715 |
+
#: templates/debug.php:101
|
1716 |
msgid "Set DB Option"
|
1717 |
msgstr ""
|
1718 |
|
1719 |
+
#: templates/debug.php:180
|
1720 |
msgid "Key"
|
1721 |
msgstr ""
|
1722 |
|
1723 |
+
#: templates/debug.php:181
|
1724 |
msgid "Value"
|
1725 |
msgstr ""
|
1726 |
|
1727 |
+
#: templates/debug.php:197
|
1728 |
msgctxt "as software development kit versions"
|
1729 |
msgid "SDK Versions"
|
1730 |
msgstr ""
|
1731 |
|
1732 |
+
#: templates/debug.php:202
|
1733 |
msgid "SDK Path"
|
1734 |
msgstr ""
|
1735 |
|
1736 |
+
#: templates/debug.php:203, templates/debug.php:242
|
1737 |
msgid "Module Path"
|
1738 |
msgstr ""
|
1739 |
|
1740 |
+
#: templates/debug.php:204
|
1741 |
msgid "Is Active"
|
1742 |
msgstr ""
|
1743 |
|
1744 |
+
#: templates/debug.php:232, templates/debug/plugins-themes-sync.php:35
|
1745 |
msgid "Plugins"
|
1746 |
msgstr ""
|
1747 |
|
1748 |
+
#: templates/debug.php:232, templates/debug/plugins-themes-sync.php:56
|
1749 |
msgid "Themes"
|
1750 |
msgstr ""
|
1751 |
|
1752 |
+
#: templates/debug.php:237, templates/debug.php:368, templates/debug.php:454, templates/debug/scheduled-crons.php:80
|
1753 |
msgid "Slug"
|
1754 |
msgstr ""
|
1755 |
|
1756 |
+
#: templates/debug.php:239, templates/debug.php:453
|
1757 |
msgid "Title"
|
1758 |
msgstr ""
|
1759 |
|
1760 |
+
#: templates/debug.php:240
|
1761 |
msgctxt "as application program interface"
|
1762 |
msgid "API"
|
1763 |
msgstr ""
|
1764 |
|
1765 |
+
#: templates/debug.php:241
|
1766 |
msgid "Freemius State"
|
1767 |
msgstr ""
|
1768 |
|
1769 |
+
#: templates/debug.php:245
|
1770 |
msgid "Network Blog"
|
1771 |
msgstr ""
|
1772 |
|
1773 |
+
#: templates/debug.php:246
|
1774 |
msgid "Network User"
|
1775 |
msgstr ""
|
1776 |
|
1777 |
+
#: templates/debug.php:283
|
1778 |
msgctxt "as connection was successful"
|
1779 |
msgid "Connected"
|
1780 |
msgstr ""
|
1781 |
|
1782 |
+
#: templates/debug.php:284
|
1783 |
msgctxt "as connection blocked"
|
1784 |
msgid "Blocked"
|
1785 |
msgstr ""
|
1786 |
|
1787 |
+
#: templates/debug.php:320
|
1788 |
msgid "Simulate Trial Promotion"
|
1789 |
msgstr ""
|
1790 |
|
1791 |
+
#: templates/debug.php:332
|
1792 |
msgid "Simulate Network Upgrade"
|
1793 |
msgstr ""
|
1794 |
|
1795 |
+
#: templates/debug.php:357
|
1796 |
msgid "%s Installs"
|
1797 |
msgstr ""
|
1798 |
|
1799 |
+
#: templates/debug.php:359
|
1800 |
msgctxt "like websites"
|
1801 |
msgid "Sites"
|
1802 |
msgstr ""
|
1803 |
|
1804 |
+
#: templates/debug.php:365, templates/account/partials/site.php:156
|
1805 |
msgid "Blog ID"
|
1806 |
msgstr ""
|
1807 |
|
1808 |
+
#: templates/debug.php:370
|
1809 |
+
msgid "License ID"
|
1810 |
+
msgstr ""
|
1811 |
+
|
1812 |
+
#: templates/debug.php:434, templates/debug.php:533, templates/account/partials/addon.php:435
|
1813 |
msgctxt "verb"
|
1814 |
msgid "Delete"
|
1815 |
msgstr ""
|
1816 |
|
1817 |
+
#: templates/debug.php:448
|
1818 |
msgid "Add Ons of module %s"
|
1819 |
msgstr ""
|
1820 |
|
1821 |
+
#: templates/debug.php:500
|
1822 |
msgid "Users"
|
1823 |
msgstr ""
|
1824 |
|
1825 |
+
#: templates/debug.php:507
|
1826 |
msgid "Verified"
|
1827 |
msgstr ""
|
1828 |
|
1829 |
+
#: templates/debug.php:549
|
1830 |
msgid "%s Licenses"
|
1831 |
msgstr ""
|
1832 |
|
1833 |
+
#: templates/debug.php:554
|
1834 |
msgid "Plugin ID"
|
1835 |
msgstr ""
|
1836 |
|
1837 |
+
#: templates/debug.php:556
|
1838 |
msgid "Plan ID"
|
1839 |
msgstr ""
|
1840 |
|
1841 |
+
#: templates/debug.php:557
|
1842 |
msgid "Quota"
|
1843 |
msgstr ""
|
1844 |
|
1845 |
+
#: templates/debug.php:558
|
1846 |
msgid "Activated"
|
1847 |
msgstr ""
|
1848 |
|
1849 |
+
#: templates/debug.php:559
|
1850 |
msgid "Blocking"
|
1851 |
msgstr ""
|
1852 |
|
1853 |
+
#: templates/debug.php:560, templates/debug.php:631, templates/debug/logger.php:22
|
1854 |
+
msgid "Type"
|
1855 |
+
msgstr ""
|
1856 |
+
|
1857 |
+
#: templates/debug.php:562
|
1858 |
msgctxt "as expiration date"
|
1859 |
msgid "Expiration"
|
1860 |
msgstr ""
|
1861 |
|
1862 |
+
#: templates/debug.php:590
|
1863 |
msgid "Debug Log"
|
1864 |
msgstr ""
|
1865 |
|
1866 |
+
#: templates/debug.php:594
|
1867 |
msgid "All Types"
|
1868 |
msgstr ""
|
1869 |
|
1870 |
+
#: templates/debug.php:601
|
1871 |
msgid "All Requests"
|
1872 |
msgstr ""
|
1873 |
|
1874 |
+
#: templates/debug.php:606, templates/debug.php:635, templates/debug/logger.php:25
|
1875 |
msgid "File"
|
1876 |
msgstr ""
|
1877 |
|
1878 |
+
#: templates/debug.php:607, templates/debug.php:633, templates/debug/logger.php:23
|
1879 |
msgid "Function"
|
1880 |
msgstr ""
|
1881 |
|
1882 |
+
#: templates/debug.php:608
|
1883 |
msgid "Process ID"
|
1884 |
msgstr ""
|
1885 |
|
1886 |
+
#: templates/debug.php:609
|
1887 |
msgid "Logger"
|
1888 |
msgstr ""
|
1889 |
|
1890 |
+
#: templates/debug.php:610, templates/debug.php:634, templates/debug/logger.php:24
|
1891 |
msgid "Message"
|
1892 |
msgstr ""
|
1893 |
|
1894 |
+
#: templates/debug.php:612
|
1895 |
msgid "Filter"
|
1896 |
msgstr ""
|
1897 |
|
1898 |
+
#: templates/debug.php:620
|
1899 |
msgid "Download"
|
1900 |
msgstr ""
|
1901 |
|
1902 |
+
#: templates/debug.php:636, templates/debug/logger.php:26
|
|
|
|
|
|
|
|
|
1903 |
msgid "Timestamp"
|
1904 |
msgstr ""
|
1905 |
|
2085 |
msgid "Apply to become an affiliate"
|
2086 |
msgstr ""
|
2087 |
|
2088 |
+
#: templates/forms/affiliation.php:107
|
2089 |
msgid "Your affiliate application for %s has been accepted! Log in to your affiliate area at: %s."
|
2090 |
msgstr ""
|
2091 |
|
2092 |
+
#: templates/forms/affiliation.php:122
|
2093 |
msgid "Thank you for applying for our affiliate program, we'll review your details during the next 14 days and will get back to you with further information."
|
2094 |
msgstr ""
|
2095 |
|
2096 |
+
#: templates/forms/affiliation.php:125
|
2097 |
msgid "Your affiliation account was temporarily suspended."
|
2098 |
msgstr ""
|
2099 |
|
2100 |
+
#: templates/forms/affiliation.php:128
|
2101 |
msgid "Thank you for applying for our affiliate program, unfortunately, we've decided at this point to reject your application. Please try again in 30 days."
|
2102 |
msgstr ""
|
2103 |
|
2104 |
+
#: templates/forms/affiliation.php:131
|
2105 |
msgid "Due to violation of our affiliation terms, we decided to temporarily block your affiliation account. If you have any questions, please contact support."
|
2106 |
msgstr ""
|
2107 |
|
2108 |
+
#: templates/forms/affiliation.php:144
|
2109 |
msgid "Like the %s? Become our ambassador and earn cash ;-)"
|
2110 |
msgstr ""
|
2111 |
|
2112 |
+
#: templates/forms/affiliation.php:145
|
2113 |
msgid "Refer new customers to our %s and earn %s commission on each successful sale you refer!"
|
2114 |
msgstr ""
|
2115 |
|
2116 |
+
#: templates/forms/affiliation.php:148
|
2117 |
msgid "Program Summary"
|
2118 |
msgstr ""
|
2119 |
|
2120 |
+
#: templates/forms/affiliation.php:150
|
2121 |
msgid "%s commission when a customer purchases a new license."
|
2122 |
msgstr ""
|
2123 |
|
2124 |
+
#: templates/forms/affiliation.php:152
|
2125 |
msgid "Get commission for automated subscription renewals."
|
2126 |
msgstr ""
|
2127 |
|
2128 |
+
#: templates/forms/affiliation.php:155
|
2129 |
msgid "%s tracking cookie after the first visit to maximize earnings potential."
|
2130 |
msgstr ""
|
2131 |
|
2132 |
+
#: templates/forms/affiliation.php:158
|
2133 |
msgid "Unlimited commissions."
|
2134 |
msgstr ""
|
2135 |
|
2136 |
+
#: templates/forms/affiliation.php:160
|
2137 |
msgid "%s minimum payout amount."
|
2138 |
msgstr ""
|
2139 |
|
2140 |
+
#: templates/forms/affiliation.php:161
|
2141 |
msgid "Payouts are in USD and processed monthly via PayPal."
|
2142 |
msgstr ""
|
2143 |
|
2144 |
+
#: templates/forms/affiliation.php:162
|
2145 |
msgid "As we reserve 30 days for potential refunds, we only pay commissions that are older than 30 days."
|
2146 |
msgstr ""
|
2147 |
|
2148 |
+
#: templates/forms/affiliation.php:165
|
2149 |
msgid "Affiliate"
|
2150 |
msgstr ""
|
2151 |
|
2152 |
+
#: templates/forms/affiliation.php:168, templates/forms/resend-key.php:23
|
2153 |
msgid "Email address"
|
2154 |
msgstr ""
|
2155 |
|
2156 |
+
#: templates/forms/affiliation.php:172
|
2157 |
msgid "Full name"
|
2158 |
msgstr ""
|
2159 |
|
2160 |
+
#: templates/forms/affiliation.php:176
|
2161 |
msgid "PayPal account email address"
|
2162 |
msgstr ""
|
2163 |
|
2164 |
+
#: templates/forms/affiliation.php:180
|
2165 |
msgid "Where are you going to promote the %s?"
|
2166 |
msgstr ""
|
2167 |
|
2168 |
+
#: templates/forms/affiliation.php:182
|
2169 |
msgid "Enter the domain of your website or other websites from where you plan to promote the %s."
|
2170 |
msgstr ""
|
2171 |
|
2172 |
+
#: templates/forms/affiliation.php:184
|
2173 |
msgid "Add another domain"
|
2174 |
msgstr ""
|
2175 |
|
2176 |
+
#: templates/forms/affiliation.php:188
|
2177 |
msgid "Extra Domains"
|
2178 |
msgstr ""
|
2179 |
|
2180 |
+
#: templates/forms/affiliation.php:189
|
2181 |
msgid "Extra domains where you will be marketing the product from."
|
2182 |
msgstr ""
|
2183 |
|
2184 |
+
#: templates/forms/affiliation.php:199
|
2185 |
msgid "Promotion methods"
|
2186 |
msgstr ""
|
2187 |
|
2188 |
+
#: templates/forms/affiliation.php:202
|
2189 |
msgid "Social media (Facebook, Twitter, etc.)"
|
2190 |
msgstr ""
|
2191 |
|
2192 |
+
#: templates/forms/affiliation.php:206
|
2193 |
msgid "Mobile apps"
|
2194 |
msgstr ""
|
2195 |
|
2196 |
+
#: templates/forms/affiliation.php:210
|
2197 |
msgid "Website, email, and social media statistics (optional)"
|
2198 |
msgstr ""
|
2199 |
|
2200 |
+
#: templates/forms/affiliation.php:213
|
2201 |
msgid "Please feel free to provide any relevant website or social media statistics, e.g. monthly unique site visits, number of email subscribers, followers, etc. (we will keep this information confidential)."
|
2202 |
msgstr ""
|
2203 |
|
2204 |
+
#: templates/forms/affiliation.php:217
|
2205 |
msgid "How will you promote us?"
|
2206 |
msgstr ""
|
2207 |
|
2208 |
+
#: templates/forms/affiliation.php:220
|
2209 |
msgid "Please provide details on how you intend to promote %s (please be as specific as possible)."
|
2210 |
msgstr ""
|
2211 |
|
2212 |
+
#: templates/forms/affiliation.php:232, templates/forms/resend-key.php:22
|
2213 |
msgid "Cancel"
|
2214 |
msgstr ""
|
2215 |
|
2216 |
+
#: templates/forms/affiliation.php:234
|
2217 |
msgid "Become an affiliate"
|
2218 |
msgstr ""
|
2219 |
|
2220 |
+
#: templates/forms/data-debug-mode.php:25
|
2221 |
+
msgid "Please enter the license key to enable the debug mode:"
|
2222 |
+
msgstr ""
|
2223 |
+
|
2224 |
+
#: templates/forms/data-debug-mode.php:27
|
2225 |
+
msgid "To enter the debug mode, please enter the secret key of the license owner (UserID = %d), which you can find in your \"My Profile\" section of your User Dashboard:"
|
2226 |
+
msgstr ""
|
2227 |
+
|
2228 |
+
#: templates/forms/data-debug-mode.php:32
|
2229 |
+
msgid "Submit"
|
2230 |
+
msgstr ""
|
2231 |
+
|
2232 |
+
#: templates/forms/data-debug-mode.php:36
|
2233 |
+
msgid "User key"
|
2234 |
+
msgstr ""
|
2235 |
+
|
2236 |
+
#: templates/forms/license-activation.php:23
|
2237 |
msgid "Please enter the license key that you received in the email right after the purchase:"
|
2238 |
msgstr ""
|
2239 |
|
2240 |
+
#: templates/forms/license-activation.php:28
|
2241 |
msgid "Update License"
|
2242 |
msgstr ""
|
2243 |
|
2244 |
+
#: templates/forms/license-activation.php:181
|
2245 |
+
msgid "Associate with the license owner's account."
|
2246 |
+
msgstr ""
|
2247 |
+
|
2248 |
#: templates/forms/optout.php:30
|
2249 |
msgctxt "verb"
|
2250 |
msgid "Opt Out"
|
2255 |
msgid "Opt In"
|
2256 |
msgstr ""
|
2257 |
|
2258 |
+
#: templates/forms/optout.php:34
|
2259 |
+
msgid "Connectivity to the licensing engine was successfully re-established. Automatic security & feature updates are now available through the WP Admin Dashboard."
|
2260 |
+
msgstr ""
|
2261 |
+
|
2262 |
+
#: templates/forms/optout.php:36
|
2263 |
+
msgid "Warning: Opting out will block automatic updates"
|
2264 |
+
msgstr ""
|
2265 |
+
|
2266 |
+
#: templates/forms/optout.php:37
|
2267 |
+
msgid "Ongoing connectivity with the licensing engine is essential for receiving automatic security & feature updates of the paid product. To receive these updates, data like your license key, %1$s version, and WordPress version, is periodically sent to the server to check for updates. By opting out, you understand that your site won't receive automatic updates for %2$s from within the WP Admin Dashboard. This can put your site at risk, and we highly recommend to keep this connection active. If you do choose to opt-out, you'll need to check for %1$s updates and install them manually."
|
2268 |
+
msgstr ""
|
2269 |
+
|
2270 |
+
#: templates/forms/optout.php:39
|
2271 |
+
msgid "I'd like to keep automatic updates"
|
2272 |
+
msgstr ""
|
2273 |
+
|
2274 |
+
#: templates/forms/optout.php:44
|
2275 |
msgid "Usage tracking is done in the name of making %s better. Making a better user experience, prioritizing new features, and more good things. We'd really appreciate if you'll reconsider letting us continue with the tracking."
|
2276 |
msgstr ""
|
2277 |
|
2278 |
+
#: templates/forms/optout.php:45
|
2279 |
+
msgid "On second thought - I want to continue helping"
|
2280 |
+
msgstr ""
|
2281 |
+
|
2282 |
+
#: templates/forms/optout.php:49
|
2283 |
msgid "By clicking \"Opt Out\", we will no longer be sending any data from %s to %s."
|
2284 |
msgstr ""
|
2285 |
|
2286 |
+
#: templates/forms/optout.php:74
|
2287 |
+
msgid "Plugins & themes tracking"
|
2288 |
+
msgstr ""
|
2289 |
+
|
2290 |
+
#: templates/forms/optout.php:261
|
2291 |
+
msgid "Saved"
|
2292 |
+
msgstr ""
|
2293 |
+
|
2294 |
#: templates/forms/premium-versions-upgrade-handler.php:40
|
2295 |
msgid "There is a new version of %s available."
|
2296 |
msgstr ""
|
2336 |
msgid "Don't cancel %s - I'm still interested in getting security & feature updates, as well as be able to contact support."
|
2337 |
msgstr ""
|
2338 |
|
|
|
|
|
|
|
|
|
|
|
2339 |
#: templates/forms/subscription-cancellation.php:103
|
2340 |
msgid "Once your license expires you will no longer be able to use the %s, unless you activate it again with a valid premium license."
|
2341 |
msgstr ""
|
2360 |
msgid "For compliance with the WordPress.org guidelines, before we start the trial we ask that you opt in with your user and non-sensitive site information, allowing the %s to periodically send data to %s to check for version updates and to validate your trial."
|
2361 |
msgstr ""
|
2362 |
|
2363 |
+
#: templates/forms/user-change.php:26
|
2364 |
+
msgid "By changing the user, you agree to transfer the account ownership to:"
|
2365 |
+
msgstr ""
|
2366 |
+
|
2367 |
+
#: templates/forms/user-change.php:28
|
2368 |
+
msgid "I Agree - Change User"
|
2369 |
+
msgstr ""
|
2370 |
+
|
2371 |
+
#: templates/forms/user-change.php:30
|
2372 |
+
msgid "Enter email address"
|
2373 |
+
msgstr ""
|
2374 |
+
|
2375 |
+
#: templates/forms/user-change.php:81
|
2376 |
+
msgctxt "close window"
|
2377 |
+
msgid "Dismiss"
|
2378 |
+
msgstr ""
|
2379 |
+
|
2380 |
#: templates/js/style-premium-theme.php:39
|
2381 |
msgid "Premium"
|
2382 |
msgstr ""
|
2434 |
msgid "Last license"
|
2435 |
msgstr ""
|
2436 |
|
2437 |
+
#. translators: %1$s: Either 'Downgrading your plan' or 'Cancelling the subscription'
|
2438 |
+
#: templates/account/partials/addon.php:29
|
2439 |
+
msgid "%1$s will immediately stop all future recurring payments and your %s plan license will expire in %s."
|
2440 |
+
msgstr ""
|
2441 |
+
|
2442 |
+
#: templates/account/partials/addon.php:185
|
2443 |
msgid "Cancelled"
|
2444 |
msgstr ""
|
2445 |
|
2446 |
+
#: templates/account/partials/addon.php:195
|
2447 |
msgid "No expiration"
|
2448 |
msgstr ""
|
2449 |
|
2450 |
+
#: templates/account/partials/site.php:189
|
2451 |
msgid "Owner Name"
|
2452 |
msgstr ""
|
2453 |
|
2454 |
+
#: templates/account/partials/site.php:201
|
2455 |
msgid "Owner Email"
|
2456 |
msgstr ""
|
2457 |
|
2458 |
+
#: templates/account/partials/site.php:213
|
2459 |
msgid "Owner ID"
|
2460 |
msgstr ""
|
2461 |
|
2462 |
+
#: templates/account/partials/site.php:286
|
2463 |
msgid "Subscription"
|
2464 |
msgstr ""
|
2465 |
|
2499 |
msgid "switching"
|
2500 |
msgstr ""
|
2501 |
|
2502 |
+
#: templates/forms/deactivation/form.php:369
|
2503 |
msgid "Submit & %s"
|
2504 |
msgstr ""
|
2505 |
|
2506 |
+
#: templates/forms/deactivation/form.php:390
|
2507 |
msgid "Kindly tell us the reason so we can improve."
|
2508 |
msgstr ""
|
2509 |
|
2510 |
+
#: templates/forms/deactivation/form.php:515
|
2511 |
msgid "Yes - %s"
|
2512 |
msgstr ""
|
2513 |
|
2514 |
+
#: templates/forms/deactivation/form.php:522
|
2515 |
msgid "Skip & %s"
|
2516 |
msgstr ""
|
2517 |
|
freemius/package.json
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
"author": "Freemius, Inc.",
|
5 |
"license": "GPL-3.0",
|
6 |
"homepage": "https://freemius.com",
|
7 |
-
"version": "2.
|
8 |
"main": "gulpfile.js",
|
9 |
"dependencies": {},
|
10 |
"scripts": {
|
4 |
"author": "Freemius, Inc.",
|
5 |
"license": "GPL-3.0",
|
6 |
"homepage": "https://freemius.com",
|
7 |
+
"version": "2.4.0",
|
8 |
"main": "gulpfile.js",
|
9 |
"dependencies": {},
|
10 |
"scripts": {
|
freemius/start.php
CHANGED
@@ -15,7 +15,7 @@
|
|
15 |
*
|
16 |
* @var string
|
17 |
*/
|
18 |
-
$this_sdk_version = '2.
|
19 |
|
20 |
#region SDK Selection Logic --------------------------------------------------------------------
|
21 |
|
@@ -109,6 +109,14 @@
|
|
109 |
foreach ( $fs_active_plugins->plugins as $sdk_path => $data ) {
|
110 |
if ( ! file_exists( ( isset( $data->type ) && 'theme' === $data->type ? $themes_directory : WP_PLUGIN_DIR ) . '/' . $sdk_path ) ) {
|
111 |
unset( $fs_active_plugins->plugins[ $sdk_path ] );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
112 |
$has_changes = true;
|
113 |
}
|
114 |
}
|
15 |
*
|
16 |
* @var string
|
17 |
*/
|
18 |
+
$this_sdk_version = '2.4.1';
|
19 |
|
20 |
#region SDK Selection Logic --------------------------------------------------------------------
|
21 |
|
109 |
foreach ( $fs_active_plugins->plugins as $sdk_path => $data ) {
|
110 |
if ( ! file_exists( ( isset( $data->type ) && 'theme' === $data->type ? $themes_directory : WP_PLUGIN_DIR ) . '/' . $sdk_path ) ) {
|
111 |
unset( $fs_active_plugins->plugins[ $sdk_path ] );
|
112 |
+
|
113 |
+
if (
|
114 |
+
! empty( $fs_active_plugins->newest ) &&
|
115 |
+
$sdk_path === $fs_active_plugins->newest->sdk_path
|
116 |
+
) {
|
117 |
+
unset( $fs_active_plugins->newest );
|
118 |
+
}
|
119 |
+
|
120 |
$has_changes = true;
|
121 |
}
|
122 |
}
|
freemius/templates/account.php
CHANGED
@@ -44,20 +44,34 @@
|
|
44 |
$site = $fs->get_site();
|
45 |
$name = $user->get_name();
|
46 |
$license = $fs->_get_license();
|
|
|
|
|
47 |
$subscription = ( is_object( $license ) ?
|
48 |
$fs->_get_subscription( $license->id ) :
|
49 |
null );
|
50 |
$plan = $fs->get_plan();
|
51 |
$is_active_subscription = ( is_object( $subscription ) && $subscription->is_active() );
|
52 |
$is_paid_trial = $fs->is_paid_trial();
|
53 |
-
$has_paid_plan = $fs->has_paid_plan();
|
54 |
-
$show_upgrade = ( $has_paid_plan && ! $is_paying && ! $is_paid_trial );
|
55 |
$trial_plan = $fs->get_trial_plan();
|
56 |
|
57 |
if ( $has_paid_plan ) {
|
58 |
$fs->_add_license_activation_dialog_box();
|
59 |
}
|
60 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
61 |
if ( fs_request_get_bool( 'auto_install' ) ) {
|
62 |
$fs->_add_auto_installation_dialog_box();
|
63 |
}
|
@@ -72,7 +86,7 @@
|
|
72 |
|
73 |
$payments = $fs->_fetch_payments();
|
74 |
|
75 |
-
|
76 |
|
77 |
|
78 |
$has_tabs = $fs->_add_tabs_before_content();
|
@@ -149,19 +163,28 @@
|
|
149 |
}
|
150 |
}
|
151 |
|
152 |
-
$
|
153 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
154 |
|
155 |
if (
|
156 |
$show_plan_row &&
|
157 |
is_object( $license ) &&
|
158 |
-
|
159 |
) {
|
160 |
-
$
|
|
|
|
|
161 |
}
|
162 |
|
163 |
-
$is_active_bundle_subscription = ( is_object( $bundle_subscription ) && $bundle_subscription->is_active() );
|
164 |
-
|
165 |
$fs_blog_id = ( is_multisite() && ! is_network_admin() ) ?
|
166 |
get_current_blog_id() :
|
167 |
0;
|
@@ -169,6 +192,46 @@
|
|
169 |
$active_plugins_directories_map = Freemius::get_active_plugins_directories_map( $fs_blog_id );
|
170 |
|
171 |
$is_premium = $fs->is_premium();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
172 |
?>
|
173 |
<div class="wrap fs-section">
|
174 |
<?php if ( ! $has_tabs && ! $fs->apply_filters( 'hide_account_tabs', false ) ) : ?>
|
@@ -196,89 +259,102 @@
|
|
196 |
<h3><span class="dashicons dashicons-businessman"></span> <?php fs_esc_html_echo_inline( 'Account Details', 'account-details', $slug ) ?></h3>
|
197 |
<div class="fs-header-actions">
|
198 |
<ul>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
199 |
<?php if ( $show_billing ) : ?>
|
200 |
<li><a href="#fs_billing"><i class="dashicons dashicons-portfolio"></i> <?php fs_esc_html_echo_inline( 'Billing & Invoices', 'billing-invoices', $slug ) ?></li>
|
201 |
<li> • </li>
|
202 |
<?php endif ?>
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
<?php if ( $is_paying ) : ?>
|
221 |
-
<?php if ( ! fs_is_network_admin() ) : ?>
|
222 |
-
<li>
|
223 |
-
<form action="<?php echo $fs->_get_admin_page_url( 'account' ) ?>" method="POST">
|
224 |
-
<input type="hidden" name="fs_action" value="deactivate_license">
|
225 |
-
<?php wp_nonce_field( 'deactivate_license' ) ?>
|
226 |
-
<a href="#" class="fs-deactivate-license"><i
|
227 |
-
class="dashicons dashicons-admin-network"></i> <?php fs_echo_inline( 'Deactivate License', 'deactivate-license', $slug ) ?>
|
228 |
-
</a>
|
229 |
-
</form>
|
230 |
-
</li>
|
231 |
-
<li> • </li>
|
232 |
<?php endif ?>
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
282 |
</ul>
|
283 |
</div>
|
284 |
<div class="inside">
|
@@ -287,25 +363,28 @@
|
|
287 |
$hide_license_key = ( ! $show_license_row || $fs->apply_filters( 'hide_license_key', false ) );
|
288 |
|
289 |
$profile = array();
|
290 |
-
$profile[] = array(
|
291 |
-
'id' => 'user_name',
|
292 |
-
'title' => fs_text_inline( 'Name', 'name', $slug ),
|
293 |
-
'value' => $name
|
294 |
-
);
|
295 |
-
// if (isset($user->email) && false !== strpos($user->email, '@'))
|
296 |
-
$profile[] = array(
|
297 |
-
'id' => 'email',
|
298 |
-
'title' => fs_text_inline( 'Email', 'email', $slug ),
|
299 |
-
'value' => $user->email
|
300 |
-
);
|
301 |
|
302 |
-
if (
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
309 |
|
310 |
$profile[] = array(
|
311 |
'id' => 'product',
|
@@ -354,7 +433,7 @@
|
|
354 |
'value' => $fs->get_plugin_version()
|
355 |
);
|
356 |
|
357 |
-
if ( $is_premium ) {
|
358 |
$profile[] = array(
|
359 |
'id' => 'beta_program',
|
360 |
'title' => '',
|
@@ -362,7 +441,7 @@
|
|
362 |
);
|
363 |
}
|
364 |
|
365 |
-
if ( $has_paid_plan ) {
|
366 |
if ( $fs->is_trial() ) {
|
367 |
if ( $show_plan_row ) {
|
368 |
$profile[] = array(
|
@@ -377,18 +456,18 @@
|
|
377 |
if ( $show_plan_row ) {
|
378 |
$profile[] = array(
|
379 |
'id' => 'plan',
|
380 |
-
'title' => ( $
|
381 |
'value' => strtoupper( is_string( $plan->name ) ?
|
382 |
$plan->title :
|
383 |
strtoupper( $free_text )
|
384 |
)
|
385 |
);
|
386 |
|
387 |
-
if ( $
|
388 |
$profile[] = array(
|
389 |
'id' => 'bundle_plan',
|
390 |
'title' => $bundle_plan_text,
|
391 |
-
'value' =>
|
392 |
);
|
393 |
}
|
394 |
}
|
@@ -420,9 +499,11 @@
|
|
420 |
</td>
|
421 |
<td<?php if ( 'plan' === $p['id'] || 'bundle_plan' === $p['id'] ) { echo ' colspan="2"'; }?>>
|
422 |
<?php if ( in_array( $p['id'], array( 'license_key', 'site_secret_key' ) ) ) : ?>
|
423 |
-
<code><?php echo
|
424 |
-
|
|
|
425 |
readonly/>
|
|
|
426 |
<?php elseif ( 'beta_program' === $p['id'] ) : ?>
|
427 |
<label>
|
428 |
<input type="checkbox" class="fs-toggle-beta-mode" <?php checked( true, $p['value'] ) ?>/><span><?php
|
@@ -452,6 +533,7 @@
|
|
452 |
<?php elseif ( $fs->is_trial() ) : ?>
|
453 |
<label class="fs-tag fs-warn"><?php echo esc_html( sprintf( $expires_in_text, human_time_diff( time(), strtotime( $site->trial_ends ) ) ) ) ?></label>
|
454 |
<?php endif ?>
|
|
|
455 |
<div class="button-group">
|
456 |
<?php $available_license = $fs->is_free_plan() && ! fs_is_network_admin() ? $fs->_get_available_premium_license( $site->is_localhost() ) : false ?>
|
457 |
<?php if ( is_object( $available_license ) ) : ?>
|
@@ -489,9 +571,10 @@
|
|
489 |
</form>
|
490 |
<?php endif ?>
|
491 |
</div>
|
|
|
492 |
<?php elseif ( 'bundle_plan' === $p['id'] ) : ?>
|
493 |
<?php if ( is_object( $bundle_subscription ) ) : ?>
|
494 |
-
<?php if ( $is_active_bundle_subscription && ! $
|
495 |
<label class="fs-tag fs-success"><?php echo esc_html( sprintf( $renews_in_text, human_time_diff( time(), strtotime( $bundle_subscription->next_payment ) ) ) ) ?></label>
|
496 |
<?php endif ?>
|
497 |
<?php endif ?>
|
@@ -521,11 +604,33 @@
|
|
521 |
<div class="button-group">
|
522 |
<?php if ( $is_paying || $fs->is_trial() ) : ?>
|
523 |
<?php if ( ! $fs->is_allowed_to_install() ) : ?>
|
524 |
-
|
525 |
-
|
526 |
-
|
527 |
-
|
528 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
529 |
<?php elseif ( is_object( $update ) ) : ?>
|
530 |
<?php
|
531 |
$module_type = $fs->get_module_type();
|
@@ -538,10 +643,12 @@
|
|
538 |
<?php endif ?>
|
539 |
<?php
|
540 |
elseif ( in_array( $p['id'], array( 'license_key', 'site_secret_key' ) ) ) : ?>
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
-
|
|
|
|
|
545 |
<?php
|
546 |
elseif (/*in_array($p['id'], array('site_secret_key', 'site_id', 'site_public_key')) ||*/
|
547 |
( is_string( $user->secret_key ) && in_array( $p['id'], array(
|
@@ -562,6 +669,9 @@
|
|
562 |
<input type="submit" class="button button-small"
|
563 |
value="<?php echo fs_esc_attr_x_inline( 'Edit', 'verb', 'edit', $slug ) ?>">
|
564 |
</form>
|
|
|
|
|
|
|
565 |
<?php endif ?>
|
566 |
</td>
|
567 |
<?php endif ?>
|
@@ -587,18 +697,19 @@
|
|
587 |
<div id="fs_sites" class="postbox">
|
588 |
<h3><span class="dashicons dashicons-networking"></span> <?php fs_esc_html_echo_inline( 'Sites', 'sites', $slug ) ?></h3>
|
589 |
<div class="fs-header-actions">
|
590 |
-
<?php
|
591 |
-
|
592 |
-
<?php
|
593 |
-
|
594 |
-
|
595 |
-
|
596 |
-
|
597 |
-
|
|
|
|
|
598 |
<?php endif ?>
|
599 |
<input class="fs-search" type="text" placeholder="<?php fs_esc_attr_echo_inline( 'Search by address', 'search-by-address', $slug ) ?>..."><span class="dashicons dashicons-search"></span>
|
600 |
</div>
|
601 |
-
|
602 |
<div class="inside">
|
603 |
<div id="" class="fs-scrollable-table">
|
604 |
<div class="fs-table-head">
|
@@ -629,18 +740,6 @@
|
|
629 |
</div>
|
630 |
</div>
|
631 |
<?php endif ?>
|
632 |
-
|
633 |
-
<?php
|
634 |
-
$account_addons = $fs->get_updated_account_addons();
|
635 |
-
|
636 |
-
$installed_addons = $fs->get_installed_addons();
|
637 |
-
$installed_addons_ids = array();
|
638 |
-
foreach ( $installed_addons as $fs_addon ) {
|
639 |
-
$installed_addons_ids[] = $fs_addon->get_id();
|
640 |
-
}
|
641 |
-
|
642 |
-
$addons_to_show = array_unique( array_merge( $installed_addons_ids, $account_addons ) );
|
643 |
-
?>
|
644 |
<?php if ( 0 < count( $addons_to_show ) ) : ?>
|
645 |
<!-- Add-Ons -->
|
646 |
<div class="postbox">
|
@@ -666,9 +765,48 @@
|
|
666 |
|
667 |
$installed_addons_ids_map = array_flip( $installed_addons_ids );
|
668 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
669 |
foreach ( $addons_to_show as $addon_id ) {
|
670 |
$is_addon_installed = isset( $installed_addons_ids_map[ $addon_id ] );
|
671 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
672 |
$addon_view_params = array(
|
673 |
'parent_fs' => $fs,
|
674 |
'addon_id' => $addon_id,
|
@@ -676,7 +814,10 @@
|
|
676 |
'fs_blog_id' => $fs_blog_id,
|
677 |
'active_plugins_directories_map' => &$active_plugins_directories_map,
|
678 |
'is_addon_installed' => $is_addon_installed,
|
679 |
-
'addon_info' =>
|
|
|
|
|
|
|
680 |
);
|
681 |
|
682 |
fs_require_template(
|
@@ -915,6 +1056,29 @@
|
|
915 |
});
|
916 |
});
|
917 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
918 |
})(jQuery);
|
919 |
</script>
|
920 |
<?php
|
44 |
$site = $fs->get_site();
|
45 |
$name = $user->get_name();
|
46 |
$license = $fs->_get_license();
|
47 |
+
$is_data_debug_mode = $fs->is_data_debug_mode();
|
48 |
+
$is_whitelabeled = $fs->is_whitelabeled();
|
49 |
$subscription = ( is_object( $license ) ?
|
50 |
$fs->_get_subscription( $license->id ) :
|
51 |
null );
|
52 |
$plan = $fs->get_plan();
|
53 |
$is_active_subscription = ( is_object( $subscription ) && $subscription->is_active() );
|
54 |
$is_paid_trial = $fs->is_paid_trial();
|
55 |
+
$has_paid_plan = $fs->apply_filters( 'has_paid_plan_account', $fs->has_paid_plan() );
|
56 |
+
$show_upgrade = ( ! $is_whitelabeled && $has_paid_plan && ! $is_paying && ! $is_paid_trial );
|
57 |
$trial_plan = $fs->get_trial_plan();
|
58 |
|
59 |
if ( $has_paid_plan ) {
|
60 |
$fs->_add_license_activation_dialog_box();
|
61 |
}
|
62 |
|
63 |
+
$ids_of_installs_activated_with_foreign_licenses = $fs->should_handle_user_change() ?
|
64 |
+
$fs->get_installs_ids_with_foreign_licenses() :
|
65 |
+
array();
|
66 |
+
|
67 |
+
if ( ! empty( $ids_of_installs_activated_with_foreign_licenses ) ) {
|
68 |
+
$fs->_add_user_change_dialog_box( $ids_of_installs_activated_with_foreign_licenses );
|
69 |
+
}
|
70 |
+
|
71 |
+
if ( $fs->is_whitelabeled( true ) || $fs->is_data_debug_mode() ) {
|
72 |
+
$fs->_add_data_debug_mode_dialog_box();
|
73 |
+
}
|
74 |
+
|
75 |
if ( fs_request_get_bool( 'auto_install' ) ) {
|
76 |
$fs->_add_auto_installation_dialog_box();
|
77 |
}
|
86 |
|
87 |
$payments = $fs->_fetch_payments();
|
88 |
|
89 |
+
$show_billing = ( ! $is_whitelabeled && is_array( $payments ) && 0 < count( $payments ) );
|
90 |
|
91 |
|
92 |
$has_tabs = $fs->_add_tabs_before_content();
|
163 |
}
|
164 |
}
|
165 |
|
166 |
+
$has_bundle_license = false;
|
167 |
+
|
168 |
+
if ( is_object( $license ) &&
|
169 |
+
FS_Plugin_License::is_valid_id( $license->parent_license_id )
|
170 |
+
) {
|
171 |
+
// Context license has a parent license, therefore, the account has a bundle license.
|
172 |
+
$has_bundle_license = true;
|
173 |
+
}
|
174 |
+
|
175 |
+
$bundle_subscription = null;
|
176 |
+
$is_bundle_first_payment_pending = false;
|
177 |
|
178 |
if (
|
179 |
$show_plan_row &&
|
180 |
is_object( $license ) &&
|
181 |
+
$has_bundle_license
|
182 |
) {
|
183 |
+
$bundle_plan_title = strtoupper( $license->parent_plan_title );
|
184 |
+
$bundle_subscription = $fs->_get_subscription( $license->parent_license_id );
|
185 |
+
$is_bundle_first_payment_pending = $license->is_first_payment_pending();
|
186 |
}
|
187 |
|
|
|
|
|
188 |
$fs_blog_id = ( is_multisite() && ! is_network_admin() ) ?
|
189 |
get_current_blog_id() :
|
190 |
0;
|
192 |
$active_plugins_directories_map = Freemius::get_active_plugins_directories_map( $fs_blog_id );
|
193 |
|
194 |
$is_premium = $fs->is_premium();
|
195 |
+
|
196 |
+
$account_addons = $fs->get_updated_account_addons();
|
197 |
+
$installed_addons = $fs->get_installed_addons();
|
198 |
+
$installed_addons_ids = array();
|
199 |
+
|
200 |
+
/**
|
201 |
+
* Store the installed add-ons' IDs into a collection which will be used in determining the add-ons to show on the "Account" page, and at the same time try to find an add-on that is activated with a bundle license if the core product is not.
|
202 |
+
*
|
203 |
+
* @author Leo Fajardo
|
204 |
+
*
|
205 |
+
* @since 2.4.0
|
206 |
+
*/
|
207 |
+
foreach ( $installed_addons as $fs_addon ) {
|
208 |
+
$installed_addons_ids[] = $fs_addon->get_id();
|
209 |
+
|
210 |
+
if ( $has_bundle_license ) {
|
211 |
+
// We already have the context bundle license details, skip.
|
212 |
+
continue;
|
213 |
+
}
|
214 |
+
|
215 |
+
if (
|
216 |
+
$show_plan_row &&
|
217 |
+
$fs_addon->has_active_valid_license()
|
218 |
+
) {
|
219 |
+
$addon_license = $fs_addon->_get_license();
|
220 |
+
|
221 |
+
if ( FS_Plugin_License::is_valid_id( $addon_license->parent_license_id ) ) {
|
222 |
+
// Add-on's license is associated with a parent/bundle license.
|
223 |
+
$has_bundle_license = true;
|
224 |
+
|
225 |
+
$bundle_plan_title = strtoupper( $addon_license->parent_plan_title );
|
226 |
+
$bundle_subscription = $fs_addon->_get_subscription( $addon_license->parent_license_id );
|
227 |
+
$is_bundle_first_payment_pending = $addon_license->is_first_payment_pending();
|
228 |
+
}
|
229 |
+
}
|
230 |
+
}
|
231 |
+
|
232 |
+
$addons_to_show = array_unique( array_merge( $installed_addons_ids, $account_addons ) );
|
233 |
+
|
234 |
+
$is_active_bundle_subscription = ( is_object( $bundle_subscription ) && $bundle_subscription->is_active() );
|
235 |
?>
|
236 |
<div class="wrap fs-section">
|
237 |
<?php if ( ! $has_tabs && ! $fs->apply_filters( 'hide_account_tabs', false ) ) : ?>
|
259 |
<h3><span class="dashicons dashicons-businessman"></span> <?php fs_esc_html_echo_inline( 'Account Details', 'account-details', $slug ) ?></h3>
|
260 |
<div class="fs-header-actions">
|
261 |
<ul>
|
262 |
+
<?php if ( $fs->is_whitelabeled( true ) ) : ?>
|
263 |
+
<li>
|
264 |
+
<a href="#" class="debug-license-trigger"><i class="dashicons dashicons-<?php echo $is_whitelabeled ? 'editor-code' : 'controls-pause' ?>"></i> <span><?php
|
265 |
+
if ( $is_whitelabeled ) {
|
266 |
+
fs_esc_html_echo_inline( 'Start Debug', 'start-debug-license', $slug );
|
267 |
+
} else {
|
268 |
+
fs_esc_html_echo_inline( 'Stop Debug', 'stop-debug-license', $slug );
|
269 |
+
}
|
270 |
+
?></span></a>
|
271 |
+
</li>
|
272 |
+
<li> • </li>
|
273 |
+
<?php endif ?>
|
274 |
<?php if ( $show_billing ) : ?>
|
275 |
<li><a href="#fs_billing"><i class="dashicons dashicons-portfolio"></i> <?php fs_esc_html_echo_inline( 'Billing & Invoices', 'billing-invoices', $slug ) ?></li>
|
276 |
<li> • </li>
|
277 |
<?php endif ?>
|
278 |
+
<?php if ( ! $is_whitelabeled ) : ?>
|
279 |
+
<?php if ( ! $is_paying ) : ?>
|
280 |
+
<li>
|
281 |
+
<form action="<?php echo $fs->_get_admin_page_url( 'account' ) ?>" method="POST">
|
282 |
+
<input type="hidden" name="fs_action" value="delete_account">
|
283 |
+
<?php wp_nonce_field( 'delete_account' ) ?>
|
284 |
+
<a class="fs-delete-account" href="#" onclick="if (confirm('<?php
|
285 |
+
if ( $is_active_subscription ) {
|
286 |
+
echo esc_attr( sprintf( fs_text_inline( 'Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the "Cancel" button, and first "Downgrade" your account. Are you sure you would like to continue with the deletion?', 'delete-account-x-confirm', $slug ), $plan->title ) );
|
287 |
+
} else {
|
288 |
+
echo esc_attr( sprintf( fs_text_inline( 'Deletion is not temporary. Only delete if you no longer want to use this %s anymore. Are you sure you would like to continue with the deletion?', 'delete-account-confirm', $slug ), $fs->get_module_label( true ) ) );
|
289 |
+
}
|
290 |
+
?>')) this.parentNode.submit(); return false;"><i
|
291 |
+
class="dashicons dashicons-no"></i> <?php fs_esc_html_echo_inline( 'Delete Account', 'delete-account', $slug ) ?></a>
|
292 |
+
</form>
|
293 |
+
</li>
|
294 |
+
<li> • </li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
295 |
<?php endif ?>
|
296 |
+
<?php if ( $is_paying ) : ?>
|
297 |
+
<?php if ( ! fs_is_network_admin() ) : ?>
|
298 |
+
<li>
|
299 |
+
<form action="<?php echo $fs->_get_admin_page_url( 'account' ) ?>" method="POST">
|
300 |
+
<input type="hidden" name="fs_action" value="deactivate_license">
|
301 |
+
<?php wp_nonce_field( 'deactivate_license' ) ?>
|
302 |
+
<a href="#" class="fs-deactivate-license"><i
|
303 |
+
class="dashicons dashicons-admin-network"></i> <?php fs_echo_inline( 'Deactivate License', 'deactivate-license', $slug ) ?>
|
304 |
+
</a>
|
305 |
+
</form>
|
306 |
+
</li>
|
307 |
+
<li> • </li>
|
308 |
+
<?php endif ?>
|
309 |
+
<?php if ( ! $license->is_lifetime() &&
|
310 |
+
$is_active_subscription
|
311 |
+
) : ?>
|
312 |
+
<li>
|
313 |
+
<form action="<?php echo $fs->_get_admin_page_url( 'account' ) ?>" method="POST">
|
314 |
+
<input type="hidden" name="fs_action" value="downgrade_account">
|
315 |
+
<?php wp_nonce_field( 'downgrade_account' ) ?>
|
316 |
+
<a href="#"
|
317 |
+
onclick="if ( confirm('<?php echo esc_attr( sprintf(
|
318 |
+
$downgrade_x_confirm_text,
|
319 |
+
( $fs->is_only_premium() ? $cancelling_subscription_text : $downgrading_plan_text ),
|
320 |
+
$plan->title,
|
321 |
+
human_time_diff( time(), strtotime( $license->expiration ) )
|
322 |
+
) ) ?> <?php if ( ! $license->is_block_features ) {
|
323 |
+
echo esc_attr( sprintf( $after_downgrade_non_blocking_text, $plan->title, $fs->get_module_label( true ) ) );
|
324 |
+
} else {
|
325 |
+
echo esc_attr( sprintf( $after_downgrade_blocking_text, $plan->title ) );
|
326 |
+
}?> <?php echo esc_attr( $prices_increase_text ) ?> <?php fs_esc_attr_echo_inline( 'Are you sure you want to proceed?', 'proceed-confirmation', $slug ) ?>') ) this.parentNode.submit(); return false;"><i class="dashicons dashicons-download"></i> <?php echo esc_html( $fs->is_only_premium() ? fs_text_inline( 'Cancel Subscription', 'cancel-subscription', $slug ) : $downgrade_text ) ?></a>
|
327 |
+
</form>
|
328 |
+
</li>
|
329 |
+
<li> • </li>
|
330 |
+
<?php endif ?>
|
331 |
+
<?php if ( ! $fs->is_single_plan() ) : ?>
|
332 |
+
<li>
|
333 |
+
<a href="<?php echo $fs->get_upgrade_url() ?>"><i
|
334 |
+
class="dashicons dashicons-grid-view"></i> <?php echo esc_html( $change_plan_text ) ?></a>
|
335 |
+
</li>
|
336 |
+
<li> • </li>
|
337 |
+
<?php endif ?>
|
338 |
+
<?php elseif ( $is_paid_trial ) : ?>
|
339 |
+
<li>
|
340 |
+
<form action="<?php echo $fs->_get_admin_page_url( 'account' ) ?>" method="POST">
|
341 |
+
<input type="hidden" name="fs_action" value="cancel_trial">
|
342 |
+
<?php wp_nonce_field( 'cancel_trial' ) ?>
|
343 |
+
<a href="#" class="fs-cancel-trial"><i
|
344 |
+
class="dashicons dashicons-download"></i> <?php echo esc_html( $cancel_trial_text ) ?></a>
|
345 |
+
</form>
|
346 |
+
</li>
|
347 |
+
<li> • </li>
|
348 |
+
<?php endif ?>
|
349 |
+
<?php endif ?>
|
350 |
+
<li>
|
351 |
+
<form action="<?php echo $fs->_get_admin_page_url( 'account' ) ?>" method="POST">
|
352 |
+
<input type="hidden" name="fs_action" value="<?php echo $fs->get_unique_affix() ?>_sync_license">
|
353 |
+
<?php wp_nonce_field( $fs->get_unique_affix() . '_sync_license' ) ?>
|
354 |
+
<a href="#" onclick="this.parentNode.submit(); return false;"><i
|
355 |
+
class="dashicons dashicons-image-rotate"></i> <?php fs_esc_html_echo_x_inline( 'Sync', 'as synchronize', 'sync', $slug ) ?></a>
|
356 |
+
</form>
|
357 |
+
</li>
|
358 |
</ul>
|
359 |
</div>
|
360 |
<div class="inside">
|
363 |
$hide_license_key = ( ! $show_license_row || $fs->apply_filters( 'hide_license_key', false ) );
|
364 |
|
365 |
$profile = array();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
366 |
|
367 |
+
if ( ! $is_whitelabeled ) {
|
368 |
+
$profile[] = array(
|
369 |
+
'id' => 'user_name',
|
370 |
+
'title' => fs_text_inline( 'Name', 'name', $slug ),
|
371 |
+
'value' => $name
|
372 |
+
);
|
373 |
+
// if (isset($user->email) && false !== strpos($user->email, '@'))
|
374 |
+
$profile[] = array(
|
375 |
+
'id' => 'email',
|
376 |
+
'title' => fs_text_inline( 'Email', 'email', $slug ),
|
377 |
+
'value' => $user->email
|
378 |
+
);
|
379 |
+
|
380 |
+
if ( is_numeric( $user->id ) ) {
|
381 |
+
$profile[] = array(
|
382 |
+
'id' => 'user_id',
|
383 |
+
'title' => fs_text_inline( 'User ID', 'user-id', $slug ),
|
384 |
+
'value' => $user->id
|
385 |
+
);
|
386 |
+
}
|
387 |
+
}
|
388 |
|
389 |
$profile[] = array(
|
390 |
'id' => 'product',
|
433 |
'value' => $fs->get_plugin_version()
|
434 |
);
|
435 |
|
436 |
+
if ( $is_premium && ! $is_whitelabeled ) {
|
437 |
$profile[] = array(
|
438 |
'id' => 'beta_program',
|
439 |
'title' => '',
|
441 |
);
|
442 |
}
|
443 |
|
444 |
+
if ( $has_paid_plan || $has_bundle_license ) {
|
445 |
if ( $fs->is_trial() ) {
|
446 |
if ( $show_plan_row ) {
|
447 |
$profile[] = array(
|
456 |
if ( $show_plan_row ) {
|
457 |
$profile[] = array(
|
458 |
'id' => 'plan',
|
459 |
+
'title' => ( $has_bundle_license ? ucfirst( $fs->get_module_type() ) . ' ' : '' ) . $plan_text,
|
460 |
'value' => strtoupper( is_string( $plan->name ) ?
|
461 |
$plan->title :
|
462 |
strtoupper( $free_text )
|
463 |
)
|
464 |
);
|
465 |
|
466 |
+
if ( $has_bundle_license ) {
|
467 |
$profile[] = array(
|
468 |
'id' => 'bundle_plan',
|
469 |
'title' => $bundle_plan_text,
|
470 |
+
'value' => $bundle_plan_title
|
471 |
);
|
472 |
}
|
473 |
}
|
499 |
</td>
|
500 |
<td<?php if ( 'plan' === $p['id'] || 'bundle_plan' === $p['id'] ) { echo ' colspan="2"'; }?>>
|
501 |
<?php if ( in_array( $p['id'], array( 'license_key', 'site_secret_key' ) ) ) : ?>
|
502 |
+
<code><?php echo FS_Plugin_License::mask_secret_key_for_html( $p['value'] ) ?></code>
|
503 |
+
<?php if ( ! $is_whitelabeled ) : ?>
|
504 |
+
<input type="text" value="<?php echo htmlspecialchars( $p['value'] ) ?>" style="display: none"
|
505 |
readonly/>
|
506 |
+
<?php endif ?>
|
507 |
<?php elseif ( 'beta_program' === $p['id'] ) : ?>
|
508 |
<label>
|
509 |
<input type="checkbox" class="fs-toggle-beta-mode" <?php checked( true, $p['value'] ) ?>/><span><?php
|
533 |
<?php elseif ( $fs->is_trial() ) : ?>
|
534 |
<label class="fs-tag fs-warn"><?php echo esc_html( sprintf( $expires_in_text, human_time_diff( time(), strtotime( $site->trial_ends ) ) ) ) ?></label>
|
535 |
<?php endif ?>
|
536 |
+
<?php if ( ! $is_whitelabeled ) : ?>
|
537 |
<div class="button-group">
|
538 |
<?php $available_license = $fs->is_free_plan() && ! fs_is_network_admin() ? $fs->_get_available_premium_license( $site->is_localhost() ) : false ?>
|
539 |
<?php if ( is_object( $available_license ) ) : ?>
|
571 |
</form>
|
572 |
<?php endif ?>
|
573 |
</div>
|
574 |
+
<?php endif ?>
|
575 |
<?php elseif ( 'bundle_plan' === $p['id'] ) : ?>
|
576 |
<?php if ( is_object( $bundle_subscription ) ) : ?>
|
577 |
+
<?php if ( $is_active_bundle_subscription && ! $is_bundle_first_payment_pending ) : ?>
|
578 |
<label class="fs-tag fs-success"><?php echo esc_html( sprintf( $renews_in_text, human_time_diff( time(), strtotime( $bundle_subscription->next_payment ) ) ) ) ?></label>
|
579 |
<?php endif ?>
|
580 |
<?php endif ?>
|
604 |
<div class="button-group">
|
605 |
<?php if ( $is_paying || $fs->is_trial() ) : ?>
|
606 |
<?php if ( ! $fs->is_allowed_to_install() ) : ?>
|
607 |
+
<a target="_blank" rel="noopener" class="button button-primary"
|
608 |
+
href="<?php echo $fs->_get_latest_download_local_url() ?>"><?php
|
609 |
+
$download_version_text_suffix = ( is_object( $update ) ? ' [' . $update->version . ']' : '' );
|
610 |
+
|
611 |
+
$download_version_text = sprintf(
|
612 |
+
/* translators: %s: plan name (e.g. Download "Professional" Version) */
|
613 |
+
fs_text_inline( 'Download %s Version', 'download-x-version', $slug ),
|
614 |
+
( $fs->is_trial() ? $trial_plan->title : $plan->title )
|
615 |
+
) .
|
616 |
+
$download_version_text_suffix;
|
617 |
+
|
618 |
+
$download_version_text_length = function_exists( 'mb_strlen' ) ?
|
619 |
+
mb_strlen( $download_version_text ) :
|
620 |
+
strlen( $download_version_text );
|
621 |
+
|
622 |
+
if ( $download_version_text_length > 31 ) {
|
623 |
+
/**
|
624 |
+
* Try to limit the number of characters to 31 for now.
|
625 |
+
*
|
626 |
+
* @author Leo Fajardo (@leorw)
|
627 |
+
* @aince 2.3.2
|
628 |
+
*/
|
629 |
+
$download_version_text = fs_text_inline( 'Download Paid Version', 'download-paid-version', $slug ) . $download_version_text_suffix;
|
630 |
+
}
|
631 |
+
|
632 |
+
echo $download_version_text;
|
633 |
+
?></a>
|
634 |
<?php elseif ( is_object( $update ) ) : ?>
|
635 |
<?php
|
636 |
$module_type = $fs->get_module_type();
|
643 |
<?php endif ?>
|
644 |
<?php
|
645 |
elseif ( in_array( $p['id'], array( 'license_key', 'site_secret_key' ) ) ) : ?>
|
646 |
+
<?php if ( ! $is_whitelabeled ) : ?>
|
647 |
+
<button class="button button-small fs-toggle-visibility"><?php fs_esc_html_echo_x_inline( 'Show', 'verb', 'show', $slug ) ?></button>
|
648 |
+
<?php endif ?>
|
649 |
+
<?php if ('license_key' === $p['id']) : ?>
|
650 |
+
<button class="button button-small activate-license-trigger <?php echo $fs->get_unique_affix() ?>"><?php fs_esc_html_echo_inline( 'Change License', 'change-license', $slug ) ?></button>
|
651 |
+
<?php endif ?>
|
652 |
<?php
|
653 |
elseif (/*in_array($p['id'], array('site_secret_key', 'site_id', 'site_public_key')) ||*/
|
654 |
( is_string( $user->secret_key ) && in_array( $p['id'], array(
|
669 |
<input type="submit" class="button button-small"
|
670 |
value="<?php echo fs_esc_attr_x_inline( 'Edit', 'verb', 'edit', $slug ) ?>">
|
671 |
</form>
|
672 |
+
<?php elseif ( 'user_id' === $p['id'] && ! empty( $ids_of_installs_activated_with_foreign_licenses ) ) : ?>
|
673 |
+
<input id="fs_change_user" type="submit" class="button button-small"
|
674 |
+
value="<?php echo fs_esc_attr_inline( 'Change User', 'change-user', $slug ) ?>">
|
675 |
<?php endif ?>
|
676 |
</td>
|
677 |
<?php endif ?>
|
697 |
<div id="fs_sites" class="postbox">
|
698 |
<h3><span class="dashicons dashicons-networking"></span> <?php fs_esc_html_echo_inline( 'Sites', 'sites', $slug ) ?></h3>
|
699 |
<div class="fs-header-actions">
|
700 |
+
<?php if ( ! $is_whitelabeled ) : ?>
|
701 |
+
<?php $has_license = is_object( $license ) ?>
|
702 |
+
<?php if ( $has_license || ( $show_upgrade && $is_premium ) ) : ?>
|
703 |
+
<?php
|
704 |
+
$activate_license_button_text = $has_license ?
|
705 |
+
fs_esc_html_inline( 'Change License', 'change-license', $slug ) :
|
706 |
+
fs_esc_html_inline( 'Activate License', 'activate-license', $slug );
|
707 |
+
?>
|
708 |
+
<a class="button<?php echo ( ! $has_license ? ' button-primary' : '' ) ?> activate-license-trigger <?php echo $fs->get_unique_affix() ?>" href="#"><?php echo $activate_license_button_text ?></a>
|
709 |
+
<?php endif ?>
|
710 |
<?php endif ?>
|
711 |
<input class="fs-search" type="text" placeholder="<?php fs_esc_attr_echo_inline( 'Search by address', 'search-by-address', $slug ) ?>..."><span class="dashicons dashicons-search"></span>
|
712 |
</div>
|
|
|
713 |
<div class="inside">
|
714 |
<div id="" class="fs-scrollable-table">
|
715 |
<div class="fs-table-head">
|
740 |
</div>
|
741 |
</div>
|
742 |
<?php endif ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
743 |
<?php if ( 0 < count( $addons_to_show ) ) : ?>
|
744 |
<!-- Add-Ons -->
|
745 |
<div class="postbox">
|
765 |
|
766 |
$installed_addons_ids_map = array_flip( $installed_addons_ids );
|
767 |
|
768 |
+
$addon_info_by_id = array();
|
769 |
+
$hide_all_addons_data = false;
|
770 |
+
|
771 |
+
if ( $fs->is_whitelabeled_by_flag() ) {
|
772 |
+
$hide_all_addons_data = true;
|
773 |
+
|
774 |
+
foreach ( $addons_to_show as $addon_id ) {
|
775 |
+
$is_addon_installed = isset( $installed_addons_ids_map[ $addon_id ] );
|
776 |
+
$addon_info = $fs->_get_addon_info( $addon_id, $is_addon_installed );
|
777 |
+
$is_addon_connected = $addon_info['is_connected'];
|
778 |
+
|
779 |
+
$fs_addon = ( $is_addon_connected && $is_addon_installed ) ?
|
780 |
+
freemius( $addon_id ) :
|
781 |
+
null;
|
782 |
+
|
783 |
+
$is_whitelabeled = is_object( $fs_addon ) ?
|
784 |
+
$fs_addon->is_whitelabeled( true ) :
|
785 |
+
$addon_info['is_whitelabeled'];
|
786 |
+
|
787 |
+
if ( ! $is_whitelabeled ) {
|
788 |
+
$hide_all_addons_data = false;
|
789 |
+
}
|
790 |
+
|
791 |
+
if ( $is_data_debug_mode ) {
|
792 |
+
$is_whitelabeled = false;
|
793 |
+
}
|
794 |
+
|
795 |
+
$addon_info_by_id[ $addon_id ] = $addon_info;
|
796 |
+
}
|
797 |
+
}
|
798 |
+
|
799 |
foreach ( $addons_to_show as $addon_id ) {
|
800 |
$is_addon_installed = isset( $installed_addons_ids_map[ $addon_id ] );
|
801 |
|
802 |
+
if (
|
803 |
+
$hide_all_addons_data &&
|
804 |
+
! $is_addon_installed &&
|
805 |
+
! file_exists( fs_normalize_path( WP_PLUGIN_DIR . '/' . $fs->get_addon_basename( $addon_id ) ) )
|
806 |
+
) {
|
807 |
+
continue;
|
808 |
+
}
|
809 |
+
|
810 |
$addon_view_params = array(
|
811 |
'parent_fs' => $fs,
|
812 |
'addon_id' => $addon_id,
|
814 |
'fs_blog_id' => $fs_blog_id,
|
815 |
'active_plugins_directories_map' => &$active_plugins_directories_map,
|
816 |
'is_addon_installed' => $is_addon_installed,
|
817 |
+
'addon_info' => isset( $addon_info_by_id[ $addon_id ] ) ?
|
818 |
+
$addon_info_by_id[ $addon_id ] :
|
819 |
+
$fs->_get_addon_info( $addon_id, $is_addon_installed ),
|
820 |
+
'is_whitelabeled' => ( $is_whitelabeled && ! $is_data_debug_mode )
|
821 |
);
|
822 |
|
823 |
fs_require_template(
|
1056 |
});
|
1057 |
});
|
1058 |
|
1059 |
+
$( '.fs-toggle-whitelabel-mode' ).click( function () {
|
1060 |
+
var $toggleLink = $( this );
|
1061 |
+
|
1062 |
+
$.ajax( {
|
1063 |
+
url : ajaxurl,
|
1064 |
+
method: 'POST',
|
1065 |
+
data : {
|
1066 |
+
action : '<?php echo $fs->get_ajax_action( 'toggle_whitelabel_mode' ) ?>',
|
1067 |
+
security : '<?php echo $fs->get_ajax_security( 'toggle_whitelabel_mode' ) ?>',
|
1068 |
+
module_id: <?php echo $fs->get_id() ?>
|
1069 |
+
},
|
1070 |
+
beforeSend: function () {
|
1071 |
+
$toggleLink.parent().text( '<?php
|
1072 |
+
$is_whitelabeled ?
|
1073 |
+
fs_esc_html_echo_inline( 'Disabling white-label mode', 'disabling-whitelabel-mode' ) :
|
1074 |
+
fs_esc_html_echo_inline( 'Enabling white-label mode', 'enabling-whitelabel-mode' )
|
1075 |
+
?>' + '...' );
|
1076 |
+
},
|
1077 |
+
complete: function () {
|
1078 |
+
location.reload();
|
1079 |
+
}
|
1080 |
+
} );
|
1081 |
+
});
|
1082 |
})(jQuery);
|
1083 |
</script>
|
1084 |
<?php
|
freemius/templates/account/partials/addon.php
CHANGED
@@ -38,7 +38,6 @@
|
|
38 |
$renews_in_text = fs_text_inline( 'Auto renews in %s', 'renews-in', $slug );
|
39 |
/* translators: %s: Time period (e.g. Expires in "2 months") */
|
40 |
$expires_in_text = fs_text_inline( 'Expires in %s', 'expires-in', $slug );
|
41 |
-
$sync_license_text = fs_text_x_inline( 'Sync License', 'as synchronize license', 'sync-license', $slug );
|
42 |
$cancel_trial_text = fs_text_inline( 'Cancel Trial', 'cancel-trial', $slug );
|
43 |
$change_plan_text = fs_text_inline( 'Change Plan', 'change-plan', $slug );
|
44 |
$upgrade_text = fs_text_x_inline( 'Upgrade', 'verb', 'upgrade', $slug );
|
@@ -61,6 +60,7 @@
|
|
61 |
$subscription = null;
|
62 |
$is_paying = false;
|
63 |
$show_upgrade = false;
|
|
|
64 |
|
65 |
if ( is_object( $fs_addon ) ) {
|
66 |
$is_paying = $fs_addon->is_paying();
|
@@ -74,8 +74,18 @@
|
|
74 |
$plan_name = $plan->name;
|
75 |
$plan_title = $plan->title;
|
76 |
$is_paid_trial = $fs_addon->is_paid_trial();
|
77 |
-
$show_upgrade = ( $fs_addon->has_paid_plan() && ! $is_paying && ! $is_paid_trial && ! $fs_addon->_has_premium_license() );
|
78 |
$version = $fs_addon->get_plugin_version();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
79 |
} else if ( $is_addon_connected ) {
|
80 |
if (
|
81 |
empty( $addon_info ) ||
|
@@ -116,10 +126,19 @@
|
|
116 |
$has_valid_and_active_license &&
|
117 |
( $site->trial_plan_id == $license->plan_id )
|
118 |
);
|
|
|
|
|
119 |
}
|
120 |
}
|
121 |
|
|
|
|
|
|
|
|
|
|
|
122 |
$is_active_subscription = ( is_object( $subscription ) && $subscription->is_active() );
|
|
|
|
|
123 |
?>
|
124 |
<tr<?php if ( $odd ) {
|
125 |
echo ' class="alternate"';
|
@@ -141,10 +160,9 @@
|
|
141 |
<td><?php echo strtoupper( is_string( $plan_name ) ? $plan_title : $free_text ) ?></td>
|
142 |
<!--/ Plan Title -->
|
143 |
|
144 |
-
<?php if ( $site->is_trial() || is_object( $license ) ) : ?>
|
145 |
-
|
146 |
<!-- Expiration -->
|
147 |
<td>
|
|
|
148 |
<?php
|
149 |
$tags = array();
|
150 |
|
@@ -195,118 +213,138 @@
|
|
195 |
printf( '<label class="fs-tag fs-%s">%s</label>' . "\n", $t['type'], $t['label'] );
|
196 |
}
|
197 |
?>
|
|
|
198 |
</td>
|
199 |
<!--/ Expiration -->
|
200 |
|
201 |
-
<?php endif ?>
|
202 |
-
|
203 |
<?php
|
204 |
$buttons = array();
|
|
|
|
|
205 |
if ( $is_addon_activated ) {
|
206 |
-
if ( $
|
207 |
-
$
|
208 |
-
$fs->get_id(),
|
209 |
-
'account',
|
210 |
-
'deactivate_license',
|
211 |
-
fs_text_inline( 'Deactivate License', 'deactivate-license', $slug ),
|
212 |
-
'',
|
213 |
-
array( 'plugin_id' => $addon_id ),
|
214 |
-
false
|
215 |
-
);
|
216 |
-
|
217 |
-
$human_readable_license_expiration = human_time_diff( time(), strtotime( $license->expiration ) );
|
218 |
-
$downgrade_confirmation_message = sprintf(
|
219 |
-
$downgrade_x_confirm_text,
|
220 |
-
( $fs_addon->is_only_premium() ? $cancelling_subscription_text : $downgrading_plan_text ),
|
221 |
-
$plan->title,
|
222 |
-
$human_readable_license_expiration
|
223 |
-
);
|
224 |
-
|
225 |
-
$after_downgrade_message = ! $license->is_block_features ?
|
226 |
-
sprintf( $after_downgrade_non_blocking_text, $plan->title, $fs_addon->get_module_label( true ) ) :
|
227 |
-
sprintf( $after_downgrade_blocking_text, $plan->title );
|
228 |
-
|
229 |
-
if ( ! $license->is_lifetime() && $is_active_subscription ) {
|
230 |
$buttons[] = fs_ui_get_action_button(
|
231 |
$fs->get_id(),
|
232 |
'account',
|
233 |
-
'
|
234 |
-
|
235 |
'',
|
236 |
array( 'plugin_id' => $addon_id ),
|
237 |
false,
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
|
|
|
|
|
|
|
|
|
|
242 |
);
|
243 |
-
}
|
244 |
-
} else if ( $is_paid_trial ) {
|
245 |
-
$buttons[] = fs_ui_get_action_button(
|
246 |
-
$fs->get_id(),
|
247 |
-
'account',
|
248 |
-
'cancel_trial',
|
249 |
-
esc_html( $cancel_trial_text ),
|
250 |
-
'',
|
251 |
-
array( 'plugin_id' => $addon_id ),
|
252 |
-
false,
|
253 |
-
false,
|
254 |
-
'dashicons dashicons-download',
|
255 |
-
$cancel_trial_confirm_text,
|
256 |
-
'POST'
|
257 |
-
);
|
258 |
-
} else if ( ! is_object( $license ) || ! $license->is_features_enabled() ) {
|
259 |
-
$premium_license = $fs_addon->_get_available_premium_license();
|
260 |
-
|
261 |
-
if ( is_object( $premium_license ) ) {
|
262 |
-
$premium_plan = $fs_addon->_get_plan_by_id( $premium_license->plan_id );
|
263 |
-
$site = $fs_addon->get_site();
|
264 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
265 |
$buttons[] = fs_ui_get_action_button(
|
266 |
$fs->get_id(),
|
267 |
'account',
|
268 |
-
'
|
269 |
-
esc_html(
|
270 |
'',
|
271 |
-
array(
|
272 |
-
|
273 |
-
|
274 |
-
|
|
|
|
|
275 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
276 |
}
|
277 |
}
|
278 |
|
279 |
-
if ( 0 == count( $buttons ) ) {
|
280 |
-
if ( $
|
281 |
$fs_addon->_add_license_activation_dialog_box();
|
282 |
|
283 |
$buttons[] = fs_ui_get_action_button(
|
284 |
$fs->get_id(),
|
285 |
'account',
|
286 |
'activate_license',
|
287 |
-
|
|
|
|
|
288 |
'activate-license-trigger ' . $fs_addon->get_unique_affix(),
|
289 |
array(
|
290 |
'plugin_id' => $addon_id,
|
291 |
),
|
292 |
-
|
293 |
true
|
294 |
);
|
295 |
-
}
|
296 |
|
297 |
-
|
298 |
-
|
299 |
-
$fs->get_id(),
|
300 |
-
'account',
|
301 |
-
$fs->get_unique_affix() . '_sync_license',
|
302 |
-
esc_html( $sync_license_text ),
|
303 |
-
'',
|
304 |
-
array( 'plugin_id' => $addon_id ),
|
305 |
-
false,
|
306 |
-
true
|
307 |
-
);
|
308 |
|
309 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
310 |
} else if ( ! $show_upgrade ) {
|
311 |
if ( $fs->is_addon_installed( $addon_id ) ) {
|
312 |
$addon_file = $fs->get_addon_basename( $addon_id );
|
@@ -328,7 +366,7 @@
|
|
328 |
);
|
329 |
} else {
|
330 |
$buttons[] = sprintf(
|
331 |
-
'<a target="_blank" class="button button-primary edit" href="%s">%s</a>',
|
332 |
$fs->_get_latest_download_local_url( $addon_id ),
|
333 |
esc_html( $download_latest_text )
|
334 |
);
|
@@ -362,10 +400,11 @@
|
|
362 |
|
363 |
<?php else : ?>
|
364 |
<?php // Add-on NOT Installed or was never connected.
|
|
|
365 |
?>
|
366 |
<!-- Action -->
|
367 |
-
<td colspan="4">
|
368 |
-
<?php if ( $
|
369 |
<?php $addon_file = $fs->get_addon_basename( $addon_id ) ?>
|
370 |
<?php if ( ! isset( $active_plugins_directories_map[ dirname( $addon_file ) ] ) ) : ?>
|
371 |
<a class="button button-primary"
|
@@ -378,15 +417,15 @@
|
|
378 |
<a class="button button-primary"
|
379 |
href="<?php echo wp_nonce_url( self_admin_url( 'update.php?' . ( ( isset( $addon_info['has_paid_plan'] ) && $addon_info['has_paid_plan'] ) ? 'fs_allow_updater_and_dialog=true&' : '' ) . 'action=install-plugin&plugin=' . $addon_info['slug'] ), 'install-plugin_' . $addon_info['slug'] ) ?>"><?php fs_esc_html_echo_inline( 'Install Now', 'install-now', $slug ) ?></a>
|
380 |
<?php else : ?>
|
381 |
-
<a target="_blank" class="button button-primary"
|
382 |
href="<?php echo $fs->_get_latest_download_local_url( $addon_id ) ?>"><?php echo esc_html( $download_latest_text ) ?></a>
|
383 |
<?php endif ?>
|
384 |
<?php endif ?>
|
385 |
</td>
|
386 |
<!--/ Action -->
|
387 |
<?php endif ?>
|
388 |
-
<?php if (
|
389 |
-
|
390 |
<td>
|
391 |
<?php
|
392 |
if ( $is_addon_activated ) {
|
38 |
$renews_in_text = fs_text_inline( 'Auto renews in %s', 'renews-in', $slug );
|
39 |
/* translators: %s: Time period (e.g. Expires in "2 months") */
|
40 |
$expires_in_text = fs_text_inline( 'Expires in %s', 'expires-in', $slug );
|
|
|
41 |
$cancel_trial_text = fs_text_inline( 'Cancel Trial', 'cancel-trial', $slug );
|
42 |
$change_plan_text = fs_text_inline( 'Change Plan', 'change-plan', $slug );
|
43 |
$upgrade_text = fs_text_x_inline( 'Upgrade', 'verb', 'upgrade', $slug );
|
60 |
$subscription = null;
|
61 |
$is_paying = false;
|
62 |
$show_upgrade = false;
|
63 |
+
$is_whitelabeled = $VARS['is_whitelabeled'];
|
64 |
|
65 |
if ( is_object( $fs_addon ) ) {
|
66 |
$is_paying = $fs_addon->is_paying();
|
74 |
$plan_name = $plan->name;
|
75 |
$plan_title = $plan->title;
|
76 |
$is_paid_trial = $fs_addon->is_paid_trial();
|
|
|
77 |
$version = $fs_addon->get_plugin_version();
|
78 |
+
$is_whitelabeled = (
|
79 |
+
$fs_addon->is_whitelabeled( true ) &&
|
80 |
+
! $fs_addon->get_parent_instance()->is_data_debug_mode()
|
81 |
+
);
|
82 |
+
$show_upgrade = (
|
83 |
+
! $is_whitelabeled &&
|
84 |
+
$fs_addon->has_paid_plan() &&
|
85 |
+
! $is_paying &&
|
86 |
+
! $is_paid_trial &&
|
87 |
+
! $fs_addon->_has_premium_license()
|
88 |
+
);
|
89 |
} else if ( $is_addon_connected ) {
|
90 |
if (
|
91 |
empty( $addon_info ) ||
|
126 |
$has_valid_and_active_license &&
|
127 |
( $site->trial_plan_id == $license->plan_id )
|
128 |
);
|
129 |
+
|
130 |
+
$is_whitelabeled = $addon_info['is_whitelabeled'];
|
131 |
}
|
132 |
}
|
133 |
|
134 |
+
$has_feature_enabled_license = (
|
135 |
+
is_object( $license ) &&
|
136 |
+
$license->is_features_enabled()
|
137 |
+
);
|
138 |
+
|
139 |
$is_active_subscription = ( is_object( $subscription ) && $subscription->is_active() );
|
140 |
+
|
141 |
+
$show_delete_install_button = ( ! $is_paying && WP_FS__DEV_MODE && ! $is_whitelabeled );
|
142 |
?>
|
143 |
<tr<?php if ( $odd ) {
|
144 |
echo ' class="alternate"';
|
160 |
<td><?php echo strtoupper( is_string( $plan_name ) ? $plan_title : $free_text ) ?></td>
|
161 |
<!--/ Plan Title -->
|
162 |
|
|
|
|
|
163 |
<!-- Expiration -->
|
164 |
<td>
|
165 |
+
<?php if ( $site->is_trial() || is_object( $license ) ) : ?>
|
166 |
<?php
|
167 |
$tags = array();
|
168 |
|
213 |
printf( '<label class="fs-tag fs-%s">%s</label>' . "\n", $t['type'], $t['label'] );
|
214 |
}
|
215 |
?>
|
216 |
+
<?php endif ?>
|
217 |
</td>
|
218 |
<!--/ Expiration -->
|
219 |
|
|
|
|
|
220 |
<?php
|
221 |
$buttons = array();
|
222 |
+
$is_license_activation_added = false;
|
223 |
+
|
224 |
if ( $is_addon_activated ) {
|
225 |
+
if ( ! $is_whitelabeled ) {
|
226 |
+
if ( $is_paying ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
227 |
$buttons[] = fs_ui_get_action_button(
|
228 |
$fs->get_id(),
|
229 |
'account',
|
230 |
+
'deactivate_license',
|
231 |
+
fs_text_inline( 'Deactivate License', 'deactivate-license', $slug ),
|
232 |
'',
|
233 |
array( 'plugin_id' => $addon_id ),
|
234 |
false,
|
235 |
+
true
|
236 |
+
);
|
237 |
+
|
238 |
+
$human_readable_license_expiration = human_time_diff( time(), strtotime( $license->expiration ) );
|
239 |
+
$downgrade_confirmation_message = sprintf(
|
240 |
+
$downgrade_x_confirm_text,
|
241 |
+
( $fs_addon->is_only_premium() ? $cancelling_subscription_text : $downgrading_plan_text ),
|
242 |
+
$plan->title,
|
243 |
+
$human_readable_license_expiration
|
244 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
245 |
|
246 |
+
$after_downgrade_message = ! $license->is_block_features ?
|
247 |
+
sprintf( $after_downgrade_non_blocking_text, $plan->title, $fs_addon->get_module_label( true ) ) :
|
248 |
+
sprintf( $after_downgrade_blocking_text, $plan->title );
|
249 |
+
|
250 |
+
if ( ! $license->is_lifetime() && $is_active_subscription ) {
|
251 |
+
$buttons[] = fs_ui_get_action_button(
|
252 |
+
$fs->get_id(),
|
253 |
+
'account',
|
254 |
+
'downgrade_account',
|
255 |
+
esc_html( $fs_addon->is_only_premium() ? fs_text_inline( 'Cancel Subscription', 'cancel-subscription', $slug ) : $downgrade_text ),
|
256 |
+
'',
|
257 |
+
array( 'plugin_id' => $addon_id ),
|
258 |
+
false,
|
259 |
+
false,
|
260 |
+
false,
|
261 |
+
( $downgrade_confirmation_message . ' ' . $after_downgrade_message . ' ' . $prices_increase_text ),
|
262 |
+
'POST'
|
263 |
+
);
|
264 |
+
}
|
265 |
+
} else if ( $is_paid_trial ) {
|
266 |
$buttons[] = fs_ui_get_action_button(
|
267 |
$fs->get_id(),
|
268 |
'account',
|
269 |
+
'cancel_trial',
|
270 |
+
esc_html( $cancel_trial_text ),
|
271 |
'',
|
272 |
+
array( 'plugin_id' => $addon_id ),
|
273 |
+
false,
|
274 |
+
false,
|
275 |
+
'dashicons dashicons-download',
|
276 |
+
$cancel_trial_confirm_text,
|
277 |
+
'POST'
|
278 |
);
|
279 |
+
} else if ( ! $has_feature_enabled_license ) {
|
280 |
+
$premium_licenses = $fs_addon->get_available_premium_licenses();
|
281 |
+
|
282 |
+
if ( ! empty( $premium_licenses ) ) {
|
283 |
+
$premium_license = $premium_licenses[0];
|
284 |
+
$has_multiple_premium_licenses = ( 1 < count( $premium_licenses ) );
|
285 |
+
|
286 |
+
if ( ! $has_multiple_premium_licenses ) {
|
287 |
+
$premium_plan = $fs_addon->_get_plan_by_id( $premium_license->plan_id );
|
288 |
+
$site = $fs_addon->get_site();
|
289 |
+
|
290 |
+
$buttons[] = fs_ui_get_action_button(
|
291 |
+
$fs->get_id(),
|
292 |
+
'account',
|
293 |
+
'activate_license',
|
294 |
+
esc_html( sprintf( $activate_plan_text, $premium_plan->title, ( $site->is_localhost() && $premium_license->is_free_localhost ) ? '[localhost]' : ( 1 < $premium_license->left() ? $premium_license->left() . ' left' : '' ) ) ),
|
295 |
+
($has_multiple_premium_licenses ?
|
296 |
+
'activate-license-trigger ' . $fs_addon->get_unique_affix() :
|
297 |
+
''),
|
298 |
+
array(
|
299 |
+
'plugin_id' => $addon_id,
|
300 |
+
'license_id' => $premium_license->id,
|
301 |
+
),
|
302 |
+
true,
|
303 |
+
true
|
304 |
+
);
|
305 |
+
|
306 |
+
$is_license_activation_added = true;
|
307 |
+
}
|
308 |
+
}
|
309 |
}
|
310 |
}
|
311 |
|
312 |
+
// if ( 0 == count( $buttons ) ) {
|
313 |
+
if ( $fs_addon->is_premium() && ! $is_license_activation_added ) {
|
314 |
$fs_addon->_add_license_activation_dialog_box();
|
315 |
|
316 |
$buttons[] = fs_ui_get_action_button(
|
317 |
$fs->get_id(),
|
318 |
'account',
|
319 |
'activate_license',
|
320 |
+
( ! $has_feature_enabled_license ) ?
|
321 |
+
fs_esc_html_inline( 'Activate License', 'activate-license', $slug ) :
|
322 |
+
fs_esc_html_inline( 'Change License', 'change-license', $slug ),
|
323 |
'activate-license-trigger ' . $fs_addon->get_unique_affix(),
|
324 |
array(
|
325 |
'plugin_id' => $addon_id,
|
326 |
),
|
327 |
+
(! $has_feature_enabled_license),
|
328 |
true
|
329 |
);
|
|
|
330 |
|
331 |
+
$is_license_activation_added = true;
|
332 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
333 |
|
334 |
+
if ( $fs_addon->has_paid_plan() ) {
|
335 |
+
// Add sync license only if non of the other CTAs are visible.
|
336 |
+
$buttons[] = fs_ui_get_action_button(
|
337 |
+
$fs->get_id(),
|
338 |
+
'account',
|
339 |
+
$fs->get_unique_affix() . '_sync_license',
|
340 |
+
fs_esc_html_x_inline( 'Sync', 'as synchronize', 'sync', $slug ),
|
341 |
+
'',
|
342 |
+
array( 'plugin_id' => $addon_id ),
|
343 |
+
false,
|
344 |
+
true
|
345 |
+
);
|
346 |
+
}
|
347 |
+
// }
|
348 |
} else if ( ! $show_upgrade ) {
|
349 |
if ( $fs->is_addon_installed( $addon_id ) ) {
|
350 |
$addon_file = $fs->get_addon_basename( $addon_id );
|
366 |
);
|
367 |
} else {
|
368 |
$buttons[] = sprintf(
|
369 |
+
'<a target="_blank" rel="noopener" class="button button-primary edit" href="%s">%s</a>',
|
370 |
$fs->_get_latest_download_local_url( $addon_id ),
|
371 |
esc_html( $download_latest_text )
|
372 |
);
|
400 |
|
401 |
<?php else : ?>
|
402 |
<?php // Add-on NOT Installed or was never connected.
|
403 |
+
$is_addon_installed_by_filesystem = $fs->is_addon_installed( $addon_id );
|
404 |
?>
|
405 |
<!-- Action -->
|
406 |
+
<td colspan="<?php echo ( $is_addon_installed_by_filesystem || $show_delete_install_button ) ? '5' : '4' ?>">
|
407 |
+
<?php if ( $is_addon_installed_by_filesystem ) : ?>
|
408 |
<?php $addon_file = $fs->get_addon_basename( $addon_id ) ?>
|
409 |
<?php if ( ! isset( $active_plugins_directories_map[ dirname( $addon_file ) ] ) ) : ?>
|
410 |
<a class="button button-primary"
|
417 |
<a class="button button-primary"
|
418 |
href="<?php echo wp_nonce_url( self_admin_url( 'update.php?' . ( ( isset( $addon_info['has_paid_plan'] ) && $addon_info['has_paid_plan'] ) ? 'fs_allow_updater_and_dialog=true&' : '' ) . 'action=install-plugin&plugin=' . $addon_info['slug'] ), 'install-plugin_' . $addon_info['slug'] ) ?>"><?php fs_esc_html_echo_inline( 'Install Now', 'install-now', $slug ) ?></a>
|
419 |
<?php else : ?>
|
420 |
+
<a target="_blank" rel="noopener" class="button button-primary"
|
421 |
href="<?php echo $fs->_get_latest_download_local_url( $addon_id ) ?>"><?php echo esc_html( $download_latest_text ) ?></a>
|
422 |
<?php endif ?>
|
423 |
<?php endif ?>
|
424 |
</td>
|
425 |
<!--/ Action -->
|
426 |
<?php endif ?>
|
427 |
+
<?php if ( $show_delete_install_button ) : ?>
|
428 |
+
<!-- Optional Delete Action -->
|
429 |
<td>
|
430 |
<?php
|
431 |
if ( $is_addon_activated ) {
|
freemius/templates/account/partials/site.php
CHANGED
@@ -15,20 +15,26 @@
|
|
15 |
* @var Freemius $fs
|
16 |
* @var FS_Plugin_License $main_license
|
17 |
*/
|
18 |
-
$fs
|
19 |
-
$slug
|
20 |
-
$site
|
21 |
-
$main_license
|
22 |
-
$
|
23 |
-
$
|
24 |
-
$
|
25 |
-
$
|
|
|
|
|
26 |
|
27 |
$install = $VARS['install'];
|
28 |
$is_registered = ! empty( $install );
|
29 |
$license = null;
|
30 |
$trial_plan = $fs->get_trial_plan();
|
31 |
$free_text = fs_text_inline( 'Free', 'free', $slug );
|
|
|
|
|
|
|
|
|
32 |
?>
|
33 |
<tr class="fs-site-details" data-blog-id="<?php echo $blog_id ?>"<?php if ( $is_registered ) : ?> data-install-id="<?php echo $install->id ?>"<?php endif ?>>
|
34 |
<!-- Install ID or Opt-in option -->
|
@@ -72,28 +78,30 @@
|
|
72 |
$view_params['is_localhost'] = FS_Site::is_localhost_by_address( $site['url'] );
|
73 |
}
|
74 |
|
75 |
-
if (
|
76 |
-
$
|
|
|
77 |
|
78 |
-
|
79 |
-
|
80 |
-
} else {
|
81 |
-
if ( is_object( $main_license ) && $main_license->can_activate( $view_params['is_localhost'] ) ) {
|
82 |
-
// Main license is available for activation.
|
83 |
-
$available_license = $main_license;
|
84 |
} else {
|
85 |
-
|
86 |
-
|
87 |
-
|
|
|
|
|
|
|
|
|
88 |
|
89 |
-
|
90 |
-
|
91 |
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
|
96 |
-
|
|
|
97 |
}
|
98 |
}
|
99 |
} ?></td>
|
@@ -106,7 +114,7 @@
|
|
106 |
$plan_title = $free_text;
|
107 |
} else {
|
108 |
if ( $install->is_trial() ) {
|
109 |
-
if ( $trial_plan->id == $install->trial_plan_id ) {
|
110 |
$plan_title = is_string( $trial_plan->name ) ?
|
111 |
strtoupper( $trial_plan->title ) :
|
112 |
fs_text_inline( 'Trial', 'trial', $slug );
|
@@ -231,10 +239,14 @@
|
|
231 |
<nobr><?php fs_esc_html_echo_inline( 'Secret Key', 'secret-key', $slug ) ?>:</nobr>
|
232 |
</td>
|
233 |
<td>
|
234 |
-
<code><?php echo
|
|
|
235 |
<input type="text" value="<?php echo htmlspecialchars( $install->secret_key ) ?>"
|
236 |
style="display: none" readonly/></td>
|
|
|
|
|
237 |
<td><button class="button button-small fs-toggle-visibility"><?php fs_esc_html_echo_x_inline( 'Show', 'verb', 'show', $slug ) ?></button></td>
|
|
|
238 |
</tr>
|
239 |
<?php $row_index ++ ?>
|
240 |
<!--/ Secret Key -->
|
@@ -248,13 +260,17 @@
|
|
248 |
<nobr><?php fs_esc_html_echo_inline( 'License Key', 'license-key', $slug ) ?>:</nobr>
|
249 |
</td>
|
250 |
<td>
|
251 |
-
<code><?php echo
|
|
|
252 |
<input type="text" value="<?php echo htmlspecialchars( $license->secret_key ) ?>"
|
253 |
style="display: none" readonly/></td>
|
|
|
|
|
254 |
<td>
|
255 |
<button class="button button-small fs-toggle-visibility"><?php fs_esc_html_echo_x_inline( 'Show', 'verb', 'show', $slug ) ?></button>
|
256 |
<button class="button button-small activate-license-trigger <?php echo $fs->get_unique_affix() ?>"><?php fs_esc_html_echo_inline( 'Change License', 'change-license', $slug ) ?></button>
|
257 |
</td>
|
|
|
258 |
</tr>
|
259 |
<?php $row_index ++ ?>
|
260 |
<!--/ License Key -->
|
@@ -295,7 +311,7 @@
|
|
295 |
$downgrading_plan_text = fs_text_inline( 'Downgrading your plan', 'downgrading-plan', $slug );
|
296 |
$cancelling_subscription_text = fs_text_inline( 'Cancelling the subscription', 'cancelling-subscription', $slug );
|
297 |
/* translators: %1$s: Either 'Downgrading your plan' or 'Cancelling the subscription' */
|
298 |
-
$downgrade_x_confirm_text = fs_text_inline( '%1$s will immediately stop all future recurring payments and your %s plan license will expire in %s.', 'downgrade-x-confirm', $slug );
|
299 |
$prices_increase_text = fs_text_inline( 'Please note that we will not be able to grandfather outdated pricing for renewals/new subscriptions after a cancellation. If you choose to renew the subscription manually in the future, after a price increase, which typically occurs once a year, you will be charged the updated price.', 'pricing-increase-warning', $slug );
|
300 |
$after_downgrade_non_blocking_text = fs_text_inline( 'You can still enjoy all %s features but you will not have access to %s security & feature updates, nor support.', 'after-downgrade-non-blocking', $slug );
|
301 |
$after_downgrade_blocking_text = fs_text_inline( 'Once your license expires you can still use the Free version but you will NOT have access to the %s features.', 'after-downgrade-blocking', $slug );
|
15 |
* @var Freemius $fs
|
16 |
* @var FS_Plugin_License $main_license
|
17 |
*/
|
18 |
+
$fs = $VARS['freemius'];
|
19 |
+
$slug = $fs->get_slug();
|
20 |
+
$site = $VARS['site'];
|
21 |
+
$main_license = $VARS['license'];
|
22 |
+
$is_data_debug_mode = $fs->is_data_debug_mode();
|
23 |
+
$is_whitelabeled = $fs->is_whitelabeled();
|
24 |
+
$has_paid_plan = $fs->has_paid_plan();
|
25 |
+
$is_premium = $fs->is_premium();
|
26 |
+
$main_user = $fs->get_user();
|
27 |
+
$blog_id = $site['blog_id'];
|
28 |
|
29 |
$install = $VARS['install'];
|
30 |
$is_registered = ! empty( $install );
|
31 |
$license = null;
|
32 |
$trial_plan = $fs->get_trial_plan();
|
33 |
$free_text = fs_text_inline( 'Free', 'free', $slug );
|
34 |
+
|
35 |
+
if ( $is_whitelabeled && $fs->is_delegated_connection( $blog_id ) ) {
|
36 |
+
$is_whitelabeled = $fs->is_whitelabeled( true, $blog_id );
|
37 |
+
}
|
38 |
?>
|
39 |
<tr class="fs-site-details" data-blog-id="<?php echo $blog_id ?>"<?php if ( $is_registered ) : ?> data-install-id="<?php echo $install->id ?>"<?php endif ?>>
|
40 |
<!-- Install ID or Opt-in option -->
|
78 |
$view_params['is_localhost'] = FS_Site::is_localhost_by_address( $site['url'] );
|
79 |
}
|
80 |
|
81 |
+
if ( ! $is_whitelabeled ) {
|
82 |
+
if ( is_object( $license ) ) {
|
83 |
+
$view_params['license'] = $license;
|
84 |
|
85 |
+
// Show license deactivation button.
|
86 |
+
fs_require_template( 'account/partials/deactivate-license-button.php', $view_params );
|
|
|
|
|
|
|
|
|
87 |
} else {
|
88 |
+
if ( is_object( $main_license ) && $main_license->can_activate( $view_params['is_localhost'] ) ) {
|
89 |
+
// Main license is available for activation.
|
90 |
+
$available_license = $main_license;
|
91 |
+
} else {
|
92 |
+
// Try to find any available license for activation.
|
93 |
+
$available_license = $fs->_get_available_premium_license( $view_params['is_localhost'] );
|
94 |
+
}
|
95 |
|
96 |
+
if ( is_object( $available_license ) ) {
|
97 |
+
$premium_plan = $fs->_get_plan_by_id( $available_license->plan_id );
|
98 |
|
99 |
+
$view_params['license'] = $available_license;
|
100 |
+
$view_params['class'] .= ' button-primary';
|
101 |
+
$view_params['plan'] = $premium_plan;
|
102 |
|
103 |
+
fs_require_template( 'account/partials/activate-license-button.php', $view_params );
|
104 |
+
}
|
105 |
}
|
106 |
}
|
107 |
} ?></td>
|
114 |
$plan_title = $free_text;
|
115 |
} else {
|
116 |
if ( $install->is_trial() ) {
|
117 |
+
if ( is_object( $trial_plan ) && $trial_plan->id == $install->trial_plan_id ) {
|
118 |
$plan_title = is_string( $trial_plan->name ) ?
|
119 |
strtoupper( $trial_plan->title ) :
|
120 |
fs_text_inline( 'Trial', 'trial', $slug );
|
239 |
<nobr><?php fs_esc_html_echo_inline( 'Secret Key', 'secret-key', $slug ) ?>:</nobr>
|
240 |
</td>
|
241 |
<td>
|
242 |
+
<code><?php echo FS_Plugin_License::mask_secret_key_for_html( $install->secret_key ) ?></code>
|
243 |
+
<?php if ( ! $is_whitelabeled ) : ?>
|
244 |
<input type="text" value="<?php echo htmlspecialchars( $install->secret_key ) ?>"
|
245 |
style="display: none" readonly/></td>
|
246 |
+
<?php endif ?>
|
247 |
+
<?php if ( ! $is_whitelabeled ) : ?>
|
248 |
<td><button class="button button-small fs-toggle-visibility"><?php fs_esc_html_echo_x_inline( 'Show', 'verb', 'show', $slug ) ?></button></td>
|
249 |
+
<?php endif ?>
|
250 |
</tr>
|
251 |
<?php $row_index ++ ?>
|
252 |
<!--/ Secret Key -->
|
260 |
<nobr><?php fs_esc_html_echo_inline( 'License Key', 'license-key', $slug ) ?>:</nobr>
|
261 |
</td>
|
262 |
<td>
|
263 |
+
<code><?php echo $license->get_html_escaped_masked_secret_key() ?></code>
|
264 |
+
<?php if ( ! $is_whitelabeled ) : ?>
|
265 |
<input type="text" value="<?php echo htmlspecialchars( $license->secret_key ) ?>"
|
266 |
style="display: none" readonly/></td>
|
267 |
+
<?php endif ?>
|
268 |
+
<?php if ( ! $is_whitelabeled ) : ?>
|
269 |
<td>
|
270 |
<button class="button button-small fs-toggle-visibility"><?php fs_esc_html_echo_x_inline( 'Show', 'verb', 'show', $slug ) ?></button>
|
271 |
<button class="button button-small activate-license-trigger <?php echo $fs->get_unique_affix() ?>"><?php fs_esc_html_echo_inline( 'Change License', 'change-license', $slug ) ?></button>
|
272 |
</td>
|
273 |
+
<?php endif ?>
|
274 |
</tr>
|
275 |
<?php $row_index ++ ?>
|
276 |
<!--/ License Key -->
|
311 |
$downgrading_plan_text = fs_text_inline( 'Downgrading your plan', 'downgrading-plan', $slug );
|
312 |
$cancelling_subscription_text = fs_text_inline( 'Cancelling the subscription', 'cancelling-subscription', $slug );
|
313 |
/* translators: %1$s: Either 'Downgrading your plan' or 'Cancelling the subscription' */
|
314 |
+
$downgrade_x_confirm_text = fs_text_inline( '%1$s will immediately stop all future recurring payments and your %2$s plan license will expire in %3$s.', 'downgrade-x-confirm', $slug );
|
315 |
$prices_increase_text = fs_text_inline( 'Please note that we will not be able to grandfather outdated pricing for renewals/new subscriptions after a cancellation. If you choose to renew the subscription manually in the future, after a price increase, which typically occurs once a year, you will be charged the updated price.', 'pricing-increase-warning', $slug );
|
316 |
$after_downgrade_non_blocking_text = fs_text_inline( 'You can still enjoy all %s features but you will not have access to %s security & feature updates, nor support.', 'after-downgrade-non-blocking', $slug );
|
317 |
$after_downgrade_blocking_text = fs_text_inline( 'Once your license expires you can still use the Free version but you will NOT have access to the %s features.', 'after-downgrade-blocking', $slug );
|
freemius/templates/account/payments.php
CHANGED
@@ -47,7 +47,7 @@
|
|
47 |
<td><?php echo $payment->formatted_gross() ?></td>
|
48 |
<td><?php if (! $payment->is_migrated() ) : ?><a href="<?php echo $fs->_get_invoice_api_url( $payment->id ) ?>"
|
49 |
class="button button-small"
|
50 |
-
target="_blank"><?php fs_esc_html_echo_inline( 'Invoice', 'invoice', $slug ) ?></a><?php endif ?></td>
|
51 |
</tr>
|
52 |
<?php $odd = ! $odd; endforeach ?>
|
53 |
</tbody>
|
47 |
<td><?php echo $payment->formatted_gross() ?></td>
|
48 |
<td><?php if (! $payment->is_migrated() ) : ?><a href="<?php echo $fs->_get_invoice_api_url( $payment->id ) ?>"
|
49 |
class="button button-small"
|
50 |
+
target="_blank" rel="noopener"><?php fs_esc_html_echo_inline( 'Invoice', 'invoice', $slug ) ?></a><?php endif ?></td>
|
51 |
</tr>
|
52 |
<?php $odd = ! $odd; endforeach ?>
|
53 |
</tbody>
|
freemius/templates/add-ons.php
CHANGED
@@ -22,6 +22,9 @@
|
|
22 |
|
23 |
$open_addon = false;
|
24 |
|
|
|
|
|
|
|
25 |
/**
|
26 |
* @var FS_Plugin[]
|
27 |
*/
|
@@ -52,7 +55,7 @@
|
|
52 |
<h3><?php echo esc_html( sprintf(
|
53 |
'%s... %s',
|
54 |
fs_text_x_inline( 'Oops', 'exclamation', 'oops', $slug ),
|
55 |
-
fs_text_inline( 'We
|
56 |
) ) ?></h3>
|
57 |
<?php endif ?>
|
58 |
<ul class="fs-cards-list">
|
@@ -62,11 +65,52 @@
|
|
62 |
|
63 |
$active_plugins_directories_map = Freemius::get_active_plugins_directories_map( $fs_blog_id );
|
64 |
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
<?php foreach ( $addons as $addon ) : ?>
|
66 |
<?php
|
67 |
$basename = $fs->get_addon_basename( $addon->id );
|
68 |
|
69 |
$is_addon_installed = file_exists( fs_normalize_path( WP_PLUGIN_DIR . '/' . $basename ) );
|
|
|
|
|
|
|
|
|
|
|
70 |
$is_addon_activated = $is_addon_installed ?
|
71 |
$fs->is_addon_activated( $addon->id ) :
|
72 |
false;
|
@@ -103,9 +147,21 @@
|
|
103 |
|
104 |
$min_price = 999999;
|
105 |
foreach ( $plan->pricing as $pricing ) {
|
106 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
107 |
$min_price = min( $min_price, $pricing->annual_price );
|
108 |
-
} else if (
|
109 |
$min_price = min( $min_price, 12 * $pricing->monthly_price );
|
110 |
}
|
111 |
}
|
@@ -181,6 +237,9 @@
|
|
181 |
<li class="fs-offer">
|
182 |
<span
|
183 |
class="fs-price"><?php
|
|
|
|
|
|
|
184 |
$descriptors = array();
|
185 |
|
186 |
if ($has_free_plan)
|
@@ -190,7 +249,9 @@
|
|
190 |
if ($has_trial)
|
191 |
$descriptors[] = fs_text_x_inline( 'Trial', 'trial period', 'trial', $slug );
|
192 |
|
193 |
-
echo implode(' - ', $descriptors)
|
|
|
|
|
194 |
</li>
|
195 |
<li class="fs-description"><?php echo ! empty( $addon->info->short_description ) ? $addon->info->short_description : 'SHORT DESCRIPTION' ?></li>
|
196 |
<?php
|
@@ -271,11 +332,11 @@
|
|
271 |
}
|
272 |
?>
|
273 |
<?php else : ?>
|
274 |
-
<a target="_blank" class="button button-primary" href="<?php echo $latest_download_local_url ?>"><?php echo esc_html( $download_latest_text ) ?></a>
|
275 |
<?php endif ?>
|
276 |
<div class="button button-primary fs-dropdown-arrow-button"><span class="fs-dropdown-arrow"></span><ul class="fs-dropdown-list" style="display: none">
|
277 |
<?php if ( $is_allowed_to_install && ! empty( $latest_download_local_url ) ) : ?>
|
278 |
-
<li><a target="_blank" href="<?php echo $latest_download_local_url ?>"><?php echo esc_html( $download_latest_text ) ?></a></li>
|
279 |
<?php endif ?>
|
280 |
<li><?php
|
281 |
echo sprintf(
|
22 |
|
23 |
$open_addon = false;
|
24 |
|
25 |
+
$is_data_debug_mode = $fs->is_data_debug_mode();
|
26 |
+
$is_whitelabeled = $fs->is_whitelabeled();
|
27 |
+
|
28 |
/**
|
29 |
* @var FS_Plugin[]
|
30 |
*/
|
55 |
<h3><?php echo esc_html( sprintf(
|
56 |
'%s... %s',
|
57 |
fs_text_x_inline( 'Oops', 'exclamation', 'oops', $slug ),
|
58 |
+
fs_text_inline( 'We couldn\'t load the add-ons list. It\'s probably an issue on our side, please try to come back in few minutes.', 'add-ons-missing', $slug )
|
59 |
) ) ?></h3>
|
60 |
<?php endif ?>
|
61 |
<ul class="fs-cards-list">
|
65 |
|
66 |
$active_plugins_directories_map = Freemius::get_active_plugins_directories_map( $fs_blog_id );
|
67 |
?>
|
68 |
+
<?php
|
69 |
+
$hide_all_addons_data = false;
|
70 |
+
|
71 |
+
if ( $fs->is_whitelabeled_by_flag() ) {
|
72 |
+
$hide_all_addons_data = true;
|
73 |
+
|
74 |
+
$addon_ids = $fs->get_updated_account_addons();
|
75 |
+
$installed_addons = $fs->get_installed_addons();
|
76 |
+
foreach ( $installed_addons as $fs_addon ) {
|
77 |
+
$addon_ids[] = $fs_addon->get_id();
|
78 |
+
}
|
79 |
+
|
80 |
+
if ( ! empty( $addon_ids ) ) {
|
81 |
+
$addon_ids = array_unique( $addon_ids );
|
82 |
+
}
|
83 |
+
|
84 |
+
foreach ( $addon_ids as $addon_id ) {
|
85 |
+
$addon = $fs->get_addon( $addon_id );
|
86 |
+
|
87 |
+
if ( ! is_object( $addon ) ) {
|
88 |
+
continue;
|
89 |
+
}
|
90 |
+
|
91 |
+
$addon_storage = FS_Storage::instance( WP_FS__MODULE_TYPE_PLUGIN, $addon->slug );
|
92 |
+
|
93 |
+
if ( ! $addon_storage->is_whitelabeled ) {
|
94 |
+
$hide_all_addons_data = false;
|
95 |
+
break;
|
96 |
+
}
|
97 |
+
|
98 |
+
if ( $is_data_debug_mode ) {
|
99 |
+
$is_whitelabeled = false;
|
100 |
+
}
|
101 |
+
}
|
102 |
+
}
|
103 |
+
?>
|
104 |
<?php foreach ( $addons as $addon ) : ?>
|
105 |
<?php
|
106 |
$basename = $fs->get_addon_basename( $addon->id );
|
107 |
|
108 |
$is_addon_installed = file_exists( fs_normalize_path( WP_PLUGIN_DIR . '/' . $basename ) );
|
109 |
+
|
110 |
+
if ( ! $is_addon_installed && $hide_all_addons_data ) {
|
111 |
+
continue;
|
112 |
+
}
|
113 |
+
|
114 |
$is_addon_activated = $is_addon_installed ?
|
115 |
$fs->is_addon_activated( $addon->id ) :
|
116 |
false;
|
147 |
|
148 |
$min_price = 999999;
|
149 |
foreach ( $plan->pricing as $pricing ) {
|
150 |
+
$pricing = new FS_Pricing( $pricing );
|
151 |
+
|
152 |
+
if ( ! $pricing->is_usd() ) {
|
153 |
+
/**
|
154 |
+
* Skip non-USD pricing.
|
155 |
+
*
|
156 |
+
* @author Leo Fajardo (@leorw)
|
157 |
+
* @since 2.3.1
|
158 |
+
*/
|
159 |
+
continue;
|
160 |
+
}
|
161 |
+
|
162 |
+
if ( $pricing->has_annual() ) {
|
163 |
$min_price = min( $min_price, $pricing->annual_price );
|
164 |
+
} else if ( $pricing->has_monthly() ) {
|
165 |
$min_price = min( $min_price, 12 * $pricing->monthly_price );
|
166 |
}
|
167 |
}
|
237 |
<li class="fs-offer">
|
238 |
<span
|
239 |
class="fs-price"><?php
|
240 |
+
if ( $is_whitelabeled ) {
|
241 |
+
echo ' ';
|
242 |
+
} else {
|
243 |
$descriptors = array();
|
244 |
|
245 |
if ($has_free_plan)
|
249 |
if ($has_trial)
|
250 |
$descriptors[] = fs_text_x_inline( 'Trial', 'trial period', 'trial', $slug );
|
251 |
|
252 |
+
echo implode(' - ', $descriptors);
|
253 |
+
|
254 |
+
} ?></span>
|
255 |
</li>
|
256 |
<li class="fs-description"><?php echo ! empty( $addon->info->short_description ) ? $addon->info->short_description : 'SHORT DESCRIPTION' ?></li>
|
257 |
<?php
|
332 |
}
|
333 |
?>
|
334 |
<?php else : ?>
|
335 |
+
<a target="_blank" rel="noopener" class="button button-primary" href="<?php echo $latest_download_local_url ?>"><?php echo esc_html( $download_latest_text ) ?></a>
|
336 |
<?php endif ?>
|
337 |
<div class="button button-primary fs-dropdown-arrow-button"><span class="fs-dropdown-arrow"></span><ul class="fs-dropdown-list" style="display: none">
|
338 |
<?php if ( $is_allowed_to_install && ! empty( $latest_download_local_url ) ) : ?>
|
339 |
+
<li><a target="_blank" rel="noopener" href="<?php echo $latest_download_local_url ?>"><?php echo esc_html( $download_latest_text ) ?></a></li>
|
340 |
<?php endif ?>
|
341 |
<li><?php
|
342 |
echo sprintf(
|
freemius/templates/auto-installation.php
CHANGED
@@ -93,7 +93,7 @@
|
|
93 |
fs_esc_html_inline( 'An automated download and installation of %s (paid version) from %s will start in %s. If you would like to do it manually - click the cancellation button now.', 'installing-in-n', $slug ),
|
94 |
$plugin_title,
|
95 |
sprintf(
|
96 |
-
'<a href="%s" target="_blank">%s</a>',
|
97 |
'https://freemius.com',
|
98 |
'freemius.com'
|
99 |
),
|
93 |
fs_esc_html_inline( 'An automated download and installation of %s (paid version) from %s will start in %s. If you would like to do it manually - click the cancellation button now.', 'installing-in-n', $slug ),
|
94 |
$plugin_title,
|
95 |
sprintf(
|
96 |
+
'<a href="%s" target="_blank" rel="noopener">%s</a>',
|
97 |
'https://freemius.com',
|
98 |
'freemius.com'
|
99 |
),
|
freemius/templates/connect.php
CHANGED
@@ -40,8 +40,8 @@
|
|
40 |
|
41 |
$freemius_site_www = 'https://freemius.com';
|
42 |
|
43 |
-
$freemius_usage_tracking_url = $
|
44 |
-
$freemius_plugin_terms_url = $
|
45 |
|
46 |
$freemius_site_url = $fs->is_premium() ?
|
47 |
$freemius_site_www :
|
@@ -54,7 +54,7 @@
|
|
54 |
) );
|
55 |
}
|
56 |
|
57 |
-
$freemius_link = '<a href="' . $freemius_site_url . '" target="_blank" tabindex="1">freemius.com</a>';
|
58 |
|
59 |
$error = fs_request_get( 'error' );
|
60 |
|
@@ -72,7 +72,7 @@
|
|
72 |
$is_optin_dialog = (
|
73 |
$fs->is_theme() &&
|
74 |
$fs->is_themes_page() &&
|
75 |
-
|
76 |
);
|
77 |
|
78 |
if ( $is_optin_dialog ) {
|
@@ -131,6 +131,14 @@
|
|
131 |
?>
|
132 |
<?php
|
133 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
134 |
?>
|
135 |
<div id="fs_connect"
|
136 |
class="wrap<?php if ( ! fs_is_network_admin() && ( ! $fs->is_enable_anonymous() || $is_pending_activation || $require_license_key ) ) {
|
@@ -214,13 +222,13 @@
|
|
214 |
esc_html( $default_optin_message ),
|
215 |
'<b>' . esc_html( $fs->get_plugin_name() ) . '</b>',
|
216 |
'<b>' . $current_user->user_login . '</b>',
|
217 |
-
'<a href="' . $site_url . '" target="_blank">' . $site_url . '</a>',
|
218 |
$freemius_link
|
219 |
),
|
220 |
$first_name,
|
221 |
$fs->get_plugin_name(),
|
222 |
$current_user->user_login,
|
223 |
-
'<a href="' . $site_url . '" target="_blank">' . $site_url . '</a>',
|
224 |
$freemius_link,
|
225 |
$is_gdpr_required
|
226 |
);
|
@@ -322,6 +330,7 @@
|
|
322 |
<input type="hidden" name="fs_action"
|
323 |
value="<?php echo $fs->get_unique_affix() ?>_activate_existing">
|
324 |
<?php wp_nonce_field( 'activate_existing_' . $fs->get_public_key() ) ?>
|
|
|
325 |
<button class="button button-primary" tabindex="1"
|
326 |
type="submit"><?php echo esc_html( $button_label ) ?></button>
|
327 |
</form>
|
@@ -331,6 +340,7 @@
|
|
331 |
<?php foreach ( $optin_params as $name => $value ) : ?>
|
332 |
<input type="hidden" name="<?php echo $name ?>" value="<?php echo esc_attr( $value ) ?>">
|
333 |
<?php endforeach ?>
|
|
|
334 |
<button class="button button-primary" tabindex="1"
|
335 |
type="submit"<?php if ( $require_license_key ) {
|
336 |
echo ' disabled="disabled"';
|
@@ -340,31 +350,42 @@
|
|
340 |
</div><?php
|
341 |
|
342 |
// Set core permission list items.
|
343 |
-
$permissions = array(
|
344 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
345 |
'icon-class' => 'dashicons dashicons-admin-users',
|
346 |
'label' => $fs->get_text_inline( 'Your Profile Overview', 'permissions-profile' ),
|
347 |
'desc' => $fs->get_text_inline( 'Name and email address', 'permissions-profile_desc' ),
|
348 |
'priority' => 5,
|
349 |
-
)
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
),
|
356 |
-
'
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
),
|
362 |
-
'
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
),
|
|
|
|
|
|
|
368 |
);
|
369 |
|
370 |
// Add newsletter permissions if enabled.
|
@@ -377,6 +398,15 @@
|
|
377 |
);
|
378 |
}
|
379 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
380 |
// Allow filtering of the permissions list.
|
381 |
$permissions = $fs->apply_filters( 'permission_list', $permissions );
|
382 |
|
@@ -399,8 +429,13 @@
|
|
399 |
<li id="fs-permission-<?php echo esc_attr( $id ); ?>"
|
400 |
class="fs-permission fs-<?php echo esc_attr( $id ); ?>">
|
401 |
<i class="<?php echo esc_attr( $permission['icon-class'] ); ?>"></i>
|
|
|
|
|
|
|
|
|
|
|
402 |
|
403 |
-
<div>
|
404 |
<span><?php echo esc_html( $permission['label'] ); ?></span>
|
405 |
|
406 |
<p><?php echo esc_html( $permission['desc'] ); ?></p>
|
@@ -424,13 +459,21 @@
|
|
424 |
</div>
|
425 |
<?php endif ?>
|
426 |
<div class="fs-terms">
|
427 |
-
<a href="https://freemius.com/privacy/" target="_blank"
|
428 |
tabindex="1"><?php fs_esc_html_echo_inline( 'Privacy Policy', 'privacy-policy', $slug ) ?></a>
|
429 |
-
|
430 |
-
<a href="<?php echo $require_license_key ? $freemius_plugin_terms_url : $freemius_usage_tracking_url ?>" target="_blank" tabindex="1"><?php $require_license_key ? fs_echo_inline( 'License Agreement', 'license-agreement', $slug ) : fs_echo_inline( 'Terms of Service', 'tos', $slug ) ?></a>
|
431 |
</div>
|
432 |
</div>
|
433 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
434 |
if ( $is_optin_dialog ) { ?>
|
435 |
</div>
|
436 |
<?php
|
@@ -659,6 +702,10 @@
|
|
659 |
var ajaxOptin = ( requireLicenseKey || isNetworkActive );
|
660 |
|
661 |
$form.on('submit', function () {
|
|
|
|
|
|
|
|
|
662 |
/**
|
663 |
* @author Vova Feldman (@svovaf)
|
664 |
* @since 1.1.9
|
@@ -711,6 +758,8 @@
|
|
711 |
}
|
712 |
|
713 |
data.is_marketing_allowed = isMarketingAllowed;
|
|
|
|
|
714 |
}
|
715 |
|
716 |
$marketingOptin.removeClass( 'error' );
|
@@ -813,6 +862,12 @@
|
|
813 |
return false;
|
814 |
});
|
815 |
|
|
|
|
|
|
|
|
|
|
|
|
|
816 |
if (requireLicenseKey) {
|
817 |
/**
|
818 |
* Submit license key on enter.
|
40 |
|
41 |
$freemius_site_www = 'https://freemius.com';
|
42 |
|
43 |
+
$freemius_usage_tracking_url = $fs->get_usage_tracking_terms_url();
|
44 |
+
$freemius_plugin_terms_url = $fs->get_eula_url();
|
45 |
|
46 |
$freemius_site_url = $fs->is_premium() ?
|
47 |
$freemius_site_www :
|
54 |
) );
|
55 |
}
|
56 |
|
57 |
+
$freemius_link = '<a href="' . $freemius_site_url . '" target="_blank" rel="noopener" tabindex="1">freemius.com</a>';
|
58 |
|
59 |
$error = fs_request_get( 'error' );
|
60 |
|
72 |
$is_optin_dialog = (
|
73 |
$fs->is_theme() &&
|
74 |
$fs->is_themes_page() &&
|
75 |
+
$fs->show_opt_in_on_themes_page()
|
76 |
);
|
77 |
|
78 |
if ( $is_optin_dialog ) {
|
131 |
?>
|
132 |
<?php
|
133 |
}
|
134 |
+
|
135 |
+
/**
|
136 |
+
* Allows developers to include custom HTML before the opt-in content.
|
137 |
+
*
|
138 |
+
* @author Vova Feldman
|
139 |
+
* @since 2.3.2
|
140 |
+
*/
|
141 |
+
$fs->do_action( 'connect/before' );
|
142 |
?>
|
143 |
<div id="fs_connect"
|
144 |
class="wrap<?php if ( ! fs_is_network_admin() && ( ! $fs->is_enable_anonymous() || $is_pending_activation || $require_license_key ) ) {
|
222 |
esc_html( $default_optin_message ),
|
223 |
'<b>' . esc_html( $fs->get_plugin_name() ) . '</b>',
|
224 |
'<b>' . $current_user->user_login . '</b>',
|
225 |
+
'<a href="' . $site_url . '" target="_blank" rel="noopener noreferrer">' . $site_url . '</a>',
|
226 |
$freemius_link
|
227 |
),
|
228 |
$first_name,
|
229 |
$fs->get_plugin_name(),
|
230 |
$current_user->user_login,
|
231 |
+
'<a href="' . $site_url . '" target="_blank" rel="noopener noreferrer">' . $site_url . '</a>',
|
232 |
$freemius_link,
|
233 |
$is_gdpr_required
|
234 |
);
|
330 |
<input type="hidden" name="fs_action"
|
331 |
value="<?php echo $fs->get_unique_affix() ?>_activate_existing">
|
332 |
<?php wp_nonce_field( 'activate_existing_' . $fs->get_public_key() ) ?>
|
333 |
+
<input type="hidden" name="is_extensions_tracking_allowed" value="1">
|
334 |
<button class="button button-primary" tabindex="1"
|
335 |
type="submit"><?php echo esc_html( $button_label ) ?></button>
|
336 |
</form>
|
340 |
<?php foreach ( $optin_params as $name => $value ) : ?>
|
341 |
<input type="hidden" name="<?php echo $name ?>" value="<?php echo esc_attr( $value ) ?>">
|
342 |
<?php endforeach ?>
|
343 |
+
<input type="hidden" name="is_extensions_tracking_allowed" value="1">
|
344 |
<button class="button button-primary" tabindex="1"
|
345 |
type="submit"<?php if ( $require_license_key ) {
|
346 |
echo ' disabled="disabled"';
|
350 |
</div><?php
|
351 |
|
352 |
// Set core permission list items.
|
353 |
+
$permissions = array();
|
354 |
+
|
355 |
+
/**
|
356 |
+
* When activating a license key the information of the admin is not collected, we gather the user info from the license.
|
357 |
+
*
|
358 |
+
* @since 2.3.2
|
359 |
+
* @author Vova Feldman
|
360 |
+
*/
|
361 |
+
if ( ! $require_license_key ) {
|
362 |
+
$permissions['profile'] = array(
|
363 |
'icon-class' => 'dashicons dashicons-admin-users',
|
364 |
'label' => $fs->get_text_inline( 'Your Profile Overview', 'permissions-profile' ),
|
365 |
'desc' => $fs->get_text_inline( 'Name and email address', 'permissions-profile_desc' ),
|
366 |
'priority' => 5,
|
367 |
+
);
|
368 |
+
}
|
369 |
+
|
370 |
+
$permissions['site'] = array(
|
371 |
+
'icon-class' => 'dashicons dashicons-admin-settings',
|
372 |
+
'label' => $fs->get_text_inline( 'Your Site Overview', 'permissions-site' ),
|
373 |
+
'desc' => $fs->get_text_inline( 'Site URL, WP version, PHP info', 'permissions-site_desc' ),
|
374 |
+
'priority' => 10,
|
375 |
+
);
|
376 |
+
|
377 |
+
$permissions['notices'] = array(
|
378 |
+
'icon-class' => 'dashicons dashicons-testimonial',
|
379 |
+
'label' => $fs->get_text_inline( 'Admin Notices', 'permissions-admin-notices' ),
|
380 |
+
'desc' => $fs->get_text_inline( 'Updates, announcements, marketing, no spam', 'permissions-newsletter_desc' ),
|
381 |
+
'priority' => 13,
|
382 |
+
);
|
383 |
+
|
384 |
+
$permissions['events'] = array(
|
385 |
+
'icon-class' => 'dashicons dashicons-admin-' . ( $fs->is_plugin() ? 'plugins' : 'appearance' ),
|
386 |
+
'label' => sprintf( $fs->get_text_inline( 'Current %s Events', 'permissions-events' ), ucfirst( $fs->get_module_type() ) ),
|
387 |
+
'desc' => $fs->get_text_inline( 'Activation, deactivation and uninstall', 'permissions-events_desc' ),
|
388 |
+
'priority' => 20,
|
389 |
);
|
390 |
|
391 |
// Add newsletter permissions if enabled.
|
398 |
);
|
399 |
}
|
400 |
|
401 |
+
$permissions['extensions'] = array(
|
402 |
+
'icon-class' => 'dashicons dashicons-menu',
|
403 |
+
'label' => $fs->get_text_inline( 'Plugins & Themes', 'permissions-extensions' ),
|
404 |
+
'desc' => $fs->get_text_inline( 'Title, slug, version, and is active', 'permissions-extensions_desc' ),
|
405 |
+
'priority' => 25,
|
406 |
+
'optional' => true,
|
407 |
+
'default' => $fs->apply_filters( 'permission_extensions_default', true )
|
408 |
+
);
|
409 |
+
|
410 |
// Allow filtering of the permissions list.
|
411 |
$permissions = $fs->apply_filters( 'permission_list', $permissions );
|
412 |
|
429 |
<li id="fs-permission-<?php echo esc_attr( $id ); ?>"
|
430 |
class="fs-permission fs-<?php echo esc_attr( $id ); ?>">
|
431 |
<i class="<?php echo esc_attr( $permission['icon-class'] ); ?>"></i>
|
432 |
+
<?php if ( isset( $permission['optional'] ) && true === $permission['optional'] ) : ?>
|
433 |
+
<div class="fs-switch fs-small fs-round fs-<?php echo (! isset( $permission['default'] ) || true === $permission['default'] ) ? 'on' : 'off' ?>">
|
434 |
+
<div class="fs-toggle"></div>
|
435 |
+
</div>
|
436 |
+
<?php endif ?>
|
437 |
|
438 |
+
<div class="fs-permission-description">
|
439 |
<span><?php echo esc_html( $permission['label'] ); ?></span>
|
440 |
|
441 |
<p><?php echo esc_html( $permission['desc'] ); ?></p>
|
459 |
</div>
|
460 |
<?php endif ?>
|
461 |
<div class="fs-terms">
|
462 |
+
<a href="https://freemius.com/privacy/" target="_blank" rel="noopener"
|
463 |
tabindex="1"><?php fs_esc_html_echo_inline( 'Privacy Policy', 'privacy-policy', $slug ) ?></a>
|
464 |
-
|
465 |
+
<a href="<?php echo $require_license_key ? $freemius_plugin_terms_url : $freemius_usage_tracking_url ?>" target="_blank" rel="noopener" tabindex="1"><?php $require_license_key ? fs_echo_inline( 'License Agreement', 'license-agreement', $slug ) : fs_echo_inline( 'Terms of Service', 'tos', $slug ) ?></a>
|
466 |
</div>
|
467 |
</div>
|
468 |
<?php
|
469 |
+
/**
|
470 |
+
* Allows developers to include custom HTML after the opt-in content.
|
471 |
+
*
|
472 |
+
* @author Vova Feldman
|
473 |
+
* @since 2.3.2
|
474 |
+
*/
|
475 |
+
$fs->do_action( 'connect/after' );
|
476 |
+
|
477 |
if ( $is_optin_dialog ) { ?>
|
478 |
</div>
|
479 |
<?php
|
702 |
var ajaxOptin = ( requireLicenseKey || isNetworkActive );
|
703 |
|
704 |
$form.on('submit', function () {
|
705 |
+
var isExtensionsTrackingAllowed = $( '#fs-permission-extensions .fs-switch' ).hasClass( 'fs-on' );
|
706 |
+
|
707 |
+
$( 'input[name=is_extensions_tracking_allowed]' ).val( isExtensionsTrackingAllowed ? 1 : 0 );
|
708 |
+
|
709 |
/**
|
710 |
* @author Vova Feldman (@svovaf)
|
711 |
* @since 1.1.9
|
758 |
}
|
759 |
|
760 |
data.is_marketing_allowed = isMarketingAllowed;
|
761 |
+
|
762 |
+
data.is_extensions_tracking_allowed = isExtensionsTrackingAllowed;
|
763 |
}
|
764 |
|
765 |
$marketingOptin.removeClass( 'error' );
|
862 |
return false;
|
863 |
});
|
864 |
|
865 |
+
$( '.fs-switch' ).click( function () {
|
866 |
+
$(this)
|
867 |
+
.toggleClass( 'fs-on' )
|
868 |
+
.toggleClass( 'fs-off' );
|
869 |
+
});
|
870 |
+
|
871 |
if (requireLicenseKey) {
|
872 |
/**
|
873 |
* Submit license key on enter.
|
freemius/templates/debug.php
CHANGED
@@ -21,27 +21,25 @@
|
|
21 |
<div>
|
22 |
<!-- Debugging Switch -->
|
23 |
<?php //$debug_mode = get_option( 'fs_debug_mode', null ) ?>
|
24 |
-
<span class="switch-label"><?php fs_esc_html_echo_x_inline( 'Debugging', 'as code debugging' ) ?></span>
|
25 |
|
26 |
-
<div class="switch <?php echo WP_FS__DEBUG_SDK ? '
|
27 |
-
<div class="toggle"></div>
|
28 |
-
<span class="on"><?php echo esc_html( $on_text ) ?></span>
|
29 |
-
<span class="off"><?php echo esc_html( $off_text ) ?></span>
|
30 |
</div>
|
31 |
<script type="text/javascript">
|
32 |
(function ($) {
|
33 |
$(document).ready(function () {
|
34 |
// Switch toggle
|
35 |
-
$('.switch').click(function () {
|
36 |
-
$(this)
|
37 |
-
.toggleClass('on')
|
38 |
-
.toggleClass('off');
|
39 |
|
40 |
-
$.post(ajaxurl, {
|
41 |
action: 'fs_toggle_debug_mode',
|
42 |
-
is_on : ($(this).hasClass('
|
43 |
-
}, function (response) {
|
44 |
-
if (1 == response) {
|
45 |
// Refresh page on success.
|
46 |
location.reload();
|
47 |
}
|
@@ -229,7 +227,7 @@
|
|
229 |
?>
|
230 |
|
231 |
<?php foreach ( $module_types as $module_type ) : ?>
|
232 |
-
<?php $modules = $fs_options->get_option( $module_type . 's' ) ?>
|
233 |
<?php if ( is_array( $modules ) && count( $modules ) > 0 ) : ?>
|
234 |
<h2><?php echo esc_html( ( WP_FS__MODULE_TYPE_PLUGIN == $module_type ) ? fs_text_inline( 'Plugins', 'plugins' ) : fs_text_inline( 'Themes', 'themes' ) ) ?></h2>
|
235 |
<table id="fs_<?php echo $module_type ?>" class="widefat">
|
@@ -352,7 +350,6 @@
|
|
352 |
|
353 |
$is_multisite = is_multisite();
|
354 |
$all_plans = false;
|
355 |
-
$plans = false;
|
356 |
?>
|
357 |
<?php if ( is_array( $sites_map ) && count( $sites_map ) > 0 ) : ?>
|
358 |
<h2><?php echo esc_html( sprintf(
|
@@ -370,6 +367,7 @@
|
|
370 |
<?php endif ?>
|
371 |
<th><?php fs_esc_html_echo_inline( 'Slug' ) ?></th>
|
372 |
<th><?php fs_esc_html_echo_inline( 'User ID' ) ?></th>
|
|
|
373 |
<th><?php fs_esc_html_echo_x_inline( 'Plan', 'as product pricing plan', 'plan' ) ?></th>
|
374 |
<th><?php fs_esc_html_echo_inline( 'Public Key' ) ?></th>
|
375 |
<th><?php fs_esc_html_echo_inline( 'Secret Key' ) ?></th>
|
@@ -390,6 +388,7 @@
|
|
390 |
<?php endif ?>
|
391 |
<td><?php echo $slug ?></td>
|
392 |
<td><?php echo $site->user_id ?></td>
|
|
|
393 |
<td><?php
|
394 |
$plan_name = '';
|
395 |
if ( FS_Plugin_Plan::is_valid_id( $site->plan_id ) ) {
|
@@ -399,14 +398,10 @@
|
|
399 |
$option_name = $module_type . '_' . $option_name;
|
400 |
}
|
401 |
|
402 |
-
$all_plans = $fs_options->get_option( $option_name, array() );
|
403 |
-
}
|
404 |
-
|
405 |
-
if ( false === $plans ) {
|
406 |
-
$plans = $all_plans[ $slug ];
|
407 |
}
|
408 |
|
409 |
-
foreach ( $
|
410 |
$plan_id = Freemius::_decrypt( $plan->id );
|
411 |
|
412 |
if ( $site->plan_id == $plan_id ) {
|
@@ -419,7 +414,13 @@
|
|
419 |
echo $plan_name;
|
420 |
?></td>
|
421 |
<td><?php echo $site->public_key ?></td>
|
422 |
-
<td><?php
|
|
|
|
|
|
|
|
|
|
|
|
|
423 |
<td>
|
424 |
<form action="" method="POST">
|
425 |
<input type="hidden" name="fs_action" value="delete_install">
|
@@ -478,7 +479,22 @@
|
|
478 |
/**
|
479 |
* @var FS_User[] $users
|
480 |
*/
|
481 |
-
$users
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
482 |
?>
|
483 |
<?php if ( is_array( $users ) && 0 < count( $users ) ) : ?>
|
484 |
<h2><?php fs_esc_html_echo_inline( 'Users' ) ?></h2>
|
@@ -496,20 +512,27 @@
|
|
496 |
</thead>
|
497 |
<tbody>
|
498 |
<?php foreach ( $users as $user_id => $user ) : ?>
|
|
|
499 |
<tr>
|
500 |
<td><?php echo $user->id ?></td>
|
501 |
-
<td><?php echo $user->get_name() ?></td>
|
502 |
-
<td
|
503 |
-
|
|
|
|
|
|
|
|
|
504 |
<td><?php echo $user->public_key ?></td>
|
505 |
-
<td><?php echo esc_html( $user->secret_key ) ?></td>
|
506 |
<td>
|
|
|
507 |
<form action="" method="POST">
|
508 |
<input type="hidden" name="fs_action" value="delete_user">
|
509 |
<?php wp_nonce_field( 'delete_user' ) ?>
|
510 |
<input type="hidden" name="user_id" value="<?php echo $user->id ?>">
|
511 |
<button type="submit" c
|
21 |
<div>
|
22 |
<!-- Debugging Switch -->
|
23 |
<?php //$debug_mode = get_option( 'fs_debug_mode', null ) ?>
|
24 |
+
<span class="fs-switch-label"><?php fs_esc_html_echo_x_inline( 'Debugging', 'as code debugging' ) ?></span>
|
25 |
|
26 |
+
<div class="fs-switch fs-round <?php echo WP_FS__DEBUG_SDK ? 'fs-on' : 'fs-off' ?>">
|
27 |
+
<div class="fs-toggle"></div>
|
|
|
|
|
28 |
</div>
|
29 |
<script type="text/javascript">
|
30 |
(function ($) {
|
31 |
$(document).ready(function () {
|
32 |
// Switch toggle
|
33 |
+
$( '.fs-switch' ).click( function () {
|
34 |
+
$( this )
|
35 |
+
.toggleClass( 'fs-on' )
|
36 |
+
.toggleClass( 'fs-off' );
|
37 |
|
38 |
+
$.post( ajaxurl, {
|
39 |
action: 'fs_toggle_debug_mode',
|
40 |
+
is_on : ($(this).hasClass( 'fs-on' ) ? 1 : 0)
|
41 |
+
}, function ( response ) {
|
42 |
+
if ( 1 == response ) {
|
43 |
// Refresh page on success.
|
44 |
location.reload();
|
45 |
}
|
227 |
?>
|
228 |
|
229 |
<?php foreach ( $module_types as $module_type ) : ?>
|
230 |
+
<?php $modules = fs_get_entities( $fs_options->get_option( $module_type . 's' ), FS_Plugin::get_class_name() ) ?>
|
231 |
<?php if ( is_array( $modules ) && count( $modules ) > 0 ) : ?>
|
232 |
<h2><?php echo esc_html( ( WP_FS__MODULE_TYPE_PLUGIN == $module_type ) ? fs_text_inline( 'Plugins', 'plugins' ) : fs_text_inline( 'Themes', 'themes' ) ) ?></h2>
|
233 |
<table id="fs_<?php echo $module_type ?>" class="widefat">
|
350 |
|
351 |
$is_multisite = is_multisite();
|
352 |
$all_plans = false;
|
|
|
353 |
?>
|
354 |
<?php if ( is_array( $sites_map ) && count( $sites_map ) > 0 ) : ?>
|
355 |
<h2><?php echo esc_html( sprintf(
|
367 |
<?php endif ?>
|
368 |
<th><?php fs_esc_html_echo_inline( 'Slug' ) ?></th>
|
369 |
<th><?php fs_esc_html_echo_inline( 'User ID' ) ?></th>
|
370 |
+
<th><?php fs_esc_html_echo_inline( 'License ID' ) ?></th>
|
371 |
<th><?php fs_esc_html_echo_x_inline( 'Plan', 'as product pricing plan', 'plan' ) ?></th>
|
372 |
<th><?php fs_esc_html_echo_inline( 'Public Key' ) ?></th>
|
373 |
<th><?php fs_esc_html_echo_inline( 'Secret Key' ) ?></th>
|
388 |
<?php endif ?>
|
389 |
<td><?php echo $slug ?></td>
|
390 |
<td><?php echo $site->user_id ?></td>
|
391 |
+
<td><?php echo !empty($site->license_id) ? $site->license_id : '' ?></td>
|
392 |
<td><?php
|
393 |
$plan_name = '';
|
394 |
if ( FS_Plugin_Plan::is_valid_id( $site->plan_id ) ) {
|
398 |
$option_name = $module_type . '_' . $option_name;
|
399 |
}
|
400 |
|
401 |
+
$all_plans = fs_get_entities( $fs_options->get_option( $option_name, array() ), FS_Plugin_Plan::get_class_name() );
|
|
|
|
|
|
|
|
|
402 |
}
|
403 |
|
404 |
+
foreach ( $all_plans[ $slug ] as $plan ) {
|
405 |
$plan_id = Freemius::_decrypt( $plan->id );
|
406 |
|
407 |
if ( $site->plan_id == $plan_id ) {
|
414 |
echo $plan_name;
|
415 |
?></td>
|
416 |
<td><?php echo $site->public_key ?></td>
|
417 |
+
<td><?php
|
418 |
+
$plugin_storage = FS_Storage::instance( $module_type, $slug );
|
419 |
+
|
420 |
+
echo $plugin_storage->is_whitelabeled ?
|
421 |
+
FS_Plugin_License::mask_secret_key_for_html( $site->secret_key ) :
|
422 |
+
esc_html( $site->secret_key );
|
423 |
+
?></td>
|
424 |
<td>
|
425 |
<form action="" method="POST">
|
426 |
<input type="hidden" name="fs_action" value="delete_install">
|
479 |
/**
|
480 |
* @var FS_User[] $users
|
481 |
*/
|
482 |
+
$users = $VARS['users'];
|
483 |
+
$users_with_developer_license_by_id = array();
|
484 |
+
|
485 |
+
foreach ( $module_types as $module_type ) {
|
486 |
+
/**
|
487 |
+
* @var FS_Plugin_License[] $licenses
|
488 |
+
*/
|
489 |
+
$licenses = $VARS[ $module_type . '_licenses' ];
|
490 |
+
|
491 |
+
foreach ( $licenses as $license ) {
|
492 |
+
if ( $license->is_whitelabeled ) {
|
493 |
+
$users_with_developer_license_by_id[ $license->user_id ] = true;
|
494 |
+
}
|
495 |
+
}
|
496 |
+
}
|
497 |
+
|
498 |
?>
|
499 |
<?php if ( is_array( $users ) && 0 < count( $users ) ) : ?>
|
500 |
<h2><?php fs_esc_html_echo_inline( 'Users' ) ?></h2>
|
512 |
</thead>
|
513 |
<tbody>
|
514 |
<?php foreach ( $users as $user_id => $user ) : ?>
|
515 |
+
<?php $has_developer_license = isset( $users_with_developer_license_by_id[ $user_id ] ) ?>
|
516 |
<tr>
|
517 |
<td><?php echo $user->id ?></td>
|
518 |
+
<td><?php echo $has_developer_license ? '' : $user->get_name() ?></td>
|
519 |
+
<td>
|
520 |
+
<?php if ( ! $has_developer_license ) : ?>
|
521 |
+
<a href="mailto:<?php echo esc_attr( $user->email ) ?>"><?php echo $user->email ?></a>
|
522 |
+
<?php endif ?>
|
523 |
+
</td>
|
524 |
+
<td><?php echo $has_developer_license ? '' : json_encode( $user->is_verified ) ?></td>
|
525 |
<td><?php echo $user->public_key ?></td>
|
526 |
+
<td><?php echo $has_developer_license ? FS_Plugin_License::mask_secret_key_for_html($user->secret_key) : esc_html( $user->secret_key ) ?></td>
|
527 |
<td>
|
528 |
+
<?php if ( ! $has_developer_license ) : ?>
|
529 |
<form action="" method="POST">
|
530 |
<input type="hidden" name="fs_action" value="delete_user">
|
531 |
<?php wp_nonce_field( 'delete_user' ) ?>
|
532 |
<input type="hidden" name="user_id" value="<?php echo $user->id ?>">
|
533 |
<button type="submit" c
|