Cherry Projects - Version 1.2.9

Version Description

  • Fixed bugs
Download this release

Release Info

Developer TemplateMonster 2002
Plugin Icon 128x128 Cherry Projects
Version 1.2.9
Comparing to
See all releases

Code changes from version 1.2.8 to 1.2.9

Files changed (29) hide show
  1. cherry-framework/.gitignore +30 -0
  2. cherry-framework/.jscsrc +23 -0
  3. cherry-framework/.jshintignore +10 -0
  4. cherry-framework/.travis.yml +96 -0
  5. cherry-framework/README.md +125 -0
  6. cherry-framework/cherry-core.php +1 -1
  7. cherry-framework/codesniffer.ruleset.xml +27 -0
  8. cherry-framework/modules/cherry-customizer/cherry-customizer.php +2 -2
  9. cherry-framework/modules/cherry-ui-elements/inc/ui-elements/ui-repeater/assets/min/ui-repeater.min.js +1 -1
  10. cherry-framework/modules/cherry-ui-elements/inc/ui-elements/ui-repeater/assets/ui-repeater.js +10 -1
  11. cherry-framework/modules/cherry5-assets-loader/cherry5-assets-loader.php +10 -1
  12. cherry-framework/modules/cherry5-assets-loader/inc/cherry5-assets-loader-handle.php +1 -1
  13. cherry-framework/modules/cherry5-insert-shortcode/cherry5-insert-shortcode.php +3 -3
  14. cherry-framework/modules/cherry5-insert-shortcode/inc/class-cherry5-insertion-button.php +10 -9
  15. cherry-framework/modules/cherry5-insert-shortcode/inc/class-cherry5-insertion-popup.php +0 -3
  16. cherry-projects.php +3 -3
  17. gulpfile.js +40 -0
  18. package.json +13 -0
  19. public/assets/css/styles.css +1 -1002
  20. public/assets/js/cherry-projects-plugin.js +11 -8
  21. public/assets/js/cherry-projects-scripts.js +11 -13
  22. public/assets/js/salvattore.min.js +415 -0
  23. public/assets/scss/_masonry-layout.scss +260 -3
  24. public/assets/scss/_projects-terms.scss +259 -3
  25. public/includes/class-cherry-projects-template-callbacks.php +5 -3
  26. public/includes/class-projects-data.php +31 -5
  27. public/includes/class-projects-shortcode.php +1 -1
  28. public/includes/class-projects-term-data.php +28 -3
  29. readme.txt +5 -1
cherry-framework/.gitignore ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #########################
2
+ # Files
3
+ #########################
4
+ .sass-cache
5
+ package.json
6
+
7
+ # Windows
8
+ Thumbs.db
9
+ Desktop.ini
10
+
11
+ # OSX
12
+ .DS_Store
13
+ *.swp
14
+ *~.nib
15
+
16
+ #########################
17
+ # Expansion
18
+ #########################
19
+ *.map
20
+ *.log
21
+ *.dll
22
+
23
+ #########################
24
+ # Folder
25
+ #########################
26
+ node_modules
27
+
28
+ #########################
29
+ # Travis-si files
30
+ #########################
cherry-framework/.jscsrc ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "preset": "wordpress",
3
+ "fileExtensions": [ ".js" ],
4
+ "excludeFiles": [
5
+ "**/*.min.js",
6
+ "modules/cherry-js-core/assets/js/cherry-js-core.js",
7
+ "modules/cherry-post-formats-api/assets/js/cherry-post-formats.js",
8
+ "modules/cherry-ui-elements/inc/ui-elements/ui-checkbox/assets/ui-checkbox.js",
9
+ "modules/cherry-ui-elements/inc/ui-elements/ui-colorpicker/assets/ui-colorpicker.js",
10
+ "modules/cherry-ui-elements/inc/ui-elements/ui-media/assets/ui-media.js",
11
+ "modules/cherry-ui-elements/inc/ui-elements/ui-radio/assets/ui-radio.js",
12
+ "modules/cherry-ui-elements/inc/ui-elements/ui-select/assets/select2.js",
13
+ "modules/cherry-ui-elements/inc/ui-elements/ui-select/assets/ui-select.js",
14
+ "modules/cherry-ui-elements/inc/ui-elements/ui-slider/assets/ui-slider.js",
15
+ "modules/cherry-ui-elements/inc/ui-elements/ui-stepper/assets/ui-stepper.js",
16
+ "modules/cherry-ui-elements/inc/ui-elements/ui-switcher/assets/ui-switcher.js",
17
+ "modules/cherry-ui-elements/inc/ui-elements/ui-collection/assets/js/jquery.collection.js",
18
+ "modules/cherry-ui-elements/inc/ui-elements/ui-collection/assets/js/ui-collection.js",
19
+ "modules/cherry-ui-elements/inc/ui-elements/ui-iconpicker/assets/jquery-iconpicker.js",
20
+ "modules/cherry-interface-builder/inc/assets/cherry-interface-builder.js",
21
+ "modules/cherry5-assets-loader/assets/var.js"
22
+ ]
23
+ }
cherry-framework/.jshintignore ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ **/*.min.js
2
+ modules/cherry-ui-elements/inc/ui-elements/ui-select/assets/select2.js
3
+ modules/cherry-ui-elements/inc/ui-elements/ui-collection/assets/js/jquery.collection.js
4
+ modules/cherry-ui-elements/inc/ui-elements/ui-iconpicker/assets/jquery-iconpicker.js
5
+
6
+ #Cherry Framework
7
+ modules/cherry-ui-elements/inc/ui-elements/ui-media/assets/ui-media.js
8
+ modules/cherry-js-core/assets/js/cherry-js-core.js
9
+ modules/cherry5-assets-loader/assets/var.js
10
+ modules/cherry5-assets-loader/assets/append.js
cherry-framework/.travis.yml ADDED
@@ -0,0 +1,96 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Travis CI configuration file.
2
+ # @link https://travis-ci.org/
3
+
4
+ # For use with the Twenty Sixteen WordPress theme
5
+ # @link https://github.com/WordPress/twentysixteen/
6
+
7
+ # Declare project language and PHP versions to test against.
8
+ # @link http://about.travis-ci.org/docs/user/languages/php/
9
+ language: php
10
+
11
+ # Declare versions of PHP to use. Use one decimal max.
12
+ php:
13
+ - "7"
14
+ - "5.6"
15
+ - "5.5"
16
+ - "5.4"
17
+ - "5.3"
18
+ # Current $required_php_version for WordPress: 5.2.4
19
+ - "5.2"
20
+
21
+ # Ditch sudo and use containers.
22
+ # @link http://docs.travis-ci.com/user/migrating-from-legacy/#Why-migrate-to-container-based-infrastructure%3F
23
+ # @link http://docs.travis-ci.com/user/workers/container-based-infrastructure/#Routing-your-build-to-container-based-infrastructure
24
+ sudo: false
25
+
26
+ # Declare which versions of WordPress to test against.
27
+ # Also declare whether or not to test in Multisite.
28
+ env:
29
+ # Trunk (current version in development is 4.4)
30
+ # @link https://github.com/WordPress/WordPress
31
+ - WP_VERSION=master WP_MULTISITE=0
32
+
33
+ # Use this to prepare your build for testing.
34
+ # e.g. copy database configurations, environment variables, etc.
35
+ # Failures in this section will result in build status 'errored'.
36
+ before_script:
37
+ # Set up WordPress installation.
38
+ - export WP_DEVELOP_DIR=/tmp/wordpress/
39
+ - mkdir -p $WP_DEVELOP_DIR
40
+ # Use the Git mirror of WordPress.
41
+ - git clone --depth=1 --branch="$WP_VERSION" git://develop.git.wordpress.org/ $WP_DEVELOP_DIR
42
+ # Set up Twenty Sixteen theme information.
43
+ - theme_slug=$(basename $(pwd))
44
+ - theme_dir=$WP_DEVELOP_DIR/src/wp-content/themes/$theme_slug
45
+ - cd ..
46
+ - mv $theme_slug $theme_dir
47
+ # Set up WordPress configuration.
48
+ - cd $WP_DEVELOP_DIR
49
+ - echo $WP_DEVELOP_DIR
50
+ - cp wp-tests-config-sample.php wp-tests-config.php
51
+ - sed -i "s/youremptytestdbnamehere/wordpress_test/" wp-tests-config.php
52
+ - sed -i "s/yourusernamehere/root/" wp-tests-config.php
53
+ - sed -i "s/yourpasswordhere//" wp-tests-config.php
54
+ # Create WordPress database.
55
+ - mysql -e 'CREATE DATABASE wordpress_test;' -uroot
56
+ # Install CodeSniffer for WordPress Coding Standards checks.
57
+ - mkdir php-codesniffer && curl -L https://github.com/squizlabs/PHP_CodeSniffer/archive/master.tar.gz | tar xz --strip-components=1 -C php-codesniffer
58
+ # Install WordPress Coding Standards.
59
+ - mkdir wordpress-coding-standards && curl -L https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/archive/master.tar.gz | tar xz --strip-components=1 -C wordpress-coding-standards
60
+ # Hop into CodeSniffer directory.
61
+ - cd php-codesniffer
62
+ # Set install path for WordPress Coding Standards
63
+ # @link https://github.com/squizlabs/PHP_CodeSniffer/blob/4237c2fc98cc838730b76ee9cee316f99286a2a7/CodeSniffer.php#L1941
64
+ - scripts/phpcs --config-set installed_paths ../wordpress-coding-standards
65
+ # Hop into themes directory.
66
+ - cd $theme_dir
67
+ # After CodeSniffer install you should refresh your path.
68
+ - phpenv rehash
69
+ # Install JSCS: JavaScript Code Style checker
70
+ # @link http://jscs.info/
71
+ - npm install -g jscs
72
+ # Install JSHint, a JavaScript Code Quality Tool
73
+ # @link http://jshint.com/docs/
74
+ - npm install -g jshint
75
+ - wget https://develop.svn.wordpress.org/trunk/.jshintrc
76
+
77
+ # Run test script commands.
78
+ # Default is specific to project language.
79
+ # All commands must exit with code 0 on success. Anything else is considered failure.
80
+ script:
81
+ # Search theme for PHP syntax errors.
82
+ - find . \( -name '*.php' \) -exec php -lf {} \;
83
+ # Run the theme through JSHint
84
+ - jshint .
85
+ # Run the theme through JavaScript Code Style checker
86
+ - jscs .
87
+ # WordPress Coding Standards
88
+ # @link https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards
89
+ # @link http://pear.php.net/package/PHP_CodeSniffer/
90
+ # -p flag: Show progress of the run.
91
+ # -s flag: Show sniff codes in all reports.
92
+ # -v flag: Print verbose output.
93
+ # -n flag: Do not print warnings (shortcut for --warning-severity=0)
94
+ # --standard: Use WordPress as the standard.
95
+ # --extensions: Only sniff PHP files.
96
+ - $WP_DEVELOP_DIR/php-codesniffer/scripts/phpcs -p -s -v -n . --standard=./codesniffer.ruleset.xml --extensions=php
cherry-framework/README.md ADDED
@@ -0,0 +1,125 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [![license](https://img.shields.io/badge/license-GPL--v.3.0%2B-blue.svg?style=flat-square)](https://github.com/CherryFramework/cherry-framework/blob/master/LICENSE)
2
+ [![Build Status](https://travis-ci.org/CherryFramework/cherry-framework.svg?branch=master)](https://travis-ci.org/CherryFramework/cherry-framework)
3
+
4
+ # cherry-framework
5
+ Module system.
6
+
7
+ ## Authors
8
+
9
+ * [@MaksimTS](https://github.com/MaksimTS) - **Manager**
10
+ * [@Cheh](https://github.com/cheh) - **Developer**
11
+ * [@Behaart](https://github.com/MakhonkoDenis) - **Developer**
12
+ * [@MjHead](https://github.com/MjHead) - **Developer**
13
+ * [@Sargas](https://github.com/SargasTM) - **Developer**
14
+ * [@Shin](https://github.com/shinTM) - **Developer**
15
+
16
+ ## Changelog
17
+
18
+ ### v1.4.3
19
+
20
+ * ADD: new module - `cherry5-assets-loader`
21
+ * ADD: lock-option feature
22
+ * ADD: 3rd parameter `$this` for `cherry_breadcrumbs_items` filter
23
+ * ADD: new property - module version (using in register/enqueue css and js files)
24
+ * ADD: `dropdown-pages` control in `cherry-customizer` module
25
+ * UPD: style for widgets
26
+ * UPD: use `cherry-interface-builder` in widget form
27
+ * UPD: remove deprecated methods in `cherry-widget-factory` module
28
+ * UPD: added check for AJAX-handlers in `cherry-handler` module
29
+ * UPD: copyright years
30
+ * FIX: `cherry-handler` module
31
+ * FIX: placeholder attribute in `UI-select`
32
+ * FIX: allow home link in breadcrumbs inherit main page title
33
+ * FIX: function `get_terms_array()` in `cherry-utility` module
34
+ * FIX: HTML validation for `UI-elements`
35
+
36
+ ### v1.4.2
37
+
38
+ * HOTFIX: `iconpicker` control for `cherry-customizer` module
39
+
40
+ ### v1.4.1
41
+
42
+ * ADD: allow to filter CSS reserved words while parsing functions
43
+ * ADD: async query in `cherry-handler` module
44
+ * UPD: UI-kit styles (UI-button, UI-text, UI-textarea, UI-stepper, UI-colorpicker, UI-switcher, UI-select, UI-media)
45
+ * UPD: use `wp_add_inline_style` instead of `wp_head` for printing inline CSS
46
+ * UPD: UI-button class prefix
47
+ * UPD: `cherry5-insert-shortcode` module styles
48
+ * UPD: allow to use description argument in iconpicker
49
+ * FIX: UI-repeater, UI-radio master and slave bug
50
+ * FIX: `cherry-template-manager` module
51
+ * FIX: change `meta_key` in `cherry-utility` module - #149
52
+
53
+ ### v1.4.0
54
+
55
+ * ADD: new modules - `cherry5-insert-shortcode`, `cherry-db-udpates`
56
+ * ADD: text-domain
57
+ * FIX: compatibility with WordPress 4.7
58
+ * FIX: sanitization method in `cherry-utility` - #141
59
+ * FIX: duplicate argument in UI-button - #126
60
+ * UPD: license link in php-file headers
61
+
62
+ ### v1.3.1
63
+
64
+ * ADD: macros filter into `cherry-template-manager` module
65
+ * ADD: function `bg-image()` into `cherry-dynamic-css` module
66
+ * UPD: `cherry-interface-builder` module styles
67
+ * UPD: Google fonts json-file
68
+ * FIX: Issues [#124](https://github.com/CherryFramework/cherry-framework/issues/124)
69
+ * FIX: Issues [#123](https://github.com/CherryFramework/cherry-framework/issues/123)
70
+ * FIX: Issues [#120](https://github.com/CherryFramework/cherry-framework/issues/120)
71
+ * FIX: Issues [#118](https://github.com/CherryFramework/cherry-framework/issues/118)
72
+ * FIX: Issues [#116](https://github.com/CherryFramework/cherry-framework/issues/116)
73
+ * FIX: Issues [#115](https://github.com/CherryFramework/cherry-framework/issues/115)
74
+ * FIX: UI-media button
75
+ * DEL: system notices in `cherry-handler` module
76
+
77
+ ### v1.3.0
78
+
79
+ * ADD: UI-button
80
+ * ADD: new modules - `cherry-handler`, `cherry-template-manager`
81
+ * ADD: dynamic CSS collector
82
+ * UPD: re-factoring methods calling in `cherry-post-meta` module
83
+ * FIX: replace `file_get_contents` to prevent validation errors
84
+ * FIX: post meta saving
85
+ * FIX: [#81](https://github.com/CherryFramework/cherry-framework/issues/81)
86
+ * FIX: [#96](https://github.com/CherryFramework/cherry-framework/issues/96)
87
+ * FIX: [#100](https://github.com/CherryFramework/cherry-framework/issues/100)
88
+ * FIX: [#102](https://github.com/CherryFramework/cherry-framework/issues/102)
89
+ * FIX: [#109](https://github.com/CherryFramework/cherry-framework/issues/109)
90
+ * DEL: `cherry-page-builder` module
91
+
92
+ ### v1.2.0
93
+
94
+ * ADD: new module: `cherry-interface-builder`
95
+ * UPD: `cherry-utility` module:
96
+ 1) fix for the `cut_text` method
97
+ 2) added `get_placeholder_url` method
98
+ * UPD: UI-elements:
99
+ 1) added an option to disable ui_kit for the repeater element
100
+ 2) updated master/salve js logic in UI-elements
101
+ 3) updated HTML markup for UI-switcher, `input type="hiden"` replaced with double `input type="radio"`
102
+ * UPD: `cherry-customizer` module: file system method replaced with native WordPress method
103
+ * UPD: `cherry-post-meta` module:
104
+ 1) added data processing procedure before saving to the database
105
+ 2) added an option to add columns to the post listing page in the admin panel.
106
+ * FIX: PHP-errors in `cherry-post-format-api`
107
+ * DEL: remove unnecessary modules: `cherry-taxonomies`, `cherry-post-types`, `cherry-creator`
108
+
109
+ ### v1.1.0
110
+
111
+ * FIX: saving process in `cherry-post-meta` module
112
+
113
+ ### v1.0.0
114
+
115
+ * Init stable version
116
+
117
+
118
+ ## Help
119
+ Found a bug? Feature requests? [Create an issue - Thanks!](https://github.com/CherryFramework/cherry-framework/issues/new)
120
+
121
+ ## Docs
122
+
123
+ 1. [Quick Start Guide](http://www.cherryframework.com/quick-start/)
124
+ 2. [Real example](https://github.com/CherryFramework/cherry-framework-example)
125
+ 3. [Documentation](http://www.cherryframework.com/docs/)
cherry-framework/cherry-core.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * Class Cherry Core
4
- * Version: 1.5.2
5
  *
6
  * @package Cherry_Framework
7
  * @subpackage Class
1
  <?php
2
  /**
3
  * Class Cherry Core
4
+ * Version: 1.5.4.1
5
  *
6
  * @package Cherry_Framework
7
  * @subpackage Class
cherry-framework/codesniffer.ruleset.xml ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <ruleset name="WordPress Theme Coding Standards">
3
+ <!-- See https://github.com/squizlabs/PHP_CodeSniffer/wiki/Annotated-ruleset.xml -->
4
+ <!-- See https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/blob/develop/WordPress-Core/ruleset.xml -->
5
+
6
+ <!-- Set a description for this ruleset. -->
7
+ <description>A custom set of code standard rules to check for WordPress themes.</description>
8
+
9
+ <!-- Include the WordPress ruleset, with space for exclusions if necessary. -->
10
+ <rule ref="WordPress-Core">
11
+ <exclude name="Generic.WhiteSpace.ScopeIndent.Incorrect" />
12
+ <exclude name="Generic.WhiteSpace.ScopeIndent.IncorrectExact" />
13
+
14
+ <exclude name="PEAR.Functions.FunctionCallSignature.Indent" />
15
+
16
+ <exclude name="Squiz.Commenting.FileComment.SpacingAfterComment" />
17
+ <exclude name="Squiz.Commenting.FunctionComment.MissingParamTag" />
18
+ <exclude name="Squiz.Commenting.InlineComment.InvalidEndChar" />
19
+ <exclude name="Squiz.Commenting.InlineComment.NotCapital" />
20
+ <exclude name="Squiz.Commenting.LongConditionClosingComment.Missing" />
21
+
22
+ <exclude name="WordPress.Files.FileName.InvalidClassFileName" />
23
+ </rule>
24
+ <rule ref="WordPress-Docs">
25
+
26
+ </rule>
27
+ </ruleset>
cherry-framework/modules/cherry-customizer/cherry-customizer.php CHANGED
@@ -988,7 +988,7 @@ if ( ! class_exists( 'Cherry_Customizer' ) ) {
988
  public function file_exists( $file ) {
989
 
990
  if ( ! function_exists( 'WP_Filesystem' ) ) {
991
- include_once( ABSPATH . '/wp-admin/includes/file.php' );
992
  }
993
 
994
  WP_Filesystem();
@@ -1013,7 +1013,7 @@ if ( ! class_exists( 'Cherry_Customizer' ) ) {
1013
  public function get_file( $file ) {
1014
 
1015
  if ( ! function_exists( 'WP_Filesystem' ) ) {
1016
- include_once( ABSPATH . '/wp-admin/includes/file.php' );
1017
  }
1018
 
1019
  WP_Filesystem();
988
  public function file_exists( $file ) {
989
 
990
  if ( ! function_exists( 'WP_Filesystem' ) ) {
991
+ return file_exists( $file );
992
  }
993
 
994
  WP_Filesystem();
1013
  public function get_file( $file ) {
1014
 
1015
  if ( ! function_exists( 'WP_Filesystem' ) ) {
1016
+ return Cherry_Toolkit::get_file( $file );
1017
  }
1018
 
1019
  WP_Filesystem();
cherry-framework/modules/cherry-ui-elements/inc/ui-elements/ui-repeater/assets/min/ui-repeater.min.js CHANGED
@@ -1 +1 @@
1
- !function(e,t){"use strict";t.utilites.namespace("ui_elements.repeater"),t.ui_elements.repeater={repeaterContainerClass:".cherry-ui-repeater-container",repeaterListClass:".cherry-ui-repeater-list",repeaterItemClass:".cherry-ui-repeater-item",repeaterItemHandleClass:".cherry-ui-repeater-actions-box",repeaterTitleClass:".cherry-ui-repeater-title",addItemButtonClass:".cherry-ui-repeater-add",removeItemButtonClass:".cherry-ui-repeater-remove",toggleItemButtonClass:".cherry-ui-repeater-toggle",minItemClass:"cherry-ui-repeater-min",sortablePlaceholderClass:"sortable-placeholder",init:function(){e(document).on("ready",this.addEvents.bind(this))},addEvents:function(){e("body").on("click",this.addItemButtonClass,{self:this},this.addItem).on("click",this.removeItemButtonClass,{self:this},this.removeItem).on("click",this.toggleItemButtonClass,{self:this},this.toggleItem).on("change",this.repeaterListClass+" input, "+this.repeaterListClass+" textarea, "+this.repeaterListClass+" select",{self:this},this.changeWrapperLable).on("sortable-init",{self:this},this.sortableItem),e(document).on("cherry-ui-elements-init",{self:this},this.sortableItem),this.triggers()},triggers:function(t){return e("body").trigger("sortable-init"),t&&e(document).trigger("cherry-ui-elements-init",{target:t}),this},addItem:function(t){var s=t.data.self,a=e(this).prev(s.repeaterListClass),r=a.data("index"),i=a.data("name"),l=wp.template(i),n=a.data("widget-id"),o={index:r};n="__i__"!==n?n:a.attr("id"),n&&(o.widgetId=n),a.append(l(o)),r++,a.data("index",r),s.triggers(e(s.repeaterItemClass+":last",a)).stopDefaultEvent(t)},removeItem:function(t){var s=t.data.self,a=e(this).closest(s.repeaterListClass);s.applyChanges(a),e(this).closest(s.repeaterItemClass).remove(),s.triggers().stopDefaultEvent(t)},toggleItem:function(t){var s=t.data.self,a=e(this).closest(s.repeaterItemClass);a.toggleClass(s.minItemClass),s.stopDefaultEvent(t)},sortableItem:function(t){var s,a,r=t.data.self,i=e(r.repeaterListClass);i.each(function(t,i){s=e(i),a=e(i).data("sortable-init"),s.sortable(a?"refresh":{items:r.repeaterItemClass,handle:r.repeaterItemHandleClass,cursor:"move",scrollSensitivity:40,forcePlaceholderSize:!0,forceHelperSize:!1,helper:"clone",opacity:.65,placeholder:r.sortablePlaceholderClass,create:function(){s.data("sortable-init",!0)},update:function(t){var s=e(t.target);r.applyChanges(s)}})})},changeWrapperLable:function(t){var s,a,r=t.data.self,i=e(r.repeaterListClass),l=i.data("title-field"),n=e(this);l&&n.closest("."+l+"-wrap")[0]&&(s=n.val(),a=n.closest(r.repeaterItemClass),e(r.repeaterTitleClass,a).html(s)),r.stopDefaultEvent(t)},applyChanges:function(t){return void 0!==wp.customize&&e("input[name]:first, select[name]:first",t).change(),this},stopDefaultEvent:function(e){return e.preventDefault(),e.stopImmediatePropagation(),e.stopPropagation(),this}},t.ui_elements.repeater.init()}(jQuery,window.CherryJsCore);
1
+ !function(e,t){"use strict";t.utilites.namespace("ui_elements.repeater"),t.ui_elements.repeater={repeaterContainerClass:".cherry-ui-repeater-container",repeaterListClass:".cherry-ui-repeater-list",repeaterItemClass:".cherry-ui-repeater-item",repeaterItemHandleClass:".cherry-ui-repeater-actions-box",repeaterTitleClass:".cherry-ui-repeater-title",addItemButtonClass:".cherry-ui-repeater-add",removeItemButtonClass:".cherry-ui-repeater-remove",toggleItemButtonClass:".cherry-ui-repeater-toggle",minItemClass:"cherry-ui-repeater-min",sortablePlaceholderClass:"sortable-placeholder",init:function(){e(document).on("ready",this.addEvents.bind(this))},addEvents:function(){e("body").on("click",this.addItemButtonClass,{self:this},this.addItem).on("click",this.removeItemButtonClass,{self:this},this.removeItem).on("click",this.toggleItemButtonClass,{self:this},this.toggleItem).on("change",this.repeaterListClass+" input, "+this.repeaterListClass+" textarea, "+this.repeaterListClass+" select",{self:this},this.changeWrapperLable).on("sortable-init",{self:this},this.sortableItem),e(document).on("cherry-ui-elements-init",{self:this},this.sortableItem),this.triggers()},triggers:function(t){return e("body").trigger("sortable-init"),t&&e(document).trigger("cherry-ui-elements-init",{target:t}),this},addItem:function(t){var r=t.data.self,a=e(this).prev(r.repeaterListClass),s=a.data("index"),i=a.data("name"),n=wp.template(i),l=a.data("widget-id"),o={index:s};(l="__i__"!==l?l:a.attr("id"))&&(o.widgetId=l),a.append(n(o)),s++,a.data("index",s),r.triggers(e(r.repeaterItemClass+":last",a)).stopDefaultEvent(t)},removeItem:function(t){var r=t.data.self,a=e(this).closest(r.repeaterListClass);r.applyChanges(a),e(this).closest(r.repeaterItemClass).remove(),r.triggers().stopDefaultEvent(t)},toggleItem:function(t){var r=t.data.self;e(this).closest(r.repeaterItemClass).toggleClass(r.minItemClass),r.stopDefaultEvent(t)},sortableItem:function(t){var r,a,s=t.data.self;e(s.repeaterListClass).each(function(t,i){r=e(i),(a=e(i).data("sortable-init"))?r.sortable("refresh"):r.sortable({items:s.repeaterItemClass,handle:s.repeaterItemHandleClass,cursor:"move",scrollSensitivity:40,forcePlaceholderSize:!0,forceHelperSize:!1,distance:2,tolerance:"pointer",helper:function(e,t){return t.clone().find(":input").attr("name",function(e,t){return"sort_"+parseInt(1e5*Math.random(),10).toString()+"_"+t}).end()},opacity:.65,placeholder:s.sortablePlaceholderClass,create:function(){r.data("sortable-init",!0)},update:function(t){var r=e(t.target);s.applyChanges(r)}})})},changeWrapperLable:function(t){var r,a,s=t.data.self,i=e(s.repeaterListClass).data("title-field"),n=e(this);i&&n.closest("."+i+"-wrap")[0]&&(r=n.val(),a=n.closest(s.repeaterItemClass),e(s.repeaterTitleClass,a).html(r)),s.stopDefaultEvent(t)},applyChanges:function(t){return void 0!==wp.customize&&e("input[name]:first, select[name]:first",t).change(),this},stopDefaultEvent:function(e){return e.preventDefault(),e.stopImmediatePropagation(),e.stopPropagation(),this}},t.ui_elements.repeater.init()}(jQuery,window.CherryJsCore);
cherry-framework/modules/cherry-ui-elements/inc/ui-elements/ui-repeater/assets/ui-repeater.js CHANGED
@@ -118,7 +118,16 @@
118
  scrollSensitivity: 40,
119
  forcePlaceholderSize: true,
120
  forceHelperSize: false,
121
- helper: 'clone',
 
 
 
 
 
 
 
 
 
122
  opacity: 0.65,
123
  placeholder: self.sortablePlaceholderClass,
124
  create: function() {
118
  scrollSensitivity: 40,
119
  forcePlaceholderSize: true,
120
  forceHelperSize: false,
121
+ distance: 2,
122
+ tolerance: 'pointer',
123
+ helper: function( event, element ) {
124
+ return element.clone()
125
+ .find( ':input' )
126
+ .attr( 'name', function( i, currentName ) {
127
+ return 'sort_' + parseInt( Math.random() * 100000, 10 ).toString() + '_' + currentName;
128
+ } )
129
+ .end();
130
+ },
131
  opacity: 0.65,
132
  placeholder: self.sortablePlaceholderClass,
133
  create: function() {
cherry-framework/modules/cherry5-assets-loader/cherry5-assets-loader.php CHANGED
@@ -74,6 +74,14 @@ if ( ! class_exists( 'Cherry5_Assets_Loader' ) ) {
74
  */
75
  public static $initialized = false;
76
 
 
 
 
 
 
 
 
 
77
  /**
78
  * Class constructor.
79
  *
@@ -83,7 +91,8 @@ if ( ! class_exists( 'Cherry5_Assets_Loader' ) ) {
83
  */
84
  public function __construct( $core = null, $args = array() ) {
85
 
86
- $this->args = $args;
 
87
  $this->init();
88
 
89
  if ( ! empty( $this->args['css'] ) && is_array( $this->args['css'] ) ) {
74
  */
75
  public static $initialized = false;
76
 
77
+ /**
78
+ * Module directory path.
79
+ *
80
+ * @since 1.5.0
81
+ * @var srting.
82
+ */
83
+ public static $module_path = null;
84
+
85
  /**
86
  * Class constructor.
87
  *
91
  */
92
  public function __construct( $core = null, $args = array() ) {
93
 
94
+ self::$module_path = $args['module_path'];
95
+ $this->args = $args;
96
  $this->init();
97
 
98
  if ( ! empty( $this->args['css'] ) && is_array( $this->args['css'] ) ) {
cherry-framework/modules/cherry5-assets-loader/inc/cherry5-assets-loader-handle.php CHANGED
@@ -90,7 +90,7 @@ if ( ! class_exists( 'Cherry5_Assets_Loader_Handle' ) ) {
90
  return;
91
  }
92
 
93
- $path = preg_replace( '/[\\\\\/]inc$/', '/assets/var.js', $this->module_path );
94
 
95
  ob_start();
96
  include $path;
90
  return;
91
  }
92
 
93
+ $path = Cherry5_Assets_Loader::$module_path . 'assets/var.js';
94
 
95
  ob_start();
96
  include $path;
cherry-framework/modules/cherry5-insert-shortcode/cherry5-insert-shortcode.php CHANGED
@@ -98,7 +98,7 @@ if ( ! class_exists( 'Cherry5_Insert_Shortcode' ) ) {
98
  * @var object
99
  * @access private
100
  */
101
- private $shortcodes_button = null;
102
 
103
  /**
104
  * A reference to an instance of this class Cherry5_Insertion_Popup.
@@ -107,7 +107,7 @@ if ( ! class_exists( 'Cherry5_Insert_Shortcode' ) ) {
107
  * @var object
108
  * @access private
109
  */
110
- private $shortcodes_popup = null;
111
 
112
  /**
113
  * Shortcode list.
@@ -145,8 +145,8 @@ if ( ! class_exists( 'Cherry5_Insert_Shortcode' ) ) {
145
  $this->includes();
146
 
147
  // Initializing child classes.
 
148
  $this->shortcodes_button = new Cherry5_Insertion_Button( $this->core, $this->args, $this );
149
- $this->shortcodes_popup = new Cherry5_Insertion_Popup( $this->core, $this->args, $this );
150
 
151
  // Register admin assets.
152
  add_action( 'admin_enqueue_scripts', array( $this, 'register_assets' ), 0 );
98
  * @var object
99
  * @access private
100
  */
101
+ public $shortcodes_button = null;
102
 
103
  /**
104
  * A reference to an instance of this class Cherry5_Insertion_Popup.
107
  * @var object
108
  * @access private
109
  */
110
+ public $shortcodes_popup = null;
111
 
112
  /**
113
  * Shortcode list.
145
  $this->includes();
146
 
147
  // Initializing child classes.
148
+ $this->shortcodes_popup = new Cherry5_Insertion_Popup( $this->core, $this->args, $this );
149
  $this->shortcodes_button = new Cherry5_Insertion_Button( $this->core, $this->args, $this );
 
150
 
151
  // Register admin assets.
152
  add_action( 'admin_enqueue_scripts', array( $this, 'register_assets' ), 0 );
cherry-framework/modules/cherry5-insert-shortcode/inc/class-cherry5-insertion-button.php CHANGED
@@ -55,16 +55,17 @@ if ( ! class_exists( 'Cherry5_Insertion_Button' ) ) {
55
  * @access public
56
  * @return void
57
  */
58
- public function add_button() {
59
- $args = apply_filters( 'cherry5-is__open-button', array(
60
- 'id' => '',
61
- 'name' => '',
62
- 'style' => 'primary',
63
- 'content' => '<span class="cherry5-is__icon dashicons dashicons-plus"></span>' . esc_html__( 'Cherry shortcodes', 'cherry-framework' ),
64
- 'class' => 'cherry5-is__open-button',
65
- ) );
66
 
67
- echo $this->parent_self->ui_elements->get_ui_element_instance( 'button', $args )->render();
 
 
 
 
 
 
 
 
68
  }
69
  }
70
  }
55
  * @access public
56
  * @return void
57
  */
58
+ public function add_button( $editor_id ) {
 
 
 
 
 
 
 
59
 
60
+ if ( 'content' !== $editor_id ) {
61
+ return;
62
+ }
63
+
64
+ echo '<button class="button cherry5-is__open-button" type="button"><span class="cherry5-is__icon dashicons dashicons-plus"></span>' . esc_html__( 'Cherry Shortcodes', 'cherry-framework' ) . '</button>';
65
+
66
+ if ( ! defined( 'DOING_AJAX' ) ) {
67
+ add_action( 'admin_print_footer_scripts', array( $this->parent_self->shortcodes_popup, 'render_popup' ), 99 );
68
+ }
69
  }
70
  }
71
  }
cherry-framework/modules/cherry5-insert-shortcode/inc/class-cherry5-insertion-popup.php CHANGED
@@ -100,9 +100,6 @@ if ( ! class_exists( 'Cherry5_Insertion_Popup' ) ) {
100
  )
101
  );
102
 
103
- if ( ! defined( 'DOING_AJAX' ) ) {
104
- add_action( 'admin_print_footer_scripts', array( $this, 'render_popup' ), 99 );
105
- }
106
  }
107
 
108
  /**
100
  )
101
  );
102
 
 
 
 
103
  }
104
 
105
  /**
cherry-projects.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: Cherry Projects
4
  * Plugin URI: http://www.cherryframework.com/
5
  * Description: A projects plugin for WordPress.
6
- * Version: 1.2.8
7
  * Author: Cherry Team
8
  * Author URI: http://www.cherryframework.com/
9
  * Text Domain: cherry-projects
@@ -13,7 +13,7 @@
13
  *
14
  * @package Cherry_Projects
15
  * @author Cherry Team
16
- * @version 1.2.8
17
  * @license GPL-3.0+
18
  * @copyright 2002-2016, Cherry Team
19
  */
@@ -144,7 +144,7 @@ if ( ! class_exists( 'Cherry_Projects' ) ) {
144
  *
145
  * @since 1.0.0
146
  */
147
- define( 'CHERRY_PROJECTS_VERSION', '1.2.8' );
148
 
149
  /**
150
  * Set the slug of the plugin.
3
  * Plugin Name: Cherry Projects
4
  * Plugin URI: http://www.cherryframework.com/
5
  * Description: A projects plugin for WordPress.
6
+ * Version: 1.2.9
7
  * Author: Cherry Team
8
  * Author URI: http://www.cherryframework.com/
9
  * Text Domain: cherry-projects
13
  *
14
  * @package Cherry_Projects
15
  * @author Cherry Team
16
+ * @version 1.2.9
17
  * @license GPL-3.0+
18
  * @copyright 2002-2016, Cherry Team
19
  */
144
  *
145
  * @since 1.0.0
146
  */
147
+ define( 'CHERRY_PROJECTS_VERSION', '1.2.9' );
148
 
149
  /**
150
  * Set the slug of the plugin.
gulpfile.js ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 'use strict';
2
+
3
+ let gulp = require('gulp'),
4
+ rename = require("gulp-rename"),
5
+ notify = require('gulp-notify'),
6
+ autoprefixer = require('gulp-autoprefixer'),
7
+ sass = require('gulp-sass');
8
+
9
+ //css
10
+ gulp.task('css', () => {
11
+ return gulp.src('./public/assets/scss/styles.scss')
12
+ .pipe(sass( { outputStyle: 'compressed' } ))
13
+ .pipe(autoprefixer({
14
+ browsers: ['last 10 versions'],
15
+ cascade: false
16
+ }))
17
+
18
+ .pipe(rename('styles.css'))
19
+ .pipe(gulp.dest('./public/assets/css/'))
20
+ .pipe(notify('Compile Sass Done!'));
21
+ });
22
+
23
+ gulp.task('css-admin', () => {
24
+ return gulp.src('./admin/assets/scss/admin-style.scss')
25
+ .pipe(sass( { outputStyle: 'compressed' } ))
26
+ .pipe(autoprefixer({
27
+ browsers: ['last 10 versions'],
28
+ cascade: false
29
+ }))
30
+
31
+ .pipe(rename('admin-style.css'))
32
+ .pipe(gulp.dest('./admin/assets/css/'))
33
+ .pipe(notify('Compile Sass Done!'));
34
+ });
35
+
36
+ //watch
37
+ gulp.task('watch', () => {
38
+ gulp.watch('./public/assets/scss/**', ['css']);
39
+ gulp.watch('./admin/assets/scss/**', ['css-admin']);
40
+ });
package.json ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "gulp-project",
3
+ "version": "0.1.0",
4
+ "devDependencies": {
5
+ "browser-sync": "^2.18.2",
6
+ "gulp": "^3.9.1",
7
+ "gulp-autoprefixer": "^3.1.1",
8
+ "gulp-notify": "^2.2.0",
9
+ "gulp-plumber": "^1.1.0",
10
+ "gulp-rename": "^1.2.2",
11
+ "gulp-sass": "^2.3.2"
12
+ }
13
+ }
public/assets/css/styles.css CHANGED
@@ -1,1002 +1 @@
1
- /* 3d mixins */
2
- /* end 3d mixins */
3
- /* 3d mixins */
4
- /* end 3d mixins */
5
- .projects-filters {
6
- margin: 30px 0;
7
- display: -webkit-box;
8
- display: -webkit-flex;
9
- display: -ms-flexbox;
10
- display: flex;
11
- -webkit-flex-flow: row wrap;
12
- -ms-flex-flow: row wrap;
13
- flex-flow: row wrap;
14
- -webkit-box-pack: justify;
15
- -webkit-justify-content: space-between;
16
- -ms-flex-pack: justify;
17
- justify-content: space-between;
18
- color: #23282d;
19
- position: relative;
20
- z-index: 9; }
21
-
22
- .projects-filters-list-wrapper {
23
- -webkit-box-flex: 0;
24
- -webkit-flex: 0 1 auto;
25
- -ms-flex: 0 1 auto;
26
- flex: 0 1 auto; }
27
-
28
- ul.projects-filters-list {
29
- display: inline-block;
30
- list-style: none;
31
- margin: 0;
32
- padding: 0; }
33
- ul.projects-filters-list li {
34
- float: left;
35
- margin-right: 20px; }
36
- ul.projects-filters-list li:last-child {
37
- margin-right: 0; }
38
- ul.projects-filters-list li.active span {
39
- color: #298ffc; }
40
- ul.projects-filters-list li span {
41
- margin: 0 10px 0 0;
42
- cursor: pointer; }
43
- ul.projects-filters-list li span:hover {
44
- color: #298ffc; }
45
- ul.projects-filters-list li span:last-child {
46
- margin: 0; }
47
-
48
- .projects-order-filters-wrapper {
49
- -webkit-box-flex: 0;
50
- -webkit-flex: 0 1 auto;
51
- -ms-flex: 0 1 auto;
52
- flex: 0 1 auto; }
53
-
54
- ul.order-filters {
55
- display: inline-block;
56
- list-style: none;
57
- margin: 0;
58
- padding: 0; }
59
- ul.order-filters > li {
60
- float: left;
61
- margin: 0 10px;
62
- position: relative;
63
- cursor: pointer;
64
- -webkit-perspective: 500px;
65
- perspective: 500px;
66
- -webkit-perspective-origin: 50% 50%;
67
- perspective-origin: 50% 50%; }
68
- ul.order-filters > li:hover {
69
- text-decoration: none; }
70
- ul.order-filters > li ul {
71
- position: absolute;
72
- left: 0;
73
- background: #298ffc;
74
- list-style: none;
75
- margin: 0;
76
- padding: 10px 20px;
77
- min-width: 150px;
78
- z-index: 99;
79
- transform-style: preserve-3d;
80
- -webkit-transform-style: preserve-3d;
81
- -moz-transform-style: preserve-3d;
82
- -o-transform-style: preserve-3d;
83
- -webkit-transform-origin: 50% 0%;
84
- -ms-transform-origin: 50% 0%;
85
- transform-origin: 50% 0%;
86
- opacity: 0;
87
- filter: alpha(opacity=0);
88
- -webkit-transform: translateZ(-100px) translateY(50px) rotateX(-90deg);
89
- -ms-transform: translateZ(-100px) translateY(50px) rotateX(-90deg);
90
- transform: translateZ(-100px) translateY(50px) rotateX(-90deg);
91
- -webkit-transition: all 0.2s cubic-bezier(0.86, 0.17, 0.83, 0.57);
92
- transition: all 0.2s cubic-bezier(0.86, 0.17, 0.83, 0.57); }
93
- ul.order-filters > li ul li {
94
- white-space: nowrap;
95
- margin: 5px; }
96
- ul.order-filters > li ul li span {
97
- color: #fff; }
98
- ul.order-filters > li ul li.active {
99
- display: none; }
100
- ul.order-filters > li span.current {
101
- margin-left: 10px;
102
- color: #298ffc; }
103
- ul.order-filters > li.dropdown-state ul {
104
- -webkit-transform: translateZ(0) translateY(0) rotateX(0deg);
105
- -ms-transform: translateZ(0) translateY(0) rotateX(0deg);
106
- transform: translateZ(0) translateY(0) rotateX(0deg);
107
- opacity: 1;
108
- filter: alpha(opacity=100);
109
- -webkit-transition: all 0.4s cubic-bezier(0.12, 0.51, 0.33, 1.14);
110
- transition: all 0.4s cubic-bezier(0.12, 0.51, 0.33, 1.14); }
111
-
112
- /* 3d mixins */
113
- /* end 3d mixins */
114
- .projects-pagination {
115
- display: -webkit-box;
116
- display: -webkit-flex;
117
- display: -ms-flexbox;
118
- display: flex;
119
- -webkit-flex-flow: row wrap;
120
- -ms-flex-flow: row wrap;
121
- flex-flow: row wrap;
122
- -webkit-box-pack: justify;
123
- -webkit-justify-content: space-between;
124
- -ms-flex-pack: justify;
125
- justify-content: space-between;
126
- margin: 20px 0; }
127
- .projects-pagination ul.page-link {
128
- -webkit-box-flex: 0;
129
- -webkit-flex: 0 1 auto;
130
- -ms-flex: 0 1 auto;
131
- flex: 0 1 auto;
132
- list-style: none;
133
- margin: 0; }
134
- .projects-pagination ul.page-link li {
135
- float: left;
136
- margin: 0 2px; }
137
- .projects-pagination ul.page-link li.active span {
138
- color: #298ffc; }
139
- .projects-pagination ul.page-link li span {
140
- line-height: 30px;
141
- color: #23282d;
142
- padding: 5px 10px;
143
- text-decoration: none;
144
- cursor: pointer; }
145
- .projects-pagination ul.page-link li span:hover {
146
- color: #298ffc; }
147
- .projects-pagination .page-navigation {
148
- -webkit-box-flex: 0;
149
- -webkit-flex: 0 1 auto;
150
- -ms-flex: 0 1 auto;
151
- flex: 0 1 auto; }
152
- .projects-pagination .page-navigation span {
153
- line-height: 30px;
154
- color: #23282d;
155
- padding: 5px 10px;
156
- margin: 0 2px;
157
- cursor: pointer; }
158
- .projects-pagination .page-navigation span:hover {
159
- color: #298ffc; }
160
-
161
- .projects-container.grid-layout .projects-list {
162
- display: -webkit-box;
163
- display: -webkit-flex;
164
- display: -ms-flexbox;
165
- display: flex;
166
- -webkit-flex-flow: row wrap;
167
- -ms-flex-flow: row wrap;
168
- flex-flow: row wrap; }
169
- .projects-container.grid-layout .projects-list .projects-item {
170
- -webkit-box-flex: 0;
171
- -webkit-flex: 0 1 auto;
172
- -ms-flex: 0 1 auto;
173
- flex: 0 1 auto; }
174
-
175
- .projects-container.masonry-layout .projects-list .projects-item {
176
- display: inline-block; }
177
-
178
- .projects-container.justified-layout .projects-list {
179
- display: -webkit-box;
180
- display: -webkit-flex;
181
- display: -ms-flexbox;
182
- display: flex;
183
- -webkit-flex-flow: row wrap;
184
- -ms-flex-flow: row wrap;
185
- flex-flow: row wrap;
186
- -webkit-box-pack: justify;
187
- -webkit-justify-content: space-between;
188
- -ms-flex-pack: justify;
189
- justify-content: space-between;
190
- -webkit-box-align: stretch;
191
- -webkit-align-items: stretch;
192
- -ms-flex-align: stretch;
193
- align-items: stretch;
194
- -webkit-align-content: stretch;
195
- -ms-flex-line-pack: stretch;
196
- align-content: stretch; }
197
- .projects-container.justified-layout .projects-item {
198
- -webkit-box-flex: 0;
199
- -webkit-flex: 0 1 auto;
200
- -ms-flex: 0 1 auto;
201
- flex: 0 1 auto;
202
- height: auto; }
203
-
204
- .projects-container.cascading-grid-layout .projects-list {
205
- display: -webkit-box;
206
- display: -webkit-flex;
207
- display: -ms-flexbox;
208
- display: flex;
209
- -webkit-flex-flow: row wrap;
210
- -ms-flex-flow: row wrap;
211
- flex-flow: row wrap;
212
- -webkit-box-align: stretch;
213
- -webkit-align-items: stretch;
214
- -ms-flex-align: stretch;
215
- align-items: stretch;
216
- -webkit-align-content: stretch;
217
- -ms-flex-line-pack: stretch;
218
- align-content: stretch; }
219
- .projects-container.cascading-grid-layout .projects-item {
220
- -webkit-box-flex: 0;
221
- -webkit-flex: 0 1 auto;
222
- -ms-flex: 0 1 auto;
223
- flex: 0 1 auto;
224
- height: auto; }
225
-
226
- .projects-container.list-layout .projects-list .projects-item {
227
- margin-bottom: 20px; }
228
- .projects-container.list-layout .inner-wrapper {
229
- display: -webkit-box;
230
- display: -webkit-flex;
231
- display: -ms-flexbox;
232
- display: flex;
233
- -webkit-flex-flow: row nowrap;
234
- -ms-flex-flow: row nowrap;
235
- flex-flow: row nowrap;
236
- -webkit-box-align: start;
237
- -webkit-align-items: flex-start;
238
- -ms-flex-align: start;
239
- align-items: flex-start; }
240
- .projects-container.list-layout .project-media {
241
- -webkit-box-flex: 0;
242
- -webkit-flex: 0 1 auto;
243
- -ms-flex: 0 1 auto;
244
- flex: 0 1 auto;
245
- min-width: 30%;
246
- margin-right: 20px; }
247
- .projects-container.list-layout .project-content {
248
- -webkit-box-flex: 0;
249
- -webkit-flex: 0 1 auto;
250
- -ms-flex: 0 1 auto;
251
- flex: 0 1 auto;
252
- min-width: 70%; }
253
-
254
- /* 3d mixins */
255
- /* end 3d mixins */
256
- .cherry-animation-container.loading-animation-fade .cherry-animation-list .cherry-animation-item .inner-wrapper {
257
- opacity: 1;
258
- filter: alpha(opacity=100);
259
- -webkit-transition: all 0.8s ease;
260
- transition: all 0.8s ease; }
261
- .cherry-animation-container.loading-animation-fade .cherry-animation-list .cherry-animation-item.animate-cycle-show .inner-wrapper {
262
- opacity: 0;
263
- filter: alpha(opacity=0); }
264
- .cherry-animation-container.loading-animation-fade .cherry-animation-list .cherry-animation-item.animate-cycle-hide .inner-wrapper {
265
- opacity: 0;
266
- filter: alpha(opacity=0);
267
- -webkit-transform: translateY(-30px);
268
- -ms-transform: translateY(-30px);
269
- transform: translateY(-30px);
270
- -webkit-transition: all 0.4s ease;
271
- transition: all 0.4s ease; }
272
- .cherry-animation-container.loading-animation-scale .cherry-animation-list .cherry-animation-item {
273
- -webkit-perspective: 1000px;
274
- perspective: 1000px;
275
- -webkit-perspective-origin: 50% 50%;
276
- perspective-origin: 50% 50%; }
277
- .cherry-animation-container.loading-animation-scale .cherry-animation-list .cherry-animation-item .inner-wrapper {
278
- opacity: 1;
279
- filter: alpha(opacity=100);
280
- transform-style: preserve-3d;
281
- -webkit-transform-style: preserve-3d;
282
- -moz-transform-style: preserve-3d;
283
- -o-transform-style: preserve-3d;
284
- -webkit-transform-origin: 50% 0%;
285
- -ms-transform-origin: 50% 0%;
286
- transform-origin: 50% 0%;
287
- -webkit-transform: translateZ(0px) translateY(0px) rotateX(0deg);
288
- -ms-transform: translateZ(0px) translateY(0px) rotateX(0deg);
289
- transform: translateZ(0px) translateY(0px) rotateX(0deg);
290
- -webkit-transition: all 0.7s cubic-bezier(0.29, 0.65, 0.64, 0.97);
291
- transition: all 0.7s cubic-bezier(0.29, 0.65, 0.64, 0.97); }
292
- .cherry-animation-container.loading-animation-scale .cherry-animation-list .cherry-animation-item.animate-cycle-show .inner-wrapper {
293
- opacity: 0;
294
- filter: alpha(opacity=0);
295
- -webkit-transform: translateZ(-1500px) translateY(50px) rotateX(90deg);
296
- -ms-transform: translateZ(-1500px) translateY(50px) rotateX(90deg);
297
- transform: translateZ(-1500px) translateY(50px) rotateX(90deg); }
298
- .cherry-animation-container.loading-animation-scale .cherry-animation-list .cherry-animation-item.animate-cycle-hide .inner-wrapper {
299
- opacity: 0;
300
- filter: alpha(opacity=0);
301
- -webkit-transform: translateY(-30px);
302
- -ms-transform: translateY(-30px);
303
- transform: translateY(-30px);
304
- -webkit-transition: all 0.4s ease;
305
- transition: all 0.4s ease; }
306
- .cherry-animation-container.loading-animation-move-up .cherry-animation-list .cherry-animation-item {
307
- -webkit-perspective: 500px;
308
- perspective: 500px;
309
- -webkit-perspective-origin: 50% 50%;
310
- perspective-origin: 50% 50%; }
311
- .cherry-animation-container.loading-animation-move-up .cherry-animation-list .cherry-animation-item .inner-wrapper {
312
- opacity: 1;
313
- filter: alpha(opacity=100);
314
- transform-style: preserve-3d;
315
- -webkit-transform-style: preserve-3d;
316
- -moz-transform-style: preserve-3d;
317
- -o-transform-style: preserve-3d;
318
- -webkit-transform-origin: 50% 0%;
319
- -ms-transform-origin: 50% 0%;
320
- transform-origin: 50% 0%;
321
- -webkit-transform: translateY(0px) translateZ(0) rotateX(0deg);
322
- -ms-transform: translateY(0px) translateZ(0) rotateX(0deg);
323
- transform: translateY(0px) translateZ(0) rotateX(0deg);
324
- -webkit-transition: all 0.8s cubic-bezier(0.29, 0.65, 0.64, 0.97);
325
- transition: all 0.8s cubic-bezier(0.29, 0.65, 0.64, 0.97); }
326
- .cherry-animation-container.loading-animation-move-up .cherry-animation-list .cherry-animation-item.animate-cycle-show .inner-wrapper {
327
- opacity: 0;
328
- filter: alpha(opacity=0);
329
- -webkit-transform: translateY(80px) translateZ(-100px) rotateX(5deg);
330
- -ms-transform: translateY(80px) translateZ(-100px) rotateX(5deg);
331
- transform: translateY(80px) translateZ(-100px) rotateX(5deg); }
332
- .cherry-animation-container.loading-animation-move-up .cherry-animation-list .cherry-animation-item.animate-cycle-hide .inner-wrapper {
333
- opacity: 0;
334
- filter: alpha(opacity=0);
335
- -webkit-transform: translateY(-30px);
336
- -ms-transform: translateY(-30px);
337
- transform: translateY(-30px);
338
- -webkit-transition: all 0.4s ease;
339
- transition: all 0.4s ease; }
340
- .cherry-animation-container.loading-animation-flip .cherry-animation-list {
341
- -webkit-perspective: 1500px;
342
- perspective: 1500px;
343
- -webkit-perspective-origin: 50% 50%;
344
- perspective-origin: 50% 50%; }
345
- .cherry-animation-container.loading-animation-flip .cherry-animation-list .cherry-animation-item .inner-wrapper {
346
- transform-style: preserve-3d;
347
- -webkit-transform-style: preserve-3d;
348
- -moz-transform-style: preserve-3d;
349
- -o-transform-style: preserve-3d;
350
- -webkit-transform-origin: 50% 0%;
351
- -ms-transform-origin: 50% 0%;
352
- transform-origin: 50% 0%;
353
- opacity: 1;
354
- filter: alpha(opacity=100);
355
- -webkit-transform: translateY(0px) rotateX(0deg);
356
- -ms-transform: translateY(0px) rotateX(0deg);
357
- transform: translateY(0px) rotateX(0deg);
358
- -webkit-transition: all 0.8s cubic-bezier(0.31, 0.78, 0.39, 0.93);
359
- transition: all 0.8s cubic-bezier(0.31, 0.78, 0.39, 0.93); }
360
- .cherry-animation-container.loading-animation-flip .cherry-animation-list .cherry-animation-item.animate-cycle-show .inner-wrapper {
361
- opacity: 0;
362
- filter: alpha(opacity=0);
363
- -webkit-transform: translateY(-50px) rotateX(80deg);
364
- -ms-transform: translateY(-50px) rotateX(80deg);
365
- transform: translateY(-50px) rotateX(80deg); }
366
- .cherry-animation-container.loading-animation-flip .cherry-animation-list .cherry-animation-item.animate-cycle-hide .inner-wrapper {
367
- opacity: 0;
368
- filter: alpha(opacity=0);
369
- -webkit-transform: translateY(-30px);
370
- -ms-transform: translateY(-30px);
371
- transform: translateY(-30px);
372
- -webkit-transition: all 0.4s ease;
373
- transition: all 0.4s ease; }
374
- .cherry-animation-container.loading-animation-helix .cherry-animation-list {
375
- -webkit-perspective: 1000px;
376
- perspective: 1000px;
377
- -webkit-perspective-origin: 50% 50%;
378
- perspective-origin: 50% 50%; }
379
- .cherry-animation-container.loading-animation-helix .cherry-animation-list .cherry-animation-item .inner-wrapper {
380
- transform-style: preserve-3d;
381
- -webkit-transform-style: preserve-3d;
382
- -moz-transform-style: preserve-3d;
383
- -o-transform-style: preserve-3d;
384
- -webkit-transform: translateZ(0px) translateY(0px) rotateY(0deg);
385
- -ms-transform: translateZ(0px) translateY(0px) rotateY(0deg);
386
- transform: translateZ(0px) translateY(0px) rotateY(0deg);
387
- opacity: 1;
388
- filter: alpha(opacity=100);
389
- -webkit-transition: all 0.8s cubic-bezier(0.29, 0.65, 0.64, 0.97);
390
- transition: all 0.8s cubic-bezier(0.29, 0.65, 0.64, 0.97); }
391
- .cherry-animation-container.loading-animation-helix .cherry-animation-list .cherry-animation-item.animate-cycle-show .inner-wrapper {
392
- -webkit-transform: translateZ(-1000px) translateY(-50px) rotateY(-240deg);
393
- -ms-transform: translateZ(-1000px) translateY(-50px) rotateY(-240deg);
394
- transform: translateZ(-1000px) translateY(-50px) rotateY(-240deg);
395
- opacity: 0;
396
- filter: alpha(opacity=0); }
397
- .cherry-animation-container.loading-animation-helix .cherry-animation-list .cherry-animation-item.animate-cycle-hide .inner-wrapper {
398
- opacity: 0;
399
- filter: alpha(opacity=0);
400
- -webkit-transform: translateY(-30px);
401
- -ms-transform: translateY(-30px);
402
- transform: translateY(-30px);
403
- -webkit-transition: all 0.4s ease;
404
- transition: all 0.4s ease; }
405
- .cherry-animation-container.loading-animation-fall-perspective .cherry-animation-list {
406
- -webkit-perspective: 1000px;
407
- perspective: 1000px;
408
- -webkit-perspective-origin: 50% 50%;
409
- perspective-origin: 50% 50%; }
410
- .cherry-animation-container.loading-animation-fall-perspective .cherry-animation-list .cherry-animation-item .inner-wrapper {
411
- transform-style: preserve-3d;
412
- -webkit-transform-style: preserve-3d;
413
- -moz-transform-style: preserve-3d;
414
- -o-transform-style: preserve-3d;
415
- -webkit-transform: translateZ(0px) translateY(0px) rotateX(0deg);
416
- -ms-transform: translateZ(0px) translateY(0px) rotateX(0deg);
417
- transform: translateZ(0px) translateY(0px) rotateX(0deg);
418
- opacity: 1;
419
- filter: alpha(opacity=100);
420
- -webkit-transition: all 0.8s cubic-bezier(0.29, 0.65, 0.64, 0.97);
421
- transition: all 0.8s cubic-bezier(0.29, 0.65, 0.64, 0.97); }
422
- .cherry-animation-container.loading-animation-fall-perspective .cherry-animation-list .cherry-animation-item.animate-cycle-show .inner-wrapper {
423
- -webkit-transform: translateZ(400px) translateY(300px) rotateX(-65deg);
424
- -ms-transform: translateZ(400px) translateY(300px) rotateX(-65deg);
425
- transform: translateZ(400px) translateY(300px) rotateX(-65deg);
426
- opacity: 0;
427
- filter: alpha(opacity=0); }
428
- .cherry-animation-container.loading-animation-fall-perspective .cherry-animation-list .cherry-animation-item.animate-cycle-hide .inner-wrapper {
429
- opacity: 0;
430
- filter: alpha(opacity=0);
431
- -webkit-transform: translateY(-30px);
432
- -ms-transform: translateY(-30px);
433
- transform: translateY(-30px);
434
- -webkit-transition: all 0.4s ease;
435
- transition: all 0.4s ease; }
436
-
437
- /* 3d mixins */
438
- /* end 3d mixins */
439
- .cherry-projects-single__container {
440
- display: -webkit-box;
441
- display: -webkit-flex;
442
- display: -ms-flexbox;
443
- display: flex;
444
- -webkit-flex-flow: row nowrap;
445
- -ms-flex-flow: row nowrap;
446
- flex-flow: row nowrap; }
447
- .cherry-projects-single__media {
448
- -webkit-box-flex: 0;
449
- -webkit-flex: 0 1 60%;
450
- -ms-flex: 0 1 60%;
451
- flex: 0 1 60%;
452
- margin-right: 20px; }
453
- .cherry-projects-single__content {
454
- -webkit-box-flex: 0;
455
- -webkit-flex: 0 1 40%;
456
- -ms-flex: 0 1 40%;
457
- flex: 0 1 40%; }
458
- .cherry-projects-single-meta {
459
- margin: 10px 0;
460
- border-top: 1px solid #e5e5e5;
461
- border-bottom: 1px solid #e5e5e5; }
462
-
463
- .cherry-projects-single-post {
464
- color: #23282d; }
465
- .cherry-projects-single-post .featured-image img {
466
- width: 100%;
467
- height: auto; }
468
- .cherry-projects-single-post .post-terms {
469
- margin: 10px 0; }
470
- .cherry-projects-single-post .cherry-projects-meta {
471
- margin: 10px 0; }
472
- .cherry-projects-single-post .featured-image a, .cherry-projects-single-post .additional-image a {
473
- display: block;
474
- position: relative; }
475
- .cherry-projects-single-post .featured-image a img, .cherry-projects-single-post .additional-image a img {
476
- width: 100%; }
477
- .cherry-projects-single-post .featured-image a .cover, .cherry-projects-single-post .additional-image a .cover {
478
- position: absolute;
479
- width: 100%;
480
- height: 100%;
481
- display: block;
482
- background-color: rgba(41, 143, 252, 0.5);
483
- opacity: 0;
484
- -webkit-transition: all 0.3s ease-in-out;
485
- transition: all 0.3s ease-in-out; }
486
- .cherry-projects-single-post .featured-image a:hover .cover, .cherry-projects-single-post .additional-image a:hover .cover {
487
- opacity: 1; }
488
-
489
- .cherry-projects-additional-image-list {
490
- margin-bottom: 20px; }
491
- .cherry-projects-additional-image-list .additional-image-list {
492
- list-style: none;
493
- margin: 0;
494
- padding: 0; }
495
- .cherry-projects-additional-image-list .additional-image-list.grid-layout {
496
- display: -webkit-box;
497
- display: -webkit-flex;
498
- display: -ms-flexbox;
499
- display: flex;
500
- -webkit-flex-flow: row wrap;
501
- -ms-flex-flow: row wrap;
502
- flex-flow: row wrap; }
503
- .cherry-projects-additional-image-list .additional-image-list.grid-layout .image-item {
504
- -webkit-box-flex: 0;
505
- -webkit-flex: 0 1 auto;
506
- -ms-flex: 0 1 auto;
507
- flex: 0 1 auto; }
508
- .cherry-projects-additional-image-list .additional-image-list.masonry-layout .image-item {
509
- display: inline-block; }
510
-
511
- .cherry-projects-single-details-list {
512
- margin-bottom: 20px; }
513
- .cherry-projects-single-details-list .cherry-projects-details-list-title {
514
- margin-bottom: 10px; }
515
- .cherry-projects-single-details-list ul {
516
- list-style: none;
517
- margin: 0;
518
- padding: 0; }
519
- .cherry-projects-single-details-list ul li {
520
- color: #96989a;
521
- margin-bottom: 5px; }
522
- .cherry-projects-single-details-list ul li span {
523
- margin-right: 5px;
524
- color: #23282d; }
525
- .cherry-projects-single-details-list ul li:last-child {
526
- margin-bottom: 0; }
527
-
528
- .cherry-projects-single-skills-list {
529
- margin-bottom: 20px; }
530
- .cherry-projects-single-skills-list ul {
531
- list-style: none;
532
- margin: 0;
533
- padding: 0; }
534
- .cherry-projects-single-skills-list .cherry-skill-item {
535
- margin-bottom: 10px; }
536
- .cherry-projects-single-skills-list .cherry-skill-item .skill-label {
537
- margin-bottom: 5px; }
538
- .cherry-projects-single-skills-list .cherry-skill-item .skill-bar {
539
- width: 100%;
540
- height: 20px;
541
- background-color: #f1f1f1; }
542
- .cherry-projects-single-skills-list .cherry-skill-item .skill-bar span {
543
- height: 20px;
544
- display: inline-block;
545
- background-color: #48c569;
546
- position: relative; }
547
- .cherry-projects-single-skills-list .cherry-skill-item .skill-bar span em {
548
- font-size: 12px;
549
- line-height: 20px;
550
- float: right; }
551
- .cherry-projects-single-skills-list .cherry-skill-item:last-child {
552
- margin-bottom: 10px; }
553
-
554
- .cherry-projects-slider__instance {
555
- margin-bottom: 20px; }
556
- .cherry-projects-slider__instance .slider-pro {
557
- background-color: #23282d; }
558
- .cherry-projects-slider__instance .slider-pro .sp-arrows .sp-arrow:before {
559
- background-color: #298ffc; }
560
- .cherry-projects-slider__instance .slider-pro .sp-arrows .sp-arrow:after {
561
- background-color: #298ffc; }
562
- .cherry-projects-slider__instance .slider-pro .sp-full-screen-button:before {
563
- color: #298ffc; }
564
- .cherry-projects-slider__instance .slider-pro .sp-thumbnails-container {
565
- background-color: rgba(73, 81, 89, 0.5); }
566
- .cherry-projects-slider__instance .slider-pro .sp-thumbnails-container .sp-thumbnail-container .sp-thumbnail:hover {
567
- border: 3px solid #fffffc; }
568
- .cherry-projects-slider__instance .slider-pro .sp-thumbnails-container .sp-selected-thumbnail .sp-thumbnail {
569
- border: 3px solid #298ffc; }
570
- .cherry-projects-slider__instance .slider-pro .sp-thumbnails-container.sp-bottom-thumbnails {
571
- position: absolute;
572
- bottom: 0;
573
- padding: 5px 0; }
574
-
575
- .cherry-projects-video-list {
576
- width: 100%; }
577
-
578
- /* 3d mixins */
579
- /* end 3d mixins */
580
- .cherry-projects-terms-wrapper {
581
- color: #23282d;
582
- position: relative; }
583
-
584
- .projects-terms-container {
585
- position: relative; }
586
- .projects-terms-container.grid-layout .projects-terms-list {
587
- display: -webkit-box;
588
- display: -webkit-flex;
589
- display: -ms-flexbox;
590
- display: flex;
591
- -webkit-flex-flow: row wrap;
592
- -ms-flex-flow: row wrap;
593
- flex-flow: row wrap; }
594
- .projects-terms-container.grid-layout .projects-terms-list .projects-terms-item {
595
- -webkit-box-flex: 0;
596
- -webkit-flex: 0 1 auto;
597
- -ms-flex: 0 1 auto;
598
- flex: 0 1 auto; }
599
- .projects-terms-container.masonry-layout .projects-terms-list .projects-terms-item {
600
- display: inline-block; }
601
- .projects-terms-container.list-layout .projects-terms-list .projects-terms-item {
602
- margin-bottom: 20px; }
603
- .projects-terms-container.list-layout .inner-wrapper {
604
- display: -webkit-box;
605
- display: -webkit-flex;
606
- display: -ms-flexbox;
607
- display: flex;
608
- -webkit-flex-flow: row nowrap;
609
- -ms-flex-flow: row nowrap;
610
- flex-flow: row nowrap;
611
- -webkit-box-align: start;
612
- -webkit-align-items: flex-start;
613
- -ms-flex-align: start;
614
- align-items: flex-start; }
615
- .projects-terms-container.list-layout .project-terms-media {
616
- -webkit-box-flex: 0;
617
- -webkit-flex: 0 1 auto;
618
- -ms-flex: 0 1 auto;
619
- flex: 0 1 auto;
620
- min-width: 30%;
621
- margin-right: 20px; }
622
- .projects-terms-container.list-layout .project-terms-content {
623
- -webkit-box-flex: 0;
624
- -webkit-flex: 0 1 auto;
625
- -ms-flex: 0 1 auto;
626
- flex: 0 1 auto;
627
- min-width: 70%; }
628
- .projects-terms-container.cascading-grid-layout .projects-terms-list {
629
- display: -webkit-box;
630
- display: -webkit-flex;
631
- display: -ms-flexbox;
632
- display: flex;
633
- -webkit-flex-flow: row wrap;
634
- -ms-flex-flow: row wrap;
635
- flex-flow: row wrap;
636
- -webkit-box-align: stretch;
637
- -webkit-align-items: stretch;
638
- -ms-flex-align: stretch;
639
- align-items: stretch;
640
- -webkit-align-content: stretch;
641
- -ms-flex-line-pack: stretch;
642
- align-content: stretch; }
643
- .projects-terms-container.cascading-grid-layout .projects-terms-list .projects-terms-item {
644
- -webkit-box-flex: 0;
645
- -webkit-flex: 0 1 auto;
646
- -ms-flex: 0 1 auto;
647
- flex: 0 1 auto;
648
- height: auto; }
649
- .projects-terms-container .term-permalink span:before {
650
- content: "\f103"; }
651
-
652
- .projects-terms-list {
653
- position: relative; }
654
-
655
- .cherry-projects-wrapper {
656
- color: #23282d;
657
- position: relative; }
658
- .cherry-projects-wrapper .projects-container {
659
- position: relative;
660
- z-index: 8; }
661
- .cherry-projects-wrapper .projects-list {
662
- position: relative;
663
- min-height: 100px; }
664
-
665
- .projects-item-instance .inner-wrapper {
666
- position: relative; }
667
- .projects-item-instance .featured-image {
668
- width: 100%;
669
- line-height: 0; }
670
- .projects-item-instance .featured-image img {
671
- width: 100%;
672
- height: auto; }
673
- .projects-item-instance .project-media, .projects-item-instance .project-terms-media {
674
- position: relative; }
675
- .projects-item-instance .project-meta {
676
- margin: 15px 0; }
677
- .projects-item-instance .project-content, .projects-item-instance .project-terms-media {
678
- position: relative; }
679
- .projects-item-instance .simple-icon {
680
- display: inline-block;
681
- width: 30px;
682
- height: 30px;
683
- background-color: #298ffc;
684
- color: #f1f1f1;
685
- margin: 5px;
686
- border-radius: 30px; }
687
- .projects-item-instance .simple-icon span {
688
- margin: 5px; }
689
- .projects-item-instance .simple-icon:hover {
690
- background-color: #206ff4; }
691
- .projects-item-instance .simple-button {
692
- display: inline-block;
693
- padding: 10px;
694
- background-color: #298ffc;
695
- color: #f1f1f1; }
696
- .projects-item-instance .hover-content {
697
- display: -webkit-box;
698
- display: -webkit-flex;
699
- display: -ms-flexbox;
700
- display: flex;
701
- -webkit-flex-flow: column nowrap;
702
- -ms-flex-flow: column nowrap;
703
- flex-flow: column nowrap;
704
- -webkit-box-pack: center;
705
- -webkit-justify-content: center;
706
- -ms-flex-pack: center;
707
- justify-content: center;
708
- -webkit-align-content: center;
709
- -ms-flex-line-pack: center;
710
- align-content: center;
711
- -webkit-box-align: center;
712
- -webkit-align-items: center;
713
- -ms-flex-align: center;
714
- align-items: center;
715
- position: absolute;
716
- overflow: hidden;
717
- top: 0;
718
- left: 0;
719
- width: 100%;
720
- height: 100%;
721
- padding: 15px;
722
- background-color: rgba(35, 40, 45, 0.6);
723
- -webkit-transition: all 0.4s ease-out;
724
- transition: all 0.4s ease-out; }
725
- .projects-item-instance .hover-content.row-format {
726
- -webkit-flex-flow: row nowrap;
727
- -ms-flex-flow: row nowrap;
728
- flex-flow: row nowrap; }
729
- .projects-item-instance .hover-content > * {
730
- -webkit-box-flex: 0;
731
- -webkit-flex: 0 1 auto;
732
- -ms-flex: 0 1 auto;
733
- flex: 0 1 auto;
734
- -webkit-align-self: center;
735
- -ms-flex-item-align: center;
736
- align-self: center; }
737
- .projects-item-instance.simple-fade-hover .hover-content {
738
- opacity: 0;
739
- -webkit-transition: all 0.4s ease-out;
740
- transition: all 0.4s ease-out; }
741
- .projects-item-instance.simple-fade-hover .hover-content > * {
742
- opacity: 0;
743
- -webkit-transform: translateY(100%);
744
- -ms-transform: translateY(100%);
745
- transform: translateY(100%); }
746
- .projects-item-instance.simple-fade-hover .hover-content:hover {
747
- opacity: 1; }
748
- .projects-item-instance.simple-fade-hover .hover-content:hover > * {
749
- opacity: 1;
750
- -webkit-transform: translateY(0%);
751
- -ms-transform: translateY(0%);
752
- transform: translateY(0%);
753
- -webkit-transition: all 0.3s ease-out;
754
- transition: all 0.3s ease-out; }
755
- .projects-item-instance.simple-fade-hover .hover-content:hover > *:nth-child(1) {
756
- -webkit-transition-delay: 0.1s;
757
- transition-delay: 0.1s; }
758
- .projects-item-instance.simple-fade-hover .hover-content:hover > *:nth-child(2) {
759
- -webkit-transition-delay: 0.2s;
760
- transition-delay: 0.2s; }
761
- .projects-item-instance.simple-fade-hover .hover-content:hover > *:nth-child(3) {
762
- -webkit-transition-delay: 0.3s;
763
- transition-delay: 0.3s; }
764
- .projects-item-instance.simple-fade-hover .hover-content:hover > *:nth-child(4) {
765
- -webkit-transition-delay: 0.4s;
766
- transition-delay: 0.4s; }
767
- .projects-item-instance.simple-fade-hover .hover-content:hover > *:nth-child(5) {
768
- -webkit-transition-delay: 0.5s;
769
- transition-delay: 0.5s; }
770
- .projects-item-instance.simple-fade-hover .hover-content:hover > *:nth-child(6) {
771
- -webkit-transition-delay: 0.6s;
772
- transition-delay: 0.6s; }
773
- .projects-item-instance.simple-fade-hover .hover-content:hover > *:nth-child(7) {
774
- -webkit-transition-delay: 0.7s;
775
- transition-delay: 0.7s; }
776
- .projects-item-instance.simple-fade-hover .hover-content:hover > *:nth-child(8) {
777
- -webkit-transition-delay: 0.8s;
778
- transition-delay: 0.8s; }
779
- .projects-item-instance.simple-fade-hover .hover-content:hover > *:nth-child(9) {
780
- -webkit-transition-delay: 0.9s;
781
- transition-delay: 0.9s; }
782
- .projects-item-instance.simple-fade-hover .hover-content:hover > *:nth-child(10) {
783
- -webkit-transition-delay: 1s;
784
- transition-delay: 1s; }
785
- .projects-item-instance.simple-fade-hover .hover-content:hover > *:nth-child(11) {
786
- -webkit-transition-delay: 1.1s;
787
- transition-delay: 1.1s; }
788
- .projects-item-instance.simple-fade-hover .hover-content:hover > *:nth-child(12) {
789
- -webkit-transition-delay: 1.2s;
790
- transition-delay: 1.2s; }
791
- .projects-item-instance.simple-fade-hover .hover-content:hover > *:nth-child(13) {
792
- -webkit-transition-delay: 1.3s;
793
- transition-delay: 1.3s; }
794
- .projects-item-instance.simple-fade-hover .hover-content:hover > *:nth-child(14) {
795
- -webkit-transition-delay: 1.4s;
796
- transition-delay: 1.4s; }
797
- .projects-item-instance.simple-fade-hover .hover-content:hover > *:nth-child(15) {
798
- -webkit-transition-delay: 1.5s;
799
- transition-delay: 1.5s; }
800
- .projects-item-instance.simple-fade-hover .hover-content:hover > *:nth-child(16) {
801
- -webkit-transition-delay: 1.6s;
802
- transition-delay: 1.6s; }
803
- .projects-item-instance.simple-fade-hover .hover-content:hover > *:nth-child(17) {
804
- -webkit-transition-delay: 1.7s;
805
- transition-delay: 1.7s; }
806
- .projects-item-instance.simple-fade-hover .hover-content:hover > *:nth-child(18) {
807
- -webkit-transition-delay: 1.8s;
808
- transition-delay: 1.8s; }
809
- .projects-item-instance.simple-fade-hover .hover-content:hover > *:nth-child(19) {
810
- -webkit-transition-delay: 1.9s;
811
- transition-delay: 1.9s; }
812
- .projects-item-instance.simple-fade-hover .hover-content:hover > *:nth-child(20) {
813
- -webkit-transition-delay: 2s;
814
- transition-delay: 2s; }
815
- .projects-item-instance.simple-scale-hover .hover-content {
816
- opacity: 0;
817
- -webkit-transition: all 0.4s ease-out;
818
- transition: all 0.4s ease-out; }
819
- .projects-item-instance.simple-scale-hover .hover-content > * {
820
- -webkit-transform: scale(0);
821
- -ms-transform: scale(0);
822
- transform: scale(0);
823
- -webkit-transition: all 0.4s ease-out;
824
- transition: all 0.4s ease-out; }
825
- .projects-item-instance.simple-scale-hover .hover-content:hover {
826
- opacity: 1; }
827
- .projects-item-instance.simple-scale-hover .hover-content:hover > * {
828
- -webkit-transform: scale(1);
829
- -ms-transform: scale(1);
830
- transform: scale(1);
831
- -webkit-transition: all 0.3s ease-out;
832
- transition: all 0.3s ease-out; }
833
- .projects-item-instance.simple-scale-hover .hover-content:hover > *:nth-child(1) {
834
- -webkit-transition-delay: 0.1s;
835
- transition-delay: 0.1s; }
836
- .projects-item-instance.simple-scale-hover .hover-content:hover > *:nth-child(2) {
837
- -webkit-transition-delay: 0.2s;
838
- transition-delay: 0.2s; }
839
- .projects-item-instance.simple-scale-hover .hover-content:hover > *:nth-child(3) {
840
- -webkit-transition-delay: 0.3s;
841
- transition-delay: 0.3s; }
842
- .projects-item-instance.simple-scale-hover .hover-content:hover > *:nth-child(4) {
843
- -webkit-transition-delay: 0.4s;
844
- transition-delay: 0.4s; }
845
- .projects-item-instance.simple-scale-hover .hover-content:hover > *:nth-child(5) {
846
- -webkit-transition-delay: 0.5s;
847
- transition-delay: 0.5s; }
848
- .projects-item-instance.simple-scale-hover .hover-content:hover > *:nth-child(6) {
849
- -webkit-transition-delay: 0.6s;
850
- transition-delay: 0.6s; }
851
- .projects-item-instance.simple-scale-hover .hover-content:hover > *:nth-child(7) {
852
- -webkit-transition-delay: 0.7s;
853
- transition-delay: 0.7s; }
854
- .projects-item-instance.simple-scale-hover .hover-content:hover > *:nth-child(8) {
855
- -webkit-transition-delay: 0.8s;
856
- transition-delay: 0.8s; }
857
- .projects-item-instance.simple-scale-hover .hover-content:hover > *:nth-child(9) {
858
- -webkit-transition-delay: 0.9s;
859
- transition-delay: 0.9s; }
860
- .projects-item-instance.simple-scale-hover .hover-content:hover > *:nth-child(10) {
861
- -webkit-transition-delay: 1s;
862
- transition-delay: 1s; }
863
- .projects-item-instance.simple-scale-hover .hover-content:hover > *:nth-child(11) {
864
- -webkit-transition-delay: 1.1s;
865
- transition-delay: 1.1s; }
866
- .projects-item-instance.simple-scale-hover .hover-content:hover > *:nth-child(12) {
867
- -webkit-transition-delay: 1.2s;
868
- transition-delay: 1.2s; }
869
- .projects-item-instance.simple-scale-hover .hover-content:hover > *:nth-child(13) {
870
- -webkit-transition-delay: 1.3s;
871
- transition-delay: 1.3s; }
872
- .projects-item-instance.simple-scale-hover .hover-content:hover > *:nth-child(14) {
873
- -webkit-transition-delay: 1.4s;
874
- transition-delay: 1.4s; }
875
- .projects-item-instance.simple-scale-hover .hover-content:hover > *:nth-child(15) {
876
- -webkit-transition-delay: 1.5s;
877
- transition-delay: 1.5s; }
878
- .projects-item-instance.simple-scale-hover .hover-content:hover > *:nth-child(16) {
879
- -webkit-transition-delay: 1.6s;
880
- transition-delay: 1.6s; }
881
- .projects-item-instance.simple-scale-hover .hover-content:hover > *:nth-child(17) {
882
- -webkit-transition-delay: 1.7s;
883
- transition-delay: 1.7s; }
884
- .projects-item-instance.simple-scale-hover .hover-content:hover > *:nth-child(18) {
885
- -webkit-transition-delay: 1.8s;
886
- transition-delay: 1.8s; }
887
- .projects-item-instance.simple-scale-hover .hover-content:hover > *:nth-child(19) {
888
- -webkit-transition-delay: 1.9s;
889
- transition-delay: 1.9s; }
890
- .projects-item-instance.simple-scale-hover .hover-content:hover > *:nth-child(20) {
891
- -webkit-transition-delay: 2s;
892
- transition-delay: 2s; }
893
-
894
- .projects-end-line-spinner {
895
- width: 100%; }
896
- .projects-end-line-spinner .cherry-spinner {
897
- width: 70px;
898
- height: 70px;
899
- left: 50%;
900
- margin-left: -35px;
901
- display: none;
902
- position: relative; }
903
-
904
- .projects-ajax-button-wrapper {
905
- text-align: center; }
906
- .projects-ajax-button-wrapper .projects-ajax-button {
907
- display: inline-block; }
908
- .projects-ajax-button-wrapper .projects-ajax-button span {
909
- color: #fff;
910
- padding: 10px 20px;
911
- background: #298ffc;
912
- display: block;
913
- cursor: pointer; }
914
- .projects-ajax-button-wrapper .projects-ajax-button:hover span {
915
- background: #495159; }
916
- .projects-ajax-button-wrapper .projects-ajax-button.disabled {
917
- opacity: 0.3;
918
- filter: alpha(opacity=30); }
919
- .projects-ajax-button-wrapper .projects-ajax-button.disabled span {
920
- background: #495159; }
921
-
922
- .cherry-projects-ajax-loader {
923
- position: absolute;
924
- top: 0;
925
- left: 0;
926
- width: 100%;
927
- height: 100%;
928
- display: none;
929
- z-index: 999;
930
- pointer-events: none;
931
- background-color: rgba(0, 0, 0, 0.3); }
932
- .cherry-projects-ajax-loader .cherry-spinner {
933
- width: 90px;
934
- height: 90px;
935
- left: 50%;
936
- top: 50%;
937
- margin-left: -45px;
938
- margin-top: -45px;
939
- display: block;
940
- position: relative; }
941
-
942
- .cherry-spinner-double-bounce.cherry-spinner {
943
- position: relative; }
944
-
945
- .cherry-spinner-double-bounce .cherry-double-bounce1, .cherry-spinner-double-bounce .cherry-double-bounce2 {
946
- width: 100%;
947
- height: 100%;
948
- border-radius: 50%;
949
- background-color: #298ffc;
950
- opacity: 0.6;
951
- position: absolute;
952
- top: 0;
953
- left: 0;
954
- -webkit-animation: cherry-doubleBounce 2s infinite ease-in-out;
955
- animation: cherry-doubleBounce 2s infinite ease-in-out; }
956
-
957
- .cherry-spinner-double-bounce .cherry-double-bounce2 {
958
- -webkit-animation-delay: -1s;
959
- animation-delay: -1s; }
960
-
961
- @-webkit-keyframes cherry-doubleBounce {
962
- 0%, 100% {
963
- -webkit-transform: scale(0);
964
- transform: scale(0); }
965
- 50% {
966
- -webkit-transform: scale(1);
967
- transform: scale(1); } }
968
- @keyframes cherry-doubleBounce {
969
- 0%, 100% {
970
- -webkit-transform: scale(0);
971
- transform: scale(0); }
972
- 50% {
973
- -webkit-transform: scale(1);
974
- transform: scale(1); } }
975
- /*
976
- ====== Popap zoom effect ======
977
- */
978
- .mfp-zoom-in .mfp-with-anim {
979
- opacity: 0;
980
- -webkit-transition: all 0.2s ease-in-out;
981
- transition: all 0.2s ease-in-out;
982
- -webkit-transform: scale(0.8);
983
- -ms-transform: scale(0.8);
984
- transform: scale(0.8); }
985
- .mfp-zoom-in.mfp-bg {
986
- opacity: 0;
987
- -webkit-transition: all 0.3s ease-out;
988
- transition: all 0.3s ease-out; }
989
- .mfp-zoom-in.mfp-ready .mfp-with-anim {
990
- opacity: 1;
991
- -webkit-transform: scale(1);
992
- -ms-transform: scale(1);
993
- transform: scale(1); }
994
- .mfp-zoom-in.mfp-ready.mfp-bg {
995
- opacity: 0.8; }
996
- .mfp-zoom-in.mfp-removing .mfp-with-anim {
997
- -webkit-transform: scale(0.8);
998
- -ms-transform: scale(0.8);
999
- transform: scale(0.8);
1000
- opacity: 0; }
1001
- .mfp-zoom-in.mfp-removing.mfp-bg {
1002
- opacity: 0; }
1
+ .projects-filters{margin:30px 0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;color:#23282d;position:relative;z-index:9}.projects-filters-list-wrapper{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}ul.projects-filters-list{display:inline-block;list-style:none;margin:0;padding:0}ul.projects-filters-list li{float:left;margin-right:20px}ul.projects-filters-list li:last-child{margin-right:0}ul.projects-filters-list li.active span{color:#298ffc}ul.projects-filters-list li span{margin:0 10px 0 0;cursor:pointer}ul.projects-filters-list li span:hover{color:#298ffc}ul.projects-filters-list li span:last-child{margin:0}.projects-order-filters-wrapper{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}ul.order-filters{display:inline-block;list-style:none;margin:0;padding:0}ul.order-filters>li{float:left;margin:0 10px;position:relative;cursor:pointer;-webkit-perspective:500px;perspective:500px;-webkit-perspective-origin:50% 50%;perspective-origin:50% 50%}ul.order-filters>li:hover{text-decoration:none}ul.order-filters>li ul{position:absolute;left:0;background:#298ffc;list-style:none;margin:0;padding:10px 20px;min-width:150px;z-index:99;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;-moz-transform-style:preserve-3d;-o-transform-style:preserve-3d;-webkit-transform-origin:50% 0%;-ms-transform-origin:50% 0%;transform-origin:50% 0%;opacity:0;filter:alpha(opacity=0);-webkit-transform:translateZ(-100px) translateY(50px) rotateX(-90deg);-ms-transform:translateZ(-100px) translateY(50px) rotateX(-90deg);transform:translateZ(-100px) translateY(50px) rotateX(-90deg);-webkit-transition:all 0.2s cubic-bezier(0.86, 0.17, 0.83, 0.57);transition:all 0.2s cubic-bezier(0.86, 0.17, 0.83, 0.57)}ul.order-filters>li ul li{white-space:nowrap;margin:5px}ul.order-filters>li ul li span{color:#fff}ul.order-filters>li ul li.active{display:none}ul.order-filters>li span.current{margin-left:10px;color:#298ffc}ul.order-filters>li.dropdown-state ul{-webkit-transform:translateZ(0) translateY(0) rotateX(0deg);-ms-transform:translateZ(0) translateY(0) rotateX(0deg);transform:translateZ(0) translateY(0) rotateX(0deg);opacity:1;filter:alpha(opacity=100);-webkit-transition:all 0.4s cubic-bezier(0.12, 0.51, 0.33, 1.14);transition:all 0.4s cubic-bezier(0.12, 0.51, 0.33, 1.14)}.projects-pagination{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;margin:20px 0}.projects-pagination ul.page-link{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;list-style:none;margin:0}.projects-pagination ul.page-link li{float:left;margin:0 2px}.projects-pagination ul.page-link li.active span{color:#298ffc}.projects-pagination ul.page-link li span{line-height:30px;color:#23282d;padding:5px 10px;text-decoration:none;cursor:pointer}.projects-pagination ul.page-link li span:hover{color:#298ffc}.projects-pagination .page-navigation{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.projects-pagination .page-navigation span{line-height:30px;color:#23282d;padding:5px 10px;margin:0 2px;cursor:pointer}.projects-pagination .page-navigation span:hover{color:#298ffc}.projects-container.grid-layout .projects-list{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}.projects-container.grid-layout .projects-list .projects-item{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.projects-container.masonry-layout .projects-list{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row nowrap;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch}@media screen and (min-width: 1px) and (max-width: 599px){.projects-container.masonry-layout .projects-list.column-mobile-1[data-columns]::before{content:'1 .salvattore-column'}.projects-container.masonry-layout .projects-list.column-mobile-1 .salvattore-column{width:100%}.projects-container.masonry-layout .projects-list.column-mobile-2[data-columns]::before{content:'2 .salvattore-column'}.projects-container.masonry-layout .projects-list.column-mobile-2 .salvattore-column{width:50%}.projects-container.masonry-layout .projects-list.column-mobile-3[data-columns]::before{content:'3 .salvattore-column'}.projects-container.masonry-layout .projects-list.column-mobile-3 .salvattore-column{width:33.33333%}.projects-container.masonry-layout .projects-list.column-mobile-4[data-columns]::before{content:'4 .salvattore-column'}.projects-container.masonry-layout .projects-list.column-mobile-4 .salvattore-column{width:25%}.projects-container.masonry-layout .projects-list.column-mobile-5[data-columns]::before{content:'5 .salvattore-column'}.projects-container.masonry-layout .projects-list.column-mobile-5 .salvattore-column{width:20%}.projects-container.masonry-layout .projects-list.column-mobile-6[data-columns]::before{content:'6 .salvattore-column'}.projects-container.masonry-layout .projects-list.column-mobile-6 .salvattore-column{width:16.66666%}}@media screen and (min-width: 600px) and (max-width: 899px){.projects-container.masonry-layout .projects-list.column-portrait-tablet-1[data-columns]::before{content:'1 .salvattore-column'}.projects-container.masonry-layout .projects-list.column-portrait-tablet-1 .salvattore-column{width:100%}.projects-container.masonry-layout .projects-list.column-portrait-tablet-2[data-columns]::before{content:'2 .salvattore-column'}.projects-container.masonry-layout .projects-list.column-portrait-tablet-2 .salvattore-column{width:50%}.projects-container.masonry-layout .projects-list.column-portrait-tablet-3[data-columns]::before{content:'3 .salvattore-column'}.projects-container.masonry-layout .projects-list.column-portrait-tablet-3 .salvattore-column{width:33.33333%}.projects-container.masonry-layout .projects-list.column-portrait-tablet-4[data-columns]::before{content:'4 .salvattore-column'}.projects-container.masonry-layout .projects-list.column-portrait-tablet-4 .salvattore-column{width:25%}.projects-container.masonry-layout .projects-list.column-portrait-tablet-5[data-columns]::before{content:'5 .salvattore-column'}.projects-container.masonry-layout .projects-list.column-portrait-tablet-5 .salvattore-column{width:20%}.projects-container.masonry-layout .projects-list.column-portrait-tablet-6[data-columns]::before{content:'6 .salvattore-column'}.projects-container.masonry-layout .projects-list.column-portrait-tablet-6 .salvattore-column{width:16.66666%}}@media screen and (min-width: 900px) and (max-width: 1199px){.projects-container.masonry-layout .projects-list.column-album-tablet-1[data-columns]::before{content:'1 .salvattore-column'}.projects-container.masonry-layout .projects-list.column-album-tablet-1 .salvattore-column{width:100%}.projects-container.masonry-layout .projects-list.column-album-tablet-2[data-columns]::before{content:'2 .salvattore-column'}.projects-container.masonry-layout .projects-list.column-album-tablet-2 .salvattore-column{width:50%}.projects-container.masonry-layout .projects-list.column-album-tablet-3[data-columns]::before{content:'3 .salvattore-column'}.projects-container.masonry-layout .projects-list.column-album-tablet-3 .salvattore-column{width:33.33333%}.projects-container.masonry-layout .projects-list.column-album-tablet-4[data-columns]::before{content:'4 .salvattore-column'}.projects-container.masonry-layout .projects-list.column-album-tablet-4 .salvattore-column{width:25%}.projects-container.masonry-layout .projects-list.column-album-tablet-5[data-columns]::before{content:'5 .salvattore-column'}.projects-container.masonry-layout .projects-list.column-album-tablet-5 .salvattore-column{width:20%}.projects-container.masonry-layout .projects-list.column-album-tablet-6[data-columns]::before{content:'6 .salvattore-column'}.projects-container.masonry-layout .projects-list.column-album-tablet-6 .salvattore-column{width:16.66666%}}@media screen and (min-width: 1200px) and (max-width: 1599px){.projects-container.masonry-layout .projects-list.column-laptop-1[data-columns]::before{content:'1 .salvattore-column'}.projects-container.masonry-layout .projects-list.column-laptop-1 .salvattore-column{width:100%}.projects-container.masonry-layout .projects-list.column-laptop-2[data-columns]::before{content:'2 .salvattore-column'}.projects-container.masonry-layout .projects-list.column-laptop-2 .salvattore-column{width:50%}.projects-container.masonry-layout .projects-list.column-laptop-3[data-columns]::before{content:'3 .salvattore-column'}.projects-container.masonry-layout .projects-list.column-laptop-3 .salvattore-column{width:33.33333%}.projects-container.masonry-layout .projects-list.column-laptop-4[data-columns]::before{content:'4 .salvattore-column'}.projects-container.masonry-layout .projects-list.column-laptop-4 .salvattore-column{width:25%}.projects-container.masonry-layout .projects-list.column-laptop-5[data-columns]::before{content:'5 .salvattore-column'}.projects-container.masonry-layout .projects-list.column-laptop-5 .salvattore-column{width:20%}.projects-container.masonry-layout .projects-list.column-laptop-6[data-columns]::before{content:'6 .salvattore-column'}.projects-container.masonry-layout .projects-list.column-laptop-6 .salvattore-column{width:16.66666%}}@media (min-width: 1600px){.projects-container.masonry-layout .projects-list.column-desktop-1[data-columns]::before{content:'1 .salvattore-column'}.projects-container.masonry-layout .projects-list.column-desktop-1 .salvattore-column{width:100%}.projects-container.masonry-layout .projects-list.column-desktop-2[data-columns]::before{content:'2 .salvattore-column'}.projects-container.masonry-layout .projects-list.column-desktop-2 .salvattore-column{width:50%}.projects-container.masonry-layout .projects-list.column-desktop-3[data-columns]::before{content:'3 .salvattore-column'}.projects-container.masonry-layout .projects-list.column-desktop-3 .salvattore-column{width:33.33333%}.projects-container.masonry-layout .projects-list.column-desktop-4[data-columns]::before{content:'4 .salvattore-column'}.projects-container.masonry-layout .projects-list.column-desktop-4 .salvattore-column{width:25%}.projects-container.masonry-layout .projects-list.column-desktop-5[data-columns]::before{content:'5 .salvattore-column'}.projects-container.masonry-layout .projects-list.column-desktop-5 .salvattore-column{width:20%}.projects-container.masonry-layout .projects-list.column-desktop-6[data-columns]::before{content:'6 .salvattore-column'}.projects-container.masonry-layout .projects-list.column-desktop-6 .salvattore-column{width:16.66666%}}.projects-container.justified-layout .projects-list{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-align-content:stretch;-ms-flex-line-pack:stretch;align-content:stretch}.projects-container.justified-layout .projects-item{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;height:auto}.projects-container.cascading-grid-layout .projects-list{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-align-content:stretch;-ms-flex-line-pack:stretch;align-content:stretch}.projects-container.cascading-grid-layout .projects-item{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;height:auto}.projects-container.list-layout .projects-list .projects-item{margin-bottom:20px}.projects-container.list-layout .inner-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row nowrap;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}.projects-container.list-layout .project-media{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;min-width:30%;margin-right:20px}.projects-container.list-layout .project-content{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;min-width:70%}.cherry-animation-container.loading-animation-fade .cherry-animation-list .cherry-animation-item .inner-wrapper{opacity:1;filter:alpha(opacity=100);-webkit-transition:all 0.8s ease;transition:all 0.8s ease}.cherry-animation-container.loading-animation-fade .cherry-animation-list .cherry-animation-item.animate-cycle-show .inner-wrapper{opacity:0;filter:alpha(opacity=0)}.cherry-animation-container.loading-animation-fade .cherry-animation-list .cherry-animation-item.animate-cycle-hide .inner-wrapper{opacity:0;filter:alpha(opacity=0);-webkit-transform:translateY(-30px);-ms-transform:translateY(-30px);transform:translateY(-30px);-webkit-transition:all 0.4s ease;transition:all 0.4s ease}.cherry-animation-container.loading-animation-scale .cherry-animation-list .cherry-animation-item{-webkit-perspective:1000px;perspective:1000px;-webkit-perspective-origin:50% 50%;perspective-origin:50% 50%}.cherry-animation-container.loading-animation-scale .cherry-animation-list .cherry-animation-item .inner-wrapper{opacity:1;filter:alpha(opacity=100);transform-style:preserve-3d;-webkit-transform-style:preserve-3d;-moz-transform-style:preserve-3d;-o-transform-style:preserve-3d;-webkit-transform-origin:50% 0%;-ms-transform-origin:50% 0%;transform-origin:50% 0%;-webkit-transform:translateZ(0px) translateY(0px) rotateX(0deg);-ms-transform:translateZ(0px) translateY(0px) rotateX(0deg);transform:translateZ(0px) translateY(0px) rotateX(0deg);-webkit-transition:all 0.7s cubic-bezier(0.29, 0.65, 0.64, 0.97);transition:all 0.7s cubic-bezier(0.29, 0.65, 0.64, 0.97)}.cherry-animation-container.loading-animation-scale .cherry-animation-list .cherry-animation-item.animate-cycle-show .inner-wrapper{opacity:0;filter:alpha(opacity=0);-webkit-transform:translateZ(-1500px) translateY(50px) rotateX(90deg);-ms-transform:translateZ(-1500px) translateY(50px) rotateX(90deg);transform:translateZ(-1500px) translateY(50px) rotateX(90deg)}.cherry-animation-container.loading-animation-scale .cherry-animation-list .cherry-animation-item.animate-cycle-hide .inner-wrapper{opacity:0;filter:alpha(opacity=0);-webkit-transform:translateY(-30px);-ms-transform:translateY(-30px);transform:translateY(-30px);-webkit-transition:all 0.4s ease;transition:all 0.4s ease}.cherry-animation-container.loading-animation-move-up .cherry-animation-list .cherry-animation-item{-webkit-perspective:500px;perspective:500px;-webkit-perspective-origin:50% 50%;perspective-origin:50% 50%}.cherry-animation-container.loading-animation-move-up .cherry-animation-list .cherry-animation-item .inner-wrapper{opacity:1;filter:alpha(opacity=100);transform-style:preserve-3d;-webkit-transform-style:preserve-3d;-moz-transform-style:preserve-3d;-o-transform-style:preserve-3d;-webkit-transform-origin:50% 0%;-ms-transform-origin:50% 0%;transform-origin:50% 0%;-webkit-transform:translateY(0px) translateZ(0) rotateX(0deg);-ms-transform:translateY(0px) translateZ(0) rotateX(0deg);transform:translateY(0px) translateZ(0) rotateX(0deg);-webkit-transition:all 0.8s cubic-bezier(0.29, 0.65, 0.64, 0.97);transition:all 0.8s cubic-bezier(0.29, 0.65, 0.64, 0.97)}.cherry-animation-container.loading-animation-move-up .cherry-animation-list .cherry-animation-item.animate-cycle-show .inner-wrapper{opacity:0;filter:alpha(opacity=0);-webkit-transform:translateY(80px) translateZ(-100px) rotateX(5deg);-ms-transform:translateY(80px) translateZ(-100px) rotateX(5deg);transform:translateY(80px) translateZ(-100px) rotateX(5deg)}.cherry-animation-container.loading-animation-move-up .cherry-animation-list .cherry-animation-item.animate-cycle-hide .inner-wrapper{opacity:0;filter:alpha(opacity=0);-webkit-transform:translateY(-30px);-ms-transform:translateY(-30px);transform:translateY(-30px);-webkit-transition:all 0.4s ease;transition:all 0.4s ease}.cherry-animation-container.loading-animation-flip .cherry-animation-list{-webkit-perspective:1500px;perspective:1500px;-webkit-perspective-origin:50% 50%;perspective-origin:50% 50%}.cherry-animation-container.loading-animation-flip .cherry-animation-list .cherry-animation-item .inner-wrapper{transform-style:preserve-3d;-webkit-transform-style:preserve-3d;-moz-transform-style:preserve-3d;-o-transform-style:preserve-3d;-webkit-transform-origin:50% 0%;-ms-transform-origin:50% 0%;transform-origin:50% 0%;opacity:1;filter:alpha(opacity=100);-webkit-transform:translateY(0px) rotateX(0deg);-ms-transform:translateY(0px) rotateX(0deg);transform:translateY(0px) rotateX(0deg);-webkit-transition:all 0.8s cubic-bezier(0.31, 0.78, 0.39, 0.93);transition:all 0.8s cubic-bezier(0.31, 0.78, 0.39, 0.93)}.cherry-animation-container.loading-animation-flip .cherry-animation-list .cherry-animation-item.animate-cycle-show .inner-wrapper{opacity:0;filter:alpha(opacity=0);-webkit-transform:translateY(-50px) rotateX(80deg);-ms-transform:translateY(-50px) rotateX(80deg);transform:translateY(-50px) rotateX(80deg)}.cherry-animation-container.loading-animation-flip .cherry-animation-list .cherry-animation-item.animate-cycle-hide .inner-wrapper{opacity:0;filter:alpha(opacity=0);-webkit-transform:translateY(-30px);-ms-transform:translateY(-30px);transform:translateY(-30px);-webkit-transition:all 0.4s ease;transition:all 0.4s ease}.cherry-animation-container.loading-animation-helix .cherry-animation-list{-webkit-perspective:1000px;perspective:1000px;-webkit-perspective-origin:50% 50%;perspective-origin:50% 50%}.cherry-animation-container.loading-animation-helix .cherry-animation-list .cherry-animation-item .inner-wrapper{transform-style:preserve-3d;-webkit-transform-style:preserve-3d;-moz-transform-style:preserve-3d;-o-transform-style:preserve-3d;-webkit-transform:translateZ(0px) translateY(0px) rotateY(0deg);-ms-transform:translateZ(0px) translateY(0px) rotateY(0deg);transform:translateZ(0px) translateY(0px) rotateY(0deg);opacity:1;filter:alpha(opacity=100);-webkit-transition:all 0.8s cubic-bezier(0.29, 0.65, 0.64, 0.97);transition:all 0.8s cubic-bezier(0.29, 0.65, 0.64, 0.97)}.cherry-animation-container.loading-animation-helix .cherry-animation-list .cherry-animation-item.animate-cycle-show .inner-wrapper{-webkit-transform:translateZ(-1000px) translateY(-50px) rotateY(-240deg);-ms-transform:translateZ(-1000px) translateY(-50px) rotateY(-240deg);transform:translateZ(-1000px) translateY(-50px) rotateY(-240deg);opacity:0;filter:alpha(opacity=0)}.cherry-animation-container.loading-animation-helix .cherry-animation-list .cherry-animation-item.animate-cycle-hide .inner-wrapper{opacity:0;filter:alpha(opacity=0);-webkit-transform:translateY(-30px);-ms-transform:translateY(-30px);transform:translateY(-30px);-webkit-transition:all 0.4s ease;transition:all 0.4s ease}.cherry-animation-container.loading-animation-fall-perspective .cherry-animation-list{-webkit-perspective:1000px;perspective:1000px;-webkit-perspective-origin:50% 50%;perspective-origin:50% 50%}.cherry-animation-container.loading-animation-fall-perspective .cherry-animation-list .cherry-animation-item .inner-wrapper{transform-style:preserve-3d;-webkit-transform-style:preserve-3d;-moz-transform-style:preserve-3d;-o-transform-style:preserve-3d;-webkit-transform:translateZ(0px) translateY(0px) rotateX(0deg);-ms-transform:translateZ(0px) translateY(0px) rotateX(0deg);transform:translateZ(0px) translateY(0px) rotateX(0deg);opacity:1;filter:alpha(opacity=100);-webkit-transition:all 0.8s cubic-bezier(0.29, 0.65, 0.64, 0.97);transition:all 0.8s cubic-bezier(0.29, 0.65, 0.64, 0.97)}.cherry-animation-container.loading-animation-fall-perspective .cherry-animation-list .cherry-animation-item.animate-cycle-show .inner-wrapper{-webkit-transform:translateZ(400px) translateY(300px) rotateX(-65deg);-ms-transform:translateZ(400px) translateY(300px) rotateX(-65deg);transform:translateZ(400px) translateY(300px) rotateX(-65deg);opacity:0;filter:alpha(opacity=0)}.cherry-animation-container.loading-animation-fall-perspective .cherry-animation-list .cherry-animation-item.animate-cycle-hide .inner-wrapper{opacity:0;filter:alpha(opacity=0);-webkit-transform:translateY(-30px);-ms-transform:translateY(-30px);transform:translateY(-30px);-webkit-transition:all 0.4s ease;transition:all 0.4s ease}.cherry-projects-single__container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row nowrap;-ms-flex-flow:row nowrap;flex-flow:row nowrap}.cherry-projects-single__media{-webkit-box-flex:0;-webkit-flex:0 1 60%;-ms-flex:0 1 60%;flex:0 1 60%;margin-right:20px}.cherry-projects-single__content{-webkit-box-flex:0;-webkit-flex:0 1 40%;-ms-flex:0 1 40%;flex:0 1 40%}.cherry-projects-single-meta{margin:10px 0;border-top:1px solid #e5e5e5;border-bottom:1px solid #e5e5e5}.cherry-projects-single-post{color:#23282d}.cherry-projects-single-post .featured-image img{width:100%;height:auto}.cherry-projects-single-post .post-terms{margin:10px 0}.cherry-projects-single-post .cherry-projects-meta{margin:10px 0}.cherry-projects-single-post .featured-image a,.cherry-projects-single-post .additional-image a{display:block;position:relative}.cherry-projects-single-post .featured-image a img,.cherry-projects-single-post .additional-image a img{width:100%}.cherry-projects-single-post .featured-image a .cover,.cherry-projects-single-post .additional-image a .cover{position:absolute;width:100%;height:100%;display:block;background-color:rgba(41,143,252,0.5);opacity:0;-webkit-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out}.cherry-projects-single-post .featured-image a:hover .cover,.cherry-projects-single-post .additional-image a:hover .cover{opacity:1}.cherry-projects-additional-image-list{margin-bottom:20px}.cherry-projects-additional-image-list .additional-image-list{list-style:none;margin:0;padding:0}.cherry-projects-additional-image-list .additional-image-list.grid-layout{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}.cherry-projects-additional-image-list .additional-image-list.grid-layout .image-item{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.cherry-projects-additional-image-list .additional-image-list.masonry-layout .image-item{display:inline-block}.cherry-projects-single-details-list{margin-bottom:20px}.cherry-projects-single-details-list .cherry-projects-details-list-title{margin-bottom:10px}.cherry-projects-single-details-list ul{list-style:none;margin:0;padding:0}.cherry-projects-single-details-list ul li{color:#96989a;margin-bottom:5px}.cherry-projects-single-details-list ul li span{margin-right:5px;color:#23282d}.cherry-projects-single-details-list ul li:last-child{margin-bottom:0}.cherry-projects-single-skills-list{margin-bottom:20px}.cherry-projects-single-skills-list ul{list-style:none;margin:0;padding:0}.cherry-projects-single-skills-list .cherry-skill-item{margin-bottom:10px}.cherry-projects-single-skills-list .cherry-skill-item .skill-label{margin-bottom:5px}.cherry-projects-single-skills-list .cherry-skill-item .skill-bar{width:100%;height:20px;background-color:#f1f1f1}.cherry-projects-single-skills-list .cherry-skill-item .skill-bar span{height:20px;display:inline-block;background-color:#48c569;position:relative}.cherry-projects-single-skills-list .cherry-skill-item .skill-bar span em{font-size:12px;line-height:20px;float:right}.cherry-projects-single-skills-list .cherry-skill-item:last-child{margin-bottom:10px}.cherry-projects-slider__instance{margin-bottom:20px}.cherry-projects-slider__instance .slider-pro{background-color:#23282d}.cherry-projects-slider__instance .slider-pro .sp-arrows .sp-arrow:before{background-color:#298ffc}.cherry-projects-slider__instance .slider-pro .sp-arrows .sp-arrow:after{background-color:#298ffc}.cherry-projects-slider__instance .slider-pro .sp-full-screen-button:before{color:#298ffc}.cherry-projects-slider__instance .slider-pro .sp-thumbnails-container{background-color:rgba(73,81,89,0.5)}.cherry-projects-slider__instance .slider-pro .sp-thumbnails-container .sp-thumbnail-container .sp-thumbnail:hover{border:3px solid #fffffc}.cherry-projects-slider__instance .slider-pro .sp-thumbnails-container .sp-selected-thumbnail .sp-thumbnail{border:3px solid #298ffc}.cherry-projects-slider__instance .slider-pro .sp-thumbnails-container.sp-bottom-thumbnails{position:absolute;bottom:0;padding:5px 0}.cherry-projects-video-list{width:100%}.cherry-projects-terms-wrapper{color:#23282d;position:relative}.projects-terms-container{position:relative}.projects-terms-container.grid-layout .projects-terms-list{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}.projects-terms-container.grid-layout .projects-terms-list .projects-terms-item{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.projects-terms-container.masonry-layout .projects-terms-list{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row nowrap;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch}@media screen and (min-width: 1px) and (max-width: 599px){.projects-terms-container.masonry-layout .projects-terms-list.column-mobile-1[data-columns]::before{content:'1 .salvattore-column'}.projects-terms-container.masonry-layout .projects-terms-list.column-mobile-1 .salvattore-column{width:100%}.projects-terms-container.masonry-layout .projects-terms-list.column-mobile-2[data-columns]::before{content:'2 .salvattore-column'}.projects-terms-container.masonry-layout .projects-terms-list.column-mobile-2 .salvattore-column{width:50%}.projects-terms-container.masonry-layout .projects-terms-list.column-mobile-3[data-columns]::before{content:'3 .salvattore-column'}.projects-terms-container.masonry-layout .projects-terms-list.column-mobile-3 .salvattore-column{width:33.33333%}.projects-terms-container.masonry-layout .projects-terms-list.column-mobile-4[data-columns]::before{content:'4 .salvattore-column'}.projects-terms-container.masonry-layout .projects-terms-list.column-mobile-4 .salvattore-column{width:25%}.projects-terms-container.masonry-layout .projects-terms-list.column-mobile-5[data-columns]::before{content:'5 .salvattore-column'}.projects-terms-container.masonry-layout .projects-terms-list.column-mobile-5 .salvattore-column{width:20%}.projects-terms-container.masonry-layout .projects-terms-list.column-mobile-6[data-columns]::before{content:'6 .salvattore-column'}.projects-terms-container.masonry-layout .projects-terms-list.column-mobile-6 .salvattore-column{width:16.66666%}}@media screen and (min-width: 600px) and (max-width: 899px){.projects-terms-container.masonry-layout .projects-terms-list.column-portrait-tablet-1[data-columns]::before{content:'1 .salvattore-column'}.projects-terms-container.masonry-layout .projects-terms-list.column-portrait-tablet-1 .salvattore-column{width:100%}.projects-terms-container.masonry-layout .projects-terms-list.column-portrait-tablet-2[data-columns]::before{content:'2 .salvattore-column'}.projects-terms-container.masonry-layout .projects-terms-list.column-portrait-tablet-2 .salvattore-column{width:50%}.projects-terms-container.masonry-layout .projects-terms-list.column-portrait-tablet-3[data-columns]::before{content:'3 .salvattore-column'}.projects-terms-container.masonry-layout .projects-terms-list.column-portrait-tablet-3 .salvattore-column{width:33.33333%}.projects-terms-container.masonry-layout .projects-terms-list.column-portrait-tablet-4[data-columns]::before{content:'4 .salvattore-column'}.projects-terms-container.masonry-layout .projects-terms-list.column-portrait-tablet-4 .salvattore-column{width:25%}.projects-terms-container.masonry-layout .projects-terms-list.column-portrait-tablet-5[data-columns]::before{content:'5 .salvattore-column'}.projects-terms-container.masonry-layout .projects-terms-list.column-portrait-tablet-5 .salvattore-column{width:20%}.projects-terms-container.masonry-layout .projects-terms-list.column-portrait-tablet-6[data-columns]::before{content:'6 .salvattore-column'}.projects-terms-container.masonry-layout .projects-terms-list.column-portrait-tablet-6 .salvattore-column{width:16.66666%}}@media screen and (min-width: 900px) and (max-width: 1199px){.projects-terms-container.masonry-layout .projects-terms-list.column-album-tablet-1[data-columns]::before{content:'1 .salvattore-column'}.projects-terms-container.masonry-layout .projects-terms-list.column-album-tablet-1 .salvattore-column{width:100%}.projects-terms-container.masonry-layout .projects-terms-list.column-album-tablet-2[data-columns]::before{content:'2 .salvattore-column'}.projects-terms-container.masonry-layout .projects-terms-list.column-album-tablet-2 .salvattore-column{width:50%}.projects-terms-container.masonry-layout .projects-terms-list.column-album-tablet-3[data-columns]::before{content:'3 .salvattore-column'}.projects-terms-container.masonry-layout .projects-terms-list.column-album-tablet-3 .salvattore-column{width:33.33333%}.projects-terms-container.masonry-layout .projects-terms-list.column-album-tablet-4[data-columns]::before{content:'4 .salvattore-column'}.projects-terms-container.masonry-layout .projects-terms-list.column-album-tablet-4 .salvattore-column{width:25%}.projects-terms-container.masonry-layout .projects-terms-list.column-album-tablet-5[data-columns]::before{content:'5 .salvattore-column'}.projects-terms-container.masonry-layout .projects-terms-list.column-album-tablet-5 .salvattore-column{width:20%}.projects-terms-container.masonry-layout .projects-terms-list.column-album-tablet-6[data-columns]::before{content:'6 .salvattore-column'}.projects-terms-container.masonry-layout .projects-terms-list.column-album-tablet-6 .salvattore-column{width:16.66666%}}@media screen and (min-width: 1200px) and (max-width: 1599px){.projects-terms-container.masonry-layout .projects-terms-list.column-laptop-1[data-columns]::before{content:'1 .salvattore-column'}.projects-terms-container.masonry-layout .projects-terms-list.column-laptop-1 .salvattore-column{width:100%}.projects-terms-container.masonry-layout .projects-terms-list.column-laptop-2[data-columns]::before{content:'2 .salvattore-column'}.projects-terms-container.masonry-layout .projects-terms-list.column-laptop-2 .salvattore-column{width:50%}.projects-terms-container.masonry-layout .projects-terms-list.column-laptop-3[data-columns]::before{content:'3 .salvattore-column'}.projects-terms-container.masonry-layout .projects-terms-list.column-laptop-3 .salvattore-column{width:33.33333%}.projects-terms-container.masonry-layout .projects-terms-list.column-laptop-4[data-columns]::before{content:'4 .salvattore-column'}.projects-terms-container.masonry-layout .projects-terms-list.column-laptop-4 .salvattore-column{width:25%}.projects-terms-container.masonry-layout .projects-terms-list.column-laptop-5[data-columns]::before{content:'5 .salvattore-column'}.projects-terms-container.masonry-layout .projects-terms-list.column-laptop-5 .salvattore-column{width:20%}.projects-terms-container.masonry-layout .projects-terms-list.column-laptop-6[data-columns]::before{content:'6 .salvattore-column'}.projects-terms-container.masonry-layout .projects-terms-list.column-laptop-6 .salvattore-column{width:16.66666%}}@media (min-width: 1600px){.projects-terms-container.masonry-layout .projects-terms-list.column-desktop-1[data-columns]::before{content:'1 .salvattore-column'}.projects-terms-container.masonry-layout .projects-terms-list.column-desktop-1 .salvattore-column{width:100%}.projects-terms-container.masonry-layout .projects-terms-list.column-desktop-2[data-columns]::before{content:'2 .salvattore-column'}.projects-terms-container.masonry-layout .projects-terms-list.column-desktop-2 .salvattore-column{width:50%}.projects-terms-container.masonry-layout .projects-terms-list.column-desktop-3[data-columns]::before{content:'3 .salvattore-column'}.projects-terms-container.masonry-layout .projects-terms-list.column-desktop-3 .salvattore-column{width:33.33333%}.projects-terms-container.masonry-layout .projects-terms-list.column-desktop-4[data-columns]::before{content:'4 .salvattore-column'}.projects-terms-container.masonry-layout .projects-terms-list.column-desktop-4 .salvattore-column{width:25%}.projects-terms-container.masonry-layout .projects-terms-list.column-desktop-5[data-columns]::before{content:'5 .salvattore-column'}.projects-terms-container.masonry-layout .projects-terms-list.column-desktop-5 .salvattore-column{width:20%}.projects-terms-container.masonry-layout .projects-terms-list.column-desktop-6[data-columns]::before{content:'6 .salvattore-column'}.projects-terms-container.masonry-layout .projects-terms-list.column-desktop-6 .salvattore-column{width:16.66666%}}.projects-terms-container.list-layout .projects-terms-list .projects-terms-item{margin-bottom:20px}.projects-terms-container.list-layout .inner-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row nowrap;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}.projects-terms-container.list-layout .project-terms-media{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;min-width:30%;margin-right:20px}.projects-terms-container.list-layout .project-terms-content{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;min-width:70%}.projects-terms-container.cascading-grid-layout .projects-terms-list{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-align-content:stretch;-ms-flex-line-pack:stretch;align-content:stretch}.projects-terms-container.cascading-grid-layout .projects-terms-list .projects-terms-item{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;height:auto}.projects-terms-container .term-permalink span:before{content:"\f103"}.projects-terms-list{position:relative}.cherry-projects-wrapper{color:#23282d;position:relative}.cherry-projects-wrapper .projects-container{position:relative;z-index:8}.cherry-projects-wrapper .projects-list{position:relative;min-height:100px}.projects-item-instance .inner-wrapper{position:relative}.projects-item-instance .featured-image{width:100%;line-height:0}.projects-item-instance .featured-image img{width:100%;height:auto}.projects-item-instance .project-media,.projects-item-instance .project-terms-media{position:relative}.projects-item-instance .project-meta{margin:15px 0}.projects-item-instance .project-content,.projects-item-instance .project-terms-media{position:relative}.projects-item-instance .simple-icon{display:inline-block;width:30px;height:30px;background-color:#298ffc;color:#f1f1f1;margin:5px;border-radius:30px}.projects-item-instance .simple-icon span{margin:5px}.projects-item-instance .simple-icon:hover{background-color:#206ff4}.projects-item-instance .simple-button{display:inline-block;padding:10px;background-color:#298ffc;color:#f1f1f1}.projects-item-instance .hover-content{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column nowrap;-ms-flex-flow:column nowrap;flex-flow:column nowrap;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;position:absolute;overflow:hidden;top:0;left:0;width:100%;height:100%;padding:15px;background-color:rgba(35,40,45,0.6);-webkit-transition:all 0.4s ease-out;transition:all 0.4s ease-out}.projects-item-instance .hover-content.row-format{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row nowrap;-ms-flex-flow:row nowrap;flex-flow:row nowrap}.projects-item-instance .hover-content>*{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;-webkit-align-self:center;-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center}.projects-item-instance.simple-fade-hover .hover-content{opacity:0;-webkit-transition:all 0.4s ease-out;transition:all 0.4s ease-out}.projects-item-instance.simple-fade-hover .hover-content>*{opacity:0;-webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%)}.projects-item-instance.simple-fade-hover .hover-content:hover{opacity:1}.projects-item-instance.simple-fade-hover .hover-content:hover>*{opacity:1;-webkit-transform:translateY(0%);-ms-transform:translateY(0%);transform:translateY(0%);-webkit-transition:all 0.3s ease-out;transition:all 0.3s ease-out}.projects-item-instance.simple-fade-hover .hover-content:hover>*:nth-child(1){-webkit-transition-delay:0.1s;transition-delay:0.1s}.projects-item-instance.simple-fade-hover .hover-content:hover>*:nth-child(2){-webkit-transition-delay:0.2s;transition-delay:0.2s}.projects-item-instance.simple-fade-hover .hover-content:hover>*:nth-child(3){-webkit-transition-delay:0.3s;transition-delay:0.3s}.projects-item-instance.simple-fade-hover .hover-content:hover>*:nth-child(4){-webkit-transition-delay:0.4s;transition-delay:0.4s}.projects-item-instance.simple-fade-hover .hover-content:hover>*:nth-child(5){-webkit-transition-delay:0.5s;transition-delay:0.5s}.projects-item-instance.simple-fade-hover .hover-content:hover>*:nth-child(6){-webkit-transition-delay:0.6s;transition-delay:0.6s}.projects-item-instance.simple-fade-hover .hover-content:hover>*:nth-child(7){-webkit-transition-delay:0.7s;transition-delay:0.7s}.projects-item-instance.simple-fade-hover .hover-content:hover>*:nth-child(8){-webkit-transition-delay:0.8s;transition-delay:0.8s}.projects-item-instance.simple-fade-hover .hover-content:hover>*:nth-child(9){-webkit-transition-delay:0.9s;transition-delay:0.9s}.projects-item-instance.simple-fade-hover .hover-content:hover>*:nth-child(10){-webkit-transition-delay:1s;transition-delay:1s}.projects-item-instance.simple-fade-hover .hover-content:hover>*:nth-child(11){-webkit-transition-delay:1.1s;transition-delay:1.1s}.projects-item-instance.simple-fade-hover .hover-content:hover>*:nth-child(12){-webkit-transition-delay:1.2s;transition-delay:1.2s}.projects-item-instance.simple-fade-hover .hover-content:hover>*:nth-child(13){-webkit-transition-delay:1.3s;transition-delay:1.3s}.projects-item-instance.simple-fade-hover .hover-content:hover>*:nth-child(14){-webkit-transition-delay:1.4s;transition-delay:1.4s}.projects-item-instance.simple-fade-hover .hover-content:hover>*:nth-child(15){-webkit-transition-delay:1.5s;transition-delay:1.5s}.projects-item-instance.simple-fade-hover .hover-content:hover>*:nth-child(16){-webkit-transition-delay:1.6s;transition-delay:1.6s}.projects-item-instance.simple-fade-hover .hover-content:hover>*:nth-child(17){-webkit-transition-delay:1.7s;transition-delay:1.7s}.projects-item-instance.simple-fade-hover .hover-content:hover>*:nth-child(18){-webkit-transition-delay:1.8s;transition-delay:1.8s}.projects-item-instance.simple-fade-hover .hover-content:hover>*:nth-child(19){-webkit-transition-delay:1.9s;transition-delay:1.9s}.projects-item-instance.simple-fade-hover .hover-content:hover>*:nth-child(20){-webkit-transition-delay:2s;transition-delay:2s}.projects-item-instance.simple-scale-hover .hover-content{opacity:0;-webkit-transition:all 0.4s ease-out;transition:all 0.4s ease-out}.projects-item-instance.simple-scale-hover .hover-content>*{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);-webkit-transition:all 0.4s ease-out;transition:all 0.4s ease-out}.projects-item-instance.simple-scale-hover .hover-content:hover{opacity:1}.projects-item-instance.simple-scale-hover .hover-content:hover>*{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);-webkit-transition:all 0.3s ease-out;transition:all 0.3s ease-out}.projects-item-instance.simple-scale-hover .hover-content:hover>*:nth-child(1){-webkit-transition-delay:0.1s;transition-delay:0.1s}.projects-item-instance.simple-scale-hover .hover-content:hover>*:nth-child(2){-webkit-transition-delay:0.2s;transition-delay:0.2s}.projects-item-instance.simple-scale-hover .hover-content:hover>*:nth-child(3){-webkit-transition-delay:0.3s;transition-delay:0.3s}.projects-item-instance.simple-scale-hover .hover-content:hover>*:nth-child(4){-webkit-transition-delay:0.4s;transition-delay:0.4s}.projects-item-instance.simple-scale-hover .hover-content:hover>*:nth-child(5){-webkit-transition-delay:0.5s;transition-delay:0.5s}.projects-item-instance.simple-scale-hover .hover-content:hover>*:nth-child(6){-webkit-transition-delay:0.6s;transition-delay:0.6s}.projects-item-instance.simple-scale-hover .hover-content:hover>*:nth-child(7){-webkit-transition-delay:0.7s;transition-delay:0.7s}.projects-item-instance.simple-scale-hover .hover-content:hover>*:nth-child(8){-webkit-transition-delay:0.8s;transition-delay:0.8s}.projects-item-instance.simple-scale-hover .hover-content:hover>*:nth-child(9){-webkit-transition-delay:0.9s;transition-delay:0.9s}.projects-item-instance.simple-scale-hover .hover-content:hover>*:nth-child(10){-webkit-transition-delay:1s;transition-delay:1s}.projects-item-instance.simple-scale-hover .hover-content:hover>*:nth-child(11){-webkit-transition-delay:1.1s;transition-delay:1.1s}.projects-item-instance.simple-scale-hover .hover-content:hover>*:nth-child(12){-webkit-transition-delay:1.2s;transition-delay:1.2s}.projects-item-instance.simple-scale-hover .hover-content:hover>*:nth-child(13){-webkit-transition-delay:1.3s;transition-delay:1.3s}.projects-item-instance.simple-scale-hover .hover-content:hover>*:nth-child(14){-webkit-transition-delay:1.4s;transition-delay:1.4s}.projects-item-instance.simple-scale-hover .hover-content:hover>*:nth-child(15){-webkit-transition-delay:1.5s;transition-delay:1.5s}.projects-item-instance.simple-scale-hover .hover-content:hover>*:nth-child(16){-webkit-transition-delay:1.6s;transition-delay:1.6s}.projects-item-instance.simple-scale-hover .hover-content:hover>*:nth-child(17){-webkit-transition-delay:1.7s;transition-delay:1.7s}.projects-item-instance.simple-scale-hover .hover-content:hover>*:nth-child(18){-webkit-transition-delay:1.8s;transition-delay:1.8s}.projects-item-instance.simple-scale-hover .hover-content:hover>*:nth-child(19){-webkit-transition-delay:1.9s;transition-delay:1.9s}.projects-item-instance.simple-scale-hover .hover-content:hover>*:nth-child(20){-webkit-transition-delay:2s;transition-delay:2s}.projects-end-line-spinner{width:100%}.projects-end-line-spinner .cherry-spinner{width:70px;height:70px;left:50%;margin-left:-35px;display:none;position:relative}.projects-ajax-button-wrapper{text-align:center}.projects-ajax-button-wrapper .projects-ajax-button{display:inline-block}.projects-ajax-button-wrapper .projects-ajax-button span{color:#fff;padding:10px 20px;background:#298ffc;display:block;cursor:pointer}.projects-ajax-button-wrapper .projects-ajax-button:hover span{background:#495159}.projects-ajax-button-wrapper .projects-ajax-button.disabled{opacity:.3;filter:alpha(opacity=30)}.projects-ajax-button-wrapper .projects-ajax-button.disabled span{background:#495159}.cherry-projects-ajax-loader{position:absolute;top:0;left:0;width:100%;height:100%;display:none;z-index:999;pointer-events:none;background-color:rgba(0,0,0,0.3)}.cherry-projects-ajax-loader .cherry-spinner{width:90px;height:90px;left:50%;top:50%;margin-left:-45px;margin-top:-45px;display:block;position:relative}.cherry-spinner-double-bounce.cherry-spinner{position:relative}.cherry-spinner-double-bounce .cherry-double-bounce1,.cherry-spinner-double-bounce .cherry-double-bounce2{width:100%;height:100%;border-radius:50%;background-color:#298ffc;opacity:0.6;position:absolute;top:0;left:0;-webkit-animation:cherry-doubleBounce 2s infinite ease-in-out;animation:cherry-doubleBounce 2s infinite ease-in-out}.cherry-spinner-double-bounce .cherry-double-bounce2{-webkit-animation-delay:-1s;animation-delay:-1s}@-webkit-keyframes cherry-doubleBounce{0%,100%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes cherry-doubleBounce{0%,100%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1);transform:scale(1)}}.mfp-zoom-in .mfp-with-anim{opacity:0;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;-webkit-transform:scale(0.8);-ms-transform:scale(0.8);transform:scale(0.8)}.mfp-zoom-in.mfp-bg{opacity:0;-webkit-transition:all 0.3s ease-out;transition:all 0.3s ease-out}.mfp-zoom-in.mfp-ready .mfp-with-anim{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.mfp-zoom-in.mfp-ready.mfp-bg{opacity:0.8}.mfp-zoom-in.mfp-removing .mfp-with-anim{-webkit-transform:scale(0.8);-ms-transform:scale(0.8);transform:scale(0.8);opacity:0}.mfp-zoom-in.mfp-removing.mfp-bg{opacity:0}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
public/assets/js/cherry-projects-plugin.js CHANGED
@@ -217,6 +217,7 @@
217
  * Get new projects list
218
  */
219
  function getNewProjectsList( slug, page, order ) {
 
220
  var data = {
221
  action: 'get_new_projects',
222
  settings: {
@@ -224,11 +225,17 @@
224
  page: page,
225
  list_layout: projectsSettings['list-layout'],
226
  loading_mode: projectsSettings['loading-mode'],
 
227
  order_settings: order,
228
  template: projectsSettings['template'],
229
  posts_format: projectsSettings['posts-format'],
230
  filter_type: projectsSettings['filter-type'],
231
- post_per_page: projectsSettings['post-per-page']
 
 
 
 
 
232
  }
233
  }
234
 
@@ -304,6 +311,7 @@
304
  page: page,
305
  list_layout: projectsSettings['list-layout'],
306
  loading_mode: projectsSettings['loading-mode'],
 
307
  order_settings: order,
308
  template: projectsSettings['template'],
309
  posts_format: projectsSettings['posts-format'],
@@ -398,15 +406,10 @@
398
  var projectsListWrap = $('.projects-list', $projectsContainer ),
399
  projectsList = $('.projects-item', $projectsContainer );
400
 
401
- projectsListWrap.css( {
402
- '-webkit-column-count': columnNumber,
403
- 'column-count': columnNumber,
404
- '-webkit-column-gap': +projectsSettings['item-margin'],
405
- 'column-gap': +projectsSettings['item-margin'],
406
- } );
407
 
408
  $( '.inner-wrapper', projectsList ).css( {
409
- 'margin-bottom': +projectsSettings['item-margin']
410
  } );
411
  }
412
 
217
  * Get new projects list
218
  */
219
  function getNewProjectsList( slug, page, order ) {
220
+
221
  var data = {
222
  action: 'get_new_projects',
223
  settings: {
225
  page: page,
226
  list_layout: projectsSettings['list-layout'],
227
  loading_mode: projectsSettings['loading-mode'],
228
+ hover: projectsSettings['hover-animation'],
229
  order_settings: order,
230
  template: projectsSettings['template'],
231
  posts_format: projectsSettings['posts-format'],
232
  filter_type: projectsSettings['filter-type'],
233
+ post_per_page: projectsSettings['post-per-page'],
234
+ column: projectsSettings['column-number'],
235
+ column_laptop: projectsSettings['column-number-laptop'],
236
+ column_album_tablet: projectsSettings['column-number-album-tablet'],
237
+ column_portrait_tablet: projectsSettings['column-number-portrait-tablet'],
238
+ column_mobile: projectsSettings['column-number-mobile'],
239
  }
240
  }
241
 
311
  page: page,
312
  list_layout: projectsSettings['list-layout'],
313
  loading_mode: projectsSettings['loading-mode'],
314
+ hover: projectsSettings['hover-animation'],
315
  order_settings: order,
316
  template: projectsSettings['template'],
317
  posts_format: projectsSettings['posts-format'],
406
  var projectsListWrap = $('.projects-list', $projectsContainer ),
407
  projectsList = $('.projects-item', $projectsContainer );
408
 
409
+ salvattore.init();
 
 
 
 
 
410
 
411
  $( '.inner-wrapper', projectsList ).css( {
412
+ 'margin': +projectsSettings['item-margin']
413
  } );
414
  }
415
 
public/assets/js/cherry-projects-scripts.js CHANGED
@@ -1,6 +1,6 @@
1
  var cherryProjectsFrontScripts = null;
2
 
3
- (function($, elementor){
4
  "use strict";
5
 
6
  cherryProjectsFrontScripts = {
@@ -10,6 +10,7 @@ var cherryProjectsFrontScripts = null;
10
 
11
  elementorInit: function () {
12
  // Elementor compatibility hooks init
 
13
  if ( elementor ) {
14
  elementor.hooks.addAction(
15
  'frontend/element_ready/cherry_projects.default',
@@ -40,6 +41,11 @@ var cherryProjectsFrontScripts = null;
40
  },
41
 
42
  magnificIconInit: function() {
 
 
 
 
 
43
  if ( $( '.zoom-link' )[0] ){
44
  $( '.zoom-link' ).magnificPopup({type: 'image'});
45
  }
@@ -101,9 +107,6 @@ var cherryProjectsFrontScripts = null;
101
  case 'grid-layout':
102
  self.gridLayoutRender( $instance, columnNumber, instanceSettings['item-margin'] );
103
  break;
104
- case 'masonry-layout':
105
- self.masonryLayoutRender( $instance, columnNumber, instanceSettings['item-margin'] );
106
- break;
107
  case 'cascading-grid-layout':
108
  self.cascadingGridLayoutRender( $instance, instanceSettings['item-margin'] );
109
  break;
@@ -136,15 +139,10 @@ var cherryProjectsFrontScripts = null;
136
  masonryLayoutRender: function( instance, columnNumber, margin ) {
137
  var $itemlist = $( '.projects-terms-item', instance );
138
 
139
- $( '.projects-terms-list', instance ).css( {
140
- '-webkit-column-count': columnNumber,
141
- 'column-count': columnNumber,
142
- '-webkit-column-gap': +margin,
143
- 'column-gap': +margin,
144
- } );
145
 
146
  $( '.inner-wrapper', $itemlist ).css( {
147
- 'margin-bottom': +margin
148
  } );
149
  },
150
 
@@ -277,8 +275,8 @@ var cherryProjectsFrontScripts = null;
277
 
278
  cherryProjectsFrontScripts.init();
279
 
 
280
  $( window ).on( 'elementor/frontend/init', cherryProjectsFrontScripts.elementorInit );
281
 
282
-
283
- }(jQuery, window.elementorFrontend ));
284
 
1
  var cherryProjectsFrontScripts = null;
2
 
3
+ ( function( $, elementor ) {
4
  "use strict";
5
 
6
  cherryProjectsFrontScripts = {
10
 
11
  elementorInit: function () {
12
  // Elementor compatibility hooks init
13
+ console.log(2);
14
  if ( elementor ) {
15
  elementor.hooks.addAction(
16
  'frontend/element_ready/cherry_projects.default',
41
  },
42
 
43
  magnificIconInit: function() {
44
+
45
+ if ( window.elementorFrontend ) {
46
+ return false;
47
+ }
48
+
49
  if ( $( '.zoom-link' )[0] ){
50
  $( '.zoom-link' ).magnificPopup({type: 'image'});
51
  }
107
  case 'grid-layout':
108
  self.gridLayoutRender( $instance, columnNumber, instanceSettings['item-margin'] );
109
  break;
 
 
 
110
  case 'cascading-grid-layout':
111
  self.cascadingGridLayoutRender( $instance, instanceSettings['item-margin'] );
112
  break;
139
  masonryLayoutRender: function( instance, columnNumber, margin ) {
140
  var $itemlist = $( '.projects-terms-item', instance );
141
 
142
+ salvattore.init();
 
 
 
 
 
143
 
144
  $( '.inner-wrapper', $itemlist ).css( {
145
+ 'margin': +margin
146
  } );
147
  },
148
 
275
 
276
  cherryProjectsFrontScripts.init();
277
 
278
+ console.log(1);
279
  $( window ).on( 'elementor/frontend/init', cherryProjectsFrontScripts.elementorInit );
280
 
281
+ }( jQuery, window.elementorFrontend ) );
 
282
 
public/assets/js/salvattore.min.js ADDED
@@ -0,0 +1,415 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* jshint laxcomma: true */
2
+ var salvattore = (function (global, document, undefined) {
3
+ "use strict";
4
+
5
+ var self = {},
6
+ grids = [],
7
+ mediaRules = [],
8
+ mediaQueries = [],
9
+ add_to_dataset = function(element, key, value) {
10
+ // uses dataset function or a fallback for <ie10
11
+ if (element.dataset) {
12
+ element.dataset[key] = value;
13
+ } else {
14
+ element.setAttribute("data-" + key, value);
15
+ }
16
+ return;
17
+ };
18
+
19
+ self.obtainGridSettings = function obtainGridSettings(element) {
20
+ // returns the number of columns and the classes a column should have,
21
+ // from computing the style of the ::before pseudo-element of the grid.
22
+
23
+ var computedStyle = global.getComputedStyle(element, ":before")
24
+ , content = computedStyle.getPropertyValue("content").slice(1, -1)
25
+ , matchResult = content.match(/^\s*(\d+)(?:\s?\.(.+))?\s*$/)
26
+ , numberOfColumns = 1
27
+ , columnClasses = []
28
+ ;
29
+
30
+ if (matchResult) {
31
+ numberOfColumns = matchResult[1];
32
+ columnClasses = matchResult[2];
33
+ columnClasses = columnClasses? columnClasses.split(".") : ["column"];
34
+ } else {
35
+ matchResult = content.match(/^\s*\.(.+)\s+(\d+)\s*$/);
36
+ if (matchResult) {
37
+ columnClasses = matchResult[1];
38
+ numberOfColumns = matchResult[2];
39
+ if (numberOfColumns) {
40
+ numberOfColumns = numberOfColumns.split(".");
41
+ }
42
+ }
43
+ }
44
+
45
+ return {
46
+ numberOfColumns: numberOfColumns,
47
+ columnClasses: columnClasses
48
+ };
49
+ };
50
+
51
+
52
+ self.addColumns = function addColumns(grid, items) {
53
+ // from the settings obtained, it creates columns with
54
+ // the configured classes and adds to them a list of items.
55
+
56
+ var settings = self.obtainGridSettings(grid)
57
+ , numberOfColumns = settings.numberOfColumns
58
+ , columnClasses = settings.columnClasses
59
+ , columnsItems = new Array(+numberOfColumns)
60
+ , columnsFragment = document.createDocumentFragment()
61
+ , i = numberOfColumns
62
+ , selector
63
+ ;
64
+
65
+ while (i-- !== 0) {
66
+ selector = "[data-columns] > *:nth-child(" + numberOfColumns + "n-" + i + ")";
67
+ columnsItems.push(items.querySelectorAll(selector));
68
+ }
69
+
70
+ columnsItems.forEach(function append_to_grid_fragment(rows) {
71
+ var column = document.createElement("div")
72
+ , rowsFragment = document.createDocumentFragment()
73
+ ;
74
+
75
+ column.className = columnClasses.join(" ");
76
+
77
+ Array.prototype.forEach.call(rows, function append_to_column(row) {
78
+ rowsFragment.appendChild(row);
79
+ });
80
+ column.appendChild(rowsFragment);
81
+ columnsFragment.appendChild(column);
82
+ });
83
+
84
+ grid.appendChild(columnsFragment);
85
+ add_to_dataset(grid, 'columns', numberOfColumns);
86
+ };
87
+
88
+
89
+ self.removeColumns = function removeColumns(grid) {
90
+ // removes all the columns from a grid, and returns a list
91
+ // of items sorted by the ordering of columns.
92
+
93
+ var range = document.createRange();
94
+ range.selectNodeContents(grid);
95
+
96
+ var columns = Array.prototype.filter.call(range.extractContents().childNodes, function filter_elements(node) {
97
+ return node instanceof global.HTMLElement;
98
+ });
99
+
100
+ var numberOfColumns = columns.length
101
+ , numberOfRowsInFirstColumn = columns[0].childNodes.length
102
+ , sortedRows = new Array(numberOfRowsInFirstColumn * numberOfColumns)
103
+ ;
104
+
105
+ Array.prototype.forEach.call(columns, function iterate_columns(column, columnIndex) {
106
+ Array.prototype.forEach.call(column.children, function iterate_rows(row, rowIndex) {
107
+ sortedRows[rowIndex * numberOfColumns + columnIndex] = row;
108
+ });
109
+ });
110
+
111
+ var container = document.createElement("div");
112
+ add_to_dataset(container, 'columns', 0);
113
+
114
+ sortedRows.filter(function filter_non_null(child) {
115
+ return !!child;
116
+ }).forEach(function append_row(child) {
117
+ container.appendChild(child);
118
+ });
119
+
120
+ return container;
121
+ };
122
+
123
+
124
+ self.recreateColumns = function recreateColumns(grid) {
125
+ // removes all the columns from the grid, and adds them again,
126
+ // it is used when the number of columns change.
127
+
128
+ global.requestAnimationFrame(function render_after_css_mediaQueryChange() {
129
+ self.addColumns(grid, self.removeColumns(grid));
130
+ var columnsChange = new CustomEvent("columnsChange");
131
+ grid.dispatchEvent(columnsChange);
132
+ });
133
+ };
134
+
135
+
136
+ self.mediaQueryChange = function mediaQueryChange(mql) {
137
+ // recreates the columns when a media query matches the current state
138
+ // of the browser.
139
+
140
+ if (mql.matches) {
141
+ Array.prototype.forEach.call(grids, self.recreateColumns);
142
+ }
143
+ };
144
+
145
+
146
+ self.getCSSRules = function getCSSRules(stylesheet) {
147
+ // returns a list of css rules from a stylesheet
148
+
149
+ var cssRules;
150
+ try {
151
+ cssRules = stylesheet.sheet.cssRules || stylesheet.sheet.rules;
152
+ } catch (e) {
153
+ return [];
154
+ }
155
+
156
+ return cssRules || [];
157
+ };
158
+
159
+
160
+ self.getStylesheets = function getStylesheets() {
161
+ // returns a list of all the styles in the document (that are accessible).
162
+
163
+ var inlineStyleBlocks = Array.prototype.slice.call(document.querySelectorAll("style"));
164
+ inlineStyleBlocks.forEach(function(stylesheet, idx) {
165
+ if (stylesheet.type !== 'text/css' && stylesheet.type !== '') {
166
+ inlineStyleBlocks.splice(idx, 1);
167
+ }
168
+ });
169
+
170
+ return Array.prototype.concat.call(
171
+ inlineStyleBlocks,
172
+ Array.prototype.slice.call(document.querySelectorAll("link[rel='stylesheet']"))
173
+ );
174
+ };
175
+
176
+
177
+ self.mediaRuleHasColumnsSelector = function mediaRuleHasColumnsSelector(rules) {
178
+ // checks if a media query css rule has in its contents a selector that
179
+ // styles the grid.
180
+
181
+ var i, rule;
182
+
183
+ try {
184
+ i = rules.length;
185
+ }
186
+ catch (e) {
187
+ i = 0;
188
+ }
189
+
190
+ while (i--) {
191
+ rule = rules[i];
192
+ if (rule.selectorText && rule.selectorText.match(/\[data-columns\](.*)::?before$/)) {
193
+ return true;
194
+ }
195
+ }
196
+
197
+ return false;
198
+ };
199
+
200
+
201
+ self.scanMediaQueries = function scanMediaQueries() {
202
+ // scans all the stylesheets for selectors that style grids,
203
+ // if the matchMedia API is supported.
204
+
205
+ var newMediaRules = [];
206
+
207
+ if (!global.matchMedia) {
208
+ return;
209
+ }
210
+
211
+ self.getStylesheets().forEach(function extract_rules(stylesheet) {
212
+ Array.prototype.forEach.call(self.getCSSRules(stylesheet), function filter_by_column_selector(rule) {
213
+ // rule.media throws an 'not implemented error' in ie9 for import rules occasionally
214
+ try {
215
+ if (rule.media && rule.cssRules && self.mediaRuleHasColumnsSelector(rule.cssRules)) {
216
+ newMediaRules.push(rule);
217
+ }
218
+ } catch (e) {}
219
+ });
220
+ });
221
+
222
+ // remove matchMedia listeners from the old rules
223
+ var oldRules = mediaRules.filter(function (el) {
224
+ return newMediaRules.indexOf(el) === -1;
225
+ });
226
+ mediaQueries.filter(function (el) {
227
+ return oldRules.indexOf(el.rule) !== -1;
228
+ }).forEach(function (el) {
229
+ el.mql.removeListener(self.mediaQueryChange);
230
+ });
231
+ mediaQueries = mediaQueries.filter(function (el) {
232
+ return oldRules.indexOf(el.rule) === -1;
233
+ });
234
+
235
+ // add matchMedia listeners to the new rules
236
+ newMediaRules.filter(function (el) {
237
+ return mediaRules.indexOf(el) == -1;
238
+ }).forEach(function (rule) {
239
+ var mql = global.matchMedia(rule.media.mediaText);
240
+ mql.addListener(self.mediaQueryChange);
241
+ mediaQueries.push({rule: rule, mql:mql});
242
+ });
243
+
244
+ // swap mediaRules with the new set
245
+ mediaRules.length = 0;
246
+ mediaRules = newMediaRules;
247
+ };
248
+
249
+
250
+ self.rescanMediaQueries = function rescanMediaQueries() {
251
+ self.scanMediaQueries();
252
+ Array.prototype.forEach.call(grids, self.recreateColumns);
253
+ };
254
+
255
+
256
+ self.nextElementColumnIndex = function nextElementColumnIndex(grid, fragments) {
257
+ // returns the index of the column where the given element must be added.
258
+
259
+ var children = grid.children
260
+ , m = children.length
261
+ , lowestRowCount = 0
262
+ , child
263
+ , currentRowCount
264
+ , i
265
+ , index = 0
266
+ ;
267
+ for (i = 0; i < m; i++) {
268
+ child = children[i];
269
+ currentRowCount = child.children.length + (fragments[i].children || fragments[i].childNodes).length;
270
+ if(lowestRowCount === 0) {
271
+ lowestRowCount = currentRowCount;
272
+ }
273
+ if(currentRowCount < lowestRowCount) {
274
+ index = i;
275
+ lowestRowCount = currentRowCount;
276
+ }
277
+ }
278
+
279
+ return index;
280
+ };
281
+
282
+
283
+ self.createFragmentsList = function createFragmentsList(quantity) {
284
+ // returns a list of fragments
285
+
286
+ var fragments = new Array(quantity)
287
+ , i = 0
288
+ ;
289
+
290
+ while (i !== quantity) {
291
+ fragments[i] = document.createDocumentFragment();
292
+ i++;
293
+ }
294
+
295
+ return fragments;
296
+ };
297
+
298
+
299
+ self.appendElements = function appendElements(grid, elements) {
300
+ // adds a list of elements to the end of a grid
301
+
302
+ var columns = grid.children
303
+ , numberOfColumns = columns.length
304
+ , fragments = self.createFragmentsList(numberOfColumns)
305
+ ;
306
+
307
+ Array.prototype.forEach.call(elements, function append_to_next_fragment(element) {
308
+ var columnIndex = self.nextElementColumnIndex(grid, fragments);
309
+ fragments[columnIndex].appendChild(element);
310
+ });
311
+
312
+ Array.prototype.forEach.call(columns, function insert_column(column, index) {
313
+ column.appendChild(fragments[index]);
314
+ });
315
+ };
316
+
317
+
318
+ self.prependElements = function prependElements(grid, elements) {
319
+ // adds a list of elements to the start of a grid
320
+
321
+ var columns = grid.children
322
+ , numberOfColumns = columns.length
323
+ , fragments = self.createFragmentsList(numberOfColumns)
324
+ , columnIndex = numberOfColumns - 1
325
+ ;
326
+
327
+ elements.forEach(function append_to_next_fragment(element) {
328
+ var fragment = fragments[columnIndex];
329
+ fragment.insertBefore(element, fragment.firstChild);
330
+ if (columnIndex === 0) {
331
+ columnIndex = numberOfColumns - 1;
332
+ } else {
333
+ columnIndex--;
334
+ }
335
+ });
336
+
337
+ Array.prototype.forEach.call(columns, function insert_column(column, index) {
338
+ column.insertBefore(fragments[index], column.firstChild);
339
+ });
340
+
341
+ // populates a fragment with n columns till the right
342
+ var fragment = document.createDocumentFragment()
343
+ , numberOfColumnsToExtract = elements.length % numberOfColumns
344
+ ;
345
+
346
+ while (numberOfColumnsToExtract-- !== 0) {
347
+ fragment.appendChild(grid.lastChild);
348
+ }
349
+
350
+ // adds the fragment to the left
351
+ grid.insertBefore(fragment, grid.firstChild);
352
+ };
353
+
354
+
355
+ self.registerGrid = function registerGrid (grid) {
356
+ if (global.getComputedStyle(grid).display === "none") {
357
+ return;
358
+ }
359
+
360
+ if ( 'true' === grid.getAttribute('data-inited') ) {
361
+ return;
362
+ }
363
+
364
+ grid.setAttribute( 'data-inited', 'true' );
365
+
366
+ // retrieve the list of items from the grid itself
367
+ var range = document.createRange();
368
+ range.selectNodeContents(grid);
369
+
370
+ var items = document.createElement("div");
371
+ items.appendChild(range.extractContents());
372
+
373
+
374
+ add_to_dataset(items, 'columns', 0);
375
+ self.addColumns(grid, items);
376
+ grids.push(grid);
377
+ };
378
+
379
+
380
+ self.init = function init() {
381
+ // adds required CSS rule to hide 'content' based
382
+ // configuration.
383
+
384
+ var css = document.createElement("style");
385
+ css.innerHTML = "[data-columns]::before{display:block;visibility:hidden;position:absolute;font-size:1px;}";
386
+ document.head.appendChild(css);
387
+
388
+ // scans all the grids in the document and generates
389
+ // columns from their configuration.
390
+
391
+ var gridElements = document.querySelectorAll("[data-columns]");
392
+
393
+ Array.prototype.forEach.call(gridElements, self.registerGrid);
394
+ self.scanMediaQueries();
395
+ };
396
+
397
+ self.init();
398
+
399
+ return {
400
+ appendElements: self.appendElements,
401
+ prependElements: self.prependElements,
402
+ registerGrid: self.registerGrid,
403
+ recreateColumns: self.recreateColumns,
404
+ rescanMediaQueries: self.rescanMediaQueries,
405
+ init: self.init,
406
+
407
+ // maintains backwards compatibility with underscore style method names
408
+ append_elements: self.appendElements,
409
+ prepend_elements: self.prependElements,
410
+ register_grid: self.registerGrid,
411
+ recreate_columns: self.recreateColumns,
412
+ rescan_media_queries: self.rescanMediaQueries
413
+ };
414
+
415
+ })(window, window.document);
public/assets/scss/_masonry-layout.scss CHANGED
@@ -1,9 +1,266 @@
1
  .projects-container{
2
  &.masonry-layout{
3
  .projects-list{
4
- .projects-item{
5
- display: inline-block;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
  }
8
  }
9
- }
1
  .projects-container{
2
  &.masonry-layout{
3
  .projects-list{
4
+ display: flex;
5
+ flex-flow: row nowrap;
6
+ justify-content: flex-start;
7
+ align-items: stretch;
8
+
9
+ @media screen and (min-width: 1px) and (max-width: 599px){
10
+ &.column-mobile-1 {
11
+ &[data-columns]::before {
12
+ content: '1 .salvattore-column';
13
+ }
14
+ .salvattore-column {
15
+ width: 100%;
16
+ }
17
+ }
18
+ &.column-mobile-2 {
19
+ &[data-columns]::before {
20
+ content: '2 .salvattore-column';
21
+ }
22
+ .salvattore-column {
23
+ width: 50%;
24
+ }
25
+ }
26
+ &.column-mobile-3 {
27
+ &[data-columns]::before {
28
+ content: '3 .salvattore-column';
29
+ }
30
+ .salvattore-column {
31
+ width: 33.33333%;
32
+ }
33
+ }
34
+ &.column-mobile-4 {
35
+ &[data-columns]::before {
36
+ content: '4 .salvattore-column';
37
+ }
38
+ .salvattore-column {
39
+ width: 25%;
40
+ }
41
+ }
42
+ &.column-mobile-5 {
43
+ &[data-columns]::before {
44
+ content: '5 .salvattore-column';
45
+ }
46
+ .salvattore-column {
47
+ width: 20%;
48
+ }
49
+ }
50
+ &.column-mobile-6 {
51
+ &[data-columns]::before {
52
+ content: '6 .salvattore-column';
53
+ }
54
+ .salvattore-column {
55
+ width: 16.66666%;
56
+ }
57
+ }
58
  }
59
+
60
+ @media screen and (min-width: 600px) and (max-width: 899px){
61
+ &.column-portrait-tablet-1 {
62
+ &[data-columns]::before {
63
+ content: '1 .salvattore-column';
64
+ }
65
+ .salvattore-column {
66
+ width: 100%;
67
+ }
68
+ }
69
+ &.column-portrait-tablet-2 {
70
+ &[data-columns]::before {
71
+ content: '2 .salvattore-column';
72
+ }
73
+ .salvattore-column {
74
+ width: 50%;
75
+ }
76
+ }
77
+ &.column-portrait-tablet-3 {
78
+ &[data-columns]::before {
79
+ content: '3 .salvattore-column';
80
+ }
81
+ .salvattore-column {
82
+ width: 33.33333%;
83
+ }
84
+ }
85
+ &.column-portrait-tablet-4 {
86
+ &[data-columns]::before {
87
+ content: '4 .salvattore-column';
88
+ }
89
+ .salvattore-column {
90
+ width: 25%;
91
+ }
92
+ }
93
+ &.column-portrait-tablet-5 {
94
+ &[data-columns]::before {
95
+ content: '5 .salvattore-column';
96
+ }
97
+ .salvattore-column {
98
+ width: 20%;
99
+ }
100
+ }
101
+ &.column-portrait-tablet-6 {
102
+ &[data-columns]::before {
103
+ content: '6 .salvattore-column';
104
+ }
105
+ .salvattore-column {
106
+ width: 16.66666%;
107
+ }
108
+ }
109
+ }
110
+
111
+ @media screen and (min-width: 900px) and (max-width: 1199px){
112
+ &.column-album-tablet-1 {
113
+ &[data-columns]::before {
114
+ content: '1 .salvattore-column';
115
+ }
116
+ .salvattore-column {
117
+ width: 100%;
118
+ }
119
+ }
120
+ &.column-album-tablet-2 {
121
+ &[data-columns]::before {
122
+ content: '2 .salvattore-column';
123
+ }
124
+ .salvattore-column {
125
+ width: 50%;
126
+ }
127
+ }
128
+ &.column-album-tablet-3 {
129
+ &[data-columns]::before {
130
+ content: '3 .salvattore-column';
131
+ }
132
+ .salvattore-column {
133
+ width: 33.33333%;
134
+ }
135
+ }
136
+ &.column-album-tablet-4 {
137
+ &[data-columns]::before {
138
+ content: '4 .salvattore-column';
139
+ }
140
+ .salvattore-column {
141
+ width: 25%;
142
+ }
143
+ }
144
+ &.column-album-tablet-5 {
145
+ &[data-columns]::before {
146
+ content: '5 .salvattore-column';
147
+ }
148
+ .salvattore-column {
149
+ width: 20%;
150
+ }
151
+ }
152
+ &.column-album-tablet-6 {
153
+ &[data-columns]::before {
154
+ content: '6 .salvattore-column';
155
+ }
156
+ .salvattore-column {
157
+ width: 16.66666%;
158
+ }
159
+ }
160
+ }
161
+
162
+ @media screen and (min-width: 1200px) and (max-width: 1599px){
163
+ &.column-laptop-1 {
164
+ &[data-columns]::before {
165
+ content: '1 .salvattore-column';
166
+ }
167
+ .salvattore-column {
168
+ width: 100%;
169
+ }
170
+ }
171
+ &.column-laptop-2 {
172
+ &[data-columns]::before {
173
+ content: '2 .salvattore-column';
174
+ }
175
+ .salvattore-column {
176
+ width: 50%;
177
+ }
178
+ }
179
+ &.column-laptop-3 {
180
+ &[data-columns]::before {
181
+ content: '3 .salvattore-column';
182
+ }
183
+ .salvattore-column {
184
+ width: 33.33333%;
185
+ }
186
+ }
187
+ &.column-laptop-4 {
188
+ &[data-columns]::before {
189
+ content: '4 .salvattore-column';
190
+ }
191
+ .salvattore-column {
192
+ width: 25%;
193
+ }
194
+ }
195
+ &.column-laptop-5 {
196
+ &[data-columns]::before {
197
+ content: '5 .salvattore-column';
198
+ }
199
+ .salvattore-column {
200
+ width: 20%;
201
+ }
202
+ }
203
+ &.column-laptop-6 {
204
+ &[data-columns]::before {
205
+ content: '6 .salvattore-column';
206
+ }
207
+ .salvattore-column {
208
+ width: 16.66666%;
209
+ }
210
+ }
211
+ }
212
+
213
+ @media ( min-width: 1600px ) {
214
+ &.column-desktop-1 {
215
+ &[data-columns]::before {
216
+ content: '1 .salvattore-column';
217
+ }
218
+ .salvattore-column {
219
+ width: 100%;
220
+ }
221
+ }
222
+ &.column-desktop-2 {
223
+ &[data-columns]::before {
224
+ content: '2 .salvattore-column';
225
+ }
226
+ .salvattore-column {
227
+ width: 50%;
228
+ }
229
+ }
230
+ &.column-desktop-3 {
231
+ &[data-columns]::before {
232
+ content: '3 .salvattore-column';
233
+ }
234
+ .salvattore-column {
235
+ width: 33.33333%;
236
+ }
237
+ }
238
+ &.column-desktop-4 {
239
+ &[data-columns]::before {
240
+ content: '4 .salvattore-column';
241
+ }
242
+ .salvattore-column {
243
+ width: 25%;
244
+ }
245
+ }
246
+ &.column-desktop-5 {
247
+ &[data-columns]::before {
248
+ content: '5 .salvattore-column';
249
+ }
250
+ .salvattore-column {
251
+ width: 20%;
252
+ }
253
+ }
254
+ &.column-desktop-6 {
255
+ &[data-columns]::before {
256
+ content: '6 .salvattore-column';
257
+ }
258
+ .salvattore-column {
259
+ width: 16.66666%;
260
+ }
261
+ }
262
+ }
263
+
264
  }
265
  }
266
+ }
public/assets/scss/_projects-terms.scss CHANGED
@@ -17,9 +17,265 @@
17
  }
18
  }
19
  &.masonry-layout{
20
- .projects-terms-list{
21
- .projects-terms-item{
22
- display: inline-block;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
23
  }
24
  }
25
  }
17
  }
18
  }
19
  &.masonry-layout{
20
+ .projects-terms-list {
21
+ display: flex;
22
+ flex-flow: row nowrap;
23
+ justify-content: flex-start;
24
+ align-items: stretch;
25
+
26
+ @media screen and (min-width: 1px) and (max-width: 599px){
27
+ &.column-mobile-1 {
28
+ &[data-columns]::before {
29
+ content: '1 .salvattore-column';
30
+ }
31
+ .salvattore-column {
32
+ width: 100%;
33
+ }
34
+ }
35
+ &.column-mobile-2 {
36
+ &[data-columns]::before {
37
+ content: '2 .salvattore-column';
38
+ }
39
+ .salvattore-column {
40
+ width: 50%;
41
+ }
42
+ }
43
+ &.column-mobile-3 {
44
+ &[data-columns]::before {
45
+ content: '3 .salvattore-column';
46
+ }
47
+ .salvattore-column {
48
+ width: 33.33333%;
49
+ }
50
+ }
51
+ &.column-mobile-4 {
52
+ &[data-columns]::before {
53
+ content: '4 .salvattore-column';
54
+ }
55
+ .salvattore-column {
56
+ width: 25%;
57
+ }
58
+ }
59
+ &.column-mobile-5 {
60
+ &[data-columns]::before {
61
+ content: '5 .salvattore-column';
62
+ }
63
+ .salvattore-column {
64
+ width: 20%;
65
+ }
66
+ }
67
+ &.column-mobile-6 {
68
+ &[data-columns]::before {
69
+ content: '6 .salvattore-column';
70
+ }
71
+ .salvattore-column {
72
+ width: 16.66666%;
73
+ }
74
+ }
75
+ }
76
+
77
+ @media screen and (min-width: 600px) and (max-width: 899px){
78
+ &.column-portrait-tablet-1 {
79
+ &[data-columns]::before {
80
+ content: '1 .salvattore-column';
81
+ }
82
+ .salvattore-column {
83
+ width: 100%;
84
+ }
85
+ }
86
+ &.column-portrait-tablet-2 {
87
+ &[data-columns]::before {
88
+ content: '2 .salvattore-column';
89
+ }
90
+ .salvattore-column {
91
+ width: 50%;
92
+ }
93
+ }
94
+ &.column-portrait-tablet-3 {
95
+ &[data-columns]::before {
96
+ content: '3 .salvattore-column';
97
+ }
98
+ .salvattore-column {
99
+ width: 33.33333%;
100
+ }
101
+ }
102
+ &.column-portrait-tablet-4 {
103
+ &[data-columns]::before {
104
+ content: '4 .salvattore-column';
105
+ }
106
+ .salvattore-column {
107
+ width: 25%;
108
+ }
109
+ }
110
+ &.column-portrait-tablet-5 {
111
+ &[data-columns]::before {
112
+ content: '5 .salvattore-column';
113
+ }
114
+ .salvattore-column {
115
+ width: 20%;
116
+ }
117
+ }
118
+ &.column-portrait-tablet-6 {
119
+ &[data-columns]::before {
120
+ content: '6 .salvattore-column';
121
+ }
122
+ .salvattore-column {
123
+ width: 16.66666%;
124
+ }
125
+ }
126
+ }
127
+
128
+ @media screen and (min-width: 900px) and (max-width: 1199px){
129
+ &.column-album-tablet-1 {
130
+ &[data-columns]::before {
131
+ content: '1 .salvattore-column';
132
+ }
133
+ .salvattore-column {
134
+ width: 100%;
135
+ }
136
+ }
137
+ &.column-album-tablet-2 {
138
+ &[data-columns]::before {
139
+ content: '2 .salvattore-column';
140
+ }
141
+ .salvattore-column {
142
+ width: 50%;
143
+ }
144
+ }
145
+ &.column-album-tablet-3 {
146
+ &[data-columns]::before {
147
+ content: '3 .salvattore-column';
148
+ }
149
+ .salvattore-column {
150
+ width: 33.33333%;
151
+ }
152
+ }
153
+ &.column-album-tablet-4 {
154
+ &[data-columns]::before {
155
+ content: '4 .salvattore-column';
156
+ }
157
+ .salvattore-column {
158
+ width: 25%;
159
+ }
160
+ }
161
+ &.column-album-tablet-5 {
162
+ &[data-columns]::before {
163
+ content: '5 .salvattore-column';
164
+ }
165
+ .salvattore-column {
166
+ width: 20%;
167
+ }
168
+ }
169
+ &.column-album-tablet-6 {
170
+ &[data-columns]::before {
171
+ content: '6 .salvattore-column';
172
+ }
173
+ .salvattore-column {
174
+ width: 16.66666%;
175
+ }
176
+ }
177
+ }
178
+
179
+ @media screen and (min-width: 1200px) and (max-width: 1599px){
180
+ &.column-laptop-1 {
181
+ &[data-columns]::before {
182
+ content: '1 .salvattore-column';
183
+ }
184
+ .salvattore-column {
185
+ width: 100%;
186
+ }
187
+ }
188
+ &.column-laptop-2 {
189
+ &[data-columns]::before {
190
+ content: '2 .salvattore-column';
191
+ }
192
+ .salvattore-column {
193
+ width: 50%;
194
+ }
195
+ }
196
+ &.column-laptop-3 {
197
+ &[data-columns]::before {
198
+ content: '3 .salvattore-column';
199
+ }
200
+ .salvattore-column {
201
+ width: 33.33333%;
202
+ }
203
+ }
204
+ &.column-laptop-4 {
205
+ &[data-columns]::before {
206
+ content: '4 .salvattore-column';
207
+ }
208
+ .salvattore-column {
209
+ width: 25%;
210
+ }
211
+ }
212
+ &.column-laptop-5 {
213
+ &[data-columns]::before {
214
+ content: '5 .salvattore-column';
215
+ }
216
+ .salvattore-column {
217
+ width: 20%;
218
+ }
219
+ }
220
+ &.column-laptop-6 {
221
+ &[data-columns]::before {
222
+ content: '6 .salvattore-column';
223
+ }
224
+ .salvattore-column {
225
+ width: 16.66666%;
226
+ }
227
+ }
228
+ }
229
+
230
+ @media ( min-width: 1600px ) {
231
+ &.column-desktop-1 {
232
+ &[data-columns]::before {
233
+ content: '1 .salvattore-column';
234
+ }
235
+ .salvattore-column {
236
+ width: 100%;
237
+ }
238
+ }
239
+ &.column-desktop-2 {
240
+ &[data-columns]::before {
241
+ content: '2 .salvattore-column';
242
+ }
243
+ .salvattore-column {
244
+ width: 50%;
245
+ }
246
+ }
247
+ &.column-desktop-3 {
248
+ &[data-columns]::before {
249
+ content: '3 .salvattore-column';
250
+ }
251
+ .salvattore-column {
252
+ width: 33.33333%;
253
+ }
254
+ }
255
+ &.column-desktop-4 {
256
+ &[data-columns]::before {
257
+ content: '4 .salvattore-column';
258
+ }
259
+ .salvattore-column {
260
+ width: 25%;
261
+ }
262
+ }
263
+ &.column-desktop-5 {
264
+ &[data-columns]::before {
265
+ content: '5 .salvattore-column';
266
+ }
267
+ .salvattore-column {
268
+ width: 20%;
269
+ }
270
+ }
271
+ &.column-desktop-6 {
272
+ &[data-columns]::before {
273
+ content: '6 .salvattore-column';
274
+ }
275
+ .salvattore-column {
276
+ width: 16.66666%;
277
+ }
278
+ }
279
  }
280
  }
281
  }
public/includes/class-cherry-projects-template-callbacks.php CHANGED
@@ -166,7 +166,7 @@ class Cherry_Projects_Template_Callbacks {
166
  $settings = array(
167
  'visible' => true,
168
  'size' => $attr['size'],
169
- 'mobile_size' => apply_filters( 'cherry_mobile_image_size', 'post-thumbnail' ),
170
  'html' => $image_html,
171
  'class' => 'wp-image',
172
  'placeholder' => true,
@@ -613,6 +613,7 @@ class Cherry_Projects_Template_Callbacks {
613
  $settings = array(
614
  'visible' => true,
615
  'size' => $attr['size'],
 
616
  'html' => $image_html,
617
  'class' => 'wp-image',
618
  'placeholder' => true,
@@ -667,7 +668,7 @@ class Cherry_Projects_Template_Callbacks {
667
  'height' => $attr['height'],
668
  'navigation' => filter_var( $slider_navigation, FILTER_VALIDATE_BOOLEAN ),
669
  'loop' => filter_var( $slider_loop, FILTER_VALIDATE_BOOLEAN ),
670
- 'thumbnails-position' => !empty( $slider_thumbnails_position ) ? $slider_thumbnails_position : 'bottom',
671
  'thumbnails-width' => $attr['thumbnails-width'],
672
  'thumbnails-height' => $attr['thumbnails-height'],
673
  'distance' => $attr['distance'],
@@ -689,6 +690,7 @@ class Cherry_Projects_Template_Callbacks {
689
  $settings = array(
690
  'visible' => true,
691
  'size' => $attr['size'],
 
692
  'html' => '<img %2$s src="%3$s" alt="%4$s" %5$s >',
693
  'class' => 'sp-image',
694
  'placeholder' => true,
@@ -714,7 +716,7 @@ class Cherry_Projects_Template_Callbacks {
714
  $html .= '<div class="sp-thumbnail">';
715
  $settings = array(
716
  'visible' => true,
717
- 'size' => 'post-thumbnail',
718
  'html' => $image_html,
719
  'placeholder' => true,
720
  'placeholder_background' => '000',
166
  $settings = array(
167
  'visible' => true,
168
  'size' => $attr['size'],
169
+ 'mobile_size' => apply_filters( 'cherry_projects_featured_image_mobile_size', 'large' ),
170
  'html' => $image_html,
171
  'class' => 'wp-image',
172
  'placeholder' => true,
613
  $settings = array(
614
  'visible' => true,
615
  'size' => $attr['size'],
616
+ 'mobile_size' => apply_filters( 'cherry_project_image_list_mobile_size', $attr['size'] ),
617
  'html' => $image_html,
618
  'class' => 'wp-image',
619
  'placeholder' => true,
668
  'height' => $attr['height'],
669
  'navigation' => filter_var( $slider_navigation, FILTER_VALIDATE_BOOLEAN ),
670
  'loop' => filter_var( $slider_loop, FILTER_VALIDATE_BOOLEAN ),
671
+ 'thumbnails-position' => ! empty( $slider_thumbnails_position ) ? $slider_thumbnails_position : 'bottom',
672
  'thumbnails-width' => $attr['thumbnails-width'],
673
  'thumbnails-height' => $attr['thumbnails-height'],
674
  'distance' => $attr['distance'],
690
  $settings = array(
691
  'visible' => true,
692
  'size' => $attr['size'],
693
+ 'mobile_size' => apply_filters( 'cherry_project_slider_mobile_size', $attr['size'] ),
694
  'html' => '<img %2$s src="%3$s" alt="%4$s" %5$s >',
695
  'class' => 'sp-image',
696
  'placeholder' => true,
716
  $html .= '<div class="sp-thumbnail">';
717
  $settings = array(
718
  'visible' => true,
719
+ 'size' => apply_filters( 'cherry_project_slider_thumbnails_size', 'post-thumbnail' ),
720
  'html' => $image_html,
721
  'placeholder' => true,
722
  'placeholder_background' => '000',
public/includes/class-projects-data.php CHANGED
@@ -62,7 +62,7 @@ class Cherry_Project_Data {
62
  $this->set_cherry_utility();
63
 
64
  // Elementor compatibility editor enqueue scripts
65
- add_action( 'elementor/editor/before_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
66
  }
67
 
68
  /**
@@ -170,6 +170,7 @@ class Cherry_Project_Data {
170
  $settings = array(
171
  'list-layout' => $this->options['listing-layout'],
172
  'loading-mode' => $this->options['loading-mode'],
 
173
  'post-per-page' => $this->options['post-per-page'],
174
  'column-number' => $this->options['column-number'],
175
  'column-number-laptop' => $this->options['column-number-laptop'],
@@ -195,7 +196,7 @@ class Cherry_Project_Data {
195
  $container_class = 'projects-container cherry-animation-container ' . $this->options['listing-layout'] . ' ' . $this->options['loading-mode'] . ' ' . $this->options['loading-animation'];
196
 
197
  $html .= sprintf( '<div class="%1$s" data-settings=\'%2$s\'>', $container_class, $settings );
198
- $html .= '<div class="projects-list cherry-animation-list" data-all-posts-count="' . $this->posts_query->found_posts . '"></div>';
199
  $html .= '</div>';
200
 
201
  /**
@@ -269,7 +270,31 @@ class Cherry_Project_Data {
269
  // The Query.
270
  $posts_query = $this->get_query_projects_items( $query_args );
271
 
272
- $html = '<div class="projects-list cherry-animation-list" data-all-posts-count="' . $posts_query->found_posts . '">';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
273
  $html .= $this->render_projects_items( $posts_query, $settings );
274
  $html .= '</div>';
275
 
@@ -436,8 +461,8 @@ class Cherry_Project_Data {
436
  'item-' . $count,
437
  ( ( $count++ % 2 ) ? 'odd' : 'even' ),
438
  'animate-cycle-show',
439
- $this->default_options['listing-layout'] . '-item',
440
- $this->default_options['hover-animation'] . '-hover',
441
  $data_attrs
442
  );
443
  $html .= '<div class="inner-wrapper">';
@@ -823,6 +848,7 @@ class Cherry_Project_Data {
823
  wp_enqueue_script( 'jquery-waypoints', trailingslashit( CHERRY_PROJECTS_URI ) . 'public/assets/js/jquery.waypoints.min.js', array( 'jquery' ), CHERRY_PROJECTS_VERSION, true );
824
  wp_enqueue_script( 'imagesloaded', trailingslashit( CHERRY_PROJECTS_URI ) . 'public/assets/js/imagesloaded.pkgd.min.js', array( 'jquery' ), CHERRY_PROJECTS_VERSION, true );
825
  wp_enqueue_script( 'magnific-popup', trailingslashit( CHERRY_PROJECTS_URI ) . 'public/assets/js/jquery.magnific-popup.min.js', array( 'jquery' ), '1.1.0', true );
 
826
  wp_enqueue_script( 'cherry-projects-plugin', trailingslashit( CHERRY_PROJECTS_URI ) . 'public/assets/js/cherry-projects-plugin.js', array( 'jquery' ), CHERRY_PROJECTS_VERSION, true );
827
  wp_enqueue_script( 'cherry-projects-scripts', trailingslashit( CHERRY_PROJECTS_URI ) . 'public/assets/js/cherry-projects-scripts.js', array( 'jquery' ), CHERRY_PROJECTS_VERSION, true );
828
 
62
  $this->set_cherry_utility();
63
 
64
  // Elementor compatibility editor enqueue scripts
65
+ add_action( 'elementor/frontend/before_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
66
  }
67
 
68
  /**
170
  $settings = array(
171
  'list-layout' => $this->options['listing-layout'],
172
  'loading-mode' => $this->options['loading-mode'],
173
+ 'hover-animation' => $this->options['hover-animation'],
174
  'post-per-page' => $this->options['post-per-page'],
175
  'column-number' => $this->options['column-number'],
176
  'column-number-laptop' => $this->options['column-number-laptop'],
196
  $container_class = 'projects-container cherry-animation-container ' . $this->options['listing-layout'] . ' ' . $this->options['loading-mode'] . ' ' . $this->options['loading-animation'];
197
 
198
  $html .= sprintf( '<div class="%1$s" data-settings=\'%2$s\'>', $container_class, $settings );
199
+ $html .= '<div class="projects-list cherry-animation-list column-desktop-4 column-tablet-2 column-mobile-1" data-all-posts-count="' . $this->posts_query->found_posts . '" data-columns></div>';
200
  $html .= '</div>';
201
 
202
  /**
270
  // The Query.
271
  $posts_query = $this->get_query_projects_items( $query_args );
272
 
273
+ $list_classes = array( 'projects-list', 'cherry-animation-list' );
274
+
275
+ if ( isset( $settings['column'] ) ) {
276
+ $list_classes[] = 'column-desktop-' . $settings['column'];
277
+ }
278
+
279
+ if ( isset( $settings['column_laptop'] ) ) {
280
+ $list_classes[] = 'column-laptop-' . $settings['column_laptop'];
281
+ }
282
+
283
+ if ( isset( $settings['column_album_tablet'] ) ) {
284
+ $list_classes[] = 'column-album-tablet-' . $settings['column_album_tablet'];
285
+ }
286
+
287
+ if ( isset( $settings['column_portrait_tablet'] ) ) {
288
+ $list_classes[] = 'column-portrait-tablet-' . $settings['column_portrait_tablet'];
289
+ }
290
+
291
+ if ( isset( $settings['column_mobile'] ) ) {
292
+ $list_classes[] = 'column-mobile-' . $settings['column_mobile'];
293
+ }
294
+
295
+ $classes = implode( ' ', $list_classes );
296
+
297
+ $html = '<div class="' . $classes . '" data-all-posts-count="' . $posts_query->found_posts . '" data-columns>';
298
  $html .= $this->render_projects_items( $posts_query, $settings );
299
  $html .= '</div>';
300
 
461
  'item-' . $count,
462
  ( ( $count++ % 2 ) ? 'odd' : 'even' ),
463
  'animate-cycle-show',
464
+ $settings['list_layout'] . '-item',
465
+ $settings['hover'] . '-hover',
466
  $data_attrs
467
  );
468
  $html .= '<div class="inner-wrapper">';
848
  wp_enqueue_script( 'jquery-waypoints', trailingslashit( CHERRY_PROJECTS_URI ) . 'public/assets/js/jquery.waypoints.min.js', array( 'jquery' ), CHERRY_PROJECTS_VERSION, true );
849
  wp_enqueue_script( 'imagesloaded', trailingslashit( CHERRY_PROJECTS_URI ) . 'public/assets/js/imagesloaded.pkgd.min.js', array( 'jquery' ), CHERRY_PROJECTS_VERSION, true );
850
  wp_enqueue_script( 'magnific-popup', trailingslashit( CHERRY_PROJECTS_URI ) . 'public/assets/js/jquery.magnific-popup.min.js', array( 'jquery' ), '1.1.0', true );
851
+ wp_enqueue_script( 'cherry-projects-salvattore', trailingslashit( CHERRY_PROJECTS_URI ) . 'public/assets/js/salvattore.min.js', array( 'jquery' ), '1.0.9', true );
852
  wp_enqueue_script( 'cherry-projects-plugin', trailingslashit( CHERRY_PROJECTS_URI ) . 'public/assets/js/cherry-projects-plugin.js', array( 'jquery' ), CHERRY_PROJECTS_VERSION, true );
853
  wp_enqueue_script( 'cherry-projects-scripts', trailingslashit( CHERRY_PROJECTS_URI ) . 'public/assets/js/cherry-projects-scripts.js', array( 'jquery' ), CHERRY_PROJECTS_VERSION, true );
854
 
public/includes/class-projects-shortcode.php CHANGED
@@ -473,7 +473,7 @@ class Cherry_Projects_Shortcode {
473
  'column_number_mobile' => array(
474
  'type' => 'slider',
475
  'parent' => 'column_number_mobile_layout',
476
- 'title' => esc_html__( 'Tablet column number', 'cherry-projects' ),
477
  'description' => esc_html__( 'Select mobile number of columns for masonry and grid projects layouts. (Min 1, max 6)', 'cherry-projects' ),
478
  'max_value' => 6,
479
  'min_value' => 1,
473
  'column_number_mobile' => array(
474
  'type' => 'slider',
475
  'parent' => 'column_number_mobile_layout',
476
+ 'title' => esc_html__( 'Mobile column number', 'cherry-projects' ),
477
  'description' => esc_html__( 'Select mobile number of columns for masonry and grid projects layouts. (Min 1, max 6)', 'cherry-projects' ),
478
  'max_value' => 6,
479
  'min_value' => 1,
public/includes/class-projects-term-data.php CHANGED
@@ -117,8 +117,6 @@ class Cherry_Project_Term_Data extends Cherry_Project_Data {
117
  'item-margin' => $this->options['item-margin'],
118
  );
119
 
120
- $settings = json_encode( $settings );
121
-
122
  $terms = $this->get_projects_terms(
123
  array(
124
  'taxonomy' => CHERRY_PROJECTS_NAME . '_' . $this->options['term-type'],
@@ -126,11 +124,37 @@ class Cherry_Project_Term_Data extends Cherry_Project_Data {
126
  )
127
  );
128
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
129
  $html = '<div class="cherry-projects-terms-wrapper">';
130
  $container_class = 'projects-terms-container cherry-animation-container ' . $this->options['listing-layout'] . ' ' . $this->options['loading-animation'];
131
 
132
  $html .= sprintf( '<div class="%1$s" data-settings=\'%2$s\'>', $container_class, $settings );
133
- $html .= '<div class="projects-terms-list cherry-animation-list">';
134
  $html .= $this->render_projects_term_items( $terms );
135
  $html .= '</div>';
136
  $html .= '</div>';
@@ -238,6 +262,7 @@ class Cherry_Project_Term_Data extends Cherry_Project_Data {
238
  public function enqueue_scripts() {
239
  wp_enqueue_script( 'imagesloaded', trailingslashit( CHERRY_PROJECTS_URI ) . 'public/assets/js/imagesloaded.pkgd.min.js', array( 'jquery' ), CHERRY_PROJECTS_VERSION, true );
240
  wp_enqueue_script( 'magnific-popup', trailingslashit( CHERRY_PROJECTS_URI ) . 'public/assets/js/jquery.magnific-popup.min.js', array( 'jquery' ), '1.1.0', true );
 
241
  wp_enqueue_script( 'cherry-projects-scripts', trailingslashit( CHERRY_PROJECTS_URI ) . 'public/assets/js/cherry-projects-scripts.js', array( 'jquery' ), CHERRY_PROJECTS_VERSION, true );
242
 
243
  $cascading_list_map = apply_filters( 'cherry_projects_terms_cascading_list_map', array( 1, 2, 2, 3, 3, 3, 4, 4, 4, 4 ) );
117
  'item-margin' => $this->options['item-margin'],
118
  );
119
 
 
 
120
  $terms = $this->get_projects_terms(
121
  array(
122
  'taxonomy' => CHERRY_PROJECTS_NAME . '_' . $this->options['term-type'],
124
  )
125
  );
126
 
127
+ $list_classes = array( 'projects-terms-list', 'cherry-animation-list' );
128
+
129
+ if ( isset( $settings['column-number'] ) ) {
130
+ $list_classes[] = 'column-desktop-' . $settings['column-number'];
131
+ }
132
+
133
+ if ( isset( $settings['column-number-laptop'] ) ) {
134
+ $list_classes[] = 'column-laptop-' . $settings['column-number-laptop'];
135
+ }
136
+
137
+ if ( isset( $settings['column-number-album-tablet'] ) ) {
138
+ $list_classes[] = 'column-album-tablet-' . $settings['column-number-album-tablet'];
139
+ }
140
+
141
+ if ( isset( $settings['column-number-portrait-tablet'] ) ) {
142
+ $list_classes[] = 'column-portrait-tablet-' . $settings['column-number-portrait-tablet'];
143
+ }
144
+
145
+ if ( isset( $settings['column-number-mobile'] ) ) {
146
+ $list_classes[] = 'column-mobile-' . $settings['column-number-mobile'];
147
+ }
148
+
149
+ $classes = implode( ' ', $list_classes );
150
+
151
+ $settings = json_encode( $settings );
152
+
153
  $html = '<div class="cherry-projects-terms-wrapper">';
154
  $container_class = 'projects-terms-container cherry-animation-container ' . $this->options['listing-layout'] . ' ' . $this->options['loading-animation'];
155
 
156
  $html .= sprintf( '<div class="%1$s" data-settings=\'%2$s\'>', $container_class, $settings );
157
+ $html .= '<div class="' . $classes . '" data-columns>';
158
  $html .= $this->render_projects_term_items( $terms );
159
  $html .= '</div>';
160
  $html .= '</div>';
262
  public function enqueue_scripts() {
263
  wp_enqueue_script( 'imagesloaded', trailingslashit( CHERRY_PROJECTS_URI ) . 'public/assets/js/imagesloaded.pkgd.min.js', array( 'jquery' ), CHERRY_PROJECTS_VERSION, true );
264
  wp_enqueue_script( 'magnific-popup', trailingslashit( CHERRY_PROJECTS_URI ) . 'public/assets/js/jquery.magnific-popup.min.js', array( 'jquery' ), '1.1.0', true );
265
+ wp_enqueue_script( 'cherry-projects-salvattore', trailingslashit( CHERRY_PROJECTS_URI ) . 'public/assets/js/salvattore.min.js', array( 'jquery' ), '1.0.9', true );
266
  wp_enqueue_script( 'cherry-projects-scripts', trailingslashit( CHERRY_PROJECTS_URI ) . 'public/assets/js/cherry-projects-scripts.js', array( 'jquery' ), CHERRY_PROJECTS_VERSION, true );
267
 
268
  $cascading_list_map = apply_filters( 'cherry_projects_terms_cascading_list_map', array( 1, 2, 2, 3, 3, 3, 4, 4, 4, 4 ) );
readme.txt CHANGED
@@ -4,7 +4,7 @@ Contributors: TemplateMonster 2002
4
  Tags: custom post type, projects, portfolio, cherry framework, elementor, elementor page builder
5
  Requires at least: 4.5
6
  Tested up to: 4.8.0
7
- Stable tag: 1.2.8
8
  License: GPLv3 or later
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
 
@@ -176,3 +176,7 @@ Standard templates can be rewritten in the theme. For that you need to create ch
176
  = 1.2.8 =
177
 
178
  * CherryFramework version
 
 
 
 
4
  Tags: custom post type, projects, portfolio, cherry framework, elementor, elementor page builder
5
  Requires at least: 4.5
6
  Tested up to: 4.8.0
7
+ Stable tag: 1.2.9
8
  License: GPLv3 or later
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
 
176
  = 1.2.8 =
177
 
178
  * CherryFramework version
179
+
180
+ = 1.2.9 =
181
+
182
+ * Fixed bugs