myStickymenu - Version 2.5.7

Version Description

Improvement: Better support for languages that read from right to left (like Hebrew or Arabic) Improvement: Weve also added inherit & system stack font options to give you flexibility when it comes to font choices on your menu bar. Improvement: New MSM dashboard to help you manage your top bars and sticky menus better. Improvement: Disabling sticky menu features - you can now disable the sticky menu feature if you want to use top bars only Improvement: Fixed: Optimized the JS and fix console.log on mystickymenu.js bug

For Pro plan users: Added: You can now put countdown timers on your sticky menu! Best used for promotions or launch announcements!

Download this release

Release Info

Developer galdub
Plugin Icon 128x128 myStickymenu
Version 2.5.7
Comparing to
See all releases

Code changes from version 2.5.6 to 2.5.7

class-review-box.php CHANGED
@@ -193,7 +193,7 @@ class myStickymenu_review_box {
193
  }
194
  </style>
195
  <div class="notice notice-info premio-notice <?php echo esc_attr($this->plugin_slug) ?>-premio-review-box <?php echo esc_attr($this->plugin_slug) ?>-premio-review-box">
196
- <div class="review-box-default" id="default-review-box-<?php echo $this->plugin_slug ?>">
197
  <p>
198
  Hi there, it seems like <b><?php echo esc_attr($this->plugin_name) ?></b> is bringing you some value, and that's pretty awesome! Can you please show us some love and rate <?php echo esc_attr($this->plugin_name) ?> on WordPress? It'll only take 2 minutes of your time, and will really help us spread the word
199
  - <b>Gal Dubinski</b>, Co-founder <img width="30px" src="<?php echo esc_url(plugin_dir_url(__FILE__)."images/premio-owner.png") ?>" />
@@ -206,8 +206,8 @@ class myStickymenu_review_box {
206
  <li><a class="<?php echo esc_attr($this->plugin_slug) ?>-premio-review-box-hide-btn" href="javascript:;">I've already rated you</a></li>
207
  </ul>
208
  </div>
209
- <div class="review-thanks-box" id="review-thanks-<?php echo $this->plugin_slug ?>">
210
- <button class="<?php echo $this->plugin_slug ?>-close-thanks-btn review-thanks-btn"><span class="dashicons dashicons-no-alt"></span></button>
211
 
212
  <div class="review-thanks-img">
213
  <img width="30px" src="<?php echo esc_url(plugin_dir_url(__FILE__)."/images/thanks.gif") ?>" />
@@ -234,19 +234,19 @@ class myStickymenu_review_box {
234
  <script>
235
  jQuery(document).ready(function(){
236
  jQuery("body").addClass("has-premio-box");
237
- jQuery(document).on("click", ".<?php echo $this->plugin_slug ?>-premio-review-dismiss-btn, .<?php echo $this->plugin_slug ?>-premio-review-box-future-btn", function(){
238
- jQuery(".<?php echo $this->plugin_slug ?>-review-box-popup").show();
239
  });
240
- jQuery(document).on("click", ".<?php echo $this->plugin_slug ?>-close-review-box-popup", function(){
241
- jQuery(".<?php echo $this->plugin_slug ?>-review-box-popup").hide();
242
  });
243
- jQuery(document).on("click", ".<?php echo $this->plugin_slug ?>-close-thanks-btn", function(){
244
- jQuery(".<?php echo $this->plugin_slug ?>-review-box-popup").remove();
245
- jQuery(".<?php echo $this->plugin_slug ?>-premio-review-box").remove();
246
  });
247
- jQuery(document).on("click",".<?php echo $this->plugin_slug ?>-premio-review-box-hide-btn",function(){
248
- jQuery("#default-review-box-<?php echo $this->plugin_slug ?>").hide();
249
- jQuery("#review-thanks-<?php echo $this->plugin_slug ?>").show();
250
  jQuery.ajax({
251
  url: "<?php echo admin_url("admin-ajax.php") ?>",
252
  data: "action=<?php echo esc_attr($this->plugin_slug) ?>_review_box&days=-1&nonce=<?php echo esc_attr(wp_create_nonce($this->plugin_slug."_review_box")) ?>",
@@ -256,18 +256,18 @@ class myStickymenu_review_box {
256
  }
257
  });
258
  });
259
- jQuery(document).on("click", ".<?php echo $this->plugin_slug ?>-review-box-options a", function(){
260
  var dataDays = jQuery(this).attr("data-days");
261
- jQuery(".<?php echo $this->plugin_slug ?>-review-box-popup").remove();
262
- jQuery(".<?php echo $this->plugin_slug ?>-premio-review-box").remove();
263
  jQuery("body").removeClass("has-premio-box");
264
  jQuery.ajax({
265
  url: "<?php echo admin_url("admin-ajax.php") ?>",
266
- data: "action=<?php echo esc_attr($this->plugin_slug) ?>_review_box&days="+dataDays+"&nonce=<?php echo esc_attr(wp_create_nonce($this->plugin_slug."_review_box")) ?>",
267
  type: "post",
268
  success: function() {
269
- jQuery(".<?php echo $this->plugin_slug ?>-review-box-popup").remove();
270
- jQuery(".<?php echo $this->plugin_slug ?>-premio-review-box").remove();
271
  }
272
  });
273
  });
193
  }
194
  </style>
195
  <div class="notice notice-info premio-notice <?php echo esc_attr($this->plugin_slug) ?>-premio-review-box <?php echo esc_attr($this->plugin_slug) ?>-premio-review-box">
196
+ <div class="review-box-default" id="default-review-box-<?php echo esc_attr($this->plugin_slug); ?>">
197
  <p>
198
  Hi there, it seems like <b><?php echo esc_attr($this->plugin_name) ?></b> is bringing you some value, and that's pretty awesome! Can you please show us some love and rate <?php echo esc_attr($this->plugin_name) ?> on WordPress? It'll only take 2 minutes of your time, and will really help us spread the word
199
  - <b>Gal Dubinski</b>, Co-founder <img width="30px" src="<?php echo esc_url(plugin_dir_url(__FILE__)."images/premio-owner.png") ?>" />
206
  <li><a class="<?php echo esc_attr($this->plugin_slug) ?>-premio-review-box-hide-btn" href="javascript:;">I've already rated you</a></li>
207
  </ul>
208
  </div>
209
+ <div class="review-thanks-box" id="review-thanks-<?php echo esc_attr($this->plugin_slug); ?>">
210
+ <button class="<?php echo esc_attr($this->plugin_slug); ?>-close-thanks-btn review-thanks-btn"><span class="dashicons dashicons-no-alt"></span></button>
211
 
212
  <div class="review-thanks-img">
213
  <img width="30px" src="<?php echo esc_url(plugin_dir_url(__FILE__)."/images/thanks.gif") ?>" />
234
  <script>
235
  jQuery(document).ready(function(){
236
  jQuery("body").addClass("has-premio-box");
237
+ jQuery(document).on("click", ".<?php echo esc_attr($this->plugin_slug); ?>-premio-review-dismiss-btn, .<?php echo esc_attr($this->plugin_slug); ?>-premio-review-box-future-btn", function(){
238
+ jQuery(".<?php echo esc_attr($this->plugin_slug); ?>-review-box-popup").show();
239
  });
240
+ jQuery(document).on("click", ".<?php echo esc_attr($this->plugin_slug); ?>-close-review-box-popup", function(){
241
+ jQuery(".<?php echo esc_attr($this->plugin_slug); ?>-review-box-popup").hide();
242
  });
243
+ jQuery(document).on("click", ".<?php echo esc_attr($this->plugin_slug); ?>-close-thanks-btn", function(){
244
+ jQuery(".<?php echo esc_attr($this->plugin_slug); ?>-review-box-popup").remove();
245
+ jQuery(".<?php echo esc_attr($this->plugin_slug); ?>-premio-review-box").remove();
246
  });
247
+ jQuery(document).on("click",".<?php echo esc_attr($this->plugin_slug); ?>-premio-review-box-hide-btn",function(){
248
+ jQuery("#default-review-box-<?php echo esc_attr($this->plugin_slug); ?>").hide();
249
+ jQuery("#review-thanks-<?php echo esc_attr($this->plugin_slug); ?>").show();
250
  jQuery.ajax({
251
  url: "<?php echo admin_url("admin-ajax.php") ?>",
252
  data: "action=<?php echo esc_attr($this->plugin_slug) ?>_review_box&days=-1&nonce=<?php echo esc_attr(wp_create_nonce($this->plugin_slug."_review_box")) ?>",
256
  }
257
  });
258
  });
259
+ jQuery(document).on("click", ".<?php echo esc_attr($this->plugin_slug); ?>-review-box-options a", function(){
260
  var dataDays = jQuery(this).attr("data-days");
261
+ jQuery(".<?php echo esc_attr($this->plugin_slug); ?>-review-box-popup").remove();
262
+ jQuery(".<?php echo esc_attr($this->plugin_slug); ?>-premio-review-box").remove();
263
  jQuery("body").removeClass("has-premio-box");
264
  jQuery.ajax({
265
  url: "<?php echo admin_url("admin-ajax.php") ?>",
266
+ data: "action=<?php echo esc_attr($this->plugin_slug); ?>_review_box&days="+dataDays+"&nonce=<?php echo esc_attr(wp_create_nonce($this->plugin_slug."_review_box")) ?>",
267
  type: "post",
268
  success: function() {
269
+ jQuery(".<?php echo esc_attr($this->plugin_slug); ?>-review-box-popup").remove();
270
+ jQuery(".<?php echo esc_attr($this->plugin_slug); ?>-premio-review-box").remove();
271
  }
272
  });
273
  });
class-upgrade-box.php ADDED
@@ -0,0 +1,326 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Sticky_menu_upgrade_box {
3
+
4
+ public $plugin_name = "myStickymenu";
5
+
6
+ public $plugin_slug = "my-sticky-menu";
7
+
8
+ public function __construct() {
9
+
10
+ add_action("wp_ajax_".$this->plugin_slug."_upgrade_box", array($this, "mystickymenu_upgradetopro"));
11
+ add_action('admin_notices', array($this, 'admin_notices'));
12
+
13
+ }
14
+
15
+ public function mystickymenu_upgradetopro() {
16
+ $nonce = filter_input(INPUT_POST, 'nonce', FILTER_SANITIZE_STRING);
17
+ $days = filter_input(INPUT_POST, 'days', FILTER_SANITIZE_STRING);
18
+ if(!empty($nonce) && wp_verify_nonce($nonce, $this->plugin_slug."_upgrade_box")) {
19
+ if($days == -1) {
20
+ add_option($this->plugin_slug."_hide_upgrade_box", "1");
21
+ } else {
22
+ $date = date("Y-m-d", strtotime("+".$days." days"));
23
+ update_option($this->plugin_slug."_show_upgrade_box_after", $date);
24
+ }
25
+ }
26
+ die;
27
+ }
28
+
29
+ public function admin_notices() {
30
+
31
+ $is_hidden = get_option($this->plugin_slug."_hide_upgrade_box");
32
+
33
+ if($is_hidden !== false) {
34
+ return;
35
+ }
36
+ $current_count = get_option($this->plugin_slug."_show_upgrade_box_after");
37
+ if($current_count === false) {
38
+ $date = date("Y-m-d", strtotime("+15 days"));
39
+ add_option($this->plugin_slug."_show_upgrade_box_after", $date);
40
+ return;
41
+ }
42
+ $date_to_show = get_option($this->plugin_slug."_show_upgrade_box_after");
43
+ if($date_to_show !== false) {
44
+ $current_date = date("Y-m-d");
45
+ if($current_date < $date_to_show) {
46
+ return;
47
+ }
48
+ }
49
+ ?>
50
+ <style>
51
+ .mystickymenu-tab-integration-action{
52
+ padding: 0 10px;
53
+ /* float: right;*/
54
+ }
55
+
56
+
57
+ .mystickymenu-tab-integration-action a {
58
+ display: inline-block;
59
+ text-decoration: none;
60
+ position: unset;
61
+ padding: 0px;
62
+ margin-left:15px;
63
+ font-size: 13px;
64
+ color: #3C85F7 !important;
65
+ background-color: #fff;
66
+ border-radius: 5px;
67
+ border: 2px solid #3C85F7;
68
+ min-width: 110px;
69
+ text-align: center;
70
+ line-height: 25px;
71
+ }
72
+
73
+ .<?php echo esc_attr($this->plugin_slug); ?>-premio-upgrade-box .
74
+ mystickymenu-tab-integration-action a {
75
+ /*display: inline-block;
76
+ float: right;
77
+ text-decoration: none;
78
+ position: unset;
79
+ padding: 0px;
80
+ font-size: 13px;
81
+ right: 50px;
82
+ top: 7px;
83
+ color: #3C85F7;
84
+ background-color: #fff;
85
+ border-radius: 5px;
86
+ border: 2px solid #3C85F7;
87
+ min-width: 110px;
88
+ text-align: center;
89
+ line-height: 25px;*/
90
+ }
91
+
92
+
93
+ .<?php echo esc_attr($this->plugin_slug); ?>-premio-upgrade-box .mystickymenu-tab-integration-action a:hover{
94
+ background-color:#fff
95
+ }
96
+
97
+
98
+
99
+
100
+ .<?php echo esc_attr($this->plugin_slug); ?>-premio-upgrade-box p a {
101
+ display: inline-block;
102
+ /* float: right;*/
103
+ text-decoration: none;
104
+ color: #999999;
105
+ /*position: absolute;
106
+ right: 12px;
107
+ top: 12px;*/
108
+ }
109
+
110
+
111
+ .dismiss-btn{
112
+ float:right;
113
+ }
114
+
115
+
116
+ .<?php echo esc_attr($this->plugin_slug); ?>-premio-upgrade-box p a:hover, .<?php echo esc_attr($this->plugin_slug); ?>-premio-upgrade-box p a:focus {
117
+ color: #333333;
118
+ }
119
+ .<?php echo esc_attr($this->plugin_slug); ?>-premio-upgrade-box .button span {
120
+ display: inline-block;
121
+ line-height: 27px;
122
+ font-size: 16px;
123
+ }
124
+ .<?php echo esc_attr($this->plugin_slug); ?>-upgrade-box-popup {
125
+ position: fixed;
126
+ width: 100%;
127
+ height: 100%;
128
+ z-index: 10001;
129
+ background: rgba(0,0,0,0.65);
130
+ top: 0;
131
+ left: 0;
132
+ display: none;
133
+ }
134
+ .<?php echo esc_attr($this->plugin_slug); ?>-upgrade-box-popup-content {
135
+ background: #ffffff;
136
+ padding: 20px;
137
+ position: absolute;
138
+ max-width: 450px;
139
+ width: 100%;
140
+ margin: 0 auto;
141
+ top: 45%;
142
+ left: 0;
143
+ right: 0;
144
+ -webkit-border-radius: 5px;
145
+ -moz-border-radius: 5px;
146
+ border-radius: 5px;: ;
147
+ }
148
+ .<?php echo esc_attr($this->plugin_slug); ?>-upgrade-box-title {
149
+ padding: 0 0 10px 0;
150
+ font-weight: bold;
151
+ }
152
+ .<?php echo esc_attr($this->plugin_slug); ?>-upgrade-box-options a {
153
+ display: block;
154
+ margin: 5px 0 5px 0;
155
+ color: #333;
156
+ text-decoration: none;
157
+ }
158
+ .<?php echo esc_attr($this->plugin_slug); ?>-upgrade-box-options a.dismiss {
159
+ color: #999;
160
+ }
161
+ .<?php echo esc_attr($this->plugin_slug); ?>-upgrade-box-options a:hover, .affiliate-options a:focus {
162
+ color: #0073aa;
163
+ }
164
+ button.<?php echo esc_attr($this->plugin_slug); ?>-close-upgrade-box-popup {
165
+ position: absolute;
166
+ top: 5px;
167
+ right: 0;
168
+ border: none;
169
+ background: transparent;
170
+ cursor: pointer;
171
+ }
172
+ a.button.button-primary.<?php echo esc_attr($this->plugin_slug); ?>-upgrade-box-btn {
173
+ font-size: 14px;
174
+ background: #F51366;
175
+ color: #fff;
176
+ border: solid 1px #F51366;
177
+ border-radius: 3px;
178
+ line-height: 24px;
179
+ -webkit-box-shadow: 0 3px 5px -3px #333333;
180
+ -moz-box-shadow: 0 3px 5px -3px #333333;
181
+ box-shadow: 0 3px 5px -3px #333333;
182
+ text-shadow: none;
183
+ }
184
+ .notice.notice-info.premio-notice {
185
+ position: relative;
186
+ padding: 1px 10px 1px 12px;
187
+ }
188
+ .notice.notice-info.premio-notice ul li {
189
+ margin: 0;
190
+ }
191
+ .notice.notice-info.premio-notice ul li a {
192
+ color: #0073aa;
193
+ font-size: 14px;
194
+ text-decoration: underline;
195
+ }
196
+ .<?php echo esc_attr($this->plugin_slug); ?>-premio-upgrade-box p {
197
+ line-height: 30px;
198
+ vertical-align: middle;
199
+ padding: 0 10px 0 0;
200
+ font-size: 14px;
201
+ }
202
+ .<?php echo esc_attr($this->plugin_slug); ?>-premio-upgrade-box p img {
203
+ width: 30px;
204
+ height: 30px;
205
+ display: inline-block;
206
+ margin: 0 10px;
207
+ vertical-align: middle;
208
+ border-radius: 15px;
209
+ }
210
+ .review-thanks-img img {
211
+ width: 100%;
212
+ height: auto;
213
+ max-width: 200px;
214
+ }
215
+ .review-thanks-msg {
216
+ padding: 5px 0 0 10px;
217
+ display: inline-block;
218
+ text-align: left;
219
+ }
220
+ .review-thanks-box {
221
+ padding: 10px 0 10px 0;
222
+ position: relative;
223
+ text-align: center;
224
+ display: none;
225
+ }
226
+ .upgrade-box-default {
227
+ }
228
+ .review-thanks-btn {
229
+ border: 0;
230
+ background: transparent;
231
+ position: absolute;
232
+ right: -30px;
233
+ top: 5px;
234
+ }
235
+ .review-thanks-img {
236
+ display: inline-block;
237
+ vertical-align: top;
238
+ width: 200px;
239
+ }
240
+ .thanks-msg-title {
241
+ font-weight: bold;
242
+ font-size: 18px;
243
+ }
244
+ .thanks-msg-desc {
245
+ padding: 24px 0;
246
+ }
247
+ .thanks-msg-footer {
248
+ font-weight: bold;
249
+ }
250
+ </style>
251
+ <div class="notice notice-info premio-notice <?php echo esc_attr($this->plugin_slug); ?>-premio-upgrade-box <?php echo esc_attr($this->plugin_slug); ?>-premio-upgrade-box">
252
+ <div class="upgrade-box-default" id="default-upgrade-box-<?php echo esc_attr($this->plugin_slug); ?>">
253
+ <p>
254
+ <strong>Upgrade to MyStickyMenu Pro to</strong> experience more awesome features
255
+ <span class="mystickymenu-tab-integration-action">
256
+ <a href="<?php echo esc_url(admin_url("admin.php?page=my-stickymenu-upgrade")); ?>" target="_blank" class="btn upgradenow-box-btn" data-days="-1">Upgrade now</a>
257
+ </span>
258
+ <a href="javascript:;" class="dismiss-btn <?php echo esc_attr($this->plugin_slug); ?>-premio-upgrade-dismiss-btn"><span class="dashicons dashicons-no-alt"></span></a>
259
+ </p>
260
+ <div class="clear clearfix"></div>
261
+ </div>
262
+ </div>
263
+ <div class="<?php echo esc_attr($this->plugin_slug); ?>-upgrade-box-popup">
264
+ <div class="<?php echo esc_attr($this->plugin_slug); ?>-upgrade-box-popup-content">
265
+ <button class="<?php echo esc_attr($this->plugin_slug); ?>-close-upgrade-box-popup"><span class="dashicons dashicons-no-alt"></span></button>
266
+ <div class="<?php echo esc_attr($this->plugin_slug); ?>-upgrade-box-title">Would you like us to remind you about this later?</div>
267
+ <div class="<?php echo esc_attr($this->plugin_slug); ?>-upgrade-box-options">
268
+ <a href="javascript:;" data-days="7">Remind me in 7 days</a>
269
+ <a href="javascript:;" data-days="30">Remind me in 30 days</a>
270
+ <a href="javascript:;" data-days="-1" class="dismiss">Don't remind me about this</a>
271
+ </div>
272
+ </div>
273
+ </div>
274
+ <script>
275
+ jQuery(document).ready(function(){
276
+ jQuery("body").addClass("has-premio-box");
277
+ jQuery(document).on("click", ".<?php echo esc_attr($this->plugin_slug); ?>-premio-upgrade-dismiss-btn, .<?php echo esc_attr($this->plugin_slug); ?>-premio-upgrade-box-future-btn", function(){
278
+ jQuery(".<?php echo esc_attr($this->plugin_slug); ?>-upgrade-box-popup").show();
279
+ });
280
+ jQuery(document).on("click", ".<?php echo esc_attr($this->plugin_slug); ?>-close-upgrade-box-popup", function(){
281
+ jQuery(".<?php echo esc_attr($this->plugin_slug); ?>-upgrade-box-popup").hide();
282
+ });
283
+
284
+ jQuery(document).on("click", ".<?php echo esc_attr($this->plugin_slug); ?>-upgrade-box-options a", function(){
285
+ var dataDays = jQuery(this).attr("data-days");
286
+ jQuery(".<?php echo esc_attr($this->plugin_slug); ?>-upgrade-box-popup").remove();
287
+ jQuery(".<?php echo esc_attr($this->plugin_slug); ?>-premio-upgrade-box").remove();
288
+ jQuery("body").removeClass("has-premio-box");
289
+ jQuery.ajax({
290
+ url: "<?php echo admin_url("admin-ajax.php") ?>",
291
+ data: "action=<?php echo esc_attr($this->plugin_slug) ?>_upgrade_box&days="+dataDays+"&nonce=<?php echo esc_attr(wp_create_nonce($this->plugin_slug."_upgrade_box")) ?>",
292
+ type: "post",
293
+ success: function() {
294
+ jQuery(".<?php echo esc_attr($this->plugin_slug); ?>-upgrade-box-popup").remove();
295
+ jQuery(".<?php echo esc_attr($this->plugin_slug); ?>-premio-upgrade-box").remove();
296
+ }
297
+ });
298
+ });
299
+
300
+ jQuery(document).on("click",".upgradenow-box-btn",function(){
301
+ jQuery(".notice.notice-info.premio-notice").hide();
302
+
303
+ var dataDays = jQuery(this).attr("data-days");
304
+
305
+ jQuery(".<?php echo esc_attr($this->plugin_slug); ?>-upgrade-box-popup").remove();
306
+ jQuery(".<?php echo esc_attr($this->plugin_slug); ?>-premio-upgrade-box").remove();
307
+ jQuery("body").removeClass("has-premio-box");
308
+
309
+ jQuery.ajax({
310
+ url: "<?php echo admin_url("admin-ajax.php") ?>",
311
+ data: "action=<?php echo esc_attr($this->plugin_slug) ?>_upgrade_box&days="+dataDays+"&nonce=<?php echo esc_attr(wp_create_nonce($this->plugin_slug."_upgrade_box")) ?>",
312
+ type: "post",
313
+ success: function() {
314
+ jQuery(".<?php echo esc_attr($this->plugin_slug); ?>-upgrade-box-popup").remove();
315
+ jQuery(".<?php echo esc_attr($this->plugin_slug); ?>-premio-upgrade-box").remove();
316
+ }
317
+ });
318
+ });
319
+ });
320
+
321
+ jQuery
322
+ </script>
323
+ <?php
324
+ }
325
+ }
326
+ $Sticky_menu_upgrade_box = new Sticky_menu_upgrade_box();
css/admin-setting-rtl.css ADDED
@@ -0,0 +1,624 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @import url(https://fonts.googleapis.com/css2?family=Lato:ital, wght@0, 100;
2
+ 0, 300;
3
+ 0, 400;
4
+ 0, 700;
5
+ 0, 900;
6
+ 1, 100;
7
+ 1, 300;
8
+ 1, 400;
9
+ 1, 700;
10
+ 1, 900&display=swap);
11
+ *, : after, :before {
12
+ box-sizing: border-box;
13
+ }
14
+ #wpwrap {
15
+ background: #6572db;
16
+ background: -moz-linear-gradient(-45deg, #6572db 0, #ee86c6 67%, #ee86c6 100%);
17
+ background: -webkit-gradient(right top, left bottom, color-stop(0, #6572db), color-stop(67%, #ee86c6), color-stop(100%, #ee86c6));
18
+ background: -webkit-linear-gradient(-45deg, #6572db 0, #ee86c6 67%, #ee86c6 100%);
19
+ background: -o-linear-gradient(-45deg, #6572db 0, #ee86c6 67%, #ee86c6 100%);
20
+ background: -ms-linear-gradient(-45deg, #6572db 0, #ee86c6 67%, #ee86c6 100%);
21
+ background: linear-gradient(135deg, #6572db 0, #ee86c6 67%, #ee86c6 100%);
22
+ }
23
+ .pricing-table {
24
+ margin: 0 0 45px;
25
+ color: #28375a;
26
+ font-size: 16px;
27
+ line-height: 25px;
28
+ font-family: Lato, sans-serif;
29
+ }
30
+ .price-title {
31
+ font-weight: 700;
32
+ font-size: 24px;
33
+ line-height: 30px;
34
+ color: #28375a;
35
+ text-align: center;
36
+ }
37
+ .price-table {
38
+ background: #fff;
39
+ box-sizing: border-box;
40
+ border-radius: 10px;
41
+ position: relative;
42
+ }
43
+ .price-table-top {
44
+ padding: 20px;
45
+ position: relative;
46
+ border-radius: 10px;
47
+ }
48
+ .price-table.basic-feature {
49
+ box-shadow: 0 12px 44px rgba(108, 203, 255, .2);
50
+ border: 2px solid #b9eafd;
51
+ }
52
+ .price-table.basic-feature .price-table-top {
53
+ background: url(../images/basic-price-bg.png) no-repeat left top;
54
+ }
55
+ .price-table.plus-feature {
56
+ border: 2px solid #f9d9bd;
57
+ box-shadow: 0 12px 44px rgba(239, 140, 106, .2);
58
+ }
59
+ .price-table.plus-feature .price-table-top {
60
+ background: url(../images/plus-price.png) no-repeat left top;
61
+ }
62
+ .price-table.agency-feature {
63
+ border: 2px solid #cfd3fb;
64
+ box-shadow: 0 12px 44px rgba(96, 93, 236, .2);
65
+ }
66
+ .price-table.agency-feature .price-table-top {
67
+ background: url(../images/agency-price.png) no-repeat left top;
68
+ }
69
+ .price-tables {
70
+ margin: 30px 0 50px;
71
+ }
72
+ .plan-name {
73
+ font-size: 30px;
74
+ line-height: 36px;
75
+ font-weight: 700;
76
+ color: #28375a;
77
+ }
78
+ .plan-price {
79
+ position: absolute;
80
+ left: 12px;
81
+ top: 8px;
82
+ font-weight: 700;
83
+ font-size: 60px;
84
+ line-height: 72px;
85
+ color: #42b9fa;
86
+ }
87
+ .price-table.plus-feature .plan-price {
88
+ color: #ef8c6a;
89
+ }
90
+ .price-table.agency-feature .plan-price {
91
+ color: #605dec;
92
+ }
93
+ .price-table.agency-feature .plan-name {
94
+ color: #fff;
95
+ }
96
+ .price-head {
97
+ line-height: 72px;
98
+ padding: 5px 0 25px 0;
99
+ }
100
+ .price-offer, .price-websites {
101
+ line-height: 18px;
102
+ font-size: 15px;
103
+ }
104
+ .cus-tooltip {
105
+ cursor: pointer;
106
+ display: inline-block;
107
+ position: relative;
108
+ }
109
+ .cus-tooltip .tooltip__content {
110
+ background-color: #1849ab;
111
+ border-radius: 4px;
112
+ bottom: 150%;
113
+ color: #fff;
114
+ right: 0;
115
+ margin-right: 15px;
116
+ opacity: 0;
117
+ padding: 5px 10px;
118
+ position: absolute;
119
+ transition: opacity .25s;
120
+ visibility: hidden;
121
+ width: auto;
122
+ z-index: 1;
123
+ text-align: right;
124
+ margin-left: 15px;
125
+ font-size: 14px;
126
+ line-height: 20px;
127
+ }
128
+ .cus-tooltip .tooltip__content::after {
129
+ border-width: 5px;
130
+ border-style: solid;
131
+ border-color: #1849ab transparent transparent transparent;
132
+ content: "";
133
+ right: 25px;
134
+ margin-right: -5px;
135
+ position: absolute;
136
+ top: 100%}
137
+ .cus-tooltip:hover .tooltip__content {
138
+ opacity: 1;
139
+ visibility: visible;
140
+ }
141
+ .price-table-middle ul {
142
+ list-style: none;
143
+ margin: 0;
144
+ padding: 0;
145
+ }
146
+ .price-table-middle ul li {
147
+ display: block;
148
+ width: 100%;
149
+ border-bottom: solid 1px #e9e9e9;
150
+ padding: 15px 0;
151
+ margin: 0;
152
+ }
153
+ .price-table-middle ul li a {
154
+ padding: 0 15px;
155
+ color: #28375a;
156
+ font-size: 16px;
157
+ line-height: 19px;
158
+ display: block;
159
+ text-decoration: none;
160
+ }
161
+ span.has-tooltip {
162
+ color: #605dec;
163
+ }
164
+ .price-table-bottom {
165
+ padding: 15px;
166
+ }
167
+ .price-table.is-fixed {
168
+ padding-bottom: 140px;
169
+ position: relative;
170
+ }
171
+ .price-table.is-fixed .price-table-bottom {
172
+ position: fixed;
173
+ left: 0;
174
+ width: 100%;
175
+ border-top: solid 2px #e9e9e9;
176
+ background: #fff;
177
+ }
178
+ .bottom-position {
179
+ position: absolute;
180
+ left: 0;/*------------------------------------------*/
181
+ bottom: 0;
182
+ height: 1px;
183
+ width: 1px;
184
+ }
185
+ .custom-dd-btn {
186
+ background: #fff;
187
+ border: 1px solid #e9e9e9;
188
+ border-radius: 6px;
189
+ height: 40px;
190
+ line-height: 40px;
191
+ width: 100%;
192
+ text-align: right;
193
+ padding: 0 15px;
194
+ }
195
+ .custom-dd {
196
+ margin-bottom: 15px;
197
+ }
198
+ .price-table-bottom a {
199
+ background: #fff;
200
+ border: 1px solid #42b9fa;
201
+ color: #42b9fa;
202
+ border-radius: 20px;
203
+ height: 40px;
204
+ line-height: 38px;
205
+ padding: 0 15px;
206
+ display: block;
207
+ text-align: center;
208
+ transition: all .25s linear;
209
+ }
210
+ .price-table-bottom a:hover {
211
+ color: #fff;
212
+ background: #42b9fa;
213
+ }
214
+ .price-table.plus-feature .price-table-bottom a {
215
+ background: #ef8c6a;
216
+ border: 1px solid #ef8c6a;
217
+ color: #fff;
218
+ }
219
+ .price-table.plus-feature .price-table-bottom a:hover {
220
+ background: #fff;
221
+ color: #ef8c6a;
222
+ }
223
+ .price-table.agency-feature .price-table-bottom a {
224
+ background: #fff;
225
+ border: 1px solid #605dec;
226
+ color: #605dec;
227
+ }
228
+ .price-table.agency-feature .price-table-bottom a:hover {
229
+ background: #605dec;
230
+ color: #fff;
231
+ }
232
+ .container {
233
+ max-width: 1180px;
234
+ width: 100%;
235
+ padding: 30px;
236
+ background: #fff;
237
+ border-radius: 15px;
238
+ margin: 50px auto;
239
+ box-sizing: border-box;
240
+ }
241
+ .row {
242
+ margin-left: -15px;
243
+ margin-right: -15px;
244
+ }
245
+ .col-md-4 {
246
+ padding-left: 15px;
247
+ padding-right: 15px;
248
+ width: 33.33333333%;
249
+ float: right;
250
+ box-sizing: border-box;
251
+ }
252
+ .select2-container--default .select2-selection--single {
253
+ background: #fff;
254
+ border: 1px solid #e9e9e9;
255
+ border-radius: 6px;
256
+ height: 40px;
257
+ line-height: 40px;
258
+ width: 100%;
259
+ text-align: right;
260
+ padding: 0 15px;
261
+ outline: 0;
262
+ }
263
+ span.select2.select2-container {
264
+ width: 100%!important;
265
+ }
266
+ .website-package {
267
+ padding: 0 15px;
268
+ line-height: 18px;
269
+ }
270
+ .select2-container--default .select2-results__option--highlighted[aria-selected] {
271
+ background-color: #5897fb;
272
+ color: #fff;
273
+ }
274
+ .website-package .select2-container--default .select2-results>.select2-results__options {
275
+ margin-top: 5px;
276
+ }
277
+ .custom-dd .select2-container--default .select2-selection--single .select2-selection__arrow {
278
+ height: 20px;
279
+ top: 10px;
280
+ left: 1px;
281
+ width: 20px;
282
+ }
283
+ @media (min-width:768px) {
284
+ .col-sm-4 {
285
+ width: 100%;
286
+ float: none;
287
+ }
288
+ }a, a:focus, a:hover {
289
+ text-decoration: none;
290
+ }
291
+ .select2-container--default .select2-selection--single .select2-selection__rendered {
292
+ color: #444;
293
+ line-height: 38px;
294
+ }
295
+ .select2-results__option {
296
+ user-select: none;
297
+ -webkit-user-select: none;
298
+ font-size: 14px;
299
+ padding: 8px 25px;
300
+ margin: 0;
301
+ }
302
+ .select2-dropdown {
303
+ border: 1px solid #e9e9e9;
304
+ }
305
+ .price-after {
306
+ padding: 0;
307
+ text-align: center;
308
+ font-size: 16px;
309
+ line-height: 25px;
310
+ font-family: Lato, sans-serif;
311
+ }
312
+ .price-after p, .price-after span {
313
+ font-size: 16px;
314
+ line-height: 25px;
315
+ margin: 0;
316
+ padding: 0;
317
+ }
318
+ .clearfix {
319
+ clear: both;
320
+ }
321
+ .price-after span {
322
+ display: inline-block;
323
+ vertical-align: text-top;
324
+ font-size: 20px;
325
+ color: #42b9fa;
326
+ }
327
+ .payments {
328
+ padding: 20px 0 10px;
329
+ }
330
+ .folder-testimonial-list {
331
+ width: 100%;
332
+ margin: 30px auto 0;
333
+ font-family: Lato, sans-serif;
334
+ }
335
+ .folder-testimonial {
336
+ position: relative;
337
+ }
338
+ .folder-testimonial .testimonial-image {
339
+ position: absolute;
340
+ height: 60px;
341
+ width: 60px;
342
+ top: 50%;
343
+ margin-top: -30px;
344
+ z-index: 1;
345
+ overflow: hidden;
346
+ border-radius: 30px;
347
+ }
348
+ .folder-testimonial .testimonial-image img {
349
+ width: 100%;
350
+ height: auto;
351
+ }
352
+ .folder-testimonial .testimonial-data {
353
+ position: relative;
354
+ margin-right: 30px;
355
+ font-size: 16px;
356
+ line-height: 22px;
357
+ padding: 10px 10px 10px 40px;
358
+ background: #f5f5f5;
359
+ border-radius: 4px;
360
+ }
361
+ .testimonial-title {
362
+ font-weight: 700;
363
+ font-size: 18px;
364
+ padding: 0 0 5px;
365
+ }
366
+ .testimonial-author {
367
+ font-size: 16px;
368
+ font-style: italic;
369
+ font-weight: 500;
370
+ padding: 5px 0 0;
371
+ }
372
+ .plan-price span {
373
+ font-size: 16px;
374
+ color: #28375a;
375
+ }
376
+ .price-table-middle {
377
+ margin-top: 21px;
378
+ }
379
+ .agency-feature .price-table-middle {
380
+ margin-top: 0;
381
+ }
382
+ .website-package .select2-container--default .select2-selection--single {
383
+ border: 1px solid #6156f6;
384
+ box-shadow: 0 12px 44px rgba(96, 93, 236, .2);
385
+ }
386
+ .website-package .select2-container--default .select2-selection--single .select2-selection__rendered {
387
+ color: #6156f6;
388
+ }
389
+ .website-package .select2-container--default .select2-selection--single .select2-selection__arrow b {
390
+ border-color: #6156f6 transparent transparent transparent;
391
+ }
392
+ .website-package .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
393
+ border-color: transparent transparent #6156f6 transparent;
394
+ border-width: 0 4px 5px 4px;
395
+ }
396
+ .folders-tabs {
397
+ max-width: inherit;
398
+ }
399
+ .basic-feature .price-table-bottom .select2-container--default .select2-selection--single {
400
+ border: 1px solid #42b9fa;
401
+ box-shadow: 0 12px 44px rgba(66, 182, 250, .2);
402
+ }
403
+ .basic-feature .select2-container--default .select2-selection--single .select2-selection__arrow b {
404
+ border-color: #42b9fa transparent transparent transparent;
405
+ }
406
+ .plus-feature .price-table-bottom .select2-container--default .select2-selection--single {
407
+ border: 1px solid #ef8c6a;
408
+ box-shadow: 0 12px 44px rgba(239, 140, 106, .2);
409
+ }
410
+ .plus-feature .select2-container--default .select2-selection--single .select2-selection__arrow b {
411
+ border-color: #ef8c6a transparent transparent transparent;
412
+ }
413
+ .agency-feature .price-table-bottom .select2-container--default .select2-selection--single {
414
+ border: 1px solid #6156f6;
415
+ box-shadow: 0 12px 44px rgba(96, 93, 236, .2);
416
+ }
417
+ .agency-feature .select2-container--default .select2-selection--single .select2-selection__arrow b {
418
+ border-color: #6156f6 transparent transparent transparent;
419
+ }
420
+ .basic-feature.price-table.is-fixed .price-table-bottom {
421
+ border-color: #b9eafd;
422
+ }
423
+ .plus-feature.price-table.is-fixed .price-table-bottom {
424
+ border-color: #f9d9bd;
425
+ }
426
+ .agency-feature.price-table.is-fixed .price-table-bottom {
427
+ border-color: #cfd3fb;
428
+ }
429
+ .html-tooltip {
430
+ position: relative;
431
+ display: inline-block;
432
+ margin: 0;
433
+ padding: 0;
434
+ line-height: 1;
435
+ width: auto;
436
+ height: 20px;
437
+ vertical-align: middle;
438
+ }
439
+ .html-tooltip .tooltip-text {
440
+ visibility: hidden;
441
+ width: 300px;
442
+ background-color: #1849ab;
443
+ color: #fff;
444
+ text-align: center;
445
+ border-radius: 6px;
446
+ padding: 10px;
447
+ position: absolute;
448
+ z-index: 1201;
449
+ bottom: 125%;
450
+ right: 50%;
451
+ margin-right: -150px;
452
+ opacity: 0;
453
+ transition: opacity .3s;
454
+ font-size: 12px;
455
+ line-height: 18px;
456
+ top: 100%;
457
+ height: 354px;
458
+ }
459
+ .html-tooltip.side .tooltip-text {
460
+ bottom: 125%;
461
+ right: 100%;
462
+ margin-right: 0;
463
+ top: 5px;
464
+ transform: translateY(-50%);
465
+ -webkit-transform: translateY(-50%);
466
+ }
467
+ .html-tooltip.dynamic .tooltip-text {
468
+ height: 490px;
469
+ }
470
+ .html-tooltip:hover .tooltip-text {
471
+ visibility: visible;
472
+ opacity: 1;
473
+ }
474
+ .html-tooltip .tooltip-text img {
475
+ width: 100%;
476
+ height: auto;
477
+ display: block;
478
+ margin: 10px 0 0 0;
479
+ }
480
+ .html-tooltip.no-position .tooltip-text {
481
+ height: auto;
482
+ }
483
+ .html-tooltip .tooltip-text:after {
484
+ content: "";
485
+ position: absolute;
486
+ top: -10px;
487
+ right: 50%;
488
+ margin-right: -15px;
489
+ border-width: 5px;
490
+ border-style: solid;
491
+ border-color: #1849ab transparent transparent transparent;
492
+ transform: rotate(180deg);
493
+ -webkit-transform: rotate(180deg);
494
+ }
495
+ .html-tooltip.top .tooltip-text {
496
+ top: auto;
497
+ bottom: 100%;
498
+ margin-bottom: 5px;
499
+ }
500
+ .html-tooltip.top .tooltip-text:after {
501
+ top: 100%;
502
+ transform: rotate(0);
503
+ -webkit-transform: rotate(0);
504
+ }
505
+ .html-tooltip.side .tooltip-text:after {
506
+ display: none;
507
+ }
508
+ .pricing-table-body {
509
+ display: flex;
510
+ align-items: center;
511
+ }
512
+ .pricing-table-content {
513
+ flex: 1;
514
+ text-align: center;
515
+ background: #f8fafc;
516
+ min-height: 86px;
517
+ line-height: 20px;
518
+ padding: 10px 0;
519
+ border-bottom: solid 2px #f8fafc;
520
+ align-items: center;
521
+ font-size: 16px;
522
+ cursor: pointer;
523
+ position: relative;
524
+ transition: all .25s linear;
525
+ }
526
+ .pricing-table-content:before {
527
+ right: auto;
528
+ left: 0;
529
+ }
530
+ .pricing-table-header {
531
+ width: 720px;
532
+ margin: 40px auto 50px;
533
+ }
534
+ .pricing-discount-col span {
535
+ display: inline-block;
536
+ padding: 0 8px;
537
+ background: #94a3b8;
538
+ font-size: 14px;
539
+ line-height: 20px;
540
+ color: #fff;
541
+ border-radius: 20px;
542
+ margin: 4px 0 0;
543
+ transition: all .2s linear;
544
+ }
545
+ .pricing-table-content.active, .pricing-table-content:hover {
546
+ border-bottom: 2px solid #3c85f7;
547
+ color: #3c85f7;
548
+ background: #fff;
549
+ }
550
+ .pricing-table-content.active {
551
+ box-shadow: 0 10px 15px rgba(0, 0, 0, .1), 0 4px 6px rgba(0, 0, 0, .05);
552
+ }
553
+ .pricing-table-content.second {
554
+ border-right: 1px solid #cbd5e1;
555
+ border-left: 1px solid #cbd5e1;
556
+ }
557
+ .pricing-table-content.second.active .pricing-discount-col span, .pricing-table-content.second:hover .pricing-discount-col span {
558
+ color: #fff;
559
+ background: #ef8c6a;
560
+ }
561
+ .pricing-table-content.third.active .pricing-discount-col span, .pricing-table-content.third:hover .pricing-discount-col span {
562
+ background: #605dec;
563
+ color: #fff;
564
+ }
565
+ .pricing-table-content.first {
566
+ padding: 23px 0 0;
567
+ }
568
+ .year-col {
569
+ font-weight: 700;
570
+ }
571
+ @media (max-width:1320px) {
572
+ .plan-price {
573
+ font-size: 50px;
574
+ line-height: 64px;
575
+ }
576
+ }@media (max-width:1200px) {
577
+ .plan-price {
578
+ font-size: 40px;
579
+ line-height: 54px;
580
+ }
581
+ }@media (max-width:1100px) {
582
+ .plan-name {
583
+ font-size: 24px;
584
+ line-height: 36px;
585
+ }
586
+ }@media (max-width:1024px) {
587
+ .plan-price {
588
+ font-size: 30px;
589
+ line-height: 54px;
590
+ top: 15px;
591
+ }
592
+ }@media (max-width:920px) {
593
+ .col-md-4 {
594
+ padding-right: 5px;
595
+ padding-left: 5px;
596
+ }
597
+ }@media (max-width:840px) {
598
+ .col-md-4 {
599
+ padding: 0;
600
+ width: auto;
601
+ margin: 0 auto 30px;
602
+ float: none;
603
+ padding-right: 15px;
604
+ padding-left: 15px;
605
+ }
606
+ .plan-price {
607
+ font-size: 50px;
608
+ line-height: 64px;
609
+ }
610
+ .price-table.is-fixed {
611
+ padding-bottom: 15px;
612
+ position: relative;
613
+ }
614
+ .price-table.is-fixed .price-table-bottom {
615
+ position: relative;
616
+ left: 0;
617
+ width: 100%;
618
+ border-top: none;
619
+ background: #fff;
620
+ top: auto!important;
621
+ right: auto!important;
622
+ width: 100%!important;
623
+ }
624
+ }
css/mystickymenu-admin-rtl.css ADDED
@@ -0,0 +1,3312 @@