WordPress Infinite Scroll – Ajax Load More - Version 3.6

Version Description

  • August 24, 2018 =
  • NEW - Added export/download functionality for Repeater Templates, click the options icon (cog) under each Repeater Template to reveal.
  • NEW - Added compatibility with Gutenberg editor.
  • NEW - Added support for SCRIPT_DEBUG.
  • FIX - Fixed issue with abrupt transition when filtering with Masonry.
  • FIX - Removed JS error in console when custom filtering with Masonry.
  • Update - Admin UI/UX enhancements to Repeater Template page.
  • Update - Added support for passing extra Masonry options to Ajax Load More.
  • Update - Improving the Ajax headers that are sent with each query - ALM now only sends relevant query params via GET request.
  • Update - Improving the HTML output - ALM now only renders relevant data attributes on the .alm-listing div.
  • Update - Started initial integration of upcoming ALM Pro add-on.
  • Update - Updated Plugin Updater Class for add-ons.
Download this release

Release Info

Developer dcooney
Plugin Icon 128x128 WordPress Infinite Scroll – Ajax Load More
Version 3.6
Comparing to
See all releases

Code changes from version 3.5.1 to 3.6

Files changed (39) hide show
  1. README.txt +15 -2
  2. admin/admin-functions.php +2 -173
  3. admin/admin.php +128 -41
  4. admin/dist/css/admin.css +569 -282
  5. admin/dist/js/admin.js +407 -412
  6. admin/includes/components/layout-list.php +3 -6
  7. admin/includes/components/repeater-options.php +32 -4
  8. admin/includes/cta/about.php +2 -11
  9. admin/includes/cta/extend.php +7 -1
  10. admin/shortcode-builder/components/acf.php +1 -1
  11. admin/shortcode-builder/components/cache.php +1 -1
  12. admin/shortcode-builder/components/comments.php +1 -1
  13. admin/shortcode-builder/components/cta.php +1 -1
  14. admin/shortcode-builder/components/filters.php +1 -1
  15. admin/shortcode-builder/components/nextpage.php +1 -1
  16. admin/shortcode-builder/components/paging.php +1 -1
  17. admin/shortcode-builder/components/preloaded.php +1 -1
  18. admin/shortcode-builder/components/previous-post.php +1 -1
  19. admin/shortcode-builder/components/rest-api.php +1 -1
  20. admin/shortcode-builder/components/seo.php +1 -1
  21. admin/shortcode-builder/components/users.php +1 -1
  22. admin/shortcode-builder/shortcode-builder.php +971 -967
  23. admin/src/js/admin.js +62 -70
  24. admin/src/scss/_variables.scss +7 -1
  25. admin/src/scss/admin.scss +580 -227
  26. admin/views/licenses.php +26 -7
  27. admin/views/repeater-templates.php +123 -78
  28. admin/views/settings.php +15 -18
  29. ajax-load-more.php +32 -23
  30. core/classes/class.alm-shortcode.php +275 -243
  31. core/classes/includes/preloaded.php +266 -267
  32. core/dist/js/ajax-load-more.js +258 -126
  33. core/dist/js/ajax-load-more.min.js +1 -1
  34. core/functions.php +235 -0
  35. core/src/js/ajax-load-more.js +31 -125
  36. core/src/js/helpers/queryParams.js +208 -0
  37. core/src/js/modules/masonry.js +36 -17
  38. gulpfile.js +17 -13
  39. vendor/EDD_SL_Plugin_Updater.php +35 -12
README.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: dcooney, connekthq
3
  Donate link: https://connekthq.com/donate/
4
  Tags: infinite scroll, infinite scrolling, scroll, infinite, lazy load, lazy loading, endless scroll, pagination, ajax pagination, ajax, ajax posts, woocommerce, ajax load more, masonry
5
  Requires at least: 3.6
6
- Tested up to: 4.9.6
7
- Stable tag: 3.5.1
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -369,6 +369,19 @@ How to install Ajax Load More.
369
 
370
  == Changelog ==
371
 
 
 
 
 
 
 
 
 
 
 
 
 
 
372
 
373
  = 3.5.1 - June 20, 2018 =
374
  * NEW - Adding `columnWidth` support for Masonry.
3
  Donate link: https://connekthq.com/donate/
4
  Tags: infinite scroll, infinite scrolling, scroll, infinite, lazy load, lazy loading, endless scroll, pagination, ajax pagination, ajax, ajax posts, woocommerce, ajax load more, masonry
5
  Requires at least: 3.6
6
+ Tested up to: 4.9.8
7
+ Stable tag: 3.6
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
369
 
370
  == Changelog ==
371
 
372
+ = 3.6 - August 24, 2018 =
373
+ - NEW - Added export/download functionality for Repeater Templates, click the options icon (cog) under each Repeater Template to reveal.
374
+ - NEW - Added compatibility with Gutenberg editor.
375
+ - NEW - Added support for SCRIPT_DEBUG.
376
+ - FIX - Fixed issue with abrupt transition when filtering with Masonry.
377
+ - FIX - Removed JS error in console when custom filtering with Masonry.
378
+ - Update - Admin UI/UX enhancements to Repeater Template page.
379
+ - Update - Added support for passing extra Masonry options to Ajax Load More.
380
+ - Update - Improving the Ajax headers that are sent with each query - ALM now only sends relevant query params via GET request.
381
+ - Update - Improving the HTML output - ALM now only renders relevant data attributes on the `.alm-listing` div.
382
+ - Update - Started initial integration of upcoming ALM Pro add-on.
383
+ - Update - Updated Plugin Updater Class for add-ons.
384
+
385
 
386
  = 3.5.1 - June 20, 2018 =
387
  * NEW - Adding `columnWidth` support for Masonry.
admin/admin-functions.php CHANGED
@@ -19,177 +19,6 @@ function alm_is_admin_screen(){
19
 
20
 
21
 
22
- /*
23
- * alm_get_addons
24
- * An array of add-on parameters
25
- *
26
- * @return array
27
- * @since 3.3.0
28
- */
29
- function alm_get_addons(){
30
- $addons = array(
31
- array(
32
- 'name' => __('Cache', 'ajax-load-more'),
33
- 'intro' => __('Improve performance with the Ajax Load More caching engine.', 'ajax-load-more'),
34
- 'desc' => __('The Cache add-on creates static HTML files of Ajax Load More requests then delivers those static files to your visitors.', 'ajax-load-more'),
35
- 'action' => 'alm_cache_installed',
36
- 'key' => 'alm_cache_license_key',
37
- 'status' => 'alm_cache_license_status',
38
- 'settings_field' => 'alm_cache_license',
39
- 'img' => 'img/add-ons/cache-add-on.jpg',
40
- 'url' => 'https://connekthq.com/plugins/ajax-load-more/add-ons/cache/',
41
- 'item_id' => ALM_CACHE_ITEM_NAME
42
- ),
43
- array(
44
- 'name' => __('Call to Actions', 'ajax-load-more'),
45
- 'intro' => __('Ajax Load More extension for displaying advertisements and call to actions.', 'ajax-load-more'),
46
- 'desc' => __('The Call to Actions add-on will provide the ability to inject a custom CTA template within each Ajax Load More loop.', 'ajax-load-more'),
47
- 'action' => 'alm_cta_installed',
48
- 'key' => 'alm_cta_license_key',
49
- 'status' => 'alm_cta_license_status',
50
- 'settings_field' => 'alm_cta_license',
51
- 'img' => 'img/add-ons/cta-add-on.jpg',
52
- 'url' => 'https://connekthq.com/plugins/ajax-load-more/add-ons/call-to-actions/',
53
- 'item_id' => ALM_CTA_ITEM_NAME
54
- ),
55
- array(
56
- 'name' => __('Comments', 'ajax-load-more'),
57
- 'intro' => __('Load blog comments on demand with Ajax Load More.', 'ajax-load-more'),
58
- 'desc' => __('The Comments add-on will display your blog comments with Ajax Load More\'s infinite scroll functionality.', 'ajax-load-more'),
59
- 'action' => 'alm_comments_installed',
60
- 'key' => 'alm_comments_license_key',
61
- 'status' => 'alm_comments_license_status',
62
- 'settings_field' => 'alm_comments_license',
63
- 'img' => 'img/add-ons/comments-add-on.jpg',
64
- 'url' => 'https://connekthq.com/plugins/ajax-load-more/add-ons/comments/',
65
- 'item_id' => ALM_COMMENTS_ITEM_NAME
66
- ),
67
- array(
68
- 'name' => __('Custom Repeaters', 'ajax-load-more'),
69
- 'intro' => __('Extend Ajax Load More with unlimited repeater templates.', 'ajax-load-more'),
70
- 'desc' => __('Create, delete and modify repeater templates as you need them with absolutely zero restrictions.', 'ajax-load-more'),
71
- 'action' => 'alm_unlimited_installed',
72
- 'key' => 'alm_unlimited_license_key',
73
- 'status' => 'alm_unlimited_license_status',
74
- 'settings_field' => 'alm_unlimited_license',
75
- 'img' => 'img/add-ons/unlimited-add-ons.jpg',
76
- 'url' => 'https://connekthq.com/plugins/ajax-load-more/add-ons/custom-repeaters/',
77
- 'item_id' => ALM_UNLIMITED_ITEM_NAME
78
- ),
79
- array(
80
- 'name' => __('Filters', 'ajax-load-more'),
81
- 'intro' => __('Create custom Ajax Load More filters in seconds.', 'ajax-load-more'),
82
- 'desc' => __('The Filters add-on provides front-end and admin functionality for building and managing Ajax filters.', 'ajax-load-more'),
83
- 'action' => 'alm_filters_installed',
84
- 'key' => 'alm_filters_license_key',
85
- 'status' => 'alm_filters_license_status',
86
- 'settings_field' => 'alm_filters_license',
87
- 'img' => 'img/add-ons/filters-add-on.jpg',
88
- 'url' => 'https://connekthq.com/plugins/ajax-load-more/add-ons/filters/',
89
- 'item_id' => ALM_FILTERS_ITEM_NAME
90
- ),
91
- array(
92
- 'name' => __('Layouts', 'ajax-load-more'),
93
- 'intro' => __('Predefined layouts for repeater templates.', 'ajax-load-more'),
94
- 'desc' => __('The Layouts add-on provides a collection of unique, well designed and fully responsive templates.', 'ajax-load-more'),
95
- 'action' => 'alm_layouts_installed',
96
- 'key' => 'alm_layouts_license_key',
97
- 'status' => 'alm_layouts_license_status',
98
- 'settings_field' => 'alm_layouts_license',
99
- 'img' => 'img/add-ons/layouts-add-on.jpg',
100
- 'url' => 'https://connekthq.com/plugins/ajax-load-more/add-ons/layouts/',
101
- 'item_id' => ALM_LAYOUTS_ITEM_NAME
102
- ),
103
- array(
104
- 'name' => __('Next Page', 'ajax-load-more'),
105
- 'intro' => __('Load and display multipage WordPress content.', 'ajax-load-more'),
106
- 'desc' => __('The Next Page add-on will provide functionality for infinite scrolling paginated posts and pages.', 'ajax-load-more'),
107
- 'action' => 'alm_nextpage_installed',
108
- 'key' => 'alm_nextpage_license_key',
109
- 'status' => 'alm_nextpage_license_status',
110
- 'settings_field' => 'alm_nextpage_license',
111
- 'img' => 'img/add-ons/next-page-add-on.jpg',
112
- 'url' => 'https://connekthq.com/plugins/ajax-load-more/add-ons/nextpage/',
113
- 'item_id' => ALM_NEXTPAGE_ITEM_NAME
114
- ),
115
- array(
116
- 'name' => __('Paging', 'ajax-load-more'),
117
- 'intro' => __('Extend Ajax Load More with a numbered navigation.', 'ajax-load-more'),
118
- 'desc' => __('The Paging add-on will transform the default infinite scroll functionality into a robust ajax powered navigation system.', 'ajax-load-more'),
119
- 'action' => 'alm_paging_installed',
120
- 'key' => 'alm_paging_license_key',
121
- 'status' => 'alm_paging_license_status',
122
- 'settings_field' => 'alm_paging_license',
123
- 'img' => 'img/add-ons/paging-add-ons.jpg',
124
- 'url' => 'https://connekthq.com/plugins/ajax-load-more/add-ons/paging/',
125
- 'item_id' => ALM_PAGING_ITEM_NAME
126
- ),
127
- array(
128
- 'name' => __('Preloaded', 'ajax-load-more'),
129
- 'intro' => __('Load an initial set of posts before making Ajax requests to the server.', 'ajax-load-more'),
130
- 'desc' => __('The Preloaded add-on will display content quicker and allow caching of the initial query which can reduce stress on your server.', 'ajax-load-more'),
131
- 'action' => 'alm_preload_installed',
132
- 'key' => 'alm_preloaded_license_key',
133
- 'status' => 'alm_preloaded_license_status',
134
- 'settings_field' => 'alm_preloaded_license',
135
- 'img' => 'img/add-ons/preloaded-add-ons.jpg',
136
- 'url' => 'https://connekthq.com/plugins/ajax-load-more/add-ons/preloaded/',
137
- 'item_id' => ALM_PRELOADED_ITEM_NAME
138
- ),
139
- array(
140
- 'name' => __('Previous Post', 'ajax-load-more'),
141
- 'intro' => __('An add-on to enable infinite scrolling of single posts.', 'ajax-load-more'),
142
- 'desc' => __('The Previous Post add-on will load single posts as you scroll and update the browser URL to the current post.', 'ajax-load-more'),
143
- 'action' => 'alm_prev_post_installed',
144
- 'key' => 'alm_prev_post_license_key',
145
- 'status' => 'alm_prev_post_license_status',
146
- 'settings_field' => 'alm_prev_post_license',
147
- 'img' => 'img/add-ons/prev-post-add-on.jpg',
148
- 'url' => 'https://connekthq.com/plugins/ajax-load-more/add-ons/previous-post/',
149
- 'item_id' => ALM_PREV_POST_ITEM_NAME
150
- ),
151
- array(
152
- 'name' => __('Search Engine Optimization', 'ajax-load-more'),
153
- 'intro' => __('Generate unique paging URLs with every Ajax Load More query.', 'ajax-load-more'),
154
- 'desc' => __('The SEO add-on will optimize your ajax loaded content for search engines by generating unique URLs with every query.', 'ajax-load-more'),
155
- 'action' => 'alm_seo_installed',
156
- 'key' => 'alm_seo_license_key',
157
- 'status' => 'alm_seo_license_status',
158
- 'settings_field' => 'alm_seo_license',
159
- 'img' => 'img/add-ons/seo-add-ons.jpg',
160
- 'url' => 'https://connekthq.com/plugins/ajax-load-more/add-ons/search-engine-optimization/',
161
- 'item_id' => ALM_SEO_ITEM_NAME
162
- ),
163
- array(
164
- 'name' => __('Theme Repeaters', 'ajax-load-more'),
165
- 'intro' => __('Manage repeater templates within your current theme directory.', 'ajax-load-more'),
166
- 'desc' => __('The Theme Repeater add-on will allow you load, edit and maintain templates from your current theme directory.', 'ajax-load-more'),
167
- 'action' => 'alm_theme_repeaters_installed',
168
- 'key' => 'alm_theme_repeaters_license_key',
169
- 'status' => 'alm_theme_repeaters_license_status',
170
- 'settings_field' => 'alm_theme_repeaters_license',
171
- 'img' => 'img/add-ons/theme-repeater-add-on.jpg',
172
- 'url' => 'https://connekthq.com/plugins/ajax-load-more/add-ons/theme-repeaters/',
173
- 'item_id' => ALM_THEME_REPEATERS_ITEM_NAME
174
- ),
175
- array(
176
- 'name' => __('Users', 'ajax-load-more'),
177
- 'intro' => __('Enable infinite scrolling of WordPress users.', 'ajax-load-more'),
178
- 'desc' => __('The Users add-on will allow lazy loading of users by role using a WP_User_Query.', 'ajax-load-more'),
179
- 'action' => 'alm_users_installed',
180
- 'key' => 'alm_users_license_key',
181
- 'status' => 'alm_users_license_status',
182
- 'settings_field' => 'alm_users_license',
183
- 'img' => 'img/add-ons/users-add-on.jpg',
184
- 'url' => 'https://connekthq.com/plugins/ajax-load-more/add-ons/users/',
185
- 'item_id' => ALM_USERS_ITEM_NAME
186
- )
187
- );
188
- return $addons;
189
- }
190
-
191
-
192
-
193
  /*
194
  * alm_has_addon_shortcodes
195
  * Does user have an add-ons or extensions for shortcode builder installed and activated?
@@ -214,11 +43,11 @@ function alm_has_addon_shortcodes(){
214
  'alm_seo_installed',
215
  'alm_users_installed'
216
  );
 
217
  // Loop actions to determine if add-on/extension is installed
218
  foreach($actions as $action){
219
  if(has_action($action)) $installed = true;
220
- }
221
-
222
 
223
  if($installed) {
224
  return true;
19
 
20
 
21
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
22
  /*
23
  * alm_has_addon_shortcodes
24
  * Does user have an add-ons or extensions for shortcode builder installed and activated?
43
  'alm_seo_installed',
44
  'alm_users_installed'
45
  );
46
+
47
  // Loop actions to determine if add-on/extension is installed
48
  foreach($actions as $action){
49
  if(has_action($action)) $installed = true;
50
+ }
 
51
 
52
  if($installed) {
53
  return true;
admin/admin.php CHANGED
@@ -10,7 +10,30 @@ add_action( 'alm_get_layouts', 'alm_get_layouts' ); // Add layout selection
10
  add_action( 'wp_ajax_alm_get_layout', 'alm_get_layout' ); // Get layout
11
  add_action( 'wp_ajax_alm_dismiss_sharing', 'alm_dismiss_sharing' ); // Dismiss sharing
12
  add_filter( 'admin_footer_text', 'alm_filter_admin_footer_text'); // Admin menu text
13
- add_action( 'admin_notices', 'alm_admin_notice_errors' ); // License notice
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
 
15
 
16
 
@@ -21,6 +44,7 @@ add_action( 'admin_notices', 'alm_admin_notice_errors' ); // License notice
21
  * @since 3.3.0
22
  */
23
  function alm_admin_notice_errors() {
 
24
  $screen = get_current_screen();
25
  $alm_is_admin_screen = alm_is_admin_screen();
26
  // Exit if screen is not dashboard, plugins or ALM admin.
@@ -30,8 +54,17 @@ function alm_admin_notice_errors() {
30
  $class = 'notice error alm-err-notice';
31
  $message = '';
32
  $count = 0;
33
- $addons = alm_get_addons();
34
- // Loop each addon
 
 
 
 
 
 
 
 
 
35
  foreach($addons as $addon){
36
  $action = $addon['action']; // Get action
37
  if (has_action($action)){
@@ -42,12 +75,16 @@ function alm_admin_notice_errors() {
42
  $count++;
43
  }
44
  }
45
- }
46
- if( $count > 0 ) {
47
- $message = __( 'You have invalid <a href="admin.php?page=ajax-load-more"><b>Ajax Load More</b></a> license keys - please visit the <a href="admin.php?page=ajax-load-more-licenses">Licenses</a> section and input your license keys.', 'ajax-load-more' );
 
48
  printf( '<div class="%1$s"><p>%2$s</p></div>', $class, $message );
49
  }
 
50
  }
 
 
51
 
52
 
53
  /*
@@ -148,14 +185,13 @@ function alm_get_layout(){
148
  if (! wp_verify_nonce( $nonce, 'alm_repeater_nonce' ))
149
  die('Error - unable to verify nonce, please try again.');
150
 
151
- if($type === 'default'){
152
 
153
- // Default Layout
154
  $content = file_get_contents(ALM_PATH.'admin/includes/layout/'.$type.'.php');
155
 
156
- }else{
157
-
158
- // Custom Layout
159
  if($custom == 'true'){
160
  $dir = 'alm_layouts';
161
 
@@ -182,7 +218,7 @@ function alm_get_layout(){
182
  $return["value"] = $content;
183
  echo json_encode($return);
184
  }else {
185
- echo __('You don\'t belong here.', 'ajax-load-more');
186
  }
187
  die();
188
  }
@@ -200,6 +236,8 @@ function alm_get_layouts(){ // do_action
200
  include( ALM_PATH . 'admin/includes/components/layout-list.php');
201
  }
202
 
 
 
203
  /*
204
  * alm_admin_vars
205
  * Create admin variables and ajax nonce
@@ -371,8 +409,8 @@ function alm_admin_menu() {
371
 
372
  $alm_settings_page = add_submenu_page(
373
  'ajax-load-more',
374
- 'Settings',
375
- 'Settings',
376
  'edit_theme_options',
377
  'ajax-load-more',
378
  'alm_settings_page'
@@ -380,8 +418,8 @@ function alm_admin_menu() {
380
 
381
  $alm_template_page = add_submenu_page(
382
  'ajax-load-more',
383
- 'Repeater Templates',
384
- 'Repeater Templates',
385
  'edit_theme_options',
386
  'ajax-load-more-repeaters',
387
  'alm_repeater_page'
@@ -389,26 +427,28 @@ function alm_admin_menu() {
389
 
390
  $alm_shortcode_page = add_submenu_page(
391
  'ajax-load-more',
392
- 'Shortcode Builder',
393
- 'Shortcode Builder',
394
  'edit_theme_options',
395
  'ajax-load-more-shortcode-builder',
396
  'alm_shortcode_builder_page'
397
  );
398
 
399
- $alm_addons_page = add_submenu_page(
400
- 'ajax-load-more',
401
- 'Add-ons',
402
- 'Add-ons',
403
- 'edit_theme_options',
404
- 'ajax-load-more-add-ons',
405
- 'alm_add_ons_page'
406
- );
 
 
407
 
408
  $alm_extensions_page = add_submenu_page(
409
  'ajax-load-more',
410
- 'Extensions',
411
- 'Extensions',
412
  'edit_theme_options',
413
  'ajax-load-more-extensions',
414
  'alm_extensions_page'
@@ -416,17 +456,18 @@ function alm_admin_menu() {
416
 
417
  $alm_help_page = add_submenu_page(
418
  'ajax-load-more',
419
- 'Help',
420
- 'Help',
421
  'edit_theme_options',
422
  'ajax-load-more-help',
423
  'alm_help_page'
424
- );
425
-
 
426
  $alm_licenses_page = add_submenu_page(
427
  'ajax-load-more',
428
- 'Licenses',
429
- 'Licenses',
430
  'edit_theme_options',
431
  'ajax-load-more-licenses',
432
  'alm_licenses_page'
@@ -437,6 +478,21 @@ function alm_admin_menu() {
437
  $after_link = '</span>';
438
  $style_link_icon = 'style="opacity: 0.6; font-size: 18px; height: 18px; width: 18px; position: relative; left: -2px;"';
439
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
440
  if(has_action('alm_cache_installed')){
441
  $alm_cache_page = add_submenu_page(
442
  'ajax-load-more',
@@ -451,6 +507,8 @@ function alm_admin_menu() {
451
  add_action( 'load-' . $alm_cache_page, 'alm_set_admin_nonce' );
452
  }
453
 
 
 
454
  if(has_action('alm_filters_installed')){
455
 
456
  if(has_action('alm_cache_installed')){
@@ -479,12 +537,22 @@ function alm_admin_menu() {
479
  add_action( 'load-' . $alm_shortcode_page, 'alm_set_admin_nonce' );
480
  add_action( 'load-' . $alm_help_page, 'alm_load_admin_js' );
481
  add_action( 'load-' . $alm_help_page, 'alm_set_admin_nonce' );
482
- add_action( 'load-' . $alm_addons_page, 'alm_load_admin_js' );
483
- add_action( 'load-' . $alm_addons_page, 'alm_set_admin_nonce' );
 
 
 
 
 
 
 
 
 
484
  add_action( 'load-' . $alm_extensions_page, 'alm_load_admin_js' );
485
- add_action( 'load-' . $alm_extensions_page, 'alm_set_admin_nonce' );
486
- add_action( 'load-' . $alm_licenses_page, 'alm_load_admin_js' );
487
- add_action( 'load-' . $alm_licenses_page, 'alm_set_admin_nonce' );
 
488
  }
489
 
490
 
@@ -593,6 +661,18 @@ function alm_licenses_page(){
593
  }
594
 
595
 
 
 
 
 
 
 
 
 
 
 
 
 
596
  /*
597
  * alm_cache_page
598
  * Cache Add-on page
@@ -629,6 +709,12 @@ function alm_filters_page(){
629
  function alm_load_admin_js(){
630
  add_action( 'admin_enqueue_scripts', 'alm_enqueue_admin_scripts' );
631
  }
 
 
 
 
 
 
632
  // Cache Scripts
633
  function alm_load_cache_admin_js(){
634
  if(class_exists('ALMCache')){
@@ -936,18 +1022,19 @@ function alm_layouts_dismiss(){
936
  * @since 2.8.2.1
937
  */
938
  function alm_dismiss_sharing(){
 
939
  if (current_user_can( 'edit_theme_options' )){
940
 
941
  $nonce = $_POST["nonce"];
942
 
943
  // Check our nonce, if they don't match then bounce!
944
  if (! wp_verify_nonce( $nonce, 'alm_repeater_nonce' ))
945
- die('Error - unable to verify nonce, please try again.');
946
 
947
  set_transient( 'alm_dismiss_sharing', 'true', YEAR_IN_SECONDS );
948
  echo 'ALM sharing dismissed successfully.';
949
 
950
- die();
951
  }
952
  }
953
 
10
  add_action( 'wp_ajax_alm_get_layout', 'alm_get_layout' ); // Get layout
11
  add_action( 'wp_ajax_alm_dismiss_sharing', 'alm_dismiss_sharing' ); // Dismiss sharing
12
  add_filter( 'admin_footer_text', 'alm_filter_admin_footer_text'); // Admin menu text
13
+
14
+
15
+
16
+ /*
17
+ * alm_repeaters_export
18
+ * This function will export a repeater template and force download
19
+ *
20
+ * @since 3.6
21
+ */
22
+ function alm_repeaters_export(){
23
+ if( isset($_POST["alm_repeaters_export"]) && ( !wp_doing_ajax()) ) {
24
+ if (current_user_can( 'edit_theme_options' )) { // Confirm credentials
25
+ $file = $_POST["alm_repeaters_export"];
26
+ if(file_exists($file)){
27
+ header("Content-Description: File Transfer");
28
+ header("Content-Type: application/octet-stream");
29
+ header("Content-Disposition: attachment; filename='" . basename($file) . "'");
30
+ readfile ($file);
31
+ exit();
32
+ }
33
+ }
34
+ }
35
+ }
36
+ add_action( 'admin_init', 'alm_repeaters_export');
37
 
38
 
39
 
44
  * @since 3.3.0
45
  */
46
  function alm_admin_notice_errors() {
47
+
48
  $screen = get_current_screen();
49
  $alm_is_admin_screen = alm_is_admin_screen();
50
  // Exit if screen is not dashboard, plugins or ALM admin.
54
  $class = 'notice error alm-err-notice';
55
  $message = '';
56
  $count = 0;
57
+
58
+ if(has_action('alm_pro_installed')){ // Pro
59
+ $addons = alm_get_pro_addon();
60
+ $message = __( 'You have an invalid <a href="admin.php?page=ajax-load-more"><b>Ajax Load More Pro</b></a> license key - please visit the <a href="admin.php?page=ajax-load-more-licenses">License</a> section to input your key or <a href="https://connekthq.com/plugins/ajax-load-more/pro/" target="_blank">purchase</a> one now.', 'ajax-load-more' );
61
+
62
+ } else {
63
+ $addons = alm_get_addons();
64
+ $message = __( 'You have invalid <a href="admin.php?page=ajax-load-more"><b>Ajax Load More</b></a> license keys - please visit the <a href="admin.php?page=ajax-load-more-licenses">Licenses</a> section and input your keys.', 'ajax-load-more' );
65
+ }
66
+
67
+ // Loop each addon
68
  foreach($addons as $addon){
69
  $action = $addon['action']; // Get action
70
  if (has_action($action)){
75
  $count++;
76
  }
77
  }
78
+ }
79
+
80
+ // Print result
81
+ if( $count > 0 ) {
82
  printf( '<div class="%1$s"><p>%2$s</p></div>', $class, $message );
83
  }
84
+
85
  }
86
+ add_action( 'admin_notices', 'alm_admin_notice_errors' );
87
+
88
 
89
 
90
  /*
185
  if (! wp_verify_nonce( $nonce, 'alm_repeater_nonce' ))
186
  die('Error - unable to verify nonce, please try again.');
187
 
188
+ if($type === 'default'){ // Default Layout
189
 
190
+
191
  $content = file_get_contents(ALM_PATH.'admin/includes/layout/'.$type.'.php');
192
 
193
+ }else{ // Custom Layout
194
+
 
195
  if($custom == 'true'){
196
  $dir = 'alm_layouts';
197
 
218
  $return["value"] = $content;
219
  echo json_encode($return);
220
  }else {
221
+ echo __('You don\'t belong here.', 'ajax-load-more');
222
  }
223
  die();
224
  }
236
  include( ALM_PATH . 'admin/includes/components/layout-list.php');
237
  }
238
 
239
+
240
+
241
  /*
242
  * alm_admin_vars
243
  * Create admin variables and ajax nonce
409
 
410
  $alm_settings_page = add_submenu_page(
411
  'ajax-load-more',
412
+ __('Settings', 'ajax-load-more'),
413
+ __('Settings', 'ajax-load-more'),
414
  'edit_theme_options',
415
  'ajax-load-more',
416
  'alm_settings_page'
418
 
419
  $alm_template_page = add_submenu_page(
420
  'ajax-load-more',
421
+ __('Repeater Templates', 'ajax-load-more'),
422
+ __('Repeater Templates', 'ajax-load-more'),
423
  'edit_theme_options',
424
  'ajax-load-more-repeaters',
425
  'alm_repeater_page'
427
 
428
  $alm_shortcode_page = add_submenu_page(
429
  'ajax-load-more',
430
+ __('Shortcode Builder', 'ajax-load-more'),
431
+ __('Shortcode Builder', 'ajax-load-more'),
432
  'edit_theme_options',
433
  'ajax-load-more-shortcode-builder',
434
  'alm_shortcode_builder_page'
435
  );
436
 
437
+ if(!has_action('alm_pro_installed')){ // Not Pro
438
+ $alm_addons_page = add_submenu_page(
439
+ 'ajax-load-more',
440
+ __('Add-ons', 'ajax-load-more'),
441
+ __('Add-ons', 'ajax-load-more'),
442
+ 'edit_theme_options',
443
+ 'ajax-load-more-add-ons',
444
+ 'alm_add_ons_page'
445
+ );
446
+ }
447
 
448
  $alm_extensions_page = add_submenu_page(
449
  'ajax-load-more',
450
+ __('Extensions', 'ajax-load-more'),
451
+ __('Extensions', 'ajax-load-more'),
452
  'edit_theme_options',
453
  'ajax-load-more-extensions',
454
  'alm_extensions_page'
456
 
457
  $alm_help_page = add_submenu_page(
458
  'ajax-load-more',
459
+ __('Help', 'ajax-load-more'),
460
+ __('Help', 'ajax-load-more'),
461
  'edit_theme_options',
462
  'ajax-load-more-help',
463
  'alm_help_page'
464
+ );
465
+
466
+ $license_ttl = (has_action('alm_pro_installed')) ? __('License', 'ajax-load-more') : __('Licenses', 'ajax-load-more');
467
  $alm_licenses_page = add_submenu_page(
468
  'ajax-load-more',
469
+ $license_ttl,
470
+ $license_ttl,
471
  'edit_theme_options',
472
  'ajax-load-more-licenses',
473
  'alm_licenses_page'
478
  $after_link = '</span>';
479
  $style_link_icon = 'style="opacity: 0.6; font-size: 18px; height: 18px; width: 18px; position: relative; left: -2px;"';
480
 
481
+
482
+ // Pro
483
+ if(has_action('alm_pro_installed')){
484
+ $alm_pro_page = add_submenu_page(
485
+ 'ajax-load-more',
486
+ __('Pro', 'ajax-load-more'),
487
+ $before_link . '<span class="dashicons dashicons-plus-alt" '.$style_link_icon.'></span> '. __('Pro', 'ajax-load-more') . $after_link,
488
+ 'edit_theme_options',
489
+ 'ajax-load-more-pro',
490
+ 'alm_pro_page'
491
+ );
492
+ }
493
+
494
+
495
+ // Cache
496
  if(has_action('alm_cache_installed')){
497
  $alm_cache_page = add_submenu_page(
498
  'ajax-load-more',
507
  add_action( 'load-' . $alm_cache_page, 'alm_set_admin_nonce' );
508
  }
509
 
510
+
511
+ // Filters
512
  if(has_action('alm_filters_installed')){
513
 
514
  if(has_action('alm_cache_installed')){
537
  add_action( 'load-' . $alm_shortcode_page, 'alm_set_admin_nonce' );
538
  add_action( 'load-' . $alm_help_page, 'alm_load_admin_js' );
539
  add_action( 'load-' . $alm_help_page, 'alm_set_admin_nonce' );
540
+
541
+ if(has_action('alm_pro_installed')){ // Pro
542
+ add_action( 'load-' . $alm_pro_page, 'alm_load_admin_js' );
543
+ add_action( 'load-' . $alm_pro_page, 'alm_load_pro_admin_js' );
544
+ add_action( 'load-' . $alm_pro_page, 'alm_set_admin_nonce' );
545
+
546
+ } else {
547
+ add_action( 'load-' . $alm_addons_page, 'alm_load_admin_js' );
548
+ add_action( 'load-' . $alm_addons_page, 'alm_set_admin_nonce' );
549
+
550
+ }
551
  add_action( 'load-' . $alm_extensions_page, 'alm_load_admin_js' );
552
+ add_action( 'load-' . $alm_extensions_page, 'alm_set_admin_nonce' );
553
+ add_action( 'load-' . $alm_licenses_page, 'alm_load_admin_js' );
554
+ add_action( 'load-' . $alm_licenses_page, 'alm_set_admin_nonce' );
555
+
556
  }
557
 
558
 
661
  }
662
 
663
 
664
+ /*
665
+ * alm_cache_page
666
+ * Cache Add-on page
667
+ *
668
+ * @since 3.6.0
669
+ */
670
+
671
+ function alm_pro_page(){
672
+ include_once( ALM_PRO_ADMIN_PATH . 'admin/views/pro.php');
673
+ }
674
+
675
+
676
  /*
677
  * alm_cache_page
678
  * Cache Add-on page
709
  function alm_load_admin_js(){
710
  add_action( 'admin_enqueue_scripts', 'alm_enqueue_admin_scripts' );
711
  }
712
+ // Pro Scripts
713
+ function alm_load_pro_admin_js(){
714
+ if(class_exists('ALMPro')){
715
+ ALMPro::alm_enqueue_pro_admin_scripts();
716
+ }
717
+ }
718
  // Cache Scripts
719
  function alm_load_cache_admin_js(){
720
  if(class_exists('ALMCache')){
1022
  * @since 2.8.2.1
1023
  */
1024
  function alm_dismiss_sharing(){
1025
+
1026
  if (current_user_can( 'edit_theme_options' )){
1027
 
1028
  $nonce = $_POST["nonce"];
1029
 
1030
  // Check our nonce, if they don't match then bounce!
1031
  if (! wp_verify_nonce( $nonce, 'alm_repeater_nonce' ))
1032
+ die(__('Error - unable to verify nonce, please try again.', 'ajax-load-more'));
1033
 
1034
  set_transient( 'alm_dismiss_sharing', 'true', YEAR_IN_SECONDS );
1035
  echo 'ALM sharing dismissed successfully.';
1036
 
1037
+ wp_die();
1038
  }
1039
  }
1040
 
admin/dist/css/admin.css CHANGED
@@ -686,7 +686,8 @@ body.ajax-load-more_page_ajax-load-more-extensions,
686
  body.ajax-load-more_page_ajax-load-more-help,
687
  body.ajax-load-more_page_ajax-load-more-licenses,
688
  body.ajax-load-more_page_ajax-load-more-cache,
689
- body.ajax-load-more_page_ajax-load-more-filters {
 
690
  background-color: #f7f7f7; }
691
  body.toplevel_page_ajax-load-more #wpcontent,
692
  body.ajax-load-more_page_ajax-load-more-repeaters #wpcontent,
@@ -696,7 +697,8 @@ body.ajax-load-more_page_ajax-load-more-filters {
696
  body.ajax-load-more_page_ajax-load-more-help #wpcontent,
697
  body.ajax-load-more_page_ajax-load-more-licenses #wpcontent,
698
  body.ajax-load-more_page_ajax-load-more-cache #wpcontent,
699
- body.ajax-load-more_page_ajax-load-more-filters #wpcontent {
 
700
  padding-left: 0;
701
  padding-bottom: 40px;
702
  background-color: #efefef; }
@@ -708,7 +710,8 @@ body.ajax-load-more_page_ajax-load-more-filters {
708
  body.ajax-load-more_page_ajax-load-more-help #wpbody-content,
709
  body.ajax-load-more_page_ajax-load-more-licenses #wpbody-content,
710
  body.ajax-load-more_page_ajax-load-more-cache #wpbody-content,
711
- body.ajax-load-more_page_ajax-load-more-filters #wpbody-content {
 
712
  padding-bottom: 0; }
713
 
714
  body.toplevel_page_ajax-load-more,
@@ -719,7 +722,8 @@ body.ajax-load-more_page_ajax-load-more-extensions,
719
  body.ajax-load-more_page_ajax-load-more-help,
720
  body.ajax-load-more_page_ajax-load-more-licenses,
721
  body.ajax-load-more_page_ajax-load-more-cache,
722
- body.ajax-load-more_page_ajax-load-more-filters {
 
723
  background: #efefef; }
724
  body.toplevel_page_ajax-load-more #wpfooter,
725
  body.ajax-load-more_page_ajax-load-more-repeaters #wpfooter,
@@ -729,7 +733,8 @@ body.ajax-load-more_page_ajax-load-more-filters {
729
  body.ajax-load-more_page_ajax-load-more-help #wpfooter,
730
  body.ajax-load-more_page_ajax-load-more-licenses #wpfooter,
731
  body.ajax-load-more_page_ajax-load-more-cache #wpfooter,
732
- body.ajax-load-more_page_ajax-load-more-filters #wpfooter {
 
733
  padding-top: 0;
734
  padding-bottom: 0;
735
  line-height: 40px;
@@ -746,7 +751,8 @@ body.ajax-load-more_page_ajax-load-more-filters {
746
  body.ajax-load-more_page_ajax-load-more-help #wpfooter p,
747
  body.ajax-load-more_page_ajax-load-more-licenses #wpfooter p,
748
  body.ajax-load-more_page_ajax-load-more-cache #wpfooter p,
749
- body.ajax-load-more_page_ajax-load-more-filters #wpfooter p {
 
750
  line-height: 40px; }
751
  @media screen and (min-width: 901px) {
752
  body.toplevel_page_ajax-load-more .ajax-load-more .cnkt-main,
@@ -757,12 +763,15 @@ body.ajax-load-more_page_ajax-load-more-filters {
757
  body.ajax-load-more_page_ajax-load-more-help .ajax-load-more .cnkt-main,
758
  body.ajax-load-more_page_ajax-load-more-licenses .ajax-load-more .cnkt-main,
759
  body.ajax-load-more_page_ajax-load-more-cache .ajax-load-more .cnkt-main,
760
- body.ajax-load-more_page_ajax-load-more-filters .ajax-load-more .cnkt-main {
 
761
  min-height: 100vh; } }
762
 
763
- body.ajax-load-more_page_ajax-load-more-extensions {
 
764
  background: #fff; }
765
- body.ajax-load-more_page_ajax-load-more-extensions #wpcontent {
 
766
  background: #fff; }
767
 
768
  .main-cnkt-wrap {
@@ -846,18 +855,34 @@ body.ajax-load-more_page_ajax-load-more-extensions {
846
  background: #f7f7f7;
847
  margin: 0; }
848
 
849
- .ajax-load-more p.file-location {
850
- border: 1px solid #efefef;
851
  background: #fff;
852
- margin: 0 0 5px;
853
- padding: 15px;
854
  line-height: 1;
855
- display: block;
 
 
 
 
856
  font-family: Consolas, Monaco, monospace;
857
- border-radius: 3px;
858
- font-size: 12px; }
859
- .ajax-load-more p.file-location code {
860
- font-size: 13px; }
 
 
 
 
 
 
 
 
 
 
 
 
861
 
862
  .ajax-load-more code {
863
  background: #fcf3d0; }
@@ -953,11 +978,15 @@ a.layout-hover:hover img {
953
  border-bottom: 1px solid #e1e1e1; }
954
 
955
  .ajax-load-more h3.heading:hover:after,
956
- .ajax-load-more .add-on h3.heading:hover:after {
 
 
957
  color: #ccc; }
958
 
959
- .ajax-load-more h3.heading:hover {
960
- color: #222; }
 
 
961
 
962
  .ajax-load-more h3.heading:after {
963
  font-family: 'FontAwesome';
@@ -980,6 +1009,8 @@ a.layout-hover:hover img {
980
 
981
  .ajax-load-more .add-on h3.heading {
982
  background-color: #fefeed; }
 
 
983
 
984
  /* Expand/Collapse all rows */
985
  .ajax-load-more .toggle-all {
@@ -1346,6 +1377,7 @@ a.layout-hover:hover img {
1346
 
1347
  .ajax-load-more input[type=text],
1348
  .ajax-load-more input[type=number],
 
1349
  .ajax-load-more textarea {
1350
  background: #f7f7f7; }
1351
 
@@ -1368,23 +1400,55 @@ a.layout-hover:hover img {
1368
  .ajax-load-more input[type=number]:focus,
1369
  .ajax-load-more input[type=email]:focus,
1370
  .ajax-load-more textarea:focus {
1371
- border-color: #999;
1372
- -webkit-box-shadow: 0 0 3px #ccc;
1373
- box-shadow: 0 0 3px #ccc;
1374
- background: #efefef; }
1375
 
1376
  .checkboxes label {
1377
  margin-right: 5px; }
1378
 
1379
  .ajax-load-more .one_half {
1380
  display: inline-block;
1381
- width: 47.333%;
1382
- margin: 0 0 1% 2%;
1383
  vertical-align: top; }
1384
 
1385
  .ajax-load-more .one_half:first-of-type {
1386
  margin: 0 2% 1% 0; }
1387
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1388
  /* --------------------------------------------------------------------------- */
1389
  /* Row */
1390
  /* --------------------------------------------------------------------------- */
@@ -1406,7 +1470,8 @@ a.layout-hover:hover img {
1406
  border: none !important;
1407
  padding: 0 !important; }
1408
 
1409
- .admin.ajax-load-more .row {
 
1410
  border-color: #e1e1e1; }
1411
 
1412
  .admin.ajax-load-more .repeaters .row:hover,
@@ -1416,7 +1481,7 @@ a.layout-hover:hover img {
1416
  box-shadow: 0 0 0 3px #f7f7f7; }
1417
 
1418
  .admin.ajax-load-more .row:first-of-type {
1419
- margin: 0;
1420
  padding-top: 0; }
1421
 
1422
  .ajax-load-more .intro {
@@ -1429,23 +1494,20 @@ a.layout-hover:hover img {
1429
  .pop-up-jump {
1430
  display: block;
1431
  width: 100%; }
1432
-
1433
- .pop-up-jump .jump-menu-wrap {
1434
- position: relative;
1435
- float: right;
1436
- width: 30%; }
1437
-
1438
- .pop-up-jump .jump-menu-wrap .select2-container {
1439
- width: 100% !important;
1440
- margin-bottom: 15px;
1441
- position: relative;
1442
- top: -5px; }
1443
-
1444
- .pop-up-jump .intro-wrap {
1445
- position: relative;
1446
- float: left;
1447
- width: 65%;
1448
- padding-right: 5%; }
1449
 
1450
  .admin.ajax-load-more .jump-menu {
1451
  display: none; }
@@ -1554,7 +1616,7 @@ hr.indented {
1554
  padding-left: 0 !important; }
1555
 
1556
  .ajax-load-more label.template-title {
1557
- padding: 0 0 10px;
1558
  margin: 0;
1559
  font-size: 13px;
1560
  color: #888; }
@@ -1933,7 +1995,7 @@ hr.indented {
1933
  .saved-response,
1934
  p.loading {
1935
  font-size: 12px;
1936
- padding: 8px 0;
1937
  color: #999;
1938
  background: none;
1939
  -webkit-transition: padding 0.2s ease;
@@ -1941,7 +2003,7 @@ p.loading {
1941
  display: inline-block;
1942
  width: auto;
1943
  position: relative;
1944
- top: 12px;
1945
  left: 15px; }
1946
 
1947
  .saved-error {
@@ -1967,10 +2029,7 @@ p.loading,
1967
 
1968
  .alm-dropdown ul li a.updating {
1969
  background-position: 6px center;
1970
- padding-left: 42px; }
1971
-
1972
- input.save-repeater {
1973
- margin-bottom: 5px !important; }
1974
 
1975
  .restore-default {
1976
  float: right;
@@ -2040,39 +2099,16 @@ table.highlight {
2040
  #alm_OptionsForm .form-table:last-of-type {
2041
  margin-bottom: 0; }
2042
 
2043
- .ajax-load-more .cnkt-main .group a.dismiss {
2044
- position: absolute;
2045
- right: 0;
2046
- top: 0;
2047
- text-decoration: none;
2048
- width: 40px;
2049
- height: 40px;
2050
- line-height: 38px;
2051
- padding: 0;
2052
- text-align: center;
2053
- background: #f7f7f7;
2054
- color: #777;
2055
- border: 1px solid #e1e1e1;
2056
- border-right: none;
2057
- border-top: none;
2058
- display: block;
2059
- font-size: 24px;
2060
- border-radius: 0 2px 0 2px; }
2061
-
2062
- .ajax-load-more .cnkt-main .group a.dismiss:hover {
2063
- background-color: #be3f3f;
2064
- color: #fff; }
2065
-
2066
  /* Repeaters */
2067
  .repeaters .repeater-wrap {
2068
- padding: 20px 20px 15px !important; }
2069
 
2070
  .repeaters .repeater-wrap label {
2071
  cursor: default; }
2072
 
2073
  .repeaters input.save-repeater {
2074
  display: inline-block;
2075
- margin: 15px 0 0;
2076
  clear: none;
2077
  max-width: 25%; }
2078
 
@@ -2094,15 +2130,15 @@ table.highlight {
2094
  .repeaters .alm-delete {
2095
  clear: none;
2096
  display: inline-block;
2097
- margin: 15px 0 0;
2098
  width: auto;
2099
  float: right;
2100
  opacity: 0;
2101
  -webkit-transition: all 0.2s ease;
2102
  transition: all 0.2s ease;
2103
  position: absolute;
2104
- right: 20px;
2105
- bottom: 17px; }
2106
  .repeaters .alm-delete a {
2107
  border-radius: 2px;
2108
  background: none;
@@ -2196,16 +2232,199 @@ table.highlight {
2196
  #alm-add-ons .group.installed a:hover h2 {
2197
  color: #444 !important; }
2198
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2199
  /* Add-on Callout! */
2200
  .call-out {
2201
- background: #63ddbf;
2202
  padding: 18px 100px 18px 18px;
2203
  border-radius: 3px;
2204
  margin: 0;
2205
  width: 100%;
2206
  display: block;
2207
  color: #fff;
2208
- font-size: 14px;
2209
  font-weight: 400;
2210
  position: relative; }
2211
 
@@ -2233,7 +2452,7 @@ table.highlight {
2233
  margin: 10px; }
2234
 
2235
  .call-out .cnkt-button {
2236
- padding: 6px 8px;
2237
  display: inline-block;
2238
  background: #fff;
2239
  border: none;
@@ -2247,11 +2466,12 @@ table.highlight {
2247
  font-size: 13px; }
2248
 
2249
  .call-out a {
2250
- color: #387061 !important;
2251
  text-decoration: none;
2252
  font-weight: 500; }
2253
 
2254
- .call-out a:hover {
 
2255
  color: #222 !important; }
2256
 
2257
  a.cnkt-button,
@@ -2260,7 +2480,7 @@ span.cnkt-button {
2260
  display: inline-block;
2261
  background: #5acfb2;
2262
  border: 1px solid #5acfb2;
2263
- border-radius: 3px;
2264
  position: static;
2265
  text-decoration: none !important;
2266
  color: #fff !important;
@@ -2372,12 +2592,11 @@ span.cnkt-button.installed i,
2372
 
2373
  .license .no-license {
2374
  display: block;
2375
- padding: 12px 10px 12px 20px;
2376
- margin: 0 0 15px 0;
2377
  border: 1px solid #e7e7c6;
2378
- border-left: 5px solid #e7e7c6;
2379
  background-color: #ffffe5;
2380
- border-radius: 3px; }
2381
 
2382
  .license .no-license h4 {
2383
  margin: 0 0 3px; }
@@ -2430,26 +2649,27 @@ span.cnkt-button.installed i,
2430
  top: -3px; }
2431
 
2432
  .license-wrap input[type=text] {
2433
- background-color: #fff;
2434
- margin: 0 0 15px;
2435
  width: 100% !important;
2436
  border-color: #e7e7e7;
2437
  padding: 14px; }
2438
 
2439
- .license-wrap input[type=text]:focus {
2440
- background-color: #fff; }
2441
-
2442
  .license-wrap .button-primary {
2443
  margin-right: 5px; }
2444
 
2445
  .license-key-field {
2446
  position: relative;
2447
- display: block; }
 
2448
 
2449
  .license-key-field .status {
2450
  position: absolute;
2451
- right: 9px;
2452
- top: 9px;
 
 
 
2453
  display: inline-block;
2454
  border-radius: 2px;
2455
  padding: 6px 12px;
@@ -2683,15 +2903,26 @@ span.cnkt-button.installed i,
2683
  background: #f7f7f7;
2684
  border: 1px solid #e1e1e1;
2685
  color: #999;
2686
- line-height: 1.45; }
 
 
 
 
2687
 
2688
  .ajax-load-more .cm-readonly .CodeMirror {
2689
- margin: 0 0 20px;
2690
  opacity: 0.8; }
2691
 
2692
  .ajax-load-more .cm-readonly .CodeMirror pre {
2693
  cursor: default !important; }
2694
 
 
 
 
 
 
 
 
 
2695
  .ajax-load-more .cm-readonly.sm-margin .CodeMirror {
2696
  margin: 0 0 10px; }
2697
 
@@ -2816,7 +3047,7 @@ span.cnkt-button.installed i,
2816
  cursor: default; }
2817
 
2818
  .ajax-load-more .row.unlimited input[type=text] {
2819
- width: 100.75%; }
2820
 
2821
  .alm-add-template {
2822
  text-align: center;
@@ -3181,10 +3412,13 @@ p.cache-stats {
3181
  background: #fff;
3182
  border: 1px solid #e1e1e1;
3183
  border-radius: 3px;
3184
- margin-bottom: 20px; }
 
 
 
3185
  #alm-shortcode-builder-form .shortcode-parameter-wrap h2 {
3186
- padding: 20px 22px;
3187
- margin: 0 -20px 20px;
3188
  display: block;
3189
  font-size: 20px;
3190
  width: calc(100% + 40px);
@@ -3192,7 +3426,25 @@ p.cache-stats {
3192
  background-color: #f7f7f7;
3193
  border-radius: 2px 2px 0 0;
3194
  color: #555;
3195
- position: relative; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3196
  #alm-shortcode-builder-form .shortcode-parameter-wrap h2 i {
3197
  position: absolute;
3198
  right: 15px;
@@ -3202,11 +3454,8 @@ p.cache-stats {
3202
  transform: translateY(-50%);
3203
  font-size: 25px;
3204
  color: #ccc;
3205
- opacity: 0.45; }
3206
-
3207
- .forceColors #alm-shortcode-builder-form .shortcode-parameter-wrap h2 {
3208
- padding: 12px 22px;
3209
- font-size: 20px; }
3210
 
3211
  #alm-shortcode-builder-form .shortcode-parameter-wrap:first-of-type {
3212
  margin-top: 0; }
@@ -3239,10 +3488,17 @@ p.cache-stats {
3239
  position: absolute;
3240
  top: -42px;
3241
  right: 7px;
3242
- z-index: 99; }
 
 
 
 
 
 
 
 
3243
 
3244
  .alm-drop-btn a.target {
3245
- font-weight: 500;
3246
  position: relative;
3247
  color: #999;
3248
  text-decoration: none !important;
@@ -3262,23 +3518,20 @@ p.cache-stats {
3262
  top: 9px;
3263
  left: 10px; }
3264
 
3265
- .alm-repeater-options a.target:hover {
3266
- background-color: #fff;
3267
- color: #666;
3268
- border-color: #c9c9c9;
3269
- -webkit-box-shadow: 0 0 3px #ccc;
3270
- box-shadow: 0 0 3px #ccc; }
3271
-
3272
  .alm-repeater-options a.target:hover i.fa-cog {
3273
- color: #444; }
3274
 
3275
- /* Active state */
3276
  .alm-repeater-options a.target:active,
3277
- .alm-repeater-options.active a.target {
3278
- background-color: #fff;
3279
- border-color: #c9c9c9;
3280
- -webkit-box-shadow: inset 0 1px 1px #efefef !important;
3281
- box-shadow: inset 0 1px 1px #efefef !important; }
 
 
 
 
3282
 
3283
  .alm-repeater-options.active a.target,
3284
  .alm-repeater-options.active a.target i.fa-cog {
@@ -3287,23 +3540,23 @@ p.cache-stats {
3287
  /* Layout Dropdown */
3288
  .alm-drop-btn.alm-layout-selection {
3289
  display: inline-block;
3290
- float: none;
3291
- margin: 0 0 13px; }
3292
-
3293
- .alm-drop-btn.alm-layout-selection a.target {
3294
- background-color: #f7f7f7;
3295
- border-color: #e1e1e1;
3296
- color: #555;
3297
- text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.2); }
3298
-
3299
- .alm-drop-btn.alm-layout-selection > a > i {
3300
- left: 12px; }
3301
-
3302
- .alm-drop-btn.alm-layout-selection li.type {
3303
- height: 36px;
3304
- line-height: 36px;
3305
- padding: 0 0 0 8px;
3306
- position: relative; }
3307
 
3308
  .alm-dropdown ul li.layout i {
3309
  top: 11px; }
@@ -3377,30 +3630,29 @@ p.cache-stats {
3377
 
3378
  .alm-drop-btn.alm-layout-selection a.add-on {
3379
  line-height: 1.5;
3380
- background-color: #63ddbf;
3381
  border: none;
3382
  color: #fff;
3383
  font-weight: 400;
3384
  text-overflow: inherit;
3385
  height: auto;
3386
- white-space: normal; }
 
3387
 
3388
- .alm-drop-btn.alm-layout-selection a.add-on:hover {
3389
- background-color: #935eaf; }
 
3390
 
3391
  .alm-drop-btn.alm-layout-selection a.add-on:hover i {
3392
  opacity: 1; }
3393
 
3394
- .alm-drop-btn.alm-layout-selection a.add-on:hover strong {
3395
- color: #fff;
3396
- opacity: 0.7; }
3397
-
3398
  .alm-drop-btn.alm-layout-selection a.add-on strong {
3399
- color: #387061;
3400
  font-weight: 600; }
3401
 
3402
  .alm-drop-btn.alm-layout-selection a.add-on i {
3403
- top: 14px; }
 
3404
 
3405
  .alm-drop-btn.alm-layout-selection a.add-on i {
3406
  color: #fff !important;
@@ -3424,25 +3676,27 @@ p.cache-stats {
3424
  .alm-drop-btn.alm-layout-selection .alm-dropdown {
3425
  display: none;
3426
  position: absolute;
3427
- right: auto;
3428
- left: -2px;
3429
  top: 108%;
3430
  z-index: 9; }
 
 
 
 
3431
 
3432
  .alm-drop-btn .alm-dropdown:hover {
3433
  display: block !important; }
3434
 
3435
- .alm-drop-btn.alm-layout-selection .alm-dropdown .alm-drop-inner:after,
3436
- .alm-drop-btn.alm-layout-selection .alm-dropdown .alm-drop-inner:before {
3437
- right: auto;
3438
- left: 36px; }
3439
-
3440
- .alm-drop-btn.alm-layout-selection .alm-dropdown .alm-drop-inner::after {
3441
- margin-left: 0; }
3442
-
3443
- .alm-drop-btn.alm-layout-selection .alm-dropdown .alm-drop-inner:before {
3444
- right: auto;
3445
- left: 35px; }
3446
 
3447
  .add-layout-cta {
3448
  border-radius: 2px;
@@ -3476,7 +3730,7 @@ span.dismiss a {
3476
  display: none;
3477
  position: absolute;
3478
  top: 108%;
3479
- right: -2px;
3480
  z-index: 9; }
3481
 
3482
  .alm-dropdown .alm-drop-inner {
@@ -3487,16 +3741,17 @@ span.dismiss a {
3487
  border: 1px solid #ccc;
3488
  -webkit-box-shadow: 0 0 4px #ccc;
3489
  box-shadow: 0 0 4px #ccc;
3490
- padding: 8px;
3491
  width: 220px; }
3492
 
3493
  .alm-layout-selection .alm-dropdown .alm-drop-inner {
3494
- width: 250px; }
 
3495
 
3496
  .alm-drop-inner:after,
3497
  .alm-drop-inner:before {
3498
  bottom: 100%;
3499
- right: 36px;
3500
  border: solid transparent;
3501
  content: " ";
3502
  height: 0;
@@ -3514,7 +3769,7 @@ span.dismiss a {
3514
  border-color: rgba(204, 204, 204, 0);
3515
  border-bottom-color: #ccc;
3516
  border-width: 8px;
3517
- right: 35px; }
3518
 
3519
  .alm-dropdown.active {
3520
  display: block !important; }
@@ -3526,12 +3781,10 @@ span.dismiss a {
3526
 
3527
  .alm-dropdown ul li {
3528
  margin: 0;
3529
- padding: 0;
3530
  list-style: none;
3531
  clear: both;
3532
  font-size: 12px;
3533
- margin: 0;
3534
- padding: 0;
3535
  line-height: 1.2;
3536
  border-top: 1px solid #efefef;
3537
  font-weight: 400; }
@@ -3553,7 +3806,8 @@ span.dismiss a {
3553
  width: 100%;
3554
  white-space: nowrap;
3555
  overflow: hidden;
3556
- text-overflow: ellipsis; }
 
3557
 
3558
  .alm-dropdown ul li a i {
3559
  margin: 0;
@@ -3724,120 +3978,153 @@ span.dismiss a {
3724
  #alm-mailing-list .form-wrap #response p {
3725
  font-style: normal !important; }
3726
 
3727
- /* share-alm*/
3728
- .dotted {
3729
- border: 1px dashed #ccc;
3730
- background: #f7f7f7;
3731
- padding: 20px 20px 25px; }
3732
-
3733
- .share-alm .dotted {
3734
- border: none;
3735
- border-bottom: 1px dashed #ccc;
3736
- background: none;
3737
- margin: 0 0 20px;
3738
- padding: 0 0 15px; }
3739
-
3740
- .share-alm h3,
3741
- .share-alm h4 {
3742
- font-size: 16px; }
3743
-
3744
- .share-alm i.fa-star,
3745
- .share-alm i.fa-share-alt {
3746
- color: #efc919;
3747
- position: relative;
3748
- left: 2px; }
3749
-
3750
- .share-alm i.fa-share-alt {
3751
- color: #ff5a58; }
3752
-
3753
- .share-alm p {
3754
- color: #777; }
3755
-
3756
- .share-alm .sharing {
3757
- padding-right: 20px;
3758
- width: 46%;
3759
- margin-right: 0 !important; }
3760
-
3761
- .share-alm .mailing {
3762
- width: 52%;
3763
- margin-left: 0 !important;
3764
- padding-left: 40px;
3765
- padding-right: 30px;
3766
- border-left: 1px dashed #ccc; }
3767
-
3768
- .share-alm ul.share {
3769
- margin: 0 0 10px;
3770
- padding: 0 0 0;
3771
- width: auto;
3772
- clear: both;
3773
- display: inline-block;
3774
- overflow: visible;
3775
- text-align: left;
3776
- width: 100%;
3777
- height: auto; }
3778
- .share-alm ul.share li {
3779
  background: none;
3780
- display: inline-block;
3781
- vertical-align: top;
3782
- height: 40px;
3783
- line-height: 40px;
3784
- font-size: 13px;
 
3785
  position: relative;
3786
- font-weight: 400;
3787
- text-align: left;
3788
- background: none;
3789
- color: #787878;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3790
  width: auto;
3791
- text-align: center;
3792
- height: 36px;
3793
- margin: 10px 10px 0 0 !important;
3794
- padding: 0; }
3795
- .share-alm ul.share li a {
3796
- display: block;
 
 
 
 
 
 
 
 
3797
  line-height: 40px;
3798
- height: 40px;
 
 
 
 
 
3799
  width: auto;
3800
- padding: 0 15px 0 45px;
3801
- text-decoration: none;
3802
- color: #fff;
3803
  text-align: center;
3804
- background: none;
3805
- border-radius: 3px;
3806
- position: relative;
3807
- font-weight: 600;
3808
- background: #33cf92; }
3809
- @media screen and (min-width: 1500px) {
3810
- .share-alm ul.share li a {
3811
- padding: 0 25px 0 50px; } }
3812
- .share-alm ul.share li a:hover {
3813
- background-color: #45dfa3; }
3814
- .share-alm ul.share li a i {
3815
- font-size: 20px;
3816
- line-height: 41px;
3817
  height: 40px;
3818
- width: 35px;
3819
- position: absolute;
3820
- top: 0;
3821
- left: 0;
3822
- text-align: center;
3823
- border-right: 1px solid rgba(0, 0, 0, 0.1);
3824
- background-color: rgba(0, 0, 0, 0.1);
3825
- border-radius: 2px 0 0 2px; }
3826
- .share-alm ul.share li a:hover,
3827
- .share-alm ul.share li a:hover i {
3828
  text-decoration: none;
3829
- color: #fff !important; }
3830
- .share-alm ul.share li a:hover span,
3831
- .share-alm ul.share li a:hover i span {
3832
- text-decoration: none; }
3833
- .share-alm ul.share li.twitter a {
3834
- background: #00aced; }
3835
- .share-alm ul.share li.twitter a:hover {
3836
- background: #13beff !important; }
3837
- .share-alm ul.share li.facebook a {
3838
- background: #3b5998; }
3839
- .share-alm ul.share li.facebook a:hover {
3840
- background: #466cbc !important; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3841
 
3842
  /*
3843
  * Local templates Add-on
686
  body.ajax-load-more_page_ajax-load-more-help,
687
  body.ajax-load-more_page_ajax-load-more-licenses,
688
  body.ajax-load-more_page_ajax-load-more-cache,
689
+ body.ajax-load-more_page_ajax-load-more-filters,
690
+ body.ajax-load-more_page_ajax-load-more-pro {
691
  background-color: #f7f7f7; }
692
  body.toplevel_page_ajax-load-more #wpcontent,
693
  body.ajax-load-more_page_ajax-load-more-repeaters #wpcontent,
697
  body.ajax-load-more_page_ajax-load-more-help #wpcontent,
698
  body.ajax-load-more_page_ajax-load-more-licenses #wpcontent,
699
  body.ajax-load-more_page_ajax-load-more-cache #wpcontent,
700
+ body.ajax-load-more_page_ajax-load-more-filters #wpcontent,
701
+ body.ajax-load-more_page_ajax-load-more-pro #wpcontent {
702
  padding-left: 0;
703
  padding-bottom: 40px;
704
  background-color: #efefef; }
710
  body.ajax-load-more_page_ajax-load-more-help #wpbody-content,
711
  body.ajax-load-more_page_ajax-load-more-licenses #wpbody-content,
712
  body.ajax-load-more_page_ajax-load-more-cache #wpbody-content,
713
+ body.ajax-load-more_page_ajax-load-more-filters #wpbody-content,
714
+ body.ajax-load-more_page_ajax-load-more-pro #wpbody-content {
715
  padding-bottom: 0; }
716
 
717
  body.toplevel_page_ajax-load-more,
722
  body.ajax-load-more_page_ajax-load-more-help,
723
  body.ajax-load-more_page_ajax-load-more-licenses,
724
  body.ajax-load-more_page_ajax-load-more-cache,
725
+ body.ajax-load-more_page_ajax-load-more-filters,
726
+ body.ajax-load-more_page_ajax-load-more-pro {
727
  background: #efefef; }
728
  body.toplevel_page_ajax-load-more #wpfooter,
729
  body.ajax-load-more_page_ajax-load-more-repeaters #wpfooter,
733
  body.ajax-load-more_page_ajax-load-more-help #wpfooter,
734
  body.ajax-load-more_page_ajax-load-more-licenses #wpfooter,
735
  body.ajax-load-more_page_ajax-load-more-cache #wpfooter,
736
+ body.ajax-load-more_page_ajax-load-more-filters #wpfooter,
737
+ body.ajax-load-more_page_ajax-load-more-pro #wpfooter {
738
  padding-top: 0;
739
  padding-bottom: 0;
740
  line-height: 40px;
751
  body.ajax-load-more_page_ajax-load-more-help #wpfooter p,
752
  body.ajax-load-more_page_ajax-load-more-licenses #wpfooter p,
753
  body.ajax-load-more_page_ajax-load-more-cache #wpfooter p,
754
+ body.ajax-load-more_page_ajax-load-more-filters #wpfooter p,
755
+ body.ajax-load-more_page_ajax-load-more-pro #wpfooter p {
756
  line-height: 40px; }
757
  @media screen and (min-width: 901px) {
758
  body.toplevel_page_ajax-load-more .ajax-load-more .cnkt-main,
763
  body.ajax-load-more_page_ajax-load-more-help .ajax-load-more .cnkt-main,
764
  body.ajax-load-more_page_ajax-load-more-licenses .ajax-load-more .cnkt-main,
765
  body.ajax-load-more_page_ajax-load-more-cache .ajax-load-more .cnkt-main,
766
+ body.ajax-load-more_page_ajax-load-more-filters .ajax-load-more .cnkt-main,
767
+ body.ajax-load-more_page_ajax-load-more-pro .ajax-load-more .cnkt-main {
768
  min-height: 100vh; } }
769
 
770
+ body.ajax-load-more_page_ajax-load-more-extensions,
771
+ body.ajax-load-more_page_ajax-load-more-pro {
772
  background: #fff; }
773
+ body.ajax-load-more_page_ajax-load-more-extensions #wpcontent,
774
+ body.ajax-load-more_page_ajax-load-more-pro #wpcontent {
775
  background: #fff; }
776
 
777
  .main-cnkt-wrap {
855
  background: #f7f7f7;
856
  margin: 0; }
857
 
858
+ .ajax-load-more .file-location {
859
+ border: 1px solid #e1e1e1;
860
  background: #fff;
861
+ margin: 0;
862
+ padding: 0;
863
  line-height: 1;
864
+ display: -webkit-box;
865
+ display: -ms-flexbox;
866
+ display: flex;
867
+ -ms-flex-wrap: nowrap;
868
+ flex-wrap: nowrap;
869
  font-family: Consolas, Monaco, monospace;
870
+ border-radius: 3px; }
871
+ .ajax-load-more .file-location p, .ajax-load-more .file-location code {
872
+ padding: 12px 16px;
873
+ line-height: 18px;
874
+ font-size: 12px; }
875
+ .ajax-load-more .file-location p {
876
+ background: #f7f7f7;
877
+ color: #555;
878
+ font-weight: 600;
879
+ margin: 0;
880
+ width: auto;
881
+ display: inline;
882
+ border-right: 1px solid #e1e1e1; }
883
+ .ajax-load-more .file-location code {
884
+ color: #999;
885
+ background: transparent; }
886
 
887
  .ajax-load-more code {
888
  background: #fcf3d0; }
978
  border-bottom: 1px solid #e1e1e1; }
979
 
980
  .ajax-load-more h3.heading:hover:after,
981
+ .ajax-load-more .add-on h3.heading:hover:after,
982
+ .ajax-load-more h3.heading:focus:after,
983
+ .ajax-load-more .add-on h3.heading:focus:after {
984
  color: #ccc; }
985
 
986
+ .ajax-load-more h3.heading:hover,
987
+ .ajax-load-more h3.heading:focus {
988
+ color: #222;
989
+ outline: none; }
990
 
991
  .ajax-load-more h3.heading:after {
992
  font-family: 'FontAwesome';
1009
 
1010
  .ajax-load-more .add-on h3.heading {
1011
  background-color: #fefeed; }
1012
+ .ajax-load-more .add-on h3.heading:focus {
1013
+ outline: none; }
1014
 
1015
  /* Expand/Collapse all rows */
1016
  .ajax-load-more .toggle-all {
1377
 
1378
  .ajax-load-more input[type=text],
1379
  .ajax-load-more input[type=number],
1380
+ .ajax-load-more input[type=email],
1381
  .ajax-load-more textarea {
1382
  background: #f7f7f7; }
1383
 
1400
  .ajax-load-more input[type=number]:focus,
1401
  .ajax-load-more input[type=email]:focus,
1402
  .ajax-load-more textarea:focus {
1403
+ border-color: #bbbbbb;
1404
+ -webkit-box-shadow: 0 0 6px #ccc;
1405
+ box-shadow: 0 0 6px #ccc;
1406
+ background: #f7f7f7; }
1407
 
1408
  .checkboxes label {
1409
  margin-right: 5px; }
1410
 
1411
  .ajax-load-more .one_half {
1412
  display: inline-block;
1413
+ width: 48%;
1414
+ margin: 0 -2px 1% 2%;
1415
  vertical-align: top; }
1416
 
1417
  .ajax-load-more .one_half:first-of-type {
1418
  margin: 0 2% 1% 0; }
1419
 
1420
+ .ajax-load-more .alm-row {
1421
+ display: block;
1422
+ width: 100%; }
1423
+ .ajax-load-more .alm-row:after {
1424
+ content: "";
1425
+ clear: both;
1426
+ display: table; }
1427
+ .ajax-load-more .alm-row--margin-btm {
1428
+ margin-bottom: 15px; }
1429
+ .ajax-load-more .alm-row--margin-btm-lg {
1430
+ margin-bottom: 25px; }
1431
+ .ajax-load-more .alm-row .column {
1432
+ width: 100%;
1433
+ float: none;
1434
+ padding: 0 15px; }
1435
+ .ajax-load-more .alm-row .column--half {
1436
+ width: 50%;
1437
+ float: left; }
1438
+ .ajax-load-more .alm-row .column--one-third {
1439
+ width: 33.333%;
1440
+ float: left; }
1441
+ .ajax-load-more .alm-row .column--two-third {
1442
+ width: 66.666%;
1443
+ float: left; }
1444
+ .ajax-load-more .alm-row .column--one-fourth {
1445
+ width: 25%;
1446
+ float: left; }
1447
+ @media screen and (max-width: 480px) {
1448
+ .ajax-load-more .alm-row .column--half, .ajax-load-more .alm-row .column--one-third {
1449
+ float: none;
1450
+ width: 100%; } }
1451
+
1452
  /* --------------------------------------------------------------------------- */
1453
  /* Row */
1454
  /* --------------------------------------------------------------------------- */
1470
  border: none !important;
1471
  padding: 0 !important; }
1472
 
1473
+ .admin.ajax-load-more .row,
1474
+ .forceColors .ajax-load-more .row {
1475
  border-color: #e1e1e1; }
1476
 
1477
  .admin.ajax-load-more .repeaters .row:hover,
1481
  box-shadow: 0 0 0 3px #f7f7f7; }
1482
 
1483
  .admin.ajax-load-more .row:first-of-type {
1484
+ margin-top: 20px;
1485
  padding-top: 0; }
1486
 
1487
  .ajax-load-more .intro {
1494
  .pop-up-jump {
1495
  display: block;
1496
  width: 100%; }
1497
+ .pop-up-jump .jump-menu-wrap {
1498
+ position: relative;
1499
+ float: right;
1500
+ width: 30%; }
1501
+ .pop-up-jump .jump-menu-wrap .select2-container {
1502
+ width: 100% !important;
1503
+ margin-bottom: 15px;
1504
+ position: relative;
1505
+ top: -5px; }
1506
+ .pop-up-jump .intro-wrap {
1507
+ position: relative;
1508
+ float: left;
1509
+ width: 65%;
1510
+ padding-right: 5%; }
 
 
 
1511
 
1512
  .admin.ajax-load-more .jump-menu {
1513
  display: none; }
1616
  padding-left: 0 !important; }
1617
 
1618
  .ajax-load-more label.template-title {
1619
+ padding: 8px 0 10px;
1620
  margin: 0;
1621
  font-size: 13px;
1622
  color: #888; }
1995
  .saved-response,
1996
  p.loading {
1997
  font-size: 12px;
1998
+ padding: 0;
1999
  color: #999;
2000
  background: none;
2001
  -webkit-transition: padding 0.2s ease;
2003
  display: inline-block;
2004
  width: auto;
2005
  position: relative;
2006
+ top: 5px;
2007
  left: 15px; }
2008
 
2009
  .saved-error {
2029
 
2030
  .alm-dropdown ul li a.updating {
2031
  background-position: 6px center;
2032
+ padding-left: 32px; }
 
 
 
2033
 
2034
  .restore-default {
2035
  float: right;
2099
  #alm_OptionsForm .form-table:last-of-type {
2100
  margin-bottom: 0; }
2101
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2102
  /* Repeaters */
2103
  .repeaters .repeater-wrap {
2104
+ padding: 15px 0 !important; }
2105
 
2106
  .repeaters .repeater-wrap label {
2107
  cursor: default; }
2108
 
2109
  .repeaters input.save-repeater {
2110
  display: inline-block;
2111
+ margin: 0;
2112
  clear: none;
2113
  max-width: 25%; }
2114
 
2130
  .repeaters .alm-delete {
2131
  clear: none;
2132
  display: inline-block;
2133
+ margin: 14px 0 0;
2134
  width: auto;
2135
  float: right;
2136
  opacity: 0;
2137
  -webkit-transition: all 0.2s ease;
2138
  transition: all 0.2s ease;
2139
  position: absolute;
2140
+ right: 15px;
2141
+ bottom: 15px; }
2142
  .repeaters .alm-delete a {
2143
  border-radius: 2px;
2144
  background: none;
2232
  #alm-add-ons .group.installed a:hover h2 {
2233
  color: #444 !important; }
2234
 
2235
+ /* Pro Add-on Listing */
2236
+ .alm-pro-listing {
2237
+ padding: 0;
2238
+ border-top: none;
2239
+ position: relative;
2240
+ padding-bottom: 20px; }
2241
+ .alm-pro-listing .loader {
2242
+ position: absolute;
2243
+ left: 0;
2244
+ top: 0;
2245
+ width: 100%;
2246
+ height: 100%;
2247
+ z-index: 99;
2248
+ display: none; }
2249
+ .alm-pro-listing.loading .loader {
2250
+ display: block; }
2251
+ .alm-pro-listing--header {
2252
+ border: 1px solid #e1e1e1;
2253
+ background: #f7f7f7;
2254
+ padding: 15px;
2255
+ font-size: 13px;
2256
+ font-weight: 600;
2257
+ text-transform: uppercase;
2258
+ color: #23282d;
2259
+ position: relative;
2260
+ margin-bottom: 30px;
2261
+ border-radius: 2px; }
2262
+ .alm-pro-listing--header div {
2263
+ position: absolute;
2264
+ right: 15px;
2265
+ top: 50%;
2266
+ -webkit-transform: translateY(-50%);
2267
+ -ms-transform: translateY(-50%);
2268
+ transform: translateY(-50%);
2269
+ font-size: 13px;
2270
+ opacity: 0.7;
2271
+ font-weight: normal;
2272
+ text-transform: none;
2273
+ font-style: italic; }
2274
+ @media screen and (max-width: 480px) {
2275
+ .alm-pro-listing--header div {
2276
+ display: none; } }
2277
+ .alm-pro-listing--wrap {
2278
+ display: -webkit-box;
2279
+ display: -ms-flexbox;
2280
+ display: flex;
2281
+ -ms-flex-wrap: wrap;
2282
+ flex-wrap: wrap;
2283
+ -webkit-box-pack: justify;
2284
+ -ms-flex-pack: justify;
2285
+ justify-content: space-between; }
2286
+ .alm-pro-listing .item {
2287
+ width: 49.5%;
2288
+ display: -webkit-box;
2289
+ display: -ms-flexbox;
2290
+ display: flex;
2291
+ margin-bottom: 10px; }
2292
+ @media screen and (min-width: 1500px) {
2293
+ .alm-pro-listing .item {
2294
+ width: 32.775%; } }
2295
+ @media screen and (max-width: 480px) {
2296
+ .alm-pro-listing .item {
2297
+ width: 100%; } }
2298
+ .alm-pro-listing .item h2, .alm-pro-listing .item p, .alm-pro-listing .item img, .alm-pro-listing .item .state {
2299
+ -webkit-transition: all 0.15s ease;
2300
+ transition: all 0.15s ease; }
2301
+ .alm-pro-listing .item a {
2302
+ text-decoration: none !important;
2303
+ padding: 0 55px 0 0;
2304
+ position: relative;
2305
+ display: -webkit-box;
2306
+ display: -ms-flexbox;
2307
+ display: flex;
2308
+ border: 1px solid #e1e1e1;
2309
+ -webkit-transition: all 0.15s ease;
2310
+ transition: all 0.15s ease;
2311
+ border-radius: 2px; }
2312
+ .alm-pro-listing .item a:hover, .alm-pro-listing .item a:focus {
2313
+ border-color: #bbb; }
2314
+ .alm-pro-listing .item a:hover h2, .alm-pro-listing .item a:focus h2 {
2315
+ text-decoration: underline; }
2316
+ .alm-pro-listing .item--detail {
2317
+ padding: 15px 20px;
2318
+ position: relative;
2319
+ min-height: 110px;
2320
+ display: -webkit-box;
2321
+ display: -ms-flexbox;
2322
+ display: flex;
2323
+ -webkit-box-align: center;
2324
+ -ms-flex-align: center;
2325
+ align-items: center; }
2326
+ .alm-pro-listing .item--detail div {
2327
+ padding: 0; }
2328
+ .alm-pro-listing .item--detail img {
2329
+ width: 95px;
2330
+ height: auto;
2331
+ margin-right: 20px; }
2332
+ @media screen and (max-width: 768px) {
2333
+ .alm-pro-listing .item--detail img {
2334
+ display: none; } }
2335
+ .alm-pro-listing .item--detail a {
2336
+ text-decoration: none; }
2337
+ .alm-pro-listing .item--detail a:hover {
2338
+ text-decoration: underline; }
2339
+ .alm-pro-listing .item--detail h2 {
2340
+ margin: 0 0 7px;
2341
+ font-size: 16px;
2342
+ line-height: 1;
2343
+ -webkit-transition: all 0.15s ease;
2344
+ transition: all 0.15s ease; }
2345
+ .alm-pro-listing .item--detail p {
2346
+ margin: 0;
2347
+ padding: 0;
2348
+ font-size: 14px; }
2349
+ .alm-pro-listing .item--detail p.link {
2350
+ font-size: 13px;
2351
+ padding-top: 2px;
2352
+ opacity: 0;
2353
+ -webkit-transition: opacity 0.15s ease;
2354
+ transition: opacity 0.15s ease; }
2355
+ .alm-pro-listing .item .result {
2356
+ position: absolute;
2357
+ right: 8px;
2358
+ bottom: 8px;
2359
+ font-size: 12px;
2360
+ opacity: 0;
2361
+ -webkit-transition: all 0.25s ease;
2362
+ transition: all 0.25s ease; }
2363
+ .alm-pro-listing .item .result.in-view {
2364
+ opacity: 0.7; }
2365
+ .alm-pro-listing .item .result .type {
2366
+ background: #47bd79;
2367
+ color: #fff;
2368
+ display: none;
2369
+ border-radius: 2px;
2370
+ padding: 3px 6px;
2371
+ display: inline-block; }
2372
+ .alm-pro-listing .item .result .type.inactive {
2373
+ background: #c54545;
2374
+ display: none; }
2375
+ .alm-pro-listing .item .state {
2376
+ width: 22px;
2377
+ height: 22px;
2378
+ position: absolute;
2379
+ right: 8px;
2380
+ top: 8px;
2381
+ border-radius: 2px;
2382
+ background: #57d48c;
2383
+ color: #fff;
2384
+ display: -webkit-box;
2385
+ display: -ms-flexbox;
2386
+ display: flex;
2387
+ -webkit-box-align: center;
2388
+ -ms-flex-align: center;
2389
+ align-items: center;
2390
+ -webkit-box-pack: center;
2391
+ -ms-flex-pack: center;
2392
+ justify-content: center;
2393
+ text-decoration: none !important;
2394
+ font-size: 12px;
2395
+ -webkit-transition: all 0.15s ease;
2396
+ transition: all 0.15s ease; }
2397
+ .alm-pro-listing .item .state:before {
2398
+ font-family: 'FontAwesome';
2399
+ content: '\f00c';
2400
+ display: block; }
2401
+ .alm-pro-listing .item.active a {
2402
+ border-color: #57d48c; }
2403
+ .alm-pro-listing .item.active:hover .state {
2404
+ opacity: 0.9; }
2405
+ .alm-pro-listing .item.inactive h2, .alm-pro-listing .item.inactive p, .alm-pro-listing .item.inactive img, .alm-pro-listing .item.inactive .state {
2406
+ opacity: 0.5; }
2407
+ .alm-pro-listing .item.inactive .state {
2408
+ background: #e1e1e1; }
2409
+ .alm-pro-listing .item.inactive .state:before {
2410
+ opacity: 0; }
2411
+ .alm-pro-listing .item.inactive:hover h2, .alm-pro-listing .item.inactive:hover p, .alm-pro-listing .item.inactive:hover img, .alm-pro-listing .item.inactive:hover .state {
2412
+ opacity: 0.8; }
2413
+ .alm-pro-listing .item.inactive:hover .state {
2414
+ background: #ccc; }
2415
+ .alm-pro-listing .item.inactive:hover .state:before {
2416
+ opacity: 1; }
2417
+
2418
  /* Add-on Callout! */
2419
  .call-out {
2420
+ background: #63ccb2;
2421
  padding: 18px 100px 18px 18px;
2422
  border-radius: 3px;
2423
  margin: 0;
2424
  width: 100%;
2425
  display: block;
2426
  color: #fff;
2427
+ font-size: 13px;
2428
  font-weight: 400;
2429
  position: relative; }
2430
 
2452
  margin: 10px; }
2453
 
2454
  .call-out .cnkt-button {
2455
+ padding: 6px 10px;
2456
  display: inline-block;
2457
  background: #fff;
2458
  border: none;
2466
  font-size: 13px; }
2467
 
2468
  .call-out a {
2469
+ color: #3f524d !important;
2470
  text-decoration: none;
2471
  font-weight: 500; }
2472
 
2473
+ .call-out a:hover,
2474
+ .call-out a:focus {
2475
  color: #222 !important; }
2476
 
2477
  a.cnkt-button,
2480
  display: inline-block;
2481
  background: #5acfb2;
2482
  border: 1px solid #5acfb2;
2483
+ border-radius: 2px;
2484
  position: static;
2485
  text-decoration: none !important;
2486
  color: #fff !important;
2592
 
2593
  .license .no-license {
2594
  display: block;
2595
+ padding: 12px;
2596
+ margin: 0 0 20px;
2597
  border: 1px solid #e7e7c6;
 
2598
  background-color: #ffffe5;
2599
+ border-radius: 2px; }
2600
 
2601
  .license .no-license h4 {
2602
  margin: 0 0 3px; }
2649
  top: -3px; }
2650
 
2651
  .license-wrap input[type=text] {
2652
+ background-color: #f7f7f7;
2653
+ margin: 0;
2654
  width: 100% !important;
2655
  border-color: #e7e7e7;
2656
  padding: 14px; }
2657
 
 
 
 
2658
  .license-wrap .button-primary {
2659
  margin-right: 5px; }
2660
 
2661
  .license-key-field {
2662
  position: relative;
2663
+ display: block;
2664
+ margin: 0 0 20px; }
2665
 
2666
  .license-key-field .status {
2667
  position: absolute;
2668
+ right: 10px;
2669
+ top: 50%;
2670
+ -webkit-transform: translateY(-50%);
2671
+ -ms-transform: translateY(-50%);
2672
+ transform: translateY(-50%);
2673
  display: inline-block;
2674
  border-radius: 2px;
2675
  padding: 6px 12px;
2903
  background: #f7f7f7;
2904
  border: 1px solid #e1e1e1;
2905
  color: #999;
2906
+ line-height: 1.5; }
2907
+ .ajax-load-more .CodeMirror.CodeMirror-focused {
2908
+ border-color: #bbbbbb;
2909
+ -webkit-box-shadow: 0 0 6px #ccc;
2910
+ box-shadow: 0 0 6px #ccc; }
2911
 
2912
  .ajax-load-more .cm-readonly .CodeMirror {
 
2913
  opacity: 0.8; }
2914
 
2915
  .ajax-load-more .cm-readonly .CodeMirror pre {
2916
  cursor: default !important; }
2917
 
2918
+ .ajax-load-more .CodeMirror pre {
2919
+ padding: 0 10px; }
2920
+
2921
+ .CodeMirror-linenumber {
2922
+ padding: 0 10px !important;
2923
+ line-height: 1.25 !important;
2924
+ color: #999; }
2925
+
2926
  .ajax-load-more .cm-readonly.sm-margin .CodeMirror {
2927
  margin: 0 0 10px; }
2928
 
3047
  cursor: default; }
3048
 
3049
  .ajax-load-more .row.unlimited input[type=text] {
3050
+ width: 100%; }
3051
 
3052
  .alm-add-template {
3053
  text-align: center;
3412
  background: #fff;
3413
  border: 1px solid #e1e1e1;
3414
  border-radius: 3px;
3415
+ margin-bottom: 10px; }
3416
+ #alm-shortcode-builder-form .shortcode-parameter-wrap.closed {
3417
+ padding-bottom: 0;
3418
+ border-bottom: none; }
3419
  #alm-shortcode-builder-form .shortcode-parameter-wrap h2 {
3420
+ padding: 20px 22px 20px 43px;
3421
+ margin: 0 -20px;
3422
  display: block;
3423
  font-size: 20px;
3424
  width: calc(100% + 40px);
3426
  background-color: #f7f7f7;
3427
  border-radius: 2px 2px 0 0;
3428
  color: #555;
3429
+ font-weight: 600;
3430
+ position: relative;
3431
+ cursor: pointer; }
3432
+ #alm-shortcode-builder-form .shortcode-parameter-wrap h2:focus, #alm-shortcode-builder-form .shortcode-parameter-wrap h2:hover {
3433
+ color: #222;
3434
+ outline: none; }
3435
+ #alm-shortcode-builder-form .shortcode-parameter-wrap h2:hover:after, #alm-shortcode-builder-form .shortcode-parameter-wrap h2:focus:after {
3436
+ color: #ccc; }
3437
+ #alm-shortcode-builder-form .shortcode-parameter-wrap h2:after {
3438
+ font-family: 'FontAwesome';
3439
+ content: '\f056';
3440
+ color: #e1e1e1;
3441
+ position: absolute;
3442
+ left: 15px;
3443
+ top: 20px;
3444
+ height: 20px;
3445
+ width: 20px; }
3446
+ #alm-shortcode-builder-form .shortcode-parameter-wrap h2.open:after {
3447
+ content: '\f055'; }
3448
  #alm-shortcode-builder-form .shortcode-parameter-wrap h2 i {
3449
  position: absolute;
3450
  right: 15px;
3454
  transform: translateY(-50%);
3455
  font-size: 25px;
3456
  color: #ccc;
3457
+ opacity: 0.45;
3458
+ display: none; }
 
 
 
3459
 
3460
  #alm-shortcode-builder-form .shortcode-parameter-wrap:first-of-type {
3461
  margin-top: 0; }
3488
  position: absolute;
3489
  top: -42px;
3490
  right: 7px;
3491
+ z-index: 8; }
3492
+ .alm-drop-btn.alm-repeater-options a.target {
3493
+ padding: 8px 10px;
3494
+ -webkit-box-shadow: none;
3495
+ box-shadow: none;
3496
+ border: none; }
3497
+ .alm-drop-btn.alm-repeater-options a.target > i {
3498
+ font-size: 20px;
3499
+ position: static; }
3500
 
3501
  .alm-drop-btn a.target {
 
3502
  position: relative;
3503
  color: #999;
3504
  text-decoration: none !important;
3518
  top: 9px;
3519
  left: 10px; }
3520
 
 
 
 
 
 
 
 
3521
  .alm-repeater-options a.target:hover i.fa-cog {
3522
+ color: #333; }
3523
 
3524
+ /* Active / Hover state */
3525
  .alm-repeater-options a.target:active,
3526
+ .alm-repeater-options.active a.target,
3527
+ .alm-repeater-options a.target:hover,
3528
+ .alm-repeater-options a.target:focus {
3529
+ background-color: transparent;
3530
+ color: #222;
3531
+ border-color: transparent;
3532
+ -webkit-box-shadow: none;
3533
+ box-shadow: none;
3534
+ opacity: 1; }
3535
 
3536
  .alm-repeater-options.active a.target,
3537
  .alm-repeater-options.active a.target i.fa-cog {
3540
  /* Layout Dropdown */
3541
  .alm-drop-btn.alm-layout-selection {
3542
  display: inline-block;
3543
+ float: right;
3544
+ margin: 0; }
3545
+ @media screen and (max-width: 480px) {
3546
+ .alm-drop-btn.alm-layout-selection {
3547
+ float: none; } }
3548
+ .alm-drop-btn.alm-layout-selection a.target {
3549
+ background-color: #f7f7f7;
3550
+ border-color: #e1e1e1;
3551
+ color: #555;
3552
+ text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.2); }
3553
+ .alm-drop-btn.alm-layout-selection > a > i {
3554
+ left: 12px; }
3555
+ .alm-drop-btn.alm-layout-selection li.type {
3556
+ height: 36px;
3557
+ line-height: 36px;
3558
+ padding: 0 0 0 8px;
3559
+ position: relative; }
3560
 
3561
  .alm-dropdown ul li.layout i {
3562
  top: 11px; }
3630
 
3631
  .alm-drop-btn.alm-layout-selection a.add-on {
3632
  line-height: 1.5;
3633
+ background-color: #63ccb2;
3634
  border: none;
3635
  color: #fff;
3636
  font-weight: 400;
3637
  text-overflow: inherit;
3638
  height: auto;
3639
+ white-space: normal;
3640
+ font-size: 12px; }
3641
 
3642
+ .alm-drop-btn.alm-layout-selection a.add-on:hover,
3643
+ .alm-drop-btn.alm-layout-selection a.add-on:focus {
3644
+ background-color: #57bda4; }
3645
 
3646
  .alm-drop-btn.alm-layout-selection a.add-on:hover i {
3647
  opacity: 1; }
3648
 
 
 
 
 
3649