PowerPack Addons for Elementor (Instagram Feed, Pricing Table, Forms Stylers, Display Conditions, Free Elementor Widgets and Elementor Templates) - Version 2.1.0

Version Description

  • August 11, 2020 =
  • New: Posts widget
  • Fixed: Image Accordion - Stack On option was not working
Download this release

Release Info

Developer ideaboxcreations
Plugin Icon 128x128 PowerPack Addons for Elementor (Instagram Feed, Pricing Table, Forms Stylers, Display Conditions, Free Elementor Widgets and Elementor Templates)
Version 2.1.0
Comparing to
See all releases

Code changes from version 2.0.0 to 2.1.0

assets/css/editor.css CHANGED
@@ -56,8 +56,8 @@
56
  .elementor-control-type-pp-query .elementor-control-input-wrapper {
57
  width: 135px;
58
  }
59
- .elementor-panel .elementor-control-section_upgrade_powerpack .elementor-panel-heading-title.elementor-panel-heading-title,
60
- .elementor-panel .elementor-control-section_upgrade_powerpack .elementor-panel-heading-toggle {
61
  color: #d30c5c;
62
  }
63
  .elementor-panel .elementor-control-upgrade_powerpack_notice .upgrade-powerpack-notice {
@@ -65,7 +65,7 @@
65
  border-color: #d30c5c;
66
  line-height: 1.8;
67
  }
68
- .elementor-panel .elementor-control-upgrade_powerpack_notice .upgrade-powerpack-notice a {
69
  border-bottom-style: dotted;
70
  border-bottom-width: 1px;
71
  border-bottom-color: inherit;
56
  .elementor-control-type-pp-query .elementor-control-input-wrapper {
57
  width: 135px;
58
  }
59
+ .elementor-panel div[class*="section_upgrade_powerpack"] .elementor-panel-heading-title.elementor-panel-heading-title,
60
+ .elementor-panel div[class*="section_upgrade_powerpack"] .elementor-panel-heading-toggle {
61
  color: #d30c5c;
62
  }
63
  .elementor-panel .elementor-control-upgrade_powerpack_notice .upgrade-powerpack-notice {
65
  border-color: #d30c5c;
66
  line-height: 1.8;
67
  }
68
+ .elementor-panel .upgrade-powerpack-notice a {
69
  border-bottom-style: dotted;
70
  border-bottom-width: 1px;
71
  border-bottom-color: inherit;
assets/css/frontend-rtl.css CHANGED
@@ -2133,6 +2133,85 @@ div[class*=' pa-'] {
2133
  transition-property: all;
2134
  -webkit-transition-property: all; }
2135
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2136
  .pp-info-table-container .pp-info-table-link {
2137
  text-decoration: none !important; }
2138
 
@@ -2821,6 +2900,181 @@ div[class*=' pa-'] {
2821
  margin-left: 0;
2822
  width: 100%; }
2823
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2824
  @media only screen and (min-width: 1025px) {
2825
  /* For Desktop: */
2826
  .elementor-element.elementor-grid-1 {
@@ -2875,6 +3129,12 @@ div[class*=' pa-'] {
2875
  clear: right; } }
2876
 
2877
  @media (max-width: 1024px) {
 
 
 
 
 
 
2878
  .pp-info-box-tablet-top .pp-info-box {
2879
  flex-direction: column; }
2880
  .pp-info-box-tablet-top .pp-info-box .pp-info-box-icon-wrap {
@@ -2982,6 +3242,12 @@ div[class*=' pa-'] {
2982
  clear: right; } }
2983
 
2984
  @media only screen and (max-width: 767px) {
 
 
 
 
 
 
2985
  .pp-info-box-mobile-top .pp-info-box {
2986
  flex-direction: column; }
2987
  .pp-info-box-mobile-top .pp-info-box .pp-info-box-icon-wrap {
2133
  transition-property: all;
2134
  -webkit-transition-property: all; }
2135
 
2136
+ .pp-slider-arrow {
2137
+ align-items: center;
2138
+ justify-content: center;
2139
+ background-color: #fff;
2140
+ border-radius: 50%;
2141
+ color: #000;
2142
+ cursor: pointer;
2143
+ display: inline-flex;
2144
+ font-size: 22px;
2145
+ line-height: 22px;
2146
+ padding: 20px;
2147
+ position: absolute;
2148
+ top: 50%;
2149
+ width: 22px;
2150
+ height: 22px;
2151
+ transform: translateY(-50%);
2152
+ z-index: 1;
2153
+ transition: all 0.25s linear 0s; }
2154
+
2155
+ .pp-arrow-next {
2156
+ left: 20px; }
2157
+
2158
+ .pp-arrow-prev {
2159
+ right: 20px; }
2160
+
2161
+ [dir="rtl"] .pp-slick-slider .pp-arrow-next {
2162
+ right: 20px;
2163
+ left: auto; }
2164
+
2165
+ [dir="rtl"] .pp-slick-slider .pp-arrow-prev {
2166
+ right: auto;
2167
+ left: 20px; }
2168
+
2169
+ .pp-slick-slider:not(.slick-initialized) > * {
2170
+ display: none; }
2171
+
2172
+ .pp-slick-slider .slick-slide:focus {
2173
+ outline: 0; }
2174
+
2175
+ .pp-slick-slider .slick-dots {
2176
+ list-style: none;
2177
+ margin: 0;
2178
+ padding: 0;
2179
+ position: relative;
2180
+ text-align: center;
2181
+ width: 100%; }
2182
+
2183
+ .pp-slick-slider li {
2184
+ background: #ccc;
2185
+ border-radius: 50%;
2186
+ cursor: pointer;
2187
+ position: relative;
2188
+ display: inline-block;
2189
+ margin: 0 4px;
2190
+ padding: 0;
2191
+ vertical-align: middle;
2192
+ transition: 0.3s; }
2193
+ .pp-slick-slider li.slick-active {
2194
+ background: #000; }
2195
+ .pp-slick-slider li button {
2196
+ background: transparent;
2197
+ border: 0;
2198
+ box-shadow: none;
2199
+ color: transparent;
2200
+ display: block;
2201
+ font-size: 0;
2202
+ line-height: 0;
2203
+ width: 10px;
2204
+ height: 10px;
2205
+ padding: 0;
2206
+ outline: none;
2207
+ transition: 0.3s; }
2208
+
2209
+ .pp-slick-slider-dots-inside .slick-dots {
2210
+ position: absolute;
2211
+ bottom: 15px;
2212
+ right: 0;
2213
+ left: 0; }
2214
+
2215
  .pp-info-table-container .pp-info-table-link {
2216
  text-decoration: none !important; }
2217
 
2900
  margin-left: 0;
2901
  width: 100%; }
2902
 
2903
+ .pp-post {
2904
+ overflow: hidden; }
2905
+ .pp-post .pp-post-title {
2906
+ font-size: 26px; }
2907
+ .pp-post .pp-post-title a {
2908
+ color: inherit;
2909
+ font-family: inherit;
2910
+ font-size: inherit;
2911
+ font-style: inherit;
2912
+ font-weight: inherit;
2913
+ line-height: inherit; }
2914
+
2915
+ .pp-post-thumbnail {
2916
+ overflow: hidden; }
2917
+ .pp-post-thumbnail img {
2918
+ width: 100%;
2919
+ transition: all .25s linear; }
2920
+
2921
+ .pp-posts-thumbnail-ratio .pp-post-thumbnail-wrap {
2922
+ position: relative; }
2923
+ .pp-posts-thumbnail-ratio .pp-post-thumbnail-wrap img {
2924
+ position: absolute;
2925
+ -o-object-fit: cover;
2926
+ object-fit: cover;
2927
+ top: 0;
2928
+ left: 0;
2929
+ bottom: 0;
2930
+ right: 0;
2931
+ height: 100%; }
2932
+
2933
+ .pp-post-separator-wrap {
2934
+ margin-bottom: 15px; }
2935
+
2936
+ .pp-post-separator {
2937
+ background: #e6e6e6;
2938
+ height: 1px;
2939
+ width: 100%; }
2940
+
2941
+ .pp-post-terms {
2942
+ transition: all 0.25s linear 0s;
2943
+ display: inline-block; }
2944
+ .pp-post-terms a {
2945
+ color: inherit; }
2946
+
2947
+ .pp-equal-height-yes .pp-post {
2948
+ height: 100%; }
2949
+
2950
+ .pp-posts-pagination a,
2951
+ .pp-posts-pagination .page-numbers {
2952
+ display: inline-block; }
2953
+
2954
+ .pp-posts-infinite-scroll .pp-posts-pagination-wrap {
2955
+ display: none; }
2956
+
2957
+ .pp-search-form-container {
2958
+ display: flex;
2959
+ justify-content: flex-start; }
2960
+
2961
+ .pp-search-form {
2962
+ display: flex;
2963
+ transition: .2s;
2964
+ overflow: hidden;
2965
+ border: 0 solid transparent;
2966
+ margin-bottom: 20px;
2967
+ min-height: 50px;
2968
+ max-width: 400px;
2969
+ width: 100%; }
2970
+ .pp-search-form button,
2971
+ .pp-search-form input[type=search] {
2972
+ margin: 0;
2973
+ border: 0;
2974
+ padding: 0;
2975
+ display: inline-block;
2976
+ vertical-align: middle;
2977
+ white-space: normal;
2978
+ background: none;
2979
+ line-height: 1;
2980
+ min-width: 0;
2981
+ font-size: 15px;
2982
+ -webkit-appearance: none;
2983
+ -moz-appearance: none; }
2984
+ .pp-search-form button:focus,
2985
+ .pp-search-form input[type=search]:focus {
2986
+ outline: 0; }
2987
+ .pp-search-form input[type=search] {
2988
+ background: #eceeef;
2989
+ height: 100%;
2990
+ padding-right: 15px;
2991
+ padding-left: 15px;
2992
+ flex-basis: 100%;
2993
+ color: #55595c;
2994
+ transition: color .2s; }
2995
+ .pp-search-form button {
2996
+ background-color: #818a91;
2997
+ font-size: 16px;
2998
+ color: #fff;
2999
+ border-radius: 0;
3000
+ min-width: 50px; }
3001
+ .pp-search-form .pp-search-form-input:-ms-input-placeholder {
3002
+ color: inherit;
3003
+ font-family: inherit;
3004
+ opacity: 0.6; }
3005
+ .pp-search-form .pp-search-form-input::-moz-placeholder {
3006
+ color: inherit;
3007
+ font-family: inherit;
3008
+ opacity: 0.6; }
3009
+ .pp-search-form .pp-search-form-input::-ms-input-placeholder {
3010
+ color: inherit;
3011
+ font-family: inherit;
3012
+ opacity: 0.6; }
3013
+ .pp-search-form .pp-search-form-input::placeholder {
3014
+ color: inherit;
3015
+ font-family: inherit;
3016
+ opacity: 0.6; }
3017
+
3018
+ .pp-search-form-text .pp-search-form-submit {
3019
+ flex-shrink: 0; }
3020
+
3021
+ .pp-loader,
3022
+ .pp-posts-loader {
3023
+ width: 46px;
3024
+ height: 46px; }
3025
+
3026
+ .pp-loader {
3027
+ text-align: center;
3028
+ position: absolute;
3029
+ top: 50%;
3030
+ right: 50%;
3031
+ transform: translateX(50%) translateY(-50%);
3032
+ z-index: 2; }
3033
+
3034
+ .pp-posts-loader {
3035
+ display: none;
3036
+ margin-right: auto;
3037
+ margin-left: auto; }
3038
+
3039
+ .pp-loader:after,
3040
+ .pp-posts-loader:after {
3041
+ content: " ";
3042
+ display: block;
3043
+ width: 100%;
3044
+ height: 100%;
3045
+ margin: 1px;
3046
+ border-radius: 50%;
3047
+ border: 5px solid #fff;
3048
+ border-color: #000 transparent #000 transparent;
3049
+ -webkit-animation: pp-loader-dual-ring 1.2s linear infinite;
3050
+ animation: pp-loader-dual-ring 1.2s linear infinite; }
3051
+
3052
+ .pp-loader:after {
3053
+ width: 46px;
3054
+ height: 46px; }
3055
+
3056
+ @-webkit-keyframes pp-loader-dual-ring {
3057
+ 0% {
3058
+ transform: rotate(0deg); }
3059
+ 100% {
3060
+ transform: rotate(-360deg); } }
3061
+
3062
+ @keyframes pp-loader-dual-ring {
3063
+ 0% {
3064
+ transform: rotate(0deg); }
3065
+ 100% {
3066
+ transform: rotate(-360deg); } }
3067
+
3068
+ .pp-loader-overlay {
3069
+ background: rgba(255, 255, 255, 0.5);
3070
+ content: '';
3071
+ position: absolute;
3072
+ top: 0;
3073
+ right: 0;
3074
+ z-index: 1;
3075
+ height: 100%;
3076
+ width: 100%; }
3077
+
3078
  @media only screen and (min-width: 1025px) {
3079
  /* For Desktop: */
3080
  .elementor-element.elementor-grid-1 {
3129
  clear: right; } }
3130
 
3131
  @media (max-width: 1024px) {
3132
+ .pp-image-accordion-stack-on-tablet .pp-image-accordion {
3133
+ flex-direction: column; }
3134
+ .pp-image-accordion-stack-on-tablet .pp-image-accordion a:hover .pp-image-accordion-overlay {
3135
+ background-color: transparent; }
3136
+ .pp-image-accordion-stack-on-tablet .pp-image-accordion-item {
3137
+ margin-left: 0 !important; }
3138
  .pp-info-box-tablet-top .pp-info-box {
3139
  flex-direction: column; }
3140
  .pp-info-box-tablet-top .pp-info-box .pp-info-box-icon-wrap {
3242
  clear: right; } }
3243
 
3244
  @media only screen and (max-width: 767px) {
3245
+ .pp-image-accordion-stack-on-mobile .pp-image-accordion {
3246
+ flex-direction: column; }
3247
+ .pp-image-accordion-stack-on-mobile .pp-image-accordion a:hover .pp-image-accordion-overlay {
3248
+ background-color: transparent; }
3249
+ .pp-image-accordion-stack-on-mobile .pp-image-accordion-item {
3250
+ margin-left: 0 !important; }
3251
  .pp-info-box-mobile-top .pp-info-box {
3252
  flex-direction: column; }
3253
  .pp-info-box-mobile-top .pp-info-box .pp-info-box-icon-wrap {
assets/css/frontend.css CHANGED
@@ -2133,6 +2133,85 @@ div[class*=' pa-'] {
2133
  transition-property: all;
2134
  -webkit-transition-property: all; }
2135
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2136
  .pp-info-table-container .pp-info-table-link {
2137
  text-decoration: none !important; }
2138
 
@@ -2821,6 +2900,181 @@ div[class*=' pa-'] {
2821
  margin-right: 0;
2822
  width: 100%; }
2823
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2824
  @media only screen and (min-width: 1025px) {
2825
  /* For Desktop: */
2826
  .elementor-element.elementor-grid-1 {
@@ -2875,6 +3129,12 @@ div[class*=' pa-'] {
2875
  clear: left; } }
2876
 
2877
  @media (max-width: 1024px) {
 
 
 
 
 
 
2878
  .pp-info-box-tablet-top .pp-info-box {
2879
  flex-direction: column; }
2880
  .pp-info-box-tablet-top .pp-info-box .pp-info-box-icon-wrap {
@@ -2982,6 +3242,12 @@ div[class*=' pa-'] {
2982
  clear: left; } }
2983
 
2984
  @media only screen and (max-width: 767px) {
 
 
 
 
 
 
2985
  .pp-info-box-mobile-top .pp-info-box {
2986
  flex-direction: column; }
2987
  .pp-info-box-mobile-top .pp-info-box .pp-info-box-icon-wrap {
2133
  transition-property: all;
2134
  -webkit-transition-property: all; }
2135
 
2136
+ .pp-slider-arrow {
2137
+ align-items: center;
2138
+ justify-content: center;
2139
+ background-color: #fff;
2140
+ border-radius: 50%;
2141
+ color: #000;
2142
+ cursor: pointer;
2143
+ display: inline-flex;
2144
+ font-size: 22px;
2145
+ line-height: 22px;
2146
+ padding: 20px;
2147
+ position: absolute;
2148
+ top: 50%;
2149
+ width: 22px;
2150
+ height: 22px;
2151
+ transform: translateY(-50%);
2152
+ z-index: 1;
2153
+ transition: all 0.25s linear 0s; }
2154
+
2155
+ .pp-arrow-next {
2156
+ right: 20px; }
2157
+
2158
+ .pp-arrow-prev {
2159
+ left: 20px; }
2160
+
2161
+ [dir="rtl"] .pp-slick-slider .pp-arrow-next {
2162
+ left: 20px;
2163
+ right: auto; }
2164
+
2165
+ [dir="rtl"] .pp-slick-slider .pp-arrow-prev {
2166
+ left: auto;
2167
+ right: 20px; }
2168
+
2169
+ .pp-slick-slider:not(.slick-initialized) > * {
2170
+ display: none; }
2171
+
2172
+ .pp-slick-slider .slick-slide:focus {
2173
+ outline: 0; }
2174
+
2175
+ .pp-slick-slider .slick-dots {
2176
+ list-style: none;
2177
+ margin: 0;
2178
+ padding: 0;
2179
+ position: relative;
2180
+ text-align: center;
2181
+ width: 100%; }
2182
+
2183
+ .pp-slick-slider li {
2184
+ background: #ccc;
2185
+ border-radius: 50%;
2186
+ cursor: pointer;
2187
+ position: relative;
2188
+ display: inline-block;
2189
+ margin: 0 4px;
2190
+ padding: 0;
2191
+ vertical-align: middle;
2192
+ transition: 0.3s; }
2193
+ .pp-slick-slider li.slick-active {
2194
+ background: #000; }
2195
+ .pp-slick-slider li button {
2196
+ background: transparent;
2197
+ border: 0;
2198
+ box-shadow: none;
2199
+ color: transparent;
2200
+ display: block;
2201
+ font-size: 0;
2202
+ line-height: 0;
2203
+ width: 10px;
2204
+ height: 10px;
2205
+ padding: 0;
2206
+ outline: none;
2207
+ transition: 0.3s; }
2208
+
2209
+ .pp-slick-slider-dots-inside .slick-dots {
2210
+ position: absolute;
2211
+ bottom: 15px;
2212
+ left: 0;
2213
+ right: 0; }
2214
+
2215
  .pp-info-table-container .pp-info-table-link {
2216
  text-decoration: none !important; }
2217
 
2900
  margin-right: 0;
2901
  width: 100%; }
2902
 
2903
+ .pp-post {
2904
+ overflow: hidden; }
2905
+ .pp-post .pp-post-title {
2906
+ font-size: 26px; }
2907
+ .pp-post .pp-post-title a {
2908
+ color: inherit;
2909
+ font-family: inherit;
2910
+ font-size: inherit;
2911
+ font-style: inherit;
2912
+ font-weight: inherit;
2913
+ line-height: inherit; }
2914
+
2915
+ .pp-post-thumbnail {
2916
+ overflow: hidden; }
2917
+ .pp-post-thumbnail img {
2918
+ width: 100%;
2919
+ transition: all .25s linear; }
2920
+
2921
+ .pp-posts-thumbnail-ratio .pp-post-thumbnail-wrap {
2922
+ position: relative; }
2923
+ .pp-posts-thumbnail-ratio .pp-post-thumbnail-wrap img {
2924
+ position: absolute;
2925
+ -o-object-fit: cover;
2926
+ object-fit: cover;
2927
+ top: 0;
2928
+ right: 0;
2929
+ bottom: 0;
2930
+ left: 0;
2931
+ height: 100%; }
2932
+
2933
+ .pp-post-separator-wrap {
2934
+ margin-bottom: 15px; }
2935
+
2936
+ .pp-post-separator {
2937
+ background: #e6e6e6;
2938
+ height: 1px;
2939
+ width: 100%; }
2940
+
2941
+ .pp-post-terms {
2942
+ transition: all 0.25s linear 0s;
2943
+ display: inline-block; }
2944
+ .pp-post-terms a {
2945
+ color: inherit; }
2946
+
2947
+ .pp-equal-height-yes .pp-post {
2948
+ height: 100%; }
2949
+
2950
+ .pp-posts-pagination a,
2951
+ .pp-posts-pagination .page-numbers {
2952
+ display: inline-block; }
2953
+
2954
+ .pp-posts-infinite-scroll .pp-posts-pagination-wrap {
2955
+ display: none; }
2956
+
2957
+ .pp-search-form-container {
2958
+ display: flex;
2959
+ justify-content: flex-start; }
2960
+
2961
+ .pp-search-form {
2962
+ display: flex;
2963
+ transition: .2s;
2964
+ overflow: hidden;
2965
+ border: 0 solid transparent;
2966
+ margin-bottom: 20px;
2967
+ min-height: 50px;
2968
+ max-width: 400px;
2969
+ width: 100%; }
2970
+ .pp-search-form button,
2971
+ .pp-search-form input[type=search] {
2972
+ margin: 0;
2973
+ border: 0;
2974
+ padding: 0;
2975
+ display: inline-block;
2976
+ vertical-align: middle;
2977
+ white-space: normal;
2978
+ background: none;
2979
+ line-height: 1;
2980
+ min-width: 0;
2981
+ font-size: 15px;
2982
+ -webkit-appearance: none;
2983
+ -moz-appearance: none; }
2984
+ .pp-search-form button:focus,
2985
+ .pp-search-form input[type=search]:focus {
2986
+ outline: 0; }
2987
+ .pp-search-form input[type=search] {
2988
+ background: #eceeef;
2989
+ height: 100%;
2990
+ padding-left: 15px;
2991
+ padding-right: 15px;
2992
+ flex-basis: 100%;
2993
+ color: #55595c;
2994
+ transition: color .2s; }
2995
+ .pp-search-form button {
2996
+ background-color: #818a91;
2997
+ font-size: 16px;
2998
+ color: #fff;
2999
+ border-radius: 0;
3000
+ min-width: 50px; }
3001
+ .pp-search-form .pp-search-form-input:-ms-input-placeholder {
3002
+ color: inherit;
3003
+ font-family: inherit;
3004
+ opacity: 0.6; }
3005
+ .pp-search-form .pp-search-form-input::-moz-placeholder {
3006
+ color: inherit;
3007
+ font-family: inherit;
3008
+ opacity: 0.6; }
3009
+ .pp-search-form .pp-search-form-input::-ms-input-placeholder {
3010
+ color: inherit;
3011
+ font-family: inherit;
3012
+ opacity: 0.6; }
3013
+ .pp-search-form .pp-search-form-input::placeholder {
3014
+ color: inherit;
3015
+ font-family: inherit;
3016
+ opacity: 0.6; }
3017
+
3018
+ .pp-search-form-text .pp-search-form-submit {
3019
+ flex-shrink: 0; }
3020
+
3021
+ .pp-loader,
3022
+ .pp-posts-loader {
3023
+ width: 46px;
3024
+ height: 46px; }
3025
+
3026
+ .pp-loader {
3027
+ text-align: center;
3028
+ position: absolute;
3029
+ top: 50%;
3030
+ left: 50%;
3031
+ transform: translateX(-50%) translateY(-50%);
3032
+ z-index: 2; }
3033
+
3034
+ .pp-posts-loader {
3035
+ display: none;
3036
+ margin-left: auto;
3037
+ margin-right: auto; }
3038
+
3039
+ .pp-loader:after,
3040
+ .pp-posts-loader:after {
3041
+ content: " ";
3042
+ display: block;
3043
+ width: 100%;
3044
+ height: 100%;
3045
+ margin: 1px;
3046
+ border-radius: 50%;
3047
+ border: 5px solid #fff;
3048
+ border-color: #000 transparent #000 transparent;
3049
+ -webkit-animation: pp-loader-dual-ring 1.2s linear infinite;
3050
+ animation: pp-loader-dual-ring 1.2s linear infinite; }
3051
+
3052
+ .pp-loader:after {
3053
+ width: 46px;
3054
+ height: 46px; }
3055
+
3056
+ @-webkit-keyframes pp-loader-dual-ring {
3057
+ 0% {
3058
+ transform: rotate(0deg); }
3059
+ 100% {
3060
+ transform: rotate(360deg); } }
3061
+
3062
+ @keyframes pp-loader-dual-ring {
3063
+ 0% {
3064
+ transform: rotate(0deg); }
3065
+ 100% {
3066
+ transform: rotate(360deg); } }
3067
+
3068
+ .pp-loader-overlay {
3069
+ background: rgba(255, 255, 255, 0.5);
3070
+ content: '';
3071
+ position: absolute;
3072
+ top: 0;
3073
+ left: 0;
3074
+ z-index: 1;
3075
+ height: 100%;
3076
+ width: 100%; }
3077
+
3078
  @media only screen and (min-width: 1025px) {
3079
  /* For Desktop: */
3080
  .elementor-element.elementor-grid-1 {
3129
  clear: left; } }
3130
 
3131
  @media (max-width: 1024px) {
3132
+ .pp-image-accordion-stack-on-tablet .pp-image-accordion {
3133
+ flex-direction: column; }
3134
+ .pp-image-accordion-stack-on-tablet .pp-image-accordion a:hover .pp-image-accordion-overlay {
3135
+ background-color: transparent; }
3136
+ .pp-image-accordion-stack-on-tablet .pp-image-accordion-item {
3137
+ margin-right: 0 !important; }
3138
  .pp-info-box-tablet-top .pp-info-box {
3139
  flex-direction: column; }
3140
  .pp-info-box-tablet-top .pp-info-box .pp-info-box-icon-wrap {
3242
  clear: left; } }
3243
 
3244
  @media only screen and (max-width: 767px) {
3245
+ .pp-image-accordion-stack-on-mobile .pp-image-accordion {
3246
+ flex-direction: column; }
3247
+ .pp-image-accordion-stack-on-mobile .pp-image-accordion a:hover .pp-image-accordion-overlay {
3248
+ background-color: transparent; }
3249
+ .pp-image-accordion-stack-on-mobile .pp-image-accordion-item {
3250
+ margin-right: 0 !important; }
3251
  .pp-info-box-mobile-top .pp-info-box {
3252
  flex-direction: column; }
3253
  .pp-info-box-mobile-top .pp-info-box .pp-info-box-icon-wrap {
assets/css/min/editor.min.css CHANGED
@@ -1 +1 @@
1
- #elementor-panel-category-power-pack .icon{max-height:43px}.elementor-element{position:relative}.elementor-element [class*=power-pack-]:after{background:0 0;border-width:0 1px 1px 0;border-color:#e0e0e0;border-style:solid;color:#798389;content:"PP";font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;font-size:9px;position:absolute;top:0;left:0;z-index:1;padding:.2em .5em}#elementor-panel-elements-wrapper .elementor-element:hover .power-pack-admin-icon:after{background:#d30c5c;border-color:#d30c5c;color:#fff}.elementor-control-layout.elementor-control-type-choose.elementor-control-separator-none .elementor-control-input-wrapper{display:flex;border:1px solid #a4afb7;border-radius:2px;overflow:hidden}.elementor-control-layout.elementor-control-type-choose.elementor-control-separator-none .elementor-control-input-wrapper .elementor-choices{display:flex;height:auto;flex-wrap:wrap;align-items:stretch;background:#fff;margin-bottom:-1px}.elementor-control-layout.elementor-control-type-choose.elementor-control-separator-none .elementor-control-input-wrapper .elementor-choices .elementor-choices-label{border-right:1px solid #a4afb7;border-bottom:1px solid #a4afb7;border-radius:0;box-sizing:border-box;font-size:25px;padding:7px 0;width:33.33333%}.elementor-control-layout.elementor-control-type-choose.elementor-control-separator-none .elementor-control-input-wrapper .elementor-choices .elementor-choices-label:nth-of-type(3n){border-right:none}.elementor-control-layout.elementor-control-type-choose.elementor-control-separator-none .elementor-control-input-wrapper .elementor-choices input:checked+.elementor-choices-label{background:#a4afb7}.elementor-control-type-pp-query .elementor-control-input-wrapper{width:135px}.elementor-panel .elementor-control-section_upgrade_powerpack .elementor-panel-heading-title.elementor-panel-heading-title,.elementor-panel .elementor-control-section_upgrade_powerpack .elementor-panel-heading-toggle{color:#d30c5c}.elementor-panel .elementor-control-upgrade_powerpack_notice .upgrade-powerpack-notice{background-color:#fcfcfc;border-color:#d30c5c;line-height:1.8}.elementor-panel .elementor-control-upgrade_powerpack_notice .upgrade-powerpack-notice a{border-bottom-style:dotted;border-bottom-width:1px;border-bottom-color:inherit}.pp-editor-info{background-color:#fcf8e3;border:1px solid #faebcc;color:#8a6d3b;font-size:12px;line-height:1.3;padding:10px}.pp-editor-doc-links{font-size:12px}.pp-editor-doc-links a{color:#6d7882;display:inline-block;line-height:1.2;padding-left:10px;position:relative}.pp-editor-doc-links a:before{content:'»';position:absolute;left:0;top:0}.pp-editor-placeholder{background:#f5f5f5;border:1px solid #ddd;padding:15px;text-align:center}.pp-editor-placeholder-title{color:#222;font-size:18px;line-height:1.4;margin-bottom:10px}.pp-editor-placeholder-content{color:#666;font-size:12px}
1
+ #elementor-panel-category-power-pack .icon{max-height:43px}.elementor-element{position:relative}.elementor-element [class*=power-pack-]:after{background:0 0;border-width:0 1px 1px 0;border-color:#e0e0e0;border-style:solid;color:#798389;content:"PP";font-family:Roboto,Arial,Helvetica,Verdana,sans-serif;font-size:9px;position:absolute;top:0;left:0;z-index:1;padding:.2em .5em}#elementor-panel-elements-wrapper .elementor-element:hover .power-pack-admin-icon:after{background:#d30c5c;border-color:#d30c5c;color:#fff}.elementor-control-layout.elementor-control-type-choose.elementor-control-separator-none .elementor-control-input-wrapper{display:flex;border:1px solid #a4afb7;border-radius:2px;overflow:hidden}.elementor-control-layout.elementor-control-type-choose.elementor-control-separator-none .elementor-control-input-wrapper .elementor-choices{display:flex;height:auto;flex-wrap:wrap;align-items:stretch;background:#fff;margin-bottom:-1px}.elementor-control-layout.elementor-control-type-choose.elementor-control-separator-none .elementor-control-input-wrapper .elementor-choices .elementor-choices-label{border-right:1px solid #a4afb7;border-bottom:1px solid #a4afb7;border-radius:0;box-sizing:border-box;font-size:25px;padding:7px 0;width:33.33333%}.elementor-control-layout.elementor-control-type-choose.elementor-control-separator-none .elementor-control-input-wrapper .elementor-choices .elementor-choices-label:nth-of-type(3n){border-right:none}.elementor-control-layout.elementor-control-type-choose.elementor-control-separator-none .elementor-control-input-wrapper .elementor-choices input:checked+.elementor-choices-label{background:#a4afb7}.elementor-control-type-pp-query .elementor-control-input-wrapper{width:135px}.elementor-panel div[class*=section_upgrade_powerpack] .elementor-panel-heading-title.elementor-panel-heading-title,.elementor-panel div[class*=section_upgrade_powerpack] .elementor-panel-heading-toggle{color:#d30c5c}.elementor-panel .elementor-control-upgrade_powerpack_notice .upgrade-powerpack-notice{background-color:#fcfcfc;border-color:#d30c5c;line-height:1.8}.elementor-panel .upgrade-powerpack-notice a{border-bottom-style:dotted;border-bottom-width:1px;border-bottom-color:inherit}.pp-editor-info{background-color:#fcf8e3;border:1px solid #faebcc;color:#8a6d3b;font-size:12px;line-height:1.3;padding:10px}.pp-editor-doc-links{font-size:12px}.pp-editor-doc-links a{color:#6d7882;display:inline-block;line-height:1.2;padding-left:10px;position:relative}.pp-editor-doc-links a:before{content:'»';position:absolute;left:0;top:0}.pp-editor-placeholder{background:#f5f5f5;border:1px solid #ddd;padding:15px;text-align:center}.pp-editor-placeholder-title{color:#222;font-size:18px;line-height:1.4;margin-bottom:10px}.pp-editor-placeholder-content{color:#666;font-size:12px}
assets/css/min/frontend-rtl.min.css CHANGED
@@ -1,4 +1,4 @@
1
- div[class*=' pa-'],div[class^=pa-]{box-sizing:border-box}.clearfix:after{clear:both;content:"";font-size:0;height:0;display:block;visibility:hidden}.pp-icon{display:inline-block;line-height:1;text-align:center;transition:all .3s}.pp-icon i,.pp-icon svg{width:1em;height:1em;position:relative;display:block}.pp-no-trans{transition:none}.pp-elementor-grid{display:flex;flex-wrap:wrap;position:relative}.pp-elementor-grid .pp-grid-item{transition:all .25s linear 0s;position:relative}.pp-elementor-grid .pp-grid-item-wrap{float:right;margin-bottom:0;margin-right:0;text-align:center;transition:all .2s cubic-bezier(.645,.045,.355,1)}.pp-contact-form input[type=date],.pp-contact-form input[type=email],.pp-contact-form input[type=number],.pp-contact-form input[type=tel],.pp-contact-form input[type=text],.pp-contact-form input[type=url],.pp-contact-form textarea{background:#fff;box-shadow:none;-webkit-box-shadow:none;float:none;height:auto;margin:0;outline:0;width:auto}.pp-contact-form input[type=submit]{border:0;float:none;height:auto;margin:0;padding:10px 20px;width:auto}.pp-contact-form input[type=button],.pp-contact-form input[type=submit]{transition:all .25s linear 0s}.pp-contact-form.placeholder-hide input::-webkit-input-placeholder,.pp-contact-form.placeholder-hide textarea::-webkit-input-placeholder{opacity:0;visibility:hidden}.pp-contact-form.placeholder-hide input::-moz-placeholder,.pp-contact-form.placeholder-hide textarea::-moz-placeholder{opacity:0;visibility:hidden}.pp-contact-form.placeholder-hide input:-ms-input-placeholder,.pp-contact-form.placeholder-hide textarea:-ms-input-placeholder{opacity:0;visibility:hidden}.pp-contact-form.placeholder-hide input:-moz-placeholder,.pp-contact-form.placeholder-hide textarea:-moz-placeholder{opacity:0;visibility:hidden}.pp-custom-radio-checkbox input[type=checkbox],.pp-custom-radio-checkbox input[type=radio]{-webkit-appearance:none;-moz-appearance:none;border-style:solid;border-width:0;outline:0;min-width:1px;width:15px;height:15px;background:#ddd;padding:3px}.pp-custom-radio-checkbox input[type=checkbox]:before,.pp-custom-radio-checkbox input[type=radio]:before{content:"";width:100%;height:100%;padding:0;margin:0;display:block}.pp-custom-radio-checkbox input[type=checkbox]:checked:before,.pp-custom-radio-checkbox input[type=radio]:checked:before{background:#999;transition:all .25s linear 0s}.pp-custom-radio-checkbox input[type=radio]{border-radius:50%}.pp-custom-radio-checkbox input[type=radio]:before{border-radius:50%}.pp-divider-wrap{font-size:0;line-height:0}.pp-divider{text-align:center}.pp-divider-left .divider-border-left{display:none}.pp-divider-right .divider-border-right{display:none}.pp-divider-horizontal{border:0;border-color:#000;border-bottom-width:4px;border-top-width:0;display:inline-block;width:80px;height:0;border-style:dashed}.pp-divider-vertical{border:0;display:inline-block;border-right:2px solid #000;padding-bottom:50px}.divider-text-container{display:inline-block;max-width:100%}.divider-text-wrap{display:flex;align-items:center;margin:0 auto}.pp-divider-text{font-size:16px;line-height:1.4}.pp-divider-border-wrap{flex:1 1 auto}.divider-border{border:0;height:1px;border-top:1px solid #000;display:block;width:100%}.pp-divider-content{display:inherit;flex:0 1 auto;margin:0 20px}.pp-dual-heading .pp-first-text,.pp-dual-heading .pp-second-text{display:inline-block}.pp-counter{display:inline-block}.pp-counter-icon,.pp-counter-icon-divider,.pp-counter-icon-wrap,.pp-counter-num-divider{display:inline-block}.pp-counter-icon{line-height:1}.pp-counter-layout-3 .pp-icon-title-wrap,.pp-counter-layout-3-number-wrap,.pp-counter-layout-4 .pp-icon-title-wrap,.pp-counter-layout-4-number-wrap{display:flex;align-items:center;justify-content:center}.pp-counter-layout-5,.pp-counter-layout-6{display:flex;align-items:center;justify-content:center}.pp-counter-layout-6 .pp-counter-icon-wrap{order:2}.pp-counter-layout-7,.pp-counter-layout-8{display:inline-flex;align-items:center;justify-content:center}.pp-counter-layout-7 .pp-icon-title-wrap,.pp-counter-layout-8 .pp-icon-title-wrap{display:inline-flex;flex-direction:column;align-items:flex-start}.pp-counter-layout-7 .pp-counter-title-wrap,.pp-counter-layout-8 .pp-counter-title-wrap{text-align:right}.pp-counter-layout-8{flex-direction:row-reverse}.pp-counter-layout-8 .pp-icon-title-wrap{align-items:flex-end}.pp-counter-layout-8 .pp-counter-title-wrap{text-align:left}.pp-counter .pp-icon-title-wrap .pp-counter-title{display:inline-block}.pp-counter .pp-icon-number-wrap .pp-counter-number-wrap{display:inline-block}.pp-business-hours .pp-business-day,.pp-business-hours .pp-business-timing{float:right;width:50%}.pp-business-hours .pp-business-timing{text-align:left}.pp-list-container .pp-icon-wrapper{line-height:1;transition:all .25s linear 0s}.pp-list-container .pp-icon-wrapper.icon-right{order:2}.pp-list-container .pp-icon-list-icon{display:inline-block;text-align:center}.pp-list-container .pp-list-items{list-style:none;margin:0;padding:0}.pp-list-container .pp-list-items li{margin:0;padding:0;position:relative;align-items:center;display:flex}.pp-list-container .pp-list-items li:after{bottom:0;display:block;position:absolute;margin-bottom:-5px}.pp-list-container .pp-list-items .fa{text-align:center}.pp-list-container .pp-list-items a{display:inherit;align-items:center}.pp-list-items.pp-inline-items{display:flex;flex-wrap:wrap}.pp-list-items.pp-inline-items li:not(:last-child){margin-left:8px}.pp-info-box-container{display:block;transition:all .25s linear 0s}.pp-info-box .pp-info-box-icon{display:inline-block;line-height:1;max-width:100%}.pp-info-box .pp-info-box-icon .fa{transition:all .25s linear 0s;width:1em;height:1em}.pp-info-box .pp-info-box-content{flex-grow:1}.pp-info-box-divider-wrap{font-size:0;line-height:0}.pp-info-box-divider{display:inline-block}.pp-info-box-left .pp-info-box{display:flex;flex-direction:row}.pp-info-box-left .pp-info-box .pp-info-box-icon-wrap{display:flex;margin-left:20px}.pp-info-box-left .pp-info-box .pp-info-box-icon,.pp-info-box-left .pp-info-box img{width:100%}.pp-info-box-right .pp-info-box{display:flex;flex-direction:row-reverse}.pp-info-box-right .pp-info-box .pp-info-box-icon-wrap{display:flex;margin-right:20px}.pp-info-box-right .pp-info-box .pp-info-box-icon,.pp-info-box-right .pp-info-box img{width:100%}.pp-info-box-carousel .pp-info-box-content-wrap{overflow:hidden}.pp-info-list-container{overflow:hidden}.pp-info-list-container li{overflow:hidden;position:relative}.pp-info-list-container li:last-child{overflow:hidden}.pp-info-list-container .pp-info-list-item-inner{align-items:center;display:flex}.pp-info-list-container .pp-infolist-icon-wrapper{background:#f5f5f5;display:inline-flex;justify-content:center;align-items:center;flex-shrink:0;position:relative}.pp-info-list-container .pp-info-list-number{text-align:center}.pp-info-list-container .pp-info-list-item:last-child{margin-bottom:0!important}.pp-info-list-container .pp-list-items a{color:inherit}.pp-info-list-icon-left.pp-info-list-icon-vertical-middle .pp-info-list-item-inner,.pp-info-list-icon-right.pp-info-list-icon-vertical-middle .pp-info-list-item-inner{align-items:center}.pp-info-list-icon-left.pp-info-list-icon-vertical-top .pp-info-list-item-inner,.pp-info-list-icon-right.pp-info-list-icon-vertical-top .pp-info-list-item-inner{align-items:flex-start}.pp-info-list-icon-left.pp-info-list-icon-vertical-top .pp-info-list-item:first-child .pp-infolist-icon-wrapper:before,.pp-info-list-icon-right.pp-info-list-icon-vertical-top .pp-info-list-item:first-child .pp-infolist-icon-wrapper:before{display:none}.pp-info-list-icon-left.pp-info-list-icon-vertical-bottom .pp-info-list-item-inner,.pp-info-list-icon-right.pp-info-list-icon-vertical-bottom .pp-info-list-item-inner{align-items:flex-end}.pp-info-list-icon-left.pp-info-list-icon-vertical-bottom .pp-info-list-item:last-child .pp-infolist-icon-wrapper:after,.pp-info-list-icon-right.pp-info-list-icon-vertical-bottom .pp-info-list-item:last-child .pp-infolist-icon-wrapper:after{display:none}.pp-info-list-icon-top.pp-info-list-icon-horizontal-center .pp-info-list-item-inner{align-items:center}.pp-info-list-icon-top.pp-info-list-icon-horizontal-left .pp-info-list-item-inner{align-items:flex-start}.pp-info-list-icon-top.pp-info-list-icon-horizontal-left .pp-info-list-item:first-child .pp-infolist-icon-wrapper:before{display:none}.pp-info-list-icon-top.pp-info-list-icon-horizontal-right .pp-info-list-item-inner{align-items:flex-end}.pp-info-list-icon-top.pp-info-list-icon-horizontal-right .pp-info-list-item:last-child .pp-infolist-icon-wrapper:after{display:none}.pp-info-list-icon-left .pp-infolist-icon-wrapper{margin-left:10px}.pp-info-list-icon-left .pp-info-list-connector .pp-infolist-icon-wrapper:before{content:'';border-left:1px solid #000;height:1500px;bottom:14px;right:calc(7px - (1px/2));position:absolute;width:1px}.pp-info-list-icon-left .pp-info-list-connector .pp-infolist-icon-wrapper:after{content:'';border-left:1px solid #000;height:1500px;top:14px;right:calc(7px - (1px/2));position:absolute;width:1px}.pp-info-list-icon-right .pp-info-list-item{justify-content:flex-end;text-align:left}.pp-info-list-icon-right .pp-infolist-icon-wrapper{margin-right:10px;order:2}.pp-info-list-icon-right .pp-info-list-connector .pp-infolist-icon-wrapper:before{content:'';border-right:1px solid #000;height:1500px;bottom:14px;left:calc(7px - (1px/2));position:absolute;width:1px}.pp-info-list-icon-right .pp-info-list-connector .pp-infolist-icon-wrapper:after{content:'';border-right:1px solid #000;height:1500px;top:14px;left:calc(7px - (1px/2));position:absolute;width:1px}.pp-info-list-connector.pp-info-list-corners-hide .pp-info-list-item:first-child .pp-infolist-icon-wrapper:before{display:none}.pp-info-list-connector.pp-info-list-corners-hide .pp-info-list-item:last-child .pp-infolist-icon-wrapper:after{display:none}.pp-info-list-icon-top .pp-list-items{display:flex;justify-content:center}.pp-info-list-icon-top .pp-list-items .pp-info-list-item{display:inline-block;flex-grow:1;flex-basis:0;text-align:center}.pp-info-list-icon-top .pp-list-items .pp-info-list-item:last-child{margin-left:0!important}.pp-info-list-icon-top .pp-infolist-icon-wrapper{margin-bottom:10px;vertical-align:top}.pp-info-list-icon-top .pp-info-list-connector .pp-infolist-icon-wrapper:before{content:'';border-top:1px solid #000;height:1px;top:calc(7px - (1px/2));right:auto;left:14px;position:absolute;width:1500px}.pp-info-list-icon-top .pp-info-list-connector .pp-infolist-icon-wrapper:after{content:'';border-top:1px solid #000;height:1px;right:14px;top:calc(7px - (1px/2));left:auto;position:absolute;width:1500px}.pp-info-list-icon-top .pp-info-list-item-inner{flex-direction:column}.pp-infolist-icon-wrapper{line-height:1;position:relative;z-index:1}.pp-info-list-item .pp-info-list-button{display:flex}.pp-info-list-item .pp-info-list-button .pp-button-icon{margin-left:10px}.pp-info-list-item .pp-info-list-button-icon-after .pp-button-icon{margin-right:10px;margin-left:0;order:2}.pp-link{display:inline-block;position:relative}.pp-link-effect-1:after{background:#000;position:absolute;bottom:-4px;content:'';height:1px;right:0;opacity:0;transform:translateY(10px);transition:height .25s,opacity .25s,transform .25s;width:100%}.pp-link-effect-1:hover:after{height:4px;opacity:1;transform:translateY(0)}.pp-link-effect-2:after{background:#000;position:absolute;bottom:-4px;content:'';height:1px;right:0;opacity:0;transform:translateY(0);transition:height .25s,opacity .25s,transform .25s;width:100%}.pp-link-effect-2:hover:after{height:4px;opacity:1;transform:translateY(10px)}.pp-link-effect-3:after,.pp-link-effect-3:before{display:inline-block;opacity:0;transition:transform .3s,opacity .2s}.pp-link-effect-3:before{margin-left:10px;content:'[';transform:translateX(-20px)}.pp-link-effect-3:after{margin-right:10px;content:']';transform:translateX(20px)}.pp-link-effect-3:focus:after,.pp-link-effect-3:focus:before,.pp-link-effect-3:hover:after,.pp-link-effect-3:hover:before{opacity:1;transform:translateX(0)}.pp-link-effect-4{perspective:1000px}.pp-link-effect-4 span{position:relative;display:inline-block;padding:0 14px;background:#2195de;transition:transform .3s;transform-origin:50% 0;transform-style:preserve-3d}.pp-link-effect-4 span:before{position:absolute;top:100%;right:0;width:100%;height:100%;background:#0965a0;text-align:center;content:attr(data-hover);transition:background .3s;transform:rotateX(-90deg);transform-origin:50% 0}.pp-link-effect-4:focus span,.pp-link-effect-4:hover span{transform:rotateX(90deg) translateY(-22px)}.pp-link-effect-4:focus span:before,.pp-link-effect-4:hover span:before{background:#28a2ee}.pp-link-effect-5{display:inline-block;overflow:hidden;padding:0 4px}.pp-link-effect-5 span{position:relative;display:inline-block;transition:transform .3s}.pp-link-effect-5 span:before{position:absolute;top:100%;content:attr(data-hover);font-weight:700;transform:translate3d(0,0,0)}.pp-link-effect-5:focus span,.pp-link-effect-5:hover span{transform:translateY(-100%)}.pp-link-effect-6{margin:0 10px;padding:10px 20px}.pp-link-effect-6:before{position:absolute;top:0;right:0;width:100%;height:2px;background:#fff;content:'';transition:top .3s}.pp-link-effect-6:after{position:absolute;top:0;right:0;width:2px;height:2px;background:#fff;content:'';transition:height .3s}.pp-link-effect-6:hover::before{top:100%;opacity:1}.pp-link-effect-6:hover::after{height:100%}.pp-link-effect-7{padding:12px 10px 10px;color:#566473;text-shadow:none;font-weight:700}.pp-link-effect-7:after,.pp-link-effect-7:before{position:absolute;top:100%;right:0;width:100%;height:3px;background:#566473;content:'';transition:transform .3s;transform:scale(.85)}.pp-link-effect-7:after{opacity:0;transition:top .3s,opacity .3s,transform .3s}.pp-link-effect-7:focus::after,.pp-link-effect-7:focus::before,.pp-link-effect-7:hover::after,.pp-link-effect-7:hover::before{transform:scale(1)}.pp-link-effect-7:focus::after,.pp-link-effect-7:hover::after{top:0;opacity:1}.pp-link-effect-8{padding:10px 20px}.pp-link-effect-8:after,.pp-link-effect-8:before{position:absolute;top:0;right:0;width:100%;height:100%;border:3px solid #354856;content:'';transition:transform .3s,opacity .3s}.pp-link-effect-8:after{border-color:#fff;opacity:0;transform:translateY(-7px) translateX(-6px)}.pp-link-effect-8:focus:before,.pp-link-effect-8:hover:before{opacity:0;transform:translateY(5px) translateX(5px)}.pp-link-effect-8:focus:after,.pp-link-effect-8:hover:after{opacity:1;transform:translateY(0) translateX(0)}.pp-link-effect-9{display:inline-block;margin:0 20px;padding:18px 20px}.pp-link-effect-9:after,.pp-link-effect-9:before{position:absolute;top:0;right:0;width:100%;height:1px;background:#fff;content:'';opacity:.2;transition:opacity .3s,height .3s}.pp-link-effect-9:after{top:100%;opacity:0;transition:transform .3s,opacity .3s;transform:translateY(-10px)}.pp-link-effect-9 span:first-child{z-index:2;display:block;font-weight:300}.pp-link-effect-9 span:last-child{z-index:1;display:block;padding:8px 0 0 0;color:rgba(0,0,0,.4);text-shadow:none;text-transform:none;font-style:italic;font-size:.75em;font-family:Palatino,"Palatino Linotype","Palatino LT STD","Book Antiqua",Georgia,serif;opacity:0;transition:transform .3s,opacity .3s;transform:translateY(-100%)}.pp-link-effect-9:focus:before,.pp-link-effect-9:hover:before{height:6px}.pp-link-effect-9:focus:after,.pp-link-effect-9:focus:before,.pp-link-effect-9:hover:after,.pp-link-effect-9:hover:before{opacity:1;transform:translateY(0)}.pp-link-effect-9:focus span:last-child,.pp-link-effect-9:hover span:last-child{opacity:1;transform:translateY(0)}.pp-link-effect-10{display:inline-block;overflow:hidden;margin:0 15px}.pp-link-effect-10 span{display:block;background:#0f7c67;padding:8px 20px;transition:transform .3s}.pp-link-effect-10:before{position:absolute;top:0;right:0;z-index:-1;width:100%;height:100%;background:#fff;color:#0f7c67;content:attr(data-hover);padding:8px 20px;transition:transform .3s;-webkit-transform:translateX(50%)}.pp-link-effect-10:focus span,.pp-link-effect-10:hover span{transform:translateX(-100%)}.pp-link-effect-10:focus:before,.pp-link-effect-10:hover:before{transform:translateX(0);z-index:1}.pp-link-effect-11{padding:10px 0;border-top:2px solid #0972b4;color:#0972b4;text-shadow:none}.pp-link-effect-11:before{position:absolute;top:0;right:0;overflow:hidden;padding:10px 0;max-width:0;border-bottom:2px solid #fff;color:#fff;content:attr(data-hover);transition:max-width .5s}.pp-link-effect-11:focus:before,.pp-link-effect-11:hover:before{max-width:100%}.pp-link-effect-12:after,.pp-link-effect-12:before{position:absolute;top:50%;right:50%;width:100px;height:100px;border:2px solid rgba(0,0,0,.1);border-radius:50%;content:'';opacity:0;transition:transform .3s,opacity .3s;transform:translateX(50%) translateY(-50%) scale(.2)}.pp-link-effect-12:after{width:90px;height:90px;border-width:6px;transform:translateX(50%) translateY(-50%) scale(.8)}.pp-link-effect-12:focus:after,.pp-link-effect-12:focus:before,.pp-link-effect-12:hover:after,.pp-link-effect-12:hover:before{opacity:1;transform:translateX(50%) translateY(-50%) scale(1)}.pp-link-effect-13{display:inline-block;transition:color .3s}.pp-link-effect-13:before{position:absolute;top:100%;right:50%;color:transparent;content:'\2022';text-shadow:0 0 transparent;font-size:1.2em;transition:text-shadow .3s,color .3s;transform:translateX(50%);pointer-events:none}.pp-link-effect-13:focus:before,.pp-link-effect-13:hover:before{color:#fff;text-shadow:-10px 0 #fff,10px 0 #fff}.pp-link-effect-13:focus,.pp-link-effect-13:hover{color:#ba7700}.pp-link-effect-14{display:inline-block;padding:0 20px;height:45px;line-height:45px}.pp-link-effect-14:after,.pp-link-effect-14:before{position:absolute;width:45px;height:2px;background:#fff;content:'';transition:all .3s;pointer-events:none}.pp-link-effect-14:before{top:0;right:0;transform:rotate(-90deg);transform-origin:100% 0}.pp-link-effect-14:after{left:0;bottom:0;transform:rotate(-90deg);transform-origin:0 0}.pp-link-effect-14:focus:after,.pp-link-effect-14:focus:before,.pp-link-effect-14:hover:after,.pp-link-effect-14:hover:before{opacity:1}.pp-link-effect-14:focus:before,.pp-link-effect-14:hover:before{right:50%;transform:rotate(0) translateX(50%)}.pp-link-effect-14:focus:after,.pp-link-effect-14:hover:after{left:50%;transform:rotate(0) translateX(-50%)}.pp-link-effect-15{display:inline-block;color:rgba(0,0,0,.2);font-weight:700;text-shadow:none}.pp-link-effect-15:before{color:#fff;content:attr(data-hover);position:absolute;transition:transform .3s,opacity .3s}.pp-link-effect-15:focus:before,.pp-link-effect-15:hover:before{transform:scale(.9);opacity:0}.pp-link-effect-16{display:inline-block;color:#6f8686;text-shadow:0 0 1px rgba(111,134,134,.3)}.pp-link-effect-16:before{color:#fff;content:attr(data-hover);position:absolute;opacity:0;text-shadow:0 0 1px rgba(255,255,255,.3);transform:scale(1.1) translateX(-10px) translateY(-10px) rotate(-4deg);transition:transform .3s,opacity .3s;pointer-events:none}.pp-link-effect-16:focus:before,.pp-link-effect-16:hover:before{transform:scale(1) translateX(0) translateY(0) rotate(0);opacity:1}.pp-link-effect-17{display:inline-block;color:#10649b;text-shadow:none;padding:10px 0}.pp-link-effect-17:before{color:#fff;text-shadow:0 0 1px rgba(255,255,255,.3);content:attr(data-hover);position:absolute;transition:transform .3s,opacity .3s;pointer-events:none}.pp-link-effect-17:after{content:'';position:absolute;right:0;bottom:0;width:100%;height:2px;background:#fff;opacity:0;transform:translateY(5px);transition:transform .3s,opacity .3s;pointer-events:none}.pp-link-effect-17:focus:before,.pp-link-effect-17:hover:before{opacity:0;transform:translateY(-2px)}.pp-link-effect-17:focus:after,.pp-link-effect-17:hover:after{opacity:1;transform:translateY(0)}.pp-link-effect-18{display:inline-block;position:relative;z-index:1;padding:0 5px;color:#000;font-weight:700;transition:color .3s}.pp-link-effect-18:after,.pp-link-effect-18:before{position:absolute;width:100%;right:0;top:50%;height:2px;margin-top:-1px;background:#000;content:'';z-index:-1;transition:transform .3s,opacity .3s;pointer-events:none}.pp-link-effect-18:before{transform:translateY(-20px)}.pp-link-effect-18:after{transform:translateY(20px)}.pp-link-effect-18:focus,.pp-link-effect-18:hover{color:#000}.pp-link-effect-18:focus:after,.pp-link-effect-18:focus:before,.pp-link-effect-18:hover:after,.pp-link-effect-18:hover:before{opacity:.7}.pp-link-effect-18:focus:before,.pp-link-effect-18:hover:before{transform:rotate(-45deg)}.pp-link-effect-18:focus:after,.pp-link-effect-18:hover:after{transform:rotate(45deg)}.pp-link-effect-19{display:inline-block;line-height:2em;perspective:800px;width:200px}.pp-link-effect-19 span{position:relative;display:inline-block;width:100%;padding:0 14px;background:#e35041;transition:transform .4s,background .4s;transform-style:preserve-3d;transform-origin:50% 50% -100px}.pp-link-effect-19 span:before{position:absolute;top:0;right:100%;width:100%;height:100%;background:#b53a2d;content:attr(data-hover);transition:background .4s;transform:rotateY(90deg);transform-origin:100% 50%;pointer-events:none}.pp-link-effect-19:focus span,.pp-link-effect-19:hover span{background:#b53a2d;transform:rotateY(-90deg)}.pp-link-effect-19:focus span:before,.pp-link-effect-19:hover span:before{background:#ef5e50}.pp-link-effect-20{display:inline-block;line-height:2em;perspective:800px}.pp-link-effect-20 span{position:relative;display:inline-block;text-align:center;padding:3px 15px 0;background:#587285;box-shadow:inset 0 3px #2f4351;transition:background .6s;transform-origin:50% 0;transform-style:preserve-3d;transform-origin:100% 50%}.pp-link-effect-20 span:before{position:absolute;top:0;right:0;width:100%;height:100%;background:#fff;color:#2f4351;content:attr(data-hover);transform:rotateX(270deg);transition:transform .6s;transform-origin:100% 0;pointer-events:none}.pp-link-effect-20:focus span,.pp-link-effect-20:hover span{background:#2f4351}.pp-link-effect-20:focus span::before,.pp-link-effect-20:hover span::before{transform:rotateX(10deg)}.pp-link-effect-21{display:inline-block;padding:10px;color:#237546;font-weight:700;text-shadow:none;transition:color .3s}.pp-link-effect-21:after,.pp-link-effect-21:before{position:absolute;right:0;width:100%;height:2px;background:#fff;content:'';opacity:0;transition:opacity .3s,transform .3s;transform:translateY(-10px)}.pp-link-effect-21:before{top:0;transform:translateY(-10px)}.pp-link-effect-21:after{bottom:0;transform:translateY(10px)}.pp-link-effect-21:focus,.pp-link-effect-21:hover{color:#fff}.pp-link-effect-21:focus:after,.pp-link-effect-21:focus:before,.pp-link-effect-21:hover:after,.pp-link-effect-21:hover:before{opacity:1;transform:translateY(0)}.pp-pricing-table{overflow:hidden;text-align:center;transition:all .25s linear 0s}.pp-pricing-table-container{position:relative}.pp-pricing-table.horizontal-table{display:flex}.pp-pricing-table.horizontal-table .pp-pricing-table-features,.pp-pricing-table.horizontal-table .pp-pricing-table-footer,.pp-pricing-table.horizontal-table .pp-pricing-table-head{flex:1}.pp-pricing-table-align-left .pp-pricing-table{text-align:right}.pp-pricing-table-align-left .pp-pricing-table-price{justify-content:flex-start}.pp-pricing-table-align-right .pp-pricing-table{text-align:left}.pp-pricing-table-align-right .pp-pricing-table-price{justify-content:flex-end}.pp-pricing-table-head{background:#7a7a7a;padding:30px}.pp-pricing-table .pp-pricing-table-icon{display:inline-block}.pp-pricing-table .pp-pricing-table-title-wrap .pp-pricing-table-title{margin-bottom:0}.pp-pricing-table .pp-pricing-table-title-wrap .pp-pricing-table-subtitle{margin-bottom:0}.pp-pricing-table .pp-pricing-table-price{font-size:40px;margin-right:auto;margin-left:auto;padding:30px}.pp-pricing-table-price-value{display:flex}.pp-pricing-table-after-part{font-size:.4em;line-height:1;align-self:flex-start}.pp-pricing-table .pp-pricing-table-features{list-style:none;margin:0;padding:0}.pp-pricing-table .pp-pricing-table-features li{margin:0;padding:0}.pp-pricing-table .pp-pricing-table-features li:last-child{border-bottom:0}.pp-pricing-table .pp-pricing-table-features .excluded{text-decoration:line-through}.pp-pricing-table .pp-pricing-table-price-duration,.pp-pricing-table .pp-pricing-table-price-prefix{font-size:.4em;line-height:1;text-align:right}.pp-pricing-table .pp-pricing-table-price-prefix{align-self:flex-start}.pp-pricing-table .pp-pricing-table-price-duration{align-self:flex-end}.pp-pricing-table-price-duration-wrap .pp-pricing-table-price{flex-wrap:wrap}.pp-pricing-table-price-duration-wrap .pp-pricing-table-price-duration{text-align:center;width:100%}.pp-pricing-table .pp-pricing-table-price-value{line-height:.9}.pp-pricing-table-price,.pp-pricing-table-price-wrap{display:flex;justify-content:center;align-items:center;width:100%}.pp-pricing-table-price-original{display:inline-flex;font-size:.5em;line-height:1;align-self:flex-end;text-decoration:line-through}.pp-pricing-table-ribbon{color:#fff;font-size:13px;font-weight:700;position:absolute;text-align:center;text-transform:uppercase;top:0;z-index:2}.pp-pricing-table-ribbon-inner{background:#61ce70}.pp-pricing-table-ribbon-1{position:absolute;top:0;width:150px;overflow:hidden;height:150px}.pp-pricing-table-ribbon-1.pp-pricing-table-ribbon-right{right:auto;left:0;transform:rotate(-90deg)}.pp-pricing-table-ribbon-1.pp-pricing-table-ribbon-left{right:0;left:auto;transform:rotate(0)}.pp-pricing-table-ribbon-1 .pp-pricing-table-ribbon-inner{text-align:center;right:0;width:200%;transform:translateY(-50%) translateX(50%) translateX(-35px) rotate(45deg);margin-top:35px;line-height:2}.pp-pricing-table-ribbon-2{border-radius:50%;line-height:4em;min-height:4em;min-width:4em}.pp-pricing-table-ribbon-2 .pp-pricing-table-ribbon-inner{background:#61ce70;border-radius:50%}.pp-pricing-table-ribbon-2.pp-pricing-table-ribbon-right{transform:translateX(-38%) translateY(-38%)}.pp-pricing-table-ribbon-2.pp-pricing-table-ribbon-left{transform:translateX(38%) translateY(-38%)}.pp-pricing-table-ribbon-right{left:0}.pp-pricing-table-ribbon-left{right:0}.pp-pricing-table-ribbon-3{background:#61ce70;top:10%}.pp-pricing-table-ribbon-3 .pp-pricing-table-ribbon-inner{padding:3px 18px}.pp-pricing-table-ribbon-3:after,.pp-pricing-table-ribbon-3:before{border-bottom:8px solid transparent;content:'';display:block;position:absolute;height:0;width:0;top:100%}.pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-right{border-radius:3px 3px 3px 0;left:-8px}.pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-right:after,.pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-right:before{left:0}.pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-right:before{border-right:8px solid #61ce70}.pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-right:after{border-right:8px solid rgba(0,0,0,.2)}.pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-left{border-radius:3px 3px 0 3px;right:-8px}.pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-left:after,.pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-left:before{right:0}.pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-left:before{border-left:8px solid #61ce70}.pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-left:after{border-left:8px solid rgba(0,0,0,.2)}.pp-restaurant-menu .pp-restaurant-menu-item-wrap{margin-bottom:10px;position:relative}.pp-restaurant-menu .pp-restaurant-menu-item{align-items:center;display:flex}.pp-restaurant-menu .pp-restaurant-menu-image{flex-grow:0;margin-left:10px}.pp-restaurant-menu .pp-restaurant-menu-content{flex-grow:1}.pp-restaurant-menu .pp-restaurant-menu-header{display:flex;justify-content:space-between;margin-bottom:5px}.pp-restaurant-menu .pp-restaurant-menu-title{display:inline-block;margin:0}.pp-restaurant-menu .pp-restaurant-menu-title a{color:inherit}.pp-restaurant-menu-style-1 .pp-restaurant-menu-price{float:left}.pp-restaurant-menu-style-3 .pp-restaurant-menu-image{order:1}.pp-restaurant-menu-style-4 .pp-restaurant-menu-header,.pp-restaurant-menu-style-4 .pp-restaurant-menu-item{display:block}.pp-restaurant-menu-style-4 .pp-restaurant-menu-image{display:inline-block}.pp-restaurant-menu-style-1 .pp-price-title-connector{border-bottom:1px dashed #000;height:1px;flex-grow:1;align-self:center;margin:0 20px}.pp-restaurant-menu-style-powerpack .pp-restaurant-menu-item{min-height:150px;position:relative}.pp-restaurant-menu-style-powerpack .pp-restaurant-menu-price{bottom:0;padding:10px;position:absolute;left:0;z-index:1}.pp-restaurant-menu-style-powerpack .pp-restaurant-menu-price:after{border-color:transparent #b83d11;border-style:solid;border-width:110px 0 0 130px;bottom:0;content:"";position:absolute;left:0;z-index:-1}.pp-restaurant-menu-divider-wrap{font-size:0;line-height:0}.pp-restaurant-menu-divider{display:inline-block}.pp-promo-box{overflow:hidden;position:relative;width:100%}.pp-promo-box .pp-promo-box-icon{display:inline-block;line-height:1;text-align:center;transition:all .25s linear 0s}.pp-promo-box .pp-promo-box-icon .pp-promo-box-icon-inner{height:1em;width:1em}.pp-promo-box .pp-promo-box-bg,.pp-promo-box .pp-promo-box-overlay{position:absolute;height:100%;right:0;top:0;width:100%;transition:transform .25s linear 0s}.pp-promo-box .pp-promo-box-bg{padding:40px}.pp-promo-box .pp-promo-box-wrap{height:100%;width:100%;position:relative}.pp-promo-box .pp-promo-box-inner{display:table;width:100%;height:100%}.pp-promo-box .pp-promo-box-inner-content{display:table-cell;vertical-align:middle}.pp-promo-box .pp-promo-box-banner{transition:all .25s linear 0s;min-height:100%;width:100%}.pp-promo-box-heading-divider-wrap,.pp-promo-box-subheading-divider-wrap{font-size:0;line-height:1}.pp-promo-box-heading-divider,.pp-promo-box-subheading-divider{display:inline-block}.pp-image-hotspots{display:flex;position:relative}.pp-hot-spot-wrap{cursor:pointer;position:absolute;width:14px;height:14px;background:#000;border-radius:50%;font-size:14px;display:inline-flex;padding:15px;align-items:center;justify-content:center}.pp-hot-spot-image{position:relative}.pp-hot-spot-inner{cursor:pointer;display:flex;align-items:center;justify-content:center;text-align:center}.pp-hot-spot-inner.hotspot-animation:before{content:'';display:block;position:absolute;z-index:0;pointer-events:none;-webkit-animation:pp-glow 2s infinite;animation:pp-glow 2s infinite;right:0;top:0}.pp-hot-spot-inner.hotspot-animation:hover:before{-webkit-animation:none;animation:none}.pp-hot-spot-inner.hotspot-animation .pp-hotspot-text{z-index:1}.pp-hot-spot-inner,.pp-hot-spot-inner:before{background-color:#000;border-radius:50%;color:#fff;height:100%;position:absolute;width:100%}.pp-hotspot-icon{position:relative}.pp-hotspot-icon-wrap{display:inline-flex;width:100%;height:100%;vertical-align:middle;align-items:center;justify-content:center;border-radius:50%}@-webkit-keyframes pp-glow{0%{transform:scale(1);box-shadow:inset 0 0 1px 1px rgba(0,0,0,.8);opacity:1}100%{transform:scale(1.5);box-shadow:inset 0 0 1px 1px transparent;opacity:0}}@keyframes pp-glow{0%{transform:scale(1);box-shadow:inset 0 0 1px 1px rgba(0,0,0,.8);opacity:1}100%{transform:scale(1.5);box-shadow:inset 0 0 1px 1px transparent;opacity:0}}.tipso_content p:last-child{margin-bottom:0}.pp-hotspot-img-align-center .pp-image-hotspots{justify-content:center}.pp-hotspot-img-align-left .pp-image-hotspots{justify-content:flex-start}.pp-hotspot-img-align-right .pp-image-hotspots{justify-content:flex-end}@media only screen and (max-width:1024px){.pp-hotspot-img-align-tablet-center .pp-image-hotspots{justify-content:center}.pp-hotspot-img-align-tablet-left .pp-image-hotspots{justify-content:flex-start}.pp-hotspot-img-align-tablet-right .pp-image-hotspots{justify-content:flex-end}}@media only screen and (max-width:767px){.pp-hotspot-img-align-mobile-center .pp-image-hotspots{justify-content:center}.pp-hotspot-img-align-mobile-left .pp-image-hotspots{justify-content:flex-start}.pp-hotspot-img-align-mobile-right .pp-image-hotspots{justify-content:flex-end}}.pp-instagram-feed{position:relative}.pp-instagram-feed .pp-feed-item{float:right;position:relative}.pp-instagram-feed .pp-feed-item img{-webkit-filter:none;filter:none;vertical-align:middle}.pp-instagram-feed .pp-feed-item:hover img{-webkit-filter:none;filter:none}.pp-instagram-feed-gallery .pp-feed-item{width:20%}.pp-instagram-feed-title-wrap{background:#fff;position:absolute;z-index:2;position:absolute;top:50%;right:50%;transform:translate(50%,-50%)}.pp-insta-title-top .pp-instagram-feed-title-wrap{top:0;position:absolute;right:50%;transform:translate(50%)}.pp-insta-title-bottom .pp-instagram-feed-title-wrap{bottom:0;top:auto;position:absolute;right:50%;transform:translate(50%)}.pp-instagram-feed-title{display:block;padding:6px 30px;text-align:center}.pp-instagram-feed .pp-feed-item{position:relative}.pp-instagram-feed .pp-feed-item-inner{display:block;position:relative}.pp-instagram-feed-gray .pp-feed-item img{-webkit-filter:grayscale(100%);filter:grayscale(100%);transition:-webkit-filter .25s linear 0s;transition:filter .25s linear 0s;transition:filter .25s linear 0s,-webkit-filter .25s linear 0s}.pp-instagram-feed-hover-gray .pp-feed-item:hover img{-webkit-filter:grayscale(100%);filter:grayscale(100%);transition:-webkit-filter .25s linear 0s;transition:filter .25s linear 0s;transition:filter .25s linear 0s,-webkit-filter .25s linear 0s}.pp-instagram-feed .pp-overlay-container{color:#fff;display:flex;justify-content:center;align-items:center;z-index:1}.pp-instagram-feed .pp-overlay-container span{display:flex;align-items:center;margin:0 5px}.pp-instagram-feed-hover .pp-overlay-container{opacity:0}.pp-instagram-feed-hover .pp-feed-item:hover .pp-overlay-container{opacity:1}.pp-instagram-feed .swiper-container .swiper-slide img{width:100%}.pp-instafeed{overflow:hidden;position:relative}.pp-if-icon{margin-left:5px}.pp-if-square-images .pp-feed-item-inner{position:relative;padding-bottom:100%;width:100%}.pp-if-square-images .pp-if-img{overflow:hidden;position:absolute;width:100%;height:100%;right:0;top:0}.pp-if-square-images img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.pp-load-more-button{cursor:pointer}.pp-load-more-button[disabled=disabled]{display:none}.pp-button-loading .pp-button-loader{display:inline-block;width:22px;height:22px;vertical-align:middle;margin-left:8px}.pp-button-loading .pp-button-loader:after{content:'';display:block;width:100%;height:100%;border-radius:50%;border:3px solid #fff;border-color:#fff transparent #fff transparent;-webkit-animation:pp-dual-ring 1.2s linear infinite;animation:pp-dual-ring 1.2s linear infinite}@-webkit-keyframes pp-dual-ring{0%{transform:rotate(0)}100%{transform:rotate(-360deg)}}@keyframes pp-dual-ring{0%{transform:rotate(0)}100%{transform:rotate(-360deg)}}.twentytwenty-horizontal .twentytwenty-handle:after,.twentytwenty-horizontal .twentytwenty-handle:before,.twentytwenty-vertical .twentytwenty-handle:after,.twentytwenty-vertical .twentytwenty-handle:before{content:" ";display:block;background:#fff;position:absolute;z-index:30;box-shadow:0 0 12px rgba(51,51,51,.5)}.twentytwenty-horizontal .twentytwenty-handle:after,.twentytwenty-horizontal .twentytwenty-handle:before{width:3px;height:9999px;right:50%;margin-right:-1.5px}.twentytwenty-vertical .twentytwenty-handle:after,.twentytwenty-vertical .twentytwenty-handle:before{width:9999px;height:3px;top:50%;margin-top:-1.5px}.twentytwenty-after-label,.twentytwenty-before-label,.twentytwenty-overlay{position:absolute;top:0;width:100%;height:100%}.twentytwenty-after-label,.twentytwenty-before-label,.twentytwenty-overlay{transition-duration:.5s}.twentytwenty-after-label,.twentytwenty-before-label{transition-property:opacity}.twentytwenty-after-label:before,.twentytwenty-before-label:before{color:#fff;font-size:13px;letter-spacing:.1em}.twentytwenty-after-label:before,.twentytwenty-before-label:before{position:absolute;background:rgba(255,255,255,.2);line-height:38px;padding:0 20px;border-radius:2px}.twentytwenty-horizontal .twentytwenty-after-label:before,.twentytwenty-horizontal .twentytwenty-before-label:before{top:50%;transform:translateY(-50%)}.pp-ic-label-horizontal-top .twentytwenty-horizontal .twentytwenty-after-label:before,.pp-ic-label-horizontal-top .twentytwenty-horizontal .twentytwenty-before-label:before{transform:translateY(0);top:10px}.pp-ic-label-horizontal-bottom .twentytwenty-horizontal .twentytwenty-after-label:before,.pp-ic-label-horizontal-bottom .twentytwenty-horizontal .twentytwenty-before-label:before{bottom:10px;transform:translateY(0);top:auto}.twentytwenty-vertical .twentytwenty-after-label:before,.twentytwenty-vertical .twentytwenty-before-label:before{right:50%;transform:translateX(50%);text-align:center}.pp-ic-label-vertical-left .twentytwenty-vertical .twentytwenty-after-label:before,.pp-ic-label-vertical-left .twentytwenty-vertical .twentytwenty-before-label:before{right:10px;transform:translateX(0)}.pp-ic-label-vertical-right .twentytwenty-vertical .twentytwenty-after-label:before,.pp-ic-label-vertical-right .twentytwenty-vertical .twentytwenty-before-label:before{right:auto;left:10px;transform:translateX(0)}.twentytwenty-down-arrow,.twentytwenty-left-arrow,.twentytwenty-right-arrow,.twentytwenty-up-arrow{width:0;height:0;border:6px inset transparent;position:absolute}.twentytwenty-left-arrow,.twentytwenty-right-arrow{top:50%;margin-top:-6px}.twentytwenty-down-arrow,.twentytwenty-up-arrow{right:50%;margin-right:-6px}.twentytwenty-container{box-sizing:content-box;z-index:0;overflow:hidden;position:relative;-webkit-user-select:none;-moz-user-select:none}.twentytwenty-container img{max-width:100%;position:absolute;top:0;display:block}.twentytwenty-container.active .twentytwenty-overlay,.twentytwenty-container.active :hover.twentytwenty-overlay{background:rgba(0,0,0,0)}.twentytwenty-container *{box-sizing:content-box}.twentytwenty-before-label:before{content:attr(data-content)}.twentytwenty-after-label:before{content:attr(data-content)}.twentytwenty-horizontal .twentytwenty-before-label:before{right:10px}.twentytwenty-horizontal .twentytwenty-after-label:before{left:10px}.twentytwenty-vertical .twentytwenty-before-label:before{top:10px}.twentytwenty-vertical .twentytwenty-after-label:before{bottom:10px}.twentytwenty-overlay{transition-property:background;background:rgba(0,0,0,0);z-index:25}.twentytwenty-overlay:hover{background:rgba(0,0,0,.5)}.twentytwenty-overlay:hover .twentytwenty-after-label{opacity:1}.twentytwenty-overlay:hover .twentytwenty-before-label{opacity:1}.twentytwenty-before{z-index:20}.twentytwenty-after{z-index:10}.twentytwenty-handle{height:38px;width:38px;position:absolute;right:50%;top:50%;margin-right:-22px;margin-top:-22px;border:3px solid #fff;border-radius:1000px;box-shadow:0 0 12px rgba(51,51,51,.5);z-index:40;cursor:pointer}.twentytwenty-horizontal .twentytwenty-handle:before{bottom:50%;margin-bottom:19px}.twentytwenty-horizontal .twentytwenty-handle:after{top:50%;margin-top:19px}.twentytwenty-vertical .twentytwenty-handle:before{right:50%;margin-right:19px}.twentytwenty-vertical .twentytwenty-handle:after{left:50%;margin-left:19px}.twentytwenty-left-arrow{border-left:6px solid #fff;right:50%;margin-right:-17px}.twentytwenty-right-arrow{border-right:6px solid #fff;left:50%;margin-left:-17px}.twentytwenty-up-arrow{border-bottom:6px solid #fff;top:50%;margin-top:-17px}.twentytwenty-down-arrow{border-top:6px solid #fff;bottom:50%;margin-bottom:-17px}.pp-tm-wrapper{position:relative}.pp-tm-wrapper .pp-tm-social-links{list-style:none;margin:0;padding:0}.pp-tm-wrapper .pp-tm-social-links li{list-style:none;margin:0;padding:0}.pp-tm-wrapper .pp-tm-title-divider-wrap{font-size:0;line-height:1}.pp-tm-wrapper .pp-tm-divider,.pp-tm-wrapper .pp-tm-social-icon,.pp-tm-wrapper li{display:inline-block}.pp-tm-wrapper .pp-tm:hover .pp-tm-overlay-content-wrap{opacity:1;visibility:visible}.pp-tm-wrapper .pp-tm-image{display:inline-block;position:relative}.pp-tm-content-normal{position:relative;z-index:1}.pp-tm-overlay-content-wrap{position:absolute;right:0;top:0;left:0;bottom:0;z-index:1;opacity:0;visibility:hidden;transition:all .25s linear 0s}.pp-tm-overlay-content-wrap:before{background-color:#000;content:'';display:block;position:absolute;right:0;top:0;left:0;bottom:0;opacity:.5;z-index:-1}.pp-tm-overlay-content-wrap .pp-tm-content{padding:20px;width:100%;position:absolute;top:50%;transform:translateY(-50%)}.pp-tm-social-icon-wrap{display:inline-flex;transition:all .25s linear 0s}.pp-tm-name a{color:inherit}.pp-tm-carousel{position:relative}.pp-tm-carousel-dots-outside .swiper-pagination{position:static}.pp-logo-carousel.grayscale-normal img{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.pp-logo-carousel.grayscale-normal .swiper-slide:hover img{-webkit-filter:none;filter:none}.pp-logo-carousel.grayscale-hover .swiper-slide:hover img{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.pp-logo-carousel.swiper-container .swiper-slide{text-align:center}.pp-logo-carousel.swiper-container .swiper-slide img{width:auto}.pp-logo-carousel .pp-logo-carousel-title a{color:inherit}.pp-logo-grid{display:flex;flex-wrap:wrap;position:relative}.pp-logo-grid .pp-grid-item{transition:all .25s linear 0s;width:100%}.pp-logo-grid .pp-grid-item-wrap{display:flex;float:right;flex-wrap:wrap;text-align:center;transition:all .2s cubic-bezier(.645,.045,.355,1)}.pp-logo-grid .pp-logo-grid-title a{color:inherit}.pp-logo-grid.grayscale-normal img{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.pp-logo-grid.grayscale-normal .pp-grid-item:hover img{-webkit-filter:none;filter:none}.pp-logo-grid.grayscale-hover .pp-grid-item:hover img{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.pp-google-map-container{line-height:0}.pp-google-map{display:inline-block;width:100%}.pp-google-map .gm-style .pp-infowindow-title{font-weight:600}.pp-contact-form-7 .wpcf7-form:after{clear:both;content:"";font-size:0;height:0;display:block;visibility:hidden}.pp-contact-form-7 .wpcf7-form .wpcf7-form-control-wrap,.pp-contact-form-7 .wpcf7-form label{display:block}.pp-contact-form-7 .wpcf7-form p{margin-bottom:0}.pp-contact-form-7.labels-hide .wpcf7-form label{display:none}.pp-contact-form-7-title{margin-bottom:10px}.pp-contact-form-7-description{margin-bottom:20px}.pp-contact-form-7-button-full-width .wpcf7-form-control.wpcf7-submit{width:100%}.pp-gravity-form .gform_wrapper .gform_footer{margin:0;padding:0}.pp-gravity-form .gform_wrapper textarea{padding:0}.pp-gravity-form .gform_wrapper .gform_footer input.button,.pp-gravity-form .gform_wrapper .gform_footer input[type=submit],.pp-gravity-form .gform_wrapper .gform_page_footer input.button,.pp-gravity-form .gform_wrapper .gform_page_footer input[type=submit]{margin:0}.pp-gravity-form .gform_wrapper .gform_page_footer input[type=button]{margin-left:4px}.pp-gravity-form .gform_wrapper .gform_page_footer input[type=submit]{margin-right:4px}.pp-gravity-form.title-description-hide .gform_heading{display:none}.pp-gravity-form.labels-hide .gform_wrapper .field_sublabel_below .ginput_complex.ginput_container label,.pp-gravity-form.labels-hide .gform_wrapper .top_label .gfield_label{display:none}.pp-gravity-form .gform_footer input[type=button],.pp-gravity-form .gform_footer input[type=submit],.pp-gravity-form .gform_page_footer input[type=button],.pp-gravity-form .gform_page_footer input[type=submit]{background:#428bca;border:none;display:inline-block;padding:10px 15px}.pp-gravity-form-button-full-width .gform_wrapper .gform_footer input[type=submit],.pp-gravity-form-button-full-width .gform_wrapper .gform_page_footer input[type=submit]{width:100%}.pp-gravity-form-button-full-width .gform_wrapper .gform_page_footer input[type=submit]{margin-top:20px}.pp-gravity-form-pagination-buttons-full-width .gform_wrapper .gform_page_footer input[type=button]{margin-top:20px;width:100%}.pp-gravity-form .gform_wrapper select{border-radius:0;height:auto;-webkit-appearance:none;-moz-appearance:none;appearance:none}.pp-gravity-form .gform_wrapper .pp-gf-select-custom{position:relative}.pp-gravity-form .gform_wrapper .pp-gf-select-custom:after{content:"\f078";font-family:'Font Awesome 5 Free';font-weight:800;font-size:.7em;line-height:1;pointer-events:none;position:absolute;top:45%;left:.8em;transform:translateY(-45%);z-index:2}.pp-ninja-form .nf-form-title{display:none}.pp-ninja-form-title-yes .nf-form-title{display:block}.pp-ninja-form .title-description-hide .nf-form-title{display:none}.pp-ninja-form.title-description-hide .nf-form-title{display:none}.pp-ninja-form .nf-field-label{display:none}.pp-ninja-form-labels-yes .nf-field-label{display:block}.pp-ninja-form .submit-container input[type=button]{border:0;border-radius:0}.pp-ninja-form-button-full-width .submit-container input[type=button]{width:100%}.pp-caldera-form .control-label{display:none}.pp-caldera-form-labels-yes .control-label{display:block}.pp-caldera-form-button-center .form-group input[type=button],.pp-caldera-form-button-center .form-group input[type=submit]{display:block;margin:0 auto}.pp-caldera-form-button-right .form-group input[type=button],.pp-caldera-form-button-right .form-group input[type=submit]{float:left}.pp-caldera-form .intl-tel-input{display:inherit}.pp-custom-radio-checkbox .caldera-grid input[type=checkbox],.pp-custom-radio-checkbox .caldera-grid input[type=radio]{border-style:solid;border-width:0;padding:3px;-webkit-appearance:none}.pp-caldera-form-button-full-width .form-group input[type=button],.pp-caldera-form-button-full-width .form-group input[type=submit]{width:100%}.pp-wpforms .wpforms-container .wpforms-form .wpforms-page-button,.pp-wpforms .wpforms-container .wpforms-form button[type=submit],.pp-wpforms .wpforms-container .wpforms-form input[type=submit]{border:0}.pp-wpforms .wpforms-container .wpforms-form .wpforms-page-button:hover,.pp-wpforms .wpforms-container .wpforms-form button[type=submit]:hover,.pp-wpforms .wpforms-container .wpforms-form input[type=submit]:hover{border:0}.pp-wpforms .wpforms-container .wpforms-form input[type=checkbox],.pp-wpforms .wpforms-container .wpforms-form input[type=radio]{padding:3px}.pp-wpforms .wpforms-container .wpforms-form .wpforms-field-label{display:none}.pp-wpforms .wpforms-container .wpforms-form .wpforms-field-name .wpforms-field-row{max-width:100%}.pp-wpforms .wpforms-container .wpforms-field input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),.pp-wpforms .wpforms-container .wpforms-field select,.pp-wpforms .wpforms-container .wpforms-field textarea{max-width:100%!important}.pp-wpforms-labels-yes .wpforms-container .wpforms-form .wpforms-field-label{display:block}.pp-wpforms-form-button-full-width .wpforms-submit-container .wpforms-submit{width:100%}.swiper-container .swiper-slide,.swiper-container-wrap .swiper-slide{text-align:center}.swiper-container .swiper-slide img,.swiper-container-wrap .swiper-slide img{width:auto}.swiper-container-dots-outside .swiper-pagination,.swiper-container-wrap-dots-outside .swiper-pagination{position:static}.swiper-container .swiper-button-next,.swiper-container .swiper-button-prev,.swiper-container-wrap .swiper-button-next,.swiper-container-wrap .swiper-button-prev{background:0 0;font-size:20px;height:auto;line-height:1;margin:0;text-align:center;transform:translateY(-50%);width:auto}.swiper-container .swiper-button-next .fa,.swiper-container .swiper-button-prev .fa,.swiper-container-wrap .swiper-button-next .fa,.swiper-container-wrap .swiper-button-prev .fa{vertical-align:top}.swiper-container-wrap .swiper-pagination{bottom:10px;right:0;width:100%}.swiper-container-wrap-dots-outside .swiper-pagination{position:static}.swiper-container-wrap .swiper-pagination-bullet{background:#ccc;margin:0 4px;opacity:1;height:8px;width:8px}.swiper-container-wrap .swiper-pagination-bullet-active{background:#000}.swiper-container-3d .swiper-slide{transition-property:all;-webkit-transition-property:all}.pp-info-table-container .pp-info-table-link{text-decoration:none!important}.pp-info-table-container .pp-info-table-sale-badge.right{position:absolute;left:-7px;z-index:2;border-bottom-left-radius:0!important}.pp-info-table-container .pp-info-table-sale-badge.right:after{content:"";display:block;position:absolute;width:0;height:0;bottom:-8px;left:0;border-bottom:8px solid transparent;border-right:8px;border-right-style:solid}.pp-info-table-container .pp-info-table-sale-badge.left{position:absolute;right:-7px;z-index:2;border-bottom-right-radius:0!important}.pp-info-table-container .pp-info-table-sale-badge.left:after{content:"";display:block;position:absolute;width:0;height:0;bottom:-8px;right:0;border-bottom:8px solid transparent;border-left:8px;border-left-style:solid}.pp-info-table-container .pp-info-table-sale-badge p{margin:0;text-align:center!important}.pp-info-table-container .pp-info-table-icon-inner{display:inline-block}.pp-info-table-container .pp-info-table-icon-wrap{display:table}.pp-info-table-container .pp-info-table-icon-wrap .pp-info-table-icon{display:table-cell;vertical-align:middle;text-align:center}.pp-image-accordion{display:flex;height:50vh}.pp-image-accordion .pp-image-accordion-img{position:absolute;right:0;top:0;left:0;bottom:0;-o-object-fit:cover;object-fit:cover;height:100%;width:100%}.pp-image-accordion .pp-image-accordion-button-wrap *{transition:none}.pp-image-accordion .pp-image-accordion-button{transition:all .25s linear 0s}.pp-image-accordion-item{cursor:pointer;background-size:cover;background-position:center;background-repeat:no-repeat;color:#fff;position:relative;flex:1;text-decoration:none;transition:flex .4s;overflow:hidden}.pp-image-accordion-item:last-child{margin-left:0!important}.pp-image-accordion-active{cursor:default}.pp-image-accordion-overlay{background-color:rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center;padding:20px;position:absolute;top:0;left:0;bottom:0;right:0;transition:background-color .4s}.pp-image-accordion-overlay .pp-image-accordion-content-wrap{z-index:1}.pp-image-accordion-content-wrap{display:flex;flex-direction:column;align-items:center;visibility:hidden}.pp-image-accordion-content-wrap p:last-child{margin-bottom:0}.pp-image-accordion-content-wrap *{visibility:hidden;opacity:0;transform-style:preserve-3d}.pp-image-accordion-title{color:#fff;transform:translate3d(0,-60px,0)}.pp-image-accordion-description{color:#fff;transform:translate3d(0,60px,0)}.pp-image-accordion-button-wrap{transform:translate3d(0,60px,0)}.pp-image-accordion-content-active{visibility:visible}.pp-image-accordion-content-active *{opacity:1;visibility:visible;transform:none!important;transition:all .3s .3s}.pp-image-accordion-on-hover .pp-image-accordion-item:hover{flex:3}.pp-image-accordion-on-hover .pp-image-accordion-item:hover .pp-image-accordion-content-wrap *{opacity:1;visibility:visible;transform:none;transition:all .3s .3s}.pp-image-accordion-orientation-horizontal .pp-image-accordion{flex-direction:column}.pp-image-accordion-orientation-horizontal .pp-image-accordion a:hover .pp-image-accordion-overlay{background-color:transparent}.pp-image-accordion-orientation-horizontal .pp-image-accordion-item{margin-left:0!important}.pp-advanced-accordion{width:auto;height:auto;transition:all .3s ease-in-out}.pp-advanced-accordion .pp-accordion-tab-title{padding:15px;font-size:1rem;font-weight:600;line-height:1;transition:all .3s ease-in-out;display:flex;justify-content:space-between;align-items:center;cursor:pointer;outline:0}.pp-advanced-accordion .pp-accordion-toggle-icon{z-index:10}.pp-advanced-accordion .pp-accordion-tab-active-default .pp-accordion-toggle-icon-close,.pp-advanced-accordion .pp-accordion-tab-show .pp-accordion-toggle-icon-close,.pp-advanced-accordion .pp-accordion-toggle-icon-open{display:none}.pp-advanced-accordion .pp-accordion-tab-active-default .pp-accordion-toggle-icon-open,.pp-advanced-accordion .pp-accordion-tab-show .pp-accordion-toggle-icon-open{display:inline}.pp-advanced-accordion .pp-accordion-tab-content{display:none;padding:15px;box-sizing:border-box;font-size:1rem;line-height:1.7}.pp-advanced-accordion .pp-accordion-tab-content p:last-child{margin:0}.pp-advanced-accordion .pp-accordion-tab-content.pp-accordion-tab-active{display:block}.pp-advanced-accordion.pp-toggle-icon-align-left .pp-accordion-tab-title{flex-direction:row-reverse;justify-content:flex-end}.pp-accordion-tab-icon{display:inline-block;margin-left:10px}.pp-flipbox-container{position:relative;height:300px;width:100%}.pp-flipbox-icon-image,.pp-flipbox-icon-image-back{display:inline-block;margin:0 auto 0 auto;line-height:1}.pp-flipbox-icon-image img,.pp-flipbox-icon-image-back img{width:30%}.pp-flipbox-icon-image i,.pp-flipbox-icon-image-back i{font-size:40px;line-height:40px;width:40px}.pp-flipbox-overlay{height:100%;padding:35px;width:100%;-webkit-display:flex;display:flex;flex-direction:column;align-items:center;justify-content:center}.pp-flipbox-back,.pp-flipbox-front{text-align:center;position:absolute;top:0;right:0;width:100%;height:100%}.pp-flipbox-front{background:#1abc9c;color:#fff;z-index:2}.pp-flipbox-back{background:#444;color:#fff}.pp-flipbox-back .pp-flipbox-box-link{position:absolute;top:0;right:0;left:0;bottom:0}.pp-flipbox-content,.pp-flipbox-heading{color:#fff}.pp-flipbox-heading.pp-flipbox-linked-title{color:#fff;display:block;font-size:1.5em;font-weight:700}.pp-flipbox-container{perspective:1000px}.pp-flipbox-back,.pp-flipbox-front{transition-duration:.5s;transition-property:all;transition-timing-function:ease}.pp-flipbox-flip-card{width:100%;height:100%;transform-style:preserve-3d;transition:all .5s ease}.pp-flipbox-back,.pp-flipbox-front{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:rotateX(0);transform:rotateY(0)}.pp-animate-flip.pp-direction-up .pp-flipbox-back,.pp-animate-flip.pp-direction-up.pp-flipbox-container:hover .pp-flipbox-flip-card{transform:rotateX(180deg)}.pp-animate-flip.pp-direction-down .pp-flipbox-back,.pp-animate-flip.pp-direction-down.pp-flipbox-container:hover .pp-flipbox-flip-card{transform:rotateX(-180deg)}.pp-animate-flip.pp-direction-left .pp-flipbox-back,.pp-animate-flip.pp-direction-left.pp-flipbox-container:hover .pp-flipbox-flip-card{transform:rotateY(-180deg)}.pp-animate-flip.pp-direction-right .pp-flipbox-back,.pp-animate-flip.pp-direction-right.pp-flipbox-container:hover .pp-flipbox-flip-card{transform:rotateY(180deg)}.pp-animate-push.pp-flipbox-container,.pp-animate-slide.pp-flipbox-container{overflow:hidden}.pp-animate-push .pp-flipbox-back,.pp-animate-slide .pp-flipbox-back{z-index:3}.pp-animate-push.pp-direction-up .pp-flipbox-back,.pp-animate-slide.pp-direction-up .pp-flipbox-back{top:100%}.pp-animate-push.pp-direction-up.pp-flipbox-container:hover .pp-flipbox-back,.pp-animate-slide.pp-direction-up.pp-flipbox-container:hover .pp-flipbox-back{top:0}.pp-animate-push.pp-direction-down .pp-flipbox-back,.pp-animate-slide.pp-direction-down .pp-flipbox-back{top:auto;bottom:100%}.pp-animate-push.pp-direction-down.pp-flipbox-container:hover .pp-flipbox-back,.pp-animate-slide.pp-direction-down.pp-flipbox-container:hover .pp-flipbox-back{top:auto;bottom:0}.pp-animate-push.pp-direction-left .pp-flipbox-back,.pp-animate-slide.pp-direction-left .pp-flipbox-back{right:100%}.pp-animate-push.pp-direction-left.pp-flipbox-container:hover .pp-flipbox-back,.pp-animate-slide.pp-direction-left.pp-flipbox-container:hover .pp-flipbox-back{right:0}.pp-animate-push.pp-direction-right .pp-flipbox-back,.pp-animate-slide.pp-direction-right .pp-flipbox-back{right:auto;left:100%}.pp-animate-push.pp-direction-right.pp-flipbox-container:hover .pp-flipbox-back,.pp-animate-slide.pp-direction-right.pp-flipbox-container:hover .pp-flipbox-back{right:auto;left:0}.pp-animate-push.pp-direction-up.pp-flipbox-container:hover .pp-flipbox-front{top:-100%}.pp-animate-push.pp-direction-down.pp-flipbox-container:hover .pp-flipbox-front{top:100%}.pp-animate-push.pp-direction-left.pp-flipbox-container:hover .pp-flipbox-front{right:-100%}.pp-animate-push.pp-direction-right.pp-flipbox-container:hover .pp-flipbox-front{right:100%}.pp-animate-zoom-in .pp-flipbox-back{opacity:0;transform:scale(.75);z-index:3}.pp-animate-zoom-in.pp-flipbox-container:hover .pp-flipbox-back{opacity:1;transform:scale(1)}.pp-animate-zoom-out.pp-flipbox-container:hover .pp-flipbox-front{opacity:0;transform:scale(.75)}.pp-animate-fade.pp-flipbox-container:hover .pp-flipbox-front{opacity:0}.pp-content-ticker-container{background:#f4f4f4;display:flex;overflow:hidden}.pp-content-ticker-heading{background:#333;color:#fff;display:flex;flex-direction:row;flex-shrink:0;align-items:center;padding:10px 15px;position:relative}.pp-content-ticker-heading-icon{margin-left:5px}.pp-content-ticker-heading-icon-right{order:1;margin-right:5px;margin-left:0}.pp-content-ticker-heading-arrow .pp-content-ticker-heading:after{content:'';position:absolute;left:-20px;border:10px solid transparent;border-right-color:#333;top:50%;transform:translateY(-50%)}.pp-content-ticker-wrap{display:flex;align-items:center;overflow:hidden;padding:10px 15px}.pp-content-ticker{overflow:hidden}.pp-content-ticker .swiper-wrapper{align-items:center}.pp-content-ticker .pp-content-ticker-item-title{font-size:20px;margin:0}.pp-content-ticker .pp-content-ticker-item-title a{color:inherit;font-size:inherit}.pp-content-ticker-content{display:flex;align-items:center}.pp-content-ticker-image{flex-shrink:0;margin-left:15px;width:40px}.pp-content-ticker-meta{font-size:14px}.pp-content-ticker-navigation{display:flex;align-items:center;padding-right:10px;padding-left:10px}.pp-content-ticker-navigation .swiper-button-next,.pp-content-ticker-navigation .swiper-button-prev{background:0 0;font-size:18px;line-height:1.2;height:auto;margin:0;padding:0 6px;position:static;text-align:center;width:auto}.pp-content-ticker-navigation .swiper-button-prev{margin-left:6px}.pp-image-scroll-container,.pp-image-scroll-wrap{transition:all .3s ease-in-out;-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-ms-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out}.pp-image-scroll-wrap{overflow:hidden;width:100%;position:relative}.pp-image-scroll-container{width:100%}.pp-container-scroll{overflow:auto}.pp-image-scroll-container .pp-image-scroll-horizontal{position:relative;width:100%;height:100%}.pp-image-scroll-container .pp-image-scroll-horizontal.pp-image-scroll-image img{max-width:none;height:100%}.pp-image-scroll-container .pp-image-scroll-vertical.pp-image-scroll-image img{width:100%;max-width:100%;height:auto}.pp-image-scroll-ver{position:relative}.pp-image-scroll-container .pp-image-scroll-overlay{background:rgba(2,2,2,.3)}.pp-image-scroll-container .pp-image-scroll-link,.pp-image-scroll-container .pp-image-scroll-overlay{position:absolute;top:0;bottom:0;right:0;left:0;z-index:4}.pp-image-scroll-content{display:inline-block;position:absolute;height:auto;top:50%;right:50%;text-align:center;z-index:5;transform:translate(50%,-50%)}.pp-container-scroll-instant .pp-image-scroll-image img{transition:all 0s ease-in-out!important}.pp-image-scroll-container .pp-image-scroll-content,.pp-image-scroll-container .pp-image-scroll-overlay{transition:all .3s ease-in-out;opacity:1}.pp-image-scroll-container:hover .pp-image-scroll-content,.pp-image-scroll-container:hover .pp-image-scroll-overlay{opacity:0}.pp-image-scroll-container:hover .pp-image-scroll-content{visibility:hidden}.pp-image-scroll-content .pp-image-scroll-icon{display:inline-block;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-direction:alternate;animation-direction:alternate;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}.pp-mouse-scroll-horizontal{-webkit-animation-name:pp-scroll-horizontal;animation-name:pp-scroll-horizontal}.pp-mouse-scroll-vertical{-webkit-animation-name:pp-scroll-vertical;animation-name:pp-scroll-vertical}@-webkit-keyframes pp-scroll-vertical{0%{transform:translateY(0)}100%{transform:translateY(5px)}}@keyframes pp-scroll-vertical{0%{transform:translateY(0)}100%{transform:translateY(5px)}}@-webkit-keyframes pp-scroll-horizontal{0%{transform:translateX(0)}100%{transform:translateX(-5px)}}@keyframes pp-scroll-horizontal{0%{transform:translateX(0)}100%{transform:translateX(-5px)}}.pp-buttons-group{display:flex;flex-flow:wrap;align-items:flex-start}.pp-buttons-group a,.pp-buttons-group a:hover{text-decoration:none;transition:all .5s ease-in-out}.pp-buttons-group .pp-button{display:flex}.pp-buttons-group .pp-button .pp-button-content-wrapper .pp-button-content-inner{display:flex;align-items:center;justify-content:center}.pp-buttons-group .pp-button .pp-button-content-wrapper .pp-button-content-inner.pp-icon-before{flex-direction:row}.pp-buttons-group .pp-button .pp-button-content-wrapper .pp-button-content-inner.pp-icon-after{flex-direction:row-reverse}.pp-buttons-group .pp-button .pp-button-content-wrapper .pp-button-content-inner.pp-icon-top{flex-direction:column}.pp-buttons-group .pp-button .pp-button-content-wrapper .pp-button-content-inner.pp-icon-bottom{flex-direction:column-reverse}.pp-button-icon-image img{width:40px}.pp-button-content-wrapper{display:flex;flex-grow:1;justify-content:center}.pp-buttons-valign-top .pp-buttons-group{align-items:flex-start}.pp-buttons-valign-middle .pp-buttons-group{align-items:center}.pp-buttons-valign-bottom .pp-buttons-group{align-items:flex-end}.pp-buttons-valign-stretch .pp-buttons-group{align-items:stretch}.pp-buttons-valign-stretch .pp-buttons-group .pp-button-content-wrapper{align-items:center}.pp-buttons-halign-left .pp-buttons-group{justify-content:flex-start}.pp-buttons-halign-center .pp-buttons-group{justify-content:center}.pp-buttons-halign-right .pp-buttons-group{justify-content:flex-end}.pp-buttons-halign-stretch .pp-buttons-group{justify-content:stretch}.pp-buttons-halign-stretch .pp-button{flex-grow:1}.pp-buttons-stack-desktop .pp-buttons-group{flex-direction:column}.pp-buttons-stack-desktop.pp-buttons-halign-left .pp-buttons-group{align-items:flex-start}.pp-buttons-stack-desktop.pp-buttons-halign-center .pp-buttons-group{align-items:center}.pp-buttons-stack-desktop.pp-buttons-halign-right .pp-buttons-group{align-items:flex-end}.pp-buttons-stack-desktop.pp-buttons-halign-stretch .pp-buttons-group{align-items:stretch}.pp-buttons-stack-desktop.pp-buttons-halign-stretch .pp-button{flex-grow:1}.pp-buttons-stack-desktop .pp-button{margin-right:0!important;margin-left:0!important}.pp-heading-fill-gradient .pp-heading-text{display:block;background-clip:text;text-fill-color:transparent;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.pp-formidable-forms .frm_form_field .frm_primary_label{display:none}.pp-formidable-forms-labels-yes .pp-formidable-forms .frm_primary_label{display:block}.pp-custom-radio-checkbox .form-field input[type=checkbox],.pp-custom-radio-checkbox .form-field input[type=radio]{border-style:solid;border-width:0;display:inline-block;vertical-align:middle;padding:3px;-webkit-appearance:none}.pp-formidable-forms-button-full-width .pp-formidable-forms .frm_submit .frm_button_submit{width:100%}.pp-fluent-forms-form-button-full-width .ff_submit_btn_wrapper .ff-btn-submit{margin-right:0;margin-left:0;width:100%}@media only screen and (min-width:1025px){.elementor-element.elementor-grid-1{position:relative}.elementor-element.elementor-grid-1 .pp-grid-item-wrap{width:100%;float:right}.elementor-element.elementor-grid-2{position:relative}.elementor-element.elementor-grid-2 .pp-grid-item-wrap{width:50%;float:right}.elementor-element.elementor-grid-2 .pp-grid-item-wrap:nth-of-type(2n){margin-left:0!important}.elementor-element.elementor-grid-2 .pp-grid-item-wrap:nth-of-type(2n+1){clear:right}.elementor-element.elementor-grid-3{position:relative}.elementor-element.elementor-grid-3 .pp-grid-item-wrap{width:33.3333%;float:right}.elementor-element.elementor-grid-3 .pp-grid-item-wrap:nth-of-type(3n){margin-left:0!important}.elementor-element.elementor-grid-3 .pp-grid-item-wrap:nth-of-type(3n+1){clear:right}.elementor-element.elementor-grid-4{position:relative}.elementor-element.elementor-grid-4 .pp-grid-item-wrap{width:25%;float:right}.elementor-element.elementor-grid-4 .pp-grid-item-wrap:nth-of-type(4n){margin-left:0!important}.elementor-element.elementor-grid-4 .pp-grid-item-wrap:nth-of-type(4n+1){clear:right}.elementor-element.elementor-grid-5{position:relative}.elementor-element.elementor-grid-5 .pp-grid-item-wrap{width:20%;float:right}.elementor-element.elementor-grid-5 .pp-grid-item-wrap:nth-of-type(5n){margin-left:0!important}.elementor-element.elementor-grid-5 .pp-grid-item-wrap:nth-of-type(5n+1){clear:right}.elementor-element.elementor-grid-6{position:relative}.elementor-element.elementor-grid-6 .pp-grid-item-wrap{width:16.6667%;float:right}.elementor-element.elementor-grid-6 .pp-grid-item-wrap:nth-of-type(6n){margin-left:0!important}.elementor-element.elementor-grid-6 .pp-grid-item-wrap:nth-of-type(6n+1){clear:right}}@media (max-width:1024px){.pp-info-box-tablet-top .pp-info-box{flex-direction:column}.pp-info-box-tablet-top .pp-info-box .pp-info-box-icon-wrap{display:inline-block;margin:0}.pp-info-box-tablet-top .pp-info-box .pp-info-box-icon{margin-left:auto}.pp-info-box-tablet-left .pp-info-box{flex-direction:row}.pp-info-box-tablet-left .pp-info-box .pp-info-box-icon-wrap{display:flex;margin-left:20px}.pp-info-box-tablet-left .pp-info-box .pp-info-box-icon,.pp-info-box-tablet-left .pp-info-box img{width:100%}.pp-info-box-tablet-right .pp-info-box{flex-direction:row-reverse}.pp-info-box-tablet-right .pp-info-box .pp-info-box-icon-wrap{display:flex;margin-right:20px}.pp-info-box-tablet-right .pp-info-box .pp-info-box-icon,.pp-info-box-tablet-right .pp-info-box img{width:100%}.pp-info-list-stack-tablet.pp-info-list-icon-top .pp-info-list-container .pp-list-items{display:block}.pp-info-list-stack-tablet.pp-info-list-icon-top .pp-info-list-container .pp-list-items .pp-info-list-item{display:block;text-align:center!important;width:100%!important}.pp-info-list-stack-tablet.pp-info-list-icon-top .pp-info-list-item-inner{flex-direction:row}.pp-info-list-stack-tablet.pp-info-list-icon-top .pp-infolist-icon-wrapper{margin-bottom:0;margin-left:10px}.pp-info-list-stack-tablet.pp-info-list-icon-top .pp-infolist-icon-wrapper:before{content:'';border-left:1px solid #000;height:1500px;bottom:14px;right:calc(7px - (1px/2));position:absolute;width:1px;top:auto}.pp-info-list-stack-tablet.pp-info-list-icon-top .pp-infolist-icon-wrapper:after{content:'';border-left:1px solid #000;height:1500px;top:14px;right:calc(7px - (1px/2));position:absolute;width:1px;top:auto}}@media only screen and (max-width:1024px) and (min-width:766px){.elementor-element.elementor-grid-tablet-1{position:relative}.elementor-element.elementor-grid-tablet-1 .pp-grid-item-wrap{width:100%;float:right}.elementor-element.elementor-grid-tablet-2{position:relative}.elementor-element.elementor-grid-tablet-2 .pp-grid-item-wrap{width:50%;float:right}.elementor-element.elementor-grid-tablet-2 .pp-grid-item-wrap:nth-of-type(2n){margin-left:0!important}.elementor-element.elementor-grid-tablet-2 .pp-grid-item-wrap:nth-of-type(2n+1){clear:right}.elementor-element.elementor-grid-tablet-3{position:relative}.elementor-element.elementor-grid-tablet-3 .pp-grid-item-wrap{width:33.3333%;float:right}.elementor-element.elementor-grid-tablet-3 .pp-grid-item-wrap:nth-of-type(3n){margin-left:0!important}.elementor-element.elementor-grid-tablet-3 .pp-grid-item-wrap:nth-of-type(3n+1){clear:right}.elementor-element.elementor-grid-tablet-4{position:relative}.elementor-element.elementor-grid-tablet-4 .pp-grid-item-wrap{width:25%;float:right}.elementor-element.elementor-grid-tablet-4 .pp-grid-item-wrap:nth-of-type(4n){margin-left:0!important}.elementor-element.elementor-grid-tablet-4 .pp-grid-item-wrap:nth-of-type(4n+1){clear:right}.elementor-element.elementor-grid-tablet-5{position:relative}.elementor-element.elementor-grid-tablet-5 .pp-grid-item-wrap{width:20%;float:right}.elementor-element.elementor-grid-tablet-5 .pp-grid-item-wrap:nth-of-type(5n){margin-left:0!important}.elementor-element.elementor-grid-tablet-5 .pp-grid-item-wrap:nth-of-type(5n+1){clear:right}.elementor-element.elementor-grid-tablet-6{position:relative}.elementor-element.elementor-grid-tablet-6 .pp-grid-item-wrap{width:16.6667%;float:right}.elementor-element.elementor-grid-tablet-6 .pp-grid-item-wrap:nth-of-type(6n){margin-left:0!important}.elementor-element.elementor-grid-tablet-6 .pp-grid-item-wrap:nth-of-type(6n+1){clear:right}}@media only screen and (max-width:767px){.pp-info-box-mobile-top .pp-info-box{flex-direction:column}.pp-info-box-mobile-top .pp-info-box .pp-info-box-icon-wrap{display:inline-block;margin:0}.pp-info-box-mobile-top .pp-info-box .pp-info-box-icon{margin-left:auto}.pp-info-box-mobile-left .pp-info-box{flex-direction:row}.pp-info-box-mobile-left .pp-info-box .pp-info-box-icon-wrap{display:flex;margin-left:20px}.pp-info-box-mobile-left .pp-info-box .pp-info-box-icon,.pp-info-box-mobile-left .pp-info-box img{width:100%}.pp-info-box-mobile-right .pp-info-box{flex-direction:row-reverse}.pp-info-box-mobile-right .pp-info-box .pp-info-box-icon-wrap{display:flex;margin-right:20px}.pp-info-box-mobile-right .pp-info-box .pp-info-box-icon,.pp-info-box-mobile-right .pp-info-box img{width:100%}.pp-info-list-stack-mobile.pp-info-list-icon-top .pp-info-list-container .pp-list-items{display:block}.pp-info-list-stack-mobile.pp-info-list-icon-top .pp-info-list-container .pp-list-items .pp-info-list-item{display:block;text-align:center!important;width:100%!important}.pp-info-list-stack-mobile.pp-info-list-icon-top .pp-info-list-item-inner{flex-direction:row}.pp-info-list-stack-mobile.pp-info-list-icon-top .pp-infolist-icon-wrapper{margin-bottom:0;margin-left:10px}.pp-info-list-stack-mobile.pp-info-list-icon-top .pp-infolist-icon-wrapper:before{content:'';border-left:1px solid #000;height:1500px;bottom:14px;right:calc(7px - (1px/2));position:absolute;width:1px;top:auto}.pp-info-list-stack-mobile.pp-info-list-icon-top .pp-infolist-icon-wrapper:after{content:'';border-left:1px solid #000;height:1500px;top:14px;right:calc(7px - (1px/2));position:absolute;width:1px;top:auto}.elementor-element.elementor-grid-mobile-1{position:relative}.elementor-element.elementor-grid-mobile-1 .pp-grid-item-wrap{width:100%;float:right}.elementor-element.elementor-grid-mobile-2{position:relative}.elementor-element.elementor-grid-mobile-2 .pp-grid-item-wrap{width:50%;float:right}.elementor-element.elementor-grid-mobile-2 .pp-grid-item-wrap:nth-of-type(2n){margin-left:0!important}.elementor-element.elementor-grid-mobile-2 .pp-grid-item-wrap:nth-of-type(2n+1){clear:right}.elementor-element.elementor-grid-mobile-3{position:relative}.elementor-element.elementor-grid-mobile-3 .pp-grid-item-wrap{width:33.3333%;float:right}.elementor-element.elementor-grid-mobile-3 .pp-grid-item-wrap:nth-of-type(3n){margin-left:0!important}.elementor-element.elementor-grid-mobile-3 .pp-grid-item-wrap:nth-of-type(3n+1){clear:right}.elementor-element.elementor-grid-mobile-4{position:relative}.elementor-element.elementor-grid-mobile-4 .pp-grid-item-wrap{width:25%;float:right}.elementor-element.elementor-grid-mobile-4 .pp-grid-item-wrap:nth-of-type(4n){margin-left:0!important}.elementor-element.elementor-grid-mobile-4 .pp-grid-item-wrap:nth-of-type(4n+1){clear:right}.elementor-element.elementor-grid-mobile-5{position:relative}.elementor-element.elementor-grid-mobile-5 .pp-grid-item-wrap{width:20%;float:right}.elementor-element.elementor-grid-mobile-5 .pp-grid-item-wrap:nth-of-type(5n){margin-left:0!important}.elementor-element.elementor-grid-mobile-5 .pp-grid-item-wrap:nth-of-type(5n+1){clear:right}.elementor-element.elementor-grid-mobile-6{position:relative}.elementor-element.elementor-grid-mobile-6 .pp-grid-item-wrap{width:16.6667%;float:right}.elementor-element.elementor-grid-mobile-6 .pp-grid-item-wrap:nth-of-type(6n){margin-left:0!important}.elementor-element.elementor-grid-mobile-6 .pp-grid-item-wrap:nth-of-type(6n+1){clear:right}}.pp-tooltip{display:none;position:absolute;min-width:50px;max-width:200px;min-height:16px;max-height:200px;border-radius:2px;z-index:3000;line-height:16px;font-size:13px;opacity:.01;transition:top .2s ease,opacity .3s ease}.pp-tooltip .pp-tooltip-callout{position:absolute}.pp-tooltip .pp-tooltip-callout:after,.pp-tooltip .pp-tooltip-callout:before{border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}.pp-tooltip.tt-left .pp-tooltip-callout:before{right:100%}.pp-tooltip.tt-left .pp-tooltip-callout:after{right:100%;border-color:transparent;border-right-color:rgba(0,0,0,.8);border-width:5px;top:50%;margin-top:-5px}.pp-tooltip.tt-right .pp-tooltip-callout:before{left:100%}.pp-tooltip.tt-right .pp-tooltip-callout:after{left:100%;border-color:transparent;border-left-color:rgba(0,0,0,.8);border-width:5px;top:50%;margin-top:-5px}.pp-tooltip.tt-bottom .pp-tooltip-callout:before{bottom:100%}.pp-tooltip.tt-bottom .pp-tooltip-callout:after{bottom:100%;border-color:transparent;border-bottom-color:rgba(0,0,0,.8);border-width:5px;right:50%;margin-right:-5px}.pp-tooltip.tt-top .pp-tooltip-callout:before{top:100%}.pp-tooltip.tt-top .pp-tooltip-callout:after{top:100%;border-color:transparent;border-top-color:rgba(0,0,0,.8);border-width:5px;right:50%;margin-right:-5px}.pp-tooltip-tiny{font-size:10px}.pp-tooltip-small{font-size:12px}.pp-tooltip-large{font-size:14px}.pp-tooltip-content{background:rgba(0,0,0,.8);color:#fff;padding:8px;border-radius:2px}.mfp-bg{top:0;right:0;width:100%;height:100%;z-index:1042;overflow:hidden;position:fixed;background:#0b0b0b;opacity:.8}.mfp-wrap{top:0;right:0;width:100%;height:100%;z-index:1043;position:fixed;outline:0!important;-webkit-backface-visibility:hidden}.mfp-container{text-align:center;position:absolute;width:100%;height:100%;right:0;top:0;padding:0 8px;box-sizing:border-box}.mfp-container:before{content:'';display:inline-block;height:100%;vertical-align:middle}.mfp-align-top .mfp-container:before{display:none}.mfp-content{position:relative;display:inline-block;vertical-align:middle;margin:0 auto;text-align:right;z-index:1045}.mfp-ajax-holder .mfp-content,.mfp-inline-holder .mfp-content{width:100%;cursor:auto}.mfp-ajax-cur{cursor:progress}.mfp-zoom-out-cur,.mfp-zoom-out-cur .mfp-image-holder .mfp-close{cursor:zoom-out}.mfp-zoom{cursor:pointer;cursor:zoom-in}.mfp-auto-cursor .mfp-content{cursor:auto}.mfp-arrow,.mfp-close,.mfp-counter,.mfp-preloader{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mfp-loading.mfp-figure{display:none}.mfp-hide{display:none!important}.mfp-preloader{color:#ccc;position:absolute;top:50%;width:auto;text-align:center;margin-top:-.8em;right:8px;left:8px;z-index:1044}.mfp-preloader a{color:#ccc}.mfp-preloader a:hover{color:#fff}.mfp-s-ready .mfp-preloader{display:none}.mfp-s-error .mfp-content{display:none}button.mfp-arrow,button.mfp-close{overflow:visible;cursor:pointer;background:0 0;border:0;-webkit-appearance:none;display:block;outline:0;padding:0;z-index:1046;box-shadow:none;touch-action:manipulation}button::-moz-focus-inner{padding:0;border:0}.mfp-close{width:44px;height:44px;line-height:44px;position:absolute;left:0;top:0;text-decoration:none;text-align:center;opacity:.65;padding:0 10px 18px 0;color:#fff;font-style:normal;font-size:28px;font-family:Arial,Baskerville,monospace}.mfp-close:focus,.mfp-close:hover{opacity:1}.mfp-close:active{top:1px}.mfp-close-btn-in .mfp-close{color:#333}.mfp-iframe-holder .mfp-close,.mfp-image-holder .mfp-close{color:#fff;left:-6px;text-align:left;padding-left:6px;width:100%}.mfp-counter{position:absolute;top:0;left:0;color:#ccc;font-size:12px;line-height:18px;white-space:nowrap}.mfp-arrow{position:absolute;opacity:.65;margin:0;top:50%;margin-top:-55px;padding:0;width:90px;height:110px;-webkit-tap-highlight-color:transparent}.mfp-arrow:active{margin-top:-54px}.mfp-arrow:focus,.mfp-arrow:hover{opacity:1}.mfp-arrow:after,.mfp-arrow:before{content:'';display:block;width:0;height:0;position:absolute;right:0;top:0;margin-top:35px;margin-right:35px;border:medium inset transparent}.mfp-arrow:after{border-top-width:13px;border-bottom-width:13px;top:8px}.mfp-arrow:before{border-top-width:21px;border-bottom-width:21px;opacity:.7}.mfp-arrow-left{right:0}.mfp-arrow-left:after{border-left:17px solid #fff;margin-right:31px}.mfp-arrow-left:before{margin-right:25px;border-left:27px solid #3f3f3f}.mfp-arrow-right{left:0}.mfp-arrow-right:after{border-right:17px solid #fff;margin-right:39px}.mfp-arrow-right:before{border-right:27px solid #3f3f3f}.mfp-iframe-holder{padding-top:40px;padding-bottom:40px}.mfp-iframe-holder .mfp-content{line-height:0;width:100%;max-width:900px}.mfp-iframe-holder .mfp-close{top:-40px}.mfp-iframe-scaler{width:100%;height:0;overflow:hidden;padding-top:56.25%}.mfp-iframe-scaler iframe{position:absolute;display:block;top:0;right:0;width:100%;height:100%;box-shadow:0 0 8px rgba(0,0,0,.6);background:#000}img.mfp-img{width:auto;max-width:100%;height:auto;display:block;line-height:0;box-sizing:border-box;padding:40px 0 40px;margin:0 auto}.mfp-figure{line-height:0}.mfp-figure:after{content:'';position:absolute;right:0;top:40px;bottom:40px;display:block;left:0;width:auto;height:auto;z-index:-1;box-shadow:0 0 8px rgba(0,0,0,.6);background:#444}.mfp-figure small{color:#bdbdbd;display:block;font-size:12px;line-height:14px}.mfp-figure figure{margin:0}.mfp-bottom-bar{margin-top:-36px;position:absolute;top:100%;right:0;width:100%;cursor:auto}.mfp-title{text-align:right;line-height:18px;color:#f3f3f3;word-wrap:break-word;padding-left:36px}.mfp-image-holder .mfp-content{max-width:100%}.mfp-gallery .mfp-image-holder .mfp-figure{cursor:pointer}@media screen and (max-width:800px) and (orientation:landscape),screen and (max-height:300px){.mfp-img-mobile .mfp-image-holder{padding-right:0;padding-left:0}.mfp-img-mobile img.mfp-img{padding:0}.mfp-img-mobile .mfp-figure:after{top:0;bottom:0}.mfp-img-mobile .mfp-figure small{display:inline;margin-right:5px}.mfp-img-mobile .mfp-bottom-bar{background:rgba(0,0,0,.6);bottom:0;margin:0;top:auto;padding:3px 5px;position:fixed;box-sizing:border-box}.mfp-img-mobile .mfp-bottom-bar:empty{padding:0}.mfp-img-mobile .mfp-counter{left:5px;top:3px}.mfp-img-mobile .mfp-close{top:0;left:0;width:35px;height:35px;line-height:35px;background:rgba(0,0,0,.6);position:fixed;text-align:center;padding:0}}@media all and (max-width:900px){.mfp-arrow{transform:scale(.75)}.mfp-arrow-left{transform-origin:100%}.mfp-arrow-right{transform-origin:0}.mfp-container{padding-right:6px;padding-left:6px}}/*!
2
  * animate.css -http://daneden.me/animate
3
  * Version - 3.5.2
4
  * Licensed under the MIT license - http://opensource.org/licenses/MIT
1
+ div[class*=' pa-'],div[class^=pa-]{box-sizing:border-box}.clearfix:after{clear:both;content:"";font-size:0;height:0;display:block;visibility:hidden}.pp-icon{display:inline-block;line-height:1;text-align:center;transition:all .3s}.pp-icon i,.pp-icon svg{width:1em;height:1em;position:relative;display:block}.pp-no-trans{transition:none}.pp-elementor-grid{display:flex;flex-wrap:wrap;position:relative}.pp-elementor-grid .pp-grid-item{transition:all .25s linear 0s;position:relative}.pp-elementor-grid .pp-grid-item-wrap{float:right;margin-bottom:0;margin-right:0;text-align:center;transition:all .2s cubic-bezier(.645,.045,.355,1)}.pp-contact-form input[type=date],.pp-contact-form input[type=email],.pp-contact-form input[type=number],.pp-contact-form input[type=tel],.pp-contact-form input[type=text],.pp-contact-form input[type=url],.pp-contact-form textarea{background:#fff;box-shadow:none;-webkit-box-shadow:none;float:none;height:auto;margin:0;outline:0;width:auto}.pp-contact-form input[type=submit]{border:0;float:none;height:auto;margin:0;padding:10px 20px;width:auto}.pp-contact-form input[type=button],.pp-contact-form input[type=submit]{transition:all .25s linear 0s}.pp-contact-form.placeholder-hide input::-webkit-input-placeholder,.pp-contact-form.placeholder-hide textarea::-webkit-input-placeholder{opacity:0;visibility:hidden}.pp-contact-form.placeholder-hide input::-moz-placeholder,.pp-contact-form.placeholder-hide textarea::-moz-placeholder{opacity:0;visibility:hidden}.pp-contact-form.placeholder-hide input:-ms-input-placeholder,.pp-contact-form.placeholder-hide textarea:-ms-input-placeholder{opacity:0;visibility:hidden}.pp-contact-form.placeholder-hide input:-moz-placeholder,.pp-contact-form.placeholder-hide textarea:-moz-placeholder{opacity:0;visibility:hidden}.pp-custom-radio-checkbox input[type=checkbox],.pp-custom-radio-checkbox input[type=radio]{-webkit-appearance:none;-moz-appearance:none;border-style:solid;border-width:0;outline:0;min-width:1px;width:15px;height:15px;background:#ddd;padding:3px}.pp-custom-radio-checkbox input[type=checkbox]:before,.pp-custom-radio-checkbox input[type=radio]:before{content:"";width:100%;height:100%;padding:0;margin:0;display:block}.pp-custom-radio-checkbox input[type=checkbox]:checked:before,.pp-custom-radio-checkbox input[type=radio]:checked:before{background:#999;transition:all .25s linear 0s}.pp-custom-radio-checkbox input[type=radio]{border-radius:50%}.pp-custom-radio-checkbox input[type=radio]:before{border-radius:50%}.pp-divider-wrap{font-size:0;line-height:0}.pp-divider{text-align:center}.pp-divider-left .divider-border-left{display:none}.pp-divider-right .divider-border-right{display:none}.pp-divider-horizontal{border:0;border-color:#000;border-bottom-width:4px;border-top-width:0;display:inline-block;width:80px;height:0;border-style:dashed}.pp-divider-vertical{border:0;display:inline-block;border-right:2px solid #000;padding-bottom:50px}.divider-text-container{display:inline-block;max-width:100%}.divider-text-wrap{display:flex;align-items:center;margin:0 auto}.pp-divider-text{font-size:16px;line-height:1.4}.pp-divider-border-wrap{flex:1 1 auto}.divider-border{border:0;height:1px;border-top:1px solid #000;display:block;width:100%}.pp-divider-content{display:inherit;flex:0 1 auto;margin:0 20px}.pp-dual-heading .pp-first-text,.pp-dual-heading .pp-second-text{display:inline-block}.pp-counter{display:inline-block}.pp-counter-icon,.pp-counter-icon-divider,.pp-counter-icon-wrap,.pp-counter-num-divider{display:inline-block}.pp-counter-icon{line-height:1}.pp-counter-layout-3 .pp-icon-title-wrap,.pp-counter-layout-3-number-wrap,.pp-counter-layout-4 .pp-icon-title-wrap,.pp-counter-layout-4-number-wrap{display:flex;align-items:center;justify-content:center}.pp-counter-layout-5,.pp-counter-layout-6{display:flex;align-items:center;justify-content:center}.pp-counter-layout-6 .pp-counter-icon-wrap{order:2}.pp-counter-layout-7,.pp-counter-layout-8{display:inline-flex;align-items:center;justify-content:center}.pp-counter-layout-7 .pp-icon-title-wrap,.pp-counter-layout-8 .pp-icon-title-wrap{display:inline-flex;flex-direction:column;align-items:flex-start}.pp-counter-layout-7 .pp-counter-title-wrap,.pp-counter-layout-8 .pp-counter-title-wrap{text-align:right}.pp-counter-layout-8{flex-direction:row-reverse}.pp-counter-layout-8 .pp-icon-title-wrap{align-items:flex-end}.pp-counter-layout-8 .pp-counter-title-wrap{text-align:left}.pp-counter .pp-icon-title-wrap .pp-counter-title{display:inline-block}.pp-counter .pp-icon-number-wrap .pp-counter-number-wrap{display:inline-block}.pp-business-hours .pp-business-day,.pp-business-hours .pp-business-timing{float:right;width:50%}.pp-business-hours .pp-business-timing{text-align:left}.pp-list-container .pp-icon-wrapper{line-height:1;transition:all .25s linear 0s}.pp-list-container .pp-icon-wrapper.icon-right{order:2}.pp-list-container .pp-icon-list-icon{display:inline-block;text-align:center}.pp-list-container .pp-list-items{list-style:none;margin:0;padding:0}.pp-list-container .pp-list-items li{margin:0;padding:0;position:relative;align-items:center;display:flex}.pp-list-container .pp-list-items li:after{bottom:0;display:block;position:absolute;margin-bottom:-5px}.pp-list-container .pp-list-items .fa{text-align:center}.pp-list-container .pp-list-items a{display:inherit;align-items:center}.pp-list-items.pp-inline-items{display:flex;flex-wrap:wrap}.pp-list-items.pp-inline-items li:not(:last-child){margin-left:8px}.pp-info-box-container{display:block;transition:all .25s linear 0s}.pp-info-box .pp-info-box-icon{display:inline-block;line-height:1;max-width:100%}.pp-info-box .pp-info-box-icon .fa{transition:all .25s linear 0s;width:1em;height:1em}.pp-info-box .pp-info-box-content{flex-grow:1}.pp-info-box-divider-wrap{font-size:0;line-height:0}.pp-info-box-divider{display:inline-block}.pp-info-box-left .pp-info-box{display:flex;flex-direction:row}.pp-info-box-left .pp-info-box .pp-info-box-icon-wrap{display:flex;margin-left:20px}.pp-info-box-left .pp-info-box .pp-info-box-icon,.pp-info-box-left .pp-info-box img{width:100%}.pp-info-box-right .pp-info-box{display:flex;flex-direction:row-reverse}.pp-info-box-right .pp-info-box .pp-info-box-icon-wrap{display:flex;margin-right:20px}.pp-info-box-right .pp-info-box .pp-info-box-icon,.pp-info-box-right .pp-info-box img{width:100%}.pp-info-box-carousel .pp-info-box-content-wrap{overflow:hidden}.pp-info-list-container{overflow:hidden}.pp-info-list-container li{overflow:hidden;position:relative}.pp-info-list-container li:last-child{overflow:hidden}.pp-info-list-container .pp-info-list-item-inner{align-items:center;display:flex}.pp-info-list-container .pp-infolist-icon-wrapper{background:#f5f5f5;display:inline-flex;justify-content:center;align-items:center;flex-shrink:0;position:relative}.pp-info-list-container .pp-info-list-number{text-align:center}.pp-info-list-container .pp-info-list-item:last-child{margin-bottom:0!important}.pp-info-list-container .pp-list-items a{color:inherit}.pp-info-list-icon-left.pp-info-list-icon-vertical-middle .pp-info-list-item-inner,.pp-info-list-icon-right.pp-info-list-icon-vertical-middle .pp-info-list-item-inner{align-items:center}.pp-info-list-icon-left.pp-info-list-icon-vertical-top .pp-info-list-item-inner,.pp-info-list-icon-right.pp-info-list-icon-vertical-top .pp-info-list-item-inner{align-items:flex-start}.pp-info-list-icon-left.pp-info-list-icon-vertical-top .pp-info-list-item:first-child .pp-infolist-icon-wrapper:before,.pp-info-list-icon-right.pp-info-list-icon-vertical-top .pp-info-list-item:first-child .pp-infolist-icon-wrapper:before{display:none}.pp-info-list-icon-left.pp-info-list-icon-vertical-bottom .pp-info-list-item-inner,.pp-info-list-icon-right.pp-info-list-icon-vertical-bottom .pp-info-list-item-inner{align-items:flex-end}.pp-info-list-icon-left.pp-info-list-icon-vertical-bottom .pp-info-list-item:last-child .pp-infolist-icon-wrapper:after,.pp-info-list-icon-right.pp-info-list-icon-vertical-bottom .pp-info-list-item:last-child .pp-infolist-icon-wrapper:after{display:none}.pp-info-list-icon-top.pp-info-list-icon-horizontal-center .pp-info-list-item-inner{align-items:center}.pp-info-list-icon-top.pp-info-list-icon-horizontal-left .pp-info-list-item-inner{align-items:flex-start}.pp-info-list-icon-top.pp-info-list-icon-horizontal-left .pp-info-list-item:first-child .pp-infolist-icon-wrapper:before{display:none}.pp-info-list-icon-top.pp-info-list-icon-horizontal-right .pp-info-list-item-inner{align-items:flex-end}.pp-info-list-icon-top.pp-info-list-icon-horizontal-right .pp-info-list-item:last-child .pp-infolist-icon-wrapper:after{display:none}.pp-info-list-icon-left .pp-infolist-icon-wrapper{margin-left:10px}.pp-info-list-icon-left .pp-info-list-connector .pp-infolist-icon-wrapper:before{content:'';border-left:1px solid #000;height:1500px;bottom:14px;right:calc(7px - (1px/2));position:absolute;width:1px}.pp-info-list-icon-left .pp-info-list-connector .pp-infolist-icon-wrapper:after{content:'';border-left:1px solid #000;height:1500px;top:14px;right:calc(7px - (1px/2));position:absolute;width:1px}.pp-info-list-icon-right .pp-info-list-item{justify-content:flex-end;text-align:left}.pp-info-list-icon-right .pp-infolist-icon-wrapper{margin-right:10px;order:2}.pp-info-list-icon-right .pp-info-list-connector .pp-infolist-icon-wrapper:before{content:'';border-right:1px solid #000;height:1500px;bottom:14px;left:calc(7px - (1px/2));position:absolute;width:1px}.pp-info-list-icon-right .pp-info-list-connector .pp-infolist-icon-wrapper:after{content:'';border-right:1px solid #000;height:1500px;top:14px;left:calc(7px - (1px/2));position:absolute;width:1px}.pp-info-list-connector.pp-info-list-corners-hide .pp-info-list-item:first-child .pp-infolist-icon-wrapper:before{display:none}.pp-info-list-connector.pp-info-list-corners-hide .pp-info-list-item:last-child .pp-infolist-icon-wrapper:after{display:none}.pp-info-list-icon-top .pp-list-items{display:flex;justify-content:center}.pp-info-list-icon-top .pp-list-items .pp-info-list-item{display:inline-block;flex-grow:1;flex-basis:0;text-align:center}.pp-info-list-icon-top .pp-list-items .pp-info-list-item:last-child{margin-left:0!important}.pp-info-list-icon-top .pp-infolist-icon-wrapper{margin-bottom:10px;vertical-align:top}.pp-info-list-icon-top .pp-info-list-connector .pp-infolist-icon-wrapper:before{content:'';border-top:1px solid #000;height:1px;top:calc(7px - (1px/2));right:auto;left:14px;position:absolute;width:1500px}.pp-info-list-icon-top .pp-info-list-connector .pp-infolist-icon-wrapper:after{content:'';border-top:1px solid #000;height:1px;right:14px;top:calc(7px - (1px/2));left:auto;position:absolute;width:1500px}.pp-info-list-icon-top .pp-info-list-item-inner{flex-direction:column}.pp-infolist-icon-wrapper{line-height:1;position:relative;z-index:1}.pp-info-list-item .pp-info-list-button{display:flex}.pp-info-list-item .pp-info-list-button .pp-button-icon{margin-left:10px}.pp-info-list-item .pp-info-list-button-icon-after .pp-button-icon{margin-right:10px;margin-left:0;order:2}.pp-link{display:inline-block;position:relative}.pp-link-effect-1:after{background:#000;position:absolute;bottom:-4px;content:'';height:1px;right:0;opacity:0;transform:translateY(10px);transition:height .25s,opacity .25s,transform .25s;width:100%}.pp-link-effect-1:hover:after{height:4px;opacity:1;transform:translateY(0)}.pp-link-effect-2:after{background:#000;position:absolute;bottom:-4px;content:'';height:1px;right:0;opacity:0;transform:translateY(0);transition:height .25s,opacity .25s,transform .25s;width:100%}.pp-link-effect-2:hover:after{height:4px;opacity:1;transform:translateY(10px)}.pp-link-effect-3:after,.pp-link-effect-3:before{display:inline-block;opacity:0;transition:transform .3s,opacity .2s}.pp-link-effect-3:before{margin-left:10px;content:'[';transform:translateX(-20px)}.pp-link-effect-3:after{margin-right:10px;content:']';transform:translateX(20px)}.pp-link-effect-3:focus:after,.pp-link-effect-3:focus:before,.pp-link-effect-3:hover:after,.pp-link-effect-3:hover:before{opacity:1;transform:translateX(0)}.pp-link-effect-4{perspective:1000px}.pp-link-effect-4 span{position:relative;display:inline-block;padding:0 14px;background:#2195de;transition:transform .3s;transform-origin:50% 0;transform-style:preserve-3d}.pp-link-effect-4 span:before{position:absolute;top:100%;right:0;width:100%;height:100%;background:#0965a0;text-align:center;content:attr(data-hover);transition:background .3s;transform:rotateX(-90deg);transform-origin:50% 0}.pp-link-effect-4:focus span,.pp-link-effect-4:hover span{transform:rotateX(90deg) translateY(-22px)}.pp-link-effect-4:focus span:before,.pp-link-effect-4:hover span:before{background:#28a2ee}.pp-link-effect-5{display:inline-block;overflow:hidden;padding:0 4px}.pp-link-effect-5 span{position:relative;display:inline-block;transition:transform .3s}.pp-link-effect-5 span:before{position:absolute;top:100%;content:attr(data-hover);font-weight:700;transform:translate3d(0,0,0)}.pp-link-effect-5:focus span,.pp-link-effect-5:hover span{transform:translateY(-100%)}.pp-link-effect-6{margin:0 10px;padding:10px 20px}.pp-link-effect-6:before{position:absolute;top:0;right:0;width:100%;height:2px;background:#fff;content:'';transition:top .3s}.pp-link-effect-6:after{position:absolute;top:0;right:0;width:2px;height:2px;background:#fff;content:'';transition:height .3s}.pp-link-effect-6:hover::before{top:100%;opacity:1}.pp-link-effect-6:hover::after{height:100%}.pp-link-effect-7{padding:12px 10px 10px;color:#566473;text-shadow:none;font-weight:700}.pp-link-effect-7:after,.pp-link-effect-7:before{position:absolute;top:100%;right:0;width:100%;height:3px;background:#566473;content:'';transition:transform .3s;transform:scale(.85)}.pp-link-effect-7:after{opacity:0;transition:top .3s,opacity .3s,transform .3s}.pp-link-effect-7:focus::after,.pp-link-effect-7:focus::before,.pp-link-effect-7:hover::after,.pp-link-effect-7:hover::before{transform:scale(1)}.pp-link-effect-7:focus::after,.pp-link-effect-7:hover::after{top:0;opacity:1}.pp-link-effect-8{padding:10px 20px}.pp-link-effect-8:after,.pp-link-effect-8:before{position:absolute;top:0;right:0;width:100%;height:100%;border:3px solid #354856;content:'';transition:transform .3s,opacity .3s}.pp-link-effect-8:after{border-color:#fff;opacity:0;transform:translateY(-7px) translateX(-6px)}.pp-link-effect-8:focus:before,.pp-link-effect-8:hover:before{opacity:0;transform:translateY(5px) translateX(5px)}.pp-link-effect-8:focus:after,.pp-link-effect-8:hover:after{opacity:1;transform:translateY(0) translateX(0)}.pp-link-effect-9{display:inline-block;margin:0 20px;padding:18px 20px}.pp-link-effect-9:after,.pp-link-effect-9:before{position:absolute;top:0;right:0;width:100%;height:1px;background:#fff;content:'';opacity:.2;transition:opacity .3s,height .3s}.pp-link-effect-9:after{top:100%;opacity:0;transition:transform .3s,opacity .3s;transform:translateY(-10px)}.pp-link-effect-9 span:first-child{z-index:2;display:block;font-weight:300}.pp-link-effect-9 span:last-child{z-index:1;display:block;padding:8px 0 0 0;color:rgba(0,0,0,.4);text-shadow:none;text-transform:none;font-style:italic;font-size:.75em;font-family:Palatino,"Palatino Linotype","Palatino LT STD","Book Antiqua",Georgia,serif;opacity:0;transition:transform .3s,opacity .3s;transform:translateY(-100%)}.pp-link-effect-9:focus:before,.pp-link-effect-9:hover:before{height:6px}.pp-link-effect-9:focus:after,.pp-link-effect-9:focus:before,.pp-link-effect-9:hover:after,.pp-link-effect-9:hover:before{opacity:1;transform:translateY(0)}.pp-link-effect-9:focus span:last-child,.pp-link-effect-9:hover span:last-child{opacity:1;transform:translateY(0)}.pp-link-effect-10{display:inline-block;overflow:hidden;margin:0 15px}.pp-link-effect-10 span{display:block;background:#0f7c67;padding:8px 20px;transition:transform .3s}.pp-link-effect-10:before{position:absolute;top:0;right:0;z-index:-1;width:100%;height:100%;background:#fff;color:#0f7c67;content:attr(data-hover);padding:8px 20px;transition:transform .3s;-webkit-transform:translateX(50%)}.pp-link-effect-10:focus span,.pp-link-effect-10:hover span{transform:translateX(-100%)}.pp-link-effect-10:focus:before,.pp-link-effect-10:hover:before{transform:translateX(0);z-index:1}.pp-link-effect-11{padding:10px 0;border-top:2px solid #0972b4;color:#0972b4;text-shadow:none}.pp-link-effect-11:before{position:absolute;top:0;right:0;overflow:hidden;padding:10px 0;max-width:0;border-bottom:2px solid #fff;color:#fff;content:attr(data-hover);transition:max-width .5s}.pp-link-effect-11:focus:before,.pp-link-effect-11:hover:before{max-width:100%}.pp-link-effect-12:after,.pp-link-effect-12:before{position:absolute;top:50%;right:50%;width:100px;height:100px;border:2px solid rgba(0,0,0,.1);border-radius:50%;content:'';opacity:0;transition:transform .3s,opacity .3s;transform:translateX(50%) translateY(-50%) scale(.2)}.pp-link-effect-12:after{width:90px;height:90px;border-width:6px;transform:translateX(50%) translateY(-50%) scale(.8)}.pp-link-effect-12:focus:after,.pp-link-effect-12:focus:before,.pp-link-effect-12:hover:after,.pp-link-effect-12:hover:before{opacity:1;transform:translateX(50%) translateY(-50%) scale(1)}.pp-link-effect-13{display:inline-block;transition:color .3s}.pp-link-effect-13:before{position:absolute;top:100%;right:50%;color:transparent;content:'\2022';text-shadow:0 0 transparent;font-size:1.2em;transition:text-shadow .3s,color .3s;transform:translateX(50%);pointer-events:none}.pp-link-effect-13:focus:before,.pp-link-effect-13:hover:before{color:#fff;text-shadow:-10px 0 #fff,10px 0 #fff}.pp-link-effect-13:focus,.pp-link-effect-13:hover{color:#ba7700}.pp-link-effect-14{display:inline-block;padding:0 20px;height:45px;line-height:45px}.pp-link-effect-14:after,.pp-link-effect-14:before{position:absolute;width:45px;height:2px;background:#fff;content:'';transition:all .3s;pointer-events:none}.pp-link-effect-14:before{top:0;right:0;transform:rotate(-90deg);transform-origin:100% 0}.pp-link-effect-14:after{left:0;bottom:0;transform:rotate(-90deg);transform-origin:0 0}.pp-link-effect-14:focus:after,.pp-link-effect-14:focus:before,.pp-link-effect-14:hover:after,.pp-link-effect-14:hover:before{opacity:1}.pp-link-effect-14:focus:before,.pp-link-effect-14:hover:before{right:50%;transform:rotate(0) translateX(50%)}.pp-link-effect-14:focus:after,.pp-link-effect-14:hover:after{left:50%;transform:rotate(0) translateX(-50%)}.pp-link-effect-15{display:inline-block;color:rgba(0,0,0,.2);font-weight:700;text-shadow:none}.pp-link-effect-15:before{color:#fff;content:attr(data-hover);position:absolute;transition:transform .3s,opacity .3s}.pp-link-effect-15:focus:before,.pp-link-effect-15:hover:before{transform:scale(.9);opacity:0}.pp-link-effect-16{display:inline-block;color:#6f8686;text-shadow:0 0 1px rgba(111,134,134,.3)}.pp-link-effect-16:before{color:#fff;content:attr(data-hover);position:absolute;opacity:0;text-shadow:0 0 1px rgba(255,255,255,.3);transform:scale(1.1) translateX(-10px) translateY(-10px) rotate(-4deg);transition:transform .3s,opacity .3s;pointer-events:none}.pp-link-effect-16:focus:before,.pp-link-effect-16:hover:before{transform:scale(1) translateX(0) translateY(0) rotate(0);opacity:1}.pp-link-effect-17{display:inline-block;color:#10649b;text-shadow:none;padding:10px 0}.pp-link-effect-17:before{color:#fff;text-shadow:0 0 1px rgba(255,255,255,.3);content:attr(data-hover);position:absolute;transition:transform .3s,opacity .3s;pointer-events:none}.pp-link-effect-17:after{content:'';position:absolute;right:0;bottom:0;width:100%;height:2px;background:#fff;opacity:0;transform:translateY(5px);transition:transform .3s,opacity .3s;pointer-events:none}.pp-link-effect-17:focus:before,.pp-link-effect-17:hover:before{opacity:0;transform:translateY(-2px)}.pp-link-effect-17:focus:after,.pp-link-effect-17:hover:after{opacity:1;transform:translateY(0)}.pp-link-effect-18{display:inline-block;position:relative;z-index:1;padding:0 5px;color:#000;font-weight:700;transition:color .3s}.pp-link-effect-18:after,.pp-link-effect-18:before{position:absolute;width:100%;right:0;top:50%;height:2px;margin-top:-1px;background:#000;content:'';z-index:-1;transition:transform .3s,opacity .3s;pointer-events:none}.pp-link-effect-18:before{transform:translateY(-20px)}.pp-link-effect-18:after{transform:translateY(20px)}.pp-link-effect-18:focus,.pp-link-effect-18:hover{color:#000}.pp-link-effect-18:focus:after,.pp-link-effect-18:focus:before,.pp-link-effect-18:hover:after,.pp-link-effect-18:hover:before{opacity:.7}.pp-link-effect-18:focus:before,.pp-link-effect-18:hover:before{transform:rotate(-45deg)}.pp-link-effect-18:focus:after,.pp-link-effect-18:hover:after{transform:rotate(45deg)}.pp-link-effect-19{display:inline-block;line-height:2em;perspective:800px;width:200px}.pp-link-effect-19 span{position:relative;display:inline-block;width:100%;padding:0 14px;background:#e35041;transition:transform .4s,background .4s;transform-style:preserve-3d;transform-origin:50% 50% -100px}.pp-link-effect-19 span:before{position:absolute;top:0;right:100%;width:100%;height:100%;background:#b53a2d;content:attr(data-hover);transition:background .4s;transform:rotateY(90deg);transform-origin:100% 50%;pointer-events:none}.pp-link-effect-19:focus span,.pp-link-effect-19:hover span{background:#b53a2d;transform:rotateY(-90deg)}.pp-link-effect-19:focus span:before,.pp-link-effect-19:hover span:before{background:#ef5e50}.pp-link-effect-20{display:inline-block;line-height:2em;perspective:800px}.pp-link-effect-20 span{position:relative;display:inline-block;text-align:center;padding:3px 15px 0;background:#587285;box-shadow:inset 0 3px #2f4351;transition:background .6s;transform-origin:50% 0;transform-style:preserve-3d;transform-origin:100% 50%}.pp-link-effect-20 span:before{position:absolute;top:0;right:0;width:100%;height:100%;background:#fff;color:#2f4351;content:attr(data-hover);transform:rotateX(270deg);transition:transform .6s;transform-origin:100% 0;pointer-events:none}.pp-link-effect-20:focus span,.pp-link-effect-20:hover span{background:#2f4351}.pp-link-effect-20:focus span::before,.pp-link-effect-20:hover span::before{transform:rotateX(10deg)}.pp-link-effect-21{display:inline-block;padding:10px;color:#237546;font-weight:700;text-shadow:none;transition:color .3s}.pp-link-effect-21:after,.pp-link-effect-21:before{position:absolute;right:0;width:100%;height:2px;background:#fff;content:'';opacity:0;transition:opacity .3s,transform .3s;transform:translateY(-10px)}.pp-link-effect-21:before{top:0;transform:translateY(-10px)}.pp-link-effect-21:after{bottom:0;transform:translateY(10px)}.pp-link-effect-21:focus,.pp-link-effect-21:hover{color:#fff}.pp-link-effect-21:focus:after,.pp-link-effect-21:focus:before,.pp-link-effect-21:hover:after,.pp-link-effect-21:hover:before{opacity:1;transform:translateY(0)}.pp-pricing-table{overflow:hidden;text-align:center;transition:all .25s linear 0s}.pp-pricing-table-container{position:relative}.pp-pricing-table.horizontal-table{display:flex}.pp-pricing-table.horizontal-table .pp-pricing-table-features,.pp-pricing-table.horizontal-table .pp-pricing-table-footer,.pp-pricing-table.horizontal-table .pp-pricing-table-head{flex:1}.pp-pricing-table-align-left .pp-pricing-table{text-align:right}.pp-pricing-table-align-left .pp-pricing-table-price{justify-content:flex-start}.pp-pricing-table-align-right .pp-pricing-table{text-align:left}.pp-pricing-table-align-right .pp-pricing-table-price{justify-content:flex-end}.pp-pricing-table-head{background:#7a7a7a;padding:30px}.pp-pricing-table .pp-pricing-table-icon{display:inline-block}.pp-pricing-table .pp-pricing-table-title-wrap .pp-pricing-table-title{margin-bottom:0}.pp-pricing-table .pp-pricing-table-title-wrap .pp-pricing-table-subtitle{margin-bottom:0}.pp-pricing-table .pp-pricing-table-price{font-size:40px;margin-right:auto;margin-left:auto;padding:30px}.pp-pricing-table-price-value{display:flex}.pp-pricing-table-after-part{font-size:.4em;line-height:1;align-self:flex-start}.pp-pricing-table .pp-pricing-table-features{list-style:none;margin:0;padding:0}.pp-pricing-table .pp-pricing-table-features li{margin:0;padding:0}.pp-pricing-table .pp-pricing-table-features li:last-child{border-bottom:0}.pp-pricing-table .pp-pricing-table-features .excluded{text-decoration:line-through}.pp-pricing-table .pp-pricing-table-price-duration,.pp-pricing-table .pp-pricing-table-price-prefix{font-size:.4em;line-height:1;text-align:right}.pp-pricing-table .pp-pricing-table-price-prefix{align-self:flex-start}.pp-pricing-table .pp-pricing-table-price-duration{align-self:flex-end}.pp-pricing-table-price-duration-wrap .pp-pricing-table-price{flex-wrap:wrap}.pp-pricing-table-price-duration-wrap .pp-pricing-table-price-duration{text-align:center;width:100%}.pp-pricing-table .pp-pricing-table-price-value{line-height:.9}.pp-pricing-table-price,.pp-pricing-table-price-wrap{display:flex;justify-content:center;align-items:center;width:100%}.pp-pricing-table-price-original{display:inline-flex;font-size:.5em;line-height:1;align-self:flex-end;text-decoration:line-through}.pp-pricing-table-ribbon{color:#fff;font-size:13px;font-weight:700;position:absolute;text-align:center;text-transform:uppercase;top:0;z-index:2}.pp-pricing-table-ribbon-inner{background:#61ce70}.pp-pricing-table-ribbon-1{position:absolute;top:0;width:150px;overflow:hidden;height:150px}.pp-pricing-table-ribbon-1.pp-pricing-table-ribbon-right{right:auto;left:0;transform:rotate(-90deg)}.pp-pricing-table-ribbon-1.pp-pricing-table-ribbon-left{right:0;left:auto;transform:rotate(0)}.pp-pricing-table-ribbon-1 .pp-pricing-table-ribbon-inner{text-align:center;right:0;width:200%;transform:translateY(-50%) translateX(50%) translateX(-35px) rotate(45deg);margin-top:35px;line-height:2}.pp-pricing-table-ribbon-2{border-radius:50%;line-height:4em;min-height:4em;min-width:4em}.pp-pricing-table-ribbon-2 .pp-pricing-table-ribbon-inner{background:#61ce70;border-radius:50%}.pp-pricing-table-ribbon-2.pp-pricing-table-ribbon-right{transform:translateX(-38%) translateY(-38%)}.pp-pricing-table-ribbon-2.pp-pricing-table-ribbon-left{transform:translateX(38%) translateY(-38%)}.pp-pricing-table-ribbon-right{left:0}.pp-pricing-table-ribbon-left{right:0}.pp-pricing-table-ribbon-3{background:#61ce70;top:10%}.pp-pricing-table-ribbon-3 .pp-pricing-table-ribbon-inner{padding:3px 18px}.pp-pricing-table-ribbon-3:after,.pp-pricing-table-ribbon-3:before{border-bottom:8px solid transparent;content:'';display:block;position:absolute;height:0;width:0;top:100%}.pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-right{border-radius:3px 3px 3px 0;left:-8px}.pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-right:after,.pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-right:before{left:0}.pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-right:before{border-right:8px solid #61ce70}.pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-right:after{border-right:8px solid rgba(0,0,0,.2)}.pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-left{border-radius:3px 3px 0 3px;right:-8px}.pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-left:after,.pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-left:before{right:0}.pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-left:before{border-left:8px solid #61ce70}.pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-left:after{border-left:8px solid rgba(0,0,0,.2)}.pp-restaurant-menu .pp-restaurant-menu-item-wrap{margin-bottom:10px;position:relative}.pp-restaurant-menu .pp-restaurant-menu-item{align-items:center;display:flex}.pp-restaurant-menu .pp-restaurant-menu-image{flex-grow:0;margin-left:10px}.pp-restaurant-menu .pp-restaurant-menu-content{flex-grow:1}.pp-restaurant-menu .pp-restaurant-menu-header{display:flex;justify-content:space-between;margin-bottom:5px}.pp-restaurant-menu .pp-restaurant-menu-title{display:inline-block;margin:0}.pp-restaurant-menu .pp-restaurant-menu-title a{color:inherit}.pp-restaurant-menu-style-1 .pp-restaurant-menu-price{float:left}.pp-restaurant-menu-style-3 .pp-restaurant-menu-image{order:1}.pp-restaurant-menu-style-4 .pp-restaurant-menu-header,.pp-restaurant-menu-style-4 .pp-restaurant-menu-item{display:block}.pp-restaurant-menu-style-4 .pp-restaurant-menu-image{display:inline-block}.pp-restaurant-menu-style-1 .pp-price-title-connector{border-bottom:1px dashed #000;height:1px;flex-grow:1;align-self:center;margin:0 20px}.pp-restaurant-menu-style-powerpack .pp-restaurant-menu-item{min-height:150px;position:relative}.pp-restaurant-menu-style-powerpack .pp-restaurant-menu-price{bottom:0;padding:10px;position:absolute;left:0;z-index:1}.pp-restaurant-menu-style-powerpack .pp-restaurant-menu-price:after{border-color:transparent #b83d11;border-style:solid;border-width:110px 0 0 130px;bottom:0;content:"";position:absolute;left:0;z-index:-1}.pp-restaurant-menu-divider-wrap{font-size:0;line-height:0}.pp-restaurant-menu-divider{display:inline-block}.pp-promo-box{overflow:hidden;position:relative;width:100%}.pp-promo-box .pp-promo-box-icon{display:inline-block;line-height:1;text-align:center;transition:all .25s linear 0s}.pp-promo-box .pp-promo-box-icon .pp-promo-box-icon-inner{height:1em;width:1em}.pp-promo-box .pp-promo-box-bg,.pp-promo-box .pp-promo-box-overlay{position:absolute;height:100%;right:0;top:0;width:100%;transition:transform .25s linear 0s}.pp-promo-box .pp-promo-box-bg{padding:40px}.pp-promo-box .pp-promo-box-wrap{height:100%;width:100%;position:relative}.pp-promo-box .pp-promo-box-inner{display:table;width:100%;height:100%}.pp-promo-box .pp-promo-box-inner-content{display:table-cell;vertical-align:middle}.pp-promo-box .pp-promo-box-banner{transition:all .25s linear 0s;min-height:100%;width:100%}.pp-promo-box-heading-divider-wrap,.pp-promo-box-subheading-divider-wrap{font-size:0;line-height:1}.pp-promo-box-heading-divider,.pp-promo-box-subheading-divider{display:inline-block}.pp-image-hotspots{display:flex;position:relative}.pp-hot-spot-wrap{cursor:pointer;position:absolute;width:14px;height:14px;background:#000;border-radius:50%;font-size:14px;display:inline-flex;padding:15px;align-items:center;justify-content:center}.pp-hot-spot-image{position:relative}.pp-hot-spot-inner{cursor:pointer;display:flex;align-items:center;justify-content:center;text-align:center}.pp-hot-spot-inner.hotspot-animation:before{content:'';display:block;position:absolute;z-index:0;pointer-events:none;-webkit-animation:pp-glow 2s infinite;animation:pp-glow 2s infinite;right:0;top:0}.pp-hot-spot-inner.hotspot-animation:hover:before{-webkit-animation:none;animation:none}.pp-hot-spot-inner.hotspot-animation .pp-hotspot-text{z-index:1}.pp-hot-spot-inner,.pp-hot-spot-inner:before{background-color:#000;border-radius:50%;color:#fff;height:100%;position:absolute;width:100%}.pp-hotspot-icon{position:relative}.pp-hotspot-icon-wrap{display:inline-flex;width:100%;height:100%;vertical-align:middle;align-items:center;justify-content:center;border-radius:50%}@-webkit-keyframes pp-glow{0%{transform:scale(1);box-shadow:inset 0 0 1px 1px rgba(0,0,0,.8);opacity:1}100%{transform:scale(1.5);box-shadow:inset 0 0 1px 1px transparent;opacity:0}}@keyframes pp-glow{0%{transform:scale(1);box-shadow:inset 0 0 1px 1px rgba(0,0,0,.8);opacity:1}100%{transform:scale(1.5);box-shadow:inset 0 0 1px 1px transparent;opacity:0}}.tipso_content p:last-child{margin-bottom:0}.pp-hotspot-img-align-center .pp-image-hotspots{justify-content:center}.pp-hotspot-img-align-left .pp-image-hotspots{justify-content:flex-start}.pp-hotspot-img-align-right .pp-image-hotspots{justify-content:flex-end}@media only screen and (max-width:1024px){.pp-hotspot-img-align-tablet-center .pp-image-hotspots{justify-content:center}.pp-hotspot-img-align-tablet-left .pp-image-hotspots{justify-content:flex-start}.pp-hotspot-img-align-tablet-right .pp-image-hotspots{justify-content:flex-end}}@media only screen and (max-width:767px){.pp-hotspot-img-align-mobile-center .pp-image-hotspots{justify-content:center}.pp-hotspot-img-align-mobile-left .pp-image-hotspots{justify-content:flex-start}.pp-hotspot-img-align-mobile-right .pp-image-hotspots{justify-content:flex-end}}.pp-instagram-feed{position:relative}.pp-instagram-feed .pp-feed-item{float:right;position:relative}.pp-instagram-feed .pp-feed-item img{-webkit-filter:none;filter:none;vertical-align:middle}.pp-instagram-feed .pp-feed-item:hover img{-webkit-filter:none;filter:none}.pp-instagram-feed-gallery .pp-feed-item{width:20%}.pp-instagram-feed-title-wrap{background:#fff;position:absolute;z-index:2;position:absolute;top:50%;right:50%;transform:translate(50%,-50%)}.pp-insta-title-top .pp-instagram-feed-title-wrap{top:0;position:absolute;right:50%;transform:translate(50%)}.pp-insta-title-bottom .pp-instagram-feed-title-wrap{bottom:0;top:auto;position:absolute;right:50%;transform:translate(50%)}.pp-instagram-feed-title{display:block;padding:6px 30px;text-align:center}.pp-instagram-feed .pp-feed-item{position:relative}.pp-instagram-feed .pp-feed-item-inner{display:block;position:relative}.pp-instagram-feed-gray .pp-feed-item img{-webkit-filter:grayscale(100%);filter:grayscale(100%);transition:-webkit-filter .25s linear 0s;transition:filter .25s linear 0s;transition:filter .25s linear 0s,-webkit-filter .25s linear 0s}.pp-instagram-feed-hover-gray .pp-feed-item:hover img{-webkit-filter:grayscale(100%);filter:grayscale(100%);transition:-webkit-filter .25s linear 0s;transition:filter .25s linear 0s;transition:filter .25s linear 0s,-webkit-filter .25s linear 0s}.pp-instagram-feed .pp-overlay-container{color:#fff;display:flex;justify-content:center;align-items:center;z-index:1}.pp-instagram-feed .pp-overlay-container span{display:flex;align-items:center;margin:0 5px}.pp-instagram-feed-hover .pp-overlay-container{opacity:0}.pp-instagram-feed-hover .pp-feed-item:hover .pp-overlay-container{opacity:1}.pp-instagram-feed .swiper-container .swiper-slide img{width:100%}.pp-instafeed{overflow:hidden;position:relative}.pp-if-icon{margin-left:5px}.pp-if-square-images .pp-feed-item-inner{position:relative;padding-bottom:100%;width:100%}.pp-if-square-images .pp-if-img{overflow:hidden;position:absolute;width:100%;height:100%;right:0;top:0}.pp-if-square-images img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.pp-load-more-button{cursor:pointer}.pp-load-more-button[disabled=disabled]{display:none}.pp-button-loading .pp-button-loader{display:inline-block;width:22px;height:22px;vertical-align:middle;margin-left:8px}.pp-button-loading .pp-button-loader:after{content:'';display:block;width:100%;height:100%;border-radius:50%;border:3px solid #fff;border-color:#fff transparent #fff transparent;-webkit-animation:pp-dual-ring 1.2s linear infinite;animation:pp-dual-ring 1.2s linear infinite}@-webkit-keyframes pp-dual-ring{0%{transform:rotate(0)}100%{transform:rotate(-360deg)}}@keyframes pp-dual-ring{0%{transform:rotate(0)}100%{transform:rotate(-360deg)}}.twentytwenty-horizontal .twentytwenty-handle:after,.twentytwenty-horizontal .twentytwenty-handle:before,.twentytwenty-vertical .twentytwenty-handle:after,.twentytwenty-vertical .twentytwenty-handle:before{content:" ";display:block;background:#fff;position:absolute;z-index:30;box-shadow:0 0 12px rgba(51,51,51,.5)}.twentytwenty-horizontal .twentytwenty-handle:after,.twentytwenty-horizontal .twentytwenty-handle:before{width:3px;height:9999px;right:50%;margin-right:-1.5px}.twentytwenty-vertical .twentytwenty-handle:after,.twentytwenty-vertical .twentytwenty-handle:before{width:9999px;height:3px;top:50%;margin-top:-1.5px}.twentytwenty-after-label,.twentytwenty-before-label,.twentytwenty-overlay{position:absolute;top:0;width:100%;height:100%}.twentytwenty-after-label,.twentytwenty-before-label,.twentytwenty-overlay{transition-duration:.5s}.twentytwenty-after-label,.twentytwenty-before-label{transition-property:opacity}.twentytwenty-after-label:before,.twentytwenty-before-label:before{color:#fff;font-size:13px;letter-spacing:.1em}.twentytwenty-after-label:before,.twentytwenty-before-label:before{position:absolute;background:rgba(255,255,255,.2);line-height:38px;padding:0 20px;border-radius:2px}.twentytwenty-horizontal .twentytwenty-after-label:before,.twentytwenty-horizontal .twentytwenty-before-label:before{top:50%;transform:translateY(-50%)}.pp-ic-label-horizontal-top .twentytwenty-horizontal .twentytwenty-after-label:before,.pp-ic-label-horizontal-top .twentytwenty-horizontal .twentytwenty-before-label:before{transform:translateY(0);top:10px}.pp-ic-label-horizontal-bottom .twentytwenty-horizontal .twentytwenty-after-label:before,.pp-ic-label-horizontal-bottom .twentytwenty-horizontal .twentytwenty-before-label:before{bottom:10px;transform:translateY(0);top:auto}.twentytwenty-vertical .twentytwenty-after-label:before,.twentytwenty-vertical .twentytwenty-before-label:before{right:50%;transform:translateX(50%);text-align:center}.pp-ic-label-vertical-left .twentytwenty-vertical .twentytwenty-after-label:before,.pp-ic-label-vertical-left .twentytwenty-vertical .twentytwenty-before-label:before{right:10px;transform:translateX(0)}.pp-ic-label-vertical-right .twentytwenty-vertical .twentytwenty-after-label:before,.pp-ic-label-vertical-right .twentytwenty-vertical .twentytwenty-before-label:before{right:auto;left:10px;transform:translateX(0)}.twentytwenty-down-arrow,.twentytwenty-left-arrow,.twentytwenty-right-arrow,.twentytwenty-up-arrow{width:0;height:0;border:6px inset transparent;position:absolute}.twentytwenty-left-arrow,.twentytwenty-right-arrow{top:50%;margin-top:-6px}.twentytwenty-down-arrow,.twentytwenty-up-arrow{right:50%;margin-right:-6px}.twentytwenty-container{box-sizing:content-box;z-index:0;overflow:hidden;position:relative;-webkit-user-select:none;-moz-user-select:none}.twentytwenty-container img{max-width:100%;position:absolute;top:0;display:block}.twentytwenty-container.active .twentytwenty-overlay,.twentytwenty-container.active :hover.twentytwenty-overlay{background:rgba(0,0,0,0)}.twentytwenty-container *{box-sizing:content-box}.twentytwenty-before-label:before{content:attr(data-content)}.twentytwenty-after-label:before{content:attr(data-content)}.twentytwenty-horizontal .twentytwenty-before-label:before{right:10px}.twentytwenty-horizontal .twentytwenty-after-label:before{left:10px}.twentytwenty-vertical .twentytwenty-before-label:before{top:10px}.twentytwenty-vertical .twentytwenty-after-label:before{bottom:10px}.twentytwenty-overlay{transition-property:background;background:rgba(0,0,0,0);z-index:25}.twentytwenty-overlay:hover{background:rgba(0,0,0,.5)}.twentytwenty-overlay:hover .twentytwenty-after-label{opacity:1}.twentytwenty-overlay:hover .twentytwenty-before-label{opacity:1}.twentytwenty-before{z-index:20}.twentytwenty-after{z-index:10}.twentytwenty-handle{height:38px;width:38px;position:absolute;right:50%;top:50%;margin-right:-22px;margin-top:-22px;border:3px solid #fff;border-radius:1000px;box-shadow:0 0 12px rgba(51,51,51,.5);z-index:40;cursor:pointer}.twentytwenty-horizontal .twentytwenty-handle:before{bottom:50%;margin-bottom:19px}.twentytwenty-horizontal .twentytwenty-handle:after{top:50%;margin-top:19px}.twentytwenty-vertical .twentytwenty-handle:before{right:50%;margin-right:19px}.twentytwenty-vertical .twentytwenty-handle:after{left:50%;margin-left:19px}.twentytwenty-left-arrow{border-left:6px solid #fff;right:50%;margin-right:-17px}.twentytwenty-right-arrow{border-right:6px solid #fff;left:50%;margin-left:-17px}.twentytwenty-up-arrow{border-bottom:6px solid #fff;top:50%;margin-top:-17px}.twentytwenty-down-arrow{border-top:6px solid #fff;bottom:50%;margin-bottom:-17px}.pp-tm-wrapper{position:relative}.pp-tm-wrapper .pp-tm-social-links{list-style:none;margin:0;padding:0}.pp-tm-wrapper .pp-tm-social-links li{list-style:none;margin:0;padding:0}.pp-tm-wrapper .pp-tm-title-divider-wrap{font-size:0;line-height:1}.pp-tm-wrapper .pp-tm-divider,.pp-tm-wrapper .pp-tm-social-icon,.pp-tm-wrapper li{display:inline-block}.pp-tm-wrapper .pp-tm:hover .pp-tm-overlay-content-wrap{opacity:1;visibility:visible}.pp-tm-wrapper .pp-tm-image{display:inline-block;position:relative}.pp-tm-content-normal{position:relative;z-index:1}.pp-tm-overlay-content-wrap{position:absolute;right:0;top:0;left:0;bottom:0;z-index:1;opacity:0;visibility:hidden;transition:all .25s linear 0s}.pp-tm-overlay-content-wrap:before{background-color:#000;content:'';display:block;position:absolute;right:0;top:0;left:0;bottom:0;opacity:.5;z-index:-1}.pp-tm-overlay-content-wrap .pp-tm-content{padding:20px;width:100%;position:absolute;top:50%;transform:translateY(-50%)}.pp-tm-social-icon-wrap{display:inline-flex;transition:all .25s linear 0s}.pp-tm-name a{color:inherit}.pp-tm-carousel{position:relative}.pp-tm-carousel-dots-outside .swiper-pagination{position:static}.pp-logo-carousel.grayscale-normal img{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.pp-logo-carousel.grayscale-normal .swiper-slide:hover img{-webkit-filter:none;filter:none}.pp-logo-carousel.grayscale-hover .swiper-slide:hover img{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.pp-logo-carousel.swiper-container .swiper-slide{text-align:center}.pp-logo-carousel.swiper-container .swiper-slide img{width:auto}.pp-logo-carousel .pp-logo-carousel-title a{color:inherit}.pp-logo-grid{display:flex;flex-wrap:wrap;position:relative}.pp-logo-grid .pp-grid-item{transition:all .25s linear 0s;width:100%}.pp-logo-grid .pp-grid-item-wrap{display:flex;float:right;flex-wrap:wrap;text-align:center;transition:all .2s cubic-bezier(.645,.045,.355,1)}.pp-logo-grid .pp-logo-grid-title a{color:inherit}.pp-logo-grid.grayscale-normal img{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.pp-logo-grid.grayscale-normal .pp-grid-item:hover img{-webkit-filter:none;filter:none}.pp-logo-grid.grayscale-hover .pp-grid-item:hover img{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.pp-google-map-container{line-height:0}.pp-google-map{display:inline-block;width:100%}.pp-google-map .gm-style .pp-infowindow-title{font-weight:600}.pp-contact-form-7 .wpcf7-form:after{clear:both;content:"";font-size:0;height:0;display:block;visibility:hidden}.pp-contact-form-7 .wpcf7-form .wpcf7-form-control-wrap,.pp-contact-form-7 .wpcf7-form label{display:block}.pp-contact-form-7 .wpcf7-form p{margin-bottom:0}.pp-contact-form-7.labels-hide .wpcf7-form label{display:none}.pp-contact-form-7-title{margin-bottom:10px}.pp-contact-form-7-description{margin-bottom:20px}.pp-contact-form-7-button-full-width .wpcf7-form-control.wpcf7-submit{width:100%}.pp-gravity-form .gform_wrapper .gform_footer{margin:0;padding:0}.pp-gravity-form .gform_wrapper textarea{padding:0}.pp-gravity-form .gform_wrapper .gform_footer input.button,.pp-gravity-form .gform_wrapper .gform_footer input[type=submit],.pp-gravity-form .gform_wrapper .gform_page_footer input.button,.pp-gravity-form .gform_wrapper .gform_page_footer input[type=submit]{margin:0}.pp-gravity-form .gform_wrapper .gform_page_footer input[type=button]{margin-left:4px}.pp-gravity-form .gform_wrapper .gform_page_footer input[type=submit]{margin-right:4px}.pp-gravity-form.title-description-hide .gform_heading{display:none}.pp-gravity-form.labels-hide .gform_wrapper .field_sublabel_below .ginput_complex.ginput_container label,.pp-gravity-form.labels-hide .gform_wrapper .top_label .gfield_label{display:none}.pp-gravity-form .gform_footer input[type=button],.pp-gravity-form .gform_footer input[type=submit],.pp-gravity-form .gform_page_footer input[type=button],.pp-gravity-form .gform_page_footer input[type=submit]{background:#428bca;border:none;display:inline-block;padding:10px 15px}.pp-gravity-form-button-full-width .gform_wrapper .gform_footer input[type=submit],.pp-gravity-form-button-full-width .gform_wrapper .gform_page_footer input[type=submit]{width:100%}.pp-gravity-form-button-full-width .gform_wrapper .gform_page_footer input[type=submit]{margin-top:20px}.pp-gravity-form-pagination-buttons-full-width .gform_wrapper .gform_page_footer input[type=button]{margin-top:20px;width:100%}.pp-gravity-form .gform_wrapper select{border-radius:0;height:auto;-webkit-appearance:none;-moz-appearance:none;appearance:none}.pp-gravity-form .gform_wrapper .pp-gf-select-custom{position:relative}.pp-gravity-form .gform_wrapper .pp-gf-select-custom:after{content:"\f078";font-family:'Font Awesome 5 Free';font-weight:800;font-size:.7em;line-height:1;pointer-events:none;position:absolute;top:45%;left:.8em;transform:translateY(-45%);z-index:2}.pp-ninja-form .nf-form-title{display:none}.pp-ninja-form-title-yes .nf-form-title{display:block}.pp-ninja-form .title-description-hide .nf-form-title{display:none}.pp-ninja-form.title-description-hide .nf-form-title{display:none}.pp-ninja-form .nf-field-label{display:none}.pp-ninja-form-labels-yes .nf-field-label{display:block}.pp-ninja-form .submit-container input[type=button]{border:0;border-radius:0}.pp-ninja-form-button-full-width .submit-container input[type=button]{width:100%}.pp-caldera-form .control-label{display:none}.pp-caldera-form-labels-yes .control-label{display:block}.pp-caldera-form-button-center .form-group input[type=button],.pp-caldera-form-button-center .form-group input[type=submit]{display:block;margin:0 auto}.pp-caldera-form-button-right .form-group input[type=button],.pp-caldera-form-button-right .form-group input[type=submit]{float:left}.pp-caldera-form .intl-tel-input{display:inherit}.pp-custom-radio-checkbox .caldera-grid input[type=checkbox],.pp-custom-radio-checkbox .caldera-grid input[type=radio]{border-style:solid;border-width:0;padding:3px;-webkit-appearance:none}.pp-caldera-form-button-full-width .form-group input[type=button],.pp-caldera-form-button-full-width .form-group input[type=submit]{width:100%}.pp-wpforms .wpforms-container .wpforms-form .wpforms-page-button,.pp-wpforms .wpforms-container .wpforms-form button[type=submit],.pp-wpforms .wpforms-container .wpforms-form input[type=submit]{border:0}.pp-wpforms .wpforms-container .wpforms-form .wpforms-page-button:hover,.pp-wpforms .wpforms-container .wpforms-form button[type=submit]:hover,.pp-wpforms .wpforms-container .wpforms-form input[type=submit]:hover{border:0}.pp-wpforms .wpforms-container .wpforms-form input[type=checkbox],.pp-wpforms .wpforms-container .wpforms-form input[type=radio]{padding:3px}.pp-wpforms .wpforms-container .wpforms-form .wpforms-field-label{display:none}.pp-wpforms .wpforms-container .wpforms-form .wpforms-field-name .wpforms-field-row{max-width:100%}.pp-wpforms .wpforms-container .wpforms-field input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),.pp-wpforms .wpforms-container .wpforms-field select,.pp-wpforms .wpforms-container .wpforms-field textarea{max-width:100%!important}.pp-wpforms-labels-yes .wpforms-container .wpforms-form .wpforms-field-label{display:block}.pp-wpforms-form-button-full-width .wpforms-submit-container .wpforms-submit{width:100%}.swiper-container .swiper-slide,.swiper-container-wrap .swiper-slide{text-align:center}.swiper-container .swiper-slide img,.swiper-container-wrap .swiper-slide img{width:auto}.swiper-container-dots-outside .swiper-pagination,.swiper-container-wrap-dots-outside .swiper-pagination{position:static}.swiper-container .swiper-button-next,.swiper-container .swiper-button-prev,.swiper-container-wrap .swiper-button-next,.swiper-container-wrap .swiper-button-prev{background:0 0;font-size:20px;height:auto;line-height:1;margin:0;text-align:center;transform:translateY(-50%);width:auto}.swiper-container .swiper-button-next .fa,.swiper-container .swiper-button-prev .fa,.swiper-container-wrap .swiper-button-next .fa,.swiper-container-wrap .swiper-button-prev .fa{vertical-align:top}.swiper-container-wrap .swiper-pagination{bottom:10px;right:0;width:100%}.swiper-container-wrap-dots-outside .swiper-pagination{position:static}.swiper-container-wrap .swiper-pagination-bullet{background:#ccc;margin:0 4px;opacity:1;height:8px;width:8px}.swiper-container-wrap .swiper-pagination-bullet-active{background:#000}.swiper-container-3d .swiper-slide{transition-property:all;-webkit-transition-property:all}.pp-slider-arrow{align-items:center;justify-content:center;background-color:#fff;border-radius:50%;color:#000;cursor:pointer;display:inline-flex;font-size:22px;line-height:22px;padding:20px;position:absolute;top:50%;width:22px;height:22px;transform:translateY(-50%);z-index:1;transition:all .25s linear 0s}.pp-arrow-next{left:20px}.pp-arrow-prev{right:20px}[dir=rtl] .pp-slick-slider .pp-arrow-next{right:20px;left:auto}[dir=rtl] .pp-slick-slider .pp-arrow-prev{right:auto;left:20px}.pp-slick-slider:not(.slick-initialized)>*{display:none}.pp-slick-slider .slick-slide:focus{outline:0}.pp-slick-slider .slick-dots{list-style:none;margin:0;padding:0;position:relative;text-align:center;width:100%}.pp-slick-slider li{background:#ccc;border-radius:50%;cursor:pointer;position:relative;display:inline-block;margin:0 4px;padding:0;vertical-align:middle;transition:.3s}.pp-slick-slider li.slick-active{background:#000}.pp-slick-slider li button{background:0 0;border:0;box-shadow:none;color:transparent;display:block;font-size:0;line-height:0;width:10px;height:10px;padding:0;outline:0;transition:.3s}.pp-slick-slider-dots-inside .slick-dots{position:absolute;bottom:15px;right:0;left:0}.pp-info-table-container .pp-info-table-link{text-decoration:none!important}.pp-info-table-container .pp-info-table-sale-badge.right{position:absolute;left:-7px;z-index:2;border-bottom-left-radius:0!important}.pp-info-table-container .pp-info-table-sale-badge.right:after{content:"";display:block;position:absolute;width:0;height:0;bottom:-8px;left:0;border-bottom:8px solid transparent;border-right:8px;border-right-style:solid}.pp-info-table-container .pp-info-table-sale-badge.left{position:absolute;right:-7px;z-index:2;border-bottom-right-radius:0!important}.pp-info-table-container .pp-info-table-sale-badge.left:after{content:"";display:block;position:absolute;width:0;height:0;bottom:-8px;right:0;border-bottom:8px solid transparent;border-left:8px;border-left-style:solid}.pp-info-table-container .pp-info-table-sale-badge p{margin:0;text-align:center!important}.pp-info-table-container .pp-info-table-icon-inner{display:inline-block}.pp-info-table-container .pp-info-table-icon-wrap{display:table}.pp-info-table-container .pp-info-table-icon-wrap .pp-info-table-icon{display:table-cell;vertical-align:middle;text-align:center}.pp-image-accordion{display:flex;height:50vh}.pp-image-accordion .pp-image-accordion-img{position:absolute;right:0;top:0;left:0;bottom:0;-o-object-fit:cover;object-fit:cover;height:100%;width:100%}.pp-image-accordion .pp-image-accordion-button-wrap *{transition:none}.pp-image-accordion .pp-image-accordion-button{transition:all .25s linear 0s}.pp-image-accordion-item{cursor:pointer;background-size:cover;background-position:center;background-repeat:no-repeat;color:#fff;position:relative;flex:1;text-decoration:none;transition:flex .4s;overflow:hidden}.pp-image-accordion-item:last-child{margin-left:0!important}.pp-image-accordion-active{cursor:default}.pp-image-accordion-overlay{background-color:rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center;padding:20px;position:absolute;top:0;left:0;bottom:0;right:0;transition:background-color .4s}.pp-image-accordion-overlay .pp-image-accordion-content-wrap{z-index:1}.pp-image-accordion-content-wrap{display:flex;flex-direction:column;align-items:center;visibility:hidden}.pp-image-accordion-content-wrap p:last-child{margin-bottom:0}.pp-image-accordion-content-wrap *{visibility:hidden;opacity:0;transform-style:preserve-3d}.pp-image-accordion-title{color:#fff;transform:translate3d(0,-60px,0)}.pp-image-accordion-description{color:#fff;transform:translate3d(0,60px,0)}.pp-image-accordion-button-wrap{transform:translate3d(0,60px,0)}.pp-image-accordion-content-active{visibility:visible}.pp-image-accordion-content-active *{opacity:1;visibility:visible;transform:none!important;transition:all .3s .3s}.pp-image-accordion-on-hover .pp-image-accordion-item:hover{flex:3}.pp-image-accordion-on-hover .pp-image-accordion-item:hover .pp-image-accordion-content-wrap *{opacity:1;visibility:visible;transform:none;transition:all .3s .3s}.pp-image-accordion-orientation-horizontal .pp-image-accordion{flex-direction:column}.pp-image-accordion-orientation-horizontal .pp-image-accordion a:hover .pp-image-accordion-overlay{background-color:transparent}.pp-image-accordion-orientation-horizontal .pp-image-accordion-item{margin-left:0!important}.pp-advanced-accordion{width:auto;height:auto;transition:all .3s ease-in-out}.pp-advanced-accordion .pp-accordion-tab-title{padding:15px;font-size:1rem;font-weight:600;line-height:1;transition:all .3s ease-in-out;display:flex;justify-content:space-between;align-items:center;cursor:pointer;outline:0}.pp-advanced-accordion .pp-accordion-toggle-icon{z-index:10}.pp-advanced-accordion .pp-accordion-tab-active-default .pp-accordion-toggle-icon-close,.pp-advanced-accordion .pp-accordion-tab-show .pp-accordion-toggle-icon-close,.pp-advanced-accordion .pp-accordion-toggle-icon-open{display:none}.pp-advanced-accordion .pp-accordion-tab-active-default .pp-accordion-toggle-icon-open,.pp-advanced-accordion .pp-accordion-tab-show .pp-accordion-toggle-icon-open{display:inline}.pp-advanced-accordion .pp-accordion-tab-content{display:none;padding:15px;box-sizing:border-box;font-size:1rem;line-height:1.7}.pp-advanced-accordion .pp-accordion-tab-content p:last-child{margin:0}.pp-advanced-accordion .pp-accordion-tab-content.pp-accordion-tab-active{display:block}.pp-advanced-accordion.pp-toggle-icon-align-left .pp-accordion-tab-title{flex-direction:row-reverse;justify-content:flex-end}.pp-accordion-tab-icon{display:inline-block;margin-left:10px}.pp-flipbox-container{position:relative;height:300px;width:100%}.pp-flipbox-icon-image,.pp-flipbox-icon-image-back{display:inline-block;margin:0 auto 0 auto;line-height:1}.pp-flipbox-icon-image img,.pp-flipbox-icon-image-back img{width:30%}.pp-flipbox-icon-image i,.pp-flipbox-icon-image-back i{font-size:40px;line-height:40px;width:40px}.pp-flipbox-overlay{height:100%;padding:35px;width:100%;-webkit-display:flex;display:flex;flex-direction:column;align-items:center;justify-content:center}.pp-flipbox-back,.pp-flipbox-front{text-align:center;position:absolute;top:0;right:0;width:100%;height:100%}.pp-flipbox-front{background:#1abc9c;color:#fff;z-index:2}.pp-flipbox-back{background:#444;color:#fff}.pp-flipbox-back .pp-flipbox-box-link{position:absolute;top:0;right:0;left:0;bottom:0}.pp-flipbox-content,.pp-flipbox-heading{color:#fff}.pp-flipbox-heading.pp-flipbox-linked-title{color:#fff;display:block;font-size:1.5em;font-weight:700}.pp-flipbox-container{perspective:1000px}.pp-flipbox-back,.pp-flipbox-front{transition-duration:.5s;transition-property:all;transition-timing-function:ease}.pp-flipbox-flip-card{width:100%;height:100%;transform-style:preserve-3d;transition:all .5s ease}.pp-flipbox-back,.pp-flipbox-front{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:rotateX(0);transform:rotateY(0)}.pp-animate-flip.pp-direction-up .pp-flipbox-back,.pp-animate-flip.pp-direction-up.pp-flipbox-container:hover .pp-flipbox-flip-card{transform:rotateX(180deg)}.pp-animate-flip.pp-direction-down .pp-flipbox-back,.pp-animate-flip.pp-direction-down.pp-flipbox-container:hover .pp-flipbox-flip-card{transform:rotateX(-180deg)}.pp-animate-flip.pp-direction-left .pp-flipbox-back,.pp-animate-flip.pp-direction-left.pp-flipbox-container:hover .pp-flipbox-flip-card{transform:rotateY(-180deg)}.pp-animate-flip.pp-direction-right .pp-flipbox-back,.pp-animate-flip.pp-direction-right.pp-flipbox-container:hover .pp-flipbox-flip-card{transform:rotateY(180deg)}.pp-animate-push.pp-flipbox-container,.pp-animate-slide.pp-flipbox-container{overflow:hidden}.pp-animate-push .pp-flipbox-back,.pp-animate-slide .pp-flipbox-back{z-index:3}.pp-animate-push.pp-direction-up .pp-flipbox-back,.pp-animate-slide.pp-direction-up .pp-flipbox-back{top:100%}.pp-animate-push.pp-direction-up.pp-flipbox-container:hover .pp-flipbox-back,.pp-animate-slide.pp-direction-up.pp-flipbox-container:hover .pp-flipbox-back{top:0}.pp-animate-push.pp-direction-down .pp-flipbox-back,.pp-animate-slide.pp-direction-down .pp-flipbox-back{top:auto;bottom:100%}.pp-animate-push.pp-direction-down.pp-flipbox-container:hover .pp-flipbox-back,.pp-animate-slide.pp-direction-down.pp-flipbox-container:hover .pp-flipbox-back{top:auto;bottom:0}.pp-animate-push.pp-direction-left .pp-flipbox-back,.pp-animate-slide.pp-direction-left .pp-flipbox-back{right:100%}.pp-animate-push.pp-direction-left.pp-flipbox-container:hover .pp-flipbox-back,.pp-animate-slide.pp-direction-left.pp-flipbox-container:hover .pp-flipbox-back{right:0}.pp-animate-push.pp-direction-right .pp-flipbox-back,.pp-animate-slide.pp-direction-right .pp-flipbox-back{right:auto;left:100%}.pp-animate-push.pp-direction-right.pp-flipbox-container:hover .pp-flipbox-back,.pp-animate-slide.pp-direction-right.pp-flipbox-container:hover .pp-flipbox-back{right:auto;left:0}.pp-animate-push.pp-direction-up.pp-flipbox-container:hover .pp-flipbox-front{top:-100%}.pp-animate-push.pp-direction-down.pp-flipbox-container:hover .pp-flipbox-front{top:100%}.pp-animate-push.pp-direction-left.pp-flipbox-container:hover .pp-flipbox-front{right:-100%}.pp-animate-push.pp-direction-right.pp-flipbox-container:hover .pp-flipbox-front{right:100%}.pp-animate-zoom-in .pp-flipbox-back{opacity:0;transform:scale(.75);z-index:3}.pp-animate-zoom-in.pp-flipbox-container:hover .pp-flipbox-back{opacity:1;transform:scale(1)}.pp-animate-zoom-out.pp-flipbox-container:hover .pp-flipbox-front{opacity:0;transform:scale(.75)}.pp-animate-fade.pp-flipbox-container:hover .pp-flipbox-front{opacity:0}.pp-content-ticker-container{background:#f4f4f4;display:flex;overflow:hidden}.pp-content-ticker-heading{background:#333;color:#fff;display:flex;flex-direction:row;flex-shrink:0;align-items:center;padding:10px 15px;position:relative}.pp-content-ticker-heading-icon{margin-left:5px}.pp-content-ticker-heading-icon-right{order:1;margin-right:5px;margin-left:0}.pp-content-ticker-heading-arrow .pp-content-ticker-heading:after{content:'';position:absolute;left:-20px;border:10px solid transparent;border-right-color:#333;top:50%;transform:translateY(-50%)}.pp-content-ticker-wrap{display:flex;align-items:center;overflow:hidden;padding:10px 15px}.pp-content-ticker{overflow:hidden}.pp-content-ticker .swiper-wrapper{align-items:center}.pp-content-ticker .pp-content-ticker-item-title{font-size:20px;margin:0}.pp-content-ticker .pp-content-ticker-item-title a{color:inherit;font-size:inherit}.pp-content-ticker-content{display:flex;align-items:center}.pp-content-ticker-image{flex-shrink:0;margin-left:15px;width:40px}.pp-content-ticker-meta{font-size:14px}.pp-content-ticker-navigation{display:flex;align-items:center;padding-right:10px;padding-left:10px}.pp-content-ticker-navigation .swiper-button-next,.pp-content-ticker-navigation .swiper-button-prev{background:0 0;font-size:18px;line-height:1.2;height:auto;margin:0;padding:0 6px;position:static;text-align:center;width:auto}.pp-content-ticker-navigation .swiper-button-prev{margin-left:6px}.pp-image-scroll-container,.pp-image-scroll-wrap{transition:all .3s ease-in-out;-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-ms-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out}.pp-image-scroll-wrap{overflow:hidden;width:100%;position:relative}.pp-image-scroll-container{width:100%}.pp-container-scroll{overflow:auto}.pp-image-scroll-container .pp-image-scroll-horizontal{position:relative;width:100%;height:100%}.pp-image-scroll-container .pp-image-scroll-horizontal.pp-image-scroll-image img{max-width:none;height:100%}.pp-image-scroll-container .pp-image-scroll-vertical.pp-image-scroll-image img{width:100%;max-width:100%;height:auto}.pp-image-scroll-ver{position:relative}.pp-image-scroll-container .pp-image-scroll-overlay{background:rgba(2,2,2,.3)}.pp-image-scroll-container .pp-image-scroll-link,.pp-image-scroll-container .pp-image-scroll-overlay{position:absolute;top:0;bottom:0;right:0;left:0;z-index:4}.pp-image-scroll-content{display:inline-block;position:absolute;height:auto;top:50%;right:50%;text-align:center;z-index:5;transform:translate(50%,-50%)}.pp-container-scroll-instant .pp-image-scroll-image img{transition:all 0s ease-in-out!important}.pp-image-scroll-container .pp-image-scroll-content,.pp-image-scroll-container .pp-image-scroll-overlay{transition:all .3s ease-in-out;opacity:1}.pp-image-scroll-container:hover .pp-image-scroll-content,.pp-image-scroll-container:hover .pp-image-scroll-overlay{opacity:0}.pp-image-scroll-container:hover .pp-image-scroll-content{visibility:hidden}.pp-image-scroll-content .pp-image-scroll-icon{display:inline-block;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-direction:alternate;animation-direction:alternate;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}.pp-mouse-scroll-horizontal{-webkit-animation-name:pp-scroll-horizontal;animation-name:pp-scroll-horizontal}.pp-mouse-scroll-vertical{-webkit-animation-name:pp-scroll-vertical;animation-name:pp-scroll-vertical}@-webkit-keyframes pp-scroll-vertical{0%{transform:translateY(0)}100%{transform:translateY(5px)}}@keyframes pp-scroll-vertical{0%{transform:translateY(0)}100%{transform:translateY(5px)}}@-webkit-keyframes pp-scroll-horizontal{0%{transform:translateX(0)}100%{transform:translateX(-5px)}}@keyframes pp-scroll-horizontal{0%{transform:translateX(0)}100%{transform:translateX(-5px)}}.pp-buttons-group{display:flex;flex-flow:wrap;align-items:flex-start}.pp-buttons-group a,.pp-buttons-group a:hover{text-decoration:none;transition:all .5s ease-in-out}.pp-buttons-group .pp-button{display:flex}.pp-buttons-group .pp-button .pp-button-content-wrapper .pp-button-content-inner{display:flex;align-items:center;justify-content:center}.pp-buttons-group .pp-button .pp-button-content-wrapper .pp-button-content-inner.pp-icon-before{flex-direction:row}.pp-buttons-group .pp-button .pp-button-content-wrapper .pp-button-content-inner.pp-icon-after{flex-direction:row-reverse}.pp-buttons-group .pp-button .pp-button-content-wrapper .pp-button-content-inner.pp-icon-top{flex-direction:column}.pp-buttons-group .pp-button .pp-button-content-wrapper .pp-button-content-inner.pp-icon-bottom{flex-direction:column-reverse}.pp-button-icon-image img{width:40px}.pp-button-content-wrapper{display:flex;flex-grow:1;justify-content:center}.pp-buttons-valign-top .pp-buttons-group{align-items:flex-start}.pp-buttons-valign-middle .pp-buttons-group{align-items:center}.pp-buttons-valign-bottom .pp-buttons-group{align-items:flex-end}.pp-buttons-valign-stretch .pp-buttons-group{align-items:stretch}.pp-buttons-valign-stretch .pp-buttons-group .pp-button-content-wrapper{align-items:center}.pp-buttons-halign-left .pp-buttons-group{justify-content:flex-start}.pp-buttons-halign-center .pp-buttons-group{justify-content:center}.pp-buttons-halign-right .pp-buttons-group{justify-content:flex-end}.pp-buttons-halign-stretch .pp-buttons-group{justify-content:stretch}.pp-buttons-halign-stretch .pp-button{flex-grow:1}.pp-buttons-stack-desktop .pp-buttons-group{flex-direction:column}.pp-buttons-stack-desktop.pp-buttons-halign-left .pp-buttons-group{align-items:flex-start}.pp-buttons-stack-desktop.pp-buttons-halign-center .pp-buttons-group{align-items:center}.pp-buttons-stack-desktop.pp-buttons-halign-right .pp-buttons-group{align-items:flex-end}.pp-buttons-stack-desktop.pp-buttons-halign-stretch .pp-buttons-group{align-items:stretch}.pp-buttons-stack-desktop.pp-buttons-halign-stretch .pp-button{flex-grow:1}.pp-buttons-stack-desktop .pp-button{margin-right:0!important;margin-left:0!important}.pp-heading-fill-gradient .pp-heading-text{display:block;background-clip:text;text-fill-color:transparent;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.pp-formidable-forms .frm_form_field .frm_primary_label{display:none}.pp-formidable-forms-labels-yes .pp-formidable-forms .frm_primary_label{display:block}.pp-custom-radio-checkbox .form-field input[type=checkbox],.pp-custom-radio-checkbox .form-field input[type=radio]{border-style:solid;border-width:0;display:inline-block;vertical-align:middle;padding:3px;-webkit-appearance:none}.pp-formidable-forms-button-full-width .pp-formidable-forms .frm_submit .frm_button_submit{width:100%}.pp-fluent-forms-form-button-full-width .ff_submit_btn_wrapper .ff-btn-submit{margin-right:0;margin-left:0;width:100%}.pp-post{overflow:hidden}.pp-post .pp-post-title{font-size:26px}.pp-post .pp-post-title a{color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;line-height:inherit}.pp-post-thumbnail{overflow:hidden}.pp-post-thumbnail img{width:100%;transition:all .25s linear}.pp-posts-thumbnail-ratio .pp-post-thumbnail-wrap{position:relative}.pp-posts-thumbnail-ratio .pp-post-thumbnail-wrap img{position:absolute;-o-object-fit:cover;object-fit:cover;top:0;left:0;bottom:0;right:0;height:100%}.pp-post-separator-wrap{margin-bottom:15px}.pp-post-separator{background:#e6e6e6;height:1px;width:100%}.pp-post-terms{transition:all .25s linear 0s;display:inline-block}.pp-post-terms a{color:inherit}.pp-equal-height-yes .pp-post{height:100%}.pp-posts-pagination .page-numbers,.pp-posts-pagination a{display:inline-block}.pp-posts-infinite-scroll .pp-posts-pagination-wrap{display:none}.pp-search-form-container{display:flex;justify-content:flex-start}.pp-search-form{display:flex;transition:.2s;overflow:hidden;border:0 solid transparent;margin-bottom:20px;min-height:50px;max-width:400px;width:100%}.pp-search-form button,.pp-search-form input[type=search]{margin:0;border:0;padding:0;display:inline-block;vertical-align:middle;white-space:normal;background:0 0;line-height:1;min-width:0;font-size:15px;-webkit-appearance:none;-moz-appearance:none}.pp-search-form button:focus,.pp-search-form input[type=search]:focus{outline:0}.pp-search-form input[type=search]{background:#eceeef;height:100%;padding-right:15px;padding-left:15px;flex-basis:100%;color:#55595c;transition:color .2s}.pp-search-form button{background-color:#818a91;font-size:16px;color:#fff;border-radius:0;min-width:50px}.pp-search-form .pp-search-form-input:-ms-input-placeholder{color:inherit;font-family:inherit;opacity:.6}.pp-search-form .pp-search-form-input::-moz-placeholder{color:inherit;font-family:inherit;opacity:.6}.pp-search-form .pp-search-form-input::-ms-input-placeholder{color:inherit;font-family:inherit;opacity:.6}.pp-search-form .pp-search-form-input::placeholder{color:inherit;font-family:inherit;opacity:.6}.pp-search-form-text .pp-search-form-submit{flex-shrink:0}.pp-loader,.pp-posts-loader{width:46px;height:46px}.pp-loader{text-align:center;position:absolute;top:50%;right:50%;transform:translateX(50%) translateY(-50%);z-index:2}.pp-posts-loader{display:none;margin-right:auto;margin-left:auto}.pp-loader:after,.pp-posts-loader:after{content:" ";display:block;width:100%;height:100%;margin:1px;border-radius:50%;border:5px solid #fff;border-color:#000 transparent #000 transparent;-webkit-animation:pp-loader-dual-ring 1.2s linear infinite;animation:pp-loader-dual-ring 1.2s linear infinite}.pp-loader:after{width:46px;height:46px}@-webkit-keyframes pp-loader-dual-ring{0%{transform:rotate(0)}100%{transform:rotate(-360deg)}}@keyframes pp-loader-dual-ring{0%{transform:rotate(0)}100%{transform:rotate(-360deg)}}.pp-loader-overlay{background:rgba(255,255,255,.5);content:'';position:absolute;top:0;right:0;z-index:1;height:100%;width:100%}@media only screen and (min-width:1025px){.elementor-element.elementor-grid-1{position:relative}.elementor-element.elementor-grid-1 .pp-grid-item-wrap{width:100%;float:right}.elementor-element.elementor-grid-2{position:relative}.elementor-element.elementor-grid-2 .pp-grid-item-wrap{width:50%;float:right}.elementor-element.elementor-grid-2 .pp-grid-item-wrap:nth-of-type(2n){margin-left:0!important}.elementor-element.elementor-grid-2 .pp-grid-item-wrap:nth-of-type(2n+1){clear:right}.elementor-element.elementor-grid-3{position:relative}.elementor-element.elementor-grid-3 .pp-grid-item-wrap{width:33.3333%;float:right}.elementor-element.elementor-grid-3 .pp-grid-item-wrap:nth-of-type(3n){margin-left:0!important}.elementor-element.elementor-grid-3 .pp-grid-item-wrap:nth-of-type(3n+1){clear:right}.elementor-element.elementor-grid-4{position:relative}.elementor-element.elementor-grid-4 .pp-grid-item-wrap{width:25%;float:right}.elementor-element.elementor-grid-4 .pp-grid-item-wrap:nth-of-type(4n){margin-left:0!important}.elementor-element.elementor-grid-4 .pp-grid-item-wrap:nth-of-type(4n+1){clear:right}.elementor-element.elementor-grid-5{position:relative}.elementor-element.elementor-grid-5 .pp-grid-item-wrap{width:20%;float:right}.elementor-element.elementor-grid-5 .pp-grid-item-wrap:nth-of-type(5n){margin-left:0!important}.elementor-element.elementor-grid-5 .pp-grid-item-wrap:nth-of-type(5n+1){clear:right}.elementor-element.elementor-grid-6{position:relative}.elementor-element.elementor-grid-6 .pp-grid-item-wrap{width:16.6667%;float:right}.elementor-element.elementor-grid-6 .pp-grid-item-wrap:nth-of-type(6n){margin-left:0!important}.elementor-element.elementor-grid-6 .pp-grid-item-wrap:nth-of-type(6n+1){clear:right}}@media (max-width:1024px){.pp-image-accordion-stack-on-tablet .pp-image-accordion{flex-direction:column}.pp-image-accordion-stack-on-tablet .pp-image-accordion a:hover .pp-image-accordion-overlay{background-color:transparent}.pp-image-accordion-stack-on-tablet .pp-image-accordion-item{margin-left:0!important}.pp-info-box-tablet-top .pp-info-box{flex-direction:column}.pp-info-box-tablet-top .pp-info-box .pp-info-box-icon-wrap{display:inline-block;margin:0}.pp-info-box-tablet-top .pp-info-box .pp-info-box-icon{margin-left:auto}.pp-info-box-tablet-left .pp-info-box{flex-direction:row}.pp-info-box-tablet-left .pp-info-box .pp-info-box-icon-wrap{display:flex;margin-left:20px}.pp-info-box-tablet-left .pp-info-box .pp-info-box-icon,.pp-info-box-tablet-left .pp-info-box img{width:100%}.pp-info-box-tablet-right .pp-info-box{flex-direction:row-reverse}.pp-info-box-tablet-right .pp-info-box .pp-info-box-icon-wrap{display:flex;margin-right:20px}.pp-info-box-tablet-right .pp-info-box .pp-info-box-icon,.pp-info-box-tablet-right .pp-info-box img{width:100%}.pp-info-list-stack-tablet.pp-info-list-icon-top .pp-info-list-container .pp-list-items{display:block}.pp-info-list-stack-tablet.pp-info-list-icon-top .pp-info-list-container .pp-list-items .pp-info-list-item{display:block;text-align:center!important;width:100%!important}.pp-info-list-stack-tablet.pp-info-list-icon-top .pp-info-list-item-inner{flex-direction:row}.pp-info-list-stack-tablet.pp-info-list-icon-top .pp-infolist-icon-wrapper{margin-bottom:0;margin-left:10px}.pp-info-list-stack-tablet.pp-info-list-icon-top .pp-infolist-icon-wrapper:before{content:'';border-left:1px solid #000;height:1500px;bottom:14px;right:calc(7px - (1px/2));position:absolute;width:1px;top:auto}.pp-info-list-stack-tablet.pp-info-list-icon-top .pp-infolist-icon-wrapper:after{content:'';border-left:1px solid #000;height:1500px;top:14px;right:calc(7px - (1px/2));position:absolute;width:1px;top:auto}}@media only screen and (max-width:1024px) and (min-width:766px){.elementor-element.elementor-grid-tablet-1{position:relative}.elementor-element.elementor-grid-tablet-1 .pp-grid-item-wrap{width:100%;float:right}.elementor-element.elementor-grid-tablet-2{position:relative}.elementor-element.elementor-grid-tablet-2 .pp-grid-item-wrap{width:50%;float:right}.elementor-element.elementor-grid-tablet-2 .pp-grid-item-wrap:nth-of-type(2n){margin-left:0!important}.elementor-element.elementor-grid-tablet-2 .pp-grid-item-wrap:nth-of-type(2n+1){clear:right}.elementor-element.elementor-grid-tablet-3{position:relative}.elementor-element.elementor-grid-tablet-3 .pp-grid-item-wrap{width:33.3333%;float:right}.elementor-element.elementor-grid-tablet-3 .pp-grid-item-wrap:nth-of-type(3n){margin-left:0!important}.elementor-element.elementor-grid-tablet-3 .pp-grid-item-wrap:nth-of-type(3n+1){clear:right}.elementor-element.elementor-grid-tablet-4{position:relative}.elementor-element.elementor-grid-tablet-4 .pp-grid-item-wrap{width:25%;float:right}.elementor-element.elementor-grid-tablet-4 .pp-grid-item-wrap:nth-of-type(4n){margin-left:0!important}.elementor-element.elementor-grid-tablet-4 .pp-grid-item-wrap:nth-of-type(4n+1){clear:right}.elementor-element.elementor-grid-tablet-5{position:relative}.elementor-element.elementor-grid-tablet-5 .pp-grid-item-wrap{width:20%;float:right}.elementor-element.elementor-grid-tablet-5 .pp-grid-item-wrap:nth-of-type(5n){margin-left:0!important}.elementor-element.elementor-grid-tablet-5 .pp-grid-item-wrap:nth-of-type(5n+1){clear:right}.elementor-element.elementor-grid-tablet-6{position:relative}.elementor-element.elementor-grid-tablet-6 .pp-grid-item-wrap{width:16.6667%;float:right}.elementor-element.elementor-grid-tablet-6 .pp-grid-item-wrap:nth-of-type(6n){margin-left:0!important}.elementor-element.elementor-grid-tablet-6 .pp-grid-item-wrap:nth-of-type(6n+1){clear:right}}@media only screen and (max-width:767px){.pp-image-accordion-stack-on-mobile .pp-image-accordion{flex-direction:column}.pp-image-accordion-stack-on-mobile .pp-image-accordion a:hover .pp-image-accordion-overlay{background-color:transparent}.pp-image-accordion-stack-on-mobile .pp-image-accordion-item{margin-left:0!important}.pp-info-box-mobile-top .pp-info-box{flex-direction:column}.pp-info-box-mobile-top .pp-info-box .pp-info-box-icon-wrap{display:inline-block;margin:0}.pp-info-box-mobile-top .pp-info-box .pp-info-box-icon{margin-left:auto}.pp-info-box-mobile-left .pp-info-box{flex-direction:row}.pp-info-box-mobile-left .pp-info-box .pp-info-box-icon-wrap{display:flex;margin-left:20px}.pp-info-box-mobile-left .pp-info-box .pp-info-box-icon,.pp-info-box-mobile-left .pp-info-box img{width:100%}.pp-info-box-mobile-right .pp-info-box{flex-direction:row-reverse}.pp-info-box-mobile-right .pp-info-box .pp-info-box-icon-wrap{display:flex;margin-right:20px}.pp-info-box-mobile-right .pp-info-box .pp-info-box-icon,.pp-info-box-mobile-right .pp-info-box img{width:100%}.pp-info-list-stack-mobile.pp-info-list-icon-top .pp-info-list-container .pp-list-items{display:block}.pp-info-list-stack-mobile.pp-info-list-icon-top .pp-info-list-container .pp-list-items .pp-info-list-item{display:block;text-align:center!important;width:100%!important}.pp-info-list-stack-mobile.pp-info-list-icon-top .pp-info-list-item-inner{flex-direction:row}.pp-info-list-stack-mobile.pp-info-list-icon-top .pp-infolist-icon-wrapper{margin-bottom:0;margin-left:10px}.pp-info-list-stack-mobile.pp-info-list-icon-top .pp-infolist-icon-wrapper:before{content:'';border-left:1px solid #000;height:1500px;bottom:14px;right:calc(7px - (1px/2));position:absolute;width:1px;top:auto}.pp-info-list-stack-mobile.pp-info-list-icon-top .pp-infolist-icon-wrapper:after{content:'';border-left:1px solid #000;height:1500px;top:14px;right:calc(7px - (1px/2));position:absolute;width:1px;top:auto}.elementor-element.elementor-grid-mobile-1{position:relative}.elementor-element.elementor-grid-mobile-1 .pp-grid-item-wrap{width:100%;float:right}.elementor-element.elementor-grid-mobile-2{position:relative}.elementor-element.elementor-grid-mobile-2 .pp-grid-item-wrap{width:50%;float:right}.elementor-element.elementor-grid-mobile-2 .pp-grid-item-wrap:nth-of-type(2n){margin-left:0!important}.elementor-element.elementor-grid-mobile-2 .pp-grid-item-wrap:nth-of-type(2n+1){clear:right}.elementor-element.elementor-grid-mobile-3{position:relative}.elementor-element.elementor-grid-mobile-3 .pp-grid-item-wrap{width:33.3333%;float:right}.elementor-element.elementor-grid-mobile-3 .pp-grid-item-wrap:nth-of-type(3n){margin-left:0!important}.elementor-element.elementor-grid-mobile-3 .pp-grid-item-wrap:nth-of-type(3n+1){clear:right}.elementor-element.elementor-grid-mobile-4{position:relative}.elementor-element.elementor-grid-mobile-4 .pp-grid-item-wrap{width:25%;float:right}.elementor-element.elementor-grid-mobile-4 .pp-grid-item-wrap:nth-of-type(4n){margin-left:0!important}.elementor-element.elementor-grid-mobile-4 .pp-grid-item-wrap:nth-of-type(4n+1){clear:right}.elementor-element.elementor-grid-mobile-5{position:relative}.elementor-element.elementor-grid-mobile-5 .pp-grid-item-wrap{width:20%;float:right}.elementor-element.elementor-grid-mobile-5 .pp-grid-item-wrap:nth-of-type(5n){margin-left:0!important}.elementor-element.elementor-grid-mobile-5 .pp-grid-item-wrap:nth-of-type(5n+1){clear:right}.elementor-element.elementor-grid-mobile-6{position:relative}.elementor-element.elementor-grid-mobile-6 .pp-grid-item-wrap{width:16.6667%;float:right}.elementor-element.elementor-grid-mobile-6 .pp-grid-item-wrap:nth-of-type(6n){margin-left:0!important}.elementor-element.elementor-grid-mobile-6 .pp-grid-item-wrap:nth-of-type(6n+1){clear:right}}.pp-tooltip{display:none;position:absolute;min-width:50px;max-width:200px;min-height:16px;max-height:200px;border-radius:2px;z-index:3000;line-height:16px;font-size:13px;opacity:.01;transition:top .2s ease,opacity .3s ease}.pp-tooltip .pp-tooltip-callout{position:absolute}.pp-tooltip .pp-tooltip-callout:after,.pp-tooltip .pp-tooltip-callout:before{border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}.pp-tooltip.tt-left .pp-tooltip-callout:before{right:100%}.pp-tooltip.tt-left .pp-tooltip-callout:after{right:100%;border-color:transparent;border-right-color:rgba(0,0,0,.8);border-width:5px;top:50%;margin-top:-5px}.pp-tooltip.tt-right .pp-tooltip-callout:before{left:100%}.pp-tooltip.tt-right .pp-tooltip-callout:after{left:100%;border-color:transparent;border-left-color:rgba(0,0,0,.8);border-width:5px;top:50%;margin-top:-5px}.pp-tooltip.tt-bottom .pp-tooltip-callout:before{bottom:100%}.pp-tooltip.tt-bottom .pp-tooltip-callout:after{bottom:100%;border-color:transparent;border-bottom-color:rgba(0,0,0,.8);border-width:5px;right:50%;margin-right:-5px}.pp-tooltip.tt-top .pp-tooltip-callout:before{top:100%}.pp-tooltip.tt-top .pp-tooltip-callout:after{top:100%;border-color:transparent;border-top-color:rgba(0,0,0,.8);border-width:5px;right:50%;margin-right:-5px}.pp-tooltip-tiny{font-size:10px}.pp-tooltip-small{font-size:12px}.pp-tooltip-large{font-size:14px}.pp-tooltip-content{background:rgba(0,0,0,.8);color:#fff;padding:8px;border-radius:2px}.mfp-bg{top:0;right:0;width:100%;height:100%;z-index:1042;overflow:hidden;position:fixed;background:#0b0b0b;opacity:.8}.mfp-wrap{top:0;right:0;width:100%;height:100%;z-index:1043;position:fixed;outline:0!important;-webkit-backface-visibility:hidden}.mfp-container{text-align:center;position:absolute;width:100%;height:100%;right:0;top:0;padding:0 8px;box-sizing:border-box}.mfp-container:before{content:'';display:inline-block;height:100%;vertical-align:middle}.mfp-align-top .mfp-container:before{display:none}.mfp-content{position:relative;display:inline-block;vertical-align:middle;margin:0 auto;text-align:right;z-index:1045}.mfp-ajax-holder .mfp-content,.mfp-inline-holder .mfp-content{width:100%;cursor:auto}.mfp-ajax-cur{cursor:progress}.mfp-zoom-out-cur,.mfp-zoom-out-cur .mfp-image-holder .mfp-close{cursor:zoom-out}.mfp-zoom{cursor:pointer;cursor:zoom-in}.mfp-auto-cursor .mfp-content{cursor:auto}.mfp-arrow,.mfp-close,.mfp-counter,.mfp-preloader{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mfp-loading.mfp-figure{display:none}.mfp-hide{display:none!important}.mfp-preloader{color:#ccc;position:absolute;top:50%;width:auto;text-align:center;margin-top:-.8em;right:8px;left:8px;z-index:1044}.mfp-preloader a{color:#ccc}.mfp-preloader a:hover{color:#fff}.mfp-s-ready .mfp-preloader{display:none}.mfp-s-error .mfp-content{display:none}button.mfp-arrow,button.mfp-close{overflow:visible;cursor:pointer;background:0 0;border:0;-webkit-appearance:none;display:block;outline:0;padding:0;z-index:1046;box-shadow:none;touch-action:manipulation}button::-moz-focus-inner{padding:0;border:0}.mfp-close{width:44px;height:44px;line-height:44px;position:absolute;left:0;top:0;text-decoration:none;text-align:center;opacity:.65;padding:0 10px 18px 0;color:#fff;font-style:normal;font-size:28px;font-family:Arial,Baskerville,monospace}.mfp-close:focus,.mfp-close:hover{opacity:1}.mfp-close:active{top:1px}.mfp-close-btn-in .mfp-close{color:#333}.mfp-iframe-holder .mfp-close,.mfp-image-holder .mfp-close{color:#fff;left:-6px;text-align:left;padding-left:6px;width:100%}.mfp-counter{position:absolute;top:0;left:0;color:#ccc;font-size:12px;line-height:18px;white-space:nowrap}.mfp-arrow{position:absolute;opacity:.65;margin:0;top:50%;margin-top:-55px;padding:0;width:90px;height:110px;-webkit-tap-highlight-color:transparent}.mfp-arrow:active{margin-top:-54px}.mfp-arrow:focus,.mfp-arrow:hover{opacity:1}.mfp-arrow:after,.mfp-arrow:before{content:'';display:block;width:0;height:0;position:absolute;right:0;top:0;margin-top:35px;margin-right:35px;border:medium inset transparent}.mfp-arrow:after{border-top-width:13px;border-bottom-width:13px;top:8px}.mfp-arrow:before{border-top-width:21px;border-bottom-width:21px;opacity:.7}.mfp-arrow-left{right:0}.mfp-arrow-left:after{border-left:17px solid #fff;margin-right:31px}.mfp-arrow-left:before{margin-right:25px;border-left:27px solid #3f3f3f}.mfp-arrow-right{left:0}.mfp-arrow-right:after{border-right:17px solid #fff;margin-right:39px}.mfp-arrow-right:before{border-right:27px solid #3f3f3f}.mfp-iframe-holder{padding-top:40px;padding-bottom:40px}.mfp-iframe-holder .mfp-content{line-height:0;width:100%;max-width:900px}.mfp-iframe-holder .mfp-close{top:-40px}.mfp-iframe-scaler{width:100%;height:0;overflow:hidden;padding-top:56.25%}.mfp-iframe-scaler iframe{position:absolute;display:block;top:0;right:0;width:100%;height:100%;box-shadow:0 0 8px rgba(0,0,0,.6);background:#000}img.mfp-img{width:auto;max-width:100%;height:auto;display:block;line-height:0;box-sizing:border-box;padding:40px 0 40px;margin:0 auto}.mfp-figure{line-height:0}.mfp-figure:after{content:'';position:absolute;right:0;top:40px;bottom:40px;display:block;left:0;width:auto;height:auto;z-index:-1;box-shadow:0 0 8px rgba(0,0,0,.6);background:#444}.mfp-figure small{color:#bdbdbd;display:block;font-size:12px;line-height:14px}.mfp-figure figure{margin:0}.mfp-bottom-bar{margin-top:-36px;position:absolute;top:100%;right:0;width:100%;cursor:auto}.mfp-title{text-align:right;line-height:18px;color:#f3f3f3;word-wrap:break-word;padding-left:36px}.mfp-image-holder .mfp-content{max-width:100%}.mfp-gallery .mfp-image-holder .mfp-figure{cursor:pointer}@media screen and (max-width:800px) and (orientation:landscape),screen and (max-height:300px){.mfp-img-mobile .mfp-image-holder{padding-right:0;padding-left:0}.mfp-img-mobile img.mfp-img{padding:0}.mfp-img-mobile .mfp-figure:after{top:0;bottom:0}.mfp-img-mobile .mfp-figure small{display:inline;margin-right:5px}.mfp-img-mobile .mfp-bottom-bar{background:rgba(0,0,0,.6);bottom:0;margin:0;top:auto;padding:3px 5px;position:fixed;box-sizing:border-box}.mfp-img-mobile .mfp-bottom-bar:empty{padding:0}.mfp-img-mobile .mfp-counter{left:5px;top:3px}.mfp-img-mobile .mfp-close{top:0;left:0;width:35px;height:35px;line-height:35px;background:rgba(0,0,0,.6);position:fixed;text-align:center;padding:0}}@media all and (max-width:900px){.mfp-arrow{transform:scale(.75)}.mfp-arrow-left{transform-origin:100%}.mfp-arrow-right{transform-origin:0}.mfp-container{padding-right:6px;padding-left:6px}}/*!
2
  * animate.css -http://daneden.me/animate
3
  * Version - 3.5.2
4
  * Licensed under the MIT license - http://opensource.org/licenses/MIT
assets/css/min/frontend.min.css CHANGED
@@ -1,4 +1,4 @@
1
- div[class*=' pa-'],div[class^=pa-]{box-sizing:border-box}.clearfix:after{clear:both;content:"";font-size:0;height:0;display:block;visibility:hidden}.pp-icon{display:inline-block;line-height:1;text-align:center;transition:all .3s}.pp-icon i,.pp-icon svg{width:1em;height:1em;position:relative;display:block}.pp-no-trans{transition:none}.pp-elementor-grid{display:flex;flex-wrap:wrap;position:relative}.pp-elementor-grid .pp-grid-item{transition:all .25s linear 0s;position:relative}.pp-elementor-grid .pp-grid-item-wrap{float:left;margin-bottom:0;margin-left:0;text-align:center;transition:all .2s cubic-bezier(.645,.045,.355,1)}.pp-contact-form input[type=date],.pp-contact-form input[type=email],.pp-contact-form input[type=number],.pp-contact-form input[type=tel],.pp-contact-form input[type=text],.pp-contact-form input[type=url],.pp-contact-form textarea{background:#fff;box-shadow:none;-webkit-box-shadow:none;float:none;height:auto;margin:0;outline:0;width:auto}.pp-contact-form input[type=submit]{border:0;float:none;height:auto;margin:0;padding:10px 20px;width:auto}.pp-contact-form input[type=button],.pp-contact-form input[type=submit]{transition:all .25s linear 0s}.pp-contact-form.placeholder-hide input::-webkit-input-placeholder,.pp-contact-form.placeholder-hide textarea::-webkit-input-placeholder{opacity:0;visibility:hidden}.pp-contact-form.placeholder-hide input::-moz-placeholder,.pp-contact-form.placeholder-hide textarea::-moz-placeholder{opacity:0;visibility:hidden}.pp-contact-form.placeholder-hide input:-ms-input-placeholder,.pp-contact-form.placeholder-hide textarea:-ms-input-placeholder{opacity:0;visibility:hidden}.pp-contact-form.placeholder-hide input:-moz-placeholder,.pp-contact-form.placeholder-hide textarea:-moz-placeholder{opacity:0;visibility:hidden}.pp-custom-radio-checkbox input[type=checkbox],.pp-custom-radio-checkbox input[type=radio]{-webkit-appearance:none;-moz-appearance:none;border-style:solid;border-width:0;outline:0;min-width:1px;width:15px;height:15px;background:#ddd;padding:3px}.pp-custom-radio-checkbox input[type=checkbox]:before,.pp-custom-radio-checkbox input[type=radio]:before{content:"";width:100%;height:100%;padding:0;margin:0;display:block}.pp-custom-radio-checkbox input[type=checkbox]:checked:before,.pp-custom-radio-checkbox input[type=radio]:checked:before{background:#999;transition:all .25s linear 0s}.pp-custom-radio-checkbox input[type=radio]{border-radius:50%}.pp-custom-radio-checkbox input[type=radio]:before{border-radius:50%}.pp-divider-wrap{font-size:0;line-height:0}.pp-divider{text-align:center}.pp-divider-left .divider-border-left{display:none}.pp-divider-right .divider-border-right{display:none}.pp-divider-horizontal{border:0;border-color:#000;border-bottom-width:4px;border-top-width:0;display:inline-block;width:80px;height:0;border-style:dashed}.pp-divider-vertical{border:0;display:inline-block;border-left:2px solid #000;padding-bottom:50px}.divider-text-container{display:inline-block;max-width:100%}.divider-text-wrap{display:flex;align-items:center;margin:0 auto}.pp-divider-text{font-size:16px;line-height:1.4}.pp-divider-border-wrap{flex:1 1 auto}.divider-border{border:0;height:1px;border-top:1px solid #000;display:block;width:100%}.pp-divider-content{display:inherit;flex:0 1 auto;margin:0 20px}.pp-dual-heading .pp-first-text,.pp-dual-heading .pp-second-text{display:inline-block}.pp-counter{display:inline-block}.pp-counter-icon,.pp-counter-icon-divider,.pp-counter-icon-wrap,.pp-counter-num-divider{display:inline-block}.pp-counter-icon{line-height:1}.pp-counter-layout-3 .pp-icon-title-wrap,.pp-counter-layout-3-number-wrap,.pp-counter-layout-4 .pp-icon-title-wrap,.pp-counter-layout-4-number-wrap{display:flex;align-items:center;justify-content:center}.pp-counter-layout-5,.pp-counter-layout-6{display:flex;align-items:center;justify-content:center}.pp-counter-layout-6 .pp-counter-icon-wrap{order:2}.pp-counter-layout-7,.pp-counter-layout-8{display:inline-flex;align-items:center;justify-content:center}.pp-counter-layout-7 .pp-icon-title-wrap,.pp-counter-layout-8 .pp-icon-title-wrap{display:inline-flex;flex-direction:column;align-items:flex-start}.pp-counter-layout-7 .pp-counter-title-wrap,.pp-counter-layout-8 .pp-counter-title-wrap{text-align:left}.pp-counter-layout-8{flex-direction:row-reverse}.pp-counter-layout-8 .pp-icon-title-wrap{align-items:flex-end}.pp-counter-layout-8 .pp-counter-title-wrap{text-align:right}.pp-counter .pp-icon-title-wrap .pp-counter-title{display:inline-block}.pp-counter .pp-icon-number-wrap .pp-counter-number-wrap{display:inline-block}.pp-business-hours .pp-business-day,.pp-business-hours .pp-business-timing{float:left;width:50%}.pp-business-hours .pp-business-timing{text-align:right}.pp-list-container .pp-icon-wrapper{line-height:1;transition:all .25s linear 0s}.pp-list-container .pp-icon-wrapper.icon-right{order:2}.pp-list-container .pp-icon-list-icon{display:inline-block;text-align:center}.pp-list-container .pp-list-items{list-style:none;margin:0;padding:0}.pp-list-container .pp-list-items li{margin:0;padding:0;position:relative;align-items:center;display:flex}.pp-list-container .pp-list-items li:after{bottom:0;display:block;position:absolute;margin-bottom:-5px}.pp-list-container .pp-list-items .fa{text-align:center}.pp-list-container .pp-list-items a{display:inherit;align-items:center}.pp-list-items.pp-inline-items{display:flex;flex-wrap:wrap}.pp-list-items.pp-inline-items li:not(:last-child){margin-right:8px}.pp-info-box-container{display:block;transition:all .25s linear 0s}.pp-info-box .pp-info-box-icon{display:inline-block;line-height:1;max-width:100%}.pp-info-box .pp-info-box-icon .fa{transition:all .25s linear 0s;width:1em;height:1em}.pp-info-box .pp-info-box-content{flex-grow:1}.pp-info-box-divider-wrap{font-size:0;line-height:0}.pp-info-box-divider{display:inline-block}.pp-info-box-left .pp-info-box{display:flex;flex-direction:row}.pp-info-box-left .pp-info-box .pp-info-box-icon-wrap{display:flex;margin-right:20px}.pp-info-box-left .pp-info-box .pp-info-box-icon,.pp-info-box-left .pp-info-box img{width:100%}.pp-info-box-right .pp-info-box{display:flex;flex-direction:row-reverse}.pp-info-box-right .pp-info-box .pp-info-box-icon-wrap{display:flex;margin-left:20px}.pp-info-box-right .pp-info-box .pp-info-box-icon,.pp-info-box-right .pp-info-box img{width:100%}.pp-info-box-carousel .pp-info-box-content-wrap{overflow:hidden}.pp-info-list-container{overflow:hidden}.pp-info-list-container li{overflow:hidden;position:relative}.pp-info-list-container li:last-child{overflow:hidden}.pp-info-list-container .pp-info-list-item-inner{align-items:center;display:flex}.pp-info-list-container .pp-infolist-icon-wrapper{background:#f5f5f5;display:inline-flex;justify-content:center;align-items:center;flex-shrink:0;position:relative}.pp-info-list-container .pp-info-list-number{text-align:center}.pp-info-list-container .pp-info-list-item:last-child{margin-bottom:0!important}.pp-info-list-container .pp-list-items a{color:inherit}.pp-info-list-icon-left.pp-info-list-icon-vertical-middle .pp-info-list-item-inner,.pp-info-list-icon-right.pp-info-list-icon-vertical-middle .pp-info-list-item-inner{align-items:center}.pp-info-list-icon-left.pp-info-list-icon-vertical-top .pp-info-list-item-inner,.pp-info-list-icon-right.pp-info-list-icon-vertical-top .pp-info-list-item-inner{align-items:flex-start}.pp-info-list-icon-left.pp-info-list-icon-vertical-top .pp-info-list-item:first-child .pp-infolist-icon-wrapper:before,.pp-info-list-icon-right.pp-info-list-icon-vertical-top .pp-info-list-item:first-child .pp-infolist-icon-wrapper:before{display:none}.pp-info-list-icon-left.pp-info-list-icon-vertical-bottom .pp-info-list-item-inner,.pp-info-list-icon-right.pp-info-list-icon-vertical-bottom .pp-info-list-item-inner{align-items:flex-end}.pp-info-list-icon-left.pp-info-list-icon-vertical-bottom .pp-info-list-item:last-child .pp-infolist-icon-wrapper:after,.pp-info-list-icon-right.pp-info-list-icon-vertical-bottom .pp-info-list-item:last-child .pp-infolist-icon-wrapper:after{display:none}.pp-info-list-icon-top.pp-info-list-icon-horizontal-center .pp-info-list-item-inner{align-items:center}.pp-info-list-icon-top.pp-info-list-icon-horizontal-left .pp-info-list-item-inner{align-items:flex-start}.pp-info-list-icon-top.pp-info-list-icon-horizontal-left .pp-info-list-item:first-child .pp-infolist-icon-wrapper:before{display:none}.pp-info-list-icon-top.pp-info-list-icon-horizontal-right .pp-info-list-item-inner{align-items:flex-end}.pp-info-list-icon-top.pp-info-list-icon-horizontal-right .pp-info-list-item:last-child .pp-infolist-icon-wrapper:after{display:none}.pp-info-list-icon-left .pp-infolist-icon-wrapper{margin-right:10px}.pp-info-list-icon-left .pp-info-list-connector .pp-infolist-icon-wrapper:before{content:'';border-right:1px solid #000;height:1500px;bottom:14px;left:calc(7px - (1px/2));position:absolute;width:1px}.pp-info-list-icon-left .pp-info-list-connector .pp-infolist-icon-wrapper:after{content:'';border-right:1px solid #000;height:1500px;top:14px;left:calc(7px - (1px/2));position:absolute;width:1px}.pp-info-list-icon-right .pp-info-list-item{justify-content:flex-end;text-align:right}.pp-info-list-icon-right .pp-infolist-icon-wrapper{margin-left:10px;order:2}.pp-info-list-icon-right .pp-info-list-connector .pp-infolist-icon-wrapper:before{content:'';border-left:1px solid #000;height:1500px;bottom:14px;right:calc(7px - (1px/2));position:absolute;width:1px}.pp-info-list-icon-right .pp-info-list-connector .pp-infolist-icon-wrapper:after{content:'';border-left:1px solid #000;height:1500px;top:14px;right:calc(7px - (1px/2));position:absolute;width:1px}.pp-info-list-connector.pp-info-list-corners-hide .pp-info-list-item:first-child .pp-infolist-icon-wrapper:before{display:none}.pp-info-list-connector.pp-info-list-corners-hide .pp-info-list-item:last-child .pp-infolist-icon-wrapper:after{display:none}.pp-info-list-icon-top .pp-list-items{display:flex;justify-content:center}.pp-info-list-icon-top .pp-list-items .pp-info-list-item{display:inline-block;flex-grow:1;flex-basis:0;text-align:center}.pp-info-list-icon-top .pp-list-items .pp-info-list-item:last-child{margin-right:0!important}.pp-info-list-icon-top .pp-infolist-icon-wrapper{margin-bottom:10px;vertical-align:top}.pp-info-list-icon-top .pp-info-list-connector .pp-infolist-icon-wrapper:before{content:'';border-top:1px solid #000;height:1px;top:calc(7px - (1px/2));left:auto;right:14px;position:absolute;width:1500px}.pp-info-list-icon-top .pp-info-list-connector .pp-infolist-icon-wrapper:after{content:'';border-top:1px solid #000;height:1px;left:14px;top:calc(7px - (1px/2));right:auto;position:absolute;width:1500px}.pp-info-list-icon-top .pp-info-list-item-inner{flex-direction:column}.pp-infolist-icon-wrapper{line-height:1;position:relative;z-index:1}.pp-info-list-item .pp-info-list-button{display:flex}.pp-info-list-item .pp-info-list-button .pp-button-icon{margin-right:10px}.pp-info-list-item .pp-info-list-button-icon-after .pp-button-icon{margin-left:10px;margin-right:0;order:2}.pp-link{display:inline-block;position:relative}.pp-link-effect-1:after{background:#000;position:absolute;bottom:-4px;content:'';height:1px;left:0;opacity:0;transform:translateY(10px);transition:height .25s,opacity .25s,transform .25s;width:100%}.pp-link-effect-1:hover:after{height:4px;opacity:1;transform:translateY(0)}.pp-link-effect-2:after{background:#000;position:absolute;bottom:-4px;content:'';height:1px;left:0;opacity:0;transform:translateY(0);transition:height .25s,opacity .25s,transform .25s;width:100%}.pp-link-effect-2:hover:after{height:4px;opacity:1;transform:translateY(10px)}.pp-link-effect-3:after,.pp-link-effect-3:before{display:inline-block;opacity:0;transition:transform .3s,opacity .2s}.pp-link-effect-3:before{margin-right:10px;content:'[';transform:translateX(20px)}.pp-link-effect-3:after{margin-left:10px;content:']';transform:translateX(-20px)}.pp-link-effect-3:focus:after,.pp-link-effect-3:focus:before,.pp-link-effect-3:hover:after,.pp-link-effect-3:hover:before{opacity:1;transform:translateX(0)}.pp-link-effect-4{perspective:1000px}.pp-link-effect-4 span{position:relative;display:inline-block;padding:0 14px;background:#2195de;transition:transform .3s;transform-origin:50% 0;transform-style:preserve-3d}.pp-link-effect-4 span:before{position:absolute;top:100%;left:0;width:100%;height:100%;background:#0965a0;text-align:center;content:attr(data-hover);transition:background .3s;transform:rotateX(-90deg);transform-origin:50% 0}.pp-link-effect-4:focus span,.pp-link-effect-4:hover span{transform:rotateX(90deg) translateY(-22px)}.pp-link-effect-4:focus span:before,.pp-link-effect-4:hover span:before{background:#28a2ee}.pp-link-effect-5{display:inline-block;overflow:hidden;padding:0 4px}.pp-link-effect-5 span{position:relative;display:inline-block;transition:transform .3s}.pp-link-effect-5 span:before{position:absolute;top:100%;content:attr(data-hover);font-weight:700;transform:translate3d(0,0,0)}.pp-link-effect-5:focus span,.pp-link-effect-5:hover span{transform:translateY(-100%)}.pp-link-effect-6{margin:0 10px;padding:10px 20px}.pp-link-effect-6:before{position:absolute;top:0;left:0;width:100%;height:2px;background:#fff;content:'';transition:top .3s}.pp-link-effect-6:after{position:absolute;top:0;left:0;width:2px;height:2px;background:#fff;content:'';transition:height .3s}.pp-link-effect-6:hover::before{top:100%;opacity:1}.pp-link-effect-6:hover::after{height:100%}.pp-link-effect-7{padding:12px 10px 10px;color:#566473;text-shadow:none;font-weight:700}.pp-link-effect-7:after,.pp-link-effect-7:before{position:absolute;top:100%;left:0;width:100%;height:3px;background:#566473;content:'';transition:transform .3s;transform:scale(.85)}.pp-link-effect-7:after{opacity:0;transition:top .3s,opacity .3s,transform .3s}.pp-link-effect-7:focus::after,.pp-link-effect-7:focus::before,.pp-link-effect-7:hover::after,.pp-link-effect-7:hover::before{transform:scale(1)}.pp-link-effect-7:focus::after,.pp-link-effect-7:hover::after{top:0;opacity:1}.pp-link-effect-8{padding:10px 20px}.pp-link-effect-8:after,.pp-link-effect-8:before{position:absolute;top:0;left:0;width:100%;height:100%;border:3px solid #354856;content:'';transition:transform .3s,opacity .3s}.pp-link-effect-8:after{border-color:#fff;opacity:0;transform:translateY(-7px) translateX(6px)}.pp-link-effect-8:focus:before,.pp-link-effect-8:hover:before{opacity:0;transform:translateY(5px) translateX(-5px)}.pp-link-effect-8:focus:after,.pp-link-effect-8:hover:after{opacity:1;transform:translateY(0) translateX(0)}.pp-link-effect-9{display:inline-block;margin:0 20px;padding:18px 20px}.pp-link-effect-9:after,.pp-link-effect-9:before{position:absolute;top:0;left:0;width:100%;height:1px;background:#fff;content:'';opacity:.2;transition:opacity .3s,height .3s}.pp-link-effect-9:after{top:100%;opacity:0;transition:transform .3s,opacity .3s;transform:translateY(-10px)}.pp-link-effect-9 span:first-child{z-index:2;display:block;font-weight:300}.pp-link-effect-9 span:last-child{z-index:1;display:block;padding:8px 0 0 0;color:rgba(0,0,0,.4);text-shadow:none;text-transform:none;font-style:italic;font-size:.75em;font-family:Palatino,"Palatino Linotype","Palatino LT STD","Book Antiqua",Georgia,serif;opacity:0;transition:transform .3s,opacity .3s;transform:translateY(-100%)}.pp-link-effect-9:focus:before,.pp-link-effect-9:hover:before{height:6px}.pp-link-effect-9:focus:after,.pp-link-effect-9:focus:before,.pp-link-effect-9:hover:after,.pp-link-effect-9:hover:before{opacity:1;transform:translateY(0)}.pp-link-effect-9:focus span:last-child,.pp-link-effect-9:hover span:last-child{opacity:1;transform:translateY(0)}.pp-link-effect-10{display:inline-block;overflow:hidden;margin:0 15px}.pp-link-effect-10 span{display:block;background:#0f7c67;padding:8px 20px;transition:transform .3s}.pp-link-effect-10:before{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;background:#fff;color:#0f7c67;content:attr(data-hover);padding:8px 20px;transition:transform .3s;-webkit-transform:translateX(-50%)}.pp-link-effect-10:focus span,.pp-link-effect-10:hover span{transform:translateX(100%)}.pp-link-effect-10:focus:before,.pp-link-effect-10:hover:before{transform:translateX(0);z-index:1}.pp-link-effect-11{padding:10px 0;border-top:2px solid #0972b4;color:#0972b4;text-shadow:none}.pp-link-effect-11:before{position:absolute;top:0;left:0;overflow:hidden;padding:10px 0;max-width:0;border-bottom:2px solid #fff;color:#fff;content:attr(data-hover);transition:max-width .5s}.pp-link-effect-11:focus:before,.pp-link-effect-11:hover:before{max-width:100%}.pp-link-effect-12:after,.pp-link-effect-12:before{position:absolute;top:50%;left:50%;width:100px;height:100px;border:2px solid rgba(0,0,0,.1);border-radius:50%;content:'';opacity:0;transition:transform .3s,opacity .3s;transform:translateX(-50%) translateY(-50%) scale(.2)}.pp-link-effect-12:after{width:90px;height:90px;border-width:6px;transform:translateX(-50%) translateY(-50%) scale(.8)}.pp-link-effect-12:focus:after,.pp-link-effect-12:focus:before,.pp-link-effect-12:hover:after,.pp-link-effect-12:hover:before{opacity:1;transform:translateX(-50%) translateY(-50%) scale(1)}.pp-link-effect-13{display:inline-block;transition:color .3s}.pp-link-effect-13:before{position:absolute;top:100%;left:50%;color:transparent;content:'\2022';text-shadow:0 0 transparent;font-size:1.2em;transition:text-shadow .3s,color .3s;transform:translateX(-50%);pointer-events:none}.pp-link-effect-13:focus:before,.pp-link-effect-13:hover:before{color:#fff;text-shadow:10px 0 #fff,-10px 0 #fff}.pp-link-effect-13:focus,.pp-link-effect-13:hover{color:#ba7700}.pp-link-effect-14{display:inline-block;padding:0 20px;height:45px;line-height:45px}.pp-link-effect-14:after,.pp-link-effect-14:before{position:absolute;width:45px;height:2px;background:#fff;content:'';transition:all .3s;pointer-events:none}.pp-link-effect-14:before{top:0;left:0;transform:rotate(90deg);transform-origin:0 0}.pp-link-effect-14:after{right:0;bottom:0;transform:rotate(90deg);transform-origin:100% 0}.pp-link-effect-14:focus:after,.pp-link-effect-14:focus:before,.pp-link-effect-14:hover:after,.pp-link-effect-14:hover:before{opacity:1}.pp-link-effect-14:focus:before,.pp-link-effect-14:hover:before{left:50%;transform:rotate(0) translateX(-50%)}.pp-link-effect-14:focus:after,.pp-link-effect-14:hover:after{right:50%;transform:rotate(0) translateX(50%)}.pp-link-effect-15{display:inline-block;color:rgba(0,0,0,.2);font-weight:700;text-shadow:none}.pp-link-effect-15:before{color:#fff;content:attr(data-hover);position:absolute;transition:transform .3s,opacity .3s}.pp-link-effect-15:focus:before,.pp-link-effect-15:hover:before{transform:scale(.9);opacity:0}.pp-link-effect-16{display:inline-block;color:#6f8686;text-shadow:0 0 1px rgba(111,134,134,.3)}.pp-link-effect-16:before{color:#fff;content:attr(data-hover);position:absolute;opacity:0;text-shadow:0 0 1px rgba(255,255,255,.3);transform:scale(1.1) translateX(10px) translateY(-10px) rotate(4deg);transition:transform .3s,opacity .3s;pointer-events:none}.pp-link-effect-16:focus:before,.pp-link-effect-16:hover:before{transform:scale(1) translateX(0) translateY(0) rotate(0);opacity:1}.pp-link-effect-17{display:inline-block;color:#10649b;text-shadow:none;padding:10px 0}.pp-link-effect-17:before{color:#fff;text-shadow:0 0 1px rgba(255,255,255,.3);content:attr(data-hover);position:absolute;transition:transform .3s,opacity .3s;pointer-events:none}.pp-link-effect-17:after{content:'';position:absolute;left:0;bottom:0;width:100%;height:2px;background:#fff;opacity:0;transform:translateY(5px);transition:transform .3s,opacity .3s;pointer-events:none}.pp-link-effect-17:focus:before,.pp-link-effect-17:hover:before{opacity:0;transform:translateY(-2px)}.pp-link-effect-17:focus:after,.pp-link-effect-17:hover:after{opacity:1;transform:translateY(0)}.pp-link-effect-18{display:inline-block;position:relative;z-index:1;padding:0 5px;color:#000;font-weight:700;transition:color .3s}.pp-link-effect-18:after,.pp-link-effect-18:before{position:absolute;width:100%;left:0;top:50%;height:2px;margin-top:-1px;background:#000;content:'';z-index:-1;transition:transform .3s,opacity .3s;pointer-events:none}.pp-link-effect-18:before{transform:translateY(-20px)}.pp-link-effect-18:after{transform:translateY(20px)}.pp-link-effect-18:focus,.pp-link-effect-18:hover{color:#000}.pp-link-effect-18:focus:after,.pp-link-effect-18:focus:before,.pp-link-effect-18:hover:after,.pp-link-effect-18:hover:before{opacity:.7}.pp-link-effect-18:focus:before,.pp-link-effect-18:hover:before{transform:rotate(45deg)}.pp-link-effect-18:focus:after,.pp-link-effect-18:hover:after{transform:rotate(-45deg)}.pp-link-effect-19{display:inline-block;line-height:2em;perspective:800px;width:200px}.pp-link-effect-19 span{position:relative;display:inline-block;width:100%;padding:0 14px;background:#e35041;transition:transform .4s,background .4s;transform-style:preserve-3d;transform-origin:50% 50% -100px}.pp-link-effect-19 span:before{position:absolute;top:0;left:100%;width:100%;height:100%;background:#b53a2d;content:attr(data-hover);transition:background .4s;transform:rotateY(90deg);transform-origin:0 50%;pointer-events:none}.pp-link-effect-19:focus span,.pp-link-effect-19:hover span{background:#b53a2d;transform:rotateY(-90deg)}.pp-link-effect-19:focus span:before,.pp-link-effect-19:hover span:before{background:#ef5e50}.pp-link-effect-20{display:inline-block;line-height:2em;perspective:800px}.pp-link-effect-20 span{position:relative;display:inline-block;text-align:center;padding:3px 15px 0;background:#587285;box-shadow:inset 0 3px #2f4351;transition:background .6s;transform-origin:50% 0;transform-style:preserve-3d;transform-origin:0 50%}.pp-link-effect-20 span:before{position:absolute;top:0;left:0;width:100%;height:100%;background:#fff;color:#2f4351;content:attr(data-hover);transform:rotateX(270deg);transition:transform .6s;transform-origin:0 0;pointer-events:none}.pp-link-effect-20:focus span,.pp-link-effect-20:hover span{background:#2f4351}.pp-link-effect-20:focus span::before,.pp-link-effect-20:hover span::before{transform:rotateX(10deg)}.pp-link-effect-21{display:inline-block;padding:10px;color:#237546;font-weight:700;text-shadow:none;transition:color .3s}.pp-link-effect-21:after,.pp-link-effect-21:before{position:absolute;left:0;width:100%;height:2px;background:#fff;content:'';opacity:0;transition:opacity .3s,transform .3s;transform:translateY(-10px)}.pp-link-effect-21:before{top:0;transform:translateY(-10px)}.pp-link-effect-21:after{bottom:0;transform:translateY(10px)}.pp-link-effect-21:focus,.pp-link-effect-21:hover{color:#fff}.pp-link-effect-21:focus:after,.pp-link-effect-21:focus:before,.pp-link-effect-21:hover:after,.pp-link-effect-21:hover:before{opacity:1;transform:translateY(0)}.pp-pricing-table{overflow:hidden;text-align:center;transition:all .25s linear 0s}.pp-pricing-table-container{position:relative}.pp-pricing-table.horizontal-table{display:flex}.pp-pricing-table.horizontal-table .pp-pricing-table-features,.pp-pricing-table.horizontal-table .pp-pricing-table-footer,.pp-pricing-table.horizontal-table .pp-pricing-table-head{flex:1}.pp-pricing-table-align-left .pp-pricing-table{text-align:left}.pp-pricing-table-align-left .pp-pricing-table-price{justify-content:flex-start}.pp-pricing-table-align-right .pp-pricing-table{text-align:right}.pp-pricing-table-align-right .pp-pricing-table-price{justify-content:flex-end}.pp-pricing-table-head{background:#7a7a7a;padding:30px}.pp-pricing-table .pp-pricing-table-icon{display:inline-block}.pp-pricing-table .pp-pricing-table-title-wrap .pp-pricing-table-title{margin-bottom:0}.pp-pricing-table .pp-pricing-table-title-wrap .pp-pricing-table-subtitle{margin-bottom:0}.pp-pricing-table .pp-pricing-table-price{font-size:40px;margin-left:auto;margin-right:auto;padding:30px}.pp-pricing-table-price-value{display:flex}.pp-pricing-table-after-part{font-size:.4em;line-height:1;align-self:flex-start}.pp-pricing-table .pp-pricing-table-features{list-style:none;margin:0;padding:0}.pp-pricing-table .pp-pricing-table-features li{margin:0;padding:0}.pp-pricing-table .pp-pricing-table-features li:last-child{border-bottom:0}.pp-pricing-table .pp-pricing-table-features .excluded{text-decoration:line-through}.pp-pricing-table .pp-pricing-table-price-duration,.pp-pricing-table .pp-pricing-table-price-prefix{font-size:.4em;line-height:1;text-align:left}.pp-pricing-table .pp-pricing-table-price-prefix{align-self:flex-start}.pp-pricing-table .pp-pricing-table-price-duration{align-self:flex-end}.pp-pricing-table-price-duration-wrap .pp-pricing-table-price{flex-wrap:wrap}.pp-pricing-table-price-duration-wrap .pp-pricing-table-price-duration{text-align:center;width:100%}.pp-pricing-table .pp-pricing-table-price-value{line-height:.9}.pp-pricing-table-price,.pp-pricing-table-price-wrap{display:flex;justify-content:center;align-items:center;width:100%}.pp-pricing-table-price-original{display:inline-flex;font-size:.5em;line-height:1;align-self:flex-end;text-decoration:line-through}.pp-pricing-table-ribbon{color:#fff;font-size:13px;font-weight:700;position:absolute;text-align:center;text-transform:uppercase;top:0;z-index:2}.pp-pricing-table-ribbon-inner{background:#61ce70}.pp-pricing-table-ribbon-1{position:absolute;top:0;width:150px;overflow:hidden;height:150px}.pp-pricing-table-ribbon-1.pp-pricing-table-ribbon-right{left:auto;right:0;transform:rotate(90deg)}.pp-pricing-table-ribbon-1.pp-pricing-table-ribbon-left{left:0;right:auto;transform:rotate(0)}.pp-pricing-table-ribbon-1 .pp-pricing-table-ribbon-inner{text-align:center;left:0;width:200%;transform:translateY(-50%) translateX(-50%) translateX(35px) rotate(-45deg);margin-top:35px;line-height:2}.pp-pricing-table-ribbon-2{border-radius:50%;line-height:4em;min-height:4em;min-width:4em}.pp-pricing-table-ribbon-2 .pp-pricing-table-ribbon-inner{background:#61ce70;border-radius:50%}.pp-pricing-table-ribbon-2.pp-pricing-table-ribbon-right{transform:translateX(38%) translateY(-38%)}.pp-pricing-table-ribbon-2.pp-pricing-table-ribbon-left{transform:translateX(-38%) translateY(-38%)}.pp-pricing-table-ribbon-right{right:0}.pp-pricing-table-ribbon-left{left:0}.pp-pricing-table-ribbon-3{background:#61ce70;top:10%}.pp-pricing-table-ribbon-3 .pp-pricing-table-ribbon-inner{padding:3px 18px}.pp-pricing-table-ribbon-3:after,.pp-pricing-table-ribbon-3:before{border-bottom:8px solid transparent;content:'';display:block;position:absolute;height:0;width:0;top:100%}.pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-right{border-radius:3px 3px 0 3px;right:-8px}.pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-right:after,.pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-right:before{right:0}.pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-right:before{border-left:8px solid #61ce70}.pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-right:after{border-left:8px solid rgba(0,0,0,.2)}.pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-left{border-radius:3px 3px 3px 0;left:-8px}.pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-left:after,.pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-left:before{left:0}.pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-left:before{border-right:8px solid #61ce70}.pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-left:after{border-right:8px solid rgba(0,0,0,.2)}.pp-restaurant-menu .pp-restaurant-menu-item-wrap{margin-bottom:10px;position:relative}.pp-restaurant-menu .pp-restaurant-menu-item{align-items:center;display:flex}.pp-restaurant-menu .pp-restaurant-menu-image{flex-grow:0;margin-right:10px}.pp-restaurant-menu .pp-restaurant-menu-content{flex-grow:1}.pp-restaurant-menu .pp-restaurant-menu-header{display:flex;justify-content:space-between;margin-bottom:5px}.pp-restaurant-menu .pp-restaurant-menu-title{display:inline-block;margin:0}.pp-restaurant-menu .pp-restaurant-menu-title a{color:inherit}.pp-restaurant-menu-style-1 .pp-restaurant-menu-price{float:right}.pp-restaurant-menu-style-3 .pp-restaurant-menu-image{order:1}.pp-restaurant-menu-style-4 .pp-restaurant-menu-header,.pp-restaurant-menu-style-4 .pp-restaurant-menu-item{display:block}.pp-restaurant-menu-style-4 .pp-restaurant-menu-image{display:inline-block}.pp-restaurant-menu-style-1 .pp-price-title-connector{border-bottom:1px dashed #000;height:1px;flex-grow:1;align-self:center;margin:0 20px}.pp-restaurant-menu-style-powerpack .pp-restaurant-menu-item{min-height:150px;position:relative}.pp-restaurant-menu-style-powerpack .pp-restaurant-menu-price{bottom:0;padding:10px;position:absolute;right:0;z-index:1}.pp-restaurant-menu-style-powerpack .pp-restaurant-menu-price:after{border-color:transparent #b83d11;border-style:solid;border-width:110px 130px 0 0;bottom:0;content:"";position:absolute;right:0;z-index:-1}.pp-restaurant-menu-divider-wrap{font-size:0;line-height:0}.pp-restaurant-menu-divider{display:inline-block}.pp-promo-box{overflow:hidden;position:relative;width:100%}.pp-promo-box .pp-promo-box-icon{display:inline-block;line-height:1;text-align:center;transition:all .25s linear 0s}.pp-promo-box .pp-promo-box-icon .pp-promo-box-icon-inner{height:1em;width:1em}.pp-promo-box .pp-promo-box-bg,.pp-promo-box .pp-promo-box-overlay{position:absolute;height:100%;left:0;top:0;width:100%;transition:transform .25s linear 0s}.pp-promo-box .pp-promo-box-bg{padding:40px}.pp-promo-box .pp-promo-box-wrap{height:100%;width:100%;position:relative}.pp-promo-box .pp-promo-box-inner{display:table;width:100%;height:100%}.pp-promo-box .pp-promo-box-inner-content{display:table-cell;vertical-align:middle}.pp-promo-box .pp-promo-box-banner{transition:all .25s linear 0s;min-height:100%;width:100%}.pp-promo-box-heading-divider-wrap,.pp-promo-box-subheading-divider-wrap{font-size:0;line-height:1}.pp-promo-box-heading-divider,.pp-promo-box-subheading-divider{display:inline-block}.pp-image-hotspots{display:flex;position:relative}.pp-hot-spot-wrap{cursor:pointer;position:absolute;width:14px;height:14px;background:#000;border-radius:50%;font-size:14px;display:inline-flex;padding:15px;align-items:center;justify-content:center}.pp-hot-spot-image{position:relative}.pp-hot-spot-inner{cursor:pointer;display:flex;align-items:center;justify-content:center;text-align:center}.pp-hot-spot-inner.hotspot-animation:before{content:'';display:block;position:absolute;z-index:0;pointer-events:none;-webkit-animation:pp-glow 2s infinite;animation:pp-glow 2s infinite;left:0;top:0}.pp-hot-spot-inner.hotspot-animation:hover:before{-webkit-animation:none;animation:none}.pp-hot-spot-inner.hotspot-animation .pp-hotspot-text{z-index:1}.pp-hot-spot-inner,.pp-hot-spot-inner:before{background-color:#000;border-radius:50%;color:#fff;height:100%;position:absolute;width:100%}.pp-hotspot-icon{position:relative}.pp-hotspot-icon-wrap{display:inline-flex;width:100%;height:100%;vertical-align:middle;align-items:center;justify-content:center;border-radius:50%}@-webkit-keyframes pp-glow{0%{transform:scale(1);box-shadow:inset 0 0 1px 1px rgba(0,0,0,.8);opacity:1}100%{transform:scale(1.5);box-shadow:inset 0 0 1px 1px transparent;opacity:0}}@keyframes pp-glow{0%{transform:scale(1);box-shadow:inset 0 0 1px 1px rgba(0,0,0,.8);opacity:1}100%{transform:scale(1.5);box-shadow:inset 0 0 1px 1px transparent;opacity:0}}.tipso_content p:last-child{margin-bottom:0}.pp-hotspot-img-align-center .pp-image-hotspots{justify-content:center}.pp-hotspot-img-align-left .pp-image-hotspots{justify-content:flex-start}.pp-hotspot-img-align-right .pp-image-hotspots{justify-content:flex-end}@media only screen and (max-width:1024px){.pp-hotspot-img-align-tablet-center .pp-image-hotspots{justify-content:center}.pp-hotspot-img-align-tablet-left .pp-image-hotspots{justify-content:flex-start}.pp-hotspot-img-align-tablet-right .pp-image-hotspots{justify-content:flex-end}}@media only screen and (max-width:767px){.pp-hotspot-img-align-mobile-center .pp-image-hotspots{justify-content:center}.pp-hotspot-img-align-mobile-left .pp-image-hotspots{justify-content:flex-start}.pp-hotspot-img-align-mobile-right .pp-image-hotspots{justify-content:flex-end}}.pp-instagram-feed{position:relative}.pp-instagram-feed .pp-feed-item{float:left;position:relative}.pp-instagram-feed .pp-feed-item img{-webkit-filter:none;filter:none;vertical-align:middle}.pp-instagram-feed .pp-feed-item:hover img{-webkit-filter:none;filter:none}.pp-instagram-feed-gallery .pp-feed-item{width:20%}.pp-instagram-feed-title-wrap{background:#fff;position:absolute;z-index:2;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pp-insta-title-top .pp-instagram-feed-title-wrap{top:0;position:absolute;left:50%;transform:translate(-50%)}.pp-insta-title-bottom .pp-instagram-feed-title-wrap{bottom:0;top:auto;position:absolute;left:50%;transform:translate(-50%)}.pp-instagram-feed-title{display:block;padding:6px 30px;text-align:center}.pp-instagram-feed .pp-feed-item{position:relative}.pp-instagram-feed .pp-feed-item-inner{display:block;position:relative}.pp-instagram-feed-gray .pp-feed-item img{-webkit-filter:grayscale(100%);filter:grayscale(100%);transition:-webkit-filter .25s linear 0s;transition:filter .25s linear 0s;transition:filter .25s linear 0s,-webkit-filter .25s linear 0s}.pp-instagram-feed-hover-gray .pp-feed-item:hover img{-webkit-filter:grayscale(100%);filter:grayscale(100%);transition:-webkit-filter .25s linear 0s;transition:filter .25s linear 0s;transition:filter .25s linear 0s,-webkit-filter .25s linear 0s}.pp-instagram-feed .pp-overlay-container{color:#fff;display:flex;justify-content:center;align-items:center;z-index:1}.pp-instagram-feed .pp-overlay-container span{display:flex;align-items:center;margin:0 5px}.pp-instagram-feed-hover .pp-overlay-container{opacity:0}.pp-instagram-feed-hover .pp-feed-item:hover .pp-overlay-container{opacity:1}.pp-instagram-feed .swiper-container .swiper-slide img{width:100%}.pp-instafeed{overflow:hidden;position:relative}.pp-if-icon{margin-right:5px}.pp-if-square-images .pp-feed-item-inner{position:relative;padding-bottom:100%;width:100%}.pp-if-square-images .pp-if-img{overflow:hidden;position:absolute;width:100%;height:100%;left:0;top:0}.pp-if-square-images img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.pp-load-more-button{cursor:pointer}.pp-load-more-button[disabled=disabled]{display:none}.pp-button-loading .pp-button-loader{display:inline-block;width:22px;height:22px;vertical-align:middle;margin-right:8px}.pp-button-loading .pp-button-loader:after{content:'';display:block;width:100%;height:100%;border-radius:50%;border:3px solid #fff;border-color:#fff transparent #fff transparent;-webkit-animation:pp-dual-ring 1.2s linear infinite;animation:pp-dual-ring 1.2s linear infinite}@-webkit-keyframes pp-dual-ring{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes pp-dual-ring{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.twentytwenty-horizontal .twentytwenty-handle:after,.twentytwenty-horizontal .twentytwenty-handle:before,.twentytwenty-vertical .twentytwenty-handle:after,.twentytwenty-vertical .twentytwenty-handle:before{content:" ";display:block;background:#fff;position:absolute;z-index:30;box-shadow:0 0 12px rgba(51,51,51,.5)}.twentytwenty-horizontal .twentytwenty-handle:after,.twentytwenty-horizontal .twentytwenty-handle:before{width:3px;height:9999px;left:50%;margin-left:-1.5px}.twentytwenty-vertical .twentytwenty-handle:after,.twentytwenty-vertical .twentytwenty-handle:before{width:9999px;height:3px;top:50%;margin-top:-1.5px}.twentytwenty-after-label,.twentytwenty-before-label,.twentytwenty-overlay{position:absolute;top:0;width:100%;height:100%}.twentytwenty-after-label,.twentytwenty-before-label,.twentytwenty-overlay{transition-duration:.5s}.twentytwenty-after-label,.twentytwenty-before-label{transition-property:opacity}.twentytwenty-after-label:before,.twentytwenty-before-label:before{color:#fff;font-size:13px;letter-spacing:.1em}.twentytwenty-after-label:before,.twentytwenty-before-label:before{position:absolute;background:rgba(255,255,255,.2);line-height:38px;padding:0 20px;border-radius:2px}.twentytwenty-horizontal .twentytwenty-after-label:before,.twentytwenty-horizontal .twentytwenty-before-label:before{top:50%;transform:translateY(-50%)}.pp-ic-label-horizontal-top .twentytwenty-horizontal .twentytwenty-after-label:before,.pp-ic-label-horizontal-top .twentytwenty-horizontal .twentytwenty-before-label:before{transform:translateY(0);top:10px}.pp-ic-label-horizontal-bottom .twentytwenty-horizontal .twentytwenty-after-label:before,.pp-ic-label-horizontal-bottom .twentytwenty-horizontal .twentytwenty-before-label:before{bottom:10px;transform:translateY(0);top:auto}.twentytwenty-vertical .twentytwenty-after-label:before,.twentytwenty-vertical .twentytwenty-before-label:before{left:50%;transform:translateX(-50%);text-align:center}.pp-ic-label-vertical-left .twentytwenty-vertical .twentytwenty-after-label:before,.pp-ic-label-vertical-left .twentytwenty-vertical .twentytwenty-before-label:before{left:10px;transform:translateX(0)}.pp-ic-label-vertical-right .twentytwenty-vertical .twentytwenty-after-label:before,.pp-ic-label-vertical-right .twentytwenty-vertical .twentytwenty-before-label:before{left:auto;right:10px;transform:translateX(0)}.twentytwenty-down-arrow,.twentytwenty-left-arrow,.twentytwenty-right-arrow,.twentytwenty-up-arrow{width:0;height:0;border:6px inset transparent;position:absolute}.twentytwenty-left-arrow,.twentytwenty-right-arrow{top:50%;margin-top:-6px}.twentytwenty-down-arrow,.twentytwenty-up-arrow{left:50%;margin-left:-6px}.twentytwenty-container{box-sizing:content-box;z-index:0;overflow:hidden;position:relative;-webkit-user-select:none;-moz-user-select:none}.twentytwenty-container img{max-width:100%;position:absolute;top:0;display:block}.twentytwenty-container.active .twentytwenty-overlay,.twentytwenty-container.active :hover.twentytwenty-overlay{background:rgba(0,0,0,0)}.twentytwenty-container *{box-sizing:content-box}.twentytwenty-before-label:before{content:attr(data-content)}.twentytwenty-after-label:before{content:attr(data-content)}.twentytwenty-horizontal .twentytwenty-before-label:before{left:10px}.twentytwenty-horizontal .twentytwenty-after-label:before{right:10px}.twentytwenty-vertical .twentytwenty-before-label:before{top:10px}.twentytwenty-vertical .twentytwenty-after-label:before{bottom:10px}.twentytwenty-overlay{transition-property:background;background:rgba(0,0,0,0);z-index:25}.twentytwenty-overlay:hover{background:rgba(0,0,0,.5)}.twentytwenty-overlay:hover .twentytwenty-after-label{opacity:1}.twentytwenty-overlay:hover .twentytwenty-before-label{opacity:1}.twentytwenty-before{z-index:20}.twentytwenty-after{z-index:10}.twentytwenty-handle{height:38px;width:38px;position:absolute;left:50%;top:50%;margin-left:-22px;margin-top:-22px;border:3px solid #fff;border-radius:1000px;box-shadow:0 0 12px rgba(51,51,51,.5);z-index:40;cursor:pointer}.twentytwenty-horizontal .twentytwenty-handle:before{bottom:50%;margin-bottom:19px}.twentytwenty-horizontal .twentytwenty-handle:after{top:50%;margin-top:19px}.twentytwenty-vertical .twentytwenty-handle:before{left:50%;margin-left:19px}.twentytwenty-vertical .twentytwenty-handle:after{right:50%;margin-right:19px}.twentytwenty-left-arrow{border-right:6px solid #fff;left:50%;margin-left:-17px}.twentytwenty-right-arrow{border-left:6px solid #fff;right:50%;margin-right:-17px}.twentytwenty-up-arrow{border-bottom:6px solid #fff;top:50%;margin-top:-17px}.twentytwenty-down-arrow{border-top:6px solid #fff;bottom:50%;margin-bottom:-17px}.pp-tm-wrapper{position:relative}.pp-tm-wrapper .pp-tm-social-links{list-style:none;margin:0;padding:0}.pp-tm-wrapper .pp-tm-social-links li{list-style:none;margin:0;padding:0}.pp-tm-wrapper .pp-tm-title-divider-wrap{font-size:0;line-height:1}.pp-tm-wrapper .pp-tm-divider,.pp-tm-wrapper .pp-tm-social-icon,.pp-tm-wrapper li{display:inline-block}.pp-tm-wrapper .pp-tm:hover .pp-tm-overlay-content-wrap{opacity:1;visibility:visible}.pp-tm-wrapper .pp-tm-image{display:inline-block;position:relative}.pp-tm-content-normal{position:relative;z-index:1}.pp-tm-overlay-content-wrap{position:absolute;left:0;top:0;right:0;bottom:0;z-index:1;opacity:0;visibility:hidden;transition:all .25s linear 0s}.pp-tm-overlay-content-wrap:before{background-color:#000;content:'';display:block;position:absolute;left:0;top:0;right:0;bottom:0;opacity:.5;z-index:-1}.pp-tm-overlay-content-wrap .pp-tm-content{padding:20px;width:100%;position:absolute;top:50%;transform:translateY(-50%)}.pp-tm-social-icon-wrap{display:inline-flex;transition:all .25s linear 0s}.pp-tm-name a{color:inherit}.pp-tm-carousel{position:relative}.pp-tm-carousel-dots-outside .swiper-pagination{position:static}.pp-logo-carousel.grayscale-normal img{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.pp-logo-carousel.grayscale-normal .swiper-slide:hover img{-webkit-filter:none;filter:none}.pp-logo-carousel.grayscale-hover .swiper-slide:hover img{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.pp-logo-carousel.swiper-container .swiper-slide{text-align:center}.pp-logo-carousel.swiper-container .swiper-slide img{width:auto}.pp-logo-carousel .pp-logo-carousel-title a{color:inherit}.pp-logo-grid{display:flex;flex-wrap:wrap;position:relative}.pp-logo-grid .pp-grid-item{transition:all .25s linear 0s;width:100%}.pp-logo-grid .pp-grid-item-wrap{display:flex;float:left;flex-wrap:wrap;text-align:center;transition:all .2s cubic-bezier(.645,.045,.355,1)}.pp-logo-grid .pp-logo-grid-title a{color:inherit}.pp-logo-grid.grayscale-normal img{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.pp-logo-grid.grayscale-normal .pp-grid-item:hover img{-webkit-filter:none;filter:none}.pp-logo-grid.grayscale-hover .pp-grid-item:hover img{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.pp-google-map-container{line-height:0}.pp-google-map{display:inline-block;width:100%}.pp-google-map .gm-style .pp-infowindow-title{font-weight:600}.pp-contact-form-7 .wpcf7-form:after{clear:both;content:"";font-size:0;height:0;display:block;visibility:hidden}.pp-contact-form-7 .wpcf7-form .wpcf7-form-control-wrap,.pp-contact-form-7 .wpcf7-form label{display:block}.pp-contact-form-7 .wpcf7-form p{margin-bottom:0}.pp-contact-form-7.labels-hide .wpcf7-form label{display:none}.pp-contact-form-7-title{margin-bottom:10px}.pp-contact-form-7-description{margin-bottom:20px}.pp-contact-form-7-button-full-width .wpcf7-form-control.wpcf7-submit{width:100%}.pp-gravity-form .gform_wrapper .gform_footer{margin:0;padding:0}.pp-gravity-form .gform_wrapper textarea{padding:0}.pp-gravity-form .gform_wrapper .gform_footer input.button,.pp-gravity-form .gform_wrapper .gform_footer input[type=submit],.pp-gravity-form .gform_wrapper .gform_page_footer input.button,.pp-gravity-form .gform_wrapper .gform_page_footer input[type=submit]{margin:0}.pp-gravity-form .gform_wrapper .gform_page_footer input[type=button]{margin-right:4px}.pp-gravity-form .gform_wrapper .gform_page_footer input[type=submit]{margin-left:4px}.pp-gravity-form.title-description-hide .gform_heading{display:none}.pp-gravity-form.labels-hide .gform_wrapper .field_sublabel_below .ginput_complex.ginput_container label,.pp-gravity-form.labels-hide .gform_wrapper .top_label .gfield_label{display:none}.pp-gravity-form .gform_footer input[type=button],.pp-gravity-form .gform_footer input[type=submit],.pp-gravity-form .gform_page_footer input[type=button],.pp-gravity-form .gform_page_footer input[type=submit]{background:#428bca;border:none;display:inline-block;padding:10px 15px}.pp-gravity-form-button-full-width .gform_wrapper .gform_footer input[type=submit],.pp-gravity-form-button-full-width .gform_wrapper .gform_page_footer input[type=submit]{width:100%}.pp-gravity-form-button-full-width .gform_wrapper .gform_page_footer input[type=submit]{margin-top:20px}.pp-gravity-form-pagination-buttons-full-width .gform_wrapper .gform_page_footer input[type=button]{margin-top:20px;width:100%}.pp-gravity-form .gform_wrapper select{border-radius:0;height:auto;-webkit-appearance:none;-moz-appearance:none;appearance:none}.pp-gravity-form .gform_wrapper .pp-gf-select-custom{position:relative}.pp-gravity-form .gform_wrapper .pp-gf-select-custom:after{content:"\f078";font-family:'Font Awesome 5 Free';font-weight:800;font-size:.7em;line-height:1;pointer-events:none;position:absolute;top:45%;right:.8em;transform:translateY(-45%);z-index:2}.pp-ninja-form .nf-form-title{display:none}.pp-ninja-form-title-yes .nf-form-title{display:block}.pp-ninja-form .title-description-hide .nf-form-title{display:none}.pp-ninja-form.title-description-hide .nf-form-title{display:none}.pp-ninja-form .nf-field-label{display:none}.pp-ninja-form-labels-yes .nf-field-label{display:block}.pp-ninja-form .submit-container input[type=button]{border:0;border-radius:0}.pp-ninja-form-button-full-width .submit-container input[type=button]{width:100%}.pp-caldera-form .control-label{display:none}.pp-caldera-form-labels-yes .control-label{display:block}.pp-caldera-form-button-center .form-group input[type=button],.pp-caldera-form-button-center .form-group input[type=submit]{display:block;margin:0 auto}.pp-caldera-form-button-right .form-group input[type=button],.pp-caldera-form-button-right .form-group input[type=submit]{float:right}.pp-caldera-form .intl-tel-input{display:inherit}.pp-custom-radio-checkbox .caldera-grid input[type=checkbox],.pp-custom-radio-checkbox .caldera-grid input[type=radio]{border-style:solid;border-width:0;padding:3px;-webkit-appearance:none}.pp-caldera-form-button-full-width .form-group input[type=button],.pp-caldera-form-button-full-width .form-group input[type=submit]{width:100%}.pp-wpforms .wpforms-container .wpforms-form .wpforms-page-button,.pp-wpforms .wpforms-container .wpforms-form button[type=submit],.pp-wpforms .wpforms-container .wpforms-form input[type=submit]{border:0}.pp-wpforms .wpforms-container .wpforms-form .wpforms-page-button:hover,.pp-wpforms .wpforms-container .wpforms-form button[type=submit]:hover,.pp-wpforms .wpforms-container .wpforms-form input[type=submit]:hover{border:0}.pp-wpforms .wpforms-container .wpforms-form input[type=checkbox],.pp-wpforms .wpforms-container .wpforms-form input[type=radio]{padding:3px}.pp-wpforms .wpforms-container .wpforms-form .wpforms-field-label{display:none}.pp-wpforms .wpforms-container .wpforms-form .wpforms-field-name .wpforms-field-row{max-width:100%}.pp-wpforms .wpforms-container .wpforms-field input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),.pp-wpforms .wpforms-container .wpforms-field select,.pp-wpforms .wpforms-container .wpforms-field textarea{max-width:100%!important}.pp-wpforms-labels-yes .wpforms-container .wpforms-form .wpforms-field-label{display:block}.pp-wpforms-form-button-full-width .wpforms-submit-container .wpforms-submit{width:100%}.swiper-container .swiper-slide,.swiper-container-wrap .swiper-slide{text-align:center}.swiper-container .swiper-slide img,.swiper-container-wrap .swiper-slide img{width:auto}.swiper-container-dots-outside .swiper-pagination,.swiper-container-wrap-dots-outside .swiper-pagination{position:static}.swiper-container .swiper-button-next,.swiper-container .swiper-button-prev,.swiper-container-wrap .swiper-button-next,.swiper-container-wrap .swiper-button-prev{background:0 0;font-size:20px;height:auto;line-height:1;margin:0;text-align:center;transform:translateY(-50%);width:auto}.swiper-container .swiper-button-next .fa,.swiper-container .swiper-button-prev .fa,.swiper-container-wrap .swiper-button-next .fa,.swiper-container-wrap .swiper-button-prev .fa{vertical-align:top}.swiper-container-wrap .swiper-pagination{bottom:10px;left:0;width:100%}.swiper-container-wrap-dots-outside .swiper-pagination{position:static}.swiper-container-wrap .swiper-pagination-bullet{background:#ccc;margin:0 4px;opacity:1;height:8px;width:8px}.swiper-container-wrap .swiper-pagination-bullet-active{background:#000}.swiper-container-3d .swiper-slide{transition-property:all;-webkit-transition-property:all}.pp-info-table-container .pp-info-table-link{text-decoration:none!important}.pp-info-table-container .pp-info-table-sale-badge.right{position:absolute;right:-7px;z-index:2;border-bottom-right-radius:0!important}.pp-info-table-container .pp-info-table-sale-badge.right:after{content:"";display:block;position:absolute;width:0;height:0;bottom:-8px;right:0;border-bottom:8px solid transparent;border-left:8px;border-left-style:solid}.pp-info-table-container .pp-info-table-sale-badge.left{position:absolute;left:-7px;z-index:2;border-bottom-left-radius:0!important}.pp-info-table-container .pp-info-table-sale-badge.left:after{content:"";display:block;position:absolute;width:0;height:0;bottom:-8px;left:0;border-bottom:8px solid transparent;border-right:8px;border-right-style:solid}.pp-info-table-container .pp-info-table-sale-badge p{margin:0;text-align:center!important}.pp-info-table-container .pp-info-table-icon-inner{display:inline-block}.pp-info-table-container .pp-info-table-icon-wrap{display:table}.pp-info-table-container .pp-info-table-icon-wrap .pp-info-table-icon{display:table-cell;vertical-align:middle;text-align:center}.pp-image-accordion{display:flex;height:50vh}.pp-image-accordion .pp-image-accordion-img{position:absolute;left:0;top:0;right:0;bottom:0;-o-object-fit:cover;object-fit:cover;height:100%;width:100%}.pp-image-accordion .pp-image-accordion-button-wrap *{transition:none}.pp-image-accordion .pp-image-accordion-button{transition:all .25s linear 0s}.pp-image-accordion-item{cursor:pointer;background-size:cover;background-position:center;background-repeat:no-repeat;color:#fff;position:relative;flex:1;text-decoration:none;transition:flex .4s;overflow:hidden}.pp-image-accordion-item:last-child{margin-right:0!important}.pp-image-accordion-active{cursor:default}.pp-image-accordion-overlay{background-color:rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center;padding:20px;position:absolute;top:0;right:0;bottom:0;left:0;transition:background-color .4s}.pp-image-accordion-overlay .pp-image-accordion-content-wrap{z-index:1}.pp-image-accordion-content-wrap{display:flex;flex-direction:column;align-items:center;visibility:hidden}.pp-image-accordion-content-wrap p:last-child{margin-bottom:0}.pp-image-accordion-content-wrap *{visibility:hidden;opacity:0;transform-style:preserve-3d}.pp-image-accordion-title{color:#fff;transform:translate3d(0,-60px,0)}.pp-image-accordion-description{color:#fff;transform:translate3d(0,60px,0)}.pp-image-accordion-button-wrap{transform:translate3d(0,60px,0)}.pp-image-accordion-content-active{visibility:visible}.pp-image-accordion-content-active *{opacity:1;visibility:visible;transform:none!important;transition:all .3s .3s}.pp-image-accordion-on-hover .pp-image-accordion-item:hover{flex:3}.pp-image-accordion-on-hover .pp-image-accordion-item:hover .pp-image-accordion-content-wrap *{opacity:1;visibility:visible;transform:none;transition:all .3s .3s}.pp-image-accordion-orientation-horizontal .pp-image-accordion{flex-direction:column}.pp-image-accordion-orientation-horizontal .pp-image-accordion a:hover .pp-image-accordion-overlay{background-color:transparent}.pp-image-accordion-orientation-horizontal .pp-image-accordion-item{margin-right:0!important}.pp-advanced-accordion{width:auto;height:auto;transition:all .3s ease-in-out}.pp-advanced-accordion .pp-accordion-tab-title{padding:15px;font-size:1rem;font-weight:600;line-height:1;transition:all .3s ease-in-out;display:flex;justify-content:space-between;align-items:center;cursor:pointer;outline:0}.pp-advanced-accordion .pp-accordion-toggle-icon{z-index:10}.pp-advanced-accordion .pp-accordion-tab-active-default .pp-accordion-toggle-icon-close,.pp-advanced-accordion .pp-accordion-tab-show .pp-accordion-toggle-icon-close,.pp-advanced-accordion .pp-accordion-toggle-icon-open{display:none}.pp-advanced-accordion .pp-accordion-tab-active-default .pp-accordion-toggle-icon-open,.pp-advanced-accordion .pp-accordion-tab-show .pp-accordion-toggle-icon-open{display:inline}.pp-advanced-accordion .pp-accordion-tab-content{display:none;padding:15px;box-sizing:border-box;font-size:1rem;line-height:1.7}.pp-advanced-accordion .pp-accordion-tab-content p:last-child{margin:0}.pp-advanced-accordion .pp-accordion-tab-content.pp-accordion-tab-active{display:block}.pp-advanced-accordion.pp-toggle-icon-align-left .pp-accordion-tab-title{flex-direction:row-reverse;justify-content:flex-end}.pp-accordion-tab-icon{display:inline-block;margin-right:10px}.pp-flipbox-container{position:relative;height:300px;width:100%}.pp-flipbox-icon-image,.pp-flipbox-icon-image-back{display:inline-block;margin:0 auto 0 auto;line-height:1}.pp-flipbox-icon-image img,.pp-flipbox-icon-image-back img{width:30%}.pp-flipbox-icon-image i,.pp-flipbox-icon-image-back i{font-size:40px;line-height:40px;width:40px}.pp-flipbox-overlay{height:100%;padding:35px;width:100%;-webkit-display:flex;display:flex;flex-direction:column;align-items:center;justify-content:center}.pp-flipbox-back,.pp-flipbox-front{text-align:center;position:absolute;top:0;left:0;width:100%;height:100%}.pp-flipbox-front{background:#1abc9c;color:#fff;z-index:2}.pp-flipbox-back{background:#444;color:#fff}.pp-flipbox-back .pp-flipbox-box-link{position:absolute;top:0;left:0;right:0;bottom:0}.pp-flipbox-content,.pp-flipbox-heading{color:#fff}.pp-flipbox-heading.pp-flipbox-linked-title{color:#fff;display:block;font-size:1.5em;font-weight:700}.pp-flipbox-container{perspective:1000px}.pp-flipbox-back,.pp-flipbox-front{transition-duration:.5s;transition-property:all;transition-timing-function:ease}.pp-flipbox-flip-card{width:100%;height:100%;transform-style:preserve-3d;transition:all .5s ease}.pp-flipbox-back,.pp-flipbox-front{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:rotateX(0);transform:rotateY(0)}.pp-animate-flip.pp-direction-up .pp-flipbox-back,.pp-animate-flip.pp-direction-up.pp-flipbox-container:hover .pp-flipbox-flip-card{transform:rotateX(180deg)}.pp-animate-flip.pp-direction-down .pp-flipbox-back,.pp-animate-flip.pp-direction-down.pp-flipbox-container:hover .pp-flipbox-flip-card{transform:rotateX(-180deg)}.pp-animate-flip.pp-direction-left .pp-flipbox-back,.pp-animate-flip.pp-direction-left.pp-flipbox-container:hover .pp-flipbox-flip-card{transform:rotateY(-180deg)}.pp-animate-flip.pp-direction-right .pp-flipbox-back,.pp-animate-flip.pp-direction-right.pp-flipbox-container:hover .pp-flipbox-flip-card{transform:rotateY(180deg)}.pp-animate-push.pp-flipbox-container,.pp-animate-slide.pp-flipbox-container{overflow:hidden}.pp-animate-push .pp-flipbox-back,.pp-animate-slide .pp-flipbox-back{z-index:3}.pp-animate-push.pp-direction-up .pp-flipbox-back,.pp-animate-slide.pp-direction-up .pp-flipbox-back{top:100%}.pp-animate-push.pp-direction-up.pp-flipbox-container:hover .pp-flipbox-back,.pp-animate-slide.pp-direction-up.pp-flipbox-container:hover .pp-flipbox-back{top:0}.pp-animate-push.pp-direction-down .pp-flipbox-back,.pp-animate-slide.pp-direction-down .pp-flipbox-back{top:auto;bottom:100%}.pp-animate-push.pp-direction-down.pp-flipbox-container:hover .pp-flipbox-back,.pp-animate-slide.pp-direction-down.pp-flipbox-container:hover .pp-flipbox-back{top:auto;bottom:0}.pp-animate-push.pp-direction-left .pp-flipbox-back,.pp-animate-slide.pp-direction-left .pp-flipbox-back{left:100%}.pp-animate-push.pp-direction-left.pp-flipbox-container:hover .pp-flipbox-back,.pp-animate-slide.pp-direction-left.pp-flipbox-container:hover .pp-flipbox-back{left:0}.pp-animate-push.pp-direction-right .pp-flipbox-back,.pp-animate-slide.pp-direction-right .pp-flipbox-back{left:auto;right:100%}.pp-animate-push.pp-direction-right.pp-flipbox-container:hover .pp-flipbox-back,.pp-animate-slide.pp-direction-right.pp-flipbox-container:hover .pp-flipbox-back{left:auto;right:0}.pp-animate-push.pp-direction-up.pp-flipbox-container:hover .pp-flipbox-front{top:-100%}.pp-animate-push.pp-direction-down.pp-flipbox-container:hover .pp-flipbox-front{top:100%}.pp-animate-push.pp-direction-left.pp-flipbox-container:hover .pp-flipbox-front{left:-100%}.pp-animate-push.pp-direction-right.pp-flipbox-container:hover .pp-flipbox-front{left:100%}.pp-animate-zoom-in .pp-flipbox-back{opacity:0;transform:scale(.75);z-index:3}.pp-animate-zoom-in.pp-flipbox-container:hover .pp-flipbox-back{opacity:1;transform:scale(1)}.pp-animate-zoom-out.pp-flipbox-container:hover .pp-flipbox-front{opacity:0;transform:scale(.75)}.pp-animate-fade.pp-flipbox-container:hover .pp-flipbox-front{opacity:0}.pp-content-ticker-container{background:#f4f4f4;display:flex;overflow:hidden}.pp-content-ticker-heading{background:#333;color:#fff;display:flex;flex-direction:row;flex-shrink:0;align-items:center;padding:10px 15px;position:relative}.pp-content-ticker-heading-icon{margin-right:5px}.pp-content-ticker-heading-icon-right{order:1;margin-left:5px;margin-right:0}.pp-content-ticker-heading-arrow .pp-content-ticker-heading:after{content:'';position:absolute;right:-20px;border:10px solid transparent;border-left-color:#333;top:50%;transform:translateY(-50%)}.pp-content-ticker-wrap{display:flex;align-items:center;overflow:hidden;padding:10px 15px}.pp-content-ticker{overflow:hidden}.pp-content-ticker .swiper-wrapper{align-items:center}.pp-content-ticker .pp-content-ticker-item-title{font-size:20px;margin:0}.pp-content-ticker .pp-content-ticker-item-title a{color:inherit;font-size:inherit}.pp-content-ticker-content{display:flex;align-items:center}.pp-content-ticker-image{flex-shrink:0;margin-right:15px;width:40px}.pp-content-ticker-meta{font-size:14px}.pp-content-ticker-navigation{display:flex;align-items:center;padding-left:10px;padding-right:10px}.pp-content-ticker-navigation .swiper-button-next,.pp-content-ticker-navigation .swiper-button-prev{background:0 0;font-size:18px;line-height:1.2;height:auto;margin:0;padding:0 6px;position:static;text-align:center;width:auto}.pp-content-ticker-navigation .swiper-button-prev{margin-right:6px}.pp-image-scroll-container,.pp-image-scroll-wrap{transition:all .3s ease-in-out;-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-ms-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out}.pp-image-scroll-wrap{overflow:hidden;width:100%;position:relative}.pp-image-scroll-container{width:100%}.pp-container-scroll{overflow:auto}.pp-image-scroll-container .pp-image-scroll-horizontal{position:relative;width:100%;height:100%}.pp-image-scroll-container .pp-image-scroll-horizontal.pp-image-scroll-image img{max-width:none;height:100%}.pp-image-scroll-container .pp-image-scroll-vertical.pp-image-scroll-image img{width:100%;max-width:100%;height:auto}.pp-image-scroll-ver{position:relative}.pp-image-scroll-container .pp-image-scroll-overlay{background:rgba(2,2,2,.3)}.pp-image-scroll-container .pp-image-scroll-link,.pp-image-scroll-container .pp-image-scroll-overlay{position:absolute;top:0;bottom:0;left:0;right:0;z-index:4}.pp-image-scroll-content{display:inline-block;position:absolute;height:auto;top:50%;left:50%;text-align:center;z-index:5;transform:translate(-50%,-50%)}.pp-container-scroll-instant .pp-image-scroll-image img{transition:all 0s ease-in-out!important}.pp-image-scroll-container .pp-image-scroll-content,.pp-image-scroll-container .pp-image-scroll-overlay{transition:all .3s ease-in-out;opacity:1}.pp-image-scroll-container:hover .pp-image-scroll-content,.pp-image-scroll-container:hover .pp-image-scroll-overlay{opacity:0}.pp-image-scroll-container:hover .pp-image-scroll-content{visibility:hidden}.pp-image-scroll-content .pp-image-scroll-icon{display:inline-block;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-direction:alternate;animation-direction:alternate;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}.pp-mouse-scroll-horizontal{-webkit-animation-name:pp-scroll-horizontal;animation-name:pp-scroll-horizontal}.pp-mouse-scroll-vertical{-webkit-animation-name:pp-scroll-vertical;animation-name:pp-scroll-vertical}@-webkit-keyframes pp-scroll-vertical{0%{transform:translateY(0)}100%{transform:translateY(5px)}}@keyframes pp-scroll-vertical{0%{transform:translateY(0)}100%{transform:translateY(5px)}}@-webkit-keyframes pp-scroll-horizontal{0%{transform:translateX(0)}100%{transform:translateX(5px)}}@keyframes pp-scroll-horizontal{0%{transform:translateX(0)}100%{transform:translateX(5px)}}.pp-buttons-group{display:flex;flex-flow:wrap;align-items:flex-start}.pp-buttons-group a,.pp-buttons-group a:hover{text-decoration:none;transition:all .5s ease-in-out}.pp-buttons-group .pp-button{display:flex}.pp-buttons-group .pp-button .pp-button-content-wrapper .pp-button-content-inner{display:flex;align-items:center;justify-content:center}.pp-buttons-group .pp-button .pp-button-content-wrapper .pp-button-content-inner.pp-icon-before{flex-direction:row}.pp-buttons-group .pp-button .pp-button-content-wrapper .pp-button-content-inner.pp-icon-after{flex-direction:row-reverse}.pp-buttons-group .pp-button .pp-button-content-wrapper .pp-button-content-inner.pp-icon-top{flex-direction:column}.pp-buttons-group .pp-button .pp-button-content-wrapper .pp-button-content-inner.pp-icon-bottom{flex-direction:column-reverse}.pp-button-icon-image img{width:40px}.pp-button-content-wrapper{display:flex;flex-grow:1;justify-content:center}.pp-buttons-valign-top .pp-buttons-group{align-items:flex-start}.pp-buttons-valign-middle .pp-buttons-group{align-items:center}.pp-buttons-valign-bottom .pp-buttons-group{align-items:flex-end}.pp-buttons-valign-stretch .pp-buttons-group{align-items:stretch}.pp-buttons-valign-stretch .pp-buttons-group .pp-button-content-wrapper{align-items:center}.pp-buttons-halign-left .pp-buttons-group{justify-content:flex-start}.pp-buttons-halign-center .pp-buttons-group{justify-content:center}.pp-buttons-halign-right .pp-buttons-group{justify-content:flex-end}.pp-buttons-halign-stretch .pp-buttons-group{justify-content:stretch}.pp-buttons-halign-stretch .pp-button{flex-grow:1}.pp-buttons-stack-desktop .pp-buttons-group{flex-direction:column}.pp-buttons-stack-desktop.pp-buttons-halign-left .pp-buttons-group{align-items:flex-start}.pp-buttons-stack-desktop.pp-buttons-halign-center .pp-buttons-group{align-items:center}.pp-buttons-stack-desktop.pp-buttons-halign-right .pp-buttons-group{align-items:flex-end}.pp-buttons-stack-desktop.pp-buttons-halign-stretch .pp-buttons-group{align-items:stretch}.pp-buttons-stack-desktop.pp-buttons-halign-stretch .pp-button{flex-grow:1}.pp-buttons-stack-desktop .pp-button{margin-left:0!important;margin-right:0!important}.pp-heading-fill-gradient .pp-heading-text{display:block;background-clip:text;text-fill-color:transparent;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.pp-formidable-forms .frm_form_field .frm_primary_label{display:none}.pp-formidable-forms-labels-yes .pp-formidable-forms .frm_primary_label{display:block}.pp-custom-radio-checkbox .form-field input[type=checkbox],.pp-custom-radio-checkbox .form-field input[type=radio]{border-style:solid;border-width:0;display:inline-block;vertical-align:middle;padding:3px;-webkit-appearance:none}.pp-formidable-forms-button-full-width .pp-formidable-forms .frm_submit .frm_button_submit{width:100%}.pp-fluent-forms-form-button-full-width .ff_submit_btn_wrapper .ff-btn-submit{margin-left:0;margin-right:0;width:100%}@media only screen and (min-width:1025px){.elementor-element.elementor-grid-1{position:relative}.elementor-element.elementor-grid-1 .pp-grid-item-wrap{width:100%;float:left}.elementor-element.elementor-grid-2{position:relative}.elementor-element.elementor-grid-2 .pp-grid-item-wrap{width:50%;float:left}.elementor-element.elementor-grid-2 .pp-grid-item-wrap:nth-of-type(2n){margin-right:0!important}.elementor-element.elementor-grid-2 .pp-grid-item-wrap:nth-of-type(2n+1){clear:left}.elementor-element.elementor-grid-3{position:relative}.elementor-element.elementor-grid-3 .pp-grid-item-wrap{width:33.3333%;float:left}.elementor-element.elementor-grid-3 .pp-grid-item-wrap:nth-of-type(3n){margin-right:0!important}.elementor-element.elementor-grid-3 .pp-grid-item-wrap:nth-of-type(3n+1){clear:left}.elementor-element.elementor-grid-4{position:relative}.elementor-element.elementor-grid-4 .pp-grid-item-wrap{width:25%;float:left}.elementor-element.elementor-grid-4 .pp-grid-item-wrap:nth-of-type(4n){margin-right:0!important}.elementor-element.elementor-grid-4 .pp-grid-item-wrap:nth-of-type(4n+1){clear:left}.elementor-element.elementor-grid-5{position:relative}.elementor-element.elementor-grid-5 .pp-grid-item-wrap{width:20%;float:left}.elementor-element.elementor-grid-5 .pp-grid-item-wrap:nth-of-type(5n){margin-right:0!important}.elementor-element.elementor-grid-5 .pp-grid-item-wrap:nth-of-type(5n+1){clear:left}.elementor-element.elementor-grid-6{position:relative}.elementor-element.elementor-grid-6 .pp-grid-item-wrap{width:16.6667%;float:left}.elementor-element.elementor-grid-6 .pp-grid-item-wrap:nth-of-type(6n){margin-right:0!important}.elementor-element.elementor-grid-6 .pp-grid-item-wrap:nth-of-type(6n+1){clear:left}}@media (max-width:1024px){.pp-info-box-tablet-top .pp-info-box{flex-direction:column}.pp-info-box-tablet-top .pp-info-box .pp-info-box-icon-wrap{display:inline-block;margin:0}.pp-info-box-tablet-top .pp-info-box .pp-info-box-icon{margin-right:auto}.pp-info-box-tablet-left .pp-info-box{flex-direction:row}.pp-info-box-tablet-left .pp-info-box .pp-info-box-icon-wrap{display:flex;margin-right:20px}.pp-info-box-tablet-left .pp-info-box .pp-info-box-icon,.pp-info-box-tablet-left .pp-info-box img{width:100%}.pp-info-box-tablet-right .pp-info-box{flex-direction:row-reverse}.pp-info-box-tablet-right .pp-info-box .pp-info-box-icon-wrap{display:flex;margin-left:20px}.pp-info-box-tablet-right .pp-info-box .pp-info-box-icon,.pp-info-box-tablet-right .pp-info-box img{width:100%}.pp-info-list-stack-tablet.pp-info-list-icon-top .pp-info-list-container .pp-list-items{display:block}.pp-info-list-stack-tablet.pp-info-list-icon-top .pp-info-list-container .pp-list-items .pp-info-list-item{display:block;text-align:center!important;width:100%!important}.pp-info-list-stack-tablet.pp-info-list-icon-top .pp-info-list-item-inner{flex-direction:row}.pp-info-list-stack-tablet.pp-info-list-icon-top .pp-infolist-icon-wrapper{margin-bottom:0;margin-right:10px}.pp-info-list-stack-tablet.pp-info-list-icon-top .pp-infolist-icon-wrapper:before{content:'';border-right:1px solid #000;height:1500px;bottom:14px;left:calc(7px - (1px/2));position:absolute;width:1px;top:auto}.pp-info-list-stack-tablet.pp-info-list-icon-top .pp-infolist-icon-wrapper:after{content:'';border-right:1px solid #000;height:1500px;top:14px;left:calc(7px - (1px/2));position:absolute;width:1px;top:auto}}@media only screen and (max-width:1024px) and (min-width:766px){.elementor-element.elementor-grid-tablet-1{position:relative}.elementor-element.elementor-grid-tablet-1 .pp-grid-item-wrap{width:100%;float:left}.elementor-element.elementor-grid-tablet-2{position:relative}.elementor-element.elementor-grid-tablet-2 .pp-grid-item-wrap{width:50%;float:left}.elementor-element.elementor-grid-tablet-2 .pp-grid-item-wrap:nth-of-type(2n){margin-right:0!important}.elementor-element.elementor-grid-tablet-2 .pp-grid-item-wrap:nth-of-type(2n+1){clear:left}.elementor-element.elementor-grid-tablet-3{position:relative}.elementor-element.elementor-grid-tablet-3 .pp-grid-item-wrap{width:33.3333%;float:left}.elementor-element.elementor-grid-tablet-3 .pp-grid-item-wrap:nth-of-type(3n){margin-right:0!important}.elementor-element.elementor-grid-tablet-3 .pp-grid-item-wrap:nth-of-type(3n+1){clear:left}.elementor-element.elementor-grid-tablet-4{position:relative}.elementor-element.elementor-grid-tablet-4 .pp-grid-item-wrap{width:25%;float:left}.elementor-element.elementor-grid-tablet-4 .pp-grid-item-wrap:nth-of-type(4n){margin-right:0!important}.elementor-element.elementor-grid-tablet-4 .pp-grid-item-wrap:nth-of-type(4n+1){clear:left}.elementor-element.elementor-grid-tablet-5{position:relative}.elementor-element.elementor-grid-tablet-5 .pp-grid-item-wrap{width:20%;float:left}.elementor-element.elementor-grid-tablet-5 .pp-grid-item-wrap:nth-of-type(5n){margin-right:0!important}.elementor-element.elementor-grid-tablet-5 .pp-grid-item-wrap:nth-of-type(5n+1){clear:left}.elementor-element.elementor-grid-tablet-6{position:relative}.elementor-element.elementor-grid-tablet-6 .pp-grid-item-wrap{width:16.6667%;float:left}.elementor-element.elementor-grid-tablet-6 .pp-grid-item-wrap:nth-of-type(6n){margin-right:0!important}.elementor-element.elementor-grid-tablet-6 .pp-grid-item-wrap:nth-of-type(6n+1){clear:left}}@media only screen and (max-width:767px){.pp-info-box-mobile-top .pp-info-box{flex-direction:column}.pp-info-box-mobile-top .pp-info-box .pp-info-box-icon-wrap{display:inline-block;margin:0}.pp-info-box-mobile-top .pp-info-box .pp-info-box-icon{margin-right:auto}.pp-info-box-mobile-left .pp-info-box{flex-direction:row}.pp-info-box-mobile-left .pp-info-box .pp-info-box-icon-wrap{display:flex;margin-right:20px}.pp-info-box-mobile-left .pp-info-box .pp-info-box-icon,.pp-info-box-mobile-left .pp-info-box img{width:100%}.pp-info-box-mobile-right .pp-info-box{flex-direction:row-reverse}.pp-info-box-mobile-right .pp-info-box .pp-info-box-icon-wrap{display:flex;margin-left:20px}.pp-info-box-mobile-right .pp-info-box .pp-info-box-icon,.pp-info-box-mobile-right .pp-info-box img{width:100%}.pp-info-list-stack-mobile.pp-info-list-icon-top .pp-info-list-container .pp-list-items{display:block}.pp-info-list-stack-mobile.pp-info-list-icon-top .pp-info-list-container .pp-list-items .pp-info-list-item{display:block;text-align:center!important;width:100%!important}.pp-info-list-stack-mobile.pp-info-list-icon-top .pp-info-list-item-inner{flex-direction:row}.pp-info-list-stack-mobile.pp-info-list-icon-top .pp-infolist-icon-wrapper{margin-bottom:0;margin-right:10px}.pp-info-list-stack-mobile.pp-info-list-icon-top .pp-infolist-icon-wrapper:before{content:'';border-right:1px solid #000;height:1500px;bottom:14px;left:calc(7px - (1px/2));position:absolute;width:1px;top:auto}.pp-info-list-stack-mobile.pp-info-list-icon-top .pp-infolist-icon-wrapper:after{content:'';border-right:1px solid #000;height:1500px;top:14px;left:calc(7px - (1px/2));position:absolute;width:1px;top:auto}.elementor-element.elementor-grid-mobile-1{position:relative}.elementor-element.elementor-grid-mobile-1 .pp-grid-item-wrap{width:100%;float:left}.elementor-element.elementor-grid-mobile-2{position:relative}.elementor-element.elementor-grid-mobile-2 .pp-grid-item-wrap{width:50%;float:left}.elementor-element.elementor-grid-mobile-2 .pp-grid-item-wrap:nth-of-type(2n){margin-right:0!important}.elementor-element.elementor-grid-mobile-2 .pp-grid-item-wrap:nth-of-type(2n+1){clear:left}.elementor-element.elementor-grid-mobile-3{position:relative}.elementor-element.elementor-grid-mobile-3 .pp-grid-item-wrap{width:33.3333%;float:left}.elementor-element.elementor-grid-mobile-3 .pp-grid-item-wrap:nth-of-type(3n){margin-right:0!important}.elementor-element.elementor-grid-mobile-3 .pp-grid-item-wrap:nth-of-type(3n+1){clear:left}.elementor-element.elementor-grid-mobile-4{position:relative}.elementor-element.elementor-grid-mobile-4 .pp-grid-item-wrap{width:25%;float:left}.elementor-element.elementor-grid-mobile-4 .pp-grid-item-wrap:nth-of-type(4n){margin-right:0!important}.elementor-element.elementor-grid-mobile-4 .pp-grid-item-wrap:nth-of-type(4n+1){clear:left}.elementor-element.elementor-grid-mobile-5{position:relative}.elementor-element.elementor-grid-mobile-5 .pp-grid-item-wrap{width:20%;float:left}.elementor-element.elementor-grid-mobile-5 .pp-grid-item-wrap:nth-of-type(5n){margin-right:0!important}.elementor-element.elementor-grid-mobile-5 .pp-grid-item-wrap:nth-of-type(5n+1){clear:left}.elementor-element.elementor-grid-mobile-6{position:relative}.elementor-element.elementor-grid-mobile-6 .pp-grid-item-wrap{width:16.6667%;float:left}.elementor-element.elementor-grid-mobile-6 .pp-grid-item-wrap:nth-of-type(6n){margin-right:0!important}.elementor-element.elementor-grid-mobile-6 .pp-grid-item-wrap:nth-of-type(6n+1){clear:left}}.pp-tooltip{display:none;position:absolute;min-width:50px;max-width:200px;min-height:16px;max-height:200px;border-radius:2px;z-index:3000;line-height:16px;font-size:13px;opacity:.01;transition:top .2s ease,opacity .3s ease}.pp-tooltip .pp-tooltip-callout{position:absolute}.pp-tooltip .pp-tooltip-callout:after,.pp-tooltip .pp-tooltip-callout:before{border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}.pp-tooltip.tt-left .pp-tooltip-callout:before{left:100%}.pp-tooltip.tt-left .pp-tooltip-callout:after{left:100%;border-color:transparent;border-left-color:rgba(0,0,0,.8);border-width:5px;top:50%;margin-top:-5px}.pp-tooltip.tt-right .pp-tooltip-callout:before{right:100%}.pp-tooltip.tt-right .pp-tooltip-callout:after{right:100%;border-color:transparent;border-right-color:rgba(0,0,0,.8);border-width:5px;top:50%;margin-top:-5px}.pp-tooltip.tt-bottom .pp-tooltip-callout:before{bottom:100%}.pp-tooltip.tt-bottom .pp-tooltip-callout:after{bottom:100%;border-color:transparent;border-bottom-color:rgba(0,0,0,.8);border-width:5px;left:50%;margin-left:-5px}.pp-tooltip.tt-top .pp-tooltip-callout:before{top:100%}.pp-tooltip.tt-top .pp-tooltip-callout:after{top:100%;border-color:transparent;border-top-color:rgba(0,0,0,.8);border-width:5px;left:50%;margin-left:-5px}.pp-tooltip-tiny{font-size:10px}.pp-tooltip-small{font-size:12px}.pp-tooltip-large{font-size:14px}.pp-tooltip-content{background:rgba(0,0,0,.8);color:#fff;padding:8px;border-radius:2px}.mfp-bg{top:0;left:0;width:100%;height:100%;z-index:1042;overflow:hidden;position:fixed;background:#0b0b0b;opacity:.8}.mfp-wrap{top:0;left:0;width:100%;height:100%;z-index:1043;position:fixed;outline:0!important;-webkit-backface-visibility:hidden}.mfp-container{text-align:center;position:absolute;width:100%;height:100%;left:0;top:0;padding:0 8px;box-sizing:border-box}.mfp-container:before{content:'';display:inline-block;height:100%;vertical-align:middle}.mfp-align-top .mfp-container:before{display:none}.mfp-content{position:relative;display:inline-block;vertical-align:middle;margin:0 auto;text-align:left;z-index:1045}.mfp-ajax-holder .mfp-content,.mfp-inline-holder .mfp-content{width:100%;cursor:auto}.mfp-ajax-cur{cursor:progress}.mfp-zoom-out-cur,.mfp-zoom-out-cur .mfp-image-holder .mfp-close{cursor:zoom-out}.mfp-zoom{cursor:pointer;cursor:zoom-in}.mfp-auto-cursor .mfp-content{cursor:auto}.mfp-arrow,.mfp-close,.mfp-counter,.mfp-preloader{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mfp-loading.mfp-figure{display:none}.mfp-hide{display:none!important}.mfp-preloader{color:#ccc;position:absolute;top:50%;width:auto;text-align:center;margin-top:-.8em;left:8px;right:8px;z-index:1044}.mfp-preloader a{color:#ccc}.mfp-preloader a:hover{color:#fff}.mfp-s-ready .mfp-preloader{display:none}.mfp-s-error .mfp-content{display:none}button.mfp-arrow,button.mfp-close{overflow:visible;cursor:pointer;background:0 0;border:0;-webkit-appearance:none;display:block;outline:0;padding:0;z-index:1046;box-shadow:none;touch-action:manipulation}button::-moz-focus-inner{padding:0;border:0}.mfp-close{width:44px;height:44px;line-height:44px;position:absolute;right:0;top:0;text-decoration:none;text-align:center;opacity:.65;padding:0 0 18px 10px;color:#fff;font-style:normal;font-size:28px;font-family:Arial,Baskerville,monospace}.mfp-close:focus,.mfp-close:hover{opacity:1}.mfp-close:active{top:1px}.mfp-close-btn-in .mfp-close{color:#333}.mfp-iframe-holder .mfp-close,.mfp-image-holder .mfp-close{color:#fff;right:-6px;text-align:right;padding-right:6px;width:100%}.mfp-counter{position:absolute;top:0;right:0;color:#ccc;font-size:12px;line-height:18px;white-space:nowrap}.mfp-arrow{position:absolute;opacity:.65;margin:0;top:50%;margin-top:-55px;padding:0;width:90px;height:110px;-webkit-tap-highlight-color:transparent}.mfp-arrow:active{margin-top:-54px}.mfp-arrow:focus,.mfp-arrow:hover{opacity:1}.mfp-arrow:after,.mfp-arrow:before{content:'';display:block;width:0;height:0;position:absolute;left:0;top:0;margin-top:35px;margin-left:35px;border:medium inset transparent}.mfp-arrow:after{border-top-width:13px;border-bottom-width:13px;top:8px}.mfp-arrow:before{border-top-width:21px;border-bottom-width:21px;opacity:.7}.mfp-arrow-left{left:0}.mfp-arrow-left:after{border-right:17px solid #fff;margin-left:31px}.mfp-arrow-left:before{margin-left:25px;border-right:27px solid #3f3f3f}.mfp-arrow-right{right:0}.mfp-arrow-right:after{border-left:17px solid #fff;margin-left:39px}.mfp-arrow-right:before{border-left:27px solid #3f3f3f}.mfp-iframe-holder{padding-top:40px;padding-bottom:40px}.mfp-iframe-holder .mfp-content{line-height:0;width:100%;max-width:900px}.mfp-iframe-holder .mfp-close{top:-40px}.mfp-iframe-scaler{width:100%;height:0;overflow:hidden;padding-top:56.25%}.mfp-iframe-scaler iframe{position:absolute;display:block;top:0;left:0;width:100%;height:100%;box-shadow:0 0 8px rgba(0,0,0,.6);background:#000}img.mfp-img{width:auto;max-width:100%;height:auto;display:block;line-height:0;box-sizing:border-box;padding:40px 0 40px;margin:0 auto}.mfp-figure{line-height:0}.mfp-figure:after{content:'';position:absolute;left:0;top:40px;bottom:40px;display:block;right:0;width:auto;height:auto;z-index:-1;box-shadow:0 0 8px rgba(0,0,0,.6);background:#444}.mfp-figure small{color:#bdbdbd;display:block;font-size:12px;line-height:14px}.mfp-figure figure{margin:0}.mfp-bottom-bar{margin-top:-36px;position:absolute;top:100%;left:0;width:100%;cursor:auto}.mfp-title{text-align:left;line-height:18px;color:#f3f3f3;word-wrap:break-word;padding-right:36px}.mfp-image-holder .mfp-content{max-width:100%}.mfp-gallery .mfp-image-holder .mfp-figure{cursor:pointer}@media screen and (max-width:800px) and (orientation:landscape),screen and (max-height:300px){.mfp-img-mobile .mfp-image-holder{padding-left:0;padding-right:0}.mfp-img-mobile img.mfp-img{padding:0}.mfp-img-mobile .mfp-figure:after{top:0;bottom:0}.mfp-img-mobile .mfp-figure small{display:inline;margin-left:5px}.mfp-img-mobile .mfp-bottom-bar{background:rgba(0,0,0,.6);bottom:0;margin:0;top:auto;padding:3px 5px;position:fixed;box-sizing:border-box}.mfp-img-mobile .mfp-bottom-bar:empty{padding:0}.mfp-img-mobile .mfp-counter{right:5px;top:3px}.mfp-img-mobile .mfp-close{top:0;right:0;width:35px;height:35px;line-height:35px;background:rgba(0,0,0,.6);position:fixed;text-align:center;padding:0}}@media all and (max-width:900px){.mfp-arrow{transform:scale(.75)}.mfp-arrow-left{transform-origin:0}.mfp-arrow-right{transform-origin:100%}.mfp-container{padding-left:6px;padding-right:6px}}/*!
2
  * animate.css -http://daneden.me/animate
3
  * Version - 3.5.2
4
  * Licensed under the MIT license - http://opensource.org/licenses/MIT
1
+ div[class*=' pa-'],div[class^=pa-]{box-sizing:border-box}.clearfix:after{clear:both;content:"";font-size:0;height:0;display:block;visibility:hidden}.pp-icon{display:inline-block;line-height:1;text-align:center;transition:all .3s}.pp-icon i,.pp-icon svg{width:1em;height:1em;position:relative;display:block}.pp-no-trans{transition:none}.pp-elementor-grid{display:flex;flex-wrap:wrap;position:relative}.pp-elementor-grid .pp-grid-item{transition:all .25s linear 0s;position:relative}.pp-elementor-grid .pp-grid-item-wrap{float:left;margin-bottom:0;margin-left:0;text-align:center;transition:all .2s cubic-bezier(.645,.045,.355,1)}.pp-contact-form input[type=date],.pp-contact-form input[type=email],.pp-contact-form input[type=number],.pp-contact-form input[type=tel],.pp-contact-form input[type=text],.pp-contact-form input[type=url],.pp-contact-form textarea{background:#fff;box-shadow:none;-webkit-box-shadow:none;float:none;height:auto;margin:0;outline:0;width:auto}.pp-contact-form input[type=submit]{border:0;float:none;height:auto;margin:0;padding:10px 20px;width:auto}.pp-contact-form input[type=button],.pp-contact-form input[type=submit]{transition:all .25s linear 0s}.pp-contact-form.placeholder-hide input::-webkit-input-placeholder,.pp-contact-form.placeholder-hide textarea::-webkit-input-placeholder{opacity:0;visibility:hidden}.pp-contact-form.placeholder-hide input::-moz-placeholder,.pp-contact-form.placeholder-hide textarea::-moz-placeholder{opacity:0;visibility:hidden}.pp-contact-form.placeholder-hide input:-ms-input-placeholder,.pp-contact-form.placeholder-hide textarea:-ms-input-placeholder{opacity:0;visibility:hidden}.pp-contact-form.placeholder-hide input:-moz-placeholder,.pp-contact-form.placeholder-hide textarea:-moz-placeholder{opacity:0;visibility:hidden}.pp-custom-radio-checkbox input[type=checkbox],.pp-custom-radio-checkbox input[type=radio]{-webkit-appearance:none;-moz-appearance:none;border-style:solid;border-width:0;outline:0;min-width:1px;width:15px;height:15px;background:#ddd;padding:3px}.pp-custom-radio-checkbox input[type=checkbox]:before,.pp-custom-radio-checkbox input[type=radio]:before{content:"";width:100%;height:100%;padding:0;margin:0;display:block}.pp-custom-radio-checkbox input[type=checkbox]:checked:before,.pp-custom-radio-checkbox input[type=radio]:checked:before{background:#999;transition:all .25s linear 0s}.pp-custom-radio-checkbox input[type=radio]{border-radius:50%}.pp-custom-radio-checkbox input[type=radio]:before{border-radius:50%}.pp-divider-wrap{font-size:0;line-height:0}.pp-divider{text-align:center}.pp-divider-left .divider-border-left{display:none}.pp-divider-right .divider-border-right{display:none}.pp-divider-horizontal{border:0;border-color:#000;border-bottom-width:4px;border-top-width:0;display:inline-block;width:80px;height:0;border-style:dashed}.pp-divider-vertical{border:0;display:inline-block;border-left:2px solid #000;padding-bottom:50px}.divider-text-container{display:inline-block;max-width:100%}.divider-text-wrap{display:flex;align-items:center;margin:0 auto}.pp-divider-text{font-size:16px;line-height:1.4}.pp-divider-border-wrap{flex:1 1 auto}.divider-border{border:0;height:1px;border-top:1px solid #000;display:block;width:100%}.pp-divider-content{display:inherit;flex:0 1 auto;margin:0 20px}.pp-dual-heading .pp-first-text,.pp-dual-heading .pp-second-text{display:inline-block}.pp-counter{display:inline-block}.pp-counter-icon,.pp-counter-icon-divider,.pp-counter-icon-wrap,.pp-counter-num-divider{display:inline-block}.pp-counter-icon{line-height:1}.pp-counter-layout-3 .pp-icon-title-wrap,.pp-counter-layout-3-number-wrap,.pp-counter-layout-4 .pp-icon-title-wrap,.pp-counter-layout-4-number-wrap{display:flex;align-items:center;justify-content:center}.pp-counter-layout-5,.pp-counter-layout-6{display:flex;align-items:center;justify-content:center}.pp-counter-layout-6 .pp-counter-icon-wrap{order:2}.pp-counter-layout-7,.pp-counter-layout-8{display:inline-flex;align-items:center;justify-content:center}.pp-counter-layout-7 .pp-icon-title-wrap,.pp-counter-layout-8 .pp-icon-title-wrap{display:inline-flex;flex-direction:column;align-items:flex-start}.pp-counter-layout-7 .pp-counter-title-wrap,.pp-counter-layout-8 .pp-counter-title-wrap{text-align:left}.pp-counter-layout-8{flex-direction:row-reverse}.pp-counter-layout-8 .pp-icon-title-wrap{align-items:flex-end}.pp-counter-layout-8 .pp-counter-title-wrap{text-align:right}.pp-counter .pp-icon-title-wrap .pp-counter-title{display:inline-block}.pp-counter .pp-icon-number-wrap .pp-counter-number-wrap{display:inline-block}.pp-business-hours .pp-business-day,.pp-business-hours .pp-business-timing{float:left;width:50%}.pp-business-hours .pp-business-timing{text-align:right}.pp-list-container .pp-icon-wrapper{line-height:1;transition:all .25s linear 0s}.pp-list-container .pp-icon-wrapper.icon-right{order:2}.pp-list-container .pp-icon-list-icon{display:inline-block;text-align:center}.pp-list-container .pp-list-items{list-style:none;margin:0;padding:0}.pp-list-container .pp-list-items li{margin:0;padding:0;position:relative;align-items:center;display:flex}.pp-list-container .pp-list-items li:after{bottom:0;display:block;position:absolute;margin-bottom:-5px}.pp-list-container .pp-list-items .fa{text-align:center}.pp-list-container .pp-list-items a{display:inherit;align-items:center}.pp-list-items.pp-inline-items{display:flex;flex-wrap:wrap}.pp-list-items.pp-inline-items li:not(:last-child){margin-right:8px}.pp-info-box-container{display:block;transition:all .25s linear 0s}.pp-info-box .pp-info-box-icon{display:inline-block;line-height:1;max-width:100%}.pp-info-box .pp-info-box-icon .fa{transition:all .25s linear 0s;width:1em;height:1em}.pp-info-box .pp-info-box-content{flex-grow:1}.pp-info-box-divider-wrap{font-size:0;line-height:0}.pp-info-box-divider{display:inline-block}.pp-info-box-left .pp-info-box{display:flex;flex-direction:row}.pp-info-box-left .pp-info-box .pp-info-box-icon-wrap{display:flex;margin-right:20px}.pp-info-box-left .pp-info-box .pp-info-box-icon,.pp-info-box-left .pp-info-box img{width:100%}.pp-info-box-right .pp-info-box{display:flex;flex-direction:row-reverse}.pp-info-box-right .pp-info-box .pp-info-box-icon-wrap{display:flex;margin-left:20px}.pp-info-box-right .pp-info-box .pp-info-box-icon,.pp-info-box-right .pp-info-box img{width:100%}.pp-info-box-carousel .pp-info-box-content-wrap{overflow:hidden}.pp-info-list-container{overflow:hidden}.pp-info-list-container li{overflow:hidden;position:relative}.pp-info-list-container li:last-child{overflow:hidden}.pp-info-list-container .pp-info-list-item-inner{align-items:center;display:flex}.pp-info-list-container .pp-infolist-icon-wrapper{background:#f5f5f5;display:inline-flex;justify-content:center;align-items:center;flex-shrink:0;position:relative}.pp-info-list-container .pp-info-list-number{text-align:center}.pp-info-list-container .pp-info-list-item:last-child{margin-bottom:0!important}.pp-info-list-container .pp-list-items a{color:inherit}.pp-info-list-icon-left.pp-info-list-icon-vertical-middle .pp-info-list-item-inner,.pp-info-list-icon-right.pp-info-list-icon-vertical-middle .pp-info-list-item-inner{align-items:center}.pp-info-list-icon-left.pp-info-list-icon-vertical-top .pp-info-list-item-inner,.pp-info-list-icon-right.pp-info-list-icon-vertical-top .pp-info-list-item-inner{align-items:flex-start}.pp-info-list-icon-left.pp-info-list-icon-vertical-top .pp-info-list-item:first-child .pp-infolist-icon-wrapper:before,.pp-info-list-icon-right.pp-info-list-icon-vertical-top .pp-info-list-item:first-child .pp-infolist-icon-wrapper:before{display:none}.pp-info-list-icon-left.pp-info-list-icon-vertical-bottom .pp-info-list-item-inner,.pp-info-list-icon-right.pp-info-list-icon-vertical-bottom .pp-info-list-item-inner{align-items:flex-end}.pp-info-list-icon-left.pp-info-list-icon-vertical-bottom .pp-info-list-item:last-child .pp-infolist-icon-wrapper:after,.pp-info-list-icon-right.pp-info-list-icon-vertical-bottom .pp-info-list-item:last-child .pp-infolist-icon-wrapper:after{display:none}.pp-info-list-icon-top.pp-info-list-icon-horizontal-center .pp-info-list-item-inner{align-items:center}.pp-info-list-icon-top.pp-info-list-icon-horizontal-left .pp-info-list-item-inner{align-items:flex-start}.pp-info-list-icon-top.pp-info-list-icon-horizontal-left .pp-info-list-item:first-child .pp-infolist-icon-wrapper:before{display:none}.pp-info-list-icon-top.pp-info-list-icon-horizontal-right .pp-info-list-item-inner{align-items:flex-end}.pp-info-list-icon-top.pp-info-list-icon-horizontal-right .pp-info-list-item:last-child .pp-infolist-icon-wrapper:after{display:none}.pp-info-list-icon-left .pp-infolist-icon-wrapper{margin-right:10px}.pp-info-list-icon-left .pp-info-list-connector .pp-infolist-icon-wrapper:before{content:'';border-right:1px solid #000;height:1500px;bottom:14px;left:calc(7px - (1px/2));position:absolute;width:1px}.pp-info-list-icon-left .pp-info-list-connector .pp-infolist-icon-wrapper:after{content:'';border-right:1px solid #000;height:1500px;top:14px;left:calc(7px - (1px/2));position:absolute;width:1px}.pp-info-list-icon-right .pp-info-list-item{justify-content:flex-end;text-align:right}.pp-info-list-icon-right .pp-infolist-icon-wrapper{margin-left:10px;order:2}.pp-info-list-icon-right .pp-info-list-connector .pp-infolist-icon-wrapper:before{content:'';border-left:1px solid #000;height:1500px;bottom:14px;right:calc(7px - (1px/2));position:absolute;width:1px}.pp-info-list-icon-right .pp-info-list-connector .pp-infolist-icon-wrapper:after{content:'';border-left:1px solid #000;height:1500px;top:14px;right:calc(7px - (1px/2));position:absolute;width:1px}.pp-info-list-connector.pp-info-list-corners-hide .pp-info-list-item:first-child .pp-infolist-icon-wrapper:before{display:none}.pp-info-list-connector.pp-info-list-corners-hide .pp-info-list-item:last-child .pp-infolist-icon-wrapper:after{display:none}.pp-info-list-icon-top .pp-list-items{display:flex;justify-content:center}.pp-info-list-icon-top .pp-list-items .pp-info-list-item{display:inline-block;flex-grow:1;flex-basis:0;text-align:center}.pp-info-list-icon-top .pp-list-items .pp-info-list-item:last-child{margin-right:0!important}.pp-info-list-icon-top .pp-infolist-icon-wrapper{margin-bottom:10px;vertical-align:top}.pp-info-list-icon-top .pp-info-list-connector .pp-infolist-icon-wrapper:before{content:'';border-top:1px solid #000;height:1px;top:calc(7px - (1px/2));left:auto;right:14px;position:absolute;width:1500px}.pp-info-list-icon-top .pp-info-list-connector .pp-infolist-icon-wrapper:after{content:'';border-top:1px solid #000;height:1px;left:14px;top:calc(7px - (1px/2));right:auto;position:absolute;width:1500px}.pp-info-list-icon-top .pp-info-list-item-inner{flex-direction:column}.pp-infolist-icon-wrapper{line-height:1;position:relative;z-index:1}.pp-info-list-item .pp-info-list-button{display:flex}.pp-info-list-item .pp-info-list-button .pp-button-icon{margin-right:10px}.pp-info-list-item .pp-info-list-button-icon-after .pp-button-icon{margin-left:10px;margin-right:0;order:2}.pp-link{display:inline-block;position:relative}.pp-link-effect-1:after{background:#000;position:absolute;bottom:-4px;content:'';height:1px;left:0;opacity:0;transform:translateY(10px);transition:height .25s,opacity .25s,transform .25s;width:100%}.pp-link-effect-1:hover:after{height:4px;opacity:1;transform:translateY(0)}.pp-link-effect-2:after{background:#000;position:absolute;bottom:-4px;content:'';height:1px;left:0;opacity:0;transform:translateY(0);transition:height .25s,opacity .25s,transform .25s;width:100%}.pp-link-effect-2:hover:after{height:4px;opacity:1;transform:translateY(10px)}.pp-link-effect-3:after,.pp-link-effect-3:before{display:inline-block;opacity:0;transition:transform .3s,opacity .2s}.pp-link-effect-3:before{margin-right:10px;content:'[';transform:translateX(20px)}.pp-link-effect-3:after{margin-left:10px;content:']';transform:translateX(-20px)}.pp-link-effect-3:focus:after,.pp-link-effect-3:focus:before,.pp-link-effect-3:hover:after,.pp-link-effect-3:hover:before{opacity:1;transform:translateX(0)}.pp-link-effect-4{perspective:1000px}.pp-link-effect-4 span{position:relative;display:inline-block;padding:0 14px;background:#2195de;transition:transform .3s;transform-origin:50% 0;transform-style:preserve-3d}.pp-link-effect-4 span:before{position:absolute;top:100%;left:0;width:100%;height:100%;background:#0965a0;text-align:center;content:attr(data-hover);transition:background .3s;transform:rotateX(-90deg);transform-origin:50% 0}.pp-link-effect-4:focus span,.pp-link-effect-4:hover span{transform:rotateX(90deg) translateY(-22px)}.pp-link-effect-4:focus span:before,.pp-link-effect-4:hover span:before{background:#28a2ee}.pp-link-effect-5{display:inline-block;overflow:hidden;padding:0 4px}.pp-link-effect-5 span{position:relative;display:inline-block;transition:transform .3s}.pp-link-effect-5 span:before{position:absolute;top:100%;content:attr(data-hover);font-weight:700;transform:translate3d(0,0,0)}.pp-link-effect-5:focus span,.pp-link-effect-5:hover span{transform:translateY(-100%)}.pp-link-effect-6{margin:0 10px;padding:10px 20px}.pp-link-effect-6:before{position:absolute;top:0;left:0;width:100%;height:2px;background:#fff;content:'';transition:top .3s}.pp-link-effect-6:after{position:absolute;top:0;left:0;width:2px;height:2px;background:#fff;content:'';transition:height .3s}.pp-link-effect-6:hover::before{top:100%;opacity:1}.pp-link-effect-6:hover::after{height:100%}.pp-link-effect-7{padding:12px 10px 10px;color:#566473;text-shadow:none;font-weight:700}.pp-link-effect-7:after,.pp-link-effect-7:before{position:absolute;top:100%;left:0;width:100%;height:3px;background:#566473;content:'';transition:transform .3s;transform:scale(.85)}.pp-link-effect-7:after{opacity:0;transition:top .3s,opacity .3s,transform .3s}.pp-link-effect-7:focus::after,.pp-link-effect-7:focus::before,.pp-link-effect-7:hover::after,.pp-link-effect-7:hover::before{transform:scale(1)}.pp-link-effect-7:focus::after,.pp-link-effect-7:hover::after{top:0;opacity:1}.pp-link-effect-8{padding:10px 20px}.pp-link-effect-8:after,.pp-link-effect-8:before{position:absolute;top:0;left:0;width:100%;height:100%;border:3px solid #354856;content:'';transition:transform .3s,opacity .3s}.pp-link-effect-8:after{border-color:#fff;opacity:0;transform:translateY(-7px) translateX(6px)}.pp-link-effect-8:focus:before,.pp-link-effect-8:hover:before{opacity:0;transform:translateY(5px) translateX(-5px)}.pp-link-effect-8:focus:after,.pp-link-effect-8:hover:after{opacity:1;transform:translateY(0) translateX(0)}.pp-link-effect-9{display:inline-block;margin:0 20px;padding:18px 20px}.pp-link-effect-9:after,.pp-link-effect-9:before{position:absolute;top:0;left:0;width:100%;height:1px;background:#fff;content:'';opacity:.2;transition:opacity .3s,height .3s}.pp-link-effect-9:after{top:100%;opacity:0;transition:transform .3s,opacity .3s;transform:translateY(-10px)}.pp-link-effect-9 span:first-child{z-index:2;display:block;font-weight:300}.pp-link-effect-9 span:last-child{z-index:1;display:block;padding:8px 0 0 0;color:rgba(0,0,0,.4);text-shadow:none;text-transform:none;font-style:italic;font-size:.75em;font-family:Palatino,"Palatino Linotype","Palatino LT STD","Book Antiqua",Georgia,serif;opacity:0;transition:transform .3s,opacity .3s;transform:translateY(-100%)}.pp-link-effect-9:focus:before,.pp-link-effect-9:hover:before{height:6px}.pp-link-effect-9:focus:after,.pp-link-effect-9:focus:before,.pp-link-effect-9:hover:after,.pp-link-effect-9:hover:before{opacity:1;transform:translateY(0)}.pp-link-effect-9:focus span:last-child,.pp-link-effect-9:hover span:last-child{opacity:1;transform:translateY(0)}.pp-link-effect-10{display:inline-block;overflow:hidden;margin:0 15px}.pp-link-effect-10 span{display:block;background:#0f7c67;padding:8px 20px;transition:transform .3s}.pp-link-effect-10:before{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;background:#fff;color:#0f7c67;content:attr(data-hover);padding:8px 20px;transition:transform .3s;-webkit-transform:translateX(-50%)}.pp-link-effect-10:focus span,.pp-link-effect-10:hover span{transform:translateX(100%)}.pp-link-effect-10:focus:before,.pp-link-effect-10:hover:before{transform:translateX(0);z-index:1}.pp-link-effect-11{padding:10px 0;border-top:2px solid #0972b4;color:#0972b4;text-shadow:none}.pp-link-effect-11:before{position:absolute;top:0;left:0;overflow:hidden;padding:10px 0;max-width:0;border-bottom:2px solid #fff;color:#fff;content:attr(data-hover);transition:max-width .5s}.pp-link-effect-11:focus:before,.pp-link-effect-11:hover:before{max-width:100%}.pp-link-effect-12:after,.pp-link-effect-12:before{position:absolute;top:50%;left:50%;width:100px;height:100px;border:2px solid rgba(0,0,0,.1);border-radius:50%;content:'';opacity:0;transition:transform .3s,opacity .3s;transform:translateX(-50%) translateY(-50%) scale(.2)}.pp-link-effect-12:after{width:90px;height:90px;border-width:6px;transform:translateX(-50%) translateY(-50%) scale(.8)}.pp-link-effect-12:focus:after,.pp-link-effect-12:focus:before,.pp-link-effect-12:hover:after,.pp-link-effect-12:hover:before{opacity:1;transform:translateX(-50%) translateY(-50%) scale(1)}.pp-link-effect-13{display:inline-block;transition:color .3s}.pp-link-effect-13:before{position:absolute;top:100%;left:50%;color:transparent;content:'\2022';text-shadow:0 0 transparent;font-size:1.2em;transition:text-shadow .3s,color .3s;transform:translateX(-50%);pointer-events:none}.pp-link-effect-13:focus:before,.pp-link-effect-13:hover:before{color:#fff;text-shadow:10px 0 #fff,-10px 0 #fff}.pp-link-effect-13:focus,.pp-link-effect-13:hover{color:#ba7700}.pp-link-effect-14{display:inline-block;padding:0 20px;height:45px;line-height:45px}.pp-link-effect-14:after,.pp-link-effect-14:before{position:absolute;width:45px;height:2px;background:#fff;content:'';transition:all .3s;pointer-events:none}.pp-link-effect-14:before{top:0;left:0;transform:rotate(90deg);transform-origin:0 0}.pp-link-effect-14:after{right:0;bottom:0;transform:rotate(90deg);transform-origin:100% 0}.pp-link-effect-14:focus:after,.pp-link-effect-14:focus:before,.pp-link-effect-14:hover:after,.pp-link-effect-14:hover:before{opacity:1}.pp-link-effect-14:focus:before,.pp-link-effect-14:hover:before{left:50%;transform:rotate(0) translateX(-50%)}.pp-link-effect-14:focus:after,.pp-link-effect-14:hover:after{right:50%;transform:rotate(0) translateX(50%)}.pp-link-effect-15{display:inline-block;color:rgba(0,0,0,.2);font-weight:700;text-shadow:none}.pp-link-effect-15:before{color:#fff;content:attr(data-hover);position:absolute;transition:transform .3s,opacity .3s}.pp-link-effect-15:focus:before,.pp-link-effect-15:hover:before{transform:scale(.9);opacity:0}.pp-link-effect-16{display:inline-block;color:#6f8686;text-shadow:0 0 1px rgba(111,134,134,.3)}.pp-link-effect-16:before{color:#fff;content:attr(data-hover);position:absolute;opacity:0;text-shadow:0 0 1px rgba(255,255,255,.3);transform:scale(1.1) translateX(10px) translateY(-10px) rotate(4deg);transition:transform .3s,opacity .3s;pointer-events:none}.pp-link-effect-16:focus:before,.pp-link-effect-16:hover:before{transform:scale(1) translateX(0) translateY(0) rotate(0);opacity:1}.pp-link-effect-17{display:inline-block;color:#10649b;text-shadow:none;padding:10px 0}.pp-link-effect-17:before{color:#fff;text-shadow:0 0 1px rgba(255,255,255,.3);content:attr(data-hover);position:absolute;transition:transform .3s,opacity .3s;pointer-events:none}.pp-link-effect-17:after{content:'';position:absolute;left:0;bottom:0;width:100%;height:2px;background:#fff;opacity:0;transform:translateY(5px);transition:transform .3s,opacity .3s;pointer-events:none}.pp-link-effect-17:focus:before,.pp-link-effect-17:hover:before{opacity:0;transform:translateY(-2px)}.pp-link-effect-17:focus:after,.pp-link-effect-17:hover:after{opacity:1;transform:translateY(0)}.pp-link-effect-18{display:inline-block;position:relative;z-index:1;padding:0 5px;color:#000;font-weight:700;transition:color .3s}.pp-link-effect-18:after,.pp-link-effect-18:before{position:absolute;width:100%;left:0;top:50%;height:2px;margin-top:-1px;background:#000;content:'';z-index:-1;transition:transform .3s,opacity .3s;pointer-events:none}.pp-link-effect-18:before{transform:translateY(-20px)}.pp-link-effect-18:after{transform:translateY(20px)}.pp-link-effect-18:focus,.pp-link-effect-18:hover{color:#000}.pp-link-effect-18:focus:after,.pp-link-effect-18:focus:before,.pp-link-effect-18:hover:after,.pp-link-effect-18:hover:before{opacity:.7}.pp-link-effect-18:focus:before,.pp-link-effect-18:hover:before{transform:rotate(45deg)}.pp-link-effect-18:focus:after,.pp-link-effect-18:hover:after{transform:rotate(-45deg)}.pp-link-effect-19{display:inline-block;line-height:2em;perspective:800px;width:200px}.pp-link-effect-19 span{position:relative;display:inline-block;width:100%;padding:0 14px;background:#e35041;transition:transform .4s,background .4s;transform-style:preserve-3d;transform-origin:50% 50% -100px}.pp-link-effect-19 span:before{position:absolute;top:0;left:100%;width:100%;height:100%;background:#b53a2d;content:attr(data-hover);transition:background .4s;transform:rotateY(90deg);transform-origin:0 50%;pointer-events:none}.pp-link-effect-19:focus span,.pp-link-effect-19:hover span{background:#b53a2d;transform:rotateY(-90deg)}.pp-link-effect-19:focus span:before,.pp-link-effect-19:hover span:before{background:#ef5e50}.pp-link-effect-20{display:inline-block;line-height:2em;perspective:800px}.pp-link-effect-20 span{position:relative;display:inline-block;text-align:center;padding:3px 15px 0;background:#587285;box-shadow:inset 0 3px #2f4351;transition:background .6s;transform-origin:50% 0;transform-style:preserve-3d;transform-origin:0 50%}.pp-link-effect-20 span:before{position:absolute;top:0;left:0;width:100%;height:100%;background:#fff;color:#2f4351;content:attr(data-hover);transform:rotateX(270deg);transition:transform .6s;transform-origin:0 0;pointer-events:none}.pp-link-effect-20:focus span,.pp-link-effect-20:hover span{background:#2f4351}.pp-link-effect-20:focus span::before,.pp-link-effect-20:hover span::before{transform:rotateX(10deg)}.pp-link-effect-21{display:inline-block;padding:10px;color:#237546;font-weight:700;text-shadow:none;transition:color .3s}.pp-link-effect-21:after,.pp-link-effect-21:before{position:absolute;left:0;width:100%;height:2px;background:#fff;content:'';opacity:0;transition:opacity .3s,transform .3s;transform:translateY(-10px)}.pp-link-effect-21:before{top:0;transform:translateY(-10px)}.pp-link-effect-21:after{bottom:0;transform:translateY(10px)}.pp-link-effect-21:focus,.pp-link-effect-21:hover{color:#fff}.pp-link-effect-21:focus:after,.pp-link-effect-21:focus:before,.pp-link-effect-21:hover:after,.pp-link-effect-21:hover:before{opacity:1;transform:translateY(0)}.pp-pricing-table{overflow:hidden;text-align:center;transition:all .25s linear 0s}.pp-pricing-table-container{position:relative}.pp-pricing-table.horizontal-table{display:flex}.pp-pricing-table.horizontal-table .pp-pricing-table-features,.pp-pricing-table.horizontal-table .pp-pricing-table-footer,.pp-pricing-table.horizontal-table .pp-pricing-table-head{flex:1}.pp-pricing-table-align-left .pp-pricing-table{text-align:left}.pp-pricing-table-align-left .pp-pricing-table-price{justify-content:flex-start}.pp-pricing-table-align-right .pp-pricing-table{text-align:right}.pp-pricing-table-align-right .pp-pricing-table-price{justify-content:flex-end}.pp-pricing-table-head{background:#7a7a7a;padding:30px}.pp-pricing-table .pp-pricing-table-icon{display:inline-block}.pp-pricing-table .pp-pricing-table-title-wrap .pp-pricing-table-title{margin-bottom:0}.pp-pricing-table .pp-pricing-table-title-wrap .pp-pricing-table-subtitle{margin-bottom:0}.pp-pricing-table .pp-pricing-table-price{font-size:40px;margin-left:auto;margin-right:auto;padding:30px}.pp-pricing-table-price-value{display:flex}.pp-pricing-table-after-part{font-size:.4em;line-height:1;align-self:flex-start}.pp-pricing-table .pp-pricing-table-features{list-style:none;margin:0;padding:0}.pp-pricing-table .pp-pricing-table-features li{margin:0;padding:0}.pp-pricing-table .pp-pricing-table-features li:last-child{border-bottom:0}.pp-pricing-table .pp-pricing-table-features .excluded{text-decoration:line-through}.pp-pricing-table .pp-pricing-table-price-duration,.pp-pricing-table .pp-pricing-table-price-prefix{font-size:.4em;line-height:1;text-align:left}.pp-pricing-table .pp-pricing-table-price-prefix{align-self:flex-start}.pp-pricing-table .pp-pricing-table-price-duration{align-self:flex-end}.pp-pricing-table-price-duration-wrap .pp-pricing-table-price{flex-wrap:wrap}.pp-pricing-table-price-duration-wrap .pp-pricing-table-price-duration{text-align:center;width:100%}.pp-pricing-table .pp-pricing-table-price-value{line-height:.9}.pp-pricing-table-price,.pp-pricing-table-price-wrap{display:flex;justify-content:center;align-items:center;width:100%}.pp-pricing-table-price-original{display:inline-flex;font-size:.5em;line-height:1;align-self:flex-end;text-decoration:line-through}.pp-pricing-table-ribbon{color:#fff;font-size:13px;font-weight:700;position:absolute;text-align:center;text-transform:uppercase;top:0;z-index:2}.pp-pricing-table-ribbon-inner{background:#61ce70}.pp-pricing-table-ribbon-1{position:absolute;top:0;width:150px;overflow:hidden;height:150px}.pp-pricing-table-ribbon-1.pp-pricing-table-ribbon-right{left:auto;right:0;transform:rotate(90deg)}.pp-pricing-table-ribbon-1.pp-pricing-table-ribbon-left{left:0;right:auto;transform:rotate(0)}.pp-pricing-table-ribbon-1 .pp-pricing-table-ribbon-inner{text-align:center;left:0;width:200%;transform:translateY(-50%) translateX(-50%) translateX(35px) rotate(-45deg);margin-top:35px;line-height:2}.pp-pricing-table-ribbon-2{border-radius:50%;line-height:4em;min-height:4em;min-width:4em}.pp-pricing-table-ribbon-2 .pp-pricing-table-ribbon-inner{background:#61ce70;border-radius:50%}.pp-pricing-table-ribbon-2.pp-pricing-table-ribbon-right{transform:translateX(38%) translateY(-38%)}.pp-pricing-table-ribbon-2.pp-pricing-table-ribbon-left{transform:translateX(-38%) translateY(-38%)}.pp-pricing-table-ribbon-right{right:0}.pp-pricing-table-ribbon-left{left:0}.pp-pricing-table-ribbon-3{background:#61ce70;top:10%}.pp-pricing-table-ribbon-3 .pp-pricing-table-ribbon-inner{padding:3px 18px}.pp-pricing-table-ribbon-3:after,.pp-pricing-table-ribbon-3:before{border-bottom:8px solid transparent;content:'';display:block;position:absolute;height:0;width:0;top:100%}.pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-right{border-radius:3px 3px 0 3px;right:-8px}.pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-right:after,.pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-right:before{right:0}.pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-right:before{border-left:8px solid #61ce70}.pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-right:after{border-left:8px solid rgba(0,0,0,.2)}.pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-left{border-radius:3px 3px 3px 0;left:-8px}.pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-left:after,.pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-left:before{left:0}.pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-left:before{border-right:8px solid #61ce70}.pp-pricing-table-ribbon-3.pp-pricing-table-ribbon-left:after{border-right:8px solid rgba(0,0,0,.2)}.pp-restaurant-menu .pp-restaurant-menu-item-wrap{margin-bottom:10px;position:relative}.pp-restaurant-menu .pp-restaurant-menu-item{align-items:center;display:flex}.pp-restaurant-menu .pp-restaurant-menu-image{flex-grow:0;margin-right:10px}.pp-restaurant-menu .pp-restaurant-menu-content{flex-grow:1}.pp-restaurant-menu .pp-restaurant-menu-header{display:flex;justify-content:space-between;margin-bottom:5px}.pp-restaurant-menu .pp-restaurant-menu-title{display:inline-block;margin:0}.pp-restaurant-menu .pp-restaurant-menu-title a{color:inherit}.pp-restaurant-menu-style-1 .pp-restaurant-menu-price{float:right}.pp-restaurant-menu-style-3 .pp-restaurant-menu-image{order:1}.pp-restaurant-menu-style-4 .pp-restaurant-menu-header,.pp-restaurant-menu-style-4 .pp-restaurant-menu-item{display:block}.pp-restaurant-menu-style-4 .pp-restaurant-menu-image{display:inline-block}.pp-restaurant-menu-style-1 .pp-price-title-connector{border-bottom:1px dashed #000;height:1px;flex-grow:1;align-self:center;margin:0 20px}.pp-restaurant-menu-style-powerpack .pp-restaurant-menu-item{min-height:150px;position:relative}.pp-restaurant-menu-style-powerpack .pp-restaurant-menu-price{bottom:0;padding:10px;position:absolute;right:0;z-index:1}.pp-restaurant-menu-style-powerpack .pp-restaurant-menu-price:after{border-color:transparent #b83d11;border-style:solid;border-width:110px 130px 0 0;bottom:0;content:"";position:absolute;right:0;z-index:-1}.pp-restaurant-menu-divider-wrap{font-size:0;line-height:0}.pp-restaurant-menu-divider{display:inline-block}.pp-promo-box{overflow:hidden;position:relative;width:100%}.pp-promo-box .pp-promo-box-icon{display:inline-block;line-height:1;text-align:center;transition:all .25s linear 0s}.pp-promo-box .pp-promo-box-icon .pp-promo-box-icon-inner{height:1em;width:1em}.pp-promo-box .pp-promo-box-bg,.pp-promo-box .pp-promo-box-overlay{position:absolute;height:100%;left:0;top:0;width:100%;transition:transform .25s linear 0s}.pp-promo-box .pp-promo-box-bg{padding:40px}.pp-promo-box .pp-promo-box-wrap{height:100%;width:100%;position:relative}.pp-promo-box .pp-promo-box-inner{display:table;width:100%;height:100%}.pp-promo-box .pp-promo-box-inner-content{display:table-cell;vertical-align:middle}.pp-promo-box .pp-promo-box-banner{transition:all .25s linear 0s;min-height:100%;width:100%}.pp-promo-box-heading-divider-wrap,.pp-promo-box-subheading-divider-wrap{font-size:0;line-height:1}.pp-promo-box-heading-divider,.pp-promo-box-subheading-divider{display:inline-block}.pp-image-hotspots{display:flex;position:relative}.pp-hot-spot-wrap{cursor:pointer;position:absolute;width:14px;height:14px;background:#000;border-radius:50%;font-size:14px;display:inline-flex;padding:15px;align-items:center;justify-content:center}.pp-hot-spot-image{position:relative}.pp-hot-spot-inner{cursor:pointer;display:flex;align-items:center;justify-content:center;text-align:center}.pp-hot-spot-inner.hotspot-animation:before{content:'';display:block;position:absolute;z-index:0;pointer-events:none;-webkit-animation:pp-glow 2s infinite;animation:pp-glow 2s infinite;left:0;top:0}.pp-hot-spot-inner.hotspot-animation:hover:before{-webkit-animation:none;animation:none}.pp-hot-spot-inner.hotspot-animation .pp-hotspot-text{z-index:1}.pp-hot-spot-inner,.pp-hot-spot-inner:before{background-color:#000;border-radius:50%;color:#fff;height:100%;position:absolute;width:100%}.pp-hotspot-icon{position:relative}.pp-hotspot-icon-wrap{display:inline-flex;width:100%;height:100%;vertical-align:middle;align-items:center;justify-content:center;border-radius:50%}@-webkit-keyframes pp-glow{0%{transform:scale(1);box-shadow:inset 0 0 1px 1px rgba(0,0,0,.8);opacity:1}100%{transform:scale(1.5);box-shadow:inset 0 0 1px 1px transparent;opacity:0}}@keyframes pp-glow{0%{transform:scale(1);box-shadow:inset 0 0 1px 1px rgba(0,0,0,.8);opacity:1}100%{transform:scale(1.5);box-shadow:inset 0 0 1px 1px transparent;opacity:0}}.tipso_content p:last-child{margin-bottom:0}.pp-hotspot-img-align-center .pp-image-hotspots{justify-content:center}.pp-hotspot-img-align-left .pp-image-hotspots{justify-content:flex-start}.pp-hotspot-img-align-right .pp-image-hotspots{justify-content:flex-end}@media only screen and (max-width:1024px){.pp-hotspot-img-align-tablet-center .pp-image-hotspots{justify-content:center}.pp-hotspot-img-align-tablet-left .pp-image-hotspots{justify-content:flex-start}.pp-hotspot-img-align-tablet-right .pp-image-hotspots{justify-content:flex-end}}@media only screen and (max-width:767px){.pp-hotspot-img-align-mobile-center .pp-image-hotspots{justify-content:center}.pp-hotspot-img-align-mobile-left .pp-image-hotspots{justify-content:flex-start}.pp-hotspot-img-align-mobile-right .pp-image-hotspots{justify-content:flex-end}}.pp-instagram-feed{position:relative}.pp-instagram-feed .pp-feed-item{float:left;position:relative}.pp-instagram-feed .pp-feed-item img{-webkit-filter:none;filter:none;vertical-align:middle}.pp-instagram-feed .pp-feed-item:hover img{-webkit-filter:none;filter:none}.pp-instagram-feed-gallery .pp-feed-item{width:20%}.pp-instagram-feed-title-wrap{background:#fff;position:absolute;z-index:2;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pp-insta-title-top .pp-instagram-feed-title-wrap{top:0;position:absolute;left:50%;transform:translate(-50%)}.pp-insta-title-bottom .pp-instagram-feed-title-wrap{bottom:0;top:auto;position:absolute;left:50%;transform:translate(-50%)}.pp-instagram-feed-title{display:block;padding:6px 30px;text-align:center}.pp-instagram-feed .pp-feed-item{position:relative}.pp-instagram-feed .pp-feed-item-inner{display:block;position:relative}.pp-instagram-feed-gray .pp-feed-item img{-webkit-filter:grayscale(100%);filter:grayscale(100%);transition:-webkit-filter .25s linear 0s;transition:filter .25s linear 0s;transition:filter .25s linear 0s,-webkit-filter .25s linear 0s}.pp-instagram-feed-hover-gray .pp-feed-item:hover img{-webkit-filter:grayscale(100%);filter:grayscale(100%);transition:-webkit-filter .25s linear 0s;transition:filter .25s linear 0s;transition:filter .25s linear 0s,-webkit-filter .25s linear 0s}.pp-instagram-feed .pp-overlay-container{color:#fff;display:flex;justify-content:center;align-items:center;z-index:1}.pp-instagram-feed .pp-overlay-container span{display:flex;align-items:center;margin:0 5px}.pp-instagram-feed-hover .pp-overlay-container{opacity:0}.pp-instagram-feed-hover .pp-feed-item:hover .pp-overlay-container{opacity:1}.pp-instagram-feed .swiper-container .swiper-slide img{width:100%}.pp-instafeed{overflow:hidden;position:relative}.pp-if-icon{margin-right:5px}.pp-if-square-images .pp-feed-item-inner{position:relative;padding-bottom:100%;width:100%}.pp-if-square-images .pp-if-img{overflow:hidden;position:absolute;width:100%;height:100%;left:0;top:0}.pp-if-square-images img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.pp-load-more-button{cursor:pointer}.pp-load-more-button[disabled=disabled]{display:none}.pp-button-loading .pp-button-loader{display:inline-block;width:22px;height:22px;vertical-align:middle;margin-right:8px}.pp-button-loading .pp-button-loader:after{content:'';display:block;width:100%;height:100%;border-radius:50%;border:3px solid #fff;border-color:#fff transparent #fff transparent;-webkit-animation:pp-dual-ring 1.2s linear infinite;animation:pp-dual-ring 1.2s linear infinite}@-webkit-keyframes pp-dual-ring{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes pp-dual-ring{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.twentytwenty-horizontal .twentytwenty-handle:after,.twentytwenty-horizontal .twentytwenty-handle:before,.twentytwenty-vertical .twentytwenty-handle:after,.twentytwenty-vertical .twentytwenty-handle:before{content:" ";display:block;background:#fff;position:absolute;z-index:30;box-shadow:0 0 12px rgba(51,51,51,.5)}.twentytwenty-horizontal .twentytwenty-handle:after,.twentytwenty-horizontal .twentytwenty-handle:before{width:3px;height:9999px;left:50%;margin-left:-1.5px}.twentytwenty-vertical .twentytwenty-handle:after,.twentytwenty-vertical .twentytwenty-handle:before{width:9999px;height:3px;top:50%;margin-top:-1.5px}.twentytwenty-after-label,.twentytwenty-before-label,.twentytwenty-overlay{position:absolute;top:0;width:100%;height:100%}.twentytwenty-after-label,.twentytwenty-before-label,.twentytwenty-overlay{transition-duration:.5s}.twentytwenty-after-label,.twentytwenty-before-label{transition-property:opacity}.twentytwenty-after-label:before,.twentytwenty-before-label:before{color:#fff;font-size:13px;letter-spacing:.1em}.twentytwenty-after-label:before,.twentytwenty-before-label:before{position:absolute;background:rgba(255,255,255,.2);line-height:38px;padding:0 20px;border-radius:2px}.twentytwenty-horizontal .twentytwenty-after-label:before,.twentytwenty-horizontal .twentytwenty-before-label:before{top:50%;transform:translateY(-50%)}.pp-ic-label-horizontal-top .twentytwenty-horizontal .twentytwenty-after-label:before,.pp-ic-label-horizontal-top .twentytwenty-horizontal .twentytwenty-before-label:before{transform:translateY(0);top:10px}.pp-ic-label-horizontal-bottom .twentytwenty-horizontal .twentytwenty-after-label:before,.pp-ic-label-horizontal-bottom .twentytwenty-horizontal .twentytwenty-before-label:before{bottom:10px;transform:translateY(0);top:auto}.twentytwenty-vertical .twentytwenty-after-label:before,.twentytwenty-vertical .twentytwenty-before-label:before{left:50%;transform:translateX(-50%);text-align:center}.pp-ic-label-vertical-left .twentytwenty-vertical .twentytwenty-after-label:before,.pp-ic-label-vertical-left .twentytwenty-vertical .twentytwenty-before-label:before{left:10px;transform:translateX(0)}.pp-ic-label-vertical-right .twentytwenty-vertical .twentytwenty-after-label:before,.pp-ic-label-vertical-right .twentytwenty-vertical .twentytwenty-before-label:before{left:auto;right:10px;transform:translateX(0)}.twentytwenty-down-arrow,.twentytwenty-left-arrow,.twentytwenty-right-arrow,.twentytwenty-up-arrow{width:0;height:0;border:6px inset transparent;position:absolute}.twentytwenty-left-arrow,.twentytwenty-right-arrow{top:50%;margin-top:-6px}.twentytwenty-down-arrow,.twentytwenty-up-arrow{left:50%;margin-left:-6px}.twentytwenty-container{box-sizing:content-box;z-index:0;overflow:hidden;position:relative;-webkit-user-select:none;-moz-user-select:none}.twentytwenty-container img{max-width:100%;position:absolute;top:0;display:block}.twentytwenty-container.active .twentytwenty-overlay,.twentytwenty-container.active :hover.twentytwenty-overlay{background:rgba(0,0,0,0)}.twentytwenty-container *{box-sizing:content-box}.twentytwenty-before-label:before{content:attr(data-content)}.twentytwenty-after-label:before{content:attr(data-content)}.twentytwenty-horizontal .twentytwenty-before-label:before{left:10px}.twentytwenty-horizontal .twentytwenty-after-label:before{right:10px}.twentytwenty-vertical .twentytwenty-before-label:before{top:10px}.twentytwenty-vertical .twentytwenty-after-label:before{bottom:10px}.twentytwenty-overlay{transition-property:background;background:rgba(0,0,0,0);z-index:25}.twentytwenty-overlay:hover{background:rgba(0,0,0,.5)}.twentytwenty-overlay:hover .twentytwenty-after-label{opacity:1}.twentytwenty-overlay:hover .twentytwenty-before-label{opacity:1}.twentytwenty-before{z-index:20}.twentytwenty-after{z-index:10}.twentytwenty-handle{height:38px;width:38px;position:absolute;left:50%;top:50%;margin-left:-22px;margin-top:-22px;border:3px solid #fff;border-radius:1000px;box-shadow:0 0 12px rgba(51,51,51,.5);z-index:40;cursor:pointer}.twentytwenty-horizontal .twentytwenty-handle:before{bottom:50%;margin-bottom:19px}.twentytwenty-horizontal .twentytwenty-handle:after{top:50%;margin-top:19px}.twentytwenty-vertical .twentytwenty-handle:before{left:50%;margin-left:19px}.twentytwenty-vertical .twentytwenty-handle:after{right:50%;margin-right:19px}.twentytwenty-left-arrow{border-right:6px solid #fff;left:50%;margin-left:-17px}.twentytwenty-right-arrow{border-left:6px solid #fff;right:50%;margin-right:-17px}.twentytwenty-up-arrow{border-bottom:6px solid #fff;top:50%;margin-top:-17px}.twentytwenty-down-arrow{border-top:6px solid #fff;bottom:50%;margin-bottom:-17px}.pp-tm-wrapper{position:relative}.pp-tm-wrapper .pp-tm-social-links{list-style:none;margin:0;padding:0}.pp-tm-wrapper .pp-tm-social-links li{list-style:none;margin:0;padding:0}.pp-tm-wrapper .pp-tm-title-divider-wrap{font-size:0;line-height:1}.pp-tm-wrapper .pp-tm-divider,.pp-tm-wrapper .pp-tm-social-icon,.pp-tm-wrapper li{display:inline-block}.pp-tm-wrapper .pp-tm:hover .pp-tm-overlay-content-wrap{opacity:1;visibility:visible}.pp-tm-wrapper .pp-tm-image{display:inline-block;position:relative}.pp-tm-content-normal{position:relative;z-index:1}.pp-tm-overlay-content-wrap{position:absolute;left:0;top:0;right:0;bottom:0;z-index:1;opacity:0;visibility:hidden;transition:all .25s linear 0s}.pp-tm-overlay-content-wrap:before{background-color:#000;content:'';display:block;position:absolute;left:0;top:0;right:0;bottom:0;opacity:.5;z-index:-1}.pp-tm-overlay-content-wrap .pp-tm-content{padding:20px;width:100%;position:absolute;top:50%;transform:translateY(-50%)}.pp-tm-social-icon-wrap{display:inline-flex;transition:all .25s linear 0s}.pp-tm-name a{color:inherit}.pp-tm-carousel{position:relative}.pp-tm-carousel-dots-outside .swiper-pagination{position:static}.pp-logo-carousel.grayscale-normal img{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.pp-logo-carousel.grayscale-normal .swiper-slide:hover img{-webkit-filter:none;filter:none}.pp-logo-carousel.grayscale-hover .swiper-slide:hover img{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.pp-logo-carousel.swiper-container .swiper-slide{text-align:center}.pp-logo-carousel.swiper-container .swiper-slide img{width:auto}.pp-logo-carousel .pp-logo-carousel-title a{color:inherit}.pp-logo-grid{display:flex;flex-wrap:wrap;position:relative}.pp-logo-grid .pp-grid-item{transition:all .25s linear 0s;width:100%}.pp-logo-grid .pp-grid-item-wrap{display:flex;float:left;flex-wrap:wrap;text-align:center;transition:all .2s cubic-bezier(.645,.045,.355,1)}.pp-logo-grid .pp-logo-grid-title a{color:inherit}.pp-logo-grid.grayscale-normal img{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.pp-logo-grid.grayscale-normal .pp-grid-item:hover img{-webkit-filter:none;filter:none}.pp-logo-grid.grayscale-hover .pp-grid-item:hover img{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.pp-google-map-container{line-height:0}.pp-google-map{display:inline-block;width:100%}.pp-google-map .gm-style .pp-infowindow-title{font-weight:600}.pp-contact-form-7 .wpcf7-form:after{clear:both;content:"";font-size:0;height:0;display:block;visibility:hidden}.pp-contact-form-7 .wpcf7-form .wpcf7-form-control-wrap,.pp-contact-form-7 .wpcf7-form label{display:block}.pp-contact-form-7 .wpcf7-form p{margin-bottom:0}.pp-contact-form-7.labels-hide .wpcf7-form label{display:none}.pp-contact-form-7-title{margin-bottom:10px}.pp-contact-form-7-description{margin-bottom:20px}.pp-contact-form-7-button-full-width .wpcf7-form-control.wpcf7-submit{width:100%}.pp-gravity-form .gform_wrapper .gform_footer{margin:0;padding:0}.pp-gravity-form .gform_wrapper textarea{padding:0}.pp-gravity-form .gform_wrapper .gform_footer input.button,.pp-gravity-form .gform_wrapper .gform_footer input[type=submit],.pp-gravity-form .gform_wrapper .gform_page_footer input.button,.pp-gravity-form .gform_wrapper .gform_page_footer input[type=submit]{margin:0}.pp-gravity-form .gform_wrapper .gform_page_footer input[type=button]{margin-right:4px}.pp-gravity-form .gform_wrapper .gform_page_footer input[type=submit]{margin-left:4px}.pp-gravity-form.title-description-hide .gform_heading{display:none}.pp-gravity-form.labels-hide .gform_wrapper .field_sublabel_below .ginput_complex.ginput_container label,.pp-gravity-form.labels-hide .gform_wrapper .top_label .gfield_label{display:none}.pp-gravity-form .gform_footer input[type=button],.pp-gravity-form .gform_footer input[type=submit],.pp-gravity-form .gform_page_footer input[type=button],.pp-gravity-form .gform_page_footer input[type=submit]{background:#428bca;border:none;display:inline-block;padding:10px 15px}.pp-gravity-form-button-full-width .gform_wrapper .gform_footer input[type=submit],.pp-gravity-form-button-full-width .gform_wrapper .gform_page_footer input[type=submit]{width:100%}.pp-gravity-form-button-full-width .gform_wrapper .gform_page_footer input[type=submit]{margin-top:20px}.pp-gravity-form-pagination-buttons-full-width .gform_wrapper .gform_page_footer input[type=button]{margin-top:20px;width:100%}.pp-gravity-form .gform_wrapper select{border-radius:0;height:auto;-webkit-appearance:none;-moz-appearance:none;appearance:none}.pp-gravity-form .gform_wrapper .pp-gf-select-custom{position:relative}.pp-gravity-form .gform_wrapper .pp-gf-select-custom:after{content:"\f078";font-family:'Font Awesome 5 Free';font-weight:800;font-size:.7em;line-height:1;pointer-events:none;position:absolute;top:45%;right:.8em;transform:translateY(-45%);z-index:2}.pp-ninja-form .nf-form-title{display:none}.pp-ninja-form-title-yes .nf-form-title{display:block}.pp-ninja-form .title-description-hide .nf-form-title{display:none}.pp-ninja-form.title-description-hide .nf-form-title{display:none}.pp-ninja-form .nf-field-label{display:none}.pp-ninja-form-labels-yes .nf-field-label{display:block}.pp-ninja-form .submit-container input[type=button]{border:0;border-radius:0}.pp-ninja-form-button-full-width .submit-container input[type=button]{width:100%}.pp-caldera-form .control-label{display:none}.pp-caldera-form-labels-yes .control-label{display:block}.pp-caldera-form-button-center .form-group input[type=button],.pp-caldera-form-button-center .form-group input[type=submit]{display:block;margin:0 auto}.pp-caldera-form-button-right .form-group input[type=button],.pp-caldera-form-button-right .form-group input[type=submit]{float:right}.pp-caldera-form .intl-tel-input{display:inherit}.pp-custom-radio-checkbox .caldera-grid input[type=checkbox],.pp-custom-radio-checkbox .caldera-grid input[type=radio]{border-style:solid;border-width:0;padding:3px;-webkit-appearance:none}.pp-caldera-form-button-full-width .form-group input[type=button],.pp-caldera-form-button-full-width .form-group input[type=submit]{width:100%}.pp-wpforms .wpforms-container .wpforms-form .wpforms-page-button,.pp-wpforms .wpforms-container .wpforms-form button[type=submit],.pp-wpforms .wpforms-container .wpforms-form input[type=submit]{border:0}.pp-wpforms .wpforms-container .wpforms-form .wpforms-page-button:hover,.pp-wpforms .wpforms-container .wpforms-form button[type=submit]:hover,.pp-wpforms .wpforms-container .wpforms-form input[type=submit]:hover{border:0}.pp-wpforms .wpforms-container .wpforms-form input[type=checkbox],.pp-wpforms .wpforms-container .wpforms-form input[type=radio]{padding:3px}.pp-wpforms .wpforms-container .wpforms-form .wpforms-field-label{display:none}.pp-wpforms .wpforms-container .wpforms-form .wpforms-field-name .wpforms-field-row{max-width:100%}.pp-wpforms .wpforms-container .wpforms-field input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),.pp-wpforms .wpforms-container .wpforms-field select,.pp-wpforms .wpforms-container .wpforms-field textarea{max-width:100%!important}.pp-wpforms-labels-yes .wpforms-container .wpforms-form .wpforms-field-label{display:block}.pp-wpforms-form-button-full-width .wpforms-submit-container .wpforms-submit{width:100%}.swiper-container .swiper-slide,.swiper-container-wrap .swiper-slide{text-align:center}.swiper-container .swiper-slide img,.swiper-container-wrap .swiper-slide img{width:auto}.swiper-container-dots-outside .swiper-pagination,.swiper-container-wrap-dots-outside .swiper-pagination{position:static}.swiper-container .swiper-button-next,.swiper-container .swiper-button-prev,.swiper-container-wrap .swiper-button-next,.swiper-container-wrap .swiper-button-prev{background:0 0;font-size:20px;height:auto;line-height:1;margin:0;text-align:center;transform:translateY(-50%);width:auto}.swiper-container .swiper-button-next .fa,.swiper-container .swiper-button-prev .fa,.swiper-container-wrap .swiper-button-next .fa,.swiper-container-wrap .swiper-button-prev .fa{vertical-align:top}.swiper-container-wrap .swiper-pagination{bottom:10px;left:0;width:100%}.swiper-container-wrap-dots-outside .swiper-pagination{position:static}.swiper-container-wrap .swiper-pagination-bullet{background:#ccc;margin:0 4px;opacity:1;height:8px;width:8px}.swiper-container-wrap .swiper-pagination-bullet-active{background:#000}.swiper-container-3d .swiper-slide{transition-property:all;-webkit-transition-property:all}.pp-slider-arrow{align-items:center;justify-content:center;background-color:#fff;border-radius:50%;color:#000;cursor:pointer;display:inline-flex;font-size:22px;line-height:22px;padding:20px;position:absolute;top:50%;width:22px;height:22px;transform:translateY(-50%);z-index:1;transition:all .25s linear 0s}.pp-arrow-next{right:20px}.pp-arrow-prev{left:20px}[dir=rtl] .pp-slick-slider .pp-arrow-next{left:20px;right:auto}[dir=rtl] .pp-slick-slider .pp-arrow-prev{left:auto;right:20px}.pp-slick-slider:not(.slick-initialized)>*{display:none}.pp-slick-slider .slick-slide:focus{outline:0}.pp-slick-slider .slick-dots{list-style:none;margin:0;padding:0;position:relative;text-align:center;width:100%}.pp-slick-slider li{background:#ccc;border-radius:50%;cursor:pointer;position:relative;display:inline-block;margin:0 4px;padding:0;vertical-align:middle;transition:.3s}.pp-slick-slider li.slick-active{background:#000}.pp-slick-slider li button{background:0 0;border:0;box-shadow:none;color:transparent;display:block;font-size:0;line-height:0;width:10px;height:10px;padding:0;outline:0;transition:.3s}.pp-slick-slider-dots-inside .slick-dots{position:absolute;bottom:15px;left:0;right:0}.pp-info-table-container .pp-info-table-link{text-decoration:none!important}.pp-info-table-container .pp-info-table-sale-badge.right{position:absolute;right:-7px;z-index:2;border-bottom-right-radius:0!important}.pp-info-table-container .pp-info-table-sale-badge.right:after{content:"";display:block;position:absolute;width:0;height:0;bottom:-8px;right:0;border-bottom:8px solid transparent;border-left:8px;border-left-style:solid}.pp-info-table-container .pp-info-table-sale-badge.left{position:absolute;left:-7px;z-index:2;border-bottom-left-radius:0!important}.pp-info-table-container .pp-info-table-sale-badge.left:after{content:"";display:block;position:absolute;width:0;height:0;bottom:-8px;left:0;border-bottom:8px solid transparent;border-right:8px;border-right-style:solid}.pp-info-table-container .pp-info-table-sale-badge p{margin:0;text-align:center!important}.pp-info-table-container .pp-info-table-icon-inner{display:inline-block}.pp-info-table-container .pp-info-table-icon-wrap{display:table}.pp-info-table-container .pp-info-table-icon-wrap .pp-info-table-icon{display:table-cell;vertical-align:middle;text-align:center}.pp-image-accordion{display:flex;height:50vh}.pp-image-accordion .pp-image-accordion-img{position:absolute;left:0;top:0;right:0;bottom:0;-o-object-fit:cover;object-fit:cover;height:100%;width:100%}.pp-image-accordion .pp-image-accordion-button-wrap *{transition:none}.pp-image-accordion .pp-image-accordion-button{transition:all .25s linear 0s}.pp-image-accordion-item{cursor:pointer;background-size:cover;background-position:center;background-repeat:no-repeat;color:#fff;position:relative;flex:1;text-decoration:none;transition:flex .4s;overflow:hidden}.pp-image-accordion-item:last-child{margin-right:0!important}.pp-image-accordion-active{cursor:default}.pp-image-accordion-overlay{background-color:rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center;padding:20px;position:absolute;top:0;right:0;bottom:0;left:0;transition:background-color .4s}.pp-image-accordion-overlay .pp-image-accordion-content-wrap{z-index:1}.pp-image-accordion-content-wrap{display:flex;flex-direction:column;align-items:center;visibility:hidden}.pp-image-accordion-content-wrap p:last-child{margin-bottom:0}.pp-image-accordion-content-wrap *{visibility:hidden;opacity:0;transform-style:preserve-3d}.pp-image-accordion-title{color:#fff;transform:translate3d(0,-60px,0)}.pp-image-accordion-description{color:#fff;transform:translate3d(0,60px,0)}.pp-image-accordion-button-wrap{transform:translate3d(0,60px,0)}.pp-image-accordion-content-active{visibility:visible}.pp-image-accordion-content-active *{opacity:1;visibility:visible;transform:none!important;transition:all .3s .3s}.pp-image-accordion-on-hover .pp-image-accordion-item:hover{flex:3}.pp-image-accordion-on-hover .pp-image-accordion-item:hover .pp-image-accordion-content-wrap *{opacity:1;visibility:visible;transform:none;transition:all .3s .3s}.pp-image-accordion-orientation-horizontal .pp-image-accordion{flex-direction:column}.pp-image-accordion-orientation-horizontal .pp-image-accordion a:hover .pp-image-accordion-overlay{background-color:transparent}.pp-image-accordion-orientation-horizontal .pp-image-accordion-item{margin-right:0!important}.pp-advanced-accordion{width:auto;height:auto;transition:all .3s ease-in-out}.pp-advanced-accordion .pp-accordion-tab-title{padding:15px;font-size:1rem;font-weight:600;line-height:1;transition:all .3s ease-in-out;display:flex;justify-content:space-between;align-items:center;cursor:pointer;outline:0}.pp-advanced-accordion .pp-accordion-toggle-icon{z-index:10}.pp-advanced-accordion .pp-accordion-tab-active-default .pp-accordion-toggle-icon-close,.pp-advanced-accordion .pp-accordion-tab-show .pp-accordion-toggle-icon-close,.pp-advanced-accordion .pp-accordion-toggle-icon-open{display:none}.pp-advanced-accordion .pp-accordion-tab-active-default .pp-accordion-toggle-icon-open,.pp-advanced-accordion .pp-accordion-tab-show .pp-accordion-toggle-icon-open{display:inline}.pp-advanced-accordion .pp-accordion-tab-content{display:none;padding:15px;box-sizing:border-box;font-size:1rem;line-height:1.7}.pp-advanced-accordion .pp-accordion-tab-content p:last-child{margin:0}.pp-advanced-accordion .pp-accordion-tab-content.pp-accordion-tab-active{display:block}.pp-advanced-accordion.pp-toggle-icon-align-left .pp-accordion-tab-title{flex-direction:row-reverse;justify-content:flex-end}.pp-accordion-tab-icon{display:inline-block;margin-right:10px}.pp-flipbox-container{position:relative;height:300px;width:100%}.pp-flipbox-icon-image,.pp-flipbox-icon-image-back{display:inline-block;margin:0 auto 0 auto;line-height:1}.pp-flipbox-icon-image img,.pp-flipbox-icon-image-back img{width:30%}.pp-flipbox-icon-image i,.pp-flipbox-icon-image-back i{font-size:40px;line-height:40px;width:40px}.pp-flipbox-overlay{height:100%;padding:35px;width:100%;-webkit-display:flex;display:flex;flex-direction:column;align-items:center;justify-content:center}.pp-flipbox-back,.pp-flipbox-front{text-align:center;position:absolute;top:0;left:0;width:100%;height:100%}.pp-flipbox-front{background:#1abc9c;color:#fff;z-index:2}.pp-flipbox-back{background:#444;color:#fff}.pp-flipbox-back .pp-flipbox-box-link{position:absolute;top:0;left:0;right:0;bottom:0}.pp-flipbox-content,.pp-flipbox-heading{color:#fff}.pp-flipbox-heading.pp-flipbox-linked-title{color:#fff;display:block;font-size:1.5em;font-weight:700}.pp-flipbox-container{perspective:1000px}.pp-flipbox-back,.pp-flipbox-front{transition-duration:.5s;transition-property:all;transition-timing-function:ease}.pp-flipbox-flip-card{width:100%;height:100%;transform-style:preserve-3d;transition:all .5s ease}.pp-flipbox-back,.pp-flipbox-front{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:rotateX(0);transform:rotateY(0)}.pp-animate-flip.pp-direction-up .pp-flipbox-back,.pp-animate-flip.pp-direction-up.pp-flipbox-container:hover .pp-flipbox-flip-card{transform:rotateX(180deg)}.pp-animate-flip.pp-direction-down .pp-flipbox-back,.pp-animate-flip.pp-direction-down.pp-flipbox-container:hover .pp-flipbox-flip-card{transform:rotateX(-180deg)}.pp-animate-flip.pp-direction-left .pp-flipbox-back,.pp-animate-flip.pp-direction-left.pp-flipbox-container:hover .pp-flipbox-flip-card{transform:rotateY(-180deg)}.pp-animate-flip.pp-direction-right .pp-flipbox-back,.pp-animate-flip.pp-direction-right.pp-flipbox-container:hover .pp-flipbox-flip-card{transform:rotateY(180deg)}.pp-animate-push.pp-flipbox-container,.pp-animate-slide.pp-flipbox-container{overflow:hidden}.pp-animate-push .pp-flipbox-back,.pp-animate-slide .pp-flipbox-back{z-index:3}.pp-animate-push.pp-direction-up .pp-flipbox-back,.pp-animate-slide.pp-direction-up .pp-flipbox-back{top:100%}.pp-animate-push.pp-direction-up.pp-flipbox-container:hover .pp-flipbox-back,.pp-animate-slide.pp-direction-up.pp-flipbox-container:hover .pp-flipbox-back{top:0}.pp-animate-push.pp-direction-down .pp-flipbox-back,.pp-animate-slide.pp-direction-down .pp-flipbox-back{top:auto;bottom:100%}.pp-animate-push.pp-direction-down.pp-flipbox-container:hover .pp-flipbox-back,.pp-animate-slide.pp-direction-down.pp-flipbox-container:hover .pp-flipbox-back{top:auto;bottom:0}.pp-animate-push.pp-direction-left .pp-flipbox-back,.pp-animate-slide.pp-direction-left .pp-flipbox-back{left:100%}.pp-animate-push.pp-direction-left.pp-flipbox-container:hover .pp-flipbox-back,.pp-animate-slide.pp-direction-left.pp-flipbox-container:hover .pp-flipbox-back{left:0}.pp-animate-push.pp-direction-right .pp-flipbox-back,.pp-animate-slide.pp-direction-right .pp-flipbox-back{left:auto;right:100%}.pp-animate-push.pp-direction-right.pp-flipbox-container:hover .pp-flipbox-back,.pp-animate-slide.pp-direction-right.pp-flipbox-container:hover .pp-flipbox-back{left:auto;right:0}.pp-animate-push.pp-direction-up.pp-flipbox-container:hover .pp-flipbox-front{top:-100%}.pp-animate-push.pp-direction-down.pp-flipbox-container:hover .pp-flipbox-front{top:100%}.pp-animate-push.pp-direction-left.pp-flipbox-container:hover .pp-flipbox-front{left:-100%}.pp-animate-push.pp-direction-right.pp-flipbox-container:hover .pp-flipbox-front{left:100%}.pp-animate-zoom-in .pp-flipbox-back{opacity:0;transform:scale(.75);z-index:3}.pp-animate-zoom-in.pp-flipbox-container:hover .pp-flipbox-back{opacity:1;transform:scale(1)}.pp-animate-zoom-out.pp-flipbox-container:hover .pp-flipbox-front{opacity:0;transform:scale(.75)}.pp-animate-fade.pp-flipbox-container:hover .pp-flipbox-front{opacity:0}.pp-content-ticker-container{background:#f4f4f4;display:flex;overflow:hidden}.pp-content-ticker-heading{background:#333;color:#fff;display:flex;flex-direction:row;flex-shrink:0;align-items:center;padding:10px 15px;position:relative}.pp-content-ticker-heading-icon{margin-right:5px}.pp-content-ticker-heading-icon-right{order:1;margin-left:5px;margin-right:0}.pp-content-ticker-heading-arrow .pp-content-ticker-heading:after{content:'';position:absolute;right:-20px;border:10px solid transparent;border-left-color:#333;top:50%;transform:translateY(-50%)}.pp-content-ticker-wrap{display:flex;align-items:center;overflow:hidden;padding:10px 15px}.pp-content-ticker{overflow:hidden}.pp-content-ticker .swiper-wrapper{align-items:center}.pp-content-ticker .pp-content-ticker-item-title{font-size:20px;margin:0}.pp-content-ticker .pp-content-ticker-item-title a{color:inherit;font-size:inherit}.pp-content-ticker-content{display:flex;align-items:center}.pp-content-ticker-image{flex-shrink:0;margin-right:15px;width:40px}.pp-content-ticker-meta{font-size:14px}.pp-content-ticker-navigation{display:flex;align-items:center;padding-left:10px;padding-right:10px}.pp-content-ticker-navigation .swiper-button-next,.pp-content-ticker-navigation .swiper-button-prev{background:0 0;font-size:18px;line-height:1.2;height:auto;margin:0;padding:0 6px;position:static;text-align:center;width:auto}.pp-content-ticker-navigation .swiper-button-prev{margin-right:6px}.pp-image-scroll-container,.pp-image-scroll-wrap{transition:all .3s ease-in-out;-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-ms-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out}.pp-image-scroll-wrap{overflow:hidden;width:100%;position:relative}.pp-image-scroll-container{width:100%}.pp-container-scroll{overflow:auto}.pp-image-scroll-container .pp-image-scroll-horizontal{position:relative;width:100%;height:100%}.pp-image-scroll-container .pp-image-scroll-horizontal.pp-image-scroll-image img{max-width:none;height:100%}.pp-image-scroll-container .pp-image-scroll-vertical.pp-image-scroll-image img{width:100%;max-width:100%;height:auto}.pp-image-scroll-ver{position:relative}.pp-image-scroll-container .pp-image-scroll-overlay{background:rgba(2,2,2,.3)}.pp-image-scroll-container .pp-image-scroll-link,.pp-image-scroll-container .pp-image-scroll-overlay{position:absolute;top:0;bottom:0;left:0;right:0;z-index:4}.pp-image-scroll-content{display:inline-block;position:absolute;height:auto;top:50%;left:50%;text-align:center;z-index:5;transform:translate(-50%,-50%)}.pp-container-scroll-instant .pp-image-scroll-image img{transition:all 0s ease-in-out!important}.pp-image-scroll-container .pp-image-scroll-content,.pp-image-scroll-container .pp-image-scroll-overlay{transition:all .3s ease-in-out;opacity:1}.pp-image-scroll-container:hover .pp-image-scroll-content,.pp-image-scroll-container:hover .pp-image-scroll-overlay{opacity:0}.pp-image-scroll-container:hover .pp-image-scroll-content{visibility:hidden}.pp-image-scroll-content .pp-image-scroll-icon{display:inline-block;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-direction:alternate;animation-direction:alternate;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}.pp-mouse-scroll-horizontal{-webkit-animation-name:pp-scroll-horizontal;animation-name:pp-scroll-horizontal}.pp-mouse-scroll-vertical{-webkit-animation-name:pp-scroll-vertical;animation-name:pp-scroll-vertical}@-webkit-keyframes pp-scroll-vertical{0%{transform:translateY(0)}100%{transform:translateY(5px)}}@keyframes pp-scroll-vertical{0%{transform:translateY(0)}100%{transform:translateY(5px)}}@-webkit-keyframes pp-scroll-horizontal{0%{transform:translateX(0)}100%{transform:translateX(5px)}}@keyframes pp-scroll-horizontal{0%{transform:translateX(0)}100%{transform:translateX(5px)}}.pp-buttons-group{display:flex;flex-flow:wrap;align-items:flex-start}.pp-buttons-group a,.pp-buttons-group a:hover{text-decoration:none;transition:all .5s ease-in-out}.pp-buttons-group .pp-button{display:flex}.pp-buttons-group .pp-button .pp-button-content-wrapper .pp-button-content-inner{display:flex;align-items:center;justify-content:center}.pp-buttons-group .pp-button .pp-button-content-wrapper .pp-button-content-inner.pp-icon-before{flex-direction:row}.pp-buttons-group .pp-button .pp-button-content-wrapper .pp-button-content-inner.pp-icon-after{flex-direction:row-reverse}.pp-buttons-group .pp-button .pp-button-content-wrapper .pp-button-content-inner.pp-icon-top{flex-direction:column}.pp-buttons-group .pp-button .pp-button-content-wrapper .pp-button-content-inner.pp-icon-bottom{flex-direction:column-reverse}.pp-button-icon-image img{width:40px}.pp-button-content-wrapper{display:flex;flex-grow:1;justify-content:center}.pp-buttons-valign-top .pp-buttons-group{align-items:flex-start}.pp-buttons-valign-middle .pp-buttons-group{align-items:center}.pp-buttons-valign-bottom .pp-buttons-group{align-items:flex-end}.pp-buttons-valign-stretch .pp-buttons-group{align-items:stretch}.pp-buttons-valign-stretch .pp-buttons-group .pp-button-content-wrapper{align-items:center}.pp-buttons-halign-left .pp-buttons-group{justify-content:flex-start}.pp-buttons-halign-center .pp-buttons-group{justify-content:center}.pp-buttons-halign-right .pp-buttons-group{justify-content:flex-end}.pp-buttons-halign-stretch .pp-buttons-group{justify-content:stretch}.pp-buttons-halign-stretch .pp-button{flex-grow:1}.pp-buttons-stack-desktop .pp-buttons-group{flex-direction:column}.pp-buttons-stack-desktop.pp-buttons-halign-left .pp-buttons-group{align-items:flex-start}.pp-buttons-stack-desktop.pp-buttons-halign-center .pp-buttons-group{align-items:center}.pp-buttons-stack-desktop.pp-buttons-halign-right .pp-buttons-group{align-items:flex-end}.pp-buttons-stack-desktop.pp-buttons-halign-stretch .pp-buttons-group{align-items:stretch}.pp-buttons-stack-desktop.pp-buttons-halign-stretch .pp-button{flex-grow:1}.pp-buttons-stack-desktop .pp-button{margin-left:0!important;margin-right:0!important}.pp-heading-fill-gradient .pp-heading-text{display:block;background-clip:text;text-fill-color:transparent;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.pp-formidable-forms .frm_form_field .frm_primary_label{display:none}.pp-formidable-forms-labels-yes .pp-formidable-forms .frm_primary_label{display:block}.pp-custom-radio-checkbox .form-field input[type=checkbox],.pp-custom-radio-checkbox .form-field input[type=radio]{border-style:solid;border-width:0;display:inline-block;vertical-align:middle;padding:3px;-webkit-appearance:none}.pp-formidable-forms-button-full-width .pp-formidable-forms .frm_submit .frm_button_submit{width:100%}.pp-fluent-forms-form-button-full-width .ff_submit_btn_wrapper .ff-btn-submit{margin-left:0;margin-right:0;width:100%}.pp-post{overflow:hidden}.pp-post .pp-post-title{font-size:26px}.pp-post .pp-post-title a{color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;line-height:inherit}.pp-post-thumbnail{overflow:hidden}.pp-post-thumbnail img{width:100%;transition:all .25s linear}.pp-posts-thumbnail-ratio .pp-post-thumbnail-wrap{position:relative}.pp-posts-thumbnail-ratio .pp-post-thumbnail-wrap img{position:absolute;-o-object-fit:cover;object-fit:cover;top:0;right:0;bottom:0;left:0;height:100%}.pp-post-separator-wrap{margin-bottom:15px}.pp-post-separator{background:#e6e6e6;height:1px;width:100%}.pp-post-terms{transition:all .25s linear 0s;display:inline-block}.pp-post-terms a{color:inherit}.pp-equal-height-yes .pp-post{height:100%}.pp-posts-pagination .page-numbers,.pp-posts-pagination a{display:inline-block}.pp-posts-infinite-scroll .pp-posts-pagination-wrap{display:none}.pp-search-form-container{display:flex;justify-content:flex-start}.pp-search-form{display:flex;transition:.2s;overflow:hidden;border:0 solid transparent;margin-bottom:20px;min-height:50px;max-width:400px;width:100%}.pp-search-form button,.pp-search-form input[type=search]{margin:0;border:0;padding:0;display:inline-block;vertical-align:middle;white-space:normal;background:0 0;line-height:1;min-width:0;font-size:15px;-webkit-appearance:none;-moz-appearance:none}.pp-search-form button:focus,.pp-search-form input[type=search]:focus{outline:0}.pp-search-form input[type=search]{background:#eceeef;height:100%;padding-left:15px;padding-right:15px;flex-basis:100%;color:#55595c;transition:color .2s}.pp-search-form button{background-color:#818a91;font-size:16px;color:#fff;border-radius:0;min-width:50px}.pp-search-form .pp-search-form-input:-ms-input-placeholder{color:inherit;font-family:inherit;opacity:.6}.pp-search-form .pp-search-form-input::-moz-placeholder{color:inherit;font-family:inherit;opacity:.6}.pp-search-form .pp-search-form-input::-ms-input-placeholder{color:inherit;font-family:inherit;opacity:.6}.pp-search-form .pp-search-form-input::placeholder{color:inherit;font-family:inherit;opacity:.6}.pp-search-form-text .pp-search-form-submit{flex-shrink:0}.pp-loader,.pp-posts-loader{width:46px;height:46px}.pp-loader{text-align:center;position:absolute;top:50%;left:50%;transform:translateX(-50%) translateY(-50%);z-index:2}.pp-posts-loader{display:none;margin-left:auto;margin-right:auto}.pp-loader:after,.pp-posts-loader:after{content:" ";display:block;width:100%;height:100%;margin:1px;border-radius:50%;border:5px solid #fff;border-color:#000 transparent #000 transparent;-webkit-animation:pp-loader-dual-ring 1.2s linear infinite;animation:pp-loader-dual-ring 1.2s linear infinite}.pp-loader:after{width:46px;height:46px}@-webkit-keyframes pp-loader-dual-ring{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes pp-loader-dual-ring{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.pp-loader-overlay{background:rgba(255,255,255,.5);content:'';position:absolute;top:0;left:0;z-index:1;height:100%;width:100%}@media only screen and (min-width:1025px){.elementor-element.elementor-grid-1{position:relative}.elementor-element.elementor-grid-1 .pp-grid-item-wrap{width:100%;float:left}.elementor-element.elementor-grid-2{position:relative}.elementor-element.elementor-grid-2 .pp-grid-item-wrap{width:50%;float:left}.elementor-element.elementor-grid-2 .pp-grid-item-wrap:nth-of-type(2n){margin-right:0!important}.elementor-element.elementor-grid-2 .pp-grid-item-wrap:nth-of-type(2n+1){clear:left}.elementor-element.elementor-grid-3{position:relative}.elementor-element.elementor-grid-3 .pp-grid-item-wrap{width:33.3333%;float:left}.elementor-element.elementor-grid-3 .pp-grid-item-wrap:nth-of-type(3n){margin-right:0!important}.elementor-element.elementor-grid-3 .pp-grid-item-wrap:nth-of-type(3n+1){clear:left}.elementor-element.elementor-grid-4{position:relative}.elementor-element.elementor-grid-4 .pp-grid-item-wrap{width:25%;float:left}.elementor-element.elementor-grid-4 .pp-grid-item-wrap:nth-of-type(4n){margin-right:0!important}.elementor-element.elementor-grid-4 .pp-grid-item-wrap:nth-of-type(4n+1){clear:left}.elementor-element.elementor-grid-5{position:relative}.elementor-element.elementor-grid-5 .pp-grid-item-wrap{width:20%;float:left}.elementor-element.elementor-grid-5 .pp-grid-item-wrap:nth-of-type(5n){margin-right:0!important}.elementor-element.elementor-grid-5 .pp-grid-item-wrap:nth-of-type(5n+1){clear:left}.elementor-element.elementor-grid-6{position:relative}.elementor-element.elementor-grid-6 .pp-grid-item-wrap{width:16.6667%;float:left}.elementor-element.elementor-grid-6 .pp-grid-item-wrap:nth-of-type(6n){margin-right:0!important}.elementor-element.elementor-grid-6 .pp-grid-item-wrap:nth-of-type(6n+1){clear:left}}@media (max-width:1024px){.pp-image-accordion-stack-on-tablet .pp-image-accordion{flex-direction:column}.pp-image-accordion-stack-on-tablet .pp-image-accordion a:hover .pp-image-accordion-overlay{background-color:transparent}.pp-image-accordion-stack-on-tablet .pp-image-accordion-item{margin-right:0!important}.pp-info-box-tablet-top .pp-info-box{flex-direction:column}.pp-info-box-tablet-top .pp-info-box .pp-info-box-icon-wrap{display:inline-block;margin:0}.pp-info-box-tablet-top .pp-info-box .pp-info-box-icon{margin-right:auto}.pp-info-box-tablet-left .pp-info-box{flex-direction:row}.pp-info-box-tablet-left .pp-info-box .pp-info-box-icon-wrap{display:flex;margin-right:20px}.pp-info-box-tablet-left .pp-info-box .pp-info-box-icon,.pp-info-box-tablet-left .pp-info-box img{width:100%}.pp-info-box-tablet-right .pp-info-box{flex-direction:row-reverse}.pp-info-box-tablet-right .pp-info-box .pp-info-box-icon-wrap{display:flex;margin-left:20px}.pp-info-box-tablet-right .pp-info-box .pp-info-box-icon,.pp-info-box-tablet-right .pp-info-box img{width:100%}.pp-info-list-stack-tablet.pp-info-list-icon-top .pp-info-list-container .pp-list-items{display:block}.pp-info-list-stack-tablet.pp-info-list-icon-top .pp-info-list-container .pp-list-items .pp-info-list-item{display:block;text-align:center!important;width:100%!important}.pp-info-list-stack-tablet.pp-info-list-icon-top .pp-info-list-item-inner{flex-direction:row}.pp-info-list-stack-tablet.pp-info-list-icon-top .pp-infolist-icon-wrapper{margin-bottom:0;margin-right:10px}.pp-info-list-stack-tablet.pp-info-list-icon-top .pp-infolist-icon-wrapper:before{content:'';border-right:1px solid #000;height:1500px;bottom:14px;left:calc(7px - (1px/2));position:absolute;width:1px;top:auto}.pp-info-list-stack-tablet.pp-info-list-icon-top .pp-infolist-icon-wrapper:after{content:'';border-right:1px solid #000;height:1500px;top:14px;left:calc(7px - (1px/2));position:absolute;width:1px;top:auto}}@media only screen and (max-width:1024px) and (min-width:766px){.elementor-element.elementor-grid-tablet-1{position:relative}.elementor-element.elementor-grid-tablet-1 .pp-grid-item-wrap{width:100%;float:left}.elementor-element.elementor-grid-tablet-2{position:relative}.elementor-element.elementor-grid-tablet-2 .pp-grid-item-wrap{width:50%;float:left}.elementor-element.elementor-grid-tablet-2 .pp-grid-item-wrap:nth-of-type(2n){margin-right:0!important}.elementor-element.elementor-grid-tablet-2 .pp-grid-item-wrap:nth-of-type(2n+1){clear:left}.elementor-element.elementor-grid-tablet-3{position:relative}.elementor-element.elementor-grid-tablet-3 .pp-grid-item-wrap{width:33.3333%;float:left}.elementor-element.elementor-grid-tablet-3 .pp-grid-item-wrap:nth-of-type(3n){margin-right:0!important}.elementor-element.elementor-grid-tablet-3 .pp-grid-item-wrap:nth-of-type(3n+1){clear:left}.elementor-element.elementor-grid-tablet-4{position:relative}.elementor-element.elementor-grid-tablet-4 .pp-grid-item-wrap{width:25%;float:left}.elementor-element.elementor-grid-tablet-4 .pp-grid-item-wrap:nth-of-type(4n){margin-right:0!important}.elementor-element.elementor-grid-tablet-4 .pp-grid-item-wrap:nth-of-type(4n+1){clear:left}.elementor-element.elementor-grid-tablet-5{position:relative}.elementor-element.elementor-grid-tablet-5 .pp-grid-item-wrap{width:20%;float:left}.elementor-element.elementor-grid-tablet-5 .pp-grid-item-wrap:nth-of-type(5n){margin-right:0!important}.elementor-element.elementor-grid-tablet-5 .pp-grid-item-wrap:nth-of-type(5n+1){clear:left}.elementor-element.elementor-grid-tablet-6{position:relative}.elementor-element.elementor-grid-tablet-6 .pp-grid-item-wrap{width:16.6667%;float:left}.elementor-element.elementor-grid-tablet-6 .pp-grid-item-wrap:nth-of-type(6n){margin-right:0!important}.elementor-element.elementor-grid-tablet-6 .pp-grid-item-wrap:nth-of-type(6n+1){clear:left}}@media only screen and (max-width:767px){.pp-image-accordion-stack-on-mobile .pp-image-accordion{flex-direction:column}.pp-image-accordion-stack-on-mobile .pp-image-accordion a:hover .pp-image-accordion-overlay{background-color:transparent}.pp-image-accordion-stack-on-mobile .pp-image-accordion-item{margin-right:0!important}.pp-info-box-mobile-top .pp-info-box{flex-direction:column}.pp-info-box-mobile-top .pp-info-box .pp-info-box-icon-wrap{display:inline-block;margin:0}.pp-info-box-mobile-top .pp-info-box .pp-info-box-icon{margin-right:auto}.pp-info-box-mobile-left .pp-info-box{flex-direction:row}.pp-info-box-mobile-left .pp-info-box .pp-info-box-icon-wrap{display:flex;margin-right:20px}.pp-info-box-mobile-left .pp-info-box .pp-info-box-icon,.pp-info-box-mobile-left .pp-info-box img{width:100%}.pp-info-box-mobile-right .pp-info-box{flex-direction:row-reverse}.pp-info-box-mobile-right .pp-info-box .pp-info-box-icon-wrap{display:flex;margin-left:20px}.pp-info-box-mobile-right .pp-info-box .pp-info-box-icon,.pp-info-box-mobile-right .pp-info-box img{width:100%}.pp-info-list-stack-mobile.pp-info-list-icon-top .pp-info-list-container .pp-list-items{display:block}.pp-info-list-stack-mobile.pp-info-list-icon-top .pp-info-list-container .pp-list-items .pp-info-list-item{display:block;text-align:center!important;width:100%!important}.pp-info-list-stack-mobile.pp-info-list-icon-top .pp-info-list-item-inner{flex-direction:row}.pp-info-list-stack-mobile.pp-info-list-icon-top .pp-infolist-icon-wrapper{margin-bottom:0;margin-right:10px}.pp-info-list-stack-mobile.pp-info-list-icon-top .pp-infolist-icon-wrapper:before{content:'';border-right:1px solid #000;height:1500px;bottom:14px;left:calc(7px - (1px/2));position:absolute;width:1px;top:auto}.pp-info-list-stack-mobile.pp-info-list-icon-top .pp-infolist-icon-wrapper:after{content:'';border-right:1px solid #000;height:1500px;top:14px;left:calc(7px - (1px/2));position:absolute;width:1px;top:auto}.elementor-element.elementor-grid-mobile-1{position:relative}.elementor-element.elementor-grid-mobile-1 .pp-grid-item-wrap{width:100%;float:left}.elementor-element.elementor-grid-mobile-2{position:relative}.elementor-element.elementor-grid-mobile-2 .pp-grid-item-wrap{width:50%;float:left}.elementor-element.elementor-grid-mobile-2 .pp-grid-item-wrap:nth-of-type(2n){margin-right:0!important}.elementor-element.elementor-grid-mobile-2 .pp-grid-item-wrap:nth-of-type(2n+1){clear:left}.elementor-element.elementor-grid-mobile-3{position:relative}.elementor-element.elementor-grid-mobile-3 .pp-grid-item-wrap{width:33.3333%;float:left}.elementor-element.elementor-grid-mobile-3 .pp-grid-item-wrap:nth-of-type(3n){margin-right:0!important}.elementor-element.elementor-grid-mobile-3 .pp-grid-item-wrap:nth-of-type(3n+1){clear:left}.elementor-element.elementor-grid-mobile-4{position:relative}.elementor-element.elementor-grid-mobile-4 .pp-grid-item-wrap{width:25%;float:left}.elementor-element.elementor-grid-mobile-4 .pp-grid-item-wrap:nth-of-type(4n){margin-right:0!important}.elementor-element.elementor-grid-mobile-4 .pp-grid-item-wrap:nth-of-type(4n+1){clear:left}.elementor-element.elementor-grid-mobile-5{position:relative}.elementor-element.elementor-grid-mobile-5 .pp-grid-item-wrap{width:20%;float:left}.elementor-element.elementor-grid-mobile-5 .pp-grid-item-wrap:nth-of-type(5n){margin-right:0!important}.elementor-element.elementor-grid-mobile-5 .pp-grid-item-wrap:nth-of-type(5n+1){clear:left}.elementor-element.elementor-grid-mobile-6{position:relative}.elementor-element.elementor-grid-mobile-6 .pp-grid-item-wrap{width:16.6667%;float:left}.elementor-element.elementor-grid-mobile-6 .pp-grid-item-wrap:nth-of-type(6n){margin-right:0!important}.elementor-element.elementor-grid-mobile-6 .pp-grid-item-wrap:nth-of-type(6n+1){clear:left}}.pp-tooltip{display:none;position:absolute;min-width:50px;max-width:200px;min-height:16px;max-height:200px;border-radius:2px;z-index:3000;line-height:16px;font-size:13px;opacity:.01;transition:top .2s ease,opacity .3s ease}.pp-tooltip .pp-tooltip-callout{position:absolute}.pp-tooltip .pp-tooltip-callout:after,.pp-tooltip .pp-tooltip-callout:before{border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}.pp-tooltip.tt-left .pp-tooltip-callout:before{left:100%}.pp-tooltip.tt-left .pp-tooltip-callout:after{left:100%;border-color:transparent;border-left-color:rgba(0,0,0,.8);border-width:5px;top:50%;margin-top:-5px}.pp-tooltip.tt-right .pp-tooltip-callout:before{right:100%}.pp-tooltip.tt-right .pp-tooltip-callout:after{right:100%;border-color:transparent;border-right-color:rgba(0,0,0,.8);border-width:5px;top:50%;margin-top:-5px}.pp-tooltip.tt-bottom .pp-tooltip-callout:before{bottom:100%}.pp-tooltip.tt-bottom .pp-tooltip-callout:after{bottom:100%;border-color:transparent;border-bottom-color:rgba(0,0,0,.8);border-width:5px;left:50%;margin-left:-5px}.pp-tooltip.tt-top .pp-tooltip-callout:before{top:100%}.pp-tooltip.tt-top .pp-tooltip-callout:after{top:100%;border-color:transparent;border-top-color:rgba(0,0,0,.8);border-width:5px;left:50%;margin-left:-5px}.pp-tooltip-tiny{font-size:10px}.pp-tooltip-small{font-size:12px}.pp-tooltip-large{font-size:14px}.pp-tooltip-content{background:rgba(0,0,0,.8);color:#fff;padding:8px;border-radius:2px}.mfp-bg{top:0;left:0;width:100%;height:100%;z-index:1042;overflow:hidden;position:fixed;background:#0b0b0b;opacity:.8}.mfp-wrap{top:0;left:0;width:100%;height:100%;z-index:1043;position:fixed;outline:0!important;-webkit-backface-visibility:hidden}.mfp-container{text-align:center;position:absolute;width:100%;height:100%;left:0;top:0;padding:0 8px;box-sizing:border-box}.mfp-container:before{content:'';display:inline-block;height:100%;vertical-align:middle}.mfp-align-top .mfp-container:before{display:none}.mfp-content{position:relative;display:inline-block;vertical-align:middle;margin:0 auto;text-align:left;z-index:1045}.mfp-ajax-holder .mfp-content,.mfp-inline-holder .mfp-content{width:100%;cursor:auto}.mfp-ajax-cur{cursor:progress}.mfp-zoom-out-cur,.mfp-zoom-out-cur .mfp-image-holder .mfp-close{cursor:zoom-out}.mfp-zoom{cursor:pointer;cursor:zoom-in}.mfp-auto-cursor .mfp-content{cursor:auto}.mfp-arrow,.mfp-close,.mfp-counter,.mfp-preloader{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mfp-loading.mfp-figure{display:none}.mfp-hide{display:none!important}.mfp-preloader{color:#ccc;position:absolute;top:50%;width:auto;text-align:center;margin-top:-.8em;left:8px;right:8px;z-index:1044}.mfp-preloader a{color:#ccc}.mfp-preloader a:hover{color:#fff}.mfp-s-ready .mfp-preloader{display:none}.mfp-s-error .mfp-content{display:none}button.mfp-arrow,button.mfp-close{overflow:visible;cursor:pointer;background:0 0;border:0;-webkit-appearance:none;display:block;outline:0;padding:0;z-index:1046;box-shadow:none;touch-action:manipulation}button::-moz-focus-inner{padding:0;border:0}.mfp-close{width:44px;height:44px;line-height:44px;position:absolute;right:0;top:0;text-decoration:none;text-align:center;opacity:.65;padding:0 0 18px 10px;color:#fff;font-style:normal;font-size:28px;font-family:Arial,Baskerville,monospace}.mfp-close:focus,.mfp-close:hover{opacity:1}.mfp-close:active{top:1px}.mfp-close-btn-in .mfp-close{color:#333}.mfp-iframe-holder .mfp-close,.mfp-image-holder .mfp-close{color:#fff;right:-6px;text-align:right;padding-right:6px;width:100%}.mfp-counter{position:absolute;top:0;right:0;color:#ccc;font-size:12px;line-height:18px;white-space:nowrap}.mfp-arrow{position:absolute;opacity:.65;margin:0;top:50%;margin-top:-55px;padding:0;width:90px;height:110px;-webkit-tap-highlight-color:transparent}.mfp-arrow:active{margin-top:-54px}.mfp-arrow:focus,.mfp-arrow:hover{opacity:1}.mfp-arrow:after,.mfp-arrow:before{content:'';display:block;width:0;height:0;position:absolute;left:0;top:0;margin-top:35px;margin-left:35px;border:medium inset transparent}.mfp-arrow:after{border-top-width:13px;border-bottom-width:13px;top:8px}.mfp-arrow:before{border-top-width:21px;border-bottom-width:21px;opacity:.7}.mfp-arrow-left{left:0}.mfp-arrow-left:after{border-right:17px solid #fff;margin-left:31px}.mfp-arrow-left:before{margin-left:25px;border-right:27px solid #3f3f3f}.mfp-arrow-right{right:0}.mfp-arrow-right:after{border-left:17px solid #fff;margin-left:39px}.mfp-arrow-right:before{border-left:27px solid #3f3f3f}.mfp-iframe-holder{padding-top:40px;padding-bottom:40px}.mfp-iframe-holder .mfp-content{line-height:0;width:100%;max-width:900px}.mfp-iframe-holder .mfp-close{top:-40px}.mfp-iframe-scaler{width:100%;height:0;overflow:hidden;padding-top:56.25%}.mfp-iframe-scaler iframe{position:absolute;display:block;top:0;left:0;width:100%;height:100%;box-shadow:0 0 8px rgba(0,0,0,.6);background:#000}img.mfp-img{width:auto;max-width:100%;height:auto;display:block;line-height:0;box-sizing:border-box;padding:40px 0 40px;margin:0 auto}.mfp-figure{line-height:0}.mfp-figure:after{content:'';position:absolute;left:0;top:40px;bottom:40px;display:block;right:0;width:auto;height:auto;z-index:-1;box-shadow:0 0 8px rgba(0,0,0,.6);background:#444}.mfp-figure small{color:#bdbdbd;display:block;font-size:12px;line-height:14px}.mfp-figure figure{margin:0}.mfp-bottom-bar{margin-top:-36px;position:absolute;top:100%;left:0;width:100%;cursor:auto}.mfp-title{text-align:left;line-height:18px;color:#f3f3f3;word-wrap:break-word;padding-right:36px}.mfp-image-holder .mfp-content{max-width:100%}.mfp-gallery .mfp-image-holder .mfp-figure{cursor:pointer}@media screen and (max-width:800px) and (orientation:landscape),screen and (max-height:300px){.mfp-img-mobile .mfp-image-holder{padding-left:0;padding-right:0}.mfp-img-mobile img.mfp-img{padding:0}.mfp-img-mobile .mfp-figure:after{top:0;bottom:0}.mfp-img-mobile .mfp-figure small{display:inline;margin-left:5px}.mfp-img-mobile .mfp-bottom-bar{background:rgba(0,0,0,.6);bottom:0;margin:0;top:auto;padding:3px 5px;position:fixed;box-sizing:border-box}.mfp-img-mobile .mfp-bottom-bar:empty{padding:0}.mfp-img-mobile .mfp-counter{right:5px;top:3px}.mfp-img-mobile .mfp-close{top:0;right:0;width:35px;height:35px;line-height:35px;background:rgba(0,0,0,.6);position:fixed;text-align:center;padding:0}}@media all and (max-width:900px){.mfp-arrow{transform:scale(.75)}.mfp-arrow-left{transform-origin:0}.mfp-arrow-right{transform-origin:100%}.mfp-container{padding-left:6px;padding-right:6px}}/*!
2
  * animate.css -http://daneden.me/animate
3
  * Version - 3.5.2
4
  * Licensed under the MIT license - http://opensource.org/licenses/MIT
assets/js/pp-posts.js ADDED
@@ -0,0 +1,179 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ( function( $ ) {
2
+
3
+ var loadStatus = true;
4
+ var count = 1;
5
+ var loader = '';
6
+ var total = 0;
7
+
8
+ function equalHeight( slider_wrapper ) {
9
+ var slickSlider = slider_wrapper.find('.pp-posts-carousel'),
10
+ equalHeight = slickSlider.data( 'equal-height' );
11
+
12
+ if ( 'yes' != equalHeight ) {
13
+ return;
14
+ }
15
+
16
+ slickSlider.find('.slick-slide').height('auto');
17
+
18
+ var slickTrack = slickSlider.find('.slick-track'),
19
+ slickTrackHeight = $(slickTrack).height();
20
+
21
+ slickSlider.find('.slick-slide').css('height', slickTrackHeight + 'px');
22
+ }
23
+
24
+ var PostsHandler = function( $scope, $ ) {
25
+
26
+ var container = $scope.find( '.pp-posts-container' ),
27
+ selector = $scope.find( '.pp-posts-grid' ),
28
+ layout = $scope.find( '.pp-posts' ).data( 'layout' ),
29
+ loader = $scope.find( '.pp-posts-loader' );
30
+
31
+ if ( 'masonry' == layout ) {
32
+
33
+ $scope.imagesLoaded( function(e) {
34
+
35
+ selector.isotope({
36
+ layoutMode: layout,
37
+ itemSelector: '.pp-grid-item-wrap',
38
+ });
39
+
40
+ });
41
+ }
42
+
43
+ if ( 'carousel' == layout ) {
44
+ var $carousel = $scope.find( '.pp-posts-carousel' ).eq( 0 ),
45
+ $slider_options = JSON.parse( $carousel.attr('data-slider-settings') );
46
+
47
+ if ( $carousel.length > 0 ) {
48
+ $scope.imagesLoaded( function() {
49
+ $carousel.slick($slider_options);
50
+ });
51
+ }
52
+
53
+ $($carousel).on('setPosition', function () {
54
+ equalHeight($scope);
55
+ });
56
+ }
57
+ }
58
+
59
+ $( 'body' ).delegate( '.pp-posts-pagination-ajax .page-numbers', 'click', function( e ) {
60
+
61
+ $scope = $( this ).closest( '.elementor-widget-pp-posts' );
62
+
63
+ if ( 'main' == $scope.find( '.pp-posts-grid' ).data( 'query-type' ) ) {
64
+ return;
65
+ }
66
+
67
+ e.preventDefault();
68
+
69
+ $scope.find( '.pp-posts-grid .pp-post' ).last().after( '<div class="pp-post-loader"><div class="pp-loader"></div><div class="pp-loader-overlay"></div></div>' );
70
+
71
+ var page_number = 1;
72
+ var curr = parseInt( $scope.find( '.pp-posts-pagination .page-numbers.current' ).html() );
73
+
74
+ if ( $( this ).hasClass( 'next' ) ) {
75
+ page_number = curr + 1;
76
+ } else if ( $( this ).hasClass( 'prev' ) ) {
77
+ page_number = curr - 1;
78
+ } else {
79
+ page_number = $( this ).html();
80
+ }
81
+
82
+ $scope.find( '.pp-posts-grid .pp-post' ).last().after( '<div class="pp-post-loader"><div class="pp-loader"></div><div class="pp-loader-overlay"></div></div>' );
83
+
84
+ var $args = {
85
+ 'page_id': $scope.find( '.pp-posts-grid' ).data('page'),
86
+ 'widget_id': $scope.data( 'id' ),
87
+ 'skin': $scope.find( '.pp-posts-grid' ).data( 'skin' ),
88
+ 'page_number': page_number
89
+ };
90
+
91
+ $('html, body').animate({
92
+ scrollTop: ( ( $scope.find( '.pp-posts-container' ).offset().top ) - 30 )
93
+ }, 'slow');
94
+
95
+ _callAjax( $scope, $args );
96
+
97
+ } );
98
+
99
+ var _callAjax = function( $scope, $obj, $append, $count ) {
100
+
101
+ var loader = $scope.find( '.pp-posts-loader' );
102
+
103
+ $.ajax({
104
+ url: pp.ajax_url,
105
+ data: {
106
+ action: 'pp_get_post',
107
+ page_id: $obj.page_id,
108
+ widget_id: $obj.widget_id,
109
+ skin: $obj.skin,
110
+ page_number: $obj.page_number,
111
+ nonce: pp_posts_script.posts_nonce,
112
+ },
113
+ dataType: 'json',
114
+ type: 'POST',
115
+ success: function( data ) {
116
+
117
+ var sel = $scope.find( '.pp-posts-grid' );
118
+
119
+ if ( true == $append ) {
120
+
121
+ var html_str = data.data.html;
122
+
123
+ sel.append( html_str );
124
+ } else {
125
+ sel.html( data.data.html );
126
+ }
127
+
128
+ $scope.find( '.pp-posts-pagination-wrap' ).html( data.data.pagination );
129
+
130
+ var layout = $scope.find( '.pp-posts-grid' ).data( 'layout' ),
131
+ selector = $scope.find( '.pp-posts-grid' );
132
+
133
+ if ( 'masonry' == layout ) {
134
+
135
+ $scope.imagesLoaded( function() {
136
+ selector.isotope( 'destroy' );
137
+ selector.isotope({
138
+ layoutMode: layout,
139
+ itemSelector: '.pp-grid-item-wrap',
140
+ });
141
+ });
142
+ }
143
+
144
+ // Complete the process 'loadStatus'
145
+ loadStatus = true;
146
+ if ( true == $append ) {
147
+ loader.hide();
148
+ }
149
+
150
+ $count = $count + 1;
151
+
152
+ $scope.trigger('posts.rendered');
153
+ }
154
+ });
155
+ }
156
+
157
+ $( window ).on( 'elementor/frontend/init', function () {
158
+
159
+ elementorFrontend.hooks.addAction( 'frontend/element_ready/pp-posts.classic', PostsHandler );
160
+
161
+ elementorFrontend.hooks.addAction( 'frontend/element_ready/pp-posts.card', PostsHandler );
162
+
163
+ elementorFrontend.hooks.addAction( 'frontend/element_ready/pp-posts.checkerboard', PostsHandler );
164
+
165
+ elementorFrontend.hooks.addAction( 'frontend/element_ready/pp-posts.creative', PostsHandler );
166
+
167
+ elementorFrontend.hooks.addAction( 'frontend/element_ready/pp-posts.event', PostsHandler );
168
+
169
+ elementorFrontend.hooks.addAction( 'frontend/element_ready/pp-posts.news', PostsHandler );
170
+
171
+ elementorFrontend.hooks.addAction( 'frontend/element_ready/pp-posts.portfolio', PostsHandler );
172
+
173
+ elementorFrontend.hooks.addAction( 'frontend/element_ready/pp-posts.overlap', PostsHandler );
174
+
175
+ elementorFrontend.hooks.addAction( 'frontend/element_ready/pp-posts.template', PostsHandler );
176
+
177
+ });
178
+
179
+ } )( jQuery );
assets/scss/_media-queries.scss CHANGED
@@ -2,6 +2,7 @@
2
  @include grid--desktop();
3
  }
4
  @media (max-width: 1024px) {
 
5
  @include info-box--tablet();
6
  @include info-list--tablet();
7
  }
@@ -9,6 +10,7 @@
9
  @include grid--tablet();
10
  }
11
  @media only screen and (max-width: 767px) {
 
12
  @include info-box--mobile();
13
  @include info-list--mobile();
14
  @include grid--mobile();
2
  @include grid--desktop();
3
  }
4
  @media (max-width: 1024px) {
5
+ @include image-accordion--tablet();
6
  @include info-box--tablet();
7
  @include info-list--tablet();
8
  }
10
  @include grid--tablet();
11
  }
12
  @media only screen and (max-width: 767px) {
13
+ @include image-accordion--mobile();
14
  @include info-box--mobile();
15
  @include info-list--mobile();
16
  @include grid--mobile();
assets/scss/widgets/_widgets.scss CHANGED
@@ -106,6 +106,10 @@
106
  //--------------------------------------------//
107
  @import "swiper-slider/swiper-slider";
108
 
 
 
 
 
109
  // Info Table
110
  //--------------------------------------------//
111
  @import "info-table/info-table";
@@ -144,4 +148,8 @@
144
 
145
  // Fluent Forms
146
  //--------------------------------------------//
147
- @import "fluent-forms/fluent-forms";
 
 
 
 
106
  //--------------------------------------------//
107
  @import "swiper-slider/swiper-slider";
108
 
109
+ // Slick Slider
110
+ //--------------------------------------------//
111
+ @import "slick-slider/slick-slider";
112
+
113
  // Info Table
114
  //--------------------------------------------//
115
  @import "info-table/info-table";
148
 
149
  // Fluent Forms
150
  //--------------------------------------------//
151
+ @import "fluent-forms/fluent-forms";
152
+
153
+ // Posts
154
+ //--------------------------------------------//
155
+ @import "posts/posts";
assets/scss/widgets/posts/_posts.scss ADDED
@@ -0,0 +1,214 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .pp-post {
2
+ overflow: hidden;
3
+ .pp-post-title {
4
+ font-size: 26px;
5
+ a {
6
+ color: inherit;
7
+ font-family: inherit;
8
+ font-size: inherit;
9
+ font-style: inherit;
10
+ font-weight: inherit;
11
+ line-height: inherit;
12
+ }
13
+ }
14
+ }
15
+ .pp-post-thumbnail {
16
+ overflow: hidden;
17
+ img {
18
+ width: 100%;
19
+ -webkit-transition: all .25s linear;
20
+ transition: all .25s linear;
21
+ }
22
+ }
23
+ .pp-posts-thumbnail-ratio {
24
+ .pp-post-thumbnail-wrap {
25
+ position: relative;
26
+ img {
27
+ position: absolute;
28
+ object-fit: cover;
29
+ top: 0;
30
+ right: 0;
31
+ bottom: 0;
32
+ left: 0;
33
+ height: 100%;
34
+ }
35
+ }
36
+ }
37
+ .pp-post-separator-wrap {
38
+ margin-bottom: 15px;
39
+ }
40
+ .pp-post-separator {
41
+ background: #e6e6e6;
42
+ height: 1px;
43
+ width: 100%;
44
+ }
45
+ .pp-post-terms {
46
+ @include transition($target: all, $time: 0.25s, $timing-function: linear);
47
+ display: inline-block;
48
+ a {
49
+ color: inherit;
50
+ }
51
+ }
52
+ .pp-equal-height-yes {
53
+ .pp-post {
54
+ height: 100%;
55
+ }
56
+ }
57
+ .pp-posts-pagination {
58
+ a,
59
+ .page-numbers {
60
+ display: inline-block;
61
+ }
62
+ }
63
+ .pp-posts-infinite-scroll {
64
+ .pp-posts-pagination-wrap {
65
+ display: none;
66
+ }
67
+ }
68
+ .pp-search-form-container {
69
+ display: flex;
70
+ justify-content: flex-start;
71
+ }
72
+ .pp-search-form {
73
+ display: -webkit-box;
74
+ display: -ms-flexbox;
75
+ display: flex;
76
+ -webkit-transition: .2s;
77
+ -o-transition: .2s;
78
+ transition: .2s;
79
+ overflow: hidden;
80
+ border: 0 solid transparent;
81
+ margin-bottom: 20px;
82
+ min-height: 50px;
83
+ max-width: 400px;
84
+ width: 100%;
85
+ button,
86
+ input[type=search] {
87
+ margin: 0;
88
+ border: 0;
89
+ padding: 0;
90
+ display: inline-block;
91
+ vertical-align: middle;
92
+ white-space: normal;
93
+ background: none;
94
+ line-height: 1;
95
+ min-width: 0;
96
+ font-size: 15px;
97
+ -webkit-appearance: none;
98
+ -moz-appearance: none;
99
+ &:focus {
100
+ outline: 0;
101
+ }
102
+ }
103
+ input[type=search] {
104
+ background: #eceeef;
105
+ height: 100%;
106
+ padding-left: 15px;
107
+ padding-right: 15px;
108
+ -ms-flex-preferred-size: 100%;
109
+ flex-basis: 100%;
110
+ color: #55595c;
111
+ -webkit-transition: color .2s;
112
+ -o-transition: color .2s;
113
+ transition: color .2s;
114
+ }
115
+ button {
116
+ background-color: #818a91;
117
+ font-size: 16px;
118
+ color: #fff;
119
+ border-radius: 0;
120
+ min-width: 50px;
121
+ }
122
+ .pp-search-form-input {
123
+ &::-webkit-input-placeholder {
124
+ color: inherit;
125
+ font-family: inherit;
126
+ opacity: 0.6;
127
+ }
128
+ &:-ms-input-placeholder {
129
+ color: inherit;
130
+ font-family: inherit;
131
+ opacity: 0.6;
132
+ }
133
+ &::-moz-placeholder {
134
+ color: inherit;
135
+ font-family: inherit;
136
+ opacity: 0.6;
137
+ }
138
+ &:-moz-placeholder {
139
+ color: inherit;
140
+ font-family: inherit;
141
+ opacity: 0.6;
142
+ }
143
+ &::-ms-input-placeholder {
144
+ color: inherit;
145
+ font-family: inherit;
146
+ opacity: 0.6;
147
+ }
148
+ &::placeholder {
149
+ color: inherit;
150
+ font-family: inherit;
151
+ opacity: 0.6;
152
+ }
153
+ }
154
+ }
155
+ .pp-search-form-text {
156
+ .pp-search-form-submit {
157
+ -ms-flex-negative: 0;
158
+ flex-shrink: 0;
159
+ }
160
+ }
161
+ .pp-loader,
162
+ .pp-posts-loader {
163
+ width: 46px;
164
+ height: 46px;
165
+ }
166
+ .pp-loader {
167
+ text-align: center;
168
+ position: absolute;
169
+ top: 50%;
170
+ left: 50%;
171
+ -webkit-transform: translateX(-50%) translateY(-50%);
172
+ -ms-transform: translateX(-50%) translateY(-50%);
173
+ transform: translateX(-50%) translateY(-50%);
174
+ z-index: 2;
175
+ }
176
+ .pp-posts-loader {
177
+ display: none;
178
+ margin-left: auto;
179
+ margin-right: auto;
180
+ }
181
+ .pp-loader:after,
182
+ .pp-posts-loader:after {
183
+ content: " ";
184
+ display: block;
185
+ width: 100%;
186
+ height: 100%;
187
+ margin: 1px;
188
+ border-radius: 50%;
189
+ border: 5px solid #fff;
190
+ border-color: #000 transparent #000 transparent;
191
+ animation: pp-loader-dual-ring 1.2s linear infinite;
192
+ }
193
+ .pp-loader:after {
194
+ width: 46px;
195
+ height: 46px;
196
+ }
197
+ @keyframes pp-loader-dual-ring {
198
+ 0% {
199
+ transform: rotate(0deg);
200
+ }
201
+ 100% {
202
+ transform: rotate(360deg);
203
+ }
204
+ }
205
+ .pp-loader-overlay {
206
+ background: rgba(255,255,255,.5);
207
+ content: '';
208
+ position: absolute;
209
+ top: 0;
210
+ left: 0;
211
+ z-index: 1;
212
+ height: 100%;
213
+ width: 100%;
214
+ }
assets/scss/widgets/slick-slider/_slick-slider.scss ADDED
@@ -0,0 +1,91 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .pp-slider-arrow {
2
+ align-items: center;
3
+ justify-content: center;
4
+ background-color: #fff;
5
+ border-radius: 50%;
6
+ color: #000;
7
+ cursor: pointer;
8
+ display: inline-flex;
9
+ font-size: 22px;
10
+ line-height: 22px;
11
+ padding: 20px;
12
+ position: absolute;
13
+ top: 50%;
14
+ width: 22px;
15
+ height: 22px;
16
+ transform: translateY(-50%);
17
+ z-index: 1;
18
+ @include transition($target: all, $time: 0.25s, $timing-function: linear);
19
+ }
20
+ .pp-arrow-next {
21
+ right: 20px;
22
+ }
23
+ .pp-arrow-prev {
24
+ left: 20px;
25
+ }
26
+ [dir="rtl"] .pp-slick-slider .pp-arrow-next {
27
+ left: 20px;
28
+ right: auto;
29
+ }
30
+ [dir="rtl"] .pp-slick-slider .pp-arrow-prev {
31
+ left: auto;
32
+ right: 20px;
33
+ }
34
+ .pp-slick-slider {
35
+ &:not(.slick-initialized) > * {
36
+ display: none;
37
+ }
38
+ .slick-slide {
39
+ &:focus {
40
+ outline: 0;
41
+ }
42
+ }
43
+ .slick-dots {
44
+ list-style: none;
45
+ margin: 0;
46
+ padding: 0;
47
+ position: relative;
48
+ text-align: center;
49
+ width: 100%;
50
+ }
51
+ li {
52
+ background: #ccc;
53
+ border-radius: 50%;
54
+ cursor: pointer;
55
+ position: relative;
56
+ display: inline-block;
57
+ margin: 0 4px;
58
+ padding: 0;
59
+ vertical-align: middle;
60
+ -webkit-transition: 0.3s;
61
+ -o-transition: 0.3s;
62
+ transition: 0.3s;
63
+ &.slick-active {
64
+ background: #000;
65
+ }
66
+ button {
67
+ background: transparent;
68
+ border: 0;
69
+ box-shadow: none;
70
+ color: transparent;
71
+ display: block;
72
+ font-size: 0;
73
+ line-height: 0;
74
+ width: 10px;
75
+ height: 10px;
76
+ padding: 0;
77
+ outline: none;
78
+ -webkit-transition: 0.3s;
79
+ -o-transition: 0.3s;
80
+ transition: 0.3s;
81
+ }
82
+ }
83
+ }
84
+ .pp-slick-slider-dots-inside {
85
+ .slick-dots {
86
+ position: absolute;
87
+ bottom: 15px;
88
+ left: 0;
89
+ right: 0;
90
+ }
91
+ }
base/powerpack-widget.php CHANGED
@@ -29,7 +29,7 @@ abstract class Powerpack_Widget extends Widget_Base {
29
  * Get widget name
30
  *
31
  * @param string $slug Module class.
32
- * @since x.x.x
33
  */
34
  public function get_widget_name( $slug = '' ) {
35
  return PP_Helper::get_widget_name( $slug );
@@ -39,7 +39,7 @@ abstract class Powerpack_Widget extends Widget_Base {
39
  * Get widget title
40
  *
41
  * @param string $slug Module class.
42
- * @since x.x.x
43
  */
44
  public function get_widget_title( $slug = '' ) {
45
  return PP_Helper::get_widget_title( $slug );
@@ -49,7 +49,7 @@ abstract class Powerpack_Widget extends Widget_Base {
49
  * Get widget title
50
  *
51
  * @param string $slug Module class.
52
- * @since x.x.x
53
  */
54
  public function get_widget_categories( $slug = '' ) {
55
  return PP_Helper::get_widget_categories( $slug );
@@ -59,7 +59,7 @@ abstract class Powerpack_Widget extends Widget_Base {
59
  * Get widget title
60
  *
61
  * @param string $slug Module class.
62
- * @since x.x.x
63
  */
64
  public function get_widget_icon( $slug = '' ) {
65
  return PP_Helper::get_widget_icon( $slug );
@@ -69,7 +69,7 @@ abstract class Powerpack_Widget extends Widget_Base {
69
  * Get widget title
70
  *
71
  * @param string $slug Module class.
72
- * @since x.x.x
73
  */
74
  public function get_widget_keywords( $slug = '' ) {
75
  return PP_Helper::get_widget_keywords( $slug );
29
  * Get widget name
30
  *
31
  * @param string $slug Module class.
32
+ * @since 2.1.0
33
  */
34
  public function get_widget_name( $slug = '' ) {
35
  return PP_Helper::get_widget_name( $slug );
39
  * Get widget title
40
  *
41
  * @param string $slug Module class.
42
+ * @since 2.1.0
43
  */
44
  public function get_widget_title( $slug = '' ) {
45
  return PP_Helper::get_widget_title( $slug );
49
  * Get widget title
50
  *
51
  * @param string $slug Module class.
52
+ * @since 2.1.0
53
  */
54
  public function get_widget_categories( $slug = '' ) {
55
  return PP_Helper::get_widget_categories( $slug );
59
  * Get widget title
60
  *
61
  * @param string $slug Module class.
62
+ * @since 2.1.0
63
  */
64
  public function get_widget_icon( $slug = '' ) {
65
  return PP_Helper::get_widget_icon( $slug );
69
  * Get widget title
70
  *
71
  * @param string $slug Module class.
72
+ * @since 2.1.0
73
  */
74
  public function get_widget_keywords( $slug = '' ) {
75
  return PP_Helper::get_widget_keywords( $slug );
changelog.txt CHANGED
@@ -1,3 +1,8 @@
 
 
 
 
 
1
  == 2.0.0 ==
2
  Release date: July 29, 2020
3
  * New: Template Library
1
+ == 2.1.0 ==
2
+ Release date: August 11, 2020
3
+ * New: Posts widget
4
+ * Fixed: Image Accordion - Stack On option was not working
5
+
6
  == 2.0.0 ==
7
  Release date: July 29, 2020
8
  * New: Template Library
classes/class-pp-config.php CHANGED
@@ -34,7 +34,7 @@ class PP_Config {
34
  /**
35
  * Get Widget List.
36
  *
37
- * @since x.x.x
38
  *
39
  * @return array The Widget List.
40
  */
@@ -230,6 +230,13 @@ class PP_Config {
230
  'keywords' => array( 'powerpack', 'contact', 'form' ),
231
  'icon' => 'ppicon-contact-form power-pack-admin-icon',
232
  ),
 
 
 
 
 
 
 
233
  'Price_Menu' => array(
234
  'name' => 'pp-price-menu',
235
  'title' => __( 'Price Menu', 'powerpack' ),
@@ -449,13 +456,6 @@ class PP_Config {
449
  'keywords' => array( 'powerpack', 'modal', 'popup' ),
450
  'icon' => 'ppicon-popup-box power-pack-admin-icon',
451
  ),
452
- 'Posts' => array(
453
- 'name' => 'pp-posts',
454
- 'title' => __( 'Posts', 'powerpack' ),
455
- 'categories' => '["powerpack-elements"]',
456
- 'keywords' => array( 'powerpack' ),
457
- 'icon' => 'ppicon-posts-grid power-pack-admin-icon',
458
- ),
459
  'Recipe' => array(
460
  'name' => 'pp-recipe',
461
  'title' => __( 'Recipe', 'powerpack' ),
@@ -665,6 +665,12 @@ class PP_Config {
665
  'Onepage_Nav' => array(
666
  __( 'Watch Video Overview', 'powerpack' ) => 'https://www.youtube.com/watch?v=onZ0mnkRJiY&list=PLpsSO_wNe8Dz4vfe2tWlySBCCFEgh1qZj',
667
  ),
 
 
 
 
 
 
668
  // Price Menu.
669
  'Price_Menu' => array(
670
  __( 'Widget Overview', 'powerpack' ) => 'https://powerpackelements.com/docs/powerpack/widgets/price-menu/price-menu-widget-overview/' . $utm_suffix,
34
  /**
35
  * Get Widget List.
36
  *
37
+ * @since 2.1.0
38
  *
39
  * @return array The Widget List.
40
  */
230
  'keywords' => array( 'powerpack', 'contact', 'form' ),
231
  'icon' => 'ppicon-contact-form power-pack-admin-icon',
232
  ),
233
+ 'Posts' => array(
234
+ 'name' => 'pp-posts',
235
+ 'title' => __( 'Posts', 'powerpack' ),
236
+ 'categories' => '["powerpack-elements"]',
237
+ 'keywords' => array( 'powerpack' ),
238
+ 'icon' => 'ppicon-posts-grid power-pack-admin-icon',
239
+ ),
240
  'Price_Menu' => array(
241
  'name' => 'pp-price-menu',
242
  'title' => __( 'Price Menu', 'powerpack' ),
456
  'keywords' => array( 'powerpack', 'modal', 'popup' ),
457
  'icon' => 'ppicon-popup-box power-pack-admin-icon',
458
  ),
 
 
 
 
 
 
 
459
  'Recipe' => array(
460
  'name' => 'pp-recipe',
461
  'title' => __( 'Recipe', 'powerpack' ),
665
  'Onepage_Nav' => array(
666
  __( 'Watch Video Overview', 'powerpack' ) => 'https://www.youtube.com/watch?v=onZ0mnkRJiY&list=PLpsSO_wNe8Dz4vfe2tWlySBCCFEgh1qZj',
667
  ),
668
+ // Posts.
669
+ 'Posts' => array(
670
+ __( 'Watch Video Overview', 'powerpack' ) => 'https://www.youtube.com/watch?v=9-SF5w93Yr8&list=PLpsSO_wNe8Dz4vfe2tWlySBCCFEgh1qZj&index=14',
671
+ __( 'Action Hooks for Post Widget', 'powerpack' ) => 'https://powerpackelements.com/docs/powerpack/widgets/posts/actions-hooks-for-post-widget/' . $utm_suffix,
672
+ __( 'How to Customize Query in Post Widget?', 'powerpack' ) => 'https://powerpackelements.com/docs/powerpack/widgets/posts/how-to-customize-query-in-post-widget/' . $utm_suffix,
673
+ ),
674
  // Price Menu.
675
  'Price_Menu' => array(
676
  __( 'Widget Overview', 'powerpack' ) => 'https://powerpackelements.com/docs/powerpack/widgets/price-menu/price-menu-widget-overview/' . $utm_suffix,
classes/class-pp-helper.php CHANGED
@@ -137,7 +137,7 @@ class PP_Helper {
137
  /**
138
  * Get widget styles.
139
  *
140
- * @since x.x.x
141
  * @return array
142
  */
143
  public static function get_widget_style() {
@@ -160,7 +160,7 @@ class PP_Helper {
160
  /**
161
  * Check if script debug is enabled.
162
  *
163
- * @since x.x.x
164
  *
165
  * @return string The CSS suffix.
166
  */
@@ -290,7 +290,7 @@ class PP_Helper {
290
  /**
291
  * Returns user agent.
292
  *
293
- * @since x.x.x
294
  * @return string
295
  */
296
  public static function get_user_agent() {
@@ -314,7 +314,7 @@ class PP_Helper {
314
  /**
315
  * Get Client IP address
316
  *
317
- * @since x.x.x
318
  * @return string
319
  */
320
  public static function get_client_ip() {
137
  /**
138
  * Get widget styles.
139
  *
140
+ * @since 2.1.0
141
  * @return array
142
  */
143
  public static function get_widget_style() {
160
  /**
161
  * Check if script debug is enabled.
162
  *
163
+ * @since 2.1.0
164
  *
165
  * @return string The CSS suffix.
166
  */
290
  /**
291
  * Returns user agent.
292
  *
293
+ * @since 2.1.0
294
  * @return string
295
  */
296
  public static function get_user_agent() {
314
  /**
315
  * Get Client IP address
316
  *
317
+ * @since 2.1.0
318
  * @return string
319
  */
320
  public static function get_client_ip() {
classes/class-pp-posts-helper.php CHANGED
@@ -11,43 +11,52 @@ if ( ! defined( 'ABSPATH' ) ) {
11
  * Class PP_Posts_Helper.
12
  */
13
  class PP_Posts_Helper {
14
-
 
 
 
 
 
15
  /**
16
  * Get Post Categories.
17
  *
18
  * @since 1.4.2
19
  * @access public
20
  */
21
- public static function get_post_categories() {
22
-
23
- $options = array();
24
-
25
- $terms = get_terms( array(
26
- 'taxonomy' => 'category',
27
- 'hide_empty' => true,
28
- ));
29
-
30
- if ( ! empty( $terms ) && ! is_wp_error( $terms ) ) {
31
- foreach ( $terms as $term ) {
32
- $options[ $term->term_id ] = $term->name;
33
- }
34
- }
35
-
36
- return $options;
37
- }
38
-
 
 
39
  /**
40
  * Get Post Types.
41
  *
42
  * @since 1.4.2
43
  * @access public
44
  */
45
- public static function get_post_types() {
 
 
 
46
 
47
- $post_types = get_post_types(
48
  array(
49
- 'public' => true,
50
- 'show_in_nav_menus' => true
51
  ),
52
  'objects'
53
  );
@@ -58,35 +67,39 @@ class PP_Posts_Helper {
58
  $options[ $post_type->name ] = $post_type->label;
59
  }
60
 
 
 
61
  return $options;
62
- }
63
-
64
  /**
65
  * Get All Posts.
66
  *
67
  * @since 1.4.2
68
  * @access public
69
  */
70
- public static function get_all_posts() {
71
-
72
- $post_list = get_posts( array(
73
- 'post_type' => 'post',
74
- 'orderby' => 'date',
75
- 'order' => 'DESC',
76
- 'posts_per_page' => -1,
77
- ) );
78
-
79
- $posts = array();
80
-
81
- if ( ! empty( $post_list ) && ! is_wp_error( $post_list ) ) {
82
- foreach ( $post_list as $post ) {
83
- $posts[ $post->ID ] = $post->post_title;
84
- }
85
- }
86
-
87
- return $posts;
88
- }
89
-
 
 
90
  /**
91
  * Get All Posts by Post Type.
92
  *
@@ -94,26 +107,28 @@ class PP_Posts_Helper {
94
  * @param string $post_type Post type.
95
  * @access public
96
  */
97
- public static function get_all_posts_by_type( $post_type ) {
98
-
99
- $post_list = get_posts( array(
100
- 'post_type' => $post_type,
101
- 'orderby' => 'date',
102
- 'order' => 'DESC',
103
- 'posts_per_page' => -1,
104
- ) );
105
-
106
- $posts = array();
107
-
108
- if ( ! empty( $post_list ) && ! is_wp_error( $post_list ) ) {
109
- foreach ( $post_list as $post ) {
110
- $posts[ $post->ID ] = $post->post_title;
111
- }
112
- }
113
-
114
- return $posts;
115
- }
116
-
 
 
117
  /**
118
  * Get Post Taxonomies.
119
  *
@@ -122,23 +137,51 @@ class PP_Posts_Helper {
122
  * @access public
123
  */
124
  public static function get_post_taxonomies( $post_type ) {
125
-
126
- $taxonomies = get_object_taxonomies( $post_type, 'objects' );
127
  $data = array();
 
128
 
129
- foreach ( $taxonomies as $tax_slug => $tax ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
130
 
131
- if ( ! $tax->public || ! $tax->show_ui ) {
132
- continue;
133
  }
134
 
135
- $data[ $tax_slug ] = $tax;
136
  }
137
 
138
  return apply_filters( 'pp_post_loop_taxonomies', $data, $taxonomies, $post_type );
139
  }
140
-
141
- /**
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
142
  * Get list of users.
143
  *
144
  * @uses get_users()
@@ -148,21 +191,21 @@ class PP_Posts_Helper {
148
  */
149
  public static function get_users() {
150
 
151
- $users = get_users();
152
- $user_list = array();
153
-
154
  if ( empty( $users ) ) {
155
  return $user_list;
156
  }
157
 
158
- foreach ( $users as $user ) {
159
- $user_list[ $user->ID ] = $user->display_name;
160
- }
161
 
162
- return $user_list;
163
- }
164
-
165
- /**
166
  * Get Post Tags.
167
  *
168
  * @since 1.4.2
@@ -170,17 +213,17 @@ class PP_Posts_Helper {
170
  */
171
  public static function get_post_tags() {
172
 
173
- $options = array();
 
 
174
 
175
- $tags = get_tags();
 
 
176
 
177
- foreach ( $tags as $tag ) {
178
- $options[ $tag->term_id ] = $tag->name;
179
- }
180
 
181
- return $options;
182
- }
183
-
184
  /**
185
  * Get custom excerpt.
186
  *
@@ -189,20 +232,20 @@ class PP_Posts_Helper {
189
  * @access public
190
  */
191
  public static function custom_excerpt( $limit = '' ) {
192
-
193
- $excerpt = explode(' ', get_the_excerpt(), $limit);
194
-
195
- if ( count( $excerpt ) >= $limit ) {
196
- array_pop( $excerpt );
197
- $excerpt = implode( " ", $excerpt ).'...';
198
- } else {
199
- $excerpt = implode( " ", $excerpt );
200
- }
201
-
202
- $excerpt = preg_replace( '`[[^]]*]`', '', $excerpt );
203
-
204
- return $excerpt;
205
- }
206
 
207
  /**
208
  * Get all available taxonomies
@@ -210,15 +253,21 @@ class PP_Posts_Helper {
210
  * @since 1.4.7
211
  */
212
  public static function get_taxonomies_options() {
 
 
 
213
 
214
- $options = [];
215
 
216
- $taxonomies = get_taxonomies( array(
217
- 'show_in_nav_menus' => true
218
- ), 'objects' );
 
 
 
219
 
220
  if ( empty( $taxonomies ) ) {
221
- $options[ '' ] = __( 'No taxonomies found', 'powerpack' );
222
  return $options;
223
  }
224
 
@@ -226,7 +275,8 @@ class PP_Posts_Helper {
226
  $options[ $taxonomy->name ] = $taxonomy->label;
227
  }
228
 
 
 
229
  return $options;
230
  }
231
-
232
- }
11
  * Class PP_Posts_Helper.
12
  */
13
  class PP_Posts_Helper {
14
+
15
+ protected static $post_types = array();
16
+ protected static $post_tax = array();
17
+ protected static $tax_terms = array();
18
+ protected static $taxonomies = array();
19
+
20
  /**
21
  * Get Post Categories.
22
  *
23
  * @since 1.4.2
24
  * @access public
25
  */
26
+ public static function get_post_categories() {
27
+
28
+ $options = array();
29
+
30
+ $terms = get_terms(
31
+ array(
32
+ 'taxonomy' => 'category',
33
+ 'hide_empty' => true,
34
+ )
35
+ );
36
+
37
+ if ( ! empty( $terms ) && ! is_wp_error( $terms ) ) {
38
+ foreach ( $terms as $term ) {
39
+ $options[ $term->term_id ] = $term->name;
40
+ }
41
+ }
42
+
43
+ return $options;
44
+ }
45
+
46
  /**
47
  * Get Post Types.
48
  *
49
  * @since 1.4.2
50
  * @access public
51
  */
52
+ public static function get_post_types() {
53
+ if ( ! empty( self::$post_types ) ) {
54
+ return self::$post_types;
55
+ }
56
 
57
+ $post_types = get_post_types(
58
  array(
59
+ 'public' => true,
 
60
  ),
61
  'objects'
62
  );
67
  $options[ $post_type->name ] = $post_type->label;
68
  }
69
 
70
+ self::$post_types = $options;
71
+
72
  return $options;
73
+ }
74
+
75
  /**
76
  * Get All Posts.
77
  *
78
  * @since 1.4.2
79
  * @access public
80
  */
81
+ public static function get_all_posts() {
82
+
83
+ $post_list = get_posts(
84
+ array(
85
+ 'post_type' => 'post',
86
+ 'orderby' => 'date',
87
+ 'order' => 'DESC',
88
+ 'posts_per_page' => -1,
89
+ )
90
+ );
91
+
92
+ $posts = array();
93
+
94
+ if ( ! empty( $post_list ) && ! is_wp_error( $post_list ) ) {
95
+ foreach ( $post_list as $post ) {
96
+ $posts[ $post->ID ] = $post->post_title;
97
+ }
98
+ }
99
+
100
+ return $posts;
101
+ }
102
+
103
  /**
104
  * Get All Posts by Post Type.
105
  *
107
  * @param string $post_type Post type.
108
  * @access public
109
  */
110
+ public static function get_all_posts_by_type( $post_type ) {
111
+
112
+ $post_list = get_posts(
113
+ array(
114
+ 'post_type' => $post_type,
115
+ 'orderby' => 'date',
116
+ 'order' => 'DESC',
117
+ 'posts_per_page' => -1,
118
+ )
119
+ );
120
+
121
+ $posts = array();
122
+
123
+ if ( ! empty( $post_list ) && ! is_wp_error( $post_list ) ) {
124
+ foreach ( $post_list as $post ) {
125
+ $posts[ $post->ID ] = $post->post_title;
126
+ }
127
+ }
128
+
129
+ return $posts;
130
+ }
131
+
132
  /**
133
  * Get Post Taxonomies.
134
  *
137
  * @access public
138
  */
139
  public static function get_post_taxonomies( $post_type ) {
 
 
140
  $data = array();
141
+ $taxonomies = array();
142
 
143
+ if ( ! empty( self::$post_tax ) ) {
144
+ if ( isset( self::$post_tax[ $post_type ] ) ) {
145
+ $data = self::$post_tax[ $post_type ];
146
+ }
147
+ }
148
+
149
+ if ( empty( $data ) ) {
150
+ $taxonomies = get_object_taxonomies( $post_type, 'objects' );
151
+
152
+ foreach ( $taxonomies as $tax_slug => $tax ) {
153
+
154
+ if ( ! $tax->public || ! $tax->show_ui ) {
155
+ continue;
156
+ }
157
 
158
+ $data[ $tax_slug ] = $tax;
 
159
  }
160
 
161
+ self::$post_tax[ $post_type ] = $data;
162
  }
163
 
164
  return apply_filters( 'pp_post_loop_taxonomies', $data, $taxonomies, $post_type );
165
  }
166
+
167
+ public static function get_tax_terms( $taxonomy ) {
168
+ $terms = array();
169
+
170
+ if ( ! empty( self::$tax_terms ) ) {
171
+ if ( isset( self::$tax_terms[ $taxonomy ] ) ) {
172
+ $terms = self::$tax_terms[ $taxonomy ];
173
+ }
174
+ }
175
+
176
+ if ( empty( $terms ) ) {
177
+ $terms = get_terms( $taxonomy );
178
+ self::$tax_terms[ $taxonomy ] = $terms;
179
+ }
180
+
181
+ return $terms;
182
+ }
183
+
184
+ /**
185
  * Get list of users.
186
  *
187
  * @uses get_users()
191
  */
192
  public static function get_users() {
193
 
194
+ $users = get_users();
195
+ $user_list = array();
196
+
197
  if ( empty( $users ) ) {
198
  return $user_list;
199
  }
200
 
201
+ foreach ( $users as $user ) {
202
+ $user_list[ $user->ID ] = $user->display_name;
203
+ }
204
 
205
+ return $user_list;
206
+ }
207
+
208
+ /**
209
  * Get Post Tags.
210
  *
211
  * @since 1.4.2
213
  */
214
  public static function get_post_tags() {
215
 
216
+ $options = array();
217
+
218
+ $tags = get_tags();
219
 
220
+ foreach ( $tags as $tag ) {
221
+ $options[ $tag->term_id ] = $tag->name;
222
+ }
223
 
224
+ return $options;
225
+ }
 
226
 
 
 
 
227
  /**
228
  * Get custom excerpt.
229
  *
232
  * @access public
233
  */
234
  public static function custom_excerpt( $limit = '' ) {
235
+
236
+ $excerpt = explode( ' ', get_the_excerpt(), $limit );
237
+
238
+ if ( count( $excerpt ) >= $limit ) {
239
+ array_pop( $excerpt );
240
+ $excerpt = implode( ' ', $excerpt ) . '...';
241
+ } else {
242
+ $excerpt = implode( ' ', $excerpt );
243
+ }
244
+
245
+ $excerpt = preg_replace( '`[[^]]*]`', '', $excerpt );
246
+
247
+ return $excerpt;
248
+ }
249
 
250
  /**
251
  * Get all available taxonomies
253
  * @since 1.4.7
254
  */
255
  public static function get_taxonomies_options() {
256
+ if ( ! empty( self::$taxonomies ) ) {
257
+ return self::$taxonomies;
258
+ }
259
 
260
+ $options = array();
261
 
262
+ $taxonomies = get_taxonomies(
263
+ array(
264
+ 'show_in_nav_menus' => true,
265
+ ),
266
+ 'objects'
267
+ );
268
 
269
  if ( empty( $taxonomies ) ) {
270
+ $options[''] = __( 'No taxonomies found', 'powerpack' );
271
  return $options;
272
  }
273
 
275
  $options[ $taxonomy->name ] = $taxonomy->label;
276
  }
277
 
278
+ self::$taxonomies = $options;
279
+
280
  return $options;
281
  }
282
+ }
 
includes/helper-functions.php CHANGED
@@ -405,7 +405,8 @@ function pp_elements_lite_get_modules() {
405
  'pp-twitter-grid' => esc_html__('Twitter Grid', 'powerpack'),
406
  'pp-twitter-timeline' => esc_html__('Twitter Timeline', 'powerpack'),
407
  'pp-twitter-tweet' => esc_html__('Twitter Tweet', 'powerpack'),
408
- 'pp-fancy-heading' => __('Fancy Heading', 'powerpack'),
 
409
  );
410
 
411
  // Contact Form 7
405
  'pp-twitter-grid' => esc_html__('Twitter Grid', 'powerpack'),
406
  'pp-twitter-timeline' => esc_html__('Twitter Timeline', 'powerpack'),
407
  'pp-twitter-tweet' => esc_html__('Twitter Tweet', 'powerpack'),
408
+ 'pp-fancy-heading' => esc_html__('Fancy Heading', 'powerpack'),
409
+ 'pp-posts' => esc_html__('Posts', 'powerpack'),
410
  );
411
 
412
  // Contact Form 7
includes/modules-manager.php CHANGED
@@ -38,6 +38,7 @@ class Modules_Manager {
38
  'instafeed',
39
  'link-effects',
40
  'logos',
 
41
  'pricing',
42
  'promo-box',
43
  'scroll-image',
38
  'instafeed',
39
  'link-effects',
40
  'logos',
41
+ 'posts',
42
  'pricing',
43
  'promo-box',
44
  'scroll-image',
modules/flipbox/widgets/flipbox.php CHANGED
@@ -578,7 +578,7 @@ class Flipbox extends Powerpack_Widget {
578
  /**
579
  * Content Tab: Help Docs
580
  *
581
- * @since 2.0.0
582
  * @access protected
583
  */
584
  $this->start_controls_section(
@@ -895,6 +895,9 @@ class Flipbox extends Powerpack_Widget {
895
  'label' => esc_html__( 'Title', 'powerpack' ),
896
  'type' => Controls_Manager::HEADING,
897
  'separator' => 'before',
 
 
 
898
  ]
899
  );
900
 
@@ -907,6 +910,9 @@ class Flipbox extends Powerpack_Widget {
907
  'selectors' => [
908
  '{{WRAPPER}} .pp-flipbox-front .pp-flipbox-heading' => 'color: {{VALUE}};',
909
  ],
 
 
 
910
  ]
911
  );
912
 
@@ -915,6 +921,29 @@ class Flipbox extends Powerpack_Widget {
915
  [
916
  'name' => 'title_typography_front',
917
  'selector' => '{{WRAPPER}} .pp-flipbox-front .pp-flipbox-heading',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
918
  ]
919
  );
920
 
@@ -924,6 +953,9 @@ class Flipbox extends Powerpack_Widget {
924
  'label' => esc_html__( 'Description', 'powerpack' ),
925
  'type' => Controls_Manager::HEADING,
926
  'separator' => 'before',
 
 
 
927
  ]
928
  );
929
 
@@ -936,6 +968,9 @@ class Flipbox extends Powerpack_Widget {
936
  'selectors' => [
937
  '{{WRAPPER}} .pp-flipbox-front .pp-flipbox-content' => 'color: {{VALUE}};',
938
  ],
 
 
 
939
  ]
940
  );
941
 
@@ -944,6 +979,9 @@ class Flipbox extends Powerpack_Widget {
944
  [
945
  'name' => 'description_typography_front',
946
  'selector' => '{{WRAPPER}} .pp-flipbox-front .pp-flipbox-content',
 
 
 
947
  ]
948
  );
949
 
@@ -1211,6 +1249,9 @@ class Flipbox extends Powerpack_Widget {
1211
  'label' => esc_html__( 'Title', 'powerpack' ),
1212
  'type' => Controls_Manager::HEADING,
1213
  'separator' => 'before',
 
 
 
1214
  ]
1215
  );
1216
 
@@ -1223,6 +1264,9 @@ class Flipbox extends Powerpack_Widget {
1223
  'selectors' => [
1224
  '{{WRAPPER}} .pp-flipbox-back .pp-flipbox-heading' => 'color: {{VALUE}};',
1225
  ],
 
 
 
1226
  ]
1227
  );
1228
 
@@ -1231,6 +1275,29 @@ class Flipbox extends Powerpack_Widget {
1231
  [
1232
  'name' => 'title_typography_back',
1233
  'selector' => '{{WRAPPER}} .pp-flipbox-back .pp-flipbox-heading',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1234
  ]
1235
  );
1236
 
@@ -1240,6 +1307,9 @@ class Flipbox extends Powerpack_Widget {
1240
  'label' => esc_html__( 'Description', 'powerpack' ),
1241
  'type' => Controls_Manager::HEADING,
1242
  'separator' => 'before',
 
 
 
1243
  ]
1244
  );
1245
 
@@ -1252,6 +1322,9 @@ class Flipbox extends Powerpack_Widget {
1252
  'selectors' => [
1253
  '{{WRAPPER}} .pp-flipbox-back .pp-flipbox-content' => 'color: {{VALUE}};',
1254
  ],
 
 
 
1255
  ]
1256
  );
1257
 
@@ -1260,6 +1333,9 @@ class Flipbox extends Powerpack_Widget {
1260
  [
1261
  'name' => 'description_typography_back',
1262
  'selector' => '{{WRAPPER}} .pp-flipbox-back .pp-flipbox-content',
 
 
 
1263
  ]
1264
  );
1265
 
@@ -1555,38 +1631,6 @@ class Flipbox extends Powerpack_Widget {
1555
  $this->end_controls_section();
1556
  }
1557
 
1558
- protected function render() {
1559
-
1560
- $settings = $this->get_settings_for_display();
1561
-
1562
- $flipbox_if_html_tag = 'div';
1563
- $this->add_render_attribute( 'flipbox-card', 'class', 'pp-flipbox-flip-card' );
1564
-
1565
- $this->add_render_attribute(
1566
- 'flipbox-container',
1567
- [
1568
- 'class' => [
1569
- 'pp-flipbox-container',
1570
- 'pp-animate-' . esc_attr( $settings['flip_effect'] ),
1571
- 'pp-direction-' . esc_attr( $settings['flip_direction'] ),
1572
- ],
1573
- ]
1574
- );
1575
- ?>
1576
- <div <?php echo $this->get_render_attribute_string( 'flipbox-container' ); ?>>
1577
- <div <?php echo $this->get_render_attribute_string( 'flipbox-card' ); ?>>
1578
- <?php
1579
- // Front
1580
- $this->render_front();
1581
-
1582
- // Back
1583
- $this->render_back();
1584
- ?>
1585
- </div>
1586
- </div>
1587
- <?php
1588
- }
1589
-
1590
  protected function render_front() {
1591
  $settings = $this->get_settings_for_display();
1592
 
@@ -1811,4 +1855,268 @@ class Flipbox extends Powerpack_Widget {
1811
  echo '</span>';
1812
  }
1813
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1814
  }
578
  /**
579
  * Content Tab: Help Docs
580
  *
581
+ * @since 1.4.8
582
  * @access protected
583
  */
584
  $this->start_controls_section(
895
  'label' => esc_html__( 'Title', 'powerpack' ),
896
  'type' => Controls_Manager::HEADING,
897
  'separator' => 'before',
898
+ 'condition' => [
899
+ 'title_front!' => '',
900
+ ],
901
  ]
902
  );
903
 
910
  'selectors' => [
911
  '{{WRAPPER}} .pp-flipbox-front .pp-flipbox-heading' => 'color: {{VALUE}};',
912
  ],
913
+ 'condition' => [
914
+ 'title_front!' => '',
915
+ ],
916
  ]
917
  );
918
 
921
  [
922
  'name' => 'title_typography_front',
923
  'selector' => '{{WRAPPER}} .pp-flipbox-front .pp-flipbox-heading',
924
+ 'condition' => [
925
+ 'title_front!' => '',
926
+ ],
927
+ ]
928
+ );
929
+
930
+ $this->add_responsive_control(
931
+ 'title_spacing_front',
932
+ [
933
+ 'label' => __( 'Spacing', 'powerpack' ),
934
+ 'type' => Controls_Manager::SLIDER,
935
+ 'range' => [
936
+ 'px' => [
937
+ 'min' => 0,
938
+ 'max' => 100,
939
+ ],
940
+ ],
941
+ 'selectors' => [
942
+ '{{WRAPPER}} .pp-flipbox-front .pp-flipbox-heading' => 'margin-bottom: {{SIZE}}{{UNIT}};',
943
+ ],
944
+ 'condition' => [
945
+ 'title_front!' => '',
946
+ ],
947
  ]
948
  );
949
 
953
  'label' => esc_html__( 'Description', 'powerpack' ),
954
  'type' => Controls_Manager::HEADING,
955
  'separator' => 'before',
956
+ 'condition' => [
957
+ 'description_front!' => '',
958
+ ],
959
  ]
960
  );
961
 
968
  'selectors' => [
969
  '{{WRAPPER}} .pp-flipbox-front .pp-flipbox-content' => 'color: {{VALUE}};',
970
  ],
971
+ 'condition' => [
972
+ 'description_front!' => '',
973
+ ],
974
  ]
975
  );
976
 
979
  [
980
  'name' => 'description_typography_front',
981
  'selector' => '{{WRAPPER}} .pp-flipbox-front .pp-flipbox-content',
982
+ 'condition' => [
983
+ 'description_front!' => '',
984
+ ],
985
  ]
986
  );
987
 
1249
  'label' => esc_html__( 'Title', 'powerpack' ),
1250
  'type' => Controls_Manager::HEADING,
1251
  'separator' => 'before',
1252
+ 'condition' => [
1253
+ 'title_back!' => '',
1254
+ ],
1255
  ]
1256
  );
1257
 
1264
  'selectors' => [
1265
  '{{WRAPPER}} .pp-flipbox-back .pp-flipbox-heading' => 'color: {{VALUE}};',
1266
  ],
1267
+ 'condition' => [
1268
+ 'title_back!' => '',
1269
+ ],
1270
  ]
1271
  );
1272
 
1275
  [
1276
  'name' => 'title_typography_back',
1277
  'selector' => '{{WRAPPER}} .pp-flipbox-back .pp-flipbox-heading',
1278
+ 'condition' => [
1279
+ 'title_back!' => '',
1280
+ ],
1281
+ ]
1282
+ );
1283
+
1284
+ $this->add_responsive_control(
1285
+ 'title_spacing_back',
1286
+ [
1287
+ 'label' => __( 'Spacing', 'powerpack' ),
1288
+ 'type' => Controls_Manager::SLIDER,
1289
+ 'range' => [
1290
+ 'px' => [
1291
+ 'min' => 0,
1292
+ 'max' => 100,
1293
+ ],
1294
+ ],
1295
+ 'selectors' => [
1296
+ '{{WRAPPER}} .pp-flipbox-back .pp-flipbox-heading' => 'margin-bottom: {{SIZE}}{{UNIT}};',
1297
+ ],
1298
+ 'condition' => [
1299
+ 'title_back!' => '',
1300
+ ],
1301
  ]
1302
  );
1303
 
1307
  'label' => esc_html__( 'Description', 'powerpack' ),
1308
  'type' => Controls_Manager::HEADING,
1309
  'separator' => 'before',
1310
+ 'condition' => [
1311
+ 'description_back!' => '',
1312
+ ],
1313
  ]
1314
  );
1315
 
1322
  'selectors' => [
1323
  '{{WRAPPER}} .pp-flipbox-back .pp-flipbox-content' => 'color: {{VALUE}};',
1324
  ],
1325
+ 'condition' => [
1326
+ 'description_back!' => '',
1327
+ ],
1328
  ]
1329
  );
1330
 
1333
  [
1334
  'name' => 'description_typography_back',
1335
  'selector' => '{{WRAPPER}} .pp-flipbox-back .pp-flipbox-content',
1336
+ 'condition' => [
1337
+ 'description_back!' => '',
1338
+ ],
1339
  ]
1340
  );
1341
 
1631
  $this->end_controls_section();
1632
  }
1633
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1634
  protected function render_front() {
1635
  $settings = $this->get_settings_for_display();
1636
 
1855
  echo '</span>';
1856
  }
1857
  }
1858
+
1859
+ /**
1860
+ * Render flipbox widget output on the frontend.
1861
+ *
1862
+ * Written in PHP and used to generate the final HTML.
1863
+ *
1864
+ * @access protected
1865
+ */
1866
+ protected function render() {
1867
+ $settings = $this->get_settings_for_display();
1868
+ $flipbox_if_html_tag = 'div';
1869
+
1870
+ $this->add_render_attribute(
1871
+ [
1872
+ 'flipbox-card' => [
1873
+ 'class' => [
1874
+ 'pp-flipbox-flip-card',
1875
+ ],
1876
+ ],
1877
+ 'flipbox-container' => [
1878
+ 'class' => [
1879
+ 'pp-flipbox-container',
1880
+ 'pp-animate-' . esc_attr( $settings['flip_effect'] ),
1881
+ 'pp-direction-' . esc_attr( $settings['flip_direction'] ),
1882
+ ],
1883
+ ],
1884
+ ]
1885
+ );
1886
+ ?>
1887
+ <div <?php echo $this->get_render_attribute_string( 'flipbox-container' ); ?>>
1888
+ <div <?php echo $this->get_render_attribute_string( 'flipbox-card' ); ?>>
1889
+ <?php
1890
+ // Front
1891
+ $this->render_front();
1892
+
1893
+ // Back
1894
+ $this->render_back();
1895
+ ?>
1896
+ </div>
1897
+ </div>
1898
+ <?php
1899
+ }
1900
+
1901
+ /**
1902
+ * Render flipbox widget output in the editor.
1903
+ *
1904
+ * Written as a Backbone JavaScript template and used to generate the live preview.
1905
+ *
1906
+ * @access protected
1907
+ */
1908
+ protected function _content_template() {
1909
+ ?>
1910
+ <#
1911
+ view.addRenderAttribute( 'flipbox-card', {
1912
+ 'class': [
1913
+ 'pp-flipbox-flip-card'
1914
+ ],
1915
+ } );
1916
+
1917
+ view.addRenderAttribute( 'flipbox-container', {
1918
+ 'class': [
1919
+ 'pp-flipbox-container',
1920
+ 'pp-animate-' + settings.flip_effect,
1921
+ 'pp-direction-' + settings.flip_direction
1922
+ ],
1923
+ } );
1924
+
1925
+ function render_button_icon() {
1926
+ var buttonIconHTML = elementor.helpers.renderIcon( view, settings.select_button_icon, { 'aria-hidden': true }, 'i' , 'object' ),
1927
+ buttonMigrated = elementor.helpers.isIconMigrated( settings, 'select_button_icon' );
1928
+
1929
+ if ( settings.button_icon || settings.select_button_icon ) { #>
1930
+ <span class="pp-button-icon">
1931
+ <#
1932
+ if ( buttonIconHTML && buttonIconHTML.rendered && ( ! settings.button_icon || buttonMigrated ) ) { #>
1933
+ {{{ buttonIconHTML.value }}}
1934
+ <# } else if ( settings.button_icon ) { #>
1935
+ <i class="{{ settings.button_icon }}" aria-hidden="true"></i>
1936
+ <# } #>
1937
+ </span>
1938
+ <#
1939
+ }
1940
+ }
1941
+
1942
+ function render_front() {
1943
+ view.addRenderAttribute( 'icon-front', 'class', 'pp-flipbox-icon-image' );
1944
+
1945
+ var iconHTML = elementor.helpers.renderIcon( view, settings.select_icon, { 'aria-hidden': true }, 'i' , 'object' ),
1946
+ migrated = elementor.helpers.isIconMigrated( settings, 'select_icon' );
1947
+
1948
+ if ( 'icon' === settings.icon_type ) {
1949
+ view.addRenderAttribute( 'icon-front', 'class', 'pp-icon' );
1950
+ }
1951
+ #>
1952
+ <div class="pp-flipbox-front">
1953
+ <div class="pp-flipbox-overlay">
1954
+ <div class="pp-flipbox-inner">
1955
+ <div {{{ view.getRenderAttributeString( 'icon-front' ) }}}>
1956
+ <#
1957
+ if ( 'icon' === settings.icon_type ) {
1958
+ if ( settings.icon || settings.select_icon ) {
1959
+ if ( iconHTML && iconHTML.rendered && ( ! settings.icon || migrated ) ) { #>
1960
+ {{{ iconHTML.value }}}
1961
+ <# } else { #>
1962
+ <i class="{{ settings.icon }}" aria-hidden="true"></i>
1963
+ <# }
1964
+ }
1965
+ } else if ( 'image' === settings.icon_type ) {
1966
+ var flipbox_image = {
1967
+ id: settings.icon_image.id,
1968
+ url: settings.icon_image.url,
1969
+ size: settings.thumbnail_size,
1970
+ dimension: settings.thumbnail_custom_dimension,
1971
+ model: view.getEditModel()
1972
+ };
1973
+ var flipbox_image_url = elementor.imagesManager.getImageUrl( flipbox_image );
1974
+
1975
+ if ( flipbox_image_url ) { #>
1976
+ <img src="{{{ flipbox_image_url }}}" />
1977
+ <# }
1978
+ } else if ( 'text' === settings.icon_type ) { #>
1979
+ <span class="pp-icon-text">
1980
+ {{{ settings.icon_text }}}
1981
+ </span>
1982
+ <# } #>
1983
+ </div>
1984
+
1985
+ <{{ settings.title_html_tag_front }} class="pp-flipbox-heading">
1986
+ {{{ settings.title_front }}}
1987
+ </{{ settings.title_html_tag_front }}>
1988
+
1989
+ <div class="pp-flipbox-content">
1990
+ {{{ settings.description_front }}}
1991
+ </div>
1992
+ </div>
1993
+ </div>
1994
+ </div>
1995
+ <#
1996
+ }
1997
+
1998
+ function render_back() {
1999
+ var pp_title_html_tag = settings.title_html_tag_back;
2000
+
2001
+ view.addRenderAttribute( 'title-container', 'class', 'pp-flipbox-heading' );
2002
+
2003
+ view.addRenderAttribute( 'icon-back', 'class', 'pp-flipbox-icon-image' );
2004
+
2005
+ var iconHTML = elementor.helpers.renderIcon( view, settings.select_icon_back, { 'aria-hidden': true }, 'i' , 'object' ),
2006
+ migrated = elementor.helpers.isIconMigrated( settings, 'select_icon_back' );
2007
+
2008
+ if ( 'icon' === settings.icon_type_back ) {
2009
+ view.addRenderAttribute( 'icon-back', 'class', 'pp-icon' );
2010
+ }
2011
+
2012
+ if ( 'none' !== settings.link_type ) {
2013
+ if ( settings.link.url ) {
2014
+ if ( 'title' === settings.link_type ) {
2015
+
2016
+ var pp_title_html_tag = 'a';
2017
+
2018
+ view.addRenderAttribute( 'title-container', 'class', 'pp-flipbox-linked-title' );
2019
+ view.addRenderAttribute( 'title-container', 'href', settings.link.url );
2020
+
2021
+ } else if ( 'button' === settings.link_type ) {
2022
+
2023
+ view.addRenderAttribute( 'button', {
2024
+ 'class': [
2025
+ 'elementor-button',
2026
+ 'pp-flipbox-button',
2027
+ 'elementor-size-' + settings.button_size,
2028
+ ],
2029
+ 'href': [
2030
+ settings.link.url,
2031
+ ],
2032
+ } );
2033
+
2034
+ }
2035
+ }
2036
+ }
2037
+ #>
2038
+ <div class="pp-flipbox-back">
2039
+ <#
2040
+ if ( 'box' === settings.link_type && settings.link.url ) {
2041
+ view.addRenderAttribute( 'box-link', 'class', 'pp-flipbox-box-link' );
2042
+ view.addRenderAttribute( 'box-link', 'href', settings.link.url );
2043
+ #>
2044
+ <a <{{{ view.getRenderAttributeString( 'box-link' ) }}}></a>
2045
+ <# } #>
2046
+ <div class="pp-flipbox-overlay">
2047
+ <div class="pp-flipbox-inner">
2048
+ <# if ( 'none' !== settings.icon_type_back ) { #>
2049
+ <div {{{ view.getRenderAttributeString( 'icon-back' ) }}}>
2050
+ <#
2051
+ if ( 'icon' === settings.icon_type_back ) {
2052
+ if ( settings.icon_back || settings.select_icon_back ) {
2053
+ if ( iconHTML && iconHTML.rendered && ( ! settings.icon || migrated ) ) { #>
2054
+ {{{ iconHTML.value }}}
2055
+ <# } else { #>
2056
+ <i class="{{ settings.icon_back }}" aria-hidden="true"></i>
2057
+ <# }
2058
+ }
2059
+ } else if ( 'image' === settings.icon_type_back ) {
2060
+ var flipbox_image = {
2061
+ id: settings.icon_image_back.id,
2062
+ url: settings.icon_image_back.url,
2063
+ size: settings.thumbnail_back_size,
2064
+ dimension: settings.thumbnail_back_custom_dimension,
2065
+ model: view.getEditModel()
2066
+ };
2067
+ var flipbox_image_url = elementor.imagesManager.getImageUrl( flipbox_image );
2068
+
2069
+ if ( flipbox_image_url ) { #>
2070
+ <img src="{{{ flipbox_image_url }}}" />
2071
+ <# }
2072
+ } else if ( 'text' === settings.icon_type_back ) { #>
2073
+ <span class="pp-icon-text">
2074
+ {{{ settings.icon_text_back }}}
2075
+ </span>
2076
+ <# } #>
2077
+ </div>
2078
+ <# } #>
2079
+
2080
+ <{{ pp_title_html_tag }} {{{ view.getRenderAttributeString( 'title-container' ) }}}>
2081
+ {{{ settings.title_back }}}
2082
+ </{{ pp_title_html_tag }}>
2083
+
2084
+ <div class="pp-flipbox-content">
2085
+ {{{ settings.description_back }}}
2086
+ </div>
2087
+
2088
+ <# if ( 'button' === settings.link_type && '' != settings.flipbox_button_text ) { #>
2089
+ <a {{{ view.getRenderAttributeString( 'button' ) }}}>
2090
+ <#
2091
+ if ( 'before' === settings.button_icon_position ) {
2092
+ render_button_icon();
2093
+ }
2094
+ #>
2095
+
2096
+ {{{ settings.flipbox_button_text }}}
2097
+
2098
+ <#
2099
+ if ( 'after' === settings.button_icon_position ) {
2100
+ render_button_icon();
2101
+ }
2102
+ #>
2103
+ </a>
2104
+ <# } #>
2105
+ </div>
2106
+ </div>
2107
+ </div>
2108
+ <#
2109
+ }
2110
+ #>
2111
+ <div {{{ view.getRenderAttributeString( 'flipbox-container' ) }}}>
2112
+ <div {{{ view.getRenderAttributeString( 'flipbox-card' ) }}}>
2113
+ <#
2114
+ render_front();
2115
+
2116
+ render_back();
2117
+ #>
2118
+ </div>
2119
+ </div>
2120
+ <?php
2121
+ }
2122
  }
modules/info-table/widgets/info-table.php CHANGED
@@ -63,7 +63,7 @@ class Info_Table extends Powerpack_Widget {
63
  *
64
  * Retrieve the list of keywords the widget belongs to.
65
  *
66
- * @since x.x.x
67
  * @access public
68
  *
69
  * @return array Widget keywords.
63
  *
64
  * Retrieve the list of keywords the widget belongs to.
65
  *
66
+ * @since 2.1.0
67
  * @access public
68
  *
69
  * @return array Widget keywords.
modules/posts/module.php ADDED
@@ -0,0 +1,188 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace PowerpackElementsLite\Modules\Posts;
3
+
4
+ use PowerpackElementsLite\Base\Module_Base;
5
+
6
+ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
7
+
8
+ class Module extends Module_Base {
9
+
10
+ public function get_name() {
11
+ return 'pp-posts';
12
+ }
13
+
14
+ public function get_widgets() {
15
+ return [
16
+ 'Posts',
17
+ ];
18
+ }
19
+
20
+ /**
21
+ * Constructor.
22
+ */
23
+ public function __construct() {
24
+ parent::__construct();
25
+
26
+ /**
27
+ * Pagination Break.
28
+ *
29
+ * @see https://codex.wordpress.org/Making_Custom_Queries_using_Offset_and_Pagination
30
+ */
31
+ add_action( 'pre_get_posts', [ $this, 'fix_query_offset' ], 1 );
32
+ add_filter( 'found_posts', [ $this, 'fix_query_found_posts' ], 1, 2 );
33
+
34
+ add_action( 'wp_ajax_pp_get_post', array( $this, 'get_post_data' ) );
35
+ add_action( 'wp_ajax_nopriv_pp_get_post', array( $this, 'get_post_data' ) );
36
+ }
37
+
38
+ /**
39
+ * Query Offset Fix.
40
+ *
41
+ * @since 1.4.14
42
+ * @access public
43
+ * @param object $query query object.
44
+ */
45
+ public function fix_query_offset( &$query ) {
46
+ if ( ! empty( $query->query_vars['offset_to_fix'] ) ) {
47
+ if ( $query->is_paged ) {
48
+ $query->query_vars['offset'] = $query->query_vars['offset_to_fix'] + ( ( $query->query_vars['paged'] - 1 ) * $query->query_vars['posts_per_page'] );
49
+ } else {
50
+ $query->query_vars['offset'] = $query->query_vars['offset_to_fix'];
51
+ }
52
+ }
53
+ }
54
+
55
+ /**
56
+ * Query Found Posts Fix.
57
+ *
58
+ * @since 1.4.14
59
+ * @access public
60
+ * @param int $found_posts found posts.
61
+ * @param object $query query object.
62
+ * @return int string
63
+ */
64
+ public function fix_query_found_posts( $found_posts, $query ) {
65
+ $offset_to_fix = $query->get( 'offset_to_fix' );
66
+
67
+ if ( $offset_to_fix ) {
68
+ $found_posts -= $offset_to_fix;
69
+ }
70
+
71
+ return $found_posts;
72
+ }
73
+
74
+ public function get_post_data() {
75
+
76
+ check_ajax_referer( 'pp-posts-widget-nonce', 'nonce' );
77
+
78
+ $post_id = $_POST['page_id'];
79
+ $widget_id = $_POST['widget_id'];
80
+ $filter = isset( $_POST['category'] ) ? $_POST['category'] : '';
81
+ $filter = str_replace( '.', '', $filter );
82
+ $taxonomy_filter = isset( $_POST['taxonomy'] ) ? $_POST['taxonomy'] : '';
83
+ $taxonomy_filter = str_replace( '.', '', $taxonomy_filter );
84
+ $search_filter = isset( $_POST['search'] ) ? $_POST['search'] : '';
85
+
86
+ $elementor = \Elementor\Plugin::$instance;
87
+ $meta = $elementor->documents->get( $post_id )->get_elements_data();
88
+
89
+ $widget_data = $this->find_element_recursive( $meta, $widget_id );
90
+
91
+ if ( isset( $widget_data['templateID'] ) ) {
92
+ $template_data = \Elementor\Plugin::$instance->templates_manager->get_template_data( [
93
+ 'source' => 'local',
94
+ 'template_id' => $widget_data['templateID'],
95
+ ] );
96
+
97
+ if ( is_array( $template_data ) && isset( $template_data['content'] ) ) {
98
+ $widget_data = $template_data['content'][0];
99
+ }
100
+ }
101
+
102
+ $data = array(
103
+ 'message' => __( 'Saved', 'powerpack' ),
104
+ 'ID' => '',
105
+ 'skin_id' => '',
106
+ 'html' => '',
107
+ 'pagination' => '',
108
+ );
109
+
110
+ if ( null != $widget_data ) {
111
+
112
+ // Restore default values.
113
+ $widget = $elementor->elements_manager->create_element_instance( $widget_data );
114
+ $skin = $widget->get_current_skin();
115
+ $skin_body = $skin->render_ajax_post_body( $filter, $taxonomy_filter, $search_filter );
116
+ $pagination = $skin->render_ajax_pagination();
117
+
118
+ $data['ID'] = $widget->get_id();
119
+ $data['skin_id'] = $widget->get_current_skin_id();
120
+ $data['html'] = $skin_body;
121
+ $data['pagination'] = $pagination;
122
+ }
123
+ wp_send_json_success( $data );
124
+ }
125
+
126
+ /**
127
+ * Get Widget Setting data.
128
+ *
129
+ * @since 1.7.0
130
+ * @access public
131
+ * @param array $elements Element array.
132
+ * @param string $form_id Element ID.
133
+ * @return Boolean True/False.
134
+ */
135
+ public function find_element_recursive( $elements, $form_id ) {
136
+
137
+ foreach ( $elements as $element ) {
138
+ if ( $form_id === $element['id'] ) {
139
+ return $element;
140
+ }
141
+
142
+ if ( ! empty( $element['elements'] ) ) {
143
+ $element = $this->find_element_recursive( $element['elements'], $form_id );
144
+
145
+ if ( $element ) {
146
+ return $element;
147
+ }
148
+ }
149
+ }
150
+
151
+ return false;
152
+ }
153
+
154
+ /**
155
+ * Get Post Parts
156
+ *
157
+ * @since 1.4.11.0
158
+ * @return array
159
+ */
160
+ public static function get_post_parts() {
161
+ $post_parts = [
162
+ 'thumbnail',
163
+ 'terms',
164
+ 'title',
165
+ 'meta',
166
+ 'excerpt',
167
+ 'button',
168
+ ];
169
+
170
+ return $post_parts;
171
+ }
172
+
173
+ /**
174
+ * Get Meta Items
175
+ *
176
+ * @since 1.4.11.0
177
+ * @return array
178
+ */
179
+ public static function get_meta_items() {
180
+ $meta_items = [
181
+ 'author',
182
+ 'date',
183
+ 'comments',
184
+ ];
185
+
186
+ return $meta_items;
187
+ }
188
+ }
modules/posts/skins/skin-base.php ADDED
@@ -0,0 +1,4910 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace PowerpackElementsLite\Modules\Posts\Skins;
3
+
4
+ use PowerpackElementsLite\Base\Powerpack_Widget;
5
+ use PowerpackElementsLite\Classes\PP_Config;
6
+ use PowerpackElementsLite\Modules\Posts\Module;
7
+ use PowerpackElementsLite\Classes\PP_Posts_Helper;
8
+ use PowerpackElementsLite\Group_Control_Transition;
9
+
10
+ // Elementor Classes
11
+ use Elementor\Controls_Manager;
12
+ use Elementor\Utils;
13
+ use Elementor\Skin_Base as Elementor_Skin_Base;
14
+ use Elementor\Widget_Base;
15
+ use Elementor\Group_Control_Image_Size;
16
+ use Elementor\Group_Control_Background;
17
+ use Elementor\Group_Control_Border;
18
+ use Elementor\Group_Control_Box_Shadow;
19
+ use Elementor\Group_Control_Typography;
20
+ use Elementor\Group_Control_Css_Filter;
21
+ use Elementor\Scheme_Typography;
22
+ use Elementor\Scheme_Color;
23
+
24
+ if ( ! defined( 'ABSPATH' ) ) {
25
+ exit; // Exit if accessed directly.
26
+ }
27
+
28
+ /**
29
+ * Skin Base
30
+ */
31
+ abstract class Skin_Base extends Elementor_Skin_Base {
32
+
33
+ protected function _register_controls_actions() { // phpcs:ignore PSR2.Methods.MethodDeclaration.Underscore
34
+ add_action( 'elementor/element/pp-posts/section_skin_field/before_section_end', array( $this, 'register_layout_controls' ) );
35
+ add_action( 'elementor/element/pp-posts/section_query/after_section_end', array( $this, 'register_controls' ) );
36
+ add_action( 'elementor/element/pp-posts/section_query/after_section_end', array( $this, 'register_style_sections' ) );
37
+ }
38
+
39
+ public function register_style_sections( Widget_Base $widget ) {
40
+ $this->parent = $widget;
41
+
42
+ $this->register_style_controls();
43
+ }
44
+
45
+ public function register_controls( Widget_Base $widget ) {
46
+ $this->parent = $widget;
47
+
48
+ $this->register_slider_controls();
49
+ $this->register_filter_section_controls();
50
+ $this->register_search_controls();
51
+ $this->register_terms_controls();
52
+ $this->register_image_controls();
53
+ $this->register_title_controls();
54
+ $this->register_excerpt_controls();
55
+ $this->register_meta_controls();
56
+ $this->register_button_controls();
57
+ $this->register_pagination_controls();
58
+ $this->register_content_order();
59
+ $this->register_content_help_docs();
60
+ $this->register_content_upgrade_pro_controls();
61
+ }
62
+
63
+ public function register_style_controls() {
64
+ $this->register_style_layout_controls();
65
+ $this->register_style_box_controls();
66
+ $this->register_style_content_controls();
67
+ $this->register_style_image_controls();
68
+ $this->register_style_terms_controls();
69
+ $this->register_style_title_controls();
70
+ $this->register_style_excerpt_controls();
71
+ $this->register_style_meta_controls();
72
+ $this->register_style_button_controls();
73
+ $this->register_style_pagination_controls();
74
+ $this->register_style_arrows_controls();
75
+ $this->register_style_dots_controls();
76
+ }
77
+
78
+ public function register_layout_controls( Widget_Base $widget ) {
79
+ $this->parent = $widget;
80
+
81
+ $this->register_layout_content_controls();
82
+ }
83
+
84
+ public function register_layout_content_controls() {
85
+
86
+ $this->add_control(
87
+ 'layout',
88
+ array(
89
+ 'label' => __( 'Layout', 'powerpack' ),
90
+ 'type' => Controls_Manager::SELECT,
91
+ 'options' => array(
92
+ 'grid' => __( 'Grid', 'powerpack' ),
93
+ 'masonry' => __( 'Masonry', 'powerpack' ),
94
+ 'carousel' => __( 'Carousel', 'powerpack' ),
95
+ ),
96
+ 'default' => 'grid',
97
+ )
98
+ );
99
+
100
+ $this->add_responsive_control(
101
+ 'columns',
102
+ array(
103
+ 'label' => __( 'Columns', 'powerpack' ),
104
+ 'type' => Controls_Manager::SELECT,
105
+ 'default' => '3',
106
+ 'tablet_default' => '2',
107
+ 'mobile_default' => '1',
108
+ 'options' => array(
109
+ '1' => '1',
110
+ '2' => '2',
111
+ '3' => '3',
112
+ '4' => '4',
113
+ '5' => '5',
114
+ '6' => '6',
115
+ '7' => '7',
116
+ '8' => '8',
117
+ ),
118
+ 'prefix_class' => 'elementor-grid%s-',
119
+ 'render_type' => 'template',
120
+ 'frontend_available' => true,
121
+ )
122
+ );
123
+
124
+ $this->add_control(
125
+ 'equal_height',
126
+ array(
127
+ 'label' => __( 'Equal Height', 'powerpack' ),
128
+ 'type' => Controls_Manager::SWITCHER,
129
+ 'default' => '',
130
+ 'label_on' => __( 'Yes', 'powerpack' ),
131
+ 'label_off' => __( 'No', 'powerpack' ),
132
+ 'return_value' => 'yes',
133
+ 'prefix_class' => 'pp-equal-height-',
134
+ 'render_type' => 'template',
135
+ 'condition' => array(
136
+ $this->get_control_id( 'layout!' ) => 'masonry',
137
+ ),
138
+ )
139
+ );
140
+ }
141
+
142
+ public function register_slider_controls() {
143
+
144
+ $this->start_controls_section(
145
+ 'section_slider_options',
146
+ array(
147
+ 'label' => __( 'Carousel Options', 'powerpack' ),
148
+ 'tab' => Controls_Manager::TAB_CONTENT,
149
+ 'condition' => array(
150
+ $this->get_control_id( 'layout' ) => 'carousel',
151
+ ),
152
+ )
153
+ );
154
+
155
+ $slides_per_view = range( 1, 10 );
156
+ $slides_per_view = array_combine( $slides_per_view, $slides_per_view );
157
+
158
+ $this->add_responsive_control(
159
+ 'slides_to_scroll',
160
+ array(
161
+ 'type' => Controls_Manager::SELECT,
162
+ 'label' => __( 'Slides to Scroll', 'powerpack' ),
163
+ 'description' => __( 'Set how many slides are scrolled per swipe.', 'powerpack' ),
164
+ 'options' => $slides_per_view,
165
+ 'default' => '1',
166
+ 'tablet_default' => '1',
167
+ 'mobile_default' => '1',
168
+ 'condition' => array(
169
+ $this->get_control_id( 'layout' ) => 'carousel',
170
+ ),
171
+ 'frontend_available' => true,
172
+ )
173
+ );
174
+
175
+ $this->add_control(
176
+ 'animation_speed',
177
+ array(
178
+ 'label' => __( 'Animation Speed', 'powerpack' ),
179
+ 'type' => Controls_Manager::NUMBER,
180
+ 'default' => 600,
181
+ 'frontend_available' => true,
182
+ 'condition' => array(
183
+ $this->get_control_id( 'layout' ) => 'carousel',
184
+ ),
185
+ )
186
+ );
187
+
188
+ $this->add_control(
189
+ 'arrows',
190
+ array(
191
+ 'label' => __( 'Arrows', 'powerpack' ),
192
+ 'type' => Controls_Manager::SWITCHER,
193
+ 'default' => 'yes',
194
+ 'label_on' => __( 'Yes', 'powerpack' ),
195
+ 'label_off' => __( 'No', 'powerpack' ),
196
+ 'return_value' => 'yes',
197
+ 'frontend_available' => true,
198
+ 'condition' => array(
199
+ $this->get_control_id( 'layout' ) => 'carousel',
200
+ ),
201
+ )
202
+ );
203
+
204
+ $this->add_control(
205
+ 'dots',
206
+ array(
207
+ 'label' => __( 'Dots', 'powerpack' ),
208
+ 'type' => Controls_Manager::SWITCHER,
209
+ 'default' => 'no',
210
+ 'label_on' => __( 'Yes', 'powerpack' ),
211
+ 'label_off' => __( 'No', 'powerpack' ),
212
+ 'return_value' => 'yes',
213
+ 'frontend_available' => true,
214
+ 'condition' => array(
215
+ $this->get_control_id( 'layout' ) => 'carousel',
216
+ ),
217
+ )
218
+ );
219
+
220
+ $this->add_control(
221
+ 'autoplay',
222
+ array(
223
+ 'label' => __( 'Autoplay', 'powerpack' ),
224
+ 'type' => Controls_Manager::SWITCHER,
225
+ 'default' => 'yes',
226
+ 'label_on' => __( 'Yes', 'powerpack' ),
227
+ 'label_off' => __( 'No', 'powerpack' ),
228
+ 'return_value' => 'yes',
229
+ 'frontend_available' => true,
230
+ 'condition' => array(
231
+ $this->get_control_id( 'layout' ) => 'carousel',
232
+ ),
233
+ )
234
+ );
235
+
236
+ $this->add_control(
237
+ 'autoplay_speed',
238
+ array(
239
+ 'label' => __( 'Autoplay Speed', 'powerpack' ),
240
+ 'type' => Controls_Manager::NUMBER,
241
+ 'default' => 3000,
242
+ 'frontend_available' => true,
243
+ 'condition' => array(
244
+ $this->get_control_id( 'layout' ) => 'carousel',
245
+ $this->get_control_id( 'autoplay' ) => 'yes',
246
+ ),
247
+ )
248
+ );
249
+
250
+ $this->add_control(
251
+ 'pause_on_hover',
252
+ array(
253
+ 'label' => __( 'Pause on Hover', 'powerpack' ),
254
+ 'type' => Controls_Manager::SWITCHER,
255
+ 'default' => 'yes',
256
+ 'label_on' => __( 'Yes', 'powerpack' ),
257
+ 'label_off' => __( 'No', 'powerpack' ),
258
+ 'return_value' => 'yes',
259
+ 'frontend_available' => true,
260
+ 'condition' => array(
261
+ $this->get_control_id( 'layout' ) => 'carousel',
262
+ $this->get_control_id( 'autoplay' ) => 'yes',
263
+ ),
264
+ )
265
+ );
266
+
267
+ $this->add_control(
268
+ 'infinite_loop',
269
+ array(
270
+ 'label' => __( 'Infinite Loop', 'powerpack' ),
271
+ 'type' => Controls_Manager::SWITCHER,
272
+ 'default' => 'yes',
273
+ 'label_on' => __( 'Yes', 'powerpack' ),
274
+ 'label_off' => __( 'No', 'powerpack' ),
275
+ 'return_value' => 'yes',
276
+ 'frontend_available' => true,
277
+ 'condition' => array(
278
+ $this->get_control_id( 'layout' ) => 'carousel',
279
+ ),
280
+ )
281
+ );
282
+
283
+ $this->add_control(
284
+ 'adaptive_height',
285
+ array(
286
+ 'label' => __( 'Adaptive Height', 'powerpack' ),
287
+ 'type' => Controls_Manager::SWITCHER,
288
+ 'default' => 'yes',
289
+ 'label_on' => __( 'Yes', 'powerpack' ),
290
+ 'label_off' => __( 'No', 'powerpack' ),
291
+ 'return_value' => 'yes',
292
+ 'frontend_available' => true,
293
+ 'condition' => array(
294
+ $this->get_control_id( 'layout' ) => 'carousel',
295
+ ),
296
+ )
297
+ );
298
+
299
+ $this->add_control(
300
+ 'direction',
301
+ array(
302
+ 'label' => __( 'Direction', 'powerpack' ),
303
+ 'type' => Controls_Manager::CHOOSE,
304
+ 'label_block' => false,
305
+ 'toggle' => false,
306
+ 'options' => array(
307
+ 'left' => array(
308
+ 'title' => __( 'Left', 'powerpack' ),
309
+ 'icon' => 'eicon-h-align-left',
310
+ ),
311
+ 'right' => array(
312
+ 'title' => __( 'Right', 'powerpack' ),
313
+ 'icon' => 'eicon-h-align-right',
314
+ ),
315
+ ),
316
+ 'default' => 'left',
317
+ 'frontend_available' => true,
318
+ 'condition' => array(
319
+ $this->get_control_id( 'layout' ) => 'carousel',
320
+ ),
321
+ )
322
+ );
323
+
324
+ $this->end_controls_section();
325
+ }
326
+
327
+ public function register_filter_section_controls() {
328
+
329
+ $this->start_controls_section(
330
+ 'section_filters',
331
+ array(
332
+ 'label' => __( 'Filters', 'powerpack' ),
333
+ 'tab' => Controls_Manager::TAB_CONTENT,
334
+ 'condition' => array(
335
+ 'post_type!' => 'related',
336
+ $this->get_control_id( 'layout!' ) => 'carousel',
337
+ ),
338
+ )
339
+ );
340
+
341
+ $this->add_control(
342
+ 'show_filters',
343
+ array(
344
+ 'label' => __( 'Show Filters', 'powerpack' ),
345
+ 'type' => Controls_Manager::SWITCHER,
346
+ 'label_on' => __( 'Yes', 'powerpack' ),
347
+ 'label_off' => __( 'No', 'powerpack' ),
348
+ 'return_value' => 'yes',
349
+ 'default' => 'no',
350
+ 'condition' => array(
351
+ 'post_type!' => 'related',
352
+ $this->get_control_id( 'layout!' ) => 'carousel',
353
+ ),
354
+ )
355
+ );
356
+
357
+ $this->add_control(
358
+ 'show_filters_notice',
359
+ array(
360
+ 'label' => '',
361
+ 'type' => Controls_Manager::RAW_HTML,
362
+ 'raw' => __( 'This feature is available in PowerPack Pro.', 'powerpack' ) . ' ' . apply_filters( 'upgrade_powerpack_message', sprintf( __( 'Upgrade to %1$s Pro Version %2$s for 70+ widgets, exciting extensions and advanced features.', 'powerpack' ), '<a href="#" target="_blank" rel="noopener">', '</a>' ) ),
363
+ 'content_classes' => 'upgrade-powerpack-notice elementor-panel-alert elementor-panel-alert-info',
364
+ 'condition' => array(
365
+ 'post_type!' => 'related',
366
+ $this->get_control_id( 'layout!' ) => 'carousel',
367
+ $this->get_control_id( 'show_filters' ) => 'yes',
368
+ ),
369
+ )
370
+ );
371
+
372
+ $this->end_controls_section();
373
+ }
374
+
375
+ /**
376
+ * Content Tab: Search Form
377
+ *
378
+ * @since 1.4.11.0
379
+ * @access protected
380
+ */
381
+ protected function register_search_controls() {
382
+
383
+ $this->start_controls_section(
384
+ 'section_search_form',
385
+ array(
386
+ 'label' => __( 'Search Form', 'powerpack' ),
387
+ 'condition' => array(
388
+ $this->get_control_id( 'layout' ) => array( 'grid', 'masonry' ),
389
+ ),
390
+ )
391
+ );
392
+
393
+ $this->add_control(
394
+ 'show_ajax_search_form',
395
+ array(
396
+ 'label' => __( 'Show Search Form', 'powerpack' ),
397
+ 'type' => Controls_Manager::SWITCHER,
398
+ 'default' => '',
399
+ 'label_on' => __( 'Yes', 'powerpack' ),
400
+ 'label_off' => __( 'No', 'powerpack' ),
401
+ 'return_value' => 'yes',
402
+ 'frontend_available' => true,
403
+ 'condition' => array(
404
+ $this->get_control_id( 'layout' ) => array( 'grid', 'masonry' ),
405
+ ),
406
+ )
407
+ );
408
+
409
+ $this->add_control(
410
+ 'show_ajax_search_form_notice',
411
+ array(
412
+ 'label' => '',
413
+ 'type' => Controls_Manager::RAW_HTML,
414
+ 'raw' => __( 'This feature is available in PowerPack Pro.', 'powerpack' ) . ' ' . apply_filters( 'upgrade_powerpack_message', sprintf( __( 'Upgrade to %1$s Pro Version %2$s for 70+ widgets, exciting extensions and advanced features.', 'powerpack' ), '<a href="#" target="_blank" rel="noopener">', '</a>' ) ),
415
+ 'content_classes' => 'upgrade-powerpack-notice elementor-panel-alert elementor-panel-alert-info',
416
+ 'condition' => array(
417
+ $this->get_control_id( 'layout' ) => array( 'grid', 'masonry' ),
418
+ $this->get_control_id( 'show_ajax_search_form' ) => 'yes',
419
+ ),
420
+ )
421
+ );
422
+
423
+ $this->end_controls_section();
424
+ }
425
+
426
+ protected function register_terms_controls() {
427
+ /**
428
+ * Content Tab: Post Terms
429
+ */
430
+ $this->start_controls_section(
431
+ 'section_terms',
432
+ array(
433
+ 'label' => __( 'Post Terms', 'powerpack' ),
434
+ )
435
+ );
436
+
437
+ $this->add_control(
438
+ 'post_terms',
439
+ array(
440
+ 'label' => __( 'Show Post Terms', 'powerpack' ),
441
+ 'type' => Controls_Manager::SWITCHER,
442
+ 'default' => 'yes',
443
+ 'label_on' => __( 'Yes', 'powerpack' ),
444
+ 'label_off' => __( 'No', 'powerpack' ),
445
+ 'return_value' => 'yes',
446
+ )
447
+ );
448
+
449
+ $post_types = PP_Posts_Helper::get_post_types();
450
+
451
+ foreach ( $post_types as $post_type_slug => $post_type_label ) {
452
+
453
+ $taxonomy = PP_Posts_Helper::get_post_taxonomies( $post_type_slug );
454
+
455
+ if ( ! empty( $taxonomy ) ) {
456
+
457
+ $related_tax = array();
458
+
459
+ // Get all taxonomy values under the taxonomy.
460
+ foreach ( $taxonomy as $index => $tax ) {
461
+
462
+ $terms = get_terms( $index );
463
+
464
+ $related_tax[ $index ] = $tax->label;
465
+ }
466
+
467
+ // Add control for all taxonomies.
468
+ $this->add_control(
469
+ 'tax_badge_' . $post_type_slug,
470
+ array(
471
+ 'label' => __( 'Select Taxonomy', 'powerpack' ),
472
+ 'type' => Controls_Manager::SELECT2,
473
+ 'options' => $related_tax,
474
+ 'multiple' => true,
475
+ 'default' => array_keys( $related_tax )[0],
476
+ 'condition' => array(
477
+ 'post_type' => $post_type_slug,
478
+ $this->get_control_id( 'post_terms' ) => 'yes',
479
+ ),
480
+ )
481
+ );
482
+ }
483
+ }
484
+
485
+ $this->add_control(
486
+ 'max_terms',
487
+ array(
488
+ 'label' => __( 'Max Terms to Show', 'powerpack' ),
489
+ 'type' => Controls_Manager::NUMBER,
490
+ 'default' => 1,
491
+ 'condition' => array(
492
+ $this->get_control_id( 'post_terms' ) => 'yes',
493
+ ),
494
+ 'label_block' => false,
495
+ )
496
+ );
497
+
498
+ $this->add_control(
499
+ 'post_taxonomy_link',
500
+ array(
501
+ 'label' => __( 'Link to Taxonomy', 'powerpack' ),
502
+ 'type' => Controls_Manager::SWITCHER,
503
+ 'default' => 'yes',
504
+ 'label_on' => __( 'Yes', 'powerpack' ),
505
+ 'label_off' => __( 'No', 'powerpack' ),
506
+ 'return_value' => 'yes',
507
+ 'condition' => array(
508
+ $this->get_control_id( 'post_terms' ) => 'yes',
509
+ ),
510
+ )
511
+ );
512
+
513
+ $this->add_control(
514
+ 'post_terms_separator',
515
+ array(
516
+ 'label' => __( 'Terms Separator', 'powerpack' ),
517
+ 'type' => Controls_Manager::TEXT,
518
+ 'default' => ',',
519
+ 'selectors' => array(
520
+ '{{WRAPPER}} .pp-post-terms > .pp-post-term:not(:last-child):after' => 'content: "{{UNIT}}";',
521
+ ),
522
+ 'condition' => array(
523
+ $this->get_control_id( 'post_terms' ) => 'yes',
524
+ ),
525
+ )
526
+ );
527
+
528
+ $this->end_controls_section();
529
+ }
530
+
531
+ /**
532
+ * Content Tab: Image
533
+ */
534
+ protected function register_image_controls() {
535
+
536
+ $this->start_controls_section(
537
+ 'section_image',
538
+ array(
539
+ 'label' => __( 'Image', 'powerpack' ),
540
+ )
541
+ );
542
+
543
+ $this->add_control(
544
+ 'show_thumbnail',
545
+ array(
546
+ 'label' => __( 'Show Image', 'powerpack' ),
547
+ 'type' => Controls_Manager::SWITCHER,
548
+ 'default' => 'yes',
549
+ 'label_on' => __( 'Yes', 'powerpack' ),
550
+ 'label_off' => __( 'No', 'powerpack' ),
551
+ 'return_value' => 'yes',
552
+ )
553
+ );
554
+
555
+ $this->add_control(
556
+ 'thumbnail_link',
557
+ array(
558
+ 'label' => __( 'Link to Post', 'powerpack' ),
559
+ 'type' => Controls_Manager::SWITCHER,
560
+ 'default' => 'yes',
561
+ 'label_on' => __( 'Yes', 'powerpack' ),
562
+ 'label_off' => __( 'No', 'powerpack' ),
563
+ 'return_value' => 'yes',
564
+ 'condition' => array(
565
+ $this->get_control_id( 'show_thumbnail' ) => 'yes',
566
+ ),
567
+ )
568
+ );
569
+
570
+ $this->add_control(
571
+ 'thumbnail_custom_height',
572
+ array(
573
+ 'label' => __( 'Custom Height', 'powerpack' ),
574
+ 'type' => Controls_Manager::SWITCHER,
575
+ 'default' => '',
576
+ 'label_on' => __( 'Yes', 'powerpack' ),
577
+ 'label_off' => __( 'No', 'powerpack' ),
578
+ 'return_value' => 'ratio',
579
+ 'prefix_class' => 'pp-posts-thumbnail-',
580
+ 'condition' => array(
581
+ $this->get_control_id( 'show_thumbnail' ) => 'yes',
582
+ ),
583
+ )
584
+ );
585
+
586
+ $this->add_responsive_control(
587
+ 'thumbnail_ratio',
588
+ array(
589
+ 'label' => __( 'Image Ratio', 'powerpack' ),
590
+ 'type' => Controls_Manager::SLIDER,
591
+ 'default' => array(
592
+ 'size' => 1,
593
+ ),
594
+ 'tablet_default' => array(
595
+ 'size' => '',
596
+ ),
597
+ 'mobile_default' => array(
598
+ 'size' => 1,
599
+ ),
600
+ 'range' => array(
601
+ 'px' => array(
602
+ 'min' => 0.1,
603
+ 'max' => 2,
604
+ 'step' => 0.01,
605
+ ),
606
+ ),
607
+ 'selectors' => array(
608
+ '{{WRAPPER}} .pp-posts-container .pp-post-thumbnail-wrap' => 'padding-bottom: calc( {{SIZE}} * 100% );',
609
+ ),
610
+ 'condition' => array(
611
+ $this->get_control_id( 'show_thumbnail' ) => 'yes',
612
+ $this->get_control_id( 'thumbnail_custom_height!' ) => '',
613
+ ),
614
+ )
615
+ );
616
+
617
+ $this->add_group_control(
618
+ Group_Control_Image_Size::get_type(),
619
+ array(
620
+ 'name' => 'thumbnail',
621
+ 'label' => __( 'Image Size', 'powerpack' ),
622
+ 'default' => 'large',
623
+ 'exclude' => array( 'custom' ),
624
+ 'condition' => array(
625
+ $this->get_control_id( 'show_thumbnail' ) => 'yes',
626
+ ),
627
+ )
628
+ );
629
+
630
+ $this->add_control(
631
+ 'thumbnail_location',
632
+ array(
633
+ 'label' => __( 'Image Location', 'powerpack' ),
634
+ 'type' => Controls_Manager::SELECT,
635
+ 'options' => array(
636
+ 'inside' => __( 'Inside Content Container', 'powerpack' ),
637
+ 'outside' => __( 'Outside Content Container', 'powerpack' ),
638
+ ),
639
+ 'default' => 'outside',
640
+ 'condition' => array(
641
+ $this->get_control_id( 'show_thumbnail' ) => 'yes',
642
+ ),
643
+ )
644
+ );
645
+
646
+ $this->add_control(
647
+ 'fallback_image',
648
+ array(
649
+ 'label' => __( 'Fallback Image', 'powerpack' ),
650
+ 'description' => __( 'If a featured image is not available in post, it will display the first image from the post or default image placeholder or a custom image. You can choose None to do not display the fallback image.', 'powerpack' ),
651
+ 'type' => Controls_Manager::SELECT,
652
+ 'options' => array(
653
+ 'none' => __( 'None', 'powerpack' ),
654
+ 'default' => __( 'Default', 'powerpack' ),
655
+ 'custom' => __( 'Custom', 'powerpack' ),
656
+ ),
657
+ 'default' => 'default',
658
+ 'condition' => array(
659
+ $this->get_control_id( 'show_thumbnail' ) => 'yes',
660
+ ),
661
+ )
662
+ );
663
+
664
+ $this->add_control(
665
+ 'fallback_image_custom',
666
+ array(
667
+ 'label' => __( 'Fallback Image Custom', 'powerpack' ),
668
+ 'type' => Controls_Manager::MEDIA,
669
+ 'condition' => array(
670
+ $this->get_control_id( 'show_thumbnail' ) => 'yes',
671
+ $this->get_control_id( 'fallback_image' ) => 'custom',
672
+ ),
673
+ )
674
+ );
675
+
676
+ $this->end_controls_section();
677
+ }
678
+
679
+ /**
680
+ * Content Tab: Title
681
+ */
682
+ protected function register_title_controls() {
683
+ $this->start_controls_section(
684
+ 'section_post_title',
685
+ array(
686
+ 'label' => __( 'Title', 'powerpack' ),
687
+ )
688
+ );
689
+
690
+ $this->add_control(
691
+ 'post_title',
692
+ array(
693
+ 'label' => __( 'Post Title', 'powerpack' ),
694
+ 'type' => Controls_Manager::SWITCHER,
695
+ 'default' => 'yes',
696
+ 'label_on' => __( 'Yes', 'powerpack' ),
697
+ 'label_off' => __( 'No', 'powerpack' ),
698
+ 'return_value' => 'yes',
699
+ )
700
+ );
701
+
702
+ $this->add_control(
703
+ 'post_title_link',
704
+ array(
705
+ 'label' => __( 'Link to Post', 'powerpack' ),
706
+ 'type' => Controls_Manager::SWITCHER,
707
+ 'default' => 'yes',
708
+ 'label_on' => __( 'Yes', 'powerpack' ),
709
+ 'label_off' => __( 'No', 'powerpack' ),
710
+ 'return_value' => 'yes',
711
+ 'condition' => array(
712
+ $this->get_control_id( 'post_title' ) => 'yes',
713
+ ),
714
+ )
715
+ );
716
+
717
+ $this->add_control(
718
+ 'title_html_tag',
719
+ array(
720
+ 'label' => __( 'HTML Tag', 'powerpack' ),
721
+ 'type' => Controls_Manager::SELECT,
722
+ 'default' => 'h2',
723
+ 'options' => array(
724
+ 'h1' => __( 'H1', 'powerpack' ),
725
+ 'h2' => __( 'H2', 'powerpack' ),
726
+ 'h3' => __( 'H3', 'powerpack' ),
727
+ 'h4' => __( 'H4', 'powerpack' ),
728
+ 'h5' => __( 'H5', 'powerpack' ),
729
+ 'h6' => __( 'H6', 'powerpack' ),
730
+ 'div' => __( 'div', 'powerpack' ),
731
+ 'span' => __( 'span', 'powerpack' ),
732
+ 'p' => __( 'p', 'powerpack' ),
733
+ ),
734
+ 'condition' => array(
735
+ $this->get_control_id( 'post_title' ) => 'yes',
736
+ ),
737
+ )
738
+ );
739
+
740
+ $this->add_control(
741
+ 'post_title_separator',
742
+ array(
743
+ 'label' => __( 'Title Separator', 'powerpack' ),
744
+ 'type' => Controls_Manager::SWITCHER,
745
+ 'default' => '',
746
+ 'label_on' => __( 'Yes', 'powerpack' ),
747
+ 'label_off' => __( 'No', 'powerpack' ),
748
+ 'return_value' => 'yes',
749
+ 'condition' => array(
750
+ $this->get_control_id( 'post_title' ) => 'yes',
751
+ ),
752
+ )
753
+ );
754
+
755
+ $this->end_controls_section();
756
+ }
757
+
758
+ /**
759
+ * Content Tab: Excerpt
760
+ */
761
+ protected function register_excerpt_controls() {
762
+ $this->start_controls_section(
763
+ 'section_post_excerpt',
764
+ array(
765
+ 'label' => __( 'Content', 'powerpack' ),
766
+ )
767
+ );
768
+
769
+ $this->add_control(
770
+ 'show_excerpt',
771
+ array(
772
+ 'label' => __( 'Show Content', 'powerpack' ),
773
+ 'type' => Controls_Manager::SWITCHER,
774
+ 'default' => '',
775
+ 'label_on' => __( 'Yes', 'powerpack' ),
776
+ 'label_off' => __( 'No', 'powerpack' ),
777
+ 'return_value' => 'yes',
778
+ )
779
+ );
780
+
781
+ $this->add_control(
782
+ 'content_type',
783
+ array(
784
+ 'label' => __( 'Content Type', 'powerpack' ),
785
+ 'type' => Controls_Manager::SELECT,
786
+ 'default' => 'excerpt',
787
+ 'options' => array(
788
+ 'excerpt' => __( 'Excerpt', 'powerpack' ),
789
+ 'content' => __( 'Limited Content', 'powerpack' ),
790
+ 'full' => __( 'Full Content', 'powerpack' ),
791
+ ),
792
+ 'condition' => array(
793
+ $this->get_control_id( 'show_excerpt' ) => 'yes',
794
+ ),
795
+ )
796
+ );
797
+
798
+ $this->add_control(
799
+ 'excerpt_length',
800
+ array(
801
+ 'label' => __( 'Excerpt Length', 'powerpack' ),
802
+ 'type' => Controls_Manager::NUMBER,
803
+ 'default' => 20,
804
+ 'min' => 0,
805
+ 'step' => 1,
806
+ 'condition' => array(
807
+ $this->get_control_id( 'show_excerpt' ) => 'yes',
808
+ $this->get_control_id( 'content_type' ) => 'excerpt',
809
+ ),
810
+ )
811
+ );
812
+
813
+ $this->add_control(
814
+ 'content_length',
815
+ array(
816
+ 'label' => __( 'Content Length', 'powerpack' ),
817
+ 'title' => __( 'Words', 'powerpack' ),
818
+ 'description' => __( 'Number of words to be displayed from the post content', 'powerpack' ),
819
+ 'type' => Controls_Manager::NUMBER,
820
+ 'default' => 30,
821
+ 'min' => 0,
822
+ 'step' => 1,
823
+ 'condition' => array(
824
+ $this->get_control_id( 'show_excerpt' ) => 'yes',
825
+ $this->get_control_id( 'content_type' ) => 'content',
826
+ ),
827
+ )
828
+ );
829
+
830
+ $this->end_controls_section();
831
+ }
832
+
833
+ /**
834
+ * Content Tab: Meta
835
+ */
836
+ protected function register_meta_controls() {
837
+ $this->start_controls_section(
838
+ 'section_post_meta',
839
+ array(
840
+ 'label' => __( 'Meta', 'powerpack' ),
841
+ )
842
+ );
843
+
844
+ $this->add_control(
845
+ 'post_meta',
846
+ array(
847
+ 'label' => __( 'Post Meta', 'powerpack' ),
848
+ 'type' => Controls_Manager::SWITCHER,
849
+ 'default' => 'yes',
850
+ 'label_on' => __( 'Yes', 'powerpack' ),
851
+ 'label_off' => __( 'No', 'powerpack' ),
852
+ 'return_value' => 'yes',
853
+ )
854
+ );
855
+
856
+ $this->add_control(
857
+ 'post_meta_separator',
858
+ array(
859
+ 'label' => __( 'Post Meta Separator', 'powerpack' ),
860
+ 'type' => Controls_Manager::TEXT,
861
+ 'default' => '-',
862
+ 'selectors' => array(
863
+ '{{WRAPPER}} .pp-post-meta .pp-meta-separator:not(:last-child):after' => 'content: "{{UNIT}}";',
864
+ ),
865
+ 'condition' => array(
866
+ $this->get_control_id( 'post_meta' ) => 'yes',
867
+ ),
868
+ )
869
+ );
870
+
871
+ $this->add_control(
872
+ 'heading_post_author',
873
+ array(
874
+ 'label' => __( 'Post Author', 'powerpack' ),
875
+ 'type' => Controls_Manager::HEADING,
876
+ 'separator' => 'before',
877
+ 'condition' => array(
878
+ $this->get_control_id( 'post_meta' ) => 'yes',
879
+ ),
880
+ )
881
+ );
882
+
883
+ $this->add_control(
884
+ 'show_author',
885
+ array(
886
+ 'label' => __( 'Show Post Author', 'powerpack' ),
887
+ 'type' => Controls_Manager::SWITCHER,
888
+ 'default' => '',
889
+ 'label_on' => __( 'Yes', 'powerpack' ),
890
+ 'label_off' => __( 'No', 'powerpack' ),
891
+ 'return_value' => 'yes',
892
+ 'condition' => array(
893
+ $this->get_control_id( 'post_meta' ) => 'yes',
894
+ ),
895
+ )
896
+ );
897
+
898
+ $this->add_control(
899
+ 'author_link',
900
+ array(
901
+ 'label' => __( 'Link to Author', 'powerpack' ),
902
+ 'type' => Controls_Manager::SWITCHER,
903
+ 'default' => 'yes',
904
+ 'label_on' => __( 'Yes', 'powerpack' ),
905
+ 'label_off' => __( 'No', 'powerpack' ),
906
+ 'return_value' => 'yes',
907
+ 'condition' => array(
908
+ $this->get_control_id( 'post_meta' ) => 'yes',
909
+ $this->get_control_id( 'show_author' ) => 'yes',
910
+ ),
911
+ )
912
+ );
913
+
914
+ $this->add_control(
915
+ 'author_icon',
916
+ array(
917
+ 'label' => __( 'Author Icon', 'powerpack' ),
918
+ 'type' => Controls_Manager::ICON,
919
+ 'default' => '',
920
+ 'condition' => array(
921
+ $this->get_control_id( 'post_meta' ) => 'yes',
922
+ $this->get_control_id( 'show_author' ) => 'yes',
923
+ ),
924
+ )
925
+ );
926
+
927
+ $this->add_control(
928
+ 'author_prefix',
929
+ array(
930
+ 'label' => __( 'Prefix', 'powerpack' ),
931
+ 'type' => Controls_Manager::TEXT,
932
+ 'default' => '',
933
+ 'condition' => array(
934
+ $this->get_control_id( 'post_meta' ) => 'yes',
935
+ $this->get_control_id( 'show_author' ) => 'yes',
936
+ ),
937
+ )
938
+ );
939
+
940
+ $this->add_control(
941
+ 'heading_post_date',
942
+ array(
943
+ 'label' => __( 'Post Date', 'powerpack' ),
944
+ 'type' => Controls_Manager::HEADING,
945
+ 'separator' => 'before',
946
+ 'condition' => array(
947
+ $this->get_control_id( 'post_meta' ) => 'yes',
948
+ ),
949
+ )
950
+ );
951
+
952
+ $this->add_control(
953
+ 'show_date',
954
+ array(
955
+ 'label' => __( 'Show Post Date', 'powerpack' ),
956
+ 'type' => Controls_Manager::SWITCHER,
957
+ 'default' => 'yes',
958
+ 'label_on' => __( 'Yes', 'powerpack' ),
959
+ 'label_off' => __( 'No', 'powerpack' ),
960
+ 'return_value' => 'yes',
961
+ 'condition' => array(
962
+ $this->get_control_id( 'post_meta' ) => 'yes',
963
+ ),
964
+ )
965
+ );
966
+
967
+ $this->add_control(
968
+ 'date_link',
969
+ array(
970
+ 'label' => __( 'Link to Post', 'powerpack' ),
971
+ 'type' => Controls_Manager::SWITCHER,
972
+ 'default' => '',
973
+ 'label_on' => __( 'Yes', 'powerpack' ),
974
+ 'label_off' => __( 'No', 'powerpack' ),
975
+ 'return_value' => 'yes',
976
+ 'condition' => array(
977
+ $this->get_control_id( 'post_meta' ) => 'yes',
978
+ $this->get_control_id( 'show_date' ) => 'yes',
979
+ ),
980
+ )
981
+ );
982
+
983
+ $this->add_control(
984
+ 'date_format',
985
+ array(
986
+ 'label' => __( 'Date Format', 'powerpack' ),
987
+ 'type' => Controls_Manager::SELECT,
988
+ 'options' => array(
989
+ '' => __( 'Published Date', 'powerpack' ),
990
+ 'ago' => __( 'Time Ago', 'powerpack' ),
991
+ 'modified' => __( 'Last Modified Date', 'powerpack' ),
992
+ 'custom' => __( 'Custom Format', 'powerpack' ),
993
+ 'key' => __( 'Custom Meta Key', 'powerpack' ),
994
+ ),
995
+ 'default' => '',
996
+ 'condition' => array(
997
+ $this->get_control_id( 'post_meta' ) => 'yes',
998
+ $this->get_control_id( 'show_date' ) => 'yes',
999
+ ),
1000
+ )
1001
+ );
1002
+
1003
+ $this->add_control(
1004
+ 'date_custom_format',
1005
+ array(
1006
+ 'label' => __( 'Custom Format', 'powerpack' ),
1007
+ 'description' => sprintf( __( 'Refer to PHP date formats <a href="%s">here</a>', 'powerpack' ), 'https://wordpress.org/support/article/formatting-date-and-time/' ),
1008
+ 'type' => Controls_Manager::TEXT,
1009
+ 'label_block' => false,
1010
+ 'default' => '',
1011
+ 'dynamic' => array(
1012
+ 'active' => true,
1013
+ ),
1014
+ 'condition' => array(
1015
+ $this->get_control_id( 'post_meta' ) => 'yes',
1016
+ $this->get_control_id( 'show_date' ) => 'yes',
1017
+ $this->get_control_id( 'date_format' ) => 'custom',
1018
+ ),
1019
+ )
1020
+ );
1021
+
1022
+ $this->add_control(
1023
+ 'date_meta_key',
1024
+ array(
1025
+ 'label' => __( 'Custom Meta Key', 'powerpack' ),
1026
+ 'description' => __( 'Display the post date stored in custom meta key.', 'powerpack' ),
1027
+ 'type' => Controls_Manager::TEXT,
1028
+ 'label_block' => false,
1029
+ 'default' => '',
1030
+ 'dynamic' => array(
1031
+ 'active' => true,
1032
+ ),
1033
+ 'condition' => array(
1034
+ $this->get_control_id( 'post_meta' ) => 'yes',
1035
+ $this->get_control_id( 'show_date' ) => 'yes',
1036
+ $this->get_control_id( 'date_format' ) => 'key',
1037
+ ),
1038
+ )
1039
+ );
1040
+
1041
+ $this->add_control(
1042
+ 'date_icon',
1043
+ array(
1044
+ 'label' => __( 'Date Icon', 'powerpack' ),
1045
+ 'type' => Controls_Manager::ICON,
1046
+ 'default' => '',
1047
+ 'condition' => array(
1048
+ $this->get_control_id( 'post_meta' ) => 'yes',
1049
+ $this->get_control_id( 'show_date' ) => 'yes',
1050
+ ),
1051
+ )
1052
+ );
1053
+
1054
+ $this->add_control(
1055
+ 'date_prefix',
1056
+ array(
1057
+ 'label' => __( 'Prefix', 'powerpack' ),
1058
+ 'type' => Controls_Manager::TEXT,
1059
+ 'default' => '',
1060
+ 'condition' => array(
1061
+ $this->get_control_id( 'post_meta' ) => 'yes',
1062
+ $this->get_control_id( 'show_date' ) => 'yes',
1063
+ ),
1064
+ )
1065
+ );
1066
+
1067
+ $this->add_control(
1068
+ 'heading_post_comments',
1069
+ array(
1070
+ 'label' => __( 'Post Comments', 'powerpack' ),
1071
+ 'type' => Controls_Manager::HEADING,
1072
+ 'separator' => 'before',
1073
+ 'condition' => array(
1074
+ $this->get_control_id( 'post_meta' ) => 'yes',
1075
+ ),
1076
+ )
1077
+ );
1078
+
1079
+ $this->add_control(
1080
+ 'show_comments',
1081
+ array(
1082
+ 'label' => __( 'Show Post Comments', 'powerpack' ),
1083
+ 'type' => Controls_Manager::SWITCHER,
1084
+ 'default' => 'yes',
1085
+ 'label_on' => __( 'Yes', 'powerpack' ),
1086
+ 'label_off' => __( 'No', 'powerpack' ),
1087
+ 'return_value' => 'yes',
1088
+ 'condition' => array(
1089
+ $this->get_control_id( 'post_meta' ) => 'yes',
1090
+ ),
1091
+ )
1092
+ );
1093
+
1094
+ $this->add_control(
1095
+ 'comments_icon',
1096
+ array(
1097
+ 'label' => __( 'Comments Icon', 'powerpack' ),
1098
+ 'type' => Controls_Manager::ICON,
1099
+ 'default' => '',
1100
+ 'condition' => array(
1101
+ $this->get_control_id( 'post_meta' ) => 'yes',
1102
+ $this->get_control_id( 'show_comments' ) => 'yes',
1103
+ ),
1104
+ )
1105
+ );
1106
+
1107
+ $this->end_controls_section();
1108
+ }
1109
+
1110
+ protected function register_button_controls() {
1111
+
1112
+ $this->start_controls_section(
1113
+ 'section_button',
1114
+ array(
1115
+ 'label' => __( 'Read More Button', 'powerpack' ),
1116
+ )
1117
+ );
1118
+
1119
+ $this->add_control(
1120
+ 'show_button',
1121
+ array(
1122
+ 'label' => __( 'Show Button', 'powerpack' ),
1123
+ 'type' => Controls_Manager::SWITCHER,
1124
+ 'default' => '',
1125
+ 'label_on' => __( 'Yes', 'powerpack' ),
1126
+ 'label_off' => __( 'No', 'powerpack' ),
1127
+ 'return_value' => 'yes',
1128
+ )
1129
+ );
1130
+
1131
+ $this->add_control(
1132
+ 'button_text',
1133
+ array(
1134
+ 'label' => __( 'Button Text', 'powerpack' ),
1135
+ 'type' => Controls_Manager::TEXT,
1136
+ 'dynamic' => array(
1137
+ 'active' => true,
1138
+ ),
1139
+ 'default' => __( 'Read More', 'powerpack' ),
1140
+ 'condition' => array(
1141
+ $this->get_control_id( 'show_button' ) => 'yes',
1142
+ ),
1143
+ )
1144
+ );
1145
+
1146
+ $this->add_control(
1147
+ 'button_icon',
1148
+ array(
1149
+ 'label' => __( 'Button Icon', 'powerpack' ),
1150
+ 'type' => Controls_Manager::ICON,
1151
+ 'default' => '',
1152
+ 'condition' => array(
1153
+ $this->get_control_id( 'show_button' ) => 'yes',
1154
+ ),
1155
+ )
1156
+ );
1157
+
1158
+ $this->add_control(
1159
+ 'button_icon_position',
1160
+ array(
1161
+ 'label' => __( 'Icon Position', 'powerpack' ),
1162
+ 'type' => Controls_Manager::SELECT,
1163
+ 'default' => 'after',
1164
+ 'options' => array(
1165
+ 'after' => __( 'After', 'powerpack' ),
1166
+ 'before' => __( 'Before', 'powerpack' ),
1167
+ ),
1168
+ 'condition' => array(
1169
+ $this->get_control_id( 'show_button' ) => 'yes',
1170
+ $this->get_control_id( 'button_icon!' ) => '',
1171
+ ),
1172
+ )
1173
+ );
1174
+
1175
+ $this->end_controls_section();
1176
+ }
1177
+
1178
+ public function register_pagination_controls() {
1179
+ $this->start_controls_section(
1180
+ 'section_pagination',
1181
+ array(
1182
+ 'label' => __( 'Pagination', 'powerpack' ),
1183
+ 'condition' => array(
1184
+ $this->get_control_id( 'layout!' ) => 'carousel',
1185
+ ),
1186
+ )
1187
+ );
1188
+
1189
+ $this->add_control(
1190
+ 'pagination_type',
1191
+ array(
1192
+ 'label' => __( 'Pagination', 'powerpack' ),
1193
+ 'type' => Controls_Manager::SELECT,
1194
+ 'default' => 'none',
1195
+ 'options' => array(
1196
+ 'none' => __( 'None', 'powerpack' ),
1197
+ 'numbers' => __( 'Numbers', 'powerpack' ),
1198
+ 'numbers_and_prev_next' => __( 'Numbers', 'powerpack' ) . ' + ' . __( 'Previous/Next', 'powerpack' ),
1199
+ 'load_more' => __( 'Load More Button', 'powerpack' ),
1200
+ 'infinite' => __( 'Infinite', 'powerpack' ),
1201
+ ),
1202
+ 'condition' => array(
1203
+ $this->get_control_id( 'layout!' ) => 'carousel',
1204
+ ),
1205
+ )
1206
+ );
1207
+
1208
+ $this->add_control(
1209
+ 'pagination_notice',
1210
+ array(
1211
+ 'label' => '',
1212
+ 'type' => Controls_Manager::RAW_HTML,
1213
+ 'raw' => __( 'This pagination option is available in PowerPack Pro.', 'powerpack' ) . ' ' . apply_filters( 'upgrade_powerpack_message', sprintf( __( 'Upgrade to %1$s Pro Version %2$s for 70+ widgets, exciting extensions and advanced features.', 'powerpack' ), '<a href="#" target="_blank" rel="noopener">', '</a>' ) ),
1214
+ 'content_classes' => 'upgrade-powerpack-notice elementor-panel-alert elementor-panel-alert-info',
1215
+ 'condition' => array(
1216
+ $this->get_control_id( 'layout!' ) => 'carousel',
1217
+ $this->get_control_id( 'pagination_type' ) => array(
1218
+ 'load_more',
1219
+ 'infinite',
1220
+ ),
1221
+ ),
1222
+ )
1223
+ );
1224
+
1225
+ $this->add_control(
1226
+ 'pagination_position',
1227
+ array(
1228
+ 'label' => __( 'Pagination Position', 'powerpack' ),
1229
+ 'type' => Controls_Manager::SELECT,
1230
+ 'default' => 'bottom',
1231
+ 'options' => array(
1232
+ 'top' => __( 'Top', 'powerpack' ),
1233
+ 'bottom' => __( 'Bottom', 'powerpack' ),
1234
+ 'top-bottom' => __( 'Top', 'powerpack' ) . ' + ' . __( 'Bottom', 'powerpack' ),
1235
+ ),
1236
+ 'condition' => array(
1237
+ $this->get_control_id( 'layout!' ) => 'carousel',
1238
+ $this->get_control_id( 'pagination_type' ) => array(
1239
+ 'numbers',
1240
+ 'numbers_and_prev_next',
1241
+ ),
1242
+ ),
1243
+ )
1244
+ );
1245
+
1246
+ $this->add_control(
1247
+ 'pagination_ajax',
1248
+ array(
1249
+ 'label' => __( 'Ajax Pagination', 'powerpack' ),
1250
+ 'type' => Controls_Manager::SWITCHER,
1251
+ 'default' => 'yes',
1252
+ 'condition' => array(
1253
+ $this->get_control_id( 'layout!' ) => 'carousel',
1254
+ $this->get_control_id( 'pagination_type' ) => array(
1255
+ 'numbers',
1256
+ 'numbers_and_prev_next',
1257
+ ),
1258
+ ),
1259
+ )
1260
+ );
1261
+
1262
+ $this->add_control(
1263
+ 'pagination_page_limit',
1264
+ array(
1265
+ 'label' => __( 'Page Limit', 'powerpack' ),
1266
+ 'type' => Controls_Manager::NUMBER,
1267
+ 'default' => 5,
1268
+ 'condition' => array(
1269
+ $this->get_control_id( 'layout!' ) => 'carousel',
1270
+ $this->get_control_id( 'pagination_type' ) => array(
1271
+ 'numbers',
1272
+ 'numbers_and_prev_next',
1273
+ ),
1274
+ ),
1275
+ )
1276
+ );
1277
+
1278
+ $this->add_control(
1279
+ 'pagination_numbers_shorten',
1280
+ array(
1281
+ 'label' => __( 'Shorten', 'powerpack' ),
1282
+ 'type' => Controls_Manager::SWITCHER,
1283
+ 'default' => '',
1284
+ 'condition' => array(
1285
+ $this->get_control_id( 'layout!' ) => 'carousel',
1286
+ $this->get_control_id( 'pagination_type' ) => array(
1287
+ 'numbers',
1288
+ 'numbers_and_prev_next',
1289
+ ),
1290
+ ),
1291
+ )
1292
+ );
1293
+
1294
+ $this->add_control(
1295
+ 'pagination_prev_label',
1296
+ array(
1297
+ 'label' => __( 'Previous Label', 'powerpack' ),
1298
+ 'default' => __( '&laquo; Previous', 'powerpack' ),
1299
+ 'condition' => array(
1300
+ $this->get_control_id( 'layout!' ) => 'carousel',
1301
+ $this->get_control_id( 'pagination_type' ) => 'numbers_and_prev_next',
1302
+ ),
1303
+ )
1304
+ );
1305
+
1306
+ $this->add_control(
1307
+ 'pagination_next_label',
1308
+ array(
1309
+ 'label' => __( 'Next Label', 'powerpack' ),
1310
+ 'default' => __( 'Next &raquo;', 'powerpack' ),
1311
+ 'condition' => array(
1312
+ $this->get_control_id( 'layout!' ) => 'carousel',
1313
+ $this->get_control_id( 'pagination_type' ) => 'numbers_and_prev_next',
1314
+ ),
1315
+ )
1316
+ );
1317
+
1318
+ $this->add_control(
1319
+ 'pagination_align',
1320
+ array(
1321
+ 'label' => __( 'Alignment', 'powerpack' ),
1322
+ 'type' => Controls_Manager::CHOOSE,
1323
+ 'options' => array(
1324
+ 'left' => array(
1325
+ 'title' => __( 'Left', 'powerpack' ),
1326
+ 'icon' => 'fa fa-align-left',
1327
+ ),
1328
+ 'center' => array(
1329
+ 'title' => __( 'Center', 'powerpack' ),
1330
+ 'icon' => 'fa fa-align-center',
1331
+ ),
1332
+ 'right' => array(
1333
+ 'title' => __( 'Right', 'powerpack' ),
1334
+ 'icon' => 'fa fa-align-right',
1335
+ ),
1336
+ ),
1337
+ 'default' => 'center',
1338
+ 'selectors' => array(
1339
+ '{{WRAPPER}} .pp-posts-pagination-wrap' => 'text-align: {{VALUE}};',
1340
+ ),
1341
+ 'condition' => array(
1342
+ $this->get_control_id( 'layout!' ) => 'carousel',
1343
+ $this->get_control_id( 'pagination_type' ) => array(
1344
+ 'numbers',
1345
+ 'numbers_and_prev_next',
1346
+ ),
1347
+ ),
1348
+ )
1349
+ );
1350
+
1351
+ $this->end_controls_section();
1352
+ }
1353
+
1354
+ /**
1355
+ * Content Tab: Order
1356
+ *
1357
+ * @since 1.4.11.0
1358
+ * @access protected
1359
+ */
1360
+ protected function register_content_order() {
1361
+
1362
+ $this->start_controls_section(
1363
+ 'section_order',
1364
+ array(
1365
+ 'label' => __( 'Order', 'powerpack' ),
1366
+ )
1367
+ );
1368
+
1369
+ $this->add_control(
1370
+ 'content_parts_order_heading',
1371
+ array(
1372
+ 'label' => __( 'Content Parts', 'powerpack' ),
1373
+ 'type' => Controls_Manager::HEADING,
1374
+ )
1375
+ );
1376
+
1377
+ $this->add_control(
1378
+ 'thumbnail_order',
1379
+ array(
1380
+ 'label' => __( 'Thumbnail', 'powerpack' ),
1381
+ 'type' => Controls_Manager::NUMBER,
1382
+ 'default' => 1,
1383
+ 'min' => 1,
1384
+ 'max' => 10,
1385
+ 'step' => 1,
1386
+ 'condition' => array(
1387
+ $this->get_control_id( 'show_thumbnail' ) => 'yes',
1388
+ $this->get_control_id( 'thumbnail_location' ) => 'inside',
1389
+ ),
1390
+ )
1391
+ );
1392
+
1393
+ $this->add_control(
1394
+ 'terms_order',
1395
+ array(
1396
+ 'label' => __( 'Terms', 'powerpack' ),
1397
+ 'type' => Controls_Manager::NUMBER,
1398
+ 'default' => 1,
1399
+ 'min' => 1,
1400
+ 'max' => 10,
1401
+ 'step' => 1,
1402
+ 'condition' => array(
1403
+ $this->get_control_id( 'post_terms' ) => 'yes',
1404
+ ),
1405
+ )
1406
+ );
1407
+
1408
+ $this->add_control(
1409
+ 'title_order',
1410
+ array(
1411
+ 'label' => __( 'Title', 'powerpack' ),
1412
+ 'type' => Controls_Manager::NUMBER,
1413
+ 'default' => 1,
1414
+ 'min' => 1,
1415
+ 'max' => 10,
1416
+ 'step' => 1,
1417
+ 'condition' => array(
1418
+ $this->get_control_id( 'post_title' ) => 'yes',
1419
+ ),
1420
+ )
1421
+ );
1422
+
1423
+ $this->add_control(
1424
+ 'meta_order',
1425
+ array(
1426
+ 'label' => __( 'Meta', 'powerpack' ),
1427
+ 'type' => Controls_Manager::NUMBER,
1428
+ 'default' => 1,
1429
+ 'min' => 1,
1430
+ 'max' => 10,
1431
+ 'step' => 1,
1432
+ 'condition' => array(
1433
+ $this->get_control_id( 'post_meta' ) => 'yes',
1434
+ ),
1435
+ )
1436
+ );
1437
+
1438
+ $this->add_control(
1439
+ 'excerpt_order',
1440
+ array(
1441
+ 'label' => __( 'Excerpt', 'powerpack' ),
1442
+ 'type' => Controls_Manager::NUMBER,
1443
+ 'default' => 1,
1444
+ 'min' => 1,
1445
+ 'max' => 10,
1446
+ 'step' => 1,
1447
+ 'condition' => array(
1448
+ $this->get_control_id( 'show_excerpt' ) => 'yes',
1449
+ ),
1450
+ )
1451
+ );
1452
+
1453
+ $this->add_control(
1454
+ 'button_order',
1455
+ array(
1456
+ 'label' => __( 'Read More Button', 'powerpack' ),
1457
+ 'type' => Controls_Manager::NUMBER,
1458
+ 'default' => 1,
1459
+ 'min' => 1,
1460
+ 'max' => 10,
1461
+ 'step' => 1,
1462
+ 'condition' => array(
1463
+ $this->get_control_id( 'show_button' ) => 'yes',
1464
+ ),
1465
+ )
1466
+ );
1467
+
1468
+ $this->add_control(
1469
+ 'meta_order_heading',
1470
+ array(
1471
+ 'label' => __( 'Post Meta', 'powerpack' ),
1472
+ 'type' => Controls_Manager::HEADING,
1473
+ 'separator' => 'before',
1474
+ 'condition' => array(
1475
+ $this->get_control_id( 'post_meta' ) => 'yes',
1476
+ ),
1477
+ )
1478
+ );
1479
+
1480
+ $this->add_control(
1481
+ 'author_order',
1482
+ array(
1483
+ 'label' => __( 'Author', 'powerpack' ),
1484
+ 'type' => Controls_Manager::NUMBER,
1485
+ 'default' => 1,
1486
+ 'min' => 1,
1487
+ 'max' => 10,
1488
+ 'step' => 1,
1489
+ 'condition' => array(
1490
+ $this->get_control_id( 'post_meta' ) => 'yes',
1491
+ $this->get_control_id( 'show_author' ) => 'yes',
1492
+ ),
1493
+ )
1494
+ );
1495
+
1496
+ $this->add_control(
1497
+ 'date_order',
1498
+ array(
1499
+ 'label' => __( 'Date', 'powerpack' ),
1500
+ 'type' => Controls_Manager::NUMBER,
1501
+ 'default' => 1,
1502
+ 'min' => 1,
1503
+ 'max' => 10,
1504
+ 'step' => 1,
1505
+ 'condition' => array(
1506
+ $this->get_control_id( 'post_meta' ) => 'yes',
1507
+ $this->get_control_id( 'show_date' ) => 'yes',
1508
+ ),
1509
+ )
1510
+ );
1511
+
1512
+ $this->add_control(
1513
+ 'comments_order',
1514
+ array(
1515
+ 'label' => __( 'Comments', 'powerpack' ),
1516
+ 'type' => Controls_Manager::NUMBER,
1517
+ 'default' => 1,
1518
+ 'min' => 1,
1519
+ 'max' => 10,
1520
+ 'step' => 1,
1521
+ 'condition' => array(
1522
+ $this->get_control_id( 'post_meta' ) => 'yes',
1523
+ $this->get_control_id( 'show_comments' ) => 'yes',
1524
+ ),
1525
+ )
1526
+ );
1527
+
1528
+ $this->end_controls_section();
1529
+ }
1530
+
1531
+ /**
1532
+ * Content Tab: Help Docs
1533
+ *
1534
+ * @since 2.1.0
1535
+ * @access protected
1536
+ */
1537
+ protected function register_content_help_docs() {
1538
+
1539
+ $help_docs = PP_Config::get_widget_help_links( 'Posts' );
1540
+
1541
+ if ( ! empty( $help_docs ) ) {
1542
+
1543
+ /**
1544
+ * Content Tab: Help Docs
1545
+ *
1546
+ * @since 2.1.0
1547
+ * @access protected
1548
+ */
1549
+ $this->start_controls_section(
1550
+ 'section_help_docs',
1551
+ array(
1552
+ 'label' => __( 'Help Docs', 'powerpack' ),
1553
+ )
1554
+ );
1555
+
1556
+ $hd_counter = 1;
1557
+ foreach ( $help_docs as $hd_title => $hd_link ) {
1558
+ $this->add_control(
1559
+ 'help_doc_' . $hd_counter,
1560
+ array(
1561
+ 'type' => Controls_Manager::RAW_HTML,
1562
+ 'raw' => sprintf( '%1$s ' . $hd_title . ' %2$s', '<a href="' . $hd_link . '" target="_blank" rel="noopener">', '</a>' ),
1563
+ 'content_classes' => 'pp-editor-doc-links',
1564
+ )
1565
+ );
1566
+
1567
+ $hd_counter++;
1568
+ }
1569
+
1570
+ $this->end_controls_section();
1571
+ }
1572
+ }
1573
+
1574
+ /**
1575
+ * Content Tab: Upgrade pro section
1576
+ *
1577
+ * @since 2.1.0
1578
+ * @access protected
1579
+ */
1580
+ protected function register_content_upgrade_pro_controls() {
1581
+ if ( ! is_pp_elements_active() ) {
1582
+ $this->start_controls_section(
1583
+ 'section_upgrade_powerpack',
1584
+ array(
1585
+ 'label' => apply_filters( 'upgrade_powerpack_title', __( 'Get PowerPack Pro', 'powerpack' ) ),
1586
+ 'tab' => Controls_Manager::TAB_CONTENT,
1587
+ )
1588
+ );
1589
+
1590
+ $this->add_control(
1591
+ 'upgrade_powerpack_notice',
1592
+ array(
1593
+ 'label' => '',
1594
+ 'type' => Controls_Manager::RAW_HTML,
1595
+ 'raw' => apply_filters( 'upgrade_powerpack_message', sprintf( __( 'Upgrade to %1$s Pro Version %2$s for 70+ widgets, exciting extensions and advanced features.', 'powerpack' ), '<a href="#" target="_blank" rel="noopener">', '</a>' ) ),
1596
+ 'content_classes' => 'upgrade-powerpack-notice elementor-panel-alert elementor-panel-alert-info',
1597
+ )
1598
+ );
1599
+
1600
+ $this->end_controls_section();
1601
+ }
1602
+ }
1603
+
1604
+ /*-----------------------------------------------------------------------------------*/
1605
+ /* STYLE TAB
1606
+ /*-----------------------------------------------------------------------------------*/
1607
+
1608
+ /**
1609
+ * Style Tab: Layout
1610
+ */
1611
+ protected function register_style_layout_controls() {
1612
+
1613
+ $this->start_controls_section(
1614
+ 'section_layout_style',
1615
+ array(
1616
+ 'label' => __( 'Layout', 'powerpack' ),
1617
+ 'tab' => Controls_Manager::TAB_STYLE,
1618
+ )
1619
+ );
1620
+
1621
+ $this->add_responsive_control(
1622
+ 'posts_horizontal_spacing',
1623
+ array(
1624
+ 'label' => __( 'Column Spacing', 'powerpack' ),
1625
+ 'type' => Controls_Manager::SLIDER,
1626
+ 'range' => array(
1627
+ 'px' => array(
1628
+ 'min' => 0,
1629
+ 'max' => 100,
1630
+ ),
1631
+ ),
1632
+ 'default' => array(
1633
+ 'size' => 25,
1634
+ ),
1635
+ 'selectors' => array(
1636
+ '{{WRAPPER}} .pp-post-wrap' => 'padding-left: calc( {{SIZE}}{{UNIT}}/2 ); padding-right: calc( {{SIZE}}{{UNIT}}/2 );',
1637
+ '{{WRAPPER}} .pp-posts' => 'margin-left: calc( -{{SIZE}}{{UNIT}}/2 ); margin-right: calc( -{{SIZE}}{{UNIT}}/2 );',
1638
+ ),
1639
+ )
1640
+ );
1641
+
1642
+ $this->add_responsive_control(
1643
+ 'posts_vertical_spacing',
1644
+ array(
1645
+ 'label' => __( 'Row Spacing', 'powerpack' ),
1646
+ 'type' => Controls_Manager::SLIDER,
1647
+ 'range' => array(
1648
+ 'px' => array(
1649
+ 'min' => 0,
1650
+ 'max' => 100,
1651
+ ),
1652
+ ),
1653
+ 'default' => array(
1654
+ 'size' => 25,
1655
+ ),
1656
+ 'selectors' => array(
1657
+ '{{WRAPPER}} .pp-elementor-grid .pp-grid-item-wrap' => 'margin-bottom: {{SIZE}}{{UNIT}};',
1658
+ ),
1659
+ 'condition' => array(
1660
+ $this->get_control_id( 'layout!' ) => 'carousel',
1661
+ ),
1662
+ )
1663
+ );
1664
+
1665
+ $this->end_controls_section();
1666
+ }
1667
+
1668
+ /**
1669
+ * Style Tab: Box
1670
+ */
1671
+ protected function register_style_box_controls() {
1672
+ $this->start_controls_section(
1673
+ 'section_post_box_style',
1674
+ array(
1675
+ 'label' => __( 'Box', 'powerpack' ),
1676
+ 'tab' => Controls_Manager::TAB_STYLE,
1677
+ )
1678
+ );
1679
+
1680
+ $this->start_controls_tabs( 'tabs_post_box_style' );
1681
+
1682
+ $this->start_controls_tab(
1683
+ 'tab_post_box_normal',
1684
+ array(
1685
+ 'label' => __( 'Normal', 'powerpack' ),
1686
+ )
1687
+ );
1688
+
1689
+ $this->add_control(
1690
+ 'post_box_bg',
1691
+ array(
1692
+ 'label' => __( 'Background Color', 'powerpack' ),
1693
+ 'type' => Controls_Manager::COLOR,
1694
+ 'default' => '',
1695
+ 'selectors' => array(
1696
+ '{{WRAPPER}} .pp-post' => 'background-color: {{VALUE}};',
1697
+ ),
1698
+ )
1699
+ );
1700
+
1701
+ $this->add_group_control(
1702
+ Group_Control_Border::get_type(),
1703
+ array(
1704
+ 'name' => 'post_box_border',
1705
+ 'label' => __( 'Border', 'powerpack' ),
1706
+ 'placeholder' => '1px',
1707
+ 'default' => '1px',
1708
+ 'selector' => '{{WRAPPER}} .pp-post',
1709
+ )
1710
+ );
1711
+
1712
+ $this->add_responsive_control(
1713
+ 'post_box_border_radius',
1714
+ array(
1715
+ 'label' => __( 'Border Radius', 'powerpack' ),
1716
+ 'type' => Controls_Manager::DIMENSIONS,
1717
+ 'size_units' => array( 'px', '%' ),
1718
+ 'selectors' => array(
1719
+ '{{WRAPPER}} .pp-post' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1720
+ ),
1721
+ )
1722
+ );
1723
+
1724
+ $this->add_responsive_control(
1725
+ 'post_box_padding',
1726
+ array(
1727
+ 'label' => __( 'Padding', 'powerpack' ),
1728
+ 'type' => Controls_Manager::DIMENSIONS,
1729
+ 'size_units' => array( 'px', 'em', '%' ),
1730
+ 'selectors' => array(
1731
+ '{{WRAPPER}} .pp-post' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1732
+ ),
1733
+ )
1734
+ );
1735
+
1736
+ $this->add_group_control(
1737
+ Group_Control_Box_Shadow::get_type(),
1738
+ array(
1739
+ 'name' => 'post_box_shadow',
1740
+ 'selector' => '{{WRAPPER}} .pp-post',
1741
+ )
1742
+ );
1743
+
1744
+ $this->end_controls_tab();
1745
+
1746
+ $this->start_controls_tab(
1747
+ 'tab_post_box_hover',
1748
+ array(
1749
+ 'label' => __( 'Hover', 'powerpack' ),
1750
+ )
1751
+ );
1752
+
1753
+ $this->add_control(
1754
+ 'post_box_bg_hover',
1755
+ array(
1756
+ 'label' => __( 'Background Color', 'powerpack' ),
1757
+ 'type' => Controls_Manager::COLOR,
1758
+ 'default' => '',
1759
+ 'selectors' => array(
1760
+ '{{WRAPPER}} .pp-post:hover' => 'background-color: {{VALUE}};',
1761
+ ),
1762
+ )
1763
+ );
1764
+
1765
+ $this->add_control(
1766
+ 'post_box_border_color_hover',
1767
+ array(
1768
+ 'label' => __( 'Border Color', 'powerpack' ),
1769
+ 'type' => Controls_Manager::COLOR,
1770
+ 'default' => '',
1771
+ 'selectors' => array(
1772
+ '{{WRAPPER}} .pp-post:hover' => 'border-color: {{VALUE}};',
1773
+ ),
1774
+ )
1775
+ );
1776
+
1777
+ $this->add_group_control(
1778
+ Group_Control_Box_Shadow::get_type(),
1779
+ array(
1780
+ 'name' => 'post_box_shadow_hover',
1781
+ 'selector' => '{{WRAPPER}} .pp-post:hover',
1782
+ )
1783
+ );
1784
+
1785
+ $this->end_controls_tab();
1786
+ $this->end_controls_tabs();
1787
+
1788
+ $this->end_controls_section();
1789
+ }
1790
+
1791
+ /**
1792
+ * Style Tab: Content Container
1793
+ */
1794
+ protected function register_style_content_controls() {
1795
+ $this->start_controls_section(
1796
+ 'section_post_content_style',
1797
+ array(
1798
+ 'label' => __( 'Content Container', 'powerpack' ),
1799
+ 'tab' => Controls_Manager::TAB_STYLE,
1800
+ )
1801
+ );
1802
+
1803
+ $this->add_control(
1804
+ 'post_content_align',
1805
+ array(
1806
+ 'label' => __( 'Alignment', 'powerpack' ),
1807
+ 'type' => Controls_Manager::CHOOSE,
1808
+ 'label_block' => false,
1809
+ 'options' => array(
1810
+ 'left' => array(
1811
+ 'title' => __( 'Left', 'powerpack' ),
1812
+ 'icon' => 'fa fa-align-left',
1813
+ ),
1814
+ 'center' => array(
1815
+ 'title' => __( 'Center', 'powerpack' ),
1816
+ 'icon' => 'fa fa-align-center',
1817
+ ),
1818
+ 'right' => array(
1819
+ 'title' => __( 'Right', 'powerpack' ),
1820
+ 'icon' => 'fa fa-align-right',
1821
+ ),
1822
+ ),
1823
+ 'default' => '',
1824
+ 'selectors' => array(
1825
+ '{{WRAPPER}} .pp-post-content' => 'text-align: {{VALUE}};',
1826
+ ),
1827
+ )
1828
+ );
1829
+
1830
+ $this->add_control(
1831
+ 'post_content_bg',
1832
+ array(
1833
+ 'label' => __( 'Background Color', 'powerpack' ),
1834
+ 'type' => Controls_Manager::COLOR,
1835
+ 'default' => '',
1836
+ 'selectors' => array(
1837
+ '{{WRAPPER}} .pp-post-content' => 'background-color: {{VALUE}};',
1838
+ ),
1839
+ )
1840
+ );
1841
+
1842
+ $this->add_responsive_control(
1843
+ 'post_content_border_radius',
1844
+ array(
1845
+ 'label' => __( 'Border Radius', 'powerpack' ),
1846
+ 'type' => Controls_Manager::DIMENSIONS,
1847
+ 'size_units' => array( 'px', '%' ),
1848
+ 'selectors' => array(
1849
+ '{{WRAPPER}} .pp-post-content' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1850
+ ),
1851
+ )
1852
+ );
1853
+
1854
+ $this->add_responsive_control(
1855
+ 'post_content_padding',
1856
+ array(
1857
+ 'label' => __( 'Padding', 'powerpack' ),
1858
+ 'type' => Controls_Manager::DIMENSIONS,
1859
+ 'size_units' => array( 'px', 'em', '%' ),
1860
+ 'selectors' => array(
1861
+ '{{WRAPPER}} .pp-post-content' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1862
+ ),
1863
+ )
1864
+ );
1865
+
1866
+ $this->end_controls_section();
1867
+ }
1868
+
1869
+ /**
1870
+ * Style Tab: Image
1871
+ */
1872
+ protected function register_style_image_controls() {
1873
+ $this->start_controls_section(
1874
+ 'section_image_style',
1875
+ array(
1876
+ 'label' => __( 'Image', 'powerpack' ),
1877
+ 'tab' => Controls_Manager::TAB_STYLE,
1878
+ 'condition' => array(
1879
+ $this->get_control_id( 'show_thumbnail' ) => 'yes',
1880
+ ),
1881
+ )
1882
+ );
1883
+
1884
+ $this->add_responsive_control(
1885
+ 'img_border_radius',
1886
+ array(
1887
+ 'label' => __( 'Border Radius', 'powerpack' ),
1888
+ 'type' => Controls_Manager::DIMENSIONS,
1889
+ 'size_units' => array( 'px', '%' ),
1890
+ 'selectors' => array(
1891
+ '{{WRAPPER}} .pp-post-thumbnail, {{WRAPPER}} .pp-post-thumbnail img' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1892
+ ),
1893
+ 'condition' => array(
1894
+ $this->get_control_id( 'show_thumbnail' ) => 'yes',
1895
+ ),
1896
+ )
1897
+ );
1898
+
1899
+ $this->add_responsive_control(
1900
+ 'image_spacing',
1901
+ array(
1902
+ 'label' => __( 'Spacing', 'powerpack' ),
1903
+ 'type' => Controls_Manager::SLIDER,
1904
+ 'range' => array(
1905
+ 'px' => array(
1906
+ 'max' => 100,
1907
+ ),
1908
+ ),
1909
+ 'default' => array(
1910
+ 'size' => 20,
1911
+ ),
1912
+ 'selectors' => array(
1913
+ '{{WRAPPER}} .pp-post-thumbnail' => 'margin-bottom: {{SIZE}}{{UNIT}}',
1914
+ ),
1915
+ 'condition' => array(
1916
+ $this->get_control_id( 'show_thumbnail' ) => 'yes',
1917
+ ),
1918
+ )
1919
+ );
1920
+
1921
+ $this->start_controls_tabs( 'thumbnail_effects_tabs' );
1922
+
1923
+ $this->start_controls_tab(
1924
+ 'normal',
1925
+ array(
1926
+ 'label' => __( 'Normal', 'powerpack' ),
1927
+ 'condition' => array(
1928
+ $this->get_control_id( 'show_thumbnail' ) => 'yes',
1929
+ ),
1930
+ )
1931
+ );
1932
+
1933
+ $this->add_group_control(
1934
+ Group_Control_Css_Filter::get_type(),
1935
+ array(
1936
+ 'name' => 'thumbnail_filters',
1937
+ 'selector' => '{{WRAPPER}} .pp-post-thumbnail img',
1938
+ 'condition' => array(
1939
+ $this->get_control_id( 'show_thumbnail' ) => 'yes',
1940
+ ),
1941
+ )
1942
+ );
1943
+
1944
+ $this->add_group_control(
1945
+ Group_Control_Transition::get_type(),
1946
+ array(
1947
+ 'name' => 'image_transition',
1948
+ 'selector' => '{{WRAPPER}} .pp-post-thumbnail img',
1949
+ 'separator' => '',
1950
+ 'condition' => array(
1951
+ $this->get_control_id( 'show_thumbnail' ) => 'yes',
1952
+ ),
1953
+ )
1954
+ );
1955
+
1956
+ $this->end_controls_tab();
1957
+
1958
+ $this->start_controls_tab(
1959
+ 'hover',
1960
+ array(
1961
+ 'label' => __( 'Hover', 'powerpack' ),
1962
+ 'condition' => array(
1963
+ $this->get_control_id( 'show_thumbnail' ) => 'yes',
1964
+ ),
1965
+ )
1966
+ );
1967
+
1968
+ $this->add_group_control(
1969
+ Group_Control_Css_Filter::get_type(),
1970
+ array(
1971
+ 'name' => 'thumbnail_hover_filters',
1972
+ 'selector' => '{{WRAPPER}} .pp-post:hover .pp-post-thumbnail img',
1973
+ 'condition' => array(
1974
+ $this->get_control_id( 'show_thumbnail' ) => 'yes',
1975
+ ),
1976
+ )
1977
+ );
1978
+
1979
+ $this->end_controls_tab();
1980
+
1981
+ $this->end_controls_tabs();
1982
+
1983
+ $this->end_controls_section();
1984
+ }
1985
+
1986
+ /**
1987
+ * Style Tab: Title
1988
+ */
1989
+ protected function register_style_title_controls() {
1990
+ $this->start_controls_section(
1991
+ 'section_title_style',
1992
+ array(
1993
+ 'label' => __( 'Title', 'powerpack' ),
1994
+ 'tab' => Controls_Manager::TAB_STYLE,
1995
+ 'condition' => array(
1996
+ $this->get_control_id( 'post_title' ) => 'yes',
1997
+ ),
1998
+ )
1999
+ );
2000
+
2001
+ $this->add_control(
2002
+ 'title_color',
2003
+ array(
2004
+ 'label' => __( 'Color', 'powerpack' ),
2005
+ 'type' => Controls_Manager::COLOR,
2006
+ 'scheme' => array(
2007
+ 'type' => Scheme_Color::get_type(),
2008
+ 'value' => Scheme_Color::COLOR_2,
2009
+ ),
2010
+ 'selectors' => array(
2011
+ '{{WRAPPER}} .pp-post-title, {{WRAPPER}} .pp-post-title a' => 'color: {{VALUE}}',
2012
+ ),
2013
+ 'condition' => array(
2014
+ $this->get_control_id( 'post_title' ) => 'yes',
2015
+ ),
2016
+ )
2017
+ );
2018
+
2019
+ $this->add_control(
2020
+ 'title_color_hover',
2021
+ array(
2022
+ 'label' => __( 'Hover Color', 'powerpack' ),
2023
+ 'type' => Controls_Manager::COLOR,
2024
+ 'scheme' => array(
2025
+ 'type' => Scheme_Color::get_type(),
2026
+ 'value' => Scheme_Color::COLOR_2,
2027
+ ),
2028
+ 'selectors' => array(
2029
+ '{{WRAPPER}} .pp-post-title a:hover' => 'color: {{VALUE}}',
2030
+ ),
2031
+ 'condition' => array(
2032
+ $this->get_control_id( 'post_title' ) => 'yes',
2033
+ $this->get_control_id( 'post_title_link' ) => 'yes',
2034
+ ),
2035
+ )
2036
+ );
2037
+
2038
+ $this->add_group_control(
2039
+ Group_Control_Typography::get_type(),
2040
+ array(
2041
+ 'name' => 'title_typography',
2042
+ 'label' => __( 'Typography', 'powerpack' ),
2043
+ 'selector' => '{{WRAPPER}} .pp-post-title',
2044
+ 'condition' => array(
2045
+ $this->get_control_id( 'post_title' ) => 'yes',
2046
+ ),
2047
+ )
2048
+ );
2049
+
2050
+ $this->add_responsive_control(
2051
+ 'title_margin_bottom',
2052
+ array(
2053
+ 'label' => __( 'Bottom Spacing', 'powerpack' ),
2054
+ 'type' => Controls_Manager::SLIDER,
2055
+ 'range' => array(
2056
+ 'px' => array(
2057
+ 'min' => 0,
2058
+ 'max' => 50,
2059
+ 'step' => 1,
2060
+ ),
2061
+ ),
2062
+ 'default' => array(
2063
+ 'size' => 10,
2064
+ ),
2065
+ 'size_units' => array( 'px' ),
2066
+ 'selectors' => array(
2067
+ '{{WRAPPER}} .pp-post-title' => 'margin-bottom: {{SIZE}}{{UNIT}};',
2068
+ ),
2069
+ 'condition' => array(
2070
+ $this->get_control_id( 'post_title' ) => 'yes',
2071
+ ),
2072
+ )
2073
+ );
2074
+
2075
+ $this->add_control(
2076
+ 'title_separator_heading',
2077
+ array(
2078
+ 'label' => __( 'Separator', 'powerpack' ),
2079
+ 'type' => Controls_Manager::HEADING,
2080
+ 'separator' => 'before',
2081
+ 'condition' => array(
2082
+ $this->get_control_id( 'post_title' ) => 'yes',
2083
+ $this->get_control_id( 'post_title_separator' ) => 'yes',
2084
+ ),
2085
+ )
2086
+ );
2087
+
2088
+ $this->add_group_control(
2089
+ Group_Control_Background::get_type(),
2090
+ array(
2091
+ 'name' => 'title_separator_background',
2092
+ 'types' => array( 'classic', 'gradient' ),
2093
+ 'selector' => '{{WRAPPER}} .pp-post-separator',
2094
+ 'exclude' => array(
2095
+ 'image',
2096
+ ),
2097
+ 'condition' => array(
2098
+ $this->get_control_id( 'post_title' ) => 'yes',
2099
+ $this->get_control_id( 'post_title_separator' ) => 'yes',
2100
+ ),
2101
+ )
2102
+ );
2103
+
2104
+ $this->add_responsive_control(
2105
+ 'title_separator_height',
2106
+ array(
2107
+ 'label' => __( 'Separator Height', 'powerpack' ),
2108
+ 'type' => Controls_Manager::SLIDER,
2109
+ 'default' => array(
2110
+ 'unit' => 'px',
2111
+ 'size' => 1,
2112
+ ),
2113
+ 'range' => array(
2114
+ 'px' => array(
2115
+ 'min' => 1,
2116
+ 'max' => 20,
2117
+ 'step' => 1,
2118
+ ),
2119
+ ),
2120
+ 'size_units' => array( 'px' ),
2121
+ 'selectors' => array(
2122
+ '{{WRAPPER}} .pp-post-separator' => 'height: {{SIZE}}{{UNIT}};',
2123
+ ),
2124
+ 'condition' => array(
2125
+ $this->get_control_id( 'post_title' ) => 'yes',
2126
+ $this->get_control_id( 'post_title_separator' ) => 'yes',
2127
+ ),
2128
+ )
2129
+ );
2130
+
2131
+ $this->add_responsive_control(
2132
+ 'title_separator_width',
2133
+ array(
2134
+ 'label' => __( 'Separator Width', 'powerpack' ),
2135
+ 'type' => Controls_Manager::SLIDER,
2136
+ 'default' => array(
2137
+ 'unit' => '%',
2138
+ 'size' => 100,
2139
+ ),
2140
+ 'range' => array(
2141
+ '%' => array(
2142
+ 'min' => 1,
2143
+ 'max' => 100,
2144
+ 'step' => 1,
2145
+ ),
2146
+ 'px' => array(
2147
+ 'min' => 10,
2148
+ 'max' => 200,
2149
+ 'step' => 1,
2150
+ ),
2151
+ ),
2152
+ 'size_units' => array( '%', 'px' ),
2153
+ 'selectors' => array(
2154
+ '{{WRAPPER}} .pp-post-separator' => 'width: {{SIZE}}{{UNIT}};',
2155
+ ),
2156
+ 'condition' => array(
2157
+ $this->get_control_id( 'post_title' ) => 'yes',
2158
+ $this->get_control_id( 'post_title_separator' ) => 'yes',
2159
+ ),
2160
+ )
2161
+ );
2162
+
2163
+ $this->add_responsive_control(
2164
+ 'title_separator_margin_bottom',
2165
+ array(
2166
+ 'label' => __( 'Spacing', 'powerpack' ),
2167
+ 'type' => Controls_Manager::SLIDER,
2168
+ 'default' => array(
2169
+ 'size' => 15,
2170
+ ),
2171
+ 'range' => array(
2172
+ 'px' => array(
2173
+ 'min' => 0,
2174
+ 'max' => 50,
2175
+ 'step' => 1,
2176
+ ),
2177
+ ),
2178
+ 'size_units' => array( 'px' ),
2179
+ 'selectors' => array(
2180
+ '{{WRAPPER}} .pp-post-separator-wrap' => 'margin-bottom: {{SIZE}}{{UNIT}};',
2181
+ ),
2182
+ 'condition' => array(
2183
+ $this->get_control_id( 'post_title' ) => 'yes',
2184
+ $this->get_control_id( 'post_title_separator' ) => 'yes',
2185
+ ),
2186
+ )
2187
+ );
2188
+
2189
+ $this->end_controls_section();
2190
+ }
2191
+
2192
+ /**
2193
+ * Style Tab: Post Terms
2194
+ */
2195
+ protected function register_style_terms_controls() {
2196
+ $this->start_controls_section(
2197
+ 'section_terms_style',
2198
+ array(
2199
+ 'label' => __( 'Post Terms', 'powerpack' ),
2200
+ 'tab' => Controls_Manager::TAB_STYLE,
2201
+ 'condition' => array(
2202
+ $this->get_control_id( 'post_terms' ) => 'yes',
2203
+ ),
2204
+ )
2205
+ );
2206
+
2207
+ $this->add_group_control(
2208
+ Group_Control_Typography::get_type(),
2209
+ array(
2210
+ 'name' => 'terms_typography',
2211
+ 'label' => __( 'Typography', 'powerpack' ),
2212
+ 'selector' => '{{WRAPPER}} .pp-post-terms',
2213
+ 'condition' => array(
2214
+ $this->get_control_id( 'post_terms' ) => 'yes',
2215
+ ),
2216
+ )
2217
+ );
2218
+
2219
+ $this->add_responsive_control(
2220
+ 'terms_margin_bottom',
2221
+ array(
2222
+ 'label' => __( 'Bottom Spacing', 'powerpack' ),
2223
+ 'type' => Controls_Manager::SLIDER,
2224
+ 'default' => array(
2225
+ 'size' => 10,
2226
+ ),
2227
+ 'range' => array(
2228
+ 'px' => array(
2229
+ 'min' => 0,
2230
+ 'max' => 50,
2231
+ 'step' => 1,
2232
+ ),
2233
+ ),
2234
+ 'size_units' => array( 'px' ),
2235
+ 'selectors' => array(
2236
+ '{{WRAPPER}} .pp-post-terms-wrap' => 'margin-bottom: {{SIZE}}{{UNIT}};',
2237
+ ),
2238
+ 'condition' => array(
2239
+ $this->get_control_id( 'post_terms' ) => 'yes',
2240
+ ),
2241
+ )
2242
+ );
2243
+
2244
+ $this->add_responsive_control(
2245
+ 'terms_gap',
2246
+ array(
2247
+ 'label' => __( 'Terms Gap', 'powerpack' ),
2248
+ 'type' => Controls_Manager::SLIDER,
2249
+ 'default' => array(
2250
+ 'size' => 5,
2251
+ ),
2252
+ 'range' => array(
2253
+ 'px' => array(
2254
+ 'min' => 0,
2255
+ 'max' => 30,
2256
+ 'step' => 1,
2257
+ ),
2258
+ ),
2259
+ 'size_units' => array( 'px' ),
2260
+ 'selectors' => array(
2261
+ '{{WRAPPER}} .pp-post-terms .pp-post-term:not(:last-child)' => 'margin-right: {{SIZE}}{{UNIT}};',
2262
+ ),
2263
+ 'condition' => array(
2264
+ $this->get_control_id( 'post_terms' ) => 'yes',
2265
+ ),
2266
+ )
2267
+ );
2268
+
2269
+ $this->start_controls_tabs( 'terms_style_tabs' );
2270
+
2271
+ $this->start_controls_tab(
2272
+ 'terms_style_normal',
2273
+ array(
2274
+ 'label' => __( 'Normal', 'powerpack' ),
2275
+ )
2276
+ );
2277
+
2278
+ $this->add_control(
2279
+ 'terms_bg_color',
2280
+ array(
2281
+ 'label' => __( 'Background Color', 'powerpack' ),
2282
+ 'type' => Controls_Manager::COLOR,
2283
+ 'selectors' => array(
2284
+ '{{WRAPPER}} .pp-post-terms' => 'background: {{VALUE}}',
2285
+ ),
2286
+ 'condition' => array(
2287
+ $this->get_control_id( 'post_terms' ) => 'yes',
2288
+ ),
2289
+ )
2290
+ );
2291
+
2292
+ $this->add_control(
2293
+ 'terms_text_color',
2294
+ array(
2295
+ 'label' => __( 'Text Color', 'powerpack' ),
2296
+ 'type' => Controls_Manager::COLOR,
2297
+ 'default' => '',
2298
+ 'selectors' => array(
2299
+ '{{WRAPPER}} .pp-post-terms' => 'color: {{VALUE}}',
2300
+ ),
2301
+ 'condition' => array(
2302
+ $this->get_control_id( 'post_terms' ) => 'yes',
2303
+ ),
2304
+ )
2305
+ );
2306
+
2307
+ $this->add_responsive_control(
2308
+ 'terms_border_radius',
2309
+ array(
2310
+ 'label' => __( 'Border Radius', 'powerpack' ),
2311
+ 'type' => Controls_Manager::DIMENSIONS,
2312
+ 'size_units' => array( 'px', '%' ),
2313
+ 'selectors' => array(
2314
+ '{{WRAPPER}} .pp-post-terms' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
2315
+ ),
2316
+ 'condition' => array(
2317
+ $this->get_control_id( 'post_terms' ) => 'yes',
2318
+ ),
2319
+ )
2320
+ );
2321
+
2322
+ $this->add_responsive_control(
2323
+ 'terms_padding',
2324
+ array(
2325
+ 'label' => __( 'Padding', 'powerpack' ),
2326
+ 'type' => Controls_Manager::DIMENSIONS,
2327
+ 'size_units' => array( 'px', 'em', '%' ),
2328
+ 'selectors' => array(
2329
+ '{{WRAPPER}} .pp-post-terms' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
2330
+ ),
2331
+ 'condition' => array(
2332
+ $this->get_control_id( 'post_terms' ) => 'yes',
2333
+ ),
2334
+ )
2335
+ );
2336
+
2337
+ $this->end_controls_tab();
2338
+
2339
+ $this->start_controls_tab(
2340
+ 'terms_style_hover',
2341
+ array(
2342
+ 'label' => __( 'Hover', 'powerpack' ),
2343
+ )
2344
+ );
2345
+
2346
+ $this->add_control(
2347
+ 'terms_bg_color_hover',
2348
+ array(
2349
+ 'label' => __( 'Background Color', 'powerpack' ),
2350
+ 'type' => Controls_Manager::COLOR,
2351
+ 'selectors' => array(
2352
+ '{{WRAPPER}} .pp-post-terms:hover' => 'background: {{VALUE}}',
2353
+ ),
2354
+ 'condition' => array(
2355
+ $this->get_control_id( 'post_terms' ) => 'yes',
2356
+ ),
2357
+ )
2358
+ );
2359
+
2360
+ $this->add_control(
2361
+ 'terms_text_color_hover',
2362
+ array(
2363
+ 'label' => __( 'Text Color', 'powerpack' ),
2364
+ 'type' => Controls_Manager::COLOR,
2365
+ 'default' => '',
2366
+ 'selectors' => array(
2367
+ '{{WRAPPER}} .pp-post-terms a:hover' => 'color: {{VALUE}}',
2368
+ ),
2369
+ 'condition' => array(
2370
+ $this->get_control_id( 'post_terms' ) => 'yes',
2371
+ ),
2372
+ )
2373
+ );
2374
+
2375
+ $this->end_controls_tab();
2376
+ $this->end_controls_tabs();
2377
+
2378
+ $this->end_controls_section();
2379
+ }
2380
+
2381
+ /**
2382
+ * Style Tab: Content
2383
+ */
2384
+ protected function register_style_excerpt_controls() {
2385
+ $this->start_controls_section(
2386
+ 'section_excerpt_style',
2387
+ array(
2388
+ 'label' => __( 'Content', 'powerpack' ),
2389
+ 'tab' => Controls_Manager::TAB_STYLE,
2390
+ 'condition' => array(
2391
+ $this->get_control_id( 'show_excerpt' ) => 'yes',
2392
+ ),
2393
+ )
2394
+ );
2395
+
2396
+ $this->add_control(
2397
+ 'excerpt_color',
2398
+ array(
2399
+ 'label' => __( 'Color', 'powerpack' ),
2400
+ 'type' => Controls_Manager::COLOR,
2401
+ 'scheme' => array(
2402
+ 'type' => Scheme_Color::get_type(),
2403
+ 'value' => Scheme_Color::COLOR_2,
2404
+ ),
2405
+ 'selectors' => array(
2406
+ '{{WRAPPER}} .pp-post-excerpt' => 'color: {{VALUE}}',
2407
+ ),
2408
+ 'condition' => array(
2409
+ $this->get_control_id( 'show_excerpt' ) => 'yes',
2410
+ ),
2411
+ )
2412
+ );
2413
+
2414
+ $this->add_group_control(
2415
+ Group_Control_Typography::get_type(),
2416
+ array(
2417
+ 'name' => 'excerpt_typography',
2418
+ 'label' => __( 'Typography', 'powerpack' ),
2419
+ 'selector' => '{{WRAPPER}} .pp-post-excerpt',
2420
+ 'condition' => array(
2421
+ $this->get_control_id( 'show_excerpt' ) => 'yes',
2422
+ ),
2423
+ )
2424
+ );
2425
+
2426
+ $this->add_responsive_control(
2427
+ 'excerpt_margin_bottom',
2428
+ array(
2429
+ 'label' => __( 'Bottom Spacing', 'powerpack' ),
2430
+ 'type' => Controls_Manager::SLIDER,
2431
+ 'range' => array(
2432
+ 'px' => array(
2433
+ 'min' => 0,
2434
+ 'max' => 50,
2435
+ 'step' => 1,
2436
+ ),
2437
+ ),
2438
+ 'default' => array(
2439
+ 'size' => 20,
2440
+ ),
2441
+ 'size_units' => array( 'px' ),
2442
+ 'selectors' => array(
2443
+ '{{WRAPPER}} .pp-post-excerpt' => 'margin-bottom: {{SIZE}}{{UNIT}};',
2444
+ ),
2445
+ 'condition' => array(
2446
+ $this->get_control_id( 'show_excerpt' ) => 'yes',
2447
+ ),
2448
+ )
2449
+ );
2450
+
2451
+ $this->end_controls_section();
2452
+ }
2453
+
2454
+ /**
2455
+ * Style Tab: Meta
2456
+ */
2457
+ protected function register_style_meta_controls() {
2458
+
2459
+ $this->start_controls_section(
2460
+ 'section_meta_style',
2461
+ array(
2462
+ 'label' => __( 'Meta', 'powerpack' ),
2463
+ 'tab' => Controls_Manager::TAB_STYLE,
2464
+ 'condition' => array(
2465
+ $this->get_control_id( 'post_meta' ) => 'yes',
2466
+ ),
2467
+ )
2468
+ );
2469
+
2470
+ $this->add_control(
2471
+ 'meta_text_color',
2472
+ array(
2473
+ 'label' => __( 'Text Color', 'powerpack' ),
2474
+ 'type' => Controls_Manager::COLOR,
2475
+ 'default' => '',
2476
+ 'selectors' => array(
2477
+ '{{WRAPPER}} .pp-post-meta' => 'color: {{VALUE}}',
2478
+ ),
2479
+ 'condition' => array(
2480
+ $this->get_control_id( 'post_meta' ) => 'yes',
2481
+ ),
2482
+ )
2483
+ );
2484
+
2485
+ $this->add_control(
2486
+ 'meta_links_color',
2487
+ array(
2488
+ 'label' => __( 'Links Color', 'powerpack' ),
2489
+ 'type' => Controls_Manager::COLOR,
2490
+ 'default' => '',
2491
+ 'selectors' => array(
2492
+ '{{WRAPPER}} .pp-post-meta a' => 'color: {{VALUE}}',
2493
+ ),
2494
+ 'condition' => array(
2495
+ $this->get_control_id( 'post_meta' ) => 'yes',
2496
+ ),
2497
+ )
2498
+ );
2499
+
2500
+ $this->add_control(
2501
+ 'meta_links_color_hover',
2502
+ array(
2503
+ 'label' => __( 'Links Hover Color', 'powerpack' ),
2504
+ 'type' => Controls_Manager::COLOR,
2505
+ 'default' => '',
2506
+ 'selectors' => array(
2507
+ '{{WRAPPER}} .pp-post-meta a:hover' => 'color: {{VALUE}}',
2508
+ ),
2509
+ 'condition' => array(
2510
+ $this->get_control_id( 'post_meta' ) => 'yes',
2511
+ ),
2512
+ )
2513
+ );
2514
+
2515
+ $this->add_group_control(
2516
+ Group_Control_Typography::get_type(),
2517
+ array(
2518
+ 'name' => 'meta_typography',
2519
+ 'label' => __( 'Typography', 'powerpack' ),
2520
+ 'selector' => '{{WRAPPER}} .pp-post-meta',
2521
+ 'condition' => array(
2522
+ $this->get_control_id( 'post_meta' ) => 'yes',
2523
+ ),
2524
+ )
2525
+ );
2526
+
2527
+ $this->add_responsive_control(
2528
+ 'meta_items_spacing',
2529
+ array(
2530
+ 'label' => __( 'Meta Items Spacing', 'powerpack' ),
2531
+ 'type' => Controls_Manager::SLIDER,
2532
+ 'range' => array(
2533
+ 'px' => array(
2534
+ 'min' => 0,
2535
+ 'max' => 50,
2536
+ 'step' => 1,
2537
+ ),
2538
+ ),
2539
+ 'default' => array(
2540
+ 'size' => 5,
2541
+ ),
2542
+ 'size_units' => array( 'px' ),
2543
+ 'selectors' => array(
2544
+ '{{WRAPPER}} .pp-post-meta .pp-meta-separator:not(:last-child)' => 'margin-left: calc({{SIZE}}{{UNIT}} / 2); margin-right: calc({{SIZE}}{{UNIT}} / 2);',
2545
+ ),
2546
+ 'condition' => array(
2547
+ $this->get_control_id( 'post_meta' ) => 'yes',
2548
+ ),
2549
+ )
2550
+ );
2551
+
2552
+ $this->add_responsive_control(
2553
+ 'meta_margin_bottom',
2554
+ array(
2555
+ 'label' => __( 'Bottom Spacing', 'powerpack' ),
2556
+ 'type' => Controls_Manager::SLIDER,
2557
+ 'range' => array(
2558
+ 'px' => array(
2559
+ 'min' => 0,
2560
+ 'max' => 50,
2561
+ 'step' => 1,
2562
+ ),
2563
+ ),
2564
+ 'default' => array(
2565
+ 'size' => 20,
2566
+ ),
2567
+ 'size_units' => array( 'px' ),
2568
+ 'selectors' => array(
2569
+ '{{WRAPPER}} .pp-post-meta' => 'margin-bottom: {{SIZE}}{{UNIT}};',
2570
+ ),
2571
+ 'condition' => array(
2572
+ $this->get_control_id( 'post_meta' ) => 'yes',
2573
+ ),
2574
+ )
2575
+ );
2576
+
2577
+ $this->end_controls_section();
2578
+
2579
+ }
2580
+
2581
+ /**
2582
+ * Style Tab: Button
2583
+ */
2584
+ protected function register_style_button_controls() {
2585
+
2586
+ $this->start_controls_section(
2587
+ 'section_button_style',
2588
+ array(
2589
+ 'label' => __( 'Read More Button', 'powerpack' ),
2590
+ 'tab' => Controls_Manager::TAB_STYLE,
2591
+ 'condition' => array(
2592
+ $this->get_control_id( 'show_button' ) => 'yes',
2593
+ ),
2594
+ )
2595
+ );
2596
+
2597
+ $this->add_control(
2598
+ 'button_size',
2599
+ array(
2600
+ 'label' => __( 'Size', 'powerpack' ),
2601
+ 'type' => Controls_Manager::SELECT,
2602
+ 'default' => 'sm',
2603
+ 'options' => array(
2604
+ 'xs' => __( 'Extra Small', 'powerpack' ),
2605
+ 'sm' => __( 'Small', 'powerpack' ),
2606
+ 'md' => __( 'Medium', 'powerpack' ),
2607
+ 'lg' => __( 'Large', 'powerpack' ),
2608
+ 'xl' => __( 'Extra Large', 'powerpack' ),
2609
+ ),
2610
+ 'condition' => array(
2611
+ $this->get_control_id( 'show_button' ) => 'yes',
2612
+ ),
2613
+ )
2614
+ );
2615
+
2616
+ $this->add_group_control(
2617
+ Group_Control_Typography::get_type(),
2618
+ array(
2619
+ 'name' => 'button_typography',
2620
+ 'label' => __( 'Typography', 'powerpack' ),
2621
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_4,
2622
+ 'selector' => '{{WRAPPER}} .pp-posts-button',
2623
+ 'condition' => array(
2624
+ $this->get_control_id( 'show_button' ) => 'yes',
2625
+ ),
2626
+ )
2627
+ );
2628
+
2629
+ $this->start_controls_tabs( 'tabs_button_style' );
2630
+
2631
+ $this->start_controls_tab(
2632
+ 'tab_button_normal',
2633
+ array(
2634
+ 'label' => __( 'Normal', 'powerpack' ),
2635
+ 'condition' => array(
2636
+ $this->get_control_id( 'show_button' ) => 'yes',
2637
+ ),
2638
+ )
2639
+ );
2640
+
2641
+ $this->add_control(
2642
+ 'button_bg_color_normal',
2643
+ array(
2644
+ 'label' => __( 'Background Color', 'powerpack' ),
2645
+ 'type' => Controls_Manager::COLOR,
2646
+ 'default' => '',
2647
+ 'selectors' => array(
2648
+ '{{WRAPPER}} .pp-posts-button' => 'background-color: {{VALUE}}',
2649
+ ),
2650
+ 'condition' => array(
2651
+ $this->get_control_id( 'show_button' ) => 'yes',
2652
+ ),
2653
+ )
2654
+ );
2655
+
2656
+ $this->add_control(
2657
+ 'button_text_color_normal',
2658
+ array(
2659
+ 'label' => __( 'Text Color', 'powerpack' ),
2660
+ 'type' => Controls_Manager::COLOR,
2661
+ 'default' => '',
2662
+ 'selectors' => array(
2663
+ '{{WRAPPER}} .pp-posts-button' => 'color: {{VALUE}}',
2664
+ ),
2665
+ 'condition' => array(
2666
+ $this->get_control_id( 'show_button' ) => 'yes',
2667
+ ),
2668
+ )
2669
+ );
2670
+
2671
+ $this->add_group_control(
2672
+ Group_Control_Border::get_type(),
2673
+ array(
2674
+ 'name' => 'button_border_normal',
2675
+ 'label' => __( 'Border', 'powerpack' ),
2676
+ 'placeholder' => '1px',
2677
+ 'default' => '1px',
2678
+ 'selector' => '{{WRAPPER}} .pp-posts-button',
2679
+ 'condition' => array(
2680
+ $this->get_control_id( 'show_button' ) => 'yes',
2681
+ ),
2682
+ )
2683
+ );
2684
+
2685
+ $this->add_responsive_control(
2686
+ 'button_border_radius',
2687
+ array(
2688
+ 'label' => __( 'Border Radius', 'powerpack' ),
2689
+ 'type' => Controls_Manager::DIMENSIONS,
2690
+ 'size_units' => array( 'px', '%' ),
2691
+ 'selectors' => array(
2692
+ '{{WRAPPER}} .pp-posts-button' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
2693
+ ),
2694
+ 'condition' => array(
2695
+ $this->get_control_id( 'show_button' ) => 'yes',
2696
+ ),
2697
+ )
2698
+ );
2699
+
2700
+ $this->add_responsive_control(
2701
+ 'button_margin',
2702
+ array(
2703
+ 'label' => __( 'Margin', 'powerpack' ),
2704
+ 'type' => Controls_Manager::DIMENSIONS,
2705
+ 'size_units' => array( 'px', 'em', '%' ),
2706
+ 'selectors' => array(
2707
+ '{{WRAPPER}} .pp-posts-button' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
2708
+ ),
2709
+ 'condition' => array(
2710
+ $this->get_control_id( 'show_button' ) => 'yes',
2711
+ ),
2712
+ )
2713
+ );
2714
+
2715
+ $this->add_responsive_control(
2716
+ 'button_padding',
2717
+ array(
2718
+ 'label' => __( 'Padding', 'powerpack' ),
2719
+ 'type' => Controls_Manager::DIMENSIONS,
2720
+ 'size_units' => array( 'px', 'em', '%' ),
2721
+ 'selectors' => array(
2722
+ '{{WRAPPER}} .pp-posts-button' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
2723
+ ),
2724
+ 'condition' => array(
2725
+ $this->get_control_id( 'show_button' ) => 'yes',
2726
+ ),
2727
+ )
2728
+ );
2729
+
2730
+ $this->add_group_control(
2731
+ Group_Control_Box_Shadow::get_type(),
2732
+ array(
2733
+ 'name' => 'button_box_shadow',
2734
+ 'selector' => '{{WRAPPER}} .pp-posts-button',
2735
+ 'condition' => array(
2736
+ $this->get_control_id( 'show_button' ) => 'yes',
2737
+ ),
2738
+ )
2739
+ );
2740
+
2741
+ $this->add_control(
2742
+ 'info_box_button_icon_heading',
2743
+ array(
2744
+ 'label' => __( 'Button Icon', 'powerpack' ),
2745
+ 'type' => Controls_Manager::HEADING,
2746
+ 'separator' => 'before',
2747
+ 'condition' => array(
2748
+ $this->get_control_id( 'show_button' ) => 'yes',
2749
+ 'button_icon!' => '',
2750
+ ),
2751
+ )
2752
+ );
2753
+
2754
+ $this->add_responsive_control(
2755
+ 'button_icon_margin',
2756
+ array(
2757
+ 'label' => __( 'Margin', 'powerpack' ),
2758
+ 'type' => Controls_Manager::DIMENSIONS,
2759
+ 'size_units' => array( 'px', '%' ),
2760
+ 'placeholder' => array(
2761
+ 'top' => '',
2762
+ 'right' => '',
2763
+ 'bottom' => '',
2764
+ 'left' => '',
2765
+ ),
2766
+ 'selectors' => array(
2767
+ '{{WRAPPER}} .pp-info-box .pp-button-icon' => 'margin-top: {{TOP}}{{UNIT}}; margin-left: {{LEFT}}{{UNIT}}; margin-right: {{RIGHT}}{{UNIT}}; margin-bottom: {{BOTTOM}}{{UNIT}};',
2768
+ ),
2769
+ 'condition' => array(
2770
+ $this->get_control_id( 'show_button' ) => 'yes',
2771
+ 'button_icon!' => '',
2772
+ ),
2773
+ )
2774
+ );
2775
+
2776
+ $this->end_controls_tab();
2777
+
2778
+ $this->start_controls_tab(
2779
+ 'tab_button_hover',
2780
+ array(
2781
+ 'label' => __( 'Hover', 'powerpack' ),
2782
+ 'condition' => array(
2783
+ $this->get_control_id( 'show_button' ) => 'yes',
2784
+ ),
2785
+ )
2786
+ );
2787
+
2788
+ $this->add_control(
2789
+ 'button_bg_color_hover',
2790
+ array(
2791
+ 'label' => __( 'Background Color', 'powerpack' ),
2792
+ 'type' => Controls_Manager::COLOR,
2793
+ 'default' => '',
2794
+ 'selectors' => array(
2795
+ '{{WRAPPER}} .pp-posts-button:hover' => 'background-color: {{VALUE}}',
2796
+ ),
2797
+ 'condition' => array(
2798
+ $this->get_control_id( 'show_button' ) => 'yes',
2799
+ ),
2800
+ )
2801
+ );
2802
+
2803
+ $this->add_control(
2804
+ 'button_text_color_hover',
2805
+ array(
2806
+ 'label' => __( 'Text Color', 'powerpack' ),
2807
+ 'type' => Controls_Manager::COLOR,
2808
+ 'default' => '',
2809
+ 'selectors' => array(
2810
+ '{{WRAPPER}} .pp-posts-button:hover' => 'color: {{VALUE}}',
2811
+ ),
2812
+ 'condition' => array(
2813
+ $this->get_control_id( 'show_button' ) => 'yes',
2814
+ ),
2815
+ )
2816
+ );
2817
+
2818
+ $this->add_control(
2819
+ 'button_border_color_hover',
2820
+ array(
2821
+ 'label' => __( 'Border Color', 'powerpack' ),
2822
+ 'type' => Controls_Manager::COLOR,
2823
+ 'default' => '',
2824
+ 'selectors' => array(
2825
+ '{{WRAPPER}} .pp-posts-button:hover' => 'border-color: {{VALUE}}',
2826
+ ),
2827
+ 'condition' => array(
2828
+ $this->get_control_id( 'show_button' ) => 'yes',
2829
+ ),
2830
+ )
2831
+ );
2832
+
2833
+ $this->add_control(
2834
+ 'button_animation',
2835
+ array(
2836
+ 'label' => __( 'Animation', 'powerpack' ),
2837
+ 'type' => Controls_Manager::HOVER_ANIMATION,
2838
+ 'condition' => array(
2839
+ $this->get_control_id( 'show_button' ) => 'yes',
2840
+ ),
2841
+ )
2842
+ );
2843
+
2844
+ $this->add_group_control(
2845
+ Group_Control_Box_Shadow::get_type(),
2846
+ array(
2847
+ 'name' => 'button_box_shadow_hover',
2848
+ 'selector' => '{{WRAPPER}} .pp-posts-button:hover',
2849
+ 'condition' => array(
2850
+ $this->get_control_id( 'show_button' ) => 'yes',
2851
+ ),
2852
+ )
2853
+ );
2854
+
2855
+ $this->end_controls_tab();
2856
+ $this->end_controls_tabs();
2857
+
2858
+ $this->end_controls_section();
2859
+ }
2860
+
2861
+ public function register_style_arrows_controls() {
2862
+ $this->start_controls_section(
2863
+ 'section_arrows_style',
2864
+ array(
2865
+ 'label' => __( 'Arrows', 'powerpack' ),
2866
+ 'tab' => Controls_Manager::TAB_STYLE,
2867
+ 'condition' => array(
2868
+ $this->get_control_id( 'layout' ) => 'carousel',
2869
+ $this->get_control_id( 'arrows' ) => 'yes',
2870
+ ),
2871
+ )
2872
+ );
2873
+
2874
+ $this->add_control(
2875
+ 'arrow',
2876
+ array(
2877
+ 'label' => __( 'Choose Arrow', 'powerpack' ),
2878
+ 'type' => Controls_Manager::ICON,
2879
+ 'include' => array(
2880
+ 'fa fa-angle-right',
2881
+ 'fa fa-angle-double-right',
2882
+ 'fa fa-chevron-right',
2883
+ 'fa fa-chevron-circle-right',
2884
+ 'fa fa-arrow-right',
2885
+ 'fa fa-long-arrow-right',
2886
+ 'fa fa-caret-right',
2887
+ 'fa fa-caret-square-o-right',
2888
+ 'fa fa-arrow-circle-right',
2889
+ 'fa fa-arrow-circle-o-right',
2890
+ 'fa fa-toggle-right',
2891
+ 'fa fa-hand-o-right',
2892
+ ),
2893
+ 'default' => 'fa fa-angle-right',
2894
+ 'frontend_available' => true,
2895
+ 'condition' => array(
2896
+ $this->get_control_id( 'layout' ) => 'carousel',
2897
+ $this->get_control_id( 'arrows' ) => 'yes',
2898
+ ),
2899
+ )
2900
+ );
2901
+
2902
+ $this->add_responsive_control(
2903
+ 'arrows_size',
2904
+ array(
2905
+ 'label' => __( 'Arrows Size', 'powerpack' ),
2906
+ 'type' => Controls_Manager::SLIDER,
2907
+ 'default' => array( 'size' => '22' ),
2908
+ 'range' => array(
2909
+ 'px' => array(
2910
+ 'min' => 15,
2911
+ 'max' => 100,
2912
+ 'step' => 1,
2913
+ ),
2914
+ ),
2915
+ 'size_units' => array( 'px' ),
2916
+ 'selectors' => array(
2917
+ '{{WRAPPER}} .pp-slider-arrow' => 'font-size: {{SIZE}}{{UNIT}}; line-height: {{SIZE}}{{UNIT}}; height: {{SIZE}}{{UNIT}}; width: {{SIZE}}{{UNIT}};',
2918
+ ),
2919
+ 'condition' => array(
2920
+ $this->get_control_id( 'layout' ) => 'carousel',
2921
+ $this->get_control_id( 'arrows' ) => 'yes',
2922
+ ),
2923
+ )
2924
+ );
2925
+
2926
+ $this->add_responsive_control(
2927
+ 'arrows_position',
2928
+ array(
2929
+ 'label' => __( 'Align Arrows', 'powerpack' ),
2930
+ 'type' => Controls_Manager::SLIDER,
2931
+ 'range' => array(
2932
+ 'px' => array(
2933
+ 'min' => -100,
2934
+ 'max' => 50,
2935
+ 'step' => 1,
2936
+ ),
2937
+ ),
2938
+ 'size_units' => array( 'px' ),
2939
+ 'selectors' => array(
2940
+ '{{WRAPPER}} .pp-arrow-next' => 'right: {{SIZE}}{{UNIT}};',
2941
+ '{{WRAPPER}} .pp-arrow-prev' => 'left: {{SIZE}}{{UNIT}};',
2942
+ ),
2943
+ 'condition' => array(
2944
+ $this->get_control_id( 'layout' ) => 'carousel',
2945
+ $this->get_control_id( 'arrows' ) => 'yes',
2946
+ ),
2947
+ )
2948
+ );
2949
+
2950
+ $this->start_controls_tabs( 'tabs_arrows_style' );
2951
+
2952
+ $this->start_controls_tab(
2953
+ 'tab_arrows_normal',
2954
+ array(
2955
+ 'label' => __( 'Normal', 'powerpack' ),
2956
+ 'condition' => array(
2957
+ $this->get_control_id( 'layout' ) => 'carousel',
2958
+ $this->get_control_id( 'arrows' ) => 'yes',
2959
+ ),
2960
+ )
2961
+ );
2962
+
2963
+ $this->add_control(
2964
+ 'arrows_bg_color_normal',
2965
+ array(
2966
+ 'label' => __( 'Background Color', 'powerpack' ),
2967
+ 'type' => Controls_Manager::COLOR,
2968
+ 'default' => '',
2969
+ 'selectors' => array(
2970
+ '{{WRAPPER}} .pp-slider-arrow' => 'background-color: {{VALUE}};',
2971
+ ),
2972
+ 'condition' => array(
2973
+ $this->get_control_id( 'layout' ) => 'carousel',
2974
+ $this->get_control_id( 'arrows' ) => 'yes',
2975
+ ),
2976
+ )
2977
+ );
2978
+
2979
+ $this->add_control(
2980
+ 'arrows_color_normal',
2981
+ array(
2982
+ 'label' => __( 'Color', 'powerpack' ),
2983
+ 'type' => Controls_Manager::COLOR,
2984
+ 'default' => '',
2985
+ 'selectors' => array(
2986
+ '{{WRAPPER}} .pp-slider-arrow' => 'color: {{VALUE}};',
2987
+ ),
2988
+ 'condition' => array(
2989
+ $this->get_control_id( 'layout' ) => 'carousel',
2990
+ $this->get_control_id( 'arrows' ) => 'yes',
2991
+ ),
2992
+ )
2993
+ );
2994
+
2995
+ $this->add_group_control(
2996
+ Group_Control_Border::get_type(),
2997
+ array(
2998
+ 'name' => 'arrows_border_normal',
2999
+ 'label' => __( 'Border', 'powerpack' ),
3000
+ 'placeholder' => '1px',
3001
+ 'default' => '1px',
3002
+ 'selector' => '{{WRAPPER}} .pp-slider-arrow',
3003
+ 'condition' => array(
3004
+ $this->get_control_id( 'layout' ) => 'carousel',
3005
+ $this->get_control_id( 'arrows' ) => 'yes',
3006
+ ),
3007
+ )
3008
+ );
3009
+
3010
+ $this->add_responsive_control(
3011
+ 'arrows_border_radius_normal',
3012
+ array(
3013
+ 'label' => __( 'Border Radius', 'powerpack' ),
3014
+ 'type' => Controls_Manager::DIMENSIONS,
3015
+ 'size_units' => array( 'px', '%' ),
3016
+ 'selectors' => array(
3017
+ '{{WRAPPER}} .pp-slider-arrow' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
3018
+ ),
3019
+ 'condition' => array(
3020
+ $this->get_control_id( 'layout' ) => 'carousel',
3021
+ $this->get_control_id( 'arrows' ) => 'yes',
3022
+ ),
3023
+ )
3024
+ );
3025
+
3026
+ $this->end_controls_tab();
3027
+
3028
+ $this->start_controls_tab(
3029
+ 'tab_arrows_hover',
3030
+ array(
3031
+ 'label' => __( 'Hover', 'powerpack' ),
3032
+ 'condition' => array(
3033
+ $this->get_control_id( 'layout' ) => 'carousel',
3034
+ $this->get_control_id( 'arrows' ) => 'yes',
3035
+ ),
3036
+ )
3037
+ );
3038
+
3039
+ $this->add_control(
3040
+ 'arrows_bg_color_hover',
3041
+ array(
3042
+ 'label' => __( 'Background Color', 'powerpack' ),
3043
+ 'type' => Controls_Manager::COLOR,
3044
+ 'default' => '',
3045
+ 'selectors' => array(
3046
+ '{{WRAPPER}} .pp-slider-arrow:hover' => 'background-color: {{VALUE}};',
3047
+ ),
3048
+ 'condition' => array(
3049
+ $this->get_control_id( 'layout' ) => 'carousel',
3050
+ $this->get_control_id( 'arrows' ) => 'yes',
3051
+ ),
3052
+ )
3053
+ );
3054
+
3055
+ $this->add_control(
3056
+ 'arrows_color_hover',
3057
+ array(
3058
+ 'label' => __( 'Color', 'powerpack' ),
3059
+ 'type' => Controls_Manager::COLOR,
3060
+ 'default' => '',
3061
+ 'selectors' => array(
3062
+ '{{WRAPPER}} .pp-slider-arrow:hover' => 'color: {{VALUE}};',
3063
+ ),
3064
+ 'condition' => array(
3065
+ $this->get_control_id( 'layout' ) => 'carousel',
3066
+ $this->get_control_id( 'arrows' ) => 'yes',
3067
+ ),
3068
+ )
3069
+ );
3070
+
3071
+ $this->add_control(
3072
+ 'arrows_border_color_hover',
3073
+ array(
3074
+ 'label' => __( 'Border Color', 'powerpack' ),
3075
+ 'type' => Controls_Manager::COLOR,
3076
+ 'default' => '',
3077
+ 'selectors' => array(
3078
+ '{{WRAPPER}} .pp-slider-arrow:hover' => 'border-color: {{VALUE}};',
3079
+ ),
3080
+ 'condition' => array(
3081
+ $this->get_control_id( 'layout' ) => 'carousel',
3082
+ $this->get_control_id( 'arrows' ) => 'yes',
3083
+ ),
3084
+ )
3085
+ );
3086
+
3087
+ $this->end_controls_tab();
3088
+
3089
+ $this->end_controls_tabs();
3090
+
3091
+ $this->add_responsive_control(
3092
+ 'arrows_padding',
3093
+ array(
3094
+ 'label' => __( 'Padding', 'powerpack' ),
3095
+ 'type' => Controls_Manager::DIMENSIONS,
3096
+ 'size_units' => array( 'px', '%' ),
3097
+ 'selectors' => array(
3098
+ '{{WRAPPER}} .pp-slider-arrow' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
3099
+ ),
3100
+ 'separator' => 'before',
3101
+ 'condition' => array(
3102
+ $this->get_control_id( 'layout' ) => 'carousel',
3103
+ $this->get_control_id( 'arrows' ) => 'yes',
3104
+ ),
3105
+ )
3106
+ );
3107
+
3108
+ $this->end_controls_section();
3109
+ }
3110
+
3111
+ public function register_style_dots_controls() {
3112
+ $this->start_controls_section(
3113
+ 'section_dots_style',
3114
+ array(
3115
+ 'label' => __( 'Dots', 'powerpack' ),
3116
+ 'tab' => Controls_Manager::TAB_STYLE,
3117
+ 'condition' => array(
3118
+ $this->get_control_id( 'layout' ) => 'carousel',
3119
+ $this->get_control_id( 'dots' ) => 'yes',
3120
+ ),
3121
+ )
3122
+ );
3123
+
3124
+ $this->add_responsive_control(
3125
+ 'dots_size',
3126
+ array(
3127
+ 'label' => __( 'Size', 'powerpack' ),
3128
+ 'type' => Controls_Manager::SLIDER,
3129
+ 'range' => array(
3130
+ 'px' => array(
3131
+ 'min' => 2,
3132
+ 'max' => 40,
3133
+ 'step' => 1,
3134
+ ),
3135
+ ),
3136
+ 'size_units' => '',
3137
+ 'selectors' => array(
3138
+ '{{WRAPPER}} .pp-slick-slider .slick-dots li button' => 'width: {{SIZE}}{{UNIT}}; height: {{SIZE}}{{UNIT}};',
3139
+ ),
3140
+ 'condition' => array(
3141
+ $this->get_control_id( 'layout' ) => 'carousel',
3142
+ $this->get_control_id( 'dots' ) => 'yes',
3143
+ ),
3144
+ )
3145
+ );
3146
+
3147
+ $this->add_responsive_control(
3148
+ 'dots_spacing',
3149
+ array(
3150
+ 'label' => __( 'Spacing', 'powerpack' ),
3151
+ 'type' => Controls_Manager::SLIDER,
3152
+ 'range' => array(
3153
+ 'px' => array(
3154
+ 'min' => 1,
3155
+ 'max' => 30,
3156
+ 'step' => 1,
3157
+ ),
3158
+ ),
3159
+ 'size_units' => '',
3160
+ 'selectors' => array(
3161
+ '{{WRAPPER}} .pp-slick-slider .slick-dots li' => 'margin-left: {{SIZE}}{{UNIT}}; margin-right: {{SIZE}}{{UNIT}}',
3162
+ ),
3163
+ 'condition' => array(
3164
+ $this->get_control_id( 'layout' ) => 'carousel',
3165
+ $this->get_control_id( 'dots' ) => 'yes',
3166
+ ),
3167
+ )
3168
+ );
3169
+
3170
+ $this->start_controls_tabs( 'tabs_dots_style' );
3171
+
3172
+ $this->start_controls_tab(
3173
+ 'tab_dots_normal',
3174
+ array(
3175
+ 'label' => __( 'Normal', 'powerpack' ),
3176
+ 'condition' => array(
3177
+ $this->get_control_id( 'layout' ) => 'carousel',
3178
+ $this->get_control_id( 'dots' ) => 'yes',
3179
+ ),
3180
+ )
3181
+ );
3182
+
3183
+ $this->add_control(
3184
+ 'dots_color_normal',
3185
+ array(
3186
+ 'label' => __( 'Color', 'powerpack' ),
3187
+ 'type' => Controls_Manager::COLOR,
3188
+ 'default' => '',
3189
+ 'selectors' => array(
3190
+ '{{WRAPPER}} .pp-slick-slider .slick-dots li' => 'background: {{VALUE}};',
3191
+ ),
3192
+ 'condition' => array(
3193
+ $this->get_control_id( 'layout' ) => 'carousel',
3194
+ $this->get_control_id( 'dots' ) => 'yes',
3195
+ ),
3196
+ )
3197
+ );
3198
+
3199
+ $this->add_group_control(
3200
+ Group_Control_Border::get_type(),
3201
+ array(
3202
+ 'name' => 'dots_border_normal',
3203
+ 'label' => __( 'Border', 'powerpack' ),
3204
+ 'placeholder' => '1px',
3205
+ 'default' => '1px',
3206
+ 'selector' => '{{WRAPPER}} .pp-slick-slider .slick-dots li',
3207
+ 'condition' => array(
3208
+ $this->get_control_id( 'layout' ) => 'carousel',
3209
+ $this->get_control_id( 'dots' ) => 'yes',
3210
+ ),
3211
+ )
3212
+ );
3213
+
3214
+ $this->add_responsive_control(
3215
+ 'dots_border_radius_normal',
3216
+ array(
3217
+ 'label' => __( 'Border Radius', 'powerpack' ),
3218
+ 'type' => Controls_Manager::DIMENSIONS,
3219
+ 'size_units' => array( 'px', '%' ),
3220
+ 'selectors' => array(
3221
+ '{{WRAPPER}} .pp-slick-slider .slick-dots li' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
3222
+ ),
3223
+ 'condition' => array(
3224
+ $this->get_control_id( 'layout' ) => 'carousel',
3225
+ $this->get_control_id( 'dots' ) => 'yes',
3226
+ ),
3227
+ )
3228
+ );
3229
+
3230
+ $this->add_responsive_control(
3231
+ 'dots_margin',
3232
+ array(
3233
+ 'label' => __( 'Margin', 'powerpack' ),
3234
+ 'type' => Controls_Manager::DIMENSIONS,
3235
+ 'size_units' => array( 'px', 'em', '%' ),
3236
+ 'allowed_dimensions' => 'vertical',
3237
+ 'placeholder' => array(
3238
+ 'top' => '',
3239
+ 'right' => 'auto',
3240
+ 'bottom' => '',
3241
+ 'left' => 'auto',
3242
+ ),
3243
+ 'selectors' => array(
3244
+ '{{WRAPPER}} .pp-slick-slider .slick-dots' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
3245
+ ),
3246
+ 'condition' => array(
3247
+ $this->get_control_id( 'layout' ) => 'carousel',
3248
+ $this->get_control_id( 'dots' ) => 'yes',
3249
+ ),
3250
+ )
3251
+ );
3252
+
3253
+ $this->end_controls_tab();
3254
+
3255
+ $this->start_controls_tab(
3256
+ 'tab_dots_active',
3257
+ array(
3258
+ 'label' => __( 'Active', 'powerpack' ),
3259
+ 'condition' => array(
3260
+ $this->get_control_id( 'layout' ) => 'carousel',
3261
+ $this->get_control_id( 'dots' ) => 'yes',
3262
+ ),
3263
+ )
3264
+ );
3265
+
3266
+ $this->add_control(
3267
+ 'dots_color_active',
3268
+ array(
3269
+ 'label' => __( 'Color', 'powerpack' ),
3270
+ 'type' => Controls_Manager::COLOR,
3271
+ 'default' => '',
3272
+ 'selectors' => array(
3273
+ '{{WRAPPER}} .pp-slick-slider .slick-dots li.slick-active' => 'background: {{VALUE}};',
3274
+ ),
3275
+ 'condition' => array(
3276
+ $this->get_control_id( 'layout' ) => 'carousel',
3277
+ $this->get_control_id( 'dots' ) => 'yes',
3278
+ ),
3279
+ )
3280
+ );
3281
+
3282
+ $this->add_control(
3283
+ 'dots_border_color_active',
3284
+ array(
3285
+ 'label' => __( 'Border Color', 'powerpack' ),
3286
+ 'type' => Controls_Manager::COLOR,
3287
+ 'default' => '',
3288
+ 'selectors' => array(
3289
+ '{{WRAPPER}} .pp-slick-slider .slick-dots li.slick-active' => 'border-color: {{VALUE}};',
3290
+ ),
3291
+ 'condition' => array(
3292
+ $this->get_control_id( 'layout' ) => 'carousel',
3293
+ $this->get_control_id( 'dots' ) => 'yes',
3294
+ ),
3295
+ )
3296
+ );
3297
+
3298
+ $this->end_controls_tab();
3299
+
3300
+ $this->start_controls_tab(
3301
+ 'tab_dots_hover',
3302
+ array(
3303
+ 'label' => __( 'Hover', 'powerpack' ),
3304
+ 'condition' => array(
3305
+ $this->get_control_id( 'layout' ) => 'carousel',
3306
+ $this->get_control_id( 'dots' ) => 'yes',
3307
+ ),
3308
+ )
3309
+ );
3310
+
3311
+ $this->add_control(
3312
+ 'dots_color_hover',
3313
+ array(
3314
+ 'label' => __( 'Color', 'powerpack' ),
3315
+ 'type' => Controls_Manager::COLOR,
3316
+ 'default' => '',
3317
+ 'selectors' => array(
3318
+ '{{WRAPPER}} .pp-slick-slider .slick-dots li:hover' => 'background: {{VALUE}};',
3319
+ ),
3320
+ 'condition' => array(
3321
+ $this->get_control_id( 'layout' ) => 'carousel',
3322
+ $this->get_control_id( 'dots' ) => 'yes',
3323
+ ),
3324
+ )
3325
+ );
3326
+
3327
+ $this->add_control(
3328
+ 'dots_border_color_hover',
3329
+ array(
3330
+ 'label' => __( 'Border Color', 'powerpack' ),
3331
+ 'type' => Controls_Manager::COLOR,
3332
+ 'default' => '',
3333
+ 'selectors' => array(
3334
+ '{{WRAPPER}} .pp-slick-slider .slick-dots li:hover' => 'border-color: {{VALUE}};',
3335
+ ),
3336
+ 'condition' => array(
3337
+ $this->get_control_id( 'layout' ) => 'carousel',
3338
+ $this->get_control_id( 'dots' ) => 'yes',
3339
+ ),
3340
+ )
3341
+ );
3342
+
3343
+ $this->end_controls_tab();
3344
+
3345
+ $this->end_controls_tabs();
3346
+
3347
+ $this->end_controls_section();
3348
+ }
3349
+
3350
+ public function register_style_pagination_controls() {
3351
+ $this->start_controls_section(
3352
+ 'section_pagination_style',
3353
+ array(
3354
+ 'label' => __( 'Pagination', 'powerpack' ),
3355
+ 'tab' => Controls_Manager::TAB_STYLE,
3356
+ 'condition' => array(
3357
+ $this->get_control_id( 'layout!' ) => 'carousel',
3358
+ $this->get_control_id( 'pagination_type' ) => array( 'numbers', 'numbers_and_prev_next' ),
3359
+ ),
3360
+ )
3361
+ );
3362
+
3363
+ $this->add_responsive_control(
3364
+ 'pagination_margin_top',
3365
+ array(
3366
+ 'label' => __( 'Gap between Posts & Pagination', 'powerpack' ),
3367
+ 'type' => Controls_Manager::SLIDER,
3368
+ 'default' => array(
3369
+ 'size' => '',
3370
+ ),
3371
+ 'range' => array(
3372
+ 'px' => array(
3373
+ 'min' => 0,
3374
+ 'max' => 100,
3375
+ ),
3376
+ ),
3377
+ 'selectors' => array(
3378
+ '{{WRAPPER}} .pp-posts-pagination-top .pp-posts-pagination' => 'margin-bottom: {{SIZE}}{{UNIT}};',
3379
+ '{{WRAPPER}} .pp-posts-pagination-bottom .pp-posts-pagination' => 'margin-top: {{SIZE}}{{UNIT}};',
3380
+ ),
3381
+ 'condition' => array(
3382
+ $this->get_control_id( 'layout!' ) => 'carousel',
3383
+ $this->get_control_id( 'pagination_type' ) => array( 'numbers', 'numbers_and_prev_next' ),
3384
+ ),
3385
+ )
3386
+ );
3387
+
3388
+ $this->add_group_control(
3389
+ Group_Control_Typography::get_type(),
3390
+ array(
3391
+ 'name' => 'pagination_typography',
3392
+ 'selector' => '{{WRAPPER}} .pp-posts-pagination .page-numbers, {{WRAPPER}} .pp-posts-pagination a',
3393
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_2,
3394
+ 'condition' => array(
3395
+ $this->get_control_id( 'layout!' ) => 'carousel',
3396
+ $this->get_control_id( 'pagination_type' ) => array( 'numbers', 'numbers_and_prev_next' ),
3397
+ ),
3398
+ )
3399
+ );
3400
+
3401
+ $this->start_controls_tabs( 'tabs_pagination' );
3402
+
3403
+ $this->start_controls_tab(
3404
+ 'tab_pagination_normal',
3405
+ array(
3406
+ 'label' => __( 'Normal', 'powerpack' ),
3407
+ 'condition' => array(
3408
+ $this->get_control_id( 'layout!' ) => 'carousel',
3409
+ $this->get_control_id( 'pagination_type' ) => array( 'numbers', 'numbers_and_prev_next' ),
3410
+ ),
3411
+ )
3412
+ );
3413
+
3414
+ $this->add_control(
3415
+ 'pagination_link_bg_color_normal',
3416
+ array(
3417
+ 'label' => __( 'Background Color', 'powerpack' ),
3418
+ 'type' => Controls_Manager::COLOR,
3419
+ 'default' => '',
3420
+ 'selectors' => array(
3421
+ '{{WRAPPER}} .pp-posts-pagination .page-numbers, {{WRAPPER}} .pp-posts-pagination a' => 'background-color: {{VALUE}}',
3422
+ ),
3423
+ 'condition' => array(
3424
+ $this->get_control_id( 'layout!' ) => 'carousel',
3425
+ $this->get_control_id( 'pagination_type' ) => array( 'numbers', 'numbers_and_prev_next' ),
3426
+ ),
3427
+ )
3428
+ );
3429
+
3430
+ $this->add_control(
3431
+ 'pagination_color',
3432
+ array(
3433
+ 'label' => __( 'Color', 'powerpack' ),
3434
+ 'type' => Controls_Manager::COLOR,
3435
+ 'selectors' => array(
3436
+ '{{WRAPPER}} .pp-posts-pagination .page-numbers, {{WRAPPER}} .pp-posts-pagination a' => 'color: {{VALUE}};',
3437
+ ),
3438
+ 'condition' => array(
3439
+ $this->get_control_id( 'layout!' ) => 'carousel',
3440
+ $this->get_control_id( 'pagination_type' ) => array( 'numbers', 'numbers_and_prev_next' ),
3441
+ ),
3442
+ )
3443
+ );
3444
+
3445
+ $this->add_group_control(
3446
+ Group_Control_Border::get_type(),
3447
+ array(
3448
+ 'name' => 'pagination_link_border_normal',
3449
+ 'label' => __( 'Border', 'powerpack' ),
3450
+ 'placeholder' => '1px',
3451
+ 'default' => '1px',
3452
+ 'selector' => '{{WRAPPER}} .pp-posts-pagination .page-numbers, {{WRAPPER}} .pp-posts-pagination a',
3453
+ 'condition' => array(
3454
+ $this->get_control_id( 'layout!' ) => 'carousel',
3455
+ $this->get_control_id( 'pagination_type' ) => array( 'numbers', 'numbers_and_prev_next' ),
3456
+ ),
3457
+ )
3458
+ );
3459
+
3460
+ $this->add_responsive_control(
3461
+ 'pagination_link_border_radius',
3462
+ array(
3463
+ 'label' => __( 'Border Radius', 'powerpack' ),
3464
+ 'type' => Controls_Manager::DIMENSIONS,
3465
+ 'size_units' => array( 'px', '%' ),
3466
+ 'selectors' => array(
3467
+ '{{WRAPPER}} .pp-posts-pagination .page-numbers, {{WRAPPER}} .pp-posts-pagination a' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
3468
+ ),
3469
+ 'condition' => array(
3470
+ $this->get_control_id( 'layout!' ) => 'carousel',
3471
+ $this->get_control_id( 'pagination_type' ) => array( 'numbers', 'numbers_and_prev_next' ),
3472
+ ),
3473
+ )
3474
+ );
3475
+
3476
+ $this->add_responsive_control(
3477
+ 'pagination_link_padding',
3478
+ array(
3479
+ 'label' => __( 'Padding', 'powerpack' ),
3480
+ 'type' => Controls_Manager::DIMENSIONS,
3481
+ 'size_units' => array( 'px', 'em', '%' ),
3482
+ 'selectors' => array(
3483
+ '{{WRAPPER}} .pp-posts-pagination .page-numbers, {{WRAPPER}} .pp-posts-pagination a' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
3484
+ ),
3485
+ 'condition' => array(
3486
+ $this->get_control_id( 'layout!' ) => 'carousel',
3487
+ $this->get_control_id( 'pagination_type' ) => array( 'numbers', 'numbers_and_prev_next' ),
3488
+ ),
3489
+ )
3490
+ );
3491
+
3492
+ $this->add_group_control(
3493
+ Group_Control_Box_Shadow::get_type(),
3494
+ array(
3495
+ 'name' => 'pagination_link_box_shadow',
3496
+ 'selector' => '{{WRAPPER}} .pp-posts-pagination .page-numbers, {{WRAPPER}} .pp-posts-pagination a',
3497
+ 'condition' => array(
3498
+ $this->get_control_id( 'layout!' ) => 'carousel',
3499
+ $this->get_control_id( 'pagination_type' ) => array( 'numbers', 'numbers_and_prev_next' ),
3500
+ ),
3501
+ )
3502
+ );
3503
+
3504
+ $this->end_controls_tab();
3505
+
3506
+ $this->start_controls_tab(
3507
+ 'tab_pagination_hover',
3508
+ array(
3509
+ 'label' => __( 'Hover', 'powerpack' ),
3510
+ 'condition' => array(
3511
+ $this->get_control_id( 'layout!' ) => 'carousel',
3512
+ $this->get_control_id( 'pagination_type' ) => array( 'numbers', 'numbers_and_prev_next' ),
3513
+ ),
3514
+ )
3515
+ );
3516
+
3517
+ $this->add_control(
3518
+ 'pagination_link_bg_color_hover',
3519
+ array(
3520
+ 'label' => __( 'Background Color', 'powerpack' ),
3521
+ 'type' => Controls_Manager::COLOR,
3522
+ 'default' => '',
3523
+ 'selectors' => array(
3524
+ '{{WRAPPER}} .pp-posts-pagination a:hover' => 'background-color: {{VALUE}}',
3525
+ ),
3526
+ 'condition' => array(
3527
+ $this->get_control_id( 'layout!' ) => 'carousel',
3528
+ $this->get_control_id( 'pagination_type' ) => array( 'numbers', 'numbers_and_prev_next' ),
3529
+ ),
3530
+ )
3531
+ );
3532
+
3533
+ $this->add_control(
3534
+ 'pagination_color_hover',
3535
+ array(
3536
+ 'label' => __( 'Color', 'powerpack' ),
3537
+ 'type' => Controls_Manager::COLOR,
3538
+ 'selectors' => array(
3539
+ '{{WRAPPER}} .pp-posts-pagination a:hover' => 'color: {{VALUE}};',
3540
+ ),
3541
+ 'condition' => array(
3542
+ $this->get_control_id( 'layout!' ) => 'carousel',
3543
+ $this->get_control_id( 'pagination_type' ) => array( 'numbers', 'numbers_and_prev_next' ),
3544
+ ),
3545
+ )
3546
+ );
3547
+
3548
+ $this->add_control(
3549
+ 'pagination_border_color_hover',
3550
+ array(
3551
+ 'label' => __( 'Border Color', 'powerpack' ),
3552
+ 'type' => Controls_Manager::COLOR,
3553
+ 'selectors' => array(
3554
+ '{{WRAPPER}} .pp-posts-pagination a:hover' => 'border-color: {{VALUE}};',
3555
+ ),
3556
+ 'condition' => array(
3557
+ $this->get_control_id( 'layout!' ) => 'carousel',
3558
+ $this->get_control_id( 'pagination_type' ) => array( 'numbers', 'numbers_and_prev_next' ),
3559
+ ),
3560
+ )
3561
+ );
3562
+
3563
+ $this->add_group_control(
3564
+ Group_Control_Box_Shadow::get_type(),
3565
+ array(
3566
+ 'name' => 'pagination_link_box_shadow_hover',
3567
+ 'selector' => '{{WRAPPER}} .pp-posts-pagination a:hover',
3568
+ 'condition' => array(
3569
+ $this->get_control_id( 'layout!' ) => 'carousel',
3570
+ $this->get_control_id( 'pagination_type' ) => array( 'numbers', 'numbers_and_prev_next' ),
3571
+ ),
3572
+ )
3573
+ );
3574
+
3575
+ $this->end_controls_tab();
3576
+
3577
+ $this->start_controls_tab(
3578
+ 'tab_pagination_active',
3579
+ array(
3580
+ 'label' => __( 'Active', 'powerpack' ),
3581
+ 'condition' => array(
3582
+ $this->get_control_id( 'layout!' ) => 'carousel',
3583
+ $this->get_control_id( 'pagination_type' ) => array( 'numbers', 'numbers_and_prev_next' ),
3584
+ ),
3585
+ )
3586
+ );
3587
+
3588
+ $this->add_control(
3589
+ 'pagination_link_bg_color_active',
3590
+ array(
3591
+ 'label' => __( 'Background Color', 'powerpack' ),
3592
+ 'type' => Controls_Manager::COLOR,
3593
+ 'default' => '',
3594
+ 'selectors' => array(
3595
+ '{{WRAPPER}} .pp-posts-pagination .page-numbers.current' => 'background-color: {{VALUE}}',
3596
+ ),
3597
+ 'condition' => array(
3598
+ $this->get_control_id( 'layout!' ) => 'carousel',
3599
+ $this->get_control_id( 'pagination_type' ) => array( 'numbers', 'numbers_and_prev_next' ),
3600
+ ),
3601
+ )
3602
+ );
3603
+
3604
+ $this->add_control(
3605
+ 'pagination_color_active',
3606
+ array(
3607
+ 'label' => __( 'Color', 'powerpack' ),
3608
+ 'type' => Controls_Manager::COLOR,
3609
+ 'selectors' => array(
3610
+ '{{WRAPPER}} .pp-posts-pagination .page-numbers.current' => 'color: {{VALUE}};',
3611
+ ),
3612
+ 'condition' => array(
3613
+ $this->get_control_id( 'layout!' ) => 'carousel',
3614
+ $this->get_control_id( 'pagination_type' ) => array( 'numbers', 'numbers_and_prev_next' ),
3615
+ ),
3616
+ )
3617
+ );
3618
+
3619
+ $this->add_control(
3620
+ 'pagination_border_color_active',
3621
+ array(
3622
+ 'label' => __( 'Border Color', 'powerpack' ),
3623
+ 'type' => Controls_Manager::COLOR,
3624
+ 'selectors' => array(
3625
+ '{{WRAPPER}} .pp-posts-pagination .page-numbers.current' => 'border-color: {{VALUE}};',
3626
+ ),
3627
+ 'condition' => array(
3628
+ $this->get_control_id( 'layout!' ) => 'carousel',
3629
+ $this->get_control_id( 'pagination_type' ) => array( 'numbers', 'numbers_and_prev_next' ),
3630
+ ),
3631
+ )
3632
+ );
3633
+
3634
+ $this->add_group_control(
3635
+ Group_Control_Box_Shadow::get_type(),
3636
+ array(
3637
+ 'name' => 'pagination_link_box_shadow_active',
3638
+ 'selector' => '{{WRAPPER}} .pp-posts-pagination .page-numbers.current',
3639
+ 'condition' => array(
3640
+ $this->get_control_id( 'layout!' ) => 'carousel',
3641
+ $this->get_control_id( 'pagination_type' ) => array( 'numbers', 'numbers_and_prev_next' ),
3642
+ ),
3643
+ )
3644
+ );
3645
+
3646
+ $this->end_controls_tab();
3647
+
3648
+ $this->end_controls_tabs();
3649
+
3650
+ $this->add_responsive_control(
3651
+ 'pagination_spacing',
3652
+ array(
3653
+ 'label' => __( 'Space Between', 'powerpack' ),
3654
+ 'type' => Controls_Manager::SLIDER,
3655
+ 'separator' => 'before',
3656
+ 'default' => array(
3657
+ 'size' => 10,
3658
+ ),
3659
+ 'range' => array(
3660
+ 'px' => array(
3661
+ 'min' => 0,
3662
+ 'max' => 100,
3663
+ ),
3664
+ ),
3665
+ 'selectors' => array(
3666
+ 'body:not(.rtl) {{WRAPPER}} .pp-posts-pagination .page-numbers:not(:first-child)' => 'margin-left: calc( {{SIZE}}{{UNIT}}/2 );',
3667
+ 'body:not(.rtl) {{WRAPPER}} .pp-posts-pagination .page-numbers:not(:last-child)' => 'margin-right: calc( {{SIZE}}{{UNIT}}/2 );',
3668
+ 'body.rtl {{WRAPPER}} .pp-posts-pagination .page-numbers:not(:first-child)' => 'margin-right: calc( {{SIZE}}{{UNIT}}/2 );',
3669
+ 'body.rtl {{WRAPPER}} .pp-posts-pagination .page-numbers:not(:last-child)' => 'margin-left: calc( {{SIZE}}{{UNIT}}/2 );',
3670
+ ),
3671
+ 'condition' => array(
3672
+ $this->get_control_id( 'layout!' ) => 'carousel',
3673
+ $this->get_control_id( 'pagination_type' ) => array( 'numbers', 'numbers_and_prev_next' ),
3674
+ ),
3675
+ )
3676
+ );
3677
+
3678
+ $this->add_control(
3679
+ 'heading_loader',
3680
+ array(
3681
+ 'label' => __( 'Loader', 'powerpack' ),
3682
+ 'type' => Controls_Manager::HEADING,
3683
+ 'separator' => 'before',
3684
+ 'condition' => array(
3685
+ $this->get_control_id( 'layout!' ) => 'carousel',
3686
+ $this->get_control_id( 'pagination_type' ) => array( 'load_more', 'infinite' ),
3687
+ ),
3688
+ )
3689
+ );
3690
+
3691
+ $this->add_control(
3692
+ 'loader_color',
3693
+ array(
3694
+ 'label' => __( 'Color', 'powerpack' ),
3695
+ 'type' => Controls_Manager::COLOR,
3696
+ 'selectors' => array(
3697
+ '{{WRAPPER}} .pp-loader:after, {{WRAPPER}} .pp-posts-loader:after' => 'border-bottom-color: {{VALUE}}; border-top-color: {{VALUE}};',
3698
+ ),
3699
+ 'condition' => array(
3700
+ $this->get_control_id( 'layout!' ) => 'carousel',
3701
+ $this->get_control_id( 'pagination_type' ) => array( 'load_more', 'infinite' ),
3702
+ ),
3703
+ )
3704
+ );
3705
+
3706
+ $this->add_responsive_control(
3707
+ 'loader_size',
3708
+ array(
3709
+ 'label' => __( 'Size', 'powerpack' ),
3710
+ 'type' => Controls_Manager::SLIDER,
3711
+ 'range' => array(
3712
+ 'px' => array(
3713
+ 'min' => 10,
3714
+ 'max' => 80,
3715
+ 'step' => 1,
3716
+ ),
3717
+ ),
3718
+ 'default' => array(
3719
+ 'size' => 46,
3720
+ ),
3721
+ 'size_units' => array( 'px' ),
3722
+ 'selectors' => array(
3723
+ '{{WRAPPER}} .pp-posts-loader' => 'width: {{SIZE}}{{UNIT}}; height: {{SIZE}}{{UNIT}};',
3724
+ ),
3725
+ 'condition' => array(
3726
+ $this->get_control_id( 'layout!' ) => 'carousel',
3727
+ $this->get_control_id( 'pagination_type' ) => array( 'load_more', 'infinite' ),
3728
+ ),
3729
+ )
3730
+ );
3731
+
3732
+ $this->end_controls_section();
3733
+ }
3734
+
3735
+ public function get_avatar_size( $size = 'sm' ) {
3736
+
3737
+ if ( $size == 'xs' ) {
3738
+ $value = 30;
3739
+ } elseif ( $size == 'sm' ) {
3740
+ $value = 60;
3741
+ } elseif ( $size == 'md' ) {
3742
+ $value = 120;
3743
+ } elseif ( $size == 'lg' ) {
3744
+ $value = 180;
3745
+ } elseif ( $size == 'xl' ) {
3746
+ $value = 240;
3747
+ } else {
3748
+ $value = 60;
3749
+ }
3750
+
3751
+ return $value;
3752
+ }
3753
+
3754
+ /**
3755
+ * Get Masonry classes array.
3756
+ *
3757
+ * Returns the Masonry classes array.
3758
+ *
3759
+ * @since 1.7.0
3760
+ * @access public
3761
+ */
3762
+ public function get_masonry_classes() {
3763
+
3764
+ $settings = $this->parent->get_settings_for_display();
3765
+
3766
+ $post_type = $settings['post_type'];
3767
+
3768
+ $filter_by = $this->get_instance_value( 'tax_' . $post_type . '_filter' );
3769
+
3770
+ $taxonomies = wp_get_post_terms( get_the_ID(), $filter_by );
3771
+ $class = array();
3772
+
3773
+ if ( count( $taxonomies ) > 0 ) {
3774
+
3775
+ foreach ( $taxonomies as $taxonomy ) {
3776
+
3777
+ if ( is_object( $taxonomy ) ) {
3778
+
3779
+ $class[] = $taxonomy->slug;
3780
+ }
3781
+ }
3782
+ }
3783
+
3784
+ return implode( ' ', $class );
3785
+ }
3786
+
3787
+ /**
3788
+ * Render post terms output on the frontend.
3789
+ *
3790
+ * Written in PHP and used to generate the final HTML.
3791
+ *
3792
+ * @access protected
3793
+ */
3794
+ protected function render_terms() {
3795
+ $settings = $this->parent->get_settings_for_display();
3796
+ $post_terms = $this->get_instance_value( 'post_terms' );
3797
+
3798
+ if ( $post_terms != 'yes' ) {
3799
+ return;
3800
+ }
3801
+
3802
+ $post_type = $settings['post_type'];
3803
+
3804
+ if ( $settings['post_type'] == 'related' ) {
3805
+ $post_type = get_post_type();
3806
+ }
3807
+
3808
+ $taxonomies = $this->get_instance_value( 'tax_badge_' . $post_type );
3809
+
3810
+ $terms = array();
3811
+
3812
+ if ( is_array( $taxonomies ) ) {
3813
+ foreach ( $taxonomies as $taxonomy ) {
3814
+ $terms_tax = wp_get_post_terms( get_the_ID(), $taxonomy );
3815
+ $terms = array_merge( $terms, $terms_tax );
3816
+ }
3817
+ } else {
3818
+ $terms = wp_get_post_terms( get_the_ID(), $taxonomies );
3819
+ }
3820
+
3821
+ if ( empty( $terms ) || is_wp_error( $terms ) ) {
3822
+ return;
3823
+ }
3824
+
3825
+ $max_terms = $this->get_instance_value( 'max_terms' );
3826
+
3827
+ if ( $max_terms != '' ) {
3828
+ $terms = array_slice( $terms, 0, $max_terms );
3829
+ }
3830
+
3831
+ $terms = apply_filters( 'ppe_posts_terms', $terms );
3832
+
3833
+ $link_terms = $this->get_instance_value( 'post_taxonomy_link' );
3834
+
3835
+ if ( $link_terms == 'yes' ) {
3836
+ $format = '<span class="pp-post-term"><a href="%2$s">%1$s</a></span>';
3837
+ } else {
3838
+ $format = '<span class="pp-post-term">%1$s</span>';
3839
+ }
3840
+ ?>
3841
+ <?php do_action( 'ppe_before_single_post_terms', get_the_ID(), $settings ); ?>
3842
+ <div class="pp-post-terms-wrap">
3843
+ <span class="pp-post-terms">
3844
+ <?php
3845
+ foreach ( $terms as $term ) {
3846
+ printf( $format, $term->name, get_term_link( (int) $term->term_id ) );
3847
+ }
3848
+
3849
+ do_action( 'ppe_single_post_terms', get_the_ID(), $settings );
3850
+ ?>
3851
+ </span>
3852
+ </div>
3853
+ <?php do_action( 'ppe_after_single_post_terms', get_the_ID(), $settings ); ?>
3854
+ <?php
3855
+ }
3856
+
3857
+ /**
3858
+ * Render post meta output on the frontend.
3859
+ *
3860
+ * Written in PHP and used to generate the final HTML.
3861
+ *
3862
+ * @access protected
3863
+ */
3864
+ protected function render_meta_item( $item_type = '' ) {
3865
+ $settings = $this->parent->get_settings_for_display();
3866
+
3867
+ if ( $item_type == '' ) {
3868
+ return;
3869
+ }
3870
+
3871
+ $show_item = $this->get_instance_value( 'show_' . $item_type );
3872
+ $item_link = $this->get_instance_value( $item_type . '_link' );
3873
+ $item_icon = $this->get_instance_value( $item_type . '_icon' );
3874
+ $item_prefix = $this->get_instance_value( $item_type . '_prefix' );
3875
+
3876
+ if ( $show_item != 'yes' ) {
3877
+ return;
3878
+ }
3879
+ ?>
3880
+ <?php do_action( 'ppe_before_single_post_' . $item_type, get_the_ID(), $settings ); ?>
3881
+ <span class="pp-post-<?php echo $item_type; ?>">
3882
+ <?php
3883
+ if ( $item_icon != '' ) {
3884
+ ?>
3885
+ <span class="pp-meta-icon <?php echo $item_icon; ?>">
3886
+ </span>
3887
+ <?php
3888
+ }
3889
+
3890
+ if ( $item_prefix != '' ) {
3891
+ ?>
3892
+ <span class="pp-meta-prefix">
3893
+ <?php
3894
+ echo $item_prefix;
3895
+ ?>
3896
+ </span>
3897
+ <?php
3898
+ }
3899
+ ?>
3900
+ <span class="pp-meta-text">
3901
+ <?php
3902
+ if ( $item_type == 'author' ) {
3903
+ echo $this->get_post_author( $item_link );
3904
+ } elseif ( $item_type == 'date' ) {
3905
+ if ( $item_link == 'yes' ) {
3906
+ echo '<a href="' . get_permalink() . '">' . $this->get_post_date() . '</a>';
3907
+ } else {
3908
+ echo $this->get_post_date();
3909
+ }
3910
+ } elseif ( $item_type == 'comments' ) {
3911
+ echo $this->get_post_comments();
3912
+ }
3913
+ ?>
3914
+ </span>
3915
+ </span>
3916
+ <span class="pp-meta-separator"></span>
3917
+ <?php do_action( 'ppe_after_single_post_' . $item_type, get_the_ID(), $settings ); ?>
3918
+ <?php
3919
+ }
3920
+
3921
+ /**
3922
+ * Get post author
3923
+ *
3924
+ * @access protected
3925
+ */
3926
+ protected function get_post_author( $author_link = '' ) {
3927
+ if ( $author_link == 'yes' ) {
3928
+ return get_the_author_posts_link();
3929
+ } else {
3930
+ return get_the_author();
3931
+ }
3932
+ }
3933
+
3934
+ /**
3935
+ * Get post author
3936
+ *
3937
+ * @access protected
3938
+ */
3939
+ protected function get_post_comments() {
3940
+ /**
3941
+ * Comments Filter
3942
+ *
3943
+ * Filters the output for comments
3944
+ *
3945
+ * @since 1.4.11.0
3946
+ * @param string $comments The original text
3947
+ * @param int get_the_id() The post ID
3948
+ */
3949
+ $comments = get_comments_number_text();
3950
+ $comments = apply_filters( 'ppe_posts_comments', $comments, get_the_ID() );
3951
+ return $comments;
3952
+ }
3953
+
3954
+ /**
3955
+ * Get post date
3956
+ *
3957
+ * @access protected
3958
+ */
3959
+ protected function get_post_date( $date_link = '' ) {
3960
+ $date_format = $this->get_instance_value( 'date_format' );
3961
+ $date = '';
3962
+
3963
+ if ( $date_format == 'ago' ) {
3964
+ $date = sprintf( _x( '%s ago', '%s = human-readable time difference', 'powerpack' ), human_time_diff( get_the_time( 'U' ), current_time( 'timestamp' ) ) );
3965
+ } elseif ( $date_format == 'modified' ) {
3966
+ $date = get_the_modified_date( '', get_the_ID() );
3967
+ } elseif ( $date_format == 'custom' ) {
3968
+ $date_custom_format = $this->get_instance_value( 'date_custom_format' );
3969
+ $date = ( $date_custom_format ) ? get_the_date( $date_custom_format ) : get_the_date();
3970
+ } elseif ( $date_format == 'key' ) {
3971
+ $date_meta_key = $this->get_instance_value( 'date_meta_key' );
3972
+ if ( $date_meta_key ) {
3973
+ $date = get_post_meta( get_the_ID(), $date_meta_key, 'true' );
3974
+ }
3975
+ } else {
3976
+ $date = get_the_date();
3977
+ }
3978
+
3979
+ if ( $date == '' ) {
3980
+ $date = get_the_date();
3981
+ }
3982
+
3983
+ return apply_filters( 'ppe_posts_date', $date, get_the_ID() );
3984
+ }
3985
+
3986
+ /**
3987
+ * Render post thumbnail output on the frontend.
3988
+ *
3989
+ * Written in PHP and used to generate the final HTML.
3990
+ *
3991
+ * @access protected
3992
+ */
3993
+ protected function get_post_thumbnail() {
3994
+
3995
+ $settings = $this->parent->get_settings_for_display();
3996
+ $image = $this->get_instance_value( 'show_thumbnail' );
3997
+ $fallback_image = $this->get_instance_value( 'fallback_image' );
3998
+ $fallback_image_custom = $this->get_instance_value( 'fallback_image_custom' );
3999
+
4000
+ if ( $image !== 'yes' ) {
4001
+ return;
4002
+ }
4003
+
4004
+ if ( has_post_thumbnail() ) {
4005
+
4006
+ $image_id = get_post_thumbnail_id( get_the_ID() );
4007
+
4008
+ $setting_key = $this->get_control_id( 'thumbnail' );
4009
+ $settings[ $setting_key ] = array(
4010
+ 'id' => $image_id,
4011
+ );
4012
+ $thumbnail_html = Group_Control_Image_Size::get_attachment_image_html( $settings, $setting_key );
4013
+
4014
+ } elseif ( $fallback_image == 'default' ) {
4015
+
4016
+ $thumbnail_url = Utils::get_placeholder_image_src();
4017
+ $thumbnail_html = '<img src="' . $thumbnail_url . '"/>';
4018
+
4019
+ } elseif ( $fallback_image == 'custom' ) {
4020
+
4021
+ $custom_image_id = $fallback_image_custom['id'];
4022
+ $setting_key = $this->get_control_id( 'thumbnail' );
4023
+ $settings[ $setting_key ] = array(
4024
+ 'id' => $custom_image_id,
4025
+ );
4026
+ $thumbnail_html = Group_Control_Image_Size::get_attachment_image_html( $settings, $setting_key );
4027
+
4028
+ }
4029
+
4030
+ if ( empty( $thumbnail_html ) ) {
4031
+ return;
4032
+ }
4033
+
4034
+ return $thumbnail_html;
4035
+ }
4036
+
4037
+ /**
4038
+ * Render post title output on the frontend.
4039
+ *
4040
+ * Written in PHP and used to generate the final HTML.
4041
+ *
4042
+ * @access protected
4043
+ */
4044
+ protected function render_post_title() {
4045
+ $settings = $this->parent->get_settings_for_display();
4046
+
4047
+ $show_post_title = $this->get_instance_value( 'post_title' );
4048
+ $title_tag = $this->get_instance_value( 'title_html_tag' );
4049
+ $title_link = $this->get_instance_value( 'post_title_link' );
4050
+ $post_title_separator = $this->get_instance_value( 'post_title_separator' );
4051
+
4052
+ if ( $show_post_title != 'yes' ) {
4053
+ return;
4054
+ }
4055
+
4056
+ $post_title = get_the_title();
4057
+ /**
4058
+ * Post Title Filter
4059
+ *
4060
+ * Filters post title
4061
+ *
4062
+ * @since 1.4.11.0
4063
+ * @param string $post_title The original text
4064
+ * @param int get_the_id() The post ID
4065
+ */
4066
+ $post_title = apply_filters( 'ppe_posts_title', $post_title, get_the_ID() );
4067
+ if ( $post_title ) {
4068
+ ?>
4069
+ <?php do_action( 'ppe_before_single_post_title', get_the_ID(), $settings ); ?>
4070
+ <<?php echo $title_tag; ?> class="pp-post-title">
4071
+ <?php if ( $title_link == 'yes' ) { ?>
4072
+ <a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>">
4073
+ <?php echo $post_title; ?>
4074
+ </a>
4075
+ <?php
4076
+ } else {
4077
+ echo $post_title; }
4078
+ ?>
4079
+ </<?php echo $title_tag; ?>>
4080
+ <?php
4081
+ if ( $post_title_separator == 'yes' ) {
4082
+ ?>
4083
+ <div class="pp-post-separator-wrap">
4084
+ <div class="pp-post-separator"></div>
4085
+ </div>
4086
+ <?php
4087
+ }
4088
+ }
4089
+
4090
+ do_action( 'ppe_after_single_post_title', get_the_ID(), $settings );
4091
+ }
4092
+
4093
+ /**
4094
+ * Render post thumbnail output on the frontend.
4095
+ *
4096
+ * Written in PHP and used to generate the final HTML.
4097
+ *
4098
+ * @access protected
4099
+ */
4100
+ protected function render_post_thumbnail() {
4101
+ $settings = $this->parent->get_settings_for_display();
4102
+
4103
+ $image_link = $this->get_instance_value( 'thumbnail_link' );
4104
+
4105
+ $thumbnail_html = $this->get_post_thumbnail();
4106
+
4107
+ if ( empty( $thumbnail_html ) ) {
4108
+ return;
4109
+ }
4110
+
4111
+ if ( $image_link == 'yes' ) {
4112
+
4113
+ $thumbnail_html = '<a href="' . get_the_permalink() . '">' . $thumbnail_html . '</a>';
4114
+
4115
+ }
4116
+ do_action( 'ppe_before_single_post_thumbnail', get_the_ID(), $settings );
4117
+ ?>
4118
+ <div class="pp-post-thumbnail">
4119
+ <div class="pp-post-thumbnail-wrap">
4120
+ <?php echo $thumbnail_html; ?>
4121
+ </div>
4122
+ </div>
4123
+ <?php
4124
+ do_action( 'ppe_after_single_post_thumbnail', get_the_ID(), $settings );
4125
+ }
4126
+
4127
+ /**
4128
+ * Get post excerpt length.
4129
+ *
4130
+ * Returns the length of post excerpt.
4131
+ *
4132
+ * @since 1.7.0
4133
+ * @access public
4134
+ */
4135
+ public function pp_excerpt_length_filter() {
4136
+ return $this->get_instance_value( 'excerpt_length' );
4137
+ }
4138
+
4139
+ /**
4140
+ * Get post excerpt end text.
4141
+ *
4142
+ * Returns the string to append to post excerpt.
4143
+ *
4144
+ * @param string $more returns string.
4145
+ * @since 1.7.0
4146
+ * @access public
4147
+ */
4148
+ public function pp_excerpt_more_filter( $more ) {
4149
+ return ' ...';
4150
+ }
4151
+
4152
+ /**
4153
+ * Get post excerpt.
4154
+ *
4155
+ * Returns the post excerpt HTML wrap.
4156
+ *
4157
+ * @since 1.7.0
4158
+ * @access public
4159
+ */
4160
+ public function render_excerpt() {
4161
+ $settings = $this->parent->get_settings_for_display();
4162
+ $show_excerpt = $this->get_instance_value( 'show_excerpt' );
4163
+ $excerpt_length = $this->get_instance_value( 'excerpt_length' );
4164
+ $content_type = $this->get_instance_value( 'content_type' );
4165
+ $content_length = $this->get_instance_value( 'content_length' );
4166
+
4167
+ if ( $show_excerpt != 'yes' ) {
4168
+ return;
4169
+ }
4170
+
4171
+ if ( $content_type == 'excerpt' && $excerpt_length == 0 ) {
4172
+ return;
4173
+ }
4174
+ ?>
4175
+ <?php do_action( 'ppe_before_single_post_excerpt', get_the_ID(), $settings ); ?>
4176
+ <div class="pp-post-excerpt">
4177
+ <?php
4178
+ if ( $content_type == 'full' ) {
4179
+ the_content();
4180
+ } elseif ( $content_type == 'content' ) {
4181
+ $more = '...';
4182
+ echo wp_trim_words( get_the_content(), $content_length, apply_filters( 'pp_posts_content_limit_more', $more ) );
4183
+ } else {
4184
+ add_filter( 'excerpt_length', array( $this, 'pp_excerpt_length_filter' ), 20 );
4185
+ add_filter( 'excerpt_more', array( $this, 'pp_excerpt_more_filter' ), 20 );
4186
+ the_excerpt();
4187
+ remove_filter( 'excerpt_length', array( $this, 'pp_excerpt_length_filter' ), 20 );
4188
+ remove_filter( 'excerpt_more', array( $this, 'pp_excerpt_more_filter' ), 20 );
4189
+ }
4190
+ ?>
4191
+ </div>
4192
+ <?php do_action( 'ppe_after_single_post_excerpt', get_the_ID(), $settings ); ?>
4193
+ <?php
4194
+ }
4195
+
4196
+ /**
4197
+ * Render button output on the frontend.
4198
+ *
4199
+ * Written in PHP and used to generate the final HTML.
4200
+ *
4201
+ * @access protected
4202
+ */
4203
+ protected function render_button() {
4204
+ $settings = $this->parent->get_settings_for_display();
4205
+ $show_button = $this->get_instance_value( 'show_button' );
4206
+ $button_animation = $this->get_instance_value( 'button_animation' );
4207
+
4208
+ if ( $show_button != 'yes' ) {
4209
+ return;
4210
+ }
4211
+
4212
+ $button_text = $this->get_instance_value( 'button_text' );
4213
+ $button_icon = $this->get_instance_value( 'button_icon' );
4214
+ $button_icon_position = $this->get_instance_value( 'button_icon_position' );
4215
+ $button_size = $this->get_instance_value( 'button_size' );
4216
+
4217
+ $classes = array(
4218
+ 'pp-posts-button',
4219
+ 'elementor-button',
4220
+ 'elementor-size-' . $button_size,
4221
+ );
4222
+
4223
+ if ( $button_animation ) {
4224
+ $classes[] = 'elementor-animation-' . $button_animation;
4225
+ }
4226
+
4227
+ /**
4228
+ * Button Text Filter
4229
+ *
4230
+ * Filters the text for the button
4231
+ *
4232
+ * @since 1.4.11.0
4233
+ * @param string $button_text The original text
4234
+ * @param int get_the_id() The post ID
4235
+ */
4236
+ $button_text = apply_filters( 'ppe_posts_button_text', $button_text, get_the_ID() );
4237
+ ?>
4238
+ <?php do_action( 'ppe_before_single_post_button', get_the_ID(), $settings ); ?>
4239
+ <a class="<?php echo implode( ' ', $classes ); ?>" href="<?php echo get_the_permalink(); ?>">
4240
+ <?php if ( $button_icon != '' && $button_icon_position == 'before' ) { ?>
4241
+ <span class="pp-button-icon <?php echo esc_attr( $button_icon ); ?>" aria-hidden="true"></span>
4242
+ <?php } ?>
4243
+ <?php if ( $button_text != '' ) { ?>
4244
+ <span class="pp-button-text">
4245
+ <?php echo esc_html( $button_text ); ?>
4246
+ </span>
4247
+ <?php } ?>
4248
+ <?php if ( $button_icon != '' && $button_icon_position == 'after' ) { ?>
4249
+ <span class="pp-button-icon <?php echo esc_attr( $button_icon ); ?>" aria-hidden="true"></span>
4250
+ <?php } ?>
4251
+ </a>
4252
+ <?php do_action( 'ppe_after_single_post_button', get_the_ID(), $settings ); ?>
4253
+ <?php
4254
+ }
4255
+
4256
+ /**
4257
+ * Render post body output on the frontend.
4258
+ *
4259
+ * Written in PHP and used to generate the final HTML.
4260
+ *
4261
+ * @access protected
4262
+ */
4263
+ public function render_ajax_post_body( $filter = '', $taxonomy = '', $search = '' ) {
4264
+ ob_start();
4265
+ $this->parent->query_posts( $filter, $taxonomy, $search );
4266
+
4267
+ $query = $this->parent->get_query();
4268
+ $total_pages = $query->max_num_pages;
4269
+
4270
+ while ( $query->have_posts() ) {
4271
+ $query->the_post();
4272
+
4273
+ $this->render_post_body();
4274
+ }
4275
+
4276
+ wp_reset_postdata();
4277
+
4278
+ return ob_get_clean();
4279
+ }
4280
+
4281
+ /**
4282
+ * Render post body output on the frontend.
4283
+ *
4284
+ * Written in PHP and used to generate the final HTML.
4285
+ *
4286
+ * @access protected
4287
+ */
4288
+ public function render_ajax_pagination() {
4289
+ ob_start();
4290
+ $this->render_pagination();
4291
+ return ob_get_clean();
4292
+ }
4293
+
4294
+ /**
4295
+ * Get Pagination.
4296
+ *
4297
+ * Returns the Pagination HTML.
4298
+ *
4299
+ * @since 1.7.0
4300
+ * @access public
4301
+ */
4302
+ public function render_pagination() {
4303
+
4304
+ $pagination_type = $this->get_instance_value( 'pagination_type' );
4305
+ $page_limit = $this->get_instance_value( 'pagination_page_limit' );
4306
+ $pagination_shorten = $this->get_instance_value( 'pagination_numbers_shorten' );
4307
+
4308
+ if ( 'none' == $pagination_type ) {
4309
+ return;
4310
+ }
4311
+
4312
+ // Get current page number.
4313
+ $paged = $this->parent->get_paged();
4314
+
4315
+ $query = $this->parent->get_query();
4316
+ $total_pages = $query->max_num_pages;
4317
+ $total_pages_pagination = $query->max_num_pages;
4318
+
4319
+ if ( 2 > $total_pages ) {
4320
+ return;
4321
+ }
4322
+
4323
+ $has_numbers = in_array( $pagination_type, array( 'numbers', 'numbers_and_prev_next' ) );
4324
+ $has_prev_next = ( $pagination_type == 'numbers_and_prev_next' );
4325
+ $is_load_more = ( $pagination_type == 'load_more' );
4326
+
4327
+ $links = array();
4328
+
4329
+ if ( $has_numbers ) {
4330
+
4331
+ $current_page = $paged;
4332
+ if ( ! $current_page ) {
4333
+ $current_page = 1;
4334
+ }
4335
+
4336
+ $paginate_args = array(
4337
+ 'type' => 'array',
4338
+ 'current' => $current_page,
4339
+ 'total' => $total_pages,
4340
+ 'prev_next' => false,
4341
+ 'show_all' => 'yes' !== $pagination_shorten,
4342
+ );
4343
+ }
4344
+
4345
+ if ( $has_prev_next ) {
4346
+ $prev_label = $this->get_instance_value( 'pagination_prev_label' );
4347
+ $next_label = $this->get_instance_value( 'pagination_next_label' );
4348
+
4349
+ $paginate_args['prev_next'] = true;
4350
+
4351
+ if ( $prev_label ) {
4352
+ $paginate_args['prev_text'] = $prev_label;
4353
+ }
4354
+ if ( $next_label ) {
4355
+ $paginate_args['next_text'] = $next_label;
4356
+ }
4357
+ }
4358
+
4359
+ if ( $has_numbers || $has_prev_next ) {
4360
+
4361
+ if ( is_singular() && ! is_front_page() ) {
4362
+ global $wp_rewrite;
4363
+ if ( $wp_rewrite->using_permalinks() ) {
4364
+ $paginate_args['base'] = trailingslashit( get_permalink() ) . '%_%';
4365
+ $paginate_args['format'] = user_trailingslashit( '%#%', 'single_paged' );
4366
+ } else {
4367
+ $paginate_args['format'] = '?page=%#%';
4368
+ }
4369
+ }
4370
+
4371
+ $links = paginate_links( $paginate_args );
4372
+
4373
+ }
4374
+
4375
+ if ( ! $is_load_more ) {
4376
+ $pagination_ajax = $this->get_instance_value( 'pagination_ajax' );
4377
+
4378
+ if ( $pagination_ajax == 'yes' ) {
4379
+ $pagination_type = 'ajax';
4380
+ } else {
4381
+ $pagination_type = 'standard';
4382
+ }
4383
+ ?>
4384
+ <nav class="pp-posts-pagination pp-posts-pagination-<?php echo $pagination_type; ?> elementor-pagination" role="navigation" aria-label="<?php _e( 'Pagination', 'powerpack' ); ?>" data-total="<?php echo $total_pages_pagination; ?>">
4385
+ <?php echo implode( PHP_EOL, $links ); ?>
4386
+ </nav>
4387
+ <?php
4388
+ }
4389
+
4390
+ if ( $is_load_more ) {
4391
+ }
4392
+ }
4393
+
4394
+ public function get_posts_outer_wrap_classes() {
4395
+ $pagination_type = $this->get_instance_value( 'pagination_type' );
4396
+
4397
+ $classes = array(
4398
+ 'pp-posts-container',
4399
+ );
4400
+
4401
+ return apply_filters( 'ppe_posts_outer_wrap_classes', $classes );
4402
+ }
4403
+
4404
+ public function get_posts_wrap_classes() {
4405
+ $layout = $this->get_instance_value( 'layout' );
4406
+
4407
+ $classes = array(
4408
+ 'pp-posts',
4409
+ 'pp-posts-skin-' . $this->get_id(),
4410
+ );
4411
+
4412
+ if ( $layout == 'carousel' ) {
4413
+ $classes[] = 'pp-posts-carousel';
4414
+ $classes[] = 'pp-slick-slider';
4415
+ } else {
4416
+ $classes[] = 'pp-elementor-grid';
4417
+ $classes[] = 'pp-posts-grid';
4418
+ }
4419
+
4420
+ return apply_filters( 'ppe_posts_wrap_classes', $classes );
4421
+ }
4422
+
4423
+ public function get_item_wrap_classes() {
4424
+ $layout = $this->get_instance_value( 'layout' );
4425
+
4426
+ $classes = array( 'pp-post-wrap' );
4427
+
4428
+ if ( $layout == 'carousel' ) {
4429
+ $classes[] = 'pp-carousel-item-wrap';
4430
+ } else {
4431
+ $classes[] = 'pp-grid-item-wrap';
4432
+ }
4433
+
4434
+ return implode( ' ', $classes );
4435
+ }
4436
+
4437
+ public function get_item_classes() {
4438
+ $layout = $this->get_instance_value( 'layout' );
4439
+
4440
+ $classes = array();
4441
+
4442
+ $classes[] = 'pp-post';
4443
+
4444
+ if ( $layout == 'carousel' ) {
4445
+ $classes[] = 'pp-carousel-item';
4446
+ } else {
4447
+ $classes[] = 'pp-grid-item';
4448
+ }
4449
+
4450
+ return implode( ' ', $classes );
4451
+ }
4452
+
4453
+ public function get_ordered_items( $items ) {
4454
+
4455
+ if ( ! $items ) {
4456
+ return;
4457
+ }
4458
+
4459
+ $ordered_items = array();
4460
+
4461
+ foreach ( $items as $item ) {
4462
+ $order = $this->get_instance_value( $item . '_order' );
4463
+
4464
+ $order = ( $order ) ? $order : 1;
4465
+
4466
+ $ordered_items[ $item ] = $order;
4467
+ }
4468
+
4469
+ asort( $ordered_items );
4470
+
4471
+ return $ordered_items;
4472
+ }
4473
+
4474
+ /**
4475
+ * Render post meta output on the frontend.
4476
+ *
4477
+ * Written in PHP and used to generate the final HTML.
4478
+ *
4479
+ * @access protected
4480
+ */
4481
+ protected function render_post_meta() {
4482
+ $settings = $this->parent->get_settings_for_display();
4483
+ $post_meta = $this->get_instance_value( 'post_meta' );
4484
+
4485
+ if ( $post_meta == 'yes' ) {
4486
+ ?>
4487
+ <?php do_action( 'ppe_before_single_post_meta', get_the_ID(), $settings ); ?>
4488
+ <div class="pp-post-meta">
4489
+ <?php
4490
+ $meta_items = $this->get_ordered_items( Module::get_meta_items() );
4491
+
4492
+ foreach ( $meta_items as $meta_item => $index ) {
4493
+ if ( $meta_item == 'author' ) {
4494
+ // Post Author
4495
+ $this->render_meta_item( 'author' );
4496
+ }
4497
+
4498
+ if ( $meta_item == 'date' ) {
4499
+ // Post Date
4500
+ $this->render_meta_item( 'date' );
4501
+ }
4502
+
4503
+ if ( $meta_item == 'comments' ) {
4504
+ // Post Comments
4505
+ $this->render_meta_item( 'comments' );
4506
+ }
4507
+ }
4508
+ ?>
4509
+ </div>
4510
+ <?php
4511
+ do_action( 'ppe_after_single_post_meta', get_the_ID(), $settings );
4512
+ }
4513
+ }
4514
+
4515
+ /**
4516
+ * Render post body output on the frontend.
4517
+ *
4518
+ * Written in PHP and used to generate the final HTML.
4519
+ *
4520
+ * @access protected
4521
+ */
4522
+ protected function render_post_body() {
4523
+ $settings = $this->parent->get_settings_for_display();
4524
+
4525
+ $post_terms = $this->get_instance_value( 'post_terms' );
4526
+ $post_meta = $this->get_instance_value( 'post_meta' );
4527
+ $thumbnail_location = $this->get_instance_value( 'thumbnail_location' );
4528
+
4529
+ do_action( 'ppe_before_single_post_wrap', get_the_ID(), $settings );
4530
+ ?>
4531
+ <div class="<?php echo $this->get_item_wrap_classes(); ?>">
4532
+ <?php do_action( 'ppe_before_single_post', get_the_ID(), $settings ); ?>
4533
+ <div class="<?php echo $this->get_item_classes(); ?>">
4534
+ <?php
4535
+ if ( $thumbnail_location == 'outside' ) {
4536
+ $this->render_post_thumbnail();
4537
+ }
4538
+ ?>
4539
+
4540
+ <?php do_action( 'ppe_before_single_post_content', get_the_ID(), $settings ); ?>
4541
+
4542
+ <div class="pp-post-content">
4543
+ <?php
4544
+ $content_parts = $this->get_ordered_items( Module::get_post_parts() );
4545
+
4546
+ foreach ( $content_parts as $part => $index ) {
4547
+ if ( $part == 'thumbnail' ) {
4548
+ if ( $thumbnail_location == 'inside' ) {
4549
+ $this->render_post_thumbnail();
4550
+ }
4551
+ }
4552
+
4553
+ if ( $part == 'terms' ) {
4554
+ $this->render_terms();
4555
+ }
4556
+
4557
+ if ( $part == 'title' ) {
4558
+ $this->render_post_title();
4559
+ }
4560
+
4561
+ if ( $part == 'meta' ) {
4562
+ $this->render_post_meta();
4563
+ }
4564
+
4565
+ if ( $part == 'excerpt' ) {
4566
+ $this->render_excerpt();
4567
+ }
4568
+
4569
+ if ( $part == 'button' ) {
4570
+ $this->render_button();
4571
+ }
4572
+ }
4573
+ ?>
4574
+ </div>
4575
+
4576
+ <?php do_action( 'ppe_after_single_post_content', get_the_ID(), $settings ); ?>
4577
+ </div>
4578
+ <?php do_action( 'ppe_after_single_post', get_the_ID(), $settings ); ?>
4579
+ </div>
4580
+ <?php
4581
+ do_action( 'ppe_after_single_post_wrap', get_the_ID(), $settings );
4582
+ }
4583
+
4584
+ /**
4585
+ * Render Search Form HTML.
4586
+ *
4587
+ * Returns the Search Form HTML.
4588
+ *
4589
+ * @since 1.4.11.0
4590
+ * @access public
4591
+ */
4592
+ public function render_search() {
4593
+ $settings = $this->parent->get_settings_for_display();
4594
+ ?>
4595
+ <div class="pp-posts-empty">
4596
+ <?php if ( $settings['nothing_found_message'] ) { ?>
4597
+ <p><?php echo $settings['nothing_found_message']; ?></p>
4598
+ <?php } ?>
4599
+
4600
+ <?php if ( $settings['show_search_form'] === 'yes' ) { ?>
4601
+ <?php get_search_form(); ?>
4602
+ <?php } ?>
4603
+ </div>
4604
+ <?php
4605
+ }
4606
+
4607
+ /**
4608
+ * Carousel Settings.
4609
+ *
4610
+ * @access public
4611
+ */
4612
+ public function slider_settings() {
4613
+ $autoplay = $this->get_instance_value( 'autoplay' );
4614
+ $autoplay_speed = $this->get_instance_value( 'autoplay_speed' );
4615
+ $arrows = $this->get_instance_value( 'arrows' );
4616
+ $arrow = $this->get_instance_value( 'arrow' );
4617
+ $dots = $this->get_instance_value( 'dots' );
4618
+ $animation_speed = $this->get_instance_value( 'animation_speed' );
4619
+ $infinite_loop = $this->get_instance_value( 'infinite_loop' );
4620
+ $pause_on_hover = $this->get_instance_value( 'pause_on_hover' );
4621
+ $adaptive_height = $this->get_instance_value( 'adaptive_height' );
4622
+ $direction = $this->get_instance_value( 'direction' );
4623
+
4624
+ $slides_to_show = ( $this->get_instance_value( 'columns' ) !== '' ) ? absint( $this->get_instance_value( 'columns' ) ) : 3;
4625
+ $slides_to_show_tablet = ( $this->get_instance_value( 'columns_tablet' ) !== '' ) ? absint( $this->get_instance_value( 'columns_tablet' ) ) : 2;
4626
+ $slides_to_show_mobile = ( $this->get_instance_value( 'columns_mobile' ) !== '' ) ? absint( $this->get_instance_value( 'columns_mobile' ) ) : 2;
4627
+ $slides_to_scroll = ( $this->get_instance_value( 'slides_to_scroll' ) !== '' ) ? absint( $this->get_instance_value( 'slides_to_scroll' ) ) : 1;
4628
+ $slides_to_scroll_tablet = ( $this->get_instance_value( 'slides_to_scroll_tablet' ) !== '' ) ? absint( $this->get_instance_value( 'slides_to_scroll_tablet' ) ) : 1;
4629
+ $slides_to_scroll_mobile = ( $this->get_instance_value( 'slides_to_scroll_mobile' ) !== '' ) ? absint( $this->get_instance_value( 'slides_to_scroll_mobile' ) ) : 1;
4630
+
4631
+ $slider_options = array(
4632
+ 'slidesToShow' => $slides_to_show,
4633
+ 'slidesToScroll' => $slides_to_scroll,
4634
+ 'autoplay' => ( $autoplay === 'yes' ),
4635
+ 'autoplaySpeed' => ( $autoplay_speed !== '' ) ? $autoplay_speed : 3000,
4636
+ 'arrows' => ( $arrows === 'yes' ),
4637
+ 'dots' => ( $dots === 'yes' ),
4638
+ 'speed' => ( $animation_speed !== '' ) ? $animation_speed : 600,
4639
+ 'infinite' => ( $infinite_loop === 'yes' ),
4640
+ 'pauseOnHover' => ( $pause_on_hover === 'yes' ),
4641
+ 'adaptiveHeight' => ( $adaptive_height === 'yes' ),
4642
+ );
4643
+
4644
+ if ( $direction === 'right' ) {
4645
+ $slider_options['rtl'] = true;
4646
+ }
4647
+
4648
+ if ( $arrows == 'yes' ) {
4649
+ if ( $arrow ) {
4650
+ $pa_next_arrow = $arrow;
4651
+ $pa_prev_arrow = str_replace( 'right', 'left', $arrow );
4652
+ } else {
4653
+ $pa_next_arrow = 'fa fa-angle-right';
4654
+ $pa_prev_arrow = 'fa fa-angle-left';
4655
+ }
4656
+
4657
+ $slider_options['prevArrow'] = '<div class="pp-slider-arrow pp-arrow pp-arrow-prev"><i class="' . $pa_prev_arrow . '"></i></div>';
4658
+ $slider_options['nextArrow'] = '<div class="pp-slider-arrow pp-arrow pp-arrow-next"><i class="' . $pa_next_arrow . '"></i></div>';
4659
+ }
4660
+
4661
+ $slider_options['responsive'] = array(
4662
+ array(
4663
+ 'breakpoint' => 1024,
4664
+ 'settings' => array(
4665
+ 'slidesToShow' => $slides_to_show_tablet,
4666
+ 'slidesToScroll' => $slides_to_scroll_tablet,
4667
+ ),
4668
+ ),
4669
+ array(
4670
+ 'breakpoint' => 768,
4671
+ 'settings' => array(
4672
+ 'slidesToShow' => $slides_to_show_mobile,
4673
+ 'slidesToScroll' => $slides_to_scroll_mobile,
4674
+ ),
4675
+ ),
4676
+ );
4677
+
4678
+ $this->parent->add_render_attribute(
4679
+ 'posts-wrap',
4680
+ array(
4681
+ 'data-slider-settings' => wp_json_encode( $slider_options ),
4682
+ )
4683
+ );
4684
+ }
4685
+
4686
+ /**
4687
+ * Render posts grid widget output on the frontend.
4688
+ *
4689
+ * Written in PHP and used to generate the final HTML.
4690
+ *
4691
+ * @access protected
4692
+ */
4693
+ public function render() {
4694
+ $settings = $this->parent->get_settings_for_display();
4695
+
4696
+ $query_type = $settings['query_type'];
4697
+ $layout = $this->get_instance_value( 'layout' );
4698
+ $pagination_type = $this->get_instance_value( 'pagination_type' );
4699
+ $pagination_position = $this->get_instance_value( 'pagination_position' );
4700
+ $equal_height = $this->get_instance_value( 'equal_height' );
4701
+ $direction = $this->get_instance_value( 'direction' );
4702
+ $skin = $this->get_id();
4703
+ $posts_outer_wrap = $this->get_posts_outer_wrap_classes();
4704
+ $posts_wrap = $this->get_posts_wrap_classes();
4705
+ $page_id = '';
4706
+ if ( null != \Elementor\Plugin::$instance->documents->get_current() ) {
4707
+ $page_id = \Elementor\Plugin::$instance->documents->get_current()->get_main_id();
4708
+ }
4709
+
4710
+ $this->parent->add_render_attribute( 'posts-container', 'class', $posts_outer_wrap );
4711
+
4712
+ $this->parent->add_render_attribute( 'posts-wrap', 'class', $posts_wrap );
4713
+
4714
+ if ( $layout == 'carousel' ) {
4715
+ if ( $equal_height == 'yes' ) {
4716
+ $this->parent->add_render_attribute( 'posts-wrap', 'data-equal-height', 'yes' );
4717
+ }
4718
+ if ( $direction == 'right' ) {
4719
+ $this->parent->add_render_attribute( 'posts-wrap', 'dir', 'rtl' );
4720
+ }
4721
+ }
4722
+
4723
+ $this->parent->add_render_attribute(
4724
+ 'posts-wrap',
4725
+ array(
4726
+ 'data-query-type' => $query_type,
4727
+ 'data-layout' => $layout,
4728
+ 'data-page' => $page_id,
4729
+ 'data-skin' => $skin,
4730
+ )
4731
+ );
4732
+
4733
+ $this->parent->add_render_attribute( 'post-categories', 'class', 'pp-post-categories' );
4734
+
4735
+ if ( $layout == 'carousel' ) {
4736
+ $this->slider_settings();
4737
+ }
4738
+ ?>
4739
+
4740
+ <?php do_action( 'ppe_before_posts_outer_wrap', $settings ); ?>
4741
+
4742
+ <div <?php echo $this->parent->get_render_attribute_string( 'posts-container' ); ?>>
4743
+ <?php
4744
+ do_action( 'ppe_before_posts_wrap', $settings );
4745
+
4746
+ $i = 1;
4747
+
4748
+ $enable_active_filter = $this->get_instance_value( 'enable_active_filter' );
4749
+ if ( $enable_active_filter == 'yes' ) {
4750
+ $filter_active = $this->get_instance_value( 'filter_active' );
4751
+ $filters = $this->get_filter_values();
4752
+ $taxonomy = $filters[ $filter_active ]->taxonomy;
4753
+ $filter = $filters[ $filter_active ]->slug;
4754
+ } else {
4755
+ $filter = '';
4756
+ $taxonomy = '';
4757
+ }
4758
+ $this->parent->query_posts( $filter, $taxonomy );
4759
+ $query = $this->parent->get_query();
4760
+
4761
+ if ( ! $query->found_posts ) {
4762
+
4763
+ $this->render_search();
4764
+
4765
+ return;
4766
+ }
4767
+
4768
+ $total_pages = $query->max_num_pages;
4769
+ ?>
4770
+
4771
+ <?php if ( 'carousel' != $layout ) { ?>
4772
+ <?php if ( ( 'numbers' == $pagination_type || 'numbers_and_prev_next' == $pagination_type ) && ( 'top' == $pagination_position || 'top-bottom' == $pagination_position ) ) { ?>
4773
+ <div class="pp-posts-pagination-wrap pp-posts-pagination-top">
4774
+ <?php
4775
+ $this->render_pagination();
4776
+ ?>
4777
+ </div>
4778
+ <?php } ?>
4779
+ <?php } ?>
4780
+
4781
+ <div <?php echo $this->parent->get_render_attribute_string( 'posts-wrap' ); ?>>
4782
+ <?php
4783
+ $i = 1;
4784
+
4785
+ if ( $query->have_posts() ) :
4786
+ while ( $query->have_posts() ) :
4787
+ $query->the_post();
4788
+
4789
+ $this->render_post_body();
4790
+
4791
+ $i++;
4792
+
4793
+ endwhile;
4794
+ endif;
4795
+ wp_reset_postdata();
4796
+ ?>
4797
+ </div>
4798
+
4799
+ <?php do_action( 'ppe_after_posts_wrap', $settings ); ?>
4800
+
4801
+ <?php if ( 'load_more' == $pagination_type || 'infinite' == $pagination_type ) { ?>
4802
+ <div class="pp-posts-loader"></div>
4803
+ <?php } ?>
4804
+
4805
+ <?php
4806
+ if ( 'load_more' == $pagination_type || 'infinite' == $pagination_type ) {
4807
+ $pagination_bottom = true;
4808
+ } elseif ( ( 'numbers' == $pagination_type || 'numbers_and_prev_next' == $pagination_type ) && ( '' == $pagination_position || 'bottom' == $pagination_position || 'top-bottom' == $pagination_position ) ) {
4809
+ $pagination_bottom = true;
4810
+ } else {
4811
+ $pagination_bottom = false;
4812
+ }
4813
+ ?>
4814
+
4815
+ <?php if ( 'carousel' != $layout ) { ?>
4816
+ <?php if ( $pagination_bottom ) { ?>
4817
+ <div class="pp-posts-pagination-wrap pp-posts-pagination-bottom">
4818
+ <?php
4819
+ $this->render_pagination();
4820
+ ?>
4821
+ </div>
4822
+ <?php } ?>
4823
+ <?php } ?>
4824
+ </div>
4825
+
4826
+ <?php do_action( 'ppe_after_posts_outer_wrap', $settings ); ?>
4827
+
4828
+ <?php
4829
+
4830
+ if ( \Elementor\Plugin::instance()->editor->is_edit_mode() ) {
4831
+
4832
+ if ( 'masonry' === $layout ) {
4833
+ $this->render_editor_script();
4834
+ }
4835
+ }
4836
+ }
4837
+
4838
+ public function get_active_filter_taxonomies() {
4839
+ // $settings = $this->parent->get_settings();
4840
+ // $post_type = $settings['post_type'];
4841
+ $taxonomy = PP_Posts_Helper::get_post_taxonomies( 'post' );
4842
+
4843
+ $options[-1] = __( 'Select', 'powerpack' );
4844
+
4845
+ if ( ! empty( $taxonomy ) ) {
4846
+
4847
+ // Get all taxonomy values under the taxonomy.
4848
+ foreach ( $taxonomy as $index => $tax ) {
4849
+
4850
+ // $terms = get_terms( $index );
4851
+
4852
+ $options[ $index ] = $tax->label;
4853
+ }
4854
+ }
4855
+
4856
+ return $options;
4857
+ }
4858
+
4859
+ /**
4860
+ * Get masonry script.
4861
+ *
4862
+ * Returns the post masonry script.
4863
+ *
4864
+ * @since 1.7.0
4865
+ * @access public
4866
+ */
4867
+ public function render_editor_script() {
4868
+
4869
+ $settings = $this->parent->get_settings_for_display();
4870
+
4871
+ $layout = $this->get_instance_value( 'layout' );
4872
+
4873
+ if ( 'masonry' != $layout ) {
4874
+ return;
4875
+ }
4876
+
4877
+ $layout = 'masonry';
4878
+
4879
+ ?>
4880
+ <script type="text/javascript">
4881
+
4882
+ jQuery( document ).ready( function( $ ) {
4883
+ $( '.pp-posts-grid' ).each( function() {
4884
+
4885
+ var $node_id = '<?php echo $this->parent->get_id(); ?>',
4886
+ $scope = $( '[data-id="' + $node_id + '"]' ),
4887
+ $selector = $(this);
4888
+
4889
+ if ( $selector.closest( $scope ).length < 1 ) {
4890
+ return;
4891
+ }
4892
+
4893
+ $selector.imagesLoaded( function() {
4894
+
4895
+ $isotopeObj = $selector.isotope({
4896
+ layoutMode: '<?php echo $layout; ?>',
4897
+ itemSelector: '.pp-grid-item-wrap',
4898
+ });
4899
+
4900
+ $selector.find( '.pp-grid-item-wrap' ).resize( function() {
4901
+ $isotopeObj.isotope( 'layout' );
4902
+ });
4903
+ });
4904
+ });
4905
+ });
4906
+
4907
+ </script>
4908
+ <?php
4909
+ }
4910
+ }
modules/posts/skins/skin-card.php ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace PowerpackElementsLite\Modules\Posts\Skins;
3
+
4
+ use PowerpackElementsLite\Base\Powerpack_Widget;
5
+ use PowerpackElementsLite\Modules\Posts\Module;
6
+
7
+ // Elementor Classes
8
+ use Elementor\Controls_Manager;
9
+ use Elementor\Utils;
10
+ use Elementor\Group_Control_Image_Size;
11
+ use Elementor\Group_Control_Background;
12
+ use Elementor\Group_Control_Border;
13
+ use Elementor\Group_Control_Typography;
14
+ use Elementor\Scheme_Typography;
15
+ use Elementor\Scheme_Color;
16
+
17
+ if ( ! defined( 'ABSPATH' ) ) {
18
+ exit; // Exit if accessed directly.
19
+ }
20
+
21
+ /**
22
+ * Card Skin for Posts widget
23
+ */
24
+ class Skin_Card extends Skin_Base {
25
+
26
+ /**
27
+ * Retrieve Skin ID.
28
+ *
29
+ * @access public
30
+ *
31
+ * @return string Skin ID.
32
+ */
33
+ public function get_id() {
34
+ return 'card';
35
+ }
36
+
37
+ /**
38
+ * Retrieve Skin title.
39
+ *
40
+ * @access public
41
+ *
42
+ * @return string Skin title.
43
+ */
44
+ public function get_title() {
45
+ return __( 'Card', 'powerpack' );
46
+ }
47
+ }
modules/posts/skins/skin-checkerboard.php ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace PowerpackElementsLite\Modules\Posts\Skins;
3
+
4
+ use PowerpackElementsLite\Base\Powerpack_Widget;
5
+ use PowerpackElementsLite\Modules\Posts\Module;
6
+
7
+ // Elementor Classes
8
+ use Elementor\Controls_Manager;
9
+ use Elementor\Utils;
10
+ use Elementor\Group_Control_Image_Size;
11
+ use Elementor\Group_Control_Background;
12
+ use Elementor\Group_Control_Border;
13
+ use Elementor\Group_Control_Typography;
14
+ use Elementor\Scheme_Typography;
15
+ use Elementor\Scheme_Color;
16
+
17
+ if ( ! defined( 'ABSPATH' ) ) {
18
+ exit; // Exit if accessed directly.
19
+ }
20
+
21
+ /**
22
+ * Checkerboard Skin for Posts widget
23
+ */
24
+ class Skin_Checkerboard extends Skin_Base {
25
+
26
+ /**
27
+ * Retrieve Skin ID.
28
+ *
29
+ * @access public
30
+ *
31
+ * @return string Skin ID.
32
+ */
33
+ public function get_id() {
34
+ return 'checkerboard';
35
+ }
36
+
37
+ /**
38
+ * Retrieve Skin title.
39
+ *
40
+ * @access public
41
+ *
42
+ * @return string Skin title.
43
+ */
44
+ public function get_title() {
45
+ return __( 'Checkerboard', 'powerpack' );
46
+ }
47
+ }
modules/posts/skins/skin-classic.php ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace PowerpackElementsLite\Modules\Posts\Skins;
3
+
4
+ use PowerpackElementsLite\Base\Powerpack_Widget;
5
+
6
+ // Elementor Classes
7
+ use Elementor\Controls_Manager;
8
+ use Elementor\Utils;
9
+ use Elementor\Group_Control_Image_Size;
10
+ use Elementor\Group_Control_Background;
11
+ use Elementor\Group_Control_Border;
12
+ use Elementor\Group_Control_Typography;
13
+ use Elementor\Scheme_Typography;
14
+ use Elementor\Scheme_Color;
15
+
16
+ if ( ! defined( 'ABSPATH' ) ) {
17
+ exit; // Exit if accessed directly.
18
+ }
19
+
20
+ /**
21
+ * Classic Skin for Posts widget
22
+ */
23
+ class Skin_Classic extends Skin_Base {
24
+
25
+ /**
26
+ * Retrieve Skin ID.
27
+ *
28
+ * @access public
29
+ *
30
+ * @return string Skin ID.
31
+ */
32
+ public function get_id() {
33
+ return 'classic';
34
+ }
35
+
36
+ /**
37
+ * Retrieve Skin title.
38
+ *
39
+ * @access public
40
+ *
41
+ * @return string Skin title.
42
+ */
43
+ public function get_title() {
44
+ return __( 'Classic', 'powerpack' );
45
+ }
46
+ }
modules/posts/skins/skin-creative.php ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace PowerpackElementsLite\Modules\Posts\Skins;
3
+
4
+ use PowerpackElementsLite\Base\Powerpack_Widget;
5
+ use PowerpackElementsLite\Modules\Posts\Module;
6
+
7
+ // Elementor Classes
8
+ use Elementor\Controls_Manager;
9
+ use Elementor\Utils;
10
+ use Elementor\Skin_Base as Elementor_Skin_Base;
11
+ use Elementor\Group_Control_Image_Size;
12
+ use Elementor\Group_Control_Background;
13
+ use Elementor\Group_Control_Border;
14
+ use Elementor\Group_Control_Typography;
15
+ use Elementor\Scheme_Typography;
16
+ use Elementor\Scheme_Color;
17
+ use Elementor\Widget_Base;
18
+
19
+ if ( ! defined( 'ABSPATH' ) ) {
20
+ exit; // Exit if accessed directly.
21
+ }
22
+
23
+ /**
24
+ * Creative Skin for Posts widget
25
+ */
26
+ class Skin_Creative extends Skin_Base {
27
+
28
+ /**
29
+ * Retrieve Skin ID.
30
+ *
31
+ * @access public
32
+ *
33
+ * @return string Skin ID.
34
+ */
35
+ public function get_id() {
36
+ return 'creative';
37
+ }
38
+
39
+ /**
40
+ * Retrieve Skin title.
41
+ *
42
+ * @access public
43
+ *
44
+ * @return string Skin title.
45
+ */
46
+ public function get_title() {
47
+ return __( 'Creative', 'powerpack' );
48
+ }
49
+ }
modules/posts/skins/skin-event.php ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace PowerpackElementsLite\Modules\Posts\Skins;
3
+
4
+ use PowerpackElementsLite\Base\Powerpack_Widget;
5
+ use PowerpackElementsLite\Modules\Posts\Module;
6
+
7
+ // Elementor Classes
8
+ use Elementor\Controls_Manager;
9
+ use Elementor\Utils;
10
+ use Elementor\Group_Control_Image_Size;
11
+ use Elementor\Group_Control_Background;
12
+ use Elementor\Group_Control_Border;
13
+ use Elementor\Group_Control_Typography;
14
+ use Elementor\Scheme_Typography;
15
+ use Elementor\Scheme_Color;
16
+
17
+ if ( ! defined( 'ABSPATH' ) ) {
18
+ exit; // Exit if accessed directly.
19
+ }
20
+
21
+ /**
22
+ * Event Skin for Posts widget
23
+ */
24
+ class Skin_Event extends Skin_Base {
25
+
26
+ /**
27
+ * Retrieve Skin ID.
28
+ *
29
+ * @access public
30
+ *
31
+ * @return string Skin ID.
32
+ */
33
+ public function get_id() {
34
+ return 'event';
35
+ }
36
+
37
+ /**
38
+ * Retrieve Skin title.
39
+ *
40
+ * @access public
41
+ *
42
+ * @return string Skin title.
43
+ */
44
+ public function get_title() {
45
+ return __( 'Event', 'powerpack' );
46
+ }
47
+ }
modules/posts/skins/skin-news.php ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace PowerpackElementsLite\Modules\Posts\Skins;
3
+
4
+ use PowerpackElementsLite\Base\Powerpack_Widget;
5
+ use PowerpackElementsLite\Modules\Posts\Module;
6
+
7
+ // Elementor Classes
8
+ use Elementor\Controls_Manager;
9
+ use Elementor\Utils;
10
+ use Elementor\Group_Control_Image_Size;
11
+ use Elementor\Group_Control_Background;
12
+ use Elementor\Group_Control_Border;
13
+ use Elementor\Group_Control_Typography;
14
+ use Elementor\Scheme_Typography;
15
+ use Elementor\Scheme_Color;
16
+
17
+ if ( ! defined( 'ABSPATH' ) ) {
18
+ exit; // Exit if accessed directly.
19
+ }
20
+
21
+ /**
22
+ * News Skin for Posts widget
23
+ */
24
+ class Skin_News extends Skin_Base {
25
+
26
+ /**
27
+ * Retrieve Skin ID.
28
+ *
29
+ * @access public
30
+ *
31
+ * @return string Skin ID.
32
+ */
33
+ public function get_id() {
34
+ return 'news';
35
+ }
36
+
37
+ /**
38
+ * Retrieve Skin title.
39
+ *
40
+ * @access public
41
+ *
42
+ * @return string Skin title.
43
+ */
44
+ public function get_title() {
45
+ return __( 'News', 'powerpack' );
46
+ }
47
+ }
modules/posts/skins/skin-overlap.php ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace PowerpackElementsLite\Modules\Posts\Skins;
3
+
4
+ use PowerpackElementsLite\Base\Powerpack_Widget;
5
+ use PowerpackElementsLite\Modules\Posts\Module;
6
+
7
+ // Elementor Classes
8
+ use Elementor\Controls_Manager;
9
+ use Elementor\Utils;
10
+ use Elementor\Group_Control_Image_Size;
11
+ use Elementor\Group_Control_Background;
12
+ use Elementor\Group_Control_Border;
13
+ use Elementor\Group_Control_Typography;
14
+ use Elementor\Scheme_Typography;
15
+ use Elementor\Scheme_Color;
16
+
17
+ if ( ! defined( 'ABSPATH' ) ) {
18
+ exit; // Exit if accessed directly.
19
+ }
20
+
21
+ /**
22
+ * Overlap Skin for Posts widget
23
+ */
24
+ class Skin_Overlap extends Skin_Base {
25
+
26
+ /**
27
+ * Retrieve Skin ID.
28
+ *
29
+ * @access public
30
+ *
31
+ * @return string Skin ID.
32
+ */
33
+ public function get_id() {
34
+ return 'overlap';
35
+ }
36
+
37
+ /**
38
+ * Retrieve Skin title.
39
+ *
40
+ * @access public
41
+ *
42
+ * @return string Skin title.
43
+ */
44
+ public function get_title() {
45
+ return __( 'Overlap', 'powerpack' );
46
+ }
47
+ }
modules/posts/skins/skin-portfolio.php ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace PowerpackElementsLite\Modules\Posts\Skins;
3
+
4
+ use PowerpackElementsLite\Base\Powerpack_Widget;
5
+ use PowerpackElementsLite\Modules\Posts\Module;
6
+
7
+ // Elementor Classes
8
+ use Elementor\Controls_Manager;
9
+ use Elementor\Utils;
10
+ use Elementor\Skin_Base as Elementor_Skin_Base;
11
+ use Elementor\Group_Control_Image_Size;
12
+ use Elementor\Group_Control_Background;
13
+ use Elementor\Group_Control_Border;
14
+ use Elementor\Group_Control_Typography;
15
+ use Elementor\Scheme_Typography;
16
+ use Elementor\Scheme_Color;
17
+ use Elementor\Widget_Base;
18
+
19
+ if ( ! defined( 'ABSPATH' ) ) {
20
+ exit; // Exit if accessed directly.
21
+ }
22
+
23
+ /**
24
+ * Portfolio Skin for Posts widget
25
+ */
26
+ class Skin_Portfolio extends Skin_Base {
27
+
28
+ /**
29
+ * Retrieve Skin ID.
30
+ *
31
+ * @access public
32
+ *
33
+ * @return string Skin ID.
34
+ */
35
+ public function get_id() {
36
+ return 'portfolio';
37
+ }
38
+
39
+ /**
40
+ * Retrieve Skin title.
41
+ *
42
+ * @access public
43
+ *
44
+ * @return string Skin title.
45
+ */
46
+ public function get_title() {
47
+ return __( 'Portfolio', 'powerpack' );
48
+ }
49
+ }
modules/posts/skins/skin-template.php ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace PowerpackElementsLite\Modules\Posts\Skins;
3
+
4
+ use PowerpackElementsLite\Base\Powerpack_Widget;
5
+
6
+ // Elementor Classes
7
+ use Elementor\Controls_Manager;
8
+ use Elementor\Utils;
9
+ use Elementor\Skin_Base as Elementor_Skin_Base;
10
+ use Elementor\Group_Control_Image_Size;
11
+ use Elementor\Group_Control_Background;
12
+ use Elementor\Group_Control_Border;
13
+ use Elementor\Group_Control_Typography;
14
+ use Elementor\Scheme_Typography;
15
+ use Elementor\Scheme_Color;
16
+ use Elementor\Widget_Base;
17
+
18
+ if ( ! defined( 'ABSPATH' ) ) {
19
+ exit; // Exit if accessed directly.
20
+ }
21
+
22
+ /**
23
+ * Portfolio Skin for Posts widget
24
+ */
25
+ class Skin_Template extends Skin_Base {
26
+
27
+ /**
28
+ * Retrieve Skin ID.
29
+ *
30
+ * @access public
31
+ *
32
+ * @return string Skin ID.
33
+ */
34
+ public function get_id() {
35
+ return 'template';
36
+ }
37
+
38
+ /**
39
+ * Retrieve Skin title.
40
+ *
41
+ * @access public
42
+ *
43
+ * @return string Skin title.
44
+ */
45
+ public function get_title() {
46
+ return __( 'Saved Template', 'powerpack' );
47
+ }
48
+ }
modules/posts/widgets/posts-base.php ADDED
@@ -0,0 +1,976 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace PowerpackElementsLite\Modules\Posts\Widgets;
3
+
4
+ use PowerpackElementsLite\Base\Powerpack_Widget;
5
+ use PowerpackElementsLite\Classes\PP_Posts_Helper;
6
+
7
+ use Elementor\Controls_Manager;
8
+ use Elementor\Utils;
9
+ use Elementor\Group_Control_Image_Size;
10
+ use Elementor\Group_Control_Background;
11
+ use Elementor\Group_Control_Border;
12
+ use Elementor\Group_Control_Typography;
13
+ use Elementor\Group_Control_Box_Shadow;
14
+ use Elementor\Scheme_Typography;
15
+ use Elementor\Scheme_Color;
16
+
17
+ if ( ! defined( 'ABSPATH' ) ) {
18
+ exit; // Exit if accessed directly.
19
+ }
20
+
21
+ /**
22
+ * Posts Grid Widget
23
+ */
24
+ abstract class Posts_Base extends Powerpack_Widget {
25
+
26
+ /**
27
+ * WP_Query
28
+ *
29
+ * @var $query
30
+ */
31
+ protected $query = null;
32
+ protected $query_filters = null;
33
+
34
+ protected $_has_template_content = false;
35
+
36
+ /**
37
+ * Retrieve posts grid widget icon.
38
+ *
39
+ * @access public
40
+ *
41
+ * @return string Widget icon.
42
+ */
43
+ public function get_icon() {
44
+ return 'eicon-posts-group power-pack-admin-icon';
45
+ }
46
+
47
+ public function get_script_depends() {
48
+ return array(
49
+ 'isotope',
50
+ 'imagesloaded',
51
+ 'jquery-slick',
52
+ 'powerpack-frontend-posts',
53
+ 'powerpack-pp-posts',
54
+ 'powerpack-frontend',
55
+ );
56
+ }
57
+
58
+ /**
59
+ * Register posts grid widget controls.
60
+ *
61
+ * Adds different input fields to allow the user to change and customize the widget settings.
62
+ *
63
+ * @access protected
64
+ */
65
+ public function register_query_section_controls( $condition = array(), $widget_type = 'posts', $old_code = '', $advanced_controls = 'no' ) {
66
+ $post_types = PP_Posts_Helper::get_post_types();
67
+
68
+ /**
69
+ * Content Tab: Query
70
+ */
71
+ $this->start_controls_section(
72
+ 'section_query',
73
+ array(
74
+ 'label' => __( 'Query', 'powerpack' ),
75
+ 'condition' => $condition,
76
+ )
77
+ );
78
+
79
+ $this->add_control(
80
+ 'query_type',
81
+ array(
82
+ 'label' => __( 'Query Type', 'powerpack' ),
83
+ 'type' => Controls_Manager::SELECT,
84
+ 'default' => 'custom',
85
+ 'label_block' => true,
86
+ 'options' => array(
87
+ 'main' => __( 'Main Query', 'powerpack' ),
88
+ 'custom' => __( 'Custom Query', 'powerpack' ),
89
+ ),
90
+ )
91
+ );
92
+
93
+ $post_types = PP_Posts_Helper::get_post_types();
94
+ $post_types['related'] = __( 'Related', 'powerpack' );
95
+
96
+ $this->add_control(
97
+ 'post_type',
98
+ array(
99
+ 'label' => __( 'Post Type', 'powerpack' ),
100
+ 'type' => Controls_Manager::SELECT,
101
+ 'options' => $post_types,
102
+ 'default' => 'post',
103
+ 'condition' => array(
104
+ 'query_type' => 'custom',
105
+ ),
106
+
107
+ )
108
+ );
109
+
110
+ foreach ( $post_types as $post_type_slug => $post_type_label ) {
111
+
112
+ $taxonomy = PP_Posts_Helper::get_post_taxonomies( $post_type_slug );
113
+
114
+ if ( ! empty( $taxonomy ) ) {
115
+
116
+ foreach ( $taxonomy as $index => $tax ) {
117
+
118
+ $terms = PP_Posts_Helper::get_tax_terms( $index );
119
+
120
+ $tax_terms = array();
121
+
122
+ if ( ! empty( $terms ) ) {
123
+
124
+ foreach ( $terms as $term_index => $term_obj ) {
125
+
126
+ $tax_terms[ $term_obj->term_id ] = $term_obj->name;
127
+ }
128
+
129
+ $tax_control_key = $index . '_' . $post_type_slug;
130
+
131
+ if ( 'yes' === $old_code ) {
132
+ if ( $post_type_slug == 'post' ) {
133
+ if ( $index == 'post_tag' ) {
134
+ $tax_control_key = 'tags';
135
+ } elseif ( $index == 'category' ) {
136
+ $tax_control_key = 'categories';
137
+ }
138
+ }
139
+ }
140
+
141
+ // Taxonomy filter type.
142
+ $this->add_control(
143
+ $index . '_' . $post_type_slug . '_filter_type',
144
+ array(
145
+ /* translators: %s Label */
146
+ 'label' => sprintf( __( '%s Filter Type', 'powerpack' ), $tax->label ),
147
+ 'type' => Controls_Manager::SELECT,
148
+ 'default' => 'IN',
149
+ 'label_block' => true,
150
+ 'options' => array(
151
+ /* translators: %s label */
152
+ 'IN' => sprintf( __( 'Include %s', 'powerpack' ), $tax->label ),
153
+ /* translators: %s label */
154
+ 'NOT IN' => sprintf( __( 'Exclude %s', 'powerpack' ), $tax->label ),
155
+ ),
156
+ 'separator' => 'before',
157
+ 'condition' => array(
158
+ 'query_type' => 'custom',
159
+ 'post_type' => $post_type_slug,
160
+ ),
161
+ )
162
+ );
163
+
164
+ $this->add_control(
165
+ $tax_control_key,
166
+ array(
167
+ 'label' => $tax->label,
168
+ 'type' => 'pp-query',
169
+ 'post_type' => $post_type_slug,
170
+ 'options' => array(),
171
+ 'label_block' => true,
172
+ 'multiple' => true,
173
+ 'query_type' => 'terms',
174
+ 'object_type' => $index,
175
+ 'include_type' => true,
176
+ 'condition' => array(
177
+ 'query_type' => 'custom',
178
+ 'post_type' => $post_type_slug,
179
+ ),
180
+ )
181
+ );
182
+
183
+ }
184
+ }
185
+ }
186
+ }
187
+
188
+ $this->add_control(
189
+ 'author_filter_type',
190
+ array(
191
+ 'label' => __( 'Authors Filter Type', 'powerpack' ),
192
+ 'type' => Controls_Manager::SELECT,
193
+ 'default' => 'author__in',
194
+ 'label_block' => true,
195
+ 'separator' => 'before',
196
+ 'options' => array(
197
+ 'author__in' => __( 'Include Authors', 'powerpack' ),
198
+ 'author__not_in' => __( 'Exclude Authors', 'powerpack' ),
199
+ ),
200
+ 'condition' => array(
201
+ 'query_type' => 'custom',
202
+ 'post_type!' => 'related',
203
+ ),
204
+ )
205
+ );
206
+
207
+ $this->add_control(
208
+ 'authors',
209
+ array(
210
+ 'label' => __( 'Authors', 'powerpack' ),
211
+ 'type' => 'pp-query',
212
+ 'label_block' => true,
213
+ 'multiple' => true,
214
+ 'query_type' => 'authors',
215
+ 'condition' => array(
216
+ 'query_type' => 'custom',
217
+ 'post_type!' => 'related',
218
+ ),
219
+ )
220
+ );
221
+
222
+ foreach ( $post_types as $post_type_slug => $post_type_label ) {
223
+ $this->add_control(
224
+ $post_type_slug . '_filter_type',
225
+ array(
226
+ /* translators: %s: post type label */
227
+ 'label' => sprintf( __( '%s Filter Type', 'powerpack' ), $post_type_label ),
228
+ 'type' => Controls_Manager::SELECT,
229
+ 'default' => 'post__not_in',
230
+ 'label_block' => true,
231
+ 'separator' => 'before',
232
+ 'options' => array(
233
+ /* translators: %s: post type label */
234
+ 'post__in' => sprintf( __( 'Include %s', 'powerpack' ), $post_type_label ),
235
+ /* translators: %s: post type label */
236
+ 'post__not_in' => sprintf( __( 'Exclude %s', 'powerpack' ), $post_type_label ),
237
+ ),
238
+ 'condition' => array(
239
+ 'query_type' => 'custom',
240
+ 'post_type' => $post_type_slug,
241
+ ),
242
+ )
243
+ );
244
+
245
+ $this->add_control(
246
+ $post_type_slug . '_filter',
247
+ array(
248
+ /* translators: %s Label */
249
+ 'label' => $post_type_label,
250
+ 'type' => 'pp-query',
251
+ 'default' => '',
252
+ 'multiple' => true,
253
+ 'label_block' => true,
254
+ 'query_type' => 'posts',
255
+ 'object_type' => $post_type_slug,
256
+ 'condition' => array(
257
+ 'query_type' => 'custom',
258
+ 'post_type' => $post_type_slug,
259
+ ),
260
+ )
261
+ );
262
+ }
263
+
264
+ $taxonomy = PP_Posts_Helper::get_post_taxonomies( $post_type_slug );
265
+ $taxonomies = array();
266
+ foreach ( $taxonomy as $index => $tax ) {
267
+ $taxonomies[ $tax->name ] = $tax->label;
268
+ }
269
+
270
+ $this->start_controls_tabs(
271
+ 'tabs_related',
272
+ array(
273
+ 'condition' => array(
274
+ 'query_type' => 'custom',
275
+ 'post_type' => 'related',
276
+ ),
277
+ )
278
+ );
279
+
280
+ $this->start_controls_tab(
281
+ 'tab_related_include',
282
+ array(
283
+ 'label' => __( 'Include', 'powerpack' ),
284
+ 'condition' => array(
285
+ 'query_type' => 'custom',
286
+ 'post_type' => 'related',
287
+ ),
288
+ )
289
+ );
290
+
291
+ $this->add_control(
292
+ 'related_include_by',
293
+ array(
294
+ 'label' => __( 'Include By', 'powerpack' ),
295
+ 'type' => Controls_Manager::SELECT2,
296
+ 'default' => '',
297
+ 'label_block' => true,
298
+ 'multiple' => true,
299
+ 'options' => array(
300
+ 'terms' => __( 'Term', 'powerpack' ),
301
+ 'authors' => __( 'Author', 'powerpack' ),
302
+ ),
303
+ 'condition' => array(
304
+ 'query_type' => 'custom',
305
+ 'post_type' => 'related',
306
+ ),
307
+ )
308
+ );
309
+
310
+ $this->add_control(
311
+ 'related_filter_include',
312
+ array(
313
+ 'label' => __( 'Term', 'powerpack' ),
314
+ 'type' => Controls_Manager::SELECT2,
315
+ 'default' => '',
316
+ 'label_block' => true,
317
+ 'multiple' => true,
318
+ 'options' => PP_Posts_Helper::get_taxonomies_options(),
319
+ 'condition' => array(
320
+ 'query_type' => 'custom',
321
+ 'post_type' => 'related',
322
+ 'related_include_by' => 'terms',
323
+ ),
324
+ )
325
+ );
326
+
327
+ $this->end_controls_tab();
328
+
329
+ $this->start_controls_tab(
330
+ 'tab_related_exclude',
331
+ array(
332
+ 'label' => __( 'Exclude', 'powerpack' ),
333
+ 'condition' => array(
334
+ 'query_type' => 'custom',
335
+ 'post_type' => 'related',
336
+ ),
337
+ )
338
+ );
339
+
340
+ $this->add_control(
341
+ 'related_exclude_by',
342
+ array(
343
+ 'label' => __( 'Exclude By', 'powerpack' ),
344
+ 'type' => Controls_Manager::SELECT2,
345
+ 'default' => '',
346
+ 'label_block' => true,
347
+ 'multiple' => true,
348
+ 'options' => array(
349
+ 'current_post' => __( 'Current Post', 'powerpack' ),
350
+ 'authors' => __( 'Author', 'powerpack' ),
351
+ ),
352
+ 'condition' => array(
353
+ 'query_type' => 'custom',
354
+ 'post_type' => 'related',
355
+ ),
356
+ )
357
+ );
358
+
359
+ $this->end_controls_tab();
360
+ $this->end_controls_tabs();
361
+
362
+ $this->add_control(
363
+ 'related_fallback',
364
+ array(
365
+ 'label' => __( 'Fallback', 'powerpack' ),
366
+ 'description' => __( 'Displayed if no relevant results are found.', 'powerpack' ),
367
+ 'type' => Controls_Manager::SELECT,
368
+ 'options' => array(
369
+ 'none' => __( 'None', 'powerpack' ),
370
+ 'recent' => __( 'Recent Posts', 'powerpack' ),
371
+ ),
372
+ 'default' => 'none',
373
+ 'label_block' => false,
374
+ 'separator' => 'before',
375
+ 'condition' => array(
376
+ 'query_type' => 'custom',
377
+ 'post_type' => 'related',
378
+ ),
379
+ )
380
+ );
381
+
382
+ $this->add_control(
383
+ 'select_date',
384
+ array(
385
+ 'label' => __( 'Date', 'powerpack' ),
386
+ 'type' => Controls_Manager::SELECT,
387
+ 'options' => array(
388
+ 'anytime' => __( 'All', 'powerpack' ),
389
+ 'today' => __( 'Past Day', 'powerpack' ),
390
+ 'week' => __( 'Past Week', 'powerpack' ),
391
+ 'month' => __( 'Past Month', 'powerpack' ),
392
+ 'quarter' => __( 'Past Quarter', 'powerpack' ),
393
+ 'year' => __( 'Past Year', 'powerpack' ),
394
+ 'exact' => __( 'Custom', 'powerpack' ),
395
+ ),
396
+ 'default' => 'anytime',
397
+ 'label_block' => false,
398
+ 'multiple' => false,
399
+ 'separator' => 'before',
400
+ 'condition' => array(
401
+ 'query_type' => 'custom',
402
+ ),
403
+ )
404
+ );
405
+
406
+ $this->add_control(
407
+ 'date_before',
408
+ array(
409
+ 'label' => __( 'Before', 'powerpack' ),
410
+ 'description' => __( 'Setting a ‘Before’ date will show all the posts published until the chosen date (inclusive).', 'powerpack' ),
411
+ 'type' => Controls_Manager::DATE_TIME,
412
+ 'label_block' => false,
413
+ 'multiple' => false,
414
+ 'placeholder' => __( 'Choose', 'powerpack' ),
415
+ 'condition' => array(
416
+ 'query_type' => 'custom',
417
+ 'select_date' => 'exact',
418
+ ),
419
+ )
420
+ );
421
+
422
+ $this->add_control(
423
+ 'date_after',
424
+ array(
425
+ 'label' => __( 'After', 'powerpack' ),
426
+ 'description' => __( 'Setting an ‘After’ date will show all the posts published since the chosen date (inclusive).', 'powerpack' ),
427
+ 'type' => Controls_Manager::DATE_TIME,
428
+ 'label_block' => false,
429
+ 'multiple' => false,
430
+ 'placeholder' => __( 'Choose', 'powerpack' ),
431
+ 'condition' => array(
432
+ 'query_type' => 'custom',
433
+ 'select_date' => 'exact',
434
+ ),
435
+ )
436
+ );
437
+
438
+ $this->add_control(
439
+ 'order',
440
+ array(
441
+ 'label' => __( 'Order', 'powerpack' ),
442
+ 'type' => Controls_Manager::SELECT,
443
+ 'options' => array(
444
+ 'DESC' => __( 'Descending', 'powerpack' ),
445
+ 'ASC' => __( 'Ascending', 'powerpack' ),
446
+ ),
447
+ 'default' => 'DESC',
448
+ 'separator' => 'before',
449
+ 'condition' => array(
450
+ 'query_type' => 'custom',
451
+ ),
452
+ )
453
+ );
454
+
455
+ $this->add_control(
456
+ 'orderby',
457
+ array(
458
+ 'label' => __( 'Order By', 'powerpack' ),
459
+ 'type' => Controls_Manager::SELECT,
460
+ 'options' => array(
461
+ 'date' => __( 'Date', 'powerpack' ),
462
+ 'modified' => __( 'Last Modified Date', 'powerpack' ),
463
+ 'rand' => __( 'Random', 'powerpack' ),
464
+ 'comment_count' => __( 'Comment Count', 'powerpack' ),
465
+ 'title' => __( 'Title', 'powerpack' ),
466
+ 'ID' => __( 'Post ID', 'powerpack' ),
467
+ 'author' => __( 'Post Author', 'powerpack' ),
468
+ 'menu_order' => __( 'Menu Order', 'powerpack' ),
469
+ 'relevance' => __( 'Relevance', 'powerpack' ),
470
+ ),
471
+ 'default' => 'date',
472
+ 'condition' => array(
473
+ 'query_type' => 'custom',
474
+ ),
475
+ )
476
+ );
477
+
478
+ $this->add_control(
479
+ 'sticky_posts',
480
+ array(
481
+ 'label' => __( 'Sticky Posts', 'powerpack' ),
482
+ 'type' => Controls_Manager::SWITCHER,
483
+ 'default' => '',
484
+ 'label_on' => __( 'Yes', 'powerpack' ),
485
+ 'label_off' => __( 'No', 'powerpack' ),
486
+ 'return_value' => 'yes',
487
+ 'separator' => 'before',
488
+ 'condition' => array(
489
+ 'query_type' => 'custom',
490
+ ),
491
+ )
492
+ );
493
+
494
+ $this->add_control(
495
+ 'all_sticky_posts',
496
+ array(
497
+ 'label' => __( 'Show Only Sticky Posts', 'powerpack' ),
498
+ 'type' => Controls_Manager::SWITCHER,
499
+ 'default' => '',
500
+ 'label_on' => __( 'Yes', 'powerpack' ),
501
+ 'label_off' => __( 'No', 'powerpack' ),
502
+ 'return_value' => 'yes',
503
+ 'condition' => array(
504
+ 'query_type' => 'custom',
505
+ 'sticky_posts' => 'yes',
506
+ ),
507
+ )
508
+ );
509
+
510
+ $this->add_control(
511
+ 'offset',
512
+ array(
513
+ 'label' => __( 'Offset', 'powerpack' ),
514
+ 'description' => __( 'Use this setting to skip this number of initial posts', 'powerpack' ),
515
+ 'type' => Controls_Manager::NUMBER,
516
+ 'default' => '',
517
+ 'min' => 0,
518
+ 'condition' => array(
519
+ 'query_type' => 'custom',
520
+ 'post_type!' => 'related',
521
+ ),
522
+ )
523
+ );
524
+
525
+ $this->add_control(
526
+ 'exclude_current',
527
+ array(
528
+ 'label' => __( 'Exclude Current Post', 'powerpack' ),
529
+ 'type' => Controls_Manager::SWITCHER,
530
+ 'label_on' => __( 'Yes', 'powerpack' ),
531
+ 'label_off' => __( 'No', 'powerpack' ),
532
+ 'return_value' => 'yes',
533
+ 'default' => '',
534
+ 'description' => __( 'Enable this option to remove current post from the query.', 'powerpack' ),
535
+ 'condition' => array(
536
+ 'query_type' => 'custom',
537
+ ),
538
+ )
539
+ );
540
+
541
+ $this->add_control(
542
+ 'query_id',
543
+ array(
544
+ 'label' => __( 'Query ID', 'powerpack' ),
545
+ 'description' => __( 'Give your Query a custom unique id to allow server side filtering', 'powerpack' ),
546
+ 'type' => Controls_Manager::TEXT,
547
+ 'default' => '',
548
+ 'separator' => 'before',
549
+ )
550
+ );
551
+
552
+ if ( 'yes' === $advanced_controls ) {
553
+ $this->add_control(
554
+ 'heading_nothing_found',
555
+ array(
556
+ 'label' => __( 'If Nothing Found!', 'powerpack' ),
557
+ 'type' => Controls_Manager::HEADING,
558
+ 'separator' => 'before',
559
+ )
560
+ );
561
+
562
+ $this->add_control(
563
+ 'nothing_found_message',
564
+ array(
565
+ 'label' => __( 'Nothing Found Message', 'powerpack' ),
566
+ 'type' => Controls_Manager::TEXTAREA,
567
+ 'rows' => 3,
568
+ 'default' => __( 'It seems we can\'t find what you\'re looking for.', 'powerpack' ),
569
+ )
570
+ );
571
+
572
+ $this->add_control(
573
+ 'show_search_form',
574
+ array(
575
+ 'label' => __( 'Show Search Form', 'powerpack' ),
576
+ 'type' => Controls_Manager::SWITCHER,
577
+ 'label_on' => __( 'Yes', 'powerpack' ),
578
+ 'label_off' => __( 'No', 'powerpack' ),
579
+ 'return_value' => 'yes',
580
+ 'default' => '',
581
+ )
582
+ );
583
+ }
584
+
585
+ $this->end_controls_section();
586
+ }
587
+
588
+ /**
589
+ * Get post query arguments.
590
+ *
591
+ * Written in PHP and used to generate the final HTML.
592
+ *
593
+ * @access protected
594
+ */
595
+ public function query_posts_args( $filter = '', $taxonomy_filter = '', $search = '', $all_posts = '', $paged_args = '', $widget_type = 'posts', $old_code = '', $posts_count_var = '', $posts_count = '' ) {
596
+ $settings = $this->get_settings_for_display();
597
+ $paged = ( 'yes' === $paged_args ) ? $this->get_paged() : '';
598
+ $tax_count = 0;
599
+
600
+ if ( 'main' === $settings['query_type'] ) {
601
+ $current_query_vars = $GLOBALS['wp_query']->query_vars;
602
+ return apply_filters( "ppe_{$widget_type}_query_args", $current_query_vars, $settings );
603
+ }
604
+
605
+ $query_args = array(
606
+ 'post_status' => array( 'publish' ),
607
+ 'orderby' => $settings['orderby'],
608
+ 'order' => $settings['order'],
609
+ 'ignore_sticky_posts' => ( 'yes' === $settings['sticky_posts'] ) ? 0 : 1,
610
+ 'posts_per_page' => -1,
611
+ );
612
+
613
+ if ( ! $posts_count ) {
614
+ $posts_per_page = ( $posts_count_var ) ? $settings[ $posts_count_var ] : $settings['posts_per_page'];
615
+ } else {
616
+ $posts_per_page = $posts_count;
617
+ }
618
+
619
+ if ( '' === $all_posts ) {
620
+ $query_args['posts_per_page'] = $posts_per_page;
621
+ }
622
+
623
+ if ( 'related' === $settings['post_type'] ) {
624
+
625
+ $related_terms = $settings['related_filter_include'];
626
+ $post_terms = wp_get_object_terms( get_the_ID(), $settings['related_filter_include'], array( 'fields' => 'ids' ) );
627
+
628
+ // Query Arguments.
629
+ $query_args['post_type'] = get_post_type();
630
+
631
+ if ( ! empty( $settings['related_include_by'] ) ) {
632
+ if ( in_array( 'authors', $settings['related_include_by'] ) ) {
633
+ $query_args['author'] = get_the_author_meta( 'ID' );
634
+ }
635
+
636
+ if ( in_array( 'terms', $settings['related_include_by'] ) ) {
637
+ if ( ! empty( $related_terms ) && ! is_wp_error( $related_terms ) ) {
638
+
639
+ foreach ( $related_terms as $index => $tax ) {
640
+
641
+ $query_args['tax_query'][] = array(
642
+ 'taxonomy' => $tax,
643
+ 'field' => 'term_id',
644
+ 'terms' => $post_terms,
645
+ );
646
+
647
+ }
648
+ }
649
+ }
650
+ }
651
+
652
+ if ( ! empty( $settings['related_exclude_by'] ) ) {
653
+ if ( in_array( 'current_post', $settings['related_exclude_by'] ) ) {
654
+ $query_args['post__not_in'] = array( get_the_ID() );
655
+ }
656
+
657
+ if ( in_array( 'authors', $settings['related_exclude_by'] ) ) {
658
+ $query_args['author'] = '-' . get_the_author_meta( 'ID' );
659
+ }
660
+ }
661
+
662
+ if ( 'recent' === $settings['related_fallback'] ) {
663
+ $query = $this->get_query();
664
+
665
+ if ( ! $query->found_posts ) {
666
+ $query_args = array(
667
+ 'post_status' => array( 'publish' ),
668
+ 'post_type' => get_post_type(),
669
+ 'orderby' => $settings['orderby'],
670
+ 'order' => $settings['order'],
671
+ 'ignore_sticky_posts' => ( 'yes' === $settings['sticky_posts'] ) ? 0 : 1,
672
+ 'showposts' => $posts_per_page,
673
+ );
674
+ }
675
+ }
676
+ } else {
677
+
678
+ // Query Arguments.
679
+ $query_args['post_type'] = $settings['post_type'];
680
+ if ( 0 < $settings['offset'] ) {
681
+
682
+ /**
683
+ * Offset break the pagination. Using WordPress's work around
684
+ *
685
+ * @see https://codex.wordpress.org/Making_Custom_Queries_using_Offset_and_Pagination
686
+ */
687
+ $query_args['offset_to_fix'] = $settings['offset'];
688
+ }
689
+ $query_args['paged'] = $paged;
690
+
691
+ // Author Filter.
692
+ if ( ! empty( $settings['authors'] ) ) {
693
+ $query_args[ $settings['author_filter_type'] ] = $settings['authors'];
694
+ }
695
+
696
+ // Posts Filter.
697
+ $post_type = $settings['post_type'];
698
+
699
+ if ( ! empty( $settings[ $post_type . '_filter' ] ) ) {
700
+ $query_args[ $settings[ $post_type . '_filter_type' ] ] = $settings[ $post_type . '_filter' ];
701
+ }
702
+
703
+ // Taxonomy Filter.
704
+ $taxonomy = PP_Posts_Helper::get_post_taxonomies( $post_type );
705
+
706
+ if ( ! empty( $taxonomy ) && ! is_wp_error( $taxonomy ) ) {
707
+
708
+ foreach ( $taxonomy as $index => $tax ) {
709
+
710
+ $tax_control_key = $index . '_' . $post_type;
711
+
712
+ if ( 'yes' === $old_code ) {
713
+ if ( $post_type == 'post' ) {
714
+ if ( $index == 'post_tag' ) {
715
+ $tax_control_key = 'tags';
716
+ } elseif ( $index == 'category' ) {
717
+ $tax_control_key = 'categories';
718
+ }
719
+ }
720
+ }
721
+
722
+ if ( ! empty( $settings[ $tax_control_key ] ) ) {
723
+
724
+ $operator = $settings[ $index . '_' . $post_type . '_filter_type' ];
725
+
726
+ $query_args['tax_query'][] = array(
727
+ 'taxonomy' => $index,
728
+ 'field' => 'term_id',
729
+ 'terms' => $settings[ $tax_control_key ],
730
+ 'operator' => $operator,
731
+ );
732
+ }
733
+ }
734
+ }
735
+
736
+ if ( '' !== $filter && '*' !== $filter ) {
737
+ $query_args['tax_query'][ $tax_count ]['taxonomy'] = $taxonomy_filter;
738
+ $query_args['tax_query'][ $tax_count ]['field'] = 'slug';
739
+ $query_args['tax_query'][ $tax_count ]['terms'] = $filter;
740
+ $query_args['tax_query'][ $tax_count ]['operator'] = 'IN';
741
+ }
742
+
743
+ if ( '' !== $search ) {
744
+ $query_args['s'] = $search;
745
+ }
746
+ }
747
+
748
+ if ( 'anytime' !== $settings['select_date'] ) {
749
+ $select_date = $settings['select_date'];
750
+ if ( ! empty( $select_date ) ) {
751
+ $date_query = array();
752
+ if ( 'today' === $select_date ) {
753
+ $date_query['after'] = '-1 day';
754
+ } elseif ( 'week' === $select_date ) {
755
+ $date_query['after'] = '-1 week';
756
+ } elseif ( 'month' === $select_date ) {
757
+ $date_query['after'] = '-1 month';
758
+ } elseif ( 'quarter' === $select_date ) {
759
+ $date_query['after'] = '-3 month';
760
+ } elseif ( 'year' === $select_date ) {
761
+ $date_query['after'] = '-1 year';
762
+ } elseif ( 'exact' === $select_date ) {
763
+ $after_date = $settings['date_after'];
764
+ if ( ! empty( $after_date ) ) {
765
+ $date_query['after'] = $after_date;
766
+ }
767
+ $before_date = $settings['date_before'];
768
+ if ( ! empty( $before_date ) ) {
769
+ $date_query['before'] = $before_date;
770
+ }
771
+ $date_query['inclusive'] = true;
772
+ }
773
+
774
+ $query_args['date_query'] = $date_query;
775
+ }
776
+ }
777
+
778
+ // Sticky Posts Filter.
779
+ if ( 'yes' === $settings['sticky_posts'] && 'yes' === $settings['all_sticky_posts'] ) {
780
+ $post__in = get_option( 'sticky_posts' );
781
+
782
+ $query_args['post__in'] = $post__in;
783
+ }
784
+
785
+ // Exclude current post.
786
+ if ( 'yes' === $settings['exclude_current'] ) {
787
+ $query_args['post__not_in'] = array( get_the_ID() );
788
+ }
789
+
790
+ return apply_filters( "ppe_{$widget_type}_query_args", $query_args, $settings );
791
+ }
792
+
793
+ /**
794
+ * pre_get_posts_query_filter
795
+ *
796
+ * @param mixed $wp_query
797
+ */
798
+ public function pre_get_posts_query_filter( $wp_query ) {
799
+ $settings = $this->get_settings_for_display();
800
+
801
+ $query_id = $settings['query_id'];
802
+ /**
803
+ * Query args.
804
+ *
805
+ * It allows developers to alter individual posts widget queries.
806
+ *
807
+ * The dynamic portion of the hook name '$query_id', refers to the Query ID.
808
+ *
809
+ * @since 1.4.11.3
810
+ *
811
+ * @param \WP_Query $wp_query
812
+ */
813
+ do_action( "pp_query_{$query_id}", $wp_query );
814
+
815
+ }
816
+
817
+ public function query_posts( $filter = '', $taxonomy = '', $search = '' ) {
818
+ $settings = $this->get_settings_for_display();
819
+ $query_id = $settings['query_id'];
820
+
821
+ if ( ! empty( $query_id ) ) {
822
+ add_action( 'pre_get_posts', array( $this, 'pre_get_posts_query_filter' ) );
823
+ }
824
+ $query_args = $this->query_posts_args( $filter, $taxonomy, $search, '', 'yes' );
825
+ $this->query = new \WP_Query( $query_args );
826
+ remove_action( 'pre_get_posts', array( $this, 'pre_get_posts_query_filter' ) );
827
+ }
828
+
829
+ public function query_filters_posts( $filter = '', $taxonomy = '', $search = '' ) {
830
+ $settings = $this->get_settings();
831
+ $query_id = $settings['query_id'];
832
+
833
+ if ( ! empty( $query_id ) ) {
834
+ add_action( 'pre_get_posts', array( $this, 'pre_get_posts_query_filter' ) );
835
+ }
836
+ $query_filter_args = $this->query_posts_args( $filter, $taxonomy, $search, 'yes', 'yes' );
837
+ $this->query_filters = new \WP_Query( $query_filter_args );
838
+ remove_action( 'pre_get_posts', array( $this, 'pre_get_posts_query_filter' ) );
839
+ }
840
+
841
+ /**
842
+ * Render current query.
843
+ *
844
+ * @since 1.7.0
845
+ * @access protected
846
+ */
847
+ public function get_query() {
848
+
849
+ return $this->query;
850
+ }
851
+
852
+ /**
853
+ * Render current query.
854
+ *
855
+ * @since 1.7.0
856
+ * @access protected
857
+ */
858
+ public function get_query_filters() {
859
+
860
+ return $this->query_filters;
861
+ }
862
+
863
+ /**
864
+ * Returns the paged number for the query.
865
+ *
866
+ * @since 1.7.0
867
+ * @return int
868
+ */
869
+ public function get_paged() {
870
+ $settings = $this->get_settings_for_display();
871
+
872
+ global $wp_the_query, $paged;
873
+
874
+ $skin_id = $settings['_skin'];
875
+ $pagination_ajax = $settings[ $skin_id . '_pagination_ajax' ];
876
+ $pagination_type = $settings[ $skin_id . '_pagination_type' ];
877
+
878
+ if ( 'yes' === $pagination_ajax || 'load_more' === $pagination_type || 'infinite' === $pagination_type ) {
879
+ if ( isset( $_POST['nonce'] ) && wp_verify_nonce( $_POST['nonce'], 'pp-posts-widget-nonce' ) ) {
880
+ if ( isset( $_POST['page_number'] ) && '' !== $_POST['page_number'] ) {
881
+ return $_POST['page_number'];
882
+ }
883
+ }
884
+
885
+ // Check the 'paged' query var.
886
+ $paged_qv = $wp_the_query->get( 'paged' );
887
+
888
+ if ( is_numeric( $paged_qv ) ) {
889
+ return $paged_qv;
890
+ }
891
+
892
+ // Check the 'page' query var.
893
+ $page_qv = $wp_the_query->get( 'page' );
894
+
895
+ if ( is_numeric( $page_qv ) ) {
896
+ return $page_qv;
897
+ }
898
+
899
+ // Check the $paged global?
900
+ if ( is_numeric( $paged ) ) {
901
+ return $paged;
902
+ }
903
+
904
+ return 0;
905
+ } else {
906
+ return max( 1, get_query_var( 'paged' ), get_query_var( 'page' ) );
907
+ }
908
+ }
909
+
910
+ public function get_posts_nav_link( $page_limit = null ) {
911
+ if ( ! $page_limit ) {
912
+ $page_limit = $this->query->max_num_pages;
913
+ }
914
+
915
+ $return = array();
916
+
917
+ $paged = $this->get_paged();
918
+
919
+ $link_template = '<a class="page-numbers %s" href="%s">%s</a>';
920
+ $disabled_template = '<span class="page-numbers %s">%s</span>';
921
+
922
+ if ( $paged > 1 ) {
923
+ $next_page = intval( $paged ) - 1;
924
+ if ( $next_page < 1 ) {
925
+ $next_page = 1;
926
+ }
927
+
928
+ $return['prev'] = sprintf( $link_template, 'prev', $this->get_wp_link_page( $next_page ), $this->get_settings( 'pagination_prev_label' ) );
929
+ } else {
930
+ $return['prev'] = sprintf( $disabled_template, 'prev', $this->get_settings( 'pagination_prev_label' ) );
931
+ }
932
+
933
+ $next_page = intval( $paged ) + 1;
934
+
935
+ if ( $next_page <= $page_limit ) {
936
+ $return['next'] = sprintf( $link_template, 'next', $this->get_wp_link_page( $next_page ), $this->get_settings( 'pagination_next_label' ) );
937
+ } else {
938
+ $return['next'] = sprintf( $disabled_template, 'next', $this->get_settings( 'pagination_next_label' ) );
939
+ }
940
+
941
+ return $return;
942
+ }
943
+
944
+ private function get_wp_link_page( $i ) {
945
+ if ( ! is_singular() || is_front_page() ) {
946
+ return get_pagenum_link( $i );
947
+ }
948
+
949
+ // Based on wp-includes/post-template.php:957 `_wp_link_page`.
950
+ global $wp_rewrite;
951
+ $post = get_post();
952
+ $query_args = array();
953
+ $url = get_permalink();
954
+
955
+ if ( $i > 1 ) {
956
+ if ( '' === get_option( 'permalink_structure' ) || in_array( $post->post_status, array( 'draft', 'pending' ) ) ) {
957
+ $url = add_query_arg( 'page', $i, $url );
958
+ } elseif ( get_option( 'show_on_front' ) === 'page' && (int) get_option( 'page_on_front' ) === $post->ID ) {
959
+ $url = trailingslashit( $url ) . user_trailingslashit( "$wp_rewrite->pagination_base/" . $i, 'single_paged' );
960
+ } else {
961
+ $url = trailingslashit( $url ) . user_trailingslashit( $i, 'single_paged' );
962
+ }
963
+ }
964
+
965
+ if ( is_preview() ) {
966
+ if ( ( 'draft' !== $post->post_status ) && isset( $_GET['preview_id'], $_GET['preview_nonce'] ) ) {
967
+ $query_args['preview_id'] = wp_unslash( $_GET['preview_id'] );
968
+ $query_args['preview_nonce'] = wp_unslash( $_GET['preview_nonce'] );
969
+ }
970
+
971
+ $url = get_preview_post_link( $post, $query_args, $url );
972
+ }
973
+
974
+ return $url;
975
+ }
976
+ }
modules/posts/widgets/posts.php ADDED
@@ -0,0 +1,130 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace PowerpackElementsLite\Modules\Posts\Widgets;
3
+
4
+ use PowerpackElementsLite\Modules\Posts\Skins;
5
+
6
+ // Elementor Classes
7
+ use Elementor\Controls_Manager;
8
+ use Elementor\Utils;
9
+ use Elementor\Group_Control_Image_Size;
10
+ use Elementor\Group_Control_Background;
11
+ use Elementor\Group_Control_Border;
12
+ use Elementor\Group_Control_Typography;
13
+ use Elementor\Scheme_Typography;
14
+ use Elementor\Scheme_Color;
15
+
16
+ if ( ! defined( 'ABSPATH' ) ) {
17
+ exit; // Exit if accessed directly.
18
+ }
19
+
20
+ /**
21
+ * Posts Grid Widget
22
+ */
23
+ class Posts extends Posts_Base {
24
+
25
+ /**
26
+ * Retrieve posts grid widget name.
27
+ *
28
+ * @access public
29
+ *
30
+ * @return string Widget name.
31
+ */
32
+ public function get_name() {
33
+ return parent::get_widget_name( 'Posts' );
34
+ }
35
+
36
+ /**
37
+ * Retrieve posts grid widget title.
38
+ *
39
+ * @access public
40
+ *
41
+ * @return string Widget title.
42
+ */
43
+ public function get_title() {
44
+ return parent::get_widget_title( 'Posts' );
45
+ }
46
+
47
+ /**
48
+ * Retrieve posts grid widget icon.
49
+ *
50
+ * @access public
51
+ *
52
+ * @return string Widget icon.
53
+ */
54
+ public function get_icon() {
55
+ return parent::get_widget_icon( 'Posts' );
56
+ }
57
+
58
+ /**
59
+ * Get widget keywords.
60
+ *
61
+ * Retrieve the list of keywords the widget belongs to.
62
+ *
63
+ * @access public
64
+ *
65
+ * @return array Widget keywords.
66
+ */
67
+ public function get_keywords() {
68
+ return parent::get_widget_keywords( 'Posts' );
69
+ }
70
+
71
+ /**
72
+ * Register Skins.
73
+ *
74
+ * @access protected
75
+ */
76
+ protected function _register_skins() {
77
+ $this->add_skin( new Skins\Skin_Classic( $this ) );
78
+ $this->add_skin( new Skins\Skin_Card( $this ) );
79
+ $this->add_skin( new Skins\Skin_Checkerboard( $this ) );
80
+ $this->add_skin( new Skins\Skin_Creative( $this ) );
81
+ $this->add_skin( new Skins\Skin_Event( $this ) );
82
+ $this->add_skin( new Skins\Skin_News( $this ) );
83
+ $this->add_skin( new Skins\Skin_Overlap( $this ) );
84
+ $this->add_skin( new Skins\Skin_Portfolio( $this ) );
85
+ $this->add_skin( new Skins\Skin_Template( $this ) );
86
+ }
87
+
88
+ /**
89
+ * Register widget controls
90
+ *
91
+ * @access protected
92
+ */
93
+ protected function _register_controls() { // phpcs:ignore PSR2.Methods.MethodDeclaration.Underscore
94
+ $this->start_controls_section(
95
+ 'section_skin_field',
96
+ array(
97
+ 'label' => __( 'Layout', 'powerpack' ),
98
+ )
99
+ );
100
+
101
+ $this->add_control(
102
+ 'skin_notice',
103
+ array(
104
+ 'label' => '',
105
+ 'type' => Controls_Manager::RAW_HTML,
106
+ 'raw' => __( 'This skin is available in PowerPack Pro.', 'powerpack' ) . ' ' . apply_filters( 'upgrade_powerpack_message', sprintf( __( 'Upgrade to %1$s Pro Version %2$s for 70+ widgets, exciting extensions and advanced features.', 'powerpack' ), '<a href="#" target="_blank" rel="noopener">', '</a>' ) ),
107
+ 'content_classes' => 'upgrade-powerpack-notice elementor-panel-alert elementor-panel-alert-info',
108
+ 'condition' => array(
109
+ '_skin!' => 'classic',
110
+ ),
111
+ )
112
+ );
113
+
114
+ $this->add_control(
115
+ 'posts_per_page',
116
+ array(
117
+ 'label' => __( 'Posts Per Page', 'powerpack' ),
118
+ 'type' => Controls_Manager::NUMBER,
119
+ 'default' => 6,
120
+ 'condition' => array(
121
+ 'query_type' => 'custom',
122
+ ),
123
+ )
124
+ );
125
+
126
+ $this->end_controls_section();
127
+
128
+ $this->register_query_section_controls( array(), 'posts', '', 'yes' );
129
+ }
130
+ }
modules/pricing/widgets/price-menu.php CHANGED
@@ -43,7 +43,7 @@ class Price_Menu extends Powerpack_Widget {
43
  *
44
  * Retrieve the list of keywords the widget belongs to.
45
  *
46
- * @since x.x.x
47
  * @access public
48
  *
49
  * @return array Widget keywords.
43
  *
44
  * Retrieve the list of keywords the widget belongs to.
45
  *
46
+ * @since 2.1.0
47
  * @access public
48
  *
49
  * @return array Widget keywords.
package.json CHANGED
@@ -1,6 +1,6 @@
1
  {
2
  "name": "powerpack-lite-for-elementor",
3
- "version": "1.3.0",
4
  "description": "Extend Elementor Page Builder with 50+ Creative Widgets.",
5
  "keywords": [],
6
  "author": "IdeaBox Creations",
@@ -41,4 +41,4 @@
41
  "webpack-cli": "^3.3.11"
42
  },
43
  "dependencies": {}
44
- }
1
  {
2
  "name": "powerpack-lite-for-elementor",
3
+ "version": "2.1.0",
4
  "description": "Extend Elementor Page Builder with 50+ Creative Widgets.",
5
  "keywords": [],
6
  "author": "IdeaBox Creations",
41
  "webpack-cli": "^3.3.11"
42
  },
43
  "dependencies": {}
44
+ }
plugin.php CHANGED
@@ -263,6 +263,24 @@ class PowerpackLitePlugin {
263
  true
264
  );
265
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
266
  wp_register_script(
267
  'pp-tooltip',
268
  POWERPACK_ELEMENTS_LITE_URL . 'assets/js/tooltip.js',
@@ -282,6 +300,14 @@ class PowerpackLitePlugin {
282
  POWERPACK_ELEMENTS_LITE_VER,
283
  true
284
  );
 
 
 
 
 
 
 
 
285
  }
286
 
287
  /**
263
  true
264
  );
265
 
266
+ wp_register_script(
267
+ 'powerpack-pp-posts',
268
+ POWERPACK_ELEMENTS_LITE_URL . 'assets/js/pp-posts.js',
269
+ array(
270
+ 'jquery',
271
+ ),
272
+ POWERPACK_ELEMENTS_LITE_VER,
273
+ true
274
+ );
275
+
276
+ wp_localize_script(
277
+ 'powerpack-pp-posts',
278
+ 'pp_posts_script',
279
+ array(
280
+ 'posts_nonce' => wp_create_nonce( 'pp-posts-widget-nonce' ),
281
+ )
282
+ );
283
+
284
  wp_register_script(
285
  'pp-tooltip',
286
  POWERPACK_ELEMENTS_LITE_URL . 'assets/js/tooltip.js',
300
  POWERPACK_ELEMENTS_LITE_VER,
301
  true
302
  );
303
+
304
+ $pp_localize = apply_filters(
305
+ 'pp_elements_lite_js_localize',
306
+ array(
307
+ 'ajax_url' => admin_url( 'admin-ajax.php' ),
308
+ )
309
+ );
310
+ wp_localize_script( 'jquery', 'pp', $pp_localize );
311
  }
312
 
313
  /**
powerpack-lite-elementor.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: PowerPack Lite for Elementor
4
  * Plugin URI: https://powerpackelements.com
5
  * Description: Custom addons for Elementor page builder.
6
- * Version: 2.0.0
7
  * Author: IdeaBox Creations
8
  * Author URI: http://ideabox.io/
9
  * License: GNU General Public License v2.0
@@ -14,7 +14,7 @@
14
 
15
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
16
 
17
- define( 'POWERPACK_ELEMENTS_LITE_VER', '2.0.0' );
18
  define( 'POWERPACK_ELEMENTS_LITE_PATH', plugin_dir_path( __FILE__ ) );
19
  define( 'POWERPACK_ELEMENTS_LITE_BASE', plugin_basename( __FILE__ ) );
20
  define( 'POWERPACK_ELEMENTS_LITE_URL', plugins_url( '/', __FILE__ ) );
3
  * Plugin Name: PowerPack Lite for Elementor
4
  * Plugin URI: https://powerpackelements.com
5
  * Description: Custom addons for Elementor page builder.
6
+ * Version: 2.1.0
7
  * Author: IdeaBox Creations
8
  * Author URI: http://ideabox.io/
9
  * License: GNU General Public License v2.0
14
 
15
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
16
 
17
+ define( 'POWERPACK_ELEMENTS_LITE_VER', '2.1.0' );
18
  define( 'POWERPACK_ELEMENTS_LITE_PATH', plugin_dir_path( __FILE__ ) );
19
  define( 'POWERPACK_ELEMENTS_LITE_BASE', plugin_basename( __FILE__ ) );
20
  define( 'POWERPACK_ELEMENTS_LITE_URL', plugins_url( '/', __FILE__ ) );
readme.txt CHANGED
@@ -179,6 +179,10 @@ Not at all! All the widgets and settings are easy to use with drag & drop interf
179
 
180
  == Changelog ==
181
 
 
 
 
 
182
  = 2.0.0 - July 29, 2020 =
183
  * New: Template Library
184
  * Added: Team Member Carousel - border, radius and padding options for team member box
179
 
180
  == Changelog ==
181
 
182
+ = 2.1.0 - August 11, 2020 =
183
+ * New: Posts widget
184
+ * Fixed: Image Accordion - Stack On option was not working
185
+
186
  = 2.0.0 - July 29, 2020 =
187
  * New: Template Library
188
  * Added: Team Member Carousel - border, radius and padding options for team member box