Premium Addons for Elementor - Version 2.7.4

Version Description

  • New: Added Vertical Scroll widget.
Download this release

Release Info

Developer leap13
Plugin Icon 128x128 Premium Addons for Elementor
Version 2.7.4
Comparing to
See all releases

Code changes from version 2.7.3 to 2.7.4

admin/assets/pa-elements-font/css/pa-elements.css CHANGED
@@ -1,10 +1,10 @@
1
  @font-face {
2
  font-family: 'pa-elements';
3
- src: url('../fonts/pa-elements.eot?uetc00');
4
- src: url('../fonts/pa-elements.eot?uetc00#iefix') format('embedded-opentype'),
5
- url('../fonts/pa-elements.ttf?uetc00') format('truetype'),
6
- url('../fonts/pa-elements.woff?uetc00') format('woff'),
7
- url('../fonts/pa-elements.svg?uetc00#pa-elements') format('svg');
8
  font-weight: normal;
9
  font-style: normal;
10
  }
@@ -24,39 +24,45 @@
24
  -moz-osx-font-smoothing: grayscale;
25
  }
26
 
27
- .pa-grid-icon:before {
28
- content: "\e906";
29
- }
30
  .pa-pa-admin-icon:before {
 
 
 
31
  content: "\e900";
32
  }
33
- .pa-pricing-table:before {
34
  content: "\e901";
35
  }
36
- .pa-video-box:before {
37
  content: "\e902";
38
  }
39
- .pa-title:before {
40
  content: "\e903";
41
  }
42
- .pa-testimonials:before {
43
  content: "\e904";
44
  }
45
- .pa-progress-bar:before {
46
  content: "\e905";
47
  }
48
  .pa-person:before {
49
- content: "\e907";
50
  }
51
  .pa-modal-box:before {
 
 
 
52
  content: "\e908";
53
  }
54
- .pa-maps:before {
55
  content: "\e909";
56
  }
57
- .pa-image-separator:before {
58
  content: "\e90a";
59
  }
 
 
 
60
  .pa-fancy-text:before {
61
  content: "\e90c";
62
  }
@@ -69,21 +75,18 @@
69
  .pa-countdown:before {
70
  content: "\e90f";
71
  }
72
- .pa-carousel:before {
73
  content: "\e910";
74
  }
75
- .pa-blog:before {
76
  content: "\e911";
77
  }
78
- .pa-banner:before {
79
  content: "\e912";
80
  }
81
- .pa-image-button:before {
82
  content: "\e913";
83
  }
84
- .pa-contact-form:before {
85
  content: "\e914";
86
- }
87
- .pa-button:before {
88
- content: "\e915";
89
  }
1
  @font-face {
2
  font-family: 'pa-elements';
3
+ src: url('../fonts/pa-elements.eot?6nhz6k');
4
+ src: url('../fonts/pa-elements.eot?6nhz6k#iefix') format('embedded-opentype'),
5
+ url('../fonts/pa-elements.ttf?6nhz6k') format('truetype'),
6
+ url('../fonts/pa-elements.woff?6nhz6k') format('woff'),
7
+ url('../fonts/pa-elements.svg?6nhz6k#pa-elements') format('svg');
8
  font-weight: normal;
9
  font-style: normal;
10
  }
24
  -moz-osx-font-smoothing: grayscale;
25
  }
26
 
 
 
 
27
  .pa-pa-admin-icon:before {
28
+ content: "\e915";
29
+ }
30
+ .pa-video-box:before {
31
  content: "\e900";
32
  }
33
+ .pa-vscroll:before {
34
  content: "\e901";
35
  }
36
+ .pa-title:before {
37
  content: "\e902";
38
  }
39
+ .pa-testimonials:before {
40
  content: "\e903";
41
  }
42
+ .pa-progress-bar:before {
43
  content: "\e904";
44
  }
45
+ .pa-pricing-table:before {
46
  content: "\e905";
47
  }
48
  .pa-person:before {
49
+ content: "\e906";
50
  }
51
  .pa-modal-box:before {
52
+ content: "\e907";
53
+ }
54
+ .pa-image-separator:before {
55
  content: "\e908";
56
  }
57
+ .pa-image-button:before {
58
  content: "\e909";
59
  }
60
+ .pa-grid-icon:before {
61
  content: "\e90a";
62
  }
63
+ .pa-maps:before {
64
+ content: "\e90b";
65
+ }
66
  .pa-fancy-text:before {
67
  content: "\e90c";
68
  }
75
  .pa-countdown:before {
76
  content: "\e90f";
77
  }
78
+ .pa-contact-form:before {
79
  content: "\e910";
80
  }
81
+ .pa-carousel:before {
82
  content: "\e911";
83
  }
84
+ .pa-button:before {
85
  content: "\e912";
86
  }
87
+ .pa-blog:before {
88
  content: "\e913";
89
  }
90
+ .pa-banner:before {
91
  content: "\e914";
 
 
 
92
  }
admin/assets/pa-elements-font/css/pafont.css CHANGED
@@ -11,7 +11,7 @@
11
  .toplevel_page_premium-addons > div.wp-menu-image::before {
12
  position: relative;
13
  top: 5px;
14
- content: "\e900";
15
  /* use !important to prevent issues with browser extensions that change fonts */
16
  font-family: 'pa-elements' !important;
17
  speak: none;
11
  .toplevel_page_premium-addons > div.wp-menu-image::before {
12
  position: relative;
13
  top: 5px;
14
+ content: "\e915";
15
  /* use !important to prevent issues with browser extensions that change fonts */
16
  font-family: 'pa-elements' !important;
17
  speak: none;
admin/assets/pa-elements-font/fonts/pa-elements.eot CHANGED
Binary file
admin/assets/pa-elements-font/fonts/pa-elements.svg CHANGED
@@ -3,30 +3,30 @@
3
  <svg xmlns="http://www.w3.org/2000/svg">
4
  <metadata>Generated by IcoMoon</metadata>
5
  <defs>
6
- <font id="pa-elements" horiz-adv-x="1024">
7
  <font-face units-per-em="1024" ascent="960" descent="-64" />
8
  <missing-glyph horiz-adv-x="1024" />
9
  <glyph unicode="&#x20;" horiz-adv-x="512" d="" />
10
- <glyph unicode="&#xe900;" glyph-name="pa-admin-icon" d="M918.187 628.907c0-13.653-13.653-27.307-27.307-27.307h-249.173c-13.653 0-30.72 10.24-34.133 23.893l-81.92 256c-3.413 13.653 3.413 23.893 6.827 23.893s17.067-6.827 30.72-17.067l314.027-180.907c13.653-6.827 37.547-27.307 40.96-37.547-3.413-6.827 0-27.307 0-40.96zM501.76 881.493l-81.92-256c-3.413-13.653-20.48-23.893-34.133-23.893h-252.587c-13.653 0-27.307 13.653-27.307 27.307s6.827 47.787 10.24 54.613c6.827 6.827 20.48 20.48 34.133 27.307l314.027 180.907c13.653 6.827 30.72 17.067 37.547 17.067 3.413 0 3.413-13.653 0-27.307zM723.627 103.253l-163.84-98.987c-13.653-6.827-44.373-20.48-51.2-17.067-10.24 3.413-27.307 10.24-40.96 17.067l-167.253 95.573c-13.653 6.827-13.653 20.48 0 30.72l191.147 139.947c13.653 6.827 30.72 6.827 44.373 0l191.147-139.947c10.24-6.827 10.24-20.48-3.413-27.307zM918.187 553.813v-286.72c0-13.653-6.827-47.787-10.24-54.613-6.827-6.827-20.48-17.067-34.133-27.307l-81.92-44.373c-13.653-6.827-27.307-3.413-30.72 10.24l-75.093 228.693c-3.413 13.653 0 34.133 13.653 40.96l197.973 143.36c10.24 10.24 20.48 6.827 20.48-10.24zM337.92 383.147l-75.093-228.693c-3.413-13.653-20.48-20.48-30.72-10.24l-78.507 47.787c-13.653 6.827-37.547 27.307-40.96 37.547s-6.827 27.307-6.827 44.373v286.72c0 13.653 10.24 20.48 20.48 10.24l197.973-143.36c13.653-13.653 17.067-30.72 13.653-44.373z" />
11
- <glyph unicode="&#xe901;" glyph-name="pricing-table" d="M640.465 371.665c0-50.269-40.96-93.091-93.091-93.091h-11.171c-1.862 0-3.724-1.862-3.724-3.724v-48.407c0-11.171-9.309-18.618-18.618-18.618-11.171 0-18.618 9.309-18.618 18.618v46.545c0 1.862-1.862 3.724-3.724 3.724h-67.025c-11.171 0-18.618 9.309-18.618 18.618s9.309 18.618 18.618 18.618h122.88c31.651 0 55.855 24.204 55.855 55.855s-24.204 55.855-55.855 55.855h-68.887c-52.131 0-93.091 40.96-93.091 93.091s40.96 93.091 93.091 93.091h11.171c1.862 0 3.724 1.862 3.724 3.724v48.407c0 9.309 9.309 18.618 18.618 18.618s18.618-9.309 18.618-18.618v-48.407c0-1.862 1.862-3.724 3.724-3.724h63.302c9.309 0 18.618-9.309 18.618-18.618 0-11.171-9.309-18.618-18.618-18.618h-121.018c-31.651 0-55.855-26.065-55.855-55.855 0-31.651 26.065-55.855 55.855-55.855h68.887c52.131 1.862 94.953-39.098 94.953-91.229zM841.542 930.211h-657.222c-22.342 0-39.098-18.618-39.098-39.098v-888.087c0-22.342 18.618-39.098 39.098-39.098h657.222c22.342 0 39.098 18.618 39.098 39.098v888.087c-1.862 20.48-18.618 39.098-39.098 39.098zM834.095 6.749h-644.189v878.778h646.051c0 0 0-878.778-1.862-878.778z" />
12
- <glyph unicode="&#xe902;" glyph-name="video-box" d="M703.767 457.309l-284.858 210.385c-5.585 3.724-14.895 0-14.895-7.447v-422.633c0-7.447 9.309-11.171 14.895-7.447l286.72 210.385c3.724 5.585 3.724 13.033-1.862 16.756zM446.836 306.502v282.996l191.767-141.498-191.767-141.498zM512 930.211c-273.687 0-495.244-217.833-495.244-482.211s223.418-482.211 495.244-482.211c273.687 0 495.244 215.971 495.244 482.211s-221.556 482.211-495.244 482.211zM512 19.782c-247.622 0-446.836 193.629-446.836 430.080s199.215 430.080 446.836 430.080 446.836-193.629 446.836-430.080-201.076-430.080-446.836-430.080z" />
13
- <glyph unicode="&#xe903;" glyph-name="title" d="M822.924 898.56h-619.985c-13.033 0-22.342-9.309-22.342-22.342v-102.4c0-13.033 9.309-22.342 22.342-22.342s22.342 7.447 22.342 20.48v80.058h264.378v-809.891h-55.855c-13.033 0-22.342-9.309-22.342-22.342s9.309-22.342 22.342-22.342h156.393c13.033 0 22.342 9.309 22.342 22.342s-9.309 22.342-22.342 22.342h-55.855v809.891h264.378v-80.058c0-13.033 9.309-22.342 22.342-22.342s22.342 9.309 22.342 22.342v104.262c1.862 11.171-9.309 22.342-20.48 22.342v0z" />
14
- <glyph unicode="&#xe904;" glyph-name="testimonials" d="M318.371 615.564h383.535v-42.822h-383.535v42.822zM318.371 474.065h383.535v-42.822h-383.535v42.822zM182.458 86.807l53.993 173.149c-96.815 53.993-154.531 152.669-154.531 262.516 0 167.564 137.775 301.615 305.338 301.615h247.622c167.564 1.862 305.338-134.051 305.338-301.615s-137.775-301.615-305.338-301.615h-160.116l-275.549-148.945c-9.309-5.585-20.48 3.724-16.756 14.895zM389.12 783.127c-145.222 0-262.516-117.295-262.516-260.655 0-100.538 55.855-188.044 147.084-232.727l16.756-7.447-42.822-137.775 219.695 119.156h169.425c145.222 0 262.516 117.295 262.516 258.793s-117.295 260.655-262.516 260.655h-247.622z" />
15
- <glyph unicode="&#xe905;" glyph-name="progress-bar" d="M942.080 155.695v-42.822h-409.6v-68.887h-42.822v68.887h-407.738v42.822h407.738v68.887h42.822v-68.887zM942.080 784.989v-42.822h-586.473v-68.887h-42.822v68.887h-230.865v42.822h230.865v68.887h42.822v-68.887zM822.924 470.342v-42.822h-117.295v-68.887h-42.822v68.887h-580.887v42.822h580.887v68.887h42.822v-68.887z" />
16
- <glyph unicode="&#xe906;" glyph-name="grid-icon" d="M474.764 485.236h-431.942v433.804h431.942v-433.804zM85.644 529.92h346.298v344.436h-346.298v-344.436zM981.178 485.236h-431.942v433.804h431.942v-433.804zM592.058 529.92h346.298v344.436h-346.298v-344.436zM474.764-23.040h-431.942v433.804h431.942v-433.804zM85.644 19.782h346.298v346.298h-346.298v-346.298zM981.178-23.040h-431.942v433.804h431.942v-433.804zM592.058 19.782h346.298v346.298h-346.298v-346.298z" />
17
- <glyph unicode="&#xe907;" glyph-name="person" d="M601.367 431.244c81.92 35.375 139.636 117.295 139.636 214.109 0 128.465-102.4 232.727-229.004 232.727s-229.004-104.262-229.004-232.727c0-94.953 57.716-178.735 139.636-214.109-186.182-40.96-327.68-210.385-327.68-413.324h42.822c0 210.385 167.564 379.811 374.225 379.811s374.225-171.287 374.225-379.811h42.822c0 202.938-139.636 372.364-327.68 413.324zM325.818 645.353c0 104.262 83.782 189.905 186.182 189.905s186.182-85.644 186.182-189.905-83.782-189.905-186.182-189.905-186.182 85.644-186.182 189.905z" />
18
- <glyph unicode="&#xe908;" glyph-name="modal-box" d="M925.324 881.804h-822.924c-11.171 0-22.342-9.309-22.342-20.48v-822.924c0-11.171 9.309-22.342 22.342-22.342h822.924c11.171 0 20.48 9.309 20.48 22.342v822.924c0 11.171-11.171 20.48-20.48 20.48zM124.742 838.982h778.24v-141.498h-778.24v141.498zM902.982 60.742h-778.24v593.92h778.24v-593.92zM856.436 747.753h-98.676c-11.171 0-22.342 9.309-22.342 22.342s9.309 22.342 22.342 22.342h98.676c11.171 0 22.342-9.309 22.342-22.342s-9.309-22.342-22.342-22.342z" />
19
- <glyph unicode="&#xe909;" glyph-name="maps" d="M666.531 863.185v0l-20.48 7.447-20.48-7.447-249.484-80.058-292.305 93.091v-759.622l269.964-83.782 22.342-7.447 22.342 7.447 249.484 80.058 292.305-93.091v757.76l-273.687 85.644zM353.745 75.636l-227.142 74.473v670.255l227.142-74.473v-670.255zM396.567 745.891l227.142 72.611v-668.393l-227.142-74.473v670.255zM895.535 75.636l-227.142 72.611v670.255l227.142-72.611v-670.255zM666.531 863.185v0 0 0zM623.709 863.185v0 0 0z" />
20
- <glyph unicode="&#xe90a;" glyph-name="image-separator" d="M651.636 528.058c-33.513 0-61.44 27.927-61.44 61.44s27.927 61.44 61.44 61.44 61.44-27.927 61.44-61.44-27.927-61.44-61.44-61.44zM651.636 623.011c-18.618 0-35.375-14.895-35.375-35.375 0-18.618 14.895-35.375 35.375-35.375 18.618 0 35.375 14.895 35.375 35.375s-16.756 35.375-35.375 35.375zM997.935 459.171h-214.109v249.484c0 7.447-5.585 13.033-13.033 13.033h-519.447c-7.447 0-13.033-5.585-13.033-13.033v-249.484h-212.247c-5.585 0-11.171-5.585-11.171-11.171s5.585-11.171 11.171-11.171h212.247v-249.484c0-7.447 5.585-13.033 13.033-13.033h519.447c7.447 0 13.033 5.585 13.033 13.033v249.484h212.247c5.585 0 11.171 5.585 11.171 11.171s-3.724 11.171-9.309 11.171zM266.24 202.24v109.847l139.636 139.636 249.484-249.484h-389.12zM757.76 202.24h-68.887c0 0 0 0-1.862 1.862l-126.604 126.604 67.025 67.025 128.465-128.465v-67.025zM757.76 304.64l-119.156 119.156c-3.724 3.724-13.033 3.724-18.618 0l-76.335-76.335-130.327 130.327c-5.585 5.585-13.033 5.585-18.618 0l-130.327-130.327v346.298h493.382v-389.12z" />
21
- <glyph unicode="&#xe90b;" glyph-name="flip-box" d="M105.6 524.8v-83.2l-80 80-19.2-19.2 104-104h17.6l104 104-19.2 19.2-80-80v80c27.2 188.8 190.4 331.2 380.8 331.2 102.4 0 200-40 272-113.6l19.2 19.2c-76.8 78.4-180.8 120-291.2 120-203.2 0-379.2-152-408-353.6zM921.6 452.8l80-80 19.2 19.2-104 104h-19.2l-104-104 19.2-19.2 80 80v-80c-27.2-188.8-190.4-329.6-382.4-329.6-102.4 0-200 40-272 113.6l-19.2-19.2c78.4-78.4 180.8-120 291.2-120 204.8 0 379.2 152 408 353.6l3.2 81.6z" />
22
- <glyph unicode="&#xe90c;" glyph-name="fancy-text" d="M860.16 161.28c-26.065 0-50.269 11.171-65.164 31.651l-9.309 11.171-9.309-11.171c-16.756-20.48-40.96-31.651-65.164-31.651-7.447 0-13.033 5.585-13.033 13.033s5.585 13.033 13.033 13.033c33.513 0 61.44 31.651 61.44 70.749v176.873h-37.236c-7.447 0-13.033 5.585-13.033 13.033s5.585 13.033 13.033 13.033h37.236v176.873c0 39.098-27.927 70.749-61.44 70.749-7.447 0-13.033 5.585-13.033 13.033s5.585 13.033 13.033 13.033c26.065 0 50.269-11.171 65.164-31.651l9.309-11.171 9.309 11.171c16.756 20.48 40.96 31.651 65.164 31.651 7.447 0 13.033-5.585 13.033-13.033s-5.585-13.033-13.033-13.033c-33.513 0-61.44-31.651-61.44-70.749v-176.873h37.236c7.447 0 13.033-5.585 13.033-13.033s-5.585-13.033-13.033-13.033h-37.236v-176.873c0-39.098 27.927-70.749 61.44-70.749 7.447 0 13.033-5.585 13.033-13.033s-7.447-13.033-13.033-13.033zM342.575 647.215c0-7.447-5.585-13.033-13.033-13.033h-137.775c-7.447 0-13.033 5.585-13.033 13.033s7.447 13.033 13.033 13.033h135.913c9.309 0 14.895-5.585 14.895-13.033zM342.575 254.371c0-7.447-5.585-13.033-13.033-13.033h-137.775c-7.447 0-13.033 5.585-13.033 13.033s7.447 13.033 13.033 13.033h135.913c9.309 1.862 14.895-3.724 14.895-13.033zM616.262 254.371c0-7.447-5.585-13.033-13.033-13.033h-137.775c-7.447 0-13.033 5.585-13.033 13.033s7.447 13.033 13.033 13.033h135.913c7.447 1.862 14.895-3.724 14.895-13.033zM1012.829 367.942v-78.196c1.862-26.065-20.48-48.407-46.545-48.407-7.447 0-14.895 5.585-14.895 13.033 0 3.724 1.862 7.447 3.724 11.171 1.862 1.862 5.585 3.724 11.171 3.724 11.171 0 20.48 7.447 20.48 20.48v78.196c0 7.447 7.447 13.033 13.033 13.033 7.447 0 13.033-5.585 13.033-13.033zM1001.658 522.473c-7.447 0-13.033 5.585-13.033 13.033v78.196c0 11.171-9.309 18.618-20.48 20.48-3.724 0-7.447 1.862-11.171 3.724s-3.724 3.724-3.724 7.447c0 7.447 7.447 13.033 13.033 13.033 26.065 0 48.407-20.48 48.407-46.545v-78.196c1.862-5.585-5.585-11.171-13.033-11.171zM616.262 647.215c0-7.447-5.585-13.033-13.033-13.033h-137.775c-7.447 0-13.033 5.585-13.033 13.033s7.447 13.033 13.033 13.033h135.913c7.447 0 14.895-5.585 14.895-13.033zM72.611 647.215c0-3.724-1.862-7.447-3.724-11.171s-7.447-3.724-11.171-3.724c-11.171 0-20.48-7.447-20.48-18.618v-78.196c0-7.447-7.447-13.033-14.895-13.033s-13.033 5.585-13.033 13.033v78.196c0 26.065 22.342 46.545 48.407 46.545 7.447 1.862 14.895-3.724 14.895-13.033zM70.749 254.371c0-5.585-5.585-13.033-13.033-13.033-26.065 0-48.407 22.342-48.407 46.545v78.196c0 7.447 7.447 13.033 13.033 13.033 7.447 0 13.033-5.585 13.033-13.033v-78.196c0-11.171 9.309-18.618 20.48-20.48 3.724 0 7.447-1.862 11.171-3.724 1.862-1.862 3.724-5.585 3.724-9.309z" />
23
- <glyph unicode="&#xe90d;" glyph-name="dual-header" d="M990.487 222.72h-93.091c-11.171 0-18.618 7.447-18.618 16.756s7.447 16.756 18.618 16.756h27.927v173.149h-255.069v-173.149h27.927c11.171 0 18.618-7.447 18.618-16.756s-9.309-16.756-18.618-16.756h-93.091c-11.171 0-18.618 7.447-18.618 16.756s7.447 16.756 18.618 16.756h27.927v383.535h-27.927c-11.171 0-18.618 7.447-18.618 16.756s9.309 16.756 18.618 16.756h93.091c11.171 0 18.618-7.447 18.618-16.756s-7.447-16.756-18.618-16.756h-27.927v-175.011h253.207v175.011h-27.927c-11.171 0-18.618 7.447-18.618 16.756s9.309 16.756 18.618 16.756h93.091c11.171 0 18.618-7.447 18.618-16.756s-9.309-16.756-18.618-16.756h-27.927v-381.673h26.065c11.171 0 18.618-7.447 18.618-16.756 3.724-11.171-3.724-18.618-14.895-18.618zM897.396 245.062c-3.724 0-7.447-1.862-7.447-5.585s3.724-5.585 7.447-5.585h93.091c3.724 0 7.447 1.862 7.447 5.585s-3.724 5.585-7.447 5.585h-39.098v405.876h39.098c3.724 0 7.447 1.862 7.447 5.585s-3.724 5.585-7.447 5.585h-93.091c-3.724 0-7.447-1.862-7.447-5.585s3.724-5.585 7.447-5.585h39.098v-197.353h-277.411v197.353h39.098c3.724 0 7.447 1.862 7.447 5.585s-3.724 5.585-7.447 5.585h-93.091c-3.724 0-7.447-1.862-7.447-5.585s3.724-5.585 7.447-5.585h39.098v-405.876h-39.098c-3.724 0-7.447-1.862-7.447-5.585s3.724-5.585 7.447-5.585h93.091c3.724 0 7.447 1.862 7.447 5.585s-3.724 5.585-7.447 5.585h-39.098v195.491h275.549v-197.353l-37.236 1.862zM437.527 233.891c0-7.447-5.585-11.171-13.033-11.171h-96.815c-7.447 0-13.033 5.585-13.033 11.171 0 7.447 5.585 11.171 13.033 11.171h33.513v189.905h-271.825v-189.905h33.513c7.447 0 13.033-5.585 13.033-11.171 0-7.447-7.447-11.171-13.033-11.171h-94.953c-7.447 0-13.033 5.585-13.033 11.171 0 7.447 5.585 11.171 13.033 11.171h33.513v404.015h-33.513c-7.447 0-13.033 5.585-13.033 11.171s5.585 11.171 13.033 11.171h96.815c7.447 0 13.033-5.585 13.033-11.171s-5.585-11.171-13.033-11.171h-35.375v-189.905h271.825v189.905h-33.513c-7.447 0-13.033 5.585-13.033 11.171s5.585 11.171 13.033 11.171h96.815c7.447 0 13.033-5.585 13.033-11.171s-5.585-11.171-13.033-11.171h-33.513v-404.015h33.513c5.585 0 13.033-3.724 13.033-11.171z" />
24
- <glyph unicode="&#xe90e;" glyph-name="counter" d="M420.771 265.542h-40.96v258.793c0 22.342 0 42.822 1.862 61.44-3.724-3.724-7.447-7.447-11.171-11.171s-24.204-20.48-59.578-48.407l-22.342 27.927 94.953 72.611h35.375c1.862 1.862 1.862-361.193 1.862-361.193zM660.945 265.542h-40.96v258.793c0 22.342 0 42.822 1.862 61.44-3.724-3.724-7.447-7.447-11.171-11.171s-24.204-20.48-59.578-48.407l-22.342 27.927 94.953 72.611h35.375v-361.193zM512 939.52c-279.273 0-504.553-221.556-504.553-491.52s225.28-489.658 504.553-489.658 504.553 219.695 504.553 489.658-225.28 491.52-504.553 491.52zM512 8.611c-251.345 0-456.145 197.353-456.145 439.389s204.8 439.389 456.145 439.389 456.145-197.353 456.145-439.389-204.8-439.389-456.145-439.389z" />
25
- <glyph unicode="&#xe90f;" glyph-name="countdown" d="M917.876 861.324h-223.418v35.375c0 11.171-9.309 20.48-22.342 20.48s-20.48-9.309-20.48-20.48v-35.375h-282.996v35.375c0 11.171-9.309 20.48-22.342 20.48-11.171 0-22.342-9.309-22.342-20.48v-35.375h-223.418c-9.309 0-18.618-9.309-18.618-20.48v-837.818c0-11.171 9.309-22.342 22.342-22.342h815.476c11.171 0 22.342 9.309 22.342 22.342v837.818c-1.862 11.171-11.171 20.48-24.204 20.48zM124.742 818.502h201.076v-44.684c0-11.171 9.309-22.342 22.342-22.342 11.171 0 22.342 9.309 22.342 22.342v44.684h284.858v-44.684c0-11.171 9.309-22.342 22.342-22.342s22.342 9.309 22.342 22.342v44.684h201.076v-148.945h-776.378v148.945zM897.396 25.367h-772.655v601.367h772.655v-601.367zM385.396 140.8h-40.96v262.516c0 22.342 0 42.822 1.862 61.44-3.724-3.724-7.447-7.447-11.171-11.171-5.585-3.724-24.204-20.48-61.44-48.407l-22.342 27.927 96.815 74.473h37.236v-366.778zM571.578 140.8l152.669 329.542h-201.076v39.098h245.76v-33.513l-150.807-335.127h-46.545z" />
26
- <glyph unicode="&#xe910;" glyph-name="carousel" d="M687.011 189.207c-26.065 0-46.545-20.48-46.545-46.545s20.48-46.545 46.545-46.545 46.545 20.48 46.545 46.545-20.48 46.545-46.545 46.545zM687.011 114.735c-14.895 0-27.927 13.033-27.927 27.927s13.033 27.927 27.927 27.927c14.895 0 27.927-13.033 27.927-27.927s-13.033-27.927-27.927-27.927zM336.989 189.207c-26.065 0-46.545-20.48-46.545-46.545s20.48-46.545 46.545-46.545c26.065 0 46.545 20.48 46.545 46.545s-20.48 46.545-46.545 46.545zM336.989 114.735c-14.895 0-27.927 13.033-27.927 27.927s13.033 27.927 27.927 27.927c14.895 0 27.927-13.033 27.927-27.927 1.862-14.895-11.171-27.927-27.927-27.927zM512 189.207c-26.065 0-46.545-20.48-46.545-46.545s20.48-46.545 46.545-46.545c27.927 0 46.545 20.48 46.545 46.545s-20.48 46.545-46.545 46.545zM512 114.735c-14.895 0-27.927 13.033-27.927 27.927s13.033 27.927 27.927 27.927c16.756 0 27.927-13.033 27.927-27.927s-13.033-27.927-27.927-27.927zM761.484 278.575h-497.105c-7.447 0-13.033 5.585-13.033 13.033v497.105c0 7.447 5.585 13.033 13.033 13.033h497.105c7.447 0 13.033-5.585 13.033-13.033v-497.105c0-7.447-7.447-13.033-13.033-13.033zM277.411 304.64h471.040v471.040h-471.040v-471.040zM152.669 801.745h-135.913v-26.065h122.88v-471.040h-122.88v-26.065h135.913c7.447 0 13.033 5.585 13.033 13.033v497.105c0 7.447-5.585 13.033-13.033 13.033zM858.298 788.713v-497.105c0-7.447 5.585-13.033 13.033-13.033h135.913v26.065h-122.88v471.040h122.88v26.065h-135.913c-7.447 0-13.033-5.585-13.033-13.033z" />
27
- <glyph unicode="&#xe911;" glyph-name="blog" d="M837.818 19.782h-733.556c-11.171 0-22.342 9.309-22.342 22.342v729.833c0 11.171 9.309 22.342 22.342 22.342h344.436v-42.822h-323.956v-688.873h688.873v322.095h42.822v-346.298c0-9.309-9.309-18.618-18.618-18.618zM558.545 312.087h-161.978c-11.171 0-22.342 9.309-22.342 22.342v160.116c0 5.585 1.862 11.171 5.585 14.895l364.916 361.193c7.447 7.447 22.342 7.447 29.789 0l161.978-161.978c7.447-9.309 7.447-22.342 0-29.789l-363.055-361.193c-3.724-3.724-9.309-5.585-14.895-5.585zM417.047 354.909h130.327l340.713 340.713-130.327 132.189-340.713-342.575v-130.327z" />
28
- <glyph unicode="&#xe912;" glyph-name="banner" d="M942.080 900.422h-858.298c-11.171 0-22.342-9.309-22.342-20.48v-860.16c0-11.171 9.309-22.342 22.342-22.342h858.298c11.171 0 22.342 9.309 22.342 22.342v860.16c0 11.171-9.309 20.48-22.342 20.48zM104.262 857.6h817.338v-644.189l-197.353 197.353c-7.447 7.447-22.342 7.447-29.789 0l-128.465-126.604-215.971 214.109c-9.309 9.309-22.342 9.309-29.789 0l-215.971-214.109v573.44zM104.262 42.124v182.458l230.865 230.865 413.324-413.324c0-1.862-644.189-1.862-644.189 0zM921.6 42.124h-111.709c0 0 0 1.862-1.862 1.862l-212.247 208.524 111.709 111.709 212.247-212.247 1.862-109.847zM744.727 582.051c-55.855 0-100.538 44.684-100.538 100.538s44.684 100.538 100.538 100.538 100.538-44.684 100.538-100.538-44.684-100.538-100.538-100.538zM744.727 740.305c-31.651 0-57.716-26.065-57.716-57.716s26.065-57.716 57.716-57.716 57.716 26.065 57.716 57.716-26.065 57.716-57.716 57.716z" />
29
- <glyph unicode="&#xe913;" glyph-name="image-button" d="M1010.967 207.825l-303.476 180.596c-3.724 1.862-7.447 1.862-13.033 0-3.724-3.724-5.585-7.447-5.585-11.171l74.473-348.16c0-5.585 5.585-7.447 7.447-7.447 5.585-1.862 9.309 1.862 11.171 5.585l52.131 74.473c0 1.862 1.862 1.862 3.724 1.862s1.862 0 3.724-1.862l63.302-89.367c1.862-3.724 7.447-5.585 9.309-5.585s5.585 0 7.447 1.862l57.716 40.96c3.724 1.862 3.724 5.585 5.585 7.447 0 3.724 0 7.447-1.862 7.447l-63.302 89.367c0 0 0 1.862 0 3.724s1.862 1.862 1.862 1.862l89.367 24.204c5.585 1.862 7.447 5.585 7.447 9.309s-3.724 13.033-7.447 14.895zM867.607 178.036c-1.862-3.724 0-7.447 1.862-11.171l70.749-96.815c1.862-1.862 1.862-3.724 0-5.585l-18.618-13.033h-1.862c-1.862 0-1.862 0-3.724 1.862l-70.749 96.815c-1.862 3.724-7.447 5.585-9.309 5.585v0c-3.724 0-7.447-1.862-9.309-5.585l-39.098-57.716c-1.862-1.862-3.724-1.862-3.724-1.862s-3.724 0-3.724 3.724l-48.407 232.727c0 1.862 1.862 3.724 1.862 3.724s1.862 1.862 3.724 0l204.8-122.88c1.862-1.862 1.862-3.724 1.862-3.724s0-1.862-3.724-3.724l-67.025-18.618c0 0-3.724-1.862-5.585-3.724zM275.549 755.2c-52.131 0-94.953-42.822-94.953-94.953s40.96-94.953 94.953-94.953c52.131 0 94.953 42.822 94.953 94.953 1.862 53.993-42.822 94.953-94.953 94.953zM275.549 602.531c-31.651 0-57.716 24.204-57.716 57.716 0 31.651 24.204 57.716 57.716 57.716s57.716-24.204 57.716-57.716c0-29.789-26.065-57.716-57.716-57.716zM891.811 440.553c-7.447-7.447-18.618-7.447-26.065-1.862l-186.182 171.287-150.807-165.702 27.927-27.927c3.724-3.724 5.585-7.447 5.585-13.033s-1.862-9.309-5.585-13.033c-7.447-7.447-20.48-7.447-26.065 0l-121.018 119.156-271.825-236.451c-3.724-3.724-7.447-5.585-13.033-5.585s-9.309 1.862-13.033 7.447-7.447 20.48 1.862 26.065l284.858 251.345c7.447 7.447 18.618 7.447 24.204 0l76.335-78.196 161.978 176.873c3.724 3.724 7.447 7.447 13.033 7.447s9.309-1.862 13.033-5.585l201.076-184.32c9.309-9.309 9.309-20.48 3.724-27.927zM979.316 870.633v-534.342c0-9.309-7.447-18.618-18.618-18.618s-18.618 7.447-18.618 18.618v515.724h-897.396v-698.182h599.505c9.309 0 18.618-7.447 18.618-18.618s-7.447-18.618-18.618-18.618h-618.124c-9.309 0-18.618 7.447-18.618 18.618v735.418c0 9.309 7.447 18.618 18.618 18.618h936.495c9.309 0 16.756-7.447 16.756-18.618z" />
30
- <glyph unicode="&#xe914;" glyph-name="contact-form" d="M1012.829 526.196c0 1.862-1.862 3.724-1.862 5.585s-1.862 3.724-3.724 3.724c-1.862 1.862-3.724 3.724-5.585 3.724v0l-161.978 83.782v85.644c0 1.862 0 3.724 0 3.724 0 3.724-3.724 9.309-5.585 11.171l-202.938 202.938c0 0 0 1.862-1.862 1.862-1.862 1.862-1.862 1.862-3.724 1.862-3.724 1.862-5.585 1.862-9.309 1.862h-411.462c-11.171 0-22.342-9.309-22.342-22.342v-288.582l-161.978-85.644-1.862-1.862c0 0 0 0-1.862-1.862s-1.862-3.724-3.724-3.724c0-1.862-1.862-3.724-1.862-3.724v0-1.862c0-1.862 0-3.724 0-3.724v-536.204c0-11.171 9.309-20.48 20.48-20.48h960.698c11.171 0 20.48 9.309 20.48 20.48v538.065c0 1.862 0 3.724 0 5.585zM839.68 574.604l104.262-53.993-104.262-44.684v98.676zM634.88 863.185l134.051-134.051h-134.051v134.051zM227.142 892.975h368.64v-184.32c0-11.171 9.309-22.342 22.342-22.342h182.458v-229.004l-286.72-122.88-284.858 124.742v433.804zM184.32 576.465v-100.538l-104.262 46.545 104.262 53.993zM971.869 6.749h-919.738v482.211l450.56-197.353c5.585-1.862 11.171-1.862 16.756 0l454.284 197.353v-482.211z" />
31
- <glyph unicode="&#xe915;" glyph-name="button" d="M919.738 820.364h-813.615c-52.131 0-96.815-42.822-96.815-96.815v-284.858c0-52.131 42.822-96.815 96.815-96.815h405.876v27.927h-405.876c-37.236 0-68.887 29.789-68.887 68.887v284.858c0 37.236 29.789 68.887 68.887 68.887h811.753c37.236 0 68.887-29.789 68.887-68.887v-284.858c0-37.236-29.789-68.887-68.887-68.887h-52.131l31.651-27.927h20.48c52.131 0 96.815 42.822 96.815 96.815v284.858c0 53.993-42.822 96.815-94.953 96.815zM884.364 274.851c9.309 0 13.033 11.171 5.585 16.756l-55.855 50.269-31.651 27.927-243.898 227.142c-5.585 5.585-16.756 1.862-16.756-7.447v-452.422c0-9.309 9.309-13.033 16.756-7.447l83.782 80.058c5.585 3.724 13.033 3.724 14.895-3.724l55.855-126.604c3.724-5.585 9.309-7.447 13.033-5.585l83.782 37.236c5.585 3.724 7.447 9.309 5.585 13.033l-55.855 126.604c-3.724 5.585 1.862 13.033 9.309 14.895l115.433 9.309zM768.931 127.767l-26.065-9.309c-5.585-3.724-11.171 0-13.033 5.585l-59.578 137.775c-3.724 5.585-11.171 9.309-14.895 3.724l-63.302-61.44c-5.585-5.585-16.756-1.862-16.756 7.447v305.338c0 9.309 9.309 13.033 16.756 7.447l169.425-154.531 31.651-27.927 26.065-24.204c7.447-5.585 3.724-16.756-5.585-16.756l-89.367-5.585c-7.447 0-11.171-7.447-9.309-14.895l61.44-139.636c1.862-3.724-1.862-9.309-7.447-13.033z" />
32
  </font></defs></svg>
3
  <svg xmlns="http://www.w3.org/2000/svg">
4
  <metadata>Generated by IcoMoon</metadata>
5
  <defs>
6
+ <font id="icomoon" horiz-adv-x="1024">
7
  <font-face units-per-em="1024" ascent="960" descent="-64" />
8
  <missing-glyph horiz-adv-x="1024" />
9
  <glyph unicode="&#x20;" horiz-adv-x="512" d="" />
10
+ <glyph unicode="&#xe900;" glyph-name="pa-video-box" d="M703.767 457.309l-284.858 210.385c-5.585 3.724-14.895 0-14.895-7.447v-422.633c0-7.447 9.309-11.171 14.895-7.447l286.72 210.385c3.724 5.585 3.724 13.033-1.862 16.756zM446.836 306.502v282.996l191.767-141.498-191.767-141.498zM512 930.211c-273.687 0-495.244-217.833-495.244-482.211s223.418-482.211 495.244-482.211c273.687 0 495.244 215.971 495.244 482.211s-221.556 482.211-495.244 482.211zM512 19.782c-247.622 0-446.836 193.629-446.836 430.080s199.215 430.080 446.836 430.080 446.836-193.629 446.836-430.080-201.076-430.080-446.836-430.080z" />
11
+ <glyph unicode="&#xe901;" glyph-name="pa-vertical-scroll" d="M512 898.56c-65.164 0-121.018-53.993-121.018-121.018s53.993-121.018 121.018-121.018c67.025 0 121.018 53.993 121.018 121.018 1.862 67.025-52.131 121.018-121.018 121.018zM512 690.036c-48.407 0-87.505 39.098-87.505 87.505s39.098 87.505 87.505 87.505 87.505-39.098 87.505-87.505c0-48.407-39.098-87.505-87.505-87.505zM512 243.2c-65.164 0-121.018-55.855-121.018-121.018 0-67.025 53.993-121.018 121.018-121.018s121.018 53.993 121.018 121.018c1.862 65.164-52.131 121.018-121.018 121.018zM512 34.676c-48.407 0-87.505 39.098-87.505 87.505s39.098 87.505 87.505 87.505 87.505-39.098 87.505-87.505-39.098-87.505-87.505-87.505zM512 570.88c-67.025 0-121.018-53.993-121.018-121.018s55.855-122.88 121.018-122.88c67.025 0 121.018 53.993 121.018 121.018 1.862 68.887-52.131 122.88-121.018 122.88zM512 362.356c-48.407 0-87.505 39.098-87.505 87.505s39.098 87.505 87.505 87.505 87.505-39.098 87.505-87.505-39.098-87.505-87.505-87.505z" />
12
+ <glyph unicode="&#xe902;" glyph-name="pa-title" d="M822.924 898.56h-619.985c-13.033 0-22.342-9.309-22.342-22.342v-102.4c0-13.033 9.309-22.342 22.342-22.342s22.342 7.447 22.342 20.48v80.058h264.378v-809.891h-55.855c-13.033 0-22.342-9.309-22.342-22.342s9.309-22.342 22.342-22.342h156.393c13.033 0 22.342 9.309 22.342 22.342s-9.309 22.342-22.342 22.342h-55.855v809.891h264.378v-80.058c0-13.033 9.309-22.342 22.342-22.342s22.342 9.309 22.342 22.342v104.262c1.862 11.171-9.309 22.342-20.48 22.342v0z" />
13
+ <glyph unicode="&#xe903;" glyph-name="pa-testimonials" d="M318.371 615.564h383.535v-42.822h-383.535v42.822zM318.371 474.065h383.535v-42.822h-383.535v42.822zM182.458 86.807l53.993 173.149c-96.815 53.993-154.531 152.669-154.531 262.516 0 167.564 137.775 301.615 305.338 301.615h247.622c167.564 1.862 305.338-134.051 305.338-301.615s-137.775-301.615-305.338-301.615h-160.116l-275.549-148.945c-9.309-5.585-20.48 3.724-16.756 14.895zM389.12 783.127c-145.222 0-262.516-117.295-262.516-260.655 0-100.538 55.855-188.044 147.084-232.727l16.756-7.447-42.822-137.775 219.695 119.156h169.425c145.222 0 262.516 117.295 262.516 258.793s-117.295 260.655-262.516 260.655h-247.622z" />
14
+ <glyph unicode="&#xe904;" glyph-name="pa-progress-bar" d="M942.080 155.695v-42.822h-409.6v-68.887h-42.822v68.887h-407.738v42.822h407.738v68.887h42.822v-68.887zM942.080 784.989v-42.822h-586.473v-68.887h-42.822v68.887h-230.865v42.822h230.865v68.887h42.822v-68.887zM822.924 470.342v-42.822h-117.295v-68.887h-42.822v68.887h-580.887v42.822h580.887v68.887h42.822v-68.887z" />
15
+ <glyph unicode="&#xe905;" glyph-name="pa-pricing-table" d="M640.465 371.665c0-50.269-40.96-93.091-93.091-93.091h-11.171c-1.862 0-3.724-1.862-3.724-3.724v-48.407c0-11.171-9.309-18.618-18.618-18.618-11.171 0-18.618 9.309-18.618 18.618v46.545c0 1.862-1.862 3.724-3.724 3.724h-67.025c-11.171 0-18.618 9.309-18.618 18.618s9.309 18.618 18.618 18.618h122.88c31.651 0 55.855 24.204 55.855 55.855s-24.204 55.855-55.855 55.855h-68.887c-52.131 0-93.091 40.96-93.091 93.091s40.96 93.091 93.091 93.091h11.171c1.862 0 3.724 1.862 3.724 3.724v48.407c0 9.309 9.309 18.618 18.618 18.618s18.618-9.309 18.618-18.618v-48.407c0-1.862 1.862-3.724 3.724-3.724h63.302c9.309 0 18.618-9.309 18.618-18.618 0-11.171-9.309-18.618-18.618-18.618h-121.018c-31.651 0-55.855-26.065-55.855-55.855 0-31.651 26.065-55.855 55.855-55.855h68.887c52.131 1.862 94.953-39.098 94.953-91.229zM841.542 930.211h-657.222c-22.342 0-39.098-18.618-39.098-39.098v-888.087c0-22.342 18.618-39.098 39.098-39.098h657.222c22.342 0 39.098 18.618 39.098 39.098v888.087c-1.862 20.48-18.618 39.098-39.098 39.098zM834.095 6.749h-644.189v878.778h646.051c0 0 0-878.778-1.862-878.778z" />
16
+ <glyph unicode="&#xe906;" glyph-name="pa-persons" d="M601.367 431.244c81.92 35.375 139.636 117.295 139.636 214.109 0 128.465-102.4 232.727-229.004 232.727s-229.004-104.262-229.004-232.727c0-94.953 57.716-178.735 139.636-214.109-186.182-40.96-327.68-210.385-327.68-413.324h42.822c0 210.385 167.564 379.811 374.225 379.811s374.225-171.287 374.225-379.811h42.822c0 202.938-139.636 372.364-327.68 413.324zM325.818 645.353c0 104.262 83.782 189.905 186.182 189.905s186.182-85.644 186.182-189.905-83.782-189.905-186.182-189.905-186.182 85.644-186.182 189.905z" />
17
+ <glyph unicode="&#xe907;" glyph-name="pa-modal-box" d="M925.324 881.804h-822.924c-11.171 0-22.342-9.309-22.342-20.48v-822.924c0-11.171 9.309-22.342 22.342-22.342h822.924c11.171 0 20.48 9.309 20.48 22.342v822.924c0 11.171-11.171 20.48-20.48 20.48zM124.742 838.982h778.24v-141.498h-778.24v141.498zM902.982 60.742h-778.24v593.92h778.24v-593.92zM856.436 747.753h-98.676c-11.171 0-22.342 9.309-22.342 22.342s9.309 22.342 22.342 22.342h98.676c11.171 0 22.342-9.309 22.342-22.342s-9.309-22.342-22.342-22.342z" />
18
+ <glyph unicode="&#xe908;" glyph-name="pa-image-separator" d="M651.636 528.058c-33.513 0-61.44 27.927-61.44 61.44s27.927 61.44 61.44 61.44 61.44-27.927 61.44-61.44-27.927-61.44-61.44-61.44zM651.636 623.011c-18.618 0-35.375-14.895-35.375-35.375 0-18.618 14.895-35.375 35.375-35.375 18.618 0 35.375 14.895 35.375 35.375s-16.756 35.375-35.375 35.375zM997.935 459.171h-214.109v249.484c0 7.447-5.585 13.033-13.033 13.033h-519.447c-7.447 0-13.033-5.585-13.033-13.033v-249.484h-212.247c-5.585 0-11.171-5.585-11.171-11.171s5.585-11.171 11.171-11.171h212.247v-249.484c0-7.447 5.585-13.033 13.033-13.033h519.447c7.447 0 13.033 5.585 13.033 13.033v249.484h212.247c5.585 0 11.171 5.585 11.171 11.171s-3.724 11.171-9.309 11.171zM266.24 202.24v109.847l139.636 139.636 249.484-249.484h-389.12zM757.76 202.24h-68.887c0 0 0 0-1.862 1.862l-126.604 126.604 67.025 67.025 128.465-128.465v-67.025zM757.76 304.64l-119.156 119.156c-3.724 3.724-13.033 3.724-18.618 0l-76.335-76.335-130.327 130.327c-5.585 5.585-13.033 5.585-18.618 0l-130.327-130.327v346.298h493.382v-389.12z" />
19
+ <glyph unicode="&#xe909;" glyph-name="pa-image-button" d="M1010.967 207.825l-303.476 180.596c-3.724 1.862-7.447 1.862-13.033 0-3.724-3.724-5.585-7.447-5.585-11.171l74.473-348.16c0-5.585 5.585-7.447 7.447-7.447 5.585-1.862 9.309 1.862 11.171 5.585l52.131 74.473c0 1.862 1.862 1.862 3.724 1.862s1.862 0 3.724-1.862l63.302-89.367c1.862-3.724 7.447-5.585 9.309-5.585s5.585 0 7.447 1.862l57.716 40.96c3.724 1.862 3.724 5.585 5.585 7.447 0 3.724 0 7.447-1.862 7.447l-63.302 89.367c0 0 0 1.862 0 3.724s1.862 1.862 1.862 1.862l89.367 24.204c5.585 1.862 7.447 5.585 7.447 9.309s-3.724 13.033-7.447 14.895zM867.607 178.036c-1.862-3.724 0-7.447 1.862-11.171l70.749-96.815c1.862-1.862 1.862-3.724 0-5.585l-18.618-13.033h-1.862c-1.862 0-1.862 0-3.724 1.862l-70.749 96.815c-1.862 3.724-7.447 5.585-9.309 5.585v0c-3.724 0-7.447-1.862-9.309-5.585l-39.098-57.716c-1.862-1.862-3.724-1.862-3.724-1.862s-3.724 0-3.724 3.724l-48.407 232.727c0 1.862 1.862 3.724 1.862 3.724s1.862 1.862 3.724 0l204.8-122.88c1.862-1.862 1.862-3.724 1.862-3.724s0-1.862-3.724-3.724l-67.025-18.618c0 0-3.724-1.862-5.585-3.724zM275.549 755.2c-52.131 0-94.953-42.822-94.953-94.953s40.96-94.953 94.953-94.953c52.131 0 94.953 42.822 94.953 94.953 1.862 53.993-42.822 94.953-94.953 94.953zM275.549 602.531c-31.651 0-57.716 24.204-57.716 57.716 0 31.651 24.204 57.716 57.716 57.716s57.716-24.204 57.716-57.716c0-29.789-26.065-57.716-57.716-57.716zM891.811 440.553c-7.447-7.447-18.618-7.447-26.065-1.862l-186.182 171.287-150.807-165.702 27.927-27.927c3.724-3.724 5.585-7.447 5.585-13.033s-1.862-9.309-5.585-13.033c-7.447-7.447-20.48-7.447-26.065 0l-121.018 119.156-271.825-236.451c-3.724-3.724-7.447-5.585-13.033-5.585s-9.309 1.862-13.033 7.447-7.447 20.48 1.862 26.065l284.858 251.345c7.447 7.447 18.618 7.447 24.204 0l76.335-78.196 161.978 176.873c3.724 3.724 7.447 7.447 13.033 7.447s9.309-1.862 13.033-5.585l201.076-184.32c9.309-9.309 9.309-20.48 3.724-27.927zM979.316 870.633v-534.342c0-9.309-7.447-18.618-18.618-18.618s-18.618 7.447-18.618 18.618v515.724h-897.396v-698.182h599.505c9.309 0 18.618-7.447 18.618-18.618s-7.447-18.618-18.618-18.618h-618.124c-9.309 0-18.618 7.447-18.618 18.618v735.418c0 9.309 7.447 18.618 18.618 18.618h936.495c9.309 0 16.756-7.447 16.756-18.618z" />
20
+ <glyph unicode="&#xe90a;" glyph-name="pa-grid" d="M474.764 485.236h-431.942v433.804h431.942v-433.804zM85.644 529.92h346.298v344.436h-346.298v-344.436zM981.178 485.236h-431.942v433.804h431.942v-433.804zM592.058 529.92h346.298v344.436h-346.298v-344.436zM474.764-23.040h-431.942v433.804h431.942v-433.804zM85.644 19.782h346.298v346.298h-346.298v-346.298zM981.178-23.040h-431.942v433.804h431.942v-433.804zM592.058 19.782h346.298v346.298h-346.298v-346.298z" />
21
+ <glyph unicode="&#xe90b;" glyph-name="pa-google-maps" d="M666.531 863.185v0l-20.48 7.447-20.48-7.447-249.484-80.058-292.305 93.091v-759.622l269.964-83.782 22.342-7.447 22.342 7.447 249.484 80.058 292.305-93.091v757.76l-273.687 85.644zM353.745 75.636l-227.142 74.473v670.255l227.142-74.473v-670.255zM396.567 745.891l227.142 72.611v-668.393l-227.142-74.473v670.255zM895.535 75.636l-227.142 72.611v670.255l227.142-72.611v-670.255zM666.531 863.185v0 0 0zM623.709 863.185v0 0 0z" />
22
+ <glyph unicode="&#xe90c;" glyph-name="pa-fancy-text" d="M860.16 161.28c-26.065 0-50.269 11.171-65.164 31.651l-9.309 11.171-9.309-11.171c-16.756-20.48-40.96-31.651-65.164-31.651-7.447 0-13.033 5.585-13.033 13.033s5.585 13.033 13.033 13.033c33.513 0 61.44 31.651 61.44 70.749v176.873h-37.236c-7.447 0-13.033 5.585-13.033 13.033s5.585 13.033 13.033 13.033h37.236v176.873c0 39.098-27.927 70.749-61.44 70.749-7.447 0-13.033 5.585-13.033 13.033s5.585 13.033 13.033 13.033c26.065 0 50.269-11.171 65.164-31.651l9.309-11.171 9.309 11.171c16.756 20.48 40.96 31.651 65.164 31.651 7.447 0 13.033-5.585 13.033-13.033s-5.585-13.033-13.033-13.033c-33.513 0-61.44-31.651-61.44-70.749v-176.873h37.236c7.447 0 13.033-5.585 13.033-13.033s-5.585-13.033-13.033-13.033h-37.236v-176.873c0-39.098 27.927-70.749 61.44-70.749 7.447 0 13.033-5.585 13.033-13.033s-7.447-13.033-13.033-13.033zM342.575 647.215c0-7.447-5.585-13.033-13.033-13.033h-137.775c-7.447 0-13.033 5.585-13.033 13.033s7.447 13.033 13.033 13.033h135.913c9.309 0 14.895-5.585 14.895-13.033zM342.575 254.371c0-7.447-5.585-13.033-13.033-13.033h-137.775c-7.447 0-13.033 5.585-13.033 13.033s7.447 13.033 13.033 13.033h135.913c9.309 1.862 14.895-3.724 14.895-13.033zM616.262 254.371c0-7.447-5.585-13.033-13.033-13.033h-137.775c-7.447 0-13.033 5.585-13.033 13.033s7.447 13.033 13.033 13.033h135.913c7.447 1.862 14.895-3.724 14.895-13.033zM1012.829 367.942v-78.196c1.862-26.065-20.48-48.407-46.545-48.407-7.447 0-14.895 5.585-14.895 13.033 0 3.724 1.862 7.447 3.724 11.171 1.862 1.862 5.585 3.724 11.171 3.724 11.171 0 20.48 7.447 20.48 20.48v78.196c0 7.447 7.447 13.033 13.033 13.033 7.447 0 13.033-5.585 13.033-13.033zM1001.658 522.473c-7.447 0-13.033 5.585-13.033 13.033v78.196c0 11.171-9.309 18.618-20.48 20.48-3.724 0-7.447 1.862-11.171 3.724s-3.724 3.724-3.724 7.447c0 7.447 7.447 13.033 13.033 13.033 26.065 0 48.407-20.48 48.407-46.545v-78.196c1.862-5.585-5.585-11.171-13.033-11.171zM616.262 647.215c0-7.447-5.585-13.033-13.033-13.033h-137.775c-7.447 0-13.033 5.585-13.033 13.033s7.447 13.033 13.033 13.033h135.913c7.447 0 14.895-5.585 14.895-13.033zM72.611 647.215c0-3.724-1.862-7.447-3.724-11.171s-7.447-3.724-11.171-3.724c-11.171 0-20.48-7.447-20.48-18.618v-78.196c0-7.447-7.447-13.033-14.895-13.033s-13.033 5.585-13.033 13.033v78.196c0 26.065 22.342 46.545 48.407 46.545 7.447 1.862 14.895-3.724 14.895-13.033zM70.749 254.371c0-5.585-5.585-13.033-13.033-13.033-26.065 0-48.407 22.342-48.407 46.545v78.196c0 7.447 7.447 13.033 13.033 13.033 7.447 0 13.033-5.585 13.033-13.033v-78.196c0-11.171 9.309-18.618 20.48-20.48 3.724 0 7.447-1.862 11.171-3.724 1.862-1.862 3.724-5.585 3.724-9.309z" />
23
+ <glyph unicode="&#xe90d;" glyph-name="pa-dual-heading" d="M990.487 222.72h-93.091c-11.171 0-18.618 7.447-18.618 16.756s7.447 16.756 18.618 16.756h27.927v173.149h-255.069v-173.149h27.927c11.171 0 18.618-7.447 18.618-16.756s-9.309-16.756-18.618-16.756h-93.091c-11.171 0-18.618 7.447-18.618 16.756s7.447 16.756 18.618 16.756h27.927v383.535h-27.927c-11.171 0-18.618 7.447-18.618 16.756s9.309 16.756 18.618 16.756h93.091c11.171 0 18.618-7.447 18.618-16.756s-7.447-16.756-18.618-16.756h-27.927v-175.011h253.207v175.011h-27.927c-11.171 0-18.618 7.447-18.618 16.756s9.309 16.756 18.618 16.756h93.091c11.171 0 18.618-7.447 18.618-16.756s-9.309-16.756-18.618-16.756h-27.927v-381.673h26.065c11.171 0 18.618-7.447 18.618-16.756 3.724-11.171-3.724-18.618-14.895-18.618zM897.396 245.062c-3.724 0-7.447-1.862-7.447-5.585s3.724-5.585 7.447-5.585h93.091c3.724 0 7.447 1.862 7.447 5.585s-3.724 5.585-7.447 5.585h-39.098v405.876h39.098c3.724 0 7.447 1.862 7.447 5.585s-3.724 5.585-7.447 5.585h-93.091c-3.724 0-7.447-1.862-7.447-5.585s3.724-5.585 7.447-5.585h39.098v-197.353h-277.411v197.353h39.098c3.724 0 7.447 1.862 7.447 5.585s-3.724 5.585-7.447 5.585h-93.091c-3.724 0-7.447-1.862-7.447-5.585s3.724-5.585 7.447-5.585h39.098v-405.876h-39.098c-3.724 0-7.447-1.862-7.447-5.585s3.724-5.585 7.447-5.585h93.091c3.724 0 7.447 1.862 7.447 5.585s-3.724 5.585-7.447 5.585h-39.098v195.491h275.549v-197.353l-37.236 1.862zM437.527 233.891c0-7.447-5.585-11.171-13.033-11.171h-96.815c-7.447 0-13.033 5.585-13.033 11.171 0 7.447 5.585 11.171 13.033 11.171h33.513v189.905h-271.825v-189.905h33.513c7.447 0 13.033-5.585 13.033-11.171 0-7.447-7.447-11.171-13.033-11.171h-94.953c-7.447 0-13.033 5.585-13.033 11.171 0 7.447 5.585 11.171 13.033 11.171h33.513v404.015h-33.513c-7.447 0-13.033 5.585-13.033 11.171s5.585 11.171 13.033 11.171h96.815c7.447 0 13.033-5.585 13.033-11.171s-5.585-11.171-13.033-11.171h-35.375v-189.905h271.825v189.905h-33.513c-7.447 0-13.033 5.585-13.033 11.171s5.585 11.171 13.033 11.171h96.815c7.447 0 13.033-5.585 13.033-11.171s-5.585-11.171-13.033-11.171h-33.513v-404.015h33.513c5.585 0 13.033-3.724 13.033-11.171z" />
24
+ <glyph unicode="&#xe90e;" glyph-name="pa-counter" d="M420.771 265.542h-40.96v258.793c0 22.342 0 42.822 1.862 61.44-3.724-3.724-7.447-7.447-11.171-11.171s-24.204-20.48-59.578-48.407l-22.342 27.927 94.953 72.611h35.375c1.862 1.862 1.862-361.193 1.862-361.193zM660.945 265.542h-40.96v258.793c0 22.342 0 42.822 1.862 61.44-3.724-3.724-7.447-7.447-11.171-11.171s-24.204-20.48-59.578-48.407l-22.342 27.927 94.953 72.611h35.375v-361.193zM512 939.52c-279.273 0-504.553-221.556-504.553-491.52s225.28-489.658 504.553-489.658 504.553 219.695 504.553 489.658-225.28 491.52-504.553 491.52zM512 8.611c-251.345 0-456.145 197.353-456.145 439.389s204.8 439.389 456.145 439.389 456.145-197.353 456.145-439.389-204.8-439.389-456.145-439.389z" />
25
+ <glyph unicode="&#xe90f;" glyph-name="pa-countdown" d="M917.876 861.324h-223.418v35.375c0 11.171-9.309 20.48-22.342 20.48s-20.48-9.309-20.48-20.48v-35.375h-282.996v35.375c0 11.171-9.309 20.48-22.342 20.48-11.171 0-22.342-9.309-22.342-20.48v-35.375h-223.418c-9.309 0-18.618-9.309-18.618-20.48v-837.818c0-11.171 9.309-22.342 22.342-22.342h815.476c11.171 0 22.342 9.309 22.342 22.342v837.818c-1.862 11.171-11.171 20.48-24.204 20.48zM124.742 818.502h201.076v-44.684c0-11.171 9.309-22.342 22.342-22.342 11.171 0 22.342 9.309 22.342 22.342v44.684h284.858v-44.684c0-11.171 9.309-22.342 22.342-22.342s22.342 9.309 22.342 22.342v44.684h201.076v-148.945h-776.378v148.945zM897.396 25.367h-772.655v601.367h772.655v-601.367zM385.396 140.8h-40.96v262.516c0 22.342 0 42.822 1.862 61.44-3.724-3.724-7.447-7.447-11.171-11.171-5.585-3.724-24.204-20.48-61.44-48.407l-22.342 27.927 96.815 74.473h37.236v-366.778zM571.578 140.8l152.669 329.542h-201.076v39.098h245.76v-33.513l-150.807-335.127h-46.545z" />
26
+ <glyph unicode="&#xe910;" glyph-name="pa-contact-form" d="M1012.829 526.196c0 1.862-1.862 3.724-1.862 5.585s-1.862 3.724-3.724 3.724c-1.862 1.862-3.724 3.724-5.585 3.724v0l-161.978 83.782v85.644c0 1.862 0 3.724 0 3.724 0 3.724-3.724 9.309-5.585 11.171l-202.938 202.938c0 0 0 1.862-1.862 1.862-1.862 1.862-1.862 1.862-3.724 1.862-3.724 1.862-5.585 1.862-9.309 1.862h-411.462c-11.171 0-22.342-9.309-22.342-22.342v-288.582l-161.978-85.644-1.862-1.862c0 0 0 0-1.862-1.862s-1.862-3.724-3.724-3.724c0-1.862-1.862-3.724-1.862-3.724v0-1.862c0-1.862 0-3.724 0-3.724v-536.204c0-11.171 9.309-20.48 20.48-20.48h960.698c11.171 0 20.48 9.309 20.48 20.48v538.065c0 1.862 0 3.724 0 5.585zM839.68 574.604l104.262-53.993-104.262-44.684v98.676zM634.88 863.185l134.051-134.051h-134.051v134.051zM227.142 892.975h368.64v-184.32c0-11.171 9.309-22.342 22.342-22.342h182.458v-229.004l-286.72-122.88-284.858 124.742v433.804zM184.32 576.465v-100.538l-104.262 46.545 104.262 53.993zM971.869 6.749h-919.738v482.211l450.56-197.353c5.585-1.862 11.171-1.862 16.756 0l454.284 197.353v-482.211z" />
27
+ <glyph unicode="&#xe911;" glyph-name="pa-carousel" d="M687.011 189.207c-26.065 0-46.545-20.48-46.545-46.545s20.48-46.545 46.545-46.545 46.545 20.48 46.545 46.545-20.48 46.545-46.545 46.545zM687.011 114.735c-14.895 0-27.927 13.033-27.927 27.927s13.033 27.927 27.927 27.927c14.895 0 27.927-13.033 27.927-27.927s-13.033-27.927-27.927-27.927zM336.989 189.207c-26.065 0-46.545-20.48-46.545-46.545s20.48-46.545 46.545-46.545c26.065 0 46.545 20.48 46.545 46.545s-20.48 46.545-46.545 46.545zM336.989 114.735c-14.895 0-27.927 13.033-27.927 27.927s13.033 27.927 27.927 27.927c14.895 0 27.927-13.033 27.927-27.927 1.862-14.895-11.171-27.927-27.927-27.927zM512 189.207c-26.065 0-46.545-20.48-46.545-46.545s20.48-46.545 46.545-46.545c27.927 0 46.545 20.48 46.545 46.545s-20.48 46.545-46.545 46.545zM512 114.735c-14.895 0-27.927 13.033-27.927 27.927s13.033 27.927 27.927 27.927c16.756 0 27.927-13.033 27.927-27.927s-13.033-27.927-27.927-27.927zM761.484 278.575h-497.105c-7.447 0-13.033 5.585-13.033 13.033v497.105c0 7.447 5.585 13.033 13.033 13.033h497.105c7.447 0 13.033-5.585 13.033-13.033v-497.105c0-7.447-7.447-13.033-13.033-13.033zM277.411 304.64h471.040v471.040h-471.040v-471.040zM152.669 801.745h-135.913v-26.065h122.88v-471.040h-122.88v-26.065h135.913c7.447 0 13.033 5.585 13.033 13.033v497.105c0 7.447-5.585 13.033-13.033 13.033zM858.298 788.713v-497.105c0-7.447 5.585-13.033 13.033-13.033h135.913v26.065h-122.88v471.040h122.88v26.065h-135.913c-7.447 0-13.033-5.585-13.033-13.033z" />
28
+ <glyph unicode="&#xe912;" glyph-name="pa-button" d="M919.738 820.364h-813.615c-52.131 0-96.815-42.822-96.815-96.815v-284.858c0-52.131 42.822-96.815 96.815-96.815h405.876v27.927h-405.876c-37.236 0-68.887 29.789-68.887 68.887v284.858c0 37.236 29.789 68.887 68.887 68.887h811.753c37.236 0 68.887-29.789 68.887-68.887v-284.858c0-37.236-29.789-68.887-68.887-68.887h-52.131l31.651-27.927h20.48c52.131 0 96.815 42.822 96.815 96.815v284.858c0 53.993-42.822 96.815-94.953 96.815zM884.364 274.851c9.309 0 13.033 11.171 5.585 16.756l-55.855 50.269-31.651 27.927-243.898 227.142c-5.585 5.585-16.756 1.862-16.756-7.447v-452.422c0-9.309 9.309-13.033 16.756-7.447l83.782 80.058c5.585 3.724 13.033 3.724 14.895-3.724l55.855-126.604c3.724-5.585 9.309-7.447 13.033-5.585l83.782 37.236c5.585 3.724 7.447 9.309 5.585 13.033l-55.855 126.604c-3.724 5.585 1.862 13.033 9.309 14.895l115.433 9.309zM768.931 127.767l-26.065-9.309c-5.585-3.724-11.171 0-13.033 5.585l-59.578 137.775c-3.724 5.585-11.171 9.309-14.895 3.724l-63.302-61.44c-5.585-5.585-16.756-1.862-16.756 7.447v305.338c0 9.309 9.309 13.033 16.756 7.447l169.425-154.531 31.651-27.927 26.065-24.204c7.447-5.585 3.724-16.756-5.585-16.756l-89.367-5.585c-7.447 0-11.171-7.447-9.309-14.895l61.44-139.636c1.862-3.724-1.862-9.309-7.447-13.033z" />
29
+ <glyph unicode="&#xe913;" glyph-name="pa-blog" d="M837.818 19.782h-733.556c-11.171 0-22.342 9.309-22.342 22.342v729.833c0 11.171 9.309 22.342 22.342 22.342h344.436v-42.822h-323.956v-688.873h688.873v322.095h42.822v-346.298c0-9.309-9.309-18.618-18.618-18.618zM558.545 312.087h-161.978c-11.171 0-22.342 9.309-22.342 22.342v160.116c0 5.585 1.862 11.171 5.585 14.895l364.916 361.193c7.447 7.447 22.342 7.447 29.789 0l161.978-161.978c7.447-9.309 7.447-22.342 0-29.789l-363.055-361.193c-3.724-3.724-9.309-5.585-14.895-5.585zM417.047 354.909h130.327l340.713 340.713-130.327 132.189-340.713-342.575v-130.327z" />
30
+ <glyph unicode="&#xe914;" glyph-name="pa-banner" d="M942.080 900.422h-858.298c-11.171 0-22.342-9.309-22.342-20.48v-860.16c0-11.171 9.309-22.342 22.342-22.342h858.298c11.171 0 22.342 9.309 22.342 22.342v860.16c0 11.171-9.309 20.48-22.342 20.48zM104.262 857.6h817.338v-644.189l-197.353 197.353c-7.447 7.447-22.342 7.447-29.789 0l-128.465-126.604-215.971 214.109c-9.309 9.309-22.342 9.309-29.789 0l-215.971-214.109v573.44zM104.262 42.124v182.458l230.865 230.865 413.324-413.324c0-1.862-644.189-1.862-644.189 0zM921.6 42.124h-111.709c0 0 0 1.862-1.862 1.862l-212.247 208.524 111.709 111.709 212.247-212.247 1.862-109.847zM744.727 582.051c-55.855 0-100.538 44.684-100.538 100.538s44.684 100.538 100.538 100.538 100.538-44.684 100.538-100.538-44.684-100.538-100.538-100.538zM744.727 740.305c-31.651 0-57.716-26.065-57.716-57.716s26.065-57.716 57.716-57.716 57.716 26.065 57.716 57.716-26.065 57.716-57.716 57.716z" />
31
+ <glyph unicode="&#xe915;" glyph-name="pa-admin-icon" d="M918.187 628.907c0-13.653-13.653-27.307-27.307-27.307h-249.173c-13.653 0-30.72 10.24-34.133 23.893l-81.92 256c-3.413 13.653 3.413 23.893 6.827 23.893s17.067-6.827 30.72-17.067l314.027-180.907c13.653-6.827 37.547-27.307 40.96-37.547-3.413-6.827 0-27.307 0-40.96zM501.76 881.493l-81.92-256c-3.413-13.653-20.48-23.893-34.133-23.893h-252.587c-13.653 0-27.307 13.653-27.307 27.307s6.827 47.787 10.24 54.613c6.827 6.827 20.48 20.48 34.133 27.307l314.027 180.907c13.653 6.827 30.72 17.067 37.547 17.067 3.413 0 3.413-13.653 0-27.307zM723.627 103.253l-163.84-98.987c-13.653-6.827-44.373-20.48-51.2-17.067-10.24 3.413-27.307 10.24-40.96 17.067l-167.253 95.573c-13.653 6.827-13.653 20.48 0 30.72l191.147 139.947c13.653 6.827 30.72 6.827 44.373 0l191.147-139.947c10.24-6.827 10.24-20.48-3.413-27.307zM918.187 553.813v-286.72c0-13.653-6.827-47.787-10.24-54.613-6.827-6.827-20.48-17.067-34.133-27.307l-81.92-44.373c-13.653-6.827-27.307-3.413-30.72 10.24l-75.093 228.693c-3.413 13.653 0 34.133 13.653 40.96l197.973 143.36c10.24 10.24 20.48 6.827 20.48-10.24zM337.92 383.147l-75.093-228.693c-3.413-13.653-20.48-20.48-30.72-10.24l-78.507 47.787c-13.653 6.827-37.547 27.307-40.96 37.547s-6.827 27.307-6.827 44.373v286.72c0 13.653 10.24 20.48 20.48 10.24l197.973-143.36c13.653-13.653 17.067-30.72 13.653-44.373z" />
32
  </font></defs></svg>
admin/assets/pa-elements-font/fonts/pa-elements.ttf CHANGED
Binary file
admin/assets/pa-elements-font/fonts/pa-elements.woff CHANGED
Binary file
admin/settings/elements.php CHANGED
@@ -8,7 +8,7 @@ class PA_admin_settings {
8
 
9
  protected $page_slug = 'premium-addons';
10
 
11
- public static $pa_elements_keys = ['premium-banner', 'premium-blog','premium-carousel', 'premium-countdown','premium-counter','premium-dual-header','premium-fancytext','premium-image-separator','premium-maps','premium-modalbox','premium-person','premium-progressbar','premium-testimonials','premium-title','premium-videobox','premium-pricing-table','premium-button','premium-contactform', 'premium-image-button', 'premium-grid'];
12
 
13
  private $pa_default_settings;
14
 
@@ -298,6 +298,17 @@ class PA_admin_settings {
298
  </label>
299
  </td>
300
  </tr>
 
 
 
 
 
 
 
 
 
 
 
301
 
302
  <?php if( !defined('PREMIUM_PRO_ADDONS_VERSION') ) : ?>
303
  <tr class="pa-sec-elems-tr"><th><h1>PRO Elements</h1></th></tr>
@@ -615,6 +626,7 @@ class PA_admin_settings {
615
  'premium-contactform' => intval( $settings['premium-contactform'] ? 1 : 0),
616
  'premium-image-button' => intval( $settings['premium-image-button'] ? 1 : 0),
617
  'premium-grid' => intval( $settings['premium-grid'] ? 1 : 0),
 
618
  );
619
 
620
  update_option( 'pa_save_settings', $this->pa_settings );
8
 
9
  protected $page_slug = 'premium-addons';
10
 
11
+ public static $pa_elements_keys = ['premium-banner', 'premium-blog','premium-carousel', 'premium-countdown','premium-counter','premium-dual-header','premium-fancytext','premium-image-separator','premium-maps','premium-modalbox','premium-person','premium-progressbar','premium-testimonials','premium-title','premium-videobox','premium-pricing-table','premium-button','premium-contactform', 'premium-image-button', 'premium-grid','premium-vscroll'];
12
 
13
  private $pa_default_settings;
14
 
298
  </label>
299
  </td>
300
  </tr>
301
+
302
+ <tr>
303
+ <th><?php echo sprintf("%s Vertical Scroll",$prefix); ?></th>
304
+ <td>
305
+ <label class="switch">
306
+ <input type="checkbox" id="premium-vscroll" name="premium-vscroll" <?php checked(1, $this->pa_get_settings['premium-vscroll'], true) ?>>
307
+ <span class="slider round"></span>
308
+ </label>
309
+ </td>
310
+
311
+ </tr>
312
 
313
  <?php if( !defined('PREMIUM_PRO_ADDONS_VERSION') ) : ?>
314
  <tr class="pa-sec-elems-tr"><th><h1>PRO Elements</h1></th></tr>
626
  'premium-contactform' => intval( $settings['premium-contactform'] ? 1 : 0),
627
  'premium-image-button' => intval( $settings['premium-image-button'] ? 1 : 0),
628
  'premium-grid' => intval( $settings['premium-grid'] ? 1 : 0),
629
+ 'premium-vscroll' => intval( $settings['premium-vscroll'] ? 1 : 0),
630
  );
631
 
632
  update_option( 'pa_save_settings', $this->pa_settings );
admin/settings/version-control.php CHANGED
@@ -79,7 +79,7 @@ class PA_Version_Control {
79
  <tr class="pa-roll-row">
80
  <th>Rollback Version</th>
81
  <td>
82
- <div><?php echo sprintf( '<a target="_blank" href="%s" class="button pa-btn pa-rollback-button elementor-button-spinner">Reinstall Version 2.7.2</a>', wp_nonce_url( admin_url( 'admin-post.php?action=premium_addons_rollback' ), 'premium_addons_rollback' ) ); ?> </div>
83
  <p class="pa-roll-desc"><span>Warning: Please backup your database before making the rollback.</span></p>
84
  </td>
85
  </tr>
79
  <tr class="pa-roll-row">
80
  <th>Rollback Version</th>
81
  <td>
82
+ <div><?php echo sprintf( '<a target="_blank" href="%s" class="button pa-btn pa-rollback-button elementor-button-spinner">Reinstall Version 2.7.3</a>', wp_nonce_url( admin_url( 'admin-post.php?action=premium_addons_rollback' ), 'premium_addons_rollback' ) ); ?> </div>
83
  <p class="pa-roll-desc"><span>Warning: Please backup your database before making the rollback.</span></p>
84
  </td>
85
  </tr>
assets/css/premium-addons.css CHANGED
@@ -3253,4 +3253,181 @@ button.premium-modal-box-modal-close {
3253
  }
3254
  .premium-gallery-container .pa-gallery-item {
3255
  padding: 10px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3256
  }
3253
  }
3254
  .premium-gallery-container .pa-gallery-item {
3255
  padding: 10px;
3256
+ }
3257
+ /************ Premium Vertical Scroll ************/
3258
+ /*************************************************/
3259
+ .premium-vscroll-inner {
3260
+ position: relative;
3261
+ overflow: hidden;
3262
+ min-height: 100%;
3263
+ }
3264
+ .premium-vscroll-inner .premium-vscroll-dots {
3265
+ position: fixed;
3266
+ z-index: 100;
3267
+ opacity: 1;
3268
+ margin-top:-32px;
3269
+ -webkit-transition: all 0.3s ease-in-out;
3270
+ -moz-transition: all 0.3s ease-in-out;
3271
+ -o-transition: all 0.3s ease-in-out;
3272
+ transition: all 0.3s ease-in-out;
3273
+ }
3274
+ .premium-vscroll-wrap .premium-vscroll-nav-menu {
3275
+ opacity: 1;
3276
+ -webkit-transition: all 0.3s ease-in-out;
3277
+ -moz-transition: all 0.3s ease-in-out;
3278
+ -o-transition: all 0.3s ease-in-out;
3279
+ transition: all 0.3s ease-in-out;
3280
+ }
3281
+ .premium-vscroll-wrap .premium-vscroll-dots-hide {
3282
+ opacity: 0;
3283
+ visibility: hidden;
3284
+ }
3285
+ .premium-vscroll-dots.middle{
3286
+ top:50%
3287
+ }
3288
+ .premium-vscroll-dots.top{
3289
+ top:40px
3290
+ }
3291
+ .premium-vscroll-dots.bottom {
3292
+ bottom:30px
3293
+ }
3294
+ .premium-vscroll-dots.right{
3295
+ right:17px
3296
+ }
3297
+ .premium-vscroll-dots.left{
3298
+ left:17px
3299
+ }
3300
+ .premium-vscroll-inner ul.premium-vscroll-dots-list,
3301
+ .premium-vscroll-wrap .premium-vscroll-nav-menu {
3302
+ margin: 0 !important;
3303
+ padding: 0;
3304
+ }
3305
+ .premium-vscroll-inner ul.premium-vscroll-dots-list li {
3306
+ display: block;
3307
+ width: 14px;
3308
+ height: 13px;
3309
+ margin: 7px;
3310
+ position: relative;
3311
+ }
3312
+ .premium-vscroll-inner .premium-vscroll-dot-item a {
3313
+ display: block;
3314
+ position: relative;
3315
+ z-index: 1;
3316
+ width: 100%;
3317
+ height: 100%;
3318
+ cursor: pointer;
3319
+ text-decoration: none;
3320
+ }
3321
+ .premium-vscroll-inner .premium-vscroll-dot-item .premium-vscroll-nav-link span {
3322
+ top: 2px;
3323
+ left: 2.5px;
3324
+ width: 8px;
3325
+ height: 8px;
3326
+ border: 1px solid #000;
3327
+ -webkit-border-radius: 50%;
3328
+ -moz-border-radius: 50%;
3329
+ border-radius: 50%;
3330
+ position: absolute;
3331
+ z-index: 1;
3332
+ -webkit-transition: all 0.3s ease-in-out;
3333
+ -moz-transition: all 0.3s ease-in-out;
3334
+ -o-transition: all 0.3s ease-in-out;
3335
+ transition: all 0.3s ease-in-out;
3336
+ }
3337
+ .premium-vscroll-inner .premium-vscroll-dot-item.active .premium-vscroll-nav-link span {
3338
+ -webkit-transform: scale(1.6);
3339
+ -moz-transform: scale(1.6);
3340
+ -ms-transform: scale(1.6);
3341
+ -o-transform: scale(1.6);
3342
+ transform: scale(1.6);
3343
+ }
3344
+ .premium-vscroll-inner .premium-vscroll-dot-item .premium-vscroll-tooltip {
3345
+ position: absolute;
3346
+ color: #fff;
3347
+ font-size: 14px;
3348
+ font-family: arial,helvetica,sans-serif;
3349
+ top: -5px;
3350
+ white-space: nowrap;
3351
+ max-width: 220px;
3352
+ padding-left: 0.4em;
3353
+ padding-right: 0.4em;
3354
+ }
3355
+ .premium-vscroll-inner .premium-vscroll-dots.right .premium-vscroll-tooltip {
3356
+ right: 27px
3357
+ }
3358
+ @media(max-width: 768px) {
3359
+ .premium-vscroll-dots.right{
3360
+ right:7px
3361
+ }
3362
+ .premium-vscroll-dots.left{
3363
+ left:7px
3364
+ }
3365
+ }
3366
+ .premium-vscroll-inner .premium-vscroll-dots.right .premium-vscroll-tooltip::after {
3367
+ position: absolute;
3368
+ top: 50%;
3369
+ content: '';
3370
+ left: calc(100% - 1px);
3371
+ width: 10px;
3372
+ height: 0;
3373
+ border-top: 6px solid transparent;
3374
+ border-bottom: 6px solid transparent;
3375
+ border-left: 6px solid;
3376
+ -webkit-transform: translateY(-50%);
3377
+ -moz-transform: translateY(-50%);
3378
+ -ms-transform: translateY(-50%);
3379
+ -o-transform: translateY(-50%);
3380
+ transform: translateY(-50%);
3381
+ }
3382
+ .premium-vscroll-inner .premium-vscroll-dots.left .premium-vscroll-tooltip::after {
3383
+ position: absolute;
3384
+ top: 50%;
3385
+ content: '';
3386
+ right: calc(100% - 1px);
3387
+ width: 10px;
3388
+ height: 0;
3389
+ border-top: 6px solid transparent;
3390
+ border-bottom: 6px solid transparent;
3391
+ border-right: 6px solid;
3392
+ -webkit-transform: translateY(-50%);
3393
+ -moz-transform: translateY(-50%);
3394
+ -ms-transform: translateY(-50%);
3395
+ -o-transform: translateY(-50%);
3396
+ transform: translateY(-50%);
3397
+ }
3398
+ .premium-vscroll-inner .premium-vscroll-dots.left .premium-vscroll-tooltip {
3399
+ left: 27px
3400
+ }
3401
+ .premium-vscroll-nav-menu {
3402
+ position:fixed;
3403
+ top:20px;
3404
+ height:40px;
3405
+ z-index:100;
3406
+ padding:0;
3407
+ margin:0
3408
+ }
3409
+ .premium-vscroll-nav-menu.left{
3410
+ left:0
3411
+ }
3412
+ .premium-vscroll-nav-menu.right{
3413
+ right:0
3414
+ }
3415
+ .premium-vscroll-nav-menu .premium-vscroll-nav-item {
3416
+ display:inline-block;
3417
+ margin:10px;
3418
+ color:#000;
3419
+ background:#fff;
3420
+ background:rgba(255,255,255,0.3)
3421
+ }
3422
+ .premium-vscroll-nav-menu .premium-vscroll-nav-item .premium-vscroll-nav-link{
3423
+ padding:9px 18px;
3424
+ display:block
3425
+ }
3426
+ .premium-vscroll-nav-menu .premium-vscroll-nav-item .premium-vscroll-nav-link,
3427
+ .premium-vscroll-nav-menu .premium-vscroll-nav-item .premium-vscroll-nav-link:hover{
3428
+ color:#000
3429
+ }
3430
+ .premium-vscroll-nav-menu .premium-vscroll-nav-item .premium-vscroll-nav-link:focus,
3431
+ .multiscroll-nav li a:focus{
3432
+ outline:none
3433
  }
assets/js/lib/jquery.visible.js ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (function($){
2
+
3
+ /**
4
+ * Copyright 2012, Digital Fusion
5
+ * @author Sam Sehnert
6
+ */
7
+ var $w=$(window);
8
+ $.fn.visible = function(partial,hidden,direction,container){
9
+ if (this.length < 1)
10
+ return;
11
+ direction = direction || 'both';
12
+ var $t = this.length > 1 ? this.eq(0) : this,
13
+ isContained = typeof container !== 'undefined' && container !== null,
14
+ $c = isContained ? $(container) : $w,
15
+ wPosition = isContained ? $c.position() : 0,
16
+ t = $t.get(0),
17
+ vpWidth = $c.outerWidth(),
18
+ vpHeight = $c.outerHeight(),
19
+ clientSize = hidden === true ? t.offsetWidth * t.offsetHeight : true;
20
+ if (typeof t.getBoundingClientRect === 'function'){
21
+ var rec = t.getBoundingClientRect();
22
+ var tViz = isContained ?
23
+ rec.top - wPosition.top >= 0 && rec.top < vpHeight + wPosition.top :
24
+ rec.top >= 0 && rec.top < vpHeight,
25
+ bViz = isContained ?
26
+ rec.bottom - wPosition.top > 0 && rec.bottom <= vpHeight + wPosition.top :
27
+ rec.bottom > 0 && rec.bottom <= vpHeight,
28
+ vVisible = partial ? tViz || bViz : tViz && bViz,
29
+ vVisible = (rec.top < 0 && rec.bottom > vpHeight) ? true : vVisible;
30
+ return clientSize && vVisible;
31
+ } else {
32
+ var viewTop = isContained ? 0 : wPosition,
33
+ viewBottom = viewTop + vpHeight,
34
+ position = $t.position(),
35
+ _top = position.top,
36
+ _bottom = _top + $t.height(),
37
+ compareTop = partial === true ? _bottom : _top,
38
+ compareBottom = partial === true ? _top : _bottom;
39
+ return !!clientSize && ((compareBottom <= viewBottom) && (compareTop >= viewTop));
40
+ }
41
+ };
42
+ })(jQuery);
assets/js/premium-addons.js CHANGED
@@ -410,6 +410,388 @@
410
  }
411
  };
412
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
413
  //Elementor JS Hooks
414
  $(window).on('elementor/frontend/init', function () {
415
  elementorFrontend.hooks.addAction('frontend/element_ready/premium-addon-video-box.default',PremiumVideoBoxWidgetHandler);
@@ -421,6 +803,7 @@
421
  elementorFrontend.hooks.addAction('frontend/element_ready/premium-addon-banner.default',PremiumBannerHandler);
422
  elementorFrontend.hooks.addAction('frontend/element_ready/premium-addon-modal-box.default',PremiumModalBoxHandler);
423
  elementorFrontend.hooks.addAction('frontend/element_ready/premium-addon-blog.default',PremiumBlogHandler);
 
424
  if(elementorFrontend.isEditMode()){
425
  elementorFrontend.hooks.addAction('frontend/element_ready/premium-addon-progressbar.default', PremiumProgressBarWidgetHandler);
426
  } else {
410
  }
411
  };
412
 
413
+ //Premium Vertical Scroll Handler
414
+ var PremiumVerticalScrollHandler = function($scope,$){
415
+
416
+ var vScrollElem = $scope.find('.premium-vscroll-wrap'),
417
+ instance = null,
418
+ vScrollSettings = vScrollElem.data('settings');
419
+
420
+ instance = new premiumVerticalScroll( vScrollElem, vScrollSettings );
421
+ instance.init();
422
+
423
+ };
424
+
425
+ window.premiumVerticalScroll = function( $selector, settings ) {
426
+ var self = this,
427
+ $window = $( window ),
428
+ $instance = $selector,
429
+ $htmlBody = $( 'html, body' ),
430
+ $itemsList = $( '.premium-vscroll-dot-item', $instance ),
431
+ $menuItems = $( '.premium-vscroll-nav-item', $instance ),
432
+ sectionList = [],
433
+ defaultSettings = {
434
+ speed: 700,
435
+ offset: 1,
436
+ fullSection: true
437
+ },
438
+ settings = $.extend( {}, defaultSettings, settings ),
439
+ sections = {},
440
+ currentSection = null,
441
+ isScrolling = false;
442
+
443
+ jQuery.extend( jQuery.easing, {
444
+ easeInOutCirc: function (x, t, b, c, d) {
445
+ if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;
446
+ return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
447
+ }
448
+ });
449
+
450
+ self.checkNextSection = function( object, key ) {
451
+ var keys = Object.keys( object ),
452
+ idIndex = keys.indexOf( key ),
453
+ nextIndex = idIndex += 1;
454
+
455
+ if( nextIndex >= keys.length ) {
456
+ return false;
457
+ }
458
+
459
+ var nextKey = keys[ nextIndex ];
460
+
461
+ return nextKey;
462
+ };
463
+
464
+ self.checkPrevSection = function( object, key ) {
465
+ var keys = Object.keys( object ),
466
+ idIndex = keys.indexOf( key ),
467
+ prevIndex = idIndex -= 1;
468
+
469
+ if ( 0 > idIndex ) {
470
+ return false;
471
+ }
472
+
473
+ var prevKey = keys[ prevIndex ];
474
+
475
+ return prevKey;
476
+ };
477
+
478
+ self.debounce = function( threshold, callback ) {
479
+ var timeout;
480
+
481
+ return function debounced( $event ) {
482
+ function delayed() {
483
+ callback.call( this, $event );
484
+ timeout = null;
485
+ }
486
+
487
+ if ( timeout ) {
488
+ clearTimeout( timeout );
489
+ }
490
+
491
+ timeout = setTimeout( delayed, threshold );
492
+ };
493
+ };
494
+
495
+ self.init = function() {
496
+ self.setSectionsData();
497
+ $itemsList.on( 'click.premiumVerticalScroll', self.onNavDotChange );
498
+ $menuItems.on( 'click.premiumVerticalScroll', self.onNavDotChange );
499
+
500
+
501
+ $itemsList.on( 'mouseenter.premiumVerticalScroll', self.onNavDotEnter );
502
+
503
+ $itemsList.on( 'mouseleave.premiumVerticalScroll', self.onNavDotLeave );
504
+
505
+ $window.on( 'scroll.premiumVerticalScroll', self.onWheel );
506
+ $window.on( 'resize.premiumVerticalScroll orientationchange.premiumVerticalScroll', self.debounce( 50, self.onResize ) );
507
+ $window.on( 'load', function() { self.setSectionsData(); } );
508
+
509
+ $( document ).keydown( function( event ) {
510
+
511
+ if ( 38 == event.keyCode ) {
512
+ self.onKeyUp( event, 'up' );
513
+ }
514
+
515
+ if ( 40 == event.keyCode ) {
516
+ self.onKeyUp( event, 'down' );
517
+ }
518
+ } );
519
+ if ( settings.fullSection ) {
520
+ var vSection = document.getElementById($instance.attr('id'));
521
+ document.addEventListener?(vSection.addEventListener("wheel",self.onWheel,!1)):vSection.attachEvent("onmousewheel",self.onWheel);
522
+ }
523
+
524
+ for ( var section in sections ) {
525
+
526
+ var $section = sections[section].selector;
527
+ elementorFrontend.waypoint( $section, function( direction ) {
528
+ var $this = $( this ),
529
+ sectionId = $this.attr( 'id' );
530
+ if ( 'down' === direction && ! isScrolling ) {
531
+ currentSection = sectionId;
532
+ $itemsList.removeClass( 'active' );
533
+ $menuItems.removeClass( 'active' );
534
+ $( '[data-menuanchor=' + sectionId + ']', $instance ).addClass( 'active' );
535
+ }
536
+ }, {
537
+ offset: '95%',
538
+ triggerOnce: false
539
+ } );
540
+
541
+ elementorFrontend.waypoint( $section, function( direction ) {
542
+ var $this = $( this ),
543
+ sectionId = $this.attr( 'id' );
544
+ if ( 'up' === direction && ! isScrolling ) {
545
+ currentSection = sectionId;
546
+ $itemsList.removeClass( 'active' );
547
+ $menuItems.removeClass( 'active' );
548
+ $( '[data-menuanchor=' + sectionId + ']', $instance ).addClass( 'active' );
549
+ }
550
+ }, {
551
+ offset: '0%',
552
+ triggerOnce: false
553
+ } );
554
+ }
555
+ };
556
+
557
+ self.setSectionsData = function() {
558
+ $itemsList.each( function() {
559
+ var $this = $( this ),
560
+ sectionId = $this.data('menuanchor'),
561
+ $section = $( '#' + sectionId );
562
+ if ( $section[0] ) {
563
+ sections[ sectionId ] = {
564
+ selector: $section,
565
+ offset: Math.round( $section.offset().top ),
566
+ height: $section.outerHeight()
567
+ };
568
+ }
569
+ } );
570
+ };
571
+
572
+ self.onNavDotEnter = function() {
573
+ var $this = $( this ),
574
+ index = $this.data("index");
575
+ $('<div class="premium-vscroll-tooltip"><span>' + settings.dotsText[index] + "</span></div>").hide().appendTo($this).fadeIn(200);
576
+
577
+ };
578
+
579
+ self.onNavDotLeave = function() {
580
+ $(".premium-vscroll-tooltip").fadeOut(200, function() {
581
+ $(this).remove();
582
+ });
583
+ };
584
+
585
+ self.onNavDotChange = function( event ) {
586
+ var $this = $( this ),
587
+ index = $this.index(),
588
+ sectionId = $this.data('menuanchor'),
589
+ offset = null;
590
+
591
+ if ( ! sections.hasOwnProperty( sectionId ) ) {
592
+ return false;
593
+ }
594
+
595
+ offset = sections[sectionId].offset - settings.offset;
596
+
597
+ if ( ! isScrolling ) {
598
+ isScrolling = true;
599
+ // window.history.pushState( null, null, '#' + sectionId );
600
+ currentSection = sectionId;
601
+ $menuItems.removeClass('active');
602
+ $itemsList.removeClass( 'active' );
603
+
604
+ if($this.hasClass("premium-vscroll-nav-item")) {
605
+ $($itemsList[index]).addClass('active');
606
+ } else {
607
+ $($menuItems[index]).addClass('active');
608
+ }
609
+
610
+ $this.addClass( 'active' );
611
+
612
+ $htmlBody.stop().clearQueue().animate( { 'scrollTop': offset }, settings.speed, 'easeInOutCirc', function() {
613
+ isScrolling = false;
614
+ } );
615
+ }
616
+ };
617
+
618
+ self.onKeyUp = function( event, direction ) {
619
+ var direction = direction || 'up',
620
+ sectionId,
621
+ nextItem = $( '.premium-vscroll-dot-item[data-menuanchor=' + currentSection + ']', $instance ).next(),
622
+ prevItem = $( '.premium-vscroll-dot-item[data-menuanchor=' + currentSection + ']', $instance ).prev();
623
+
624
+ event.preventDefault();
625
+
626
+ if ( isScrolling ) {
627
+ return false;
628
+ }
629
+
630
+ if ( 'up' === direction ) {
631
+ if ( prevItem[0] ) {
632
+ prevItem.trigger( 'click.premiumVerticalScroll' );
633
+ }
634
+ }
635
+
636
+ if ( 'down' === direction ) {
637
+ if ( nextItem[0] ) {
638
+ nextItem.trigger( 'click.premiumVerticalScroll' );
639
+ }
640
+ }
641
+ };
642
+
643
+ self.onScroll = function( event ) {
644
+ /* On Scroll Event */
645
+ if ( isScrolling ) {
646
+ event.preventDefault();
647
+ }
648
+ };
649
+
650
+ function getFirstSection( object ) {
651
+ return Object.keys( object )[0];
652
+ };
653
+
654
+ function getLastSection( object ) {
655
+ return Object.keys( object )[ Object.keys( object ).length - 1 ];
656
+ };
657
+
658
+ function getDirection(e){
659
+ e = window.event || e;
660
+ var t = Math.max( -1, Math.min( 1, ( e.wheelDelta || -e.deltaY || -e.detail ) ) );
661
+ return t;
662
+ }
663
+
664
+ self.onWheel = function( event ) {
665
+ if ( isScrolling ) {
666
+ event.preventDefault();
667
+ return false;
668
+ }
669
+
670
+ var $target = $( event.target ),
671
+ $section = $target.closest( '.premium-vscroll-temp' ),
672
+ $vTarget = $instance.visible(true,false,'vertical'),
673
+ sectionId = $section.attr( 'id' ),
674
+ offset = 0,
675
+ newSectionId = false,
676
+ prevSectionId = false,
677
+ nextSectionId = false,
678
+ delta = getDirection(event),
679
+ direction = ( 0 > delta ) ? 'down' : 'up',
680
+ windowScrollTop = $window.scrollTop(),
681
+ deviceType = $( 'body' ).data('elementor-device-mode'),
682
+ dotIndex = $('.premium-vscroll-dot-item.active').index();
683
+
684
+ if('mobile' === deviceType || 'tablet' === deviceType ) {
685
+ $(".premium-vscroll-tooltip").hide();
686
+ if( dotIndex === $itemsList.length - 1 && ! $vTarget ) {
687
+ $(".premium-vscroll-dots, .premium-vscroll-nav-menu").addClass('premium-vscroll-dots-hide');
688
+ } else if( dotIndex === 0 && ! $vTarget ) {
689
+ if( $instance.offset().top - $(document).scrollTop() > 200 ) {
690
+ $(".premium-vscroll-dots, .premium-vscroll-nav-menu").addClass('premium-vscroll-dots-hide');
691
+ }
692
+ } else {
693
+ $(".premium-vscroll-dots, .premium-vscroll-nav-menu").removeClass('premium-vscroll-dots-hide');
694
+ }
695
+
696
+ }
697
+
698
+ if ( beforeCheck() ) {
699
+ sectionId = getFirstSection( sections );
700
+ }
701
+
702
+ if ( afterCheck() ) {
703
+ sectionId = getLastSection( sections );
704
+ }
705
+ if ( sectionId && sections.hasOwnProperty( sectionId ) ) {
706
+ prevSectionId = self.checkPrevSection( sections, sectionId );
707
+ nextSectionId = self.checkNextSection( sections, sectionId );
708
+ if ( 'up' === direction ) {
709
+ if ( ! nextSectionId && sections[sectionId].offset < windowScrollTop ) {
710
+ newSectionId = sectionId;
711
+ } else {
712
+ newSectionId = prevSectionId;
713
+ }
714
+ }
715
+
716
+ if ( 'down' === direction ) {
717
+ if ( ! prevSectionId && sections[sectionId].offset > windowScrollTop + 5 ) {
718
+ newSectionId = sectionId;
719
+ } else {
720
+ newSectionId = nextSectionId;
721
+ }
722
+ }
723
+
724
+ if ( newSectionId ) {
725
+
726
+ $(".premium-vscroll-dots, .premium-vscroll-nav-menu").removeClass('premium-vscroll-dots-hide');
727
+ event.preventDefault();
728
+ offset = sections[newSectionId].offset - settings.offset;
729
+ currentSection = newSectionId;
730
+ $itemsList.removeClass( 'active' );
731
+ $menuItems.removeClass( 'active' );
732
+ $( '[data-menuanchor=' + newSectionId + ']', $instance ).addClass( 'active' );
733
+
734
+ isScrolling = true;
735
+ self.scrollStop();
736
+ $htmlBody.animate( { 'scrollTop': offset }, settings.speed, 'easeInOutCirc', function() {
737
+ isScrolling = false;
738
+ } );
739
+ } else {
740
+ if('down' === direction) {
741
+ if( ( $instance.offset().top + $instance.innerHeight() ) - $(document).scrollTop() > 600 ) {
742
+ $(".premium-vscroll-dots, .premium-vscroll-nav-menu").addClass('premium-vscroll-dots-hide');
743
+ }
744
+ } else if('up' === direction) {
745
+ if( $instance.offset().top - $(document).scrollTop() > 200 ) {
746
+ $(".premium-vscroll-dots, .premium-vscroll-nav-menu").addClass('premium-vscroll-dots-hide');
747
+ }
748
+ }
749
+ }
750
+ }
751
+
752
+ };
753
+
754
+ function beforeCheck ( event ) {
755
+ var windowScrollTop = $window.scrollTop(),
756
+ firstSectionId = getFirstSection( sections ),
757
+ offset = sections[ firstSectionId ].offset,
758
+ topBorder = windowScrollTop + $window.outerHeight(),
759
+ visible = $instance.visible(true,false,'vertical');
760
+
761
+ if ( topBorder > offset ) {
762
+ return false;
763
+ } else if( visible ) {
764
+ return true;
765
+ }
766
+ return false;
767
+ };
768
+
769
+ function afterCheck( event ) {
770
+ var windowScrollTop = $window.scrollTop(),
771
+ lastSectionId = getLastSection( sections ),
772
+ offset = sections[ lastSectionId ].offset,
773
+ bottomBorder = sections[ lastSectionId ].offset + sections[ lastSectionId ].height,
774
+ visible = $instance.visible(true,false,'vertical');
775
+
776
+ if ( windowScrollTop < bottomBorder ) {
777
+ return false;
778
+ } else if ( visible ) {
779
+ return true;
780
+ }
781
+
782
+ return false;
783
+ };
784
+
785
+ self.onResize = function( event ) {
786
+ self.setSectionsData();
787
+ };
788
+
789
+ self.scrollStop = function() {
790
+ $htmlBody.stop( true );
791
+ };
792
+
793
+ };
794
+
795
  //Elementor JS Hooks
796
  $(window).on('elementor/frontend/init', function () {
797
  elementorFrontend.hooks.addAction('frontend/element_ready/premium-addon-video-box.default',PremiumVideoBoxWidgetHandler);
803
  elementorFrontend.hooks.addAction('frontend/element_ready/premium-addon-banner.default',PremiumBannerHandler);
804
  elementorFrontend.hooks.addAction('frontend/element_ready/premium-addon-modal-box.default',PremiumModalBoxHandler);
805
  elementorFrontend.hooks.addAction('frontend/element_ready/premium-addon-blog.default',PremiumBlogHandler);
806
+ elementorFrontend.hooks.addAction('frontend/element_ready/premium-vscroll.default',PremiumVerticalScrollHandler);
807
  if(elementorFrontend.isEditMode()){
808
  elementorFrontend.hooks.addAction('frontend/element_ready/premium-addon-progressbar.default', PremiumProgressBarWidgetHandler);
809
  } else {
includes/class-addons-integration.php CHANGED
@@ -98,7 +98,7 @@ class Premium_Addons_Integration {
98
 
99
  $check_component_active = PA_admin_settings::get_enabled_keys();
100
 
101
- if ( $check_component_active['premium-progressbar'] || $check_component_active['premium-videobox'] || $check_component_active['premium-grid'] || $check_component_active['premium-fancytext'] || $check_component_active['premium-countdown'] || $check_component_active['premium-carousel'] || $check_component_active['premium-banner'] || $check_component_active['premium-maps'] || $check_component_active['premium-modalbox'] || $check_component_active['premium-blog'] || $check_component_active['premium-counter'] ) {
102
  wp_register_script('premium-addons-js', PREMIUM_ADDONS_URL . 'assets/js/premium-addons.js', array('jquery'), PREMIUM_ADDONS_VERSION, true);
103
  }
104
 
@@ -135,6 +135,10 @@ class Premium_Addons_Integration {
135
  if ( $check_component_active['premium-maps'] ) {
136
  wp_register_script('premium-maps-js', PREMIUM_ADDONS_URL . 'assets/js/premium-maps.js', array('jquery'), PREMIUM_ADDONS_VERSION, true);
137
  }
 
 
 
 
138
  }
139
 
140
  /*
@@ -194,11 +198,12 @@ class Premium_Addons_Integration {
194
  * @return void
195
  */
196
  public function register_addon( $file ) {
 
197
  $base = basename( str_replace( '.php', '', $file ) );
198
  $class = ucwords( str_replace( '-', ' ', $base ) );
199
  $class = str_replace( ' ', '_', $class );
200
  $class = sprintf( 'Elementor\%s', $class );
201
-
202
  if( 'Elementor\Premium_Contactform' != $class ){
203
  require $file;
204
  } else {
98
 
99
  $check_component_active = PA_admin_settings::get_enabled_keys();
100
 
101
+ if ( $check_component_active['premium-progressbar'] || $check_component_active['premium-videobox'] || $check_component_active['premium-grid'] || $check_component_active['premium-fancytext'] || $check_component_active['premium-countdown'] || $check_component_active['premium-carousel'] || $check_component_active['premium-banner'] || $check_component_active['premium-maps'] || $check_component_active['premium-modalbox'] || $check_component_active['premium-blog'] || $check_component_active['premium-counter'] || $check_component_active['premium-vscroll'] ) {
102
  wp_register_script('premium-addons-js', PREMIUM_ADDONS_URL . 'assets/js/premium-addons.js', array('jquery'), PREMIUM_ADDONS_VERSION, true);
103
  }
104
 
135
  if ( $check_component_active['premium-maps'] ) {
136
  wp_register_script('premium-maps-js', PREMIUM_ADDONS_URL . 'assets/js/premium-maps.js', array('jquery'), PREMIUM_ADDONS_VERSION, true);
137
  }
138
+
139
+ if ( $check_component_active['premium-vscroll'] ) {
140
+ wp_register_script( 'jquery-visible', PREMIUM_ADDONS_URL . 'assets/js/lib/jquery.visible.js', array('jquery'), PREMIUM_ADDONS_VERSION, true );
141
+ }
142
  }
143
 
144
  /*
198
  * @return void
199
  */
200
  public function register_addon( $file ) {
201
+
202
  $base = basename( str_replace( '.php', '', $file ) );
203
  $class = ucwords( str_replace( '-', ' ', $base ) );
204
  $class = str_replace( ' ', '_', $class );
205
  $class = sprintf( 'Elementor\%s', $class );
206
+
207
  if( 'Elementor\Premium_Contactform' != $class ){
208
  require $file;
209
  } else {
premium-addons-for-elementor.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Premium Addons for Elementor
4
  Description: Premium Addons Plugin Includes 20+ premium widgets for Elementor Page Builder.
5
  Plugin URI: https://premiumaddons.com
6
- Version: 2.7.3
7
  Author: Leap13
8
  Author URI: http://leap13.com/
9
  Text Domain: premium-addons-for-elementor
@@ -22,12 +22,12 @@ if (! function_exists('add_action')) {
22
  if ( ! defined('ABSPATH') ) exit; // No access of directly access
23
 
24
 
25
- define('PREMIUM_ADDONS_VERSION', '2.7.3');
26
  define('PREMIUM_ADDONS_URL', plugins_url('/', __FILE__));
27
  define('PREMIUM_ADDONS_PATH', plugin_dir_path(__FILE__));
28
  define('PREMIUM_ADDONS_FILE', __FILE__);
29
  define('PREMIUM_ADDONS_BASENAME', plugin_basename(__FILE__));
30
- define('PREMIUM_ADDONS_STABLE_VERSION', '2.7.2');
31
 
32
  if( ! class_exists('Premium_Addons_Elementor') ) {
33
  /*
@@ -52,7 +52,7 @@ if( ! class_exists('Premium_Addons_Elementor') ) {
52
 
53
  add_action('elementor/init', array( $this, 'create_premium_category') );
54
 
55
- add_action( 'init', array( $this, 'init_addons' ), 0 );
56
 
57
  add_action( 'admin_post_premium_addons_rollback', 'post_premium_addons_rollback' );
58
 
3
  Plugin Name: Premium Addons for Elementor
4
  Description: Premium Addons Plugin Includes 20+ premium widgets for Elementor Page Builder.
5
  Plugin URI: https://premiumaddons.com
6
+ Version: 2.7.4
7
  Author: Leap13
8
  Author URI: http://leap13.com/
9
  Text Domain: premium-addons-for-elementor
22
  if ( ! defined('ABSPATH') ) exit; // No access of directly access
23
 
24
 
25
+ define('PREMIUM_ADDONS_VERSION', '2.7.4');
26
  define('PREMIUM_ADDONS_URL', plugins_url('/', __FILE__));
27
  define('PREMIUM_ADDONS_PATH', plugin_dir_path(__FILE__));
28
  define('PREMIUM_ADDONS_FILE', __FILE__);
29
  define('PREMIUM_ADDONS_BASENAME', plugin_basename(__FILE__));
30
+ define('PREMIUM_ADDONS_STABLE_VERSION', '2.7.3');
31
 
32
  if( ! class_exists('Premium_Addons_Elementor') ) {
33
  /*
52
 
53
  add_action('elementor/init', array( $this, 'create_premium_category') );
54
 
55
+ add_action( 'init', array( $this, 'init_addons' ), -999 );
56
 
57
  add_action( 'admin_post_premium_addons_rollback', 'post_premium_addons_rollback' );
58
 
readme.txt CHANGED
@@ -5,7 +5,7 @@ Donate link: http://premiumaddons.com
5
  Requires at least: 4.5
6
  Tested up to: 4.9.8
7
  Requires PHP: 5.4
8
- Stable tag: 2.7.3
9
  License: GPL v3.0
10
  License URI: https://opensource.org/licenses/GPL-3.0
11
 
@@ -23,7 +23,7 @@ Premium Addons for Elementor can be used only as a complement of Elementor page
23
 
24
  ### Features
25
 
26
- * 20+ Fully Customizable Elementor add-on widgets.
27
  * Options panel for enabling desired widgets only for faster performance.
28
  * Free Support through online forums and our Facebook group.
29
  * Fully Responsive and Cross Browser Compatible, Tested By [Browserstack](https://www.browserstack.com)
@@ -32,26 +32,27 @@ Premium Addons for Elementor can be used only as a complement of Elementor page
32
 
33
  ### Available Elements
34
 
35
- 1. [Grid Elementor Widget](https://premiumaddons.com/grid-widget-for-elementor-page-builder/) Highly customizable grid widget that can be used for creating attractive looking image galleries and portfolios.
36
- 2. [Carousel Elementor Widget](https://premiumaddons.com/carousel-widget-for-elementor-page-builder/) The best all purpose carousel widget for Elementor, It can be used to create testimonials carousel, client logos carousel, or any kind of content.
37
- 3. [Banner Elementor Widget](https://premiumaddons.com/banner-widget-for-elementor-page-builder/) Animated and interactive banner widget with multiple styles.
38
- 4. [Google Maps Elementor Widget](https://premiumaddons.com/google-maps-widget-for-elementor-page-builder/) Advanced Google Maps widget with multiple markers, custom styling and much more options.
39
- 5. [Pricing Table Elementor Widget](https://premiumaddons.com/pricing-table-widget-for-elementor-page-builder/) The most customizable Elementor Pricing Table Widget with tons of customization options.
40
- 6. [Image Separator Elementor Widget](https://premiumaddons.com/image-separator-widget-elementor-page-builder/) This element adds image separator between sections.
41
- 7. [Fancy Text Elementor Widget](https://premiumaddons.com/fancy-text-widget-for-elementor-page-builder/) Animated fancy text with many animation styles.
42
- 8. [Heading Elementor Widget](https://premiumaddons.com/heading-widget-for-elementor-page-builder/) This widget has many customizable ready made styles for headings.
43
- 9. [Dual Header Elementor Widget](https://premiumaddons.com/dual-header-widget-for-elementor-page-builder/) Create a header with 2 styles with numerous customization options.
44
- 10. [Testimonials Elementor Widget](https://premiumaddons.com/testimonials-widget-for-elementor-page-builder/) Modern testimonials widget with many customization options.
45
- 11. [Persons Elementor Widget](https://premiumaddons.com/persons-widget-for-elementor-page-builder/) Very good element for listing team members.
46
- 12. [Countdown Elementor Widget](https://premiumaddons.com/countdown-widget-for-elementor-page-builder/) Advanced countdown addon for elementor.
47
- 13. [Blog Elementor Widget](https://premiumaddons.com/blog-widget-for-elementor-page-builder/) Blog posts widget with modern style.
48
- 14. [Counter Elementor Widget](https://premiumaddons.com/counter-widget-for-elementor-page-builder/) Advanced counter elements with lots of options.
49
- 15. [Video Box Elementor Widget](https://premiumaddons.com/video-box-widget-for-elementor-page-builder/) Video box element with many customization features.
50
- 16. [Modal Box Elementor Widget](https://premiumaddons.com/modal-box-widget-for-elementor-page-builder/) All purpose Elementor modal box with many options.
51
- 17. [Progress Bar Elementor Widget](https://premiumaddons.com/progress-bar-widget-for-elementor-page-builder/) The most advanced progress bar available for Elementor.
 
52
  19. [Button Elementor Widget](https://premiumaddons.com/button-widget-for-elementor-page-builder/) Advanced button with lots of interactive animation and styling options and onClick event option.
53
- 19. [Contact Form 7 Elementor Widget](https://premiumaddons.com/contact-form-7-widget-for-elementor-page-builder/) Elementor contact form 7 add-on with 2 readymade styles.
54
- 20. [Image Button Elementor Widget](https://premiumaddons.com/image-button-widget-for-elementor-page-builder/) A unique element that can be used for innovative call to action ideas.
55
 
56
  ### PRO addons & widgets [Click here](https://premiumaddons.com/pro/)
57
 
@@ -136,6 +137,10 @@ Premium Addons for Elementor is 100% Ads Free, Ads can only be detected from You
136
 
137
  == Changelog ==
138
 
 
 
 
 
139
  = 2.7.3 =
140
 
141
  - Tweak: Changed Title for Icon List items in Premium Pricing Table widget.
5
  Requires at least: 4.5
6
  Tested up to: 4.9.8
7
  Requires PHP: 5.4
8
+ Stable tag: 2.7.4
9
  License: GPL v3.0
10
  License URI: https://opensource.org/licenses/GPL-3.0
11
 
23
 
24
  ### Features
25
 
26
+ * 21+ Fully Customizable Elementor add-on widgets.
27
  * Options panel for enabling desired widgets only for faster performance.
28
  * Free Support through online forums and our Facebook group.
29
  * Fully Responsive and Cross Browser Compatible, Tested By [Browserstack](https://www.browserstack.com)
32
 
33
  ### Available Elements
34
 
35
+ 1. [Vertical Scroll Elementor Widget](https://premiumaddons.com/vertical-scroll-widget-for-elementor-page-builder/) Allows you to create beautiful vertical scroll pages using Elementor.
36
+ 2. [Grid Elementor Widget](https://premiumaddons.com/grid-widget-for-elementor-page-builder/) Highly customizable grid widget that can be used for creating attractive looking image galleries and portfolios.
37
+ 3. [Carousel Elementor Widget](https://premiumaddons.com/carousel-widget-for-elementor-page-builder/) The best all purpose carousel widget for Elementor, It can be used to create testimonials carousel, client logos carousel, or any kind of content.
38
+ 4. [Banner Elementor Widget](https://premiumaddons.com/banner-widget-for-elementor-page-builder/) Animated and interactive banner widget with multiple styles.
39
+ 5. [Google Maps Elementor Widget](https://premiumaddons.com/google-maps-widget-for-elementor-page-builder/) Advanced Google Maps widget with multiple markers, custom styling and much more options.
40
+ 6. [Pricing Table Elementor Widget](https://premiumaddons.com/pricing-table-widget-for-elementor-page-builder/) The most customizable Elementor Pricing Table Widget with tons of customization options.
41
+ 7. [Image Separator Elementor Widget](https://premiumaddons.com/image-separator-widget-elementor-page-builder/) This element adds image separator between sections.
42
+ 8. [Fancy Text Elementor Widget](https://premiumaddons.com/fancy-text-widget-for-elementor-page-builder/) Animated fancy text with many animation styles.
43
+ 9. [Heading Elementor Widget](https://premiumaddons.com/heading-widget-for-elementor-page-builder/) This widget has many customizable ready made styles for headings.
44
+ 10. [Dual Header Elementor Widget](https://premiumaddons.com/dual-header-widget-for-elementor-page-builder/) Create a header with 2 styles with numerous customization options.
45
+ 11. [Testimonials Elementor Widget](https://premiumaddons.com/testimonials-widget-for-elementor-page-builder/) Modern testimonials widget with many customization options.
46
+ 12. [Persons Elementor Widget](https://premiumaddons.com/persons-widget-for-elementor-page-builder/) Very good element for listing team members.
47
+ 13. [Countdown Elementor Widget](https://premiumaddons.com/countdown-widget-for-elementor-page-builder/) Advanced countdown addon for elementor.
48
+ 14. [Blog Elementor Widget](https://premiumaddons.com/blog-widget-for-elementor-page-builder/) Blog posts widget with modern style.
49
+ 15. [Counter Elementor Widget](https://premiumaddons.com/counter-widget-for-elementor-page-builder/) Advanced counter elements with lots of options.
50
+ 16. [Video Box Elementor Widget](https://premiumaddons.com/video-box-widget-for-elementor-page-builder/) Video box element with many customization features.
51
+ 17. [Modal Box Elementor Widget](https://premiumaddons.com/modal-box-widget-for-elementor-page-builder/) All purpose Elementor modal box with many options.
52
+ 18. [Progress Bar Elementor Widget](https://premiumaddons.com/progress-bar-widget-for-elementor-page-builder/) The most advanced progress bar available for Elementor.
53
  19. [Button Elementor Widget](https://premiumaddons.com/button-widget-for-elementor-page-builder/) Advanced button with lots of interactive animation and styling options and onClick event option.
54
+ 20. [Contact Form 7 Elementor Widget](https://premiumaddons.com/contact-form-7-widget-for-elementor-page-builder/) Elementor contact form 7 add-on with 2 readymade styles.
55
+ 21. [Image Button Elementor Widget](https://premiumaddons.com/image-button-widget-for-elementor-page-builder/) A unique element that can be used for innovative call to action ideas.
56
 
57
  ### PRO addons & widgets [Click here](https://premiumaddons.com/pro/)
58
 
137
 
138
  == Changelog ==
139
 
140
+ = 2.7.4 =
141
+
142
+ - New: Added Vertical Scroll widget.
143
+
144
  = 2.7.3 =
145
 
146
  - Tweak: Changed Title for Icon List items in Premium Pricing Table widget.
widgets/premium-vscroll.php ADDED
@@ -0,0 +1,831 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace Elementor;
4
+
5
+ if( ! defined('ABSPATH') ) exit(); // If this file is called directly, abort.
6
+
7
+ class Premium_Vscroll extends Widget_Base {
8
+
9
+ public function getTemplateInstance() {
10
+ return $this->templateInstance = premium_Template_Tags::getInstance();
11
+ }
12
+
13
+ public function get_name() {
14
+ return 'premium-vscroll';
15
+ }
16
+
17
+ public function get_title() {
18
+ return \PremiumAddons\Helper_Functions::get_prefix() . ' Vertical Scroll';
19
+ }
20
+
21
+ public function get_icon() {
22
+ return 'pa-vscroll';
23
+ }
24
+
25
+ public function get_categories() {
26
+ return [ 'premium-elements' ];
27
+ }
28
+
29
+ public function get_script_depends() {
30
+ return [
31
+ 'jquery-visible',
32
+ 'premium-addons-js'
33
+ ];
34
+ }
35
+
36
+ public function is_reload_preview_required() {
37
+ return true;
38
+ }
39
+
40
+ // Adding the controls fields for the premium vertical scroll
41
+ // This will controls the animation, colors and background, dimensions etc
42
+ protected function _register_controls() {
43
+
44
+ $this->start_controls_section('content_templates',
45
+ [
46
+ 'label' => esc_html__('Content', 'premium-addons-for-elementor'),
47
+ ]
48
+ );
49
+
50
+ $this->add_control('template_height_hint',
51
+ [
52
+ 'label' => '<span style="line-height: 1.4em;">It\'s recommended that templates be the same height</span>',
53
+ 'type' => Controls_Manager::RAW_HTML,
54
+
55
+ ]
56
+ );
57
+
58
+ $repeater = new REPEATER();
59
+
60
+ $repeater->add_control('section_content',
61
+ [
62
+ 'label' => esc_html__('Content Type', 'premium-addons-for-elementor'),
63
+ 'type' => Controls_Manager::SELECT,
64
+ 'options' => [
65
+ 'text' => esc_html__('Text Editor', 'premium-addons-for-elementor'),
66
+ 'temp' => esc_html__('Elementor Template', 'premium-addons-for-elementor'),
67
+ ],
68
+ 'default' => 'temp'
69
+ ]
70
+ );
71
+
72
+ $repeater->add_control('section_text',
73
+ [
74
+ 'type' => Controls_Manager::WYSIWYG,
75
+ 'default' => 'Donec id elit non mi porta gravida at eget metus. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Cras mattis consectetur purus sit amet fermentum. Nullam id dolor id nibh ultricies vehicula ut id elit. Donec id elit non mi porta gravida at eget metus.',
76
+ 'label_block' => true,
77
+ 'dynamic' => [ 'active' => true ],
78
+ 'condition' => [
79
+ 'section_content' => 'text',
80
+ ],
81
+ ]
82
+ );
83
+
84
+ $repeater->add_control('section_template',
85
+ [
86
+ 'label' => esc_html__( 'Elementor Template', 'premium-addons-for-elementor' ),
87
+ 'type' => Controls_Manager::SELECT2,
88
+ 'options' => $this->getTemplateInstance()->get_elementor_page_list(),
89
+ 'multiple' => false,
90
+ 'condition' => [
91
+ 'section_content' => 'temp'
92
+ ]
93
+ ]
94
+ );
95
+
96
+ $this->add_control('section_repeater',
97
+ [
98
+ 'label' => esc_html__( 'Sections', 'premium-addons-for-elementor' ),
99
+ 'type' => Controls_Manager::REPEATER,
100
+ 'fields' => array_values( $repeater->get_controls() ),
101
+ ]
102
+ );
103
+
104
+ $this->end_controls_section();
105
+
106
+ $this->start_controls_section('nav_menu',
107
+ [
108
+ 'label' => esc_html__('Navigation', 'premium-addons-for-elementor'),
109
+ ]
110
+ );
111
+
112
+ $this->add_control('nav_menu_switch',
113
+ [
114
+ 'label' => esc_html__('Navigation Menu', 'premium-addons-for-elementor'),
115
+ 'type' => Controls_Manager::SWITCHER,
116
+ 'description' => esc_html__('This option works only on the frontend', 'premium-addons-for-elementor'),
117
+ ]
118
+ );
119
+
120
+ $this->add_control('navigation_menu_pos',
121
+ [
122
+ 'label' => esc_html__('Position', 'premium-addons-for-elementor'),
123
+ 'type' => Controls_Manager::SELECT,
124
+ 'options' => [
125
+ 'left' => esc_html__('Left', 'premium-addons-for-elementor'),
126
+ 'right' => esc_html__('Right', 'premium-addons-for-elementor'),
127
+ ],
128
+ 'default' => 'left',
129
+ 'condition' => [
130
+ 'nav_menu_switch' => 'yes'
131
+ ]
132
+ ]
133
+ );
134
+
135
+ $this->add_responsive_control('navigation_menu_pos_offset_top',
136
+ [
137
+ 'label' => esc_html__('Offset Top', 'premium-addons-for-elementor'),
138
+ 'type' => Controls_Manager::SLIDER,
139
+ 'size_units' => ['px', '%' ,'em'],
140
+ 'selectors' => [
141
+ '{{WRAPPER}} .premium-vscroll-nav-menu' => 'top: {{SIZE}}{{UNIT}};'
142
+ ],
143
+ 'condition' => [
144
+ 'nav_menu_switch' => 'yes',
145
+ ]
146
+ ]
147
+ );
148
+
149
+ $this->add_responsive_control('navigation_menu_pos_offset_left',
150
+ [
151
+ 'label' => esc_html__('Offset Left', 'premium-addons-for-elementor'),
152
+ 'type' => Controls_Manager::SLIDER,
153
+ 'size_units' => ['px', '%' ,'em'],
154
+ 'selectors' => [
155
+ '{{WRAPPER}} .premium-vscroll-nav-menu.left' => 'left: {{SIZE}}{{UNIT}};'
156
+ ],
157
+ 'condition' => [
158
+ 'nav_menu_switch' => 'yes',
159
+ 'navigation_menu_pos' => 'left'
160
+ ]
161
+ ]
162
+ );
163
+
164
+ $this->add_responsive_control('navigation_menu_pos_offset_right',
165
+ [
166
+ 'label' => esc_html__('Offset Right', 'premium-addons-for-elementor'),
167
+ 'type' => Controls_Manager::SLIDER,
168
+ 'size_units' => ['px', '%' ,'em'],
169
+ 'selectors' => [
170
+ '{{WRAPPER}} .premium-vscroll-nav-menu.right' => 'right: {{SIZE}}{{UNIT}};'
171
+ ],
172
+ 'condition' => [
173
+ 'nav_menu_switch' => 'yes',
174
+ 'navigation_menu_pos' => 'right'
175
+ ]
176
+ ]
177
+ );
178
+
179
+ $nav_repeater = new REPEATER();
180
+
181
+ $nav_repeater->add_control('nav_menu_item',
182
+ [
183
+ 'label' => esc_html__( 'List Item', 'premium-addons-for-elementor' ),
184
+ 'type' => Controls_Manager::TEXT,
185
+ ]
186
+ );
187
+
188
+ $this->add_control('nav_menu_repeater',
189
+ [
190
+ 'label' => esc_html__( 'List Items', 'premium-addons-for-elementor' ),
191
+ 'type' => Controls_Manager::REPEATER,
192
+ 'fields' => array_values( $nav_repeater->get_controls() ),
193
+ 'title_field' => '{{{ nav_menu_item }}}',
194
+ 'condition' => [
195
+ 'nav_menu_switch' => 'yes'
196
+ ]
197
+ ]
198
+ );
199
+
200
+ $this->add_control('dots_tooltips',
201
+ [
202
+ 'label' => esc_html__('Dots Tooltips Text', 'premium-addons-for-elementor'),
203
+ 'type' => Controls_Manager::TEXT,
204
+ 'description' => esc_html__('Add text for each navigation dot separated by \',\'','premium-addons-for-elementor')
205
+ ]
206
+ );
207
+
208
+ $this->add_control('navigation_dots_pos',
209
+ [
210
+ 'label' => esc_html__('Dots Horizontal Position', 'premium-addons-for-elementor'),
211
+ 'type' => Controls_Manager::SELECT,
212
+ 'options' => [
213
+ 'left' => esc_html__('Left', 'premium-addons-for-elementor'),
214
+ 'right' => esc_html__('Right', 'premium-addons-for-elementor'),
215
+ ],
216
+ 'default' => 'right'
217
+ ]
218
+ );
219
+
220
+ $this->add_control('navigation_dots_v_pos',
221
+ [
222
+ 'label' => esc_html__('Dots Vertical Position', 'premium-addons-for-elementor'),
223
+ 'type' => Controls_Manager::SELECT,
224
+ 'options' => [
225
+ 'top' => esc_html__('Top', 'premium-addons-for-elementor'),
226
+ 'middle'=> esc_html__('Middle', 'premium-addons-for-elementor'),
227
+ 'bottom'=> esc_html__('Bottom', 'premium-addons-for-elementor'),
228
+ ],
229
+ 'default' => 'middle'
230
+ ]
231
+ );
232
+
233
+ $this->end_controls_section();
234
+
235
+ $this->start_controls_section('advanced_settings',
236
+ [
237
+ 'label' => esc_html__('Scroll Settings', 'premium-addons-for-elementor'),
238
+ ]
239
+ );
240
+
241
+ $this->add_control('scroll_speed',
242
+ [
243
+ 'label' => esc_html__('Scroll Speed', 'premium-addons-for-elementor'),
244
+ 'type' => Controls_Manager::NUMBER,
245
+ 'description' => esc_html__('Set scolling speed in seconds, default: 0.7', 'premium-addons-for-elementor'),
246
+ ]
247
+ );
248
+
249
+ $this->add_control('full_section',
250
+ [
251
+ 'label' => esc_html__('Full Section Scroll', 'premium-addons-for-elementor'),
252
+ 'type' => Controls_Manager::SWITCHER,
253
+ 'default' => 'yes',
254
+ ]
255
+ );
256
+
257
+ $this->end_controls_section();
258
+
259
+ $this->start_controls_section('section_text',
260
+ [
261
+ 'label' => esc_html__('Text', 'premium-addons-for-elementor'),
262
+ 'tab' => CONTROLS_MANAGER::TAB_STYLE,
263
+ ]
264
+ );
265
+
266
+ $this->add_control('text_color',
267
+ [
268
+ 'label' => esc_html__('Text Color', 'premium-addons-for-elementor'),
269
+ 'type' => Controls_Manager::COLOR,
270
+ 'scheme' => [
271
+ 'type' => Scheme_Color::get_type(),
272
+ 'value' => Scheme_Color::COLOR_1,
273
+ ],
274
+ 'selectors' => [
275
+ '{{WRAPPER}} .premium-vscroll-text' => 'color: {{VALUE}};',
276
+ ],
277
+ ]
278
+ );
279
+
280
+ $this->add_control('section_background',
281
+ [
282
+ 'label' => esc_html__('Background Color', 'premium-addons-for-elementor'),
283
+ 'type' => Controls_Manager::COLOR,
284
+ 'selectors' => [
285
+ '{{WRAPPER}} .premium-vscroll-text' => 'background-color: {{VALUE}};',
286
+ ],
287
+ ]
288
+ );
289
+
290
+ $this->add_group_control(
291
+ Group_Control_Typography::get_type(),
292
+ [
293
+ 'name' => 'text_typography',
294
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
295
+ 'selector' => '{{WRAPPER}} .premium-vscroll-text',
296
+ ]
297
+ );
298
+
299
+ $this->add_group_control(
300
+ Group_Control_Border::get_type(),
301
+ [
302
+ 'name' => 'text_border',
303
+ 'selector' => '{{WRAPPER}} .premium-vscroll-text',
304
+ ]
305
+ );
306
+
307
+ $this->add_control('text_border_radius',
308
+ [
309
+ 'label' => esc_html__('Border Radius', 'premium-addons-for-elementor'),
310
+ 'type' => Controls_Manager::SLIDER,
311
+ 'size_units' => ['px', '%' ,'em'],
312
+ 'selectors' => [
313
+ '{{WRAPPER}} .premium-vscroll-text' => 'border-radius: {{SIZE}}{{UNIT}};'
314
+ ]
315
+ ]
316
+ );
317
+
318
+ $this->add_responsive_control('text_margin',
319
+ [
320
+ 'label' => esc_html__('Margin', 'premium-addons-for-elementor'),
321
+ 'type' => Controls_Manager::DIMENSIONS,
322
+ 'size_units' => ['px', 'em', '%'],
323
+ 'selectors' => [
324
+ '{{WRAPPER}} .premium-vscroll-text' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
325
+ ]
326
+ ]
327
+ );
328
+
329
+ $this->add_responsive_control('text_padding',
330
+ [
331
+ 'label' => esc_html__('Padding', 'premium-addons-for-elementor'),
332
+ 'type' => Controls_Manager::DIMENSIONS,
333
+ 'size_units' => ['px', 'em', '%'],
334
+ 'selectors' => [
335
+ '{{WRAPPER}} .premium-vscroll-text' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
336
+ ]
337
+ ]
338
+ );
339
+
340
+ $this->end_controls_section();
341
+
342
+ $this->start_controls_section('navigation_style',
343
+ [
344
+ 'label' => esc_html__('Navigation Dots', 'premium-addons-for-elementor'),
345
+ 'tab' => CONTROLS_MANAGER::TAB_STYLE,
346
+ ]
347
+ );
348
+
349
+ $this->start_controls_tabs('navigation_style_tabs');
350
+
351
+ $this->start_controls_tab('tooltips_style_tab',
352
+ [
353
+ 'label' => esc_html__('Tooltips', 'premium-addons-for-elementor'),
354
+ 'condition' => [
355
+ 'dots_tooltips!' => ''
356
+ ]
357
+ ]
358
+ );
359
+
360
+ $this->add_control('tooltips_color',
361
+ [
362
+ 'label' => esc_html__( 'Tooltips Text Color', 'premium-addons-for-elementor' ),
363
+ 'type' => Controls_Manager::COLOR,
364
+ 'scheme' => [
365
+ 'type' => Scheme_Color::get_type(),
366
+ 'value' => Scheme_Color::COLOR_1
367
+ ],
368
+ 'selectors' => [
369
+ '{{WRAPPER}} .premium-vscroll-tooltip' => 'color: {{VALUE}};',
370
+ ],
371
+ 'condition' => [
372
+ 'dots_tooltips!' => ''
373
+ ]
374
+ ]
375
+ );
376
+
377
+ $this->add_control('tooltips_font',
378
+ [
379
+ 'label' => esc_html__( 'Tooltips Text Font', 'premium-addons-for-elementor' ),
380
+ 'type' => Controls_Manager::FONT,
381
+ 'selectors' => [
382
+ '{{WRAPPER}} .premium-vscroll-tooltip' => 'font-family: {{VALUE}};',
383
+ ],
384
+ 'condition' => [
385
+ 'dots_tooltips!' => ''
386
+ ]
387
+ ]
388
+ );
389
+
390
+ $this->add_control('tooltips_background',
391
+ [
392
+ 'label' => esc_html__( 'Tooltips Background', 'premium-addons-for-elementor' ),
393
+ 'type' => Controls_Manager::COLOR,
394
+ 'scheme' => [
395
+ 'type' => Scheme_Color::get_type(),
396
+ 'value' => Scheme_Color::COLOR_1
397
+ ],
398
+ 'selectors' => [
399
+ '{{WRAPPER}} .premium-vscroll-tooltip' => 'background-color: {{VALUE}};',
400
+ '{{WRAPPER}} .premium-vscroll-inner .premium-vscroll-dots.right .premium-vscroll-tooltip::after' => 'border-left-color: {{VALUE}}',
401
+ '{{WRAPPER}} .premium-vscroll-inner .premium-vscroll-dots.left .premium-vscroll-tooltip::after' => 'border-right-color: {{VALUE}}',
402
+ ],
403
+ 'condition' => [
404
+ 'dots_tooltips!' => ''
405
+ ]
406
+ ]
407
+ );
408
+
409
+ $this->add_control('tooltips_border_radius',
410
+ [
411
+ 'label' => esc_html__( 'Border Radius', 'premium-addons-for-elementor' ),
412
+ 'type' => Controls_Manager::SLIDER,
413
+ 'size_units' => ['px', 'em', '%'],
414
+ 'selectors' => [
415
+ '{{WRAPPER}} .premium-vscroll-tooltip' => 'border-radius: {{SIZE}}{{UNIT}};',
416
+ ],
417
+ 'condition' => [
418
+ 'dots_tooltips!' => ''
419
+ ]
420
+ ]
421
+ );
422
+
423
+ $this->add_responsive_control('tooltips_padding_left',
424
+ [
425
+ 'label' => esc_html__('Padding Left', 'premium-addons-for-elementor'),
426
+ 'type' => Controls_Manager::SLIDER,
427
+ 'size_units' => ['px', 'em', '%'],
428
+ 'selectors' => [
429
+ '{{WRAPPER}} .premium-vscroll-tooltip' => 'padding-left: {{SIZE}}{{UNIT}}',
430
+ ],
431
+ 'condition' => [
432
+ 'dots_tooltips!' => ''
433
+ ]
434
+ ]
435
+ );
436
+
437
+ $this->add_responsive_control('tooltips_padding_right',
438
+ [
439
+ 'label' => esc_html__('Padding Right', 'premium-addons-for-elementor'),
440
+ 'type' => Controls_Manager::SLIDER,
441
+ 'size_units' => ['px', 'em', '%'],
442
+ 'separator' => 'after',
443
+ 'selectors' => [
444
+ '{{WRAPPER}} .premium-vscroll-tooltip' => 'padding-right: {{SIZE}}{{UNIT}}',
445
+ ],
446
+ 'condition' => [
447
+ 'dots_tooltips!' => ''
448
+ ]
449
+ ]
450
+ );
451
+
452
+ $this->end_controls_tab();
453
+
454
+ $this->start_controls_tab('dots_style_tab',
455
+ [
456
+ 'label' => esc_html__('Dots', 'premium-addons-for-elementor'),
457
+ ]
458
+ );
459
+
460
+ $this->add_control('dots_color',
461
+ [
462
+ 'label' => esc_html__( 'Dots Color', 'premium-addons-for-elementor' ),
463
+ 'type' => Controls_Manager::COLOR,
464
+ 'scheme' => [
465
+ 'type' => Scheme_Color::get_type(),
466
+ 'value' => Scheme_Color::COLOR_1
467
+ ],
468
+ 'selectors' => [
469
+ '{{WRAPPER}} .premium-vscroll-dots .premium-vscroll-nav-link span' => 'background-color: {{VALUE}};',
470
+ ]
471
+ ]
472
+ );
473
+
474
+ $this->add_control('active_dot_color',
475
+ [
476
+ 'label' => esc_html__( 'Active Dot Color', 'premium-addons-for-elementor' ),
477
+ 'type' => Controls_Manager::COLOR,
478
+ 'scheme' => [
479
+ 'type' => Scheme_Color::get_type(),
480
+ 'value' => Scheme_Color::COLOR_2
481
+ ],
482
+ 'selectors' => [
483
+ '{{WRAPPER}} .premium-vscroll-dots li.active .premium-vscroll-nav-link span' => 'background-color: {{VALUE}};',
484
+ ]
485
+ ]
486
+ );
487
+
488
+ $this->add_control('dots_border_color',
489
+ [
490
+ 'label' => esc_html__( 'Dots Border Color', 'premium-addons-for-elementor' ),
491
+ 'type' => Controls_Manager::COLOR,
492
+ 'scheme' => [
493
+ 'type' => Scheme_Color::get_type(),
494
+ 'value'=> Scheme_Color::COLOR_2
495
+ ],
496
+ 'selectors' => [
497
+ '{{WRAPPER}} .premium-vscroll-dots .premium-vscroll-nav-link span' => 'border-color: {{VALUE}};',
498
+ ]
499
+ ]
500
+ );
501
+
502
+ $this->end_controls_tab();
503
+
504
+ $this->start_controls_tab('container_style_tab',
505
+ [
506
+ 'label' => esc_html__('Container', 'premium-addons-for-elementor'),
507
+ ]
508
+ );
509
+
510
+ $this->add_control('navigation_background',
511
+ [
512
+ 'label' => esc_html__( 'Background Color', 'premium-addons-for-elementor' ),
513
+ 'type' => Controls_Manager::COLOR,
514
+ 'scheme' => [
515
+ 'type' => Scheme_Color::get_type(),
516
+ 'value'=> Scheme_Color::COLOR_1
517
+ ],
518
+ 'selectors' => [
519
+ '{{WRAPPER}} .premium-vscroll-dots' => 'background-color: {{VALUE}}'
520
+ ]
521
+ ]
522
+ );
523
+
524
+ $this->add_control('navigation_border_radius',
525
+ [
526
+ 'label' => esc_html__( 'Border Radius', 'premium-addons-for-elementor' ),
527
+ 'type' => Controls_Manager::SLIDER,
528
+ 'size_units' => ['px', 'em', '%'],
529
+ 'selectors' => [
530
+ '{{WRAPPER}} .premium-vscroll-dots' => 'border-radius: {{SIZE}}{{UNIT}};',
531
+ ]
532
+ ]
533
+ );
534
+
535
+ $this->add_group_control(
536
+ Group_Control_Box_Shadow::get_type(),
537
+ [
538
+ 'label' => esc_html__('Shadow','premium-addons-for-elementor'),
539
+ 'name' => 'navigation_box_shadow',
540
+ 'selector' => '{{WRAPPER}} .premium-vscroll-dots',
541
+ ]
542
+ );
543
+
544
+ $this->end_controls_tab();
545
+
546
+ $this->end_controls_tabs();
547
+
548
+ $this->end_controls_section();
549
+
550
+ $this->start_controls_section('navigation_menu_style',
551
+ [
552
+ 'label' => esc_html__('Navigation Menu', 'premium-addons-for-elementor'),
553
+ 'tab' => CONTROLS_MANAGER::TAB_STYLE,
554
+ 'condition' => [
555
+ 'nav_menu_switch' => 'yes'
556
+ ]
557
+ ]
558
+ );
559
+
560
+ $this->add_group_control(
561
+ Group_Control_Typography::get_type(),
562
+ [
563
+ 'name' => 'navigation_items_typography',
564
+ 'selector' => '{{WRAPPER}} .premium-vscroll-nav-menu .premium-vscroll-nav-item .premium-vscroll-nav-link'
565
+ ]
566
+ );
567
+
568
+ $this->start_controls_tabs('navigation_menu_style_tabs');
569
+
570
+ $this->start_controls_tab('normal_style_tab',
571
+ [
572
+ 'label' => esc_html__('Normal', 'premium-addons-for-elementor'),
573
+ ]
574
+ );
575
+
576
+ $this->add_control('normal_color',
577
+ [
578
+ 'label' => esc_html__( 'Text Color', 'premium-addons-for-elementor' ),
579
+ 'type' => Controls_Manager::COLOR,
580
+ 'scheme' => [
581
+ 'type' => Scheme_Color::get_type(),
582
+ 'value'=> Scheme_Color::COLOR_1
583
+ ],
584
+ 'selectors' => [
585
+ '{{WRAPPER}} .premium-vscroll-nav-menu .premium-vscroll-nav-item .premium-vscroll-nav-link' => 'color: {{VALUE}}'
586
+ ]
587
+ ]
588
+ );
589
+
590
+ $this->add_control('normal_hover_color',
591
+ [
592
+ 'label' => esc_html__( 'Text Hover Color', 'premium-addons-for-elementor' ),
593
+ 'type' => Controls_Manager::COLOR,
594
+ 'scheme' => [
595
+ 'type' => Scheme_Color::get_type(),
596
+ 'value'=> Scheme_Color::COLOR_1
597
+ ],
598
+ 'selectors' => [
599
+ '{{WRAPPER}} .premium-vscroll-nav-menu .premium-vscroll-nav-item .premium-vscroll-nav-link:hover' => 'color: {{VALUE}}'
600
+ ]
601
+ ]
602
+ );
603
+
604
+ $this->add_control('normal_background',
605
+ [
606
+ 'label' => esc_html__( 'Background Color', 'premium-addons-for-elementor' ),
607
+ 'type' => Controls_Manager::COLOR,
608
+ 'scheme' => [
609
+ 'type' => Scheme_Color::get_type(),
610
+ 'value'=> Scheme_Color::COLOR_2
611
+ ],
612
+ 'selectors' => [
613
+ '{{WRAPPER}} .premium-vscroll-nav-menu .premium-vscroll-nav-item' => 'background-color: {{VALUE}}'
614
+ ]
615
+ ]
616
+ );
617
+
618
+ $this->add_group_control(
619
+ Group_Control_Box_Shadow::get_type(),
620
+ [
621
+ 'label' => esc_html__('Shadow','premium-addons-for-elementor'),
622
+ 'name' => 'normal_shadow',
623
+ 'selector' => '{{WRAPPER}} .premium-vscroll-nav-menu .premium-vscroll-nav-item'
624
+ ]
625
+ );
626
+
627
+ $this->end_controls_tab();
628
+
629
+ $this->start_controls_tab('active_style_tab',
630
+ [
631
+ 'label' => esc_html__('Active', 'premium-addons-for-elementor'),
632
+ ]
633
+ );
634
+
635
+ $this->add_control('active_color',
636
+ [
637
+ 'label' => esc_html__( 'Text Color', 'premium-addons-for-elementor' ),
638
+ 'type' => Controls_Manager::COLOR,
639
+ 'scheme' => [
640
+ 'type' => Scheme_Color::get_type(),
641
+ 'value'=> Scheme_Color::COLOR_2
642
+ ],
643
+ 'selectors' => [
644
+ '{{WRAPPER}} .premium-vscroll-nav-menu .premium-vscroll-nav-item.active .premium-vscroll-nav-link' => 'color: {{VALUE}}'
645
+ ]
646
+ ]
647
+ );
648
+
649
+ $this->add_control('active_hover_color',
650
+ [
651
+ 'label' => esc_html__( 'Text Hover Color', 'premium-addons-for-elementor' ),
652
+ 'type' => Controls_Manager::COLOR,
653
+ 'scheme' => [
654
+ 'type' => Scheme_Color::get_type(),
655
+ 'value'=> Scheme_Color::COLOR_2
656
+ ],
657
+ 'selectors' => [
658
+ '{{WRAPPER}} .premium-vscroll-nav-menu .premium-vscroll-nav-item.active .premium-vscroll-nav-link:hover' => 'color: {{VALUE}}'
659
+ ]
660
+ ]
661
+ );
662
+
663
+ $this->add_control('active_background',
664
+ [
665
+ 'label' => esc_html__( 'Background Color', 'premium-addons-for-elementor' ),
666
+ 'type' => Controls_Manager::COLOR,
667
+ 'scheme' => [
668
+ 'type' => Scheme_Color::get_type(),
669
+ 'value'=> Scheme_Color::COLOR_1
670
+ ],
671
+ 'selectors' => [
672
+ '{{WRAPPER}} .premium-vscroll-nav-menu .premium-vscroll-nav-item.active' => 'background-color: {{VALUE}}'
673
+ ]
674
+ ]
675
+ );
676
+
677
+ $this->add_group_control(
678
+ Group_Control_Box_Shadow::get_type(),
679
+ [
680
+ 'label' => esc_html__('Shadow','premium-addons-for-elementor'),
681
+ 'name' => 'active_shadow',
682
+ 'selector' => '{{WRAPPER}} .premium-vscroll-nav-menu .premium-vscroll-nav-item.active'
683
+ ]
684
+ );
685
+
686
+ $this->end_controls_tabs();
687
+
688
+ $this->add_group_control(
689
+ Group_Control_Border::get_type(),
690
+ [
691
+ 'name' => 'navigation_items_border',
692
+ 'selector' => '{{WRAPPER}} .premium-vscroll-nav-menu .premium-vscroll-nav-item',
693
+ 'separator' => 'before'
694
+ ]
695
+ );
696
+
697
+ $this->add_control('navigation_items_border_radius',
698
+ [
699
+ 'label' => esc_html__('Border Radius', 'premium-addons-for-elementor'),
700
+ 'type' => Controls_Manager::SLIDER,
701
+ 'size_units' => ['px','em','%'],
702
+ 'selectors' => [
703
+ '{{WRAPPER}} .premium-vscroll-nav-menu .premium-vscroll-nav-item' => 'border-radius: {{SIZE}}{{UNIT}};',
704
+ ]
705
+ ]
706
+ );
707
+
708
+ $this->add_responsive_control('navigation_items_margin',
709
+ [
710
+ 'label' => esc_html__('Margin', 'premium-addons-for-elementor'),
711
+ 'type' => Controls_Manager::DIMENSIONS,
712
+ 'size_units' => ['px', 'em', '%'],
713
+ 'selectors' => [
714
+ '{{WRAPPER}} .premium-vscroll-nav-menu .premium-vscroll-nav-item' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
715
+ ],
716
+ ]
717
+ );
718
+
719
+ $this->add_responsive_control('navigation_items_padding',
720
+ [
721
+ 'label' => esc_html__('Padding', 'premium-addons-for-elementor'),
722
+ 'type' => Controls_Manager::DIMENSIONS,
723
+ 'size_units' => ['px', 'em', '%'],
724
+ 'selectors' => [
725
+ '{{WRAPPER}} .premium-vscroll-nav-menu .premium-vscroll-nav-item .premium-vscroll-nav-link' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
726
+ ],
727
+ ]
728
+ );
729
+
730
+ $this->end_controls_section();
731
+
732
+ }
733
+
734
+ protected function get_template_content( $template_id ) {
735
+
736
+ $premium_elements_frontend = new Frontend;
737
+
738
+ $template_content = $premium_elements_frontend->get_builder_content($template_id, true);
739
+
740
+ return $template_content;
741
+ }
742
+
743
+ protected function render() {
744
+
745
+ $settings = $this->get_settings_for_display();
746
+
747
+ $id = $this->get_id();
748
+
749
+ $dots_text = explode(',', $settings['dots_tooltips'] );
750
+
751
+ $this->add_render_attribute( 'vertical_scroll_wrapper', 'class', 'premium-vscroll-wrap' );
752
+
753
+ $this->add_render_attribute( 'vertical_scroll_wrapper', 'id', 'premium-vscroll-wrap-' . $id );
754
+
755
+ $this->add_render_attribute( 'vertical_scroll_inner', 'class', array( 'premium-vscroll-inner' ) );
756
+
757
+ $this->add_render_attribute( 'vertical_scroll_inner', 'id', 'premium-vscroll-' . $id );
758
+
759
+ $this->add_render_attribute( 'vertical_scroll_dots', 'class', array( 'premium-vscroll-dots', $settings['navigation_dots_pos'], $settings['navigation_dots_v_pos'] ) );
760
+
761
+ $this->add_render_attribute( 'vertical_scroll_dots_list', 'class', array( 'premium-vscroll-dots-list' ) );
762
+
763
+ $this->add_render_attribute( 'vertical_scroll_menu', 'id', 'premium-vscroll-nav-menu-' . $id );
764
+
765
+ $this->add_render_attribute( 'vertical_scroll_menu', 'class', array( 'premium-vscroll-nav-menu', $settings['navigation_menu_pos'] ) );
766
+
767
+ $this->add_render_attribute( 'vertical_scroll_sections_wrap', 'id', 'premium-vscroll-sections-wrap-' . $id );
768
+
769
+ $this->add_render_attribute('section_text', 'class', 'premium-vscroll-text');
770
+
771
+ $vscroll_settings = [
772
+ 'id' => $id,
773
+ 'speed' => !empty( $settings['scroll_speed'] ) ? $settings['scroll_speed'] * 1000 : 700,
774
+ 'dotsText' => $dots_text,
775
+ 'dotsPos' => $settings['navigation_dots_pos'],
776
+ 'dotsVPos' => $settings['navigation_dots_v_pos'],
777
+ 'fullSection'=> 'yes' == $settings['full_section'] ? true : false
778
+ ];
779
+
780
+ $templates = $settings['section_repeater'];
781
+
782
+ $nav_items = $settings['nav_menu_repeater'];
783
+
784
+ ?>
785
+
786
+ <div <?php echo $this->get_render_attribute_string('vertical_scroll_wrapper'); ?> data-settings='<?php echo wp_json_encode($vscroll_settings); ?>'>
787
+ <?php if ('yes' == $settings['nav_menu_switch'] ) : ?>
788
+ <ul <?php echo $this->get_render_attribute_string('vertical_scroll_menu'); ?>>
789
+ <?php foreach( $nav_items as $index => $item ) : ?>
790
+ <li data-menuanchor="<?php echo 'section_' . $id . $index; ?>" class="premium-vscroll-nav-item"><a class="premium-vscroll-nav-link" href="<?php echo '#section_' . $id . $index; ?>"><?php echo $item['nav_menu_item'] ?></a></li>
791
+ <?php endforeach; ?>
792
+ </ul>
793
+ <?php endif; ?>
794
+ <div <?php echo $this->get_render_attribute_string('vertical_scroll_inner'); ?>>
795
+ <div <?php echo $this->get_render_attribute_string('vertical_scroll_dots'); ?>>
796
+ <ul <?php echo $this->get_render_attribute_string('vertical_scroll_dots_list'); ?>>
797
+ <?php foreach( $templates as $index => $section ) : ?>
798
+ <li data-index="<?php echo $index; ?>" data-menuanchor="<?php echo 'section_' . $id . $index; ?>" class="premium-vscroll-dot-item"><a class="premium-vscroll-nav-link" href="<?php echo '#section_' . $id . $index; ?>"><span></span></a></li>
799
+ <?php endforeach; ?>
800
+ </ul>
801
+ </div>
802
+ <div <?php echo $this->get_render_attribute_string('vertical_scroll_sections_wrap'); ?>>
803
+
804
+ <?php foreach( $templates as $index => $section ) :
805
+ $this->add_render_attribute('section_' . $index, 'class', [ 'premium-vscroll-temp', 'premium-vscroll-temp-' . $id ] );
806
+ $this->add_render_attribute('section_' . $index, 'id', 'section_' . $id . $index );
807
+ ?>
808
+ <div <?php echo $this->get_render_attribute_string('section_' . $index); ?>>
809
+ <?php
810
+ if('temp' == $section['section_content'] ) :
811
+ $template_id = $section['section_template'];
812
+ echo $this->get_template_content($template_id);
813
+ else :
814
+ ?>
815
+ <div class="premium-vscroll-tabelcell">
816
+ <div <?php echo $this->get_render_attribute_string('section_text'); ?>>
817
+ <?php echo $section['section_text']; ?>
818
+ </div>
819
+ </div>
820
+ <?php
821
+ endif;
822
+ ?>
823
+ </div>
824
+ <?php endforeach; ?>
825
+
826
+ </div>
827
+ </div>
828
+ </div>
829
+
830
+ <?php }
831
+ }