Version Description
- Added - New Animated Text widget with 6 text animations
Download this release
Release Info
Developer | livemesh |
Plugin | Addons for Elementor |
Version | 7.2.2 |
Comparing to | |
See all releases |
Code changes from version 7.2.1 to 7.2.2
- addons-for-elementor.php +2 -2
- admin/views/settings.php +22 -0
- assets/css/widgets/animated-text.css +47 -0
- assets/css/widgets/animated-text.css.map +1 -0
- assets/css/widgets/animated-text.scss +50 -0
- assets/css/widgets/lae-widgets.min.css +1 -1
- assets/js/anime.js +1312 -0
- assets/js/widgets/animated-text.js +293 -0
- assets/js/widgets/animated-text.min.js +1 -0
- includes/widgets/animated-text.php +316 -0
- plugin.php +23 -3
- readme.txt +4 -1
- templates/addons/animated-text/content.php +19 -0
- templates/addons/animated-text/loop.php +98 -0
addons-for-elementor.php
CHANGED
@@ -8,7 +8,7 @@
|
|
8 |
* Author URI: https://livemeshelementor.com
|
9 |
* License: GPL3
|
10 |
* License URI: https://www.gnu.org/licenses/gpl-3.0.txt
|
11 |
-
* Version: 7.2.
|
12 |
* Text Domain: livemesh-el-addons
|
13 |
* Domain Path: languages
|
14 |
* Elementor tested up to: 3.7.0
|
@@ -37,7 +37,7 @@ if ( !defined( 'ABSPATH' ) ) {
|
|
37 |
|
38 |
if ( !function_exists( 'lae_fs' ) ) {
|
39 |
// Plugin version
|
40 |
-
define( 'LAE_VERSION', '7.2.
|
41 |
// Plugin Root File
|
42 |
define( 'LAE_PLUGIN_FILE', __FILE__ );
|
43 |
// Plugin Folder Path
|
8 |
* Author URI: https://livemeshelementor.com
|
9 |
* License: GPL3
|
10 |
* License URI: https://www.gnu.org/licenses/gpl-3.0.txt
|
11 |
+
* Version: 7.2.2
|
12 |
* Text Domain: livemesh-el-addons
|
13 |
* Domain Path: languages
|
14 |
* Elementor tested up to: 3.7.0
|
37 |
|
38 |
if ( !function_exists( 'lae_fs' ) ) {
|
39 |
// Plugin version
|
40 |
+
define( 'LAE_VERSION', '7.2.2' );
|
41 |
// Plugin Root File
|
42 |
define( 'LAE_PLUGIN_FILE', __FILE__ );
|
43 |
// Plugin Folder Path
|
admin/views/settings.php
CHANGED
@@ -12,6 +12,7 @@ $custom_css = lae_get_option( 'lae_custom_css', '' );
|
|
12 |
$deactivate_element_carousel = lae_get_option( 'lae_deactivate_element_carousel', false );
|
13 |
$deactivate_element_clients = lae_get_option( 'lae_deactivate_element_clients', false );
|
14 |
$deactivate_element_heading = lae_get_option( 'lae_deactivate_element_heading', false );
|
|
|
15 |
$deactivate_element_odometers = lae_get_option( 'lae_deactivate_element_odometers', false );
|
16 |
$deactivate_element_piecharts = lae_get_option( 'lae_deactivate_element_piecharts', false );
|
17 |
$deactivate_element_portfolio = lae_get_option( 'lae_deactivate_element_portfolio', false );
|
@@ -230,6 +231,27 @@ echo checked( !empty($deactivate_element_heading), 1, false ) ;
|
|
230 |
</div>
|
231 |
</div>
|
232 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
233 |
<div class="lae-row lae-type-checkbox lae-field">
|
234 |
<label class="lae-label"><?php
|
235 |
echo __( 'Deactivate Odometers', 'livemesh-el-addons' ) ;
|
12 |
$deactivate_element_carousel = lae_get_option( 'lae_deactivate_element_carousel', false );
|
13 |
$deactivate_element_clients = lae_get_option( 'lae_deactivate_element_clients', false );
|
14 |
$deactivate_element_heading = lae_get_option( 'lae_deactivate_element_heading', false );
|
15 |
+
$deactivate_element_animated_text = lae_get_option( 'lae_deactivate_element_animated_text', false );
|
16 |
$deactivate_element_odometers = lae_get_option( 'lae_deactivate_element_odometers', false );
|
17 |
$deactivate_element_piecharts = lae_get_option( 'lae_deactivate_element_piecharts', false );
|
18 |
$deactivate_element_portfolio = lae_get_option( 'lae_deactivate_element_portfolio', false );
|
231 |
</div>
|
232 |
</div>
|
233 |
|
234 |
+
<div class="lae-row lae-type-checkbox lae-field">
|
235 |
+
<label class="lae-label"><?php
|
236 |
+
echo __( 'Deactivate Animated Text', 'livemesh-el-addons' ) ;
|
237 |
+
?></label>
|
238 |
+
<p class="lae-desc"><?php
|
239 |
+
echo __( 'Deactivate the animated text element.', 'livemesh-el-addons' ) ;
|
240 |
+
?></p>
|
241 |
+
<div class="lae-spacer" style="height: 5px"></div>
|
242 |
+
<div class="lae-toggle">
|
243 |
+
<input type="checkbox" class="lae-checkbox"
|
244 |
+
name="lae_deactivate_element_animated_text"
|
245 |
+
id="lae_deactivate_element_animated_text" data-default=""
|
246 |
+
value="<?php
|
247 |
+
echo $deactivate_element_animated_text ;
|
248 |
+
?>" <?php
|
249 |
+
echo checked( !empty($deactivate_element_animated_text), 1, false ) ;
|
250 |
+
?>>
|
251 |
+
<label for="lae_deactivate_element_animated_text"></label>
|
252 |
+
</div>
|
253 |
+
</div>
|
254 |
+
|
255 |
<div class="lae-row lae-type-checkbox lae-field">
|
256 |
<label class="lae-label"><?php
|
257 |
echo __( 'Deactivate Odometers', 'livemesh-el-addons' ) ;
|
assets/css/widgets/animated-text.css
ADDED
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* ---------------------------------- Animated Text Widget ---------------------------------- */
|
2 |
+
.lae-animated-text {
|
3 |
+
font-size: 28px;
|
4 |
+
line-height: 1.2;
|
5 |
+
font-weight: bold;
|
6 |
+
display: -webkit-box;
|
7 |
+
display: -ms-flexbox;
|
8 |
+
display: flex; }
|
9 |
+
.lae-animated-text.lae-align-left {
|
10 |
+
-webkit-box-pack: start;
|
11 |
+
-ms-flex-pack: start;
|
12 |
+
justify-content: flex-start; }
|
13 |
+
.lae-animated-text.lae-align-right {
|
14 |
+
-webkit-box-pack: end;
|
15 |
+
-ms-flex-pack: end;
|
16 |
+
justify-content: flex-end; }
|
17 |
+
.lae-animated-text.lae-align-center {
|
18 |
+
-webkit-box-pack: center;
|
19 |
+
-ms-flex-pack: center;
|
20 |
+
justify-content: center; }
|
21 |
+
.lae-animated-text .lae-animated-text-items {
|
22 |
+
display: grid;
|
23 |
+
padding: 0 10px; }
|
24 |
+
.lae-animated-text .lae-animated-text-items .lae-animated-text-item {
|
25 |
+
grid-area: 1 / 1;
|
26 |
+
display: -webkit-box;
|
27 |
+
display: -ms-flexbox;
|
28 |
+
display: flex;
|
29 |
+
-webkit-box-orient: horizontal;
|
30 |
+
-webkit-box-direction: normal;
|
31 |
+
-ms-flex-direction: row;
|
32 |
+
flex-direction: row;
|
33 |
+
-webkit-box-align: center;
|
34 |
+
-ms-flex-align: center;
|
35 |
+
align-items: center;
|
36 |
+
-ms-flex-wrap: wrap;
|
37 |
+
flex-wrap: wrap; }
|
38 |
+
.lae-animated-text .lae-animated-text-items .lae-animated-text-item span {
|
39 |
+
display: block;
|
40 |
+
position: relative;
|
41 |
+
white-space: pre;
|
42 |
+
opacity: 0;
|
43 |
+
display: none; }
|
44 |
+
.lae-animated-text .lae-animated-text-items .lae-animated-text-item.lae-visible span {
|
45 |
+
display: block; }
|
46 |
+
|
47 |
+
/*# sourceMappingURL=animated-text.css.map */
|
assets/css/widgets/animated-text.css.map
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
{"version":3,"sources":["animated-text.scss"],"names":[],"mappings":"AAEA,gGAAgG;AAEhG;EACE,gBAAe;EACf,iBAAgB;EAChB,kBAAiB;EACjB,qBAAa;EAAb,qBAAa;EAAb,cAAa,EAAA;EAEb;IACE,wBAA2B;QAA3B,qBAA2B;YAA3B,4BAA2B,EAAA;EAG7B;IACE,sBAAyB;QAAzB,mBAAyB;YAAzB,0BAAyB,EAAA;EAG3B;IACE,yBAAuB;QAAvB,sBAAuB;YAAvB,wBAAuB,EAAA;EAGzB;IACE,cAAa;IACb,gBAAe,EAAA;IAEf;MACE,iBAAgB;MAChB,qBAAa;MAAb,qBAAa;MAAb,cAAa;MACb,+BAAmB;MAAnB,8BAAmB;UAAnB,wBAAmB;cAAnB,oBAAmB;MACnB,0BAAmB;UAAnB,uBAAmB;cAAnB,oBAAmB;MACnB,oBAAe;UAAf,gBAAe,EAAA;MAEf;QACE,eAAc;QACd,mBAAkB;QAClB,iBAAgB;QAChB,WAAU;QACV,cAAa,EAAA;MAGf;QACE,eAAc,EAAA","file":"animated-text.css"}
|
assets/css/widgets/animated-text.scss
ADDED
@@ -0,0 +1,50 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
@import "../lae-lib";
|
2 |
+
|
3 |
+
/* ---------------------------------- Animated Text Widget ---------------------------------- */
|
4 |
+
|
5 |
+
.lae-animated-text {
|
6 |
+
font-size: 28px;
|
7 |
+
line-height: 1.2;
|
8 |
+
font-weight: bold;
|
9 |
+
display: flex;
|
10 |
+
|
11 |
+
&.lae-align-left {
|
12 |
+
justify-content: flex-start;
|
13 |
+
}
|
14 |
+
|
15 |
+
&.lae-align-right {
|
16 |
+
justify-content: flex-end;
|
17 |
+
}
|
18 |
+
|
19 |
+
&.lae-align-center {
|
20 |
+
justify-content: center;
|
21 |
+
}
|
22 |
+
|
23 |
+
.lae-animated-text-items {
|
24 |
+
display: grid;
|
25 |
+
padding: 0 10px;
|
26 |
+
|
27 |
+
.lae-animated-text-item {
|
28 |
+
grid-area: 1 / 1;
|
29 |
+
display: flex;
|
30 |
+
flex-direction: row;
|
31 |
+
align-items: center;
|
32 |
+
flex-wrap: wrap;
|
33 |
+
|
34 |
+
span {
|
35 |
+
display: block;
|
36 |
+
position: relative;
|
37 |
+
white-space: pre;
|
38 |
+
opacity: 0;
|
39 |
+
display: none;
|
40 |
+
}
|
41 |
+
|
42 |
+
&.lae-visible span {
|
43 |
+
display: block;
|
44 |
+
}
|
45 |
+
}
|
46 |
+
}
|
47 |
+
}
|
48 |
+
|
49 |
+
|
50 |
+
|
assets/css/widgets/lae-widgets.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
@charset "UTF-8";.lae-carousel .lae-carousel-item{position:relative}.lae-carousel.lae-container{max-width:none}.lae-clients .lae-client{position:relative;border:1px solid #ddd;overflow:hidden}.lae-dark-bg .lae-clients .lae-client{border-color:#505050!important}.lae-clients .lae-client img{-webkit-transition:all .3s ease-in-out 0s;transition:all .3s ease-in-out 0s;width:100%;margin:0;display:block}.lae-clients .lae-client .lae-client-name{position:absolute;z-index:2;top:50%;left:0;text-align:center;width:100%;height:100%;margin-top:-12px;color:#fff;font-size:18px;line-height:26px;-webkit-transition:opacity .4s ease-in-out 0s;transition:opacity .4s ease-in-out 0s;opacity:0}.lae-clients .lae-client .lae-client-name a{color:#fff;text-decoration:none}.lae-clients .lae-client .lae-image-overlay{position:absolute;left:0;top:0;overflow:hidden;width:100%;height:100%;background:#000;-moz-opacity:0;opacity:0;-webkit-transition:opacity .4s ease-in-out 0s;transition:opacity .4s ease-in-out 0s}.lae-clients .lae-client:hover .lae-image-overlay{opacity:.7}.lae-dark-bg .lae-clients .lae-client:hover .lae-image-overlay{opacity:.8}.lae-clients .lae-client:hover .lae-client-name{opacity:1}.lae-heading.lae-style3{margin:0 auto 30px}.lae-heading.lae-style3 .lae-title{font-size:22px;line-height:32px;text-transform:uppercase;letter-spacing:1px}.lae-heading.lae-style3 .lae-title:after{width:35px;height:1px;background:#aaa;display:block;content:""}.lae-heading.lae-style3 .lae-title:after{margin:10px auto 20px}.lae-dark-bg .lae-heading.lae-style3 .lae-title:after{background:rgba(255,255,255,.5)}@media only screen and (max-width:767px){.lae-heading.lae-style3 .lae-title{font-size:16px;line-height:24px}}.lae-heading.lae-style3.lae-alignleft,.lae-heading.lae-style3.lae-alignright{margin:0 0 30px}.lae-heading.lae-style3.lae-alignleft .lae-title:after,.lae-heading.lae-style3.lae-alignright .lae-title:after{margin:10px 0 20px}.lae-message-box-container{-webkit-transition:height .25s cubic-bezier(.06, .51, .48, 11);transition:height .25s cubic-bezier(.06, .51, .48, 11)}.lae-message-box{display:-webkit-box;display:-ms-flexbox;display:flex;padding:40px;background:#d9edf7;-webkit-transition:opacity .2s ease,visibility .2s ease;transition:opacity .2s ease,visibility .2s ease}.lae-message-box.lae-hidden{opacity:0;visibility:hidden}.lae-message-box .lae-icon-wrapper,.lae-message-box .lae-image-wrapper{line-height:1;margin-right:20px}.lae-message-box .lae-icon-wrapper i{color:#748085;font-size:36px}.lae-message-box .lae-message-title{margin:0}.lae-message-box .lae-message-text{margin:0}.lae-message-box .lae-close-icon{position:absolute;right:15px;top:15px;line-height:1;cursor:pointer;-webkit-transition:color .25s ease-in-out;transition:color .25s ease-in-out}.lae-message-box .lae-close-icon i{color:#697073;font-size:24px}.odometer.odometer-auto-theme,.odometer.odometer-theme-default{display:inline-block;vertical-align:middle;position:relative}.odometer.odometer-auto-theme .odometer-digit,.odometer.odometer-theme-default .odometer-digit{display:inline-block;vertical-align:middle;position:relative}.odometer.odometer-auto-theme .odometer-digit .odometer-digit-spacer,.odometer.odometer-theme-default .odometer-digit .odometer-digit-spacer{display:inline-block;vertical-align:middle;visibility:hidden}.odometer.odometer-auto-theme .odometer-digit .odometer-digit-inner,.odometer.odometer-theme-default .odometer-digit .odometer-digit-inner{text-align:left;display:block;position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden}.odometer.odometer-auto-theme .odometer-digit .odometer-ribbon,.odometer.odometer-theme-default .odometer-digit .odometer-ribbon{display:block}.odometer.odometer-auto-theme .odometer-digit .odometer-ribbon-inner,.odometer.odometer-theme-default .odometer-digit .odometer-ribbon-inner{display:block;-webkit-backface-visibility:hidden}.odometer.odometer-auto-theme .odometer-digit .odometer-value,.odometer.odometer-theme-default .odometer-digit .odometer-value{display:block;-webkit-transform:translateZ(0)}.odometer.odometer-auto-theme .odometer-digit .odometer-value.odometer-last-value,.odometer.odometer-theme-default .odometer-digit .odometer-value.odometer-last-value{position:absolute}.odometer.odometer-auto-theme.odometer-animating-up .odometer-ribbon-inner,.odometer.odometer-theme-default.odometer-animating-up .odometer-ribbon-inner{-webkit-transition:-webkit-transform 2s;transition:-webkit-transform 2s;transition:transform 2s;transition:transform 2s,-webkit-transform 2s}.odometer.odometer-auto-theme.odometer-animating-up.odometer-animating .odometer-ribbon-inner,.odometer.odometer-theme-default.odometer-animating-up.odometer-animating .odometer-ribbon-inner{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.odometer.odometer-auto-theme.odometer-animating-down .odometer-ribbon-inner,.odometer.odometer-theme-default.odometer-animating-down .odometer-ribbon-inner{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.odometer.odometer-auto-theme.odometer-animating-down.odometer-animating .odometer-ribbon-inner,.odometer.odometer-theme-default.odometer-animating-down.odometer-animating .odometer-ribbon-inner{-webkit-transition:-webkit-transform 2s;transition:-webkit-transform 2s;transition:transform 2s;transition:transform 2s,-webkit-transform 2s;-webkit-transform:translateY(0);transform:translateY(0)}.odometer.odometer-auto-theme,.odometer.odometer-theme-default{font-family:"Helvetica Neue",sans-serif;line-height:1.1em}.odometer.odometer-auto-theme .odometer-value,.odometer.odometer-theme-default .odometer-value{text-align:center}.lae-odometers{clear:both;font-size:0}.lae-odometers .lae-odometer{display:inline-block;vertical-align:top;text-align:left;position:relative;margin-bottom:20px}.rtl .lae-odometers .lae-odometer{text-align:right}.lae-odometers .lae-odometer:last-child:after{border:none}.lae-odometers .lae-odometer .lae-prefix,.lae-odometers .lae-odometer .lae-suffix{display:inline;font-size:36px;line-height:48px;color:#333;vertical-align:middle}.lae-dark-bg .lae-odometers .lae-odometer .lae-prefix,.lae-dark-bg .lae-odometers .lae-odometer .lae-suffix{color:#e5e5e5}.lae-odometers .lae-odometer .lae-prefix{margin-right:5px;margin-left:5px}.lae-odometers .lae-odometer .lae-suffix{margin-left:5px}.lae-odometers .lae-odometer .lae-number{font-size:60px;line-height:72px;font-style:normal;text-transform:none;letter-spacing:2px;font-weight:900;color:#333;margin-bottom:10px}.lae-odometers .lae-odometer .lae-number span{font-size:60px}.lae-dark-bg .lae-odometers .lae-odometer .lae-number{color:#fff}.lae-odometers .lae-odometer .lae-stats-title{font-size:18px;line-height:28px;display:inline-block;color:#888}.lae-dark-bg .lae-odometers .lae-odometer .lae-stats-title{color:rgba(255,255,255,.7)}.lae-odometers .lae-odometer .lae-stats-title span{float:left;margin-right:15px}.rtl .lae-odometers .lae-odometer .lae-stats-title span{float:right;margin:0 0 0 15px}.lae-odometers .lae-odometer .lae-stats-title .lae-icon-wrapper i{font-size:32px;vertical-align:middle;color:#ccc}@media only screen and (max-width:960px){.lae-odometers .lae-odometer .lae-number{font-size:48px;line-height:56px;margin-bottom:0}.lae-odometers .lae-odometer .lae-number span{font-size:48px}.lae-odometers .lae-odometer .lae-stats-title{font-size:15px;line-height:26px}}@media only screen and (max-width:479px){.lae-odometers .lae-odometer{text-align:center}}.lae-piecharts{clear:both}.lae-piechart{position:relative;text-align:center;overflow:hidden}.lae-piechart canvas{position:relative;top:0;left:0;max-width:100%;margin:0 auto}.lae-piechart .lae-label{text-align:center;position:absolute;left:0;right:0;margin-left:auto;margin-right:auto;top:55%;max-width:65%;color:#888}.lae-dark-bg .lae-piechart .lae-label{color:rgba(255,255,255,.7)}.lae-piechart .lae-percentage span{position:absolute;top:25%;left:0;right:0;margin-left:auto;margin-right:auto;font-size:60px;line-height:60px;font-weight:300;text-align:center;color:#333;font-weight:bolder}.lae-dark-bg .lae-piechart .lae-percentage span{color:#fff}.lae-piechart .lae-percentage sup{font-size:18px;vertical-align:middle}.lae-piechart.dark-bg .lae-label{color:#fff}.lae-piechart.dark-bg .lae-percentage span{color:#eee}@media only screen and (max-width:479px){.lae-piechart canvas{margin-bottom:15px}}.lae-portfolio-wrap{clear:both;overflow:hidden}.lae-portfolio-wrap .lae-portfolio-header{position:relative;max-width:1140px;margin:0 auto 30px;overflow:hidden;clear:both;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.lae-portfolio-wrap .lae-portfolio-header.lae-no-heading{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}@media only screen and (max-width:800px){.lae-portfolio-wrap .lae-portfolio-header{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column wrap;flex-flow:column wrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}}.lae-portfolio-wrap .lae-heading{display:inline-block;text-align:left;max-width:none;font-size:32px;line-height:44px;text-transform:uppercase;letter-spacing:1px;color:#333;margin:0 100px 0 0}.rtl .lae-portfolio-wrap .lae-heading{margin:0 0 0 100px}.lae-dark-bg .lae-portfolio-wrap .lae-heading{color:#e5e5e5}@media only screen and (max-width:800px){.lae-portfolio-wrap .lae-heading{margin-bottom:30px}}.lae-portfolio-wrap .lae-taxonomy-filter{display:block;margin:0;padding:0;-webkit-align-self:center;align-self:center;-ms-flex-item-align:center}@media only screen and (max-width:800px){.lae-portfolio-wrap .lae-taxonomy-filter{-webkit-align-self:flex-start;align-self:flex-start;-ms-flex-item-align:start}}.lae-portfolio-wrap .lae-taxonomy-filter .lae-filter-item{position:relative;display:inline-block;margin:0 0 15px 0;padding:0;font-style:normal;border-bottom:1px solid #ddd}.lae-dark-bg .lae-portfolio-wrap .lae-taxonomy-filter .lae-filter-item{border-color:#444}.lae-portfolio-wrap .lae-taxonomy-filter .lae-filter-item a{font-size:15px;line-height:24px;-webkit-transition:all .4s ease-in-out 0s;transition:all .4s ease-in-out 0s;display:block;color:#777;padding:0 15px 15px}.lae-dark-bg .lae-portfolio-wrap .lae-taxonomy-filter .lae-filter-item a{color:#999}.lae-portfolio-wrap .lae-taxonomy-filter .lae-filter-item a:hover{color:#222}.lae-dark-bg .lae-portfolio-wrap .lae-taxonomy-filter .lae-filter-item a:hover{color:#fff}@media only screen and (max-width:479px){.lae-portfolio-wrap .lae-taxonomy-filter .lae-filter-item a{padding:0 10px 8px}}.lae-portfolio-wrap .lae-taxonomy-filter .lae-filter-item.lae-active a{color:#222}.lae-dark-bg .lae-portfolio-wrap .lae-taxonomy-filter .lae-filter-item.lae-active a{color:#fff}.lae-portfolio-wrap .lae-taxonomy-filter .lae-filter-item.lae-active:after{content:'';position:absolute;left:0;bottom:0;border-bottom:3px solid #f94213;width:100%}.lae-portfolio-wrap .lae-taxonomy-filter .lae-filter-item:last-child{margin-right:0}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .hentry{margin:0;padding:0;border:none;background:0 0;-webkit-box-shadow:none;box-shadow:none}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .lae-project-image{position:relative;overflow:hidden}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .lae-project-image img{display:block;width:100%;-webkit-transition:all .4s ease-in-out 0s;transition:all .4s ease-in-out 0s}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .lae-project-image:hover img{-webkit-filter:brightness(50%);filter:brightness(50%)}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .lae-project-image .lae-image-info{display:block;text-align:center}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .lae-project-image .lae-image-info .lae-entry-info{text-align:center;display:block;position:absolute;top:50%;left:0;right:0;margin:auto;max-width:100%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .lae-project-image .lae-image-info .lae-post-title{padding:10px;margin:0;font-size:18px;line-height:28px;font-weight:400;color:#fff;opacity:0;-webkit-transition:opacity .4s ease-in-out 0s;transition:opacity .4s ease-in-out 0s}@media only screen and (max-width:1024px){.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .lae-project-image .lae-image-info .lae-post-title{font-size:18px;line-height:26px}}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .lae-project-image .lae-image-info .lae-post-title a{display:inline;color:#fff;-webkit-transition:all .3s ease-in-out 0s;transition:all .3s ease-in-out 0s;border-bottom:1px solid transparent}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .lae-project-image .lae-image-info .lae-post-title a:hover{border-bottom:1px solid #ccc}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .lae-project-image .lae-image-info .lae-terms{display:block;color:#f9f9f9;font-size:14px;line-height:22px;opacity:0;-webkit-transition:opacity .4s ease-in-out 0s;transition:opacity .4s ease-in-out 0s}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .lae-project-image .lae-image-info .lae-terms a{color:#ddd;position:relative;display:inline;zoom:1;font-size:14px;line-height:22px;font-style:italic;-webkit-transition:all .4s ease-in-out 0s;transition:all .4s ease-in-out 0s}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .lae-project-image .lae-image-info .lae-terms a:hover{color:#fff}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .lae-project-image:hover .lae-image-info .lae-post-title,.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .lae-project-image:hover .lae-image-info .lae-terms{opacity:1}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .lae-entry-text-wrap{text-align:center;max-width:650px;margin:20px auto 0}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .entry-title{font-size:18px;line-height:26px;font-weight:400;margin-bottom:10px}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .entry-title:after,.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .entry-title:before{display:none}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .entry-title a{-webkit-transition:all .4s ease-in-out 0s;transition:all .4s ease-in-out 0s;color:#333}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .entry-title a:hover{color:#888}.lae-dark-bg .lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .entry-title a{color:#e0e0e0}.lae-dark-bg .lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .entry-title a:hover{color:#fff}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .lae-entry-meta span{display:inline-block;padding:0;margin:0;font-style:italic;color:#999}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .lae-entry-meta span:after{content:'//';padding-left:6px;padding-right:6px}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .lae-entry-meta span:first-child{border:none;padding-left:0}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .lae-entry-meta span:last-child:after{display:none}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .lae-entry-meta span a{-webkit-transition:all .3s ease-in-out 0s;transition:all .3s ease-in-out 0s;font-style:normal}.lae-dark-bg .lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .lae-entry-meta span{color:#707070}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .entry-summary{margin:15px auto 0;padding:0}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .entry-summary:before{width:35px;height:1px;background:#aaa;display:block;content:"";text-align:center;margin:0 auto 15px}.lae-dark-bg .lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .entry-summary{color:#999}.lae-dark-bg .lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .entry-summary:before{background:#505050}.lae-portfolio-wrap .lae-portfolio-item .lae-read-more{margin:25px 0 0 0}.lae-portfolio-wrap .lae-portfolio-item .lae-read-more a:not(.lae-button){color:#333;font-size:12px;line-height:1;font-weight:600;text-transform:uppercase;display:block;padding:0;-webkit-transition:color .3s ease-in-out 0s;transition:color .3s ease-in-out 0s}.lae-portfolio-wrap .lae-portfolio-item .lae-read-more a:not(.lae-button):hover{color:#666}.lae-portfolio-wrap .lae-portfolio-item .lae-read-more a:not(.lae-button):after{content:'›';display:inline-block;margin-left:7px}.rtl .lae-portfolio-wrap .lae-portfolio-item .lae-read-more a:not(.lae-button):after{margin:0 7px 0 0}.lae-posts-carousel{clear:both;max-width:none}@media only screen and (min-width:1024px){.lae-posts-carousel{max-width:96%}}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .hentry{background:#fff;border-radius:6px;border:none;padding:0;margin:0;-webkit-transition:-webkit-box-shadow .25s ease 0s;transition:-webkit-box-shadow .25s ease 0s;transition:box-shadow .25s ease 0s;transition:box-shadow .25s ease 0s,-webkit-box-shadow .25s ease 0s;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1);overflow:hidden}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .hentry:hover{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 1px 3px rgba(0,0,0,.2)}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-project-image{position:relative;overflow:hidden}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-project-image img{width:100%;display:block;-webkit-transition:all .4s ease-in-out 0s;transition:all .4s ease-in-out 0s;max-width:100%}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-project-image:hover img{-webkit-filter:brightness(50%);filter:brightness(50%)}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-project-image .lae-image-info{display:block;text-align:center}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-project-image .lae-image-info .lae-entry-info{text-align:center;display:block;position:absolute;top:50%;left:0;right:0;margin:auto;max-width:100%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-project-image .lae-image-info .lae-post-title{padding:10px;margin:0;font-size:22px;line-height:34px;font-weight:400;color:#fff;opacity:0;-webkit-transition:opacity .4s ease-in-out 0s;transition:opacity .4s ease-in-out 0s}@media only screen and (max-width:1024px){.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-project-image .lae-image-info .lae-post-title{font-size:18px;line-height:26px}}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-project-image .lae-image-info .lae-post-title a{display:inline;color:#fff;-webkit-transition:all .3s ease-in-out 0s;transition:all .3s ease-in-out 0s;border-bottom:1px solid transparent}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-project-image .lae-image-info .lae-post-title a:hover{border-bottom:2px solid #ccc}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-project-image .lae-image-info .lae-terms{display:block;color:#f9f9f9;font-size:14px;line-height:22px;opacity:0;-webkit-transition:opacity .4s ease-in-out 0s;transition:opacity .4s ease-in-out 0s}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-project-image .lae-image-info .lae-terms a{color:#ddd;position:relative;display:inline;zoom:1;font-size:14px;line-height:22px;font-style:italic;-webkit-transition:all .4s ease-in-out 0s;transition:all .4s ease-in-out 0s}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-project-image .lae-image-info .lae-terms a:hover{color:#fff}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-project-image:hover .lae-image-info .lae-post-title,.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-project-image:hover .lae-image-info .lae-terms{opacity:1}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-entry-text-wrap{text-align:center;max-width:650px;margin:0 auto;padding:25px 15px}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-entry-text-wrap .entry-title{font-size:18px;line-height:26px;letter-spacing:1px;font-weight:700;color:#333;text-transform:uppercase;clear:none;margin-top:0;margin-bottom:10px;font-size:16px;line-height:24px;margin-bottom:10px}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-entry-text-wrap .entry-title:after,.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-entry-text-wrap .entry-title:before{display:none}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-entry-text-wrap .entry-title a{color:#333;-webkit-transition:all .4s ease-in-out 0s;transition:all .4s ease-in-out 0s}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-entry-text-wrap .entry-title a:hover{color:#888}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-entry-text-wrap .lae-entry-meta span{display:inline-block;padding:0;margin:0;font-style:italic;color:#999}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-entry-text-wrap .lae-entry-meta span a{-webkit-transition:all .3s ease-in-out 0s;transition:all .3s ease-in-out 0s;font-style:normal}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-entry-text-wrap .lae-entry-meta span:after{content:'//';padding-left:6px;padding-right:6px}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-entry-text-wrap .lae-entry-meta span:first-child{border:none;padding-left:0}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-entry-text-wrap .lae-entry-meta span:last-child:after{display:none}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-entry-text-wrap .entry-summary{padding:0;margin:10px auto 0}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-entry-text-wrap .entry-summary:before{width:35px;height:1px;background:#aaa;display:block;content:"";text-align:center;margin:0 auto 15px}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-entry-text-wrap .lae-category-list{-webkit-transition:all .4s ease-in-out 0s;transition:all .4s ease-in-out 0s}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-entry-text-wrap .lae-category-list:after{width:35px;height:1px;background:#aaa;display:block;content:""}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-entry-text-wrap .lae-category-list:after{text-align:center;margin:10px auto 10px}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-entry-text-wrap .lae-category-list a{font-style:italic;-webkit-transition:all .4s ease-in-out 0s;transition:all .4s ease-in-out 0s}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .type-post .lae-entry-text-wrap .entry-summary:before{display:none}.lae-posts-carousel .lae-posts-carousel-item .lae-read-more{margin:25px 0 0 0}.lae-posts-carousel .lae-posts-carousel-item .lae-read-more a:not(.lae-button){color:#333;font-size:12px;line-height:1;font-weight:600;text-transform:uppercase;display:block;padding:0;-webkit-transition:color .3s ease-in-out 0s;transition:color .3s ease-in-out 0s}.lae-posts-carousel .lae-posts-carousel-item .lae-read-more a:not(.lae-button):hover{color:#666}.lae-posts-carousel .lae-posts-carousel-item .lae-read-more a:not(.lae-button):after{content:'›';display:inline-block;margin-left:7px}.rtl .lae-posts-carousel .lae-posts-carousel-item .lae-read-more a:not(.lae-button):after{margin:0 7px 0 0}.lae-posts-gridbox-slider .slick-next:before,.lae-posts-gridbox-slider .slick-prev:before,.lae-posts-multislider .slick-next:before,.lae-posts-multislider .slick-prev:before,.lae-posts-slider .slick-next:before,.lae-posts-slider .slick-prev:before{display:block;font-size:inherit;line-height:inherit;color:inherit;font-family:lae-icomoon!important;margin:0;padding:0}.lae-posts-gridbox-slider .slick-prev:before,.lae-posts-multislider .slick-prev:before,.lae-posts-slider .slick-prev:before{content:"\f104"}.lae-posts-gridbox-slider .slick-next:before,.lae-posts-multislider .slick-next:before,.lae-posts-slider .slick-next:before{content:"\f105"}.lae-posts-gridbox-slider .slick-next,.lae-posts-gridbox-slider .slick-prev,.lae-posts-multislider .slick-next,.lae-posts-multislider .slick-prev,.lae-posts-slider .slick-next,.lae-posts-slider .slick-prev{cursor:pointer;width:34px;height:34px;display:inline-block;vertical-align:top;font-size:18px;position:absolute;top:auto;right:auto;left:auto;bottom:auto;z-index:10;line-height:34px;text-align:center;text-decoration:none;-webkit-transition:all .3s;transition:all .3s;border:none;outline:0;padding:0;margin:0}.lae-posts-gridbox-slider .slick-next:hover:before,.lae-posts-gridbox-slider .slick-prev:hover:before,.lae-posts-multislider .slick-next:hover:before,.lae-posts-multislider .slick-prev:hover:before,.lae-posts-slider .slick-next:hover:before,.lae-posts-slider .slick-prev:hover:before{color:inherit}.lae-slider-arrow-placement-middle-center .lae-posts-gridbox-slider .slick-next,.lae-slider-arrow-placement-middle-center .lae-posts-gridbox-slider .slick-prev,.lae-slider-arrow-placement-middle-center .lae-posts-multislider .slick-next,.lae-slider-arrow-placement-middle-center .lae-posts-multislider .slick-prev,.lae-slider-arrow-placement-middle-center .lae-posts-slider .slick-next,.lae-slider-arrow-placement-middle-center .lae-posts-slider .slick-prev{top:50%;margin-top:-18px}.lae-slider-arrow-placement-middle-center .lae-posts-gridbox-slider .slick-prev,.lae-slider-arrow-placement-middle-center .lae-posts-multislider .slick-prev,.lae-slider-arrow-placement-middle-center .lae-posts-slider .slick-prev{left:10px}.lae-slider-arrow-placement-middle-center .lae-posts-gridbox-slider .slick-next,.lae-slider-arrow-placement-middle-center .lae-posts-multislider .slick-next,.lae-slider-arrow-placement-middle-center .lae-posts-slider .slick-next{right:10px}.lae-slider-arrow-placement-middle-center.lae-slider-arrow-shape-square .lae-posts-gridbox-slider .slick-prev,.lae-slider-arrow-placement-middle-center.lae-slider-arrow-shape-square .lae-posts-multislider .slick-prev,.lae-slider-arrow-placement-middle-center.lae-slider-arrow-shape-square .lae-posts-slider .slick-prev{left:0}.lae-slider-arrow-placement-middle-center.lae-slider-arrow-shape-square .lae-posts-gridbox-slider .slick-next,.lae-slider-arrow-placement-middle-center.lae-slider-arrow-shape-square .lae-posts-multislider .slick-next,.lae-slider-arrow-placement-middle-center.lae-slider-arrow-shape-square .lae-posts-slider .slick-next{right:0}.lae-slider-arrow-placement-bottom-center .lae-posts-gridbox-slider .slick-next,.lae-slider-arrow-placement-bottom-center .lae-posts-gridbox-slider .slick-prev,.lae-slider-arrow-placement-bottom-center .lae-posts-multislider .slick-next,.lae-slider-arrow-placement-bottom-center .lae-posts-multislider .slick-prev,.lae-slider-arrow-placement-bottom-center .lae-posts-slider .slick-next,.lae-slider-arrow-placement-bottom-center .lae-posts-slider .slick-prev{bottom:0;left:50%;-webkit-transform:translateY(42px);transform:translateY(42px)}.lae-slider-arrow-placement-bottom-center .lae-posts-gridbox-slider .slick-prev,.lae-slider-arrow-placement-bottom-center .lae-posts-multislider .slick-prev,.lae-slider-arrow-placement-bottom-center .lae-posts-slider .slick-prev{margin-left:-36px}.lae-slider-arrow-placement-bottom-center .lae-posts-gridbox-slider .slick-next,.lae-slider-arrow-placement-bottom-center .lae-posts-multislider .slick-next,.lae-slider-arrow-placement-bottom-center .lae-posts-slider .slick-next{margin-left:2px}.lae-slider-arrow-placement-bottom-right .lae-posts-gridbox-slider .slick-next,.lae-slider-arrow-placement-bottom-right .lae-posts-gridbox-slider .slick-prev,.lae-slider-arrow-placement-bottom-right .lae-posts-multislider .slick-next,.lae-slider-arrow-placement-bottom-right .lae-posts-multislider .slick-prev,.lae-slider-arrow-placement-bottom-right .lae-posts-slider .slick-next,.lae-slider-arrow-placement-bottom-right .lae-posts-slider .slick-prev{bottom:20px}.lae-slider-arrow-placement-bottom-right .lae-posts-gridbox-slider .slick-prev,.lae-slider-arrow-placement-bottom-right .lae-posts-multislider .slick-prev,.lae-slider-arrow-placement-bottom-right .lae-posts-slider .slick-prev{right:65px}.lae-slider-arrow-placement-bottom-right .lae-posts-gridbox-slider .slick-next,.lae-slider-arrow-placement-bottom-right .lae-posts-multislider .slick-next,.lae-slider-arrow-placement-bottom-right .lae-posts-slider .slick-next{right:25px}.lae-slider-arrow-placement-bottom-left .lae-posts-gridbox-slider .slick-next,.lae-slider-arrow-placement-bottom-left .lae-posts-gridbox-slider .slick-prev,.lae-slider-arrow-placement-bottom-left .lae-posts-multislider .slick-next,.lae-slider-arrow-placement-bottom-left .lae-posts-multislider .slick-prev,.lae-slider-arrow-placement-bottom-left .lae-posts-slider .slick-next,.lae-slider-arrow-placement-bottom-left .lae-posts-slider .slick-prev{bottom:20px}.lae-slider-arrow-placement-bottom-left .lae-posts-gridbox-slider .slick-prev,.lae-slider-arrow-placement-bottom-left .lae-posts-multislider .slick-prev,.lae-slider-arrow-placement-bottom-left .lae-posts-slider .slick-prev{left:25px}.lae-slider-arrow-placement-bottom-left .lae-posts-gridbox-slider .slick-next,.lae-slider-arrow-placement-bottom-left .lae-posts-multislider .slick-next,.lae-slider-arrow-placement-bottom-left .lae-posts-slider .slick-next{left:65px}.lae-slider-arrow-placement-top-right .lae-posts-gridbox-slider .slick-next,.lae-slider-arrow-placement-top-right .lae-posts-gridbox-slider .slick-prev,.lae-slider-arrow-placement-top-right .lae-posts-multislider .slick-next,.lae-slider-arrow-placement-top-right .lae-posts-multislider .slick-prev,.lae-slider-arrow-placement-top-right .lae-posts-slider .slick-next,.lae-slider-arrow-placement-top-right .lae-posts-slider .slick-prev{top:20px}.lae-slider-arrow-placement-top-right .lae-posts-gridbox-slider .slick-prev,.lae-slider-arrow-placement-top-right .lae-posts-multislider .slick-prev,.lae-slider-arrow-placement-top-right .lae-posts-slider .slick-prev{right:65px}.lae-slider-arrow-placement-top-right .lae-posts-gridbox-slider .slick-next,.lae-slider-arrow-placement-top-right .lae-posts-multislider .slick-next,.lae-slider-arrow-placement-top-right .lae-posts-slider .slick-next{right:25px}.lae-slider-arrow-placement-top-left .lae-posts-gridbox-slider .slick-next,.lae-slider-arrow-placement-top-left .lae-posts-gridbox-slider .slick-prev,.lae-slider-arrow-placement-top-left .lae-posts-multislider .slick-next,.lae-slider-arrow-placement-top-left .lae-posts-multislider .slick-prev,.lae-slider-arrow-placement-top-left .lae-posts-slider .slick-next,.lae-slider-arrow-placement-top-left .lae-posts-slider .slick-prev{top:20px}.lae-slider-arrow-placement-top-left .lae-posts-gridbox-slider .slick-prev,.lae-slider-arrow-placement-top-left .lae-posts-multislider .slick-prev,.lae-slider-arrow-placement-top-left .lae-posts-slider .slick-prev{left:25px}.lae-slider-arrow-placement-top-left .lae-posts-gridbox-slider .slick-next,.lae-slider-arrow-placement-top-left .lae-posts-multislider .slick-next,.lae-slider-arrow-placement-top-left .lae-posts-slider .slick-next{left:65px}.lae-slider-arrow-shape-square .lae-posts-gridbox-slider .slick-next,.lae-slider-arrow-shape-square .lae-posts-gridbox-slider .slick-prev,.lae-slider-arrow-shape-square .lae-posts-multislider .slick-next,.lae-slider-arrow-shape-square .lae-posts-multislider .slick-prev,.lae-slider-arrow-shape-square .lae-posts-slider .slick-next,.lae-slider-arrow-shape-square .lae-posts-slider .slick-prev{border-radius:0}.lae-slider-arrow-shape-rounded-corners .lae-posts-gridbox-slider .slick-next,.lae-slider-arrow-shape-rounded-corners .lae-posts-gridbox-slider .slick-prev,.lae-slider-arrow-shape-rounded-corners .lae-posts-multislider .slick-next,.lae-slider-arrow-shape-rounded-corners .lae-posts-multislider .slick-prev,.lae-slider-arrow-shape-rounded-corners .lae-posts-slider .slick-next,.lae-slider-arrow-shape-rounded-corners .lae-posts-slider .slick-prev{border-radius:5px}.lae-slider-arrow-shape-circle .lae-posts-gridbox-slider .slick-next,.lae-slider-arrow-shape-circle .lae-posts-gridbox-slider .slick-prev,.lae-slider-arrow-shape-circle .lae-posts-multislider .slick-next,.lae-slider-arrow-shape-circle .lae-posts-multislider .slick-prev,.lae-slider-arrow-shape-circle .lae-posts-slider .slick-next,.lae-slider-arrow-shape-circle .lae-posts-slider .slick-prev{border-radius:50%}.lae-slider-arrow-visibility-on-hover .lae-posts-gridbox-slider .slick-next,.lae-slider-arrow-visibility-on-hover .lae-posts-gridbox-slider .slick-prev,.lae-slider-arrow-visibility-on-hover .lae-posts-multislider .slick-next,.lae-slider-arrow-visibility-on-hover .lae-posts-multislider .slick-prev,.lae-slider-arrow-visibility-on-hover .lae-posts-slider .slick-next,.lae-slider-arrow-visibility-on-hover .lae-posts-slider .slick-prev{opacity:0}@media only screen and (max-width:1200px){.lae-slider-arrow-visibility-on-hover .lae-posts-gridbox-slider .slick-next,.lae-slider-arrow-visibility-on-hover .lae-posts-gridbox-slider .slick-prev,.lae-slider-arrow-visibility-on-hover .lae-posts-multislider .slick-next,.lae-slider-arrow-visibility-on-hover .lae-posts-multislider .slick-prev,.lae-slider-arrow-visibility-on-hover .lae-posts-slider .slick-next,.lae-slider-arrow-visibility-on-hover .lae-posts-slider .slick-prev{opacity:.8}}.lae-slider-arrow-visibility-on-hover .lae-posts-gridbox-slider:hover .slick-next,.lae-slider-arrow-visibility-on-hover .lae-posts-gridbox-slider:hover .slick-prev,.lae-slider-arrow-visibility-on-hover .lae-posts-multislider:hover .slick-next,.lae-slider-arrow-visibility-on-hover .lae-posts-multislider:hover .slick-prev,.lae-slider-arrow-visibility-on-hover .lae-posts-slider:hover .slick-next,.lae-slider-arrow-visibility-on-hover .lae-posts-slider:hover .slick-prev{opacity:.8}.lae-slider-arrow-visibility-on-hover .lae-posts-gridbox-slider .slick-next:hover,.lae-slider-arrow-visibility-on-hover .lae-posts-gridbox-slider .slick-prev:hover,.lae-slider-arrow-visibility-on-hover .lae-posts-multislider .slick-next:hover,.lae-slider-arrow-visibility-on-hover .lae-posts-multislider .slick-prev:hover,.lae-slider-arrow-visibility-on-hover .lae-posts-slider .slick-next:hover,.lae-slider-arrow-visibility-on-hover .lae-posts-slider .slick-prev:hover{opacity:1}.lae-slider-arrow-visibility-always .lae-posts-gridbox-slider .slick-next,.lae-slider-arrow-visibility-always .lae-posts-gridbox-slider .slick-prev,.lae-slider-arrow-visibility-always .lae-posts-multislider .slick-next,.lae-slider-arrow-visibility-always .lae-posts-multislider .slick-prev,.lae-slider-arrow-visibility-always .lae-posts-slider .slick-next,.lae-slider-arrow-visibility-always .lae-posts-slider .slick-prev{opacity:.8}.lae-slider-arrow-visibility-always .lae-posts-gridbox-slider .slick-next:hover,.lae-slider-arrow-visibility-always .lae-posts-gridbox-slider .slick-prev:hover,.lae-slider-arrow-visibility-always .lae-posts-multislider .slick-next:hover,.lae-slider-arrow-visibility-always .lae-posts-multislider .slick-prev:hover,.lae-slider-arrow-visibility-always .lae-posts-slider .slick-next:hover,.lae-slider-arrow-visibility-always .lae-posts-slider .slick-prev:hover{opacity:1}.lae-slider-arrow-color-light .lae-posts-gridbox-slider .slick-next,.lae-slider-arrow-color-light .lae-posts-gridbox-slider .slick-prev,.lae-slider-arrow-color-light .lae-posts-multislider .slick-next,.lae-slider-arrow-color-light .lae-posts-multislider .slick-prev,.lae-slider-arrow-color-light .lae-posts-slider .slick-next,.lae-slider-arrow-color-light .lae-posts-slider .slick-prev{background:#fff;color:#010101}.lae-slider-arrow-color-dark .lae-posts-gridbox-slider .slick-next,.lae-slider-arrow-color-dark .lae-posts-gridbox-slider .slick-prev,.lae-slider-arrow-color-dark .lae-posts-multislider .slick-next,.lae-slider-arrow-color-dark .lae-posts-multislider .slick-prev,.lae-slider-arrow-color-dark .lae-posts-slider .slick-next,.lae-slider-arrow-color-dark .lae-posts-slider .slick-prev{background:#000;color:#fff}.lae-posts-gridbox-slider .lae-post-meta,.lae-posts-multislider .lae-post-meta,.lae-posts-slider .lae-post-meta{margin-top:15px}.lae-posts-slider .slick-slide>div{line-height:0}.lae-posts-slider .lae-post-entry{position:relative;line-height:normal}.lae-posts-slider .lae-post-featured-img-bg{width:100%;height:400px}.lae-posts-slider .lae-post-featured-img-bg{margin:0}.lae-posts-slider-style-1 .lae-post-text .lae-post-meta,.lae-posts-slider-style-1 .lae-post-text .lae-post-meta a,.lae-posts-slider-style-1 .lae-post-text .lae-post-summary,.lae-posts-slider-style-1 .lae-post-text .lae-post-title a,.lae-posts-slider-style-1 .lae-post-text .lae-read-more,.lae-posts-slider-style-1 .lae-post-text .lae-terms,.lae-posts-slider-style-1 .lae-post-text .lae-terms a,.lae-posts-slider-style-2 .lae-post-text .lae-post-meta,.lae-posts-slider-style-2 .lae-post-text .lae-post-meta a,.lae-posts-slider-style-2 .lae-post-text .lae-post-summary,.lae-posts-slider-style-2 .lae-post-text .lae-post-title a,.lae-posts-slider-style-2 .lae-post-text .lae-read-more,.lae-posts-slider-style-2 .lae-post-text .lae-terms,.lae-posts-slider-style-2 .lae-post-text .lae-terms a,.lae-posts-slider-style-3 .lae-post-text .lae-post-meta,.lae-posts-slider-style-3 .lae-post-text .lae-post-meta a,.lae-posts-slider-style-3 .lae-post-text .lae-post-summary,.lae-posts-slider-style-3 .lae-post-text .lae-post-title a,.lae-posts-slider-style-3 .lae-post-text .lae-read-more,.lae-posts-slider-style-3 .lae-post-text .lae-terms,.lae-posts-slider-style-3 .lae-post-text .lae-terms a,.lae-posts-slider-style-7 .lae-post-text .lae-post-meta,.lae-posts-slider-style-7 .lae-post-text .lae-post-meta a,.lae-posts-slider-style-7 .lae-post-text .lae-post-summary,.lae-posts-slider-style-7 .lae-post-text .lae-post-title a,.lae-posts-slider-style-7 .lae-post-text .lae-read-more,.lae-posts-slider-style-7 .lae-post-text .lae-terms,.lae-posts-slider-style-7 .lae-post-text .lae-terms a,.lae-posts-slider-style-8 .lae-post-text .lae-post-meta,.lae-posts-slider-style-8 .lae-post-text .lae-post-meta a,.lae-posts-slider-style-8 .lae-post-text .lae-post-summary,.lae-posts-slider-style-8 .lae-post-text .lae-post-title a,.lae-posts-slider-style-8 .lae-post-text .lae-read-more,.lae-posts-slider-style-8 .lae-post-text .lae-terms,.lae-posts-slider-style-8 .lae-post-text .lae-terms a{color:#fff}.lae-posts-slider-style-1 .lae-post-text .lae-post-meta a,.lae-posts-slider-style-2 .lae-post-text .lae-post-meta a,.lae-posts-slider-style-3 .lae-post-text .lae-post-meta a,.lae-posts-slider-style-7 .lae-post-text .lae-post-meta a,.lae-posts-slider-style-8 .lae-post-text .lae-post-meta a{color:rgba(255,255,255,.75)}.lae-posts-slider-style-1 .lae-post-text .lae-terms a:hover,.lae-posts-slider-style-1 .lae-post-text .lae-terms:hover,.lae-posts-slider-style-2 .lae-post-text .lae-terms a:hover,.lae-posts-slider-style-2 .lae-post-text .lae-terms:hover,.lae-posts-slider-style-3 .lae-post-text .lae-terms a:hover,.lae-posts-slider-style-3 .lae-post-text .lae-terms:hover,.lae-posts-slider-style-7 .lae-post-text .lae-terms a:hover,.lae-posts-slider-style-7 .lae-post-text .lae-terms:hover,.lae-posts-slider-style-8 .lae-post-text .lae-terms a:hover,.lae-posts-slider-style-8 .lae-post-text .lae-terms:hover{color:#ddd}.lae-posts-slider-style-1 .lae-post-text .lae-post-meta a,.lae-posts-slider-style-1 .lae-post-text .lae-post-meta span,.lae-posts-slider-style-1 .lae-post-text .lae-read-more,.lae-posts-slider-style-1 .lae-post-text .lae-terms a,.lae-posts-slider-style-2 .lae-post-text .lae-post-meta a,.lae-posts-slider-style-2 .lae-post-text .lae-post-meta span,.lae-posts-slider-style-2 .lae-post-text .lae-read-more,.lae-posts-slider-style-2 .lae-post-text .lae-terms a,.lae-posts-slider-style-3 .lae-post-text .lae-post-meta a,.lae-posts-slider-style-3 .lae-post-text .lae-post-meta span,.lae-posts-slider-style-3 .lae-post-text .lae-read-more,.lae-posts-slider-style-3 .lae-post-text .lae-terms a,.lae-posts-slider-style-4 .lae-post-text .lae-post-meta a,.lae-posts-slider-style-4 .lae-post-text .lae-post-meta span,.lae-posts-slider-style-4 .lae-post-text .lae-read-more,.lae-posts-slider-style-4 .lae-post-text .lae-terms a,.lae-posts-slider-style-5 .lae-post-text .lae-post-meta a,.lae-posts-slider-style-5 .lae-post-text .lae-post-meta span,.lae-posts-slider-style-5 .lae-post-text .lae-read-more,.lae-posts-slider-style-5 .lae-post-text .lae-terms a,.lae-posts-slider-style-6 .lae-post-text .lae-post-meta a,.lae-posts-slider-style-6 .lae-post-text .lae-post-meta span,.lae-posts-slider-style-6 .lae-post-text .lae-read-more,.lae-posts-slider-style-6 .lae-post-text .lae-terms a,.lae-posts-slider-style-7 .lae-post-text .lae-post-meta a,.lae-posts-slider-style-7 .lae-post-text .lae-post-meta span,.lae-posts-slider-style-7 .lae-post-text .lae-read-more,.lae-posts-slider-style-7 .lae-post-text .lae-terms a,.lae-posts-slider-style-8 .lae-post-text .lae-post-meta a,.lae-posts-slider-style-8 .lae-post-text .lae-post-meta span,.lae-posts-slider-style-8 .lae-post-text .lae-read-more,.lae-posts-slider-style-8 .lae-post-text .lae-terms a{text-transform:uppercase;font-size:.625rem}.lae-posts-slider-style-1 .lae-post-text .lae-post-title,.lae-posts-slider-style-2 .lae-post-text .lae-post-title,.lae-posts-slider-style-3 .lae-post-text .lae-post-title,.lae-posts-slider-style-4 .lae-post-text .lae-post-title,.lae-posts-slider-style-5 .lae-post-text .lae-post-title,.lae-posts-slider-style-6 .lae-post-text .lae-post-title,.lae-posts-slider-style-7 .lae-post-text .lae-post-title,.lae-posts-slider-style-8 .lae-post-text .lae-post-title{margin:10px 0 0 0}.lae-posts-slider-style-1 .lae-post-text .lae-post-meta span+span,.lae-posts-slider-style-2 .lae-post-text .lae-post-meta span+span,.lae-posts-slider-style-3 .lae-post-text .lae-post-meta span+span,.lae-posts-slider-style-4 .lae-post-text .lae-post-meta span+span,.lae-posts-slider-style-5 .lae-post-text .lae-post-meta span+span,.lae-posts-slider-style-6 .lae-post-text .lae-post-meta span+span,.lae-posts-slider-style-7 .lae-post-text .lae-post-meta span+span,.lae-posts-slider-style-8 .lae-post-text .lae-post-meta span+span{margin:0 0 0 5px}.lae-posts-slider-style-1 .lae-post-text .lae-post-meta span+span:before,.lae-posts-slider-style-2 .lae-post-text .lae-post-meta span+span:before,.lae-posts-slider-style-3 .lae-post-text .lae-post-meta span+span:before,.lae-posts-slider-style-4 .lae-post-text .lae-post-meta span+span:before,.lae-posts-slider-style-5 .lae-post-text .lae-post-meta span+span:before,.lae-posts-slider-style-6 .lae-post-text .lae-post-meta span+span:before,.lae-posts-slider-style-7 .lae-post-text .lae-post-meta span+span:before,.lae-posts-slider-style-8 .lae-post-text .lae-post-meta span+span:before{margin-right:5px;content:"\b7"}.lae-posts-slider-style-1 .lae-post-text .lae-terms,.lae-posts-slider-style-1 .lae-post-text .lae-terms a,.lae-posts-slider-style-2 .lae-post-text .lae-terms,.lae-posts-slider-style-2 .lae-post-text .lae-terms a,.lae-posts-slider-style-3 .lae-post-text .lae-terms,.lae-posts-slider-style-3 .lae-post-text .lae-terms a,.lae-posts-slider-style-4 .lae-post-text .lae-terms,.lae-posts-slider-style-4 .lae-post-text .lae-terms a,.lae-posts-slider-style-5 .lae-post-text .lae-terms,.lae-posts-slider-style-5 .lae-post-text .lae-terms a,.lae-posts-slider-style-6 .lae-post-text .lae-terms,.lae-posts-slider-style-6 .lae-post-text .lae-terms a,.lae-posts-slider-style-7 .lae-post-text .lae-terms,.lae-posts-slider-style-7 .lae-post-text .lae-terms a,.lae-posts-slider-style-8 .lae-post-text .lae-terms,.lae-posts-slider-style-8 .lae-post-text .lae-terms a{border:none}.lae-posts-slider-style-1 .lae-post-text .lae-post-summary,.lae-posts-slider-style-2 .lae-post-text .lae-post-summary,.lae-posts-slider-style-3 .lae-post-text .lae-post-summary,.lae-posts-slider-style-4 .lae-post-text .lae-post-summary,.lae-posts-slider-style-5 .lae-post-text .lae-post-summary,.lae-posts-slider-style-6 .lae-post-text .lae-post-summary,.lae-posts-slider-style-7 .lae-post-text .lae-post-summary,.lae-posts-slider-style-8 .lae-post-text .lae-post-summary{margin-top:20px;font-size:.875rem;line-height:1.5}.lae-posts-slider-style-1 .lae-post-featured-img-bg:before{position:absolute;top:0;right:0;bottom:0;left:0;content:"";-webkit-transition:all .2s ease;transition:all .2s ease;background-color:rgba(40,40,40,.125)}.lae-posts-slider-style-2 .lae-post-featured-img-bg:before{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background-color:transparent;-webkit-transition:all .2s linear;transition:all .2s linear;background-image:-webkit-gradient(linear,left bottom,left top,from(#121928),color-stop(40%,rgba(18,25,42,0)));background-image:linear-gradient(0deg,#121928 0,rgba(18,25,42,0) 40%)}.lae-posts-slider-style-1 .lae-post-text-wrap,.lae-posts-slider-style-3 .lae-post-text-wrap,.lae-posts-slider-style-4 .lae-post-text-wrap{position:absolute;top:50%;width:100%;-webkit-transform:translateY(-50%);transform:translateY(-50%);margin:0;padding:0 25px;z-index:99}.lae-posts-slider-style-1 .lae-post-text-wrap{position:absolute;top:50%;width:100%;-webkit-transform:translateY(-50%);transform:translateY(-50%);margin:0;padding:0 25px;z-index:99}.lae-posts-slider-style-1 .lae-post-text{position:relative;display:block;text-align:center;max-width:680px;width:100%;margin:0 auto;padding:20px 12px}.lae-posts-slider-style-1 .lae-post-text .lae-post-title a{font-size:3rem;line-height:1.2}@media only screen and (max-width:640px){.lae-posts-slider-style-1 .lae-post-text .lae-post-title a{font-size:2.25rem}}.lae-posts-slider-style-1 .lae-post-text .lae-read-more{border:none;background:#282828;color:#eee;padding:8px 16px;margin-top:25px}.lae-posts-slider-style-1 .lae-post-text .lae-read-more:hover{background:#4e4e4e}.lae-posts-slider-style-2 .lae-post-text-wrap{position:absolute;bottom:0;width:100%;margin:0;z-index:99}.lae-posts-slider-style-2 .lae-post-text{position:relative;display:block;text-align:left;max-width:680px;width:100%;margin:0;padding:42px}.lae-posts-slider-style-2 .lae-post-text .lae-post-title a{font-size:2.25rem;line-height:1.2;font-weight:400}@media only screen and (max-width:640px){.lae-posts-slider-style-2 .lae-post-text .lae-post-title a{font-size:1.75px}}.lae-posts-gridbox-item .lae-post-overlay.lae-post-featured-img-bg::before{position:absolute;z-index:0;left:0;top:0;right:0;bottom:0;content:'';background-color:transparent;-webkit-transition:all .2s linear;transition:all .2s linear}.lae-posts-gridbox-item.lae-align-middle-center .lae-post-overlay.lae-post-featured-img-bg::before,.lae-posts-gridbox-item.lae-align-middle-left .lae-post-overlay.lae-post-featured-img-bg::before,.lae-posts-gridbox-item.lae-align-middle-right .lae-post-overlay.lae-post-featured-img-bg::before{background-color:rgba(40,40,40,.125)}.lae-posts-gridbox-item.lae-align-top-center .lae-post-overlay.lae-post-featured-img-bg::before,.lae-posts-gridbox-item.lae-align-top-left .lae-post-overlay.lae-post-featured-img-bg::before,.lae-posts-gridbox-item.lae-align-top-right .lae-post-overlay.lae-post-featured-img-bg::before{background-image:-webkit-gradient(linear,left top,left bottom,from(#121928),color-stop(40%,rgba(18,25,42,0)));background-image:linear-gradient(180deg,#121928 0,rgba(18,25,42,0) 40%)}.lae-posts-gridbox-item.lae-align-bottom-center .lae-post-overlay.lae-post-featured-img-bg::before,.lae-posts-gridbox-item.lae-align-bottom-left .lae-post-overlay.lae-post-featured-img-bg::before,.lae-posts-gridbox-item.lae-align-bottom-right .lae-post-overlay.lae-post-featured-img-bg::before{background-image:-webkit-gradient(linear,left bottom,left top,from(#121928),color-stop(40%,rgba(18,25,42,0)));background-image:linear-gradient(0deg,#121928 0,rgba(18,25,42,0) 40%)}.lae-posts-gridbox-item,.lae-posts-multislider-item{position:relative}.lae-posts-gridbox-item .lae-post-entry,.lae-posts-multislider-item .lae-post-entry{height:100%}.lae-posts-gridbox-item .lae-post-featured-img-bg,.lae-posts-multislider-item .lae-post-featured-img-bg{height:100%}.lae-posts-gridbox-item .lae-post-featured-img-bg,.lae-posts-multislider-item .lae-post-featured-img-bg{position:relative;overflow:hidden;background-size:cover;background-repeat:no-repeat;background-position:center center;-webkit-transition:all .2s linear;transition:all .2s linear}.lae-posts-gridbox-item .lae-post-text .lae-post-title a,.lae-posts-multislider-item .lae-post-text .lae-post-title a{margin:0}.lae-posts-gridbox-item .lae-post-text>*+*,.lae-posts-multislider-item .lae-post-text>*+*{margin:10px 0 0 0}.lae-posts-gridbox-item .lae-post-text .lae-post-meta,.lae-posts-multislider-item .lae-post-text .lae-post-meta{margin-top:15px}.lae-posts-gridbox-item .lae-post-text .lae-post-meta span+span,.lae-posts-multislider-item .lae-post-text .lae-post-meta span+span{margin:0 0 0 5px}.lae-posts-gridbox-item .lae-post-text .lae-post-meta span+span:before,.lae-posts-multislider-item .lae-post-text .lae-post-meta span+span:before{margin-right:5px;content:"\b7"}.lae-posts-gridbox-item .lae-post-text,.lae-posts-multislider-item .lae-post-text{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.lae-posts-gridbox-item .lae-post-text .lae-terms,.lae-posts-gridbox-item .lae-post-text .lae-terms a,.lae-posts-multislider-item .lae-post-text .lae-terms,.lae-posts-multislider-item .lae-post-text .lae-terms a{color:#999;font-size:.625rem;line-height:1;text-transform:uppercase}.lae-posts-gridbox-item .lae-post-text .lae-terms a:hover,.lae-posts-gridbox-item .lae-post-text .lae-terms:hover,.lae-posts-multislider-item .lae-post-text .lae-terms a:hover,.lae-posts-multislider-item .lae-post-text .lae-terms:hover{color:#666}.lae-posts-gridbox-item .lae-post-text .lae-post-title,.lae-posts-multislider-item .lae-post-text .lae-post-title{font-size:0;line-height:1}.lae-posts-gridbox-item .lae-post-text .lae-post-title a,.lae-posts-multislider-item .lae-post-text .lae-post-title a{color:#000;font-size:1.3125rem;line-height:1.2}.lae-posts-gridbox-item .lae-post-text .lae-post-title a:hover,.lae-posts-multislider-item .lae-post-text .lae-post-title a:hover{color:#333}.lae-posts-gridbox-item .lae-post-text .lae-post-meta,.lae-posts-multislider-item .lae-post-text .lae-post-meta{font-size:.625rem;line-height:1.5}.lae-posts-gridbox-item .lae-post-text .lae-post-meta span,.lae-posts-multislider-item .lae-post-text .lae-post-meta span{color:#777;font-size:.625rem;line-height:1.2;text-transform:uppercase}.lae-posts-gridbox-item .lae-post-text .lae-post-meta span a,.lae-posts-multislider-item .lae-post-text .lae-post-meta span a{color:#888}.lae-posts-gridbox-item .lae-post-text .lae-post-meta span a:hover,.lae-posts-multislider-item .lae-post-text .lae-post-meta span a:hover{color:#555}.lae-posts-gridbox-item .lae-post-text .lae-post-summary,.lae-posts-multislider-item .lae-post-text .lae-post-summary{font-size:.875rem;line-height:1.5}.lae-posts-gridbox-item .lae-post-text .lae-read-more,.lae-posts-multislider-item .lae-post-text .lae-read-more{line-height:1;color:#fff;border:1px solid rgba(0,0,0,.75);background:rgba(0,0,0,.75)}.lae-posts-gridbox-item .lae-post-text .lae-read-more:hover,.lae-posts-multislider-item .lae-post-text .lae-read-more:hover{border:1px solid rgba(0,0,0,.95);background:rgba(0,0,0,.95)}.lae-posts-gridbox-item .lae-post-overlay .lae-post-text,.lae-posts-multislider-item .lae-post-overlay .lae-post-text{z-index:99;position:absolute;left:0;right:0;padding:20px}.lae-posts-gridbox-item .lae-post-overlay .lae-post-text .lae-terms,.lae-posts-gridbox-item .lae-post-overlay .lae-post-text .lae-terms a,.lae-posts-multislider-item .lae-post-overlay .lae-post-text .lae-terms,.lae-posts-multislider-item .lae-post-overlay .lae-post-text .lae-terms a{color:#fff;color:rgba(255,255,255,.9)}.lae-posts-gridbox-item .lae-post-overlay .lae-post-text .lae-terms a:hover,.lae-posts-multislider-item .lae-post-overlay .lae-post-text .lae-terms a:hover{text-decoration:underline}.lae-posts-gridbox-item .lae-post-overlay .lae-post-text .lae-post-title,.lae-posts-multislider-item .lae-post-overlay .lae-post-text .lae-post-title{color:#fff}.lae-posts-gridbox-item .lae-post-overlay .lae-post-text .lae-post-title a,.lae-posts-multislider-item .lae-post-overlay .lae-post-text .lae-post-title a{color:#fff}.lae-posts-gridbox-item .lae-post-overlay .lae-post-text .lae-post-title a:hover,.lae-posts-multislider-item .lae-post-overlay .lae-post-text .lae-post-title a:hover{text-decoration:underline}.lae-posts-gridbox-item .lae-post-overlay .lae-post-text .lae-post-meta,.lae-posts-multislider-item .lae-post-overlay .lae-post-text .lae-post-meta{color:#fff}.lae-posts-gridbox-item .lae-post-overlay .lae-post-text .lae-post-meta span,.lae-posts-multislider-item .lae-post-overlay .lae-post-text .lae-post-meta span{color:#fff}.lae-posts-gridbox-item .lae-post-overlay .lae-post-text .lae-post-meta span a,.lae-posts-multislider-item .lae-post-overlay .lae-post-text .lae-post-meta span a{color:#dedede}.lae-posts-gridbox-item .lae-post-overlay .lae-post-text .lae-post-meta span a:hover,.lae-posts-multislider-item .lae-post-overlay .lae-post-text .lae-post-meta span a:hover{color:#fff}.lae-posts-gridbox-item .lae-post-overlay .lae-post-text .lae-post-content,.lae-posts-multislider-item .lae-post-overlay .lae-post-text .lae-post-content{color:#fff}.lae-posts-gridbox-item .lae-post-overlay .lae-post-text .lae-post-content .lae-read-more,.lae-posts-multislider-item .lae-post-overlay .lae-post-text .lae-post-content .lae-read-more{color:#fff;border:1px solid #fff;background:0 0}.lae-posts-gridbox-item .lae-post-overlay .lae-post-text .lae-post-content .lae-read-more:hover,.lae-posts-multislider-item .lae-post-overlay .lae-post-text .lae-post-content .lae-read-more:hover{background:rgba(255,255,255,.3)}.lae-posts-gridbox-item.lae-align-top-center .lae-post-overlay .lae-post-text,.lae-posts-gridbox-item.lae-align-top-left .lae-post-overlay .lae-post-text,.lae-posts-gridbox-item.lae-align-top-right .lae-post-overlay .lae-post-text,.lae-posts-multislider-item.lae-align-top-center .lae-post-overlay .lae-post-text,.lae-posts-multislider-item.lae-align-top-left .lae-post-overlay .lae-post-text,.lae-posts-multislider-item.lae-align-top-right .lae-post-overlay .lae-post-text{top:0}.lae-posts-gridbox-item.lae-align-middle-center .lae-post-overlay .lae-post-text,.lae-posts-gridbox-item.lae-align-middle-left .lae-post-overlay .lae-post-text,.lae-posts-gridbox-item.lae-align-middle-right .lae-post-overlay .lae-post-text,.lae-posts-multislider-item.lae-align-middle-center .lae-post-overlay .lae-post-text,.lae-posts-multislider-item.lae-align-middle-left .lae-post-overlay .lae-post-text,.lae-posts-multislider-item.lae-align-middle-right .lae-post-overlay .lae-post-text{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.lae-posts-gridbox-item.lae-align-bottom-center .lae-post-overlay .lae-post-text,.lae-posts-gridbox-item.lae-align-bottom-left .lae-post-overlay .lae-post-text,.lae-posts-gridbox-item.lae-align-bottom-right .lae-post-overlay .lae-post-text,.lae-posts-multislider-item.lae-align-bottom-center .lae-post-overlay .lae-post-text,.lae-posts-multislider-item.lae-align-bottom-left .lae-post-overlay .lae-post-text,.lae-posts-multislider-item.lae-align-bottom-right .lae-post-overlay .lae-post-text{bottom:0}.lae-posts-gridbox-item.lae-align-bottom-left .lae-post-text,.lae-posts-gridbox-item.lae-align-left .lae-post-text,.lae-posts-gridbox-item.lae-align-middle-left .lae-post-text,.lae-posts-gridbox-item.lae-align-top-left .lae-post-text,.lae-posts-multislider-item.lae-align-bottom-left .lae-post-text,.lae-posts-multislider-item.lae-align-left .lae-post-text,.lae-posts-multislider-item.lae-align-middle-left .lae-post-text,.lae-posts-multislider-item.lae-align-top-left .lae-post-text{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;text-align:left}.lae-posts-gridbox-item.lae-align-bottom-center .lae-post-text,.lae-posts-gridbox-item.lae-align-center .lae-post-text,.lae-posts-gridbox-item.lae-align-middle-center .lae-post-text,.lae-posts-gridbox-item.lae-align-top-center .lae-post-text,.lae-posts-multislider-item.lae-align-bottom-center .lae-post-text,.lae-posts-multislider-item.lae-align-center .lae-post-text,.lae-posts-multislider-item.lae-align-middle-center .lae-post-text,.lae-posts-multislider-item.lae-align-top-center .lae-post-text{-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:center}.lae-posts-gridbox-item.lae-align-bottom-right .lae-post-text,.lae-posts-gridbox-item.lae-align-middle-right .lae-post-text,.lae-posts-gridbox-item.lae-align-right .lae-post-text,.lae-posts-gridbox-item.lae-align-top-right .lae-post-text,.lae-posts-multislider-item.lae-align-bottom-right .lae-post-text,.lae-posts-multislider-item.lae-align-middle-right .lae-post-text,.lae-posts-multislider-item.lae-align-right .lae-post-text,.lae-posts-multislider-item.lae-align-top-right .lae-post-text{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;text-align:right}.lae-posts-gridbox-slider-style-1 .lae-posts-gridbox{display:grid;grid-gap:1px;grid-template-columns:1fr;grid-template-areas:'tile1' 'tile1' 'tile2' 'tile3'}.lae-posts-gridbox-slider-style-1 .lae-posts-gridbox .lae-posts-gridbox-item:nth-child(1){grid-area:tile1}.lae-posts-gridbox-slider-style-1 .lae-posts-gridbox .lae-posts-gridbox-item:nth-child(2){grid-area:tile2}.lae-posts-gridbox-slider-style-1 .lae-posts-gridbox .lae-posts-gridbox-item:nth-child(3){grid-area:tile3}@media (min-width:760px){.lae-posts-gridbox-slider-style-1 .lae-posts-gridbox{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:'tile1 tile1' 'tile2 tile3';grid-gap:2px}}@media (min-width:1024px){.lae-posts-gridbox-slider-style-1 .lae-posts-gridbox{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;grid-template-areas:'tile1 tile1 tile2 tile2' 'tile1 tile1 tile3 tile3';grid-gap:2px}}.lae-posts-gridbox-slider-style-2 .lae-posts-gridbox{display:grid;grid-gap:1px;grid-template-columns:1fr;grid-template-areas:'tile1' 'tile1' 'tile2' 'tile3' 'tile4' 'tile5'}.lae-posts-gridbox-slider-style-2 .lae-posts-gridbox .lae-posts-gridbox-item:nth-child(1){grid-area:tile1}.lae-posts-gridbox-slider-style-2 .lae-posts-gridbox .lae-posts-gridbox-item:nth-child(2){grid-area:tile2}.lae-posts-gridbox-slider-style-2 .lae-posts-gridbox .lae-posts-gridbox-item:nth-child(3){grid-area:tile3}.lae-posts-gridbox-slider-style-2 .lae-posts-gridbox .lae-posts-gridbox-item:nth-child(4){grid-area:tile4}.lae-posts-gridbox-slider-style-2 .lae-posts-gridbox .lae-posts-gridbox-item:nth-child(5){grid-area:tile5}@media (min-width:760px){.lae-posts-gridbox-slider-style-2 .lae-posts-gridbox{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:'tile1 tile1' 'tile1 tile1' 'tile2 tile3' 'tile4 tile5';grid-gap:2px}}@media (min-width:1024px){.lae-posts-gridbox-slider-style-2 .lae-posts-gridbox{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;grid-template-areas:'tile1 tile1 tile2 tile3' 'tile1 tile1 tile4 tile5';grid-gap:2px}}.lae-posts-gridbox-slider-style-3 .lae-posts-gridbox{display:grid;grid-gap:1px;grid-template-columns:1fr;grid-template-areas:'tile1' 'tile2' 'tile3' 'tile4' 'tile5'}.lae-posts-gridbox-slider-style-3 .lae-posts-gridbox .lae-posts-gridbox-item:nth-child(1){grid-area:tile1}.lae-posts-gridbox-slider-style-3 .lae-posts-gridbox .lae-posts-gridbox-item:nth-child(2){grid-area:tile2}.lae-posts-gridbox-slider-style-3 .lae-posts-gridbox .lae-posts-gridbox-item:nth-child(3){grid-area:tile3}.lae-posts-gridbox-slider-style-3 .lae-posts-gridbox .lae-posts-gridbox-item:nth-child(4){grid-area:tile4}.lae-posts-gridbox-slider-style-3 .lae-posts-gridbox .lae-posts-gridbox-item:nth-child(5){grid-area:tile5}.lae-posts-gridbox-slider-style-3 .lae-posts-gridbox .lae-posts-gridbox-item .lae-post-text .lae-post-content .lae-post-summary{display:none}@media (min-width:760px){.lae-posts-gridbox-slider-style-3 .lae-posts-gridbox{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:'tile1 tile1' 'tile2 tile3' 'tile4 tile5';grid-gap:2px}}@media (min-width:1024px){.lae-posts-gridbox-slider-style-3 .lae-posts-gridbox{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr;grid-template-areas:'tile1 tile1 tile1 tile2 tile2 tile2' 'tile3 tile3 tile4 tile4 tile5 tile5';grid-gap:2px}.lae-posts-gridbox-slider-style-3 .lae-posts-gridbox .lae-posts-gridbox-item .lae-post-text .lae-post-content .lae-post-summary{display:block}}.lae-posts-multislider-style-1 .lae-post-featured-img-bg{margin-bottom:0}.lae-posts-multislider-style-1 .lae-posts-multislider-item .lae-post-overlay.lae-post-featured-img-bg::before{position:absolute;z-index:0;left:0;top:0;right:0;bottom:0;content:'';background-color:transparent;-webkit-transition:all .2s linear;transition:all .2s linear}.lae-posts-multislider-style-1 .lae-posts-multislider-item.lae-align-middle-center .lae-post-overlay.lae-post-featured-img-bg::before,.lae-posts-multislider-style-1 .lae-posts-multislider-item.lae-align-middle-left .lae-post-overlay.lae-post-featured-img-bg::before,.lae-posts-multislider-style-1 .lae-posts-multislider-item.lae-align-middle-right .lae-post-overlay.lae-post-featured-img-bg::before{background-color:rgba(40,40,40,.125)}.lae-posts-multislider-style-1 .lae-posts-multislider-item.lae-align-top-center .lae-post-overlay.lae-post-featured-img-bg::before,.lae-posts-multislider-style-1 .lae-posts-multislider-item.lae-align-top-left .lae-post-overlay.lae-post-featured-img-bg::before,.lae-posts-multislider-style-1 .lae-posts-multislider-item.lae-align-top-right .lae-post-overlay.lae-post-featured-img-bg::before{background-image:-webkit-gradient(linear,left top,left bottom,from(#121928),color-stop(30%,rgba(18,25,42,0)));background-image:linear-gradient(180deg,#121928 0,rgba(18,25,42,0) 30%)}.lae-posts-multislider-style-1 .lae-posts-multislider-item.lae-align-bottom-center .lae-post-overlay.lae-post-featured-img-bg::before,.lae-posts-multislider-style-1 .lae-posts-multislider-item.lae-align-bottom-left .lae-post-overlay.lae-post-featured-img-bg::before,.lae-posts-multislider-style-1 .lae-posts-multislider-item.lae-align-bottom-right .lae-post-overlay.lae-post-featured-img-bg::before{background-image:-webkit-gradient(linear,left bottom,left top,from(#121928),color-stop(30%,rgba(18,25,42,0)));background-image:linear-gradient(0deg,#121928 0,rgba(18,25,42,0) 30%)}.lae-slider-arrow-placement-bottom-left .lae-posts-multislider-style-2 button.slick-next,.lae-slider-arrow-placement-bottom-left .lae-posts-multislider-style-2 button.slick-prev,.lae-slider-arrow-placement-bottom-left .lae-posts-multislider-style-3 button.slick-next,.lae-slider-arrow-placement-bottom-left .lae-posts-multislider-style-3 button.slick-prev,.lae-slider-arrow-placement-bottom-right .lae-posts-multislider-style-2 button.slick-next,.lae-slider-arrow-placement-bottom-right .lae-posts-multislider-style-2 button.slick-prev,.lae-slider-arrow-placement-bottom-right .lae-posts-multislider-style-3 button.slick-next,.lae-slider-arrow-placement-bottom-right .lae-posts-multislider-style-3 button.slick-prev{bottom:-35px}.lae-slider-arrow-placement-middle-center .lae-posts-multislider-style-3 button.slick-next,.lae-slider-arrow-placement-middle-center .lae-posts-multislider-style-3 button.slick-prev{margin-top:-6px}.lae-posts-multislider-style-3 .lae-post-featured-img-bg{margin-bottom:0;border-radius:5px 5px 0 0}.lae-posts-multislider-style-3 .lae-post-text-wrap{padding:25px;border:1px solid #e4e4e4;-webkit-box-shadow:0 3px 12px 0 rgba(0,0,0,.03);box-shadow:0 3px 12px 0 rgba(0,0,0,.03);border-radius:0 0 5px 5px;margin-bottom:12px}.lae-pricing-table{clear:both}.lae-pricing-table .lae-pricing-plan{float:left;padding:10px}.lae-pricing-table{padding:0}.lae-pricing-table .lae-top-header{padding:15px 0;background-color:#494949;border-bottom:1px solid #2c2b2b}.lae-pricing-table .lae-top-header .lae-plan-name{font-size:18px;line-height:26px;letter-spacing:1px;font-weight:700;color:#333;text-transform:uppercase;clear:none;margin-top:0;margin-bottom:10px;font-size:20px;line-height:32px;color:#fefefe;margin:0}.lae-pricing-table .lae-top-header img{margin-top:15px}.lae-pricing-table .lae-top-header .lae-tagline{display:block;font-size:15px;line-height:24px;color:#ededed;text-transform:none;text-align:center;margin-bottom:5px}.lae-pricing-table .lae-pricing-plan{background:#fff;padding:0;-webkit-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;-webkit-transition:all .1s ease-in-out 0s;transition:all .1s ease-in-out 0s;margin-bottom:20px}.lae-pricing-table .lae-pricing-plan:hover .lae-purchase{background:#e5e5e5}.lae-pricing-table .lae-pricing-plan .lae-plan-price{color:#fff;font-size:22px;line-height:28px;font-weight:700;margin:0}.lae-pricing-table .lae-pricing-plan .lae-plan-price span{font-size:22px;line-height:32px}.lae-pricing-table .lae-plan-header{padding:30px 0 30px;background-color:#494949}.lae-pricing-table .lae-plan-price .lae-text{display:inline-block;padding:6px 25px;border-radius:25px;background:#2c2b2b}.lae-pricing-table .lae-plan-price sup{font-size:18px;line-height:32px;vertical-align:top;margin-right:2px;position:static}.lae-pricing-table .lae-plan-details{padding:15px 0;margin:0;border:1px solid #eee}.lae-pricing-table .lae-plan-details .lae-pricing-item{list-style:none;display:block;padding:6px;margin:0;-webkit-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;text-align:center}.lae-pricing-table .lae-plan-details .lae-pricing-item i{color:#777;font-size:18px;display:inline;margin-right:8px}.lae-pricing-table .lae-plan-details .lae-pricing-item .lae-title{color:#838383;margin-bottom:10px}.lae-pricing-table .lae-plan-details .lae-pricing-item .lae-value-wrap{display:block}.lae-pricing-table .lae-plan-details .lae-pricing-item .lae-value-wrap:after{position:relative;content:"";background:#ddd;width:120px;height:1px;display:block;margin:12px auto 0}.lae-pricing-table .lae-plan-details .lae-pricing-item .lae-value{color:#444;font-size:24px;line-height:32px;display:inline}.lae-pricing-table .lae-plan-details .lae-pricing-item s{color:#b4c9d3}.lae-pricing-table .lae-plan-details .lae-pricing-item:last-child .lae-value-wrap:after{display:none}.lae-pricing-table .lae-purchase{text-align:center;text-transform:uppercase;padding:15px;margin:0 auto;background:#f1f1f1;-webkit-transition:all .1s ease-in-out 0s;transition:all .1s ease-in-out 0s;border-left:1px solid #eee;border-right:1px solid #eee;border-bottom:1px solid #eee}.lae-pricing-table .lae-purchase a{padding:12px 25px;border-radius:5px;letter-spacing:0;font-size:16px;line-height:24px;letter-spacing:6px;font-weight:700}.lae-pricing-table .lae-pricing-plan.lae-highlight{background:#f5f5f5;margin-top:-10px}.lae-pricing-table .lae-pricing-plan.lae-highlight .lae-plan-details{border-color:#e5e5e5}.lae-pricing-table .lae-pricing-plan.lae-highlight .lae-top-header{padding:20px 0}.lae-pricing-table .lae-pricing-plan.lae-highlight .lae-pricing-table .lae-top-header .lae-plan-name{color:#28c2ba}.lae-pricing-table .lae-pricing-plan.lae-highlight .lae-purchase{padding:20px 0;background-color:#e5e5e5;border-color:#ddd}.lae-services{clear:both}.lae-services .lae-service{margin-bottom:20px}.lae-services .lae-service .lae-icon-wrapper i{-webkit-transition:color .4s ease-in-out 0s;transition:color .4s ease-in-out 0s}.lae-services .lae-service .lae-icon-wrapper i:hover{color:#555}.lae-dark-bg .lae-services .lae-service .lae-icon-wrapper i:hover{color:#d5d5d5}.lae-services .lae-service .lae-service-text{font-size:15px;line-height:24px}.lae-dark-bg .lae-services .lae-service .lae-service-text{color:rgba(255,255,255,.7)}.lae-dark-bg .lae-services .lae-service .lae-service-text .lae-title{color:#fff}.lae-dark-bg .lae-services .lae-service .lae-service-text .lae-service-details{color:rgba(255,255,255,.7)}.lae-services .lae-service .lae-service-text .lae-title-link .lae-title{-webkit-transition:color .3s ease-in-out 0s;transition:color .3s ease-in-out 0s}.lae-services .lae-service .lae-service-text .lae-title-link:hover .lae-title{color:#666}.lae-dark-bg .lae-services .lae-service .lae-service-text .lae-title-link:hover .lae-title{color:rgba(255,255,255,.7)}.lae-services-style1 .lae-service .lae-icon-wrapper i{display:block;text-align:center;font-size:96px;line-height:1;margin-bottom:20px;-webkit-transition:color .4s ease-in-out 0s;transition:color .4s ease-in-out 0s;color:#888}.lae-dark-bg .lae-services-style1 .lae-service .lae-icon-wrapper i{color:#a5a5a5}.lae-dark-bg .lae-services-style1 .lae-service .lae-icon-wrapper i:hover{color:#c5c5c5}.lae-services-style1 .lae-service .lae-image-wrapper img{display:block;max-width:100%;text-align:center;margin:0 auto 25px;-webkit-transition:all .4s ease-in-out 0s;transition:all .4s ease-in-out 0s}.lae-services-style1 .lae-service .lae-service-text{text-align:center;max-width:300px;margin:0 auto}.lae-services-style1 .lae-service .lae-service-text .lae-title{font-size:18px;line-height:26px;letter-spacing:1px;font-weight:700;color:#333;text-transform:uppercase;clear:none;margin-top:0;margin-bottom:10px;margin-bottom:20px}.lae-services-style1 .lae-service:hover .lae-image-wrapper img{-webkit-transform:scale(.9,.9);transform:scale(.9,.9)}.lae-services-style2 .lae-service .lae-icon-wrapper i,.lae-services-style2 .lae-service .lae-image-wrapper img{float:left;margin-right:18px;color:#888}.rtl .lae-services-style2 .lae-service .lae-icon-wrapper i,.rtl .lae-services-style2 .lae-service .lae-image-wrapper img{float:right;margin:0 0 0 18px}.lae-dark-bg .lae-services-style2 .lae-service .lae-icon-wrapper i,.lae-dark-bg .lae-services-style2 .lae-service .lae-image-wrapper img{color:#a5a5a5}.lae-dark-bg .lae-services-style2 .lae-service .lae-icon-wrapper i:hover,.lae-dark-bg .lae-services-style2 .lae-service .lae-image-wrapper img:hover{color:#c5c5c5}.lae-services-style2 .lae-service .lae-icon-wrapper i{font-size:24px;line-height:32px}.lae-services-style2 .lae-service .lae-service-text .lae-title{font-size:18px;line-height:26px;letter-spacing:1px;font-weight:700;color:#333;text-transform:uppercase;clear:none;margin-top:0;margin-bottom:10px;margin-bottom:20px}.lae-services-style3 .lae-service .lae-icon-wrapper i{display:block;text-align:left;font-size:80px;line-height:1;margin-bottom:25px;color:#555}.rtl .lae-services-style3 .lae-service .lae-icon-wrapper i{text-align:right}.lae-services-style3 .lae-service .lae-icon-wrapper i:hover{color:#888}.lae-dark-bg .lae-services-style3 .lae-service .lae-icon-wrapper i{color:#c5c5c5}.lae-dark-bg .lae-services-style3 .lae-service .lae-icon-wrapper i:hover{color:#e5e5e5}.lae-services-style3 .lae-service .lae-image-wrapper img{display:block;max-width:100%;text-align:left;margin-bottom:25px}.lae-services-style3 .lae-service .lae-service-text{text-align:left;max-width:300px;margin:0;font-size:14px;line-height:26px;color:#888}.rtl .lae-services-style3 .lae-service .lae-service-text{text-align:right}.lae-services-style3 .lae-service .lae-service-text ul.lae-services-list{padding:0;margin:0;border:none}.lae-services-style3 .lae-service .lae-service-text ul.lae-services-list li{border-bottom:1px solid #eee;position:relative;padding:0;margin:0;list-style:none;line-height:42px}.lae-services-style3 .lae-service .lae-service-text ul.lae-services-list li:hover{padding:0}.lae-dark-bg .lae-services-style3 .lae-service .lae-service-text ul.lae-services-list li{border-color:#333}.lae-services-style3 .lae-service .lae-service-text ul.lae-services-list li:before{font-family:lae-icomoon!important;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;position:relative;display:inline-block;height:auto;width:auto;background:0 0;float:none;vertical-align:middle;margin:0 15px 0 0;content:"\e917";color:#bbb;font-size:12px;line-height:1}.rtl .lae-services-style3 .lae-service .lae-service-text ul.lae-services-list li:before{display:none}.lae-dark-bg .lae-services-style3 .lae-service .lae-service-text ul.lae-services-list li:before{color:#606060}.lae-services-style3 .lae-service .lae-service-text .lae-title{font-size:18px;line-height:26px;letter-spacing:1px;font-weight:700;color:#333;text-transform:uppercase;clear:none;margin-top:0;margin-bottom:10px;margin-bottom:20px}.lae-stats-bars{clear:both}.lae-stats-bars .lae-stats-bar{width:100%;display:block;margin:0 0 18px;overflow:hidden}.lae-stats-bars .lae-stats-bar .lae-stats-title{margin:0;display:block;color:#888;font-style:normal;font-size:15px;text-transform:none;color:#333;font-size:16px;line-height:28px}.lae-stats-bars .lae-stats-bar .lae-stats-title span{margin-left:5px}.rtl .lae-stats-bars .lae-stats-bar .lae-stats-title span{display:inline-block;margin:0 5px 0 0}.lae-dark-bg .lae-stats-bars .lae-stats-bar .lae-stats-title{color:#fff}.lae-stats-bars .lae-stats-bar .lae-stats-bar-wrap{position:relative}.lae-stats-bars .lae-stats-bar .lae-stats-bar-content{background:#e55a54;display:block;height:10px;width:0;position:relative;z-index:1;border-radius:5px}.lae-stats-bars .lae-stats-bar .lae-stats-bar-bg{width:100%;background:rgba(0,0,0,.1);height:10px;display:block;margin-top:-10px;border-radius:5px}.lae-dark-bg .lae-stats-bars .lae-stats-bar .lae-stats-bar-bg{background:rgba(255,255,255,.1)}.lae-tab-slider.slick-slider{clear:both;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column nowrap;flex-flow:column nowrap}.lae-tab-slider .slick-list{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.lae-tab-slider .slick-list .slick-slide .lae-tab-slide-nav{display:none}.lae-tab-slider .slick-dots{list-style:none;margin:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.lae-tab-slider .slick-dots li{list-style:none;margin:0 20px 0 0}.lae-tab-slider .slick-dots li:last-child{margin-right:0}.lae-tab-slider .slick-dots .lae-tab-slide-nav{display:block;text-overflow:ellipsis;white-space:normal;text-decoration:none;border:none;margin:0;outline:0}.lae-tab-slider .slick-dots .lae-tab-slide-nav span.lae-icon-wrapper i{font-size:32px;vertical-align:middle;margin-right:10px;-webkit-transition:color .3s ease-in-out 0s;transition:color .3s ease-in-out 0s}.rtl .lae-tab-slider .slick-dots .lae-tab-slide-nav span.lae-icon-wrapper i{margin:0 0 0 15px}.lae-tab-slider .slick-dots .lae-tab-slide-nav span.lae-image-wrapper img{display:inline-block;vertical-align:middle;height:auto;width:auto;padding:0;margin:0 10px 0 0;border:none}.lae-tab-slider .slick-dots .lae-tab-slide-nav span.lae-tab-title{font-size:14px;line-height:1;font-weight:700;letter-spacing:1px;-webkit-transition:color .3s ease-in-out 0s;transition:color .3s ease-in-out 0s;vertical-align:middle}.lae-tab-slider .lae-tab-slide{position:relative}.lae-tab-slider.lae-style1{background:#f2f2f2;border-radius:5px}.lae-tab-slider.lae-style1 .slick-list .lae-tab-slide .lae-tab-slide-content{padding:40px}.lae-tab-slider.lae-style1 .slick-dots{border-bottom:1px solid #ddd;margin:0 40px;text-align:center}.lae-tab-slider.lae-style1 .slick-dots .lae-tab-slide-nav{position:relative;z-index:1;padding:30px 40px}@media only screen and (max-width:1024px){.lae-tab-slider.lae-style1 .slick-dots .lae-tab-slide-nav{padding:25px 20px}}.lae-tab-slider.lae-style1 .slick-dots .lae-tab-slide-nav:before{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background:0 0;-webkit-transition:background .3s ease-in-out 0s;transition:background .3s ease-in-out 0s}.lae-tab-slider.lae-style1 .slick-dots .lae-tab-slide-nav .lae-tab-title{color:#888;padding:30px 20px;text-transform:uppercase}.lae-tab-slider.lae-style1 .slick-dots .lae-tab-slide-nav:hover .lae-tab-title{color:#565656}.lae-tab-slider.lae-style1 .slick-dots li.slick-active .lae-tab-slide-nav .lae-tab-title{color:#333}.lae-tab-slider.lae-style1 .slick-dots li.slick-active .lae-tab-slide-nav:before{background:#f94213;height:2px}@media only screen and (max-width:767px){.lae-tab-slider.lae-style1 .slick-dots{margin:0 30px}}.lae-tab-slider.lae-style2 .slick-list .lae-tab-slide .lae-tab-slide-content{margin-top:40px;font-size:16px;line-height:27px}.lae-tab-slider.lae-style2 .slick-dots li{margin:0 60px 0 0}.lae-tab-slider.lae-style2 .slick-dots li:last-child{margin-right:0}.lae-tab-slider.lae-style2 .slick-dots .lae-tab-slide-nav{text-align:center}.lae-tab-slider.lae-style2 .slick-dots .lae-tab-slide-nav span.lae-icon-wrapper i{display:block;margin:0 auto;font-size:84px;color:#aaa}.lae-tab-slider.lae-style2 .slick-dots .lae-tab-slide-nav span.lae-image-wrapper img{max-width:none;display:block;margin:0 auto;width:84px}.lae-tab-slider.lae-style2 .slick-dots .lae-tab-slide-nav .lae-tab-title{display:block;color:#999;font-size:16px;line-height:26px;letter-spacing:1px;font-weight:600;margin:20px auto 0;text-transform:uppercase}.lae-tab-slider.lae-style2 .slick-dots .lae-tab-slide-nav:hover span.lae-icon-wrapper i{color:#565656}.lae-tab-slider.lae-style2 .slick-dots .lae-tab-slide-nav:hover .lae-tab-title{color:#747373}.lae-tab-slider.lae-style2 .slick-dots li.slick-active .lae-tab-slide-nav span.lae-icon-wrapper i{color:#747373}.lae-tab-slider.lae-style2 .slick-dots li.slick-active .lae-tab-slide-nav .lae-tab-title{color:#747373}@media only screen and (max-width:1024px){.lae-tab-slider.lae-style2 .slick-dots .lae-tab-slide-nav span.lae-icon-wrapper i{font-size:64px}.lae-tab-slider.lae-style2 .slick-dots .lae-tab-slide-nav span.lae-image-wrapper i{width:64px}.lae-tab-slider.lae-style2 .slick-dots .lae-tab-slide-nav .lae-tab-title{font-size:15px;line-height:24px;letter-spacing:1px}}.lae-tab-slider.lae-style3 .slick-list .lae-tab-slide .lae-tab-slide-content{margin-top:20px;font-size:15px;line-height:26px}.lae-tab-slider.lae-style3 .slick-dots li{margin:0 60px 20px 0}.lae-tab-slider.lae-style3 .slick-dots li:last-child{margin-right:0}.lae-tab-slider.lae-style3 .slick-dots .lae-tab-slide-nav{text-align:center;border-top:2px solid transparent;border-bottom:2px solid transparent;padding:5px 0}.lae-tab-slider.lae-style3 .slick-dots .lae-tab-slide-nav span.lae-icon-wrapper i{color:#aaa}.lae-tab-slider.lae-style3 .slick-dots .lae-tab-slide-nav span.lae-image-wrapper img{width:32px}.lae-tab-slider.lae-style3 .slick-dots .lae-tab-slide-nav .lae-tab-title{color:#999;font-size:15px;line-height:26px;font-weight:600;text-transform:uppercase}.lae-tab-slider.lae-style3 .slick-dots .lae-tab-slide-nav:hover span.lae-icon-wrapper i{color:#565656}.lae-tab-slider.lae-style3 .slick-dots .lae-tab-slide-nav:hover .lae-tab-title{color:#747373}.lae-tab-slider.lae-style3 .slick-dots li.slick-active .lae-tab-slide-nav{border-color:#f94213}.lae-tab-slider.lae-style3 .slick-dots li.slick-active .lae-tab-slide-nav span.lae-icon-wrapper i{color:#747373}.lae-tab-slider.lae-style3 .slick-dots li.slick-active .lae-tab-slide-nav .lae-tab-title{color:#747373}@media only screen and (max-width:767px){.lae-tab-slider.lae-style3 .slick-dots li{margin:0 40px 15px 0}.lae-tab-slider.lae-style3 .slick-dots li:last-child{margin-right:0}.lae-tab-slider.lae-style3 .slick-dots .lae-tab-slide-nav .lae-tab-title{font-size:14px;line-height:22px}}.lae-team-members{clear:both}.lae-team-members .lae-team-member .lae-social-list{margin-top:20px}.lae-team-members .lae-team-member .lae-social-list .lae-social-list-item{display:inline;margin:0 15px 0 0}.lae-team-members .lae-team-member .lae-social-list .lae-social-list-item i{color:#999;-webkit-transition:color .3s ease-in-out 0s;transition:color .3s ease-in-out 0s}.lae-team-members .lae-team-member .lae-social-list .lae-social-list-item i:hover{color:#666}.lae-team-members .lae-team-member .lae-team-member-details{font-size:15px;line-height:24px}.lae-team-members .lae-team-member .lae-team-member-text .lae-title{font-size:18px;line-height:26px;letter-spacing:1px;font-weight:700;color:#333;text-transform:uppercase;clear:none;margin-top:0;margin-bottom:10px}.lae-team-members .lae-team-member .lae-team-member-text .lae-title-link .lae-title{-webkit-transition:color .4s ease-in-out 0s;transition:color .4s ease-in-out 0s}.lae-team-members .lae-team-member .lae-team-member-text .lae-title-link:hover .lae-title{color:#666}.lae-team-members .lae-team-member .lae-team-member-text .lae-team-member-position{font-size:15px;line-height:24px;font-style:italic;color:#888;margin-bottom:10px}.lae-team-members-style1 .lae-team-member{max-width:320px;margin:0 auto}.lae-team-members-style1 .lae-team-member .lae-image-wrapper{text-align:center;position:relative}.lae-team-members-style1 .lae-team-member .lae-image-wrapper img{max-width:100%;margin:0 auto 30px;border-radius:50%;-webkit-transition:all .3s ease-in-out 0s;transition:all .3s ease-in-out 0s}.lae-team-members-style1 .lae-team-member .lae-image-wrapper .lae-social-list{position:absolute;width:100%;top:40%;z-index:2}@media only screen and (max-width:767px){.lae-team-members-style1 .lae-team-member .lae-image-wrapper .lae-social-list{position:relative;top:0}}.lae-team-members-style1 .lae-team-member .lae-image-wrapper .lae-social-list i{font-size:26px;color:#fff;opacity:0;-webkit-transition:all .3s ease-in-out 0s;transition:all .3s ease-in-out 0s}.lae-team-members-style1 .lae-team-member .lae-image-wrapper .lae-social-list i:hover{color:#ccc}@media only screen and (max-width:767px){.lae-team-members-style1 .lae-team-member .lae-image-wrapper .lae-social-list i{color:#999;opacity:1}.lae-dark-bg .lae-team-members-style1 .lae-team-member .lae-image-wrapper .lae-social-list i{color:#888}.lae-team-members-style1 .lae-team-member .lae-image-wrapper .lae-social-list i:hover{color:#666}.lae-dark-bg .lae-team-members-style1 .lae-team-member .lae-image-wrapper .lae-social-list i:hover{color:#ccc}}.lae-team-members-style1 .lae-team-member:hover .lae-image-wrapper img{-webkit-filter:brightness(50%);filter:brightness(50%)}@media only screen and (max-width:767px){.lae-team-members-style1 .lae-team-member:hover .lae-image-wrapper img{-webkit-filter:brightness(80%);filter:brightness(80%)}}.lae-team-members-style1 .lae-team-member:hover .lae-image-wrapper .lae-social-list i{opacity:1}.lae-team-members-style1 .lae-team-member .lae-team-member-text{text-align:center;max-width:650px}.lae-team-members-style1 .lae-team-member .lae-team-member-text .lae-title{margin-bottom:10px}.lae-team-members-style1 .lae-team-member .lae-social-list{margin:10px auto}.lae-team-members-style2{position:relative;max-width:960px}.lae-team-members-style2 .lae-team-member-wrapper{margin-top:75px}.lae-team-members-style2 .lae-team-member-wrapper .lae-team-member{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.lae-team-members-style2 .lae-team-member-wrapper .lae-team-member .lae-image-wrapper{text-align:center;position:relative}.lae-team-members-style2 .lae-team-member-wrapper .lae-team-member .lae-image-wrapper img{max-width:320px;margin:0 auto 20px;border-radius:50%;-webkit-transition:all .3s ease-in-out 0s;transition:all .3s ease-in-out 0s}.lae-team-members-style2 .lae-team-member-wrapper .lae-team-member .lae-team-member-text{max-width:400px;margin:0 auto;text-align:center}@media only screen and (min-width:768px){.lae-team-members-style2 .lae-team-member-wrapper{margin-top:100px}.lae-team-members-style2 .lae-team-member-wrapper .lae-team-member{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.lae-team-members-style2 .lae-team-member-wrapper .lae-team-member .lae-team-member-text{max-width:100%}.lae-team-members-style2 .lae-team-member-wrapper:nth-child(odd) .lae-image-wrapper{margin-right:50px;-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.lae-team-members-style2 .lae-team-member-wrapper:nth-child(odd) .lae-team-member-text{text-align:left}.lae-team-members-style2 .lae-team-member-wrapper:nth-child(even) .lae-image-wrapper{margin-left:50px;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.lae-team-members-style2 .lae-team-member-wrapper:nth-child(even) .lae-team-member-text{text-align:right}}.lae-team-members-style2 .lae-team-member-wrapper:first-child{margin-top:0}.lae-team-members-style2 .lae-team-member-wrapper .lae-team-member-text .lae-title{margin-bottom:5px}.lae-team-members-style2 .lae-team-member-wrapper .lae-team-member-text .lae-team-member-details{margin:10px 0 10px}.lae-team-members-style2 .lae-team-member-wrapper .lae-team-member-text .lae-social-list i{font-size:24px}.lae-team-members-style2 .lae-team-member-wrapper:hover .lae-image-wrapper img{-webkit-filter:brightness(80%);filter:brightness(80%)}.lae-dark-bg .lae-team-members .lae-team-member .lae-team-member-details{color:rgba(255,255,255,.7)}.lae-dark-bg .lae-team-members .lae-team-member .lae-team-member-text .lae-title,.lae-dark-bg .lae-team-members .lae-team-member .lae-team-member-text .lae-title-link .lae-title{color:#fff}.lae-dark-bg .lae-team-members .lae-team-member .lae-team-member-text .lae-title-link:hover .lae-title{color:rgba(255,255,255,.7)}.lae-dark-bg .lae-team-members .lae-team-member .lae-team-member-text .lae-team-member-position{color:rgba(255,255,255,.5)}.lae-dark-bg .lae-team-members .lae-team-member .lae-team-member-text .lae-social-list i{color:#aaa}.lae-dark-bg .lae-team-members .lae-team-member .lae-team-member-text .lae-social-list i:hover{color:#ccc}.lae-testimonials-slider{clear:both;position:relative}.lae-testimonials-slider.lae-container{max-width:900px;margin:0 auto}.lae-testimonials-slider .lae-testimonial .lae-testimonial-star-rating{padding:0;margin:0 0 10px 0}.lae-testimonials-slider .lae-testimonial .lae-testimonial-star-rating .lae-testimonial-star-rating-item{display:inline-block}.lae-testimonials-slider .lae-testimonial .lae-testimonial-star-rating .lae-testimonial-star-rating-item svg{fill:#d8d8d8}.lae-testimonials-slider .lae-testimonial.lae-rating-five .lae-testimonial-star-rating .lae-testimonial-star-rating-item svg{fill:#f2b01e}.lae-testimonials-slider .lae-testimonial.lae-rating-one .lae-testimonial-star-rating .lae-testimonial-star-rating-item:first-child svg{fill:#f2b01e}.lae-testimonials-slider .lae-testimonial.lae-rating-two .lae-testimonial-star-rating .lae-testimonial-star-rating-item:nth-child(1) svg,.lae-testimonials-slider .lae-testimonial.lae-rating-two .lae-testimonial-star-rating .lae-testimonial-star-rating-item:nth-child(2) svg{fill:#f2b01e}.lae-testimonials-slider .lae-testimonial.lae-rating-three .lae-testimonial-star-rating .lae-testimonial-star-rating-item:nth-child(1) svg,.lae-testimonials-slider .lae-testimonial.lae-rating-three .lae-testimonial-star-rating .lae-testimonial-star-rating-item:nth-child(2) svg,.lae-testimonials-slider .lae-testimonial.lae-rating-three .lae-testimonial-star-rating .lae-testimonial-star-rating-item:nth-child(3) svg{fill:#f2b01e}.lae-testimonials-slider .lae-testimonial.lae-rating-four .lae-testimonial-star-rating .lae-testimonial-star-rating-item:nth-child(1) svg,.lae-testimonials-slider .lae-testimonial.lae-rating-four .lae-testimonial-star-rating .lae-testimonial-star-rating-item:nth-child(2) svg,.lae-testimonials-slider .lae-testimonial.lae-rating-four .lae-testimonial-star-rating .lae-testimonial-star-rating-item:nth-child(3) svg,.lae-testimonials-slider .lae-testimonial.lae-rating-four .lae-testimonial-star-rating .lae-testimonial-star-rating-item:nth-child(4) svg{fill:#f2b01e}.lae-testimonials-slider .lae-testimonial .lae-testimonial-text{text-align:center;max-width:750px;margin:0 auto 40px;font-size:18px;line-height:32px;font-style:italic;color:#666}.lae-dark-bg .lae-testimonials-slider .lae-testimonial .lae-testimonial-text{color:#ccc}.lae-testimonials-slider .lae-testimonial .lae-testimonial-text i{color:#ccc;font-size:32px;display:block;margin-bottom:35px;background:0 0;width:auto;height:auto}.lae-dark-bg .lae-testimonials-slider .lae-testimonial .lae-testimonial-text i{color:#ddd}.lae-testimonials-slider .lae-testimonial .lae-testimonial-user{display:table;margin:0 auto}.lae-testimonials-slider .lae-testimonial .lae-testimonial-user .lae-image-wrapper{display:table-cell}.lae-testimonials-slider .lae-testimonial .lae-testimonial-user .lae-image-wrapper img{max-width:64px;border-radius:50%;margin-right:15px}.rtl .lae-testimonials-slider .lae-testimonial .lae-testimonial-user .lae-image-wrapper img{margin:0 0 0 15px}.lae-testimonials-slider .lae-testimonial .lae-testimonial-user .lae-user-text{display:table-cell;vertical-align:middle;color:#888}.lae-dark-bg .lae-testimonials-slider .lae-testimonial .lae-testimonial-user .lae-user-text{color:#909090}.lae-testimonials-slider .lae-testimonial .lae-testimonial-user .lae-user-text .lae-author-name{font-size:18px;line-height:26px;letter-spacing:1px;font-weight:700;color:#333;text-transform:uppercase;clear:none;margin-top:0;margin-bottom:10px;font-size:15px;line-height:24px;margin-bottom:5px}.lae-dark-bg .lae-testimonials-slider .lae-testimonial .lae-testimonial-user .lae-user-text .lae-author-name{color:#e5e5e5}.lae-testimonials{clear:both}.lae-testimonials .lae-testimonial{margin-bottom:20px}.lae-testimonials .lae-testimonial .lae-testimonial-star-rating{padding:0;margin:0}.lae-testimonials .lae-testimonial .lae-testimonial-star-rating .lae-testimonial-star-rating-item{display:inline-block}.lae-testimonials .lae-testimonial .lae-testimonial-star-rating .lae-testimonial-star-rating-item svg{fill:#d8d8d8}.lae-testimonials .lae-testimonial.lae-rating-five .lae-testimonial-star-rating .lae-testimonial-star-rating-item svg{fill:#f2b01e}.lae-testimonials .lae-testimonial.lae-rating-one .lae-testimonial-star-rating .lae-testimonial-star-rating-item:first-child svg{fill:#f2b01e}.lae-testimonials .lae-testimonial.lae-rating-two .lae-testimonial-star-rating .lae-testimonial-star-rating-item:nth-child(1) svg,.lae-testimonials .lae-testimonial.lae-rating-two .lae-testimonial-star-rating .lae-testimonial-star-rating-item:nth-child(2) svg{fill:#f2b01e}.lae-testimonials .lae-testimonial.lae-rating-three .lae-testimonial-star-rating .lae-testimonial-star-rating-item:nth-child(1) svg,.lae-testimonials .lae-testimonial.lae-rating-three .lae-testimonial-star-rating .lae-testimonial-star-rating-item:nth-child(2) svg,.lae-testimonials .lae-testimonial.lae-rating-three .lae-testimonial-star-rating .lae-testimonial-star-rating-item:nth-child(3) svg{fill:#f2b01e}.lae-testimonials .lae-testimonial.lae-rating-four .lae-testimonial-star-rating .lae-testimonial-star-rating-item:nth-child(1) svg,.lae-testimonials .lae-testimonial.lae-rating-four .lae-testimonial-star-rating .lae-testimonial-star-rating-item:nth-child(2) svg,.lae-testimonials .lae-testimonial.lae-rating-four .lae-testimonial-star-rating .lae-testimonial-star-rating-item:nth-child(3) svg,.lae-testimonials .lae-testimonial.lae-rating-four .lae-testimonial-star-rating .lae-testimonial-star-rating-item:nth-child(4) svg{fill:#f2b01e}.lae-testimonials .lae-testimonial .lae-testimonial-text{font-size:15px;line-height:24px}.lae-dark-bg .lae-testimonials .lae-testimonial .lae-testimonial-text{color:rgba(255,255,255,.7)}.lae-testimonials .lae-testimonial .lae-testimonial-user .lae-user-text{color:#888;font-size:15px;line-height:24px}.lae-dark-bg .lae-testimonials .lae-testimonial .lae-testimonial-user .lae-user-text{color:rgba(255,255,255,.5)}.lae-testimonials .lae-testimonial .lae-testimonial-user .lae-user-text .lae-author-name{font-size:15px;line-height:24px;letter-spacing:1px;font-weight:700;text-transform:uppercase;color:#333}.lae-dark-bg .lae-testimonials .lae-testimonial .lae-testimonial-user .lae-user-text .lae-author-name{color:#fff}.lae-testimonials-style1 .lae-testimonial-user,.lae-testimonials-style2 .lae-testimonial-user{display:table}.lae-testimonials-style1 .lae-testimonial-user .lae-image-wrapper,.lae-testimonials-style2 .lae-testimonial-user .lae-image-wrapper{display:table-cell}.lae-testimonials-style1 .lae-testimonial-user .lae-image-wrapper img,.lae-testimonials-style2 .lae-testimonial-user .lae-image-wrapper img{max-width:64px;border-radius:50%;margin-right:20px}.rtl .lae-testimonials-style1 .lae-testimonial-user .lae-image-wrapper img,.rtl .lae-testimonials-style2 .lae-testimonial-user .lae-image-wrapper img{margin:0 0 0 20px}.lae-testimonials-style1 .lae-testimonial-user .lae-user-text,.lae-testimonials-style2 .lae-testimonial-user .lae-user-text{display:table-cell;vertical-align:middle}.lae-testimonials-style1 .lae-testimonial-user .lae-user-text .lae-author-name,.lae-testimonials-style2 .lae-testimonial-user .lae-user-text .lae-author-name{margin:0 0 5px 0}.lae-testimonials-style1 .lae-testimonial .lae-testimonial-star-rating{margin:0 0 15px 0}.lae-testimonials-style1 .lae-testimonial .lae-testimonial-text{background:#fff;border:1px solid #dbdbdb;border-radius:30px;text-align:center;position:relative;padding:20px;margin-bottom:40px;font-style:italic;text-align:center;max-width:450px}.lae-dark-bg .lae-testimonials-style1 .lae-testimonial .lae-testimonial-text{color:#666;background:#eee}.lae-testimonials-style1 .lae-testimonial .lae-testimonial-text:after{content:'';display:block;background:#fff;border-left:1px solid #dbdbdb;border-bottom:1px solid #dbdbdb;background:#fff;transform:rotate(45deg);-webkit-transform:rotate(45deg);transform:skew(0deg,-44deg);width:24px;height:24px;position:absolute;bottom:-12px;left:40px;margin:auto}.rtl .lae-testimonials-style1 .lae-testimonial .lae-testimonial-text:after{left:auto;right:40px}.lae-dark-bg .lae-testimonials-style1 .lae-testimonial .lae-testimonial-text:after{background:#eee}.lae-testimonials-style2 .lae-testimonial .lae-testimonial-star-rating{margin:0 0 10px 0}.lae-testimonials-style2 .lae-testimonial .lae-testimonial-text{margin-top:20px}.lae-testimonials-style2 .lae-testimonial:not(.lae-rating-none) .lae-testimonial-text{margin-top:15px}.lae-testimonials-style3 .lae-testimonial .lae-testimonial-star-rating{margin:0 0 15px 0}.lae-testimonials-style3 .lae-testimonial .lae-testimonial-text{background:#e2e2e2;border:1px solid #e2e2e2;border-radius:10px;text-align:center;position:relative;padding:30px 15px;margin-bottom:40px;color:#444;max-width:450px;text-align:center;max-width:450px}.lae-dark-bg .lae-testimonials-style3 .lae-testimonial .lae-testimonial-text{color:#666;background:#eee}.lae-testimonials-style3 .lae-testimonial .lae-testimonial-text:after{content:"";position:absolute;top:100%;left:50%;margin:auto;margin-left:-15px;border-top:20px solid #e2e2e2;border-top-color:inherit;border-left:15px solid transparent;border-right:15px solid transparent}.lae-dark-bg .lae-testimonials-style3 .lae-testimonial .lae-testimonial-text:after{border-top-color:#eee}.lae-testimonials-style3 .lae-testimonial .lae-testimonial-user{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.lae-testimonials-style3 .lae-testimonial .lae-testimonial-user .lae-image-wrapper img{max-width:64px;border-radius:50%}.lae-testimonials-style3 .lae-testimonial .lae-testimonial-user .lae-user-text{text-align:center}.lae-testimonials-style3 .lae-testimonial .lae-testimonial-user .lae-user-text .lae-author-name{margin:15px 0 5px 0}.lae-testimonials-style4 .lae-testimonial{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;max-width:720px;margin:24px 0}.lae-testimonials-style4 .lae-testimonial .lae-testimonial-user-picture .lae-image-wrapper{position:relative;overflow:hidden;border-radius:50%;margin-right:32px}@media only screen and (max-width:640px){.lae-testimonials-style4 .lae-testimonial .lae-testimonial-user-picture .lae-image-wrapper{margin-right:25px}}.lae-testimonials-style4 .lae-testimonial .lae-testimonial-user-picture .lae-image-wrapper img{max-width:120px}@media only screen and (max-width:640px){.lae-testimonials-style4 .lae-testimonial .lae-testimonial-user-picture .lae-image-wrapper img{max-width:72px}}.lae-testimonials-style4 .lae-testimonial .lae-testimonial-info{text-align:left}.lae-testimonials-style4 .lae-testimonial .lae-testimonial-info .lae-testimonial-star-rating{margin-bottom:5px}.lae-testimonials-style4 .lae-testimonial .lae-testimonial-info .lae-user-text .lae-author-name{margin:15px 0 5px 0}
|
1 |
+
@charset "UTF-8";.lae-animated-text{font-size:28px;line-height:1.2;font-weight:700;display:-webkit-box;display:-ms-flexbox;display:flex}.lae-animated-text.lae-align-left{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.lae-animated-text.lae-align-right{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.lae-animated-text.lae-align-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.lae-animated-text .lae-animated-text-items{display:grid;padding:0 10px}.lae-animated-text .lae-animated-text-items .lae-animated-text-item{grid-area:1/1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.lae-animated-text .lae-animated-text-items .lae-animated-text-item span{display:block;position:relative;white-space:pre;opacity:0;display:none}.lae-animated-text .lae-animated-text-items .lae-animated-text-item.lae-visible span{display:block}.lae-carousel .lae-carousel-item{position:relative}.lae-carousel.lae-container{max-width:none}.lae-clients .lae-client{position:relative;border:1px solid #ddd;overflow:hidden}.lae-dark-bg .lae-clients .lae-client{border-color:#505050!important}.lae-clients .lae-client img{-webkit-transition:all .3s ease-in-out 0s;transition:all .3s ease-in-out 0s;width:100%;margin:0;display:block}.lae-clients .lae-client .lae-client-name{position:absolute;z-index:2;top:50%;left:0;text-align:center;width:100%;height:100%;margin-top:-12px;color:#fff;font-size:18px;line-height:26px;-webkit-transition:opacity .4s ease-in-out 0s;transition:opacity .4s ease-in-out 0s;opacity:0}.lae-clients .lae-client .lae-client-name a{color:#fff;text-decoration:none}.lae-clients .lae-client .lae-image-overlay{position:absolute;left:0;top:0;overflow:hidden;width:100%;height:100%;background:#000;-moz-opacity:0;opacity:0;-webkit-transition:opacity .4s ease-in-out 0s;transition:opacity .4s ease-in-out 0s}.lae-clients .lae-client:hover .lae-image-overlay{opacity:.7}.lae-dark-bg .lae-clients .lae-client:hover .lae-image-overlay{opacity:.8}.lae-clients .lae-client:hover .lae-client-name{opacity:1}.lae-heading.lae-style3{margin:0 auto 30px}.lae-heading.lae-style3 .lae-title{font-size:22px;line-height:32px;text-transform:uppercase;letter-spacing:1px}.lae-heading.lae-style3 .lae-title:after{width:35px;height:1px;background:#aaa;display:block;content:""}.lae-heading.lae-style3 .lae-title:after{margin:10px auto 20px}.lae-dark-bg .lae-heading.lae-style3 .lae-title:after{background:rgba(255,255,255,.5)}@media only screen and (max-width:767px){.lae-heading.lae-style3 .lae-title{font-size:16px;line-height:24px}}.lae-heading.lae-style3.lae-alignleft,.lae-heading.lae-style3.lae-alignright{margin:0 0 30px}.lae-heading.lae-style3.lae-alignleft .lae-title:after,.lae-heading.lae-style3.lae-alignright .lae-title:after{margin:10px 0 20px}.lae-message-box-container{-webkit-transition:height .25s cubic-bezier(.06, .51, .48, 11);transition:height .25s cubic-bezier(.06, .51, .48, 11)}.lae-message-box{display:-webkit-box;display:-ms-flexbox;display:flex;padding:40px;background:#d9edf7;-webkit-transition:opacity .2s ease,visibility .2s ease;transition:opacity .2s ease,visibility .2s ease}.lae-message-box.lae-hidden{opacity:0;visibility:hidden}.lae-message-box .lae-icon-wrapper,.lae-message-box .lae-image-wrapper{line-height:1;margin-right:20px}.lae-message-box .lae-icon-wrapper i{color:#748085;font-size:36px}.lae-message-box .lae-message-title{margin:0}.lae-message-box .lae-message-text{margin:0}.lae-message-box .lae-close-icon{position:absolute;right:15px;top:15px;line-height:1;cursor:pointer;-webkit-transition:color .25s ease-in-out;transition:color .25s ease-in-out}.lae-message-box .lae-close-icon i{color:#697073;font-size:24px}.odometer.odometer-auto-theme,.odometer.odometer-theme-default{display:inline-block;vertical-align:middle;position:relative}.odometer.odometer-auto-theme .odometer-digit,.odometer.odometer-theme-default .odometer-digit{display:inline-block;vertical-align:middle;position:relative}.odometer.odometer-auto-theme .odometer-digit .odometer-digit-spacer,.odometer.odometer-theme-default .odometer-digit .odometer-digit-spacer{display:inline-block;vertical-align:middle;visibility:hidden}.odometer.odometer-auto-theme .odometer-digit .odometer-digit-inner,.odometer.odometer-theme-default .odometer-digit .odometer-digit-inner{text-align:left;display:block;position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden}.odometer.odometer-auto-theme .odometer-digit .odometer-ribbon,.odometer.odometer-theme-default .odometer-digit .odometer-ribbon{display:block}.odometer.odometer-auto-theme .odometer-digit .odometer-ribbon-inner,.odometer.odometer-theme-default .odometer-digit .odometer-ribbon-inner{display:block;-webkit-backface-visibility:hidden}.odometer.odometer-auto-theme .odometer-digit .odometer-value,.odometer.odometer-theme-default .odometer-digit .odometer-value{display:block;-webkit-transform:translateZ(0)}.odometer.odometer-auto-theme .odometer-digit .odometer-value.odometer-last-value,.odometer.odometer-theme-default .odometer-digit .odometer-value.odometer-last-value{position:absolute}.odometer.odometer-auto-theme.odometer-animating-up .odometer-ribbon-inner,.odometer.odometer-theme-default.odometer-animating-up .odometer-ribbon-inner{-webkit-transition:-webkit-transform 2s;transition:-webkit-transform 2s;transition:transform 2s;transition:transform 2s,-webkit-transform 2s}.odometer.odometer-auto-theme.odometer-animating-up.odometer-animating .odometer-ribbon-inner,.odometer.odometer-theme-default.odometer-animating-up.odometer-animating .odometer-ribbon-inner{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.odometer.odometer-auto-theme.odometer-animating-down .odometer-ribbon-inner,.odometer.odometer-theme-default.odometer-animating-down .odometer-ribbon-inner{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.odometer.odometer-auto-theme.odometer-animating-down.odometer-animating .odometer-ribbon-inner,.odometer.odometer-theme-default.odometer-animating-down.odometer-animating .odometer-ribbon-inner{-webkit-transition:-webkit-transform 2s;transition:-webkit-transform 2s;transition:transform 2s;transition:transform 2s,-webkit-transform 2s;-webkit-transform:translateY(0);transform:translateY(0)}.odometer.odometer-auto-theme,.odometer.odometer-theme-default{font-family:"Helvetica Neue",sans-serif;line-height:1.1em}.odometer.odometer-auto-theme .odometer-value,.odometer.odometer-theme-default .odometer-value{text-align:center}.lae-odometers{clear:both;font-size:0}.lae-odometers .lae-odometer{display:inline-block;vertical-align:top;text-align:left;position:relative;margin-bottom:20px}.rtl .lae-odometers .lae-odometer{text-align:right}.lae-odometers .lae-odometer:last-child:after{border:none}.lae-odometers .lae-odometer .lae-prefix,.lae-odometers .lae-odometer .lae-suffix{display:inline;font-size:36px;line-height:48px;color:#333;vertical-align:middle}.lae-dark-bg .lae-odometers .lae-odometer .lae-prefix,.lae-dark-bg .lae-odometers .lae-odometer .lae-suffix{color:#e5e5e5}.lae-odometers .lae-odometer .lae-prefix{margin-right:5px;margin-left:5px}.lae-odometers .lae-odometer .lae-suffix{margin-left:5px}.lae-odometers .lae-odometer .lae-number{font-size:60px;line-height:72px;font-style:normal;text-transform:none;letter-spacing:2px;font-weight:900;color:#333;margin-bottom:10px}.lae-odometers .lae-odometer .lae-number span{font-size:60px}.lae-dark-bg .lae-odometers .lae-odometer .lae-number{color:#fff}.lae-odometers .lae-odometer .lae-stats-title{font-size:18px;line-height:28px;display:inline-block;color:#888}.lae-dark-bg .lae-odometers .lae-odometer .lae-stats-title{color:rgba(255,255,255,.7)}.lae-odometers .lae-odometer .lae-stats-title span{float:left;margin-right:15px}.rtl .lae-odometers .lae-odometer .lae-stats-title span{float:right;margin:0 0 0 15px}.lae-odometers .lae-odometer .lae-stats-title .lae-icon-wrapper i{font-size:32px;vertical-align:middle;color:#ccc}@media only screen and (max-width:960px){.lae-odometers .lae-odometer .lae-number{font-size:48px;line-height:56px;margin-bottom:0}.lae-odometers .lae-odometer .lae-number span{font-size:48px}.lae-odometers .lae-odometer .lae-stats-title{font-size:15px;line-height:26px}}@media only screen and (max-width:479px){.lae-odometers .lae-odometer{text-align:center}}.lae-piecharts{clear:both}.lae-piechart{position:relative;text-align:center;overflow:hidden}.lae-piechart canvas{position:relative;top:0;left:0;max-width:100%;margin:0 auto}.lae-piechart .lae-label{text-align:center;position:absolute;left:0;right:0;margin-left:auto;margin-right:auto;top:55%;max-width:65%;color:#888}.lae-dark-bg .lae-piechart .lae-label{color:rgba(255,255,255,.7)}.lae-piechart .lae-percentage span{position:absolute;top:25%;left:0;right:0;margin-left:auto;margin-right:auto;font-size:60px;line-height:60px;font-weight:300;text-align:center;color:#333;font-weight:bolder}.lae-dark-bg .lae-piechart .lae-percentage span{color:#fff}.lae-piechart .lae-percentage sup{font-size:18px;vertical-align:middle}.lae-piechart.dark-bg .lae-label{color:#fff}.lae-piechart.dark-bg .lae-percentage span{color:#eee}@media only screen and (max-width:479px){.lae-piechart canvas{margin-bottom:15px}}.lae-portfolio-wrap{clear:both;overflow:hidden}.lae-portfolio-wrap .lae-portfolio-header{position:relative;max-width:1140px;margin:0 auto 30px;overflow:hidden;clear:both;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.lae-portfolio-wrap .lae-portfolio-header.lae-no-heading{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}@media only screen and (max-width:800px){.lae-portfolio-wrap .lae-portfolio-header{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column wrap;flex-flow:column wrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}}.lae-portfolio-wrap .lae-heading{display:inline-block;text-align:left;max-width:none;font-size:32px;line-height:44px;text-transform:uppercase;letter-spacing:1px;color:#333;margin:0 100px 0 0}.rtl .lae-portfolio-wrap .lae-heading{margin:0 0 0 100px}.lae-dark-bg .lae-portfolio-wrap .lae-heading{color:#e5e5e5}@media only screen and (max-width:800px){.lae-portfolio-wrap .lae-heading{margin-bottom:30px}}.lae-portfolio-wrap .lae-taxonomy-filter{display:block;margin:0;padding:0;-webkit-align-self:center;align-self:center;-ms-flex-item-align:center}@media only screen and (max-width:800px){.lae-portfolio-wrap .lae-taxonomy-filter{-webkit-align-self:flex-start;align-self:flex-start;-ms-flex-item-align:start}}.lae-portfolio-wrap .lae-taxonomy-filter .lae-filter-item{position:relative;display:inline-block;margin:0 0 15px 0;padding:0;font-style:normal;border-bottom:1px solid #ddd}.lae-dark-bg .lae-portfolio-wrap .lae-taxonomy-filter .lae-filter-item{border-color:#444}.lae-portfolio-wrap .lae-taxonomy-filter .lae-filter-item a{font-size:15px;line-height:24px;-webkit-transition:all .4s ease-in-out 0s;transition:all .4s ease-in-out 0s;display:block;color:#777;padding:0 15px 15px}.lae-dark-bg .lae-portfolio-wrap .lae-taxonomy-filter .lae-filter-item a{color:#999}.lae-portfolio-wrap .lae-taxonomy-filter .lae-filter-item a:hover{color:#222}.lae-dark-bg .lae-portfolio-wrap .lae-taxonomy-filter .lae-filter-item a:hover{color:#fff}@media only screen and (max-width:479px){.lae-portfolio-wrap .lae-taxonomy-filter .lae-filter-item a{padding:0 10px 8px}}.lae-portfolio-wrap .lae-taxonomy-filter .lae-filter-item.lae-active a{color:#222}.lae-dark-bg .lae-portfolio-wrap .lae-taxonomy-filter .lae-filter-item.lae-active a{color:#fff}.lae-portfolio-wrap .lae-taxonomy-filter .lae-filter-item.lae-active:after{content:'';position:absolute;left:0;bottom:0;border-bottom:3px solid #f94213;width:100%}.lae-portfolio-wrap .lae-taxonomy-filter .lae-filter-item:last-child{margin-right:0}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .hentry{margin:0;padding:0;border:none;background:0 0;-webkit-box-shadow:none;box-shadow:none}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .lae-project-image{position:relative;overflow:hidden}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .lae-project-image img{display:block;width:100%;-webkit-transition:all .4s ease-in-out 0s;transition:all .4s ease-in-out 0s}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .lae-project-image:hover img{-webkit-filter:brightness(50%);filter:brightness(50%)}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .lae-project-image .lae-image-info{display:block;text-align:center}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .lae-project-image .lae-image-info .lae-entry-info{text-align:center;display:block;position:absolute;top:50%;left:0;right:0;margin:auto;max-width:100%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .lae-project-image .lae-image-info .lae-post-title{padding:10px;margin:0;font-size:18px;line-height:28px;font-weight:400;color:#fff;opacity:0;-webkit-transition:opacity .4s ease-in-out 0s;transition:opacity .4s ease-in-out 0s}@media only screen and (max-width:1024px){.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .lae-project-image .lae-image-info .lae-post-title{font-size:18px;line-height:26px}}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .lae-project-image .lae-image-info .lae-post-title a{display:inline;color:#fff;-webkit-transition:all .3s ease-in-out 0s;transition:all .3s ease-in-out 0s;border-bottom:1px solid transparent}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .lae-project-image .lae-image-info .lae-post-title a:hover{border-bottom:1px solid #ccc}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .lae-project-image .lae-image-info .lae-terms{display:block;color:#f9f9f9;font-size:14px;line-height:22px;opacity:0;-webkit-transition:opacity .4s ease-in-out 0s;transition:opacity .4s ease-in-out 0s}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .lae-project-image .lae-image-info .lae-terms a{color:#ddd;position:relative;display:inline;zoom:1;font-size:14px;line-height:22px;font-style:italic;-webkit-transition:all .4s ease-in-out 0s;transition:all .4s ease-in-out 0s}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .lae-project-image .lae-image-info .lae-terms a:hover{color:#fff}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .lae-project-image:hover .lae-image-info .lae-post-title,.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .lae-project-image:hover .lae-image-info .lae-terms{opacity:1}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .lae-entry-text-wrap{text-align:center;max-width:650px;margin:20px auto 0}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .entry-title{font-size:18px;line-height:26px;font-weight:400;margin-bottom:10px}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .entry-title:after,.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .entry-title:before{display:none}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .entry-title a{-webkit-transition:all .4s ease-in-out 0s;transition:all .4s ease-in-out 0s;color:#333}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .entry-title a:hover{color:#888}.lae-dark-bg .lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .entry-title a{color:#e0e0e0}.lae-dark-bg .lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .entry-title a:hover{color:#fff}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .lae-entry-meta span{display:inline-block;padding:0;margin:0;font-style:italic;color:#999}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .lae-entry-meta span:after{content:'//';padding-left:6px;padding-right:6px}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .lae-entry-meta span:first-child{border:none;padding-left:0}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .lae-entry-meta span:last-child:after{display:none}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .lae-entry-meta span a{-webkit-transition:all .3s ease-in-out 0s;transition:all .3s ease-in-out 0s;font-style:normal}.lae-dark-bg .lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .lae-entry-meta span{color:#707070}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .entry-summary{margin:15px auto 0;padding:0}.lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .entry-summary:before{width:35px;height:1px;background:#aaa;display:block;content:"";text-align:center;margin:0 auto 15px}.lae-dark-bg .lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .entry-summary{color:#999}.lae-dark-bg .lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .entry-summary:before{background:#505050}.lae-portfolio-wrap .lae-portfolio-item .lae-read-more{margin:25px 0 0 0}.lae-portfolio-wrap .lae-portfolio-item .lae-read-more a:not(.lae-button){color:#333;font-size:12px;line-height:1;font-weight:600;text-transform:uppercase;display:block;padding:0;-webkit-transition:color .3s ease-in-out 0s;transition:color .3s ease-in-out 0s}.lae-portfolio-wrap .lae-portfolio-item .lae-read-more a:not(.lae-button):hover{color:#666}.lae-portfolio-wrap .lae-portfolio-item .lae-read-more a:not(.lae-button):after{content:'›';display:inline-block;margin-left:7px}.rtl .lae-portfolio-wrap .lae-portfolio-item .lae-read-more a:not(.lae-button):after{margin:0 7px 0 0}.lae-posts-carousel{clear:both;max-width:none}@media only screen and (min-width:1024px){.lae-posts-carousel{max-width:96%}}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .hentry{background:#fff;border-radius:6px;border:none;padding:0;margin:0;-webkit-transition:-webkit-box-shadow .25s ease 0s;transition:-webkit-box-shadow .25s ease 0s;transition:box-shadow .25s ease 0s;transition:box-shadow .25s ease 0s,-webkit-box-shadow .25s ease 0s;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1);overflow:hidden}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .hentry:hover{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 1px 3px rgba(0,0,0,.2)}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-project-image{position:relative;overflow:hidden}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-project-image img{width:100%;display:block;-webkit-transition:all .4s ease-in-out 0s;transition:all .4s ease-in-out 0s;max-width:100%}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-project-image:hover img{-webkit-filter:brightness(50%);filter:brightness(50%)}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-project-image .lae-image-info{display:block;text-align:center}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-project-image .lae-image-info .lae-entry-info{text-align:center;display:block;position:absolute;top:50%;left:0;right:0;margin:auto;max-width:100%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-project-image .lae-image-info .lae-post-title{padding:10px;margin:0;font-size:22px;line-height:34px;font-weight:400;color:#fff;opacity:0;-webkit-transition:opacity .4s ease-in-out 0s;transition:opacity .4s ease-in-out 0s}@media only screen and (max-width:1024px){.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-project-image .lae-image-info .lae-post-title{font-size:18px;line-height:26px}}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-project-image .lae-image-info .lae-post-title a{display:inline;color:#fff;-webkit-transition:all .3s ease-in-out 0s;transition:all .3s ease-in-out 0s;border-bottom:1px solid transparent}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-project-image .lae-image-info .lae-post-title a:hover{border-bottom:2px solid #ccc}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-project-image .lae-image-info .lae-terms{display:block;color:#f9f9f9;font-size:14px;line-height:22px;opacity:0;-webkit-transition:opacity .4s ease-in-out 0s;transition:opacity .4s ease-in-out 0s}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-project-image .lae-image-info .lae-terms a{color:#ddd;position:relative;display:inline;zoom:1;font-size:14px;line-height:22px;font-style:italic;-webkit-transition:all .4s ease-in-out 0s;transition:all .4s ease-in-out 0s}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-project-image .lae-image-info .lae-terms a:hover{color:#fff}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-project-image:hover .lae-image-info .lae-post-title,.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-project-image:hover .lae-image-info .lae-terms{opacity:1}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-entry-text-wrap{text-align:center;max-width:650px;margin:0 auto;padding:25px 15px}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-entry-text-wrap .entry-title{font-size:18px;line-height:26px;letter-spacing:1px;font-weight:700;color:#333;text-transform:uppercase;clear:none;margin-top:0;margin-bottom:10px;font-size:16px;line-height:24px;margin-bottom:10px}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-entry-text-wrap .entry-title:after,.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-entry-text-wrap .entry-title:before{display:none}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-entry-text-wrap .entry-title a{color:#333;-webkit-transition:all .4s ease-in-out 0s;transition:all .4s ease-in-out 0s}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-entry-text-wrap .entry-title a:hover{color:#888}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-entry-text-wrap .lae-entry-meta span{display:inline-block;padding:0;margin:0;font-style:italic;color:#999}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-entry-text-wrap .lae-entry-meta span a{-webkit-transition:all .3s ease-in-out 0s;transition:all .3s ease-in-out 0s;font-style:normal}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-entry-text-wrap .lae-entry-meta span:after{content:'//';padding-left:6px;padding-right:6px}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-entry-text-wrap .lae-entry-meta span:first-child{border:none;padding-left:0}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-entry-text-wrap .lae-entry-meta span:last-child:after{display:none}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-entry-text-wrap .entry-summary{padding:0;margin:10px auto 0}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-entry-text-wrap .entry-summary:before{width:35px;height:1px;background:#aaa;display:block;content:"";text-align:center;margin:0 auto 15px}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-entry-text-wrap .lae-category-list{-webkit-transition:all .4s ease-in-out 0s;transition:all .4s ease-in-out 0s}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-entry-text-wrap .lae-category-list:after{width:35px;height:1px;background:#aaa;display:block;content:""}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-entry-text-wrap .lae-category-list:after{text-align:center;margin:10px auto 10px}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .lae-entry-text-wrap .lae-category-list a{font-style:italic;-webkit-transition:all .4s ease-in-out 0s;transition:all .4s ease-in-out 0s}.lae-posts-carousel.lae-classic-skin .lae-posts-carousel-item .type-post .lae-entry-text-wrap .entry-summary:before{display:none}.lae-posts-carousel .lae-posts-carousel-item .lae-read-more{margin:25px 0 0 0}.lae-posts-carousel .lae-posts-carousel-item .lae-read-more a:not(.lae-button){color:#333;font-size:12px;line-height:1;font-weight:600;text-transform:uppercase;display:block;padding:0;-webkit-transition:color .3s ease-in-out 0s;transition:color .3s ease-in-out 0s}.lae-posts-carousel .lae-posts-carousel-item .lae-read-more a:not(.lae-button):hover{color:#666}.lae-posts-carousel .lae-posts-carousel-item .lae-read-more a:not(.lae-button):after{content:'›';display:inline-block;margin-left:7px}.rtl .lae-posts-carousel .lae-posts-carousel-item .lae-read-more a:not(.lae-button):after{margin:0 7px 0 0}.lae-posts-gridbox-slider .slick-next:before,.lae-posts-gridbox-slider .slick-prev:before,.lae-posts-multislider .slick-next:before,.lae-posts-multislider .slick-prev:before,.lae-posts-slider .slick-next:before,.lae-posts-slider .slick-prev:before{display:block;font-size:inherit;line-height:inherit;color:inherit;font-family:lae-icomoon!important;margin:0;padding:0}.lae-posts-gridbox-slider .slick-prev:before,.lae-posts-multislider .slick-prev:before,.lae-posts-slider .slick-prev:before{content:"\f104"}.lae-posts-gridbox-slider .slick-next:before,.lae-posts-multislider .slick-next:before,.lae-posts-slider .slick-next:before{content:"\f105"}.lae-posts-gridbox-slider .slick-next,.lae-posts-gridbox-slider .slick-prev,.lae-posts-multislider .slick-next,.lae-posts-multislider .slick-prev,.lae-posts-slider .slick-next,.lae-posts-slider .slick-prev{cursor:pointer;width:34px;height:34px;display:inline-block;vertical-align:top;font-size:18px;position:absolute;top:auto;right:auto;left:auto;bottom:auto;z-index:10;line-height:34px;text-align:center;text-decoration:none;-webkit-transition:all .3s;transition:all .3s;border:none;outline:0;padding:0;margin:0}.lae-posts-gridbox-slider .slick-next:hover:before,.lae-posts-gridbox-slider .slick-prev:hover:before,.lae-posts-multislider .slick-next:hover:before,.lae-posts-multislider .slick-prev:hover:before,.lae-posts-slider .slick-next:hover:before,.lae-posts-slider .slick-prev:hover:before{color:inherit}.lae-slider-arrow-placement-middle-center .lae-posts-gridbox-slider .slick-next,.lae-slider-arrow-placement-middle-center .lae-posts-gridbox-slider .slick-prev,.lae-slider-arrow-placement-middle-center .lae-posts-multislider .slick-next,.lae-slider-arrow-placement-middle-center .lae-posts-multislider .slick-prev,.lae-slider-arrow-placement-middle-center .lae-posts-slider .slick-next,.lae-slider-arrow-placement-middle-center .lae-posts-slider .slick-prev{top:50%;margin-top:-18px}.lae-slider-arrow-placement-middle-center .lae-posts-gridbox-slider .slick-prev,.lae-slider-arrow-placement-middle-center .lae-posts-multislider .slick-prev,.lae-slider-arrow-placement-middle-center .lae-posts-slider .slick-prev{left:10px}.lae-slider-arrow-placement-middle-center .lae-posts-gridbox-slider .slick-next,.lae-slider-arrow-placement-middle-center .lae-posts-multislider .slick-next,.lae-slider-arrow-placement-middle-center .lae-posts-slider .slick-next{right:10px}.lae-slider-arrow-placement-middle-center.lae-slider-arrow-shape-square .lae-posts-gridbox-slider .slick-prev,.lae-slider-arrow-placement-middle-center.lae-slider-arrow-shape-square .lae-posts-multislider .slick-prev,.lae-slider-arrow-placement-middle-center.lae-slider-arrow-shape-square .lae-posts-slider .slick-prev{left:0}.lae-slider-arrow-placement-middle-center.lae-slider-arrow-shape-square .lae-posts-gridbox-slider .slick-next,.lae-slider-arrow-placement-middle-center.lae-slider-arrow-shape-square .lae-posts-multislider .slick-next,.lae-slider-arrow-placement-middle-center.lae-slider-arrow-shape-square .lae-posts-slider .slick-next{right:0}.lae-slider-arrow-placement-bottom-center .lae-posts-gridbox-slider .slick-next,.lae-slider-arrow-placement-bottom-center .lae-posts-gridbox-slider .slick-prev,.lae-slider-arrow-placement-bottom-center .lae-posts-multislider .slick-next,.lae-slider-arrow-placement-bottom-center .lae-posts-multislider .slick-prev,.lae-slider-arrow-placement-bottom-center .lae-posts-slider .slick-next,.lae-slider-arrow-placement-bottom-center .lae-posts-slider .slick-prev{bottom:0;left:50%;-webkit-transform:translateY(42px);transform:translateY(42px)}.lae-slider-arrow-placement-bottom-center .lae-posts-gridbox-slider .slick-prev,.lae-slider-arrow-placement-bottom-center .lae-posts-multislider .slick-prev,.lae-slider-arrow-placement-bottom-center .lae-posts-slider .slick-prev{margin-left:-36px}.lae-slider-arrow-placement-bottom-center .lae-posts-gridbox-slider .slick-next,.lae-slider-arrow-placement-bottom-center .lae-posts-multislider .slick-next,.lae-slider-arrow-placement-bottom-center .lae-posts-slider .slick-next{margin-left:2px}.lae-slider-arrow-placement-bottom-right .lae-posts-gridbox-slider .slick-next,.lae-slider-arrow-placement-bottom-right .lae-posts-gridbox-slider .slick-prev,.lae-slider-arrow-placement-bottom-right .lae-posts-multislider .slick-next,.lae-slider-arrow-placement-bottom-right .lae-posts-multislider .slick-prev,.lae-slider-arrow-placement-bottom-right .lae-posts-slider .slick-next,.lae-slider-arrow-placement-bottom-right .lae-posts-slider .slick-prev{bottom:20px}.lae-slider-arrow-placement-bottom-right .lae-posts-gridbox-slider .slick-prev,.lae-slider-arrow-placement-bottom-right .lae-posts-multislider .slick-prev,.lae-slider-arrow-placement-bottom-right .lae-posts-slider .slick-prev{right:65px}.lae-slider-arrow-placement-bottom-right .lae-posts-gridbox-slider .slick-next,.lae-slider-arrow-placement-bottom-right .lae-posts-multislider .slick-next,.lae-slider-arrow-placement-bottom-right .lae-posts-slider .slick-next{right:25px}.lae-slider-arrow-placement-bottom-left .lae-posts-gridbox-slider .slick-next,.lae-slider-arrow-placement-bottom-left .lae-posts-gridbox-slider .slick-prev,.lae-slider-arrow-placement-bottom-left .lae-posts-multislider .slick-next,.lae-slider-arrow-placement-bottom-left .lae-posts-multislider .slick-prev,.lae-slider-arrow-placement-bottom-left .lae-posts-slider .slick-next,.lae-slider-arrow-placement-bottom-left .lae-posts-slider .slick-prev{bottom:20px}.lae-slider-arrow-placement-bottom-left .lae-posts-gridbox-slider .slick-prev,.lae-slider-arrow-placement-bottom-left .lae-posts-multislider .slick-prev,.lae-slider-arrow-placement-bottom-left .lae-posts-slider .slick-prev{left:25px}.lae-slider-arrow-placement-bottom-left .lae-posts-gridbox-slider .slick-next,.lae-slider-arrow-placement-bottom-left .lae-posts-multislider .slick-next,.lae-slider-arrow-placement-bottom-left .lae-posts-slider .slick-next{left:65px}.lae-slider-arrow-placement-top-right .lae-posts-gridbox-slider .slick-next,.lae-slider-arrow-placement-top-right .lae-posts-gridbox-slider .slick-prev,.lae-slider-arrow-placement-top-right .lae-posts-multislider .slick-next,.lae-slider-arrow-placement-top-right .lae-posts-multislider .slick-prev,.lae-slider-arrow-placement-top-right .lae-posts-slider .slick-next,.lae-slider-arrow-placement-top-right .lae-posts-slider .slick-prev{top:20px}.lae-slider-arrow-placement-top-right .lae-posts-gridbox-slider .slick-prev,.lae-slider-arrow-placement-top-right .lae-posts-multislider .slick-prev,.lae-slider-arrow-placement-top-right .lae-posts-slider .slick-prev{right:65px}.lae-slider-arrow-placement-top-right .lae-posts-gridbox-slider .slick-next,.lae-slider-arrow-placement-top-right .lae-posts-multislider .slick-next,.lae-slider-arrow-placement-top-right .lae-posts-slider .slick-next{right:25px}.lae-slider-arrow-placement-top-left .lae-posts-gridbox-slider .slick-next,.lae-slider-arrow-placement-top-left .lae-posts-gridbox-slider .slick-prev,.lae-slider-arrow-placement-top-left .lae-posts-multislider .slick-next,.lae-slider-arrow-placement-top-left .lae-posts-multislider .slick-prev,.lae-slider-arrow-placement-top-left .lae-posts-slider .slick-next,.lae-slider-arrow-placement-top-left .lae-posts-slider .slick-prev{top:20px}.lae-slider-arrow-placement-top-left .lae-posts-gridbox-slider .slick-prev,.lae-slider-arrow-placement-top-left .lae-posts-multislider .slick-prev,.lae-slider-arrow-placement-top-left .lae-posts-slider .slick-prev{left:25px}.lae-slider-arrow-placement-top-left .lae-posts-gridbox-slider .slick-next,.lae-slider-arrow-placement-top-left .lae-posts-multislider .slick-next,.lae-slider-arrow-placement-top-left .lae-posts-slider .slick-next{left:65px}.lae-slider-arrow-shape-square .lae-posts-gridbox-slider .slick-next,.lae-slider-arrow-shape-square .lae-posts-gridbox-slider .slick-prev,.lae-slider-arrow-shape-square .lae-posts-multislider .slick-next,.lae-slider-arrow-shape-square .lae-posts-multislider .slick-prev,.lae-slider-arrow-shape-square .lae-posts-slider .slick-next,.lae-slider-arrow-shape-square .lae-posts-slider .slick-prev{border-radius:0}.lae-slider-arrow-shape-rounded-corners .lae-posts-gridbox-slider .slick-next,.lae-slider-arrow-shape-rounded-corners .lae-posts-gridbox-slider .slick-prev,.lae-slider-arrow-shape-rounded-corners .lae-posts-multislider .slick-next,.lae-slider-arrow-shape-rounded-corners .lae-posts-multislider .slick-prev,.lae-slider-arrow-shape-rounded-corners .lae-posts-slider .slick-next,.lae-slider-arrow-shape-rounded-corners .lae-posts-slider .slick-prev{border-radius:5px}.lae-slider-arrow-shape-circle .lae-posts-gridbox-slider .slick-next,.lae-slider-arrow-shape-circle .lae-posts-gridbox-slider .slick-prev,.lae-slider-arrow-shape-circle .lae-posts-multislider .slick-next,.lae-slider-arrow-shape-circle .lae-posts-multislider .slick-prev,.lae-slider-arrow-shape-circle .lae-posts-slider .slick-next,.lae-slider-arrow-shape-circle .lae-posts-slider .slick-prev{border-radius:50%}.lae-slider-arrow-visibility-on-hover .lae-posts-gridbox-slider .slick-next,.lae-slider-arrow-visibility-on-hover .lae-posts-gridbox-slider .slick-prev,.lae-slider-arrow-visibility-on-hover .lae-posts-multislider .slick-next,.lae-slider-arrow-visibility-on-hover .lae-posts-multislider .slick-prev,.lae-slider-arrow-visibility-on-hover .lae-posts-slider .slick-next,.lae-slider-arrow-visibility-on-hover .lae-posts-slider .slick-prev{opacity:0}@media only screen and (max-width:1200px){.lae-slider-arrow-visibility-on-hover .lae-posts-gridbox-slider .slick-next,.lae-slider-arrow-visibility-on-hover .lae-posts-gridbox-slider .slick-prev,.lae-slider-arrow-visibility-on-hover .lae-posts-multislider .slick-next,.lae-slider-arrow-visibility-on-hover .lae-posts-multislider .slick-prev,.lae-slider-arrow-visibility-on-hover .lae-posts-slider .slick-next,.lae-slider-arrow-visibility-on-hover .lae-posts-slider .slick-prev{opacity:.8}}.lae-slider-arrow-visibility-on-hover .lae-posts-gridbox-slider:hover .slick-next,.lae-slider-arrow-visibility-on-hover .lae-posts-gridbox-slider:hover .slick-prev,.lae-slider-arrow-visibility-on-hover .lae-posts-multislider:hover .slick-next,.lae-slider-arrow-visibility-on-hover .lae-posts-multislider:hover .slick-prev,.lae-slider-arrow-visibility-on-hover .lae-posts-slider:hover .slick-next,.lae-slider-arrow-visibility-on-hover .lae-posts-slider:hover .slick-prev{opacity:.8}.lae-slider-arrow-visibility-on-hover .lae-posts-gridbox-slider .slick-next:hover,.lae-slider-arrow-visibility-on-hover .lae-posts-gridbox-slider .slick-prev:hover,.lae-slider-arrow-visibility-on-hover .lae-posts-multislider .slick-next:hover,.lae-slider-arrow-visibility-on-hover .lae-posts-multislider .slick-prev:hover,.lae-slider-arrow-visibility-on-hover .lae-posts-slider .slick-next:hover,.lae-slider-arrow-visibility-on-hover .lae-posts-slider .slick-prev:hover{opacity:1}.lae-slider-arrow-visibility-always .lae-posts-gridbox-slider .slick-next,.lae-slider-arrow-visibility-always .lae-posts-gridbox-slider .slick-prev,.lae-slider-arrow-visibility-always .lae-posts-multislider .slick-next,.lae-slider-arrow-visibility-always .lae-posts-multislider .slick-prev,.lae-slider-arrow-visibility-always .lae-posts-slider .slick-next,.lae-slider-arrow-visibility-always .lae-posts-slider .slick-prev{opacity:.8}.lae-slider-arrow-visibility-always .lae-posts-gridbox-slider .slick-next:hover,.lae-slider-arrow-visibility-always .lae-posts-gridbox-slider .slick-prev:hover,.lae-slider-arrow-visibility-always .lae-posts-multislider .slick-next:hover,.lae-slider-arrow-visibility-always .lae-posts-multislider .slick-prev:hover,.lae-slider-arrow-visibility-always .lae-posts-slider .slick-next:hover,.lae-slider-arrow-visibility-always .lae-posts-slider .slick-prev:hover{opacity:1}.lae-slider-arrow-color-light .lae-posts-gridbox-slider .slick-next,.lae-slider-arrow-color-light .lae-posts-gridbox-slider .slick-prev,.lae-slider-arrow-color-light .lae-posts-multislider .slick-next,.lae-slider-arrow-color-light .lae-posts-multislider .slick-prev,.lae-slider-arrow-color-light .lae-posts-slider .slick-next,.lae-slider-arrow-color-light .lae-posts-slider .slick-prev{background:#fff;color:#010101}.lae-slider-arrow-color-dark .lae-posts-gridbox-slider .slick-next,.lae-slider-arrow-color-dark .lae-posts-gridbox-slider .slick-prev,.lae-slider-arrow-color-dark .lae-posts-multislider .slick-next,.lae-slider-arrow-color-dark .lae-posts-multislider .slick-prev,.lae-slider-arrow-color-dark .lae-posts-slider .slick-next,.lae-slider-arrow-color-dark .lae-posts-slider .slick-prev{background:#000;color:#fff}.lae-posts-gridbox-slider .lae-post-meta,.lae-posts-multislider .lae-post-meta,.lae-posts-slider .lae-post-meta{margin-top:15px}.lae-posts-slider .slick-slide>div{line-height:0}.lae-posts-slider .lae-post-entry{position:relative;line-height:normal}.lae-posts-slider .lae-post-featured-img-bg{width:100%;height:400px}.lae-posts-slider .lae-post-featured-img-bg{margin:0}.lae-posts-slider-style-1 .lae-post-text .lae-post-meta,.lae-posts-slider-style-1 .lae-post-text .lae-post-meta a,.lae-posts-slider-style-1 .lae-post-text .lae-post-summary,.lae-posts-slider-style-1 .lae-post-text .lae-post-title a,.lae-posts-slider-style-1 .lae-post-text .lae-read-more,.lae-posts-slider-style-1 .lae-post-text .lae-terms,.lae-posts-slider-style-1 .lae-post-text .lae-terms a,.lae-posts-slider-style-2 .lae-post-text .lae-post-meta,.lae-posts-slider-style-2 .lae-post-text .lae-post-meta a,.lae-posts-slider-style-2 .lae-post-text .lae-post-summary,.lae-posts-slider-style-2 .lae-post-text .lae-post-title a,.lae-posts-slider-style-2 .lae-post-text .lae-read-more,.lae-posts-slider-style-2 .lae-post-text .lae-terms,.lae-posts-slider-style-2 .lae-post-text .lae-terms a,.lae-posts-slider-style-3 .lae-post-text .lae-post-meta,.lae-posts-slider-style-3 .lae-post-text .lae-post-meta a,.lae-posts-slider-style-3 .lae-post-text .lae-post-summary,.lae-posts-slider-style-3 .lae-post-text .lae-post-title a,.lae-posts-slider-style-3 .lae-post-text .lae-read-more,.lae-posts-slider-style-3 .lae-post-text .lae-terms,.lae-posts-slider-style-3 .lae-post-text .lae-terms a,.lae-posts-slider-style-7 .lae-post-text .lae-post-meta,.lae-posts-slider-style-7 .lae-post-text .lae-post-meta a,.lae-posts-slider-style-7 .lae-post-text .lae-post-summary,.lae-posts-slider-style-7 .lae-post-text .lae-post-title a,.lae-posts-slider-style-7 .lae-post-text .lae-read-more,.lae-posts-slider-style-7 .lae-post-text .lae-terms,.lae-posts-slider-style-7 .lae-post-text .lae-terms a,.lae-posts-slider-style-8 .lae-post-text .lae-post-meta,.lae-posts-slider-style-8 .lae-post-text .lae-post-meta a,.lae-posts-slider-style-8 .lae-post-text .lae-post-summary,.lae-posts-slider-style-8 .lae-post-text .lae-post-title a,.lae-posts-slider-style-8 .lae-post-text .lae-read-more,.lae-posts-slider-style-8 .lae-post-text .lae-terms,.lae-posts-slider-style-8 .lae-post-text .lae-terms a{color:#fff}.lae-posts-slider-style-1 .lae-post-text .lae-post-meta a,.lae-posts-slider-style-2 .lae-post-text .lae-post-meta a,.lae-posts-slider-style-3 .lae-post-text .lae-post-meta a,.lae-posts-slider-style-7 .lae-post-text .lae-post-meta a,.lae-posts-slider-style-8 .lae-post-text .lae-post-meta a{color:rgba(255,255,255,.75)}.lae-posts-slider-style-1 .lae-post-text .lae-terms a:hover,.lae-posts-slider-style-1 .lae-post-text .lae-terms:hover,.lae-posts-slider-style-2 .lae-post-text .lae-terms a:hover,.lae-posts-slider-style-2 .lae-post-text .lae-terms:hover,.lae-posts-slider-style-3 .lae-post-text .lae-terms a:hover,.lae-posts-slider-style-3 .lae-post-text .lae-terms:hover,.lae-posts-slider-style-7 .lae-post-text .lae-terms a:hover,.lae-posts-slider-style-7 .lae-post-text .lae-terms:hover,.lae-posts-slider-style-8 .lae-post-text .lae-terms a:hover,.lae-posts-slider-style-8 .lae-post-text .lae-terms:hover{color:#ddd}.lae-posts-slider-style-1 .lae-post-text .lae-post-meta a,.lae-posts-slider-style-1 .lae-post-text .lae-post-meta span,.lae-posts-slider-style-1 .lae-post-text .lae-read-more,.lae-posts-slider-style-1 .lae-post-text .lae-terms a,.lae-posts-slider-style-2 .lae-post-text .lae-post-meta a,.lae-posts-slider-style-2 .lae-post-text .lae-post-meta span,.lae-posts-slider-style-2 .lae-post-text .lae-read-more,.lae-posts-slider-style-2 .lae-post-text .lae-terms a,.lae-posts-slider-style-3 .lae-post-text .lae-post-meta a,.lae-posts-slider-style-3 .lae-post-text .lae-post-meta span,.lae-posts-slider-style-3 .lae-post-text .lae-read-more,.lae-posts-slider-style-3 .lae-post-text .lae-terms a,.lae-posts-slider-style-4 .lae-post-text .lae-post-meta a,.lae-posts-slider-style-4 .lae-post-text .lae-post-meta span,.lae-posts-slider-style-4 .lae-post-text .lae-read-more,.lae-posts-slider-style-4 .lae-post-text .lae-terms a,.lae-posts-slider-style-5 .lae-post-text .lae-post-meta a,.lae-posts-slider-style-5 .lae-post-text .lae-post-meta span,.lae-posts-slider-style-5 .lae-post-text .lae-read-more,.lae-posts-slider-style-5 .lae-post-text .lae-terms a,.lae-posts-slider-style-6 .lae-post-text .lae-post-meta a,.lae-posts-slider-style-6 .lae-post-text .lae-post-meta span,.lae-posts-slider-style-6 .lae-post-text .lae-read-more,.lae-posts-slider-style-6 .lae-post-text .lae-terms a,.lae-posts-slider-style-7 .lae-post-text .lae-post-meta a,.lae-posts-slider-style-7 .lae-post-text .lae-post-meta span,.lae-posts-slider-style-7 .lae-post-text .lae-read-more,.lae-posts-slider-style-7 .lae-post-text .lae-terms a,.lae-posts-slider-style-8 .lae-post-text .lae-post-meta a,.lae-posts-slider-style-8 .lae-post-text .lae-post-meta span,.lae-posts-slider-style-8 .lae-post-text .lae-read-more,.lae-posts-slider-style-8 .lae-post-text .lae-terms a{text-transform:uppercase;font-size:.625rem}.lae-posts-slider-style-1 .lae-post-text .lae-post-title,.lae-posts-slider-style-2 .lae-post-text .lae-post-title,.lae-posts-slider-style-3 .lae-post-text .lae-post-title,.lae-posts-slider-style-4 .lae-post-text .lae-post-title,.lae-posts-slider-style-5 .lae-post-text .lae-post-title,.lae-posts-slider-style-6 .lae-post-text .lae-post-title,.lae-posts-slider-style-7 .lae-post-text .lae-post-title,.lae-posts-slider-style-8 .lae-post-text .lae-post-title{margin:10px 0 0 0}.lae-posts-slider-style-1 .lae-post-text .lae-post-meta span+span,.lae-posts-slider-style-2 .lae-post-text .lae-post-meta span+span,.lae-posts-slider-style-3 .lae-post-text .lae-post-meta span+span,.lae-posts-slider-style-4 .lae-post-text .lae-post-meta span+span,.lae-posts-slider-style-5 .lae-post-text .lae-post-meta span+span,.lae-posts-slider-style-6 .lae-post-text .lae-post-meta span+span,.lae-posts-slider-style-7 .lae-post-text .lae-post-meta span+span,.lae-posts-slider-style-8 .lae-post-text .lae-post-meta span+span{margin:0 0 0 5px}.lae-posts-slider-style-1 .lae-post-text .lae-post-meta span+span:before,.lae-posts-slider-style-2 .lae-post-text .lae-post-meta span+span:before,.lae-posts-slider-style-3 .lae-post-text .lae-post-meta span+span:before,.lae-posts-slider-style-4 .lae-post-text .lae-post-meta span+span:before,.lae-posts-slider-style-5 .lae-post-text .lae-post-meta span+span:before,.lae-posts-slider-style-6 .lae-post-text .lae-post-meta span+span:before,.lae-posts-slider-style-7 .lae-post-text .lae-post-meta span+span:before,.lae-posts-slider-style-8 .lae-post-text .lae-post-meta span+span:before{margin-right:5px;content:"\b7"}.lae-posts-slider-style-1 .lae-post-text .lae-terms,.lae-posts-slider-style-1 .lae-post-text .lae-terms a,.lae-posts-slider-style-2 .lae-post-text .lae-terms,.lae-posts-slider-style-2 .lae-post-text .lae-terms a,.lae-posts-slider-style-3 .lae-post-text .lae-terms,.lae-posts-slider-style-3 .lae-post-text .lae-terms a,.lae-posts-slider-style-4 .lae-post-text .lae-terms,.lae-posts-slider-style-4 .lae-post-text .lae-terms a,.lae-posts-slider-style-5 .lae-post-text .lae-terms,.lae-posts-slider-style-5 .lae-post-text .lae-terms a,.lae-posts-slider-style-6 .lae-post-text .lae-terms,.lae-posts-slider-style-6 .lae-post-text .lae-terms a,.lae-posts-slider-style-7 .lae-post-text .lae-terms,.lae-posts-slider-style-7 .lae-post-text .lae-terms a,.lae-posts-slider-style-8 .lae-post-text .lae-terms,.lae-posts-slider-style-8 .lae-post-text .lae-terms a{border:none}.lae-posts-slider-style-1 .lae-post-text .lae-post-summary,.lae-posts-slider-style-2 .lae-post-text .lae-post-summary,.lae-posts-slider-style-3 .lae-post-text .lae-post-summary,.lae-posts-slider-style-4 .lae-post-text .lae-post-summary,.lae-posts-slider-style-5 .lae-post-text .lae-post-summary,.lae-posts-slider-style-6 .lae-post-text .lae-post-summary,.lae-posts-slider-style-7 .lae-post-text .lae-post-summary,.lae-posts-slider-style-8 .lae-post-text .lae-post-summary{margin-top:20px;font-size:.875rem;line-height:1.5}.lae-posts-slider-style-1 .lae-post-featured-img-bg:before{position:absolute;top:0;right:0;bottom:0;left:0;content:"";-webkit-transition:all .2s ease;transition:all .2s ease;background-color:rgba(40,40,40,.125)}.lae-posts-slider-style-2 .lae-post-featured-img-bg:before{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background-color:transparent;-webkit-transition:all .2s linear;transition:all .2s linear;background-image:-webkit-gradient(linear,left bottom,left top,from(#121928),color-stop(40%,rgba(18,25,42,0)));background-image:linear-gradient(0deg,#121928 0,rgba(18,25,42,0) 40%)}.lae-posts-slider-style-1 .lae-post-text-wrap,.lae-posts-slider-style-3 .lae-post-text-wrap,.lae-posts-slider-style-4 .lae-post-text-wrap{position:absolute;top:50%;width:100%;-webkit-transform:translateY(-50%);transform:translateY(-50%);margin:0;padding:0 25px;z-index:99}.lae-posts-slider-style-1 .lae-post-text-wrap{position:absolute;top:50%;width:100%;-webkit-transform:translateY(-50%);transform:translateY(-50%);margin:0;padding:0 25px;z-index:99}.lae-posts-slider-style-1 .lae-post-text{position:relative;display:block;text-align:center;max-width:680px;width:100%;margin:0 auto;padding:20px 12px}.lae-posts-slider-style-1 .lae-post-text .lae-post-title a{font-size:3rem;line-height:1.2}@media only screen and (max-width:640px){.lae-posts-slider-style-1 .lae-post-text .lae-post-title a{font-size:2.25rem}}.lae-posts-slider-style-1 .lae-post-text .lae-read-more{border:none;background:#282828;color:#eee;padding:8px 16px;margin-top:25px}.lae-posts-slider-style-1 .lae-post-text .lae-read-more:hover{background:#4e4e4e}.lae-posts-slider-style-2 .lae-post-text-wrap{position:absolute;bottom:0;width:100%;margin:0;z-index:99}.lae-posts-slider-style-2 .lae-post-text{position:relative;display:block;text-align:left;max-width:680px;width:100%;margin:0;padding:42px}.lae-posts-slider-style-2 .lae-post-text .lae-post-title a{font-size:2.25rem;line-height:1.2;font-weight:400}@media only screen and (max-width:640px){.lae-posts-slider-style-2 .lae-post-text .lae-post-title a{font-size:1.75px}}.lae-posts-gridbox-item .lae-post-overlay.lae-post-featured-img-bg::before{position:absolute;z-index:0;left:0;top:0;right:0;bottom:0;content:'';background-color:transparent;-webkit-transition:all .2s linear;transition:all .2s linear}.lae-posts-gridbox-item.lae-align-middle-center .lae-post-overlay.lae-post-featured-img-bg::before,.lae-posts-gridbox-item.lae-align-middle-left .lae-post-overlay.lae-post-featured-img-bg::before,.lae-posts-gridbox-item.lae-align-middle-right .lae-post-overlay.lae-post-featured-img-bg::before{background-color:rgba(40,40,40,.125)}.lae-posts-gridbox-item.lae-align-top-center .lae-post-overlay.lae-post-featured-img-bg::before,.lae-posts-gridbox-item.lae-align-top-left .lae-post-overlay.lae-post-featured-img-bg::before,.lae-posts-gridbox-item.lae-align-top-right .lae-post-overlay.lae-post-featured-img-bg::before{background-image:-webkit-gradient(linear,left top,left bottom,from(#121928),color-stop(40%,rgba(18,25,42,0)));background-image:linear-gradient(180deg,#121928 0,rgba(18,25,42,0) 40%)}.lae-posts-gridbox-item.lae-align-bottom-center .lae-post-overlay.lae-post-featured-img-bg::before,.lae-posts-gridbox-item.lae-align-bottom-left .lae-post-overlay.lae-post-featured-img-bg::before,.lae-posts-gridbox-item.lae-align-bottom-right .lae-post-overlay.lae-post-featured-img-bg::before{background-image:-webkit-gradient(linear,left bottom,left top,from(#121928),color-stop(40%,rgba(18,25,42,0)));background-image:linear-gradient(0deg,#121928 0,rgba(18,25,42,0) 40%)}.lae-posts-gridbox-item,.lae-posts-multislider-item{position:relative}.lae-posts-gridbox-item .lae-post-entry,.lae-posts-multislider-item .lae-post-entry{height:100%}.lae-posts-gridbox-item .lae-post-featured-img-bg,.lae-posts-multislider-item .lae-post-featured-img-bg{height:100%}.lae-posts-gridbox-item .lae-post-featured-img-bg,.lae-posts-multislider-item .lae-post-featured-img-bg{position:relative;overflow:hidden;background-size:cover;background-repeat:no-repeat;background-position:center center;-webkit-transition:all .2s linear;transition:all .2s linear}.lae-posts-gridbox-item .lae-post-text .lae-post-title a,.lae-posts-multislider-item .lae-post-text .lae-post-title a{margin:0}.lae-posts-gridbox-item .lae-post-text>*+*,.lae-posts-multislider-item .lae-post-text>*+*{margin:10px 0 0 0}.lae-posts-gridbox-item .lae-post-text .lae-post-meta,.lae-posts-multislider-item .lae-post-text .lae-post-meta{margin-top:15px}.lae-posts-gridbox-item .lae-post-text .lae-post-meta span+span,.lae-posts-multislider-item .lae-post-text .lae-post-meta span+span{margin:0 0 0 5px}.lae-posts-gridbox-item .lae-post-text .lae-post-meta span+span:before,.lae-posts-multislider-item .lae-post-text .lae-post-meta span+span:before{margin-right:5px;content:"\b7"}.lae-posts-gridbox-item .lae-post-text,.lae-posts-multislider-item .lae-post-text{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.lae-posts-gridbox-item .lae-post-text .lae-terms,.lae-posts-gridbox-item .lae-post-text .lae-terms a,.lae-posts-multislider-item .lae-post-text .lae-terms,.lae-posts-multislider-item .lae-post-text .lae-terms a{color:#999;font-size:.625rem;line-height:1;text-transform:uppercase}.lae-posts-gridbox-item .lae-post-text .lae-terms a:hover,.lae-posts-gridbox-item .lae-post-text .lae-terms:hover,.lae-posts-multislider-item .lae-post-text .lae-terms a:hover,.lae-posts-multislider-item .lae-post-text .lae-terms:hover{color:#666}.lae-posts-gridbox-item .lae-post-text .lae-post-title,.lae-posts-multislider-item .lae-post-text .lae-post-title{font-size:0;line-height:1}.lae-posts-gridbox-item .lae-post-text .lae-post-title a,.lae-posts-multislider-item .lae-post-text .lae-post-title a{color:#000;font-size:1.3125rem;line-height:1.2}.lae-posts-gridbox-item .lae-post-text .lae-post-title a:hover,.lae-posts-multislider-item .lae-post-text .lae-post-title a:hover{color:#333}.lae-posts-gridbox-item .lae-post-text .lae-post-meta,.lae-posts-multislider-item .lae-post-text .lae-post-meta{font-size:.625rem;line-height:1.5}.lae-posts-gridbox-item .lae-post-text .lae-post-meta span,.lae-posts-multislider-item .lae-post-text .lae-post-meta span{color:#777;font-size:.625rem;line-height:1.2;text-transform:uppercase}.lae-posts-gridbox-item .lae-post-text .lae-post-meta span a,.lae-posts-multislider-item .lae-post-text .lae-post-meta span a{color:#888}.lae-posts-gridbox-item .lae-post-text .lae-post-meta span a:hover,.lae-posts-multislider-item .lae-post-text .lae-post-meta span a:hover{color:#555}.lae-posts-gridbox-item .lae-post-text .lae-post-summary,.lae-posts-multislider-item .lae-post-text .lae-post-summary{font-size:.875rem;line-height:1.5}.lae-posts-gridbox-item .lae-post-text .lae-read-more,.lae-posts-multislider-item .lae-post-text .lae-read-more{line-height:1;color:#fff;border:1px solid rgba(0,0,0,.75);background:rgba(0,0,0,.75)}.lae-posts-gridbox-item .lae-post-text .lae-read-more:hover,.lae-posts-multislider-item .lae-post-text .lae-read-more:hover{border:1px solid rgba(0,0,0,.95);background:rgba(0,0,0,.95)}.lae-posts-gridbox-item .lae-post-overlay .lae-post-text,.lae-posts-multislider-item .lae-post-overlay .lae-post-text{z-index:99;position:absolute;left:0;right:0;padding:20px}.lae-posts-gridbox-item .lae-post-overlay .lae-post-text .lae-terms,.lae-posts-gridbox-item .lae-post-overlay .lae-post-text .lae-terms a,.lae-posts-multislider-item .lae-post-overlay .lae-post-text .lae-terms,.lae-posts-multislider-item .lae-post-overlay .lae-post-text .lae-terms a{color:#fff;color:rgba(255,255,255,.9)}.lae-posts-gridbox-item .lae-post-overlay .lae-post-text .lae-terms a:hover,.lae-posts-multislider-item .lae-post-overlay .lae-post-text .lae-terms a:hover{text-decoration:underline}.lae-posts-gridbox-item .lae-post-overlay .lae-post-text .lae-post-title,.lae-posts-multislider-item .lae-post-overlay .lae-post-text .lae-post-title{color:#fff}.lae-posts-gridbox-item .lae-post-overlay .lae-post-text .lae-post-title a,.lae-posts-multislider-item .lae-post-overlay .lae-post-text .lae-post-title a{color:#fff}.lae-posts-gridbox-item .lae-post-overlay .lae-post-text .lae-post-title a:hover,.lae-posts-multislider-item .lae-post-overlay .lae-post-text .lae-post-title a:hover{text-decoration:underline}.lae-posts-gridbox-item .lae-post-overlay .lae-post-text .lae-post-meta,.lae-posts-multislider-item .lae-post-overlay .lae-post-text .lae-post-meta{color:#fff}.lae-posts-gridbox-item .lae-post-overlay .lae-post-text .lae-post-meta span,.lae-posts-multislider-item .lae-post-overlay .lae-post-text .lae-post-meta span{color:#fff}.lae-posts-gridbox-item .lae-post-overlay .lae-post-text .lae-post-meta span a,.lae-posts-multislider-item .lae-post-overlay .lae-post-text .lae-post-meta span a{color:#dedede}.lae-posts-gridbox-item .lae-post-overlay .lae-post-text .lae-post-meta span a:hover,.lae-posts-multislider-item .lae-post-overlay .lae-post-text .lae-post-meta span a:hover{color:#fff}.lae-posts-gridbox-item .lae-post-overlay .lae-post-text .lae-post-content,.lae-posts-multislider-item .lae-post-overlay .lae-post-text .lae-post-content{color:#fff}.lae-posts-gridbox-item .lae-post-overlay .lae-post-text .lae-post-content .lae-read-more,.lae-posts-multislider-item .lae-post-overlay .lae-post-text .lae-post-content .lae-read-more{color:#fff;border:1px solid #fff;background:0 0}.lae-posts-gridbox-item .lae-post-overlay .lae-post-text .lae-post-content .lae-read-more:hover,.lae-posts-multislider-item .lae-post-overlay .lae-post-text .lae-post-content .lae-read-more:hover{background:rgba(255,255,255,.3)}.lae-posts-gridbox-item.lae-align-top-center .lae-post-overlay .lae-post-text,.lae-posts-gridbox-item.lae-align-top-left .lae-post-overlay .lae-post-text,.lae-posts-gridbox-item.lae-align-top-right .lae-post-overlay .lae-post-text,.lae-posts-multislider-item.lae-align-top-center .lae-post-overlay .lae-post-text,.lae-posts-multislider-item.lae-align-top-left .lae-post-overlay .lae-post-text,.lae-posts-multislider-item.lae-align-top-right .lae-post-overlay .lae-post-text{top:0}.lae-posts-gridbox-item.lae-align-middle-center .lae-post-overlay .lae-post-text,.lae-posts-gridbox-item.lae-align-middle-left .lae-post-overlay .lae-post-text,.lae-posts-gridbox-item.lae-align-middle-right .lae-post-overlay .lae-post-text,.lae-posts-multislider-item.lae-align-middle-center .lae-post-overlay .lae-post-text,.lae-posts-multislider-item.lae-align-middle-left .lae-post-overlay .lae-post-text,.lae-posts-multislider-item.lae-align-middle-right .lae-post-overlay .lae-post-text{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.lae-posts-gridbox-item.lae-align-bottom-center .lae-post-overlay .lae-post-text,.lae-posts-gridbox-item.lae-align-bottom-left .lae-post-overlay .lae-post-text,.lae-posts-gridbox-item.lae-align-bottom-right .lae-post-overlay .lae-post-text,.lae-posts-multislider-item.lae-align-bottom-center .lae-post-overlay .lae-post-text,.lae-posts-multislider-item.lae-align-bottom-left .lae-post-overlay .lae-post-text,.lae-posts-multislider-item.lae-align-bottom-right .lae-post-overlay .lae-post-text{bottom:0}.lae-posts-gridbox-item.lae-align-bottom-left .lae-post-text,.lae-posts-gridbox-item.lae-align-left .lae-post-text,.lae-posts-gridbox-item.lae-align-middle-left .lae-post-text,.lae-posts-gridbox-item.lae-align-top-left .lae-post-text,.lae-posts-multislider-item.lae-align-bottom-left .lae-post-text,.lae-posts-multislider-item.lae-align-left .lae-post-text,.lae-posts-multislider-item.lae-align-middle-left .lae-post-text,.lae-posts-multislider-item.lae-align-top-left .lae-post-text{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;text-align:left}.lae-posts-gridbox-item.lae-align-bottom-center .lae-post-text,.lae-posts-gridbox-item.lae-align-center .lae-post-text,.lae-posts-gridbox-item.lae-align-middle-center .lae-post-text,.lae-posts-gridbox-item.lae-align-top-center .lae-post-text,.lae-posts-multislider-item.lae-align-bottom-center .lae-post-text,.lae-posts-multislider-item.lae-align-center .lae-post-text,.lae-posts-multislider-item.lae-align-middle-center .lae-post-text,.lae-posts-multislider-item.lae-align-top-center .lae-post-text{-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:center}.lae-posts-gridbox-item.lae-align-bottom-right .lae-post-text,.lae-posts-gridbox-item.lae-align-middle-right .lae-post-text,.lae-posts-gridbox-item.lae-align-right .lae-post-text,.lae-posts-gridbox-item.lae-align-top-right .lae-post-text,.lae-posts-multislider-item.lae-align-bottom-right .lae-post-text,.lae-posts-multislider-item.lae-align-middle-right .lae-post-text,.lae-posts-multislider-item.lae-align-right .lae-post-text,.lae-posts-multislider-item.lae-align-top-right .lae-post-text{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;text-align:right}.lae-posts-gridbox-slider-style-1 .lae-posts-gridbox{display:grid;grid-gap:1px;grid-template-columns:1fr;grid-template-areas:'tile1' 'tile1' 'tile2' 'tile3'}.lae-posts-gridbox-slider-style-1 .lae-posts-gridbox .lae-posts-gridbox-item:nth-child(1){grid-area:tile1}.lae-posts-gridbox-slider-style-1 .lae-posts-gridbox .lae-posts-gridbox-item:nth-child(2){grid-area:tile2}.lae-posts-gridbox-slider-style-1 .lae-posts-gridbox .lae-posts-gridbox-item:nth-child(3){grid-area:tile3}@media (min-width:760px){.lae-posts-gridbox-slider-style-1 .lae-posts-gridbox{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:'tile1 tile1' 'tile2 tile3';grid-gap:2px}}@media (min-width:1024px){.lae-posts-gridbox-slider-style-1 .lae-posts-gridbox{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;grid-template-areas:'tile1 tile1 tile2 tile2' 'tile1 tile1 tile3 tile3';grid-gap:2px}}.lae-posts-gridbox-slider-style-2 .lae-posts-gridbox{display:grid;grid-gap:1px;grid-template-columns:1fr;grid-template-areas:'tile1' 'tile1' 'tile2' 'tile3' 'tile4' 'tile5'}.lae-posts-gridbox-slider-style-2 .lae-posts-gridbox .lae-posts-gridbox-item:nth-child(1){grid-area:tile1}.lae-posts-gridbox-slider-style-2 .lae-posts-gridbox .lae-posts-gridbox-item:nth-child(2){grid-area:tile2}.lae-posts-gridbox-slider-style-2 .lae-posts-gridbox .lae-posts-gridbox-item:nth-child(3){grid-area:tile3}.lae-posts-gridbox-slider-style-2 .lae-posts-gridbox .lae-posts-gridbox-item:nth-child(4){grid-area:tile4}.lae-posts-gridbox-slider-style-2 .lae-posts-gridbox .lae-posts-gridbox-item:nth-child(5){grid-area:tile5}@media (min-width:760px){.lae-posts-gridbox-slider-style-2 .lae-posts-gridbox{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:'tile1 tile1' 'tile1 tile1' 'tile2 tile3' 'tile4 tile5';grid-gap:2px}}@media (min-width:1024px){.lae-posts-gridbox-slider-style-2 .lae-posts-gridbox{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;grid-template-areas:'tile1 tile1 tile2 tile3' 'tile1 tile1 tile4 tile5';grid-gap:2px}}.lae-posts-gridbox-slider-style-3 .lae-posts-gridbox{display:grid;grid-gap:1px;grid-template-columns:1fr;grid-template-areas:'tile1' 'tile2' 'tile3' 'tile4' 'tile5'}.lae-posts-gridbox-slider-style-3 .lae-posts-gridbox .lae-posts-gridbox-item:nth-child(1){grid-area:tile1}.lae-posts-gridbox-slider-style-3 .lae-posts-gridbox .lae-posts-gridbox-item:nth-child(2){grid-area:tile2}.lae-posts-gridbox-slider-style-3 .lae-posts-gridbox .lae-posts-gridbox-item:nth-child(3){grid-area:tile3}.lae-posts-gridbox-slider-style-3 .lae-posts-gridbox .lae-posts-gridbox-item:nth-child(4){grid-area:tile4}.lae-posts-gridbox-slider-style-3 .lae-posts-gridbox .lae-posts-gridbox-item:nth-child(5){grid-area:tile5}.lae-posts-gridbox-slider-style-3 .lae-posts-gridbox .lae-posts-gridbox-item .lae-post-text .lae-post-content .lae-post-summary{display:none}@media (min-width:760px){.lae-posts-gridbox-slider-style-3 .lae-posts-gridbox{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:'tile1 tile1' 'tile2 tile3' 'tile4 tile5';grid-gap:2px}}@media (min-width:1024px){.lae-posts-gridbox-slider-style-3 .lae-posts-gridbox{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr;grid-template-areas:'tile1 tile1 tile1 tile2 tile2 tile2' 'tile3 tile3 tile4 tile4 tile5 tile5';grid-gap:2px}.lae-posts-gridbox-slider-style-3 .lae-posts-gridbox .lae-posts-gridbox-item .lae-post-text .lae-post-content .lae-post-summary{display:block}}.lae-posts-multislider-style-1 .lae-post-featured-img-bg{margin-bottom:0}.lae-posts-multislider-style-1 .lae-posts-multislider-item .lae-post-overlay.lae-post-featured-img-bg::before{position:absolute;z-index:0;left:0;top:0;right:0;bottom:0;content:'';background-color:transparent;-webkit-transition:all .2s linear;transition:all .2s linear}.lae-posts-multislider-style-1 .lae-posts-multislider-item.lae-align-middle-center .lae-post-overlay.lae-post-featured-img-bg::before,.lae-posts-multislider-style-1 .lae-posts-multislider-item.lae-align-middle-left .lae-post-overlay.lae-post-featured-img-bg::before,.lae-posts-multislider-style-1 .lae-posts-multislider-item.lae-align-middle-right .lae-post-overlay.lae-post-featured-img-bg::before{background-color:rgba(40,40,40,.125)}.lae-posts-multislider-style-1 .lae-posts-multislider-item.lae-align-top-center .lae-post-overlay.lae-post-featured-img-bg::before,.lae-posts-multislider-style-1 .lae-posts-multislider-item.lae-align-top-left .lae-post-overlay.lae-post-featured-img-bg::before,.lae-posts-multislider-style-1 .lae-posts-multislider-item.lae-align-top-right .lae-post-overlay.lae-post-featured-img-bg::before{background-image:-webkit-gradient(linear,left top,left bottom,from(#121928),color-stop(30%,rgba(18,25,42,0)));background-image:linear-gradient(180deg,#121928 0,rgba(18,25,42,0) 30%)}.lae-posts-multislider-style-1 .lae-posts-multislider-item.lae-align-bottom-center .lae-post-overlay.lae-post-featured-img-bg::before,.lae-posts-multislider-style-1 .lae-posts-multislider-item.lae-align-bottom-left .lae-post-overlay.lae-post-featured-img-bg::before,.lae-posts-multislider-style-1 .lae-posts-multislider-item.lae-align-bottom-right .lae-post-overlay.lae-post-featured-img-bg::before{background-image:-webkit-gradient(linear,left bottom,left top,from(#121928),color-stop(30%,rgba(18,25,42,0)));background-image:linear-gradient(0deg,#121928 0,rgba(18,25,42,0) 30%)}.lae-slider-arrow-placement-bottom-left .lae-posts-multislider-style-2 button.slick-next,.lae-slider-arrow-placement-bottom-left .lae-posts-multislider-style-2 button.slick-prev,.lae-slider-arrow-placement-bottom-left .lae-posts-multislider-style-3 button.slick-next,.lae-slider-arrow-placement-bottom-left .lae-posts-multislider-style-3 button.slick-prev,.lae-slider-arrow-placement-bottom-right .lae-posts-multislider-style-2 button.slick-next,.lae-slider-arrow-placement-bottom-right .lae-posts-multislider-style-2 button.slick-prev,.lae-slider-arrow-placement-bottom-right .lae-posts-multislider-style-3 button.slick-next,.lae-slider-arrow-placement-bottom-right .lae-posts-multislider-style-3 button.slick-prev{bottom:-35px}.lae-slider-arrow-placement-middle-center .lae-posts-multislider-style-3 button.slick-next,.lae-slider-arrow-placement-middle-center .lae-posts-multislider-style-3 button.slick-prev{margin-top:-6px}.lae-posts-multislider-style-3 .lae-post-featured-img-bg{margin-bottom:0;border-radius:5px 5px 0 0}.lae-posts-multislider-style-3 .lae-post-text-wrap{padding:25px;border:1px solid #e4e4e4;-webkit-box-shadow:0 3px 12px 0 rgba(0,0,0,.03);box-shadow:0 3px 12px 0 rgba(0,0,0,.03);border-radius:0 0 5px 5px;margin-bottom:12px}.lae-pricing-table{clear:both}.lae-pricing-table .lae-pricing-plan{float:left;padding:10px}.lae-pricing-table{padding:0}.lae-pricing-table .lae-top-header{padding:15px 0;background-color:#494949;border-bottom:1px solid #2c2b2b}.lae-pricing-table .lae-top-header .lae-plan-name{font-size:18px;line-height:26px;letter-spacing:1px;font-weight:700;color:#333;text-transform:uppercase;clear:none;margin-top:0;margin-bottom:10px;font-size:20px;line-height:32px;color:#fefefe;margin:0}.lae-pricing-table .lae-top-header img{margin-top:15px}.lae-pricing-table .lae-top-header .lae-tagline{display:block;font-size:15px;line-height:24px;color:#ededed;text-transform:none;text-align:center;margin-bottom:5px}.lae-pricing-table .lae-pricing-plan{background:#fff;padding:0;-webkit-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;-webkit-transition:all .1s ease-in-out 0s;transition:all .1s ease-in-out 0s;margin-bottom:20px}.lae-pricing-table .lae-pricing-plan:hover .lae-purchase{background:#e5e5e5}.lae-pricing-table .lae-pricing-plan .lae-plan-price{color:#fff;font-size:22px;line-height:28px;font-weight:700;margin:0}.lae-pricing-table .lae-pricing-plan .lae-plan-price span{font-size:22px;line-height:32px}.lae-pricing-table .lae-plan-header{padding:30px 0 30px;background-color:#494949}.lae-pricing-table .lae-plan-price .lae-text{display:inline-block;padding:6px 25px;border-radius:25px;background:#2c2b2b}.lae-pricing-table .lae-plan-price sup{font-size:18px;line-height:32px;vertical-align:top;margin-right:2px;position:static}.lae-pricing-table .lae-plan-details{padding:15px 0;margin:0;border:1px solid #eee}.lae-pricing-table .lae-plan-details .lae-pricing-item{list-style:none;display:block;padding:6px;margin:0;-webkit-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;text-align:center}.lae-pricing-table .lae-plan-details .lae-pricing-item i{color:#777;font-size:18px;display:inline;margin-right:8px}.lae-pricing-table .lae-plan-details .lae-pricing-item .lae-title{color:#838383;margin-bottom:10px}.lae-pricing-table .lae-plan-details .lae-pricing-item .lae-value-wrap{display:block}.lae-pricing-table .lae-plan-details .lae-pricing-item .lae-value-wrap:after{position:relative;content:"";background:#ddd;width:120px;height:1px;display:block;margin:12px auto 0}.lae-pricing-table .lae-plan-details .lae-pricing-item .lae-value{color:#444;font-size:24px;line-height:32px;display:inline}.lae-pricing-table .lae-plan-details .lae-pricing-item s{color:#b4c9d3}.lae-pricing-table .lae-plan-details .lae-pricing-item:last-child .lae-value-wrap:after{display:none}.lae-pricing-table .lae-purchase{text-align:center;text-transform:uppercase;padding:15px;margin:0 auto;background:#f1f1f1;-webkit-transition:all .1s ease-in-out 0s;transition:all .1s ease-in-out 0s;border-left:1px solid #eee;border-right:1px solid #eee;border-bottom:1px solid #eee}.lae-pricing-table .lae-purchase a{padding:12px 25px;border-radius:5px;letter-spacing:0;font-size:16px;line-height:24px;letter-spacing:6px;font-weight:700}.lae-pricing-table .lae-pricing-plan.lae-highlight{background:#f5f5f5;margin-top:-10px}.lae-pricing-table .lae-pricing-plan.lae-highlight .lae-plan-details{border-color:#e5e5e5}.lae-pricing-table .lae-pricing-plan.lae-highlight .lae-top-header{padding:20px 0}.lae-pricing-table .lae-pricing-plan.lae-highlight .lae-pricing-table .lae-top-header .lae-plan-name{color:#28c2ba}.lae-pricing-table .lae-pricing-plan.lae-highlight .lae-purchase{padding:20px 0;background-color:#e5e5e5;border-color:#ddd}.lae-services{clear:both}.lae-services .lae-service{margin-bottom:20px}.lae-services .lae-service .lae-icon-wrapper i{-webkit-transition:color .4s ease-in-out 0s;transition:color .4s ease-in-out 0s}.lae-services .lae-service .lae-icon-wrapper i:hover{color:#555}.lae-dark-bg .lae-services .lae-service .lae-icon-wrapper i:hover{color:#d5d5d5}.lae-services .lae-service .lae-service-text{font-size:15px;line-height:24px}.lae-dark-bg .lae-services .lae-service .lae-service-text{color:rgba(255,255,255,.7)}.lae-dark-bg .lae-services .lae-service .lae-service-text .lae-title{color:#fff}.lae-dark-bg .lae-services .lae-service .lae-service-text .lae-service-details{color:rgba(255,255,255,.7)}.lae-services .lae-service .lae-service-text .lae-title-link .lae-title{-webkit-transition:color .3s ease-in-out 0s;transition:color .3s ease-in-out 0s}.lae-services .lae-service .lae-service-text .lae-title-link:hover .lae-title{color:#666}.lae-dark-bg .lae-services .lae-service .lae-service-text .lae-title-link:hover .lae-title{color:rgba(255,255,255,.7)}.lae-services-style1 .lae-service .lae-icon-wrapper i{display:block;text-align:center;font-size:96px;line-height:1;margin-bottom:20px;-webkit-transition:color .4s ease-in-out 0s;transition:color .4s ease-in-out 0s;color:#888}.lae-dark-bg .lae-services-style1 .lae-service .lae-icon-wrapper i{color:#a5a5a5}.lae-dark-bg .lae-services-style1 .lae-service .lae-icon-wrapper i:hover{color:#c5c5c5}.lae-services-style1 .lae-service .lae-image-wrapper img{display:block;max-width:100%;text-align:center;margin:0 auto 25px;-webkit-transition:all .4s ease-in-out 0s;transition:all .4s ease-in-out 0s}.lae-services-style1 .lae-service .lae-service-text{text-align:center;max-width:300px;margin:0 auto}.lae-services-style1 .lae-service .lae-service-text .lae-title{font-size:18px;line-height:26px;letter-spacing:1px;font-weight:700;color:#333;text-transform:uppercase;clear:none;margin-top:0;margin-bottom:10px;margin-bottom:20px}.lae-services-style1 .lae-service:hover .lae-image-wrapper img{-webkit-transform:scale(.9,.9);transform:scale(.9,.9)}.lae-services-style2 .lae-service .lae-icon-wrapper i,.lae-services-style2 .lae-service .lae-image-wrapper img{float:left;margin-right:18px;color:#888}.rtl .lae-services-style2 .lae-service .lae-icon-wrapper i,.rtl .lae-services-style2 .lae-service .lae-image-wrapper img{float:right;margin:0 0 0 18px}.lae-dark-bg .lae-services-style2 .lae-service .lae-icon-wrapper i,.lae-dark-bg .lae-services-style2 .lae-service .lae-image-wrapper img{color:#a5a5a5}.lae-dark-bg .lae-services-style2 .lae-service .lae-icon-wrapper i:hover,.lae-dark-bg .lae-services-style2 .lae-service .lae-image-wrapper img:hover{color:#c5c5c5}.lae-services-style2 .lae-service .lae-icon-wrapper i{font-size:24px;line-height:32px}.lae-services-style2 .lae-service .lae-service-text .lae-title{font-size:18px;line-height:26px;letter-spacing:1px;font-weight:700;color:#333;text-transform:uppercase;clear:none;margin-top:0;margin-bottom:10px;margin-bottom:20px}.lae-services-style3 .lae-service .lae-icon-wrapper i{display:block;text-align:left;font-size:80px;line-height:1;margin-bottom:25px;color:#555}.rtl .lae-services-style3 .lae-service .lae-icon-wrapper i{text-align:right}.lae-services-style3 .lae-service .lae-icon-wrapper i:hover{color:#888}.lae-dark-bg .lae-services-style3 .lae-service .lae-icon-wrapper i{color:#c5c5c5}.lae-dark-bg .lae-services-style3 .lae-service .lae-icon-wrapper i:hover{color:#e5e5e5}.lae-services-style3 .lae-service .lae-image-wrapper img{display:block;max-width:100%;text-align:left;margin-bottom:25px}.lae-services-style3 .lae-service .lae-service-text{text-align:left;max-width:300px;margin:0;font-size:14px;line-height:26px;color:#888}.rtl .lae-services-style3 .lae-service .lae-service-text{text-align:right}.lae-services-style3 .lae-service .lae-service-text ul.lae-services-list{padding:0;margin:0;border:none}.lae-services-style3 .lae-service .lae-service-text ul.lae-services-list li{border-bottom:1px solid #eee;position:relative;padding:0;margin:0;list-style:none;line-height:42px}.lae-services-style3 .lae-service .lae-service-text ul.lae-services-list li:hover{padding:0}.lae-dark-bg .lae-services-style3 .lae-service .lae-service-text ul.lae-services-list li{border-color:#333}.lae-services-style3 .lae-service .lae-service-text ul.lae-services-list li:before{font-family:lae-icomoon!important;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;position:relative;display:inline-block;height:auto;width:auto;background:0 0;float:none;vertical-align:middle;margin:0 15px 0 0;content:"\e917";color:#bbb;font-size:12px;line-height:1}.rtl .lae-services-style3 .lae-service .lae-service-text ul.lae-services-list li:before{display:none}.lae-dark-bg .lae-services-style3 .lae-service .lae-service-text ul.lae-services-list li:before{color:#606060}.lae-services-style3 .lae-service .lae-service-text .lae-title{font-size:18px;line-height:26px;letter-spacing:1px;font-weight:700;color:#333;text-transform:uppercase;clear:none;margin-top:0;margin-bottom:10px;margin-bottom:20px}.lae-stats-bars{clear:both}.lae-stats-bars .lae-stats-bar{width:100%;display:block;margin:0 0 18px;overflow:hidden}.lae-stats-bars .lae-stats-bar .lae-stats-title{margin:0;display:block;color:#888;font-style:normal;font-size:15px;text-transform:none;color:#333;font-size:16px;line-height:28px}.lae-stats-bars .lae-stats-bar .lae-stats-title span{margin-left:5px}.rtl .lae-stats-bars .lae-stats-bar .lae-stats-title span{display:inline-block;margin:0 5px 0 0}.lae-dark-bg .lae-stats-bars .lae-stats-bar .lae-stats-title{color:#fff}.lae-stats-bars .lae-stats-bar .lae-stats-bar-wrap{position:relative}.lae-stats-bars .lae-stats-bar .lae-stats-bar-content{background:#e55a54;display:block;height:10px;width:0;position:relative;z-index:1;border-radius:5px}.lae-stats-bars .lae-stats-bar .lae-stats-bar-bg{width:100%;background:rgba(0,0,0,.1);height:10px;display:block;margin-top:-10px;border-radius:5px}.lae-dark-bg .lae-stats-bars .lae-stats-bar .lae-stats-bar-bg{background:rgba(255,255,255,.1)}.lae-tab-slider.slick-slider{clear:both;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column nowrap;flex-flow:column nowrap}.lae-tab-slider .slick-list{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.lae-tab-slider .slick-list .slick-slide .lae-tab-slide-nav{display:none}.lae-tab-slider .slick-dots{list-style:none;margin:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.lae-tab-slider .slick-dots li{list-style:none;margin:0 20px 0 0}.lae-tab-slider .slick-dots li:last-child{margin-right:0}.lae-tab-slider .slick-dots .lae-tab-slide-nav{display:block;text-overflow:ellipsis;white-space:normal;text-decoration:none;border:none;margin:0;outline:0}.lae-tab-slider .slick-dots .lae-tab-slide-nav span.lae-icon-wrapper i{font-size:32px;vertical-align:middle;margin-right:10px;-webkit-transition:color .3s ease-in-out 0s;transition:color .3s ease-in-out 0s}.rtl .lae-tab-slider .slick-dots .lae-tab-slide-nav span.lae-icon-wrapper i{margin:0 0 0 15px}.lae-tab-slider .slick-dots .lae-tab-slide-nav span.lae-image-wrapper img{display:inline-block;vertical-align:middle;height:auto;width:auto;padding:0;margin:0 10px 0 0;border:none}.lae-tab-slider .slick-dots .lae-tab-slide-nav span.lae-tab-title{font-size:14px;line-height:1;font-weight:700;letter-spacing:1px;-webkit-transition:color .3s ease-in-out 0s;transition:color .3s ease-in-out 0s;vertical-align:middle}.lae-tab-slider .lae-tab-slide{position:relative}.lae-tab-slider.lae-style1{background:#f2f2f2;border-radius:5px}.lae-tab-slider.lae-style1 .slick-list .lae-tab-slide .lae-tab-slide-content{padding:40px}.lae-tab-slider.lae-style1 .slick-dots{border-bottom:1px solid #ddd;margin:0 40px;text-align:center}.lae-tab-slider.lae-style1 .slick-dots .lae-tab-slide-nav{position:relative;z-index:1;padding:30px 40px}@media only screen and (max-width:1024px){.lae-tab-slider.lae-style1 .slick-dots .lae-tab-slide-nav{padding:25px 20px}}.lae-tab-slider.lae-style1 .slick-dots .lae-tab-slide-nav:before{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background:0 0;-webkit-transition:background .3s ease-in-out 0s;transition:background .3s ease-in-out 0s}.lae-tab-slider.lae-style1 .slick-dots .lae-tab-slide-nav .lae-tab-title{color:#888;padding:30px 20px;text-transform:uppercase}.lae-tab-slider.lae-style1 .slick-dots .lae-tab-slide-nav:hover .lae-tab-title{color:#565656}.lae-tab-slider.lae-style1 .slick-dots li.slick-active .lae-tab-slide-nav .lae-tab-title{color:#333}.lae-tab-slider.lae-style1 .slick-dots li.slick-active .lae-tab-slide-nav:before{background:#f94213;height:2px}@media only screen and (max-width:767px){.lae-tab-slider.lae-style1 .slick-dots{margin:0 30px}}.lae-tab-slider.lae-style2 .slick-list .lae-tab-slide .lae-tab-slide-content{margin-top:40px;font-size:16px;line-height:27px}.lae-tab-slider.lae-style2 .slick-dots li{margin:0 60px 0 0}.lae-tab-slider.lae-style2 .slick-dots li:last-child{margin-right:0}.lae-tab-slider.lae-style2 .slick-dots .lae-tab-slide-nav{text-align:center}.lae-tab-slider.lae-style2 .slick-dots .lae-tab-slide-nav span.lae-icon-wrapper i{display:block;margin:0 auto;font-size:84px;color:#aaa}.lae-tab-slider.lae-style2 .slick-dots .lae-tab-slide-nav span.lae-image-wrapper img{max-width:none;display:block;margin:0 auto;width:84px}.lae-tab-slider.lae-style2 .slick-dots .lae-tab-slide-nav .lae-tab-title{display:block;color:#999;font-size:16px;line-height:26px;letter-spacing:1px;font-weight:600;margin:20px auto 0;text-transform:uppercase}.lae-tab-slider.lae-style2 .slick-dots .lae-tab-slide-nav:hover span.lae-icon-wrapper i{color:#565656}.lae-tab-slider.lae-style2 .slick-dots .lae-tab-slide-nav:hover .lae-tab-title{color:#747373}.lae-tab-slider.lae-style2 .slick-dots li.slick-active .lae-tab-slide-nav span.lae-icon-wrapper i{color:#747373}.lae-tab-slider.lae-style2 .slick-dots li.slick-active .lae-tab-slide-nav .lae-tab-title{color:#747373}@media only screen and (max-width:1024px){.lae-tab-slider.lae-style2 .slick-dots .lae-tab-slide-nav span.lae-icon-wrapper i{font-size:64px}.lae-tab-slider.lae-style2 .slick-dots .lae-tab-slide-nav span.lae-image-wrapper i{width:64px}.lae-tab-slider.lae-style2 .slick-dots .lae-tab-slide-nav .lae-tab-title{font-size:15px;line-height:24px;letter-spacing:1px}}.lae-tab-slider.lae-style3 .slick-list .lae-tab-slide .lae-tab-slide-content{margin-top:20px;font-size:15px;line-height:26px}.lae-tab-slider.lae-style3 .slick-dots li{margin:0 60px 20px 0}.lae-tab-slider.lae-style3 .slick-dots li:last-child{margin-right:0}.lae-tab-slider.lae-style3 .slick-dots .lae-tab-slide-nav{text-align:center;border-top:2px solid transparent;border-bottom:2px solid transparent;padding:5px 0}.lae-tab-slider.lae-style3 .slick-dots .lae-tab-slide-nav span.lae-icon-wrapper i{color:#aaa}.lae-tab-slider.lae-style3 .slick-dots .lae-tab-slide-nav span.lae-image-wrapper img{width:32px}.lae-tab-slider.lae-style3 .slick-dots .lae-tab-slide-nav .lae-tab-title{color:#999;font-size:15px;line-height:26px;font-weight:600;text-transform:uppercase}.lae-tab-slider.lae-style3 .slick-dots .lae-tab-slide-nav:hover span.lae-icon-wrapper i{color:#565656}.lae-tab-slider.lae-style3 .slick-dots .lae-tab-slide-nav:hover .lae-tab-title{color:#747373}.lae-tab-slider.lae-style3 .slick-dots li.slick-active .lae-tab-slide-nav{border-color:#f94213}.lae-tab-slider.lae-style3 .slick-dots li.slick-active .lae-tab-slide-nav span.lae-icon-wrapper i{color:#747373}.lae-tab-slider.lae-style3 .slick-dots li.slick-active .lae-tab-slide-nav .lae-tab-title{color:#747373}@media only screen and (max-width:767px){.lae-tab-slider.lae-style3 .slick-dots li{margin:0 40px 15px 0}.lae-tab-slider.lae-style3 .slick-dots li:last-child{margin-right:0}.lae-tab-slider.lae-style3 .slick-dots .lae-tab-slide-nav .lae-tab-title{font-size:14px;line-height:22px}}.lae-team-members{clear:both}.lae-team-members .lae-team-member .lae-social-list{margin-top:20px}.lae-team-members .lae-team-member .lae-social-list .lae-social-list-item{display:inline;margin:0 15px 0 0}.lae-team-members .lae-team-member .lae-social-list .lae-social-list-item i{color:#999;-webkit-transition:color .3s ease-in-out 0s;transition:color .3s ease-in-out 0s}.lae-team-members .lae-team-member .lae-social-list .lae-social-list-item i:hover{color:#666}.lae-team-members .lae-team-member .lae-team-member-details{font-size:15px;line-height:24px}.lae-team-members .lae-team-member .lae-team-member-text .lae-title{font-size:18px;line-height:26px;letter-spacing:1px;font-weight:700;color:#333;text-transform:uppercase;clear:none;margin-top:0;margin-bottom:10px}.lae-team-members .lae-team-member .lae-team-member-text .lae-title-link .lae-title{-webkit-transition:color .4s ease-in-out 0s;transition:color .4s ease-in-out 0s}.lae-team-members .lae-team-member .lae-team-member-text .lae-title-link:hover .lae-title{color:#666}.lae-team-members .lae-team-member .lae-team-member-text .lae-team-member-position{font-size:15px;line-height:24px;font-style:italic;color:#888;margin-bottom:10px}.lae-team-members-style1 .lae-team-member{max-width:320px;margin:0 auto}.lae-team-members-style1 .lae-team-member .lae-image-wrapper{text-align:center;position:relative}.lae-team-members-style1 .lae-team-member .lae-image-wrapper img{max-width:100%;margin:0 auto 30px;border-radius:50%;-webkit-transition:all .3s ease-in-out 0s;transition:all .3s ease-in-out 0s}.lae-team-members-style1 .lae-team-member .lae-image-wrapper .lae-social-list{position:absolute;width:100%;top:40%;z-index:2}@media only screen and (max-width:767px){.lae-team-members-style1 .lae-team-member .lae-image-wrapper .lae-social-list{position:relative;top:0}}.lae-team-members-style1 .lae-team-member .lae-image-wrapper .lae-social-list i{font-size:26px;color:#fff;opacity:0;-webkit-transition:all .3s ease-in-out 0s;transition:all .3s ease-in-out 0s}.lae-team-members-style1 .lae-team-member .lae-image-wrapper .lae-social-list i:hover{color:#ccc}@media only screen and (max-width:767px){.lae-team-members-style1 .lae-team-member .lae-image-wrapper .lae-social-list i{color:#999;opacity:1}.lae-dark-bg .lae-team-members-style1 .lae-team-member .lae-image-wrapper .lae-social-list i{color:#888}.lae-team-members-style1 .lae-team-member .lae-image-wrapper .lae-social-list i:hover{color:#666}.lae-dark-bg .lae-team-members-style1 .lae-team-member .lae-image-wrapper .lae-social-list i:hover{color:#ccc}}.lae-team-members-style1 .lae-team-member:hover .lae-image-wrapper img{-webkit-filter:brightness(50%);filter:brightness(50%)}@media only screen and (max-width:767px){.lae-team-members-style1 .lae-team-member:hover .lae-image-wrapper img{-webkit-filter:brightness(80%);filter:brightness(80%)}}.lae-team-members-style1 .lae-team-member:hover .lae-image-wrapper .lae-social-list i{opacity:1}.lae-team-members-style1 .lae-team-member .lae-team-member-text{text-align:center;max-width:650px}.lae-team-members-style1 .lae-team-member .lae-team-member-text .lae-title{margin-bottom:10px}.lae-team-members-style1 .lae-team-member .lae-social-list{margin:10px auto}.lae-team-members-style2{position:relative;max-width:960px}.lae-team-members-style2 .lae-team-member-wrapper{margin-top:75px}.lae-team-members-style2 .lae-team-member-wrapper .lae-team-member{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.lae-team-members-style2 .lae-team-member-wrapper .lae-team-member .lae-image-wrapper{text-align:center;position:relative}.lae-team-members-style2 .lae-team-member-wrapper .lae-team-member .lae-image-wrapper img{max-width:320px;margin:0 auto 20px;border-radius:50%;-webkit-transition:all .3s ease-in-out 0s;transition:all .3s ease-in-out 0s}.lae-team-members-style2 .lae-team-member-wrapper .lae-team-member .lae-team-member-text{max-width:400px;margin:0 auto;text-align:center}@media only screen and (min-width:768px){.lae-team-members-style2 .lae-team-member-wrapper{margin-top:100px}.lae-team-members-style2 .lae-team-member-wrapper .lae-team-member{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.lae-team-members-style2 .lae-team-member-wrapper .lae-team-member .lae-team-member-text{max-width:100%}.lae-team-members-style2 .lae-team-member-wrapper:nth-child(odd) .lae-image-wrapper{margin-right:50px;-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.lae-team-members-style2 .lae-team-member-wrapper:nth-child(odd) .lae-team-member-text{text-align:left}.lae-team-members-style2 .lae-team-member-wrapper:nth-child(even) .lae-image-wrapper{margin-left:50px;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.lae-team-members-style2 .lae-team-member-wrapper:nth-child(even) .lae-team-member-text{text-align:right}}.lae-team-members-style2 .lae-team-member-wrapper:first-child{margin-top:0}.lae-team-members-style2 .lae-team-member-wrapper .lae-team-member-text .lae-title{margin-bottom:5px}.lae-team-members-style2 .lae-team-member-wrapper .lae-team-member-text .lae-team-member-details{margin:10px 0 10px}.lae-team-members-style2 .lae-team-member-wrapper .lae-team-member-text .lae-social-list i{font-size:24px}.lae-team-members-style2 .lae-team-member-wrapper:hover .lae-image-wrapper img{-webkit-filter:brightness(80%);filter:brightness(80%)}.lae-dark-bg .lae-team-members .lae-team-member .lae-team-member-details{color:rgba(255,255,255,.7)}.lae-dark-bg .lae-team-members .lae-team-member .lae-team-member-text .lae-title,.lae-dark-bg .lae-team-members .lae-team-member .lae-team-member-text .lae-title-link .lae-title{color:#fff}.lae-dark-bg .lae-team-members .lae-team-member .lae-team-member-text .lae-title-link:hover .lae-title{color:rgba(255,255,255,.7)}.lae-dark-bg .lae-team-members .lae-team-member .lae-team-member-text .lae-team-member-position{color:rgba(255,255,255,.5)}.lae-dark-bg .lae-team-members .lae-team-member .lae-team-member-text .lae-social-list i{color:#aaa}.lae-dark-bg .lae-team-members .lae-team-member .lae-team-member-text .lae-social-list i:hover{color:#ccc}.lae-testimonials-slider{clear:both;position:relative}.lae-testimonials-slider.lae-container{max-width:900px;margin:0 auto}.lae-testimonials-slider .lae-testimonial .lae-testimonial-star-rating{padding:0;margin:0 0 10px 0}.lae-testimonials-slider .lae-testimonial .lae-testimonial-star-rating .lae-testimonial-star-rating-item{display:inline-block}.lae-testimonials-slider .lae-testimonial .lae-testimonial-star-rating .lae-testimonial-star-rating-item svg{fill:#d8d8d8}.lae-testimonials-slider .lae-testimonial.lae-rating-five .lae-testimonial-star-rating .lae-testimonial-star-rating-item svg{fill:#f2b01e}.lae-testimonials-slider .lae-testimonial.lae-rating-one .lae-testimonial-star-rating .lae-testimonial-star-rating-item:first-child svg{fill:#f2b01e}.lae-testimonials-slider .lae-testimonial.lae-rating-two .lae-testimonial-star-rating .lae-testimonial-star-rating-item:nth-child(1) svg,.lae-testimonials-slider .lae-testimonial.lae-rating-two .lae-testimonial-star-rating .lae-testimonial-star-rating-item:nth-child(2) svg{fill:#f2b01e}.lae-testimonials-slider .lae-testimonial.lae-rating-three .lae-testimonial-star-rating .lae-testimonial-star-rating-item:nth-child(1) svg,.lae-testimonials-slider .lae-testimonial.lae-rating-three .lae-testimonial-star-rating .lae-testimonial-star-rating-item:nth-child(2) svg,.lae-testimonials-slider .lae-testimonial.lae-rating-three .lae-testimonial-star-rating .lae-testimonial-star-rating-item:nth-child(3) svg{fill:#f2b01e}.lae-testimonials-slider .lae-testimonial.lae-rating-four .lae-testimonial-star-rating .lae-testimonial-star-rating-item:nth-child(1) svg,.lae-testimonials-slider .lae-testimonial.lae-rating-four .lae-testimonial-star-rating .lae-testimonial-star-rating-item:nth-child(2) svg,.lae-testimonials-slider .lae-testimonial.lae-rating-four .lae-testimonial-star-rating .lae-testimonial-star-rating-item:nth-child(3) svg,.lae-testimonials-slider .lae-testimonial.lae-rating-four .lae-testimonial-star-rating .lae-testimonial-star-rating-item:nth-child(4) svg{fill:#f2b01e}.lae-testimonials-slider .lae-testimonial .lae-testimonial-text{text-align:center;max-width:750px;margin:0 auto 40px;font-size:18px;line-height:32px;font-style:italic;color:#666}.lae-dark-bg .lae-testimonials-slider .lae-testimonial .lae-testimonial-text{color:#ccc}.lae-testimonials-slider .lae-testimonial .lae-testimonial-text i{color:#ccc;font-size:32px;display:block;margin-bottom:35px;background:0 0;width:auto;height:auto}.lae-dark-bg .lae-testimonials-slider .lae-testimonial .lae-testimonial-text i{color:#ddd}.lae-testimonials-slider .lae-testimonial .lae-testimonial-user{display:table;margin:0 auto}.lae-testimonials-slider .lae-testimonial .lae-testimonial-user .lae-image-wrapper{display:table-cell}.lae-testimonials-slider .lae-testimonial .lae-testimonial-user .lae-image-wrapper img{max-width:64px;border-radius:50%;margin-right:15px}.rtl .lae-testimonials-slider .lae-testimonial .lae-testimonial-user .lae-image-wrapper img{margin:0 0 0 15px}.lae-testimonials-slider .lae-testimonial .lae-testimonial-user .lae-user-text{display:table-cell;vertical-align:middle;color:#888}.lae-dark-bg .lae-testimonials-slider .lae-testimonial .lae-testimonial-user .lae-user-text{color:#909090}.lae-testimonials-slider .lae-testimonial .lae-testimonial-user .lae-user-text .lae-author-name{font-size:18px;line-height:26px;letter-spacing:1px;font-weight:700;color:#333;text-transform:uppercase;clear:none;margin-top:0;margin-bottom:10px;font-size:15px;line-height:24px;margin-bottom:5px}.lae-dark-bg .lae-testimonials-slider .lae-testimonial .lae-testimonial-user .lae-user-text .lae-author-name{color:#e5e5e5}.lae-testimonials{clear:both}.lae-testimonials .lae-testimonial{margin-bottom:20px}.lae-testimonials .lae-testimonial .lae-testimonial-star-rating{padding:0;margin:0}.lae-testimonials .lae-testimonial .lae-testimonial-star-rating .lae-testimonial-star-rating-item{display:inline-block}.lae-testimonials .lae-testimonial .lae-testimonial-star-rating .lae-testimonial-star-rating-item svg{fill:#d8d8d8}.lae-testimonials .lae-testimonial.lae-rating-five .lae-testimonial-star-rating .lae-testimonial-star-rating-item svg{fill:#f2b01e}.lae-testimonials .lae-testimonial.lae-rating-one .lae-testimonial-star-rating .lae-testimonial-star-rating-item:first-child svg{fill:#f2b01e}.lae-testimonials .lae-testimonial.lae-rating-two .lae-testimonial-star-rating .lae-testimonial-star-rating-item:nth-child(1) svg,.lae-testimonials .lae-testimonial.lae-rating-two .lae-testimonial-star-rating .lae-testimonial-star-rating-item:nth-child(2) svg{fill:#f2b01e}.lae-testimonials .lae-testimonial.lae-rating-three .lae-testimonial-star-rating .lae-testimonial-star-rating-item:nth-child(1) svg,.lae-testimonials .lae-testimonial.lae-rating-three .lae-testimonial-star-rating .lae-testimonial-star-rating-item:nth-child(2) svg,.lae-testimonials .lae-testimonial.lae-rating-three .lae-testimonial-star-rating .lae-testimonial-star-rating-item:nth-child(3) svg{fill:#f2b01e}.lae-testimonials .lae-testimonial.lae-rating-four .lae-testimonial-star-rating .lae-testimonial-star-rating-item:nth-child(1) svg,.lae-testimonials .lae-testimonial.lae-rating-four .lae-testimonial-star-rating .lae-testimonial-star-rating-item:nth-child(2) svg,.lae-testimonials .lae-testimonial.lae-rating-four .lae-testimonial-star-rating .lae-testimonial-star-rating-item:nth-child(3) svg,.lae-testimonials .lae-testimonial.lae-rating-four .lae-testimonial-star-rating .lae-testimonial-star-rating-item:nth-child(4) svg{fill:#f2b01e}.lae-testimonials .lae-testimonial .lae-testimonial-text{font-size:15px;line-height:24px}.lae-dark-bg .lae-testimonials .lae-testimonial .lae-testimonial-text{color:rgba(255,255,255,.7)}.lae-testimonials .lae-testimonial .lae-testimonial-user .lae-user-text{color:#888;font-size:15px;line-height:24px}.lae-dark-bg .lae-testimonials .lae-testimonial .lae-testimonial-user .lae-user-text{color:rgba(255,255,255,.5)}.lae-testimonials .lae-testimonial .lae-testimonial-user .lae-user-text .lae-author-name{font-size:15px;line-height:24px;letter-spacing:1px;font-weight:700;text-transform:uppercase;color:#333}.lae-dark-bg .lae-testimonials .lae-testimonial .lae-testimonial-user .lae-user-text .lae-author-name{color:#fff}.lae-testimonials-style1 .lae-testimonial-user,.lae-testimonials-style2 .lae-testimonial-user{display:table}.lae-testimonials-style1 .lae-testimonial-user .lae-image-wrapper,.lae-testimonials-style2 .lae-testimonial-user .lae-image-wrapper{display:table-cell}.lae-testimonials-style1 .lae-testimonial-user .lae-image-wrapper img,.lae-testimonials-style2 .lae-testimonial-user .lae-image-wrapper img{max-width:64px;border-radius:50%;margin-right:20px}.rtl .lae-testimonials-style1 .lae-testimonial-user .lae-image-wrapper img,.rtl .lae-testimonials-style2 .lae-testimonial-user .lae-image-wrapper img{margin:0 0 0 20px}.lae-testimonials-style1 .lae-testimonial-user .lae-user-text,.lae-testimonials-style2 .lae-testimonial-user .lae-user-text{display:table-cell;vertical-align:middle}.lae-testimonials-style1 .lae-testimonial-user .lae-user-text .lae-author-name,.lae-testimonials-style2 .lae-testimonial-user .lae-user-text .lae-author-name{margin:0 0 5px 0}.lae-testimonials-style1 .lae-testimonial .lae-testimonial-star-rating{margin:0 0 15px 0}.lae-testimonials-style1 .lae-testimonial .lae-testimonial-text{background:#fff;border:1px solid #dbdbdb;border-radius:30px;text-align:center;position:relative;padding:20px;margin-bottom:40px;font-style:italic;text-align:center;max-width:450px}.lae-dark-bg .lae-testimonials-style1 .lae-testimonial .lae-testimonial-text{color:#666;background:#eee}.lae-testimonials-style1 .lae-testimonial .lae-testimonial-text:after{content:'';display:block;background:#fff;border-left:1px solid #dbdbdb;border-bottom:1px solid #dbdbdb;background:#fff;transform:rotate(45deg);-webkit-transform:rotate(45deg);transform:skew(0deg,-44deg);width:24px;height:24px;position:absolute;bottom:-12px;left:40px;margin:auto}.rtl .lae-testimonials-style1 .lae-testimonial .lae-testimonial-text:after{left:auto;right:40px}.lae-dark-bg .lae-testimonials-style1 .lae-testimonial .lae-testimonial-text:after{background:#eee}.lae-testimonials-style2 .lae-testimonial .lae-testimonial-star-rating{margin:0 0 10px 0}.lae-testimonials-style2 .lae-testimonial .lae-testimonial-text{margin-top:20px}.lae-testimonials-style2 .lae-testimonial:not(.lae-rating-none) .lae-testimonial-text{margin-top:15px}.lae-testimonials-style3 .lae-testimonial .lae-testimonial-star-rating{margin:0 0 15px 0}.lae-testimonials-style3 .lae-testimonial .lae-testimonial-text{background:#e2e2e2;border:1px solid #e2e2e2;border-radius:10px;text-align:center;position:relative;padding:30px 15px;margin-bottom:40px;color:#444;max-width:450px;text-align:center;max-width:450px}.lae-dark-bg .lae-testimonials-style3 .lae-testimonial .lae-testimonial-text{color:#666;background:#eee}.lae-testimonials-style3 .lae-testimonial .lae-testimonial-text:after{content:"";position:absolute;top:100%;left:50%;margin:auto;margin-left:-15px;border-top:20px solid #e2e2e2;border-top-color:inherit;border-left:15px solid transparent;border-right:15px solid transparent}.lae-dark-bg .lae-testimonials-style3 .lae-testimonial .lae-testimonial-text:after{border-top-color:#eee}.lae-testimonials-style3 .lae-testimonial .lae-testimonial-user{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.lae-testimonials-style3 .lae-testimonial .lae-testimonial-user .lae-image-wrapper img{max-width:64px;border-radius:50%}.lae-testimonials-style3 .lae-testimonial .lae-testimonial-user .lae-user-text{text-align:center}.lae-testimonials-style3 .lae-testimonial .lae-testimonial-user .lae-user-text .lae-author-name{margin:15px 0 5px 0}.lae-testimonials-style4 .lae-testimonial{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;max-width:720px;margin:24px 0}.lae-testimonials-style4 .lae-testimonial .lae-testimonial-user-picture .lae-image-wrapper{position:relative;overflow:hidden;border-radius:50%;margin-right:32px}@media only screen and (max-width:640px){.lae-testimonials-style4 .lae-testimonial .lae-testimonial-user-picture .lae-image-wrapper{margin-right:25px}}.lae-testimonials-style4 .lae-testimonial .lae-testimonial-user-picture .lae-image-wrapper img{max-width:120px}@media only screen and (max-width:640px){.lae-testimonials-style4 .lae-testimonial .lae-testimonial-user-picture .lae-image-wrapper img{max-width:72px}}.lae-testimonials-style4 .lae-testimonial .lae-testimonial-info{text-align:left}.lae-testimonials-style4 .lae-testimonial .lae-testimonial-info .lae-testimonial-star-rating{margin-bottom:5px}.lae-testimonials-style4 .lae-testimonial .lae-testimonial-info .lae-user-text .lae-author-name{margin:15px 0 5px 0}
|
assets/js/anime.js
ADDED
@@ -0,0 +1,1312 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* anime.js v3.2.1
|
3 |
+
* (c) 2020 Julian Garnier
|
4 |
+
* Released under the MIT license
|
5 |
+
* animejs.com
|
6 |
+
*/
|
7 |
+
|
8 |
+
'use strict';
|
9 |
+
|
10 |
+
// Defaults
|
11 |
+
|
12 |
+
var defaultInstanceSettings = {
|
13 |
+
update: null,
|
14 |
+
begin: null,
|
15 |
+
loopBegin: null,
|
16 |
+
changeBegin: null,
|
17 |
+
change: null,
|
18 |
+
changeComplete: null,
|
19 |
+
loopComplete: null,
|
20 |
+
complete: null,
|
21 |
+
loop: 1,
|
22 |
+
direction: 'normal',
|
23 |
+
autoplay: true,
|
24 |
+
timelineOffset: 0
|
25 |
+
};
|
26 |
+
|
27 |
+
var defaultTweenSettings = {
|
28 |
+
duration: 1000,
|
29 |
+
delay: 0,
|
30 |
+
endDelay: 0,
|
31 |
+
easing: 'easeOutElastic(1, .5)',
|
32 |
+
round: 0
|
33 |
+
};
|
34 |
+
|
35 |
+
var validTransforms = ['translateX', 'translateY', 'translateZ', 'rotate', 'rotateX', 'rotateY', 'rotateZ', 'scale', 'scaleX', 'scaleY', 'scaleZ', 'skew', 'skewX', 'skewY', 'perspective', 'matrix', 'matrix3d'];
|
36 |
+
|
37 |
+
// Caching
|
38 |
+
|
39 |
+
var cache = {
|
40 |
+
CSS: {},
|
41 |
+
springs: {}
|
42 |
+
};
|
43 |
+
|
44 |
+
// Utils
|
45 |
+
|
46 |
+
function minMax(val, min, max) {
|
47 |
+
return Math.min(Math.max(val, min), max);
|
48 |
+
}
|
49 |
+
|
50 |
+
function stringContains(str, text) {
|
51 |
+
return str.indexOf(text) > -1;
|
52 |
+
}
|
53 |
+
|
54 |
+
function applyArguments(func, args) {
|
55 |
+
return func.apply(null, args);
|
56 |
+
}
|
57 |
+
|
58 |
+
var is = {
|
59 |
+
arr: function (a) { return Array.isArray(a); },
|
60 |
+
obj: function (a) { return stringContains(Object.prototype.toString.call(a), 'Object'); },
|
61 |
+
pth: function (a) { return is.obj(a) && a.hasOwnProperty('totalLength'); },
|
62 |
+
svg: function (a) { return a instanceof SVGElement; },
|
63 |
+
inp: function (a) { return a instanceof HTMLInputElement; },
|
64 |
+
dom: function (a) { return a.nodeType || is.svg(a); },
|
65 |
+
str: function (a) { return typeof a === 'string'; },
|
66 |
+
fnc: function (a) { return typeof a === 'function'; },
|
67 |
+
und: function (a) { return typeof a === 'undefined'; },
|
68 |
+
nil: function (a) { return is.und(a) || a === null; },
|
69 |
+
hex: function (a) { return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(a); },
|
70 |
+
rgb: function (a) { return /^rgb/.test(a); },
|
71 |
+
hsl: function (a) { return /^hsl/.test(a); },
|
72 |
+
col: function (a) { return (is.hex(a) || is.rgb(a) || is.hsl(a)); },
|
73 |
+
key: function (a) { return !defaultInstanceSettings.hasOwnProperty(a) && !defaultTweenSettings.hasOwnProperty(a) && a !== 'targets' && a !== 'keyframes'; },
|
74 |
+
};
|
75 |
+
|
76 |
+
// Easings
|
77 |
+
|
78 |
+
function parseEasingParameters(string) {
|
79 |
+
var match = /\(([^)]+)\)/.exec(string);
|
80 |
+
return match ? match[1].split(',').map(function (p) { return parseFloat(p); }) : [];
|
81 |
+
}
|
82 |
+
|
83 |
+
// Spring solver inspired by Webkit Copyright © 2016 Apple Inc. All rights reserved. https://webkit.org/demos/spring/spring.js
|
84 |
+
|
85 |
+
function spring(string, duration) {
|
86 |
+
|
87 |
+
var params = parseEasingParameters(string);
|
88 |
+
var mass = minMax(is.und(params[0]) ? 1 : params[0], .1, 100);
|
89 |
+
var stiffness = minMax(is.und(params[1]) ? 100 : params[1], .1, 100);
|
90 |
+
var damping = minMax(is.und(params[2]) ? 10 : params[2], .1, 100);
|
91 |
+
var velocity = minMax(is.und(params[3]) ? 0 : params[3], .1, 100);
|
92 |
+
var w0 = Math.sqrt(stiffness / mass);
|
93 |
+
var zeta = damping / (2 * Math.sqrt(stiffness * mass));
|
94 |
+
var wd = zeta < 1 ? w0 * Math.sqrt(1 - zeta * zeta) : 0;
|
95 |
+
var a = 1;
|
96 |
+
var b = zeta < 1 ? (zeta * w0 + -velocity) / wd : -velocity + w0;
|
97 |
+
|
98 |
+
function solver(t) {
|
99 |
+
var progress = duration ? (duration * t) / 1000 : t;
|
100 |
+
if (zeta < 1) {
|
101 |
+
progress = Math.exp(-progress * zeta * w0) * (a * Math.cos(wd * progress) + b * Math.sin(wd * progress));
|
102 |
+
} else {
|
103 |
+
progress = (a + b * progress) * Math.exp(-progress * w0);
|
104 |
+
}
|
105 |
+
if (t === 0 || t === 1) { return t; }
|
106 |
+
return 1 - progress;
|
107 |
+
}
|
108 |
+
|
109 |
+
function getDuration() {
|
110 |
+
var cached = cache.springs[string];
|
111 |
+
if (cached) { return cached; }
|
112 |
+
var frame = 1/6;
|
113 |
+
var elapsed = 0;
|
114 |
+
var rest = 0;
|
115 |
+
while(true) {
|
116 |
+
elapsed += frame;
|
117 |
+
if (solver(elapsed) === 1) {
|
118 |
+
rest++;
|
119 |
+
if (rest >= 16) { break; }
|
120 |
+
} else {
|
121 |
+
rest = 0;
|
122 |
+
}
|
123 |
+
}
|
124 |
+
var duration = elapsed * frame * 1000;
|
125 |
+
cache.springs[string] = duration;
|
126 |
+
return duration;
|
127 |
+
}
|
128 |
+
|
129 |
+
return duration ? solver : getDuration;
|
130 |
+
|
131 |
+
}
|
132 |
+
|
133 |
+
// Basic steps easing implementation https://developer.mozilla.org/fr/docs/Web/CSS/transition-timing-function
|
134 |
+
|
135 |
+
function steps(steps) {
|
136 |
+
if ( steps === void 0 ) steps = 10;
|
137 |
+
|
138 |
+
return function (t) { return Math.ceil((minMax(t, 0.000001, 1)) * steps) * (1 / steps); };
|
139 |
+
}
|
140 |
+
|
141 |
+
// BezierEasing https://github.com/gre/bezier-easing
|
142 |
+
|
143 |
+
var bezier = (function () {
|
144 |
+
|
145 |
+
var kSplineTableSize = 11;
|
146 |
+
var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);
|
147 |
+
|
148 |
+
function A(aA1, aA2) { return 1.0 - 3.0 * aA2 + 3.0 * aA1 }
|
149 |
+
function B(aA1, aA2) { return 3.0 * aA2 - 6.0 * aA1 }
|
150 |
+
function C(aA1) { return 3.0 * aA1 }
|
151 |
+
|
152 |
+
function calcBezier(aT, aA1, aA2) { return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT }
|
153 |
+
function getSlope(aT, aA1, aA2) { return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1) }
|
154 |
+
|
155 |
+
function binarySubdivide(aX, aA, aB, mX1, mX2) {
|
156 |
+
var currentX, currentT, i = 0;
|
157 |
+
do {
|
158 |
+
currentT = aA + (aB - aA) / 2.0;
|
159 |
+
currentX = calcBezier(currentT, mX1, mX2) - aX;
|
160 |
+
if (currentX > 0.0) { aB = currentT; } else { aA = currentT; }
|
161 |
+
} while (Math.abs(currentX) > 0.0000001 && ++i < 10);
|
162 |
+
return currentT;
|
163 |
+
}
|
164 |
+
|
165 |
+
function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {
|
166 |
+
for (var i = 0; i < 4; ++i) {
|
167 |
+
var currentSlope = getSlope(aGuessT, mX1, mX2);
|
168 |
+
if (currentSlope === 0.0) { return aGuessT; }
|
169 |
+
var currentX = calcBezier(aGuessT, mX1, mX2) - aX;
|
170 |
+
aGuessT -= currentX / currentSlope;
|
171 |
+
}
|
172 |
+
return aGuessT;
|
173 |
+
}
|
174 |
+
|
175 |
+
function bezier(mX1, mY1, mX2, mY2) {
|
176 |
+
|
177 |
+
if (!(0 <= mX1 && mX1 <= 1 && 0 <= mX2 && mX2 <= 1)) { return; }
|
178 |
+
var sampleValues = new Float32Array(kSplineTableSize);
|
179 |
+
|
180 |
+
if (mX1 !== mY1 || mX2 !== mY2) {
|
181 |
+
for (var i = 0; i < kSplineTableSize; ++i) {
|
182 |
+
sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);
|
183 |
+
}
|
184 |
+
}
|
185 |
+
|
186 |
+
function getTForX(aX) {
|
187 |
+
|
188 |
+
var intervalStart = 0;
|
189 |
+
var currentSample = 1;
|
190 |
+
var lastSample = kSplineTableSize - 1;
|
191 |
+
|
192 |
+
for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {
|
193 |
+
intervalStart += kSampleStepSize;
|
194 |
+
}
|
195 |
+
|
196 |
+
--currentSample;
|
197 |
+
|
198 |
+
var dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]);
|
199 |
+
var guessForT = intervalStart + dist * kSampleStepSize;
|
200 |
+
var initialSlope = getSlope(guessForT, mX1, mX2);
|
201 |
+
|
202 |
+
if (initialSlope >= 0.001) {
|
203 |
+
return newtonRaphsonIterate(aX, guessForT, mX1, mX2);
|
204 |
+
} else if (initialSlope === 0.0) {
|
205 |
+
return guessForT;
|
206 |
+
} else {
|
207 |
+
return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);
|
208 |
+
}
|
209 |
+
|
210 |
+
}
|
211 |
+
|
212 |
+
return function (x) {
|
213 |
+
if (mX1 === mY1 && mX2 === mY2) { return x; }
|
214 |
+
if (x === 0 || x === 1) { return x; }
|
215 |
+
return calcBezier(getTForX(x), mY1, mY2);
|
216 |
+
}
|
217 |
+
|
218 |
+
}
|
219 |
+
|
220 |
+
return bezier;
|
221 |
+
|
222 |
+
})();
|
223 |
+
|
224 |
+
var penner = (function () {
|
225 |
+
|
226 |
+
// Based on jQuery UI's implemenation of easing equations from Robert Penner (http://www.robertpenner.com/easing)
|
227 |
+
|
228 |
+
var eases = { linear: function () { return function (t) { return t; }; } };
|
229 |
+
|
230 |
+
var functionEasings = {
|
231 |
+
Sine: function () { return function (t) { return 1 - Math.cos(t * Math.PI / 2); }; },
|
232 |
+
Circ: function () { return function (t) { return 1 - Math.sqrt(1 - t * t); }; },
|
233 |
+
Back: function () { return function (t) { return t * t * (3 * t - 2); }; },
|
234 |
+
Bounce: function () { return function (t) {
|
235 |
+
var pow2, b = 4;
|
236 |
+
while (t < (( pow2 = Math.pow(2, --b)) - 1) / 11) {}
|
237 |
+
return 1 / Math.pow(4, 3 - b) - 7.5625 * Math.pow(( pow2 * 3 - 2 ) / 22 - t, 2)
|
238 |
+
}; },
|
239 |
+
Elastic: function (amplitude, period) {
|
240 |
+
if ( amplitude === void 0 ) amplitude = 1;
|
241 |
+
if ( period === void 0 ) period = .5;
|
242 |
+
|
243 |
+
var a = minMax(amplitude, 1, 10);
|
244 |
+
var p = minMax(period, .1, 2);
|
245 |
+
return function (t) {
|
246 |
+
return (t === 0 || t === 1) ? t :
|
247 |
+
-a * Math.pow(2, 10 * (t - 1)) * Math.sin((((t - 1) - (p / (Math.PI * 2) * Math.asin(1 / a))) * (Math.PI * 2)) / p);
|
248 |
+
}
|
249 |
+
}
|
250 |
+
};
|
251 |
+
|
252 |
+
var baseEasings = ['Quad', 'Cubic', 'Quart', 'Quint', 'Expo'];
|
253 |
+
|
254 |
+
baseEasings.forEach(function (name, i) {
|
255 |
+
functionEasings[name] = function () { return function (t) { return Math.pow(t, i + 2); }; };
|
256 |
+
});
|
257 |
+
|
258 |
+
Object.keys(functionEasings).forEach(function (name) {
|
259 |
+
var easeIn = functionEasings[name];
|
260 |
+
eases['easeIn' + name] = easeIn;
|
261 |
+
eases['easeOut' + name] = function (a, b) { return function (t) { return 1 - easeIn(a, b)(1 - t); }; };
|
262 |
+
eases['easeInOut' + name] = function (a, b) { return function (t) { return t < 0.5 ? easeIn(a, b)(t * 2) / 2 :
|
263 |
+
1 - easeIn(a, b)(t * -2 + 2) / 2; }; };
|
264 |
+
eases['easeOutIn' + name] = function (a, b) { return function (t) { return t < 0.5 ? (1 - easeIn(a, b)(1 - t * 2)) / 2 :
|
265 |
+
(easeIn(a, b)(t * 2 - 1) + 1) / 2; }; };
|
266 |
+
});
|
267 |
+
|
268 |
+
return eases;
|
269 |
+
|
270 |
+
})();
|
271 |
+
|
272 |
+
function parseEasings(easing, duration) {
|
273 |
+
if (is.fnc(easing)) { return easing; }
|
274 |
+
var name = easing.split('(')[0];
|
275 |
+
var ease = penner[name];
|
276 |
+
var args = parseEasingParameters(easing);
|
277 |
+
switch (name) {
|
278 |
+
case 'spring' : return spring(easing, duration);
|
279 |
+
case 'cubicBezier' : return applyArguments(bezier, args);
|
280 |
+
case 'steps' : return applyArguments(steps, args);
|
281 |
+
default : return applyArguments(ease, args);
|
282 |
+
}
|
283 |
+
}
|
284 |
+
|
285 |
+
// Strings
|
286 |
+
|
287 |
+
function selectString(str) {
|
288 |
+
try {
|
289 |
+
var nodes = document.querySelectorAll(str);
|
290 |
+
return nodes;
|
291 |
+
} catch(e) {
|
292 |
+
return;
|
293 |
+
}
|
294 |
+
}
|
295 |
+
|
296 |
+
// Arrays
|
297 |
+
|
298 |
+
function filterArray(arr, callback) {
|
299 |
+
var len = arr.length;
|
300 |
+
var thisArg = arguments.length >= 2 ? arguments[1] : void 0;
|
301 |
+
var result = [];
|
302 |
+
for (var i = 0; i < len; i++) {
|
303 |
+
if (i in arr) {
|
304 |
+
var val = arr[i];
|
305 |
+
if (callback.call(thisArg, val, i, arr)) {
|
306 |
+
result.push(val);
|
307 |
+
}
|
308 |
+
}
|
309 |
+
}
|
310 |
+
return result;
|
311 |
+
}
|
312 |
+
|
313 |
+
function flattenArray(arr) {
|
314 |
+
return arr.reduce(function (a, b) { return a.concat(is.arr(b) ? flattenArray(b) : b); }, []);
|
315 |
+
}
|
316 |
+
|
317 |
+
function toArray(o) {
|
318 |
+
if (is.arr(o)) { return o; }
|
319 |
+
if (is.str(o)) { o = selectString(o) || o; }
|
320 |
+
if (o instanceof NodeList || o instanceof HTMLCollection) { return [].slice.call(o); }
|
321 |
+
return [o];
|
322 |
+
}
|
323 |
+
|
324 |
+
function arrayContains(arr, val) {
|
325 |
+
return arr.some(function (a) { return a === val; });
|
326 |
+
}
|
327 |
+
|
328 |
+
// Objects
|
329 |
+
|
330 |
+
function cloneObject(o) {
|
331 |
+
var clone = {};
|
332 |
+
for (var p in o) { clone[p] = o[p]; }
|
333 |
+
return clone;
|
334 |
+
}
|
335 |
+
|
336 |
+
function replaceObjectProps(o1, o2) {
|
337 |
+
var o = cloneObject(o1);
|
338 |
+
for (var p in o1) { o[p] = o2.hasOwnProperty(p) ? o2[p] : o1[p]; }
|
339 |
+
return o;
|
340 |
+
}
|
341 |
+
|
342 |
+
function mergeObjects(o1, o2) {
|
343 |
+
var o = cloneObject(o1);
|
344 |
+
for (var p in o2) { o[p] = is.und(o1[p]) ? o2[p] : o1[p]; }
|
345 |
+
return o;
|
346 |
+
}
|
347 |
+
|
348 |
+
// Colors
|
349 |
+
|
350 |
+
function rgbToRgba(rgbValue) {
|
351 |
+
var rgb = /rgb\((\d+,\s*[\d]+,\s*[\d]+)\)/g.exec(rgbValue);
|
352 |
+
return rgb ? ("rgba(" + (rgb[1]) + ",1)") : rgbValue;
|
353 |
+
}
|
354 |
+
|
355 |
+
function hexToRgba(hexValue) {
|
356 |
+
var rgx = /^#?([a-f\d])([a-f\d])([a-f\d])$/i;
|
357 |
+
var hex = hexValue.replace(rgx, function (m, r, g, b) { return r + r + g + g + b + b; } );
|
358 |
+
var rgb = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
|
359 |
+
var r = parseInt(rgb[1], 16);
|
360 |
+
var g = parseInt(rgb[2], 16);
|
361 |
+
var b = parseInt(rgb[3], 16);
|
362 |
+
return ("rgba(" + r + "," + g + "," + b + ",1)");
|
363 |
+
}
|
364 |
+
|
365 |
+
function hslToRgba(hslValue) {
|
366 |
+
var hsl = /hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(hslValue) || /hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)/g.exec(hslValue);
|
367 |
+
var h = parseInt(hsl[1], 10) / 360;
|
368 |
+
var s = parseInt(hsl[2], 10) / 100;
|
369 |
+
var l = parseInt(hsl[3], 10) / 100;
|
370 |
+
var a = hsl[4] || 1;
|
371 |
+
function hue2rgb(p, q, t) {
|
372 |
+
if (t < 0) { t += 1; }
|
373 |
+
if (t > 1) { t -= 1; }
|
374 |
+
if (t < 1/6) { return p + (q - p) * 6 * t; }
|
375 |
+
if (t < 1/2) { return q; }
|
376 |
+
if (t < 2/3) { return p + (q - p) * (2/3 - t) * 6; }
|
377 |
+
return p;
|
378 |
+
}
|
379 |
+
var r, g, b;
|
380 |
+
if (s == 0) {
|
381 |
+
r = g = b = l;
|
382 |
+
} else {
|
383 |
+
var q = l < 0.5 ? l * (1 + s) : l + s - l * s;
|
384 |
+
var p = 2 * l - q;
|
385 |
+
r = hue2rgb(p, q, h + 1/3);
|
386 |
+
g = hue2rgb(p, q, h);
|
387 |
+
b = hue2rgb(p, q, h - 1/3);
|
388 |
+
}
|
389 |
+
return ("rgba(" + (r * 255) + "," + (g * 255) + "," + (b * 255) + "," + a + ")");
|
390 |
+
}
|
391 |
+
|
392 |
+
function colorToRgb(val) {
|
393 |
+
if (is.rgb(val)) { return rgbToRgba(val); }
|
394 |
+
if (is.hex(val)) { return hexToRgba(val); }
|
395 |
+
if (is.hsl(val)) { return hslToRgba(val); }
|
396 |
+
}
|
397 |
+
|
398 |
+
// Units
|
399 |
+
|
400 |
+
function getUnit(val) {
|
401 |
+
var split = /[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(val);
|
402 |
+
if (split) { return split[1]; }
|
403 |
+
}
|
404 |
+
|
405 |
+
function getTransformUnit(propName) {
|
406 |
+
if (stringContains(propName, 'translate') || propName === 'perspective') { return 'px'; }
|
407 |
+
if (stringContains(propName, 'rotate') || stringContains(propName, 'skew')) { return 'deg'; }
|
408 |
+
}
|
409 |
+
|
410 |
+
// Values
|
411 |
+
|
412 |
+
function getFunctionValue(val, animatable) {
|
413 |
+
if (!is.fnc(val)) { return val; }
|
414 |
+
return val(animatable.target, animatable.id, animatable.total);
|
415 |
+
}
|
416 |
+
|
417 |
+
function getAttribute(el, prop) {
|
418 |
+
return el.getAttribute(prop);
|
419 |
+
}
|
420 |
+
|
421 |
+
function convertPxToUnit(el, value, unit) {
|
422 |
+
var valueUnit = getUnit(value);
|
423 |
+
if (arrayContains([unit, 'deg', 'rad', 'turn'], valueUnit)) { return value; }
|
424 |
+
var cached = cache.CSS[value + unit];
|
425 |
+
if (!is.und(cached)) { return cached; }
|
426 |
+
var baseline = 100;
|
427 |
+
var tempEl = document.createElement(el.tagName);
|
428 |
+
var parentEl = (el.parentNode && (el.parentNode !== document)) ? el.parentNode : document.body;
|
429 |
+
parentEl.appendChild(tempEl);
|
430 |
+
tempEl.style.position = 'absolute';
|
431 |
+
tempEl.style.width = baseline + unit;
|
432 |
+
var factor = baseline / tempEl.offsetWidth;
|
433 |
+
parentEl.removeChild(tempEl);
|
434 |
+
var convertedUnit = factor * parseFloat(value);
|
435 |
+
cache.CSS[value + unit] = convertedUnit;
|
436 |
+
return convertedUnit;
|
437 |
+
}
|
438 |
+
|
439 |
+
function getCSSValue(el, prop, unit) {
|
440 |
+
if (prop in el.style) {
|
441 |
+
var uppercasePropName = prop.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
|
442 |
+
var value = el.style[prop] || getComputedStyle(el).getPropertyValue(uppercasePropName) || '0';
|
443 |
+
return unit ? convertPxToUnit(el, value, unit) : value;
|
444 |
+
}
|
445 |
+
}
|
446 |
+
|
447 |
+
function getAnimationType(el, prop) {
|
448 |
+
if (is.dom(el) && !is.inp(el) && (!is.nil(getAttribute(el, prop)) || (is.svg(el) && el[prop]))) { return 'attribute'; }
|
449 |
+
if (is.dom(el) && arrayContains(validTransforms, prop)) { return 'transform'; }
|
450 |
+
if (is.dom(el) && (prop !== 'transform' && getCSSValue(el, prop))) { return 'css'; }
|
451 |
+
if (el[prop] != null) { return 'object'; }
|
452 |
+
}
|
453 |
+
|
454 |
+
function getElementTransforms(el) {
|
455 |
+
if (!is.dom(el)) { return; }
|
456 |
+
var str = el.style.transform || '';
|
457 |
+
var reg = /(\w+)\(([^)]*)\)/g;
|
458 |
+
var transforms = new Map();
|
459 |
+
var m; while (m = reg.exec(str)) { transforms.set(m[1], m[2]); }
|
460 |
+
return transforms;
|
461 |
+
}
|
462 |
+
|
463 |
+
function getTransformValue(el, propName, animatable, unit) {
|
464 |
+
var defaultVal = stringContains(propName, 'scale') ? 1 : 0 + getTransformUnit(propName);
|
465 |
+
var value = getElementTransforms(el).get(propName) || defaultVal;
|
466 |
+
if (animatable) {
|
467 |
+
animatable.transforms.list.set(propName, value);
|
468 |
+
animatable.transforms['last'] = propName;
|
469 |
+
}
|
470 |
+
return unit ? convertPxToUnit(el, value, unit) : value;
|
471 |
+
}
|
472 |
+
|
473 |
+
function getOriginalTargetValue(target, propName, unit, animatable) {
|
474 |
+
switch (getAnimationType(target, propName)) {
|
475 |
+
case 'transform': return getTransformValue(target, propName, animatable, unit);
|
476 |
+
case 'css': return getCSSValue(target, propName, unit);
|
477 |
+
case 'attribute': return getAttribute(target, propName);
|
478 |
+
default: return target[propName] || 0;
|
479 |
+
}
|
480 |
+
}
|
481 |
+
|
482 |
+
function getRelativeValue(to, from) {
|
483 |
+
var operator = /^(\*=|\+=|-=)/.exec(to);
|
484 |
+
if (!operator) { return to; }
|
485 |
+
var u = getUnit(to) || 0;
|
486 |
+
var x = parseFloat(from);
|
487 |
+
var y = parseFloat(to.replace(operator[0], ''));
|
488 |
+
switch (operator[0][0]) {
|
489 |
+
case '+': return x + y + u;
|
490 |
+
case '-': return x - y + u;
|
491 |
+
case '*': return x * y + u;
|
492 |
+
}
|
493 |
+
}
|
494 |
+
|
495 |
+
function validateValue(val, unit) {
|
496 |
+
if (is.col(val)) { return colorToRgb(val); }
|
497 |
+
if (/\s/g.test(val)) { return val; }
|
498 |
+
var originalUnit = getUnit(val);
|
499 |
+
var unitLess = originalUnit ? val.substr(0, val.length - originalUnit.length) : val;
|
500 |
+
if (unit) { return unitLess + unit; }
|
501 |
+
return unitLess;
|
502 |
+
}
|
503 |
+
|
504 |
+
// getTotalLength() equivalent for circle, rect, polyline, polygon and line shapes
|
505 |
+
// adapted from https://gist.github.com/SebLambla/3e0550c496c236709744
|
506 |
+
|
507 |
+
function getDistance(p1, p2) {
|
508 |
+
return Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2));
|
509 |
+
}
|
510 |
+
|
511 |
+
function getCircleLength(el) {
|
512 |
+
return Math.PI * 2 * getAttribute(el, 'r');
|
513 |
+
}
|
514 |
+
|
515 |
+
function getRectLength(el) {
|
516 |
+
return (getAttribute(el, 'width') * 2) + (getAttribute(el, 'height') * 2);
|
517 |
+
}
|
518 |
+
|
519 |
+
function getLineLength(el) {
|
520 |
+
return getDistance(
|
521 |
+
{x: getAttribute(el, 'x1'), y: getAttribute(el, 'y1')},
|
522 |
+
{x: getAttribute(el, 'x2'), y: getAttribute(el, 'y2')}
|
523 |
+
);
|
524 |
+
}
|
525 |
+
|
526 |
+
function getPolylineLength(el) {
|
527 |
+
var points = el.points;
|
528 |
+
var totalLength = 0;
|
529 |
+
var previousPos;
|
530 |
+
for (var i = 0 ; i < points.numberOfItems; i++) {
|
531 |
+
var currentPos = points.getItem(i);
|
532 |
+
if (i > 0) { totalLength += getDistance(previousPos, currentPos); }
|
533 |
+
previousPos = currentPos;
|
534 |
+
}
|
535 |
+
return totalLength;
|
536 |
+
}
|
537 |
+
|
538 |
+
function getPolygonLength(el) {
|
539 |
+
var points = el.points;
|
540 |
+
return getPolylineLength(el) + getDistance(points.getItem(points.numberOfItems - 1), points.getItem(0));
|
541 |
+
}
|
542 |
+
|
543 |
+
// Path animation
|
544 |
+
|
545 |
+
function getTotalLength(el) {
|
546 |
+
if (el.getTotalLength) { return el.getTotalLength(); }
|
547 |
+
switch(el.tagName.toLowerCase()) {
|
548 |
+
case 'circle': return getCircleLength(el);
|
549 |
+
case 'rect': return getRectLength(el);
|
550 |
+
case 'line': return getLineLength(el);
|
551 |
+
case 'polyline': return getPolylineLength(el);
|
552 |
+
case 'polygon': return getPolygonLength(el);
|
553 |
+
}
|
554 |
+
}
|
555 |
+
|
556 |
+
function setDashoffset(el) {
|
557 |
+
var pathLength = getTotalLength(el);
|
558 |
+
el.setAttribute('stroke-dasharray', pathLength);
|
559 |
+
return pathLength;
|
560 |
+
}
|
561 |
+
|
562 |
+
// Motion path
|
563 |
+
|
564 |
+
function getParentSvgEl(el) {
|
565 |
+
var parentEl = el.parentNode;
|
566 |
+
while (is.svg(parentEl)) {
|
567 |
+
if (!is.svg(parentEl.parentNode)) { break; }
|
568 |
+
parentEl = parentEl.parentNode;
|
569 |
+
}
|
570 |
+
return parentEl;
|
571 |
+
}
|
572 |
+
|
573 |
+
function getParentSvg(pathEl, svgData) {
|
574 |
+
var svg = svgData || {};
|
575 |
+
var parentSvgEl = svg.el || getParentSvgEl(pathEl);
|
576 |
+
var rect = parentSvgEl.getBoundingClientRect();
|
577 |
+
var viewBoxAttr = getAttribute(parentSvgEl, 'viewBox');
|
578 |
+
var width = rect.width;
|
579 |
+
var height = rect.height;
|
580 |
+
var viewBox = svg.viewBox || (viewBoxAttr ? viewBoxAttr.split(' ') : [0, 0, width, height]);
|
581 |
+
return {
|
582 |
+
el: parentSvgEl,
|
583 |
+
viewBox: viewBox,
|
584 |
+
x: viewBox[0] / 1,
|
585 |
+
y: viewBox[1] / 1,
|
586 |
+
w: width,
|
587 |
+
h: height,
|
588 |
+
vW: viewBox[2],
|
589 |
+
vH: viewBox[3]
|
590 |
+
}
|
591 |
+
}
|
592 |
+
|
593 |
+
function getPath(path, percent) {
|
594 |
+
var pathEl = is.str(path) ? selectString(path)[0] : path;
|
595 |
+
var p = percent || 100;
|
596 |
+
return function(property) {
|
597 |
+
return {
|
598 |
+
property: property,
|
599 |
+
el: pathEl,
|
600 |
+
svg: getParentSvg(pathEl),
|
601 |
+
totalLength: getTotalLength(pathEl) * (p / 100)
|
602 |
+
}
|
603 |
+
}
|
604 |
+
}
|
605 |
+
|
606 |
+
function getPathProgress(path, progress, isPathTargetInsideSVG) {
|
607 |
+
function point(offset) {
|
608 |
+
if ( offset === void 0 ) offset = 0;
|
609 |
+
|
610 |
+
var l = progress + offset >= 1 ? progress + offset : 0;
|
611 |
+
return path.el.getPointAtLength(l);
|
612 |
+
}
|
613 |
+
var svg = getParentSvg(path.el, path.svg);
|
614 |
+
var p = point();
|
615 |
+
var p0 = point(-1);
|
616 |
+
var p1 = point(+1);
|
617 |
+
var scaleX = isPathTargetInsideSVG ? 1 : svg.w / svg.vW;
|
618 |
+
var scaleY = isPathTargetInsideSVG ? 1 : svg.h / svg.vH;
|
619 |
+
switch (path.property) {
|
620 |
+
case 'x': return (p.x - svg.x) * scaleX;
|
621 |
+
case 'y': return (p.y - svg.y) * scaleY;
|
622 |
+
case 'angle': return Math.atan2(p1.y - p0.y, p1.x - p0.x) * 180 / Math.PI;
|
623 |
+
}
|
624 |
+
}
|
625 |
+
|
626 |
+
// Decompose value
|
627 |
+
|
628 |
+
function decomposeValue(val, unit) {
|
629 |
+
// const rgx = /-?\d*\.?\d+/g; // handles basic numbers
|
630 |
+
// const rgx = /[+-]?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?/g; // handles exponents notation
|
631 |
+
var rgx = /[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?/g; // handles exponents notation
|
632 |
+
var value = validateValue((is.pth(val) ? val.totalLength : val), unit) + '';
|
633 |
+
return {
|
634 |
+
original: value,
|
635 |
+
numbers: value.match(rgx) ? value.match(rgx).map(Number) : [0],
|
636 |
+
strings: (is.str(val) || unit) ? value.split(rgx) : []
|
637 |
+
}
|
638 |
+
}
|
639 |
+
|
640 |
+
// Animatables
|
641 |
+
|
642 |
+
function parseTargets(targets) {
|
643 |
+
var targetsArray = targets ? (flattenArray(is.arr(targets) ? targets.map(toArray) : toArray(targets))) : [];
|
644 |
+
return filterArray(targetsArray, function (item, pos, self) { return self.indexOf(item) === pos; });
|
645 |
+
}
|
646 |
+
|
647 |
+
function getAnimatables(targets) {
|
648 |
+
var parsed = parseTargets(targets);
|
649 |
+
return parsed.map(function (t, i) {
|
650 |
+
return {target: t, id: i, total: parsed.length, transforms: { list: getElementTransforms(t) } };
|
651 |
+
});
|
652 |
+
}
|
653 |
+
|
654 |
+
// Properties
|
655 |
+
|
656 |
+
function normalizePropertyTweens(prop, tweenSettings) {
|
657 |
+
var settings = cloneObject(tweenSettings);
|
658 |
+
// Override duration if easing is a spring
|
659 |
+
if (/^spring/.test(settings.easing)) { settings.duration = spring(settings.easing); }
|
660 |
+
if (is.arr(prop)) {
|
661 |
+
var l = prop.length;
|
662 |
+
var isFromTo = (l === 2 && !is.obj(prop[0]));
|
663 |
+
if (!isFromTo) {
|
664 |
+
// Duration divided by the number of tweens
|
665 |
+
if (!is.fnc(tweenSettings.duration)) { settings.duration = tweenSettings.duration / l; }
|
666 |
+
} else {
|
667 |
+
// Transform [from, to] values shorthand to a valid tween value
|
668 |
+
prop = {value: prop};
|
669 |
+
}
|
670 |
+
}
|
671 |
+
var propArray = is.arr(prop) ? prop : [prop];
|
672 |
+
return propArray.map(function (v, i) {
|
673 |
+
var obj = (is.obj(v) && !is.pth(v)) ? v : {value: v};
|
674 |
+
// Default delay value should only be applied to the first tween
|
675 |
+
if (is.und(obj.delay)) { obj.delay = !i ? tweenSettings.delay : 0; }
|
676 |
+
// Default endDelay value should only be applied to the last tween
|
677 |
+
if (is.und(obj.endDelay)) { obj.endDelay = i === propArray.length - 1 ? tweenSettings.endDelay : 0; }
|
678 |
+
return obj;
|
679 |
+
}).map(function (k) { return mergeObjects(k, settings); });
|
680 |
+
}
|
681 |
+
|
682 |
+
|
683 |
+
function flattenKeyframes(keyframes) {
|
684 |
+
var propertyNames = filterArray(flattenArray(keyframes.map(function (key) { return Object.keys(key); })), function (p) { return is.key(p); })
|
685 |
+
.reduce(function (a,b) { if (a.indexOf(b) < 0) { a.push(b); } return a; }, []);
|
686 |
+
var properties = {};
|
687 |
+
var loop = function ( i ) {
|
688 |
+
var propName = propertyNames[i];
|
689 |
+
properties[propName] = keyframes.map(function (key) {
|
690 |
+
var newKey = {};
|
691 |
+
for (var p in key) {
|
692 |
+
if (is.key(p)) {
|
693 |
+
if (p == propName) { newKey.value = key[p]; }
|
694 |
+
} else {
|
695 |
+
newKey[p] = key[p];
|
696 |
+
}
|
697 |
+
}
|
698 |
+
return newKey;
|
699 |
+
});
|
700 |
+
};
|
701 |
+
|
702 |
+
for (var i = 0; i < propertyNames.length; i++) loop( i );
|
703 |
+
return properties;
|
704 |
+
}
|
705 |
+
|
706 |
+
function getProperties(tweenSettings, params) {
|
707 |
+
var properties = [];
|
708 |
+
var keyframes = params.keyframes;
|
709 |
+
if (keyframes) { params = mergeObjects(flattenKeyframes(keyframes), params); }
|
710 |
+
for (var p in params) {
|
711 |
+
if (is.key(p)) {
|
712 |
+
properties.push({
|
713 |
+
name: p,
|
714 |
+
tweens: normalizePropertyTweens(params[p], tweenSettings)
|
715 |
+
});
|
716 |
+
}
|
717 |
+
}
|
718 |
+
return properties;
|
719 |
+
}
|
720 |
+
|
721 |
+
// Tweens
|
722 |
+
|
723 |
+
function normalizeTweenValues(tween, animatable) {
|
724 |
+
var t = {};
|
725 |
+
for (var p in tween) {
|
726 |
+
var value = getFunctionValue(tween[p], animatable);
|
727 |
+
if (is.arr(value)) {
|
728 |
+
value = value.map(function (v) { return getFunctionValue(v, animatable); });
|
729 |
+
if (value.length === 1) { value = value[0]; }
|
730 |
+
}
|
731 |
+
t[p] = value;
|
732 |
+
}
|
733 |
+
t.duration = parseFloat(t.duration);
|
734 |
+
t.delay = parseFloat(t.delay);
|
735 |
+
return t;
|
736 |
+
}
|
737 |
+
|
738 |
+
function normalizeTweens(prop, animatable) {
|
739 |
+
var previousTween;
|
740 |
+
return prop.tweens.map(function (t) {
|
741 |
+
var tween = normalizeTweenValues(t, animatable);
|
742 |
+
var tweenValue = tween.value;
|
743 |
+
var to = is.arr(tweenValue) ? tweenValue[1] : tweenValue;
|
744 |
+
var toUnit = getUnit(to);
|
745 |
+
var originalValue = getOriginalTargetValue(animatable.target, prop.name, toUnit, animatable);
|
746 |
+
var previousValue = previousTween ? previousTween.to.original : originalValue;
|
747 |
+
var from = is.arr(tweenValue) ? tweenValue[0] : previousValue;
|
748 |
+
var fromUnit = getUnit(from) || getUnit(originalValue);
|
749 |
+
var unit = toUnit || fromUnit;
|
750 |
+
if (is.und(to)) { to = previousValue; }
|
751 |
+
tween.from = decomposeValue(from, unit);
|
752 |
+
tween.to = decomposeValue(getRelativeValue(to, from), unit);
|
753 |
+
tween.start = previousTween ? previousTween.end : 0;
|
754 |
+
tween.end = tween.start + tween.delay + tween.duration + tween.endDelay;
|
755 |
+
tween.easing = parseEasings(tween.easing, tween.duration);
|
756 |
+
tween.isPath = is.pth(tweenValue);
|
757 |
+
tween.isPathTargetInsideSVG = tween.isPath && is.svg(animatable.target);
|
758 |
+
tween.isColor = is.col(tween.from.original);
|
759 |
+
if (tween.isColor) { tween.round = 1; }
|
760 |
+
previousTween = tween;
|
761 |
+
return tween;
|
762 |
+
});
|
763 |
+
}
|
764 |
+
|
765 |
+
// Tween progress
|
766 |
+
|
767 |
+
var setProgressValue = {
|
768 |
+
css: function (t, p, v) { return t.style[p] = v; },
|
769 |
+
attribute: function (t, p, v) { return t.setAttribute(p, v); },
|
770 |
+
object: function (t, p, v) { return t[p] = v; },
|
771 |
+
transform: function (t, p, v, transforms, manual) {
|
772 |
+
transforms.list.set(p, v);
|
773 |
+
if (p === transforms.last || manual) {
|
774 |
+
var str = '';
|
775 |
+
transforms.list.forEach(function (value, prop) { str += prop + "(" + value + ") "; });
|
776 |
+
t.style.transform = str;
|
777 |
+
}
|
778 |
+
}
|
779 |
+
};
|
780 |
+
|
781 |
+
// Set Value helper
|
782 |
+
|
783 |
+
function setTargetsValue(targets, properties) {
|
784 |
+
var animatables = getAnimatables(targets);
|
785 |
+
animatables.forEach(function (animatable) {
|
786 |
+
for (var property in properties) {
|
787 |
+
var value = getFunctionValue(properties[property], animatable);
|
788 |
+
var target = animatable.target;
|
789 |
+
var valueUnit = getUnit(value);
|
790 |
+
var originalValue = getOriginalTargetValue(target, property, valueUnit, animatable);
|
791 |
+
var unit = valueUnit || getUnit(originalValue);
|
792 |
+
var to = getRelativeValue(validateValue(value, unit), originalValue);
|
793 |
+
var animType = getAnimationType(target, property);
|
794 |
+
setProgressValue[animType](target, property, to, animatable.transforms, true);
|
795 |
+
}
|
796 |
+
});
|
797 |
+
}
|
798 |
+
|
799 |
+
// Animations
|
800 |
+
|
801 |
+
function createAnimation(animatable, prop) {
|
802 |
+
var animType = getAnimationType(animatable.target, prop.name);
|
803 |
+
if (animType) {
|
804 |
+
var tweens = normalizeTweens(prop, animatable);
|
805 |
+
var lastTween = tweens[tweens.length - 1];
|
806 |
+
return {
|
807 |
+
type: animType,
|
808 |
+
property: prop.name,
|
809 |
+
animatable: animatable,
|
810 |
+
tweens: tweens,
|
811 |
+
duration: lastTween.end,
|
812 |
+
delay: tweens[0].delay,
|
813 |
+
endDelay: lastTween.endDelay
|
814 |
+
}
|
815 |
+
}
|
816 |
+
}
|
817 |
+
|
818 |
+
function getAnimations(animatables, properties) {
|
819 |
+
return filterArray(flattenArray(animatables.map(function (animatable) {
|
820 |
+
return properties.map(function (prop) {
|
821 |
+
return createAnimation(animatable, prop);
|
822 |
+
});
|
823 |
+
})), function (a) { return !is.und(a); });
|
824 |
+
}
|
825 |
+
|
826 |
+
// Create Instance
|
827 |
+
|
828 |
+
function getInstanceTimings(animations, tweenSettings) {
|
829 |
+
var animLength = animations.length;
|
830 |
+
var getTlOffset = function (anim) { return anim.timelineOffset ? anim.timelineOffset : 0; };
|
831 |
+
var timings = {};
|
832 |
+
timings.duration = animLength ? Math.max.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.duration; })) : tweenSettings.duration;
|
833 |
+
timings.delay = animLength ? Math.min.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.delay; })) : tweenSettings.delay;
|
834 |
+
timings.endDelay = animLength ? timings.duration - Math.max.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.duration - anim.endDelay; })) : tweenSettings.endDelay;
|
835 |
+
return timings;
|
836 |
+
}
|
837 |
+
|
838 |
+
var instanceID = 0;
|
839 |
+
|
840 |
+
function createNewInstance(params) {
|
841 |
+
var instanceSettings = replaceObjectProps(defaultInstanceSettings, params);
|
842 |
+
var tweenSettings = replaceObjectProps(defaultTweenSettings, params);
|
843 |
+
var properties = getProperties(tweenSettings, params);
|
844 |
+
var animatables = getAnimatables(params.targets);
|
845 |
+
var animations = getAnimations(animatables, properties);
|
846 |
+
var timings = getInstanceTimings(animations, tweenSettings);
|
847 |
+
var id = instanceID;
|
848 |
+
instanceID++;
|
849 |
+
return mergeObjects(instanceSettings, {
|
850 |
+
id: id,
|
851 |
+
children: [],
|
852 |
+
animatables: animatables,
|
853 |
+
animations: animations,
|
854 |
+
duration: timings.duration,
|
855 |
+
delay: timings.delay,
|
856 |
+
endDelay: timings.endDelay
|
857 |
+
});
|
858 |
+
}
|
859 |
+
|
860 |
+
// Core
|
861 |
+
|
862 |
+
var activeInstances = [];
|
863 |
+
|
864 |
+
var engine = (function () {
|
865 |
+
var raf;
|
866 |
+
|
867 |
+
function play() {
|
868 |
+
if (!raf && (!isDocumentHidden() || !anime.suspendWhenDocumentHidden) && activeInstances.length > 0) {
|
869 |
+
raf = requestAnimationFrame(step);
|
870 |
+
}
|
871 |
+
}
|
872 |
+
function step(t) {
|
873 |
+
// memo on algorithm issue:
|
874 |
+
// dangerous iteration over mutable `activeInstances`
|
875 |
+
// (that collection may be updated from within callbacks of `tick`-ed animation instances)
|
876 |
+
var activeInstancesLength = activeInstances.length;
|
877 |
+
var i = 0;
|
878 |
+
while (i < activeInstancesLength) {
|
879 |
+
var activeInstance = activeInstances[i];
|
880 |
+
if (!activeInstance.paused) {
|
881 |
+
activeInstance.tick(t);
|
882 |
+
i++;
|
883 |
+
} else {
|
884 |
+
activeInstances.splice(i, 1);
|
885 |
+
activeInstancesLength--;
|
886 |
+
}
|
887 |
+
}
|
888 |
+
raf = i > 0 ? requestAnimationFrame(step) : undefined;
|
889 |
+
}
|
890 |
+
|
891 |
+
function handleVisibilityChange() {
|
892 |
+
if (!anime.suspendWhenDocumentHidden) { return; }
|
893 |
+
|
894 |
+
if (isDocumentHidden()) {
|
895 |
+
// suspend ticks
|
896 |
+
raf = cancelAnimationFrame(raf);
|
897 |
+
} else { // is back to active tab
|
898 |
+
// first adjust animations to consider the time that ticks were suspended
|
899 |
+
activeInstances.forEach(
|
900 |
+
function (instance) { return instance ._onDocumentVisibility(); }
|
901 |
+
);
|
902 |
+
engine();
|
903 |
+
}
|
904 |
+
}
|
905 |
+
if (typeof document !== 'undefined') {
|
906 |
+
document.addEventListener('visibilitychange', handleVisibilityChange);
|
907 |
+
}
|
908 |
+
|
909 |
+
return play;
|
910 |
+
})();
|
911 |
+
|
912 |
+
function isDocumentHidden() {
|
913 |
+
return !!document && document.hidden;
|
914 |
+
}
|
915 |
+
|
916 |
+
// Public Instance
|
917 |
+
|
918 |
+
function anime(params) {
|
919 |
+
if ( params === void 0 ) params = {};
|
920 |
+
|
921 |
+
|
922 |
+
var startTime = 0, lastTime = 0, now = 0;
|
923 |
+
var children, childrenLength = 0;
|
924 |
+
var resolve = null;
|
925 |
+
|
926 |
+
function makePromise(instance) {
|
927 |
+
var promise = window.Promise && new Promise(function (_resolve) { return resolve = _resolve; });
|
928 |
+
instance.finished = promise;
|
929 |
+
return promise;
|
930 |
+
}
|
931 |
+
|
932 |
+
var instance = createNewInstance(params);
|
933 |
+
var promise = makePromise(instance);
|
934 |
+
|
935 |
+
function toggleInstanceDirection() {
|
936 |
+
var direction = instance.direction;
|
937 |
+
if (direction !== 'alternate') {
|
938 |
+
instance.direction = direction !== 'normal' ? 'normal' : 'reverse';
|
939 |
+
}
|
940 |
+
instance.reversed = !instance.reversed;
|
941 |
+
children.forEach(function (child) { return child.reversed = instance.reversed; });
|
942 |
+
}
|
943 |
+
|
944 |
+
function adjustTime(time) {
|
945 |
+
return instance.reversed ? instance.duration - time : time;
|
946 |
+
}
|
947 |
+
|
948 |
+
function resetTime() {
|
949 |
+
startTime = 0;
|
950 |
+
lastTime = adjustTime(instance.currentTime) * (1 / anime.speed);
|
951 |
+
}
|
952 |
+
|
953 |
+
function seekChild(time, child) {
|
954 |
+
if (child) { child.seek(time - child.timelineOffset); }
|
955 |
+
}
|
956 |
+
|
957 |
+
function syncInstanceChildren(time) {
|
958 |
+
if (!instance.reversePlayback) {
|
959 |
+
for (var i = 0; i < childrenLength; i++) { seekChild(time, children[i]); }
|
960 |
+
} else {
|
961 |
+
for (var i$1 = childrenLength; i$1--;) { seekChild(time, children[i$1]); }
|
962 |
+
}
|
963 |
+
}
|
964 |
+
|
965 |
+
function setAnimationsProgress(insTime) {
|
966 |
+
var i = 0;
|
967 |
+
var animations = instance.animations;
|
968 |
+
var animationsLength = animations.length;
|
969 |
+
while (i < animationsLength) {
|
970 |
+
var anim = animations[i];
|
971 |
+
var animatable = anim.animatable;
|
972 |
+
var tweens = anim.tweens;
|
973 |
+
var tweenLength = tweens.length - 1;
|
974 |
+
var tween = tweens[tweenLength];
|
975 |
+
// Only check for keyframes if there is more than one tween
|
976 |
+
if (tweenLength) { tween = filterArray(tweens, function (t) { return (insTime < t.end); })[0] || tween; }
|
977 |
+
var elapsed = minMax(insTime - tween.start - tween.delay, 0, tween.duration) / tween.duration;
|
978 |
+
var eased = isNaN(elapsed) ? 1 : tween.easing(elapsed);
|
979 |
+
var strings = tween.to.strings;
|
980 |
+
var round = tween.round;
|
981 |
+
var numbers = [];
|
982 |
+
var toNumbersLength = tween.to.numbers.length;
|
983 |
+
var progress = (void 0);
|
984 |
+
for (var n = 0; n < toNumbersLength; n++) {
|
985 |
+
var value = (void 0);
|
986 |
+
var toNumber = tween.to.numbers[n];
|
987 |
+
var fromNumber = tween.from.numbers[n] || 0;
|
988 |
+
if (!tween.isPath) {
|
989 |
+
value = fromNumber + (eased * (toNumber - fromNumber));
|
990 |
+
} else {
|
991 |
+
value = getPathProgress(tween.value, eased * toNumber, tween.isPathTargetInsideSVG);
|
992 |
+
}
|
993 |
+
if (round) {
|
994 |
+
if (!(tween.isColor && n > 2)) {
|
995 |
+
value = Math.round(value * round) / round;
|
996 |
+
}
|
997 |
+
}
|
998 |
+
numbers.push(value);
|
999 |
+
}
|
1000 |
+
// Manual Array.reduce for better performances
|
1001 |
+
var stringsLength = strings.length;
|
1002 |
+
if (!stringsLength) {
|
1003 |
+
progress = numbers[0];
|
1004 |
+
} else {
|
1005 |
+
progress = strings[0];
|
1006 |
+
for (var s = 0; s < stringsLength; s++) {
|
1007 |
+
var a = strings[s];
|
1008 |
+
var b = strings[s + 1];
|
1009 |
+
var n$1 = numbers[s];
|
1010 |
+
if (!isNaN(n$1)) {
|
1011 |
+
if (!b) {
|
1012 |
+
progress += n$1 + ' ';
|
1013 |
+
} else {
|
1014 |
+
progress += n$1 + b;
|
1015 |
+
}
|
1016 |
+
}
|
1017 |
+
}
|
1018 |
+
}
|
1019 |
+
setProgressValue[anim.type](animatable.target, anim.property, progress, animatable.transforms);
|
1020 |
+
anim.currentValue = progress;
|
1021 |
+
i++;
|
1022 |
+
}
|
1023 |
+
}
|
1024 |
+
|
1025 |
+
function setCallback(cb) {
|
1026 |
+
if (instance[cb] && !instance.passThrough) { instance[cb](instance); }
|
1027 |
+
}
|
1028 |
+
|
1029 |
+
function countIteration() {
|
1030 |
+
if (instance.remaining && instance.remaining !== true) {
|
1031 |
+
instance.remaining--;
|
1032 |
+
}
|
1033 |
+
}
|
1034 |
+
|
1035 |
+
function setInstanceProgress(engineTime) {
|
1036 |
+
var insDuration = instance.duration;
|
1037 |
+
var insDelay = instance.delay;
|
1038 |
+
var insEndDelay = insDuration - instance.endDelay;
|
1039 |
+
var insTime = adjustTime(engineTime);
|
1040 |
+
instance.progress = minMax((insTime / insDuration) * 100, 0, 100);
|
1041 |
+
instance.reversePlayback = insTime < instance.currentTime;
|
1042 |
+
if (children) { syncInstanceChildren(insTime); }
|
1043 |
+
if (!instance.began && instance.currentTime > 0) {
|
1044 |
+
instance.began = true;
|
1045 |
+
setCallback('begin');
|
1046 |
+
}
|
1047 |
+
if (!instance.loopBegan && instance.currentTime > 0) {
|
1048 |
+
instance.loopBegan = true;
|
1049 |
+
setCallback('loopBegin');
|
1050 |
+
}
|
1051 |
+
if (insTime <= insDelay && instance.currentTime !== 0) {
|
1052 |
+
setAnimationsProgress(0);
|
1053 |
+
}
|
1054 |
+
if ((insTime >= insEndDelay && instance.currentTime !== insDuration) || !insDuration) {
|
1055 |
+
setAnimationsProgress(insDuration);
|
1056 |
+
}
|
1057 |
+
if (insTime > insDelay && insTime < insEndDelay) {
|
1058 |
+
if (!instance.changeBegan) {
|
1059 |
+
instance.changeBegan = true;
|
1060 |
+
instance.changeCompleted = false;
|
1061 |
+
setCallback('changeBegin');
|
1062 |
+
}
|
1063 |
+
setCallback('change');
|
1064 |
+
setAnimationsProgress(insTime);
|
1065 |
+
} else {
|
1066 |
+
if (instance.changeBegan) {
|
1067 |
+
instance.changeCompleted = true;
|
1068 |
+
instance.changeBegan = false;
|
1069 |
+
setCallback('changeComplete');
|
1070 |
+
}
|
1071 |
+
}
|
1072 |
+
instance.currentTime = minMax(insTime, 0, insDuration);
|
1073 |
+
if (instance.began) { setCallback('update'); }
|
1074 |
+
if (engineTime >= insDuration) {
|
1075 |
+
lastTime = 0;
|
1076 |
+
countIteration();
|
1077 |
+
if (!instance.remaining) {
|
1078 |
+
instance.paused = true;
|
1079 |
+
if (!instance.completed) {
|
1080 |
+
instance.completed = true;
|
1081 |
+
setCallback('loopComplete');
|
1082 |
+
setCallback('complete');
|
1083 |
+
if (!instance.passThrough && 'Promise' in window) {
|
1084 |
+
resolve();
|
1085 |
+
promise = makePromise(instance);
|
1086 |
+
}
|
1087 |
+
}
|
1088 |
+
} else {
|
1089 |
+
startTime = now;
|
1090 |
+
setCallback('loopComplete');
|
1091 |
+
instance.loopBegan = false;
|
1092 |
+
if (instance.direction === 'alternate') {
|
1093 |
+
toggleInstanceDirection();
|
1094 |
+
}
|
1095 |
+
}
|
1096 |
+
}
|
1097 |
+
}
|
1098 |
+
|
1099 |
+
instance.reset = function() {
|
1100 |
+
var direction = instance.direction;
|
1101 |
+
instance.passThrough = false;
|
1102 |
+
instance.currentTime = 0;
|
1103 |
+
instance.progress = 0;
|
1104 |
+
instance.paused = true;
|
1105 |
+
instance.began = false;
|
1106 |
+
instance.loopBegan = false;
|
1107 |
+
instance.changeBegan = false;
|
1108 |
+
instance.completed = false;
|
1109 |
+
instance.changeCompleted = false;
|
1110 |
+
instance.reversePlayback = false;
|
1111 |
+
instance.reversed = direction === 'reverse';
|
1112 |
+
instance.remaining = instance.loop;
|
1113 |
+
children = instance.children;
|
1114 |
+
childrenLength = children.length;
|
1115 |
+
for (var i = childrenLength; i--;) { instance.children[i].reset(); }
|
1116 |
+
if (instance.reversed && instance.loop !== true || (direction === 'alternate' && instance.loop === 1)) { instance.remaining++; }
|
1117 |
+
setAnimationsProgress(instance.reversed ? instance.duration : 0);
|
1118 |
+
};
|
1119 |
+
|
1120 |
+
// internal method (for engine) to adjust animation timings before restoring engine ticks (rAF)
|
1121 |
+
instance._onDocumentVisibility = resetTime;
|
1122 |
+
|
1123 |
+
// Set Value helper
|
1124 |
+
|
1125 |
+
instance.set = function(targets, properties) {
|
1126 |
+
setTargetsValue(targets, properties);
|
1127 |
+
return instance;
|
1128 |
+
};
|
1129 |
+
|
1130 |
+
instance.tick = function(t) {
|
1131 |
+
now = t;
|
1132 |
+
if (!startTime) { startTime = now; }
|
1133 |
+
setInstanceProgress((now + (lastTime - startTime)) * anime.speed);
|
1134 |
+
};
|
1135 |
+
|
1136 |
+
instance.seek = function(time) {
|
1137 |
+
setInstanceProgress(adjustTime(time));
|
1138 |
+
};
|
1139 |
+
|
1140 |
+
instance.pause = function() {
|
1141 |
+
instance.paused = true;
|
1142 |
+
resetTime();
|
1143 |
+
};
|
1144 |
+
|
1145 |
+
instance.play = function() {
|
1146 |
+
if (!instance.paused) { return; }
|
1147 |
+
if (instance.completed) { instance.reset(); }
|
1148 |
+
instance.paused = false;
|
1149 |
+
activeInstances.push(instance);
|
1150 |
+
resetTime();
|
1151 |
+
engine();
|
1152 |
+
};
|
1153 |
+
|
1154 |
+
instance.reverse = function() {
|
1155 |
+
toggleInstanceDirection();
|
1156 |
+
instance.completed = instance.reversed ? false : true;
|
1157 |
+
resetTime();
|
1158 |
+
};
|
1159 |
+
|
1160 |
+
instance.restart = function() {
|
1161 |
+
instance.reset();
|
1162 |
+
instance.play();
|
1163 |
+
};
|
1164 |
+
|
1165 |
+
instance.remove = function(targets) {
|
1166 |
+
var targetsArray = parseTargets(targets);
|
1167 |
+
removeTargetsFromInstance(targetsArray, instance);
|
1168 |
+
};
|
1169 |
+
|
1170 |
+
instance.reset();
|
1171 |
+
|
1172 |
+
if (instance.autoplay) { instance.play(); }
|
1173 |
+
|
1174 |
+
return instance;
|
1175 |
+
|
1176 |
+
}
|
1177 |
+
|
1178 |
+
// Remove targets from animation
|
1179 |
+
|
1180 |
+
function removeTargetsFromAnimations(targetsArray, animations) {
|
1181 |
+
for (var a = animations.length; a--;) {
|
1182 |
+
if (arrayContains(targetsArray, animations[a].animatable.target)) {
|
1183 |
+
animations.splice(a, 1);
|
1184 |
+
}
|
1185 |
+
}
|
1186 |
+
}
|
1187 |
+
|
1188 |
+
function removeTargetsFromInstance(targetsArray, instance) {
|
1189 |
+
var animations = instance.animations;
|
1190 |
+
var children = instance.children;
|
1191 |
+
removeTargetsFromAnimations(targetsArray, animations);
|
1192 |
+
for (var c = children.length; c--;) {
|
1193 |
+
var child = children[c];
|
1194 |
+
var childAnimations = child.animations;
|
1195 |
+
removeTargetsFromAnimations(targetsArray, childAnimations);
|
1196 |
+
if (!childAnimations.length && !child.children.length) { children.splice(c, 1); }
|
1197 |
+
}
|
1198 |
+
if (!animations.length && !children.length) { instance.pause(); }
|
1199 |
+
}
|
1200 |
+
|
1201 |
+
function removeTargetsFromActiveInstances(targets) {
|
1202 |
+
var targetsArray = parseTargets(targets);
|
1203 |
+
for (var i = activeInstances.length; i--;) {
|
1204 |
+
var instance = activeInstances[i];
|
1205 |
+
removeTargetsFromInstance(targetsArray, instance);
|
1206 |
+
}
|
1207 |
+
}
|
1208 |
+
|
1209 |
+
// Stagger helpers
|
1210 |
+
|
1211 |
+
function stagger(val, params) {
|
1212 |
+
if ( params === void 0 ) params = {};
|
1213 |
+
|
1214 |
+
var direction = params.direction || 'normal';
|
1215 |
+
var easing = params.easing ? parseEasings(params.easing) : null;
|
1216 |
+
var grid = params.grid;
|
1217 |
+
var axis = params.axis;
|
1218 |
+
var fromIndex = params.from || 0;
|
1219 |
+
var fromFirst = fromIndex === 'first';
|
1220 |
+
var fromCenter = fromIndex === 'center';
|
1221 |
+
var fromLast = fromIndex === 'last';
|
1222 |
+
var isRange = is.arr(val);
|
1223 |
+
var val1 = isRange ? parseFloat(val[0]) : parseFloat(val);
|
1224 |
+
var val2 = isRange ? parseFloat(val[1]) : 0;
|
1225 |
+
var unit = getUnit(isRange ? val[1] : val) || 0;
|
1226 |
+
var start = params.start || 0 + (isRange ? val1 : 0);
|
1227 |
+
var values = [];
|
1228 |
+
var maxValue = 0;
|
1229 |
+
return function (el, i, t) {
|
1230 |
+
if (fromFirst) { fromIndex = 0; }
|
1231 |
+
if (fromCenter) { fromIndex = (t - 1) / 2; }
|
1232 |
+
if (fromLast) { fromIndex = t - 1; }
|
1233 |
+
if (!values.length) {
|
1234 |
+
for (var index = 0; index < t; index++) {
|
1235 |
+
if (!grid) {
|
1236 |
+
values.push(Math.abs(fromIndex - index));
|
1237 |
+
} else {
|
1238 |
+
var fromX = !fromCenter ? fromIndex%grid[0] : (grid[0]-1)/2;
|
1239 |
+
var fromY = !fromCenter ? Math.floor(fromIndex/grid[0]) : (grid[1]-1)/2;
|
1240 |
+
var toX = index%grid[0];
|
1241 |
+
var toY = Math.floor(index/grid[0]);
|
1242 |
+
var distanceX = fromX - toX;
|
1243 |
+
var distanceY = fromY - toY;
|
1244 |
+
var value = Math.sqrt(distanceX * distanceX + distanceY * distanceY);
|
1245 |
+
if (axis === 'x') { value = -distanceX; }
|
1246 |
+
if (axis === 'y') { value = -distanceY; }
|
1247 |
+
values.push(value);
|
1248 |
+
}
|
1249 |
+
maxValue = Math.max.apply(Math, values);
|
1250 |
+
}
|
1251 |
+
if (easing) { values = values.map(function (val) { return easing(val / maxValue) * maxValue; }); }
|
1252 |
+
if (direction === 'reverse') { values = values.map(function (val) { return axis ? (val < 0) ? val * -1 : -val : Math.abs(maxValue - val); }); }
|
1253 |
+
}
|
1254 |
+
var spacing = isRange ? (val2 - val1) / maxValue : val1;
|
1255 |
+
return start + (spacing * (Math.round(values[i] * 100) / 100)) + unit;
|
1256 |
+
}
|
1257 |
+
}
|
1258 |
+
|
1259 |
+
// Timeline
|
1260 |
+
|
1261 |
+
function timeline(params) {
|
1262 |
+
if ( params === void 0 ) params = {};
|
1263 |
+
|
1264 |
+
var tl = anime(params);
|
1265 |
+
tl.duration = 0;
|
1266 |
+
tl.add = function(instanceParams, timelineOffset) {
|
1267 |
+
var tlIndex = activeInstances.indexOf(tl);
|
1268 |
+
var children = tl.children;
|
1269 |
+
if (tlIndex > -1) { activeInstances.splice(tlIndex, 1); }
|
1270 |
+
function passThrough(ins) { ins.passThrough = true; }
|
1271 |
+
for (var i = 0; i < children.length; i++) { passThrough(children[i]); }
|
1272 |
+
var insParams = mergeObjects(instanceParams, replaceObjectProps(defaultTweenSettings, params));
|
1273 |
+
insParams.targets = insParams.targets || params.targets;
|
1274 |
+
var tlDuration = tl.duration;
|
1275 |
+
insParams.autoplay = false;
|
1276 |
+
insParams.direction = tl.direction;
|
1277 |
+
insParams.timelineOffset = is.und(timelineOffset) ? tlDuration : getRelativeValue(timelineOffset, tlDuration);
|
1278 |
+
passThrough(tl);
|
1279 |
+
tl.seek(insParams.timelineOffset);
|
1280 |
+
var ins = anime(insParams);
|
1281 |
+
passThrough(ins);
|
1282 |
+
children.push(ins);
|
1283 |
+
var timings = getInstanceTimings(children, params);
|
1284 |
+
tl.delay = timings.delay;
|
1285 |
+
tl.endDelay = timings.endDelay;
|
1286 |
+
tl.duration = timings.duration;
|
1287 |
+
tl.seek(0);
|
1288 |
+
tl.reset();
|
1289 |
+
if (tl.autoplay) { tl.play(); }
|
1290 |
+
return tl;
|
1291 |
+
};
|
1292 |
+
return tl;
|
1293 |
+
}
|
1294 |
+
|
1295 |
+
anime.version = '3.2.1';
|
1296 |
+
anime.speed = 1;
|
1297 |
+
// TODO:#review: naming, documentation
|
1298 |
+
anime.suspendWhenDocumentHidden = true;
|
1299 |
+
anime.running = activeInstances;
|
1300 |
+
anime.remove = removeTargetsFromActiveInstances;
|
1301 |
+
anime.get = getOriginalTargetValue;
|
1302 |
+
anime.set = setTargetsValue;
|
1303 |
+
anime.convertPx = convertPxToUnit;
|
1304 |
+
anime.path = getPath;
|
1305 |
+
anime.setDashoffset = setDashoffset;
|
1306 |
+
anime.stagger = stagger;
|
1307 |
+
anime.timeline = timeline;
|
1308 |
+
anime.easing = parseEasings;
|
1309 |
+
anime.penner = penner;
|
1310 |
+
anime.random = function (min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; };
|
1311 |
+
|
1312 |
+
//module.exports = anime;
|
assets/js/widgets/animated-text.js
ADDED
@@ -0,0 +1,293 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
( function ( $ ) {
|
2 |
+
|
3 |
+
/* Credit for text effects - https://tympanus.net/codrops/2016/10/18/inspiration-for-letter-effects/ */
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Equation of a line.
|
7 |
+
*/
|
8 |
+
function lineEq( y2, y1, x2, x1, currentVal ) {
|
9 |
+
// y = mx + b
|
10 |
+
var m = ( y2 - y1 ) / ( x2 - x1 ),
|
11 |
+
b = y1 - m * x1;
|
12 |
+
|
13 |
+
return m * currentVal + b;
|
14 |
+
}
|
15 |
+
|
16 |
+
var LAE_Animate_Text = function ( $scope ) {
|
17 |
+
|
18 |
+
let $element = $scope.find( '.lae-animated-text' ).eq( 0 );
|
19 |
+
|
20 |
+
this._init( $element );
|
21 |
+
};
|
22 |
+
|
23 |
+
LAE_Animate_Text.prototype = {
|
24 |
+
|
25 |
+
self: null,
|
26 |
+
wrapperElement: null,
|
27 |
+
textItems: null,
|
28 |
+
settings: null,
|
29 |
+
currentIndex: 0,
|
30 |
+
symbols: null,
|
31 |
+
animation: null,
|
32 |
+
delay: null,
|
33 |
+
timeout: null,
|
34 |
+
|
35 |
+
effects: {
|
36 |
+
'fx1': {
|
37 |
+
in: {
|
38 |
+
duration: 1000,
|
39 |
+
delay: function ( el, index ) {
|
40 |
+
return 75 + index * 40;
|
41 |
+
},
|
42 |
+
easing: 'easeOutElastic',
|
43 |
+
elasticity: 650,
|
44 |
+
opacity: {
|
45 |
+
value: 1,
|
46 |
+
easing: 'easeOutExpo',
|
47 |
+
},
|
48 |
+
translateY: [ '50%', '0%' ]
|
49 |
+
},
|
50 |
+
out: {
|
51 |
+
duration: 400,
|
52 |
+
delay: function ( el, index ) {
|
53 |
+
return index * 40;
|
54 |
+
},
|
55 |
+
easing: 'easeOutExpo',
|
56 |
+
opacity: 0,
|
57 |
+
translateY: '-100%'
|
58 |
+
}
|
59 |
+
},
|
60 |
+
'fx2': {
|
61 |
+
in: {
|
62 |
+
duration: 700,
|
63 |
+
delay: function ( el, index ) {
|
64 |
+
return index * 50;
|
65 |
+
},
|
66 |
+
easing: 'easeOutCirc',
|
67 |
+
opacity: 1,
|
68 |
+
translateX: function ( el, index ) {
|
69 |
+
return [ ( 50 + index * 10 ), 0 ]
|
70 |
+
}
|
71 |
+
},
|
72 |
+
out: {
|
73 |
+
duration: 0,
|
74 |
+
opacity: 0
|
75 |
+
}
|
76 |
+
},
|
77 |
+
'fx3': {
|
78 |
+
in: {
|
79 |
+
duration: 800,
|
80 |
+
delay: function ( el, index ) {
|
81 |
+
return index * 50;
|
82 |
+
},
|
83 |
+
easing: 'easeOutElastic',
|
84 |
+
opacity: 1,
|
85 |
+
translateY: function ( el, index ) {
|
86 |
+
return index % 2 === 0 ? [ '-80%', '0%' ] : [ '80%', '0%' ];
|
87 |
+
}
|
88 |
+
},
|
89 |
+
out: {
|
90 |
+
duration: 800,
|
91 |
+
delay: function ( el, index ) {
|
92 |
+
return index * 50;
|
93 |
+
},
|
94 |
+
easing: 'easeOutExpo',
|
95 |
+
opacity: 0,
|
96 |
+
translateY: function ( el, index ) {
|
97 |
+
return index % 2 === 0 ? '80%' : '-80%';
|
98 |
+
}
|
99 |
+
}
|
100 |
+
},
|
101 |
+
'fx4': {
|
102 |
+
in: {
|
103 |
+
duration: 700,
|
104 |
+
delay: function ( el, index ) {
|
105 |
+
return ( el.parentNode.children.length - index - 1 ) * 80;
|
106 |
+
},
|
107 |
+
easing: 'easeOutElastic',
|
108 |
+
opacity: 1,
|
109 |
+
translateY: function ( el, index ) {
|
110 |
+
return index % 2 === 0 ? [ '-80%', '0%' ] : [ '80%', '0%' ];
|
111 |
+
},
|
112 |
+
rotateZ: [ 90, 0 ]
|
113 |
+
},
|
114 |
+
out: {
|
115 |
+
duration: 500,
|
116 |
+
delay: function ( el, index ) {
|
117 |
+
return ( el.parentNode.children.length - index - 1 ) * 80;
|
118 |
+
},
|
119 |
+
easing: 'easeOutExpo',
|
120 |
+
opacity: 0,
|
121 |
+
translateY: function ( el, index ) {
|
122 |
+
return index % 2 === 0 ? '80%' : '-80%';
|
123 |
+
},
|
124 |
+
rotateZ: function ( el, index ) {
|
125 |
+
return index % 2 === 0 ? -25 : 25;
|
126 |
+
}
|
127 |
+
}
|
128 |
+
},
|
129 |
+
'fx5': {
|
130 |
+
perspective: 1000,
|
131 |
+
in: {
|
132 |
+
duration: 700,
|
133 |
+
delay: function ( el, index ) {
|
134 |
+
return 550 + index * 50;
|
135 |
+
},
|
136 |
+
easing: 'easeOutQuint',
|
137 |
+
opacity: {
|
138 |
+
value: 1,
|
139 |
+
easing: 'linear',
|
140 |
+
},
|
141 |
+
translateY: [ '-150%', '0%' ],
|
142 |
+
rotateY: [ 180, 0 ]
|
143 |
+
},
|
144 |
+
out: {
|
145 |
+
duration: 700,
|
146 |
+
delay: function ( el, index ) {
|
147 |
+
return index * 60;
|
148 |
+
},
|
149 |
+
easing: 'easeInQuint',
|
150 |
+
opacity: {
|
151 |
+
value: 0,
|
152 |
+
easing: 'linear',
|
153 |
+
},
|
154 |
+
translateY: '150%',
|
155 |
+
rotateY: -180
|
156 |
+
}
|
157 |
+
},
|
158 |
+
'fx6': {
|
159 |
+
in: {
|
160 |
+
duration: 600,
|
161 |
+
easing: 'easeOutQuart',
|
162 |
+
opacity: 1,
|
163 |
+
translateY: function ( el, index ) {
|
164 |
+
return index % 2 === 0 ? [ '-40%', '0%' ] : [ '40%', '0%' ];
|
165 |
+
},
|
166 |
+
rotateZ: [ 10, 0 ]
|
167 |
+
},
|
168 |
+
out: {
|
169 |
+
duration: 0,
|
170 |
+
opacity: 0
|
171 |
+
}
|
172 |
+
},
|
173 |
+
|
174 |
+
},
|
175 |
+
|
176 |
+
stopAnimation: function () {
|
177 |
+
anime.remove( this.symbols );
|
178 |
+
this.symbols.each( function ( index, symbol ) {
|
179 |
+
symbol.style.transform = '';
|
180 |
+
} );
|
181 |
+
},
|
182 |
+
|
183 |
+
hideText: function ( $element, effect, callback ) {
|
184 |
+
this.symbols = $element.find( 'span' );
|
185 |
+
this.stopAnimation();
|
186 |
+
arguments.length ? this.animateText( $element, 'out', effect, callback ) : this.symbols.each( function ( index, symbol ) {
|
187 |
+
symbol.style.opacity = 0;
|
188 |
+
} );
|
189 |
+
},
|
190 |
+
|
191 |
+
showText: function ( $element, effect, callback ) {
|
192 |
+
this.symbols = $element.find( 'span' );
|
193 |
+
this.stopAnimation();
|
194 |
+
arguments.length ? this.animateText( $element, 'in', effect, callback ) : this.symbols.each( function ( index, symbol ) {
|
195 |
+
symbol.style.opacity = 1;
|
196 |
+
} );
|
197 |
+
},
|
198 |
+
|
199 |
+
animateText: function ( $element, direction, effect, callback ) {
|
200 |
+
|
201 |
+
let effectSettings = ( typeof effect === 'string' ) ? this.effects[effect] : effect;
|
202 |
+
|
203 |
+
if (effectSettings.perspective != undefined) {
|
204 |
+
$element.css( { "perspective": effectSettings.perspective + 'px' } );
|
205 |
+
}
|
206 |
+
if (effectSettings.origin != undefined) {
|
207 |
+
this.symbols.each( function ( index, symbol ) {
|
208 |
+
symbol.style.transformOrigin = effectSettings.origin;
|
209 |
+
} );
|
210 |
+
}
|
211 |
+
|
212 |
+
let $symbols = this.symbols;
|
213 |
+
|
214 |
+
$symbols.each( function ( index, current ) {
|
215 |
+
if (current.innerHTML === ' ') {
|
216 |
+
$symbols.splice( index, 1 ); // remove the span that is empty space
|
217 |
+
}
|
218 |
+
} );
|
219 |
+
|
220 |
+
let animationOptions = effectSettings[direction];
|
221 |
+
|
222 |
+
animationOptions.targets = $symbols.toArray();
|
223 |
+
|
224 |
+
animationOptions.complete = callback;
|
225 |
+
|
226 |
+
anime( animationOptions );
|
227 |
+
},
|
228 |
+
textChanged: function () {
|
229 |
+
|
230 |
+
let self = this;
|
231 |
+
|
232 |
+
/* The text that is being animated currently */
|
233 |
+
let prevText = self.textItems.eq( self.currentIndex );
|
234 |
+
|
235 |
+
self.currentIndex++;
|
236 |
+
if (self.currentIndex >= self.textItems.length) {
|
237 |
+
self.currentIndex = 0;
|
238 |
+
}
|
239 |
+
|
240 |
+
if (self.timeout) {
|
241 |
+
clearTimeout( self.timeout );
|
242 |
+
}
|
243 |
+
|
244 |
+
/* The text that needs to be animated next */
|
245 |
+
let nextText = self.textItems.eq( self.currentIndex );
|
246 |
+
|
247 |
+
self.hideText( prevText, self.animation, function () {
|
248 |
+
nextText.addClass( 'lae-visible' );
|
249 |
+
prevText.removeClass( 'lae-visible' );
|
250 |
+
self.showText( nextText, self.animation, function () {
|
251 |
+
self.timeout = setTimeout( function () {
|
252 |
+
self.textChanged(); // show next text after the delay and the cycle repeats
|
253 |
+
}, self.delay );
|
254 |
+
} );
|
255 |
+
} )
|
256 |
+
|
257 |
+
},
|
258 |
+
_init: function ( $element ) {
|
259 |
+
|
260 |
+
let self = this;
|
261 |
+
|
262 |
+
self.textItems = $element.find( '.lae-animated-text-item' );
|
263 |
+
self.settings = $element.data( 'settings' );
|
264 |
+
|
265 |
+
self.animation = self.settings.textAnimation;
|
266 |
+
self.delay = self.settings.animationDelay;
|
267 |
+
|
268 |
+
let firstElement = self.textItems.eq( 0 );
|
269 |
+
firstElement.addClass( 'lae-visible' ); // optional but good to have just in case the first element is hidden as well
|
270 |
+
|
271 |
+
this.showText( firstElement, self.animation, function () {
|
272 |
+
self.timeout = setTimeout( function () {
|
273 |
+
self.textChanged(); // show next text after the delay
|
274 |
+
}, self.delay );
|
275 |
+
}
|
276 |
+
);
|
277 |
+
},
|
278 |
+
};
|
279 |
+
|
280 |
+
var WidgetLAEAnimatedTextHandler = function ( $scope, $ ) {
|
281 |
+
|
282 |
+
new LAE_Animate_Text( $scope );
|
283 |
+
|
284 |
+
};
|
285 |
+
|
286 |
+
// Make sure you run this code under Elementor..
|
287 |
+
$( window ).on( 'elementor/frontend/init', function () {
|
288 |
+
|
289 |
+
elementorFrontend.hooks.addAction( 'frontend/element_ready/lae-animated-text.default', WidgetLAEAnimatedTextHandler );
|
290 |
+
|
291 |
+
} );
|
292 |
+
|
293 |
+
} )( jQuery );
|
assets/js/widgets/animated-text.min.js
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
(function($){function lineEq(y2,y1,x2,x1,currentVal){var m=(y2-y1)/(x2-x1),b=y1-m*x1;return m*currentVal+b}var LAE_Animate_Text=function($scope){let $element=$scope.find(".lae-animated-text").eq(0);this._init($element)};LAE_Animate_Text.prototype={self:null,wrapperElement:null,textItems:null,settings:null,currentIndex:0,symbols:null,animation:null,delay:null,timeout:null,effects:{fx1:{in:{duration:1e3,delay:function(el,index){return 75+index*40},easing:"easeOutElastic",elasticity:650,opacity:{value:1,easing:"easeOutExpo"},translateY:["50%","0%"]},out:{duration:400,delay:function(el,index){return index*40},easing:"easeOutExpo",opacity:0,translateY:"-100%"}},fx2:{in:{duration:700,delay:function(el,index){return index*50},easing:"easeOutCirc",opacity:1,translateX:function(el,index){return[50+index*10,0]}},out:{duration:0,opacity:0}},fx3:{in:{duration:800,delay:function(el,index){return index*50},easing:"easeOutElastic",opacity:1,translateY:function(el,index){return index%2===0?["-80%","0%"]:["80%","0%"]}},out:{duration:800,delay:function(el,index){return index*50},easing:"easeOutExpo",opacity:0,translateY:function(el,index){return index%2===0?"80%":"-80%"}}},fx4:{in:{duration:700,delay:function(el,index){return(el.parentNode.children.length-index-1)*80},easing:"easeOutElastic",opacity:1,translateY:function(el,index){return index%2===0?["-80%","0%"]:["80%","0%"]},rotateZ:[90,0]},out:{duration:500,delay:function(el,index){return(el.parentNode.children.length-index-1)*80},easing:"easeOutExpo",opacity:0,translateY:function(el,index){return index%2===0?"80%":"-80%"},rotateZ:function(el,index){return index%2===0?-25:25}}},fx5:{perspective:1e3,in:{duration:700,delay:function(el,index){return 550+index*50},easing:"easeOutQuint",opacity:{value:1,easing:"linear"},translateY:["-150%","0%"],rotateY:[180,0]},out:{duration:700,delay:function(el,index){return index*60},easing:"easeInQuint",opacity:{value:0,easing:"linear"},translateY:"150%",rotateY:-180}},fx6:{in:{duration:600,easing:"easeOutQuart",opacity:1,translateY:function(el,index){return index%2===0?["-40%","0%"]:["40%","0%"]},rotateZ:[10,0]},out:{duration:0,opacity:0}}, /* <fs_premium_only> */fx7:{in:{duration:250,delay:function(el,index){return 200+index*25},easing:"easeOutCubic",opacity:1,translateY:["-50%","0%"]},out:{duration:250,delay:function(el,index){return index*25},easing:"easeOutCubic",opacity:0,translateY:"50%"}},fx8:{in:{duration:400,delay:function(el,index){return 150+(el.parentNode.children.length-index-1)*20},easing:"easeOutQuad",opacity:1,translateY:["100%","0%"]},out:{duration:400,delay:function(el,index){return(el.parentNode.children.length-index-1)*20},easing:"easeInOutQuad",opacity:0,translateY:"-100%"}},fx9:{perspective:1e3,origin:"50% 100%",in:{duration:400,delay:function(el,index){return index*50},easing:"easeOutSine",opacity:1,rotateY:[-90,0]},out:{duration:200,delay:function(el,index){return index*50},easing:"easeOutSine",opacity:0,rotateY:45}},fx10:{in:{duration:1e3,delay:function(el,index){return 100+index*30},easing:"easeOutElastic",elasticity:anime.random(400,700),opacity:1,rotateZ:function(el,index){return[anime.random(20,40),0]}},out:{duration:0,opacity:0}},fx11:{perspective:1e3,origin:"50% 100%",in:{duration:400,delay:function(el,index){return 200+index*20},easing:"easeOutExpo",opacity:1,rotateY:[-90,0]},out:{duration:400,delay:function(el,index){return index*20},easing:"easeOutExpo",opacity:0,rotateY:90}},fx12:{perspective:1e3,origin:"50% 100%",in:{duration:400,delay:function(el,index){return 200+index*30},easing:"easeOutExpo",opacity:1,rotateX:[90,0]},out:{duration:400,delay:function(el,index){return index*30},easing:"easeOutExpo",opacity:0,rotateX:-90}},fx13:{in:{duration:800,easing:"easeOutExpo",opacity:1,translateY:function(el,index){var p=el.parentNode,lastElOffW=p.lastElementChild.offsetWidth,firstElOffL=p.firstElementChild.offsetLeft,w=p.offsetWidth-lastElOffW-firstElOffL-(p.offsetWidth-lastElOffW-p.lastElementChild.offsetLeft),tyVal=lineEq(0,200,firstElOffL+w/2,firstElOffL,el.offsetLeft);return[Math.abs(tyVal)+50+"%","0%"]},rotateZ:function(el,index){var p=el.parentNode,lastElOffW=p.lastElementChild.offsetWidth,firstElOffL=p.firstElementChild.offsetLeft,w=p.offsetWidth-lastElOffW-p.firstElementChild.offsetLeft-(p.offsetWidth-lastElOffW-p.lastElementChild.offsetLeft),rz=lineEq(90,-90,firstElOffL+w,firstElOffL,el.offsetLeft);return[rz,0]}},out:{duration:500,easing:"easeOutExpo",opacity:0,translateY:"-150%"}},fx14:{in:{duration:500,easing:"easeOutExpo",delay:function(el,index){return 200+index*30},opacity:1,rotateZ:[20,0],translateY:function(el,index){var p=el.parentNode,lastElOffW=p.lastElementChild.offsetWidth,firstElOffL=p.firstElementChild.offsetLeft,w=p.offsetWidth-lastElOffW-firstElOffL-(p.offsetWidth-lastElOffW-p.lastElementChild.offsetLeft),tyVal=lineEq(-130,-60,firstElOffL+w,firstElOffL,el.offsetLeft);return[Math.abs(tyVal)+"%","0%"]}},out:{duration:400,easing:"easeOutExpo",delay:function(el,index){return(el.parentNode.children.length-index-1)*30},opacity:0,rotateZ:20,translateY:function(el,index){var p=el.parentNode,lastElOffW=p.lastElementChild.offsetWidth,firstElOffL=p.firstElementChild.offsetLeft,w=p.offsetWidth-lastElOffW-firstElOffL-(p.offsetWidth-lastElOffW-p.lastElementChild.offsetLeft),tyVal=lineEq(-60,-130,firstElOffL+w,firstElOffL,el.offsetLeft);return tyVal+"%"}}},fx15:{perspective:1e3,in:{duration:400,delay:function(el,index){return 100+index*50},easing:"easeOutExpo",opacity:1,rotateX:[110,0]},out:{duration:400,delay:function(el,index){return index*50},easing:"easeOutExpo",opacity:0,rotateX:-110}},fx16:{in:{duration:function(el,index){return anime.random(800,1e3)},delay:function(el,index){return anime.random(0,75)},easing:"easeInOutExpo",opacity:1,translateY:["-300%","0%"],rotateZ:function(el,index){return[anime.random(-50,50),0]}},out:{duration:function(el,index){return anime.random(800,1e3)},delay:function(el,index){return anime.random(0,80)},easing:"easeInOutExpo",opacity:0,translateY:"300%",rotateZ:function(el,index){return anime.random(-50,50)}}},fx17:{in:{duration:650,easing:"easeOutQuint",delay:function(el,index){return 450+(el.parentNode.children.length-index-1)*30},opacity:1,translateX:function(el,index){return[-1*el.offsetLeft,0]}},out:{duration:1,delay:400,opacity:0}},fx18:{in:{duration:800,delay:function(el,index){return 600+index*150},easing:"easeInOutQuint",opacity:1,scaleY:[8,1],scaleX:[.5,1],translateY:["-100%","0%"]},out:{duration:800,delay:function(el,index){return index*150},easing:"easeInQuint",opacity:0,scaleY:{value:8,delay:function(el,index){return 100+index*150}},scaleX:.5,translateY:"100%"}}},stopAnimation:function(){anime.remove(this.symbols);this.symbols.each(function(index,symbol){symbol.style.transform=""})},hideText:function($element,effect,callback){this.symbols=$element.find("span");this.stopAnimation();arguments.length?this.animateText($element,"out",effect,callback):this.symbols.each(function(index,symbol){symbol.style.opacity=0})},showText:function($element,effect,callback){this.symbols=$element.find("span");this.stopAnimation();arguments.length?this.animateText($element,"in",effect,callback):this.symbols.each(function(index,symbol){symbol.style.opacity=1})},animateText:function($element,direction,effect,callback){let effectSettings=typeof effect==="string"?this.effects[effect]:effect;if(effectSettings.perspective!=undefined){$element.css({perspective:effectSettings.perspective+"px"})}if(effectSettings.origin!=undefined){this.symbols.each(function(index,symbol){symbol.style.transformOrigin=effectSettings.origin})}let $symbols=this.symbols;$symbols.each(function(index,current){if(current.innerHTML===" "){$symbols.splice(index,1)}});let animationOptions=effectSettings[direction];animationOptions.targets=$symbols.toArray();animationOptions.complete=callback;anime(animationOptions)},textChanged:function(){let self=this;let prevText=self.textItems.eq(self.currentIndex);self.currentIndex++;if(self.currentIndex>=self.textItems.length){self.currentIndex=0}if(self.timeout){clearTimeout(self.timeout)}let nextText=self.textItems.eq(self.currentIndex);self.hideText(prevText,self.animation,function(){nextText.addClass("lae-visible");prevText.removeClass("lae-visible");self.showText(nextText,self.animation,function(){self.timeout=setTimeout(function(){self.textChanged()},self.delay)})})},_init:function($element){let self=this;self.textItems=$element.find(".lae-animated-text-item");self.settings=$element.data("settings");self.animation=self.settings.textAnimation;self.delay=self.settings.animationDelay;let firstElement=self.textItems.eq(0);firstElement.addClass("lae-visible");this.showText(firstElement,self.animation,function(){self.timeout=setTimeout(function(){self.textChanged()},self.delay)})}};var WidgetLAEAnimatedTextHandler=function($scope,$){new LAE_Animate_Text($scope)};$(window).on("elementor/frontend/init",function(){elementorFrontend.hooks.addAction("frontend/element_ready/lae-animated-text.default",WidgetLAEAnimatedTextHandler)})})(jQuery);
|
includes/widgets/animated-text.php
ADDED
@@ -0,0 +1,316 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
Widget Name: Animated Text
|
5 |
+
Description: Display headings with animated text
|
6 |
+
Author: LiveMesh
|
7 |
+
Author URI: https://www.livemeshthemes.com
|
8 |
+
*/
|
9 |
+
namespace LivemeshAddons\Widgets;
|
10 |
+
|
11 |
+
use Elementor\Repeater ;
|
12 |
+
use Elementor\Widget_Base ;
|
13 |
+
use Elementor\Controls_Manager ;
|
14 |
+
use Elementor\Scheme_Color ;
|
15 |
+
use Elementor\Group_Control_Typography ;
|
16 |
+
use Elementor\Scheme_Typography ;
|
17 |
+
if ( !defined( 'ABSPATH' ) ) {
|
18 |
+
exit;
|
19 |
+
}
|
20 |
+
// Exit if accessed directly
|
21 |
+
/**
|
22 |
+
* Class for Animated Text widget that displays headings with animated text
|
23 |
+
*/
|
24 |
+
class LAE_Animated_Text_Widget extends LAE_Widget_Base
|
25 |
+
{
|
26 |
+
/**
|
27 |
+
* Get the name for the widget
|
28 |
+
* @return string
|
29 |
+
*/
|
30 |
+
public function get_name()
|
31 |
+
{
|
32 |
+
return 'lae-animated-text';
|
33 |
+
}
|
34 |
+
|
35 |
+
/**
|
36 |
+
* Get the widget title
|
37 |
+
* @return string|void
|
38 |
+
*/
|
39 |
+
public function get_title()
|
40 |
+
{
|
41 |
+
return __( 'Animated Text', 'livemesh-el-addons' );
|
42 |
+
}
|
43 |
+
|
44 |
+
/**
|
45 |
+
* Get the widget icon
|
46 |
+
* @return string
|
47 |
+
*/
|
48 |
+
public function get_icon()
|
49 |
+
{
|
50 |
+
return 'lae-icon-heading';
|
51 |
+
}
|
52 |
+
|
53 |
+
/**
|
54 |
+
* Retrieve the list of categories the widget belongs to.
|
55 |
+
*
|
56 |
+
* Used to determine where to display the widget in the editor.
|
57 |
+
*
|
58 |
+
* @return string[]
|
59 |
+
*/
|
60 |
+
public function get_categories()
|
61 |
+
{
|
62 |
+
return array( 'livemesh-addons' );
|
63 |
+
}
|
64 |
+
|
65 |
+
/**
|
66 |
+
* Get the widget documentation URL
|
67 |
+
* @return string
|
68 |
+
*/
|
69 |
+
public function get_custom_help_url()
|
70 |
+
{
|
71 |
+
return 'https://livemeshelementor.com/docs/livemesh-addons/animated-text/';
|
72 |
+
}
|
73 |
+
|
74 |
+
/**
|
75 |
+
* Obtain the scripts required for the widget to function
|
76 |
+
* @return string[]
|
77 |
+
*/
|
78 |
+
public function get_script_depends()
|
79 |
+
{
|
80 |
+
return [ 'anime', 'lae-frontend-scripts', 'lae-animated-text-scripts' ];
|
81 |
+
}
|
82 |
+
|
83 |
+
/**
|
84 |
+
* Register the controls for the widget
|
85 |
+
* Adds fields that help configure and customize the widget
|
86 |
+
* @return void
|
87 |
+
*/
|
88 |
+
protected function register_controls()
|
89 |
+
{
|
90 |
+
$this->start_controls_section( 'section_animated_text', [
|
91 |
+
'label' => __( 'Animated Text', 'livemesh-el-addons' ),
|
92 |
+
] );
|
93 |
+
$this->add_control( 'animated_text_class', [
|
94 |
+
'type' => Controls_Manager::TEXT,
|
95 |
+
'label' => __( 'Container Class', 'livemesh-el-addons' ),
|
96 |
+
'description' => __( 'The CSS class for the animated text container DIV element.', 'livemesh-el-addons' ),
|
97 |
+
] );
|
98 |
+
$this->add_control( 'before_text', [
|
99 |
+
'type' => Controls_Manager::TEXT,
|
100 |
+
'label' => __( 'Before Text', 'livemesh-el-addons' ),
|
101 |
+
'label_block' => true,
|
102 |
+
'separator' => 'after',
|
103 |
+
'default' => __( 'Before Text', 'livemesh-el-addons' ),
|
104 |
+
'dynamic' => [
|
105 |
+
'active' => true,
|
106 |
+
],
|
107 |
+
] );
|
108 |
+
$repeater = new Repeater();
|
109 |
+
$repeater->add_control( 'animated_text_item', [
|
110 |
+
'label' => __( 'Animated Text Item', 'livemesh-el-addons' ),
|
111 |
+
'default' => __( 'My Animated Text', 'livemesh-el-addons' ),
|
112 |
+
'type' => Controls_Manager::TEXT,
|
113 |
+
'label_block' => true,
|
114 |
+
'dynamic' => [
|
115 |
+
'active' => true,
|
116 |
+
],
|
117 |
+
] );
|
118 |
+
$this->add_control( 'animated_text_items', [
|
119 |
+
'type' => Controls_Manager::REPEATER,
|
120 |
+
'default' => [ [
|
121 |
+
'animated_text_item' => 'Creatively Express',
|
122 |
+
], [
|
123 |
+
'animated_text_item' => 'Stay Productive',
|
124 |
+
], [
|
125 |
+
'animated_text_item' => 'Endless Customization',
|
126 |
+
] ],
|
127 |
+
'fields' => $repeater->get_controls(),
|
128 |
+
'title_field' => '{{{ animated_text_item }}}',
|
129 |
+
] );
|
130 |
+
$this->add_control( 'animated_text_link', [
|
131 |
+
'label' => __( 'Animated Text URL', 'livemesh-el-addons' ),
|
132 |
+
'description' => __( 'The link for the page linked from the animated text.', 'livemesh-el-addons' ),
|
133 |
+
'type' => Controls_Manager::URL,
|
134 |
+
'label_block' => true,
|
135 |
+
'default' => [
|
136 |
+
'url' => '',
|
137 |
+
'is_external' => 'true',
|
138 |
+
],
|
139 |
+
'placeholder' => __( 'https://www.mysite.com', 'livemesh-el-addons' ),
|
140 |
+
'dynamic' => [
|
141 |
+
'active' => true,
|
142 |
+
],
|
143 |
+
] );
|
144 |
+
$this->add_control( 'after_text', [
|
145 |
+
'type' => Controls_Manager::TEXT,
|
146 |
+
'label' => __( 'After Text', 'livemesh-el-addons' ),
|
147 |
+
'label_block' => true,
|
148 |
+
'separator' => 'before',
|
149 |
+
'default' => __( 'After Text', 'livemesh-el-addons' ),
|
150 |
+
'dynamic' => [
|
151 |
+
'active' => true,
|
152 |
+
],
|
153 |
+
] );
|
154 |
+
$this->end_controls_section();
|
155 |
+
$this->start_controls_section( 'section_widget_settings', [
|
156 |
+
'label' => __( 'Settings', 'livemesh-el-addons' ),
|
157 |
+
'tab' => Controls_Manager::TAB_SETTINGS,
|
158 |
+
'show_label' => false,
|
159 |
+
] );
|
160 |
+
$this->add_control( "text_animation", [
|
161 |
+
"type" => Controls_Manager::SELECT,
|
162 |
+
'label' => __( 'Text Animation', 'livemesh-el-addons' ),
|
163 |
+
'options' => $this->get_animation_options(),
|
164 |
+
'default' => 'fx1',
|
165 |
+
] );
|
166 |
+
$this->add_control( 'animation_delay', [
|
167 |
+
'label' => __( 'Animation delay (ms)', 'livemesh-el-addons' ),
|
168 |
+
'type' => Controls_Manager::NUMBER,
|
169 |
+
'default' => 2800,
|
170 |
+
'min' => 500,
|
171 |
+
'step' => 100,
|
172 |
+
] );
|
173 |
+
$this->add_control( 'split_type', [
|
174 |
+
'label' => __( 'Split Text', 'livemesh-el-addons' ),
|
175 |
+
'type' => Controls_Manager::SELECT,
|
176 |
+
'options' => array(
|
177 |
+
'character' => __( 'Characters', 'livemesh-el-addons' ),
|
178 |
+
'word' => __( 'Words', 'livemesh-el-addons' ),
|
179 |
+
),
|
180 |
+
'default' => 'character',
|
181 |
+
] );
|
182 |
+
$this->add_control( 'text_alignment', [
|
183 |
+
'label' => __( 'Text Alignment', 'livemesh-el-addons' ),
|
184 |
+
'type' => Controls_Manager::CHOOSE,
|
185 |
+
'options' => [
|
186 |
+
'left' => [
|
187 |
+
'title' => __( 'Left', 'livemesh-el-addons' ),
|
188 |
+
'icon' => 'eicon-text-align-left',
|
189 |
+
],
|
190 |
+
'center' => [
|
191 |
+
'title' => __( 'Center', 'livemesh-el-addons' ),
|
192 |
+
'icon' => 'eicon-text-align-center',
|
193 |
+
],
|
194 |
+
'right' => [
|
195 |
+
'title' => __( 'Right', 'livemesh-el-addons' ),
|
196 |
+
'icon' => 'eicon-text-align-right',
|
197 |
+
],
|
198 |
+
],
|
199 |
+
'default' => 'center',
|
200 |
+
] );
|
201 |
+
$this->end_controls_section();
|
202 |
+
$this->start_controls_section( 'section_animated_text_before_text', [
|
203 |
+
'label' => __( 'Before Text', 'livemesh-el-addons' ),
|
204 |
+
'tab' => Controls_Manager::TAB_STYLE,
|
205 |
+
] );
|
206 |
+
$this->add_control( 'before_text_color', [
|
207 |
+
'label' => __( 'Color', 'livemesh-el-addons' ),
|
208 |
+
'type' => Controls_Manager::COLOR,
|
209 |
+
'selectors' => [
|
210 |
+
'{{WRAPPER}} .lae-animated-text .lae-animated-text-before-text' => 'color: {{VALUE}};',
|
211 |
+
],
|
212 |
+
] );
|
213 |
+
$this->add_group_control( Group_Control_Typography::get_type(), [
|
214 |
+
'name' => 'before_text_typography',
|
215 |
+
'selector' => '{{WRAPPER}} .lae-animated-text .lae-animated-text-before-text',
|
216 |
+
] );
|
217 |
+
$this->end_controls_section();
|
218 |
+
$this->start_controls_section( 'section_animated_text_items', [
|
219 |
+
'label' => __( 'Animated Text', 'livemesh-el-addons' ),
|
220 |
+
'tab' => Controls_Manager::TAB_STYLE,
|
221 |
+
] );
|
222 |
+
$this->add_control( 'animated_text_color', [
|
223 |
+
'label' => __( 'Color', 'livemesh-el-addons' ),
|
224 |
+
'type' => Controls_Manager::COLOR,
|
225 |
+
'selectors' => [
|
226 |
+
'{{WRAPPER}} .lae-animated-text .lae-animated-text-items' => 'color: {{VALUE}};',
|
227 |
+
],
|
228 |
+
] );
|
229 |
+
$this->add_group_control( Group_Control_Typography::get_type(), [
|
230 |
+
'name' => 'animated_text_typography',
|
231 |
+
'selector' => '{{WRAPPER}} .lae-animated-text .lae-animated-text-items',
|
232 |
+
] );
|
233 |
+
$this->end_controls_section();
|
234 |
+
$this->start_controls_section( 'section_animated_text_after_text', [
|
235 |
+
'label' => __( 'After Text', 'livemesh-el-addons' ),
|
236 |
+
'tab' => Controls_Manager::TAB_STYLE,
|
237 |
+
] );
|
238 |
+
$this->add_control( 'after_text_color', [
|
239 |
+
'label' => __( 'Color', 'livemesh-el-addons' ),
|
240 |
+
'type' => Controls_Manager::COLOR,
|
241 |
+
'selectors' => [
|
242 |
+
'{{WRAPPER}} .lae-animated-text .lae-animated-text-after-text' => 'color: {{VALUE}};',
|
243 |
+
],
|
244 |
+
] );
|
245 |
+
$this->add_group_control( Group_Control_Typography::get_type(), [
|
246 |
+
'name' => 'after_text_typography',
|
247 |
+
'selector' => '{{WRAPPER}} .lae-animated-text .lae-animated-text-after-text',
|
248 |
+
] );
|
249 |
+
$this->end_controls_section();
|
250 |
+
}
|
251 |
+
|
252 |
+
public function split_string_to_spans( $base_string, $split_type )
|
253 |
+
{
|
254 |
+
$base_words = explode( ' ', $base_string );
|
255 |
+
|
256 |
+
if ( $split_type === 'character' ) {
|
257 |
+
$glue = '';
|
258 |
+
$symbols = str_split( $base_string, 1 );
|
259 |
+
} else {
|
260 |
+
$glue = ' ';
|
261 |
+
$symbols = $base_words;
|
262 |
+
}
|
263 |
+
|
264 |
+
foreach ( $symbols as $symbol ) {
|
265 |
+
|
266 |
+
if ( $symbol === ' ' ) {
|
267 |
+
$symbol = ' ';
|
268 |
+
// maintain the separation of words
|
269 |
+
}
|
270 |
+
|
271 |
+
$spans[] = sprintf( '<span>%s</span>', $symbol );
|
272 |
+
}
|
273 |
+
return implode( $glue, $spans );
|
274 |
+
}
|
275 |
+
|
276 |
+
/**
|
277 |
+
* The animation options available for animating text elements.
|
278 |
+
* @return array The key value pairs of available animations for display in the widget settings UI
|
279 |
+
*/
|
280 |
+
function get_animation_options()
|
281 |
+
{
|
282 |
+
return apply_filters( 'lae_text_animation_options', array(
|
283 |
+
'fx1' => __( 'Effect 1', 'livemesh-el-addons' ),
|
284 |
+
'fx2' => __( 'Effect 2', 'livemesh-el-addons' ),
|
285 |
+
'fx3' => __( 'Effect 3', 'livemesh-el-addons' ),
|
286 |
+
'fx4' => __( 'Effect 4', 'livemesh-el-addons' ),
|
287 |
+
'fx5' => __( 'Effect 5', 'livemesh-el-addons' ),
|
288 |
+
'fx6' => __( 'Effect 6', 'livemesh-el-addons' ),
|
289 |
+
) );
|
290 |
+
}
|
291 |
+
|
292 |
+
/**
|
293 |
+
* Render HTML widget output on the frontend.
|
294 |
+
*
|
295 |
+
* Written in PHP and used to generate the final HTML.
|
296 |
+
*
|
297 |
+
* @return void
|
298 |
+
*/
|
299 |
+
protected function render()
|
300 |
+
{
|
301 |
+
$settings = $this->get_settings_for_display();
|
302 |
+
$settings = apply_filters( 'lae_animated_text_' . $this->get_id() . '_settings', $settings );
|
303 |
+
$args['settings'] = $settings;
|
304 |
+
$args['widget_instance'] = $this;
|
305 |
+
lae_get_template_part( "addons/animated-text/loop", $args );
|
306 |
+
}
|
307 |
+
|
308 |
+
/**
|
309 |
+
* Render the widget output in the editor.
|
310 |
+
* @return void
|
311 |
+
*/
|
312 |
+
protected function content_template()
|
313 |
+
{
|
314 |
+
}
|
315 |
+
|
316 |
+
}
|
plugin.php
CHANGED
@@ -45,7 +45,7 @@ if ( !class_exists( 'Livemesh_Elementor_Addons' ) ) {
|
|
45 |
public function __clone()
|
46 |
{
|
47 |
// Cloning instances of the class is forbidden
|
48 |
-
_doing_it_wrong( __FUNCTION__, __( 'Cheatin’ huh?', 'livemesh-el-addons' ), '7.2.
|
49 |
}
|
50 |
|
51 |
/**
|
@@ -55,7 +55,7 @@ if ( !class_exists( 'Livemesh_Elementor_Addons' ) ) {
|
|
55 |
public function __wakeup()
|
56 |
{
|
57 |
// Unserializing instances of the class is forbidden
|
58 |
-
_doing_it_wrong( __FUNCTION__, __( 'Cheatin’ huh?', 'livemesh-el-addons' ), '7.2.
|
59 |
}
|
60 |
|
61 |
private function setup_debug_constants()
|
@@ -250,7 +250,7 @@ if ( !class_exists( 'Livemesh_Elementor_Addons' ) ) {
|
|
250 |
);
|
251 |
wp_register_script(
|
252 |
'anime',
|
253 |
-
LAE_PLUGIN_URL . 'assets/js/anime.
|
254 |
array( 'jquery' ),
|
255 |
LAE_VERSION,
|
256 |
true
|
@@ -304,6 +304,13 @@ if ( !class_exists( 'Livemesh_Elementor_Addons' ) ) {
|
|
304 |
LAE_VERSION,
|
305 |
true
|
306 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
307 |
wp_register_script(
|
308 |
'lae-odometers-scripts',
|
309 |
LAE_PLUGIN_URL . 'assets/js/widgets/odometers' . $suffix . '.js',
|
@@ -494,6 +501,19 @@ if ( !class_exists( 'Livemesh_Elementor_Addons' ) ) {
|
|
494 |
{
|
495 |
require_once LAE_PLUGIN_DIR . 'includes/base/widget-base.php';
|
496 |
/* Load Elementor Addon Elements */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
497 |
$deactivate_element_team_members = lae_get_option( 'lae_deactivate_element_team', false );
|
498 |
|
499 |
if ( !$deactivate_element_team_members ) {
|
45 |
public function __clone()
|
46 |
{
|
47 |
// Cloning instances of the class is forbidden
|
48 |
+
_doing_it_wrong( __FUNCTION__, __( 'Cheatin’ huh?', 'livemesh-el-addons' ), '7.2.2' );
|
49 |
}
|
50 |
|
51 |
/**
|
55 |
public function __wakeup()
|
56 |
{
|
57 |
// Unserializing instances of the class is forbidden
|
58 |
+
_doing_it_wrong( __FUNCTION__, __( 'Cheatin’ huh?', 'livemesh-el-addons' ), '7.2.2' );
|
59 |
}
|
60 |
|
61 |
private function setup_debug_constants()
|
250 |
);
|
251 |
wp_register_script(
|
252 |
'anime',
|
253 |
+
LAE_PLUGIN_URL . 'assets/js/anime' . $suffix . '.js',
|
254 |
array( 'jquery' ),
|
255 |
LAE_VERSION,
|
256 |
true
|
304 |
LAE_VERSION,
|
305 |
true
|
306 |
);
|
307 |
+
wp_register_script(
|
308 |
+
'lae-animated-text-scripts',
|
309 |
+
LAE_PLUGIN_URL . 'assets/js/widgets/animated-text' . $suffix . '.js',
|
310 |
+
array( 'elementor-frontend' ),
|
311 |
+
LAE_VERSION,
|
312 |
+
true
|
313 |
+
);
|
314 |
wp_register_script(
|
315 |
'lae-odometers-scripts',
|
316 |
LAE_PLUGIN_URL . 'assets/js/widgets/odometers' . $suffix . '.js',
|
501 |
{
|
502 |
require_once LAE_PLUGIN_DIR . 'includes/base/widget-base.php';
|
503 |
/* Load Elementor Addon Elements */
|
504 |
+
$deactivate_element_animated_text = lae_get_option( 'lae_deactivate_element_animated_text', false );
|
505 |
+
|
506 |
+
if ( !$deactivate_element_animated_text ) {
|
507 |
+
require_once LAE_ADDONS_DIR . 'animated-text.php';
|
508 |
+
|
509 |
+
if ( version_compare( ELEMENTOR_VERSION, '3.5.0', '>=' ) ) {
|
510 |
+
$widgets_manager->register( new \LivemeshAddons\Widgets\LAE_Animated_Text_Widget() );
|
511 |
+
} else {
|
512 |
+
$widgets_manager->register_widget_type( new \LivemeshAddons\Widgets\LAE_Animated_Text_Widget() );
|
513 |
+
}
|
514 |
+
|
515 |
+
}
|
516 |
+
|
517 |
$deactivate_element_team_members = lae_get_option( 'lae_deactivate_element_team', false );
|
518 |
|
519 |
if ( !$deactivate_element_team_members ) {
|
readme.txt
CHANGED
@@ -7,7 +7,7 @@ Tags: elementor, elementor addons, elementor extensions, elementor widgets, page
|
|
7 |
Requires at least: 5.2
|
8 |
Tested up to: 6.0
|
9 |
Requires PHP: 5.6
|
10 |
-
Stable Tag: 7.2.
|
11 |
License: GPLv3
|
12 |
License URI: https://opensource.org/licenses/GPL-3.0
|
13 |
|
@@ -259,6 +259,9 @@ Email us at support[at]livemeshthemes.com and we will be happy to assist you.
|
|
259 |
|
260 |
|
261 |
|
|
|
|
|
|
|
262 |
= 7.2.1 =
|
263 |
* Fixed - Elementor editor would not load on certain sites when plugin is activated
|
264 |
* Fixed - JS errors seen in console when Elementor 3.7 is loaded on the site
|
7 |
Requires at least: 5.2
|
8 |
Tested up to: 6.0
|
9 |
Requires PHP: 5.6
|
10 |
+
Stable Tag: 7.2.2
|
11 |
License: GPLv3
|
12 |
License URI: https://opensource.org/licenses/GPL-3.0
|
13 |
|
259 |
|
260 |
|
261 |
|
262 |
+
= 7.2.2 =
|
263 |
+
* Added - New Animated Text widget with 6 text animations
|
264 |
+
|
265 |
= 7.2.1 =
|
266 |
* Fixed - Elementor editor would not load on certain sites when plugin is activated
|
267 |
* Fixed - JS errors seen in console when Elementor 3.7 is loaded on the site
|
templates/addons/animated-text/content.php
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Content - Animated Text Template
|
4 |
+
*
|
5 |
+
* This template can be overridden by copying it to mytheme/addons-for-elementor/addons/animated-text/content.php
|
6 |
+
*
|
7 |
+
*/
|
8 |
+
|
9 |
+
if (!defined('ABSPATH')) {
|
10 |
+
exit; // Exit if accessed directly
|
11 |
+
}
|
12 |
+
|
13 |
+
?>
|
14 |
+
|
15 |
+
<div class="lae-animated-text-item<?php echo ($text_visible) ? ' lae-visible': ''; ?>">
|
16 |
+
|
17 |
+
<?php echo $widget_instance->split_string_to_spans($animated_text_item, $split_type); ?>
|
18 |
+
|
19 |
+
</div><!-- .lae-animated-text-item -->
|
templates/addons/animated-text/loop.php
ADDED
@@ -0,0 +1,98 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Loop - Animated Text Template
|
4 |
+
*
|
5 |
+
* This template can be overridden by copying it to mytheme/addons-for-elementor/addons/animated-text/loop.php
|
6 |
+
*
|
7 |
+
*/
|
8 |
+
|
9 |
+
if (!defined('ABSPATH')) {
|
10 |
+
exit; // Exit if accessed directly
|
11 |
+
}
|
12 |
+
|
13 |
+
$dir = is_rtl() ? ' dir="rtl"' : '';
|
14 |
+
|
15 |
+
$anchor_tag = false;
|
16 |
+
|
17 |
+
$args['text_animation'] = $settings['text_animation'];
|
18 |
+
$args['split_type'] = $settings['split_type'];
|
19 |
+
|
20 |
+
$animation_settings = [
|
21 |
+
'textAnimation' => ($settings['text_animation']),
|
22 |
+
'animationDelay' => ($settings['animation_delay']),
|
23 |
+
'splitType' => ($settings['split_type']),
|
24 |
+
];
|
25 |
+
|
26 |
+
$container_class = 'lae-animated-text' . ' lae-align-' . $settings['text_alignment'] . ' ' . $settings['animated_text_class'];
|
27 |
+
|
28 |
+
?>
|
29 |
+
|
30 |
+
<?php $anchor_tag = false; ?>
|
31 |
+
|
32 |
+
<?php if (!empty($settings['animated_text_link']) && !empty($settings['animated_text_link']['url'])): ?>
|
33 |
+
|
34 |
+
<?php $target = $settings['animated_text_link']['is_external'] ? 'target="_blank"' : ''; ?>
|
35 |
+
|
36 |
+
<?php $anchor_tag = true; ?>
|
37 |
+
|
38 |
+
<a <?php echo $dir; ?> href="<?php echo esc_url($settings['animated_text_link']['url']); ?> " <?php echo $target; ?>
|
39 |
+
class="<?php echo $container_class; ?>"
|
40 |
+
data-settings='<?php echo wp_json_encode($animation_settings); ?>'>
|
41 |
+
|
42 |
+
<?php else: ?>
|
43 |
+
|
44 |
+
<div <?php echo $dir; ?> class="<?php echo $container_class; ?>"
|
45 |
+
data-settings='<?php echo wp_json_encode($animation_settings); ?>'>
|
46 |
+
|
47 |
+
<?php endif; ?>
|
48 |
+
|
49 |
+
<?php if (!empty($settings['before_text'])): ?>
|
50 |
+
|
51 |
+
<div class="lae-animated-text-before-text">
|
52 |
+
|
53 |
+
<?php echo $settings['before_text']; ?>
|
54 |
+
|
55 |
+
</div>
|
56 |
+
|
57 |
+
<?php endif; ?>
|
58 |
+
|
59 |
+
<?php if (!empty($settings['animated_text_items'])): ?>
|
60 |
+
|
61 |
+
<div class="lae-animated-text-items">
|
62 |
+
|
63 |
+
<?php foreach ($settings['animated_text_items'] as $index => $animated_text): ?>
|
64 |
+
|
65 |
+
<?php $args['animated_text_item'] = $animated_text['animated_text_item']; ?>
|
66 |
+
|
67 |
+
<?php
|
68 |
+
if ($index === 0)
|
69 |
+
$args['text_visible'] = true;
|
70 |
+
else
|
71 |
+
$args['text_visible'] = false;
|
72 |
+
?>
|
73 |
+
|
74 |
+
<?php lae_get_template_part("addons/animated-text/content", $args); ?>
|
75 |
+
|
76 |
+
<?php endforeach; ?>
|
77 |
+
|
78 |
+
</div><!-- .lae-animated-text-items -->
|
79 |
+
|
80 |
+
<?php endif; ?>
|
81 |
+
|
82 |
+
<?php if (!empty($settings['after_text'])): ?>
|
83 |
+
|
84 |
+
<div class="lae-animated-text-after-text">
|
85 |
+
|
86 |
+
<?php echo $settings['after_text']; ?>
|
87 |
+
|
88 |
+
</div>
|
89 |
+
|
90 |
+
<?php endif; ?>
|
91 |
+
|
92 |
+
<?php if ($anchor_tag): ?>
|
93 |
+
</a>
|
94 |
+
<?php else: ?>
|
95 |
+
</div>
|
96 |
+
<?php endif; ?>
|
97 |
+
|
98 |
+
<div class="lae-clear"></div>
|