diff --git a/admin/assets/css/admin.css b/admin/assets/css/admin.css deleted file mode 100755 index 645830416..000000000 --- a/admin/assets/css/admin.css +++ /dev/null @@ -1,607 +0,0 @@ -/** - *============================================================= - * Essential Addons Elementor Admin Settings Page Styles - *============================================================= - */ - -/* General Style */ - -.eael-settings-wrap { - padding: 15px; -} -.eael-header-bar { - height: auto; - padding: 10px; - background: #fff; - border: 1px solid rgba( 0,0,0,0.1 ); - -webkit-display: flex; - display: flex; - -webkit-justify-content: flex-end; - justify-content: flex-end; - -webkit-align-items: center; - align-items: center; -} - -.eael-settings-wrap .eael-header-left { - display: flex; - align-content: center; - align-items: center; -} -.eael-header-bar .eael-admin-logo-inline { - width: 32px; - box-shadow: 1px 0 0 0 rgba(0,0,0,0.1); - padding: 10px 10px 5px; - margin-right: 10px; -} -.eael-header-bar .eael-admin-logo-inline img{ - width: 100%; -} -.eael-header-bar .title { - font-size: 24px; - color: #444; - font-weight: 600; - margin: 0px; - line-height: 1; -} - -.eael-header-left, -.eael-header-right { - -webkit-flex-grow: 1; - flex-grow: 1; -} -.eael-header-right { - text-align: right; -} -.eael-settings-tabs { - padding-top: 15px; -} - -.eael-settings-tab h4 { - font-size: 22px; -} - -.eael-settings-tab p { - font-size: 14px; -} - -.eael-settings-tabs ul { - width: 100%; - height: auto; - margin: 25px 0px 20px 0px; -} -.eael-settings-tabs ul li { - display: inline-block; -} -.eael-settings-tabs ul li a { - padding: 15px 20px; - background: #f8fafb; - color: #516378; - font-size: 15px; - font-weight: 600; - text-decoration: none; - border-top: 2px solid #f8fafb; -} -.eael-settings-tabs ul li:first-child a { - border-left: 1px solid rgba( 0,0,0,0.1 ) -} -.eael-settings-tabs ul li a:focus { - outline: none; - box-shadow: none; -} -.eael-settings-tabs ul li a img { - width: 20px; - margin: 0 5px -3px 0; -} -.eael-settings-tab { - background: #fff; - padding: 15px 25px; - margin-top: -8px; - border: 1px solid rgba( 0,0,0,0.1 ); - border-top: none; - position: relative; -} -.eael-settings-tabs ul li.ui-tabs-active a { - background: #fff; - outline: none; - box-shadow: none; - color: #343434; -} -p.eael-el-title { - font-size: 15px; - font-weight: 600; - color: #333; - margin: .5em; -} -.eael-settings-tab p.eael-elements-control-notice { - color: #42418e; - font-size: 16px; - border: 1px solid #42418e; - padding: 10px; - text-align: center; - display: block; -} -.eael-form-control { - width: 100%; -} -textarea.eael-form-control { - padding: 15px; - font-size: 14px; - font-weight: 600; - color: #5d5d5d; -} -.row { - width: 100%; - height: auto; - display: flex; - flex-flow: row wrap; - justify-content: space-between; - align-content: flex-start; - padding: 15px 0px; -} -.col-full { - width: 100%; - height: auto; -} -.col-half { - width: 49%; - height: auto; -} -.col-one-third { - width: 32%; - height: auto; -} -/* Checkbox Style */ - -.eael-checkbox-container { - display: flex; - flex-flow: row wrap; - align-items: center; -} -.eael-checkbox { - min-width: 250px; - font-size: 24px; - flex: 0 0 auto; - display: flex; - align-items: center; - margin: 10px; -} -.eael-checkbox input[type=checkbox] { - visibility: hidden; - display: none; -} -.eael-checkbox label { - width: 2em; - height: 1em; - position: relative; - cursor: pointer; - display: block; -} -.eael-checkbox label:before { - content: ''; - position: absolute; - width: 2em; - height: 1em; - left: 0.1em; - transition: background 0.1s 0.1s ease; - background: #CBCFD0; - border-radius: 50px; -} -.eael-checkbox label:after { - content: ''; - position: absolute; - width: .8em; - height: .8em; - border-radius: 100%; - left: .2em; - top: .1em; - transition: all 0.2s ease; - box-shadow: 0 0 0 5px #fcfff4 inset; - background: #CBCFD0; - z-index: 2; - animation: switch-off .3s ease-out; -} -.eael-checkbox input[type=checkbox]:checked + label:before { - background: #7E86F9; - box-shadow: inset 0px 1px 1px rgba(84, 152, 140, 0.5); -} -.eael-checkbox input[type=checkbox]:checked + label:after { - left: 1.2em; - background: #7E86F9; - animation: switch-on .3s ease-out; -} - -@keyframes switch-on { - 50% { - transform: scaleX(1.3); - } -} - -@keyframes switch-off { - 50% { - transform: scaleX(1.3); - } -} -/* Eael Tab Toggles */ -.eael-settings-tab { - display: none; -} -.eael-settings-tab.active { - display: block; -} -.eael-tabs li a.active { - background-color: #fff; - border-top: 2px solid #6648FE; -} -/* Footer Style */ - -.eael-settings-footer { - padding: 20px 25px 15px 25px; - background: #fff; - margin-top: 10px; - border: 1px solid rgba( 0,0,0,0.1 ); -} -.eael-settings-footer .submit { - padding: 0px; -} -.eael-settings-footer p.submit { - margin-top: 0px; -} - -.eael-settings-tab img { - max-width: 100%; -} -.button.eael-btn { - background-color: #0099CC; - color: #fff; - padding: 6px 20px; - border: none; - box-shadow: none; - font-size: 14px; - height: auto; - text-transform: uppercase; - text-shadow: none; - letter-spacing: .05em; -} - -.button.eael-btn:hover, .button.eael-btn:focus { - background-color: #1E96F1; - color: #fff; -} - -.eael-save-btn-wrap { - margin: 30px 0 20px; -} - -.eael-save-btn-wrap .eael-btn { - background-color: #3CCD94; - color: #fff; - padding: 10px 20px -} -.eael-save-btn-wrap .eael-btn:hover, .eael-save-btn-wrap .eael-btn:focus { - background-color: #02CC7B; - color: #fff; -} - -.eael-btn.eael-demo-btn { - background-color: #42418e; - color: #fff; -} -.eael-btn.eael-demo-btn:hover, .eael-btn.eael-demo-btn:focus { - background-color: #FF0188; - color: #fff; -} - - -.eael-btn.eael-license-btn { - background-color: #0dc9c3; -} -.eael-btn.eael-license-btn:hover, .eael-btn.eael-license-btn:focus { - background-color: #08d1ca; -} -.eael-btn.eael-demo-btn, .eael-btn.eael-license-btn, .eael-btn.eael-review-btn { - padding: 10px; - display: block; - max-width: 250px; - margin-bottom: 15px; - text-align: center; - font-size: 13px; -} -#eael-spinner { - width: 18px; - display: inline-block; - float: left; - margin: 3px 5px 0 0; - - -webkit-transition-property: -webkit-transform; - -webkit-transition-duration: 1.2s; - -webkit-animation-name: rotate; - -webkit-animation-iteration-count: infinite; - -webkit-animation-timing-function: linear; - - -moz-transition-property: -moz-transform; - -moz-animation-name: rotate; - -moz-animation-duration: 1.2s; - -moz-animation-iteration-count: infinite; - -moz-animation-timing-function: linear; - - transition-property: transform; - animation-name: rotate; - animation-duration: 1.2s; - animation-iteration-count: infinite; - animation-timing-function: linear; -} - -@-webkit-keyframes rotate { - from {-webkit-transform: rotate(0deg);} - to {-webkit-transform: rotate(360deg);} -} - -@-moz-keyframes rotate { - from {-moz-transform: rotate(0deg);} - to {-moz-transform: rotate(360deg);} -} - -@keyframes rotate { - from {transform: rotate(0deg);} - to {transform: rotate(360deg);} -} -.premium-elements-title { - margin: 50px 0 30px; -} - -.premium-elements-title img { - width: 75px; - float: left; -} - -.premium-elements-title .section-title { - color: #157EFB; - margin: 35px 5px 0; - text-transform: uppercase; - letter-spacing: 1px; - font-size: 20px; - border-bottom: 6px double #157EFB; - padding-bottom: 10px; - display: inline-block; -} - -.go-premium .eael-btn.eael-license-btn { - margin-top: 30px; -} - -.go-premium img { - width: 100%; - max-width: 400px; - display: block; - float: right; -} -.eael-notice { - background-color: #F7F6D4; - padding: 10px 15px; - border-radius: 5px; - box-shadow: 0 0 15px 0 rgba(0,0,0, .15); - max-width: 90%; - color: #9A7223; -} - -.eael-notice h5 { - font-size: 1.2em; - font-weight: bold; -} - -.essential-addons-community-link { - background-color: #475A96; - margin: 15px 0; - display: inline-block; - border-radius: 3px; -} - -.essential-addons-community-link:hover { - background-color: #3351b2; -} - -.essential-addons-community-link a { - color: #fff; - text-decoration: none; - padding: 15px 20px; - font-size: 1.4em; - display: flex; - align-items: center; - align-content: center; -} - -/* Header Button */ -.eael-header-bar .eael-btn { - background-color: #3CCD94; -} -.eael-header-bar .eael-btn:hover, .eael-header-bar .eael-btn:focus { - background-color: #02CC7B; -} -.eael-save-btn-wrap .eael-btn.save-now, -.eael-header-bar .eael-btn.save-now, -.eael-fb-feed-btn.save-now { - background: #E74C3C; -} -.eael-save-btn-wrap .eael-btn.save-now:hover, -.eael-header-bar .eael-btn.save-now:hover, -.eael-fb-feed-btn.save-now:hover { - background: #ff5544; -} - -/* Admin Blocks */ - -.eael-admin-general-wrapper { - width: 100%; - display: flex; - flex-flow: row wrap; - align-content: center; -} -.eael-admin-general-wrapper .eael-admin-general-inner { - max-width: 70em; - height: auto; - flex: 1 1 70%; -} -.eael-admin-general-wrapper .eael-sidebar { - flex: 1 1 200px; - padding: 20px; -} -.eael-admin-block-wrapper { - display: flex; - flex-flow: row wrap; - justify-content: space-between; - margin: -10px; -} -.eael-admin-block-wrapper .eael-admin-block { - background-color: #fff; - flex: 1 1 auto; - min-width: 250px; - width: 300px; - margin: 10px 10px 25px 10px; - box-shadow: 0 1px 4px rgba(0,0,0,0.1); -} -.eael-admin-block-large, -.eael-sidebar-widget { - background: #fff; - margin-bottom: 25px; - padding: 1em; - box-shadow: 0 1px 4px rgba(0,0,0,0.1); -} -.eael-admin-block-wrapper .eael-admin-block.eael-admin-block-banner { - padding: 8px; -} -.eael-admin-block-header { - max-height: 4em; - overflow: hidden; - border-bottom: 1px solid rgba(0,0,0,0.1); - background-color: #fff; - box-shadow: 0 1px 4px rgba(0,0,0,0.065); - display: flex; - align-content: center; - align-items: center; -} -.eael-admin-block-header-icon { - width: 42px; - box-shadow: 1px 0 0 0 rgba(0,0,0,0.1); - padding: 10px; -} -.eael-admin-block-header-icon svg { - width: 80%; - display: block; - margin: 0 auto; -} -.eael-admin-block-review .eael-admin-block-header-icon svg { - width: 100%; -} -.eael-admin-block-support .eael-admin-block-header-icon { - width: 30px; -} -.eael-settings-tab .eael-admin-title { - margin: 1em 0; - padding: 0 1.26582em; - font-size: 1.185em; - font-weight: 600; - text-overflow: ellipsis; - white-space: nowrap; -} -.eael-admin-block-content { - overflow: hidden; - position: relative; - padding: 1em 1.5em 1.5em; - background-color: #fff; -} -.eael-preview-img { - width: 100%; - height: 100%; - vertical-align: middle; - object-fit: cover; - transition: all .3s; -} -.eael-preview-img:hover{ - opacity: .9; -} - -.eael-admin-sidebar { - flex: 1 1 200px; - padding: 20px; -} -.eael-sidebar-block { - margin: calc(10% + 1.5em) auto; -} -.eael-sidebar-block .eael-admin-sidebar-logo { - max-width: 150px; - display: block; - margin: 0 auto; -} -.eael-sidebar-block .eael-admin-sidebar-logo > img, .eael-sidebar-block .eael-admin-sidebar-logo > svg { - width: 100%; - display: block; - margin: 10px auto; -} -.eael-admin-sidebar-cta a { - font-size: 1em; - color: rgba(35,40,45,0.45); - text-decoration: none; - text-transform: uppercase; - letter-spacing: .065em; - text-align: center; - margin: 20px auto; - display: block; - border: 1px solid rgba(35,40,45,0.185); - border-radius: 4px; - padding: 15px; - width: 200px; - outline: none; - box-shadow: none; - transition: all .3s; -} - -.eael-admin-sidebar-cta a:hover { - color: #23282d; - box-shadow: inset 0 1px 0 0 rgba(255,255,255,0.715); -} - -/* Facebook Settings CSS */ - -#social-networks input { - padding: 10px; -} -#eaelFBbtn, #eaelFBbtnOwnApp { - cursor: pointer; - display: none; - /* color: red; */ - -} - -.page-list-with-access > ul { - list-style: none; -} -.page-list-with-access > ul > li { - display: block; - cursor: pointer; - padding: 5px 0px; -} -.eael-fb-own-app-settings { - display: none; -} -.eael-fb-own-app-settings.eael-active, #eaelFBbtn.eael-active, #eaelFBbtnOwnApp.eael-active { - display: block; -} - -.warning { - margin: 10px 0; - padding: 10px; - border-radius: 3px 3px 3px 3px; - color: #D8000C; - background-color: #FFBABA; - overflow: hidden; -} - -.warning > * { - float: left; -} -#eael_plugins_versions { - height: 36px; -} -.eael-notice-text { - padding-left: 10px; -} \ No newline at end of file diff --git a/admin/assets/css/eael-notice.css b/admin/assets/css/eael-notice.css deleted file mode 100755 index 2ec4f6391..000000000 --- a/admin/assets/css/eael-notice.css +++ /dev/null @@ -1,101 +0,0 @@ -/* review notice */ - -.wpdeveloper-review-notice { - padding: 10px; - background-color: #fff; - border-radius: 3px; - margin: 15px; - border-left: 4px solid transparent; - display: flex; - align-items: center; -} - -.wpdeveloper-review-notice:after { - content: ''; - display: table; - clear: both; -} - -.wpdeveloper-notice-thumbnail { - width: 90px; - float: left; - padding: 5px; - text-align: center; - border-right: 4px solid transparent; -} - -.wpdeveloper-notice-thumbnail img { - width: 72px; - opacity: .85; - transition: all .3s; -} - -.wpdeveloper-notice-thumbnail img:hover { - opacity: 1; -} - -.eael-review-text { - overflow: hidden; -} - -.eael-review-text h3 { - font-size: 24px; - margin: 0 0 5px; - font-weight: 400; - line-height: 1.3; -} - -.eael-review-text p { - font-size: 13px; - margin: 0 0 5px; -} - -.wpdeveloper-notice-link { - margin: 8px 0 0 0; - padding: 0; -} - -.wpdeveloper-notice-link li { - display: inline-block; - margin-right: 15px; -} - -.wpdeveloper-notice-link li a { - display: inline-block; - color: #10738B; - text-decoration: none; - padding-left: 26px; - position: relative; -} - -.wpdeveloper-notice-link li a span { - position: absolute; - left: 0; - top: -2px; -} - -.wpdeveloper-notice-message { - padding: 10px 0; -} -.wpdeveloper-upsale-notice .wpdeveloper-notice-message { - display: flex; - align-items: center; - padding: 10px 0; -} -.wpdeveloper-upsale-notice .wpdeveloper-notice-message + .notice-dismiss { - top: 18px; -} -.wpdeveloper-upsale-notice #plugin-install-core { - margin-left: 10px; -} -.notice.notice-has-thumbnail { - padding-left: 0px; -} - -.wpdeveloper-upsale-notice { - display: flex; -} -.wpdeveloper-upsale-notice .wpdeveloper-notice-thumbnail { - padding: 0; - width: 80px; -} \ No newline at end of file diff --git a/admin/assets/js/admin.js b/admin/assets/js/admin.js deleted file mode 100755 index f915d4c27..000000000 --- a/admin/assets/js/admin.js +++ /dev/null @@ -1,80 +0,0 @@ -( function( $ ) { - 'use strict'; - /** - * Eael Tabs - */ - $( '.eael-tabs li a' ).on( 'click', function(e) { - e.preventDefault(); - $( '.eael-tabs li a' ).removeClass( 'active' ); - $(this).addClass( 'active' ); - var tab = $(this).attr( 'href' ); - $( '.eael-settings-tab' ).removeClass( 'active' ); - $( '.eael-settings-tabs' ).find( tab ).addClass( 'active' ); - }); - - $( '.eael-get-pro' ).on( 'click', function() { - swal({ - title: '

Go Premium', - type: 'warning', - html: - 'Purchase our premium version to unlock these pro components!', - showCloseButton: true, - showCancelButton: false, - focusConfirm: true, - }); - } ); - - // Save Button reacting on any changes - var headerSaveBtn = $( '.eael-header-bar .eael-btn' ); - var footerSaveBtn = $( '.eael-save-btn-wrap .eael-btn' ); - $('.eael-checkbox input[type="checkbox"]').on( 'click', function( e ) { - headerSaveBtn.addClass( 'save-now' ); - footerSaveBtn.addClass( 'save-now' ); - headerSaveBtn.removeAttr('disabled').css('cursor', 'pointer'); - footerSaveBtn.removeAttr('disabled').css('cursor', 'pointer'); - } ); - - // Saving Data With Ajax Request - $( '.js-eael-settings-save' ).on( 'click', function(event) { - event.preventDefault(); - - var _this = $(this); - - if( $(this).hasClass('save-now') ) { - $.ajax( { - url: js_eael_lite_settings.ajaxurl, - type: 'post', - data: { - action: 'save_settings_with_ajax', - fields: $( 'form#eael-settings' ).serialize(), - }, - beforeSend: function() { - _this.html('Saving Data..'); - }, - success: function( response ) { - setTimeout(function() { - _this.html('Save Settings'); - swal( - 'Settings Saved!', - 'Click OK to continue', - 'success' - ); - headerSaveBtn.removeClass( 'save-now' ); - footerSaveBtn.removeClass( 'save-now' ); - }, 2000); - }, - error: function() { - swal( - 'Oops...', - 'Something went wrong!', - 'error' - ); - } - } ); - }else { - $(this).attr('disabled', 'true').css('cursor', 'not-allowed'); - } - } ); - - -} )( jQuery ); diff --git a/admin/settings.php b/admin/settings.php deleted file mode 100755 index 709f086b9..000000000 --- a/admin/settings.php +++ /dev/null @@ -1,226 +0,0 @@ - 5, - 'redirection' => 5, - 'httpversion' => '1.0', - 'user-agent' => 'WordPress/' . $wp_version . '; ' . home_url(), - 'blocking' => true, - 'headers' => array(), - 'cookies' => array(), - 'sslverify' => false, - ); - $otherurl = $_POST['url']; - - $otherurl = $otherurl . 'wp-json/wp/v2/types'; - - $response = wp_remote_get( $otherurl, $remoteargs ); - $response = json_decode( $response['body'] ); - // echo '
', print_r( $response, 1 ), '
'; - foreach( $response as $type ){ - $post_types[ $type->rest_base ] = $type->name; - } - $eael_exclude_cpts = array( 'elementor_library', 'media', 'product' ); - foreach ( $eael_exclude_cpts as $exclude_cpt ) { - unset($post_types[$exclude_cpt]); - } - // echo '
', print_r( $post_types, 1 ), '
'; - echo json_encode( $post_types ); - - add_action( 'wp_ajax_save_facebook_feed_settings', array( $this, 'eael_save_facebook_feed_settings' ) ); - - } - - /** - * Loading all essential scripts - * @param - * @return void - * @since 1.1.2 - */ - public function enqueue_eael_admin_scripts( $hook ) { - wp_enqueue_style( 'essential_addons_elementor-notice-css', plugins_url( '/', __FILE__ ).'assets/css/eael-notice.css' ); - if( isset( $hook ) && $hook == 'plugins.php' ) { - wp_enqueue_style( 'essential_addons_elementor-sweetalert2-css', plugins_url( '/', __FILE__ ).'assets/vendor/sweetalert2/css/sweetalert2.min.css' ); - wp_enqueue_script( 'essential_addons_core-js', plugins_url( '/', __FILE__ ).'assets/vendor/sweetalert2/js/core.js', array( 'jquery' ), '1.0', true ); - wp_enqueue_script( 'essential_addons_sweetalert2-js', plugins_url( '/', __FILE__ ).'assets/vendor/sweetalert2/js/sweetalert2.min.js', array( 'jquery', 'essential_addons_core-js' ), '1.0', true ); - } - if( isset( $hook ) && $hook == 'elementor_page_eael-settings' ) { - wp_enqueue_style( 'essential_addons_elementor-admin-css', plugins_url( '/', __FILE__ ).'assets/css/admin.css' ); - wp_enqueue_style( 'essential_addons_elementor-sweetalert2-css', plugins_url( '/', __FILE__ ).'assets/vendor/sweetalert2/css/sweetalert2.min.css' ); - wp_enqueue_script( 'essential_addons_elementor-admin-js', plugins_url( '/', __FILE__ ).'assets/js/admin.js', array( 'jquery'), '1.0', true ); - wp_enqueue_script( 'essential_addons_core-js', plugins_url( '/', __FILE__ ).'assets/vendor/sweetalert2/js/core.js', array( 'jquery' ), '1.0', true ); - wp_enqueue_script( 'essential_addons_sweetalert2-js', plugins_url( '/', __FILE__ ).'assets/vendor/sweetalert2/js/sweetalert2.min.js', array( 'jquery', 'essential_addons_core-js' ), '1.0', true ); - } - - } - - /** - * Create an admin menu. - * @param - * @return void - * @since 1.1.2 - */ - public function create_eael_admin_menu() { - - add_submenu_page( - 'elementor', - 'Essential Addons', - 'Essential Addons', - 'manage_options', - 'eael-settings', - array( $this, 'eael_admin_settings_page' ) - ); - - } - - /** - * Create settings page. - * @param - * @return void - * @since 1.1.2 - */ - public function eael_admin_settings_page() { - - $js_info = array( - 'ajaxurl' => admin_url( 'admin-ajax.php' ) - ); - wp_localize_script( 'essential_addons_elementor-admin-js', 'js_eael_lite_settings', $js_info ); - - /** - * This section will handle the "eael_save_settings" array. If any new settings options is added - * then it will matches with the older array and then if it founds anything new then it will update the entire array. - */ - $this->eael_default_settings = array_fill_keys( $this->eael_default_keys, true ); - $this->eael_get_settings = get_option( 'eael_save_settings', $this->eael_default_settings ); - $eael_new_settings = array_diff_key( $this->eael_default_settings, $this->eael_get_settings ); - - if( ! empty( $eael_new_settings ) ) { - $eael_updated_settings = array_merge( $this->eael_get_settings, $eael_new_settings ); - update_option( 'eael_save_settings', $eael_updated_settings ); - } - $this->eael_get_settings = get_option( 'eael_save_settings', $this->eael_default_settings ); - ?> -
-
-
-
-
- -
-

-
-
- -
-
- -
-
- eael_settings = []; - - foreach( $this->eael_default_keys as $key ){ - if( isset( $settings[ $key ] ) ) { - $this->eael_settings[ $key ] = 1; - } else { - $this->eael_settings[ $key ] = 0; - } - } - update_option( 'eael_save_settings', $this->eael_settings ); - return true; - die(); - - } - -} - -new Eael_Admin_Settings(); \ No newline at end of file diff --git a/assets/admin/css/admin.css b/assets/admin/css/admin.css new file mode 100755 index 000000000..e1657a6c5 --- /dev/null +++ b/assets/admin/css/admin.css @@ -0,0 +1,626 @@ +/** + *============================================================= + * Essential Addons Elementor Admin Settings Page Styles + *============================================================= + */ + +/* General Style */ +.eael-settings-wrap { + padding: 15px; +} +.eael-header-bar { + height: auto; + padding: 10px; + background: #fff; + border: 1px solid rgba(0, 0, 0, 0.1); + -webkit-display: flex; + display: flex; + -webkit-justify-content: flex-end; + justify-content: flex-end; + -webkit-align-items: center; + align-items: center; +} + +.eael-settings-wrap .eael-header-left { + display: flex; + align-content: center; + align-items: center; +} +.eael-header-bar .eael-admin-logo-inline { + width: 32px; + box-shadow: 1px 0 0 0 rgba(0, 0, 0, 0.1); + padding: 10px 10px 5px; + margin-right: 10px; +} +.eael-header-bar .eael-admin-logo-inline img { + width: 100%; +} +.eael-header-bar .title { + font-size: 24px; + color: #444; + font-weight: 600; + margin: 0px; + line-height: 1; +} + +.eael-header-left, +.eael-header-right { + -webkit-flex-grow: 1; + flex-grow: 1; +} +.eael-header-right { + text-align: right; +} +.eael-settings-tabs { + padding-top: 15px; +} + +.eael-settings-tab h4 { + font-size: 22px; +} + +.eael-settings-tab p { + font-size: 14px; +} + +.eael-settings-tabs ul { + width: 100%; + height: auto; + margin: 25px 0px 20px 0px; +} +.eael-settings-tabs ul li { + display: inline-block; +} +.eael-settings-tabs ul li a { + padding: 15px 20px; + background: #f8fafb; + color: #516378; + font-size: 15px; + font-weight: 600; + text-decoration: none; + border-top: 2px solid #f8fafb; +} +.eael-settings-tabs ul li:first-child a { + border-left: 1px solid rgba(0, 0, 0, 0.1); +} +.eael-settings-tabs ul li a:focus { + outline: none; + box-shadow: none; +} +.eael-settings-tabs ul li a img { + width: 20px; + margin: 0 5px -3px 0; +} +.eael-settings-tab { + background: #fff; + padding: 15px 25px; + margin-top: -8px; + border: 1px solid rgba(0, 0, 0, 0.1); + border-top: none; + position: relative; +} +.eael-settings-tabs ul li.ui-tabs-active a { + background: #fff; + outline: none; + box-shadow: none; + color: #343434; +} +p.eael-el-title { + font-size: 15px; + font-weight: 600; + color: #333; + margin: 0.5em; +} +.eael-settings-tab p.eael-elements-control-notice { + color: #42418e; + font-size: 16px; + border: 1px solid #42418e; + padding: 10px; + text-align: center; + display: block; +} +.eael-form-control { + width: 100%; +} +textarea.eael-form-control { + padding: 15px; + font-size: 14px; + font-weight: 600; + color: #5d5d5d; +} +.row { + width: 100%; + height: auto; + display: flex; + flex-flow: row wrap; + justify-content: space-between; + align-content: flex-start; + padding: 15px 0px; +} +.col-full { + width: 100%; + height: auto; +} +.col-half { + width: 49%; + height: auto; +} +.col-one-third { + width: 32%; + height: auto; +} + +/* Checkbox Style */ +.eael-checkbox-container { + display: flex; + flex-flow: row wrap; + align-items: center; +} +.eael-checkbox { + min-width: 250px; + font-size: 24px; + flex: 0 0 auto; + display: flex; + align-items: center; + margin: 10px; +} +.eael-checkbox input[type="checkbox"] { + visibility: hidden; + display: none; +} +.eael-checkbox label { + width: 2em; + height: 1em; + position: relative; + cursor: pointer; + display: block; +} +.eael-checkbox label:before { + content: ""; + position: absolute; + width: 2em; + height: 1em; + left: 0.1em; + transition: background 0.1s 0.1s ease; + background: #cbcfd0; + border-radius: 50px; +} +.eael-checkbox label:after { + content: ""; + position: absolute; + width: 0.8em; + height: 0.8em; + border-radius: 100%; + left: 0.2em; + top: 0.1em; + transition: all 0.2s ease; + box-shadow: 0 0 0 5px #fcfff4 inset; + background: #cbcfd0; + z-index: 2; + animation: switch-off 0.3s ease-out; +} +.eael-checkbox input[type="checkbox"]:checked + label:before { + background: #7e86f9; + box-shadow: inset 0px 1px 1px rgba(84, 152, 140, 0.5); +} +.eael-checkbox input[type="checkbox"]:checked + label:after { + left: 1.2em; + background: #7e86f9; + animation: switch-on 0.3s ease-out; +} + +@keyframes switch-on { + 50% { + transform: scaleX(1.3); + } +} + +@keyframes switch-off { + 50% { + transform: scaleX(1.3); + } +} + +/* Eael Tab Toggles */ +.eael-settings-tab { + display: none; +} +.eael-settings-tab.active { + display: block; +} +.eael-tabs li a.active { + background-color: #fff; + border-top: 2px solid #6648fe; +} + +/* Footer Style */ +.eael-settings-footer { + padding: 20px 25px 15px 25px; + background: #fff; + margin-top: 10px; + border: 1px solid rgba(0, 0, 0, 0.1); +} +.eael-settings-footer .submit { + padding: 0px; +} +.eael-settings-footer p.submit { + margin-top: 0px; +} + +.eael-settings-tab img { + max-width: 100%; +} +.button.eael-btn { + background-color: #0099cc; + color: #fff; + padding: 6px 20px; + border: none; + box-shadow: none; + font-size: 14px; + height: auto; + text-transform: uppercase; + text-shadow: none; + letter-spacing: 0.05em; +} + +.button.eael-btn:hover, +.button.eael-btn:focus { + background-color: #1e96f1; + color: #fff; +} + +.eael-save-btn-wrap { + margin: 30px 0 20px; +} + +.eael-save-btn-wrap .eael-btn { + background-color: #3ccd94; + color: #fff; + padding: 10px 20px; +} +.eael-save-btn-wrap .eael-btn:hover, +.eael-save-btn-wrap .eael-btn:focus { + background-color: #02cc7b; + color: #fff; +} + +.eael-btn.eael-demo-btn { + background-color: #42418e; + color: #fff; +} +.eael-btn.eael-demo-btn:hover, +.eael-btn.eael-demo-btn:focus { + background-color: #ff0188; + color: #fff; +} + +.eael-btn.eael-license-btn { + background-color: #0dc9c3; +} +.eael-btn.eael-license-btn:hover, +.eael-btn.eael-license-btn:focus { + background-color: #08d1ca; +} +.eael-btn.eael-demo-btn, +.eael-btn.eael-license-btn, +.eael-btn.eael-review-btn { + padding: 10px; + display: block; + max-width: 250px; + margin-bottom: 15px; + text-align: center; + font-size: 13px; +} +#eael-spinner { + width: 18px; + display: inline-block; + float: left; + margin: 3px 5px 0 0; + + -webkit-transition-property: -webkit-transform; + -webkit-transition-duration: 1.2s; + -webkit-animation-name: rotate; + -webkit-animation-iteration-count: infinite; + -webkit-animation-timing-function: linear; + + -moz-transition-property: -moz-transform; + -moz-animation-name: rotate; + -moz-animation-duration: 1.2s; + -moz-animation-iteration-count: infinite; + -moz-animation-timing-function: linear; + + transition-property: transform; + animation-name: rotate; + animation-duration: 1.2s; + animation-iteration-count: infinite; + animation-timing-function: linear; +} + +@-webkit-keyframes rotate { + from { + -webkit-transform: rotate(0deg); + } + to { + -webkit-transform: rotate(360deg); + } +} + +@-moz-keyframes rotate { + from { + -moz-transform: rotate(0deg); + } + to { + -moz-transform: rotate(360deg); + } +} + +@keyframes rotate { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} +.premium-elements-title { + margin: 50px 0 30px; +} + +.premium-elements-title img { + width: 75px; + float: left; +} + +.premium-elements-title .section-title { + color: #157efb; + margin: 35px 5px 0; + text-transform: uppercase; + letter-spacing: 1px; + font-size: 20px; + border-bottom: 6px double #157efb; + padding-bottom: 10px; + display: inline-block; +} + +.go-premium .eael-btn.eael-license-btn { + margin-top: 30px; +} + +.go-premium img { + width: 100%; + max-width: 400px; + display: block; + float: right; +} +.eael-notice { + background-color: #f7f6d4; + padding: 10px 15px; + border-radius: 5px; + box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.15); + max-width: 90%; + color: #9a7223; +} + +.eael-notice h5 { + font-size: 1.2em; + font-weight: bold; +} + +.essential-addons-community-link { + background-color: #475a96; + margin: 15px 0; + display: inline-block; + border-radius: 3px; +} + +.essential-addons-community-link:hover { + background-color: #3351b2; +} + +.essential-addons-community-link a { + color: #fff; + text-decoration: none; + padding: 15px 20px; + font-size: 1.4em; + display: flex; + align-items: center; + align-content: center; +} + +/* Header Button */ +.eael-header-bar .eael-btn { + background-color: #3ccd94; +} +.eael-header-bar .eael-btn:hover, +.eael-header-bar .eael-btn:focus { + background-color: #02cc7b; +} +.eael-save-btn-wrap .eael-btn.save-now, +.eael-header-bar .eael-btn.save-now, +.eael-fb-feed-btn.save-now { + background: #e74c3c; +} +.eael-save-btn-wrap .eael-btn.save-now:hover, +.eael-header-bar .eael-btn.save-now:hover, +.eael-fb-feed-btn.save-now:hover { + background: #ff5544; +} + +/* Admin Blocks */ +.eael-admin-general-wrapper { + width: 100%; + display: flex; + flex-flow: row wrap; + align-content: center; +} +.eael-admin-general-wrapper .eael-admin-general-inner { + max-width: 70em; + height: auto; + flex: 1 1 70%; +} +.eael-admin-general-wrapper .eael-sidebar { + flex: 1 1 200px; + padding: 20px; +} +.eael-admin-block-wrapper { + display: flex; + flex-flow: row wrap; + justify-content: space-between; + margin: -10px; +} +.eael-admin-block-wrapper .eael-admin-block { + background-color: #fff; + flex: 1 1 auto; + min-width: 250px; + width: 300px; + margin: 10px 10px 25px 10px; + box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1); +} +.eael-admin-block-large, +.eael-sidebar-widget { + background: #fff; + margin-bottom: 25px; + padding: 1em; + box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1); +} +.eael-admin-block-wrapper .eael-admin-block.eael-admin-block-banner { + padding: 8px; +} +.eael-admin-block-header { + max-height: 4em; + overflow: hidden; + border-bottom: 1px solid rgba(0, 0, 0, 0.1); + background-color: #fff; + box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); + display: flex; + align-content: center; + align-items: center; +} +.eael-admin-block-header-icon { + width: 42px; + box-shadow: 1px 0 0 0 rgba(0, 0, 0, 0.1); + padding: 10px; +} +.eael-admin-block-header-icon svg { + width: 80%; + display: block; + margin: 0 auto; +} +.eael-admin-block-review .eael-admin-block-header-icon svg { + width: 100%; +} +.eael-admin-block-support .eael-admin-block-header-icon { + width: 30px; +} +.eael-settings-tab .eael-admin-title { + margin: 1em 0; + padding: 0 1.26582em; + font-size: 1.185em; + font-weight: 600; + text-overflow: ellipsis; + white-space: nowrap; +} +.eael-admin-block-content { + overflow: hidden; + position: relative; + padding: 1em 1.5em 1.5em; + background-color: #fff; +} +.eael-preview-img { + width: 100%; + height: 100%; + vertical-align: middle; + object-fit: cover; + transition: all 0.3s; +} +.eael-preview-img:hover { + opacity: 0.9; +} + +.eael-admin-sidebar { + flex: 1 1 200px; + padding: 20px; +} +.eael-sidebar-block { + margin: calc(10% + 1.5em) auto; +} +.eael-sidebar-block .eael-admin-sidebar-logo { + max-width: 150px; + display: block; + margin: 0 auto; +} +.eael-sidebar-block .eael-admin-sidebar-logo > img, +.eael-sidebar-block .eael-admin-sidebar-logo > svg { + width: 100%; + display: block; + margin: 10px auto; +} +.eael-admin-sidebar-cta a { + font-size: 1em; + color: rgba(35, 40, 45, 0.45); + text-decoration: none; + text-transform: uppercase; + letter-spacing: 0.065em; + text-align: center; + margin: 20px auto; + display: block; + border: 1px solid rgba(35, 40, 45, 0.185); + border-radius: 4px; + padding: 15px; + width: 200px; + outline: none; + box-shadow: none; + transition: all 0.3s; +} + +.eael-admin-sidebar-cta a:hover { + color: #23282d; + box-shadow: inset 0 1px 0 0 rgba(255, 255, 255, 0.715); +} + +/* Facebook Settings CSS */ +#social-networks input { + padding: 10px; +} +#eaelFBbtn, +#eaelFBbtnOwnApp { + cursor: pointer; + display: none; + /* color: red; */ +} + +.page-list-with-access > ul { + list-style: none; +} +.page-list-with-access > ul > li { + display: block; + cursor: pointer; + padding: 5px 0px; +} +.eael-fb-own-app-settings { + display: none; +} +.eael-fb-own-app-settings.eael-active, +#eaelFBbtn.eael-active, +#eaelFBbtnOwnApp.eael-active { + display: block; +} + +.warning { + margin: 10px 0; + padding: 10px; + border-radius: 3px 3px 3px 3px; + color: #d8000c; + background-color: #ffbaba; + overflow: hidden; +} + +.warning > * { + float: left; +} +#eael_plugins_versions { + height: 36px; +} +.eael-notice-text { + padding-left: 10px; +} diff --git a/assets/admin/css/eael-notice.css b/assets/admin/css/eael-notice.css new file mode 100755 index 000000000..0e597a341 --- /dev/null +++ b/assets/admin/css/eael-notice.css @@ -0,0 +1,99 @@ +/* review notice */ +.wpdeveloper-review-notice { + padding: 10px; + background-color: #fff; + border-radius: 3px; + margin: 15px; + border-left: 4px solid transparent; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; +} +.wpdeveloper-review-notice:after { + content: ""; + display: table; + clear: both; +} +.wpdeveloper-notice-thumbnail { + width: 90px; + float: left; + padding: 5px; + text-align: center; + border-right: 4px solid transparent; +} +.wpdeveloper-notice-thumbnail img { + width: 72px; + opacity: 0.85; + -webkit-transition: all 0.3s; + -o-transition: all 0.3s; + transition: all 0.3s; +} +.wpdeveloper-notice-thumbnail img:hover { + opacity: 1; +} +.eael-review-text { + overflow: hidden; +} +.eael-review-text h3 { + font-size: 24px; + margin: 0 0 5px; + font-weight: 400; + line-height: 1.3; +} +.eael-review-text p { + font-size: 13px; + margin: 0 0 5px; +} +.wpdeveloper-notice-link { + margin: 8px 0 0 0; + padding: 0; +} +.wpdeveloper-notice-link li { + display: inline-block; + margin-right: 15px; +} +.wpdeveloper-notice-link li a { + display: inline-block; + color: #10738b; + text-decoration: none; + padding-left: 26px; + position: relative; +} +.wpdeveloper-notice-link li a span { + position: absolute; + left: 0; + top: -2px; +} +.wpdeveloper-notice-message { + padding: 10px 0; +} +.wpdeveloper-upsale-notice .wpdeveloper-notice-message { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + padding: 10px 0; +} +.wpdeveloper-upsale-notice .wpdeveloper-notice-message + .notice-dismiss { + top: 18px; +} +.wpdeveloper-upsale-notice #plugin-install-core { + margin-left: 10px; +} +.notice.notice-has-thumbnail { + padding-left: 0; +} +.wpdeveloper-upsale-notice { + display: -webkit-box; + display: -ms-flexbox; + display: flex; +} +.wpdeveloper-upsale-notice .wpdeveloper-notice-thumbnail { + padding: 0; + width: 80px; +} diff --git a/admin/assets/images/ea-icon-color.png b/assets/admin/images/ea-icon-color.png similarity index 100% rename from admin/assets/images/ea-icon-color.png rename to assets/admin/images/ea-icon-color.png diff --git a/admin/assets/images/ea-icon.png b/assets/admin/images/ea-icon.png similarity index 100% rename from admin/assets/images/ea-icon.png rename to assets/admin/images/ea-icon.png diff --git a/admin/assets/images/ea-logo.png b/assets/admin/images/ea-logo.png similarity index 100% rename from admin/assets/images/ea-logo.png rename to assets/admin/images/ea-logo.png diff --git a/admin/assets/images/ea-logo.svg b/assets/admin/images/ea-logo.svg similarity index 100% rename from admin/assets/images/ea-logo.svg rename to assets/admin/images/ea-logo.svg diff --git a/admin/assets/images/eael-featured.png b/assets/admin/images/eael-featured.png similarity index 100% rename from admin/assets/images/eael-featured.png rename to assets/admin/images/eael-featured.png diff --git a/admin/assets/images/gift-icon.png b/assets/admin/images/gift-icon.png similarity index 100% rename from admin/assets/images/gift-icon.png rename to assets/admin/images/gift-icon.png diff --git a/admin/assets/images/icon-bolt.svg b/assets/admin/images/icon-bolt.svg similarity index 100% rename from admin/assets/images/icon-bolt.svg rename to assets/admin/images/icon-bolt.svg diff --git a/admin/assets/images/icon-christmas-gift.svg b/assets/admin/images/icon-christmas-gift.svg similarity index 100% rename from admin/assets/images/icon-christmas-gift.svg rename to assets/admin/images/icon-christmas-gift.svg diff --git a/admin/assets/images/icon-extensions.svg b/assets/admin/images/icon-extensions.svg similarity index 100% rename from admin/assets/images/icon-extensions.svg rename to assets/admin/images/icon-extensions.svg diff --git a/admin/assets/images/icon-heart.svg b/assets/admin/images/icon-heart.svg similarity index 100% rename from admin/assets/images/icon-heart.svg rename to assets/admin/images/icon-heart.svg diff --git a/admin/assets/images/icon-modules.svg b/assets/admin/images/icon-modules.svg similarity index 100% rename from admin/assets/images/icon-modules.svg rename to assets/admin/images/icon-modules.svg diff --git a/admin/assets/images/icon-settings.svg b/assets/admin/images/icon-settings.svg similarity index 100% rename from admin/assets/images/icon-settings.svg rename to assets/admin/images/icon-settings.svg diff --git a/admin/assets/images/icon-upgrade.svg b/assets/admin/images/icon-upgrade.svg similarity index 100% rename from admin/assets/images/icon-upgrade.svg rename to assets/admin/images/icon-upgrade.svg diff --git a/admin/assets/images/icon-version-control.svg b/assets/admin/images/icon-version-control.svg similarity index 100% rename from admin/assets/images/icon-version-control.svg rename to assets/admin/images/icon-version-control.svg diff --git a/admin/assets/images/lock-icon.png b/assets/admin/images/lock-icon.png similarity index 100% rename from admin/assets/images/lock-icon.png rename to assets/admin/images/lock-icon.png diff --git a/admin/assets/images/wpsp-logo.svg b/assets/admin/images/wpsp-logo.svg similarity index 100% rename from admin/assets/images/wpsp-logo.svg rename to assets/admin/images/wpsp-logo.svg diff --git a/assets/admin/js/admin.js b/assets/admin/js/admin.js new file mode 100755 index 000000000..fd213c6f1 --- /dev/null +++ b/assets/admin/js/admin.js @@ -0,0 +1,81 @@ +(function($) { + "use strict"; + /** + * Eael Tabs + */ + $(".eael-tabs li a").on("click", function(e) { + e.preventDefault(); + $(".eael-tabs li a").removeClass("active"); + $(this).addClass("active"); + var tab = $(this).attr("href"); + $(".eael-settings-tab").removeClass("active"); + $(".eael-settings-tabs") + .find(tab) + .addClass("active"); + }); + + $(".eael-get-pro").on("click", function() { + swal({ + title: "

Go Premium", + type: "warning", + html: + 'Purchase our premium version to unlock these pro components!', + showCloseButton: true, + showCancelButton: false, + focusConfirm: true + }); + }); + + // Save Button reacting on any changes + var headerSaveBtn = $(".eael-header-bar .eael-btn"); + var footerSaveBtn = $(".eael-save-btn-wrap .eael-btn"); + $('.eael-checkbox input[type="checkbox"]').on("click", function(e) { + headerSaveBtn.addClass("save-now"); + footerSaveBtn.addClass("save-now"); + headerSaveBtn.removeAttr("disabled").css("cursor", "pointer"); + footerSaveBtn.removeAttr("disabled").css("cursor", "pointer"); + }); + + // Saving Data With Ajax Request + $(".js-eael-settings-save").on("click", function(event) { + event.preventDefault(); + + var _this = $(this); + + if ($(this).hasClass("save-now")) { + $.ajax({ + url: localize.ajaxurl, + type: "post", + data: { + action: "save_settings_with_ajax", + security: localize.nonce, + fields: $("form#eael-settings").serialize() + }, + beforeSend: function() { + _this.html( + 'Saving Data..' + ); + }, + success: function(response) { + setTimeout(function() { + _this.html("Save Settings"); + swal( + "Settings Saved!", + "Click OK to continue", + "success" + ); + headerSaveBtn.removeClass("save-now"); + footerSaveBtn.removeClass("save-now"); + }, 2000); + }, + error: function() { + swal("Oops...", "Something went wrong!", "error"); + } + }); + } else { + $(this) + .attr("disabled", "true") + .css("cursor", "not-allowed"); + } + }); +})(jQuery); diff --git a/admin/assets/vendor/sweetalert2/css/sweetalert2.min.css b/assets/admin/vendor/sweetalert2/css/sweetalert2.min.css similarity index 100% rename from admin/assets/vendor/sweetalert2/css/sweetalert2.min.css rename to assets/admin/vendor/sweetalert2/css/sweetalert2.min.css diff --git a/admin/assets/vendor/sweetalert2/js/core.js b/assets/admin/vendor/sweetalert2/js/core.js similarity index 100% rename from admin/assets/vendor/sweetalert2/js/core.js rename to assets/admin/vendor/sweetalert2/js/core.js diff --git a/admin/assets/vendor/sweetalert2/js/sweetalert2.min.js b/assets/admin/vendor/sweetalert2/js/sweetalert2.min.js similarity index 100% rename from admin/assets/vendor/sweetalert2/js/sweetalert2.min.js rename to assets/admin/vendor/sweetalert2/js/sweetalert2.min.js diff --git a/assets/css/tooltipster.bundle.min.css b/assets/css/tooltipster.bundle.min.css deleted file mode 100755 index 015b77e18..000000000 --- a/assets/css/tooltipster.bundle.min.css +++ /dev/null @@ -1,20 +0,0 @@ -.tooltipster-fall,.tooltipster-grow.tooltipster-show{-webkit-transition-timing-function:cubic-bezier(.175,.885,.32,1);-moz-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);-ms-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);-o-transition-timing-function:cubic-bezier(.175,.885,.32,1.15)}.tooltipster-base{display:flex;pointer-events:none;position:absolute}.tooltipster-box{flex:1 1 auto}.tooltipster-content{box-sizing:border-box;max-height:100%;max-width:100%;overflow:auto}.tooltipster-ruler{bottom:0;left:0;overflow:hidden;position:fixed;right:0;top:0;visibility:hidden}.tooltipster-fade{opacity:0;-webkit-transition-property:opacity;-moz-transition-property:opacity;-o-transition-property:opacity;-ms-transition-property:opacity;transition-property:opacity}.tooltipster-fade.tooltipster-show{opacity:1}.tooltipster-grow{-webkit-transform:scale(0,0);-moz-transform:scale(0,0);-o-transform:scale(0,0);-ms-transform:scale(0,0);transform:scale(0,0);-webkit-transition-property:-webkit-transform;-moz-transition-property:-moz-transform;-o-transition-property:-o-transform;-ms-transition-property:-ms-transform;transition-property:transform;-webkit-backface-visibility:hidden}.tooltipster-grow.tooltipster-show{-webkit-transform:scale(1,1);-moz-transform:scale(1,1);-o-transform:scale(1,1);-ms-transform:scale(1,1);transform:scale(1,1);-webkit-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);transition-timing-function:cubic-bezier(.175,.885,.32,1.15)}.tooltipster-swing{opacity:0;-webkit-transform:rotateZ(4deg);-moz-transform:rotateZ(4deg);-o-transform:rotateZ(4deg);-ms-transform:rotateZ(4deg);transform:rotateZ(4deg);-webkit-transition-property:-webkit-transform,opacity;-moz-transition-property:-moz-transform;-o-transition-property:-o-transform;-ms-transition-property:-ms-transform;transition-property:transform}.tooltipster-swing.tooltipster-show{opacity:1;-webkit-transform:rotateZ(0);-moz-transform:rotateZ(0);-o-transform:rotateZ(0);-ms-transform:rotateZ(0);transform:rotateZ(0);-webkit-transition-timing-function:cubic-bezier(.23,.635,.495,1);-webkit-transition-timing-function:cubic-bezier(.23,.635,.495,2.4);-moz-transition-timing-function:cubic-bezier(.23,.635,.495,2.4);-ms-transition-timing-function:cubic-bezier(.23,.635,.495,2.4);-o-transition-timing-function:cubic-bezier(.23,.635,.495,2.4);transition-timing-function:cubic-bezier(.23,.635,.495,2.4)}.tooltipster-fall{-webkit-transition-property:top;-moz-transition-property:top;-o-transition-property:top;-ms-transition-property:top;transition-property:top;-webkit-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);transition-timing-function:cubic-bezier(.175,.885,.32,1.15)}.tooltipster-fall.tooltipster-initial{top:0!important}.tooltipster-fall.tooltipster-dying{-webkit-transition-property:all;-moz-transition-property:all;-o-transition-property:all;-ms-transition-property:all;transition-property:all;top:0!important;opacity:0}.tooltipster-slide{-webkit-transition-property:left;-moz-transition-property:left;-o-transition-property:left;-ms-transition-property:left;transition-property:left;-webkit-transition-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);-moz-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);-ms-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);-o-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);transition-timing-function:cubic-bezier(.175,.885,.32,1.15)}.tooltipster-slide.tooltipster-initial{left:-40px!important}.tooltipster-slide.tooltipster-dying{-webkit-transition-property:all;-moz-transition-property:all;-o-transition-property:all;-ms-transition-property:all;transition-property:all;left:0!important;opacity:0}@keyframes tooltipster-fading{0%{opacity:0}100%{opacity:1}}.tooltipster-update-fade{animation:tooltipster-fading .4s}@keyframes tooltipster-rotating{25%{transform:rotate(-2deg)}75%{transform:rotate(2deg)}100%{transform:rotate(0)}}.tooltipster-update-rotate{animation:tooltipster-rotating .6s}@keyframes tooltipster-scaling{50%{transform:scale(1.1)}100%{transform:scale(1)}}.tooltipster-update-scale{animation:tooltipster-scaling .6s}.tooltipster-sidetip .tooltipster-box{background:#565656;border:2px solid #000;border-radius:4px}.tooltipster-sidetip.tooltipster-bottom .tooltipster-box{margin-top:8px}.tooltipster-sidetip.tooltipster-left .tooltipster-box{margin-right:8px}.tooltipster-sidetip.tooltipster-right .tooltipster-box{margin-left:8px}.tooltipster-sidetip.tooltipster-top .tooltipster-box{margin-bottom:8px}.tooltipster-sidetip .tooltipster-content{color:#fff;line-height:18px;padding:6px 14px}.tooltipster-sidetip .tooltipster-arrow{overflow:hidden;position:absolute}.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow{height:10px;margin-left:-10px;top:0;width:20px}.tooltipster-sidetip.tooltipster-left .tooltipster-arrow{height:20px;margin-top:-10px;right:0;top:0;width:10px}.tooltipster-sidetip.tooltipster-right .tooltipster-arrow{height:20px;margin-top:-10px;left:0;top:0;width:10px}.tooltipster-sidetip.tooltipster-top .tooltipster-arrow{bottom:0;height:10px;margin-left:-10px;width:20px}.tooltipster-sidetip .tooltipster-arrow-background,.tooltipster-sidetip .tooltipster-arrow-border{height:0;position:absolute;width:0}.tooltipster-sidetip .tooltipster-arrow-background{border:10px solid transparent}.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow-background{border-bottom-color:#565656;left:0;top:3px}.tooltipster-sidetip.tooltipster-left .tooltipster-arrow-background{border-left-color:#565656;left:-3px;top:0}.tooltipster-sidetip.tooltipster-right .tooltipster-arrow-background{border-right-color:#565656;left:3px;top:0}.tooltipster-sidetip.tooltipster-top .tooltipster-arrow-background{border-top-color:#565656;left:0;top:-3px}.tooltipster-sidetip .tooltipster-arrow-border{border:10px solid transparent;left:0;top:0}.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow-border{border-bottom-color:#000}.tooltipster-sidetip.tooltipster-left .tooltipster-arrow-border{border-left-color:#000}.tooltipster-sidetip.tooltipster-right .tooltipster-arrow-border{border-right-color:#000}.tooltipster-sidetip.tooltipster-top .tooltipster-arrow-border{border-top-color:#000}.tooltipster-sidetip .tooltipster-arrow-uncropped{position:relative}.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow-uncropped{top:-10px}.tooltipster-sidetip.tooltipster-right .tooltipster-arrow-uncropped{left:-10px} - - - -/* Borderless Theme */ -.tooltipster-sidetip.tooltipster-borderless .tooltipster-box{border:none;background:#1b1b1b;background:rgba(10,10,10,.9)}.tooltipster-sidetip.tooltipster-borderless.tooltipster-bottom .tooltipster-box{margin-top:8px}.tooltipster-sidetip.tooltipster-borderless.tooltipster-left .tooltipster-box{margin-right:8px}.tooltipster-sidetip.tooltipster-borderless.tooltipster-right .tooltipster-box{margin-left:8px}.tooltipster-sidetip.tooltipster-borderless.tooltipster-top .tooltipster-box{margin-bottom:8px}.tooltipster-sidetip.tooltipster-borderless .tooltipster-arrow{height:8px;margin-left:-8px;width:16px}.tooltipster-sidetip.tooltipster-borderless.tooltipster-left .tooltipster-arrow,.tooltipster-sidetip.tooltipster-borderless.tooltipster-right .tooltipster-arrow{height:16px;margin-left:0;margin-top:-8px;width:8px}.tooltipster-sidetip.tooltipster-borderless .tooltipster-arrow-background{display:none}.tooltipster-sidetip.tooltipster-borderless .tooltipster-arrow-border{border:8px solid transparent}.tooltipster-sidetip.tooltipster-borderless.tooltipster-bottom .tooltipster-arrow-border{border-bottom-color:#1b1b1b;border-bottom-color:rgba(10,10,10,.9)}.tooltipster-sidetip.tooltipster-borderless.tooltipster-left .tooltipster-arrow-border{border-left-color:#1b1b1b;border-left-color:rgba(10,10,10,.9)}.tooltipster-sidetip.tooltipster-borderless.tooltipster-right .tooltipster-arrow-border{border-right-color:#1b1b1b;border-right-color:rgba(10,10,10,.9)}.tooltipster-sidetip.tooltipster-borderless.tooltipster-top .tooltipster-arrow-border{border-top-color:#1b1b1b;border-top-color:rgba(10,10,10,.9)}.tooltipster-sidetip.tooltipster-borderless.tooltipster-bottom .tooltipster-arrow-uncropped{top:-8px}.tooltipster-sidetip.tooltipster-borderless.tooltipster-right .tooltipster-arrow-uncropped{left:-8px} - - -/* Light Theme */ -.tooltipster-sidetip.tooltipster-light .tooltipster-box{border-radius:3px;border:1px solid #ccc;background:#ededed}.tooltipster-sidetip.tooltipster-light .tooltipster-content{color:#666}.tooltipster-sidetip.tooltipster-light .tooltipster-arrow{height:9px;margin-left:-9px;width:18px}.tooltipster-sidetip.tooltipster-light.tooltipster-left .tooltipster-arrow,.tooltipster-sidetip.tooltipster-light.tooltipster-right .tooltipster-arrow{height:18px;margin-left:0;margin-top:-9px;width:9px}.tooltipster-sidetip.tooltipster-light .tooltipster-arrow-background{border:9px solid transparent}.tooltipster-sidetip.tooltipster-light.tooltipster-bottom .tooltipster-arrow-background{border-bottom-color:#ededed;top:1px}.tooltipster-sidetip.tooltipster-light.tooltipster-left .tooltipster-arrow-background{border-left-color:#ededed;left:-1px}.tooltipster-sidetip.tooltipster-light.tooltipster-right .tooltipster-arrow-background{border-right-color:#ededed;left:1px}.tooltipster-sidetip.tooltipster-light.tooltipster-top .tooltipster-arrow-background{border-top-color:#ededed;top:-1px}.tooltipster-sidetip.tooltipster-light .tooltipster-arrow-border{border:9px solid transparent}.tooltipster-sidetip.tooltipster-light.tooltipster-bottom .tooltipster-arrow-border{border-bottom-color:#ccc}.tooltipster-sidetip.tooltipster-light.tooltipster-left .tooltipster-arrow-border{border-left-color:#ccc}.tooltipster-sidetip.tooltipster-light.tooltipster-right .tooltipster-arrow-border{border-right-color:#ccc}.tooltipster-sidetip.tooltipster-light.tooltipster-top .tooltipster-arrow-border{border-top-color:#ccc}.tooltipster-sidetip.tooltipster-light.tooltipster-bottom .tooltipster-arrow-uncropped{top:-9px}.tooltipster-sidetip.tooltipster-light.tooltipster-right .tooltipster-arrow-uncropped{left:-9px} - -/* Noir Theme */ -.tooltipster-sidetip.tooltipster-noir .tooltipster-box{border-radius:0;border:3px solid #000;background:#fff}.tooltipster-sidetip.tooltipster-noir .tooltipster-content{color:#000}.tooltipster-sidetip.tooltipster-noir .tooltipster-arrow{height:11px;margin-left:-11px;width:22px}.tooltipster-sidetip.tooltipster-noir.tooltipster-left .tooltipster-arrow,.tooltipster-sidetip.tooltipster-noir.tooltipster-right .tooltipster-arrow{height:22px;margin-left:0;margin-top:-11px;width:11px}.tooltipster-sidetip.tooltipster-noir .tooltipster-arrow-background{border:11px solid transparent}.tooltipster-sidetip.tooltipster-noir.tooltipster-bottom .tooltipster-arrow-background{border-bottom-color:#fff;top:4px}.tooltipster-sidetip.tooltipster-noir.tooltipster-left .tooltipster-arrow-background{border-left-color:#fff;left:-4px}.tooltipster-sidetip.tooltipster-noir.tooltipster-right .tooltipster-arrow-background{border-right-color:#fff;left:4px}.tooltipster-sidetip.tooltipster-noir.tooltipster-top .tooltipster-arrow-background{border-top-color:#fff;top:-4px}.tooltipster-sidetip.tooltipster-noir .tooltipster-arrow-border{border-width:11px}.tooltipster-sidetip.tooltipster-noir.tooltipster-bottom .tooltipster-arrow-uncropped{top:-11px}.tooltipster-sidetip.tooltipster-noir.tooltipster-right .tooltipster-arrow-uncropped{left:-11px} - - -/* Punk Theme */ -.tooltipster-sidetip.tooltipster-punk .tooltipster-box{border-radius:5px;border:none;border-bottom:3px solid #f71169;background:#2a2a2a}.tooltipster-sidetip.tooltipster-punk.tooltipster-top .tooltipster-box{margin-bottom:7px}.tooltipster-sidetip.tooltipster-punk .tooltipster-content{color:#fff;padding:8px 16px}.tooltipster-sidetip.tooltipster-punk .tooltipster-arrow-background{display:none}.tooltipster-sidetip.tooltipster-punk.tooltipster-bottom .tooltipster-arrow-border{border-bottom-color:#2a2a2a}.tooltipster-sidetip.tooltipster-punk.tooltipster-left .tooltipster-arrow-border{border-left-color:#2a2a2a}.tooltipster-sidetip.tooltipster-punk.tooltipster-right .tooltipster-arrow-border{border-right-color:#2a2a2a}.tooltipster-sidetip.tooltipster-punk.tooltipster-top .tooltipster-arrow-border{border-top-color:#f71169} - -/* Shadow Theme */ -.tooltipster-sidetip.tooltipster-shadow .tooltipster-box{border:none;border-radius:5px;background:#fff;box-shadow:0 0 10px 6px rgba(0,0,0,.1)}.tooltipster-sidetip.tooltipster-shadow.tooltipster-bottom .tooltipster-box{margin-top:6px}.tooltipster-sidetip.tooltipster-shadow.tooltipster-left .tooltipster-box{margin-right:6px}.tooltipster-sidetip.tooltipster-shadow.tooltipster-right .tooltipster-box{margin-left:6px}.tooltipster-sidetip.tooltipster-shadow.tooltipster-top .tooltipster-box{margin-bottom:6px}.tooltipster-sidetip.tooltipster-shadow .tooltipster-content{color:#8d8d8d}.tooltipster-sidetip.tooltipster-shadow .tooltipster-arrow{height:6px;margin-left:-6px;width:12px}.tooltipster-sidetip.tooltipster-shadow.tooltipster-left .tooltipster-arrow,.tooltipster-sidetip.tooltipster-shadow.tooltipster-right .tooltipster-arrow{height:12px;margin-left:0;margin-top:-6px;width:6px}.tooltipster-sidetip.tooltipster-shadow .tooltipster-arrow-background{display:none}.tooltipster-sidetip.tooltipster-shadow .tooltipster-arrow-border{border:6px solid transparent}.tooltipster-sidetip.tooltipster-shadow.tooltipster-bottom .tooltipster-arrow-border{border-bottom-color:#fff}.tooltipster-sidetip.tooltipster-shadow.tooltipster-left .tooltipster-arrow-border{border-left-color:#fff}.tooltipster-sidetip.tooltipster-shadow.tooltipster-right .tooltipster-arrow-border{border-right-color:#fff}.tooltipster-sidetip.tooltipster-shadow.tooltipster-top .tooltipster-arrow-border{border-top-color:#fff}.tooltipster-sidetip.tooltipster-shadow.tooltipster-bottom .tooltipster-arrow-uncropped{top:-6px}.tooltipster-sidetip.tooltipster-shadow.tooltipster-right .tooltipster-arrow-uncropped{left:-6px} \ No newline at end of file diff --git a/assets/front-end/css/adv-accordion.css b/assets/front-end/css/adv-accordion.css new file mode 100644 index 000000000..5438c6c5a --- /dev/null +++ b/assets/front-end/css/adv-accordion.css @@ -0,0 +1,74 @@ +/*------------------------------*/ +/* 31. Advance Accordion +/*------------------------------*/ +.eael-adv-accordion { + width: auto; + height: auto; + transition: all 0.3s ease-in-out; +} + +.eael-adv-accordion .eael-accordion-list .eael-accordion-header { + padding: 15px; + border: 1px solid rgba(0, 0, 0, 0.02); + font-size: 1rem; + font-weight: 600; + line-height: 1; + transition: all 0.3s ease-in-out; + display: flex; + justify-content: space-between; + align-items: center; + cursor: pointer; +} + +.eael-adv-accordion .eael-accordion-list .eael-accordion-header .fa-toggle { + transform: rotate(0deg); + z-index: 10; + transition: all 0.3s ease-in-out; +} + +.eael-adv-accordion .eael-accordion-list .eael-accordion-header.active .fa-toggle { + transform: rotate(90deg); + z-index: 10; + transition: all 0.3s ease-in-out; +} + +.fa-accordion-icon { + display: inline-block; + margin-right: 10px; +} + +.eael-adv-accordion .eael-accordion-list .eael-accordion-content { + display: none; + border: 1px solid #eee; + padding: 15px; + box-sizing: border-box; + font-size: 1rem; + line-height: 1.7; +} + +.eael-adv-accordion .eael-accordion-list .eael-accordion-content p { + margin: 0; +} + +.eael-adv-accordion .eael-accordion-list .eael-accordion-content.active { + display: block; +} + +@keyframes rotate-90 { + 0% { + transform: rotateY(0deg); + } + 100% { + transform: rotateY(-180deg); + } +} +@keyframes fadeIn { + 0% { + opacity: 1; + transition: all 0.3s ease-in-out; + } + 100% { + opacity: 1; + transition: all 0.3s ease-in-out; + } +} diff --git a/assets/front-end/css/adv-tabs.css b/assets/front-end/css/adv-tabs.css new file mode 100644 index 000000000..eb355b8e5 --- /dev/null +++ b/assets/front-end/css/adv-tabs.css @@ -0,0 +1,162 @@ +/*----------------------------*/ +/* 30. Advance Tabs +/*----------------------------*/ +.eael-advance-tabs { + display: block; +} + +.eael-advance-tabs .eael-tabs-nav > ul { + position: relative; + padding: 0px; + margin: 0px; + list-style-type: none; + display: flex; + justify-content: flex-start; + align-items: center; + z-index: 1; +} + +.eael-advance-tabs .eael-tabs-nav > ul li { + position: relative; + padding: 1em 1.5em; + flex: 1 1 auto; + cursor: pointer; + display: flex; + justify-content: center; + align-items: center; + text-align: center; +} + +.eael-advance-tabs .eael-tabs-nav > ul li:after { + content: ""; + position: absolute; + bottom: -10px; + left: 0px; + right: 0px; + margin: 0 auto; + z-index: 1; + width: 0px; + height: 0px; + border-left: 10px solid transparent; + border-right: 10px solid transparent; + border-top: 10px solid #444; + border-bottom: 0px; + display: none; +} + +.eael-advance-tabs.active-caret-on .eael-tabs-nav > ul li.active:after, +.eael-advance-tabs.active-caret-on .eael-tabs-nav > ul li.active-default:after { + display: none; +} + +.eael-advance-tabs .eael-tabs-nav > ul li.active:after, +.eael-advance-tabs .eael-tabs-nav > ul li.active-default:after { + display: block; +} + +.eael-tabs-content { + display: flex; + flex: 1 1 auto; +} + +.eael-advance-tabs .eael-tabs-content > div { + display: none; + opacity: 0; +} + +.eael-advance-tabs .eael-tabs-content > div.active, +.eael-advance-tabs .eael-tabs-content > div.active-default { + display: block; + width: 100%; + padding: 1em; + opacity: 1; + animation: fadeIn linear 0.3s; +} + +/*--- Inline Icon ---*/ +.eael-tab-inline-icon li a .fa { + margin-right: 10px; + line-height: 1; +} + +.eael-tab-top-icon li a { + display: flex; + flex-wrap: wrap; + text-align: center; +} + +.eael-tab-top-icon li a .fa, +.eael-tab-top-icon li a .eael-tab-title { + flex: 1 1 100%; + line-height: 1; +} + +.eael-tab-top-icon li a .eael-tab-title { + margin-top: 10px; +} + +/*--- Vertical Tabs ---*/ +.eael-advance-tabs.eael-tabs-vertical { + display: flex; +} + +.eael-advance-tabs.eael-tabs-vertical .eael-tabs-nav { + flex: 0 0 auto; +} + +.eael-advance-tabs.eael-tabs-vertical .eael-tabs-nav > ul { + flex-flow: column wrap; +} + +.eael-advance-tabs.eael-tabs-vertical .eael-tabs-nav > ul > li { + width: 100%; + justify-content: start; +} + +.eael-advance-tabs.eael-tabs-vertical .eael-tabs-nav > ul li::after { + bottom: auto !important; + right: -10px; + top: calc(50% - 10px); + left: auto !important; + border-left: 10px solid #444; + border-right: 0; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; +} + +@media only screen and (max-width: 767px) { + .eael-advance-tabs .eael-tabs-nav > ul { + flex-wrap: wrap; + } + + .eael-advance-tabs .eael-tabs-nav > ul li { + flex: 1 100%; + } + + .eael-advance-tabs.eael-tabs-vertical { + flex-wrap: wrap; + } + + .eael-advance-tabs.eael-tabs-vertical div.eael-tabs-nav { + flex: 1 100%; + } + + .eael-advance-tabs.eael-tabs-vertical ul { + flex: 1 100%; + } + + .eael-advance-tabs.eael-tabs-vertical ul li { + flex: 1 100%; + } + + div.eael-advance-tabs.eael-tabs-vertical div.eael-tabs-nav > ul li::after { + border-left-color: transparent !important; + bottom: -20px !important; + left: 0 !important; + right: 0 !important; + top: auto !important; + border-left: 10px solid transparent; + border-right: 10px solid transparent; + border-top-color: #444 !important; + } +} diff --git a/assets/front-end/css/caldera-form.css b/assets/front-end/css/caldera-form.css new file mode 100644 index 000000000..a7f6f5dfd --- /dev/null +++ b/assets/front-end/css/caldera-form.css @@ -0,0 +1,53 @@ +/* ----------------------------------------- */ +/* 22. Caldera Contact Form Styler +/* ----------------------------------------- */ +.eael-caldera-form-align-left, +.eael-caldera-form-btn-align-left { + text-align: left; +} + +.eael-caldera-form-align-right, +.eael-caldera-form-btn-align-right { + text-align: right; +} + +.eael-caldera-form-align-center, +.eael-caldera-form-btn-align-center { + text-align: center; +} + +.eael-caldera-form .control-label { + display: none; +} + +.eael-caldera-form-labels-yes .control-label { + display: block; +} + +.eael-caldera-form-button-center .form-group input[type=button], +.eael-caldera-form-button-center .form-group input[type=submit] { + display: block; + margin: 0 auto; +} + +.eael-caldera-form-button-right .form-group input[type=button], +.eael-caldera-form-button-right .form-group input[type=submit] { + float: right; +} + +.eael-caldera-form .intl-tel-input { + display: inherit; +} + +.eael-custom-radio-checkbox .caldera-grid input[type=checkbox], +.eael-custom-radio-checkbox .caldera-grid input[type=radio] { + border-style: solid; + border-width: 0; + padding: 3px; + -webkit-appearance: none; +} + +.eael-caldera-form-button-full-width .form-group input[type=submit], +.eael-caldera-form-button-full-width .form-group input[type=button] { + width: 100%; +} diff --git a/assets/front-end/css/call-to-action.css b/assets/front-end/css/call-to-action.css new file mode 100644 index 000000000..20ca5be41 --- /dev/null +++ b/assets/front-end/css/call-to-action.css @@ -0,0 +1,258 @@ +/*--------------------------*/ +/* 19. Call To Action +/*-------------------------*/ +.eael-call-to-action { + width: 100%; + height: auto; + display: block; + padding: 30px; + font-size: 16px; + color: #4d4d4d; + font-weight: 400; + line-height: 27px; + margin: 0 auto; +} + +.eael-call-to-action p { + margin-bottom: 10px; +} + +.eael-call-to-action .title { + font-size: 36px; + font-weight: 600; + line-height: 36px; + margin-bottom: 10px; + text-transform: capitalize; + font-style: normal; +} + +.eael-call-to-action.cta-center { + text-align: center; +} + +.eael-call-to-action.cta-right { + text-align: right; +} + +.eael-call-to-action.cta-left { + text-align: left; +} + +.eael-call-to-action.bg-lite { + background: #f4f4f4; +} + +.eael-call-to-action.bg-img { + background-image: url("../img/bg.jpg"); + background-repeat: no-repeat; + background-position: center; + background-size: cover; + position: relative; + z-index: 0; + color: rgba(255, 255, 255, 0.7); +} + +.eael-call-to-action.bg-img .icon { + color: #fff; +} + +.eael-call-to-action.bg-img:after { + content: ""; + position: absolute; + width: 100%; + height: 100%; + top: 0px; + left: 0px; + z-index: -1; + background: rgba(0, 0, 0, 0.8); +} + +.eael-call-to-action.bg-img.bg-fixed { + background-attachment: fixed; + background-position: center center; +} + +.eael-call-to-action.bg-img .title { + color: rgba(255, 255, 255, 0.9); +} + +/*--- Cta Flex ---*/ +.eael-call-to-action.cta-flex, +.eael-call-to-action.cta-icon-flex { + display: flex; + justify-content: space-between; + align-items: flex-start; +} + +/*--- Cta Icon Flex ---*/ +.eael-call-to-action.cta-icon-flex .icon { + flex-grow: 1; + font-size: 80px; + text-align: left; + line-height: 130px; +} + +.eael-call-to-action.cta-icon-flex .action { + flex-grow: 1; + text-align: right; + padding-top: 22px; + flex-basis: 22%; +} + +.eael-call-to-action.cta-icon-flex .content { + flex-grow: 1; + padding: 0px 30px; +} + +/*--- Cta Flex ---*/ +.eael-call-to-action.cta-flex .content { + padding: 0px 15px; + flex-grow: 1; +} + +.eael-call-to-action.cta-flex .action { + flex-grow: 1; + text-align: right; + padding-top: 25px; + flex-basis: 23%; +} + +/*--- Cta Button ---*/ +.eael-call-to-action .cta-button { + position: relative; + display: inline-block; + padding: 12px 30px; + background: #f9f9f9; + font-size: 16px; + text-decoration: none; + color: #4d4d4d; + -webkit-transition: .5s; + -ms-transition: .5s; + transition: .5s; + -webkit-box-shadow: 0px 0px 3px -1px rgba(0, 0, 0, 0.2); + -ms-box-shadow: 0px 0px 3px -1px rgba(0, 0, 0, 0.2); + box-shadow: 0px 0px 3px -1px rgba(0, 0, 0, 0.2); + margin-right: 10px; + margin-top: 10px; + z-index: 0; + overflow: hidden; +} + +.eael-call-to-action .cta-button:last-child { + margin-right: 0px; +} + +.eael-call-to-action .cta-button:focus { + outline: none; +} + +/*--- Hover ---*/ +.eael-call-to-action .cta-button:hover { + color: #fff; + background: #3F51B5; + -webkit-box-shadow: 0px 1px 12px 1px rgba(0, 0, 0, 0.1); + -ms-box-shadow: 0px 1px 12px 1px rgba(0, 0, 0, 0.1); + box-shadow: 0px 1px 12px 1px rgba(0, 0, 0, 0.1); +} + +/*--- Cta Button effect 1 ---*/ +.eael-call-to-action .cta-button.effect-1:after { + content: ""; + position: absolute; + width: 100%; + height: 100%; + background: #3F51B5; + top: 0px; + left: 0px; + transform: translateY(-100%); + -webkit-transform: translateY(-100%); + -ms-transform: translateY(-100%); + z-index: -1; + -webkit-transition: .5s; + -ms-transition: .5s; + transition: .5s; + color: #fff; +} + +.eael-call-to-action .cta-button.effect-1:hover::after { + -webkit-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); +} + +/*--- Cta Button effect 2 ---*/ +.eael-call-to-action .cta-button.effect-2:after { + content: ""; + position: absolute; + width: 100%; + height: 100%; + background: #3F51B5; + top: 0px; + left: 0px; + z-index: -1; + -webkit-transition: .5s; + -ms-transition: .5s; + transition: .5s; + color: #fff; + -webkit-transform: translateX(-100%); + transform: translateX(-100%); +} + +.eael-call-to-action .cta-button.effect-2:hover::after { + -webkit-transform: translateX(0); + transform: translateX(0); +} + +/*--- Media Queries ---*/ +@media only screen and (max-width: 768px) { + .eael-call-to-action.cta-flex, + .eael-call-to-action.cta-icon-flex { + flex-wrap: wrap; + } + + .eael-call-to-action .title { + font-size: 28px; + line-height: 36px; + margin-top: 0px; + } + + .eael-call-to-action.cta-icon-flex .icon { + flex-grow: 1; + font-size: 48px; + line-height: 90px; + text-align: center; + } + + .eael-call-to-action.cta-flex .content, + .eael-call-to-action.cta-icon-flex .content { + flex-grow: 1; + text-align: center; + padding: 0px; + } + + .eael-call-to-action.cta-flex .action, + .eael-call-to-action.cta-icon-flex .action { + text-align: center; + padding-top: 0px; + } + + .eael-call-to-action .cta-button { + padding: 12px 25px; + } +} +@media only screen and (max-width: 360px) { + .eael-call-to-action { + font-size: 14px; + line-height: 26px; + } + + .eael-call-to-action .cta-button { + padding: 4px 20px; + font-size: 12px; + } + + .eael-call-to-action .title { + font-size: 20px; + line-height: 30px; + } +} diff --git a/assets/front-end/css/contact-form-7.css b/assets/front-end/css/contact-form-7.css new file mode 100644 index 000000000..6d0511334 --- /dev/null +++ b/assets/front-end/css/contact-form-7.css @@ -0,0 +1,83 @@ +/*--------------------------------*/ +/* 11. Contact Form 7 Styles +/*--------------------------------*/ +.eael-contact-form.eael-contact-form-align-center, +.eael-contact-form-7.eael-contact-form-btn-align-center input.wpcf7-submit { + margin-left: auto !important; + margin-right: auto !important; + display: block; + float: none; +} + +.eael-contact-form.eael-contact-form-align-left, +.eael-contact-form-7.eael-contact-form-btn-align-left input.wpcf7-submit { + float: left; + width: auto; +} + +.eael-contact-form.eael-contact-form-align-right, +.eael-contact-form-7.eael-contact-form-btn-align-right input.wpcf7-submit { + float: right; + width: auto; +} + +.eael-contact-form-7 textarea, +.eael-contact-form-7 input[type="text"], +.eael-contact-form-7 input[type="password"], +.eael-contact-form-7 input[type="datetime"], +.eael-contact-form-7 input[type="datetime-local"], +.eael-contact-form-7 input[type="date"], +.eael-contact-form-7 input[type="month"], +.eael-contact-form-7 input[type="time"], +.eael-contact-form-7 input[type="week"], +.eael-contact-form-7 input[type="number"], +.eael-contact-form-7 input[type="email"], +.eael-contact-form-7 input[type="url"], +.eael-contact-form-7 input[type="search"], +.eael-contact-form-7 input[type="tel"], +.eael-contact-form-7 input[type="color"], +.eael-contact-form-7 .uneditable-input { + -webkit-transition: border linear 0.2s, box-shadow linear 0.2s; + transition: border linear 0.2s, box-shadow linear 0.2s; +} + +.eael-contact-form-7 .wpcf7-form::before, +.eael-contact-form-7 .wpcf7-form::after { + content: " "; + clear: both; + display: table; +} + +.eael-contact-form-7 .wpcf7-form:after { + clear: both; + content: ""; + font-size: 0; + height: 0; + display: block; + visibility: hidden; +} + +.eael-contact-form-7 .wpcf7-form label, +.eael-contact-form-7 .wpcf7-form .wpcf7-form-control-wrap { + display: block; +} + +.eael-contact-form-7 .wpcf7-form p { + margin-bottom: 0; +} + +.eael-contact-form-7.labels-hide .wpcf7-form label { + display: none; +} + +.eael-contact-form-7-title { + margin-bottom: 10px; +} + +.eael-contact-form-7-description { + margin-bottom: 20px; +} + +.eael-contact-form-7-button-full-width .wpcf7-form-control.wpcf7-submit { + width: 100%; +} diff --git a/assets/front-end/css/content-ticker.css b/assets/front-end/css/content-ticker.css new file mode 100644 index 000000000..d96555ca9 --- /dev/null +++ b/assets/front-end/css/content-ticker.css @@ -0,0 +1,58 @@ +/*----------------------------*/ +/* 29. Content Ticker +/*----------------------------*/ +.eael-ticker-wrap { + overflow: hidden; + display: flex; + flex-flow: row nowrap; + align-items: center; + width: 100%; +} + +.eael-ticker-wrap .ticker-badge { + flex: 0 0 auto; + padding: 8px 12px; +} + +.eael-ticker-wrap .eael-ticker { + overflow: hidden; + flex: 1 1 auto; +} + +.eael-ticker-wrap .eael-ticker .ticker-content { + padding: 8px 12px; + line-height: 1.8; +} + +.eael-ticker-wrap .eael-ticker .ticker-content p { + margin: 0; +} + +.eael-ticker-wrap .swiper-button-prev { + left: auto !important; + right: 25px; +} + +.eael-ticker-wrap div.swiper-slide, +.eael-ticker-wrap div.swiper-slide.swiper-slide-prev, +.eael-ticker-wrap div.swiper-slide.swiper-slide-next { + opacity: 0 !important; +} + +.eael-ticker-wrap div.swiper-slide.swiper-slide-active { + opacity: 1 !important; +} + +.eael-ticker-wrap .eael-content-ticker.swiper-container .swiper-slide { + text-align: left; +} + +@media only screen and (max-width: 767px) { + .eael-ticker-wrap { + flex-flow: row wrap; + } + + .content-ticker-pagination { + display: none; + } +} diff --git a/assets/front-end/css/count-down.css b/assets/front-end/css/count-down.css new file mode 100644 index 000000000..724ebf7a8 --- /dev/null +++ b/assets/front-end/css/count-down.css @@ -0,0 +1,58 @@ +/*---------------------------------*/ +/* 05. Countdown Styles +/*---------------------------------*/ +/*--- General ---*/ +.eael-countdown-items { + list-style: none; + margin: 0; + padding: 0; + display: table; + table-layout: fixed; + width: 100%; +} + +.eael-countdown-items > li { + list-style: none; + margin: 0; + padding: 0; + display: table-cell; + position: relative; +} + +.eael-countdown-item > div { + text-align: center; + padding: 20px; +} + +.eael-countdown-label-block .eael-countdown-digits, +.eael-countdown-label-block .eael-countdown-label { + display: block; + text-align: center; +} + +.eael-countdown-digits { + font-size: 54px; + line-height: 1; +} + +.eael-countdown-label { + font-size: 18px; + line-height: 1; + color: #ffffff; +} + +.eael-countdown-show-separator .eael-countdown-digits::after { + content: ":"; + position: absolute; + left: 98%; + z-index: 9999; +} + +.eael-countdown-item:last-child .eael-countdown-digits::after { + display: none; +} + +/*--- Style 1 ---*/ +.eael-countdown-items.style-1 .eael-countdown-item > div { + background: #262625; +} diff --git a/assets/front-end/css/creative-btn.css b/assets/front-end/css/creative-btn.css new file mode 100644 index 000000000..e018fd8db --- /dev/null +++ b/assets/front-end/css/creative-btn.css @@ -0,0 +1,252 @@ +/*-----------------------------*/ +/* 04. Creative Button styles +/*-----------------------------*/ +.eael-creative-button-align-center { + text-align: center; +} + +.eael-creative-button-wrapper { + display: flex; +} + +.eael-creative-button { + flex: 0 0 auto; + min-width: 150px; + text-align: center; + vertical-align: middle; + position: relative; + z-index: 1; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -moz-osx-font-smoothing: grayscale; +} + +.eael-creative-button:focus { + outline: none; +} + +.eael-creative-button > span { + vertical-align: middle; +} + +.eael-creative-button { + border-radius: 2px; + padding: 20px 30px; + font-size: 16px; + line-height: 1; +} + +/*--- Winona ---*/ +.eael-creative-button--winona { + overflow: hidden; + padding: 0 !important; + -webkit-transition: border-color 0.3s, background-color 0.3s; + transition: border-color 0.3s, background-color 0.3s; + -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); + transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); +} + +.eael-creative-button--winona::after { + content: attr(data-text); + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0; + opacity: 0; + -webkit-transform: translate3d(0, 25%, 0); + transform: translate3d(0, 25%, 0); +} + +.eael-creative-button--winona > span { + display: block; +} + +.eael-creative-button--winona::after, +.eael-creative-button--winona > span { + padding: 1em 2em; + -webkit-transition: -webkit-transform 0.3s, opacity 0.3s; + transition: transform 0.3s, opacity 0.3s; + -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); + transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); +} + +.eael-creative-button--winona:hover::after { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} + +.eael-creative-button--winona:hover > span { + opacity: 0; + -webkit-transform: translate3d(0, -25%, 0); + transform: translate3d(0, -25%, 0); +} + +/*--- Ujarak ---*/ +.eael-creative-button--ujarak { + -webkit-transition: border-color 0.4s, color 0.4s; + transition: border-color 0.4s, color 0.4s; +} + +.eael-creative-button--ujarak::before { + content: ''; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: -1; + opacity: 0; + -webkit-transform: scale3d(0.7, 1, 1); + transform: scale3d(0.7, 1, 1); + -webkit-transition: -webkit-transform 0.4s, opacity 0.4s; + transition: transform 0.4s, opacity 0.4s; + -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); + transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); +} + +.eael-creative-button--ujarak, +.eael-creative-button--ujarak::before { + -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); + transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); +} + +.eael-creative-button--ujarak:hover::before { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} + +/*--- Wayra ---*/ +.eael-creative-button--wayra { + overflow: hidden; + -webkit-transition: border-color 0.3s, color 0.3s; + transition: border-color 0.3s, color 0.3s; + -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); + transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); +} + +.eael-creative-button--wayra::before { + content: ''; + position: absolute; + top: 0; + left: 0; + width: 150%; + height: 100%; + z-index: -1; + -webkit-transform: rotate3d(0, 0, 1, -45deg) translate3d(0, -3em, 0); + transform: rotate3d(0, 0, 1, -45deg) translate3d(0, -3em, 0); + -webkit-transform-origin: 0% 100%; + transform-origin: 0% 100%; + -webkit-transition: -webkit-transform 0.3s, opacity 0.3s, background-color 0.3s; + transition: transform 0.3s, opacity 0.3s, background-color 0.3s; +} + +.eael-creative-button--wayra:hover::before { + opacity: 1; + -webkit-transform: rotate3d(0, 0, 1, 0deg); + transform: rotate3d(0, 0, 1, 0deg); + -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); + transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); +} + +/*--- Tamaya ---*/ +.eael-creative-button--tamaya { + overflow: hidden; +} + +.eael-creative-button--tamaya::before, +.eael-creative-button--tamaya::after { + content: attr(data-text); + position: absolute; + width: 100%; + height: 50%; + left: 0; + overflow: hidden; + -webkit-transition: -webkit-transform 0.3s; + transition: transform 0.3s; + -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); + transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); +} + +.eael-creative-button--tamaya::before { + top: 0; + padding: 20px 30px; +} + +.eael-creative-button--tamaya::after { + bottom: 0; + line-height: 0; +} + +.eael-creative-button--tamaya:hover::after { + bottom: -1px; +} + +.eael-creative-button--tamaya > span { + display: block; + -webkit-transform: scale3d(0.2, 0.2, 1); + transform: scale3d(0.2, 0.2, 1); + opacity: 0; + -webkit-transition: -webkit-transform 0.3s, opacity 0.3s; + transition: transform 0.3s, opacity 0.3s; + -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); + transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); +} + +.eael-creative-button--tamaya:hover::before { + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); +} + +.eael-creative-button--tamaya:hover::after { + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); +} + +.eael-creative-button--tamaya:hover > span { + opacity: 1; + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); +} + +/*--- Rayen ---*/ +.eael-creative-button--rayen { + overflow: hidden; + padding: 0 !important; +} + +.eael-creative-button--rayen::before { + content: attr(data-text); + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); +} + +.eael-creative-button--rayen > span { + display: block; +} + +.eael-creative-button--rayen::before, +.eael-creative-button--rayen > span { + padding: 1em 2em; + -webkit-transition: -webkit-transform 0.3s; + transition: transform 0.3s; + -webkit-transition-timing-function: cubic-bezier(0.75, 0, 0.125, 1); + transition-timing-function: cubic-bezier(0.75, 0, 0.125, 1); +} + +.eael-creative-button--rayen:hover::before { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} + +.eael-creative-button--rayen:hover > span { + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); +} diff --git a/assets/front-end/css/data-table.css b/assets/front-end/css/data-table.css new file mode 100644 index 000000000..a46d95414 --- /dev/null +++ b/assets/front-end/css/data-table.css @@ -0,0 +1,276 @@ +table.eael-data-table thead .sorting, table.eael-data-table thead .sorting_desc, table.eael-data-table thead .sorting_asc { + position: relative; + z-index: 0; + outline: 0; + cursor: pointer; +} + +table.eael-data-table thead .sorting:after, table.eael-data-table thead .sorting_desc:after, table.eael-data-table thead .sorting_asc:after { + position: absolute; + top: 50%; + right: 10px; + font-family: "FontAwesome"; + color: #fff; + z-index: 1; + transform: translateY(-50%); +} + +.eael-data-table-wrap .eael-data-tables_wrapper { + display: flex; + flex-flow: row wrap; + justify-content: flex-start; + width: 100%; +} +.eael-data-table-wrap .eael-data-tables_filter { + flex-grow: 1; + flex-basis: 50%; + text-align: right; +} +.eael-data-table-wrap .eael-data-tables_filter label { + font-weight: 700; +} +.eael-data-table-wrap .eael-data-tables_filter label input[type="search"] { + height: 40px; + border: 1px solid rgba(0, 0, 0, 0.09); + outline: 0; + padding: 10px; + margin-left: 10px; +} +.eael-data-table-wrap .eael-data-tables_length { + flex-grow: 1; + flex-basis: 50%; +} +.eael-data-table-wrap .eael-data-tables_length select { + width: auto; + max-width: 120px; + height: 40px; + border: 1px solid rgba(0, 0, 0, 0.09); + outline: 0; + margin-left: 10px; + margin-right: 10px; +} +.eael-data-table-wrap .eael-data-tables_length label { + font-weight: 700; +} +.eael-data-table-wrap .eael-data-tables_info { + flex-grow: 1; + flex-basis: 50%; + font-weight: 700; +} +.eael-data-table-wrap .eael-data-tables_paginate { + flex-grow: 1; + flex-basis: 50%; + text-align: right; +} +.eael-data-table-wrap .eael-data-tables_paginate .paginate_button { + padding: 10px 15px; + background: #f2f2f2; + margin-right: 2px; + cursor: pointer; + transition: all .3s; +} +.eael-data-table-wrap .eael-data-tables_paginate .paginate_button:hover { + color: #fff; + background: #4a4893; +} +.eael-data-table-wrap .eael-data-tables_paginate .paginate_button.current { + color: #fff; + background: #4a4893; +} +.eael-data-table-wrap .eael-data-tables_paginate .paginate_button.disabled { + cursor: no-drop; + background: #f2f2f2; + opacity: .5; + color: #888; +} + +.data-header-icon { + margin-right: 10px; +} + +.eael-data-table { + width: 100%; + height: auto; + margin: 0; + border-collapse: collapse; + border: none; +} +.eael-data-table tr { + border-style: none; +} +.eael-data-table thead tr { + text-align: left; +} +.eael-data-table thead tr th { + padding: 20px 15px; + background: #4a4893; + font-size: 16px; + font-weight: 600; + font-family: "Montserrat", "sans-serif"; + line-height: 1; + color: #fff; + border-color: #000; + border-width: 2px; + border-style: none; + background-clip: padding-box; +} +.eael-data-table thead tr th:hover { + border-color: #000; +} +.eael-data-table tbody tr.even { + transition: background 0.4s ease-in-out; +} +.eael-data-table tbody tr.even:hover { + background: rgba(242, 242, 242, 0.7); +} +.eael-data-table tbody tr.even:last-child { + border-bottom: 1px solid rgba(0, 0, 0, 0.09); +} +.eael-data-table tbody tr.odd { + background: rgba(242, 242, 242, 0.5); + transition: background 0.2s ease-in-out; +} +.eael-data-table tbody tr.odd:hover { + background: rgba(242, 242, 242, 0.7); +} +.eael-data-table tbody tr.odd:last-child { + border-bottom: 1px solid rgba(0, 0, 0, 0.09); +} +.eael-data-table tbody tr td { + padding: 20px 15px; + font-size: 14px; + font-family: "Montserrat", "sans-serif"; + line-height: 1; + border-width: 2px; + border-style: none; + background-clip: padding-box; +} + +.eael-data-table-th-img { + display: inline-block; + margin: 0 15px 0 0; + line-height: 1; +} + +.th-mobile-screen { + display: none; +} + +@media (max-width: 39.9375em) { + .eael-data-table-wrap { + overflow-x: scroll !important; + padding-bottom: 5px; + } + + .th-mobile-screen { + display: inline-block; + padding: 0 .6em; + margin-right: 10px; + text-align: center; + flex-grow: 0; + flex-shrink: 0; + flex-basis: 100px; + } + .th-mobile-screen .eael-data-table-th-img { + margin: 0 auto 15px auto; + display: block; + } + .th-mobile-screen .data-header-icon { + margin: 0 auto 15px auto; + display: block; + } + + .td-content-wrapper { + display: flex; + width: 100%; + } + + .td-content { + width: 100%; + justify-content: center; + } + .td-content > p { + width: 100%; + justify-content: center; + } + + .custom-responsive-option-enable .eael-data-table thead { + display: none; + } + .custom-responsive-option-enable .eael-data-table tbody tr td { + float: none; + clear: left; + width: 100%; + text-align: left; + display: flex; + align-items: center; + } + + .eael-data-table .td-content { + align-items: center; + display: flex; + } +} +table.eael-data-table thead .sorting:after { + content: "\f0dc"; +} +table.eael-data-table thead .headerSortDown:after { + content: "\f0dd"; +} +table.eael-data-table thead .headerSortUp:after { + content: "\f0de"; +} +table.eael-data-table thead .sorting_disabled.sorting:after { + display: none; +} +table.eael-data-table .sorting.sorting-none:after { + display: none; +} +table.eael-data-table .sorting_desc.sorting-none:after { + display: none; +} +table.eael-data-table .sorting_asc.sorting-none:after { + display: none; +} + +.eael-table-align-left table.eael-data-table { + float: left; +} + +.eael-table-align-center table.eael-data-table { + margin: 0 auto; +} + +.eael-table-align-right table.eael-data-table { + float: right; +} + +.eael-hide-elements .eael-data-tables_info { + display: none; +} + +.eael-dt-th-align-left .eael-data-table thead tr th { + text-align: left; +} + +.eael-dt-td-align-left .eael-data-table tbody tr td { + text-align: left; +} + +.eael-dt-th-align-right .eael-data-table thead tr th { + text-align: right; + padding-right: 30px; +} + +.eael-dt-td-align-right .eael-data-table tbody tr td { + text-align: right; + padding-right: 30px; +} + +.eael-dt-th-align-center .eael-data-table thead tr th { + text-align: center; +} + +.eael-dt-td-align-center .eael-data-table tbody tr td { + text-align: center; +} diff --git a/assets/front-end/css/dual-header.css b/assets/front-end/css/dual-header.css new file mode 100644 index 000000000..5a857f78f --- /dev/null +++ b/assets/front-end/css/dual-header.css @@ -0,0 +1,45 @@ +/* -------------------------------- */ +/* 20. Dual Color Heading +/* -------------------------------- */ +.eael-dual-header { + display: block; + margin-bottom: 50px; +} + +.eael-dual-header .title, +.eael-dual-header .title span { + font-size: 36px; + font-weight: 700; + text-transform: uppercase; + line-height: 48px; + margin: 10px 0px; +} + +.eael-dual-header .subtext { + font-size: 16px; + display: block; +} + +.eael-dual-header i { + display: block; + padding: 0px; + margin: 20px 0px 10px 0px; + font-size: 36px; +} + +.eael-dual-header .title span.lead { + color: #1abc9c; +} + +/*--- Builder Related Css ---*/ +.eael-dual-header-content-align-center { + text-align: center; +} + +.eael-dual-header-content-align-left { + text-align: left; +} + +.eael-dual-header-content-align-right { + text-align: right; +} diff --git a/assets/front-end/css/eael-editor.css b/assets/front-end/css/eael-editor.css new file mode 100644 index 000000000..ce1d8a9c0 --- /dev/null +++ b/assets/front-end/css/eael-editor.css @@ -0,0 +1,40 @@ +.elementor-panel .pro-feature, .elementor-panel .pro-feature a { + color: #a4afb7; + text-transform: uppercase; + letter-spacing: 1px; + line-height: 1.8; + font-style: normal; +} + +.elementor-panel .pro-feature a { + text-decoration: underline; + color: #f54 !important; +} + +.elementor-panel .elementor-control-eael_section_pro .elementor-panel-heading-title.elementor-panel-heading-title, +.elementor-panel .elementor-control-eael_section_pro .elementor-panel-heading-toggle, +.elementor-control-data_table_header_colspan_pro_alert .elementor-control-title, +.elementor-control-data_table_header_img_pro_alert .elementor-control-title, +.elementor-control-data_table_content_rowspan_pro_alert .elementor-control-title, +.elementor-control-data_table_content_colspan_pro_alert .elementor-control-title, +.elementor-control-data_table_content_template_pro_alert .elementor-control-title { + color: #f54; +} + +.elementor-panel .elementor-control-eael_control_get_pro .elementor-control-field { + display: none !important; +} + +.elementor-control-eael_pricing_table_style_pro_alert .elementor-control-title, +.elementor-control-eael_section_countdown_style_pro_alert .elementor-control-title, +.elementor-control-eael_fancy_text_style_pro_alert .elementor-control-title, +.elementor-control-eael_section_data_table_enabled_pro_alert .elementor-control-title, +.elementor-control-eael_img_accordion_type_pro_alert .elementor-control-title, +.elementor-control-eael_ticker_type_pro_alert .elementor-control-title, +.elementor-control-eael_team_members_preset_pro_alert .elementor-control-title { + color: #f54; +} + +.elementor-control-eael_feature_list_icon_background_image { + display: none; +} diff --git a/assets/css/essential-addons-elementor.css b/assets/front-end/css/eael.css old mode 100755 new mode 100644 similarity index 72% rename from assets/css/essential-addons-elementor.css rename to assets/front-end/css/eael.css index c0571a654..e0b2cb51a --- a/assets/css/essential-addons-elementor.css +++ b/assets/front-end/css/eael.css @@ -1,5 +1,5 @@ /* - ______ _ _ _ _ _ +______ _ _ _ _ _ | ____| | | (_) | | /\ | | | | | |__ ___ ___ ___ _ __ | |_ _ __ _| | / \ __| | __| | ___ _ __ ___ | __| / __/ __|/ _ \ '_ \| __| |/ _` | | / /\ \ / _` |/ _` |/ _ \| '_ \/ __| @@ -69,6 +69,166 @@ padding-top: 40px; } +/*----------------------------*/ +/* 28. Swiper +/*----------------------------*/ +.swiper-container-wrap .swiper-slide, +.swiper-container .swiper-slide { + text-align: center; +} + +.swiper-container-wrap .swiper-slide img, +.swiper-container .swiper-slide img { + width: auto; +} + +.swiper-container-wrap-dots-outside .swiper-pagination, +.swiper-container-dots-outside .swiper-pagination { + position: static; +} + +.swiper-container-wrap .swiper-button-next, +.swiper-container-wrap .swiper-button-prev, +.swiper-container .swiper-button-next, +.swiper-container .swiper-button-prev { + background: transparent; + font-size: 20px; + height: auto; + line-height: 1; + margin: 0; + text-align: center; + transform: translateY(-50%); + width: auto; +} + +.swiper-container-wrap .swiper-button-next .fa, +.swiper-container-wrap .swiper-button-prev .fa, +.swiper-container .swiper-button-next .fa, +.swiper-container .swiper-button-prev .fa { + vertical-align: top; +} + +.swiper-container-wrap .swiper-pagination { + bottom: 10px; + left: 0; + width: 100%; +} + +.swiper-container-wrap-dots-outside .swiper-pagination { + position: static; +} + +.swiper-container-wrap .swiper-pagination-bullet { + background: #ccc; + margin: 0 4px; + opacity: 1; + height: 8px; + width: 8px; +} + +.swiper-container-wrap .swiper-pagination-bullet-active { + background: #000; +} + +.swiper-container-3d .swiper-slide { + transition-property: all; + -webkit-transition-property: all; +} + +/*--------------------------------*/ +/* 10. Contact forms common +/*--------------------------------*/ +.eael-contact-form input[type=text], +.eael-contact-form input[type=email], +.eael-contact-form input[type=url], +.eael-contact-form input[type=tel], +.eael-contact-form input[type=date], +.eael-contact-form input[type=number], +.eael-contact-form textarea { + background: #fff; + box-shadow: none; + -webkit-box-shadow: none; + float: none; + height: auto; + margin: 0; + outline: 0; + width: auto; +} + +.eael-contact-form input[type=submit] { + border: 0; + float: none; + height: auto; + margin: 0; + padding: 10px 20px; + width: auto; + -webkit-transition: all 0.25s linear 0s; + transition: all 0.25s linear 0s; +} + +.eael-contact-form.placeholder-hide input::-webkit-input-placeholder, +.eael-contact-form.placeholder-hide textarea::-webkit-input-placeholder { + opacity: 0; + visibility: hidden; +} + +.eael-contact-form.placeholder-hide input::-moz-placeholder, +.eael-contact-form.placeholder-hide textarea::-moz-placeholder { + opacity: 0; + visibility: hidden; +} + +.eael-contact-form.placeholder-hide input:-ms-input-placeholder, +.eael-contact-form.placeholder-hide textarea:-ms-input-placeholder { + opacity: 0; + visibility: hidden; +} + +.eael-contact-form.placeholder-hide input:-moz-placeholder, +.eael-contact-form.placeholder-hide textarea:-moz-placeholder { + opacity: 0; + visibility: hidden; +} + +.eael-custom-radio-checkbox input[type=checkbox], +.eael-custom-radio-checkbox input[type=radio] { + -webkit-appearance: none; + -moz-appearance: none; + border-style: solid; + border-width: 0; + outline: none; + min-width: 1px; + width: 15px; + height: 15px; + background: #ddd; + padding: 3px; +} + +.eael-custom-radio-checkbox input[type=checkbox]:before, +.eael-custom-radio-checkbox input[type=radio]:before { + content: ""; + width: 100%; + height: 100%; + padding: 0; + margin: 0; + display: block; +} + +.eael-custom-radio-checkbox input[type=checkbox]:checked:before, +.eael-custom-radio-checkbox input[type=radio]:checked:before { + background: #999; + -webkit-transition: all 0.25s linear 0s; + transition: all 0.25s linear 0s; +} + +.eael-custom-radio-checkbox input[type=radio] { + border-radius: 50%; +} + +.eael-custom-radio-checkbox input[type=radio]:before { + border-radius: 50%; +} + /*--------------------------*/ /* 03. Fancy Text Style /*--------------------------*/ @@ -89,6 +249,7 @@ .typed-cursor { opacity: 1; -webkit-animation: blink_cursor 0.7s infinite; + -moz-animation: blink_cursor 0.7s infinite; animation: blink_cursor 0.7s infinite; } @@ -114,6 +275,17 @@ opacity: 1; } } +@-moz-keyframes blink_cursor { + 0% { + opacity: 1; + } + 50% { + opacity: 0; + } + 100% { + opacity: 1; + } +} /*--- Style 2 ---*/ .eael-fancy-text-container.style-2 { font-size: 24px; @@ -133,17 +305,11 @@ } .eael-creative-button-wrapper { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; display: flex; } .eael-creative-button { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; + flex: 0 0 auto; min-width: 150px; text-align: center; vertical-align: middle; @@ -163,8 +329,7 @@ } .eael-creative-button { - -webkit-border-radius: 2px; - border-radius: 2px; + border-radius: 2px; padding: 20px 30px; font-size: 16px; line-height: 1; @@ -175,11 +340,9 @@ overflow: hidden; padding: 0 !important; -webkit-transition: border-color 0.3s, background-color 0.3s; - -o-transition: border-color 0.3s, background-color 0.3s; transition: border-color 0.3s, background-color 0.3s; -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); - -o-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); - transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); + transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); } .eael-creative-button--winona::after { @@ -202,14 +365,9 @@ .eael-creative-button--winona > span { padding: 1em 2em; -webkit-transition: -webkit-transform 0.3s, opacity 0.3s; - -webkit-transition: opacity 0.3s, -webkit-transform 0.3s; - transition: opacity 0.3s, -webkit-transform 0.3s; - -o-transition: transform 0.3s, opacity 0.3s; transition: transform 0.3s, opacity 0.3s; - transition: transform 0.3s, opacity 0.3s, -webkit-transform 0.3s; -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); - -o-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); - transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); + transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); } .eael-creative-button--winona:hover::after { @@ -227,7 +385,6 @@ /*--- Ujarak ---*/ .eael-creative-button--ujarak { -webkit-transition: border-color 0.4s, color 0.4s; - -o-transition: border-color 0.4s, color 0.4s; transition: border-color 0.4s, color 0.4s; } @@ -243,21 +400,15 @@ -webkit-transform: scale3d(0.7, 1, 1); transform: scale3d(0.7, 1, 1); -webkit-transition: -webkit-transform 0.4s, opacity 0.4s; - -webkit-transition: opacity 0.4s, -webkit-transform 0.4s; - transition: opacity 0.4s, -webkit-transform 0.4s; - -o-transition: transform 0.4s, opacity 0.4s; transition: transform 0.4s, opacity 0.4s; - transition: transform 0.4s, opacity 0.4s, -webkit-transform 0.4s; -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); - -o-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); - transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); + transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); } .eael-creative-button--ujarak, .eael-creative-button--ujarak::before { -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); - -o-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); - transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); + transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); } .eael-creative-button--ujarak:hover::before { @@ -270,11 +421,9 @@ .eael-creative-button--wayra { overflow: hidden; -webkit-transition: border-color 0.3s, color 0.3s; - -o-transition: border-color 0.3s, color 0.3s; transition: border-color 0.3s, color 0.3s; -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); - -o-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); - transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); + transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); } .eael-creative-button--wayra::before { @@ -288,14 +437,9 @@ -webkit-transform: rotate3d(0, 0, 1, -45deg) translate3d(0, -3em, 0); transform: rotate3d(0, 0, 1, -45deg) translate3d(0, -3em, 0); -webkit-transform-origin: 0% 100%; - -ms-transform-origin: 0% 100%; - transform-origin: 0% 100%; + transform-origin: 0% 100%; -webkit-transition: -webkit-transform 0.3s, opacity 0.3s, background-color 0.3s; - -webkit-transition: opacity 0.3s, background-color 0.3s, -webkit-transform 0.3s; - transition: opacity 0.3s, background-color 0.3s, -webkit-transform 0.3s; - -o-transition: transform 0.3s, opacity 0.3s, background-color 0.3s; transition: transform 0.3s, opacity 0.3s, background-color 0.3s; - transition: transform 0.3s, opacity 0.3s, background-color 0.3s, -webkit-transform 0.3s; } .eael-creative-button--wayra:hover::before { @@ -303,8 +447,7 @@ -webkit-transform: rotate3d(0, 0, 1, 0deg); transform: rotate3d(0, 0, 1, 0deg); -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); - -o-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); - transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); + transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); } /*--- Tamaya ---*/ @@ -321,13 +464,9 @@ left: 0; overflow: hidden; -webkit-transition: -webkit-transform 0.3s; - transition: -webkit-transform 0.3s; - -o-transition: transform 0.3s; transition: transform 0.3s; - transition: transform 0.3s, -webkit-transform 0.3s; -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); - -o-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); - transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); + transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); } .eael-creative-button--tamaya::before { @@ -350,14 +489,9 @@ transform: scale3d(0.2, 0.2, 1); opacity: 0; -webkit-transition: -webkit-transform 0.3s, opacity 0.3s; - -webkit-transition: opacity 0.3s, -webkit-transform 0.3s; - transition: opacity 0.3s, -webkit-transform 0.3s; - -o-transition: transform 0.3s, opacity 0.3s; transition: transform 0.3s, opacity 0.3s; - transition: transform 0.3s, opacity 0.3s, -webkit-transform 0.3s; -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); - -o-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); - transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); + transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); } .eael-creative-button--tamaya:hover::before { @@ -401,13 +535,9 @@ .eael-creative-button--rayen > span { padding: 1em 2em; -webkit-transition: -webkit-transform 0.3s; - transition: -webkit-transform 0.3s; - -o-transition: transform 0.3s; transition: transform 0.3s; - transition: transform 0.3s, -webkit-transform 0.3s; -webkit-transition-timing-function: cubic-bezier(0.75, 0, 0.125, 1); - -o-transition-timing-function: cubic-bezier(0.75, 0, 0.125, 1); - transition-timing-function: cubic-bezier(0.75, 0, 0.125, 1); + transition-timing-function: cubic-bezier(0.75, 0, 0.125, 1); } .eael-creative-button--rayen:hover::before { @@ -517,10 +647,8 @@ .eael-timeline-bullet { background-color: #9fa9af; border: 5px solid #fff; - -webkit-border-radius: 50%; - border-radius: 50%; - -webkit-box-shadow: 0 1px 0 1px rgba(0, 0, 0, 0.1); - box-shadow: 0 1px 0 1px rgba(0, 0, 0, 0.1); + border-radius: 50%; + box-shadow: 0 1px 0 1px rgba(0, 0, 0, 0.1); content: ""; height: 20px; position: absolute; @@ -534,8 +662,7 @@ .eael-timeline-post:nth-child(2n) .eael-timeline-bullet { background-color: #9fa9af; border: 5px solid #fff; - -webkit-border-radius: 50%; - border-radius: 50%; + border-radius: 50%; bottom: 36px; content: ""; height: 20px; @@ -547,12 +674,9 @@ } .eael-timeline-post-inner { - background: -webkit-linear-gradient(45deg, #3f3f46 0%, #05abe0 100%) repeat scroll 0 0 transparent; - background: -o-linear-gradient(45deg, #3f3f46 0%, #05abe0 100%) repeat scroll 0 0 transparent; background: linear-gradient(45deg, #3f3f46 0%, #05abe0 100%) repeat scroll 0 0 transparent; border: 8px solid #e5eaed; - -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.15); - box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.15); + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.15); float: right; margin: 30px 40px 30px auto; position: relative; @@ -600,8 +724,7 @@ } .eael-timeline-post-image { - -webkit-background-size: cover; - background-size: cover; + background-size: cover; background-position: center center; background-repeat: no-repeat; display: block; @@ -610,7 +733,7 @@ position: relative; opacity: .6; -webkit-transition: all .3s; - -o-transition: all .3s; + -moz-transition: all .3s; transition: all .3s; } @@ -637,7 +760,7 @@ top: 0; left: 0; -webkit-transition: all .3s; - -o-transition: all .3s; + -moz-transition: all .3s; transition: all .3s; } @@ -661,8 +784,7 @@ background-color: rgba(0, 0, 0, 0.7); color: #fff; font-size: 10px; - -webkit-border-radius: 20px; - border-radius: 20px; + border-radius: 20px; position: absolute; right: -97px; width: 100px; @@ -672,14 +794,13 @@ top: 50px; z-index: 99; -webkit-transition: all .5s; - -o-transition: all .5s; + -moz-transition: all .5s; transition: all .5s; } .eael-timeline-post:nth-child(2n) time { background-color: rgba(0, 0, 0, 0.7); - -webkit-border-radius: 20px; - border-radius: 20px; + border-radius: 20px; color: #fff; font-size: 10px; height: 30px; @@ -789,8 +910,7 @@ .eael-timeline-post time, .eael-timeline-post:nth-child(2n) time { background-color: #fff; - -webkit-border-radius: 0; - border-radius: 0; + border-radius: 0; color: #444; font-size: 12px; text-transform: uppercase; @@ -842,8 +962,7 @@ } .team-avatar-rounded figure img { - -webkit-border-radius: 50%; - border-radius: 50%; + border-radius: 50%; height: auto; } @@ -933,13 +1052,11 @@ padding-top: 15%; opacity: 0; overflow: hidden; - -o-text-overflow: ellipsis; - text-overflow: ellipsis; + text-overflow: ellipsis; position: absolute; right: 10px; top: 10px; -webkit-transition: all 0.615s cubic-bezier(0.19, 1, 0.22, 1) 0s; - -o-transition: all 0.615s cubic-bezier(0.19, 1, 0.22, 1) 0s; transition: all 0.615s cubic-bezier(0.19, 1, 0.22, 1) 0s; } @@ -950,7 +1067,6 @@ .eael-team-member-social-link > a { display: inline-block; -webkit-transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0s; - -o-transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0s; transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0s; } @@ -1020,8 +1136,7 @@ } .testimonial-avatar-rounded figure img { - -webkit-border-radius: 50%; - border-radius: 50%; + border-radius: 50%; height: auto; } @@ -1445,11 +1560,9 @@ span.eael-testimonial-quote { overflow: hidden; text-align: center; padding: 0; - -webkit-border-radius: 0; - border-radius: 0; + border-radius: 0; background-color: #fff; - -webkit-box-shadow: none; - box-shadow: none; + box-shadow: none; } .eael-product-grid.eael-product-simple .woocommerce ul.products li.product a, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product a, .eael-post-grid.eael-product-simple .woocommerce ul.products li.product a, @@ -1460,16 +1573,14 @@ span.eael-testimonial-quote { .eael-post-grid.eael-product-simple .woocommerce ul.products li.product a:hover, .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product a:hover { outline: none; - -webkit-box-shadow: none; - box-shadow: none; + box-shadow: none; } .eael-product-grid.eael-product-simple .woocommerce ul.products li.product img, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product img, .eael-post-grid.eael-product-simple .woocommerce ul.products li.product img, .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product img { width: 100%; height: auto; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; + backface-visibility: hidden; } .eael-product-grid.eael-product-simple .woocommerce ul.products li.product .woocommerce-loop-product__title, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .woocommerce-loop-product__title, .eael-post-grid.eael-product-simple .woocommerce ul.products li.product .woocommerce-loop-product__title, @@ -1493,11 +1604,9 @@ span.eael-testimonial-quote { text-transform: uppercase; color: #fff; background-color: #ff2a13; - -webkit-border-radius: 0; - border-radius: 0; + border-radius: 0; border: none; - -webkit-box-shadow: none; - box-shadow: none; + box-shadow: none; position: absolute; height: 100px; width: 200px; @@ -1507,9 +1616,7 @@ span.eael-testimonial-quote { right: auto; margin: 0; padding: 0; - -webkit-transform: rotate(-45deg); - -ms-transform: rotate(-45deg); - transform: rotate(-45deg); + transform: rotate(-45deg); } .eael-product-grid.eael-product-simple .woocommerce ul.products li.product .price, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .price, .eael-post-grid.eael-product-simple .woocommerce ul.products li.product .price, @@ -1551,8 +1658,7 @@ span.eael-testimonial-quote { background-color: #333; padding: 0; margin: 15px; - -webkit-border-radius: 0; - border-radius: 0; + border-radius: 0; } .eael-product-grid.eael-product-simple .woocommerce ul.products li.product .button.add_to_cart_button:focus, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button:focus, .eael-post-grid.eael-product-simple .woocommerce ul.products li.product .button.add_to_cart_button:focus, @@ -1584,8 +1690,6 @@ span.eael-testimonial-quote { .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button, .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product a.added_to_cart { visibility: hidden; - -webkit-transition: none; - -o-transition: none; transition: none; } .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product:hover, @@ -1605,11 +1709,9 @@ span.eael-testimonial-quote { overflow: hidden; text-align: center; padding: 0 0 15px 0; - -webkit-border-radius: 0; - border-radius: 0; + border-radius: 0; background-color: #fff; - -webkit-box-shadow: none; - box-shadow: none; + box-shadow: none; } .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product a, .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product a { @@ -1618,16 +1720,14 @@ span.eael-testimonial-quote { .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product a:hover, .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product a:hover { outline: none; - -webkit-box-shadow: none; - box-shadow: none; + box-shadow: none; } .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product img, .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product img { width: 100%; height: auto; margin: 0; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; + backface-visibility: hidden; } .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay, .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay { @@ -1642,9 +1742,7 @@ span.eael-testimonial-quote { left: 0; right: 0; text-align: center; - -webkit-transform: translateY(-50%); - -ms-transform: translateY(-50%); - transform: translateY(-50%); + transform: translateY(-50%); } .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link, .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button, @@ -1661,20 +1759,13 @@ span.eael-testimonial-quote { width: 38px; height: 38px; border-style: none; - -webkit-border-radius: 50%; - border-radius: 50%; + border-radius: 50%; vertical-align: middle; padding: 0; margin: 0 5px; - -webkit-transform: translateY(20px); - -ms-transform: translateY(20px); - transform: translateY(20px); + transform: translateY(20px); opacity: 0; - -webkit-transition: opacity 300ms, -webkit-transform 200ms; - transition: opacity 300ms, -webkit-transform 200ms; - -o-transition: transform 200ms, opacity 300ms; transition: transform 200ms, opacity 300ms; - transition: transform 200ms, opacity 300ms, -webkit-transform 200ms; } .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link:focus, .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:focus, @@ -1761,11 +1852,9 @@ span.eael-testimonial-quote { text-transform: uppercase; color: #fff; background-color: #ff2a13; - -webkit-border-radius: 0; - border-radius: 0; + border-radius: 0; border: none; - -webkit-box-shadow: none; - box-shadow: none; + box-shadow: none; position: absolute; height: 100px; width: 200px; @@ -1775,9 +1864,7 @@ span.eael-testimonial-quote { right: auto; margin: 0; padding: 0; - -webkit-transform: rotate(-45deg); - -ms-transform: rotate(-45deg); - transform: rotate(-45deg); + transform: rotate(-45deg); } .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .price, .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .price { @@ -1807,107 +1894,7 @@ span.eael-testimonial-quote { .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product:hover .overlay a, .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product:hover .overlay .add_to_cart_button { opacity: 1; - -webkit-transform: translateY(0); - -ms-transform: translateY(0); - transform: translateY(0); -} - -/*--------------------------------*/ -/* 10. Contact forms common -/*--------------------------------*/ -.eael-contact-form input[type=text], -.eael-contact-form input[type=email], -.eael-contact-form input[type=url], -.eael-contact-form input[type=tel], -.eael-contact-form input[type=date], -.eael-contact-form input[type=number], -.eael-contact-form textarea { - background: #fff; - box-shadow: none; - -webkit-box-shadow: none; - float: none; - height: auto; - margin: 0; - outline: 0; - width: auto; -} - -.eael-contact-form input[type=submit] { - border: 0; - float: none; - height: auto; - margin: 0; - padding: 10px 20px; - width: auto; - -webkit-transition: all 0.25s linear 0s; - -o-transition: all 0.25s linear 0s; - transition: all 0.25s linear 0s; -} - -.eael-contact-form.placeholder-hide input::-webkit-input-placeholder, -.eael-contact-form.placeholder-hide textarea::-webkit-input-placeholder { - opacity: 0; - visibility: hidden; -} - -.eael-contact-form.placeholder-hide input::-moz-placeholder, -.eael-contact-form.placeholder-hide textarea::-moz-placeholder { - opacity: 0; - visibility: hidden; -} - -.eael-contact-form.placeholder-hide input:-ms-input-placeholder, -.eael-contact-form.placeholder-hide textarea:-ms-input-placeholder { - opacity: 0; - visibility: hidden; -} - -.eael-contact-form.placeholder-hide input:-moz-placeholder, -.eael-contact-form.placeholder-hide textarea:-moz-placeholder { - opacity: 0; - visibility: hidden; -} - -.eael-custom-radio-checkbox input[type=checkbox], -.eael-custom-radio-checkbox input[type=radio] { - -webkit-appearance: none; - -moz-appearance: none; - border-style: solid; - border-width: 0; - outline: none; - min-width: 1px; - width: 15px; - height: 15px; - background: #ddd; - padding: 3px; -} - -.eael-custom-radio-checkbox input[type=checkbox]:before, -.eael-custom-radio-checkbox input[type=radio]:before { - content: ""; - width: 100%; - height: 100%; - padding: 0; - margin: 0; - display: block; -} - -.eael-custom-radio-checkbox input[type=checkbox]:checked:before, -.eael-custom-radio-checkbox input[type=radio]:checked:before { - background: #999; - -webkit-transition: all 0.25s linear 0s; - -o-transition: all 0.25s linear 0s; - transition: all 0.25s linear 0s; -} - -.eael-custom-radio-checkbox input[type=radio] { - -webkit-border-radius: 50%; - border-radius: 50%; -} - -.eael-custom-radio-checkbox input[type=radio]:before { - -webkit-border-radius: 50%; - border-radius: 50%; + transform: translateY(0); } /*--------------------------------*/ @@ -1950,11 +1937,7 @@ span.eael-testimonial-quote { .eael-contact-form-7 input[type="color"], .eael-contact-form-7 .uneditable-input { -webkit-transition: border linear 0.2s, box-shadow linear 0.2s; - -webkit-transition: border linear 0.2s, -webkit-box-shadow linear 0.2s; - transition: border linear 0.2s, -webkit-box-shadow linear 0.2s; - -o-transition: border linear 0.2s, box-shadow linear 0.2s; transition: border linear 0.2s, box-shadow linear 0.2s; - transition: border linear 0.2s, box-shadow linear 0.2s, -webkit-box-shadow linear 0.2s; } .eael-contact-form-7 .wpcf7-form::before, @@ -2100,8 +2083,7 @@ span.eael-testimonial-quote { .eael-ninja-form .submit-container input[type=button] { border: 0; - -webkit-border-radius: 0; - border-radius: 0; + border-radius: 0; } .eael-ninja-form-button-full-width .submit-container input[type=button] { @@ -2202,10 +2184,8 @@ span.eael-testimonial-quote { height: 100%; z-index: 2; -webkit-transition: opacity 0.2s ease-in-out, -webkit-transform 0.25s cubic-bezier(0.19, 1, 0.22, 1); - transition: opacity 0.2s ease-in-out, -webkit-transform 0.25s cubic-bezier(0.19, 1, 0.22, 1); - -o-transition: opacity 0.2s ease-in-out, transform 0.25s cubic-bezier(0.19, 1, 0.22, 1); + -moz-transition: opacity 0.2s ease-in-out, -moz-transform 0.25s cubic-bezier(0.19, 1, 0.22, 1); transition: opacity 0.2s ease-in-out, transform 0.25s cubic-bezier(0.19, 1, 0.22, 1); - transition: opacity 0.2s ease-in-out, transform 0.25s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.25s cubic-bezier(0.19, 1, 0.22, 1); } .eael-entry-overlay > a { @@ -2237,8 +2217,7 @@ span.eael-testimonial-quote { } .eael-entry-footer .eael-author-avatar .avatar { - -webkit-border-radius: 50%; - border-radius: 50%; + border-radius: 50%; } .eael-post-grid .eael-entry-footer .eael-entry-meta { @@ -2247,23 +2226,12 @@ span.eael-testimonial-quote { } .eael-grid-post .eael-entry-meta { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; + flex-direction: row; } .eael-grid-post .eael-entry-footer .eael-entry-meta { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; + flex-direction: column; } .eael-entry-meta > div { @@ -2300,25 +2268,13 @@ span.eael-testimonial-quote { } .eael-load-more-button-wrap { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; display: flex; } .eael-load-more-button { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; display: flex; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; + align-items: center; + justify-content: center; } .eael-load-more-button { @@ -2331,8 +2287,6 @@ span.eael-testimonial-quote { left: -100%; top: auto; margin-right: 5px; - -webkit-transition: all .2s; - -o-transition: all .2s; transition: all .2s; } @@ -2350,45 +2304,29 @@ span.eael-testimonial-quote { .eael-btn-loader, .eael-btn-loader:after { - -webkit-border-radius: 50%; - border-radius: 50%; + border-radius: 50%; width: 20px; height: 20px; } .eael-btn-loader { - font-size: 10px; - position: relative; - text-indent: -9999em; - border-top: 4px solid rgba(255, 255, 255, 0.2); - border-right: 4px solid rgba(255, 255, 255, 0.2); - border-bottom: 4px solid rgba(255, 255, 255, 0.2); - border-left: 4px solid #ffffff; - -webkit-transform: translateZ(0); - transform: translateZ(0); - -webkit-animation: loaderSpin 1.1s infinite linear; - animation: loaderSpin 1.1s infinite linear; -} - -@-webkit-keyframes loaderSpin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } + font-size: 10px; + position: relative; + text-indent: -9999em; + border-top: 4px solid rgba(255, 255, 255, 0.2); + border-right: 4px solid rgba(255, 255, 255, 0.2); + border-bottom: 4px solid rgba(255, 255, 255, 0.2); + border-left: 4px solid #ffffff; + transform: translateZ(0); + animation: loaderSpin 1.1s infinite linear; } @keyframes loaderSpin { 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); + transform: rotate(0deg); } 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); + transform: rotate(360deg); } } /*--- Post Grid Thumbnail Hover Effects ---*/ @@ -2397,18 +2335,9 @@ span.eael-testimonial-quote { } .eael-entry-overlay { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; display: flex; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; + align-items: center; + justify-content: center; } .eael-entry-overlay > i { @@ -2419,8 +2348,6 @@ span.eael-testimonial-quote { .eael-entry-overlay.fade-in { visibility: hidden; opacity: 0; - -webkit-transition: 300ms; - -o-transition: 300ms; transition: 300ms; } @@ -2430,48 +2357,34 @@ span.eael-testimonial-quote { } .eael-entry-medianone:hover .eael-entry-overlay.fade-in > i { - -webkit-transform: translate(0); - -ms-transform: translate(0); - transform: translate(0); + transform: translate(0); opacity: 1; } /*--- zoom in --- */ .eael-entry-overlay.zoom-in { - -webkit-transform: scale(0.9); - -ms-transform: scale(0.9); - transform: scale(0.9); + transform: scale(0.9); visibility: hidden; opacity: 0; - -webkit-transition: 300ms; - -o-transition: 300ms; transition: 300ms; } .eael-entry-medianone:hover .eael-entry-overlay.zoom-in { visibility: visible; opacity: 1; - -webkit-transform: scale(1); - -ms-transform: scale(1); - transform: scale(1); + transform: scale(1); } /*--- slide up ---*/ .eael-entry-overlay.slide-up { - -webkit-transform: translateY(100%); - -ms-transform: translateY(100%); - transform: translateY(100%); + transform: translateY(100%); visibility: hidden; opacity: 0; - -webkit-transition: 300ms; - -o-transition: 300ms; transition: 300ms; } .eael-entry-medianone:hover .eael-entry-overlay.slide-up { - -webkit-transform: translateY(0); - -ms-transform: translateY(0); - transform: translateY(0); + transform: translateY(0); visibility: visible; opacity: 1; } @@ -2494,86 +2407,56 @@ span.eael-testimonial-quote { } .eael-entry-media.grid-hover-style-zoom-in .eael-entry-overlay { - -webkit-transform: scale(0.4); - -ms-transform: scale(0.4); - transform: scale(0.4); + transform: scale(0.4); opacity: 0; } .eael-entry-media.grid-hover-style-zoom-in:hover .eael-entry-overlay { - -webkit-transform: scale(1); - -ms-transform: scale(1); - transform: scale(1); + transform: scale(1); opacity: 1; } .eael-entry-media.grid-hover-style-animate-down .eael-entry-overlay { - -webkit-transform: translateY(-100%); - -ms-transform: translateY(-100%); - transform: translateY(-100%); + transform: translateY(-100%); } .eael-entry-media.grid-hover-style-animate-down .eael-entry-overlay > i { - -webkit-transform: translateY(-100px); - -ms-transform: translateY(-100px); - transform: translateY(-100px); - -webkit-transition-delay: 100ms; - -o-transition-delay: 100ms; - transition-delay: 100ms; - -webkit-transition-duration: 300ms; - -o-transition-duration: 300ms; - transition-duration: 300ms; + transform: translateY(-100px); + transition-delay: 100ms; + transition-duration: 300ms; } .eael-entry-media.grid-hover-style-animate-down:hover .eael-entry-overlay { - -webkit-transform: translate(0); - -ms-transform: translate(0); - transform: translate(0); + transform: translate(0); } .eael-entry-media.grid-hover-style-animate-down:hover .eael-entry-overlay > i { - -webkit-transform: translateY(0); - -ms-transform: translateY(0); - transform: translateY(0); + transform: translateY(0); } .eael-entry-media.grid-hover-style-animate-up .eael-entry-overlay { - -webkit-transform: translateY(100%); - -ms-transform: translateY(100%); - transform: translateY(100%); + transform: translateY(100%); visibility: hidden; opacity: 0; } .eael-entry-media.grid-hover-style-animate-up .eael-entry-overlay > i { - -webkit-transform: translateY(100px); - -ms-transform: translateY(100px); - transform: translateY(100px); - -webkit-transition-delay: 100ms; - -o-transition-delay: 100ms; - transition-delay: 100ms; - -webkit-transition-duration: 300ms; - -o-transition-duration: 300ms; - transition-duration: 300ms; + transform: translateY(100px); + transition-delay: 100ms; + transition-duration: 300ms; } .eael-entry-media.grid-hover-style-animate-up:hover .eael-entry-overlay { - -webkit-transform: translate(0); - -ms-transform: translate(0); - transform: translate(0); + transform: translate(0); visibility: visible; opacity: 1; } .eael-entry-media.grid-hover-style-animate-up:hover .eael-entry-overlay > i { - -webkit-transform: translateY(0); - -ms-transform: translateY(0); - transform: translateY(0); + transform: translateY(0); } -/*-----------------------------*/ -/* 16. Post Grid Column -/*-----------------------------*/ +/*--- Post Grid Column Styles ---*/ .eael-col-1 .eael-post-grid-column { float: none; width: 100%; @@ -2604,7 +2487,6 @@ span.eael-testimonial-quote { width: 16.6666%; } -/*--- Post Grid Column Styles ---*/ @media only screen and (max-width: 979px) { .eael-col-1 .eael-post-grid-column, .eael-col-2 .eael-post-grid-column, @@ -2642,9 +2524,6 @@ span.eael-testimonial-quote { .eael-entry-footer { overflow: hidden; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; display: flex; } @@ -2665,14 +2544,10 @@ span.eael-testimonial-quote { display: block; width: 100%; height: auto; - -webkit-transition: .3s; - -o-transition: .3s; transition: .3s; } .eael-infobox .infobox-icon .infobox-icon-wrap i { - -webkit-transition: .3s; - -o-transition: .3s; transition: .3s; } @@ -2705,43 +2580,29 @@ span.eael-testimonial-quote { } .eael-infobox-icon-hover-bg-shape-square:hover .infobox-icon .infobox-icon-wrap { - -webkit-border-radius: 0; - border-radius: 0; + border-radius: 0; } .eael-infobox-icon-bg-shape-radius .infobox-icon .infobox-icon-wrap, .eael-infobox-icon-hover-bg-shape-radius:hover .infobox-icon .infobox-icon-wrap { - -webkit-border-radius: 15px; - border-radius: 15px; + border-radius: 15px; } .eael-infobox-icon-bg-shape-radius .infobox-icon .infobox-icon-wrap { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; display: flex; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; + align-items: center; + justify-content: center; } .eael-infobox-icon-bg-shape-circle .infobox-icon .infobox-icon-wrap, .eael-infobox-icon-hover-bg-shape-circle:hover .infobox-icon .infobox-icon-wrap { - -webkit-border-radius: 50%; - border-radius: 50%; + border-radius: 50%; } .eael-infobox-icon-bg-shape-square .infobox-icon .infobox-icon-wrap i, .eael-infobox-icon-bg-shape-circle .infobox-icon .infobox-icon-wrap i { margin-top: 50%; - -webkit-transform: translateY(-50%); - -ms-transform: translateY(-50%); - transform: translateY(-50%); + transform: translateY(-50%); } /*--- Infobox Button ---*/ @@ -2757,66 +2618,36 @@ span.eael-testimonial-quote { .eael-infobox-content-align-left.eael-infobox-icon-bg-shape-square .infobox-icon, .eael-infobox-content-align-left.eael-infobox-icon-bg-shape-radius .infobox-icon, .eael-infobox-content-align-left.eael-infobox-icon-bg-shape-circle .infobox-icon { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; display: flex; - -webkit-box-pack: start; - -webkit-justify-content: flex-start; - -ms-flex-pack: start; - justify-content: flex-start; + justify-content: flex-start; } .eael-infobox-content-align-center.eael-infobox-icon-bg-shape-square .infobox-icon, .eael-infobox-content-align-center.eael-infobox-icon-bg-shape-radius .infobox-icon, .eael-infobox-content-align-center.eael-infobox-icon-bg-shape-circle .infobox-icon { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; display: flex; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; + justify-content: center; } .eael-infobox-content-align-right.eael-infobox-icon-bg-shape-square .infobox-icon, .eael-infobox-content-align-right.eael-infobox-icon-bg-shape-radius .infobox-icon, .eael-infobox-content-align-right.eael-infobox-icon-bg-shape-circle .infobox-icon { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; display: flex; - -webkit-box-pack: end; - -webkit-justify-content: flex-end; - -ms-flex-pack: end; - justify-content: flex-end; + justify-content: flex-end; } /*--- Image/Icon On Left ---*/ .eael-infobox.icon-on-left { position: relative; z-index: 0; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; display: flex; } .eael-infobox.icon-on-right .infobox-icon-wrap, .eael-infobox.icon-on-left .infobox-icon-wrap { - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - display: -webkit-box !important; - display: -webkit-flex !important; - display: -ms-flexbox !important; + justify-content: center; display: flex !important; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; + align-items: center; } .eael-infobox.icon-on-left .infobox-icon .infobox-icon-wrap { @@ -2833,17 +2664,12 @@ span.eael-testimonial-quote { .eael-infobox.icon-on-left .infobox-icon .infobox-icon-wrap i { margin-top: 0px; - -webkit-transform: translateY(0%); - -ms-transform: translateY(0%); - transform: translateY(0%); + transform: translateY(0%); } .eael-infobox.icon-on-left .infobox-content { padding-left: 15px; - -webkit-box-flex: 1; - -webkit-flex: 1 1 auto; - -ms-flex: 1 1 auto; - flex: 1 1 auto; + flex: 1 1 auto; } .eael-infobox.icon-on-left .infobox-content .title { @@ -2855,15 +2681,8 @@ span.eael-testimonial-quote { .eael-infobox.icon-on-right { position: relative; z-index: 0; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: reverse; - -webkit-flex-direction: row-reverse; - -ms-flex-direction: row-reverse; - flex-direction: row-reverse; + flex-direction: row-reverse; } .eael-infobox.icon-on-right .infobox-icon .infobox-icon-wrap { @@ -2877,20 +2696,14 @@ span.eael-testimonial-quote { .eael-infobox.icon-on-right .infobox-icon .infobox-icon-wrap i { margin-top: 0px; - -webkit-transform: translateY(0%); - -ms-transform: translateY(0%); - transform: translateY(0%); + transform: translateY(0%); } .eael-infobox.icon-on-right .infobox-content { padding-right: 15px; text-align: right; - -webkit-box-flex: 1; - -webkit-flex: 1 1 auto; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - -webkit-box-sizing: border-box; - box-sizing: border-box; + flex: 1 1 auto; + box-sizing: border-box; } .eael-infobox.icon-on-right .infobox-content .title { @@ -2906,20 +2719,17 @@ span.eael-testimonial-quote { } .eael-infobox-hover-img-shape-square:hover .eael-infobox .infobox-icon img { - -webkit-border-radius: 0; - border-radius: 0; + border-radius: 0; } .eael-infobox-shape-circle .eael-infobox .infobox-icon img, .eael-infobox-hover-img-shape-circle:hover .eael-infobox .infobox-icon img { - -webkit-border-radius: 50%; - border-radius: 50%; + border-radius: 50%; } .eael-infobox-shape-radius .eael-infobox .infobox-icon img, .eael-infobox-hover-img-shape-radius:hover .eael-infobox .infobox-icon img { - -webkit-border-radius: 15px; - border-radius: 15px; + border-radius: 15px; } /*---------------------------*/ @@ -2965,8 +2775,7 @@ span.eael-testimonial-quote { } .eael_flip_box_icon_border_round { - -webkit-border-radius: 100px; - border-radius: 100px; + border-radius: 100px; } .eael_eleements_flip_front_icon_style_background, @@ -2996,13 +2805,9 @@ span.eael-testimonial-quote { color: #ffffff; border-color: #000000; -webkit-display: flex; - display: -webkit-box; - display: -ms-flexbox; display: flex; -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; + align-items: center; } .eael-elements-flip-box-content, @@ -3025,14 +2830,9 @@ span.eael-testimonial-quote { height: 100%; background: #444444; color: #ffffff; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; display: flex; -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; + align-items: center; border-color: #000000; } @@ -3066,66 +2866,51 @@ span.eael-testimonial-quote { /*--- CSS3 Transitions ---*/ .eael-elements-flip-box-container { - -webkit-perspective: 1000px; - perspective: 1000px; + perspective: 1000px; } .eael-elements-flip-box-front-container, .eael-elements-flip-box-rear-container { - -webkit-transition-duration: 500ms; - -o-transition-duration: 500ms; - transition-duration: 500ms; - -webkit-transition-property: all; - -o-transition-property: all; + transition-duration: 500ms; transition-property: all; - -webkit-transition-timing-function: ease; - -o-transition-timing-function: ease; - transition-timing-function: ease; + transition-timing-function: ease; } .eael-elements-flip-box-flip-card { width: 100%; height: 100%; - -webkit-transform-style: preserve-3d; - transform-style: preserve-3d; - -webkit-transition: all 500ms ease; - -o-transition: all 500ms ease; + transform-style: preserve-3d; transition: all 500ms ease; } .eael-elements-flip-box-rear-container, .eael-elements-flip-box-front-container { + -moz-backface-visibility: hidden; -webkit-backface-visibility: hidden; backface-visibility: hidden; - -webkit-transform: rotateX(0deg); - transform: rotateX(0deg); - -webkit-transform: rotateY(0deg); - transform: rotateY(0deg); + transform: rotateX(0deg); + transform: rotateY(0deg); } /*--- Flip ---*/ .eael-animate-flip.eael-animate-up.eael-elements-flip-box-container:hover .eael-elements-flip-box-flip-card, .eael-animate-flip.eael-animate-up .eael-elements-flip-box-rear-container { - -webkit-transform: rotateX(180deg); - transform: rotateX(180deg); + transform: rotateX(180deg); } .eael-animate-flip.eael-animate-down.eael-elements-flip-box-container:hover .eael-elements-flip-box-flip-card, .eael-animate-flip.eael-animate-down .eael-elements-flip-box-rear-container { - -webkit-transform: rotateX(-180deg); - transform: rotateX(-180deg); + transform: rotateX(-180deg); } .eael-animate-flip.eael-animate-left.eael-elements-flip-box-container:hover .eael-elements-flip-box-flip-card, .eael-animate-flip.eael-animate-left .eael-elements-flip-box-rear-container { - -webkit-transform: rotateY(-180deg); - transform: rotateY(-180deg); + transform: rotateY(-180deg); } .eael-animate-flip.eael-animate-right.eael-elements-flip-box-container:hover .eael-elements-flip-box-flip-card, .eael-animate-flip.eael-animate-right .eael-elements-flip-box-rear-container { - -webkit-transform: rotateY(180deg); - transform: rotateY(180deg); + transform: rotateY(180deg); } /*--- Slide ---*/ @@ -3203,25 +2988,19 @@ span.eael-testimonial-quote { /*--- Zoom In ---*/ .eael-animate-zoom-in .eael-elements-flip-box-rear-container { opacity: 0; - -webkit-transform: scale(0.75); - -ms-transform: scale(0.75); - transform: scale(0.75); + transform: scale(0.75); z-index: 3; } .eael-animate-zoom-in.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container { opacity: 1; - -webkit-transform: scale(1); - -ms-transform: scale(1); - transform: scale(1); + transform: scale(1); } /*--- Zoom Out ---*/ .eael-animate-zoom-out.eael-elements-flip-box-container:hover .eael-elements-flip-box-front-container { opacity: 0; - -webkit-transform: scale(0.75); - -ms-transform: scale(0.75); - transform: scale(0.75); + transform: scale(0.75); } .eael-animate-fade.eael-elements-flip-box-container:hover .eael-elements-flip-box-front-container { @@ -3243,8 +3022,7 @@ span.eael-testimonial-quote { .eael-flipbox-img-circle .eael-elements-flip-box-icon-image img, .eael-flipbox-img-circle .flipbox-back-image-icon img { - -webkit-border-radius: 50%; - border-radius: 50%; + border-radius: 50%; overflow: hidden; } @@ -3296,8 +3074,7 @@ span.eael-testimonial-quote { background-image: url("../img/bg.jpg"); background-repeat: no-repeat; background-position: center; - -webkit-background-size: cover; - background-size: cover; + background-size: cover; position: relative; z-index: 0; color: rgba(255, 255, 255, 0.7); @@ -3330,70 +3107,42 @@ span.eael-testimonial-quote { /*--- Cta Flex ---*/ .eael-call-to-action.cta-flex, .eael-call-to-action.cta-icon-flex { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; display: flex; - -webkit-box-pack: justify; - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between; - -webkit-box-align: start; - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start; + justify-content: space-between; + align-items: flex-start; } /*--- Cta Icon Flex ---*/ .eael-call-to-action.cta-icon-flex .icon { - -webkit-box-flex: 1; - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; + flex-grow: 1; font-size: 80px; text-align: left; line-height: 130px; } .eael-call-to-action.cta-icon-flex .action { - -webkit-box-flex: 1; - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; + flex-grow: 1; text-align: right; padding-top: 22px; - -webkit-flex-basis: 22%; - -ms-flex-preferred-size: 22%; - flex-basis: 22%; + flex-basis: 22%; } .eael-call-to-action.cta-icon-flex .content { - -webkit-box-flex: 1; - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; + flex-grow: 1; padding: 0px 30px; } /*--- Cta Flex ---*/ .eael-call-to-action.cta-flex .content { padding: 0px 15px; - -webkit-box-flex: 1; - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; + flex-grow: 1; } .eael-call-to-action.cta-flex .action { - -webkit-box-flex: 1; - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; + flex-grow: 1; text-align: right; padding-top: 25px; - -webkit-flex-basis: 23%; - -ms-flex-preferred-size: 23%; - flex-basis: 23%; + flex-basis: 23%; } /*--- Cta Button ---*/ @@ -3406,7 +3155,7 @@ span.eael-testimonial-quote { text-decoration: none; color: #4d4d4d; -webkit-transition: .5s; - -o-transition: .5s; + -ms-transition: .5s; transition: .5s; -webkit-box-shadow: 0px 0px 3px -1px rgba(0, 0, 0, 0.2); -ms-box-shadow: 0px 0px 3px -1px rgba(0, 0, 0, 0.2); @@ -3448,7 +3197,7 @@ span.eael-testimonial-quote { -ms-transform: translateY(-100%); z-index: -1; -webkit-transition: .5s; - -o-transition: .5s; + -ms-transition: .5s; transition: .5s; color: #fff; } @@ -3470,27 +3219,23 @@ span.eael-testimonial-quote { left: 0px; z-index: -1; -webkit-transition: .5s; - -o-transition: .5s; + -ms-transition: .5s; transition: .5s; color: #fff; -webkit-transform: translateX(-100%); - -ms-transform: translateX(-100%); - transform: translateX(-100%); + transform: translateX(-100%); } .eael-call-to-action .cta-button.effect-2:hover::after { -webkit-transform: translateX(0); - -ms-transform: translateX(0); - transform: translateX(0); + transform: translateX(0); } /*--- Media Queries ---*/ @media only screen and (max-width: 768px) { .eael-call-to-action.cta-flex, .eael-call-to-action.cta-icon-flex { - -webkit-flex-wrap: wrap; - -ms-flex-wrap: wrap; - flex-wrap: wrap; + flex-wrap: wrap; } .eael-call-to-action .title { @@ -3500,10 +3245,7 @@ span.eael-testimonial-quote { } .eael-call-to-action.cta-icon-flex .icon { - -webkit-box-flex: 1; - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; + flex-grow: 1; font-size: 48px; line-height: 90px; text-align: center; @@ -3511,10 +3253,7 @@ span.eael-testimonial-quote { .eael-call-to-action.cta-flex .content, .eael-call-to-action.cta-icon-flex .content { - -webkit-box-flex: 1; - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; + flex-grow: 1; text-align: center; padding: 0px; } @@ -3596,17 +3335,11 @@ span.eael-testimonial-quote { /* -------------------------------- */ .eael-pricing { -webkit-display: flex; - display: -webkit-box; - display: -ms-flexbox; display: flex; -webkit-justify-content: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; + justify-content: center; -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; + align-items: center; } .eael-pricing .eael-pricing-item { @@ -3625,7 +3358,6 @@ span.eael-testimonial-quote { text-transform: uppercase; text-decoration: none; -webkit-transition: .3s; - -o-transition: .3s; transition: .3s; -webkit-border-radius: 4px; border-radius: 4px; @@ -3668,7 +3400,6 @@ span.eael-testimonial-quote { -webkit-border-radius: 5px; border-radius: 5px; -webkit-transition: .5s; - -o-transition: .5s; transition: .5s; } @@ -3836,8 +3567,7 @@ span.eael-testimonial-quote { .eael-pricing.style-2 .eael-pricing-item { padding: 30px 0px; - -webkit-border-radius: 5px; - border-radius: 5px; + border-radius: 5px; margin: 0px; border: 1px solid rgba(9, 9, 9, 0.1); } @@ -3910,12 +3640,10 @@ span.eael-testimonial-quote { width: 80px; height: 80px; background: #00c853; - -webkit-border-radius: 50%; - border-radius: 50%; + border-radius: 50%; margin-bottom: 30px; text-align: center; -webkit-transition: .5s; - -o-transition: .5s; transition: .5s; overflow: hidden; } @@ -3925,7 +3653,6 @@ span.eael-testimonial-quote { color: #fff; line-height: 80px; -webkit-transition: .5s; - -o-transition: .5s; transition: .5s; } @@ -4113,21 +3840,18 @@ span.eael-testimonial-quote { .eael-pricing-content-align-left .eael-pricing.style-3 .eael-pricing-item .header:after { -webkit-transform: translateX(-80%); - -ms-transform: translateX(-80%); - transform: translateX(-80%); + transform: translateX(-80%); } .eael-pricing-content-align-right .eael-pricing.style-3 .eael-pricing-item .header:after { -webkit-transform: translateX(80%); - -ms-transform: translateX(80%); - transform: translateX(80%); + transform: translateX(80%); } .eael-pricing-content-align-left .eael-pricing.style-3 .eael-pricing-item:hover .header:after, .eael-pricing-content-align-right .eael-pricing.style-3 .eael-pricing-item:hover .header:after { -webkit-transform: translateX(0%); - -ms-transform: translateX(0%); - transform: translateX(0%); + transform: translateX(0%); } .eael-pricing-content-align-left .eael-pricing.style-1 .eael-pricing-item .header:after, @@ -4176,17 +3900,11 @@ span.eael-testimonial-quote { .only-in-pro { width: 100%; -webkit-display: flex; - display: -webkit-box; - display: -ms-flexbox; display: flex; -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; + align-items: center; -webkit-justify-content: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; + justify-content: center; padding: 15px; min-width: 200px; background: #EF5350; @@ -4407,8 +4125,7 @@ div.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow { .eael-social-feed-element p.social-feed-text { margin: 0; overflow: hidden; - -o-text-overflow: ellipsis; - text-overflow: ellipsis; + text-overflow: ellipsis; -webkit-line-clamp: 5; -webkit-box-orient: vertical; } @@ -4445,8 +4162,7 @@ div.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow { .eael-social-feed-element .media-object { display: block; width: 48px; - -webkit-border-radius: 50%; - border-radius: 50%; + border-radius: 50%; } .eael-social-feed-element .media-heading { @@ -4468,8 +4184,6 @@ div.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow { } .eael-social-feed-element { - -webkit-transition: 0.25s; - -o-transition: 0.25s; transition: 0.25s; -webkit-backface-visibility: hidden; backface-visibility: hidden; @@ -4484,8 +4198,6 @@ div.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow { .eael-social-feed-element .eael-content { padding: 20px 15px 15px; - -webkit-transition: .4s; - -o-transition: .4s; transition: .4s; background: #fff; } @@ -4540,27 +4252,15 @@ div.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow { display: block; text-align: center; z-index: 10; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; display: flex; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-transition: .5s; - -o-transition: .5s; + align-items: center; + justify-content: center; transition: .5s; } .eael-loading-feed .loader { border: 3px solid #f3f3f3; - -webkit-border-radius: 50%; - border-radius: 50%; + border-radius: 50%; border-top: 3px solid #3498db; width: 30px; height: 30px; @@ -4581,12 +4281,10 @@ div.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow { } @keyframes spin { 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); + transform: rotate(0deg); } 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); + transform: rotate(360deg); } } /*--- List View ---*/ @@ -4615,13 +4313,11 @@ div.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow { /*--- Editor Related Style ---*/ .eael-social-feed-avatar-circle .eael-social-feed-element .media-object { - -webkit-border-radius: 50%; - border-radius: 50%; + border-radius: 50%; } .eael-social-feed-avatar-square .eael-social-feed-element .media-object { - -webkit-border-radius: 0%; - border-radius: 0%; + border-radius: 0%; } .eael-social-feed-masonry-col-4 .eael-social-feed-element .social-feed-date .eael-social-feed-masonry-col-4 .eael-social-feed-element .social-feed-date { @@ -4653,35 +4349,18 @@ table.eael-data-table thead .sorting:after, table.eael-data-table thead .sorting font-family: "FontAwesome"; color: #fff; z-index: 1; - -webkit-transform: translateY(-50%); - -ms-transform: translateY(-50%); - transform: translateY(-50%); + transform: translateY(-50%); } .eael-data-table-wrap .eael-data-tables_wrapper { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-flow: row wrap; - -ms-flex-flow: row wrap; - flex-flow: row wrap; - -webkit-box-pack: start; - -webkit-justify-content: flex-start; - -ms-flex-pack: start; - justify-content: flex-start; + flex-flow: row wrap; + justify-content: flex-start; width: 100%; } .eael-data-table-wrap .eael-data-tables_filter { - -webkit-box-flex: 1; - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; - -webkit-flex-basis: 50%; - -ms-flex-preferred-size: 50%; - flex-basis: 50%; + flex-grow: 1; + flex-basis: 50%; text-align: right; } .eael-data-table-wrap .eael-data-tables_filter label { @@ -4695,13 +4374,8 @@ table.eael-data-table thead .sorting:after, table.eael-data-table thead .sorting margin-left: 10px; } .eael-data-table-wrap .eael-data-tables_length { - -webkit-box-flex: 1; - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; - -webkit-flex-basis: 50%; - -ms-flex-preferred-size: 50%; - flex-basis: 50%; + flex-grow: 1; + flex-basis: 50%; } .eael-data-table-wrap .eael-data-tables_length select { width: auto; @@ -4716,23 +4390,13 @@ table.eael-data-table thead .sorting:after, table.eael-data-table thead .sorting font-weight: 700; } .eael-data-table-wrap .eael-data-tables_info { - -webkit-box-flex: 1; - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; - -webkit-flex-basis: 50%; - -ms-flex-preferred-size: 50%; - flex-basis: 50%; + flex-grow: 1; + flex-basis: 50%; font-weight: 700; } .eael-data-table-wrap .eael-data-tables_paginate { - -webkit-box-flex: 1; - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; - -webkit-flex-basis: 50%; - -ms-flex-preferred-size: 50%; - flex-basis: 50%; + flex-grow: 1; + flex-basis: 50%; text-align: right; } .eael-data-table-wrap .eael-data-tables_paginate .paginate_button { @@ -4740,8 +4404,6 @@ table.eael-data-table thead .sorting:after, table.eael-data-table thead .sorting background: #f2f2f2; margin-right: 2px; cursor: pointer; - -webkit-transition: all .3s; - -o-transition: all .3s; transition: all .3s; } .eael-data-table-wrap .eael-data-tables_paginate .paginate_button:hover { @@ -4793,8 +4455,6 @@ table.eael-data-table thead .sorting:after, table.eael-data-table thead .sorting border-color: #000; } .eael-data-table tbody tr.even { - -webkit-transition: background 0.4s ease-in-out; - -o-transition: background 0.4s ease-in-out; transition: background 0.4s ease-in-out; } .eael-data-table tbody tr.even:hover { @@ -4805,8 +4465,6 @@ table.eael-data-table thead .sorting:after, table.eael-data-table thead .sorting } .eael-data-table tbody tr.odd { background: rgba(242, 242, 242, 0.5); - -webkit-transition: background 0.2s ease-in-out; - -o-transition: background 0.2s ease-in-out; transition: background 0.2s ease-in-out; } .eael-data-table tbody tr.odd:hover { @@ -4846,16 +4504,9 @@ table.eael-data-table thead .sorting:after, table.eael-data-table thead .sorting padding: 0 .6em; margin-right: 10px; text-align: center; - -webkit-box-flex: 0; - -webkit-flex-grow: 0; - -ms-flex-positive: 0; - flex-grow: 0; - -webkit-flex-shrink: 0; - -ms-flex-negative: 0; - flex-shrink: 0; - -webkit-flex-basis: 100px; - -ms-flex-preferred-size: 100px; - flex-basis: 100px; + flex-grow: 0; + flex-shrink: 0; + flex-basis: 100px; } .th-mobile-screen .eael-data-table-th-img { margin: 0 auto 15px auto; @@ -4867,26 +4518,17 @@ table.eael-data-table thead .sorting:after, table.eael-data-table thead .sorting } .td-content-wrapper { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; display: flex; width: 100%; } .td-content { width: 100%; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; + justify-content: center; } .td-content > p { width: 100%; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; + justify-content: center; } .custom-responsive-option-enable .eael-data-table thead { @@ -4897,24 +4539,12 @@ table.eael-data-table thead .sorting:after, table.eael-data-table thead .sorting clear: left; width: 100%; text-align: left; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; display: flex; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; + align-items: center; } .eael-data-table .td-content { - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; + align-items: center; display: flex; } } @@ -5018,8 +4648,7 @@ table.eael-data-table .sorting_asc.sorting-none:after { left: 0; top: 0; padding: 0 8px; - -webkit-box-sizing: border-box; - box-sizing: border-box; + box-sizing: border-box; } .mfp-container:before { @@ -5054,6 +4683,7 @@ table.eael-data-table .sorting_asc.sorting-none:after { .mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close { + cursor: -moz-zoom-out; cursor: -webkit-zoom-out; cursor: zoom-out; } @@ -5061,6 +4691,7 @@ table.eael-data-table .sorting_asc.sorting-none:after { .mfp-zoom { cursor: pointer; cursor: -webkit-zoom-in; + cursor: -moz-zoom-in; cursor: zoom-in; } @@ -5074,8 +4705,7 @@ table.eael-data-table .sorting_asc.sorting-none:after { .mfp-counter { -webkit-user-select: none; -moz-user-select: none; - -ms-user-select: none; - user-select: none; + user-select: none; } .mfp-loading.mfp-figure { @@ -5125,10 +4755,8 @@ button.mfp-arrow { outline: none; padding: 0; z-index: 1046; - -webkit-box-shadow: none; - box-shadow: none; - -ms-touch-action: manipulation; - touch-action: manipulation; + box-shadow: none; + touch-action: manipulation; } button::-moz-focus-inner { @@ -5288,8 +4916,7 @@ button::-moz-focus-inner { left: 0; width: 100%; height: 100%; - -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.6); - box-shadow: 0 0 8px rgba(0, 0, 0, 0.6); + box-shadow: 0 0 8px rgba(0, 0, 0, 0.6); background: #000; } @@ -5300,8 +4927,7 @@ img.mfp-img { height: auto; display: block; line-height: 0; - -webkit-box-sizing: border-box; - box-sizing: border-box; + box-sizing: border-box; padding: 40px 0 40px; margin: 0 auto; } @@ -5322,8 +4948,7 @@ img.mfp-img { width: auto; height: auto; z-index: -1; - -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.6); - box-shadow: 0 0 8px rgba(0, 0, 0, 0.6); + box-shadow: 0 0 8px rgba(0, 0, 0, 0.6); background: #444; } @@ -5405,8 +5030,7 @@ button.mfp-close:hover { top: auto; padding: 3px 5px; position: fixed; - -webkit-box-sizing: border-box; - box-sizing: border-box; + box-sizing: border-box; } .mfp-img-mobile .mfp-bottom-bar:empty { @@ -5433,20 +5057,17 @@ button.mfp-close:hover { @media all and (max-width: 900px) { .mfp-arrow { -webkit-transform: scale(0.75); - -ms-transform: scale(0.75); - transform: scale(0.75); + transform: scale(0.75); } .mfp-arrow-left { -webkit-transform-origin: 0; - -ms-transform-origin: 0; - transform-origin: 0; + transform-origin: 0; } .mfp-arrow-right { -webkit-transform-origin: 100%; - -ms-transform-origin: 100%; - transform-origin: 100%; + transform-origin: 100%; } .mfp-container { @@ -5473,26 +5094,11 @@ button.mfp-close:hover { } .eael-filter-gallery-control { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-flow: 1 1 auto; - -ms-flex-flow: 1 1 auto; - flex-flow: 1 1 auto; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-flex-flow: row wrap; - -ms-flex-flow: row wrap; - flex-flow: row wrap; + flex-flow: 1 1 auto; + align-items: center; + justify-content: center; + flex-flow: row wrap; padding: 0px; margin: 0px; } @@ -5531,33 +5137,16 @@ button.mfp-close:hover { .eael-filter-gallery-container .item .caption { position: absolute; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-flow: 1 1 100%; - -ms-flex-flow: 1 1 100%; - flex-flow: 1 1 100%; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; + flex-flow: 1 1 100%; + align-items: center; + justify-content: center; z-index: 1; top: 0px; left: 0px; right: 0px; bottom: 0px; - -webkit-transition: -webkit-transform .4s; - transition: -webkit-transform .4s; - -o-transition: transform .4s; transition: transform .4s; - transition: transform .4s, -webkit-transform .4s; } .eael-filter-gallery-container.eael-cards .item .caption { @@ -5566,33 +5155,16 @@ button.mfp-close:hover { .eael-filter-gallery-container.eael-cards .item .item-img .caption { position: absolute; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-flow: 1 1 100%; - -ms-flex-flow: 1 1 100%; - flex-flow: 1 1 100%; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; + flex-flow: 1 1 100%; + align-items: center; + justify-content: center; z-index: 10; top: 0px; left: 0px; right: 0px; bottom: 0px; - -webkit-transition: -webkit-transform .4s; - transition: -webkit-transform .4s; - -o-transition: transform .4s; transition: transform .4s; - transition: transform .4s, -webkit-transform .4s; } .gallery-item-caption-over { @@ -5607,72 +5179,52 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { /*--- Caption Animation ---*/ .eael-filter-gallery-container .item .caption.eael-zoom-in, .eael-filter-gallery-container.eael-cards .item .item-img .caption.eael-zoom-in { - -webkit-transform: scale(0); - -ms-transform: scale(0); - transform: scale(0); + transform: scale(0); } .eael-filter-gallery-container .item:hover .caption.eael-zoom-in, .eael-filter-gallery-container.eael-cards .item:hover .item-img .caption.eael-zoom-in { - -webkit-transform: scale(1); - -ms-transform: scale(1); - transform: scale(1); + transform: scale(1); } .eael-filter-gallery-container .item .caption.eael-slide-left, .eael-filter-gallery-container.eael-cards .item .item-img .caption.eael-slide-left { - -webkit-transform: translateX(-100%); - -ms-transform: translateX(-100%); - transform: translateX(-100%); + transform: translateX(-100%); } .eael-filter-gallery-container .item:hover .caption.eael-slide-left, .eael-filter-gallery-container.eael-cards .item:hover .item-img .caption.eael-slide-left { - -webkit-transform: translateX(0%); - -ms-transform: translateX(0%); - transform: translateX(0%); + transform: translateX(0%); } .eael-filter-gallery-container .item .caption.eael-slide-right, .eael-filter-gallery-container.eael-cards .item .item-img .caption.eael-slide-right { - -webkit-transform: translateX(100%); - -ms-transform: translateX(100%); - transform: translateX(100%); + transform: translateX(100%); } .eael-filter-gallery-container .item:hover .caption.eael-slide-right, .eael-filter-gallery-container.eael-cards .item:hover .item-img .caption.eael-slide-right { - -webkit-transform: translateX(0%); - -ms-transform: translateX(0%); - transform: translateX(0%); + transform: translateX(0%); } .eael-filter-gallery-container .item .caption.eael-slide-top, .eael-filter-gallery-container.eael-cards .item .item-img .caption.eael-slide-top { - -webkit-transform: translateY(-100%); - -ms-transform: translateY(-100%); - transform: translateY(-100%); + transform: translateY(-100%); } .eael-filter-gallery-container .item:hover .caption.eael-slide-top, .eael-filter-gallery-container.eael-cards .item:hover .item-img .caption.eael-slide-top { - -webkit-transform: translateY(0%); - -ms-transform: translateY(0%); - transform: translateY(0%); + transform: translateY(0%); } .eael-filter-gallery-container .item .caption.eael-slide-bottom, .eael-filter-gallery-container.eael-cards .item .item-img .caption.eael-slide-bottom { - -webkit-transform: translateY(100%); - -ms-transform: translateY(100%); - transform: translateY(100%); + transform: translateY(100%); } .eael-filter-gallery-container .item:hover .caption.eael-slide-bottom, .eael-filter-gallery-container.eael-cards .item:hover .item-img .caption.eael-slide-bottom { - -webkit-transform: translateY(0%); - -ms-transform: translateY(0%); - transform: translateY(0%); + transform: translateY(0%); } .eael-filter-gallery-container .item .caption a { @@ -5681,41 +5233,30 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { height: 50px; text-align: center; line-height: 50px; - -webkit-border-radius: 50%; - border-radius: 50%; + border-radius: 50%; margin: 0 5px; font-size: 20px; cursor: pointer; - -webkit-transition: .3s; - -o-transition: .3s; transition: .3s; } .eael-filter-gallery-container .item .caption a:nth-child(1), .eael-container .item .caption a:nth-child(2) { - -webkit-transition: .6s; - -o-transition: .6s; transition: .6s; opacity: 0; } .eael-filter-gallery-container .item .caption a:nth-child(1) { - -webkit-transform: translateY(-100%); - -ms-transform: translateY(-100%); - transform: translateY(-100%); + transform: translateY(-100%); } .eael-filter-gallery-container .item .caption a:nth-child(2) { - -webkit-transform: translateY(100%); - -ms-transform: translateY(100%); - transform: translateY(100%); + transform: translateY(100%); } .eael-filter-gallery-container .item .caption:hover a:nth-child(1), .eael-filter-gallery-container .item .caption:hover a:nth-child(2) { - -webkit-transform: translateY(0%); - -ms-transform: translateY(0%); - transform: translateY(0%); + transform: translateY(0%); opacity: 1; } @@ -5732,8 +5273,7 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { position: relative; background-repeat: no-repeat; background-position: center; - -webkit-background-size: cover; - background-size: cover; + background-size: cover; height: 220px; z-index: 0; overflow: hidden; @@ -5748,8 +5288,6 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { font-size: 20px; line-height: 1; margin-bottom: 0px; - -webkit-transition: .3s; - -o-transition: .3s; transition: .3s; } @@ -5856,8 +5394,7 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { .eael-filterable-gallery-item-wrap .gallery-grid-item .gallery-item-thumbnail-wrap > img { height: 100%; width: 100%; - -o-object-fit: cover; - object-fit: cover; + object-fit: cover; } /*--- Gallery content css ---*/ @@ -5902,8 +5439,7 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { .gallery-item-caption-wrap.caption-style-card { padding: 10px; - -webkit-box-sizing: border-box; - box-sizing: border-box; + box-sizing: border-box; font-family: inherit; } @@ -5923,17 +5459,9 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { .gallery-item-caption-wrap.caption-style-hoverer { visibility: hidden; opacity: 0; - -webkit-transition: 0.6s all ease; - -o-transition: 0.6s all ease; transition: 0.6s all ease; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; display: flex; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; + align-items: center; } .gallery-grid-item:hover .gallery-item-caption-wrap.caption-style-hoverer { @@ -5948,11 +5476,7 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { } .gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up h5 { - -webkit-transform: translateY(20px); - -ms-transform: translateY(20px); - transform: translateY(20px); - -webkit-transition: 0.6s all ease; - -o-transition: 0.6s all ease; + transform: translateY(20px); transition: 0.6s all ease; } @@ -5961,60 +5485,41 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { } .gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up p { - -webkit-transform: translateY(40px); - -ms-transform: translateY(40px); - transform: translateY(40px); - -webkit-transition: 0.6s all ease; - -o-transition: 0.6s all ease; + transform: translateY(40px); transition: 0.6s all ease; } .gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up .gallery-item-buttons { - -webkit-transform: translateY(40px); - -ms-transform: translateY(40px); - transform: translateY(40px); - -webkit-transition: 0.6s all ease; - -o-transition: 0.6s all ease; + transform: translateY(40px); transition: 0.6s all ease; } .gallery-item-caption-wrap .gallery-item-buttons > a { padding: 5px 15px; display: inline-block; - -webkit-border-radius: 50%; - border-radius: 50%; + border-radius: 50%; outline: none; text-decoration: none; } .gallery-item-caption-wrap.caption-style-hoverer.eael-zoom-in { - -webkit-transform: scale(0.8); - -ms-transform: scale(0.8); - transform: scale(0.8); - -webkit-transition: 0.6s all ease; - -o-transition: 0.6s all ease; + transform: scale(0.8); transition: 0.6s all ease; } .gallery-grid-item:hover .gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up h5, .gallery-grid-item:hover .gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up .gallery-item-buttons, .gallery-grid-item:hover .gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up p { - -webkit-transform: translate(0); - -ms-transform: translate(0); - transform: translate(0); + transform: translate(0); } .gallery-grid-item:hover .gallery-item-caption-wrap.caption-style-hoverer.eael-zoom-in { - -webkit-transform: scale(1); - -ms-transform: scale(1); - transform: scale(1); + transform: scale(1); visibility: visible; opacity: 1; } .gallery-item-caption-wrap.caption-style-hoverer.eael-none { - -webkit-transition: none; - -o-transition: none; transition: none; } @@ -6036,37 +5541,22 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { width: 62px; position: relative; z-index: 1; - -webkit-transition: 300ms; - -o-transition: 300ms; transition: 300ms; } .video-popup { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; display: flex; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; + align-items: center; + justify-content: center; } .video-popup:hover > img { - -webkit-transform: scale(1.1); - -ms-transform: scale(1.1); - transform: scale(1.1); + transform: scale(1.1); } .video-popup-bg { visibility: hidden; opacity: 0; - -webkit-transition: 350ms; - -o-transition: 350ms; transition: 350ms; } @@ -6081,25 +5571,14 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { top: 0; height: 100%; width: 100%; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; display: flex; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; + align-items: center; + justify-content: center; } .gallery-item-caption-wrap.card-hover-bg { visibility: hidden; opacity: 0; - -webkit-transition: 800ms; - -o-transition: 800ms; transition: 800ms; } @@ -6109,18 +5588,9 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { } .gallery-item-caption-wrap .gallery-item-buttons > a > i { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; display: flex; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; + align-items: center; + justify-content: center; height: 100%; } @@ -6428,110 +5898,25 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { clear: left; } } -/*----------------------------*/ -/* 28. Swiper -/*----------------------------*/ -.swiper-container-wrap .swiper-slide, -.swiper-container .swiper-slide { - text-align: center; -} - -.swiper-container-wrap .swiper-slide img, -.swiper-container .swiper-slide img { - width: auto; -} - -.swiper-container-wrap-dots-outside .swiper-pagination, -.swiper-container-dots-outside .swiper-pagination { - position: static; -} - -.swiper-container-wrap .swiper-button-next, -.swiper-container-wrap .swiper-button-prev, -.swiper-container .swiper-button-next, -.swiper-container .swiper-button-prev { - background: transparent; - font-size: 20px; - height: auto; - line-height: 1; - margin: 0; - text-align: center; - -webkit-transform: translateY(-50%); - -ms-transform: translateY(-50%); - transform: translateY(-50%); - width: auto; -} - -.swiper-container-wrap .swiper-button-next .fa, -.swiper-container-wrap .swiper-button-prev .fa, -.swiper-container .swiper-button-next .fa, -.swiper-container .swiper-button-prev .fa { - vertical-align: top; -} - -.swiper-container-wrap .swiper-pagination { - bottom: 10px; - left: 0; - width: 100%; -} - -.swiper-container-wrap-dots-outside .swiper-pagination { - position: static; -} - -.swiper-container-wrap .swiper-pagination-bullet { - background: #ccc; - margin: 0 4px; - opacity: 1; - height: 8px; - width: 8px; -} - -.swiper-container-wrap .swiper-pagination-bullet-active { - background: #000; -} - -.swiper-container-3d .swiper-slide { - -o-transition-property: all; - transition-property: all; - -webkit-transition-property: all; -} - /*----------------------------*/ /* 29. Content Ticker /*----------------------------*/ .eael-ticker-wrap { overflow: hidden; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-flow: row nowrap; - -ms-flex-flow: row nowrap; - flex-flow: row nowrap; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; + flex-flow: row nowrap; + align-items: center; width: 100%; } .eael-ticker-wrap .ticker-badge { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; + flex: 0 0 auto; padding: 8px 12px; } .eael-ticker-wrap .eael-ticker { overflow: hidden; - -webkit-box-flex: 1; - -webkit-flex: 1 1 auto; - -ms-flex: 1 1 auto; - flex: 1 1 auto; + flex: 1 1 auto; } .eael-ticker-wrap .eael-ticker .ticker-content { @@ -6564,11 +5949,7 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { @media only screen and (max-width: 767px) { .eael-ticker-wrap { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-flow: row wrap; - -ms-flex-flow: row wrap; - flex-flow: row wrap; + flex-flow: row wrap; } .content-ticker-pagination { @@ -6587,41 +5968,20 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { padding: 0px; margin: 0px; list-style-type: none; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; display: flex; - -webkit-box-pack: start; - -webkit-justify-content: flex-start; - -ms-flex-pack: start; - justify-content: flex-start; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; + justify-content: flex-start; + align-items: center; z-index: 1; } .eael-advance-tabs .eael-tabs-nav > ul li { position: relative; padding: 1em 1.5em; - -webkit-box-flex: 1; - -webkit-flex: 1 1 auto; - -ms-flex: 1 1 auto; - flex: 1 1 auto; + flex: 1 1 auto; cursor: pointer; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; display: flex; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; + justify-content: center; + align-items: center; text-align: center; } @@ -6653,14 +6013,8 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { } .eael-tabs-content { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; display: flex; - -webkit-box-flex: 1; - -webkit-flex: 1 1 auto; - -ms-flex: 1 1 auto; - flex: 1 1 auto; + flex: 1 1 auto; } .eael-advance-tabs .eael-tabs-content > div { @@ -6674,8 +6028,7 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { width: 100%; padding: 1em; opacity: 1; - -webkit-animation: fadeIn linear 0.3s; - animation: fadeIn linear 0.3s; + animation: fadeIn linear 0.3s; } /*--- Inline Icon ---*/ @@ -6685,22 +6038,14 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { } .eael-tab-top-icon li a { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; display: flex; - -webkit-flex-wrap: wrap; - -ms-flex-wrap: wrap; - flex-wrap: wrap; + flex-wrap: wrap; text-align: center; } .eael-tab-top-icon li a .fa, .eael-tab-top-icon li a .eael-tab-title { - -webkit-box-flex: 1; - -webkit-flex: 1 1 100%; - -ms-flex: 1 1 100%; - flex: 1 1 100%; + flex: 1 1 100%; line-height: 1; } @@ -6710,39 +6055,26 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { /*--- Vertical Tabs ---*/ .eael-advance-tabs.eael-tabs-vertical { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; display: flex; } .eael-advance-tabs.eael-tabs-vertical .eael-tabs-nav { - -webkit-box-flex: 0; - -webkit-flex: 0 0 auto; - -ms-flex: 0 0 auto; - flex: 0 0 auto; + flex: 0 0 auto; } .eael-advance-tabs.eael-tabs-vertical .eael-tabs-nav > ul { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-flow: column wrap; - -ms-flex-flow: column wrap; - flex-flow: column wrap; + flex-flow: column wrap; } .eael-advance-tabs.eael-tabs-vertical .eael-tabs-nav > ul > li { width: 100%; - -webkit-box-pack: start; - -webkit-justify-content: start; - -ms-flex-pack: start; - justify-content: start; + justify-content: start; } .eael-advance-tabs.eael-tabs-vertical .eael-tabs-nav > ul li::after { bottom: auto !important; right: -10px; - top: calc(50% - 10px) !important; + top: calc(50% - 10px); left: auto !important; border-left: 10px solid #444; border-right: 0; @@ -6752,16 +6084,38 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { @media only screen and (max-width: 767px) { .eael-advance-tabs .eael-tabs-nav > ul { - -webkit-flex-wrap: wrap; - -ms-flex-wrap: wrap; - flex-wrap: wrap; + flex-wrap: wrap; } .eael-advance-tabs .eael-tabs-nav > ul li { - -webkit-box-flex: 1; - -webkit-flex: 1 100%; - -ms-flex: 1 100%; - flex: 1 100%; + flex: 1 100%; + } + + .eael-advance-tabs.eael-tabs-vertical { + flex-wrap: wrap; + } + + .eael-advance-tabs.eael-tabs-vertical div.eael-tabs-nav { + flex: 1 100%; + } + + .eael-advance-tabs.eael-tabs-vertical ul { + flex: 1 100%; + } + + .eael-advance-tabs.eael-tabs-vertical ul li { + flex: 1 100%; + } + + div.eael-advance-tabs.eael-tabs-vertical div.eael-tabs-nav > ul li::after { + border-left-color: transparent !important; + bottom: -20px !important; + left: 0 !important; + right: 0 !important; + top: auto !important; + border-left: 10px solid transparent; + border-right: 10px solid transparent; + border-top-color: #444 !important; } } /*------------------------------*/ @@ -6770,8 +6124,6 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { .eael-adv-accordion { width: auto; height: auto; - -webkit-transition: all 0.3s ease-in-out; - -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; } @@ -6781,41 +6133,22 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { font-size: 1rem; font-weight: 600; line-height: 1; - -webkit-transition: all 0.3s ease-in-out; - -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; display: flex; - -webkit-box-pack: justify; - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; + justify-content: space-between; + align-items: center; cursor: pointer; } .eael-adv-accordion .eael-accordion-list .eael-accordion-header .fa-toggle { - -webkit-transform: rotate(0deg); - -ms-transform: rotate(0deg); - transform: rotate(0deg); + transform: rotate(0deg); z-index: 10; - -webkit-transition: all 0.3s ease-in-out; - -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; } .eael-adv-accordion .eael-accordion-list .eael-accordion-header.active .fa-toggle { - -webkit-transform: rotate(90deg); - -ms-transform: rotate(90deg); - transform: rotate(90deg); + transform: rotate(90deg); z-index: 10; - -webkit-transition: all 0.3s ease-in-out; - -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; } @@ -6828,8 +6161,7 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { display: none; border: 1px solid #eee; padding: 15px; - -webkit-box-sizing: border-box; - box-sizing: border-box; + box-sizing: border-box; font-size: 1rem; line-height: 1.7; } @@ -6842,52 +6174,21 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { display: block; } -@-webkit-keyframes rotate-90 { - 0% { - -webkit-transform: rotateY(0deg); - transform: rotateY(0deg); - } - 100% { - -webkit-transform: rotateY(-180deg); - transform: rotateY(-180deg); - } -} - @keyframes rotate-90 { 0% { - -webkit-transform: rotateY(0deg); - transform: rotateY(0deg); - } - 100% { - -webkit-transform: rotateY(-180deg); - transform: rotateY(-180deg); - } -} -@-webkit-keyframes fadeIn { - 0% { - opacity: 1; - -webkit-transition: all 0.3s ease-in-out; - -o-transition: all 0.3s ease-in-out; - transition: all 0.3s ease-in-out; + transform: rotateY(0deg); } 100% { - opacity: 1; - -webkit-transition: all 0.3s ease-in-out; - -o-transition: all 0.3s ease-in-out; - transition: all 0.3s ease-in-out; + transform: rotateY(-180deg); } } @keyframes fadeIn { 0% { opacity: 1; - -webkit-transition: all 0.3s ease-in-out; - -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; } 100% { opacity: 1; - -webkit-transition: all 0.3s ease-in-out; - -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; } } @@ -6904,8 +6205,6 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { color: #333; line-height: 1; cursor: pointer; - -webkit-transition: all 0.3s ease-in-out; - -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; } @@ -6916,8 +6215,7 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { background-color: black; color: #fff; text-align: center; - -webkit-border-radius: 4px; - border-radius: 4px; + border-radius: 4px; padding: 10px; position: absolute; z-index: 1; @@ -6940,15 +6238,12 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { .eael-tooltip .eael-tooltip-text.eael-tooltip-left { top: 50%; right: 100%; - -webkit-transform: translateY(-50%); - -ms-transform: translateY(-50%); - transform: translateY(-50%); + transform: translateY(-50%); margin-right: 10px; } .eael-tooltip:hover .eael-tooltip-text.eael-tooltip-left { - -webkit-animation: tooltipLeftIn 300ms ease-in-out; - animation: tooltipLeftIn 300ms ease-in-out; + animation: tooltipLeftIn 300ms ease-in-out; } .eael-tooltip .eael-tooltip-text.eael-tooltip-left::after { @@ -6961,18 +6256,13 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { .eael-tooltip .eael-tooltip-text.eael-tooltip-right { top: 50%; left: 100%; - -webkit-transform: translateY(-50%); - -ms-transform: translateY(-50%); - transform: translateY(-50%); - -webkit-transition: all 0.3s ease-in-out; - -o-transition: all 0.3s ease-in-out; + transform: translateY(-50%); transition: all 0.3s ease-in-out; margin-left: 10px; } .eael-tooltip:hover .eael-tooltip-text.eael-tooltip-right { - -webkit-animation: tooltipRightIn 300ms linear; - animation: tooltipRightIn 300ms linear; + animation: tooltipRightIn 300ms linear; } .eael-tooltip .eael-tooltip-text.eael-tooltip-right::after { @@ -6997,8 +6287,7 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { } .eael-tooltip:hover .eael-tooltip-text.eael-tooltip-top { - -webkit-animation: tooltipTopIn 300ms linear; - animation: tooltipTopIn 300ms linear; + animation: tooltipTopIn 300ms linear; } /*--- Bottom ---*/ @@ -7017,73 +6306,35 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { } .eael-tooltip:hover .eael-tooltip-text.eael-tooltip-bottom { - -webkit-animation: tooltipBottomIn 300ms linear; - animation: tooltipBottomIn 300ms linear; + animation: tooltipBottomIn 300ms linear; } /*--- Alignments ---*/ .eael-tooltip-align-left { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; display: flex; width: 100%; - -webkit-box-pack: start; - -webkit-justify-content: flex-start; - -ms-flex-pack: start; - justify-content: flex-start; + justify-content: flex-start; } .eael-tooltip-align-right { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; display: flex; width: 100%; - -webkit-box-pack: end; - -webkit-justify-content: flex-end; - -ms-flex-pack: end; - justify-content: flex-end; + justify-content: flex-end; } .eael-tooltip-align-center { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; display: flex; width: 100%; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; + justify-content: center; } .eael-tooltip-align-justify .eael-tooltip { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; display: flex; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; + justify-content: center; + align-items: center; } /*--- Tooltip Keyframes ---*/ -@-webkit-keyframes tooltipRightIn { - 0% { - opacity: 0; - left: 105%; - } - 100% { - opacity: 1; - left: 100%; - } -} @keyframes tooltipRightIn { 0% { opacity: 0; @@ -7094,16 +6345,6 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { left: 100%; } } -@-webkit-keyframes tooltipLeftIn { - 0% { - opacity: 0; - right: 105%; - } - 100% { - opacity: 1; - right: 100%; - } -} @keyframes tooltipLeftIn { 0% { opacity: 0; @@ -7114,16 +6355,6 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { right: 100%; } } -@-webkit-keyframes tooltipTopIn { - 0% { - opacity: 0; - bottom: 110%; - } - 100% { - opacity: 1; - bottom: 100%; - } -} @keyframes tooltipTopIn { 0% { opacity: 0; @@ -7134,16 +6365,6 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { bottom: 100%; } } -@-webkit-keyframes tooltipBottomIn { - 0% { - opacity: 0; - top: 110%; - } - 100% { - opacity: 1; - top: 100%; - } -} @keyframes tooltipBottomIn { 0% { opacity: 0; @@ -7156,42 +6377,34 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { } @-webkit-keyframes animateStripe { 0% { - -webkit-transform: translate(0, 0); - transform: translate(0, 0); + transform: translate(0, 0); } 100% { - -webkit-transform: translate(35px, 0); - transform: translate(35px, 0); + transform: translate(35px, 0); } } @keyframes animateStripe { 0% { - -webkit-transform: translate(0, 0); - transform: translate(0, 0); + transform: translate(0, 0); } 100% { - -webkit-transform: translate(35px, 0); - transform: translate(35px, 0); + transform: translate(35px, 0); } } @-webkit-keyframes animateStripeRTL { 0% { - -webkit-transform: translate(0, 0); - transform: translate(0, 0); + transform: translate(0, 0); } 100% { - -webkit-transform: translate(-35px, 0); - transform: translate(-35px, 0); + transform: translate(-35px, 0); } } @keyframes animateStripeRTL { 0% { - -webkit-transform: translate(0, 0); - transform: translate(0, 0); + transform: translate(0, 0); } 100% { - -webkit-transform: translate(-35px, 0); - transform: translate(-35px, 0); + transform: translate(-35px, 0); } } .eael-progressbar { @@ -7227,11 +6440,7 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { width: 0; height: 12px; background-color: #000000; - -webkit-transform: translateY(-50%); - -ms-transform: translateY(-50%); - transform: translateY(-50%); - -webkit-transition: width 1500ms linear; - -o-transition: width 1500ms linear; + transform: translateY(-50%); transition: width 1500ms linear; overflow: hidden; } @@ -7254,8 +6463,7 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { width: 220px; height: 220px; padding: 10px; - -webkit-border-radius: 50%; - border-radius: 50%; + border-radius: 50%; } .eael-progressbar-circle-pie { @@ -7264,8 +6472,7 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { left: 0; width: 100%; height: 100%; - -webkit-clip-path: inset(0 0 0 50%); - clip-path: inset(0 0 0 50%); + clip-path: inset(0 0 0 50%); } .eael-progressbar-circle-inner { @@ -7274,8 +6481,7 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { border-width: 12px; border-style: solid; border-color: #eeeeee; - -webkit-border-radius: 50%; - border-radius: 50%; + border-radius: 50%; } .eael-progressbar-circle-half { @@ -7287,22 +6493,16 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { border-width: 12px; border-style: solid; border-color: #000000; - -webkit-border-radius: 50%; - border-radius: 50%; - -webkit-clip-path: inset(0 50% 0 0); - clip-path: inset(0 50% 0 0); + border-radius: 50%; + clip-path: inset(0 50% 0 0); } .eael-progressbar-circle-half-left { - -webkit-transform: rotate(0deg); - -ms-transform: rotate(0deg); - transform: rotate(0deg); + transform: rotate(0deg); } .eael-progressbar-circle-half-right { - -webkit-transform: rotate(180deg); - -ms-transform: rotate(180deg); - transform: rotate(180deg); + transform: rotate(180deg); visibility: hidden; } @@ -7310,9 +6510,7 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { position: absolute; top: 50%; width: 100%; - -webkit-transform: translateY(-50%); - -ms-transform: translateY(-50%); - transform: translateY(-50%); + transform: translateY(-50%); text-align: center; } @@ -7323,27 +6521,17 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { overflow: hidden; } .eael-progressbar-half-circle .eael-progressbar-circle-pie { - -webkit-clip-path: inset(0 0 50% 0); - clip-path: inset(0 0 50% 0); + clip-path: inset(0 0 50% 0); } .eael-progressbar-half-circle .eael-progressbar-circle-half { - -webkit-clip-path: inset(50% 0 0 0); - clip-path: inset(50% 0 0 0); - -webkit-transform: rotate(0deg); - -ms-transform: rotate(0deg); - transform: rotate(0deg); - -webkit-transition: -webkit-transform 1500ms linear; - transition: -webkit-transform 1500ms linear; - -o-transition: transform 1500ms linear; + clip-path: inset(50% 0 0 0); + transform: rotate(0deg); transition: transform 1500ms linear; - transition: transform 1500ms linear, -webkit-transform 1500ms linear; } .eael-progressbar-half-circle .eael-progressbar-circle-inner-content { top: initial; bottom: 0; - -webkit-transform: translateY(0); - -ms-transform: translateY(0); - transform: translateY(0); + transform: translateY(0); } .eael-progressbar-half-circle .eael-progressbar-title { font-size: 16px; @@ -7372,86 +6560,75 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { left: -35px; width: calc(100% + 70px); height: 100%; - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - -webkit-background-size: 35px 35px; - background-size: 35px 35px; + background-size: 35px 35px; } .eael-progressbar-line-animate .eael-progressbar-line-fill:after { - -webkit-animation: animateStripe 2s linear infinite; - animation: animateStripe 2s linear infinite; + animation: animateStripe 2s linear infinite; } .eael-progressbar-line-animate-rtl .eael-progressbar-line-fill:after { - -webkit-animation: animateStripeRTL 2s linear infinite; - animation: animateStripeRTL 2s linear infinite; + animation: animateStripeRTL 2s linear infinite; } .eael-progressbar-circle-wrap > div { margin: 0 auto; } +/*alignment*/ +.eael-progressbar-line-container.left, +.eael-progressbar-circle-container.left > div, +.eael-progressbar-box-container.left > div { + margin: 0 auto 0 0; +} + +.eael-progressbar-line-container.center, +.eael-progressbar-circle-container.center > div, +.eael-progressbar-box-container.center > div { + margin: 0 auto; +} + +.eael-progressbar-line-container.right, +.eael-progressbar-circle-container.right > div, +.eael-progressbar-box-container.right > div { + margin: 0 0 0 auto; +} + /*------------------------------*/ /* 34. Image accordion /*------------------------------*/ .eael-img-accordion { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; display: flex; height: 50vh; } .eael-img-accordion a { position: relative; - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; + flex: 1; text-align: center; text-decoration: none; color: #fff; - -webkit-background-size: cover; - background-size: cover; + background-size: cover; background-position: center; background-repeat: no-repeat; - -webkit-transition: -webkit-box-flex .4s, -webkit-flex .4s; - transition: -webkit-box-flex .4s, -webkit-flex .4s; - -o-transition: flex .4s; transition: flex .4s; - transition: flex .4s, -webkit-box-flex .4s, -webkit-flex .4s, -ms-flex .4s; } .eael-grow-accordion { - -webkit-box-flex: 3; - -webkit-flex: 3; - -ms-flex: 3; - flex: 3; + flex: 3; } .eael-img-accordion .overlay { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; display: flex; - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; + align-items: center; + justify-content: center; padding: 0 10px; position: absolute; top: 0; right: 0; bottom: 0; left: 0; - -webkit-transition: background-color .4s; - -o-transition: background-color .4s; transition: background-color .4s; } @@ -7469,80 +6646,45 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { left: 0px; bottom: 0px; right: 0px; - -webkit-transition: all 0.3s ease-in-out; - -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; } .eael-img-accordion .overlay-inner * { visibility: hidden; opacity: 0; - -webkit-transform-style: preserve-3d; - transform-style: preserve-3d; + transform-style: preserve-3d; } .eael-img-accordion .overlay h2 { color: #fff; - -webkit-transform: translate3d(0, -60px, 0); - transform: translate3d(0, -60px, 0); + transform: translate3d(0, -60px, 0); } .eael-img-accordion .overlay p { color: #fff; - -webkit-transform: translate3d(0, 60px, 0); - transform: translate3d(0, 60px, 0); + transform: translate3d(0, 60px, 0); } .eael-img-accordion .overlay-inner-show * { opacity: 1; visibility: visible; - -webkit-transform: none !important; - -ms-transform: none !important; - transform: none !important; - -webkit-transition: all .3s .3s; - -o-transition: all .3s .3s; + transform: none !important; transition: all .3s .3s; } @media screen and (max-width: 800px) { .eael-img-accordion { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; + flex-direction: column; } .eael-img-accordion a:hover { - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; + flex: 1; } .eael-img-accordion a:hover .overlay { background-color: transparent; } - - .eael-img-accordion .overlay h2, - .eael-img-accordion .overlay p { - opacity: 1; - visibility: visible; - -webkit-transform: none; - -ms-transform: none; - transform: none; - } -} -.elementor-section.eael-particles-section .elementor-container, -.elementor-section .elementor-container { - z-index: 99; -} - -.elementor-section.eael-particles-section > canvas { - position: absolute; - top: 0; } - /*----------------------------*/ /* 35. Feature List /*----------------------------*/ @@ -7600,25 +6742,34 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { } .elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box { z-index: 2; + transition: all 0.5s; +} +@media (prefers-reduced-motion: reduce) { + .elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box { + transition: none; + } +} +.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-icon-inner { + background-color: #37368e; + transition: all 0.5s; + display: inline-flex; +} +@media (prefers-reduced-motion: reduce) { + .elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-icon-inner { + transition: none; + } } .elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-icon { - padding: .5em; - -webkit-transition: all 0.5s; - -o-transition: all 0.5s; + padding: 0.5em; transition: all 0.5s; font-size: 30px; line-height: 1; - color: #818a91; + color: #37368e; text-align: center; - display: -webkit-inline-box; - display: -webkit-inline-flex; - display: -ms-inline-flexbox; display: inline-flex; } @media (prefers-reduced-motion: reduce) { .elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-icon { - -webkit-transition: none; - -o-transition: none; transition: none; } } @@ -7638,41 +6789,41 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { .elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-img { font-size: 8px; line-height: 1; + max-width: inherit; } .elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-content-box { margin: 0 0 0 20px; } .elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-content-box .eael-feature-list-title { - margin-top: 0; + margin-top: -2px; line-height: 1.5em; } .elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-content-box .eael-feature-list-content { padding: 0; margin: 0; + font-size: 14px; line-height: 1.5em; } .elementor-widget-eael-feature-list .eael-feature-list-items.stacked .eael-feature-list-icon-box .eael-feature-list-icon { - background-color: #818a91; color: #fff; } .elementor-widget-eael-feature-list .eael-feature-list-items.framed .eael-feature-list-icon-box .eael-feature-list-icon { - border: 1px solid #818a91; background-color: #fff; } -.elementor-widget-eael-feature-list .eael-feature-list-items.circle .eael-feature-list-icon-box .eael-feature-list-icon { - -webkit-border-radius: 50%; - border-radius: 50%; +.elementor-widget-eael-feature-list .eael-feature-list-items.circle .eael-feature-list-icon-box .eael-feature-list-icon-inner { + border-radius: 50%; } -.elementor-widget-eael-feature-list .eael-feature-list-items.rhombus .eael-feature-list-icon-box .eael-feature-list-icon { - -webkit-transform: rotate(45deg); - -ms-transform: rotate(45deg); - transform: rotate(45deg); +.elementor-widget-eael-feature-list .eael-feature-list-items.circle .eael-feature-list-icon-box .eael-feature-list-icon-inner .eael-feature-list-icon { + border-radius: 50%; +} +.elementor-widget-eael-feature-list .eael-feature-list-items.rhombus .eael-feature-list-icon-box .eael-feature-list-icon-inner { + transform: rotate(45deg); margin: 15px; } .elementor-widget-eael-feature-list .eael-feature-list-items.rhombus .eael-feature-list-icon-box .eael-feature-list-icon i { - -ms-transform: rotate(-43deg); - -webkit-transform: rotate(-43deg); - transform: rotate(-43deg); + -ms-transform: rotate(-45deg); + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); } .elementor-widget-eael-feature-list .eael-feature-list-items.rhombus .eael-feature-list-icon-box .eael-feature-list-icon img { -ms-transform: rotate(-45deg); @@ -7693,7 +6844,7 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { } } .elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before, .elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after { - content: ''; + content: ""; position: absolute; display: block; } @@ -7803,21 +6954,33 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { margin-top: 0 !important; margin-bottom: 0 !important; } - .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item { + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item { padding: 0 0 0 50px; } } @media (min-width: 768px) and (max-width: 1024px) and (max-width: 767px) { - .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item { + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item { padding: 0 0 0 30px; } } @media (min-width: 768px) and (max-width: 1024px) { - .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before { + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before { left: 0; right: auto; } - .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after { + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after { left: 5px; top: 30px; } @@ -7826,21 +6989,33 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { margin-right: 0 !important; margin-bottom: 0 !important; } - .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item { + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item { padding: 0 0 0 50px; } } @media (min-width: 768px) and (max-width: 1024px) and (max-width: 767px) { - .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item { + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item { padding: 0 0 0 30px; } } @media (min-width: 768px) and (max-width: 1024px) { - .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before { + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before { left: 0; right: auto; } - .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after { + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after { left: 5px; } .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right .eael-feature-list-content-box { @@ -7848,21 +7023,33 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { margin-top: 0 !important; margin-bottom: 0 !important; } - .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item { + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item { padding: 0 50px 0 0; } } @media (min-width: 768px) and (max-width: 1024px) and (max-width: 767px) { - .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item { + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item { padding: 0 30px 0 0; } } @media (min-width: 768px) and (max-width: 1024px) { - .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before { + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before { right: 0; left: auto; } - .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after { + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after { left: auto; right: 5px; } @@ -7899,21 +7086,57 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { margin-top: 0 !important; margin-bottom: 0 !important; } - .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item { + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item { padding: 0 0 0 50px; } } @media (max-width: 767px) and (max-width: 767px) { - .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item { + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item { padding: 0 0 0 30px; } } @media (max-width: 767px) { - .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before { + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before { left: 0; right: auto; } - .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after { + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after { left: 5px; } .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-content-box { @@ -7921,21 +7144,57 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { margin-right: 0 !important; margin-bottom: 0 !important; } - .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item { + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item { padding: 0 0 0 50px; } } @media (max-width: 767px) and (max-width: 767px) { - .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item { + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item { padding: 0 0 0 30px; } } @media (max-width: 767px) { - .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before { + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before { left: 0; right: auto; } - .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after { + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after { left: 5px; } .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-content-box { @@ -7943,21 +7202,57 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover { margin-top: 0 !important; margin-bottom: 0 !important; } - .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item { + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item { padding: 0 50px 0 0; } } @media (max-width: 767px) and (max-width: 767px) { - .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item { + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item { padding: 0 30px 0 0; } } @media (max-width: 767px) { - .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before { + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before { right: 0; left: auto; } - .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after { + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after { left: auto; right: 5px; } diff --git a/assets/front-end/css/eael.min.css b/assets/front-end/css/eael.min.css new file mode 100644 index 000000000..0a37cb2ab --- /dev/null +++ b/assets/front-end/css/eael.min.css @@ -0,0 +1 @@ +.clearfix::after,.clearfix::before{content:" ";display:table;clear:both}.eael-logo-carousel.nav-top-left,.eael-logo-carousel.nav-top-right,.eael-post-carousel.nav-top-left,.eael-post-carousel.nav-top-right,.eael-product-carousel.nav-top-left,.eael-product-carousel.nav-top-right,.eael-team-slider.nav-top-left,.eael-team-slider.nav-top-right,.eael-testimonial-slider.nav-top-left,.eael-testimonial-slider.nav-top-right{padding-top:40px}.swiper-container .swiper-slide,.swiper-container-wrap .swiper-slide{text-align:center}.swiper-container .swiper-slide img,.swiper-container-wrap .swiper-slide img{width:auto}.swiper-container-dots-outside .swiper-pagination,.swiper-container-wrap-dots-outside .swiper-pagination{position:static}.swiper-container .swiper-button-next,.swiper-container .swiper-button-prev,.swiper-container-wrap .swiper-button-next,.swiper-container-wrap .swiper-button-prev{background:0 0;font-size:20px;height:auto;line-height:1;margin:0;text-align:center;transform:translateY(-50%);width:auto}.swiper-container .swiper-button-next .fa,.swiper-container .swiper-button-prev .fa,.swiper-container-wrap .swiper-button-next .fa,.swiper-container-wrap .swiper-button-prev .fa{vertical-align:top}.swiper-container-wrap .swiper-pagination{bottom:10px;left:0;width:100%}.swiper-container-wrap-dots-outside .swiper-pagination{position:static}.swiper-container-wrap .swiper-pagination-bullet{background:#ccc;margin:0 4px;opacity:1;height:8px;width:8px}.swiper-container-wrap .swiper-pagination-bullet-active{background:#000}.swiper-container-3d .swiper-slide{transition-property:all;-webkit-transition-property:all}.eael-contact-form input[type=date],.eael-contact-form input[type=email],.eael-contact-form input[type=number],.eael-contact-form input[type=tel],.eael-contact-form input[type=text],.eael-contact-form input[type=url],.eael-contact-form textarea{background:#fff;box-shadow:none;-webkit-box-shadow:none;float:none;height:auto;margin:0;outline:0;width:auto}.eael-contact-form input[type=submit]{border:0;float:none;height:auto;margin:0;padding:10px 20px;width:auto;-webkit-transition:all .25s linear 0s;transition:all .25s linear 0s}.eael-contact-form.placeholder-hide input::-webkit-input-placeholder,.eael-contact-form.placeholder-hide textarea::-webkit-input-placeholder{opacity:0;visibility:hidden}.eael-contact-form.placeholder-hide input::-moz-placeholder,.eael-contact-form.placeholder-hide textarea::-moz-placeholder{opacity:0;visibility:hidden}.eael-contact-form.placeholder-hide input:-ms-input-placeholder,.eael-contact-form.placeholder-hide textarea:-ms-input-placeholder{opacity:0;visibility:hidden}.eael-contact-form.placeholder-hide input:-moz-placeholder,.eael-contact-form.placeholder-hide textarea:-moz-placeholder{opacity:0;visibility:hidden}.eael-custom-radio-checkbox input[type=checkbox],.eael-custom-radio-checkbox input[type=radio]{-webkit-appearance:none;-moz-appearance:none;border-style:solid;border-width:0;outline:0;min-width:1px;width:15px;height:15px;background:#ddd;padding:3px}.eael-custom-radio-checkbox input[type=checkbox]:before,.eael-custom-radio-checkbox input[type=radio]:before{content:"";width:100%;height:100%;padding:0;margin:0;display:block}.eael-custom-radio-checkbox input[type=checkbox]:checked:before,.eael-custom-radio-checkbox input[type=radio]:checked:before{background:#999;-webkit-transition:all .25s linear 0s;transition:all .25s linear 0s}.eael-custom-radio-checkbox input[type=radio]{border-radius:50%}.eael-custom-radio-checkbox input[type=radio]:before{border-radius:50%}.eael-fancy-text-container p{margin:0}.eael-fancy-text-prefix,.eael-fancy-text-strings,.eael-fancy-text-suffix{display:inline-block}.morphext>.animated{display:inline-block}.typed-cursor{opacity:1;-webkit-animation:blink_cursor .7s infinite;-moz-animation:blink_cursor .7s infinite;animation:blink_cursor .7s infinite}@keyframes blink_cursor{0%{opacity:1}50%{opacity:0}100%{opacity:1}}@-webkit-keyframes blink_cursor{0%{opacity:1}50%{opacity:0}100%{opacity:1}}@-moz-keyframes blink_cursor{0%{opacity:1}50%{opacity:0}100%{opacity:1}}.eael-fancy-text-container.style-2{font-size:24px}.eael-fancy-text-container.style-2 .eael-fancy-text-strings{background:#f54;color:#fff;padding:10px 25px}.eael-creative-button-align-center{text-align:center}.eael-creative-button-wrapper{display:flex}.eael-creative-button{flex:0 0 auto;min-width:150px;text-align:center;vertical-align:middle;position:relative;z-index:1;-webkit-backface-visibility:hidden;backface-visibility:hidden;-moz-osx-font-smoothing:grayscale}.eael-creative-button:focus{outline:0}.eael-creative-button>span{vertical-align:middle}.eael-creative-button{border-radius:2px;padding:20px 30px;font-size:16px;line-height:1}.eael-creative-button--winona{overflow:hidden;padding:0!important;-webkit-transition:border-color .3s,background-color .3s;transition:border-color .3s,background-color .3s;-webkit-transition-timing-function:cubic-bezier(.2,1,.3,1);transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--winona::after{content:attr(data-text);position:absolute;width:100%;height:100%;top:0;left:0;opacity:0;-webkit-transform:translate3d(0,25%,0);transform:translate3d(0,25%,0)}.eael-creative-button--winona>span{display:block}.eael-creative-button--winona::after,.eael-creative-button--winona>span{padding:1em 2em;-webkit-transition:-webkit-transform .3s,opacity .3s;transition:transform .3s,opacity .3s;-webkit-transition-timing-function:cubic-bezier(.2,1,.3,1);transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--winona:hover::after{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.eael-creative-button--winona:hover>span{opacity:0;-webkit-transform:translate3d(0,-25%,0);transform:translate3d(0,-25%,0)}.eael-creative-button--ujarak{-webkit-transition:border-color .4s,color .4s;transition:border-color .4s,color .4s}.eael-creative-button--ujarak::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;opacity:0;-webkit-transform:scale3d(.7,1,1);transform:scale3d(.7,1,1);-webkit-transition:-webkit-transform .4s,opacity .4s;transition:transform .4s,opacity .4s;-webkit-transition-timing-function:cubic-bezier(.2,1,.3,1);transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--ujarak,.eael-creative-button--ujarak::before{-webkit-transition-timing-function:cubic-bezier(.2,1,.3,1);transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--ujarak:hover::before{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.eael-creative-button--wayra{overflow:hidden;-webkit-transition:border-color .3s,color .3s;transition:border-color .3s,color .3s;-webkit-transition-timing-function:cubic-bezier(.2,1,.3,1);transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--wayra::before{content:'';position:absolute;top:0;left:0;width:150%;height:100%;z-index:-1;-webkit-transform:rotate3d(0,0,1,-45deg) translate3d(0,-3em,0);transform:rotate3d(0,0,1,-45deg) translate3d(0,-3em,0);-webkit-transform-origin:0 100%;transform-origin:0 100%;-webkit-transition:-webkit-transform .3s,opacity .3s,background-color .3s;transition:transform .3s,opacity .3s,background-color .3s}.eael-creative-button--wayra:hover::before{opacity:1;-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg);-webkit-transition-timing-function:cubic-bezier(.2,1,.3,1);transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--tamaya{overflow:hidden}.eael-creative-button--tamaya::after,.eael-creative-button--tamaya::before{content:attr(data-text);position:absolute;width:100%;height:50%;left:0;overflow:hidden;-webkit-transition:-webkit-transform .3s;transition:transform .3s;-webkit-transition-timing-function:cubic-bezier(.2,1,.3,1);transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--tamaya::before{top:0;padding:20px 30px}.eael-creative-button--tamaya::after{bottom:0;line-height:0}.eael-creative-button--tamaya:hover::after{bottom:-1px}.eael-creative-button--tamaya>span{display:block;-webkit-transform:scale3d(.2,.2,1);transform:scale3d(.2,.2,1);opacity:0;-webkit-transition:-webkit-transform .3s,opacity .3s;transition:transform .3s,opacity .3s;-webkit-transition-timing-function:cubic-bezier(.2,1,.3,1);transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--tamaya:hover::before{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}.eael-creative-button--tamaya:hover::after{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.eael-creative-button--tamaya:hover>span{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}.eael-creative-button--rayen{overflow:hidden;padding:0!important}.eael-creative-button--rayen::before{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.eael-creative-button--rayen>span{display:block}.eael-creative-button--rayen::before,.eael-creative-button--rayen>span{padding:1em 2em;-webkit-transition:-webkit-transform .3s;transition:transform .3s;-webkit-transition-timing-function:cubic-bezier(.75,0,.125,1);transition-timing-function:cubic-bezier(.75,0,.125,1)}.eael-creative-button--rayen:hover::before{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.eael-creative-button--rayen:hover>span{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.eael-countdown-items{list-style:none;margin:0;padding:0;display:table;table-layout:fixed;width:100%}.eael-countdown-items>li{list-style:none;margin:0;padding:0;display:table-cell;position:relative}.eael-countdown-item>div{text-align:center;padding:20px}.eael-countdown-label-block .eael-countdown-digits,.eael-countdown-label-block .eael-countdown-label{display:block;text-align:center}.eael-countdown-digits{font-size:54px;line-height:1}.eael-countdown-label{font-size:18px;line-height:1;color:#fff}.eael-countdown-show-separator .eael-countdown-digits::after{content:":";position:absolute;left:98%;z-index:9999}.eael-countdown-item:last-child .eael-countdown-digits::after{display:none}.eael-countdown-items.style-1 .eael-countdown-item>div{background:#262625}.eael-post-timeline{margin-bottom:0;min-height:100%;overflow:hidden;position:relative}.eael-timeline-column{width:50%;margin-left:0;float:left;margin-top:0!important}.eael-timeline-post{position:relative}.eael-timeline-post:after{background-color:rgba(83,85,86,.2);content:"";width:2px;height:245px;position:absolute;right:0;top:70px}.eael-timeline-post:nth-child(2n):after{display:none}.eael-timeline-bullet{background-color:#9fa9af;border:5px solid #fff;border-radius:50%;box-shadow:0 1px 0 1px rgba(0,0,0,.1);content:"";height:20px;position:absolute;right:-9px;top:60px;width:20px;z-index:3;cursor:pointer}.eael-timeline-post:nth-child(2n) .eael-timeline-bullet{background-color:#9fa9af;border:5px solid #fff;border-radius:50%;bottom:36px;content:"";height:20px;left:-11px;position:absolute;top:300px;width:20px;z-index:3}.eael-timeline-post-inner{background:linear-gradient(45deg,#3f3f46 0,#05abe0 100%) repeat scroll 0 0 transparent;border:8px solid #e5eaed;box-shadow:0 1px 3px 0 rgba(0,0,0,.15);float:right;margin:30px 40px 30px auto;position:relative;height:320px;width:calc(100% - 40px)}.eael-timeline-post:nth-child(even) .eael-timeline-post-inner{float:left;margin-left:40px}.eael-timeline-post-inner:after{border-color:transparent transparent transparent #e5eaed;border-style:solid;border-width:15px;content:"";height:0;position:absolute;right:-36px;top:17px;width:0}.eael-timeline-post:nth-child(2n) .eael-timeline-post-inner:after{border-color:transparent #e5eaed transparent transparent;border-style:solid;border-width:15px;content:"";height:0;left:-36px;position:absolute;top:257px;width:0}.eael-timeline-post:nth-child(2n) .eael-timeline-post-inner::after{border-left-color:transparent!important}.eael-timeline-post p{margin:1.6rem 0 0 0;font-size:.9em;line-height:1.6em}.eael-timeline-post-image{background-size:cover;background-position:center center;background-repeat:no-repeat;display:block;height:100%;overflow:hidden;position:relative;opacity:.6;-webkit-transition:all .3s;-moz-transition:all .3s;transition:all .3s}.eael-timeline-post-title{bottom:40px;position:absolute;width:100%}.eael-timeline-post-title h2{color:#fff;font-size:20px;font-weight:700;letter-spacing:1px;line-height:24px;padding:0 25px;text-align:left;text-transform:uppercase}.eael-timeline-post-excerpt{opacity:0;position:absolute;top:0;left:0;-webkit-transition:all .3s;-moz-transition:all .3s;transition:all .3s}.eael-timeline-post-excerpt p{color:#fff;font-size:14px;padding:25px}.eael-timeline-post-inner:hover .eael-timeline-post-excerpt{opacity:1;top:10px}.eael-timeline-post-inner:hover .eael-timeline-post-image{opacity:.3}.eael-timeline-post time{opacity:0;background-color:rgba(0,0,0,.7);color:#fff;font-size:10px;border-radius:20px;position:absolute;right:-97px;width:100px;height:30px;line-height:30px;text-align:center;top:50px;z-index:99;-webkit-transition:all .5s;-moz-transition:all .5s;transition:all .5s}.eael-timeline-post:nth-child(2n) time{background-color:rgba(0,0,0,.7);border-radius:20px;color:#fff;font-size:10px;height:30px;left:-99px;line-height:30px;position:absolute;text-align:center;top:290px;width:100px;z-index:99}.eael-timeline-post time:before{border-bottom:5px solid rgba(0,0,0,.7);border-left:5px solid transparent;border-right:5px solid transparent;content:"";height:0;left:45px;position:absolute;top:-5px;width:0}.eael-timeline-post:hover time{opacity:1}.eael-timeline-post::after{height:100%}.eael-post-timeline .eael-timeline-post:nth-last-child(2)::after{height:245px}.eael-post-timeline .eael-timeline-post:last-child::after{display:none}@media only screen and (max-width:1366px){.eael-timeline-post-title h2{font-size:.8em}.eael-timeline-post-excerpt p{font-size:13px}}@media only screen and (max-width:1169px){.eael-timeline-post-inner{height:320px}}@media only screen and (max-width:992px){.eael-post-timeline{margin-left:0}.eael-timeline-bullet,.eael-timeline-post-inner:after,.eael-timeline-post:after,.eael-timeline-post:before{display:none}.eael-timeline-post{display:inline-block;float:left!important;width:50%!important;margin:15px auto}.eael-timeline-post-inner{height:320px;padding-bottom:30px}.eael-timeline-post-title{bottom:50px}.eael-timeline-post-title h2{font-size:.8em;line-height:1.2em}.eael-timeline-post .eael-timeline-post-inner{margin:0 10px auto 0;width:90%}.eael-timeline-post:nth-child(2n) .eael-timeline-post-inner{margin:0 auto 0 10px;width:90%}.eael-timeline-post-excerpt{opacity:0!important}.eael-timeline-post-image{opacity:.3}.eael-timeline-post time,.eael-timeline-post:nth-child(2n) time{background-color:#fff;border-radius:0;color:#444;font-size:12px;text-transform:uppercase;left:0;opacity:1;padding-top:3px;top:275px;width:100%}time:before{display:none}}@media only screen and (max-width:767px){.eael-timeline-post{display:block;float:none!important;margin:20px auto;width:100%!important}.eael-timeline-post .eael-timeline-post-inner,.eael-timeline-post:nth-child(2n) .eael-timeline-post-inner{display:block;float:none;margin:0 auto}}@media only screen and (max-width:479px){.eael-timeline-post .eael-timeline-post-inner,.eael-timeline-post:nth-child(2n) .eael-timeline-post-inner{height:250px;margin:0 auto;width:95%}.eael-timeline-post time,.eael-timeline-post:nth-child(2n) time{top:205px}}.eael-team-item{overflow:hidden;position:relative}.team-avatar-rounded figure img{border-radius:50%;height:auto}.eael-team-image>figure{margin:0;padding:0}.eael-team-image>figure img{display:block;margin:0 auto}.eael-team-item .eael-team-content{padding:10px}.eael-team-item .eael-team-member-name{font-size:20px;font-weight:700;letter-spacing:.05em;margin:5px 0;text-transform:uppercase}.eael-team-item .eael-team-member-position{font-size:14px;font-weight:400;letter-spacing:.05em;margin:5px 0 10px;text-transform:uppercase}.eael-team-item .eael-team-content,.eael-team-item .eael-team-content .eael-team-text{font-size:14px;line-height:1.5}.eael-team-content>ul{margin:0;padding:0}.eael-team-content li{display:inline-block;list-style:outside none none;margin-right:10px;text-align:center}.eael-team-content li a{font-size:2.5rem}.eael-team-align-left .eael-team-item .eael-team-content li,.eael-team-align-left .eael-team-item .eael-team-content p,.eael-team-align-left .eael-team-item .eael-team-content ul,.eael-team-align-left .eael-team-item .eael-team-member-name,.eael-team-align-left .eael-team-item .eael-team-member-position,.eael-team-align-left .eael-team-item .eael-team-text{text-align:left}.eael-team-align-right .eael-team-item .eael-team-content li,.eael-team-align-right .eael-team-item .eael-team-content p,.eael-team-align-right .eael-team-item .eael-team-content ul,.eael-team-align-right .eael-team-item .eael-team-member-name,.eael-team-align-right .eael-team-item .eael-team-member-position,.eael-team-align-right .eael-team-item .eael-team-text{text-align:right}.eael-team-align-centered .eael-team-item .eael-team-content li,.eael-team-align-centered .eael-team-item .eael-team-content p,.eael-team-align-centered .eael-team-item .eael-team-content ul,.eael-team-align-centered .eael-team-item .eael-team-member-name,.eael-team-align-centered .eael-team-item .eael-team-member-position,.eael-team-align-centered .eael-team-item .eael-team-text{text-align:center}.eael-team-item.eael-team-members-overlay .eael-team-content{bottom:10px;left:10px;margin-bottom:0;padding-top:15%;opacity:0;overflow:hidden;text-overflow:ellipsis;position:absolute;right:10px;top:10px;-webkit-transition:all 615ms cubic-bezier(.19,1,.22,1) 0s;transition:all 615ms cubic-bezier(.19,1,.22,1) 0s}.eael-team-item.eael-team-members-overlay:hover .eael-team-content{opacity:1}.eael-team-member-social-link>a{display:inline-block;-webkit-transition:all .3s cubic-bezier(.19,1,.22,1) 0s;transition:all .3s cubic-bezier(.19,1,.22,1) 0s}.eael-team-member-social-link>a:focus{outline:0}.eael-testimonial-slider{position:relative}.testimonial-star-rating{padding:0;margin:0}.testimonial-star-rating li{list-style:none;display:inline-block}.testimonial-star-rating li i{color:#d8d8d8}.rating-five .testimonial-star-rating li i{color:#f2b01e}.rating-one .testimonial-star-rating li:first-child i{color:#f2b01e}.rating-two .testimonial-star-rating li:nth-child(1) i,.rating-two .testimonial-star-rating li:nth-child(2) i{color:#f2b01e}.rating-three .testimonial-star-rating li:nth-child(1) i,.rating-three .testimonial-star-rating li:nth-child(2) i,.rating-three .testimonial-star-rating li:nth-child(3) i{color:#f2b01e}.rating-four .testimonial-star-rating li:nth-child(1) i,.rating-four .testimonial-star-rating li:nth-child(2) i,.rating-four .testimonial-star-rating li:nth-child(3) i,.rating-four .testimonial-star-rating li:nth-child(4) i{color:#f2b01e}.eael-testimonial-image img{max-width:100%}.eael-testimonial-image{padding:10px 0 0 0}.eael-testimonial-image>figure{display:block;margin:0}.testimonial-avatar-rounded figure img{border-radius:50%;height:auto}.eael-testimonial-content{margin:0;padding:10px}.eael-testimonial-item>figure{margin:0 auto;padding:0 20px}.eael-testimonial-item .center-text{text-align:center}.eael-testimonial-item .right-text{text-align:right}.eael-testimonial-item .left-text{text-align:left}.eael-testimonial-item .justify-text{text-align:justify}.eael-testimonial-content .eael-testimonial-text{font-size:100%;font-style:italic;line-height:1.5;margin-top:0;margin-bottom:10px;word-wrap:break-word}.eael-testimonial-content .eael-testimonial-user{display:inline-block;font-family:inherit;font-size:105%;font-style:italic;font-weight:400;line-height:1.5;margin-top:0;margin-bottom:0;margin-right:5px}.eael-testimonial-content .eael-testimonial-user-company{display:inline-block;font-family:inherit;font-size:90%;font-style:italic;font-weight:lighter;line-height:1.75;margin-bottom:0;margin-top:1px}.eael-testimonial-image{position:relative}.eael-testimonial-item .eael-testimonial-quote::after{color:inherit!important;content:"\f10e";font-family:FontAwesome;font-size:200%}.eael-testimonial-slider.default-style .eael-testimonial-align-centered .eael-testimonial-image figure img{margin:0 auto}.eael-testimonial-slider.classic-style .eael-testimonial-align-left .eael-testimonial-image figure img,.eael-testimonial-slider.classic-style .eael-testimonial-align-right .eael-testimonial-image figure img,.eael-testimonial-slider.default-style .eael-testimonial-align-left .eael-testimonial-image figure img,.eael-testimonial-slider.default-style .eael-testimonial-align-right .eael-testimonial-image figure img,.eael-testimonial-slider.middle-style .eael-testimonial-align-left .eael-testimonial-image figure img,.eael-testimonial-slider.middle-style .eael-testimonial-align-right .eael-testimonial-image figure img{margin:0}.eael-testimonial-slider.classic-style .eael-testimonial-align-right .eael-testimonial-image figure,.eael-testimonial-slider.default-style .eael-testimonial-align-right .eael-testimonial-image figure,.eael-testimonial-slider.middle-style .eael-testimonial-align-right .eael-testimonial-image figure{text-align:right}.eael-testimonial-slider.classic-style .eael-testimonial-align-left .eael-testimonial-image figure,.eael-testimonial-slider.default-style .eael-testimonial-align-left .eael-testimonial-image figure,.eael-testimonial-slider.middle-style .eael-testimonial-align-left .eael-testimonial-image figure{text-align:left}.eael-testimonial-slider.classic-style .eael-testimonial-align-right .testimonial-classic-style-content,.eael-testimonial-slider.default-style .eael-testimonial-align-right .default-style-testimonial-content,.eael-testimonial-slider.middle-style .eael-testimonial-align-right .eael-testimonial-text,.eael-testimonial-slider.middle-style .eael-testimonial-align-right .middle-style-content{text-align:right}.eael-testimonial-slider.classic-style .eael-testimonial-align-center .testimonial-classic-style-content,.eael-testimonial-slider.default-style .eael-testimonial-align-center .default-style-testimonial-content,.eael-testimonial-slider.middle-style .eael-testimonial-align-center .eael-testimonial-text,.eael-testimonial-slider.middle-style .eael-testimonial-align-center .middle-style-content{text-align:center}.eael-testimonial-slider.classic-style .eael-testimonial-align-left .testimonial-classic-style-content,.eael-testimonial-slider.default-style .eael-testimonial-align-left .default-style-testimonial-content,.eael-testimonial-slider.middle-style .eael-testimonial-align-left .eael-testimonial-text,.eael-testimonial-slider.middle-style .eael-testimonial-align-left .middle-style-content{text-align:left}.eael-testimonial-slider.icon-img-left-content .eael-testimonial-text>p,.eael-testimonial-slider.icon-img-right-content .eael-testimonial-text>p{margin:0}.icon-img-left-content .eael-testimonial-image{float:left;width:30%}.icon-img-left-content .eael-testimonial-content{float:left;width:70%;text-align:left}.icon-img-left-content.eael-testimonial-item{overflow:hidden;position:relative}.icon-img-left-content .eael-testimonial-quote{position:absolute;right:0}.icon-img-left-content .eael-testimonial-text{margin-top:0}.eael-testimonial-align-centered .eael-testimonial-user,.eael-testimonial-align-centered .eael-testimonial-user-company{float:none;text-align:center}.eael-testimonial-align-centered .eael-testimonial-image>figure img{display:block;margin-left:auto!important;margin-right:auto!important}.icon-img-right-content .eael-testimonial-image{float:right;width:30%}.icon-img-right-content .eael-testimonial-content{float:right;width:70%;text-align:right}.icon-img-right-content.eael-testimonial-item{overflow:hidden;position:relative}.icon-img-right-content .eael-testimonial-quote{position:absolute}.icon-img-right-content .eael-testimonial-text{margin-top:0}.eael-testimonial-item{position:relative}.classic-style.testimonial-alignment-center .eael-testimonial-image,.default-style.testimonial-alignment-center .eael-testimonial-image{text-align:center}.classic-style.testimonial-alignment-right .eael-testimonial-image,.default-style.testimonial-alignment-right .eael-testimonial-image{text-align:right}.classic-style.testimonial-alignment-center .eael-testimonial-image>figure,.default-style.testimonial-alignment-center .eael-testimonial-image>figure{text-align:center}.eael-testimonial-slider.icon-img-left-content .eael-testimonial-align-centered .eael-testimonial-content{text-align:center}.eael-testimonial-slider.icon-img-left-content .eael-testimonial-align-left .eael-testimonial-content{text-align:left}.eael-testimonial-slider.icon-img-left-content .eael-testimonial-align-right .eael-testimonial-content{text-align:right}.eael-testimonial-slider.icon-img-right-content .eael-testimonial-align-centered .eael-testimonial-content{text-align:center}.eael-testimonial-slider.icon-img-right-content .eael-testimonial-align-left .eael-testimonial-content{text-align:left}.eael-testimonial-slider.icon-img-right-content .eael-testimonial-align-right .eael-testimonial-content{text-align:right}span.eael-testimonial-quote{position:absolute;right:10px;top:10px}.eael-testimonial-item.left .eael-testimonial-image{text-align:left}.eael-testimonial-item.center .eael-testimonial-image{text-align:center}.eael-testimonial-item.right .eael-testimonial-image{text-align:right}.eael-testimonial-inline-bio .eael-testimonial-image{float:left}.eael-testimonial-inline-bio .bio-text{padding-top:10px}.eael-testimonial-content.eael-testimonial-inline-bio{overflow:hidden;margin-bottom:0;padding-bottom:0}.eael-testimonial-inline-bio .bio-text,.eael-testimonial-inline-bio .testimonial-star-rating{float:left;width:65%}.eael-testimonial-content.eael-testimonial-inline-bio{text-align:left!important}.testimonial-inline-style .eael-testimonial-image{float:left;max-width:100%;padding:0;margin-right:15px}.testimonial-inline-style{overflow:hidden;text-align:left}.content-top-icon-title-inline .eael-testimonial-align-left .eael-testimonial-text,.content-top-icon-title-inline .eael-testimonial-text{text-align:left}.content-top-icon-title-inline .eael-testimonial-align-centered .eael-testimonial-text{text-align:center}.content-top-icon-title-inline .eael-testimonial-align-right .eael-testimonial-text{text-align:right}.content-bottom-icon-title-inline .eael-testimonial-align-left .eael-testimonial-text,.content-bottom-icon-title-inline .eael-testimonial-text{text-align:left}.content-bottom-icon-title-inline .eael-testimonial-align-centered .eael-testimonial-text{text-align:center}.content-bottom-icon-title-inline .eael-testimonial-align-right .eael-testimonial-text{text-align:right}.eael-post-grid .woocommerce ul.products,.eael-product-grid .woocommerce ul.products{display:grid;grid-gap:25px;margin:0!important;padding:0!important}.eael-post-grid .woocommerce ul.products:after,.eael-post-grid .woocommerce ul.products:before,.eael-product-grid .woocommerce ul.products:after,.eael-product-grid .woocommerce ul.products:before{display:none}.eael-post-grid .woocommerce ul.products .product,.eael-product-grid .woocommerce ul.products .product{width:100%;margin:0;padding:0}.eael-post-grid .woocommerce ul.products.eael-product-columns-1,.eael-product-grid .woocommerce ul.products.eael-product-columns-1{grid-template-columns:100%}.eael-post-grid .woocommerce ul.products.eael-product-columns-2,.eael-product-grid .woocommerce ul.products.eael-product-columns-2{grid-template-columns:repeat(2,1fr)}@media screen and (max-width:480px){.eael-post-grid .woocommerce ul.products.eael-product-columns-2,.eael-product-grid .woocommerce ul.products.eael-product-columns-2{grid-template-columns:repeat(1,1fr)}}.eael-post-grid .woocommerce ul.products.eael-product-columns-3,.eael-product-grid .woocommerce ul.products.eael-product-columns-3{grid-template-columns:repeat(3,1fr)}@media screen and (max-width:767px){.eael-post-grid .woocommerce ul.products.eael-product-columns-3,.eael-product-grid .woocommerce ul.products.eael-product-columns-3{grid-template-columns:repeat(2,1fr)}}@media screen and (max-width:480px){.eael-post-grid .woocommerce ul.products.eael-product-columns-3,.eael-product-grid .woocommerce ul.products.eael-product-columns-3{grid-template-columns:repeat(1,1fr)}}.eael-post-grid .woocommerce ul.products.eael-product-columns-4,.eael-product-grid .woocommerce ul.products.eael-product-columns-4{grid-template-columns:repeat(4,1fr)}@media screen and (max-width:767px){.eael-post-grid .woocommerce ul.products.eael-product-columns-4,.eael-product-grid .woocommerce ul.products.eael-product-columns-4{grid-template-columns:repeat(2,1fr)}}@media screen and (max-width:480px){.eael-post-grid .woocommerce ul.products.eael-product-columns-4,.eael-product-grid .woocommerce ul.products.eael-product-columns-4{grid-template-columns:repeat(1,1fr)}}.eael-post-grid .woocommerce ul.products.eael-product-columns-5,.eael-product-grid .woocommerce ul.products.eael-product-columns-5{grid-template-columns:repeat(5,1fr)}@media screen and (max-width:767px){.eael-post-grid .woocommerce ul.products.eael-product-columns-5,.eael-product-grid .woocommerce ul.products.eael-product-columns-5{grid-template-columns:repeat(2,1fr)}}@media screen and (max-width:480px){.eael-post-grid .woocommerce ul.products.eael-product-columns-5,.eael-product-grid .woocommerce ul.products.eael-product-columns-5{grid-template-columns:repeat(1,1fr)}}.eael-post-grid .woocommerce ul.products.eael-product-columns-6,.eael-product-grid .woocommerce ul.products.eael-product-columns-6{grid-template-columns:repeat(6,1fr)}@media screen and (max-width:767px){.eael-post-grid .woocommerce ul.products.eael-product-columns-6,.eael-product-grid .woocommerce ul.products.eael-product-columns-6{grid-template-columns:repeat(2,1fr)}}@media screen and (max-width:480px){.eael-post-grid .woocommerce ul.products.eael-product-columns-6,.eael-product-grid .woocommerce ul.products.eael-product-columns-6{grid-template-columns:repeat(1,1fr)}}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product,.eael-product-grid.eael-product-simple .woocommerce ul.products li.product{position:relative;float:left;overflow:hidden;text-align:center;padding:0;border-radius:0;background-color:#fff;box-shadow:none}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product a,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product a,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product a,.eael-product-grid.eael-product-simple .woocommerce ul.products li.product a{text-decoration:none}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product a:hover,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product a:hover,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product a:hover,.eael-product-grid.eael-product-simple .woocommerce ul.products li.product a:hover{outline:0;box-shadow:none}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product img,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product img,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product img,.eael-product-grid.eael-product-simple .woocommerce ul.products li.product img{width:100%;height:auto;backface-visibility:hidden}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .woocommerce-loop-product__title,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .woocommerce-loop-product__title,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .woocommerce-loop-product__title,.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:16px;font-weight:700;line-height:1;color:#333;margin:25px 0 12px;padding:0}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .onsale,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .onsale,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .onsale,.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .onsale{display:block;line-height:170px;font-size:13px;text-align:center;letter-spacing:0;text-shadow:0 1px 1px rgba(0,0,0,.6);text-transform:uppercase;color:#fff;background-color:#ff2a13;border-radius:0;border:none;box-shadow:none;position:absolute;height:100px;width:200px;z-index:1;left:-100px;top:-50px;right:auto;margin:0;padding:0;transform:rotate(-45deg)}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .price,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .price,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .price,.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .price{font-size:14px;margin-bottom:0}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .price del,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .price del,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .price del,.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .price del{opacity:.5;display:inline-block}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .price ins,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .price ins,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .price ins,.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .price ins{font-weight:400;background-color:transparent;color:#ff2a13}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .star-rating,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .star-rating,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .star-rating,.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .star-rating{display:block;float:none;font-size:14px;margin:10px auto}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .button.add_to_cart_button,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button,.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .button.add_to_cart_button{display:block;font-size:14px;font-weight:400;line-height:38px;text-align:center;text-transform:uppercase;color:#fff;background-color:#333;padding:0;margin:15px;border-radius:0}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button:focus,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .button.add_to_cart_button:focus,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button:focus,.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .button.add_to_cart_button:focus{outline:0}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product a.added_to_cart,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product a.added_to_cart,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product a.added_to_cart,.eael-product-grid.eael-product-simple .woocommerce ul.products li.product a.added_to_cart{display:block;margin:0 0 15px 0;padding:0;font-size:14px;line-height:1;text-transform:capitalize;color:#333;background-color:transparent}.eael-post-grid.eael-product-simple .woocommerce ul.products li.product,.eael-product-grid.eael-product-simple .woocommerce ul.products li.product{border:1px solid #eee}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product{border:1px solid transparent}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product a.added_to_cart,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product a.added_to_cart{visibility:hidden;transition:none}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product:hover,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product:hover{border:1px solid #eee}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product:hover .button.add_to_cart_button,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product:hover a.added_to_cart,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product:hover .button.add_to_cart_button,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product:hover a.added_to_cart{visibility:visible}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product{position:relative;float:left;overflow:hidden;text-align:center;padding:0 0 15px 0;border-radius:0;background-color:#fff;box-shadow:none}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product a,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product a{text-decoration:none}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product a:hover,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product a:hover{outline:0;box-shadow:none}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product img,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product img{width:100%;height:auto;margin:0;backface-visibility:hidden}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay{position:relative;overflow:hidden;line-height:0}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .button-wrap,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .button-wrap{position:absolute;top:50%;left:0;right:0;text-align:center;transform:translateY(-50%)}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link{display:inline-block;font-size:14px;line-height:38px;text-align:center;color:#fff;background-color:#333;width:38px;height:38px;border-style:none;border-radius:50%;vertical-align:middle;padding:0;margin:0 5px;transform:translateY(20px);opacity:0;transition:transform .2s,opacity .3s}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:focus,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart:focus,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link:focus,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:focus,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart:focus,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link:focus{outline:0}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button{font-size:0}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:before,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:before{display:none}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:after,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:after{content:"\f217";font:normal normal normal 14px/1 FontAwesome;font-size:14px;line-height:38px;text-rendering:auto;-webkit-font-smoothing:antialiased;vertical-align:middle;margin:0;padding:0}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button.loading:before,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button.loading:before{display:none}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button.loading:after,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button.loading:after{content:"\f110";display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:14px;line-height:38px;color:#fff;height:auto;width:auto;position:relative;top:0;left:0;margin:0;padding:0}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart{font-size:0}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart:after,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart:after{content:"\f06e";font:normal normal normal 14px/1 FontAwesome;font-size:14px;line-height:38px;color:#fff;text-rendering:auto;-webkit-font-smoothing:antialiased;vertical-align:middle;margin:0;padding:0}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .woocommerce-loop-product__title,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:16px;font-weight:700;line-height:1;color:#333;margin:25px 0 12px;padding:0}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .onsale,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .onsale{display:block;line-height:170px;font-size:13px;text-align:center;letter-spacing:0;text-shadow:0 1px 1px rgba(0,0,0,.6);text-transform:uppercase;color:#fff;background-color:#ff2a13;border-radius:0;border:none;box-shadow:none;position:absolute;height:100px;width:200px;z-index:1;left:-100px;top:-50px;right:auto;margin:0;padding:0;transform:rotate(-45deg)}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .price,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .price{font-size:14px;margin-bottom:0}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .price del,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .price del{opacity:.5;display:inline-block}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .price ins,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .price ins{font-weight:400;background-color:transparent;color:#ff2a13}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .star-rating,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .star-rating{display:block;float:none;font-size:14px;margin:10px auto}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product:hover .overlay .add_to_cart_button,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product:hover .overlay a,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product:hover .overlay .add_to_cart_button,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product:hover .overlay a{opacity:1;transform:translateY(0)}.eael-contact-form-7.eael-contact-form-btn-align-center input.wpcf7-submit,.eael-contact-form.eael-contact-form-align-center{margin-left:auto!important;margin-right:auto!important;display:block;float:none}.eael-contact-form-7.eael-contact-form-btn-align-left input.wpcf7-submit,.eael-contact-form.eael-contact-form-align-left{float:left;width:auto}.eael-contact-form-7.eael-contact-form-btn-align-right input.wpcf7-submit,.eael-contact-form.eael-contact-form-align-right{float:right;width:auto}.eael-contact-form-7 .uneditable-input,.eael-contact-form-7 input[type=color],.eael-contact-form-7 input[type=date],.eael-contact-form-7 input[type=datetime-local],.eael-contact-form-7 input[type=datetime],.eael-contact-form-7 input[type=email],.eael-contact-form-7 input[type=month],.eael-contact-form-7 input[type=number],.eael-contact-form-7 input[type=password],.eael-contact-form-7 input[type=search],.eael-contact-form-7 input[type=tel],.eael-contact-form-7 input[type=text],.eael-contact-form-7 input[type=time],.eael-contact-form-7 input[type=url],.eael-contact-form-7 input[type=week],.eael-contact-form-7 textarea{-webkit-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}.eael-contact-form-7 .wpcf7-form::after,.eael-contact-form-7 .wpcf7-form::before{content:" ";clear:both;display:table}.eael-contact-form-7 .wpcf7-form:after{clear:both;content:"";font-size:0;height:0;display:block;visibility:hidden}.eael-contact-form-7 .wpcf7-form .wpcf7-form-control-wrap,.eael-contact-form-7 .wpcf7-form label{display:block}.eael-contact-form-7 .wpcf7-form p{margin-bottom:0}.eael-contact-form-7.labels-hide .wpcf7-form label{display:none}.eael-contact-form-7-title{margin-bottom:10px}.eael-contact-form-7-description{margin-bottom:20px}.eael-contact-form-7-button-full-width .wpcf7-form-control.wpcf7-submit{width:100%}.eael-weform-container input,.eael-weform-container textarea{height:auto;padding:10px}.eael-contact-form-align-center .eael-weform-container,.eael-contact-form-btn-align-center .eael-weform-container ul.wpuf-form .wpuf-submit input[type=submit]{margin-left:auto!important;margin-right:auto!important;display:block;float:none}.eael-contact-form-align-left .eael-weform-container,.eael-contact-form-btn-align-left .eael-weform-container ul.wpuf-form .wpuf-submit input[type=submit]{float:left;width:auto}.eael-contact-form-align-right .eael-weform-container,.eael-contact-form-btn-align-right .eael-weform-container ul.wpuf-form .wpuf-submit input[type=submit]{float:right;width:auto}.eael-weform-container ul.wpuf-form li .wpuf-fields input[type=email],.eael-weform-container ul.wpuf-form li .wpuf-fields input[type=number],.eael-weform-container ul.wpuf-form li .wpuf-fields input[type=password],.eael-weform-container ul.wpuf-form li .wpuf-fields input[type=text],.eael-weform-container ul.wpuf-form li .wpuf-fields input[type=url],.eael-weform-container ul.wpuf-form li .wpuf-fields textarea{max-width:100%}.eael-ninja-container input,.eael-ninja-container textarea{height:auto;padding:10px}.eael-contact-form-align-center .eael-ninja-container,.eael-contact-form-btn-align-center .eael-ninja-container .nf-field .nf-field-element input[type=button]{margin-left:auto!important;margin-right:auto!important;display:block;float:none}.eael-contact-form-align-left .eael-ninja-container,.eael-contact-form-btn-align-left .eael-ninja-container .nf-field .nf-field-element input[type=button]{float:left;width:auto}.eael-contact-form-align-right .eael-ninja-container,.eael-contact-form-btn-align-right .eael-ninja-container .nf-field .nf-field-element input[type=button]{float:right;width:auto}.eael-ninja-container .nf-field .nf-field-element input[type=password],.eael-ninja-container .nf-field .nf-field-element input[type=url],.eael-ninja-container .nf-field .nf-field-element textarea,.eael-ninja-container ul.wpuf-form li .wpuf-fields input[type=email],.eael-ninja-container ul.wpuf-form li .wpuf-fields input[type=number],.eael-ninja-container ul.wpuf-form li .wpuf-fields input[type=text]{max-width:100%}.eael-ninja-form .nf-form-title{display:none}.eael-ninja-form-title-yes .nf-form-title{display:block}.eael-ninja-form .title-description-hide .nf-form-title{display:none}.eael-ninja-form.title-description-hide .nf-form-title{display:none}.eael-ninja-form .nf-field-label{display:none}.eael-ninja-form-labels-yes .nf-field-label{display:block}.eael-ninja-form .submit-container input[type=button]{border:0;border-radius:0}.eael-ninja-form-button-full-width .submit-container input[type=button]{width:100%}.eael-gravity-form-align-default,.eael-gravity-form-align-left,.eael-gravity-form-btn-align-left{text-align:left}.eael-gravity-form-align-right,.eael-gravity-form-btn-align-right{text-align:right}.eael-gravity-form-align-center,.eael-gravity-form-btn-align-center{text-align:center}.eael-gravity-form .gform_wrapper .gform_footer{margin:0;padding:0}.gform_wrapper form li,.gform_wrapper li{list-style:none}.eael-gravity-form .gform_wrapper ul.gform_fields li.gfield{padding:0}.eael-gravity-form .gform_wrapper textarea{padding:0}.eael-gravity-form .gform_wrapper .gform_footer input.button,.eael-gravity-form .gform_wrapper .gform_footer input[type=submit],.eael-gravity-form .gform_wrapper .gform_page_footer input.button,.eael-gravity-form .gform_wrapper .gform_page_footer input[type=submit]{margin:0}.eael-gravity-form.title-description-hide .gform_heading{display:none}.eael-gravity-form.labels-hide .gform_wrapper .field_sublabel_below .ginput_complex.ginput_container label,.eael-gravity-form.labels-hide .gform_wrapper .top_label .gfield_label{display:none}.eael-gravity-form-button-full-width .gform_wrapper .gform_footer input[type=submit]{width:100%}.eael-post-grid{margin:0 -10px}.eael-grid-post{float:left;padding:10px}.eael-post-carousel .eael-grid-post{float:none;padding:0}.eael-grid-post-holder{border:1px solid rgba(0,0,0,.1)}.eael-grid-post-holder-inner{height:100%}.eael-entry-media{position:relative}.eael-entry-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2;-webkit-transition:opacity .2s ease-in-out,-webkit-transform .25s cubic-bezier(.19,1,.22,1);-moz-transition:opacity .2s ease-in-out,-moz-transform .25s cubic-bezier(.19,1,.22,1);transition:opacity .2s ease-in-out,transform .25s cubic-bezier(.19,1,.22,1)}.eael-entry-overlay>a{position:absolute;top:0;left:0;width:100%;height:100%;z-index:3}.eael-entry-title{margin:10px 0 5px;font-size:1.2em}.eael-entry-thumbnail img{width:100%;max-width:100%;vertical-align:middle}.eael-entry-thumbnail>img{height:100%}.eael-entry-footer .eael-author-avatar{width:50px}.eael-entry-footer .eael-author-avatar .avatar{border-radius:50%}.eael-post-grid .eael-entry-footer .eael-entry-meta{padding-left:8px;text-align:left}.eael-grid-post .eael-entry-meta{display:flex;flex-direction:row}.eael-grid-post .eael-entry-footer .eael-entry-meta{flex-direction:column}.eael-entry-meta>div{font-size:12px;line-height:1.2;padding-bottom:5px}.eael-grid-post-excerpt p{margin:0;font-size:14px}.eael-entry-meta .eael-entry-footer .eael-posted-by{display:block}.eael-grid-post .eael-entry-footer,.eael-grid-post .eael-entry-wrapper{padding:15px}.eael-post-grid .eael-entry-header .eael-entry-meta span.eael-posted-on{padding-left:5px}.eael-post-grid .eael-entry-header .eael-entry-meta span.eael-posted-on::before{content:'\f111';font-family:FontAwesome;color:inherit;opacity:.4;font-size:.8em;padding-right:7px}.eael-load-more-button-wrap{display:flex}.eael-load-more-button{display:flex;align-items:center;justify-content:center}.eael-load-more-button{padding:1em 2em;border:0 solid;font-size:16px}.eael-load-more-button .button__loader{left:-100%;top:auto;margin-right:5px;transition:all .2s}.eael-load-more-button>span{margin-left:-20px}.eael-load-more-button.button--loading>span{margin-left:0}.eael-load-more-button.button--loading .button__loader{left:0}.eael-btn-loader,.eael-btn-loader:after{border-radius:50%;width:20px;height:20px}.eael-btn-loader{font-size:10px;position:relative;text-indent:-9999em;border-top:4px solid rgba(255,255,255,.2);border-right:4px solid rgba(255,255,255,.2);border-bottom:4px solid rgba(255,255,255,.2);border-left:4px solid #fff;transform:translateZ(0);animation:loaderSpin 1.1s infinite linear}@keyframes loaderSpin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.eael-entry-medianone{position:relative}.eael-entry-overlay{display:flex;align-items:center;justify-content:center}.eael-entry-overlay>i{color:#fff}.eael-entry-overlay.fade-in{visibility:hidden;opacity:0;transition:.3s}.eael-entry-medianone:hover .eael-entry-overlay.fade-in{visibility:visible;opacity:1}.eael-entry-medianone:hover .eael-entry-overlay.fade-in>i{transform:translate(0);opacity:1}.eael-entry-overlay.zoom-in{transform:scale(.9);visibility:hidden;opacity:0;transition:.3s}.eael-entry-medianone:hover .eael-entry-overlay.zoom-in{visibility:visible;opacity:1;transform:scale(1)}.eael-entry-overlay.slide-up{transform:translateY(100%);visibility:hidden;opacity:0;transition:.3s}.eael-entry-medianone:hover .eael-entry-overlay.slide-up{transform:translateY(0);visibility:visible;opacity:1}.eael-entry-medianone{overflow:hidden}.eael-entry-media.grid-hover-style-fade-in .eael-entry-overlay{opacity:0}.eael-entry-media.grid-hover-style-fade-in:hover .eael-entry-overlay{opacity:1}.eael-entry-media.grid-hover-style-none .eael-entry-overlay{display:none}.eael-entry-media.grid-hover-style-zoom-in .eael-entry-overlay{transform:scale(.4);opacity:0}.eael-entry-media.grid-hover-style-zoom-in:hover .eael-entry-overlay{transform:scale(1);opacity:1}.eael-entry-media.grid-hover-style-animate-down .eael-entry-overlay{transform:translateY(-100%)}.eael-entry-media.grid-hover-style-animate-down .eael-entry-overlay>i{transform:translateY(-100px);transition-delay:.1s;transition-duration:.3s}.eael-entry-media.grid-hover-style-animate-down:hover .eael-entry-overlay{transform:translate(0)}.eael-entry-media.grid-hover-style-animate-down:hover .eael-entry-overlay>i{transform:translateY(0)}.eael-entry-media.grid-hover-style-animate-up .eael-entry-overlay{transform:translateY(100%);visibility:hidden;opacity:0}.eael-entry-media.grid-hover-style-animate-up .eael-entry-overlay>i{transform:translateY(100px);transition-delay:.1s;transition-duration:.3s}.eael-entry-media.grid-hover-style-animate-up:hover .eael-entry-overlay{transform:translate(0);visibility:visible;opacity:1}.eael-entry-media.grid-hover-style-animate-up:hover .eael-entry-overlay>i{transform:translateY(0)}.eael-col-1 .eael-post-grid-column{float:none;width:100%}.eael-col-2 .eael-post-grid-column{float:left;width:50%}.eael-col-3 .eael-post-grid-column{float:left;width:33.3333%}.eael-col-4 .eael-post-grid-column{float:left;width:25%}.eael-col-5 .eael-post-grid-column{float:left;width:20%}.eael-col-6 .eael-post-grid-column{float:left;width:16.6666%}@media only screen and (max-width:979px){.eael-col-1 .eael-post-grid-column,.eael-col-2 .eael-post-grid-column,.eael-col-3 .eael-post-grid-column,.eael-col-4 .eael-post-grid-column,.eael-col-5 .eael-post-grid-column,.eael-col-6 .eael-post-grid-column{width:33.3333%}}@media only screen and (max-width:767px){.eael-col-1 .eael-post-grid-column,.eael-col-2 .eael-post-grid-column,.eael-col-3 .eael-post-grid-column,.eael-col-4 .eael-post-grid-column,.eael-col-5 .eael-post-grid-column,.eael-col-6 .eael-post-grid-column{width:50%}}@media only screen and (max-width:480px){.eael-col-1 .eael-post-grid-column,.eael-col-2 .eael-post-grid-column,.eael-col-3 .eael-post-grid-column,.eael-col-4 .eael-post-grid-column,.eael-col-5 .eael-post-grid-column,.eael-col-6 .eael-post-grid-column{float:none;width:100%}}.eael-author-avatar>a{display:block}.eael-entry-footer{overflow:hidden;display:flex}.eael-entry-footer>div{display:inline-block;float:left}.eael-infobox .infobox-icon{height:auto}.eael-infobox .infobox-icon .infobox-icon-wrap{display:block;width:100%;height:auto;transition:.3s}.eael-infobox .infobox-icon .infobox-icon-wrap i{transition:.3s}.eael-infobox-content-align-left .eael-infobox .infobox-button,.eael-infobox-content-align-left .eael-infobox .infobox-content,.eael-infobox-content-align-left .eael-infobox .infobox-icon{text-align:left}.eael-infobox-content-align-right .eael-infobox .infobox-button,.eael-infobox-content-align-right .eael-infobox .infobox-content,.eael-infobox-content-align-right .eael-infobox .infobox-icon{text-align:right}.eael-infobox-content-align-center .eael-infobox .infobox-button,.eael-infobox-content-align-center .eael-infobox .infobox-content,.eael-infobox-content-align-center .eael-infobox .infobox-icon{text-align:center}.eael-infobox-icon-bg-shape-circle .infobox-icon .infobox-icon-wrap,.eael-infobox-icon-bg-shape-radius .infobox-icon .infobox-icon-wrap,.eael-infobox-icon-bg-shape-square .infobox-icon .infobox-icon-wrap{width:90px;height:90px;text-align:center}.eael-infobox-icon-hover-bg-shape-square:hover .infobox-icon .infobox-icon-wrap{border-radius:0}.eael-infobox-icon-bg-shape-radius .infobox-icon .infobox-icon-wrap,.eael-infobox-icon-hover-bg-shape-radius:hover .infobox-icon .infobox-icon-wrap{border-radius:15px}.eael-infobox-icon-bg-shape-radius .infobox-icon .infobox-icon-wrap{display:flex;align-items:center;justify-content:center}.eael-infobox-icon-bg-shape-circle .infobox-icon .infobox-icon-wrap,.eael-infobox-icon-hover-bg-shape-circle:hover .infobox-icon .infobox-icon-wrap{border-radius:50%}.eael-infobox-icon-bg-shape-circle .infobox-icon .infobox-icon-wrap i,.eael-infobox-icon-bg-shape-square .infobox-icon .infobox-icon-wrap i{margin-top:50%;transform:translateY(-50%)}.eael-infobox .infobox-button a.eael-infobox-button{display:inline-block;padding:5px 10px;-webkit-transition:all .3s ease-in-out 0s;-o-transition:all .3s ease-in-out 0s;transition:all .3s ease-in-out 0s}.eael-infobox-content-align-left.eael-infobox-icon-bg-shape-circle .infobox-icon,.eael-infobox-content-align-left.eael-infobox-icon-bg-shape-radius .infobox-icon,.eael-infobox-content-align-left.eael-infobox-icon-bg-shape-square .infobox-icon{display:flex;justify-content:flex-start}.eael-infobox-content-align-center.eael-infobox-icon-bg-shape-circle .infobox-icon,.eael-infobox-content-align-center.eael-infobox-icon-bg-shape-radius .infobox-icon,.eael-infobox-content-align-center.eael-infobox-icon-bg-shape-square .infobox-icon{display:flex;justify-content:center}.eael-infobox-content-align-right.eael-infobox-icon-bg-shape-circle .infobox-icon,.eael-infobox-content-align-right.eael-infobox-icon-bg-shape-radius .infobox-icon,.eael-infobox-content-align-right.eael-infobox-icon-bg-shape-square .infobox-icon{display:flex;justify-content:flex-end}.eael-infobox.icon-on-left{position:relative;z-index:0;display:flex}.eael-infobox.icon-on-left .infobox-icon-wrap,.eael-infobox.icon-on-right .infobox-icon-wrap{justify-content:center;display:flex!important;align-items:center}.eael-infobox.icon-on-left .infobox-icon .infobox-icon-wrap{background:0 0;border:0;text-align:left;height:auto;display:block}.eael-infobox .infobox-content p{margin:0 0 15px}.eael-infobox.icon-on-left .infobox-icon .infobox-icon-wrap i{margin-top:0;transform:translateY(0)}.eael-infobox.icon-on-left .infobox-content{padding-left:15px;flex:1 1 auto}.eael-infobox.icon-on-left .infobox-content .title{line-height:1;margin:0 0 10px 0}.eael-infobox.icon-on-right{position:relative;z-index:0;display:flex;flex-direction:row-reverse}.eael-infobox.icon-on-right .infobox-icon .infobox-icon-wrap{background:0 0;border:0;text-align:right;width:auto;height:auto;display:block}.eael-infobox.icon-on-right .infobox-icon .infobox-icon-wrap i{margin-top:0;transform:translateY(0)}.eael-infobox.icon-on-right .infobox-content{padding-right:15px;text-align:right;flex:1 1 auto;box-sizing:border-box}.eael-infobox.icon-on-right .infobox-content .title{line-height:1;margin:0 0 10px 0}.eael-infobox .infobox-icon img{-webkit-transition:all .3s ease-in-out 0s;-o-transition:all .3s ease-in-out 0s;transition:all .3s ease-in-out 0s}.eael-infobox-hover-img-shape-square:hover .eael-infobox .infobox-icon img{border-radius:0}.eael-infobox-hover-img-shape-circle:hover .eael-infobox .infobox-icon img,.eael-infobox-shape-circle .eael-infobox .infobox-icon img{border-radius:50%}.eael-infobox-hover-img-shape-radius:hover .eael-infobox .infobox-icon img,.eael-infobox-shape-radius .eael-infobox .infobox-icon img{border-radius:15px}.eael-elements-flip-box-container{position:relative;height:300px;width:100%}.eael-elements-flip-box-container .flipbox-button{display:inline-block;-webkit-transition:all .4s;-o-transition:all .4s;transition:all .4s}.eael-elements-flip-box-container a{display:block}.eael-elements-flip-box-vertical-align{width:100%}.eael-elements-flip-box-padding{padding:0 30px 5px 30px}.eael-elements-flip-box-icon-image{display:inline-block;margin:0 auto 0 auto;line-height:1}.eael-elements-flip-box-icon-image.eael_eleements_flip_front_icon_style_background{background:#ccc}.eael_eleements_flip_front_icon_style_bordered{border:2px solid #fff}.eael_flip_box_icon_border_round{border-radius:100px}.eael_eleements_flip_front_icon_style_background,.eael_eleements_flip_front_icon_style_bordered{padding:15px}.eael-elements-flip-box-icon-image i{font-size:40px;line-height:40px;width:40px}.eael-elements-slider-display-table{width:100%}.eael-elements-flip-box-front-container{text-align:center;position:absolute;top:0;left:0;z-index:2;width:100%;height:100%;background:#0e9dd2;color:#fff;border-color:#000;-webkit-display:flex;display:flex;-webkit-align-items:center;align-items:center}.eael-elements-flip-box-content,.eael-elements-flip-box-heading{color:#fff}.eael-elements-flip-box-heading.flipbox-linked-title{color:#fff;font-size:1.5em;font-weight:700}.eael-elements-flip-box-rear-container{text-align:center;position:absolute;top:0;left:0;width:100%;height:100%;background:#444;color:#fff;display:flex;-webkit-align-items:center;align-items:center;border-color:#000}.eael-elements-button-floating-container{position:fixed;z-index:100}.eael-elements-button-floating-container .eael-elements-button{margin-top:0;font-size:14px;position:relative;padding:14px 20px}.eael-elements-button{cursor:pointer;display:inline-block;background:#077bbe;color:#fff;line-height:1;padding:16px 25px;margin-top:15px}.eael-elements-button:hover{background:#077bbe;color:#fff}.eael-elements-flip-box-container{perspective:1000px}.eael-elements-flip-box-front-container,.eael-elements-flip-box-rear-container{transition-duration:.5s;transition-property:all;transition-timing-function:ease}.eael-elements-flip-box-flip-card{width:100%;height:100%;transform-style:preserve-3d;transition:all .5s ease}.eael-elements-flip-box-front-container,.eael-elements-flip-box-rear-container{-moz-backface-visibility:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:rotateX(0);transform:rotateY(0)}.eael-animate-flip.eael-animate-up .eael-elements-flip-box-rear-container,.eael-animate-flip.eael-animate-up.eael-elements-flip-box-container:hover .eael-elements-flip-box-flip-card{transform:rotateX(180deg)}.eael-animate-flip.eael-animate-down .eael-elements-flip-box-rear-container,.eael-animate-flip.eael-animate-down.eael-elements-flip-box-container:hover .eael-elements-flip-box-flip-card{transform:rotateX(-180deg)}.eael-animate-flip.eael-animate-left .eael-elements-flip-box-rear-container,.eael-animate-flip.eael-animate-left.eael-elements-flip-box-container:hover .eael-elements-flip-box-flip-card{transform:rotateY(-180deg)}.eael-animate-flip.eael-animate-right .eael-elements-flip-box-rear-container,.eael-animate-flip.eael-animate-right.eael-elements-flip-box-container:hover .eael-elements-flip-box-flip-card{transform:rotateY(180deg)}.eael-animate-push.eael-elements-flip-box-container,.eael-animate-slide.eael-elements-flip-box-container{overflow:hidden}.eael-animate-push .eael-elements-flip-box-rear-container,.eael-animate-slide .eael-elements-flip-box-rear-container{z-index:3}.eael-animate-push.eael-animate-up .eael-elements-flip-box-rear-container,.eael-animate-slide.eael-animate-up .eael-elements-flip-box-rear-container{top:100%}.eael-animate-push.eael-animate-up.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container,.eael-animate-slide.eael-animate-up.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container{top:0}.eael-animate-push.eael-animate-down .eael-elements-flip-box-rear-container,.eael-animate-slide.eael-animate-down .eael-elements-flip-box-rear-container{top:auto;bottom:100%}.eael-animate-push.eael-animate-down.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container,.eael-animate-slide.eael-animate-down.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container{top:auto;bottom:0}.eael-animate-push.eael-animate-left .eael-elements-flip-box-rear-container,.eael-animate-slide.eael-animate-left .eael-elements-flip-box-rear-container{left:100%}.eael-animate-push.eael-animate-left.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container,.eael-animate-slide.eael-animate-left.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container{left:0}.eael-animate-push.eael-animate-right .eael-elements-flip-box-rear-container,.eael-animate-slide.eael-animate-right .eael-elements-flip-box-rear-container{left:auto;right:100%}.eael-animate-push.eael-animate-right.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container,.eael-animate-slide.eael-animate-right.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container{left:auto;right:0}.eael-animate-push.eael-animate-up.eael-elements-flip-box-container:hover .eael-elements-flip-box-front-container{top:-100%}.eael-animate-push.eael-animate-down.eael-elements-flip-box-container:hover .eael-elements-flip-box-front-container{top:100%}.eael-animate-push.eael-animate-left.eael-elements-flip-box-container:hover .eael-elements-flip-box-front-container{left:-100%}.eael-animate-push.eael-animate-right.eael-elements-flip-box-container:hover .eael-elements-flip-box-front-container{left:100%}.eael-animate-zoom-in .eael-elements-flip-box-rear-container{opacity:0;transform:scale(.75);z-index:3}.eael-animate-zoom-in.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container{opacity:1;transform:scale(1)}.eael-animate-zoom-out.eael-elements-flip-box-container:hover .eael-elements-flip-box-front-container{opacity:0;transform:scale(.75)}.eael-animate-fade.eael-elements-flip-box-container:hover .eael-elements-flip-box-front-container{opacity:0}.eael-flipbox-content-align-right .eael-elements-flip-box-padding{text-align:right}.eael-flipbox-content-align-left .eael-elements-flip-box-padding{text-align:left}.eael-flipbox-content-align-center .eael-elements-flip-box-padding{text-align:center}.eael-flipbox-img-circle .eael-elements-flip-box-icon-image img,.eael-flipbox-img-circle .flipbox-back-image-icon img{border-radius:50%;overflow:hidden}.eael-call-to-action{width:100%;height:auto;display:block;padding:30px;font-size:16px;color:#4d4d4d;font-weight:400;line-height:27px;margin:0 auto}.eael-call-to-action p{margin-bottom:10px}.eael-call-to-action .title{font-size:36px;font-weight:600;line-height:36px;margin-bottom:10px;text-transform:capitalize;font-style:normal}.eael-call-to-action.cta-center{text-align:center}.eael-call-to-action.cta-right{text-align:right}.eael-call-to-action.cta-left{text-align:left}.eael-call-to-action.bg-lite{background:#f4f4f4}.eael-call-to-action.bg-img{background-image:url(../img/bg.jpg);background-repeat:no-repeat;background-position:center;background-size:cover;position:relative;z-index:0;color:rgba(255,255,255,.7)}.eael-call-to-action.bg-img .icon{color:#fff}.eael-call-to-action.bg-img:after{content:"";position:absolute;width:100%;height:100%;top:0;left:0;z-index:-1;background:rgba(0,0,0,.8)}.eael-call-to-action.bg-img.bg-fixed{background-attachment:fixed;background-position:center center}.eael-call-to-action.bg-img .title{color:rgba(255,255,255,.9)}.eael-call-to-action.cta-flex,.eael-call-to-action.cta-icon-flex{display:flex;justify-content:space-between;align-items:flex-start}.eael-call-to-action.cta-icon-flex .icon{flex-grow:1;font-size:80px;text-align:left;line-height:130px}.eael-call-to-action.cta-icon-flex .action{flex-grow:1;text-align:right;padding-top:22px;flex-basis:22%}.eael-call-to-action.cta-icon-flex .content{flex-grow:1;padding:0 30px}.eael-call-to-action.cta-flex .content{padding:0 15px;flex-grow:1}.eael-call-to-action.cta-flex .action{flex-grow:1;text-align:right;padding-top:25px;flex-basis:23%}.eael-call-to-action .cta-button{position:relative;display:inline-block;padding:12px 30px;background:#f9f9f9;font-size:16px;text-decoration:none;color:#4d4d4d;-webkit-transition:.5s;-ms-transition:.5s;transition:.5s;-webkit-box-shadow:0 0 3px -1px rgba(0,0,0,.2);-ms-box-shadow:0 0 3px -1px rgba(0,0,0,.2);box-shadow:0 0 3px -1px rgba(0,0,0,.2);margin-right:10px;margin-top:10px;z-index:0;overflow:hidden}.eael-call-to-action .cta-button:last-child{margin-right:0}.eael-call-to-action .cta-button:focus{outline:0}.eael-call-to-action .cta-button:hover{color:#fff;background:#3f51b5;-webkit-box-shadow:0 1px 12px 1px rgba(0,0,0,.1);-ms-box-shadow:0 1px 12px 1px rgba(0,0,0,.1);box-shadow:0 1px 12px 1px rgba(0,0,0,.1)}.eael-call-to-action .cta-button.effect-1:after{content:"";position:absolute;width:100%;height:100%;background:#3f51b5;top:0;left:0;transform:translateY(-100%);-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);z-index:-1;-webkit-transition:.5s;-ms-transition:.5s;transition:.5s;color:#fff}.eael-call-to-action .cta-button.effect-1:hover::after{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.eael-call-to-action .cta-button.effect-2:after{content:"";position:absolute;width:100%;height:100%;background:#3f51b5;top:0;left:0;z-index:-1;-webkit-transition:.5s;-ms-transition:.5s;transition:.5s;color:#fff;-webkit-transform:translateX(-100%);transform:translateX(-100%)}.eael-call-to-action .cta-button.effect-2:hover::after{-webkit-transform:translateX(0);transform:translateX(0)}@media only screen and (max-width:768px){.eael-call-to-action.cta-flex,.eael-call-to-action.cta-icon-flex{flex-wrap:wrap}.eael-call-to-action .title{font-size:28px;line-height:36px;margin-top:0}.eael-call-to-action.cta-icon-flex .icon{flex-grow:1;font-size:48px;line-height:90px;text-align:center}.eael-call-to-action.cta-flex .content,.eael-call-to-action.cta-icon-flex .content{flex-grow:1;text-align:center;padding:0}.eael-call-to-action.cta-flex .action,.eael-call-to-action.cta-icon-flex .action{text-align:center;padding-top:0}.eael-call-to-action .cta-button{padding:12px 25px}}@media only screen and (max-width:360px){.eael-call-to-action{font-size:14px;line-height:26px}.eael-call-to-action .cta-button{padding:4px 20px;font-size:12px}.eael-call-to-action .title{font-size:20px;line-height:30px}}.eael-dual-header{display:block;margin-bottom:50px}.eael-dual-header .title,.eael-dual-header .title span{font-size:36px;font-weight:700;text-transform:uppercase;line-height:48px;margin:10px 0}.eael-dual-header .subtext{font-size:16px;display:block}.eael-dual-header i{display:block;padding:0;margin:20px 0 10px 0;font-size:36px}.eael-dual-header .title span.lead{color:#1abc9c}.eael-dual-header-content-align-center{text-align:center}.eael-dual-header-content-align-left{text-align:left}.eael-dual-header-content-align-right{text-align:right}.eael-pricing{-webkit-display:flex;display:flex;-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;align-items:center}.eael-pricing .eael-pricing-item{width:100%;height:auto;margin:0}.eael-pricing .eael-pricing-button{display:inline-block;padding:12px 25px;background:#00c853;font-size:14px;font-weight:600;color:#fff;text-transform:uppercase;text-decoration:none;-webkit-transition:.3s;transition:.3s;-webkit-border-radius:4px;border-radius:4px}.eael-pricing .eael-pricing-button:hover{background:#03b048}.eael-pricing .eael-pricing-item ul{padding:0;margin:0;list-style:none}.eael-pricing .eael-pricing-item ul li.disable-item{text-decoration:line-through;opacity:.5}.eael-pricing .eael-pricing-item ul li span.li-icon{color:#00c853;margin-right:6px}.eael-pricing .eael-pricing-item ul li.disable-item span.li-icon{color:#ef5350}.eael-pricing.style-1{position:relative;z-index:0;text-align:center}.eael-pricing.style-1 .eael-pricing-item{border:1px solid rgba(9,9,9,.1);padding:30px;-webkit-border-radius:5px;border-radius:5px;-webkit-transition:.5s;transition:.5s}.eael-pricing.style-1 .eael-pricing-item:hover{-webkit-box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22);box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22)}.eael-pricing.style-1 .eael-pricing-item.featured{position:relative}.eael-pricing.style-1 .eael-pricing-item.ribbon-1:before{content:"";position:absolute;width:100%;height:3px;background:#00c853;top:0;left:0;right:0;z-index:1;-webkit-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.eael-pricing.style-1 .eael-pricing-item.ribbon-2:before{content:"Featured";position:absolute;width:auto;background:#00c853;color:#fff;top:35px;right:-15px;z-index:10;font-size:10px;font-weight:600;text-transform:uppercase;padding:5px 10px}.eael-pricing.style-1 .eael-pricing-item.ribbon-2:after{content:"";position:absolute;top:20px;right:-15px;width:0;height:0;border-bottom:15px solid #00c853;border-right:15px solid transparent;z-index:9;opacity:.9}.eael-pricing.style-1 .eael-pricing-item.ribbon-3:before{content:"Featured";position:absolute;width:auto;background:rgba(0,0,0,.6);color:#fff;top:15px;right:15px;z-index:10;font-size:11px;font-weight:600;text-transform:uppercase;padding:5px 15px}.eael-pricing.style-1 .eael-pricing-item .header{display:block;position:relative;z-index:0;padding-bottom:15px;margin-bottom:15px}.eael-pricing.style-1 .eael-pricing-item .header:after{content:"";position:absolute;width:140px;height:1px;bottom:0;left:0;right:0;margin:0 auto;z-index:1;background:rgba(9,9,9,.1)}.eael-pricing.style-1 .eael-pricing-item .header .title{font-weight:700;line-height:30px;margin:0}.eael-pricing.style-1 .eael-pricing-item .eael-pricing-tag{position:relative;z-index:0;padding:15px 0;margin-bottom:15px}.eael-pricing.style-1 .eael-pricing-item .eael-pricing-tag:after{content:"";position:absolute;width:140px;height:1px;bottom:0;left:0;right:0;margin:0 auto;z-index:1;background:rgba(9,9,9,.04)}.eael-pricing.style-1 .eael-pricing-item .price-tag{position:relative;display:inline-block;font-size:28px;font-weight:500;line-height:0;margin:0 auto}.eael-pricing.style-1 .eael-pricing-item .price-tag .price-currency{font-size:24px;font-weight:700}.eael-pricing.style-1 .eael-pricing-item .price-period{color:#999}.eael-pricing.style-1 .eael-pricing-item .body ul{display:block;width:100%;margin-bottom:15px}.eael-pricing.style-1 .eael-pricing-item .body ul li{display:block;width:100%;height:auto;padding:10px 0;font-size:14px;color:#6d6d6d;border-bottom:1px solid rgba(9,9,9,.04)}.eael-pricing.style-1 .eael-pricing-item .body ul li:last-child{border:none}.eael-pricing.style-1 .eael-pricing-item.featured-large{padding:60px 0}.eael-pricing.style-2{position:relative;z-index:0;text-align:center}.eael-pricing.style-2 .eael-pricing-item{padding:30px 0;border-radius:5px;margin:0;border:1px solid rgba(9,9,9,.1)}.eael-pricing.style-2 .eael-pricing-item.featured{-webkit-box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22);box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22)}.eael-pricing.style-2 .eael-pricing-item.ribbon-1:before{content:"";position:absolute;width:100%;height:3px;background:#00c853;top:0;left:0;right:0;z-index:1;-webkit-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.eael-pricing.style-2 .eael-pricing-item.ribbon-2:before{content:"Featured";position:absolute;width:auto;background:#00c853;color:#fff;top:35px;right:-15px;z-index:10;font-size:10px;font-weight:600;text-transform:uppercase;padding:5px 10px}.eael-pricing.style-2 .eael-pricing-item.ribbon-2:after{content:"";position:absolute;top:20px;right:-15px;width:0;height:0;border-bottom:15px solid #00c853;border-right:15px solid transparent;z-index:9;opacity:.9}.eael-pricing.style-2 .eael-pricing-item.ribbon-3:before{content:"Featured";position:absolute;width:auto;background:rgba(0,0,0,.6);color:#fff;top:15px;right:15px;z-index:10;font-size:11px;font-weight:600;text-transform:uppercase;padding:5px 15px}.eael-pricing.style-2 .eael-pricing-item .eael-pricing-icon .icon{display:inline-block;position:relative;width:80px;height:80px;background:#00c853;border-radius:50%;margin-bottom:30px;text-align:center;-webkit-transition:.5s;transition:.5s;overflow:hidden}.eael-pricing.style-2 .eael-pricing-item .eael-pricing-icon .icon i{font-size:30px;color:#fff;line-height:80px;-webkit-transition:.5s;transition:.5s}.eael-pricing.style-2 .eael-pricing-item:hover .eael-pricing-icon .icon{background:#43a047}.eael-pricing.style-2 .eael-pricing-item:hover .eael-pricing-icon .icon i{color:#fff}.eael-pricing.style-2 .eael-pricing-item .header{background:#c8e6c9;padding:25px 30px;margin-bottom:15px;position:relative;z-index:0}.eael-pricing.style-2 .eael-pricing-item.featured .header:after{content:"";position:absolute;width:100%;height:100%;top:0;left:0;right:0;bottom:0;z-index:-1;background:rgba(255,255,255,.4)}.eael-pricing.style-2 .eael-pricing-item .header .title{font-size:28px;font-weight:700;line-height:40px;margin:0}.eael-pricing.style-2 .eael-pricing-item .header .subititle{font-size:14px;font-weight:600;color:#6d6d6d}.eael-pricing.style-2 .eael-pricing-item .eael-pricing-tag{position:relative;z-index:0;padding:15px 0;margin-bottom:15px}.eael-pricing.style-2 .eael-pricing-item .eael-pricing-tag:after{content:"";position:absolute;width:140px;height:1px;bottom:0;left:0;right:0;margin:0 auto;z-index:1;background:rgba(9,9,9,.04)}.eael-pricing.style-2 .eael-pricing-item .price-tag{position:relative;display:inline-block;font-size:28px;font-weight:500;line-height:0;margin:0 auto}.eael-pricing.style-2 .eael-pricing-item .price-tag .price-currency{font-size:24px;font-weight:700;color:#00c853}.eael-pricing.style-2 .eael-pricing-item .price-period{color:#999}.eael-pricing.style-2 .eael-pricing-item .body ul{display:block;width:100%;margin-bottom:15px}.eael-pricing.style-2 .eael-pricing-item .body ul li{display:block;width:100%;height:auto;padding:10px 15px;font-size:14px;color:#6d6d6d;border-bottom:1px solid rgba(9,9,9,.04)}.eael-pricing.style-2 .eael-pricing-item .body ul li:last-child{border:none}@media only screen and (min-width:768px) and (max-width:992px){.eael-pricing{display:block}.eael-pricing .eael-pricing-item,.eael-pricing.style-2 .eael-pricing-item,.eael-pricing.style-4 .eael-pricing-item{width:100%;margin:0 auto 30px auto}}@media only screen and (max-width:480px){.eael-pricing{display:block}.eael-pricing .eael-pricing-item{width:100%}.eael-pricing .eael-pricing-item,.eael-pricing.style-2 .eael-pricing-item,.eael-pricing.style-4 .eael-pricing-item{margin:0 auto 30px auto}}.eael-pricing-content-align-center .eael-pricing{text-align:center}.eael-pricing-content-align-left .eael-pricing{text-align:left}.eael-pricing-content-align-right .eael-pricing{text-align:right}.eael-pricing-content-align-left .eael-pricing.style-2 .eael-pricing-item .price-tag{padding-left:45px}.eael-pricing-content-align-left .eael-pricing.style-2 .eael-pricing-item .price-tag:before{left:30px}.eael-pricing-content-align-right .eael-pricing.style-2 .eael-pricing-item .eael-pricing-tag{padding-right:30px}.eael-pricing-content-align-left .eael-pricing.style-2 .eael-pricing-item .eael-pricing-icon,.eael-pricing-content-align-left .eael-pricing.style-2 .eael-pricing-item .footer,.eael-pricing-content-align-left .eael-pricing.style-2 .eael-pricing-item .header,.eael-pricing-content-align-left .eael-pricing.style-4 .eael-pricing-item .footer,.eael-pricing-content-align-left .eael-pricing.style-4 .eael-pricing-item .header{padding-left:30px;padding-right:30px}.eael-pricing-content-align-right .eael-pricing.style-2 .eael-pricing-item .eael-pricing-icon,.eael-pricing-content-align-right .eael-pricing.style-2 .eael-pricing-item .footer,.eael-pricing-content-align-right .eael-pricing.style-2 .eael-pricing-item .header,.eael-pricing-content-align-right .eael-pricing.style-4 .eael-pricing-item .footer,.eael-pricing-content-align-right .eael-pricing.style-4 .eael-pricing-item .header{padding-right:30px;padding-left:30px}.eael-pricing-content-align-left .eael-pricing.style-2 .eael-pricing-item .body ul li,.eael-pricing-content-align-left .eael-pricing.style-4 .eael-pricing-item .body ul li{padding-left:30px}.eael-pricing-content-align-right .eael-pricing.style-2 .eael-pricing-item .body ul li,.eael-pricing-content-align-right .eael-pricing.style-4 .eael-pricing-item .body ul li{padding-right:30px}.eael-pricing-content-align-left .eael-pricing.style-3 .eael-pricing-item .header:after{-webkit-transform:translateX(-80%);transform:translateX(-80%)}.eael-pricing-content-align-right .eael-pricing.style-3 .eael-pricing-item .header:after{-webkit-transform:translateX(80%);transform:translateX(80%)}.eael-pricing-content-align-left .eael-pricing.style-3 .eael-pricing-item:hover .header:after,.eael-pricing-content-align-right .eael-pricing.style-3 .eael-pricing-item:hover .header:after{-webkit-transform:translateX(0);transform:translateX(0)}.eael-pricing-content-align-left .eael-pricing.style-1 .eael-pricing-item .eael-pricing-tag:after,.eael-pricing-content-align-left .eael-pricing.style-1 .eael-pricing-item .header:after,.eael-pricing-content-align-left .eael-pricing.style-2 .eael-pricing-item .eael-pricing-tag:after,.eael-pricing-content-align-right .eael-pricing.style-1 .eael-pricing-item .eael-pricing-tag:after,.eael-pricing-content-align-right .eael-pricing.style-1 .eael-pricing-item .header:after,.eael-pricing-content-align-right .eael-pricing.style-2 .eael-pricing-item .eael-pricing-tag:after{margin:0;width:100%}.eael-pricing-button-align-right .eael-pricing.style-1 .footer,.eael-pricing-button-align-right .eael-pricing.style-2 .footer,.eael-pricing-button-align-right .eael-pricing.style-3 .footer,.eael-pricing-button-align-right .eael-pricing.style-4 .footer{text-align:right}.eael-pricing-button-align-center .eael-pricing.style-1 .footer,.eael-pricing-button-align-center .eael-pricing.style-2 .footer,.eael-pricing-button-align-center .eael-pricing.style-3 .footer,.eael-pricing-button-align-center .eael-pricing.style-4 .footer{text-align:center}.eael-pricing-button-align-left .eael-pricing.style-1 .footer,.eael-pricing-button-align-left .eael-pricing.style-2 .footer,.eael-pricing-button-align-left .eael-pricing.style-3 .footer,.eael-pricing-button-align-left .eael-pricing.style-4 .footer{text-align:left}.eael-pricing-content-align-center.eael-pricing-button-align-right .eael-pricing.style-2 .footer,.eael-pricing-content-align-center.eael-pricing-button-align-right .eael-pricing.style-4 .footer{padding-right:30px}.eael-pricing-content-align-center.eael-pricing-button-align-left .eael-pricing.style-2 .footer,.eael-pricing-content-align-center.eael-pricing-button-align-left .eael-pricing.style-4 .footer{padding-left:30px}.only-in-pro{width:100%;-webkit-display:flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;padding:15px;min-width:200px;background:#ef5350;color:#fff;text-align:center}.only-in-pro .title{font-family:Roboto,sans-serif;font-size:24px;line-height:40px;margin:0}div.tooltipster-sidetip.tooltipster-base.tooltipster-right .tooltipster-arrow{position:absolute;top:50%}div.tooltipster-sidetip.tooltipster-top div.tooltipster-box{margin-bottom:0!important}div.tooltipster-sidetip.tooltipster-bottom div.tooltipster-box{margin-top:0!important}.tooltipster-base.tooltipster-sidetip.tooltipster-top .tooltipster-arrow{top:auto;bottom:-8px}div.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow{top:-8px;bottom:auto}.eael-caldera-form-align-left,.eael-caldera-form-btn-align-left{text-align:left}.eael-caldera-form-align-right,.eael-caldera-form-btn-align-right{text-align:right}.eael-caldera-form-align-center,.eael-caldera-form-btn-align-center{text-align:center}.eael-caldera-form .control-label{display:none}.eael-caldera-form-labels-yes .control-label{display:block}.eael-caldera-form-button-center .form-group input[type=button],.eael-caldera-form-button-center .form-group input[type=submit]{display:block;margin:0 auto}.eael-caldera-form-button-right .form-group input[type=button],.eael-caldera-form-button-right .form-group input[type=submit]{float:right}.eael-caldera-form .intl-tel-input{display:inherit}.eael-custom-radio-checkbox .caldera-grid input[type=checkbox],.eael-custom-radio-checkbox .caldera-grid input[type=radio]{border-style:solid;border-width:0;padding:3px;-webkit-appearance:none}.eael-caldera-form-button-full-width .form-group input[type=button],.eael-caldera-form-button-full-width .form-group input[type=submit]{width:100%}.eael-wpforms .wpforms-container .wpforms-form .wpforms-page-button,.eael-wpforms .wpforms-container .wpforms-form button[type=submit],.eael-wpforms .wpforms-container .wpforms-form input[type=submit]{border:0}.eael-wpforms .wpforms-container .wpforms-form .wpforms-page-button:hover,.eael-wpforms .wpforms-container .wpforms-form button[type=submit]:hover,.eael-wpforms .wpforms-container .wpforms-form input[type=submit]:hover{border:0}.eael-wpforms .wpforms-container .wpforms-form input[type=checkbox],.eael-wpforms .wpforms-container .wpforms-form input[type=radio]{padding:3px}.eael-wpforms .wpforms-container .wpforms-form .wpforms-field-label{display:none}.eael-wpforms .wpforms-container .wpforms-form .wpforms-field-name .wpforms-field-row{max-width:100%}.eael-wpforms .wpforms-container .wpforms-field input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),.eael-wpforms .wpforms-container .wpforms-field select,.eael-wpforms .wpforms-container .wpforms-field textarea{max-width:100%!important}.eael-wpforms-labels-yes .wpforms-container .wpforms-form .wpforms-field-label{display:block}.eael-wpforms-form-button-full-width .wpforms-submit-container .wpforms-submit{width:100%}.swiper-container-wrap .swiper-slide .eael-social-feed-element img{width:100%}.eael-social-feed-element.hidden{background-color:red!important}.eael-twitter-feed-container::after,.eael-twitter-feed-container::before,.eael-twitter-feed-wrapper::after,.eael-twitter-feed-wrapper::before{content:"";clear:both}.eael-social-feed-element .pull-left{float:left;margin-right:10px}.eael-social-feed-element .pull-right{margin-left:10px}.eael-social-feed-element img{width:100%;height:auto;border:0;vertical-align:middle;-ms-interpolation-mode:bicubic}.eael-social-feed-element .attachment{vertical-align:middle;-ms-interpolation-mode:bicubic}.eael-social-feed-element a{color:#08c;text-decoration:none}.eael-social-feed-element a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.eael-social-feed-element a:active,.eael-social-feed-element a:hover{outline:0;color:#005580;text-decoration:underline}.eael-social-feed-element small{font-size:85%}.eael-social-feed-element strong{font-weight:700}.eael-social-feed-element em{font-style:italic}.eael-social-feed-element p{margin:0 0 10px}.eael-social-feed-element .media-body>p{margin-bottom:4px;min-height:20px}.eael-social-feed-element p.social-feed-text{margin:0;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:5;-webkit-box-orient:vertical}.eael-social-feed-element,.eael-social-feed-element .media-body{overflow:hidden;zoom:1;overflow:visible}.eael-social-feed-element{padding:10px;background:0 0}.eael-social-feed-element .media-body .social-network-icon{margin-top:-3px;margin-right:5px;width:16px}.eael-social-feed-element .media-body div{color:#666;line-height:20px;clear:both}.eael-social-feed-element:first-child{margin-top:0}.eael-social-feed-element .media-object{display:block;width:48px;border-radius:50%}.eael-social-feed-element .media-heading{margin:0 0 5px}.eael-social-feed-element .media-list{margin-left:0;list-style:none}.eael-social-feed-element .muted{color:#999}.eael-social-feed-element a.muted:focus,.eael-social-feed-element a.muted:hover{color:grey}.eael-social-feed-element{transition:.25s;-webkit-backface-visibility:hidden;backface-visibility:hidden;margin:-1px;margin-top:25px;color:#333;text-align:left;font-size:14px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;line-height:16px}.eael-social-feed-element .eael-content{padding:20px 15px 15px;transition:.4s;background:#fff}.eael-social-feed-element .social-network-icon{opacity:.7}.eael-social-feed-element .author-title{color:#444;line-height:1.5em;font-weight:500}.media-body .fa-twitter{color:#1da1f2;margin-right:8px}.media-body .fa-facebook{color:#3b5998;margin-right:8px}.text-wrapper p .read-more-link{margin-top:9px;display:block}.eael-social-feed-wrapper{width:100%;height:auto;position:relative;z-index:0}.eael-loading-feed{display:none;position:absolute;width:100%;height:100%;top:0;left:0;bottom:0;right:0}.eael-loading-feed.show-loading{display:block;text-align:center;z-index:10;display:flex;align-items:center;justify-content:center;transition:.5s}.eael-loading-feed .loader{border:3px solid #f3f3f3;border-radius:50%;border-top:3px solid #3498db;width:30px;height:30px;-webkit-animation:spin 2s linear infinite;animation:spin 2s linear infinite;margin:0 auto}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0)}100%{-webkit-transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.eael-social-feed-container.list-view .eael-social-feed-element{margin:15px;border:1px solid rgba(0,0,0,.1);background:0 0}.eael-social-feed-container.carousel-view{width:100%;height:auto}.eael-twitter-feed-container.masonry-view .eael-social-feed-element{width:33.33%;margin-top:0;float:left}.eael-social-feed-element .eael-content{border:1px solid rgba(0,0,0,.1)}.eael-social-feed-avatar-circle .eael-social-feed-element .media-object{border-radius:50%}.eael-social-feed-avatar-square .eael-social-feed-element .media-object{border-radius:0}.eael-social-feed-masonry-col-4 .eael-social-feed-element .social-feed-date .eael-social-feed-masonry-col-4 .eael-social-feed-element .social-feed-date{text-align:left!important}@media only screen and (min-width:768px) and (max-width:992px){.eael-twitter-feed-container.masonry-view .eael-social-feed-element{width:50%!important}}@media only screen and (max-width:480px){.eael-twitter-feed-container.masonry-view .eael-social-feed-element{width:100%!important}}table.eael-data-table thead .sorting,table.eael-data-table thead .sorting_asc,table.eael-data-table thead .sorting_desc{position:relative;z-index:0;outline:0;cursor:pointer}table.eael-data-table thead .sorting:after,table.eael-data-table thead .sorting_asc:after,table.eael-data-table thead .sorting_desc:after{position:absolute;top:50%;right:10px;font-family:FontAwesome;color:#fff;z-index:1;transform:translateY(-50%)}.eael-data-table-wrap .eael-data-tables_wrapper{display:flex;flex-flow:row wrap;justify-content:flex-start;width:100%}.eael-data-table-wrap .eael-data-tables_filter{flex-grow:1;flex-basis:50%;text-align:right}.eael-data-table-wrap .eael-data-tables_filter label{font-weight:700}.eael-data-table-wrap .eael-data-tables_filter label input[type=search]{height:40px;border:1px solid rgba(0,0,0,.09);outline:0;padding:10px;margin-left:10px}.eael-data-table-wrap .eael-data-tables_length{flex-grow:1;flex-basis:50%}.eael-data-table-wrap .eael-data-tables_length select{width:auto;max-width:120px;height:40px;border:1px solid rgba(0,0,0,.09);outline:0;margin-left:10px;margin-right:10px}.eael-data-table-wrap .eael-data-tables_length label{font-weight:700}.eael-data-table-wrap .eael-data-tables_info{flex-grow:1;flex-basis:50%;font-weight:700}.eael-data-table-wrap .eael-data-tables_paginate{flex-grow:1;flex-basis:50%;text-align:right}.eael-data-table-wrap .eael-data-tables_paginate .paginate_button{padding:10px 15px;background:#f2f2f2;margin-right:2px;cursor:pointer;transition:all .3s}.eael-data-table-wrap .eael-data-tables_paginate .paginate_button:hover{color:#fff;background:#4a4893}.eael-data-table-wrap .eael-data-tables_paginate .paginate_button.current{color:#fff;background:#4a4893}.eael-data-table-wrap .eael-data-tables_paginate .paginate_button.disabled{cursor:no-drop;background:#f2f2f2;opacity:.5;color:#888}.data-header-icon{margin-right:10px}.eael-data-table{width:100%;height:auto;margin:0;border-collapse:collapse;border:none}.eael-data-table tr{border-style:none}.eael-data-table thead tr{text-align:left}.eael-data-table thead tr th{padding:20px 15px;background:#4a4893;font-size:16px;font-weight:600;font-family:Montserrat,sans-serif;line-height:1;color:#fff;border-color:#000;border-width:2px;border-style:none;background-clip:padding-box}.eael-data-table thead tr th:hover{border-color:#000}.eael-data-table tbody tr.even{transition:background .4s ease-in-out}.eael-data-table tbody tr.even:hover{background:rgba(242,242,242,.7)}.eael-data-table tbody tr.even:last-child{border-bottom:1px solid rgba(0,0,0,.09)}.eael-data-table tbody tr.odd{background:rgba(242,242,242,.5);transition:background .2s ease-in-out}.eael-data-table tbody tr.odd:hover{background:rgba(242,242,242,.7)}.eael-data-table tbody tr.odd:last-child{border-bottom:1px solid rgba(0,0,0,.09)}.eael-data-table tbody tr td{padding:20px 15px;font-size:14px;font-family:Montserrat,sans-serif;line-height:1;border-width:2px;border-style:none;background-clip:padding-box}.eael-data-table-th-img{display:inline-block;margin:0 15px 0 0;line-height:1}.th-mobile-screen{display:none}@media (max-width:39.9375em){.eael-data-table-wrap{overflow-x:scroll!important;padding-bottom:5px}.th-mobile-screen{display:inline-block;padding:0 .6em;margin-right:10px;text-align:center;flex-grow:0;flex-shrink:0;flex-basis:100px}.th-mobile-screen .eael-data-table-th-img{margin:0 auto 15px auto;display:block}.th-mobile-screen .data-header-icon{margin:0 auto 15px auto;display:block}.td-content-wrapper{display:flex;width:100%}.td-content{width:100%;justify-content:center}.td-content>p{width:100%;justify-content:center}.custom-responsive-option-enable .eael-data-table thead{display:none}.custom-responsive-option-enable .eael-data-table tbody tr td{float:none;clear:left;width:100%;text-align:left;display:flex;align-items:center}.eael-data-table .td-content{align-items:center;display:flex}}table.eael-data-table thead .sorting:after{content:"\f0dc"}table.eael-data-table thead .headerSortDown:after{content:"\f0dd"}table.eael-data-table thead .headerSortUp:after{content:"\f0de"}table.eael-data-table thead .sorting_disabled.sorting:after{display:none}table.eael-data-table .sorting.sorting-none:after{display:none}table.eael-data-table .sorting_desc.sorting-none:after{display:none}table.eael-data-table .sorting_asc.sorting-none:after{display:none}.eael-table-align-left table.eael-data-table{float:left}.eael-table-align-center table.eael-data-table{margin:0 auto}.eael-table-align-right table.eael-data-table{float:right}.eael-hide-elements .eael-data-tables_info{display:none}.eael-dt-th-align-left .eael-data-table thead tr th{text-align:left}.eael-dt-td-align-left .eael-data-table tbody tr td{text-align:left}.eael-dt-th-align-right .eael-data-table thead tr th{text-align:right;padding-right:30px}.eael-dt-td-align-right .eael-data-table tbody tr td{text-align:right;padding-right:30px}.eael-dt-th-align-center .eael-data-table thead tr th{text-align:center}.eael-dt-td-align-center .eael-data-table tbody tr td{text-align:center}.mfp-bg{top:0;left:0;width:100%;height:100%;z-index:1042;overflow:hidden;position:fixed;background:#0b0b0b;opacity:.8}.mfp-wrap{top:0;left:0;width:100%;height:100%;z-index:1043;position:fixed;outline:0!important;-webkit-backface-visibility:hidden;backface-visibility:hidden}.mfp-container{text-align:center;position:absolute;width:100%;height:100%;left:0;top:0;padding:0 8px;box-sizing:border-box}.mfp-container:before{content:'';display:inline-block;height:100%;vertical-align:middle}.mfp-align-top .mfp-container:before{display:none}.mfp-content{position:relative;display:inline-block;vertical-align:middle;margin:0 auto;text-align:left;z-index:1045}.mfp-ajax-holder .mfp-content,.mfp-inline-holder .mfp-content{width:100%;cursor:auto}.mfp-ajax-cur{cursor:progress}.mfp-zoom-out-cur,.mfp-zoom-out-cur .mfp-image-holder .mfp-close{cursor:-moz-zoom-out;cursor:-webkit-zoom-out;cursor:zoom-out}.mfp-zoom{cursor:pointer;cursor:-webkit-zoom-in;cursor:-moz-zoom-in;cursor:zoom-in}.mfp-auto-cursor .mfp-content{cursor:auto}.mfp-arrow,.mfp-close,.mfp-counter,.mfp-preloader{-webkit-user-select:none;-moz-user-select:none;user-select:none}.mfp-loading.mfp-figure{display:none}.mfp-hide{display:none!important}.mfp-preloader{color:#ccc;position:absolute;top:50%;width:auto;text-align:center;margin-top:-.8em;left:8px;right:8px;z-index:1044}.mfp-preloader a{color:#ccc}.mfp-preloader a:hover{color:#fff}.mfp-s-ready .mfp-preloader{display:none}.mfp-s-error .mfp-content{display:none}button.mfp-arrow,button.mfp-close{overflow:visible;cursor:pointer;background:0 0;border:0;-webkit-appearance:none;display:block;outline:0;padding:0;z-index:1046;box-shadow:none;touch-action:manipulation}button::-moz-focus-inner{padding:0;border:0}.mfp-close{width:44px;height:44px;line-height:44px;position:absolute;right:0;top:0;text-decoration:none;text-align:center;opacity:.65;padding:0 0 18px 10px;color:#fff;font-style:normal;font-size:28px;font-family:Arial,Baskerville,monospace}.mfp-close:focus,.mfp-close:hover{opacity:1}.mfp-close:active{top:1px}.mfp-close-btn-in .mfp-close{color:#333}.mfp-iframe-holder .mfp-close,.mfp-image-holder .mfp-close{color:#fff;right:-6px;text-align:right;padding-right:6px;width:100%}.mfp-counter{position:absolute;top:0;right:0;color:#ccc;font-size:12px;line-height:18px;white-space:nowrap}.mfp-arrow{position:absolute;opacity:.65;margin:0;top:50%;margin-top:-55px;padding:0;width:90px;height:110px;-webkit-tap-highlight-color:transparent}.mfp-arrow:active{margin-top:-54px}.mfp-arrow:focus,.mfp-arrow:hover{opacity:1}.mfp-arrow:after,.mfp-arrow:before{content:'';display:block;width:0;height:0;position:absolute;left:0;top:0;margin-top:35px;margin-left:35px;border:medium inset transparent}.mfp-arrow:after{border-top-width:13px;border-bottom-width:13px;top:8px}.mfp-arrow:before{border-top-width:21px;border-bottom-width:21px;opacity:.7}.mfp-arrow-left{left:0}.mfp-arrow-left:after{border-right:17px solid #fff;margin-left:31px}.mfp-arrow-left:before{margin-left:25px;border-right:27px solid #3f3f3f}.mfp-arrow-right{right:0}.mfp-arrow-right:after{border-left:17px solid #fff;margin-left:39px}.mfp-arrow-right:before{border-left:27px solid #3f3f3f}.mfp-iframe-holder{padding-top:40px;padding-bottom:40px}.mfp-iframe-holder .mfp-content{line-height:0;width:100%;max-width:900px}.mfp-iframe-holder .mfp-close{top:-40px}.mfp-iframe-scaler{width:100%;height:0;overflow:hidden;padding-top:56.25%}.mfp-iframe-scaler iframe{position:absolute;display:block;top:0;left:0;width:100%;height:100%;box-shadow:0 0 8px rgba(0,0,0,.6);background:#000}img.mfp-img{width:auto;max-width:100%;height:auto;display:block;line-height:0;box-sizing:border-box;padding:40px 0 40px;margin:0 auto}.mfp-figure{line-height:0}.mfp-figure:after{content:'';position:absolute;left:0;top:40px;bottom:40px;display:block;right:0;width:auto;height:auto;z-index:-1;box-shadow:0 0 8px rgba(0,0,0,.6);background:#444}.mfp-figure small{color:#bdbdbd;display:block;font-size:12px;line-height:14px}.mfp-figure figure{margin:0}.mfp-bottom-bar{margin-top:-36px;position:absolute;top:100%;left:0;width:100%;cursor:auto}.mfp-title{text-align:left;line-height:18px;color:#f3f3f3;word-wrap:break-word;padding-right:36px}.mfp-image-holder .mfp-content{max-width:100%}.mfp-gallery .mfp-image-holder .mfp-figure{cursor:pointer}button.mfp-close,button.mfp-close:hover{display:inline-block!important;background:0 0;width:auto!important}.mfp-arrow,.mfp-arrow:hover{background:0 0}@media screen and (max-width:800px) and (orientation:landscape),screen and (max-height:300px){.mfp-img-mobile .mfp-image-holder{padding-left:0;padding-right:0}.mfp-img-mobile img.mfp-img{padding:0}.mfp-img-mobile .mfp-figure:after{top:0;bottom:0}.mfp-img-mobile .mfp-figure small{display:inline;margin-left:5px}.mfp-img-mobile .mfp-bottom-bar{background:rgba(0,0,0,.6);bottom:0;margin:0;top:auto;padding:3px 5px;position:fixed;box-sizing:border-box}.mfp-img-mobile .mfp-bottom-bar:empty{padding:0}.mfp-img-mobile .mfp-counter{right:5px;top:3px}.mfp-img-mobile .mfp-close{top:0;right:0;width:35px;height:35px;line-height:35px;background:rgba(0,0,0,.6);position:fixed;text-align:center;padding:0}}@media all and (max-width:900px){.mfp-arrow{-webkit-transform:scale(.75);transform:scale(.75)}.mfp-arrow-left{-webkit-transform-origin:0;transform-origin:0}.mfp-arrow-right{-webkit-transform-origin:100%;transform-origin:100%}.mfp-container{padding-left:6px;padding-right:6px}}.eael-filter-gallery-control{width:100%}.eael-filter-gallery-control ul,.eael-filter-gallery-control ul li{text-align:center}.eael-filter-gallery-control ul{margin:0 0 20px 0;padding:0;text-align:center}.eael-filter-gallery-control{display:flex;flex-flow:1 1 auto;align-items:center;justify-content:center;flex-flow:row wrap;padding:0;margin:0}.eael-filter-gallery-control ul li{list-style:none;font-size:24px;display:inline-block;text-align:center}.eael-filter-gallery-control ul li a.control{font-family:Montserrat,sans-serif;font-size:16px;font-weight:600;padding:10px 25px;margin:10px 6px}.eael-filter-gallery-container{text-align:justify;font-size:.1px}.eael-filter-gallery-container:after{content:'';display:inline-block;width:100%}.eael-filter-gallery-container:not(.eael-cards) .item:before{content:'';display:inline-block;padding-top:56.25%}.eael-filter-gallery-container .item .caption{position:absolute;display:flex;flex-flow:1 1 100%;align-items:center;justify-content:center;z-index:1;top:0;left:0;right:0;bottom:0;transition:transform .4s}.eael-filter-gallery-container.eael-cards .item .caption{display:none}.eael-filter-gallery-container.eael-cards .item .item-img .caption{position:absolute;display:flex;flex-flow:1 1 100%;align-items:center;justify-content:center;z-index:10;top:0;left:0;right:0;bottom:0;transition:transform .4s}.gallery-item-caption-over{width:100%;height:auto}a.eael-gallery-load-more,a.eael-gallery-load-more:hover{text-decoration:none}.eael-filter-gallery-container .item .caption.eael-zoom-in,.eael-filter-gallery-container.eael-cards .item .item-img .caption.eael-zoom-in{transform:scale(0)}.eael-filter-gallery-container .item:hover .caption.eael-zoom-in,.eael-filter-gallery-container.eael-cards .item:hover .item-img .caption.eael-zoom-in{transform:scale(1)}.eael-filter-gallery-container .item .caption.eael-slide-left,.eael-filter-gallery-container.eael-cards .item .item-img .caption.eael-slide-left{transform:translateX(-100%)}.eael-filter-gallery-container .item:hover .caption.eael-slide-left,.eael-filter-gallery-container.eael-cards .item:hover .item-img .caption.eael-slide-left{transform:translateX(0)}.eael-filter-gallery-container .item .caption.eael-slide-right,.eael-filter-gallery-container.eael-cards .item .item-img .caption.eael-slide-right{transform:translateX(100%)}.eael-filter-gallery-container .item:hover .caption.eael-slide-right,.eael-filter-gallery-container.eael-cards .item:hover .item-img .caption.eael-slide-right{transform:translateX(0)}.eael-filter-gallery-container .item .caption.eael-slide-top,.eael-filter-gallery-container.eael-cards .item .item-img .caption.eael-slide-top{transform:translateY(-100%)}.eael-filter-gallery-container .item:hover .caption.eael-slide-top,.eael-filter-gallery-container.eael-cards .item:hover .item-img .caption.eael-slide-top{transform:translateY(0)}.eael-filter-gallery-container .item .caption.eael-slide-bottom,.eael-filter-gallery-container.eael-cards .item .item-img .caption.eael-slide-bottom{transform:translateY(100%)}.eael-filter-gallery-container .item:hover .caption.eael-slide-bottom,.eael-filter-gallery-container.eael-cards .item:hover .item-img .caption.eael-slide-bottom{transform:translateY(0)}.eael-filter-gallery-container .item .caption a{display:inline-block;width:50px;height:50px;text-align:center;line-height:50px;border-radius:50%;margin:0 5px;font-size:20px;cursor:pointer;transition:.3s}.eael-container .item .caption a:nth-child(2),.eael-filter-gallery-container .item .caption a:nth-child(1){transition:.6s;opacity:0}.eael-filter-gallery-container .item .caption a:nth-child(1){transform:translateY(-100%)}.eael-filter-gallery-container .item .caption a:nth-child(2){transform:translateY(100%)}.eael-filter-gallery-container .item .caption:hover a:nth-child(1),.eael-filter-gallery-container .item .caption:hover a:nth-child(2){transform:translateY(0);opacity:1}.eael-filter-gallery-container .item .caption .eael-popup-link{outline:0}.eael-filter-gallery-container.eael-cards .item:before{padding-top:0}.eael-filter-gallery-container.eael-cards .item-img{position:relative;background-repeat:no-repeat;background-position:center;background-size:cover;height:220px;z-index:0;overflow:hidden}.eael-filter-gallery-container.eael-cards .item-content{padding:15px}.eael-filter-gallery-container.eael-cards .item-content .title,.eael-filter-gallery-container.eael-cards .item-content .title a{font-size:20px;line-height:1;margin-bottom:0;transition:.3s}.eael-filter-gallery-container.eael-cards .item-content p{font-size:14px;line-height:26px}.eael-fg-card-content-align-center .eael-filterable-gallery-item-wrap .gallery-item-caption-wrap .gallery-item-caption-over{text-align:center}.eael-fg-card-content-align-right .eael-filterable-gallery-item-wrap .gallery-item-caption-wrap .gallery-item-caption-over{text-align:right}.eael-fg-hoverer-content-align-center .eael-filterable-gallery-item-wrap .gallery-item-caption-wrap .gallery-item-caption-over{text-align:center}.eael-fg-hoverer-content-align-right .eael-filterable-gallery-item-wrap .gallery-item-caption-wrap .gallery-item-caption-over{text-align:right}.eael-fg-content-align-left .eael-cards .item .item-content{text-align:left}.eael-fg-content-align-center .eael-cards .item .item-content{text-align:center}.eael-fg-content-align-right .eael-cards .item .item-content{text-align:right}.mfp-wrap~div.dialog-widget{display:none!important}.eael-filterable-gallery-item-wrap{float:left;width:33.33%}.eael-filter-gallery-container.eael-col-1 .eael-filterable-gallery-item-wrap{width:100%}.eael-filter-gallery-control>ul li{font-size:13px;line-height:1.8;text-transform:uppercase;letter-spacing:1px;padding:6px 15px;cursor:pointer;margin:0 5px;font-weight:400}.eael-filter-gallery-container.eael-col-2 .eael-filterable-gallery-item-wrap{width:50%}.eael-filter-gallery-container.eael-col-4 .eael-filterable-gallery-item-wrap{width:25%}.eael-filter-gallery-container.eael-col-5 .eael-filterable-gallery-item-wrap{width:20%}.gallery-grid-item{margin-left:calc(20px/2);margin-right:calc(20px/2);margin-bottom:20px;position:relative;overflow:hidden}.gallery-item-caption-wrap,.media-content-wrap{font-size:14px;text-align:left}.gallery-item-thumbnail-wrap.caption-style-card img{max-height:100%;width:100%}.gallery-item-caption-wrap.caption-style-hoverer{position:absolute;left:0;top:0;height:100%;width:100%;padding:15px;z-index:10}.eael-filterable-gallery-item-wrap .gallery-grid-item .gallery-item-thumbnail-wrap>img{height:100%;width:100%;object-fit:cover}.fg-item-content,.fg-item-title{color:#fff;font-family:inherit}.gallery-item-caption-wrap.caption-style-card .fg-item-title{font-size:18px;margin:15px 0 15px;line-height:1}.gallery-item-caption-wrap.caption-style-card{background:#f7f7f7}.gallery-item-caption-wrap.caption-style-card .fg-item-title{margin:10px 0 15px;color:#000}.gallery-item-caption-wrap.caption-style-card .fg-item-content{color:#212529;line-height:1.5;font-weight:400}.gallery-item-buttons>a{display:inline-block;font-size:16px;color:#000;margin-right:15px}.gallery-item-buttons>a:visited{color:#000}.gallery-item-caption-wrap.caption-style-card{padding:10px;box-sizing:border-box;font-family:inherit}.gallery-item-caption-wrap .gallery-item-hoverer-bg{position:absolute;left:0;top:0;height:100%;width:100%;content:'';background:#000;z-index:-1;opacity:.7}.gallery-item-caption-wrap.caption-style-hoverer{visibility:hidden;opacity:0;transition:.6s all ease;display:flex;align-items:center}.gallery-grid-item:hover .gallery-item-caption-wrap.caption-style-hoverer{opacity:1;visibility:visible}.gallery-item-caption-wrap.caption-style-hoverer h5{font-size:20px;margin-bottom:5px;line-height:1}.gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up h5{transform:translateY(20px);transition:.6s all ease}.gallery-item-caption-wrap.caption-style-hoverer p{margin-bottom:5px}.gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up p{transform:translateY(40px);transition:.6s all ease}.gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up .gallery-item-buttons{transform:translateY(40px);transition:.6s all ease}.gallery-item-caption-wrap .gallery-item-buttons>a{padding:5px 15px;display:inline-block;border-radius:50%;outline:0;text-decoration:none}.gallery-item-caption-wrap.caption-style-hoverer.eael-zoom-in{transform:scale(.8);transition:.6s all ease}.gallery-grid-item:hover .gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up .gallery-item-buttons,.gallery-grid-item:hover .gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up h5,.gallery-grid-item:hover .gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up p{transform:translate(0)}.gallery-grid-item:hover .gallery-item-caption-wrap.caption-style-hoverer.eael-zoom-in{transform:scale(1);visibility:visible;opacity:1}.gallery-item-caption-wrap.caption-style-hoverer.eael-none{transition:none}.gallery-item-thumbnail-wrap{position:relative}.video-popup,.video-popup-bg{position:absolute;left:0;top:0;height:100%;width:100%}.video-popup>img{width:62px;position:relative;z-index:1;transition:.3s}.video-popup{display:flex;align-items:center;justify-content:center}.video-popup:hover>img{transform:scale(1.1)}.video-popup-bg{visibility:hidden;opacity:0;transition:350ms}.gallery-grid-item:hover .video-popup-bg{visibility:visible;opacity:1}.gallery-item-thumbnail-wrap>.gallery-item-caption-wrap{position:absolute;left:0;top:0;height:100%;width:100%;display:flex;align-items:center;justify-content:center}.gallery-item-caption-wrap.card-hover-bg{visibility:hidden;opacity:0;transition:.8s}.gallery-item-thumbnail-wrap:hover .gallery-item-caption-wrap.card-hover-bg{visibility:visible;opacity:1}.gallery-item-caption-wrap .gallery-item-buttons>a>i{display:flex;align-items:center;justify-content:center;height:100%}@media only screen and (min-width:1025px){.elementor-element.elementor-grid-1{position:relative}.elementor-element.elementor-grid-1 .eael-filterable-gallery-item-wrap{width:100%;float:left}.elementor-element.elementor-grid-2{position:relative}.elementor-element.elementor-grid-2 .eael-filterable-gallery-item-wrap{width:50%;float:left}.elementor-element.elementor-grid-2 .eael-filterable-gallery-item-wrap:nth-of-type(2n){margin-right:0!important}.elementor-element.elementor-grid-2 .eael-filterable-gallery-item-wrap:nth-of-type(2n+1){clear:left}.elementor-element.elementor-grid-3{position:relative}.elementor-element.elementor-grid-3 .eael-filterable-gallery-item-wrap{width:33.3333%;float:left}.elementor-element.elementor-grid-3 .eael-filterable-gallery-item-wrap:nth-of-type(3n){margin-right:0!important}.elementor-element.elementor-grid-3 .eael-filterable-gallery-item-wrap:nth-of-type(3n+1){clear:left}.elementor-element.elementor-grid-4{position:relative}.elementor-element.elementor-grid-4 .eael-filterable-gallery-item-wrap{width:25%;float:left}.elementor-element.elementor-grid-4 .eael-filterable-gallery-item-wrap:nth-of-type(4n){margin-right:0!important}.elementor-element.elementor-grid-4 .eael-filterable-gallery-item-wrap:nth-of-type(4n+1){clear:left}.elementor-element.elementor-grid-5{position:relative}.elementor-element.elementor-grid-5 .pp-logo-grid{margin-right:-5px}.elementor-element.elementor-grid-5 .eael-filterable-gallery-item-wrap{width:20%;float:left}.elementor-element.elementor-grid-5 .eael-filterable-gallery-item-wrap:nth-of-type(5n){margin-right:0!important}.elementor-element.elementor-grid-5 .eael-filterable-gallery-item-wrap:nth-of-type(5n+1){clear:left}.elementor-element.elementor-grid-6{position:relative}.elementor-element.elementor-grid-6 .pp-logo-grid{margin-right:-6px}.elementor-element.elementor-grid-6 .eael-filterable-gallery-item-wrap{width:16.6667%;float:left}.elementor-element.elementor-grid-6 .eael-filterable-gallery-item-wrap:nth-of-type(6n){margin-right:0!important}.elementor-element.elementor-grid-6 .eael-filterable-gallery-item-wrap:nth-of-type(6n+1){clear:left}}@media only screen and (max-width:1024px) and (min-width:766px){.elementor-element.elementor-grid-tablet-1{position:relative}.elementor-element.elementor-grid-tablet-1 .eael-filterable-gallery-item-wrap{width:100%;float:left}.elementor-element.elementor-grid-tablet-2{position:relative}.elementor-element.elementor-grid-tablet-2 .eael-filterable-gallery-item-wrap{width:50%;float:left}.elementor-element.elementor-grid-tablet-2 .eael-filterable-gallery-item-wrap:nth-of-type(2n){margin-right:0!important}.elementor-element.elementor-grid-tablet-2 .eael-filterable-gallery-item-wrap:nth-of-type(2n+1){clear:left}.elementor-element.elementor-grid-tablet-3{position:relative}.elementor-element.elementor-grid-tablet-3 .eael-filterable-gallery-item-wrap{width:33.3333%;float:left}.elementor-element.elementor-grid-tablet-3 .eael-filterable-gallery-item-wrap:nth-of-type(3n){margin-right:0!important}.elementor-element.elementor-grid-tablet-3 .eael-filterable-gallery-item-wrap:nth-of-type(3n+1){clear:left}.elementor-element.elementor-grid-tablet-4{position:relative}.elementor-element.elementor-grid-tablet-4 .eael-filterable-gallery-item-wrap{width:25%;float:left}.elementor-element.elementor-grid-tablet-4 .eael-filterable-gallery-item-wrap:nth-of-type(4n){margin-right:0!important}.elementor-element.elementor-grid-tablet-4 .eael-filterable-gallery-item-wrap:nth-of-type(4n+1){clear:left}.elementor-element.elementor-grid-tablet-5{position:relative}.elementor-element.elementor-grid-tablet-5 .eael-filterable-gallery-item-wrap{width:20%;float:left}.elementor-element.elementor-grid-tablet-5 .eael-filterable-gallery-item-wrap:nth-of-type(5n){margin-right:0!important}.elementor-element.elementor-grid-tablet-5 .eael-filterable-gallery-item-wrap:nth-of-type(5n+1){clear:left}.elementor-element.elementor-grid-tablet-6{position:relative}.elementor-element.elementor-grid-tablet-6 .pp-logo-grid{margin-right:-6px}.elementor-element.elementor-grid-tablet-6 .eael-filterable-gallery-item-wrap{width:16.6667%;float:left}.elementor-element.elementor-grid-tablet-6 .eael-filterable-gallery-item-wrap:nth-of-type(6n){margin-right:0!important}.elementor-element.elementor-grid-tablet-6 .eael-filterable-gallery-item-wrap:nth-of-type(6n+1){clear:left}}@media only screen and (max-width:767px){.elementor-element.elementor-grid-mobile-1{position:relative}.elementor-element.elementor-grid-mobile-1 .eael-filterable-gallery-item-wrap{width:100%;float:left}.elementor-element.elementor-grid-mobile-2{position:relative}.elementor-element.elementor-grid-mobile-2 .eael-filterable-gallery-item-wrap{width:50%;float:left}.elementor-element.elementor-grid-mobile-2 .eael-filterable-gallery-item-wrap:nth-of-type(2n){margin-right:0!important}.elementor-element.elementor-grid-mobile-2 .eael-filterable-gallery-item-wrap:nth-of-type(2n+1){clear:left}.elementor-element.elementor-grid-mobile-3{position:relative}.elementor-element.elementor-grid-mobile-3 .eael-filterable-gallery-item-wrap{width:33.3333%;float:left}.elementor-element.elementor-grid-mobile-3 .eael-filterable-gallery-item-wrap:nth-of-type(3n){margin-right:0!important}.elementor-element.elementor-grid-mobile-3 .eael-filterable-gallery-item-wrap:nth-of-type(3n+1){clear:left}.elementor-element.elementor-grid-mobile-4{position:relative}.elementor-element.elementor-grid-mobile-4 .eael-filterable-gallery-item-wrap{width:25%;float:left}.elementor-element.elementor-grid-mobile-4 .eael-filterable-gallery-item-wrap:nth-of-type(4n){margin-right:0!important}.elementor-element.elementor-grid-mobile-4 .eael-filterable-gallery-item-wrap:nth-of-type(4n+1){clear:left}.elementor-element.elementor-grid-mobile-5{position:relative}.elementor-element.elementor-grid-mobile-5 .eael-filterable-gallery-item-wrap{width:20%;float:left}.elementor-element.elementor-grid-mobile-5 .eael-filterable-gallery-item-wrap:nth-of-type(5n){margin-right:0!important}.elementor-element.elementor-grid-mobile-5 .eael-filterable-gallery-item-wrap:nth-of-type(5n+1){clear:left}.elementor-element.elementor-grid-mobile-6{position:relative}.elementor-element.elementor-grid-mobile-6 .pp-logo-grid{margin-right:-6px}.elementor-element.elementor-grid-mobile-6 .eael-filterable-gallery-item-wrap{width:16.6667%;float:left}.elementor-element.elementor-grid-mobile-6 .eael-filterable-gallery-item-wrap:nth-of-type(6n){margin-right:0!important}.elementor-element.elementor-grid-mobile-6 .eael-filterable-gallery-item-wrap:nth-of-type(6n+1){clear:left}}.eael-ticker-wrap{overflow:hidden;display:flex;flex-flow:row nowrap;align-items:center;width:100%}.eael-ticker-wrap .ticker-badge{flex:0 0 auto;padding:8px 12px}.eael-ticker-wrap .eael-ticker{overflow:hidden;flex:1 1 auto}.eael-ticker-wrap .eael-ticker .ticker-content{padding:8px 12px;line-height:1.8}.eael-ticker-wrap .eael-ticker .ticker-content p{margin:0}.eael-ticker-wrap .swiper-button-prev{left:auto!important;right:25px}.eael-ticker-wrap div.swiper-slide,.eael-ticker-wrap div.swiper-slide.swiper-slide-next,.eael-ticker-wrap div.swiper-slide.swiper-slide-prev{opacity:0!important}.eael-ticker-wrap div.swiper-slide.swiper-slide-active{opacity:1!important}.eael-ticker-wrap .eael-content-ticker.swiper-container .swiper-slide{text-align:left}@media only screen and (max-width:767px){.eael-ticker-wrap{flex-flow:row wrap}.content-ticker-pagination{display:none}}.eael-advance-tabs{display:block}.eael-advance-tabs .eael-tabs-nav>ul{position:relative;padding:0;margin:0;list-style-type:none;display:flex;justify-content:flex-start;align-items:center;z-index:1}.eael-advance-tabs .eael-tabs-nav>ul li{position:relative;padding:1em 1.5em;flex:1 1 auto;cursor:pointer;display:flex;justify-content:center;align-items:center;text-align:center}.eael-advance-tabs .eael-tabs-nav>ul li:after{content:"";position:absolute;bottom:-10px;left:0;right:0;margin:0 auto;z-index:1;width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid #444;border-bottom:0;display:none}.eael-advance-tabs.active-caret-on .eael-tabs-nav>ul li.active-default:after,.eael-advance-tabs.active-caret-on .eael-tabs-nav>ul li.active:after{display:none}.eael-advance-tabs .eael-tabs-nav>ul li.active-default:after,.eael-advance-tabs .eael-tabs-nav>ul li.active:after{display:block}.eael-tabs-content{display:flex;flex:1 1 auto}.eael-advance-tabs .eael-tabs-content>div{display:none;opacity:0}.eael-advance-tabs .eael-tabs-content>div.active,.eael-advance-tabs .eael-tabs-content>div.active-default{display:block;width:100%;padding:1em;opacity:1;animation:fadeIn linear .3s}.eael-tab-inline-icon li a .fa{margin-right:10px;line-height:1}.eael-tab-top-icon li a{display:flex;flex-wrap:wrap;text-align:center}.eael-tab-top-icon li a .eael-tab-title,.eael-tab-top-icon li a .fa{flex:1 1 100%;line-height:1}.eael-tab-top-icon li a .eael-tab-title{margin-top:10px}.eael-advance-tabs.eael-tabs-vertical{display:flex}.eael-advance-tabs.eael-tabs-vertical .eael-tabs-nav{flex:0 0 auto}.eael-advance-tabs.eael-tabs-vertical .eael-tabs-nav>ul{flex-flow:column wrap}.eael-advance-tabs.eael-tabs-vertical .eael-tabs-nav>ul>li{width:100%;justify-content:start}.eael-advance-tabs.eael-tabs-vertical .eael-tabs-nav>ul li::after{bottom:auto!important;right:-10px;top:calc(50% - 10px);left:auto!important;border-left:10px solid #444;border-right:0;border-top:10px solid transparent;border-bottom:10px solid transparent}@media only screen and (max-width:767px){.eael-advance-tabs .eael-tabs-nav>ul{flex-wrap:wrap}.eael-advance-tabs .eael-tabs-nav>ul li{flex:1 100%}.eael-advance-tabs.eael-tabs-vertical{flex-wrap:wrap}.eael-advance-tabs.eael-tabs-vertical div.eael-tabs-nav{flex:1 100%}.eael-advance-tabs.eael-tabs-vertical ul{flex:1 100%}.eael-advance-tabs.eael-tabs-vertical ul li{flex:1 100%}div.eael-advance-tabs.eael-tabs-vertical div.eael-tabs-nav>ul li::after{border-left-color:transparent!important;bottom:-20px!important;left:0!important;right:0!important;top:auto!important;border-left:10px solid transparent;border-right:10px solid transparent;border-top-color:#444!important}}.eael-adv-accordion{width:auto;height:auto;transition:all .3s ease-in-out}.eael-adv-accordion .eael-accordion-list .eael-accordion-header{padding:15px;border:1px solid rgba(0,0,0,.02);font-size:1rem;font-weight:600;line-height:1;transition:all .3s ease-in-out;display:flex;justify-content:space-between;align-items:center;cursor:pointer}.eael-adv-accordion .eael-accordion-list .eael-accordion-header .fa-toggle{transform:rotate(0);z-index:10;transition:all .3s ease-in-out}.eael-adv-accordion .eael-accordion-list .eael-accordion-header.active .fa-toggle{transform:rotate(90deg);z-index:10;transition:all .3s ease-in-out}.fa-accordion-icon{display:inline-block;margin-right:10px}.eael-adv-accordion .eael-accordion-list .eael-accordion-content{display:none;border:1px solid #eee;padding:15px;box-sizing:border-box;font-size:1rem;line-height:1.7}.eael-adv-accordion .eael-accordion-list .eael-accordion-content p{margin:0}.eael-adv-accordion .eael-accordion-list .eael-accordion-content.active{display:block}@keyframes rotate-90{0%{transform:rotateY(0)}100%{transform:rotateY(-180deg)}}@keyframes fadeIn{0%{opacity:1;transition:all .3s ease-in-out}100%{opacity:1;transition:all .3s ease-in-out}}.eael-tooltip{position:relative;display:inline-block;min-width:150px;text-align:center;padding:12px 24px;font-size:.93rem;color:#333;line-height:1;cursor:pointer;transition:all .3s ease-in-out}.eael-tooltip .eael-tooltip-text{display:block;width:100%;visibility:hidden;background-color:#000;color:#fff;text-align:center;border-radius:4px;padding:10px;position:absolute;z-index:1;font-size:.93rem;line-height:1.3}.eael-tooltip .eael-tooltip-text::after{content:"";position:absolute;border-width:5px;border-style:solid}.eael-tooltip:hover .eael-tooltip-text{visibility:visible}.eael-tooltip .eael-tooltip-text.eael-tooltip-left{top:50%;right:100%;transform:translateY(-50%);margin-right:10px}.eael-tooltip:hover .eael-tooltip-text.eael-tooltip-left{animation:tooltipLeftIn .3s ease-in-out}.eael-tooltip .eael-tooltip-text.eael-tooltip-left::after{top:calc(50% - 5px);left:100%;border-color:transparent transparent transparent #000}.eael-tooltip .eael-tooltip-text.eael-tooltip-right{top:50%;left:100%;transform:translateY(-50%);transition:all .3s ease-in-out;margin-left:10px}.eael-tooltip:hover .eael-tooltip-text.eael-tooltip-right{animation:tooltipRightIn .3s linear}.eael-tooltip .eael-tooltip-text.eael-tooltip-right::after{top:calc(50% - 5px);right:100%;border-color:transparent #000 transparent transparent}.eael-tooltip .eael-tooltip-text.eael-tooltip-top{bottom:calc(100%);left:0;right:0;margin:0 auto 10px auto}.eael-tooltip .eael-tooltip-text.eael-tooltip-top::after{margin-top:0;top:100%;left:calc(50% - 5px);border-color:#000 transparent transparent transparent}.eael-tooltip:hover .eael-tooltip-text.eael-tooltip-top{animation:tooltipTopIn .3s linear}.eael-tooltip .eael-tooltip-text.eael-tooltip-bottom{top:100%;left:0;right:0;margin:10px auto 0 auto}.eael-tooltip .eael-tooltip-text.eael-tooltip-bottom::after{margin-top:0;bottom:100%;left:calc(50% - 5px);border-color:transparent transparent #000 transparent}.eael-tooltip:hover .eael-tooltip-text.eael-tooltip-bottom{animation:tooltipBottomIn .3s linear}.eael-tooltip-align-left{display:flex;width:100%;justify-content:flex-start}.eael-tooltip-align-right{display:flex;width:100%;justify-content:flex-end}.eael-tooltip-align-center{display:flex;width:100%;justify-content:center}.eael-tooltip-align-justify .eael-tooltip{display:flex;justify-content:center;align-items:center}@keyframes tooltipRightIn{0%{opacity:0;left:105%}100%{opacity:1;left:100%}}@keyframes tooltipLeftIn{0%{opacity:0;right:105%}100%{opacity:1;right:100%}}@keyframes tooltipTopIn{0%{opacity:0;bottom:110%}100%{opacity:1;bottom:100%}}@keyframes tooltipBottomIn{0%{opacity:0;top:110%}100%{opacity:1;top:100%}}@-webkit-keyframes animateStripe{0%{transform:translate(0,0)}100%{transform:translate(35px,0)}}@keyframes animateStripe{0%{transform:translate(0,0)}100%{transform:translate(35px,0)}}@-webkit-keyframes animateStripeRTL{0%{transform:translate(0,0)}100%{transform:translate(-35px,0)}}@keyframes animateStripeRTL{0%{transform:translate(0,0)}100%{transform:translate(-35px,0)}}.eael-progressbar{position:relative}.eael-progressbar-title{font-size:20px;font-weight:400}.eael-progressbar-line{position:relative;display:block;width:100%;height:12px;background-color:#eee}.eael-progressbar-line .eael-progressbar-count-wrap{position:absolute;right:0;bottom:calc(100% + 5px);font-size:16px;font-weight:400;line-height:1}.eael-progressbar-line-fill{display:inline-block;position:absolute;top:50%;left:0;width:0;height:12px;background-color:#000;transform:translateY(-50%);transition:width 1.5s linear;overflow:hidden}.eael-progressbar-circle{position:relative;width:200px;height:200px}.eael-progressbar-circle .eael-progressbar-title{font-size:16px;font-weight:400}.eael-progressbar-circle .eael-progressbar-count-wrap{font-size:28px;font-weight:700}.eael-progressbar-circle-shadow{width:220px;height:220px;padding:10px;border-radius:50%}.eael-progressbar-circle-pie{position:absolute;top:0;left:0;width:100%;height:100%;clip-path:inset(0 0 0 50%)}.eael-progressbar-circle-inner{height:100%;width:100%;border-width:12px;border-style:solid;border-color:#eee;border-radius:50%}.eael-progressbar-circle-half{position:absolute;left:0;top:0;height:100%;width:100%;border-width:12px;border-style:solid;border-color:#000;border-radius:50%;clip-path:inset(0 50% 0 0)}.eael-progressbar-circle-half-left{transform:rotate(0)}.eael-progressbar-circle-half-right{transform:rotate(180deg);visibility:hidden}.eael-progressbar-circle-inner-content{position:absolute;top:50%;width:100%;transform:translateY(-50%);text-align:center}.eael-progressbar-half-circle{position:relative;width:200px;height:100px;overflow:hidden}.eael-progressbar-half-circle .eael-progressbar-circle-pie{clip-path:inset(0 0 50% 0)}.eael-progressbar-half-circle .eael-progressbar-circle-half{clip-path:inset(50% 0 0 0);transform:rotate(0);transition:transform 1.5s linear}.eael-progressbar-half-circle .eael-progressbar-circle-inner-content{top:initial;bottom:0;transform:translateY(0)}.eael-progressbar-half-circle .eael-progressbar-title{font-size:16px;font-weight:400}.eael-progressbar-half-circle .eael-progressbar-count-wrap{font-size:28px;font-weight:700}.eael-progressbar-half-circle-after{position:relative;font-size:12px;font-weight:400;clear:both}.eael-progressbar-postfix-label{float:right}.eael-progressbar-line-stripe .eael-progressbar-line-fill:after{content:'';position:absolute;top:0;left:-35px;width:calc(100% + 70px);height:100%;background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:35px 35px}.eael-progressbar-line-animate .eael-progressbar-line-fill:after{animation:animateStripe 2s linear infinite}.eael-progressbar-line-animate-rtl .eael-progressbar-line-fill:after{animation:animateStripeRTL 2s linear infinite}.eael-progressbar-circle-wrap>div{margin:0 auto}.eael-progressbar-box-container.left>div,.eael-progressbar-circle-container.left>div,.eael-progressbar-line-container.left{margin:0 auto 0 0}.eael-progressbar-box-container.center>div,.eael-progressbar-circle-container.center>div,.eael-progressbar-line-container.center{margin:0 auto}.eael-progressbar-box-container.right>div,.eael-progressbar-circle-container.right>div,.eael-progressbar-line-container.right{margin:0 0 0 auto}.eael-img-accordion{display:flex;height:50vh}.eael-img-accordion a{position:relative;flex:1;text-align:center;text-decoration:none;color:#fff;background-size:cover;background-position:center;background-repeat:no-repeat;transition:flex .4s}.eael-grow-accordion{flex:3}.eael-img-accordion .overlay{display:flex;align-items:center;justify-content:center;padding:0 10px;position:absolute;top:0;right:0;bottom:0;left:0;transition:background-color .4s}.eael-img-accordion .overlay .overlay-inner{z-index:1}.eael-img-accordion a:after{content:"";position:absolute;width:100%;height:100%;z-index:0;top:0;left:0;bottom:0;right:0;transition:all .3s ease-in-out}.eael-img-accordion .overlay-inner *{visibility:hidden;opacity:0;transform-style:preserve-3d}.eael-img-accordion .overlay h2{color:#fff;transform:translate3d(0,-60px,0)}.eael-img-accordion .overlay p{color:#fff;transform:translate3d(0,60px,0)}.eael-img-accordion .overlay-inner-show *{opacity:1;visibility:visible;transform:none!important;transition:all .3s .3s}@media screen and (max-width:800px){.eael-img-accordion{flex-direction:column}.eael-img-accordion a:hover{flex:1}.eael-img-accordion a:hover .overlay{background-color:transparent}}.elementor-widget-eael-feature-list.-icon-position-left .connector-type-modern.rhombus .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right .connector-type-modern.rhombus .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top .connector-type-modern.rhombus .eael-feature-list-item:before{top:3px!important}.elementor-widget-eael-feature-list.-icon-position-left .connector-type-modern.rhombus .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right .connector-type-modern.rhombus .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top .connector-type-modern.rhombus .eael-feature-list-item:after{top:45px!important}.elementor-widget-eael-feature-list.-icon-position-right .connector,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .connector{right:0;left:calc(100% - 60px)}.elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 50px 0 0}@media (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 30px 0 0}}.elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before{left:auto;right:0}.elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after{left:auto;right:5px;top:30px}.elementor-widget-eael-feature-list .eael-feature-list-items{list-style-type:none;margin:0;padding:0}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item{position:relative}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .connector{display:block;position:absolute;width:0;margin:0 auto;z-index:1;height:100%;top:.5em;font-size:60px;left:0;right:calc(100% - 60px);border-left:2px solid #2ecc71;border-right:none!important}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item:last-child .connector{display:none}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box{z-index:2;transition:all .5s}@media (prefers-reduced-motion:reduce){.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box{transition:none}}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-icon-inner{background-color:#37368e;transition:all .5s;display:inline-flex}@media (prefers-reduced-motion:reduce){.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-icon-inner{transition:none}}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-icon{padding:.5em;transition:all .5s;font-size:30px;line-height:1;color:#37368e;text-align:center;display:inline-flex}@media (prefers-reduced-motion:reduce){.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-icon{transition:none}}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-icon i{width:1em;height:1em;position:relative;display:block}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-icon i:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-img{font-size:8px;line-height:1;max-width:inherit}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-content-box{margin:0 0 0 20px}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-content-box .eael-feature-list-title{margin-top:-2px;line-height:1.5em}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-content-box .eael-feature-list-content{padding:0;margin:0;font-size:14px;line-height:1.5em}.elementor-widget-eael-feature-list .eael-feature-list-items.stacked .eael-feature-list-icon-box .eael-feature-list-icon{color:#fff}.elementor-widget-eael-feature-list .eael-feature-list-items.framed .eael-feature-list-icon-box .eael-feature-list-icon{background-color:#fff}.elementor-widget-eael-feature-list .eael-feature-list-items.circle .eael-feature-list-icon-box .eael-feature-list-icon-inner{border-radius:50%}.elementor-widget-eael-feature-list .eael-feature-list-items.circle .eael-feature-list-icon-box .eael-feature-list-icon-inner .eael-feature-list-icon{border-radius:50%}.elementor-widget-eael-feature-list .eael-feature-list-items.rhombus .eael-feature-list-icon-box .eael-feature-list-icon-inner{transform:rotate(45deg);margin:15px}.elementor-widget-eael-feature-list .eael-feature-list-items.rhombus .eael-feature-list-icon-box .eael-feature-list-icon i{-ms-transform:rotate(-45deg);-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.elementor-widget-eael-feature-list .eael-feature-list-items.rhombus .eael-feature-list-icon-box .eael-feature-list-icon img{-ms-transform:rotate(-45deg);-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.elementor-widget-eael-feature-list .eael-feature-list-items.rhombus .eael-feature-list-content-box .eael-feature-list-title{margin-top:15px}.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 50px;position:relative}@media (max-width:767px){.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 30px;display:block}}.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before{content:"";position:absolute;display:block}.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before{left:0;top:0;z-index:1;border-left:1px solid #000;border-right:none!important;height:100%}.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after{left:5px;top:30px;width:23px;display:block;z-index:2;border-bottom:1px dashed #000;border-top:none!important}.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern .eael-feature-list-item .connector{display:none}@media (min-width:768px){.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern.-icon-position-right .eael-feature-list-item{padding:0 50px 0 0}.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern.-icon-position-right .eael-feature-list-item:before{left:auto;right:0}.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern.-icon-position-right .eael-feature-list-item:after{left:auto;right:5px;top:30px}.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern.-icon-position-right .eael-feature-list-item .connector{display:none}}@media (min-width:1025px){.elementor-widget-eael-feature-list.-icon-position-left .eael-feature-list-content-box{margin-right:0!important;margin-top:0!important;margin-bottom:0!important}.elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-content-box{margin-left:0!important;margin-top:0!important;margin-bottom:0!important}.elementor-widget-eael-feature-list.-icon-position-top .eael-feature-list-content-box{margin-left:0!important;margin-right:0!important;margin-bottom:0!important}.elementor-widget-eael-feature-list.-icon-position-left .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-item{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.elementor-widget-eael-feature-list.-icon-position-left .eael-feature-list-item{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-item{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}}@media (max-width:1024px){.elementor-widget-eael-feature-list.-tablet-icon-position-left .eael-feature-list-item,.elementor-widget-eael-feature-list.-tablet-icon-position-right .eael-feature-list-item{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.elementor-widget-eael-feature-list.-tablet-icon-position-left .eael-feature-list-item{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.elementor-widget-eael-feature-list.-tablet-icon-position-right .eael-feature-list-item{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}}@media (min-width:768px) and (max-width:1024px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left .eael-feature-list-content-box{margin-right:0!important;margin-top:0!important;margin-bottom:0!important}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 50px}}@media (min-width:768px) and (max-width:1024px) and (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 30px}}@media (min-width:768px) and (max-width:1024px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before{left:0;right:auto}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after{left:5px;top:30px}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top .eael-feature-list-content-box{margin-left:0!important;margin-right:0!important;margin-bottom:0!important}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 50px}}@media (min-width:768px) and (max-width:1024px) and (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 30px}}@media (min-width:768px) and (max-width:1024px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before{left:0;right:auto}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after{left:5px}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right .eael-feature-list-content-box{margin-left:0!important;margin-top:0!important;margin-bottom:0!important}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 50px 0 0}}@media (min-width:768px) and (max-width:1024px) and (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 30px 0 0}}@media (min-width:768px) and (max-width:1024px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before{right:0;left:auto}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after{left:auto;right:5px}}@media (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-item,.elementor-widget-eael-feature-list.-tablet-icon-position-left .eael-feature-list-item,.elementor-widget-eael-feature-list.-tablet-icon-position-right .eael-feature-list-item{display:block;text-align:left}.elementor-widget-eael-feature-list.-mobile-icon-position-left .eael-feature-list-item,.elementor-widget-eael-feature-list.-mobile-icon-position-right .eael-feature-list-item{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.elementor-widget-eael-feature-list.-mobile-icon-position-left .eael-feature-list-item{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.elementor-widget-eael-feature-list.-mobile-icon-position-right .eael-feature-list-item{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-content-box{margin-right:0!important;margin-top:0!important;margin-bottom:0!important}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 50px}}@media (max-width:767px) and (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 30px}}@media (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before{left:0;right:auto}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after{left:5px}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-content-box{margin-left:0!important;margin-right:0!important;margin-bottom:0!important}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 50px}}@media (max-width:767px) and (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 30px}}@media (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before{left:0;right:auto}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after{left:5px}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-content-box{margin-left:0!important;margin-top:0!important;margin-bottom:0!important}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 50px 0 0}}@media (max-width:767px) and (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 30px 0 0}}@media (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before{right:0;left:auto}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after{left:auto;right:5px}} \ No newline at end of file diff --git a/assets/front-end/css/fancy-text.css b/assets/front-end/css/fancy-text.css new file mode 100644 index 000000000..7e37a781f --- /dev/null +++ b/assets/front-end/css/fancy-text.css @@ -0,0 +1,67 @@ +/*--------------------------*/ +/* 03. Fancy Text Style +/*--------------------------*/ +.eael-fancy-text-container p { + margin: 0; +} + +.eael-fancy-text-strings, +.eael-fancy-text-prefix, +.eael-fancy-text-suffix { + display: inline-block; +} + +.morphext > .animated { + display: inline-block; +} + +.typed-cursor { + opacity: 1; + -webkit-animation: blink_cursor 0.7s infinite; + -moz-animation: blink_cursor 0.7s infinite; + animation: blink_cursor 0.7s infinite; +} + +@keyframes blink_cursor { + 0% { + opacity: 1; + } + 50% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@-webkit-keyframes blink_cursor { + 0% { + opacity: 1; + } + 50% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@-moz-keyframes blink_cursor { + 0% { + opacity: 1; + } + 50% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +/*--- Style 2 ---*/ +.eael-fancy-text-container.style-2 { + font-size: 24px; +} + +.eael-fancy-text-container.style-2 .eael-fancy-text-strings { + background: #ff5544; + color: #fff; + padding: 10px 25px; +} diff --git a/assets/front-end/css/feature-list.css b/assets/front-end/css/feature-list.css new file mode 100644 index 000000000..81abae766 --- /dev/null +++ b/assets/front-end/css/feature-list.css @@ -0,0 +1,572 @@ +/*----------------------------*/ +/* 35. Feature List +/*----------------------------*/ +.elementor-widget-eael-feature-list.-icon-position-left .connector-type-modern.rhombus .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-top .connector-type-modern.rhombus .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-right .connector-type-modern.rhombus .eael-feature-list-item:before { + top: 3px !important; +} +.elementor-widget-eael-feature-list.-icon-position-left .connector-type-modern.rhombus .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-top .connector-type-modern.rhombus .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-right .connector-type-modern.rhombus .eael-feature-list-item:after { + top: 45px !important; +} +.elementor-widget-eael-feature-list.-icon-position-right .connector, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .connector { + right: 0; + left: calc(100% - 60px); +} +.elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item { + padding: 0 50px 0 0; +} +@media (max-width: 767px) { + .elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item { + padding: 0 30px 0 0; + } +} +.elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before { + left: auto; + right: 0; +} +.elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after { + left: auto; + right: 5px; + top: 30px; +} +.elementor-widget-eael-feature-list .eael-feature-list-items { + list-style-type: none; + margin: 0; + padding: 0; +} +.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item { + position: relative; +} +.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .connector { + display: block; + position: absolute; + width: 0; + margin: 0 auto; + z-index: 1; + height: 100%; + top: 0.5em; + font-size: 60px; + left: 0; + right: calc(100% - 60px); + border-left: 2px solid #2ecc71; + border-right: none !important; +} +.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item:last-child .connector { + display: none; +} +.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box { + z-index: 2; + transition: all 0.5s; +} +@media (prefers-reduced-motion: reduce) { + .elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box { + transition: none; + } +} +.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-icon-inner { + background-color: #37368e; + transition: all 0.5s; + display: inline-flex; +} +@media (prefers-reduced-motion: reduce) { + .elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-icon-inner { + transition: none; + } +} +.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-icon { + padding: 0.5em; + transition: all 0.5s; + font-size: 30px; + line-height: 1; + color: #37368e; + text-align: center; + display: inline-flex; +} +@media (prefers-reduced-motion: reduce) { + .elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-icon { + transition: none; + } +} +.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-icon i { + width: 1em; + height: 1em; + position: relative; + display: block; +} +.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-icon i:before { + position: absolute; + left: 50%; + -webkit-transform: translateX(-50%); + -ms-transform: translateX(-50%); + transform: translateX(-50%); +} +.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-img { + font-size: 8px; + line-height: 1; + max-width: inherit; +} +.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-content-box { + margin: 0 0 0 20px; +} +.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-content-box .eael-feature-list-title { + margin-top: -2px; + line-height: 1.5em; +} +.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-content-box .eael-feature-list-content { + padding: 0; + margin: 0; + font-size: 14px; + line-height: 1.5em; +} +.elementor-widget-eael-feature-list .eael-feature-list-items.stacked .eael-feature-list-icon-box .eael-feature-list-icon { + color: #fff; +} +.elementor-widget-eael-feature-list .eael-feature-list-items.framed .eael-feature-list-icon-box .eael-feature-list-icon { + background-color: #fff; +} +.elementor-widget-eael-feature-list .eael-feature-list-items.circle .eael-feature-list-icon-box .eael-feature-list-icon-inner { + border-radius: 50%; +} +.elementor-widget-eael-feature-list .eael-feature-list-items.circle .eael-feature-list-icon-box .eael-feature-list-icon-inner .eael-feature-list-icon { + border-radius: 50%; +} +.elementor-widget-eael-feature-list .eael-feature-list-items.rhombus .eael-feature-list-icon-box .eael-feature-list-icon-inner { + transform: rotate(45deg); + margin: 15px; +} +.elementor-widget-eael-feature-list .eael-feature-list-items.rhombus .eael-feature-list-icon-box .eael-feature-list-icon i { + -ms-transform: rotate(-45deg); + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); +} +.elementor-widget-eael-feature-list .eael-feature-list-items.rhombus .eael-feature-list-icon-box .eael-feature-list-icon img { + -ms-transform: rotate(-45deg); + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); +} +.elementor-widget-eael-feature-list .eael-feature-list-items.rhombus .eael-feature-list-content-box .eael-feature-list-title { + margin-top: 15px; +} +.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern .eael-feature-list-item { + padding: 0 0 0 50px; + position: relative; +} +@media (max-width: 767px) { + .elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern .eael-feature-list-item { + padding: 0 0 0 30px; + display: block; + } +} +.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before, .elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after { + content: ""; + position: absolute; + display: block; +} +.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before { + left: 0; + top: 0; + z-index: 1; + border-left: 1px solid #000; + border-right: none !important; + height: 100%; +} +.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after { + left: 5px; + top: 30px; + width: 23px; + display: block; + z-index: 2; + border-bottom: 1px dashed #000; + border-top: none !important; +} +.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern .eael-feature-list-item .connector { + display: none; +} +@media (min-width: 768px) { + .elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern.-icon-position-right .eael-feature-list-item { + padding: 0 50px 0 0; + } + .elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern.-icon-position-right .eael-feature-list-item:before { + left: auto; + right: 0; + } + .elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern.-icon-position-right .eael-feature-list-item:after { + left: auto; + right: 5px; + top: 30px; + } + .elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern.-icon-position-right .eael-feature-list-item .connector { + display: none; + } +} +@media (min-width: 1025px) { + .elementor-widget-eael-feature-list.-icon-position-left .eael-feature-list-content-box { + margin-right: 0 !important; + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-content-box { + margin-left: 0 !important; + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .elementor-widget-eael-feature-list.-icon-position-top .eael-feature-list-content-box { + margin-left: 0 !important; + margin-right: 0 !important; + margin-bottom: 0 !important; + } + .elementor-widget-eael-feature-list.-icon-position-left .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-item { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + } + .elementor-widget-eael-feature-list.-icon-position-left .eael-feature-list-item { + text-align: left; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + } + .elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-item { + text-align: right; + -webkit-box-orient: horizontal; + -webkit-box-direction: reverse; + -webkit-flex-direction: row-reverse; + -ms-flex-direction: row-reverse; + flex-direction: row-reverse; + } +} +@media (max-width: 1024px) { + .elementor-widget-eael-feature-list.-tablet-icon-position-left .eael-feature-list-item, .elementor-widget-eael-feature-list.-tablet-icon-position-right .eael-feature-list-item { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + } + .elementor-widget-eael-feature-list.-tablet-icon-position-left .eael-feature-list-item { + text-align: left; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + } + .elementor-widget-eael-feature-list.-tablet-icon-position-right .eael-feature-list-item { + text-align: right; + -webkit-box-orient: horizontal; + -webkit-box-direction: reverse; + -webkit-flex-direction: row-reverse; + -ms-flex-direction: row-reverse; + flex-direction: row-reverse; + } +} +@media (min-width: 768px) and (max-width: 1024px) { + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left .eael-feature-list-content-box { + margin-right: 0 !important; + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item { + padding: 0 0 0 50px; + } +} +@media (min-width: 768px) and (max-width: 1024px) and (max-width: 767px) { + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item { + padding: 0 0 0 30px; + } +} +@media (min-width: 768px) and (max-width: 1024px) { + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before { + left: 0; + right: auto; + } + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after { + left: 5px; + top: 30px; + } + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top .eael-feature-list-content-box { + margin-left: 0 !important; + margin-right: 0 !important; + margin-bottom: 0 !important; + } + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item { + padding: 0 0 0 50px; + } +} +@media (min-width: 768px) and (max-width: 1024px) and (max-width: 767px) { + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item { + padding: 0 0 0 30px; + } +} +@media (min-width: 768px) and (max-width: 1024px) { + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before { + left: 0; + right: auto; + } + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after { + left: 5px; + } + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right .eael-feature-list-content-box { + margin-left: 0 !important; + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item { + padding: 0 50px 0 0; + } +} +@media (min-width: 768px) and (max-width: 1024px) and (max-width: 767px) { + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item { + padding: 0 30px 0 0; + } +} +@media (min-width: 768px) and (max-width: 1024px) { + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before { + right: 0; + left: auto; + } + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after { + left: auto; + right: 5px; + } +} +@media (max-width: 767px) { + .elementor-widget-eael-feature-list.-icon-position-left .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-item, .elementor-widget-eael-feature-list.-tablet-icon-position-left .eael-feature-list-item, .elementor-widget-eael-feature-list.-tablet-icon-position-right .eael-feature-list-item { + display: block; + text-align: left; + } + .elementor-widget-eael-feature-list.-mobile-icon-position-left .eael-feature-list-item, .elementor-widget-eael-feature-list.-mobile-icon-position-right .eael-feature-list-item { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + } + .elementor-widget-eael-feature-list.-mobile-icon-position-left .eael-feature-list-item { + text-align: left; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + } + .elementor-widget-eael-feature-list.-mobile-icon-position-right .eael-feature-list-item { + text-align: right; + -webkit-box-orient: horizontal; + -webkit-box-direction: reverse; + -webkit-flex-direction: row-reverse; + -ms-flex-direction: row-reverse; + flex-direction: row-reverse; + } + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-content-box { + margin-right: 0 !important; + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item { + padding: 0 0 0 50px; + } +} +@media (max-width: 767px) and (max-width: 767px) { + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item { + padding: 0 0 0 30px; + } +} +@media (max-width: 767px) { + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before { + left: 0; + right: auto; + } + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after { + left: 5px; + } + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-content-box { + margin-left: 0 !important; + margin-right: 0 !important; + margin-bottom: 0 !important; + } + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item { + padding: 0 0 0 50px; + } +} +@media (max-width: 767px) and (max-width: 767px) { + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item { + padding: 0 0 0 30px; + } +} +@media (max-width: 767px) { + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before { + left: 0; + right: auto; + } + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after { + left: 5px; + } + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-content-box { + margin-left: 0 !important; + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item { + padding: 0 50px 0 0; + } +} +@media (max-width: 767px) and (max-width: 767px) { + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item { + padding: 0 30px 0 0; + } +} +@media (max-width: 767px) { + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:before { + right: 0; + left: auto; + } + .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern + .eael-feature-list-item:after { + left: auto; + right: 5px; + } +} diff --git a/assets/front-end/css/filter-gallery.css b/assets/front-end/css/filter-gallery.css new file mode 100644 index 000000000..4640d5c14 --- /dev/null +++ b/assets/front-end/css/filter-gallery.css @@ -0,0 +1,823 @@ +/*------------------------------*/ +/* 27. Filterable Gallery +/*------------------------------*/ +.eael-filter-gallery-control { + width: 100%; +} + +.eael-filter-gallery-control ul, +.eael-filter-gallery-control ul li { + text-align: center; +} + +.eael-filter-gallery-control ul { + margin: 0px 0px 20px 0px; + padding: 0px; + text-align: center; +} + +.eael-filter-gallery-control { + display: flex; + flex-flow: 1 1 auto; + align-items: center; + justify-content: center; + flex-flow: row wrap; + padding: 0px; + margin: 0px; +} + +.eael-filter-gallery-control ul li { + list-style: none; + font-size: 24px; + display: inline-block; + text-align: center; +} + +.eael-filter-gallery-control ul li a.control { + font-family: 'Montserrat', sans-serif; + font-size: 16px; + font-weight: 600; + padding: 10px 25px; + margin: 10px 6px; +} + +.eael-filter-gallery-container { + text-align: justify; + font-size: 0.1px; +} + +.eael-filter-gallery-container:after { + content: ''; + display: inline-block; + width: 100%; +} + +.eael-filter-gallery-container:not(.eael-cards) .item:before { + content: ''; + display: inline-block; + padding-top: 56.25%; +} + +.eael-filter-gallery-container .item .caption { + position: absolute; + display: flex; + flex-flow: 1 1 100%; + align-items: center; + justify-content: center; + z-index: 1; + top: 0px; + left: 0px; + right: 0px; + bottom: 0px; + transition: transform .4s; +} + +.eael-filter-gallery-container.eael-cards .item .caption { + display: none; +} + +.eael-filter-gallery-container.eael-cards .item .item-img .caption { + position: absolute; + display: flex; + flex-flow: 1 1 100%; + align-items: center; + justify-content: center; + z-index: 10; + top: 0px; + left: 0px; + right: 0px; + bottom: 0px; + transition: transform .4s; +} + +.gallery-item-caption-over { + width: 100%; + height: auto; +} + +a.eael-gallery-load-more, a.eael-gallery-load-more:hover { + text-decoration: none; +} + +/*--- Caption Animation ---*/ +.eael-filter-gallery-container .item .caption.eael-zoom-in, +.eael-filter-gallery-container.eael-cards .item .item-img .caption.eael-zoom-in { + transform: scale(0); +} + +.eael-filter-gallery-container .item:hover .caption.eael-zoom-in, +.eael-filter-gallery-container.eael-cards .item:hover .item-img .caption.eael-zoom-in { + transform: scale(1); +} + +.eael-filter-gallery-container .item .caption.eael-slide-left, +.eael-filter-gallery-container.eael-cards .item .item-img .caption.eael-slide-left { + transform: translateX(-100%); +} + +.eael-filter-gallery-container .item:hover .caption.eael-slide-left, +.eael-filter-gallery-container.eael-cards .item:hover .item-img .caption.eael-slide-left { + transform: translateX(0%); +} + +.eael-filter-gallery-container .item .caption.eael-slide-right, +.eael-filter-gallery-container.eael-cards .item .item-img .caption.eael-slide-right { + transform: translateX(100%); +} + +.eael-filter-gallery-container .item:hover .caption.eael-slide-right, +.eael-filter-gallery-container.eael-cards .item:hover .item-img .caption.eael-slide-right { + transform: translateX(0%); +} + +.eael-filter-gallery-container .item .caption.eael-slide-top, +.eael-filter-gallery-container.eael-cards .item .item-img .caption.eael-slide-top { + transform: translateY(-100%); +} + +.eael-filter-gallery-container .item:hover .caption.eael-slide-top, +.eael-filter-gallery-container.eael-cards .item:hover .item-img .caption.eael-slide-top { + transform: translateY(0%); +} + +.eael-filter-gallery-container .item .caption.eael-slide-bottom, +.eael-filter-gallery-container.eael-cards .item .item-img .caption.eael-slide-bottom { + transform: translateY(100%); +} + +.eael-filter-gallery-container .item:hover .caption.eael-slide-bottom, +.eael-filter-gallery-container.eael-cards .item:hover .item-img .caption.eael-slide-bottom { + transform: translateY(0%); +} + +.eael-filter-gallery-container .item .caption a { + display: inline-block; + width: 50px; + height: 50px; + text-align: center; + line-height: 50px; + border-radius: 50%; + margin: 0 5px; + font-size: 20px; + cursor: pointer; + transition: .3s; +} + +.eael-filter-gallery-container .item .caption a:nth-child(1), +.eael-container .item .caption a:nth-child(2) { + transition: .6s; + opacity: 0; +} + +.eael-filter-gallery-container .item .caption a:nth-child(1) { + transform: translateY(-100%); +} + +.eael-filter-gallery-container .item .caption a:nth-child(2) { + transform: translateY(100%); +} + +.eael-filter-gallery-container .item .caption:hover a:nth-child(1), +.eael-filter-gallery-container .item .caption:hover a:nth-child(2) { + transform: translateY(0%); + opacity: 1; +} + +.eael-filter-gallery-container .item .caption .eael-popup-link { + outline: 0; +} + +/*--- Filter Gallery Card Style ---*/ +.eael-filter-gallery-container.eael-cards .item:before { + padding-top: 0px; +} + +.eael-filter-gallery-container.eael-cards .item-img { + position: relative; + background-repeat: no-repeat; + background-position: center; + background-size: cover; + height: 220px; + z-index: 0; + overflow: hidden; +} + +.eael-filter-gallery-container.eael-cards .item-content { + padding: 15px; +} + +.eael-filter-gallery-container.eael-cards .item-content .title, +.eael-filter-gallery-container.eael-cards .item-content .title a { + font-size: 20px; + line-height: 1; + margin-bottom: 0px; + transition: .3s; +} + +.eael-filter-gallery-container.eael-cards .item-content p { + font-size: 14px; + line-height: 26px; +} + +.eael-fg-card-content-align-center .eael-filterable-gallery-item-wrap .gallery-item-caption-wrap .gallery-item-caption-over { + text-align: center; +} + +.eael-fg-card-content-align-right .eael-filterable-gallery-item-wrap .gallery-item-caption-wrap .gallery-item-caption-over { + text-align: right; +} + +.eael-fg-hoverer-content-align-center .eael-filterable-gallery-item-wrap .gallery-item-caption-wrap .gallery-item-caption-over { + text-align: center; +} + +.eael-fg-hoverer-content-align-right .eael-filterable-gallery-item-wrap .gallery-item-caption-wrap .gallery-item-caption-over { + text-align: right; +} + +/*--- Editor Specific Style ---*/ +.eael-fg-content-align-left .eael-cards .item .item-content { + text-align: left; +} + +.eael-fg-content-align-center .eael-cards .item .item-content { + text-align: center; +} + +.eael-fg-content-align-right .eael-cards .item .item-content { + text-align: right; +} + +/*--- Magnific Gallery Fix ---*/ +.mfp-wrap ~ div.dialog-widget { + display: none !important; +} + +.eael-filterable-gallery-item-wrap { + float: left; + width: 33.33%; +} + +.eael-filter-gallery-container.eael-col-1 .eael-filterable-gallery-item-wrap { + width: 100%; +} + +.eael-filter-gallery-control > ul li { + font-size: 13px; + line-height: 1.8; + text-transform: uppercase; + letter-spacing: 1px; + padding: 6px 15px; + cursor: pointer; + margin: 0 5px; + font-weight: normal; +} + +.eael-filter-gallery-container.eael-col-2 .eael-filterable-gallery-item-wrap { + width: 50%; +} + +.eael-filter-gallery-container.eael-col-4 .eael-filterable-gallery-item-wrap { + width: 25%; +} + +.eael-filter-gallery-container.eael-col-5 .eael-filterable-gallery-item-wrap { + width: 20%; +} + +.gallery-grid-item { + margin-left: calc(20px/2); + margin-right: calc(20px/2); + margin-bottom: 20px; + position: relative; + overflow: hidden; +} + +.gallery-item-caption-wrap, +.media-content-wrap { + font-size: 14px; + text-align: left; +} + +.gallery-item-thumbnail-wrap.caption-style-card img { + max-height: 100%; + width: 100%; +} + +.gallery-item-caption-wrap.caption-style-hoverer { + position: absolute; + left: 0; + top: 0; + height: 100%; + width: 100%; + padding: 15px; + z-index: 10; +} + +.eael-filterable-gallery-item-wrap .gallery-grid-item .gallery-item-thumbnail-wrap > img { + height: 100%; + width: 100%; + object-fit: cover; +} + +/*--- Gallery content css ---*/ +.fg-item-title, +.fg-item-content { + color: #ffffff; + font-family: inherit; +} + +/*--- Gallery Card Style CSS ---*/ +.gallery-item-caption-wrap.caption-style-card .fg-item-title { + font-size: 18px; + margin: 15px 0 15px; + line-height: 1; +} + +.gallery-item-caption-wrap.caption-style-card { + background: #f7f7f7; +} + +.gallery-item-caption-wrap.caption-style-card .fg-item-title { + margin: 10px 0 15px; + color: #000000; +} + +.gallery-item-caption-wrap.caption-style-card .fg-item-content { + color: #212529; + line-height: 1.5; + font-weight: normal; +} + +.gallery-item-buttons > a { + display: inline-block; + font-size: 16px; + color: #000; + margin-right: 15px; +} + +.gallery-item-buttons > a:visited { + color: #000; +} + +.gallery-item-caption-wrap.caption-style-card { + padding: 10px; + box-sizing: border-box; + font-family: inherit; +} + +/*--- Gallery item hover style ---*/ +.gallery-item-caption-wrap .gallery-item-hoverer-bg { + position: absolute; + left: 0; + top: 0; + height: 100%; + width: 100%; + content: ''; + background: #000000; + z-index: -1; + opacity: .7; +} + +.gallery-item-caption-wrap.caption-style-hoverer { + visibility: hidden; + opacity: 0; + transition: 0.6s all ease; + display: flex; + align-items: center; +} + +.gallery-grid-item:hover .gallery-item-caption-wrap.caption-style-hoverer { + opacity: 1; + visibility: visible; +} + +.gallery-item-caption-wrap.caption-style-hoverer h5 { + font-size: 20px; + margin-bottom: 5px; + line-height: 1; +} + +.gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up h5 { + transform: translateY(20px); + transition: 0.6s all ease; +} + +.gallery-item-caption-wrap.caption-style-hoverer p { + margin-bottom: 5px; +} + +.gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up p { + transform: translateY(40px); + transition: 0.6s all ease; +} + +.gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up .gallery-item-buttons { + transform: translateY(40px); + transition: 0.6s all ease; +} + +.gallery-item-caption-wrap .gallery-item-buttons > a { + padding: 5px 15px; + display: inline-block; + border-radius: 50%; + outline: none; + text-decoration: none; +} + +.gallery-item-caption-wrap.caption-style-hoverer.eael-zoom-in { + transform: scale(0.8); + transition: 0.6s all ease; +} + +.gallery-grid-item:hover .gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up h5, +.gallery-grid-item:hover .gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up .gallery-item-buttons, +.gallery-grid-item:hover .gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up p { + transform: translate(0); +} + +.gallery-grid-item:hover .gallery-item-caption-wrap.caption-style-hoverer.eael-zoom-in { + transform: scale(1); + visibility: visible; + opacity: 1; +} + +.gallery-item-caption-wrap.caption-style-hoverer.eael-none { + transition: none; +} + +/*--- Video Gallery ---*/ +.gallery-item-thumbnail-wrap { + position: relative; +} + +.video-popup, +.video-popup-bg { + position: absolute; + left: 0; + top: 0; + height: 100%; + width: 100%; +} + +.video-popup > img { + width: 62px; + position: relative; + z-index: 1; + transition: 300ms; +} + +.video-popup { + display: flex; + align-items: center; + justify-content: center; +} + +.video-popup:hover > img { + transform: scale(1.1); +} + +.video-popup-bg { + visibility: hidden; + opacity: 0; + transition: 350ms; +} + +.gallery-grid-item:hover .video-popup-bg { + visibility: visible; + opacity: 1; +} + +.gallery-item-thumbnail-wrap > .gallery-item-caption-wrap { + position: absolute; + left: 0; + top: 0; + height: 100%; + width: 100%; + display: flex; + align-items: center; + justify-content: center; +} + +.gallery-item-caption-wrap.card-hover-bg { + visibility: hidden; + opacity: 0; + transition: 800ms; +} + +.gallery-item-thumbnail-wrap:hover .gallery-item-caption-wrap.card-hover-bg { + visibility: visible; + opacity: 1; +} + +.gallery-item-caption-wrap .gallery-item-buttons > a > i { + display: flex; + align-items: center; + justify-content: center; + height: 100%; +} + +/*--- Gallery Column CSS ---*/ +@media only screen and (min-width: 1025px) { + /* For Desktop: */ + .elementor-element.elementor-grid-1 { + position: relative; + } + + .elementor-element.elementor-grid-1 .eael-filterable-gallery-item-wrap { + width: 100%; + float: left; + } + + .elementor-element.elementor-grid-2 { + position: relative; + } + + .elementor-element.elementor-grid-2 .eael-filterable-gallery-item-wrap { + width: 50%; + float: left; + } + + .elementor-element.elementor-grid-2 .eael-filterable-gallery-item-wrap:nth-of-type(2n) { + margin-right: 0 !important; + } + + .elementor-element.elementor-grid-2 .eael-filterable-gallery-item-wrap:nth-of-type(2n+1) { + clear: left; + } + + .elementor-element.elementor-grid-3 { + position: relative; + } + + .elementor-element.elementor-grid-3 .eael-filterable-gallery-item-wrap { + width: 33.3333%; + float: left; + } + + .elementor-element.elementor-grid-3 .eael-filterable-gallery-item-wrap:nth-of-type(3n) { + margin-right: 0 !important; + } + + .elementor-element.elementor-grid-3 .eael-filterable-gallery-item-wrap:nth-of-type(3n+1) { + clear: left; + } + + .elementor-element.elementor-grid-4 { + position: relative; + } + + .elementor-element.elementor-grid-4 .eael-filterable-gallery-item-wrap { + width: 25%; + float: left; + } + + .elementor-element.elementor-grid-4 .eael-filterable-gallery-item-wrap:nth-of-type(4n) { + margin-right: 0 !important; + } + + .elementor-element.elementor-grid-4 .eael-filterable-gallery-item-wrap:nth-of-type(4n+1) { + clear: left; + } + + .elementor-element.elementor-grid-5 { + position: relative; + } + + .elementor-element.elementor-grid-5 .pp-logo-grid { + margin-right: -5px; + } + + .elementor-element.elementor-grid-5 .eael-filterable-gallery-item-wrap { + width: 20%; + float: left; + } + + .elementor-element.elementor-grid-5 .eael-filterable-gallery-item-wrap:nth-of-type(5n) { + margin-right: 0 !important; + } + + .elementor-element.elementor-grid-5 .eael-filterable-gallery-item-wrap:nth-of-type(5n+1) { + clear: left; + } + + .elementor-element.elementor-grid-6 { + position: relative; + } + + .elementor-element.elementor-grid-6 .pp-logo-grid { + margin-right: -6px; + } + + .elementor-element.elementor-grid-6 .eael-filterable-gallery-item-wrap { + width: 16.6667%; + float: left; + } + + .elementor-element.elementor-grid-6 .eael-filterable-gallery-item-wrap:nth-of-type(6n) { + margin-right: 0 !important; + } + + .elementor-element.elementor-grid-6 .eael-filterable-gallery-item-wrap:nth-of-type(6n+1) { + clear: left; + } +} +@media only screen and (max-width: 1024px) and (min-width: 766px) { + /* For tablets: */ + .elementor-element.elementor-grid-tablet-1 { + position: relative; + } + + .elementor-element.elementor-grid-tablet-1 .eael-filterable-gallery-item-wrap { + width: 100%; + float: left; + } + + .elementor-element.elementor-grid-tablet-2 { + position: relative; + } + + .elementor-element.elementor-grid-tablet-2 .eael-filterable-gallery-item-wrap { + width: 50%; + float: left; + } + + .elementor-element.elementor-grid-tablet-2 .eael-filterable-gallery-item-wrap:nth-of-type(2n) { + margin-right: 0 !important; + } + + .elementor-element.elementor-grid-tablet-2 .eael-filterable-gallery-item-wrap:nth-of-type(2n+1) { + clear: left; + } + + .elementor-element.elementor-grid-tablet-3 { + position: relative; + } + + .elementor-element.elementor-grid-tablet-3 .eael-filterable-gallery-item-wrap { + width: 33.3333%; + float: left; + } + + .elementor-element.elementor-grid-tablet-3 .eael-filterable-gallery-item-wrap:nth-of-type(3n) { + margin-right: 0 !important; + } + + .elementor-element.elementor-grid-tablet-3 .eael-filterable-gallery-item-wrap:nth-of-type(3n+1) { + clear: left; + } + + .elementor-element.elementor-grid-tablet-4 { + position: relative; + } + + .elementor-element.elementor-grid-tablet-4 .eael-filterable-gallery-item-wrap { + width: 25%; + float: left; + } + + .elementor-element.elementor-grid-tablet-4 .eael-filterable-gallery-item-wrap:nth-of-type(4n) { + margin-right: 0 !important; + } + + .elementor-element.elementor-grid-tablet-4 .eael-filterable-gallery-item-wrap:nth-of-type(4n+1) { + clear: left; + } + + .elementor-element.elementor-grid-tablet-5 { + position: relative; + } + + .elementor-element.elementor-grid-tablet-5 .eael-filterable-gallery-item-wrap { + width: 20%; + float: left; + } + + .elementor-element.elementor-grid-tablet-5 .eael-filterable-gallery-item-wrap:nth-of-type(5n) { + margin-right: 0 !important; + } + + .elementor-element.elementor-grid-tablet-5 .eael-filterable-gallery-item-wrap:nth-of-type(5n+1) { + clear: left; + } + + .elementor-element.elementor-grid-tablet-6 { + position: relative; + } + + .elementor-element.elementor-grid-tablet-6 .pp-logo-grid { + margin-right: -6px; + } + + .elementor-element.elementor-grid-tablet-6 .eael-filterable-gallery-item-wrap { + width: 16.6667%; + float: left; + } + + .elementor-element.elementor-grid-tablet-6 .eael-filterable-gallery-item-wrap:nth-of-type(6n) { + margin-right: 0 !important; + } + + .elementor-element.elementor-grid-tablet-6 .eael-filterable-gallery-item-wrap:nth-of-type(6n+1) { + clear: left; + } +} +@media only screen and (max-width: 767px) { + .elementor-element.elementor-grid-mobile-1 { + position: relative; + } + + .elementor-element.elementor-grid-mobile-1 .eael-filterable-gallery-item-wrap { + width: 100%; + float: left; + } + + .elementor-element.elementor-grid-mobile-2 { + position: relative; + } + + .elementor-element.elementor-grid-mobile-2 .eael-filterable-gallery-item-wrap { + width: 50%; + float: left; + } + + .elementor-element.elementor-grid-mobile-2 .eael-filterable-gallery-item-wrap:nth-of-type(2n) { + margin-right: 0 !important; + } + + .elementor-element.elementor-grid-mobile-2 .eael-filterable-gallery-item-wrap:nth-of-type(2n+1) { + clear: left; + } + + .elementor-element.elementor-grid-mobile-3 { + position: relative; + } + + .elementor-element.elementor-grid-mobile-3 .eael-filterable-gallery-item-wrap { + width: 33.3333%; + float: left; + } + + .elementor-element.elementor-grid-mobile-3 .eael-filterable-gallery-item-wrap:nth-of-type(3n) { + margin-right: 0 !important; + } + + .elementor-element.elementor-grid-mobile-3 .eael-filterable-gallery-item-wrap:nth-of-type(3n+1) { + clear: left; + } + + .elementor-element.elementor-grid-mobile-4 { + position: relative; + } + + .elementor-element.elementor-grid-mobile-4 .eael-filterable-gallery-item-wrap { + width: 25%; + float: left; + } + + .elementor-element.elementor-grid-mobile-4 .eael-filterable-gallery-item-wrap:nth-of-type(4n) { + margin-right: 0 !important; + } + + .elementor-element.elementor-grid-mobile-4 .eael-filterable-gallery-item-wrap:nth-of-type(4n+1) { + clear: left; + } + + .elementor-element.elementor-grid-mobile-5 { + position: relative; + } + + .elementor-element.elementor-grid-mobile-5 .eael-filterable-gallery-item-wrap { + width: 20%; + float: left; + } + + .elementor-element.elementor-grid-mobile-5 .eael-filterable-gallery-item-wrap:nth-of-type(5n) { + margin-right: 0 !important; + } + + .elementor-element.elementor-grid-mobile-5 .eael-filterable-gallery-item-wrap:nth-of-type(5n+1) { + clear: left; + } + + .elementor-element.elementor-grid-mobile-6 { + position: relative; + } + + .elementor-element.elementor-grid-mobile-6 .pp-logo-grid { + margin-right: -6px; + } + + .elementor-element.elementor-grid-mobile-6 .eael-filterable-gallery-item-wrap { + width: 16.6667%; + float: left; + } + + .elementor-element.elementor-grid-mobile-6 .eael-filterable-gallery-item-wrap:nth-of-type(6n) { + margin-right: 0 !important; + } + + .elementor-element.elementor-grid-mobile-6 .eael-filterable-gallery-item-wrap:nth-of-type(6n+1) { + clear: left; + } +} diff --git a/assets/front-end/css/flip-box.css b/assets/front-end/css/flip-box.css new file mode 100644 index 000000000..ac0717537 --- /dev/null +++ b/assets/front-end/css/flip-box.css @@ -0,0 +1,293 @@ +/*---------------------------*/ +/* 18. Flipbox Style +/*---------------------------*/ +.eael-elements-flip-box-container { + position: relative; + height: 300px; + width: 100%; +} + +.eael-elements-flip-box-container .flipbox-button { + display: inline-block; + -webkit-transition: all 400ms; + -o-transition: all 400ms; + transition: all 400ms; +} + +.eael-elements-flip-box-container a { + display: block; +} + +.eael-elements-flip-box-vertical-align { + width: 100%; +} + +.eael-elements-flip-box-padding { + padding: 0px 30px 5px 30px; +} + +.eael-elements-flip-box-icon-image { + display: inline-block; + margin: 0 auto 0px auto; + line-height: 1; +} + +.eael-elements-flip-box-icon-image.eael_eleements_flip_front_icon_style_background { + background: #cccccc; +} + +.eael_eleements_flip_front_icon_style_bordered { + border: 2px solid #ffffff; +} + +.eael_flip_box_icon_border_round { + border-radius: 100px; +} + +.eael_eleements_flip_front_icon_style_background, +.eael_eleements_flip_front_icon_style_bordered { + padding: 15px; +} + +.eael-elements-flip-box-icon-image i { + font-size: 40px; + line-height: 40px; + width: 40px; +} + +.eael-elements-slider-display-table { + width: 100%; +} + +.eael-elements-flip-box-front-container { + text-align: center; + position: absolute; + top: 0px; + left: 0px; + z-index: 2; + width: 100%; + height: 100%; + background: #0e9dd2; + color: #ffffff; + border-color: #000000; + -webkit-display: flex; + display: flex; + -webkit-align-items: center; + align-items: center; +} + +.eael-elements-flip-box-content, +.eael-elements-flip-box-heading { + color: #ffffff; +} + +.eael-elements-flip-box-heading.flipbox-linked-title { + color: #fff; + font-size: 1.5em; + font-weight: 700; +} + +.eael-elements-flip-box-rear-container { + text-align: center; + position: absolute; + top: 0px; + left: 0px; + width: 100%; + height: 100%; + background: #444444; + color: #ffffff; + display: flex; + -webkit-align-items: center; + align-items: center; + border-color: #000000; +} + +/*--- Floating Button Styles ---*/ +.eael-elements-button-floating-container { + position: fixed; + z-index: 100; +} + +.eael-elements-button-floating-container .eael-elements-button { + margin-top: 0px; + font-size: 14px; + position: relative; + padding: 14px 20px; +} + +.eael-elements-button { + cursor: pointer; + display: inline-block; + background: #077bbe; + color: #ffffff; + line-height: 1; + padding: 16px 25px; + margin-top: 15px; +} + +.eael-elements-button:hover { + background: #077bbe; + color: #ffffff; +} + +/*--- CSS3 Transitions ---*/ +.eael-elements-flip-box-container { + perspective: 1000px; +} + +.eael-elements-flip-box-front-container, +.eael-elements-flip-box-rear-container { + transition-duration: 500ms; + transition-property: all; + transition-timing-function: ease; +} + +.eael-elements-flip-box-flip-card { + width: 100%; + height: 100%; + transform-style: preserve-3d; + transition: all 500ms ease; +} + +.eael-elements-flip-box-rear-container, +.eael-elements-flip-box-front-container { + -moz-backface-visibility: hidden; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + transform: rotateX(0deg); + transform: rotateY(0deg); +} + +/*--- Flip ---*/ +.eael-animate-flip.eael-animate-up.eael-elements-flip-box-container:hover .eael-elements-flip-box-flip-card, +.eael-animate-flip.eael-animate-up .eael-elements-flip-box-rear-container { + transform: rotateX(180deg); +} + +.eael-animate-flip.eael-animate-down.eael-elements-flip-box-container:hover .eael-elements-flip-box-flip-card, +.eael-animate-flip.eael-animate-down .eael-elements-flip-box-rear-container { + transform: rotateX(-180deg); +} + +.eael-animate-flip.eael-animate-left.eael-elements-flip-box-container:hover .eael-elements-flip-box-flip-card, +.eael-animate-flip.eael-animate-left .eael-elements-flip-box-rear-container { + transform: rotateY(-180deg); +} + +.eael-animate-flip.eael-animate-right.eael-elements-flip-box-container:hover .eael-elements-flip-box-flip-card, +.eael-animate-flip.eael-animate-right .eael-elements-flip-box-rear-container { + transform: rotateY(180deg); +} + +/*--- Slide ---*/ +.eael-animate-push.eael-elements-flip-box-container, +.eael-animate-slide.eael-elements-flip-box-container { + overflow: hidden; +} + +.eael-animate-push .eael-elements-flip-box-rear-container, +.eael-animate-slide .eael-elements-flip-box-rear-container { + z-index: 3; +} + +.eael-animate-push.eael-animate-up .eael-elements-flip-box-rear-container, +.eael-animate-slide.eael-animate-up .eael-elements-flip-box-rear-container { + top: 100%; +} + +.eael-animate-push.eael-animate-up.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container, +.eael-animate-slide.eael-animate-up.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container { + top: 0; +} + +.eael-animate-push.eael-animate-down .eael-elements-flip-box-rear-container, +.eael-animate-slide.eael-animate-down .eael-elements-flip-box-rear-container { + top: auto; + bottom: 100%; +} + +.eael-animate-push.eael-animate-down.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container, +.eael-animate-slide.eael-animate-down.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container { + top: auto; + bottom: 0; +} + +.eael-animate-push.eael-animate-left .eael-elements-flip-box-rear-container, +.eael-animate-slide.eael-animate-left .eael-elements-flip-box-rear-container { + left: 100%; +} + +.eael-animate-push.eael-animate-left.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container, +.eael-animate-slide.eael-animate-left.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container { + left: 0; +} + +.eael-animate-push.eael-animate-right .eael-elements-flip-box-rear-container, +.eael-animate-slide.eael-animate-right .eael-elements-flip-box-rear-container { + left: auto; + right: 100%; +} + +.eael-animate-push.eael-animate-right.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container, +.eael-animate-slide.eael-animate-right.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container { + left: auto; + right: 0; +} + +/*--- Push + Slide Above ---*/ +.eael-animate-push.eael-animate-up.eael-elements-flip-box-container:hover .eael-elements-flip-box-front-container { + top: -100%; +} + +.eael-animate-push.eael-animate-down.eael-elements-flip-box-container:hover .eael-elements-flip-box-front-container { + top: 100%; +} + +.eael-animate-push.eael-animate-left.eael-elements-flip-box-container:hover .eael-elements-flip-box-front-container { + left: -100%; +} + +.eael-animate-push.eael-animate-right.eael-elements-flip-box-container:hover .eael-elements-flip-box-front-container { + left: 100%; +} + +/*--- Zoom In ---*/ +.eael-animate-zoom-in .eael-elements-flip-box-rear-container { + opacity: 0; + transform: scale(0.75); + z-index: 3; +} + +.eael-animate-zoom-in.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container { + opacity: 1; + transform: scale(1); +} + +/*--- Zoom Out ---*/ +.eael-animate-zoom-out.eael-elements-flip-box-container:hover .eael-elements-flip-box-front-container { + opacity: 0; + transform: scale(0.75); +} + +.eael-animate-fade.eael-elements-flip-box-container:hover .eael-elements-flip-box-front-container { + opacity: 0; +} + +/*--- Builder Related Style ---*/ +.eael-flipbox-content-align-right .eael-elements-flip-box-padding { + text-align: right; +} + +.eael-flipbox-content-align-left .eael-elements-flip-box-padding { + text-align: left; +} + +.eael-flipbox-content-align-center .eael-elements-flip-box-padding { + text-align: center; +} + +.eael-flipbox-img-circle .eael-elements-flip-box-icon-image img, +.eael-flipbox-img-circle .flipbox-back-image-icon img { + border-radius: 50%; + overflow: hidden; +} diff --git a/assets/front-end/css/general.css b/assets/front-end/css/general.css new file mode 100644 index 000000000..df76dbb78 --- /dev/null +++ b/assets/front-end/css/general.css @@ -0,0 +1,185 @@ +/*--------------------------*/ +/* 01. General Styles +/*--------------------------*/ +.clearfix::before, +.clearfix::after { + content: " "; + display: table; + clear: both; +} + +/*---------------------------------------*/ +/* 02. Common styles for slider elements +/*---------------------------------------*/ +.eael-testimonial-slider.nav-top-left, +.eael-testimonial-slider.nav-top-right, +.eael-team-slider.nav-top-left, +.eael-team-slider.nav-top-right, +.eael-logo-carousel.nav-top-left, +.eael-logo-carousel.nav-top-right, +.eael-post-carousel.nav-top-left, +.eael-post-carousel.nav-top-right, +.eael-product-carousel.nav-top-left, +.eael-product-carousel.nav-top-right { + padding-top: 40px; +} + +/*----------------------------*/ +/* 28. Swiper +/*----------------------------*/ +.swiper-container-wrap .swiper-slide, +.swiper-container .swiper-slide { + text-align: center; +} + +.swiper-container-wrap .swiper-slide img, +.swiper-container .swiper-slide img { + width: auto; +} + +.swiper-container-wrap-dots-outside .swiper-pagination, +.swiper-container-dots-outside .swiper-pagination { + position: static; +} + +.swiper-container-wrap .swiper-button-next, +.swiper-container-wrap .swiper-button-prev, +.swiper-container .swiper-button-next, +.swiper-container .swiper-button-prev { + background: transparent; + font-size: 20px; + height: auto; + line-height: 1; + margin: 0; + text-align: center; + transform: translateY(-50%); + width: auto; +} + +.swiper-container-wrap .swiper-button-next .fa, +.swiper-container-wrap .swiper-button-prev .fa, +.swiper-container .swiper-button-next .fa, +.swiper-container .swiper-button-prev .fa { + vertical-align: top; +} + +.swiper-container-wrap .swiper-pagination { + bottom: 10px; + left: 0; + width: 100%; +} + +.swiper-container-wrap-dots-outside .swiper-pagination { + position: static; +} + +.swiper-container-wrap .swiper-pagination-bullet { + background: #ccc; + margin: 0 4px; + opacity: 1; + height: 8px; + width: 8px; +} + +.swiper-container-wrap .swiper-pagination-bullet-active { + background: #000; +} + +.swiper-container-3d .swiper-slide { + transition-property: all; + -webkit-transition-property: all; +} + +/*--------------------------------*/ +/* 10. Contact forms common +/*--------------------------------*/ +.eael-contact-form input[type=text], +.eael-contact-form input[type=email], +.eael-contact-form input[type=url], +.eael-contact-form input[type=tel], +.eael-contact-form input[type=date], +.eael-contact-form input[type=number], +.eael-contact-form textarea { + background: #fff; + box-shadow: none; + -webkit-box-shadow: none; + float: none; + height: auto; + margin: 0; + outline: 0; + width: auto; +} + +.eael-contact-form input[type=submit] { + border: 0; + float: none; + height: auto; + margin: 0; + padding: 10px 20px; + width: auto; + -webkit-transition: all 0.25s linear 0s; + transition: all 0.25s linear 0s; +} + +.eael-contact-form.placeholder-hide input::-webkit-input-placeholder, +.eael-contact-form.placeholder-hide textarea::-webkit-input-placeholder { + opacity: 0; + visibility: hidden; +} + +.eael-contact-form.placeholder-hide input::-moz-placeholder, +.eael-contact-form.placeholder-hide textarea::-moz-placeholder { + opacity: 0; + visibility: hidden; +} + +.eael-contact-form.placeholder-hide input:-ms-input-placeholder, +.eael-contact-form.placeholder-hide textarea:-ms-input-placeholder { + opacity: 0; + visibility: hidden; +} + +.eael-contact-form.placeholder-hide input:-moz-placeholder, +.eael-contact-form.placeholder-hide textarea:-moz-placeholder { + opacity: 0; + visibility: hidden; +} + +.eael-custom-radio-checkbox input[type=checkbox], +.eael-custom-radio-checkbox input[type=radio] { + -webkit-appearance: none; + -moz-appearance: none; + border-style: solid; + border-width: 0; + outline: none; + min-width: 1px; + width: 15px; + height: 15px; + background: #ddd; + padding: 3px; +} + +.eael-custom-radio-checkbox input[type=checkbox]:before, +.eael-custom-radio-checkbox input[type=radio]:before { + content: ""; + width: 100%; + height: 100%; + padding: 0; + margin: 0; + display: block; +} + +.eael-custom-radio-checkbox input[type=checkbox]:checked:before, +.eael-custom-radio-checkbox input[type=radio]:checked:before { + background: #999; + -webkit-transition: all 0.25s linear 0s; + transition: all 0.25s linear 0s; +} + +.eael-custom-radio-checkbox input[type=radio] { + border-radius: 50%; +} + +.eael-custom-radio-checkbox input[type=radio]:before { + border-radius: 50%; +} diff --git a/assets/front-end/css/gravity-form.css b/assets/front-end/css/gravity-form.css new file mode 100644 index 000000000..b7b128fac --- /dev/null +++ b/assets/front-end/css/gravity-form.css @@ -0,0 +1,56 @@ +/*----------------------*/ +/* 14. Gravity Form +/*----------------------*/ +.eael-gravity-form-align-default, +.eael-gravity-form-align-left, +.eael-gravity-form-btn-align-left { + text-align: left; +} + +.eael-gravity-form-align-right, +.eael-gravity-form-btn-align-right { + text-align: right; +} + +.eael-gravity-form-align-center, +.eael-gravity-form-btn-align-center { + text-align: center; +} + +.eael-gravity-form .gform_wrapper .gform_footer { + margin: 0; + padding: 0; +} + +.gform_wrapper form li, +.gform_wrapper li { + list-style: none; +} + +.eael-gravity-form .gform_wrapper ul.gform_fields li.gfield { + padding: 0; +} + +.eael-gravity-form .gform_wrapper textarea { + padding: 0; +} + +.eael-gravity-form .gform_wrapper .gform_footer input.button, +.eael-gravity-form .gform_wrapper .gform_footer input[type=submit], +.eael-gravity-form .gform_wrapper .gform_page_footer input.button, +.eael-gravity-form .gform_wrapper .gform_page_footer input[type=submit] { + margin: 0; +} + +.eael-gravity-form.title-description-hide .gform_heading { + display: none; +} + +.eael-gravity-form.labels-hide .gform_wrapper .top_label .gfield_label, +.eael-gravity-form.labels-hide .gform_wrapper .field_sublabel_below .ginput_complex.ginput_container label { + display: none; +} + +.eael-gravity-form-button-full-width .gform_wrapper .gform_footer input[type="submit"] { + width: 100%; +} diff --git a/assets/front-end/css/image-accordion.css b/assets/front-end/css/image-accordion.css new file mode 100644 index 000000000..32189c18c --- /dev/null +++ b/assets/front-end/css/image-accordion.css @@ -0,0 +1,90 @@ +/*------------------------------*/ +/* 34. Image accordion +/*------------------------------*/ +.eael-img-accordion { + display: flex; + height: 50vh; +} + +.eael-img-accordion a { + position: relative; + flex: 1; + text-align: center; + text-decoration: none; + color: #fff; + background-size: cover; + background-position: center; + background-repeat: no-repeat; + transition: flex .4s; +} + +.eael-grow-accordion { + flex: 3; +} + +.eael-img-accordion .overlay { + display: flex; + align-items: center; + justify-content: center; + padding: 0 10px; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + transition: background-color .4s; +} + +.eael-img-accordion .overlay .overlay-inner { + z-index: 1; +} + +.eael-img-accordion a:after { + content: ""; + position: absolute; + width: 100%; + height: 100%; + z-index: 0; + top: 0px; + left: 0px; + bottom: 0px; + right: 0px; + transition: all 0.3s ease-in-out; +} + +.eael-img-accordion .overlay-inner * { + visibility: hidden; + opacity: 0; + transform-style: preserve-3d; +} + +.eael-img-accordion .overlay h2 { + color: #fff; + transform: translate3d(0, -60px, 0); +} + +.eael-img-accordion .overlay p { + color: #fff; + transform: translate3d(0, 60px, 0); +} + +.eael-img-accordion .overlay-inner-show * { + opacity: 1; + visibility: visible; + transform: none !important; + transition: all .3s .3s; +} + +@media screen and (max-width: 800px) { + .eael-img-accordion { + flex-direction: column; + } + + .eael-img-accordion a:hover { + flex: 1; + } + + .eael-img-accordion a:hover .overlay { + background-color: transparent; + } +} diff --git a/assets/front-end/css/info-box.css b/assets/front-end/css/info-box.css new file mode 100644 index 000000000..fa53a6c10 --- /dev/null +++ b/assets/front-end/css/info-box.css @@ -0,0 +1,199 @@ +/* ------------------------ */ +/* 17. Infobox Style +/* ------------------------ */ +/*--- Image/Icon On Top ---*/ +.eael-infobox .infobox-icon { + height: auto; +} + +.eael-infobox .infobox-icon .infobox-icon-wrap { + display: block; + width: 100%; + height: auto; + transition: .3s; +} + +.eael-infobox .infobox-icon .infobox-icon-wrap i { + transition: .3s; +} + +/*--- For Content Alignment ---*/ +.eael-infobox-content-align-left .eael-infobox .infobox-icon, +.eael-infobox-content-align-left .eael-infobox .infobox-content, +.eael-infobox-content-align-left .eael-infobox .infobox-button { + text-align: left; +} + +.eael-infobox-content-align-right .eael-infobox .infobox-icon, +.eael-infobox-content-align-right .eael-infobox .infobox-content, +.eael-infobox-content-align-right .eael-infobox .infobox-button { + text-align: right; +} + +.eael-infobox-content-align-center .eael-infobox .infobox-icon, +.eael-infobox-content-align-center .eael-infobox .infobox-content, +.eael-infobox-content-align-center .eael-infobox .infobox-button { + text-align: center; +} + +/*--- For icon background shape ---*/ +.eael-infobox-icon-bg-shape-square .infobox-icon .infobox-icon-wrap, +.eael-infobox-icon-bg-shape-radius .infobox-icon .infobox-icon-wrap, +.eael-infobox-icon-bg-shape-circle .infobox-icon .infobox-icon-wrap { + width: 90px; + height: 90px; + text-align: center; +} + +.eael-infobox-icon-hover-bg-shape-square:hover .infobox-icon .infobox-icon-wrap { + border-radius: 0; +} + +.eael-infobox-icon-bg-shape-radius .infobox-icon .infobox-icon-wrap, +.eael-infobox-icon-hover-bg-shape-radius:hover .infobox-icon .infobox-icon-wrap { + border-radius: 15px; +} + +.eael-infobox-icon-bg-shape-radius .infobox-icon .infobox-icon-wrap { + display: flex; + align-items: center; + justify-content: center; +} + +.eael-infobox-icon-bg-shape-circle .infobox-icon .infobox-icon-wrap, +.eael-infobox-icon-hover-bg-shape-circle:hover .infobox-icon .infobox-icon-wrap { + border-radius: 50%; +} + +.eael-infobox-icon-bg-shape-square .infobox-icon .infobox-icon-wrap i, +.eael-infobox-icon-bg-shape-circle .infobox-icon .infobox-icon-wrap i { + margin-top: 50%; + transform: translateY(-50%); +} + +/*--- Infobox Button ---*/ +.eael-infobox .infobox-button a.eael-infobox-button { + display: inline-block; + padding: 5px 10px; + -webkit-transition: all 300ms ease-in-out 0s; + -o-transition: all 300ms ease-in-out 0s; + transition: all 300ms ease-in-out 0s; +} + +/*--- For icon bg shape alignment ---*/ +.eael-infobox-content-align-left.eael-infobox-icon-bg-shape-square .infobox-icon, +.eael-infobox-content-align-left.eael-infobox-icon-bg-shape-radius .infobox-icon, +.eael-infobox-content-align-left.eael-infobox-icon-bg-shape-circle .infobox-icon { + display: flex; + justify-content: flex-start; +} + +.eael-infobox-content-align-center.eael-infobox-icon-bg-shape-square .infobox-icon, +.eael-infobox-content-align-center.eael-infobox-icon-bg-shape-radius .infobox-icon, +.eael-infobox-content-align-center.eael-infobox-icon-bg-shape-circle .infobox-icon { + display: flex; + justify-content: center; +} + +.eael-infobox-content-align-right.eael-infobox-icon-bg-shape-square .infobox-icon, +.eael-infobox-content-align-right.eael-infobox-icon-bg-shape-radius .infobox-icon, +.eael-infobox-content-align-right.eael-infobox-icon-bg-shape-circle .infobox-icon { + display: flex; + justify-content: flex-end; +} + +/*--- Image/Icon On Left ---*/ +.eael-infobox.icon-on-left { + position: relative; + z-index: 0; + display: flex; +} + +.eael-infobox.icon-on-right .infobox-icon-wrap, +.eael-infobox.icon-on-left .infobox-icon-wrap { + justify-content: center; + display: flex !important; + align-items: center; +} + +.eael-infobox.icon-on-left .infobox-icon .infobox-icon-wrap { + background: none; + border: 0px; + text-align: left; + height: auto; + display: block; +} + +.eael-infobox .infobox-content p { + margin: 0 0 15px; +} + +.eael-infobox.icon-on-left .infobox-icon .infobox-icon-wrap i { + margin-top: 0px; + transform: translateY(0%); +} + +.eael-infobox.icon-on-left .infobox-content { + padding-left: 15px; + flex: 1 1 auto; +} + +.eael-infobox.icon-on-left .infobox-content .title { + line-height: 1; + margin: 0 0 10px 0; +} + +/*--- Image/Icon On Right ---*/ +.eael-infobox.icon-on-right { + position: relative; + z-index: 0; + display: flex; + flex-direction: row-reverse; +} + +.eael-infobox.icon-on-right .infobox-icon .infobox-icon-wrap { + background: none; + border: 0px; + text-align: right; + width: auto; + height: auto; + display: block; +} + +.eael-infobox.icon-on-right .infobox-icon .infobox-icon-wrap i { + margin-top: 0px; + transform: translateY(0%); +} + +.eael-infobox.icon-on-right .infobox-content { + padding-right: 15px; + text-align: right; + flex: 1 1 auto; + box-sizing: border-box; +} + +.eael-infobox.icon-on-right .infobox-content .title { + line-height: 1; + margin: 0 0 10px 0; +} + +/*--- Imgae Circle On Top ---*/ +.eael-infobox .infobox-icon img { + -webkit-transition: all 300ms ease-in-out 0s; + -o-transition: all 300ms ease-in-out 0s; + transition: all 300ms ease-in-out 0s; +} + +.eael-infobox-hover-img-shape-square:hover .eael-infobox .infobox-icon img { + border-radius: 0; +} + +.eael-infobox-shape-circle .eael-infobox .infobox-icon img, +.eael-infobox-hover-img-shape-circle:hover .eael-infobox .infobox-icon img { + border-radius: 50%; +} + +.eael-infobox-shape-radius .eael-infobox .infobox-icon img, +.eael-infobox-hover-img-shape-radius:hover .eael-infobox .infobox-icon img { + border-radius: 15px; +} diff --git a/assets/front-end/css/magnific-popup.css b/assets/front-end/css/magnific-popup.css new file mode 100644 index 000000000..3dcbbdeb2 --- /dev/null +++ b/assets/front-end/css/magnific-popup.css @@ -0,0 +1,463 @@ +/* ------------------------ */ +/* 26. Magnific Popup +/* ------------------------ */ +/*--- Magnific Popup CSS ---*/ +.mfp-bg { + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 1042; + overflow: hidden; + position: fixed; + background: #0b0b0b; + opacity: 0.8; +} + +.mfp-wrap { + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 1043; + position: fixed; + outline: none !important; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; +} + +.mfp-container { + text-align: center; + position: absolute; + width: 100%; + height: 100%; + left: 0; + top: 0; + padding: 0 8px; + box-sizing: border-box; +} + +.mfp-container:before { + content: ''; + display: inline-block; + height: 100%; + vertical-align: middle; +} + +.mfp-align-top .mfp-container:before { + display: none; +} + +.mfp-content { + position: relative; + display: inline-block; + vertical-align: middle; + margin: 0 auto; + text-align: left; + z-index: 1045; +} + +.mfp-inline-holder .mfp-content, +.mfp-ajax-holder .mfp-content { + width: 100%; + cursor: auto; +} + +.mfp-ajax-cur { + cursor: progress; +} + +.mfp-zoom-out-cur, +.mfp-zoom-out-cur .mfp-image-holder .mfp-close { + cursor: -moz-zoom-out; + cursor: -webkit-zoom-out; + cursor: zoom-out; +} + +.mfp-zoom { + cursor: pointer; + cursor: -webkit-zoom-in; + cursor: -moz-zoom-in; + cursor: zoom-in; +} + +.mfp-auto-cursor .mfp-content { + cursor: auto; +} + +.mfp-close, +.mfp-arrow, +.mfp-preloader, +.mfp-counter { + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; +} + +.mfp-loading.mfp-figure { + display: none; +} + +.mfp-hide { + display: none !important; +} + +.mfp-preloader { + color: #CCC; + position: absolute; + top: 50%; + width: auto; + text-align: center; + margin-top: -0.8em; + left: 8px; + right: 8px; + z-index: 1044; +} + +.mfp-preloader a { + color: #CCC; +} + +.mfp-preloader a:hover { + color: #FFF; +} + +.mfp-s-ready .mfp-preloader { + display: none; +} + +.mfp-s-error .mfp-content { + display: none; +} + +button.mfp-close, +button.mfp-arrow { + overflow: visible; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; + display: block; + outline: none; + padding: 0; + z-index: 1046; + box-shadow: none; + touch-action: manipulation; +} + +button::-moz-focus-inner { + padding: 0; + border: 0; +} + +.mfp-close { + width: 44px; + height: 44px; + line-height: 44px; + position: absolute; + right: 0; + top: 0; + text-decoration: none; + text-align: center; + opacity: 0.65; + padding: 0 0 18px 10px; + color: #FFF; + font-style: normal; + font-size: 28px; + font-family: Arial, Baskerville, monospace; +} + +.mfp-close:hover, +.mfp-close:focus { + opacity: 1; +} + +.mfp-close:active { + top: 1px; +} + +.mfp-close-btn-in .mfp-close { + color: #333; +} + +.mfp-image-holder .mfp-close, +.mfp-iframe-holder .mfp-close { + color: #FFF; + right: -6px; + text-align: right; + padding-right: 6px; + width: 100%; +} + +.mfp-counter { + position: absolute; + top: 0; + right: 0; + color: #CCC; + font-size: 12px; + line-height: 18px; + white-space: nowrap; +} + +.mfp-arrow { + position: absolute; + opacity: 0.65; + margin: 0; + top: 50%; + margin-top: -55px; + padding: 0; + width: 90px; + height: 110px; + -webkit-tap-highlight-color: transparent; +} + +.mfp-arrow:active { + margin-top: -54px; +} + +.mfp-arrow:hover, +.mfp-arrow:focus { + opacity: 1; +} + +.mfp-arrow:before, +.mfp-arrow:after { + content: ''; + display: block; + width: 0; + height: 0; + position: absolute; + left: 0; + top: 0; + margin-top: 35px; + margin-left: 35px; + border: medium inset transparent; +} + +.mfp-arrow:after { + border-top-width: 13px; + border-bottom-width: 13px; + top: 8px; +} + +.mfp-arrow:before { + border-top-width: 21px; + border-bottom-width: 21px; + opacity: 0.7; +} + +.mfp-arrow-left { + left: 0; +} + +.mfp-arrow-left:after { + border-right: 17px solid #FFF; + margin-left: 31px; +} + +.mfp-arrow-left:before { + margin-left: 25px; + border-right: 27px solid #3F3F3F; +} + +.mfp-arrow-right { + right: 0; +} + +.mfp-arrow-right:after { + border-left: 17px solid #FFF; + margin-left: 39px; +} + +.mfp-arrow-right:before { + border-left: 27px solid #3F3F3F; +} + +.mfp-iframe-holder { + padding-top: 40px; + padding-bottom: 40px; +} + +.mfp-iframe-holder .mfp-content { + line-height: 0; + width: 100%; + max-width: 900px; +} + +.mfp-iframe-holder .mfp-close { + top: -40px; +} + +.mfp-iframe-scaler { + width: 100%; + height: 0; + overflow: hidden; + padding-top: 56.25%; +} + +.mfp-iframe-scaler iframe { + position: absolute; + display: block; + top: 0; + left: 0; + width: 100%; + height: 100%; + box-shadow: 0 0 8px rgba(0, 0, 0, 0.6); + background: #000; +} + +/*--- Main image in popup ---*/ +img.mfp-img { + width: auto; + max-width: 100%; + height: auto; + display: block; + line-height: 0; + box-sizing: border-box; + padding: 40px 0 40px; + margin: 0 auto; +} + +/*--- The shadow behind the image ---*/ +.mfp-figure { + line-height: 0; +} + +.mfp-figure:after { + content: ''; + position: absolute; + left: 0; + top: 40px; + bottom: 40px; + display: block; + right: 0; + width: auto; + height: auto; + z-index: -1; + box-shadow: 0 0 8px rgba(0, 0, 0, 0.6); + background: #444; +} + +.mfp-figure small { + color: #BDBDBD; + display: block; + font-size: 12px; + line-height: 14px; +} + +.mfp-figure figure { + margin: 0; +} + +.mfp-bottom-bar { + margin-top: -36px; + position: absolute; + top: 100%; + left: 0; + width: 100%; + cursor: auto; +} + +.mfp-title { + text-align: left; + line-height: 18px; + color: #F3F3F3; + word-wrap: break-word; + padding-right: 36px; +} + +.mfp-image-holder .mfp-content { + max-width: 100%; +} + +.mfp-gallery .mfp-image-holder .mfp-figure { + cursor: pointer; +} + +button.mfp-close, +button.mfp-close:hover { + display: inline-block !important; + background: transparent; + width: auto !important; +} + +.mfp-arrow, +.mfp-arrow:hover { + background: transparent; +} + +@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) { + /** + * Remove all paddings around the image on small screen + */ + .mfp-img-mobile .mfp-image-holder { + padding-left: 0; + padding-right: 0; + } + + .mfp-img-mobile img.mfp-img { + padding: 0; + } + + .mfp-img-mobile .mfp-figure:after { + top: 0; + bottom: 0; + } + + .mfp-img-mobile .mfp-figure small { + display: inline; + margin-left: 5px; + } + + .mfp-img-mobile .mfp-bottom-bar { + background: rgba(0, 0, 0, 0.6); + bottom: 0; + margin: 0; + top: auto; + padding: 3px 5px; + position: fixed; + box-sizing: border-box; + } + + .mfp-img-mobile .mfp-bottom-bar:empty { + padding: 0; + } + + .mfp-img-mobile .mfp-counter { + right: 5px; + top: 3px; + } + + .mfp-img-mobile .mfp-close { + top: 0; + right: 0; + width: 35px; + height: 35px; + line-height: 35px; + background: rgba(0, 0, 0, 0.6); + position: fixed; + text-align: center; + padding: 0; + } +} +@media all and (max-width: 900px) { + .mfp-arrow { + -webkit-transform: scale(0.75); + transform: scale(0.75); + } + + .mfp-arrow-left { + -webkit-transform-origin: 0; + transform-origin: 0; + } + + .mfp-arrow-right { + -webkit-transform-origin: 100%; + transform-origin: 100%; + } + + .mfp-container { + padding-left: 6px; + padding-right: 6px; + } +} diff --git a/assets/front-end/css/ninja-form.css b/assets/front-end/css/ninja-form.css new file mode 100644 index 000000000..7b6500f14 --- /dev/null +++ b/assets/front-end/css/ninja-form.css @@ -0,0 +1,70 @@ +/*----------------------*/ +/* 13. Ninja Form Styles +/*----------------------*/ +.eael-ninja-container input, +.eael-ninja-container textarea { + height: auto; + padding: 10px; +} + +.eael-contact-form-align-center .eael-ninja-container, +.eael-contact-form-btn-align-center .eael-ninja-container .nf-field .nf-field-element input[type="button"] { + margin-left: auto !important; + margin-right: auto !important; + display: block; + float: none; +} + +.eael-contact-form-align-left .eael-ninja-container, +.eael-contact-form-btn-align-left .eael-ninja-container .nf-field .nf-field-element input[type="button"] { + float: left; + width: auto; +} + +.eael-contact-form-align-right .eael-ninja-container, +.eael-contact-form-btn-align-right .eael-ninja-container .nf-field .nf-field-element input[type="button"] { + float: right; + width: auto; +} + +.eael-ninja-container ul.wpuf-form li .wpuf-fields input[type="text"], +.eael-ninja-container .nf-field .nf-field-element input[type="password"], +.eael-ninja-container ul.wpuf-form li .wpuf-fields input[type="email"], +.eael-ninja-container .nf-field .nf-field-element input[type="url"], +.eael-ninja-container ul.wpuf-form li .wpuf-fields input[type="number"], +.eael-ninja-container .nf-field .nf-field-element textarea { + max-width: 100%; +} + +.eael-ninja-form .nf-form-title { + display: none; +} + +.eael-ninja-form-title-yes .nf-form-title { + display: block; +} + +.eael-ninja-form .title-description-hide .nf-form-title { + display: none; +} + +.eael-ninja-form.title-description-hide .nf-form-title { + display: none; +} + +.eael-ninja-form .nf-field-label { + display: none; +} + +.eael-ninja-form-labels-yes .nf-field-label { + display: block; +} + +.eael-ninja-form .submit-container input[type=button] { + border: 0; + border-radius: 0; +} + +.eael-ninja-form-button-full-width .submit-container input[type=button] { + width: 100%; +} diff --git a/assets/front-end/css/post-grid-column.css b/assets/front-end/css/post-grid-column.css new file mode 100755 index 000000000..13b860d9d --- /dev/null +++ b/assets/front-end/css/post-grid-column.css @@ -0,0 +1,78 @@ +/*-----------------------------*/ +/* 16. Post Grid Column +/*-----------------------------*/ +.eael-col-1 .eael-post-grid-column { + float: none; + width: 100%; +} + +.eael-col-2 .eael-post-grid-column { + float: left; + width: 50%; +} + +.eael-col-3 .eael-post-grid-column { + float: left; + width: 33.3333%; +} + +.eael-col-4 .eael-post-grid-column { + float: left; + width: 25%; +} + +.eael-col-5 .eael-post-grid-column { + float: left; + width: 20%; +} + +.eael-col-6 .eael-post-grid-column { + float: left; + width: 16.6666%; +} + +/*--- Post Grid Column Styles ---*/ +@media only screen and (max-width: 979px) { + .eael-col-1 .eael-post-grid-column, + .eael-col-2 .eael-post-grid-column, + .eael-col-3 .eael-post-grid-column, + .eael-col-4 .eael-post-grid-column, + .eael-col-5 .eael-post-grid-column, + .eael-col-6 .eael-post-grid-column { + width: 33.3333%; + } +} +@media only screen and (max-width: 767px) { + .eael-col-1 .eael-post-grid-column, + .eael-col-2 .eael-post-grid-column, + .eael-col-3 .eael-post-grid-column, + .eael-col-4 .eael-post-grid-column, + .eael-col-5 .eael-post-grid-column, + .eael-col-6 .eael-post-grid-column { + width: 50%; + } +} +@media only screen and (max-width: 480px) { + .eael-col-1 .eael-post-grid-column, + .eael-col-2 .eael-post-grid-column, + .eael-col-3 .eael-post-grid-column, + .eael-col-4 .eael-post-grid-column, + .eael-col-5 .eael-post-grid-column, + .eael-col-6 .eael-post-grid-column { + float: none; + width: 100%; + } +} +.eael-author-avatar > a { + display: block; +} + +.eael-entry-footer { + overflow: hidden; + display: flex; +} + +.eael-entry-footer > div { + display: inline-block; + float: left; +} diff --git a/assets/front-end/css/post-grid.css b/assets/front-end/css/post-grid.css new file mode 100644 index 000000000..f57626aec --- /dev/null +++ b/assets/front-end/css/post-grid.css @@ -0,0 +1,384 @@ +/*-----------------------------*/ +/* 15. Post Grid Style +/*-----------------------------*/ +.eael-post-grid { + margin: 0 -10px; +} + +.eael-grid-post { + float: left; + padding: 10px; +} + +.eael-post-carousel .eael-grid-post { + float: none; + padding: 0; +} + +.eael-grid-post-holder { + border: 1px solid rgba(0, 0, 0, 0.1); +} + +.eael-grid-post-holder-inner { + height: 100%; +} + +.eael-entry-media { + position: relative; +} + +.eael-entry-overlay { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 2; + -webkit-transition: opacity 0.2s ease-in-out, -webkit-transform 0.25s cubic-bezier(0.19, 1, 0.22, 1); + -moz-transition: opacity 0.2s ease-in-out, -moz-transform 0.25s cubic-bezier(0.19, 1, 0.22, 1); + transition: opacity 0.2s ease-in-out, transform 0.25s cubic-bezier(0.19, 1, 0.22, 1); +} + +.eael-entry-overlay > a { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 3; +} + +.eael-entry-title { + margin: 10px 0 5px; + font-size: 1.2em; +} + +.eael-entry-thumbnail img { + width: 100%; + max-width: 100%; + vertical-align: middle; +} + +.eael-entry-thumbnail > img { + height: 100%; +} + +.eael-entry-footer .eael-author-avatar { + width: 50px; +} + +.eael-entry-footer .eael-author-avatar .avatar { + border-radius: 50%; +} + +.eael-post-grid .eael-entry-footer .eael-entry-meta { + padding-left: 8px; + text-align: left; +} + +.eael-grid-post .eael-entry-meta { + display: flex; + flex-direction: row; +} + +.eael-grid-post .eael-entry-footer .eael-entry-meta { + flex-direction: column; +} + +.eael-entry-meta > div { + font-size: 12px; + line-height: 1.2; + padding-bottom: 5px; +} + +.eael-grid-post-excerpt p { + margin: 0; + font-size: 14px; +} + +.eael-entry-meta .eael-entry-footer .eael-posted-by { + display: block; +} + +.eael-grid-post .eael-entry-wrapper, +.eael-grid-post .eael-entry-footer { + padding: 15px; +} + +.eael-post-grid .eael-entry-header .eael-entry-meta span.eael-posted-on { + padding-left: 5px; +} + +.eael-post-grid .eael-entry-header .eael-entry-meta span.eael-posted-on::before { + content: '\f111'; + font-family: FontAwesome; + color: inherit; + opacity: .4; + font-size: .8em; + padding-right: 7px; +} + +.eael-load-more-button-wrap { + display: flex; +} + +.eael-load-more-button { + display: flex; + align-items: center; + justify-content: center; +} + +.eael-load-more-button { + padding: 1em 2em; + border: 0px solid; + font-size: 16px; +} + +.eael-load-more-button .button__loader { + left: -100%; + top: auto; + margin-right: 5px; + transition: all .2s; +} + +.eael-load-more-button > span { + margin-left: -20px; +} + +.eael-load-more-button.button--loading > span { + margin-left: 0; +} + +.eael-load-more-button.button--loading .button__loader { + left: 0; +} + +.eael-btn-loader, +.eael-btn-loader:after { + border-radius: 50%; + width: 20px; + height: 20px; +} + +.eael-btn-loader { + font-size: 10px; + position: relative; + text-indent: -9999em; + border-top: 4px solid rgba(255, 255, 255, 0.2); + border-right: 4px solid rgba(255, 255, 255, 0.2); + border-bottom: 4px solid rgba(255, 255, 255, 0.2); + border-left: 4px solid #ffffff; + transform: translateZ(0); + animation: loaderSpin 1.1s infinite linear; +} + +@keyframes loaderSpin { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} +/*--- Post Grid Thumbnail Hover Effects ---*/ +.eael-entry-medianone { + position: relative; +} + +.eael-entry-overlay { + display: flex; + align-items: center; + justify-content: center; +} + +.eael-entry-overlay > i { + color: #fff; +} + +/*--- fade in ---*/ +.eael-entry-overlay.fade-in { + visibility: hidden; + opacity: 0; + transition: 300ms; +} + +.eael-entry-medianone:hover .eael-entry-overlay.fade-in { + visibility: visible; + opacity: 1; +} + +.eael-entry-medianone:hover .eael-entry-overlay.fade-in > i { + transform: translate(0); + opacity: 1; +} + +/*--- zoom in --- */ +.eael-entry-overlay.zoom-in { + transform: scale(0.9); + visibility: hidden; + opacity: 0; + transition: 300ms; +} + +.eael-entry-medianone:hover .eael-entry-overlay.zoom-in { + visibility: visible; + opacity: 1; + transform: scale(1); +} + +/*--- slide up ---*/ +.eael-entry-overlay.slide-up { + transform: translateY(100%); + visibility: hidden; + opacity: 0; + transition: 300ms; +} + +.eael-entry-medianone:hover .eael-entry-overlay.slide-up { + transform: translateY(0); + visibility: visible; + opacity: 1; +} + +.eael-entry-medianone { + overflow: hidden; +} + +/*--- Post Grid & Carousel Hover Styles ---*/ +.eael-entry-media.grid-hover-style-fade-in .eael-entry-overlay { + opacity: 0; +} + +.eael-entry-media.grid-hover-style-fade-in:hover .eael-entry-overlay { + opacity: 1; +} + +.eael-entry-media.grid-hover-style-none .eael-entry-overlay { + display: none; +} + +.eael-entry-media.grid-hover-style-zoom-in .eael-entry-overlay { + transform: scale(0.4); + opacity: 0; +} + +.eael-entry-media.grid-hover-style-zoom-in:hover .eael-entry-overlay { + transform: scale(1); + opacity: 1; +} + +.eael-entry-media.grid-hover-style-animate-down .eael-entry-overlay { + transform: translateY(-100%); +} + +.eael-entry-media.grid-hover-style-animate-down .eael-entry-overlay > i { + transform: translateY(-100px); + transition-delay: 100ms; + transition-duration: 300ms; +} + +.eael-entry-media.grid-hover-style-animate-down:hover .eael-entry-overlay { + transform: translate(0); +} + +.eael-entry-media.grid-hover-style-animate-down:hover .eael-entry-overlay > i { + transform: translateY(0); +} + +.eael-entry-media.grid-hover-style-animate-up .eael-entry-overlay { + transform: translateY(100%); + visibility: hidden; + opacity: 0; +} + +.eael-entry-media.grid-hover-style-animate-up .eael-entry-overlay > i { + transform: translateY(100px); + transition-delay: 100ms; + transition-duration: 300ms; +} + +.eael-entry-media.grid-hover-style-animate-up:hover .eael-entry-overlay { + transform: translate(0); + visibility: visible; + opacity: 1; +} + +.eael-entry-media.grid-hover-style-animate-up:hover .eael-entry-overlay > i { + transform: translateY(0); +} + +/*--- Post Grid Column Styles ---*/ +.eael-col-1 .eael-post-grid-column { + float: none; + width: 100%; +} + +.eael-col-2 .eael-post-grid-column { + float: left; + width: 50%; +} + +.eael-col-3 .eael-post-grid-column { + float: left; + width: 33.3333%; +} + +.eael-col-4 .eael-post-grid-column { + float: left; + width: 25%; +} + +.eael-col-5 .eael-post-grid-column { + float: left; + width: 20%; +} + +.eael-col-6 .eael-post-grid-column { + float: left; + width: 16.6666%; +} + +@media only screen and (max-width: 979px) { + .eael-col-1 .eael-post-grid-column, + .eael-col-2 .eael-post-grid-column, + .eael-col-3 .eael-post-grid-column, + .eael-col-4 .eael-post-grid-column, + .eael-col-5 .eael-post-grid-column, + .eael-col-6 .eael-post-grid-column { + width: 33.3333%; + } +} +@media only screen and (max-width: 767px) { + .eael-col-1 .eael-post-grid-column, + .eael-col-2 .eael-post-grid-column, + .eael-col-3 .eael-post-grid-column, + .eael-col-4 .eael-post-grid-column, + .eael-col-5 .eael-post-grid-column, + .eael-col-6 .eael-post-grid-column { + width: 50%; + } +} +@media only screen and (max-width: 480px) { + .eael-col-1 .eael-post-grid-column, + .eael-col-2 .eael-post-grid-column, + .eael-col-3 .eael-post-grid-column, + .eael-col-4 .eael-post-grid-column, + .eael-col-5 .eael-post-grid-column, + .eael-col-6 .eael-post-grid-column { + float: none; + width: 100%; + } +} +.eael-author-avatar > a { + display: block; +} + +.eael-entry-footer { + overflow: hidden; + display: flex; +} + +.eael-entry-footer > div { + display: inline-block; + float: left; +} diff --git a/assets/front-end/css/post-timeline.css b/assets/front-end/css/post-timeline.css new file mode 100644 index 000000000..24705fa73 --- /dev/null +++ b/assets/front-end/css/post-timeline.css @@ -0,0 +1,344 @@ +/*----------------------------*/ +/* 06. Post Timeline Styles +/*----------------------------*/ +.eael-post-timeline { + margin-bottom: 0; + min-height: 100%; + overflow: hidden; + position: relative; +} + +.eael-timeline-column { + width: 50%; + margin-left: 0; + float: left; + margin-top: 0 !important; +} + +.eael-timeline-post { + position: relative; +} + +.eael-timeline-post:after { + background-color: rgba(83, 85, 86, 0.2); + content: ""; + width: 2px; + height: 245px; + position: absolute; + right: 0; + top: 70px; +} + +.eael-timeline-post:nth-child(2n):after { + display: none; +} + +.eael-timeline-bullet { + background-color: #9fa9af; + border: 5px solid #fff; + border-radius: 50%; + box-shadow: 0 1px 0 1px rgba(0, 0, 0, 0.1); + content: ""; + height: 20px; + position: absolute; + right: -9px; + top: 60px; + width: 20px; + z-index: 3; + cursor: pointer; +} + +.eael-timeline-post:nth-child(2n) .eael-timeline-bullet { + background-color: #9fa9af; + border: 5px solid #fff; + border-radius: 50%; + bottom: 36px; + content: ""; + height: 20px; + left: -11px; + position: absolute; + top: 300px; + width: 20px; + z-index: 3; +} + +.eael-timeline-post-inner { + background: linear-gradient(45deg, #3f3f46 0%, #05abe0 100%) repeat scroll 0 0 transparent; + border: 8px solid #e5eaed; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.15); + float: right; + margin: 30px 40px 30px auto; + position: relative; + height: 320px; + width: calc(100% - 40px); +} + +.eael-timeline-post:nth-child(even) .eael-timeline-post-inner { + float: left; + margin-left: 40px; +} + +.eael-timeline-post-inner:after { + border-color: transparent transparent transparent #e5eaed; + border-style: solid; + border-width: 15px; + content: ""; + height: 0; + position: absolute; + right: -36px; + top: 17px; + width: 0; +} + +.eael-timeline-post:nth-child(2n) .eael-timeline-post-inner:after { + border-color: transparent #e5eaed transparent transparent; + border-style: solid; + border-width: 15px; + content: ""; + height: 0; + left: -36px; + position: absolute; + top: 257px; + width: 0; +} + +.eael-timeline-post:nth-child(2n) .eael-timeline-post-inner::after { + border-left-color: transparent !important; +} + +.eael-timeline-post p { + margin: 1.6rem 0 0 0; + font-size: 0.9em; + line-height: 1.6em; +} + +.eael-timeline-post-image { + background-size: cover; + background-position: center center; + background-repeat: no-repeat; + display: block; + height: 100%; + overflow: hidden; + position: relative; + opacity: .6; + -webkit-transition: all .3s; + -moz-transition: all .3s; + transition: all .3s; +} + +.eael-timeline-post-title { + bottom: 40px; + position: absolute; + width: 100%; +} + +.eael-timeline-post-title h2 { + color: #fff; + font-size: 20px; + font-weight: bold; + letter-spacing: 1px; + line-height: 24px; + padding: 0 25px; + text-align: left; + text-transform: uppercase; +} + +.eael-timeline-post-excerpt { + opacity: 0; + position: absolute; + top: 0; + left: 0; + -webkit-transition: all .3s; + -moz-transition: all .3s; + transition: all .3s; +} + +.eael-timeline-post-excerpt p { + color: #fff; + font-size: 14px; + padding: 25px; +} + +.eael-timeline-post-inner:hover .eael-timeline-post-excerpt { + opacity: 1; + top: 10px; +} + +.eael-timeline-post-inner:hover .eael-timeline-post-image { + opacity: .3; +} + +.eael-timeline-post time { + opacity: 0; + background-color: rgba(0, 0, 0, 0.7); + color: #fff; + font-size: 10px; + border-radius: 20px; + position: absolute; + right: -97px; + width: 100px; + height: 30px; + line-height: 30px; + text-align: center; + top: 50px; + z-index: 99; + -webkit-transition: all .5s; + -moz-transition: all .5s; + transition: all .5s; +} + +.eael-timeline-post:nth-child(2n) time { + background-color: rgba(0, 0, 0, 0.7); + border-radius: 20px; + color: #fff; + font-size: 10px; + height: 30px; + left: -99px; + line-height: 30px; + position: absolute; + text-align: center; + top: 290px; + width: 100px; + z-index: 99; +} + +.eael-timeline-post time:before { + border-bottom: 5px solid rgba(0, 0, 0, 0.7); + border-left: 5px solid transparent; + border-right: 5px solid transparent; + content: ""; + height: 0; + left: 45px; + position: absolute; + top: -5px; + width: 0; +} + +.eael-timeline-post:hover time { + opacity: 1; +} + +.eael-timeline-post::after { + height: 100%; +} + +.eael-post-timeline .eael-timeline-post:nth-last-child(2)::after { + height: 245px; +} + +.eael-post-timeline .eael-timeline-post:last-child::after { + display: none; +} + +/*--- Responsive Style for Post Timeline ---*/ +@media only screen and (max-width: 1366px) { + .eael-timeline-post-title h2 { + font-size: 0.8em; + } + + .eael-timeline-post-excerpt p { + font-size: 13px; + } +} +@media only screen and (max-width: 1169px) { + .eael-timeline-post-inner { + height: 320px; + } +} +@media only screen and (max-width: 992px) { + .eael-post-timeline { + margin-left: 0; + } + + .eael-timeline-bullet, + .eael-timeline-post:after, + .eael-timeline-post:before, + .eael-timeline-post-inner:after { + display: none; + } + + .eael-timeline-post { + display: inline-block; + float: left !important; + width: 50% !important; + margin: 15px auto; + } + + .eael-timeline-post-inner { + height: 320px; + padding-bottom: 30px; + } + + .eael-timeline-post-title { + bottom: 50px; + } + + .eael-timeline-post-title h2 { + font-size: 0.8em; + line-height: 1.2em; + } + + .eael-timeline-post .eael-timeline-post-inner { + margin: 0 10px auto 0; + width: 90%; + } + + .eael-timeline-post:nth-child(2n) .eael-timeline-post-inner { + margin: 0 auto 0 10px; + width: 90%; + } + + .eael-timeline-post-excerpt { + opacity: 0 !important; + } + + .eael-timeline-post-image { + opacity: .3; + } + + .eael-timeline-post time, + .eael-timeline-post:nth-child(2n) time { + background-color: #fff; + border-radius: 0; + color: #444; + font-size: 12px; + text-transform: uppercase; + left: 0; + opacity: 1; + padding-top: 3px; + top: 275px; + width: 100%; + } + + time:before { + display: none; + } +} +@media only screen and (max-width: 767px) { + .eael-timeline-post { + display: block; + float: none !important; + margin: 20px auto; + width: 100% !important; + } + + .eael-timeline-post .eael-timeline-post-inner, + .eael-timeline-post:nth-child(2n) .eael-timeline-post-inner { + display: block; + float: none; + margin: 0 auto; + } +} +@media only screen and (max-width: 479px) { + .eael-timeline-post .eael-timeline-post-inner, + .eael-timeline-post:nth-child(2n) .eael-timeline-post-inner { + height: 250px; + margin: 0 auto; + width: 95%; + } + + .eael-timeline-post time, + .eael-timeline-post:nth-child(2n) time { + top: 205px; + } +} diff --git a/assets/front-end/css/price-table.css b/assets/front-end/css/price-table.css new file mode 100644 index 000000000..4dc93a060 --- /dev/null +++ b/assets/front-end/css/price-table.css @@ -0,0 +1,612 @@ +/* -------------------------------- */ +/* 21. Pricing Table +/* -------------------------------- */ +.eael-pricing { + -webkit-display: flex; + display: flex; + -webkit-justify-content: center; + justify-content: center; + -webkit-align-items: center; + align-items: center; +} + +.eael-pricing .eael-pricing-item { + width: 100%; + height: auto; + margin: 0; +} + +.eael-pricing .eael-pricing-button { + display: inline-block; + padding: 12px 25px; + background: #00C853; + font-size: 14px; + font-weight: 600; + color: #fff; + text-transform: uppercase; + text-decoration: none; + -webkit-transition: .3s; + transition: .3s; + -webkit-border-radius: 4px; + border-radius: 4px; +} + +.eael-pricing .eael-pricing-button:hover { + background: #03b048; +} + +.eael-pricing .eael-pricing-item ul { + padding: 0px; + margin: 0px; + list-style: none; +} + +.eael-pricing .eael-pricing-item ul li.disable-item { + text-decoration: line-through; + opacity: 0.5; +} + +.eael-pricing .eael-pricing-item ul li span.li-icon { + color: #00C853; + margin-right: 6px; +} + +.eael-pricing .eael-pricing-item ul li.disable-item span.li-icon { + color: #EF5350; +} + +/*--- Pricing Table: Style 1 ---*/ +.eael-pricing.style-1 { + position: relative; + z-index: 0; + text-align: center; +} + +.eael-pricing.style-1 .eael-pricing-item { + border: 1px solid rgba(9, 9, 9, 0.1); + padding: 30px; + -webkit-border-radius: 5px; + border-radius: 5px; + -webkit-transition: .5s; + transition: .5s; +} + +.eael-pricing.style-1 .eael-pricing-item:hover { + -webkit-box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); + box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); +} + +.eael-pricing.style-1 .eael-pricing-item.featured { + position: relative; +} + +.eael-pricing.style-1 .eael-pricing-item.ribbon-1:before { + content: ""; + position: absolute; + width: 100%; + height: 3px; + background: #00C853; + top: 0px; + left: 0px; + right: 0px; + z-index: 1; + -webkit-border-radius: 5px 5px 0px 0px; + border-radius: 5px 5px 0px 0px; +} + +.eael-pricing.style-1 .eael-pricing-item.ribbon-2:before { + content: "Featured"; + position: absolute; + width: auto; + background: #00C853; + color: #fff; + top: 35px; + right: -15px; + z-index: 10; + font-size: 10px; + font-weight: 600; + text-transform: uppercase; + padding: 5px 10px; +} + +.eael-pricing.style-1 .eael-pricing-item.ribbon-2:after { + content: ""; + position: absolute; + top: 20px; + right: -15px; + width: 0; + height: 0; + border-bottom: 15px solid #00C853; + border-right: 15px solid transparent; + z-index: 9; + opacity: 0.9; +} + +.eael-pricing.style-1 .eael-pricing-item.ribbon-3:before { + content: "Featured"; + position: absolute; + width: auto; + background: rgba(0, 0, 0, 0.6); + color: #fff; + top: 15px; + right: 15px; + z-index: 10; + font-size: 11px; + font-weight: 600; + text-transform: uppercase; + padding: 5px 15px; +} + +.eael-pricing.style-1 .eael-pricing-item .header { + display: block; + position: relative; + z-index: 0; + padding-bottom: 15px; + margin-bottom: 15px; +} + +.eael-pricing.style-1 .eael-pricing-item .header:after { + content: ""; + position: absolute; + width: 140px; + height: 1px; + bottom: 0px; + left: 0px; + right: 0px; + margin: 0 auto; + z-index: 1; + background: rgba(9, 9, 9, 0.1); +} + +.eael-pricing.style-1 .eael-pricing-item .header .title { + font-weight: 700; + line-height: 30px; + margin: 0px; +} + +.eael-pricing.style-1 .eael-pricing-item .eael-pricing-tag { + position: relative; + z-index: 0; + padding: 15px 0px; + margin-bottom: 15px; +} + +.eael-pricing.style-1 .eael-pricing-item .eael-pricing-tag:after { + content: ""; + position: absolute; + width: 140px; + height: 1px; + bottom: 0px; + left: 0px; + right: 0px; + margin: 0 auto; + z-index: 1; + background: rgba(9, 9, 9, 0.04); +} + +.eael-pricing.style-1 .eael-pricing-item .price-tag { + position: relative; + display: inline-block; + font-size: 28px; + font-weight: 500; + line-height: 0px; + margin: 0px auto; +} + +.eael-pricing.style-1 .eael-pricing-item .price-tag .price-currency { + font-size: 24px; + font-weight: 700; +} + +.eael-pricing.style-1 .eael-pricing-item .price-period { + color: #999; +} + +.eael-pricing.style-1 .eael-pricing-item .body ul { + display: block; + width: 100%; + margin-bottom: 15px; +} + +.eael-pricing.style-1 .eael-pricing-item .body ul li { + display: block; + width: 100%; + height: auto; + padding: 10px 0px; + font-size: 14px; + color: #6d6d6d; + border-bottom: 1px solid rgba(9, 9, 9, 0.04); +} + +.eael-pricing.style-1 .eael-pricing-item .body ul li:last-child { + border: none; +} + +.eael-pricing.style-1 .eael-pricing-item.featured-large { + padding: 60px 0px; +} + +/*--- Pricing Table : Style 2 ---*/ +.eael-pricing.style-2 { + position: relative; + z-index: 0; + text-align: center; +} + +.eael-pricing.style-2 .eael-pricing-item { + padding: 30px 0px; + border-radius: 5px; + margin: 0px; + border: 1px solid rgba(9, 9, 9, 0.1); +} + +.eael-pricing.style-2 .eael-pricing-item.featured { + -webkit-box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); + box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); +} + +.eael-pricing.style-2 .eael-pricing-item.ribbon-1:before { + content: ""; + position: absolute; + width: 100%; + height: 3px; + background: #00C853; + top: 0px; + left: 0px; + right: 0px; + z-index: 1; + -webkit-border-radius: 5px 5px 0px 0px; + border-radius: 5px 5px 0px 0px; +} + +.eael-pricing.style-2 .eael-pricing-item.ribbon-2:before { + content: "Featured"; + position: absolute; + width: auto; + background: #00C853; + color: #fff; + top: 35px; + right: -15px; + z-index: 10; + font-size: 10px; + font-weight: 600; + text-transform: uppercase; + padding: 5px 10px; +} + +.eael-pricing.style-2 .eael-pricing-item.ribbon-2:after { + content: ""; + position: absolute; + top: 20px; + right: -15px; + width: 0; + height: 0; + border-bottom: 15px solid #00C853; + border-right: 15px solid transparent; + z-index: 9; + opacity: 0.9; +} + +.eael-pricing.style-2 .eael-pricing-item.ribbon-3:before { + content: "Featured"; + position: absolute; + width: auto; + background: rgba(0, 0, 0, 0.6); + color: #fff; + top: 15px; + right: 15px; + z-index: 10; + font-size: 11px; + font-weight: 600; + text-transform: uppercase; + padding: 5px 15px; +} + +.eael-pricing.style-2 .eael-pricing-item .eael-pricing-icon .icon { + display: inline-block; + position: relative; + width: 80px; + height: 80px; + background: #00c853; + border-radius: 50%; + margin-bottom: 30px; + text-align: center; + -webkit-transition: .5s; + transition: .5s; + overflow: hidden; +} + +.eael-pricing.style-2 .eael-pricing-item .eael-pricing-icon .icon i { + font-size: 30px; + color: #fff; + line-height: 80px; + -webkit-transition: .5s; + transition: .5s; +} + +.eael-pricing.style-2 .eael-pricing-item:hover .eael-pricing-icon .icon { + background: #43A047; +} + +.eael-pricing.style-2 .eael-pricing-item:hover .eael-pricing-icon .icon i { + color: #fff; +} + +.eael-pricing.style-2 .eael-pricing-item .header { + background: #C8E6C9; + padding: 25px 30px; + margin-bottom: 15px; + position: relative; + z-index: 0; +} + +.eael-pricing.style-2 .eael-pricing-item.featured .header:after { + content: ""; + position: absolute; + width: 100%; + height: 100%; + top: 0px; + left: 0px; + right: 0px; + bottom: 0px; + z-index: -1; + background: rgba(255, 255, 255, 0.4); +} + +.eael-pricing.style-2 .eael-pricing-item .header .title { + font-size: 28px; + font-weight: 700; + line-height: 40px; + margin: 0px; +} + +.eael-pricing.style-2 .eael-pricing-item .header .subititle { + font-size: 14px; + font-weight: 600; + color: #6d6d6d; +} + +.eael-pricing.style-2 .eael-pricing-item .eael-pricing-tag { + position: relative; + z-index: 0; + padding: 15px 0px; + margin-bottom: 15px; +} + +.eael-pricing.style-2 .eael-pricing-item .eael-pricing-tag:after { + content: ""; + position: absolute; + width: 140px; + height: 1px; + bottom: 0px; + left: 0px; + right: 0px; + margin: 0 auto; + z-index: 1; + background: rgba(9, 9, 9, 0.04); +} + +.eael-pricing.style-2 .eael-pricing-item .price-tag { + position: relative; + display: inline-block; + font-size: 28px; + font-weight: 500; + line-height: 0px; + margin: 0px auto; +} + +.eael-pricing.style-2 .eael-pricing-item .price-tag .price-currency { + font-size: 24px; + font-weight: 700; + color: #00C853; +} + +.eael-pricing.style-2 .eael-pricing-item .price-period { + color: #999; +} + +.eael-pricing.style-2 .eael-pricing-item .body ul { + display: block; + width: 100%; + margin-bottom: 15px; +} + +.eael-pricing.style-2 .eael-pricing-item .body ul li { + display: block; + width: 100%; + height: auto; + padding: 10px 15px; + font-size: 14px; + color: #6d6d6d; + border-bottom: 1px solid rgba(9, 9, 9, 0.04); +} + +.eael-pricing.style-2 .eael-pricing-item .body ul li:last-child { + border: none; +} + +/*--- Media Query ---*/ +@media only screen and (min-width: 768px) and (max-width: 992px) { + .eael-pricing { + display: block; + } + + .eael-pricing .eael-pricing-item, + .eael-pricing.style-2 .eael-pricing-item, + .eael-pricing.style-4 .eael-pricing-item { + width: 100%; + margin: 0 auto 30px auto; + } +} +@media only screen and (max-width: 480px) { + .eael-pricing { + display: block; + } + + .eael-pricing .eael-pricing-item { + width: 100%; + } + + .eael-pricing .eael-pricing-item, + .eael-pricing.style-2 .eael-pricing-item, + .eael-pricing.style-4 .eael-pricing-item { + margin: 0 auto 30px auto; + } +} +/*--- Page Builder Related Style ---*/ +.eael-pricing-content-align-center .eael-pricing { + text-align: center; +} + +.eael-pricing-content-align-left .eael-pricing { + text-align: left; +} + +.eael-pricing-content-align-right .eael-pricing { + text-align: right; +} + +.eael-pricing-content-align-left .eael-pricing.style-2 .eael-pricing-item .price-tag { + padding-left: 45px; +} + +.eael-pricing-content-align-left .eael-pricing.style-2 .eael-pricing-item .price-tag:before { + left: 30px; +} + +.eael-pricing-content-align-right .eael-pricing.style-2 .eael-pricing-item .eael-pricing-tag { + padding-right: 30px; +} + +.eael-pricing-content-align-left .eael-pricing.style-2 .eael-pricing-item .header, +.eael-pricing-content-align-left .eael-pricing.style-2 .eael-pricing-item .eael-pricing-icon, +.eael-pricing-content-align-left .eael-pricing.style-2 .eael-pricing-item .footer, +.eael-pricing-content-align-left .eael-pricing.style-4 .eael-pricing-item .header, +.eael-pricing-content-align-left .eael-pricing.style-4 .eael-pricing-item .footer { + padding-left: 30px; + padding-right: 30px; +} + +.eael-pricing-content-align-right .eael-pricing.style-2 .eael-pricing-item .header, +.eael-pricing-content-align-right .eael-pricing.style-2 .eael-pricing-item .eael-pricing-icon, +.eael-pricing-content-align-right .eael-pricing.style-2 .eael-pricing-item .footer, +.eael-pricing-content-align-right .eael-pricing.style-4 .eael-pricing-item .header, +.eael-pricing-content-align-right .eael-pricing.style-4 .eael-pricing-item .footer { + padding-right: 30px; + padding-left: 30px; +} + +.eael-pricing-content-align-left .eael-pricing.style-2 .eael-pricing-item .body ul li, +.eael-pricing-content-align-left .eael-pricing.style-4 .eael-pricing-item .body ul li { + padding-left: 30px; +} + +.eael-pricing-content-align-right .eael-pricing.style-2 .eael-pricing-item .body ul li, +.eael-pricing-content-align-right .eael-pricing.style-4 .eael-pricing-item .body ul li { + padding-right: 30px; +} + +.eael-pricing-content-align-left .eael-pricing.style-3 .eael-pricing-item .header:after { + -webkit-transform: translateX(-80%); + transform: translateX(-80%); +} + +.eael-pricing-content-align-right .eael-pricing.style-3 .eael-pricing-item .header:after { + -webkit-transform: translateX(80%); + transform: translateX(80%); +} + +.eael-pricing-content-align-left .eael-pricing.style-3 .eael-pricing-item:hover .header:after, +.eael-pricing-content-align-right .eael-pricing.style-3 .eael-pricing-item:hover .header:after { + -webkit-transform: translateX(0%); + transform: translateX(0%); +} + +.eael-pricing-content-align-left .eael-pricing.style-1 .eael-pricing-item .header:after, +.eael-pricing-content-align-right .eael-pricing.style-1 .eael-pricing-item .header:after, +.eael-pricing-content-align-left .eael-pricing.style-1 .eael-pricing-item .eael-pricing-tag:after, +.eael-pricing-content-align-right .eael-pricing.style-1 .eael-pricing-item .eael-pricing-tag:after, +.eael-pricing-content-align-left .eael-pricing.style-2 .eael-pricing-item .eael-pricing-tag:after, +.eael-pricing-content-align-right .eael-pricing.style-2 .eael-pricing-item .eael-pricing-tag:after { + margin: 0; + width: 100%; +} + +/*--- Button Alignment ---*/ +.eael-pricing-button-align-right .eael-pricing.style-1 .footer, +.eael-pricing-button-align-right .eael-pricing.style-2 .footer, +.eael-pricing-button-align-right .eael-pricing.style-3 .footer, +.eael-pricing-button-align-right .eael-pricing.style-4 .footer { + text-align: right; +} + +.eael-pricing-button-align-center .eael-pricing.style-1 .footer, +.eael-pricing-button-align-center .eael-pricing.style-2 .footer, +.eael-pricing-button-align-center .eael-pricing.style-3 .footer, +.eael-pricing-button-align-center .eael-pricing.style-4 .footer { + text-align: center; +} + +.eael-pricing-button-align-left .eael-pricing.style-1 .footer, +.eael-pricing-button-align-left .eael-pricing.style-2 .footer, +.eael-pricing-button-align-left .eael-pricing.style-3 .footer, +.eael-pricing-button-align-left .eael-pricing.style-4 .footer { + text-align: left; +} + +.eael-pricing-content-align-center.eael-pricing-button-align-right .eael-pricing.style-2 .footer, +.eael-pricing-content-align-center.eael-pricing-button-align-right .eael-pricing.style-4 .footer { + padding-right: 30px; +} + +.eael-pricing-content-align-center.eael-pricing-button-align-left .eael-pricing.style-2 .footer, +.eael-pricing-content-align-center.eael-pricing-button-align-left .eael-pricing.style-4 .footer { + padding-left: 30px; +} + +/*--- Only In Pro Alert ---*/ +.only-in-pro { + width: 100%; + -webkit-display: flex; + display: flex; + -webkit-align-items: center; + align-items: center; + -webkit-justify-content: center; + justify-content: center; + padding: 15px; + min-width: 200px; + background: #EF5350; + color: #fff; + text-align: center; +} + +.only-in-pro .title { + font-family: 'Roboto', sans-serif; + font-size: 24px; + line-height: 40px; + margin: 0px; +} + +/*--- Pricing Table Tooltip ---*/ +div.tooltipster-sidetip.tooltipster-base.tooltipster-right .tooltipster-arrow { + position: absolute; + top: 50%; +} + +div.tooltipster-sidetip.tooltipster-top div.tooltipster-box { + margin-bottom: 0px !important; +} + +div.tooltipster-sidetip.tooltipster-bottom div.tooltipster-box { + margin-top: 0px !important; +} + +.tooltipster-base.tooltipster-sidetip.tooltipster-top .tooltipster-arrow { + top: auto; + bottom: -8px; +} + +div.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow { + top: -8px; + bottom: auto; +} diff --git a/assets/front-end/css/product-grid.css b/assets/front-end/css/product-grid.css new file mode 100644 index 000000000..933844e8a --- /dev/null +++ b/assets/front-end/css/product-grid.css @@ -0,0 +1,443 @@ +/*--------------------------*/ +/* 09. Product Styles +/*--------------------------*/ +.eael-product-grid .woocommerce ul.products, +.eael-post-grid .woocommerce ul.products { + display: grid; + grid-gap: 25px; + margin: 0 !important; + padding: 0 !important; +} +.eael-product-grid .woocommerce ul.products:before, .eael-product-grid .woocommerce ul.products:after, +.eael-post-grid .woocommerce ul.products:before, +.eael-post-grid .woocommerce ul.products:after { + display: none; +} +.eael-product-grid .woocommerce ul.products .product, +.eael-post-grid .woocommerce ul.products .product { + width: 100%; + margin: 0; + padding: 0; +} +.eael-product-grid .woocommerce ul.products.eael-product-columns-1, +.eael-post-grid .woocommerce ul.products.eael-product-columns-1 { + grid-template-columns: 100%; +} +.eael-product-grid .woocommerce ul.products.eael-product-columns-2, +.eael-post-grid .woocommerce ul.products.eael-product-columns-2 { + grid-template-columns: repeat(2, 1fr); +} +@media screen and (max-width: 480px) { + .eael-product-grid .woocommerce ul.products.eael-product-columns-2, + .eael-post-grid .woocommerce ul.products.eael-product-columns-2 { + grid-template-columns: repeat(1, 1fr); + } +} +.eael-product-grid .woocommerce ul.products.eael-product-columns-3, +.eael-post-grid .woocommerce ul.products.eael-product-columns-3 { + grid-template-columns: repeat(3, 1fr); +} +@media screen and (max-width: 767px) { + .eael-product-grid .woocommerce ul.products.eael-product-columns-3, + .eael-post-grid .woocommerce ul.products.eael-product-columns-3 { + grid-template-columns: repeat(2, 1fr); + } +} +@media screen and (max-width: 480px) { + .eael-product-grid .woocommerce ul.products.eael-product-columns-3, + .eael-post-grid .woocommerce ul.products.eael-product-columns-3 { + grid-template-columns: repeat(1, 1fr); + } +} +.eael-product-grid .woocommerce ul.products.eael-product-columns-4, +.eael-post-grid .woocommerce ul.products.eael-product-columns-4 { + grid-template-columns: repeat(4, 1fr); +} +@media screen and (max-width: 767px) { + .eael-product-grid .woocommerce ul.products.eael-product-columns-4, + .eael-post-grid .woocommerce ul.products.eael-product-columns-4 { + grid-template-columns: repeat(2, 1fr); + } +} +@media screen and (max-width: 480px) { + .eael-product-grid .woocommerce ul.products.eael-product-columns-4, + .eael-post-grid .woocommerce ul.products.eael-product-columns-4 { + grid-template-columns: repeat(1, 1fr); + } +} +.eael-product-grid .woocommerce ul.products.eael-product-columns-5, +.eael-post-grid .woocommerce ul.products.eael-product-columns-5 { + grid-template-columns: repeat(5, 1fr); +} +@media screen and (max-width: 767px) { + .eael-product-grid .woocommerce ul.products.eael-product-columns-5, + .eael-post-grid .woocommerce ul.products.eael-product-columns-5 { + grid-template-columns: repeat(2, 1fr); + } +} +@media screen and (max-width: 480px) { + .eael-product-grid .woocommerce ul.products.eael-product-columns-5, + .eael-post-grid .woocommerce ul.products.eael-product-columns-5 { + grid-template-columns: repeat(1, 1fr); + } +} +.eael-product-grid .woocommerce ul.products.eael-product-columns-6, +.eael-post-grid .woocommerce ul.products.eael-product-columns-6 { + grid-template-columns: repeat(6, 1fr); +} +@media screen and (max-width: 767px) { + .eael-product-grid .woocommerce ul.products.eael-product-columns-6, + .eael-post-grid .woocommerce ul.products.eael-product-columns-6 { + grid-template-columns: repeat(2, 1fr); + } +} +@media screen and (max-width: 480px) { + .eael-product-grid .woocommerce ul.products.eael-product-columns-6, + .eael-post-grid .woocommerce ul.products.eael-product-columns-6 { + grid-template-columns: repeat(1, 1fr); + } +} +.eael-product-grid.eael-product-simple .woocommerce ul.products li.product, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product, +.eael-post-grid.eael-product-simple .woocommerce ul.products li.product, +.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product { + position: relative; + float: left; + overflow: hidden; + text-align: center; + padding: 0; + border-radius: 0; + background-color: #fff; + box-shadow: none; +} +.eael-product-grid.eael-product-simple .woocommerce ul.products li.product a, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product a, +.eael-post-grid.eael-product-simple .woocommerce ul.products li.product a, +.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product a { + text-decoration: none; +} +.eael-product-grid.eael-product-simple .woocommerce ul.products li.product a:hover, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product a:hover, +.eael-post-grid.eael-product-simple .woocommerce ul.products li.product a:hover, +.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product a:hover { + outline: none; + box-shadow: none; +} +.eael-product-grid.eael-product-simple .woocommerce ul.products li.product img, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product img, +.eael-post-grid.eael-product-simple .woocommerce ul.products li.product img, +.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product img { + width: 100%; + height: auto; + backface-visibility: hidden; +} +.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .woocommerce-loop-product__title, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .woocommerce-loop-product__title, +.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .woocommerce-loop-product__title, +.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .woocommerce-loop-product__title { + font-size: 16px; + font-weight: 700; + line-height: 1; + color: #333; + margin: 25px 0 12px; + padding: 0; +} +.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .onsale, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .onsale, +.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .onsale, +.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .onsale { + display: block; + line-height: 170px; + font-size: 13px; + text-align: center; + letter-spacing: 0; + text-shadow: 0 1px 1px rgba(0, 0, 0, 0.6); + text-transform: uppercase; + color: #fff; + background-color: #ff2a13; + border-radius: 0; + border: none; + box-shadow: none; + position: absolute; + height: 100px; + width: 200px; + z-index: 1; + left: -100px; + top: -50px; + right: auto; + margin: 0; + padding: 0; + transform: rotate(-45deg); +} +.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .price, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .price, +.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .price, +.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .price { + font-size: 14px; + margin-bottom: 0; +} +.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .price del, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .price del, +.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .price del, +.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .price del { + opacity: 0.5; + display: inline-block; +} +.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .price ins, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .price ins, +.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .price ins, +.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .price ins { + font-weight: 400; + background-color: transparent; + color: #ff2a13; +} +.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .star-rating, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .star-rating, +.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .star-rating, +.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .star-rating { + display: block; + float: none; + font-size: 14px; + margin: 10px auto; +} +.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .button.add_to_cart_button, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button, +.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .button.add_to_cart_button, +.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button { + display: block; + font-size: 14px; + font-weight: 400; + line-height: 38px; + text-align: center; + text-transform: uppercase; + color: #fff; + background-color: #333; + padding: 0; + margin: 15px; + border-radius: 0; +} +.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .button.add_to_cart_button:focus, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button:focus, +.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .button.add_to_cart_button:focus, +.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button:focus { + outline: none; +} +.eael-product-grid.eael-product-simple .woocommerce ul.products li.product a.added_to_cart, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product a.added_to_cart, +.eael-post-grid.eael-product-simple .woocommerce ul.products li.product a.added_to_cart, +.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product a.added_to_cart { + display: block; + margin: 0 0 15px 0; + padding: 0; + font-size: 14px; + line-height: 1; + text-transform: capitalize; + color: #333; + background-color: transparent; +} +.eael-product-grid.eael-product-simple .woocommerce ul.products li.product, +.eael-post-grid.eael-product-simple .woocommerce ul.products li.product { + border: 1px solid #eee; +} +.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product, +.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product { + border: 1px solid transparent; +} +.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button, +.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product a.added_to_cart, +.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button, +.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product a.added_to_cart { + visibility: hidden; + transition: none; +} +.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product:hover, +.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product:hover { + border: 1px solid #eee; +} +.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product:hover .button.add_to_cart_button, +.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product:hover a.added_to_cart, +.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product:hover .button.add_to_cart_button, +.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product:hover a.added_to_cart { + visibility: visible; +} +.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product, +.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product { + position: relative; + float: left; + overflow: hidden; + text-align: center; + padding: 0 0 15px 0; + border-radius: 0; + background-color: #fff; + box-shadow: none; +} +.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product a, +.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product a { + text-decoration: none; +} +.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product a:hover, +.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product a:hover { + outline: none; + box-shadow: none; +} +.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product img, +.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product img { + width: 100%; + height: auto; + margin: 0; + backface-visibility: hidden; +} +.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay, +.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay { + position: relative; + overflow: hidden; + line-height: 0; +} +.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .button-wrap, +.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .button-wrap { + position: absolute; + top: 50%; + left: 0; + right: 0; + text-align: center; + transform: translateY(-50%); +} +.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link, +.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button, +.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart, +.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link, +.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button, +.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart { + display: inline-block; + font-size: 14px; + line-height: 38px; + text-align: center; + color: #fff; + background-color: #333; + width: 38px; + height: 38px; + border-style: none; + border-radius: 50%; + vertical-align: middle; + padding: 0; + margin: 0 5px; + transform: translateY(20px); + opacity: 0; + transition: transform 200ms, opacity 300ms; +} +.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link:focus, +.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:focus, +.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart:focus, +.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link:focus, +.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:focus, +.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart:focus { + outline: none; +} +.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button, +.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button { + font-size: 0; +} +.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:before, +.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:before { + display: none; +} +.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:after, +.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:after { + content: "\f217"; + font: normal normal normal 14px/1 FontAwesome; + font-size: 14px; + line-height: 38px; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + vertical-align: middle; + margin: 0; + padding: 0; +} +.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button.loading:before, +.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button.loading:before { + display: none; +} +.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button.loading:after, +.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button.loading:after { + content: "\f110"; + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: 14px; + line-height: 38px; + color: #fff; + height: auto; + width: auto; + position: relative; + top: 0; + left: 0; + margin: 0; + padding: 0; +} +.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart, +.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart { + font-size: 0; +} +.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart:after, +.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart:after { + content: "\f06e"; + font: normal normal normal 14px/1 FontAwesome; + font-size: 14px; + line-height: 38px; + color: #fff; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + vertical-align: middle; + margin: 0; + padding: 0; +} +.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .woocommerce-loop-product__title, +.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .woocommerce-loop-product__title { + font-size: 16px; + font-weight: 700; + line-height: 1; + color: #333; + margin: 25px 0 12px; + padding: 0; +} +.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .onsale, +.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .onsale { + display: block; + line-height: 170px; + font-size: 13px; + text-align: center; + letter-spacing: 0; + text-shadow: 0 1px 1px rgba(0, 0, 0, 0.6); + text-transform: uppercase; + color: #fff; + background-color: #ff2a13; + border-radius: 0; + border: none; + box-shadow: none; + position: absolute; + height: 100px; + width: 200px; + z-index: 1; + left: -100px; + top: -50px; + right: auto; + margin: 0; + padding: 0; + transform: rotate(-45deg); +} +.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .price, +.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .price { + font-size: 14px; + margin-bottom: 0; +} +.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .price del, +.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .price del { + opacity: 0.5; + display: inline-block; +} +.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .price ins, +.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .price ins { + font-weight: 400; + background-color: transparent; + color: #ff2a13; +} +.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .star-rating, +.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .star-rating { + display: block; + float: none; + font-size: 14px; + margin: 10px auto; +} +.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product:hover .overlay a, +.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product:hover .overlay .add_to_cart_button, +.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product:hover .overlay a, +.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product:hover .overlay .add_to_cart_button { + opacity: 1; + transform: translateY(0); +} diff --git a/assets/front-end/css/progress-bar.css b/assets/front-end/css/progress-bar.css new file mode 100644 index 000000000..0917a449a --- /dev/null +++ b/assets/front-end/css/progress-bar.css @@ -0,0 +1,219 @@ +@-webkit-keyframes animateStripe { + 0% { + transform: translate(0, 0); + } + 100% { + transform: translate(35px, 0); + } +} +@keyframes animateStripe { + 0% { + transform: translate(0, 0); + } + 100% { + transform: translate(35px, 0); + } +} +@-webkit-keyframes animateStripeRTL { + 0% { + transform: translate(0, 0); + } + 100% { + transform: translate(-35px, 0); + } +} +@keyframes animateStripeRTL { + 0% { + transform: translate(0, 0); + } + 100% { + transform: translate(-35px, 0); + } +} +.eael-progressbar { + position: relative; +} + +.eael-progressbar-title { + font-size: 20px; + font-weight: 400; +} + +.eael-progressbar-line { + position: relative; + display: block; + width: 100%; + height: 12px; + background-color: #eeeeee; +} +.eael-progressbar-line .eael-progressbar-count-wrap { + position: absolute; + right: 0; + bottom: calc(100% + 5px); + font-size: 16px; + font-weight: 400; + line-height: 1; +} + +.eael-progressbar-line-fill { + display: inline-block; + position: absolute; + top: 50%; + left: 0; + width: 0; + height: 12px; + background-color: #000000; + transform: translateY(-50%); + transition: width 1500ms linear; + overflow: hidden; +} + +.eael-progressbar-circle { + position: relative; + width: 200px; + height: 200px; +} +.eael-progressbar-circle .eael-progressbar-title { + font-size: 16px; + font-weight: 400; +} +.eael-progressbar-circle .eael-progressbar-count-wrap { + font-size: 28px; + font-weight: 700; +} + +.eael-progressbar-circle-shadow { + width: 220px; + height: 220px; + padding: 10px; + border-radius: 50%; +} + +.eael-progressbar-circle-pie { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + clip-path: inset(0 0 0 50%); +} + +.eael-progressbar-circle-inner { + height: 100%; + width: 100%; + border-width: 12px; + border-style: solid; + border-color: #eeeeee; + border-radius: 50%; +} + +.eael-progressbar-circle-half { + position: absolute; + left: 0; + top: 0; + height: 100%; + width: 100%; + border-width: 12px; + border-style: solid; + border-color: #000000; + border-radius: 50%; + clip-path: inset(0 50% 0 0); +} + +.eael-progressbar-circle-half-left { + transform: rotate(0deg); +} + +.eael-progressbar-circle-half-right { + transform: rotate(180deg); + visibility: hidden; +} + +.eael-progressbar-circle-inner-content { + position: absolute; + top: 50%; + width: 100%; + transform: translateY(-50%); + text-align: center; +} + +.eael-progressbar-half-circle { + position: relative; + width: 200px; + height: 100px; + overflow: hidden; +} +.eael-progressbar-half-circle .eael-progressbar-circle-pie { + clip-path: inset(0 0 50% 0); +} +.eael-progressbar-half-circle .eael-progressbar-circle-half { + clip-path: inset(50% 0 0 0); + transform: rotate(0deg); + transition: transform 1500ms linear; +} +.eael-progressbar-half-circle .eael-progressbar-circle-inner-content { + top: initial; + bottom: 0; + transform: translateY(0); +} +.eael-progressbar-half-circle .eael-progressbar-title { + font-size: 16px; + font-weight: 400; +} +.eael-progressbar-half-circle .eael-progressbar-count-wrap { + font-size: 28px; + font-weight: 700; +} + +.eael-progressbar-half-circle-after { + position: relative; + font-size: 12px; + font-weight: 400; + clear: both; +} + +.eael-progressbar-postfix-label { + float: right; +} + +.eael-progressbar-line-stripe .eael-progressbar-line-fill:after { + content: ''; + position: absolute; + top: 0; + left: -35px; + width: calc(100% + 70px); + height: 100%; + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 35px 35px; +} + +.eael-progressbar-line-animate .eael-progressbar-line-fill:after { + animation: animateStripe 2s linear infinite; +} + +.eael-progressbar-line-animate-rtl .eael-progressbar-line-fill:after { + animation: animateStripeRTL 2s linear infinite; +} + +.eael-progressbar-circle-wrap > div { + margin: 0 auto; +} + +/*alignment*/ +.eael-progressbar-line-container.left, +.eael-progressbar-circle-container.left > div, +.eael-progressbar-box-container.left > div { + margin: 0 auto 0 0; +} + +.eael-progressbar-line-container.center, +.eael-progressbar-circle-container.center > div, +.eael-progressbar-box-container.center > div { + margin: 0 auto; +} + +.eael-progressbar-line-container.right, +.eael-progressbar-circle-container.right > div, +.eael-progressbar-box-container.right > div { + margin: 0 0 0 auto; +} diff --git a/assets/front-end/css/team-members.css b/assets/front-end/css/team-members.css new file mode 100644 index 000000000..322ad3257 --- /dev/null +++ b/assets/front-end/css/team-members.css @@ -0,0 +1,120 @@ +/*----------------------------*/ +/* 07. Team Members Styles +/*----------------------------*/ +.eael-team-item { + overflow: hidden; + position: relative; +} + +.team-avatar-rounded figure img { + border-radius: 50%; + height: auto; +} + +.eael-team-image > figure { + margin: 0; + padding: 0; +} + +.eael-team-image > figure img { + display: block; + margin: 0 auto; +} + +.eael-team-item .eael-team-content { + padding: 10px; +} + +.eael-team-item .eael-team-member-name { + font-size: 20px; + font-weight: bold; + letter-spacing: 0.05em; + margin: 5px 0; + text-transform: uppercase; +} + +.eael-team-item .eael-team-member-position { + font-size: 14px; + font-weight: normal; + letter-spacing: 0.05em; + margin: 5px 0 10px; + text-transform: uppercase; +} + +.eael-team-item .eael-team-content, +.eael-team-item .eael-team-content .eael-team-text { + font-size: 14px; + line-height: 1.5; +} + +.eael-team-content > ul { + margin: 0; + padding: 0; +} + +.eael-team-content li { + display: inline-block; + list-style: outside none none; + margin-right: 10px; + text-align: center; +} + +.eael-team-content li a { + font-size: 2.5rem; +} + +.eael-team-align-left .eael-team-item .eael-team-member-name, +.eael-team-align-left .eael-team-item .eael-team-member-position, +.eael-team-align-left .eael-team-item .eael-team-text, +.eael-team-align-left .eael-team-item .eael-team-content p, +.eael-team-align-left .eael-team-item .eael-team-content ul, +.eael-team-align-left .eael-team-item .eael-team-content li { + text-align: left; +} + +.eael-team-align-right .eael-team-item .eael-team-member-name, +.eael-team-align-right .eael-team-item .eael-team-member-position, +.eael-team-align-right .eael-team-item .eael-team-text, +.eael-team-align-right .eael-team-item .eael-team-content p, +.eael-team-align-right .eael-team-item .eael-team-content ul, +.eael-team-align-right .eael-team-item .eael-team-content li { + text-align: right; +} + +.eael-team-align-centered .eael-team-item .eael-team-member-name, +.eael-team-align-centered .eael-team-item .eael-team-member-position, +.eael-team-align-centered .eael-team-item .eael-team-text, +.eael-team-align-centered .eael-team-item .eael-team-content p, +.eael-team-align-centered .eael-team-item .eael-team-content ul, +.eael-team-align-centered .eael-team-item .eael-team-content li { + text-align: center; +} + +.eael-team-item.eael-team-members-overlay .eael-team-content { + bottom: 10px; + left: 10px; + margin-bottom: 0; + padding-top: 15%; + opacity: 0; + overflow: hidden; + text-overflow: ellipsis; + position: absolute; + right: 10px; + top: 10px; + -webkit-transition: all 0.615s cubic-bezier(0.19, 1, 0.22, 1) 0s; + transition: all 0.615s cubic-bezier(0.19, 1, 0.22, 1) 0s; +} + +.eael-team-item.eael-team-members-overlay:hover .eael-team-content { + opacity: 1; +} + +.eael-team-member-social-link > a { + display: inline-block; + -webkit-transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0s; + transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0s; +} + +.eael-team-member-social-link > a:focus { + outline: none; +} diff --git a/assets/front-end/css/testimonials.css b/assets/front-end/css/testimonials.css new file mode 100644 index 000000000..05bb5f621 --- /dev/null +++ b/assets/front-end/css/testimonials.css @@ -0,0 +1,378 @@ +/*----------------------------*/ +/* 08. Testimonials Styles +/*----------------------------*/ +.eael-testimonial-slider { + position: relative; +} + +.testimonial-star-rating { + padding: 0; + margin: 0; +} + +.testimonial-star-rating li { + list-style: none; + display: inline-block; +} + +.testimonial-star-rating li i { + color: #d8d8d8; +} + +.rating-five .testimonial-star-rating li i { + color: #f2b01e; +} + +.rating-one .testimonial-star-rating li:first-child i { + color: #f2b01e; +} + +.rating-two .testimonial-star-rating li:nth-child(1) i, +.rating-two .testimonial-star-rating li:nth-child(2) i { + color: #f2b01e; +} + +.rating-three .testimonial-star-rating li:nth-child(1) i, +.rating-three .testimonial-star-rating li:nth-child(2) i, +.rating-three .testimonial-star-rating li:nth-child(3) i { + color: #f2b01e; +} + +.rating-four .testimonial-star-rating li:nth-child(1) i, +.rating-four .testimonial-star-rating li:nth-child(2) i, +.rating-four .testimonial-star-rating li:nth-child(3) i, +.rating-four .testimonial-star-rating li:nth-child(4) i { + color: #f2b01e; +} + +/*--- Default styles ---*/ +.eael-testimonial-image img { + max-width: 100%; +} + +.eael-testimonial-image { + padding: 10px 0px 0px 0px; +} + +.eael-testimonial-image > figure { + display: block; + margin: 0; +} + +.testimonial-avatar-rounded figure img { + border-radius: 50%; + height: auto; +} + +.eael-testimonial-content { + margin: 0; + padding: 10px; +} + +.eael-testimonial-item > figure { + margin: 0 auto; + padding: 0 20px; +} + +.eael-testimonial-item .center-text { + text-align: center; +} + +.eael-testimonial-item .right-text { + text-align: right; +} + +.eael-testimonial-item .left-text { + text-align: left; +} + +.eael-testimonial-item .justify-text { + text-align: justify; +} + +.eael-testimonial-content .eael-testimonial-text { + font-size: 100%; + font-style: italic; + line-height: 1.5; + margin-top: 0px; + margin-bottom: 10px; + word-wrap: break-word; +} + +.eael-testimonial-content .eael-testimonial-user { + display: inline-block; + font-family: inherit; + font-size: 105%; + font-style: italic; + font-weight: normal; + line-height: 1.5; + margin-top: 0; + margin-bottom: 0; + margin-right: 5px; +} + +.eael-testimonial-content .eael-testimonial-user-company { + display: inline-block; + font-family: inherit; + font-size: 90%; + font-style: italic; + font-weight: lighter; + line-height: 1.75; + margin-bottom: 0; + margin-top: 1px; +} + +.eael-testimonial-image { + position: relative; +} + +.eael-testimonial-item .eael-testimonial-quote::after { + color: inherit !important; + content: "\f10e"; + font-family: "FontAwesome"; + font-size: 200%; +} + +.eael-testimonial-slider.default-style .eael-testimonial-align-centered .eael-testimonial-image figure img { + margin: 0 auto; +} + +.eael-testimonial-slider.default-style .eael-testimonial-align-left .eael-testimonial-image figure img, +.eael-testimonial-slider.default-style .eael-testimonial-align-right .eael-testimonial-image figure img, +.eael-testimonial-slider.classic-style .eael-testimonial-align-left .eael-testimonial-image figure img, +.eael-testimonial-slider.classic-style .eael-testimonial-align-right .eael-testimonial-image figure img, +.eael-testimonial-slider.middle-style .eael-testimonial-align-left .eael-testimonial-image figure img, +.eael-testimonial-slider.middle-style .eael-testimonial-align-right .eael-testimonial-image figure img { + margin: 0; +} + +.eael-testimonial-slider.default-style .eael-testimonial-align-right .eael-testimonial-image figure, +.eael-testimonial-slider.classic-style .eael-testimonial-align-right .eael-testimonial-image figure, +.eael-testimonial-slider.middle-style .eael-testimonial-align-right .eael-testimonial-image figure { + text-align: right; +} + +.eael-testimonial-slider.default-style .eael-testimonial-align-left .eael-testimonial-image figure, +.eael-testimonial-slider.classic-style .eael-testimonial-align-left .eael-testimonial-image figure, +.eael-testimonial-slider.middle-style .eael-testimonial-align-left .eael-testimonial-image figure { + text-align: left; +} + +.eael-testimonial-slider.default-style .eael-testimonial-align-right .default-style-testimonial-content, +.eael-testimonial-slider.classic-style .eael-testimonial-align-right .testimonial-classic-style-content, +.eael-testimonial-slider.middle-style .eael-testimonial-align-right .middle-style-content, +.eael-testimonial-slider.middle-style .eael-testimonial-align-right .eael-testimonial-text { + text-align: right; +} + +.eael-testimonial-slider.default-style .eael-testimonial-align-center .default-style-testimonial-content, +.eael-testimonial-slider.classic-style .eael-testimonial-align-center .testimonial-classic-style-content, +.eael-testimonial-slider.middle-style .eael-testimonial-align-center .middle-style-content, +.eael-testimonial-slider.middle-style .eael-testimonial-align-center .eael-testimonial-text { + text-align: center; +} + +.eael-testimonial-slider.default-style .eael-testimonial-align-left .default-style-testimonial-content, +.eael-testimonial-slider.classic-style .eael-testimonial-align-left .testimonial-classic-style-content, +.eael-testimonial-slider.middle-style .eael-testimonial-align-left .middle-style-content, +.eael-testimonial-slider.middle-style .eael-testimonial-align-left .eael-testimonial-text { + text-align: left; +} + +.eael-testimonial-slider.icon-img-left-content .eael-testimonial-text > p, +.eael-testimonial-slider.icon-img-right-content .eael-testimonial-text > p { + margin: 0px; +} + +/*--- Left align ---*/ +.icon-img-left-content .eael-testimonial-image { + float: left; + width: 30%; +} + +.icon-img-left-content .eael-testimonial-content { + float: left; + width: 70%; + text-align: left; +} + +.icon-img-left-content.eael-testimonial-item { + overflow: hidden; + position: relative; +} + +.icon-img-left-content .eael-testimonial-quote { + position: absolute; + right: 0; +} + +.icon-img-left-content .eael-testimonial-text { + margin-top: 0; +} + +/*--- Center align ---*/ +.eael-testimonial-align-centered .eael-testimonial-user, +.eael-testimonial-align-centered .eael-testimonial-user-company { + float: none; + text-align: center; +} + +.eael-testimonial-align-centered .eael-testimonial-image > figure img { + display: block; + margin-left: auto !important; + margin-right: auto !important; +} + +/* .eael-testimonial-align-centered .testimonial-star-rating{ + text-align: center; +} */ +/*--- Right align ---*/ +.icon-img-right-content .eael-testimonial-image { + float: right; + width: 30%; +} + +.icon-img-right-content .eael-testimonial-content { + float: right; + width: 70%; + text-align: right; +} + +.icon-img-right-content.eael-testimonial-item { + overflow: hidden; + position: relative; +} + +.icon-img-right-content .eael-testimonial-quote { + position: absolute; +} + +.icon-img-right-content .eael-testimonial-text { + margin-top: 0; +} + +.eael-testimonial-item { + position: relative; +} + +.classic-style.testimonial-alignment-center .eael-testimonial-image, +.default-style.testimonial-alignment-center .eael-testimonial-image { + text-align: center; +} + +.classic-style.testimonial-alignment-right .eael-testimonial-image, +.default-style.testimonial-alignment-right .eael-testimonial-image { + text-align: right; +} + +.classic-style.testimonial-alignment-center .eael-testimonial-image > figure, +.default-style.testimonial-alignment-center .eael-testimonial-image > figure { + text-align: center; +} + +.eael-testimonial-slider.icon-img-left-content .eael-testimonial-align-centered .eael-testimonial-content { + text-align: center; +} + +.eael-testimonial-slider.icon-img-left-content .eael-testimonial-align-left .eael-testimonial-content { + text-align: left; +} + +.eael-testimonial-slider.icon-img-left-content .eael-testimonial-align-right .eael-testimonial-content { + text-align: right; +} + +.eael-testimonial-slider.icon-img-right-content .eael-testimonial-align-centered .eael-testimonial-content { + text-align: center; +} + +.eael-testimonial-slider.icon-img-right-content .eael-testimonial-align-left .eael-testimonial-content { + text-align: left; +} + +.eael-testimonial-slider.icon-img-right-content .eael-testimonial-align-right .eael-testimonial-content { + text-align: right; +} + +span.eael-testimonial-quote { + position: absolute; + right: 10px; + top: 10px; +} + +/*--- Image align ---*/ +.eael-testimonial-item.left .eael-testimonial-image { + text-align: left; +} + +.eael-testimonial-item.center .eael-testimonial-image { + text-align: center; +} + +.eael-testimonial-item.right .eael-testimonial-image { + text-align: right; +} + +/*--- Float title image style ---*/ +.eael-testimonial-inline-bio .eael-testimonial-image { + float: left; +} + +.eael-testimonial-inline-bio .bio-text { + padding-top: 10px; +} + +.eael-testimonial-content.eael-testimonial-inline-bio { + overflow: hidden; + margin-bottom: 0; + padding-bottom: 0; +} + +.eael-testimonial-inline-bio .testimonial-star-rating, +.eael-testimonial-inline-bio .bio-text { + float: left; + width: 65%; +} + +.eael-testimonial-content.eael-testimonial-inline-bio { + text-align: left !important; +} + +/*--- Float inline style ---*/ +.testimonial-inline-style .eael-testimonial-image { + float: left; + max-width: 100%; + padding: 0; + margin-right: 15px; +} + +.testimonial-inline-style { + overflow: hidden; + text-align: left; +} + +.content-top-icon-title-inline .eael-testimonial-text, +.content-top-icon-title-inline .eael-testimonial-align-left .eael-testimonial-text { + text-align: left; +} + +.content-top-icon-title-inline .eael-testimonial-align-centered .eael-testimonial-text { + text-align: center; +} + +.content-top-icon-title-inline .eael-testimonial-align-right .eael-testimonial-text { + text-align: right; +} + +.content-bottom-icon-title-inline .eael-testimonial-text, +.content-bottom-icon-title-inline .eael-testimonial-align-left .eael-testimonial-text { + text-align: left; +} + +.content-bottom-icon-title-inline .eael-testimonial-align-centered .eael-testimonial-text { + text-align: center; +} + +.content-bottom-icon-title-inline .eael-testimonial-align-right .eael-testimonial-text { + text-align: right; +} diff --git a/assets/front-end/css/tooltip.css b/assets/front-end/css/tooltip.css new file mode 100644 index 000000000..4cfd63e01 --- /dev/null +++ b/assets/front-end/css/tooltip.css @@ -0,0 +1,183 @@ +/*------------------------------*/ +/* 32. Tooltip +/*------------------------------*/ +.eael-tooltip { + position: relative; + display: inline-block; + min-width: 150px; + text-align: center; + padding: 12px 24px; + font-size: .93rem; + color: #333; + line-height: 1; + cursor: pointer; + transition: all 0.3s ease-in-out; +} + +.eael-tooltip .eael-tooltip-text { + display: block; + width: 100%; + visibility: hidden; + background-color: black; + color: #fff; + text-align: center; + border-radius: 4px; + padding: 10px; + position: absolute; + z-index: 1; + font-size: .93rem; + line-height: 1.3; +} + +.eael-tooltip .eael-tooltip-text::after { + content: ""; + position: absolute; + border-width: 5px; + border-style: solid; +} + +.eael-tooltip:hover .eael-tooltip-text { + visibility: visible; +} + +/*--- Left ---*/ +.eael-tooltip .eael-tooltip-text.eael-tooltip-left { + top: 50%; + right: 100%; + transform: translateY(-50%); + margin-right: 10px; +} + +.eael-tooltip:hover .eael-tooltip-text.eael-tooltip-left { + animation: tooltipLeftIn 300ms ease-in-out; +} + +.eael-tooltip .eael-tooltip-text.eael-tooltip-left::after { + top: calc(50% - 5px); + left: 100%; + border-color: transparent transparent transparent black; +} + +/*--- Right ---*/ +.eael-tooltip .eael-tooltip-text.eael-tooltip-right { + top: 50%; + left: 100%; + transform: translateY(-50%); + transition: all 0.3s ease-in-out; + margin-left: 10px; +} + +.eael-tooltip:hover .eael-tooltip-text.eael-tooltip-right { + animation: tooltipRightIn 300ms linear; +} + +.eael-tooltip .eael-tooltip-text.eael-tooltip-right::after { + top: calc(50% - 5px); + right: 100%; + border-color: transparent black transparent transparent; +} + +/*--- Top ---*/ +.eael-tooltip .eael-tooltip-text.eael-tooltip-top { + bottom: calc(100%); + left: 0; + right: 0; + margin: 0 auto 10px auto; +} + +.eael-tooltip .eael-tooltip-text.eael-tooltip-top::after { + margin-top: 0px; + top: 100%; + left: calc( 50% - 5px); + border-color: black transparent transparent transparent; +} + +.eael-tooltip:hover .eael-tooltip-text.eael-tooltip-top { + animation: tooltipTopIn 300ms linear; +} + +/*--- Bottom ---*/ +.eael-tooltip .eael-tooltip-text.eael-tooltip-bottom { + top: 100%; + left: 0; + right: 0; + margin: 10px auto 0px auto; +} + +.eael-tooltip .eael-tooltip-text.eael-tooltip-bottom::after { + margin-top: 0px; + bottom: 100%; + left: calc( 50% - 5px); + border-color: transparent transparent black transparent; +} + +.eael-tooltip:hover .eael-tooltip-text.eael-tooltip-bottom { + animation: tooltipBottomIn 300ms linear; +} + +/*--- Alignments ---*/ +.eael-tooltip-align-left { + display: flex; + width: 100%; + justify-content: flex-start; +} + +.eael-tooltip-align-right { + display: flex; + width: 100%; + justify-content: flex-end; +} + +.eael-tooltip-align-center { + display: flex; + width: 100%; + justify-content: center; +} + +.eael-tooltip-align-justify .eael-tooltip { + display: flex; + justify-content: center; + align-items: center; +} + +/*--- Tooltip Keyframes ---*/ +@keyframes tooltipRightIn { + 0% { + opacity: 0; + left: 105%; + } + 100% { + opacity: 1; + left: 100%; + } +} +@keyframes tooltipLeftIn { + 0% { + opacity: 0; + right: 105%; + } + 100% { + opacity: 1; + right: 100%; + } +} +@keyframes tooltipTopIn { + 0% { + opacity: 0; + bottom: 110%; + } + 100% { + opacity: 1; + bottom: 100%; + } +} +@keyframes tooltipBottomIn { + 0% { + opacity: 0; + top: 110%; + } + 100% { + opacity: 1; + top: 100%; + } +} diff --git a/assets/front-end/css/twitter-feed.css b/assets/front-end/css/twitter-feed.css new file mode 100644 index 000000000..f015735a7 --- /dev/null +++ b/assets/front-end/css/twitter-feed.css @@ -0,0 +1,296 @@ +/* ------------------------ */ +/* 24. Social Feeds +/* ------------------------ */ +.swiper-container-wrap .swiper-slide .eael-social-feed-element img { + width: 100%; +} + +/*--- Twitter Feed Styles ---*/ +.eael-social-feed-element.hidden { + background-color: red !important; +} + +.eael-twitter-feed-wrapper::before, +.eael-twitter-feed-wrapper::after, +.eael-twitter-feed-container::before, +.eael-twitter-feed-container::after { + content: ""; + clear: both; +} + +.eael-social-feed-element .pull-left { + float: left; + margin-right: 10px; +} + +.eael-social-feed-element .pull-right { + margin-left: 10px; +} + +.eael-social-feed-element img { + width: 100%; + height: auto; + border: 0; + vertical-align: middle; + -ms-interpolation-mode: bicubic; +} + +.eael-social-feed-element .attachment { + vertical-align: middle; + -ms-interpolation-mode: bicubic; +} + +/*--- Link styles ---*/ +.eael-social-feed-element a { + color: #0088cc; + text-decoration: none; +} + +.eael-social-feed-element a:focus { + outline: thin dotted #333; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +.eael-social-feed-element a:hover, +.eael-social-feed-element a:active { + outline: 0; + color: #005580; + text-decoration: underline; +} + +/*--- Text styles ---*/ +.eael-social-feed-element small { + font-size: 85%; +} + +.eael-social-feed-element strong { + font-weight: bold; +} + +.eael-social-feed-element em { + font-style: italic; +} + +.eael-social-feed-element p { + margin: 0 0 10px; +} + +.eael-social-feed-element .media-body > p { + margin-bottom: 4px; + min-height: 20px; +} + +.eael-social-feed-element p.social-feed-text { + margin: 0; + overflow: hidden; + text-overflow: ellipsis; + -webkit-line-clamp: 5; + -webkit-box-orient: vertical; +} + +/*--- Message styles ---*/ +.eael-social-feed-element, +.eael-social-feed-element .media-body { + overflow: hidden; + zoom: 1; + overflow: visible; +} + +.eael-social-feed-element { + padding: 10px; + background: none; +} + +.eael-social-feed-element .media-body .social-network-icon { + margin-top: -3px; + margin-right: 5px; + width: 16px; +} + +.eael-social-feed-element .media-body div { + color: #666; + line-height: 20px; + clear: both; +} + +.eael-social-feed-element:first-child { + margin-top: 0; +} + +.eael-social-feed-element .media-object { + display: block; + width: 48px; + border-radius: 50%; +} + +.eael-social-feed-element .media-heading { + margin: 0 0 5px; +} + +.eael-social-feed-element .media-list { + margin-left: 0; + list-style: none; +} + +.eael-social-feed-element .muted { + color: #999; +} + +.eael-social-feed-element a.muted:hover, +.eael-social-feed-element a.muted:focus { + color: #808080; +} + +.eael-social-feed-element { + transition: 0.25s; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + margin: -1px; + margin-top: 25px; + color: #333; + text-align: left; + font-size: 14px; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + line-height: 16px; +} + +.eael-social-feed-element .eael-content { + padding: 20px 15px 15px; + transition: .4s; + background: #fff; +} + +.eael-social-feed-element .social-network-icon { + opacity: 0.7; +} + +.eael-social-feed-element .author-title { + color: #444; + line-height: 1.5em; + font-weight: 500; +} + +/*--- Icon Color ---*/ +.media-body .fa-twitter { + color: #1da1f2; + margin-right: 8px; +} + +.media-body .fa-facebook { + color: #3b5998; + margin-right: 8px; +} + +/*--- Read More Link ---*/ +.text-wrapper p .read-more-link { + margin-top: 9px; + display: block; +} + +/*--- Loading Loader ---*/ +.eael-social-feed-wrapper { + width: 100%; + height: auto; + position: relative; + z-index: 0; +} + +.eael-loading-feed { + display: none; + position: absolute; + width: 100%; + height: 100%; + top: 0px; + left: 0px; + bottom: 0px; + right: 0px; +} + +.eael-loading-feed.show-loading { + display: block; + text-align: center; + z-index: 10; + display: flex; + align-items: center; + justify-content: center; + transition: .5s; +} + +.eael-loading-feed .loader { + border: 3px solid #f3f3f3; + border-radius: 50%; + border-top: 3px solid #3498db; + width: 30px; + height: 30px; + -webkit-animation: spin 2s linear infinite; + /* Safari */ + animation: spin 2s linear infinite; + margin: 0 auto; +} + +/*--- Safari ---*/ +@-webkit-keyframes spin { + 0% { + -webkit-transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(360deg); + } +} +@keyframes spin { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} +/*--- List View ---*/ +.eael-social-feed-container.list-view .eael-social-feed-element { + margin: 15px; + border: 1px solid rgba(0, 0, 0, 0.1); + background: none; +} + +/*--- Carousel View ---*/ +.eael-social-feed-container.carousel-view { + width: 100%; + height: auto; +} + +/*--- Masonry View ---*/ +.eael-twitter-feed-container.masonry-view .eael-social-feed-element { + width: 33.33%; + margin-top: 0px; + float: left; +} + +.eael-social-feed-element .eael-content { + border: 1px solid rgba(0, 0, 0, 0.1); +} + +/*--- Editor Related Style ---*/ +.eael-social-feed-avatar-circle .eael-social-feed-element .media-object { + border-radius: 50%; +} + +.eael-social-feed-avatar-square .eael-social-feed-element .media-object { + border-radius: 0%; +} + +.eael-social-feed-masonry-col-4 .eael-social-feed-element .social-feed-date .eael-social-feed-masonry-col-4 .eael-social-feed-element .social-feed-date { + text-align: left !important; +} + +/*--- Media Query ---*/ +@media only screen and (min-width: 768px) and (max-width: 992px) { + .eael-twitter-feed-container.masonry-view .eael-social-feed-element { + width: 50% !important; + } +} +@media only screen and (max-width: 480px) { + .eael-twitter-feed-container.masonry-view .eael-social-feed-element { + width: 100% !important; + } +} diff --git a/assets/front-end/css/weforms.css b/assets/front-end/css/weforms.css new file mode 100644 index 000000000..1dd25d811 --- /dev/null +++ b/assets/front-end/css/weforms.css @@ -0,0 +1,37 @@ +/*----------------------*/ +/* 12. weForm Styles +/*----------------------*/ +.eael-weform-container input, +.eael-weform-container textarea { + height: auto; + padding: 10px; +} + +.eael-contact-form-align-center .eael-weform-container, +.eael-contact-form-btn-align-center .eael-weform-container ul.wpuf-form .wpuf-submit input[type="submit"] { + margin-left: auto !important; + margin-right: auto !important; + display: block; + float: none; +} + +.eael-contact-form-align-left .eael-weform-container, +.eael-contact-form-btn-align-left .eael-weform-container ul.wpuf-form .wpuf-submit input[type="submit"] { + float: left; + width: auto; +} + +.eael-contact-form-align-right .eael-weform-container, +.eael-contact-form-btn-align-right .eael-weform-container ul.wpuf-form .wpuf-submit input[type="submit"] { + float: right; + width: auto; +} + +.eael-weform-container ul.wpuf-form li .wpuf-fields input[type="text"], +.eael-weform-container ul.wpuf-form li .wpuf-fields input[type="password"], +.eael-weform-container ul.wpuf-form li .wpuf-fields input[type="email"], +.eael-weform-container ul.wpuf-form li .wpuf-fields input[type="url"], +.eael-weform-container ul.wpuf-form li .wpuf-fields input[type="number"], +.eael-weform-container ul.wpuf-form li .wpuf-fields textarea { + max-width: 100%; +} diff --git a/assets/front-end/css/wpforms.css b/assets/front-end/css/wpforms.css new file mode 100644 index 000000000..495512b88 --- /dev/null +++ b/assets/front-end/css/wpforms.css @@ -0,0 +1,41 @@ +/* ------------------- */ +/* 23. WPForms +/* ------------------- */ +.eael-wpforms .wpforms-container .wpforms-form input[type=submit], +.eael-wpforms .wpforms-container .wpforms-form button[type=submit], +.eael-wpforms .wpforms-container .wpforms-form .wpforms-page-button { + border: 0; +} + +.eael-wpforms .wpforms-container .wpforms-form input[type=submit]:hover, +.eael-wpforms .wpforms-container .wpforms-form button[type=submit]:hover, +.eael-wpforms .wpforms-container .wpforms-form .wpforms-page-button:hover { + border: 0; +} + +.eael-wpforms .wpforms-container .wpforms-form input[type=checkbox], +.eael-wpforms .wpforms-container .wpforms-form input[type=radio] { + padding: 3px; +} + +.eael-wpforms .wpforms-container .wpforms-form .wpforms-field-label { + display: none; +} + +.eael-wpforms .wpforms-container .wpforms-form .wpforms-field-name .wpforms-field-row { + max-width: 100%; +} + +.eael-wpforms .wpforms-container .wpforms-field input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), +.eael-wpforms .wpforms-container .wpforms-field textarea, +.eael-wpforms .wpforms-container .wpforms-field select { + max-width: 100% !important; +} + +.eael-wpforms-labels-yes .wpforms-container .wpforms-form .wpforms-field-label { + display: block; +} + +.eael-wpforms-form-button-full-width .wpforms-submit-container .wpforms-submit { + width: 100%; +} diff --git a/assets/img/accordion.png b/assets/front-end/img/accordion.png similarity index 100% rename from assets/img/accordion.png rename to assets/front-end/img/accordion.png diff --git a/assets/img/bg.jpg b/assets/front-end/img/bg.jpg similarity index 100% rename from assets/img/bg.jpg rename to assets/front-end/img/bg.jpg diff --git a/assets/img/flexia-preview.jpg b/assets/front-end/img/flexia-preview.jpg similarity index 100% rename from assets/img/flexia-preview.jpg rename to assets/front-end/img/flexia-preview.jpg diff --git a/assets/img/play-icon.png b/assets/front-end/img/play-icon.png similarity index 100% rename from assets/img/play-icon.png rename to assets/front-end/img/play-icon.png diff --git a/assets/front-end/js/adv-accordion/index.js b/assets/front-end/js/adv-accordion/index.js new file mode 100755 index 000000000..7b795c675 --- /dev/null +++ b/assets/front-end/js/adv-accordion/index.js @@ -0,0 +1,60 @@ +var AdvAccordionHandler = function($scope, $) { + var $advanceAccordion = $scope.find(".eael-adv-accordion"), + $accordionHeader = $scope.find(".eael-accordion-header"), + $accordionType = $advanceAccordion.data("accordion-type"), + $accordionSpeed = $advanceAccordion.data("toogle-speed"); + + // Open default actived tab + $accordionHeader.each(function() { + if ($(this).hasClass("active-default")) { + $(this).addClass("show active"); + $(this) + .next() + .slideDown($accordionSpeed); + } + }); + + // Remove multiple click event for nested accordion + $accordionHeader.unbind("click"); + + $accordionHeader.click(function(e) { + e.preventDefault(); + + var $this = $(this); + + if ($accordionType === "accordion") { + if ($this.hasClass("show")) { + $this.removeClass("show active"); + $this.next().slideUp($accordionSpeed); + } else { + $this + .parent() + .parent() + .find(".eael-accordion-header") + .removeClass("show active"); + $this + .parent() + .parent() + .find(".eael-accordion-content") + .slideUp($accordionSpeed); + $this.toggleClass("show active"); + $this.next().slideToggle($accordionSpeed); + } + } else { + // For acccordion type 'toggle' + if ($this.hasClass("show")) { + $this.removeClass("show active"); + $this.next().slideUp($accordionSpeed); + } else { + $this.addClass("show active"); + $this.next().slideDown($accordionSpeed); + } + } + }); +}; +jQuery(window).on("elementor/frontend/init", function() { + elementorFrontend.hooks.addAction( + "frontend/element_ready/eael-adv-accordion.default", + AdvAccordionHandler + ); +}); diff --git a/assets/front-end/js/adv-tabs/index.js b/assets/front-end/js/adv-tabs/index.js new file mode 100755 index 000000000..2f762e5c3 --- /dev/null +++ b/assets/front-end/js/adv-tabs/index.js @@ -0,0 +1,74 @@ +var AdvanceTabHandler = function($scope, $) { + var $currentTab = $scope.find(".eael-advance-tabs"), + $currentTabId = "#" + $currentTab.attr("id").toString(); + + $($currentTabId + " .eael-tabs-nav ul li").each(function(index) { + if ($(this).hasClass("active-default")) { + $($currentTabId + " .eael-tabs-nav > ul li") + .removeClass("active") + .addClass("inactive"); + $(this).removeClass("inactive"); + } else { + if (index == 0) { + $(this) + .removeClass("inactive") + .addClass("active"); + } + } + }); + + $($currentTabId + " .eael-tabs-content div").each(function(index) { + if ($(this).hasClass("active-default")) { + $($currentTabId + " .eael-tabs-content > div").removeClass( + "active" + ); + } else { + if (index == 0) { + $(this) + .removeClass("inactive") + .addClass("active"); + } + } + }); + + $($currentTabId + " .eael-tabs-nav ul li").click(function() { + var currentTabIndex = $(this).index(); + var tabsContainer = $(this).closest(".eael-advance-tabs"); + var tabsNav = $(tabsContainer) + .children(".eael-tabs-nav") + .children("ul") + .children("li"); + var tabsContent = $(tabsContainer) + .children(".eael-tabs-content") + .children("div"); + + $(this) + .parent("li") + .addClass("active"); + + $(tabsNav) + .removeClass("active active-default") + .addClass("inactive"); + $(this) + .addClass("active") + .removeClass("inactive"); + + $(tabsContent) + .removeClass("active") + .addClass("inactive"); + $(tabsContent) + .eq(currentTabIndex) + .addClass("active") + .removeClass("inactive"); + + $(tabsContent).each(function(index) { + $(this).removeClass("active-default"); + }); + }); +}; +jQuery(window).on("elementor/frontend/init", function() { + elementorFrontend.hooks.addAction( + "frontend/element_ready/eael-adv-tabs.default", + AdvanceTabHandler + ); +}); diff --git a/assets/front-end/js/content-ticker/index.js b/assets/front-end/js/content-ticker/index.js new file mode 100755 index 000000000..0a8876acb --- /dev/null +++ b/assets/front-end/js/content-ticker/index.js @@ -0,0 +1,119 @@ +var ContentTicker = function($scope, $) { + var $contentTicker = $scope.find(".eael-content-ticker").eq(0), + $items = + $contentTicker.data("items") !== undefined + ? $contentTicker.data("items") + : 1, + $items_tablet = + $contentTicker.data("items-tablet") !== undefined + ? $contentTicker.data("items-tablet") + : 1, + $items_mobile = + $contentTicker.data("items-mobile") !== undefined + ? $contentTicker.data("items-mobile") + : 1, + $margin = + $contentTicker.data("margin") !== undefined + ? $contentTicker.data("margin") + : 10, + $margin_tablet = + $contentTicker.data("margin-tablet") !== undefined + ? $contentTicker.data("margin-tablet") + : 10, + $margin_mobile = + $contentTicker.data("margin-mobile") !== undefined + ? $contentTicker.data("margin-mobile") + : 10, + $effect = + $contentTicker.data("effect") !== undefined + ? $contentTicker.data("effect") + : "slide", + $speed = + $contentTicker.data("speed") !== undefined + ? $contentTicker.data("speed") + : 400, + $autoplay = + $contentTicker.data("autoplay") !== undefined + ? $contentTicker.data("autoplay") + : 5000, + $loop = + $contentTicker.data("loop") !== undefined + ? $contentTicker.data("loop") + : false, + $grab_cursor = + $contentTicker.data("grab-cursor") !== undefined + ? $contentTicker.data("grab-cursor") + : false, + $pagination = + $contentTicker.data("pagination") !== undefined + ? $contentTicker.data("pagination") + : ".swiper-pagination", + $arrow_next = + $contentTicker.data("arrow-next") !== undefined + ? $contentTicker.data("arrow-next") + : ".swiper-button-next", + $arrow_prev = + $contentTicker.data("arrow-prev") !== undefined + ? $contentTicker.data("arrow-prev") + : ".swiper-button-prev", + $pause_on_hover = + $contentTicker.data("pause-on-hover") !== undefined + ? $contentTicker.data("pause-on-hover") + : "", + $contentTickerOptions = { + direction: "horizontal", + loop: $loop, + speed: $speed, + effect: $effect, + slidesPerView: $items, + spaceBetween: $margin, + grabCursor: $grab_cursor, + paginationClickable: true, + autoHeight: true, + autoplay: { + delay: $autoplay + }, + pagination: { + el: $pagination, + clickable: true + }, + navigation: { + nextEl: $arrow_next, + prevEl: $arrow_prev + }, + breakpoints: { + // when window width is <= 480px + 480: { + slidesPerView: $items_mobile, + spaceBetween: $margin_mobile + }, + // when window width is <= 640px + 768: { + slidesPerView: $items_tablet, + spaceBetween: $margin_tablet + } + } + }; + + var $contentTickerSlider = new Swiper( + $contentTicker, + $contentTickerOptions + ); + if ($autoplay === 0) { + $contentTickerSlider.autoplay.stop(); + } + if ($pause_on_hover && $autoplay !== 0) { + $contentTicker.on("mouseenter", function() { + $contentTickerSlider.autoplay.stop(); + }); + $contentTicker.on("mouseleave", function() { + $contentTickerSlider.autoplay.start(); + }); + } +}; +jQuery(window).on("elementor/frontend/init", function() { + elementorFrontend.hooks.addAction( + "frontend/element_ready/eael-content-ticker.default", + ContentTicker + ); +}); \ No newline at end of file diff --git a/assets/front-end/js/count-down/index.js b/assets/front-end/js/count-down/index.js new file mode 100755 index 000000000..4a588cd87 --- /dev/null +++ b/assets/front-end/js/count-down/index.js @@ -0,0 +1,66 @@ +var CountDown = function($scope, $) { + var $coundDown = $scope.find(".eael-countdown-wrapper").eq(0), + $countdown_id = + $coundDown.data("countdown-id") !== undefined + ? $coundDown.data("countdown-id") + : "", + $expire_type = + $coundDown.data("expire-type") !== undefined + ? $coundDown.data("expire-type") + : "", + $expiry_text = + $coundDown.data("expiry-text") !== undefined + ? $coundDown.data("expiry-text") + : "", + $expiry_title = + $coundDown.data("expiry-title") !== undefined + ? $coundDown.data("expiry-title") + : "", + $redirect_url = + $coundDown.data("redirect-url") !== undefined + ? $coundDown.data("redirect-url") + : "", + $template = + $coundDown.data("template") !== undefined + ? $coundDown.data("template") + : ""; + + jQuery(document).ready(function($) { + "use strict"; + var countDown = $("#eael-countdown-" + $countdown_id); + + countDown.countdown({ + end: function() { + if ($expire_type == "text") { + countDown.html( + '

' + + $expiry_title + + "

" + + '
' + + $expiry_text + + "
" + ); + } else if ($expire_type === "url") { + var editMode = $("body").find("#elementor").length; + if (editMode > 0) { + countDown.html( + "Your Page will be redirected to given URL (only on Frontend)." + ); + } else { + window.location.href = $redirect_url; + } + } else if ($expire_type === "template") { + countDown.html($template); + } else { + //do nothing! + } + } + }); + }); +}; +jQuery(window).on("elementor/frontend/init", function() { + elementorFrontend.hooks.addAction( + "frontend/element_ready/eael-countdown.default", + CountDown + ); +}); diff --git a/assets/front-end/js/data-table/index.js b/assets/front-end/js/data-table/index.js new file mode 100755 index 000000000..8a76e2cdc --- /dev/null +++ b/assets/front-end/js/data-table/index.js @@ -0,0 +1,28 @@ +var dataTable = function($scope, $) { + var $_this = $scope.find(".eael-data-table-wrap"), + $id = $_this.data("table_id"); + + var responsive = $_this.data("custom_responsive"); + if (true == responsive) { + var $th = $scope.find(".eael-data-table").find("th"); + var $tbody = $scope.find(".eael-data-table").find("tbody"); + + $tbody.find("tr").each(function(i, item) { + $(item) + .find("td .td-content-wrapper") + .each(function(index, item) { + $(this).prepend( + '
' + + $th.eq(index).html() + + "
" + ); + }); + }); + } +}; +jQuery(window).on("elementor/frontend/init", function() { + elementorFrontend.hooks.addAction( + "frontend/element_ready/eael-data-table.default", + dataTable + ); +}); \ No newline at end of file diff --git a/assets/front-end/js/eael.js b/assets/front-end/js/eael.js new file mode 100755 index 000000000..dbe5e1f50 --- /dev/null +++ b/assets/front-end/js/eael.js @@ -0,0 +1,14347 @@ +(function($) { + window.isEditMode = !1; + $(window).on("elementor/frontend/init", function() { + window.isEditMode = elementorFrontend.isEditMode(); + }); +})(jQuery); +!(function(a) { + "function" == typeof define && define.amd + ? define(["jquery"], a) + : a(jQuery); +})(function(a) { + "use strict"; + var b = function(c, d) { + (this.$element = a(c)), + (this.defaults = a.extend( + {}, + b.defaults, + this.$element.data(), + a.isPlainObject(d) ? d : {} + )), + this.init(); + }; + (b.prototype = { + constructor: b, + init: function() { + var a = this.$element.html(), + b = new Date(this.defaults.date || a); + b.getTime() && + ((this.content = a), + (this.date = b), + this.find(), + this.defaults.autoStart && this.start()); + }, + find: function() { + var a = this.$element; + (this.$days = a.find("[data-days]")), + (this.$hours = a.find("[data-hours]")), + (this.$minutes = a.find("[data-minutes]")), + (this.$seconds = a.find("[data-seconds]")), + this.$days.length + + this.$hours.length + + this.$minutes.length + + this.$seconds.length > + 0 && (this.found = !0); + }, + reset: function() { + this.found + ? (this.output("days"), + this.output("hours"), + this.output("minutes"), + this.output("seconds")) + : this.output(); + }, + ready: function() { + var a, + b = this.date, + c = 100, + d = 1e3, + e = 6e4, + f = 36e5, + g = 864e5, + h = {}; + return b + ? ((a = b.getTime() - new Date().getTime()), + 0 >= a + ? (this.end(), !1) + : ((h.days = a), + (h.hours = h.days % g), + (h.minutes = h.hours % f), + (h.seconds = h.minutes % e), + (h.milliseconds = h.seconds % d), + (this.days = Math.floor(h.days / g)), + (this.hours = Math.floor(h.hours / f)), + (this.minutes = Math.floor(h.minutes / e)), + (this.seconds = Math.floor(h.seconds / d)), + (this.deciseconds = Math.floor(h.milliseconds / c)), + !0)) + : !1; + }, + start: function() { + !this.active && + this.ready() && + ((this.active = !0), + this.reset(), + (this.autoUpdate = this.defaults.fast + ? setInterval(a.proxy(this.fastUpdate, this), 100) + : setInterval(a.proxy(this.update, this), 1e3))); + }, + stop: function() { + this.active && ((this.active = !1), clearInterval(this.autoUpdate)); + }, + end: function() { + this.date && + (this.stop(), + (this.days = 0), + (this.hours = 0), + (this.minutes = 0), + (this.seconds = 0), + (this.deciseconds = 0), + this.reset(), + this.defaults.end()); + }, + destroy: function() { + this.date && + (this.stop(), + (this.$days = null), + (this.$hours = null), + (this.$minutes = null), + (this.$seconds = null), + this.$element.empty().html(this.content), + this.$element.removeData("countdown")); + }, + fastUpdate: function() { + --this.deciseconds >= 0 + ? this.output("deciseconds") + : ((this.deciseconds = 9), this.update()); + }, + update: function() { + --this.seconds >= 0 + ? this.output("seconds") + : ((this.seconds = 59), + --this.minutes >= 0 + ? this.output("minutes") + : ((this.minutes = 59), + --this.hours >= 0 + ? this.output("hours") + : ((this.hours = 23), + --this.days >= 0 + ? this.output("days") + : this.end()))); + }, + output: function(a) { + if (!this.found) + return void this.$element.empty().html(this.template()); + switch (a) { + case "deciseconds": + this.$seconds.text(this.getSecondsText()); + break; + case "seconds": + this.$seconds.text(this.seconds); + break; + case "minutes": + this.$minutes.text(this.minutes); + break; + case "hours": + this.$hours.text(this.hours); + break; + case "days": + this.$days.text(this.days); + } + }, + template: function() { + return this.defaults.text + .replace("%s", this.days) + .replace("%s", this.hours) + .replace("%s", this.minutes) + .replace("%s", this.getSecondsText()); + }, + getSecondsText: function() { + return this.active && this.defaults.fast + ? this.seconds + "." + this.deciseconds + : this.seconds; + } + }), + (b.defaults = { + autoStart: !0, + date: null, + fast: !1, + end: a.noop, + text: "%s days, %s hours, %s minutes, %s seconds" + }), + (b.setDefaults = function(c) { + a.extend(b.defaults, c); + }), + (a.fn.countdown = function(c) { + return this.each(function() { + var d = a(this), + e = d.data("countdown"); + e || d.data("countdown", (e = new b(this, c))), + "string" == typeof c && a.isFunction(e[c]) && e[c](); + }); + }), + (a.fn.countdown.constructor = b), + (a.fn.countdown.setDefaults = b.setDefaults), + a(function() { + a("[countdown]").countdown(); + }); +}); +!(function(t, s, e) { + "use strict"; + var i = function(t, s) { + var i = this; + (this.el = t), + (this.options = {}), + Object.keys(r).forEach(function(t) { + i.options[t] = r[t]; + }), + Object.keys(s).forEach(function(t) { + i.options[t] = s[t]; + }), + (this.isInput = "input" === this.el.tagName.toLowerCase()), + (this.attr = this.options.attr), + (this.showCursor = !this.isInput && this.options.showCursor), + (this.elContent = this.attr + ? this.el.getAttribute(this.attr) + : this.el.textContent), + (this.contentType = this.options.contentType), + (this.typeSpeed = this.options.typeSpeed), + (this.startDelay = this.options.startDelay), + (this.backSpeed = this.options.backSpeed), + (this.backDelay = this.options.backDelay), + e && this.options.stringsElement instanceof e + ? (this.stringsElement = this.options.stringsElement[0]) + : (this.stringsElement = this.options.stringsElement), + (this.strings = this.options.strings), + (this.strPos = 0), + (this.arrayPos = 0), + (this.stopNum = 0), + (this.loop = this.options.loop), + (this.loopCount = this.options.loopCount), + (this.curLoop = 0), + (this.stop = !1), + (this.cursorChar = this.options.cursorChar), + (this.shuffle = this.options.shuffle), + (this.sequence = []), + this.build(); + }; + (i.prototype = { + constructor: i, + init: function() { + var t = this; + t.timeout = setTimeout(function() { + for (var s = 0; s < t.strings.length; ++s) t.sequence[s] = s; + t.shuffle && (t.sequence = t.shuffleArray(t.sequence)), + t.typewrite(t.strings[t.sequence[t.arrayPos]], t.strPos); + }, t.startDelay); + }, + build: function() { + var t = this; + if ( + (this.showCursor === !0 && + ((this.cursor = s.createElement("span")), + (this.cursor.className = "typed-cursor"), + (this.cursor.innerHTML = this.cursorChar), + this.el.parentNode && + this.el.parentNode.insertBefore( + this.cursor, + this.el.nextSibling + )), + this.stringsElement) + ) { + (this.strings = []), + (this.stringsElement.style.display = "none"); + var e = Array.prototype.slice.apply( + this.stringsElement.children + ); + e.forEach(function(s) { + t.strings.push(s.innerHTML); + }); + } + this.init(); + }, + typewrite: function(t, s) { + if (this.stop !== !0) { + var e = Math.round(70 * Math.random()) + this.typeSpeed, + i = this; + i.timeout = setTimeout(function() { + var e = 0, + r = t.substr(s); + if ("^" === r.charAt(0)) { + var o = 1; + /^\^\d+/.test(r) && + ((r = /\d+/.exec(r)[0]), + (o += r.length), + (e = parseInt(r))), + (t = t.substring(0, s) + t.substring(s + o)); + } + if ("html" === i.contentType) { + var n = t.substr(s).charAt(0); + if ("<" === n || "&" === n) { + var a = "", + h = ""; + for ( + h = "<" === n ? ">" : ";"; + t.substr(s + 1).charAt(0) !== h && + ((a += t.substr(s).charAt(0)), + s++, + !(s + 1 > t.length)); + + ); + s++, (a += h); + } + } + i.timeout = setTimeout(function() { + if (s === t.length) { + if ( + (i.options.onStringTyped(i.arrayPos), + i.arrayPos === i.strings.length - 1 && + (i.options.callback(), + i.curLoop++, + i.loop === !1 || i.curLoop === i.loopCount)) + ) + return; + i.timeout = setTimeout(function() { + i.backspace(t, s); + }, i.backDelay); + } else { + 0 === s && i.options.preStringTyped(i.arrayPos); + var e = t.substr(0, s + 1); + i.attr + ? i.el.setAttribute(i.attr, e) + : i.isInput + ? (i.el.value = e) + : "html" === i.contentType + ? (i.el.innerHTML = e) + : (i.el.textContent = e), + s++, + i.typewrite(t, s); + } + }, e); + }, e); + } + }, + backspace: function(t, s) { + if (this.stop !== !0) { + var e = Math.round(70 * Math.random()) + this.backSpeed, + i = this; + i.timeout = setTimeout(function() { + if ( + "html" === i.contentType && + ">" === t.substr(s).charAt(0) + ) { + for ( + var e = ""; + "<" !== t.substr(s - 1).charAt(0) && + ((e -= t.substr(s).charAt(0)), s--, !(s < 0)); + + ); + s--, (e += "<"); + } + var r = t.substr(0, s); + i.attr + ? i.el.setAttribute(i.attr, r) + : i.isInput + ? (i.el.value = r) + : "html" === i.contentType + ? (i.el.innerHTML = r) + : (i.el.textContent = r), + s > i.stopNum + ? (s--, i.backspace(t, s)) + : s <= i.stopNum && + (i.arrayPos++, + i.arrayPos === i.strings.length + ? ((i.arrayPos = 0), + i.shuffle && + (i.sequence = i.shuffleArray( + i.sequence + )), + i.init()) + : i.typewrite( + i.strings[i.sequence[i.arrayPos]], + s + )); + }, e); + } + }, + shuffleArray: function(t) { + var s, + e, + i = t.length; + if (i) + for (; --i; ) + (e = Math.floor(Math.random() * (i + 1))), + (s = t[e]), + (t[e] = t[i]), + (t[i] = s); + return t; + }, + reset: function() { + var t = this; + clearInterval(t.timeout); + this.el.getAttribute("id"); + (this.el.textContent = ""), + "undefined" != typeof this.cursor && + "undefined" != typeof this.cursor.parentNode && + this.cursor.parentNode.removeChild(this.cursor), + (this.strPos = 0), + (this.arrayPos = 0), + (this.curLoop = 0), + this.options.resetCallback(); + } + }), + (i["new"] = function(t, e) { + var r = Array.prototype.slice.apply(s.querySelectorAll(t)); + r.forEach(function(t) { + var s = t._typed, + r = "object" == typeof e && e; + s && s.reset(), + (t._typed = s = new i(t, r)), + "string" == typeof e && s[e](); + }); + }), + e && + (e.fn.typed = function(t) { + return this.each(function() { + var s = e(this), + r = s.data("typed"), + o = "object" == typeof t && t; + r && r.reset(), + s.data("typed", (r = new i(this, o))), + "string" == typeof t && r[t](); + }); + }), + (t.Typed = i); + var r = { + strings: [ + "These are the default values...", + "You know what you should do?", + "Use your own!", + "Have a great day!" + ], + stringsElement: null, + typeSpeed: 0, + startDelay: 0, + backSpeed: 0, + shuffle: !1, + backDelay: 500, + loop: !1, + loopCount: !1, + showCursor: !0, + cursorChar: "|", + attr: null, + contentType: "html", + callback: function() {}, + preStringTyped: function() {}, + onStringTyped: function() {}, + resetCallback: function() {} + }; +})(window, document, window.jQuery); +!(function(a) { + "use strict"; + + function b(b, c) { + (this.element = a(b)), + (this.settings = a.extend({}, d, c)), + (this._defaults = d), + this._init(); + } + var c = "Morphext", + d = { + animation: "bounceIn", + separator: ",", + speed: 2e3, + complete: a.noop + }; + (b.prototype = { + _init: function() { + var b = this; + (this.phrases = []), + this.element.addClass("morphext"), + a.each( + this.element.text().split(this.settings.separator), + function(c, d) { + b.phrases.push(a.trim(d)); + } + ), + (this.index = -1), + this.animate(), + this.start(); + }, + animate: function() { + (this.index = ++this.index % this.phrases.length), + (this.element[0].innerHTML = + '' + + this.phrases[this.index] + + ""), + a.isFunction(this.settings.complete) && + this.settings.complete.call(this); + }, + start: function() { + var a = this; + this._interval = setInterval(function() { + a.animate(); + }, this.settings.speed); + }, + stop: function() { + this._interval = clearInterval(this._interval); + } + }), + (a.fn[c] = function(d) { + return this.each(function() { + a.data(this, "plugin_" + c) || + a.data(this, "plugin_" + c, new b(this, d)); + }); + }); +})(jQuery); +!(function(t, e) { + "function" == typeof define && define.amd + ? define("jquery-bridget/jquery-bridget", ["jquery"], function(i) { + return e(t, i); + }) + : "object" == typeof module && module.exports + ? (module.exports = e(t, require("jquery"))) + : (t.jQueryBridget = e(t, t.jQuery)); +})(window, function(t, e) { + "use strict"; + + function i(i, s, a) { + function u(t, e, o) { + var n, + s = "$()." + i + '("' + e + '")'; + return ( + t.each(function(t, u) { + var h = a.data(u, i); + if (!h) + return void r( + i + + " not initialized. Cannot call methods, i.e. " + + s + ); + var d = h[e]; + if (!d || "_" == e.charAt(0)) + return void r(s + " is not a valid method"); + var l = d.apply(h, o); + n = void 0 === n ? l : n; + }), + void 0 !== n ? n : t + ); + } + + function h(t, e) { + t.each(function(t, o) { + var n = a.data(o, i); + n + ? (n.option(e), n._init()) + : ((n = new s(o, e)), a.data(o, i, n)); + }); + } + (a = a || e || t.jQuery), + a && + (s.prototype.option || + (s.prototype.option = function(t) { + a.isPlainObject(t) && + (this.options = a.extend(!0, this.options, t)); + }), + (a.fn[i] = function(t) { + if ("string" == typeof t) { + var e = n.call(arguments, 1); + return u(this, t, e); + } + return h(this, t), this; + }), + o(a)); + } + + function o(t) { + !t || (t && t.bridget) || (t.bridget = i); + } + var n = Array.prototype.slice, + s = t.console, + r = + "undefined" == typeof s + ? function() {} + : function(t) { + s.error(t); + }; + return o(e || t.jQuery), i; +}), + (function(t, e) { + "function" == typeof define && define.amd + ? define("ev-emitter/ev-emitter", e) + : "object" == typeof module && module.exports + ? (module.exports = e()) + : (t.EvEmitter = e()); + })("undefined" != typeof window ? window : this, function() { + function t() {} + var e = t.prototype; + return ( + (e.on = function(t, e) { + if (t && e) { + var i = (this._events = this._events || {}), + o = (i[t] = i[t] || []); + return o.indexOf(e) == -1 && o.push(e), this; + } + }), + (e.once = function(t, e) { + if (t && e) { + this.on(t, e); + var i = (this._onceEvents = this._onceEvents || {}), + o = (i[t] = i[t] || {}); + return (o[e] = !0), this; + } + }), + (e.off = function(t, e) { + var i = this._events && this._events[t]; + if (i && i.length) { + var o = i.indexOf(e); + return o != -1 && i.splice(o, 1), this; + } + }), + (e.emitEvent = function(t, e) { + var i = this._events && this._events[t]; + if (i && i.length) { + (i = i.slice(0)), (e = e || []); + for ( + var o = this._onceEvents && this._onceEvents[t], n = 0; + n < i.length; + n++ + ) { + var s = i[n], + r = o && o[s]; + r && (this.off(t, s), delete o[s]), s.apply(this, e); + } + return this; + } + }), + (e.allOff = function() { + delete this._events, delete this._onceEvents; + }), + t + ); + }), + (function(t, e) { + "function" == typeof define && define.amd + ? define("get-size/get-size", e) + : "object" == typeof module && module.exports + ? (module.exports = e()) + : (t.getSize = e()); + })(window, function() { + "use strict"; + + function t(t) { + var e = parseFloat(t), + i = t.indexOf("%") == -1 && !isNaN(e); + return i && e; + } + + function e() {} + + function i() { + for ( + var t = { + width: 0, + height: 0, + innerWidth: 0, + innerHeight: 0, + outerWidth: 0, + outerHeight: 0 + }, + e = 0; + e < h; + e++ + ) { + var i = u[e]; + t[i] = 0; + } + return t; + } + + function o(t) { + var e = getComputedStyle(t); + return ( + e || + a( + "Style returned " + + e + + ". Are you running this code in a hidden iframe on Firefox? See https://bit.ly/getsizebug1" + ), + e + ); + } + + function n() { + if (!d) { + d = !0; + var e = document.createElement("div"); + (e.style.width = "200px"), + (e.style.padding = "1px 2px 3px 4px"), + (e.style.borderStyle = "solid"), + (e.style.borderWidth = "1px 2px 3px 4px"), + (e.style.boxSizing = "border-box"); + var i = document.body || document.documentElement; + i.appendChild(e); + var n = o(e); + (r = 200 == Math.round(t(n.width))), + (s.isBoxSizeOuter = r), + i.removeChild(e); + } + } + + function s(e) { + if ( + (n(), + "string" == typeof e && (e = document.querySelector(e)), + e && "object" == typeof e && e.nodeType) + ) { + var s = o(e); + if ("none" == s.display) return i(); + var a = {}; + (a.width = e.offsetWidth), (a.height = e.offsetHeight); + for ( + var d = (a.isBorderBox = "border-box" == s.boxSizing), + l = 0; + l < h; + l++ + ) { + var f = u[l], + c = s[f], + m = parseFloat(c); + a[f] = isNaN(m) ? 0 : m; + } + var p = a.paddingLeft + a.paddingRight, + y = a.paddingTop + a.paddingBottom, + g = a.marginLeft + a.marginRight, + v = a.marginTop + a.marginBottom, + _ = a.borderLeftWidth + a.borderRightWidth, + z = a.borderTopWidth + a.borderBottomWidth, + I = d && r, + x = t(s.width); + x !== !1 && (a.width = x + (I ? 0 : p + _)); + var S = t(s.height); + return ( + S !== !1 && (a.height = S + (I ? 0 : y + z)), + (a.innerWidth = a.width - (p + _)), + (a.innerHeight = a.height - (y + z)), + (a.outerWidth = a.width + g), + (a.outerHeight = a.height + v), + a + ); + } + } + var r, + a = + "undefined" == typeof console + ? e + : function(t) { + console.error(t); + }, + u = [ + "paddingLeft", + "paddingRight", + "paddingTop", + "paddingBottom", + "marginLeft", + "marginRight", + "marginTop", + "marginBottom", + "borderLeftWidth", + "borderRightWidth", + "borderTopWidth", + "borderBottomWidth" + ], + h = u.length, + d = !1; + return s; + }), + (function(t, e) { + "use strict"; + "function" == typeof define && define.amd + ? define("desandro-matches-selector/matches-selector", e) + : "object" == typeof module && module.exports + ? (module.exports = e()) + : (t.matchesSelector = e()); + })(window, function() { + "use strict"; + var t = (function() { + var t = window.Element.prototype; + if (t.matches) return "matches"; + if (t.matchesSelector) return "matchesSelector"; + for ( + var e = ["webkit", "moz", "ms", "o"], i = 0; + i < e.length; + i++ + ) { + var o = e[i], + n = o + "MatchesSelector"; + if (t[n]) return n; + } + })(); + return function(e, i) { + return e[t](i); + }; + }), + (function(t, e) { + "function" == typeof define && define.amd + ? define("fizzy-ui-utils/utils", [ + "desandro-matches-selector/matches-selector" + ], function(i) { + return e(t, i); + }) + : "object" == typeof module && module.exports + ? (module.exports = e(t, require("desandro-matches-selector"))) + : (t.fizzyUIUtils = e(t, t.matchesSelector)); + })(window, function(t, e) { + var i = {}; + (i.extend = function(t, e) { + for (var i in e) t[i] = e[i]; + return t; + }), + (i.modulo = function(t, e) { + return ((t % e) + e) % e; + }); + var o = Array.prototype.slice; + (i.makeArray = function(t) { + if (Array.isArray(t)) return t; + if (null === t || void 0 === t) return []; + var e = "object" == typeof t && "number" == typeof t.length; + return e ? o.call(t) : [t]; + }), + (i.removeFrom = function(t, e) { + var i = t.indexOf(e); + i != -1 && t.splice(i, 1); + }), + (i.getParent = function(t, i) { + for (; t.parentNode && t != document.body; ) + if (((t = t.parentNode), e(t, i))) return t; + }), + (i.getQueryElement = function(t) { + return "string" == typeof t ? document.querySelector(t) : t; + }), + (i.handleEvent = function(t) { + var e = "on" + t.type; + this[e] && this[e](t); + }), + (i.filterFindElements = function(t, o) { + t = i.makeArray(t); + var n = []; + return ( + t.forEach(function(t) { + if (t instanceof HTMLElement) { + if (!o) return void n.push(t); + e(t, o) && n.push(t); + for ( + var i = t.querySelectorAll(o), s = 0; + s < i.length; + s++ + ) + n.push(i[s]); + } + }), + n + ); + }), + (i.debounceMethod = function(t, e, i) { + i = i || 100; + var o = t.prototype[e], + n = e + "Timeout"; + t.prototype[e] = function() { + var t = this[n]; + clearTimeout(t); + var e = arguments, + s = this; + this[n] = setTimeout(function() { + o.apply(s, e), delete s[n]; + }, i); + }; + }), + (i.docReady = function(t) { + var e = document.readyState; + "complete" == e || "interactive" == e + ? setTimeout(t) + : document.addEventListener("DOMContentLoaded", t); + }), + (i.toDashed = function(t) { + return t + .replace(/(.)([A-Z])/g, function(t, e, i) { + return e + "-" + i; + }) + .toLowerCase(); + }); + var n = t.console; + return ( + (i.htmlInit = function(e, o) { + i.docReady(function() { + var s = i.toDashed(o), + r = "data-" + s, + a = document.querySelectorAll("[" + r + "]"), + u = document.querySelectorAll(".js-" + s), + h = i.makeArray(a).concat(i.makeArray(u)), + d = r + "-options", + l = t.jQuery; + h.forEach(function(t) { + var i, + s = t.getAttribute(r) || t.getAttribute(d); + try { + i = s && JSON.parse(s); + } catch (a) { + return void ( + n && + n.error( + "Error parsing " + + r + + " on " + + t.className + + ": " + + a + ) + ); + } + var u = new e(t, i); + l && l.data(t, o, u); + }); + }); + }), + i + ); + }), + (function(t, e) { + "function" == typeof define && define.amd + ? define("outlayer/item", [ + "ev-emitter/ev-emitter", + "get-size/get-size" + ], e) + : "object" == typeof module && module.exports + ? (module.exports = e(require("ev-emitter"), require("get-size"))) + : ((t.Outlayer = {}), + (t.Outlayer.Item = e(t.EvEmitter, t.getSize))); + })(window, function(t, e) { + "use strict"; + + function i(t) { + for (var e in t) return !1; + return (e = null), !0; + } + + function o(t, e) { + t && + ((this.element = t), + (this.layout = e), + (this.position = { + x: 0, + y: 0 + }), + this._create()); + } + + function n(t) { + return t.replace(/([A-Z])/g, function(t) { + return "-" + t.toLowerCase(); + }); + } + var s = document.documentElement.style, + r = + "string" == typeof s.transition + ? "transition" + : "WebkitTransition", + a = + "string" == typeof s.transform + ? "transform" + : "WebkitTransform", + u = { + WebkitTransition: "webkitTransitionEnd", + transition: "transitionend" + }[r], + h = { + transform: a, + transition: r, + transitionDuration: r + "Duration", + transitionProperty: r + "Property", + transitionDelay: r + "Delay" + }, + d = (o.prototype = Object.create(t.prototype)); + (d.constructor = o), + (d._create = function() { + (this._transn = { + ingProperties: {}, + clean: {}, + onEnd: {} + }), + this.css({ + position: "absolute" + }); + }), + (d.handleEvent = function(t) { + var e = "on" + t.type; + this[e] && this[e](t); + }), + (d.getSize = function() { + this.size = e(this.element); + }), + (d.css = function(t) { + var e = this.element.style; + for (var i in t) { + var o = h[i] || i; + e[o] = t[i]; + } + }), + (d.getPosition = function() { + var t = getComputedStyle(this.element), + e = this.layout._getOption("originLeft"), + i = this.layout._getOption("originTop"), + o = t[e ? "left" : "right"], + n = t[i ? "top" : "bottom"], + s = parseFloat(o), + r = parseFloat(n), + a = this.layout.size; + o.indexOf("%") != -1 && (s = (s / 100) * a.width), + n.indexOf("%") != -1 && (r = (r / 100) * a.height), + (s = isNaN(s) ? 0 : s), + (r = isNaN(r) ? 0 : r), + (s -= e ? a.paddingLeft : a.paddingRight), + (r -= i ? a.paddingTop : a.paddingBottom), + (this.position.x = s), + (this.position.y = r); + }), + (d.layoutPosition = function() { + var t = this.layout.size, + e = {}, + i = this.layout._getOption("originLeft"), + o = this.layout._getOption("originTop"), + n = i ? "paddingLeft" : "paddingRight", + s = i ? "left" : "right", + r = i ? "right" : "left", + a = this.position.x + t[n]; + (e[s] = this.getXValue(a)), (e[r] = ""); + var u = o ? "paddingTop" : "paddingBottom", + h = o ? "top" : "bottom", + d = o ? "bottom" : "top", + l = this.position.y + t[u]; + (e[h] = this.getYValue(l)), + (e[d] = ""), + this.css(e), + this.emitEvent("layout", [this]); + }), + (d.getXValue = function(t) { + var e = this.layout._getOption("horizontal"); + return this.layout.options.percentPosition && !e + ? (t / this.layout.size.width) * 100 + "%" + : t + "px"; + }), + (d.getYValue = function(t) { + var e = this.layout._getOption("horizontal"); + return this.layout.options.percentPosition && e + ? (t / this.layout.size.height) * 100 + "%" + : t + "px"; + }), + (d._transitionTo = function(t, e) { + this.getPosition(); + var i = this.position.x, + o = this.position.y, + n = t == this.position.x && e == this.position.y; + if ((this.setPosition(t, e), n && !this.isTransitioning)) + return void this.layoutPosition(); + var s = t - i, + r = e - o, + a = {}; + (a.transform = this.getTranslate(s, r)), + this.transition({ + to: a, + onTransitionEnd: { + transform: this.layoutPosition + }, + isCleaning: !0 + }); + }), + (d.getTranslate = function(t, e) { + var i = this.layout._getOption("originLeft"), + o = this.layout._getOption("originTop"); + return ( + (t = i ? t : -t), + (e = o ? e : -e), + "translate3d(" + t + "px, " + e + "px, 0)" + ); + }), + (d.goTo = function(t, e) { + this.setPosition(t, e), this.layoutPosition(); + }), + (d.moveTo = d._transitionTo), + (d.setPosition = function(t, e) { + (this.position.x = parseFloat(t)), + (this.position.y = parseFloat(e)); + }), + (d._nonTransition = function(t) { + this.css(t.to), t.isCleaning && this._removeStyles(t.to); + for (var e in t.onTransitionEnd) + t.onTransitionEnd[e].call(this); + }), + (d.transition = function(t) { + if (!parseFloat(this.layout.options.transitionDuration)) + return void this._nonTransition(t); + var e = this._transn; + for (var i in t.onTransitionEnd) + e.onEnd[i] = t.onTransitionEnd[i]; + for (i in t.to) + (e.ingProperties[i] = !0), + t.isCleaning && (e.clean[i] = !0); + if (t.from) { + this.css(t.from); + var o = this.element.offsetHeight; + o = null; + } + this.enableTransition(t.to), + this.css(t.to), + (this.isTransitioning = !0); + }); + var l = "opacity," + n(a); + (d.enableTransition = function() { + if (!this.isTransitioning) { + var t = this.layout.options.transitionDuration; + (t = "number" == typeof t ? t + "ms" : t), + this.css({ + transitionProperty: l, + transitionDuration: t, + transitionDelay: this.staggerDelay || 0 + }), + this.element.addEventListener(u, this, !1); + } + }), + (d.onwebkitTransitionEnd = function(t) { + this.ontransitionend(t); + }), + (d.onotransitionend = function(t) { + this.ontransitionend(t); + }); + var f = { + "-webkit-transform": "transform" + }; + (d.ontransitionend = function(t) { + if (t.target === this.element) { + var e = this._transn, + o = f[t.propertyName] || t.propertyName; + if ( + (delete e.ingProperties[o], + i(e.ingProperties) && this.disableTransition(), + o in e.clean && + ((this.element.style[t.propertyName] = ""), + delete e.clean[o]), + o in e.onEnd) + ) { + var n = e.onEnd[o]; + n.call(this), delete e.onEnd[o]; + } + this.emitEvent("transitionEnd", [this]); + } + }), + (d.disableTransition = function() { + this.removeTransitionStyles(), + this.element.removeEventListener(u, this, !1), + (this.isTransitioning = !1); + }), + (d._removeStyles = function(t) { + var e = {}; + for (var i in t) e[i] = ""; + this.css(e); + }); + var c = { + transitionProperty: "", + transitionDuration: "", + transitionDelay: "" + }; + return ( + (d.removeTransitionStyles = function() { + this.css(c); + }), + (d.stagger = function(t) { + (t = isNaN(t) ? 0 : t), (this.staggerDelay = t + "ms"); + }), + (d.removeElem = function() { + this.element.parentNode.removeChild(this.element), + this.css({ + display: "" + }), + this.emitEvent("remove", [this]); + }), + (d.remove = function() { + return r && parseFloat(this.layout.options.transitionDuration) + ? (this.once("transitionEnd", function() { + this.removeElem(); + }), + void this.hide()) + : void this.removeElem(); + }), + (d.reveal = function() { + delete this.isHidden, + this.css({ + display: "" + }); + var t = this.layout.options, + e = {}, + i = this.getHideRevealTransitionEndProperty("visibleStyle"); + (e[i] = this.onRevealTransitionEnd), + this.transition({ + from: t.hiddenStyle, + to: t.visibleStyle, + isCleaning: !0, + onTransitionEnd: e + }); + }), + (d.onRevealTransitionEnd = function() { + this.isHidden || this.emitEvent("reveal"); + }), + (d.getHideRevealTransitionEndProperty = function(t) { + var e = this.layout.options[t]; + if (e.opacity) return "opacity"; + for (var i in e) return i; + }), + (d.hide = function() { + (this.isHidden = !0), + this.css({ + display: "" + }); + var t = this.layout.options, + e = {}, + i = this.getHideRevealTransitionEndProperty("hiddenStyle"); + (e[i] = this.onHideTransitionEnd), + this.transition({ + from: t.visibleStyle, + to: t.hiddenStyle, + isCleaning: !0, + onTransitionEnd: e + }); + }), + (d.onHideTransitionEnd = function() { + this.isHidden && + (this.css({ + display: "none" + }), + this.emitEvent("hide")); + }), + (d.destroy = function() { + this.css({ + position: "", + left: "", + right: "", + top: "", + bottom: "", + transition: "", + transform: "" + }); + }), + o + ); + }), + (function(t, e) { + "use strict"; + "function" == typeof define && define.amd + ? define("outlayer/outlayer", [ + "ev-emitter/ev-emitter", + "get-size/get-size", + "fizzy-ui-utils/utils", + "./item" + ], function(i, o, n, s) { + return e(t, i, o, n, s); + }) + : "object" == typeof module && module.exports + ? (module.exports = e( + t, + require("ev-emitter"), + require("get-size"), + require("fizzy-ui-utils"), + require("./item") + )) + : (t.Outlayer = e( + t, + t.EvEmitter, + t.getSize, + t.fizzyUIUtils, + t.Outlayer.Item + )); + })(window, function(t, e, i, o, n) { + "use strict"; + + function s(t, e) { + var i = o.getQueryElement(t); + if (!i) + return void ( + u && + u.error( + "Bad element for " + + this.constructor.namespace + + ": " + + (i || t) + ) + ); + (this.element = i), + h && (this.$element = h(this.element)), + (this.options = o.extend({}, this.constructor.defaults)), + this.option(e); + var n = ++l; + (this.element.outlayerGUID = n), (f[n] = this), this._create(); + var s = this._getOption("initLayout"); + s && this.layout(); + } + + function r(t) { + function e() { + t.apply(this, arguments); + } + return ( + (e.prototype = Object.create(t.prototype)), + (e.prototype.constructor = e), + e + ); + } + + function a(t) { + if ("number" == typeof t) return t; + var e = t.match(/(^\d*\.?\d*)(\w*)/), + i = e && e[1], + o = e && e[2]; + if (!i.length) return 0; + i = parseFloat(i); + var n = m[o] || 1; + return i * n; + } + var u = t.console, + h = t.jQuery, + d = function() {}, + l = 0, + f = {}; + (s.namespace = "outlayer"), + (s.Item = n), + (s.defaults = { + containerStyle: { + position: "relative" + }, + initLayout: !0, + originLeft: !0, + originTop: !0, + resize: !0, + resizeContainer: !0, + transitionDuration: "0.4s", + hiddenStyle: { + opacity: 0, + transform: "scale(0.001)" + }, + visibleStyle: { + opacity: 1, + transform: "scale(1)" + } + }); + var c = s.prototype; + o.extend(c, e.prototype), + (c.option = function(t) { + o.extend(this.options, t); + }), + (c._getOption = function(t) { + var e = this.constructor.compatOptions[t]; + return e && void 0 !== this.options[e] + ? this.options[e] + : this.options[t]; + }), + (s.compatOptions = { + initLayout: "isInitLayout", + horizontal: "isHorizontal", + layoutInstant: "isLayoutInstant", + originLeft: "isOriginLeft", + originTop: "isOriginTop", + resize: "isResizeBound", + resizeContainer: "isResizingContainer" + }), + (c._create = function() { + this.reloadItems(), + (this.stamps = []), + this.stamp(this.options.stamp), + o.extend(this.element.style, this.options.containerStyle); + var t = this._getOption("resize"); + t && this.bindResize(); + }), + (c.reloadItems = function() { + this.items = this._itemize(this.element.children); + }), + (c._itemize = function(t) { + for ( + var e = this._filterFindItemElements(t), + i = this.constructor.Item, + o = [], + n = 0; + n < e.length; + n++ + ) { + var s = e[n], + r = new i(s, this); + o.push(r); + } + return o; + }), + (c._filterFindItemElements = function(t) { + return o.filterFindElements(t, this.options.itemSelector); + }), + (c.getItemElements = function() { + return this.items.map(function(t) { + return t.element; + }); + }), + (c.layout = function() { + this._resetLayout(), this._manageStamps(); + var t = this._getOption("layoutInstant"), + e = void 0 !== t ? t : !this._isLayoutInited; + this.layoutItems(this.items, e), (this._isLayoutInited = !0); + }), + (c._init = c.layout), + (c._resetLayout = function() { + this.getSize(); + }), + (c.getSize = function() { + this.size = i(this.element); + }), + (c._getMeasurement = function(t, e) { + var o, + n = this.options[t]; + n + ? ("string" == typeof n + ? (o = this.element.querySelector(n)) + : n instanceof HTMLElement && (o = n), + (this[t] = o ? i(o)[e] : n)) + : (this[t] = 0); + }), + (c.layoutItems = function(t, e) { + (t = this._getItemsForLayout(t)), + this._layoutItems(t, e), + this._postLayout(); + }), + (c._getItemsForLayout = function(t) { + return t.filter(function(t) { + return !t.isIgnored; + }); + }), + (c._layoutItems = function(t, e) { + if ((this._emitCompleteOnItems("layout", t), t && t.length)) { + var i = []; + t.forEach(function(t) { + var o = this._getItemLayoutPosition(t); + (o.item = t), + (o.isInstant = e || t.isLayoutInstant), + i.push(o); + }, this), + this._processLayoutQueue(i); + } + }), + (c._getItemLayoutPosition = function() { + return { + x: 0, + y: 0 + }; + }), + (c._processLayoutQueue = function(t) { + this.updateStagger(), + t.forEach(function(t, e) { + this._positionItem(t.item, t.x, t.y, t.isInstant, e); + }, this); + }), + (c.updateStagger = function() { + var t = this.options.stagger; + return null === t || void 0 === t + ? void (this.stagger = 0) + : ((this.stagger = a(t)), this.stagger); + }), + (c._positionItem = function(t, e, i, o, n) { + o + ? t.goTo(e, i) + : (t.stagger(n * this.stagger), t.moveTo(e, i)); + }), + (c._postLayout = function() { + this.resizeContainer(); + }), + (c.resizeContainer = function() { + var t = this._getOption("resizeContainer"); + if (t) { + var e = this._getContainerSize(); + e && + (this._setContainerMeasure(e.width, !0), + this._setContainerMeasure(e.height, !1)); + } + }), + (c._getContainerSize = d), + (c._setContainerMeasure = function(t, e) { + if (void 0 !== t) { + var i = this.size; + i.isBorderBox && + (t += e + ? i.paddingLeft + + i.paddingRight + + i.borderLeftWidth + + i.borderRightWidth + : i.paddingBottom + + i.paddingTop + + i.borderTopWidth + + i.borderBottomWidth), + (t = Math.max(t, 0)), + (this.element.style[e ? "width" : "height"] = t + "px"); + } + }), + (c._emitCompleteOnItems = function(t, e) { + function i() { + n.dispatchEvent(t + "Complete", null, [e]); + } + + function o() { + r++, r == s && i(); + } + var n = this, + s = e.length; + if (!e || !s) return void i(); + var r = 0; + e.forEach(function(e) { + e.once(t, o); + }); + }), + (c.dispatchEvent = function(t, e, i) { + var o = e ? [e].concat(i) : i; + if ((this.emitEvent(t, o), h)) + if ( + ((this.$element = this.$element || h(this.element)), e) + ) { + var n = h.Event(e); + (n.type = t), this.$element.trigger(n, i); + } else this.$element.trigger(t, i); + }), + (c.ignore = function(t) { + var e = this.getItem(t); + e && (e.isIgnored = !0); + }), + (c.unignore = function(t) { + var e = this.getItem(t); + e && delete e.isIgnored; + }), + (c.stamp = function(t) { + (t = this._find(t)), + t && + ((this.stamps = this.stamps.concat(t)), + t.forEach(this.ignore, this)); + }), + (c.unstamp = function(t) { + (t = this._find(t)), + t && + t.forEach(function(t) { + o.removeFrom(this.stamps, t), this.unignore(t); + }, this); + }), + (c._find = function(t) { + if (t) + return ( + "string" == typeof t && + (t = this.element.querySelectorAll(t)), + (t = o.makeArray(t)) + ); + }), + (c._manageStamps = function() { + this.stamps && + this.stamps.length && + (this._getBoundingRect(), + this.stamps.forEach(this._manageStamp, this)); + }), + (c._getBoundingRect = function() { + var t = this.element.getBoundingClientRect(), + e = this.size; + this._boundingRect = { + left: t.left + e.paddingLeft + e.borderLeftWidth, + top: t.top + e.paddingTop + e.borderTopWidth, + right: t.right - (e.paddingRight + e.borderRightWidth), + bottom: t.bottom - (e.paddingBottom + e.borderBottomWidth) + }; + }), + (c._manageStamp = d), + (c._getElementOffset = function(t) { + var e = t.getBoundingClientRect(), + o = this._boundingRect, + n = i(t), + s = { + left: e.left - o.left - n.marginLeft, + top: e.top - o.top - n.marginTop, + right: o.right - e.right - n.marginRight, + bottom: o.bottom - e.bottom - n.marginBottom + }; + return s; + }), + (c.handleEvent = o.handleEvent), + (c.bindResize = function() { + t.addEventListener("resize", this), (this.isResizeBound = !0); + }), + (c.unbindResize = function() { + t.removeEventListener("resize", this), + (this.isResizeBound = !1); + }), + (c.onresize = function() { + this.resize(); + }), + o.debounceMethod(s, "onresize", 100), + (c.resize = function() { + this.isResizeBound && this.needsResizeLayout() && this.layout(); + }), + (c.needsResizeLayout = function() { + var t = i(this.element), + e = this.size && t; + return e && t.innerWidth !== this.size.innerWidth; + }), + (c.addItems = function(t) { + var e = this._itemize(t); + return e.length && (this.items = this.items.concat(e)), e; + }), + (c.appended = function(t) { + var e = this.addItems(t); + e.length && (this.layoutItems(e, !0), this.reveal(e)); + }), + (c.prepended = function(t) { + var e = this._itemize(t); + if (e.length) { + var i = this.items.slice(0); + (this.items = e.concat(i)), + this._resetLayout(), + this._manageStamps(), + this.layoutItems(e, !0), + this.reveal(e), + this.layoutItems(i); + } + }), + (c.reveal = function(t) { + if ((this._emitCompleteOnItems("reveal", t), t && t.length)) { + var e = this.updateStagger(); + t.forEach(function(t, i) { + t.stagger(i * e), t.reveal(); + }); + } + }), + (c.hide = function(t) { + if ((this._emitCompleteOnItems("hide", t), t && t.length)) { + var e = this.updateStagger(); + t.forEach(function(t, i) { + t.stagger(i * e), t.hide(); + }); + } + }), + (c.revealItemElements = function(t) { + var e = this.getItems(t); + this.reveal(e); + }), + (c.hideItemElements = function(t) { + var e = this.getItems(t); + this.hide(e); + }), + (c.getItem = function(t) { + for (var e = 0; e < this.items.length; e++) { + var i = this.items[e]; + if (i.element == t) return i; + } + }), + (c.getItems = function(t) { + t = o.makeArray(t); + var e = []; + return ( + t.forEach(function(t) { + var i = this.getItem(t); + i && e.push(i); + }, this), + e + ); + }), + (c.remove = function(t) { + var e = this.getItems(t); + this._emitCompleteOnItems("remove", e), + e && + e.length && + e.forEach(function(t) { + t.remove(), o.removeFrom(this.items, t); + }, this); + }), + (c.destroy = function() { + var t = this.element.style; + (t.height = ""), + (t.position = ""), + (t.width = ""), + this.items.forEach(function(t) { + t.destroy(); + }), + this.unbindResize(); + var e = this.element.outlayerGUID; + delete f[e], + delete this.element.outlayerGUID, + h && h.removeData(this.element, this.constructor.namespace); + }), + (s.data = function(t) { + t = o.getQueryElement(t); + var e = t && t.outlayerGUID; + return e && f[e]; + }), + (s.create = function(t, e) { + var i = r(s); + return ( + (i.defaults = o.extend({}, s.defaults)), + o.extend(i.defaults, e), + (i.compatOptions = o.extend({}, s.compatOptions)), + (i.namespace = t), + (i.data = s.data), + (i.Item = r(n)), + o.htmlInit(i, t), + h && h.bridget && h.bridget(t, i), + i + ); + }); + var m = { + ms: 1, + s: 1e3 + }; + return (s.Item = n), s; + }), + (function(t, e) { + "function" == typeof define && define.amd + ? define("isotope-layout/js/item", ["outlayer/outlayer"], e) + : "object" == typeof module && module.exports + ? (module.exports = e(require("outlayer"))) + : ((t.Isotope = t.Isotope || {}), (t.Isotope.Item = e(t.Outlayer))); + })(window, function(t) { + "use strict"; + + function e() { + t.Item.apply(this, arguments); + } + var i = (e.prototype = Object.create(t.Item.prototype)), + o = i._create; + (i._create = function() { + (this.id = this.layout.itemGUID++), + o.call(this), + (this.sortData = {}); + }), + (i.updateSortData = function() { + if (!this.isIgnored) { + (this.sortData.id = this.id), + (this.sortData["original-order"] = this.id), + (this.sortData.random = Math.random()); + var t = this.layout.options.getSortData, + e = this.layout._sorters; + for (var i in t) { + var o = e[i]; + this.sortData[i] = o(this.element, this); + } + } + }); + var n = i.destroy; + return ( + (i.destroy = function() { + n.apply(this, arguments), + this.css({ + display: "" + }); + }), + e + ); + }), + (function(t, e) { + "function" == typeof define && define.amd + ? define("isotope-layout/js/layout-mode", [ + "get-size/get-size", + "outlayer/outlayer" + ], e) + : "object" == typeof module && module.exports + ? (module.exports = e(require("get-size"), require("outlayer"))) + : ((t.Isotope = t.Isotope || {}), + (t.Isotope.LayoutMode = e(t.getSize, t.Outlayer))); + })(window, function(t, e) { + "use strict"; + + function i(t) { + (this.isotope = t), + t && + ((this.options = t.options[this.namespace]), + (this.element = t.element), + (this.items = t.filteredItems), + (this.size = t.size)); + } + var o = i.prototype, + n = [ + "_resetLayout", + "_getItemLayoutPosition", + "_manageStamp", + "_getContainerSize", + "_getElementOffset", + "needsResizeLayout", + "_getOption" + ]; + return ( + n.forEach(function(t) { + o[t] = function() { + return e.prototype[t].apply(this.isotope, arguments); + }; + }), + (o.needsVerticalResizeLayout = function() { + var e = t(this.isotope.element), + i = this.isotope.size && e; + return i && e.innerHeight != this.isotope.size.innerHeight; + }), + (o._getMeasurement = function() { + this.isotope._getMeasurement.apply(this, arguments); + }), + (o.getColumnWidth = function() { + this.getSegmentSize("column", "Width"); + }), + (o.getRowHeight = function() { + this.getSegmentSize("row", "Height"); + }), + (o.getSegmentSize = function(t, e) { + var i = t + e, + o = "outer" + e; + if ((this._getMeasurement(i, o), !this[i])) { + var n = this.getFirstItemSize(); + this[i] = (n && n[o]) || this.isotope.size["inner" + e]; + } + }), + (o.getFirstItemSize = function() { + var e = this.isotope.filteredItems[0]; + return e && e.element && t(e.element); + }), + (o.layout = function() { + this.isotope.layout.apply(this.isotope, arguments); + }), + (o.getSize = function() { + this.isotope.getSize(), (this.size = this.isotope.size); + }), + (i.modes = {}), + (i.create = function(t, e) { + function n() { + i.apply(this, arguments); + } + return ( + (n.prototype = Object.create(o)), + (n.prototype.constructor = n), + e && (n.options = e), + (n.prototype.namespace = t), + (i.modes[t] = n), + n + ); + }), + i + ); + }), + (function(t, e) { + "function" == typeof define && define.amd + ? define("masonry-layout/masonry", [ + "outlayer/outlayer", + "get-size/get-size" + ], e) + : "object" == typeof module && module.exports + ? (module.exports = e(require("outlayer"), require("get-size"))) + : (t.Masonry = e(t.Outlayer, t.getSize)); + })(window, function(t, e) { + var i = t.create("masonry"); + i.compatOptions.fitWidth = "isFitWidth"; + var o = i.prototype; + return ( + (o._resetLayout = function() { + this.getSize(), + this._getMeasurement("columnWidth", "outerWidth"), + this._getMeasurement("gutter", "outerWidth"), + this.measureColumns(), + (this.colYs = []); + for (var t = 0; t < this.cols; t++) this.colYs.push(0); + (this.maxY = 0), (this.horizontalColIndex = 0); + }), + (o.measureColumns = function() { + if ((this.getContainerWidth(), !this.columnWidth)) { + var t = this.items[0], + i = t && t.element; + this.columnWidth = + (i && e(i).outerWidth) || this.containerWidth; + } + var o = (this.columnWidth += this.gutter), + n = this.containerWidth + this.gutter, + s = n / o, + r = o - (n % o), + a = r && r < 1 ? "round" : "floor"; + (s = Math[a](s)), (this.cols = Math.max(s, 1)); + }), + (o.getContainerWidth = function() { + var t = this._getOption("fitWidth"), + i = t ? this.element.parentNode : this.element, + o = e(i); + this.containerWidth = o && o.innerWidth; + }), + (o._getItemLayoutPosition = function(t) { + t.getSize(); + var e = t.size.outerWidth % this.columnWidth, + i = e && e < 1 ? "round" : "ceil", + o = Math[i](t.size.outerWidth / this.columnWidth); + o = Math.min(o, this.cols); + for ( + var n = this.options.horizontalOrder + ? "_getHorizontalColPosition" + : "_getTopColPosition", + s = this[n](o, t), + r = { + x: this.columnWidth * s.col, + y: s.y + }, + a = s.y + t.size.outerHeight, + u = o + s.col, + h = s.col; + h < u; + h++ + ) + this.colYs[h] = a; + return r; + }), + (o._getTopColPosition = function(t) { + var e = this._getTopColGroup(t), + i = Math.min.apply(Math, e); + return { + col: e.indexOf(i), + y: i + }; + }), + (o._getTopColGroup = function(t) { + if (t < 2) return this.colYs; + for (var e = [], i = this.cols + 1 - t, o = 0; o < i; o++) + e[o] = this._getColGroupY(o, t); + return e; + }), + (o._getColGroupY = function(t, e) { + if (e < 2) return this.colYs[t]; + var i = this.colYs.slice(t, t + e); + return Math.max.apply(Math, i); + }), + (o._getHorizontalColPosition = function(t, e) { + var i = this.horizontalColIndex % this.cols, + o = t > 1 && i + t > this.cols; + i = o ? 0 : i; + var n = e.size.outerWidth && e.size.outerHeight; + return ( + (this.horizontalColIndex = n + ? i + t + : this.horizontalColIndex), + { + col: i, + y: this._getColGroupY(i, t) + } + ); + }), + (o._manageStamp = function(t) { + var i = e(t), + o = this._getElementOffset(t), + n = this._getOption("originLeft"), + s = n ? o.left : o.right, + r = s + i.outerWidth, + a = Math.floor(s / this.columnWidth); + a = Math.max(0, a); + var u = Math.floor(r / this.columnWidth); + (u -= r % this.columnWidth ? 0 : 1), + (u = Math.min(this.cols - 1, u)); + for ( + var h = this._getOption("originTop"), + d = (h ? o.top : o.bottom) + i.outerHeight, + l = a; + l <= u; + l++ + ) + this.colYs[l] = Math.max(d, this.colYs[l]); + }), + (o._getContainerSize = function() { + this.maxY = Math.max.apply(Math, this.colYs); + var t = { + height: this.maxY + }; + return ( + this._getOption("fitWidth") && + (t.width = this._getContainerFitWidth()), + t + ); + }), + (o._getContainerFitWidth = function() { + for (var t = 0, e = this.cols; --e && 0 === this.colYs[e]; ) + t++; + return (this.cols - t) * this.columnWidth - this.gutter; + }), + (o.needsResizeLayout = function() { + var t = this.containerWidth; + return this.getContainerWidth(), t != this.containerWidth; + }), + i + ); + }), + (function(t, e) { + "function" == typeof define && define.amd + ? define("isotope-layout/js/layout-modes/masonry", [ + "../layout-mode", + "masonry-layout/masonry" + ], e) + : "object" == typeof module && module.exports + ? (module.exports = e( + require("../layout-mode"), + require("masonry-layout") + )) + : e(t.Isotope.LayoutMode, t.Masonry); + })(window, function(t, e) { + "use strict"; + var i = t.create("masonry"), + o = i.prototype, + n = { + _getElementOffset: !0, + layout: !0, + _getMeasurement: !0 + }; + for (var s in e.prototype) n[s] || (o[s] = e.prototype[s]); + var r = o.measureColumns; + o.measureColumns = function() { + (this.items = this.isotope.filteredItems), r.call(this); + }; + var a = o._getOption; + return ( + (o._getOption = function(t) { + return "fitWidth" == t + ? void 0 !== this.options.isFitWidth + ? this.options.isFitWidth + : this.options.fitWidth + : a.apply(this.isotope, arguments); + }), + i + ); + }), + (function(t, e) { + "function" == typeof define && define.amd + ? define("isotope-layout/js/layout-modes/fit-rows", [ + "../layout-mode" + ], e) + : "object" == typeof exports + ? (module.exports = e(require("../layout-mode"))) + : e(t.Isotope.LayoutMode); + })(window, function(t) { + "use strict"; + var e = t.create("fitRows"), + i = e.prototype; + return ( + (i._resetLayout = function() { + (this.x = 0), + (this.y = 0), + (this.maxY = 0), + this._getMeasurement("gutter", "outerWidth"); + }), + (i._getItemLayoutPosition = function(t) { + t.getSize(); + var e = t.size.outerWidth + this.gutter, + i = this.isotope.size.innerWidth + this.gutter; + 0 !== this.x && + e + this.x > i && + ((this.x = 0), (this.y = this.maxY)); + var o = { + x: this.x, + y: this.y + }; + return ( + (this.maxY = Math.max( + this.maxY, + this.y + t.size.outerHeight + )), + (this.x += e), + o + ); + }), + (i._getContainerSize = function() { + return { + height: this.maxY + }; + }), + e + ); + }), + (function(t, e) { + "function" == typeof define && define.amd + ? define("isotope-layout/js/layout-modes/vertical", [ + "../layout-mode" + ], e) + : "object" == typeof module && module.exports + ? (module.exports = e(require("../layout-mode"))) + : e(t.Isotope.LayoutMode); + })(window, function(t) { + "use strict"; + var e = t.create("vertical", { + horizontalAlignment: 0 + }), + i = e.prototype; + return ( + (i._resetLayout = function() { + this.y = 0; + }), + (i._getItemLayoutPosition = function(t) { + t.getSize(); + var e = + (this.isotope.size.innerWidth - t.size.outerWidth) * + this.options.horizontalAlignment, + i = this.y; + return ( + (this.y += t.size.outerHeight), + { + x: e, + y: i + } + ); + }), + (i._getContainerSize = function() { + return { + height: this.y + }; + }), + e + ); + }), + (function(t, e) { + "function" == typeof define && define.amd + ? define([ + "outlayer/outlayer", + "get-size/get-size", + "desandro-matches-selector/matches-selector", + "fizzy-ui-utils/utils", + "isotope-layout/js/item", + "isotope-layout/js/layout-mode", + "isotope-layout/js/layout-modes/masonry", + "isotope-layout/js/layout-modes/fit-rows", + "isotope-layout/js/layout-modes/vertical" + ], function(i, o, n, s, r, a) { + return e(t, i, o, n, s, r, a); + }) + : "object" == typeof module && module.exports + ? (module.exports = e( + t, + require("outlayer"), + require("get-size"), + require("desandro-matches-selector"), + require("fizzy-ui-utils"), + require("isotope-layout/js/item"), + require("isotope-layout/js/layout-mode"), + require("isotope-layout/js/layout-modes/masonry"), + require("isotope-layout/js/layout-modes/fit-rows"), + require("isotope-layout/js/layout-modes/vertical") + )) + : (t.Isotope = e( + t, + t.Outlayer, + t.getSize, + t.matchesSelector, + t.fizzyUIUtils, + t.Isotope.Item, + t.Isotope.LayoutMode + )); + })(window, function(t, e, i, o, n, s, r) { + function a(t, e) { + return function(i, o) { + for (var n = 0; n < t.length; n++) { + var s = t[n], + r = i.sortData[s], + a = o.sortData[s]; + if (r > a || r < a) { + var u = void 0 !== e[s] ? e[s] : e, + h = u ? 1 : -1; + return (r > a ? 1 : -1) * h; + } + } + return 0; + }; + } + var u = t.jQuery, + h = String.prototype.trim + ? function(t) { + return t.trim(); + } + : function(t) { + return t.replace(/^\s+|\s+$/g, ""); + }, + d = e.create("isotope", { + layoutMode: "masonry", + isJQueryFiltering: !0, + sortAscending: !0 + }); + (d.Item = s), (d.LayoutMode = r); + var l = d.prototype; + (l._create = function() { + (this.itemGUID = 0), + (this._sorters = {}), + this._getSorters(), + e.prototype._create.call(this), + (this.modes = {}), + (this.filteredItems = this.items), + (this.sortHistory = ["original-order"]); + for (var t in r.modes) this._initLayoutMode(t); + }), + (l.reloadItems = function() { + (this.itemGUID = 0), e.prototype.reloadItems.call(this); + }), + (l._itemize = function() { + for ( + var t = e.prototype._itemize.apply(this, arguments), i = 0; + i < t.length; + i++ + ) { + var o = t[i]; + o.id = this.itemGUID++; + } + return this._updateItemsSortData(t), t; + }), + (l._initLayoutMode = function(t) { + var e = r.modes[t], + i = this.options[t] || {}; + (this.options[t] = e.options ? n.extend(e.options, i) : i), + (this.modes[t] = new e(this)); + }), + (l.layout = function() { + return !this._isLayoutInited && this._getOption("initLayout") + ? void this.arrange() + : void this._layout(); + }), + (l._layout = function() { + var t = this._getIsInstant(); + this._resetLayout(), + this._manageStamps(), + this.layoutItems(this.filteredItems, t), + (this._isLayoutInited = !0); + }), + (l.arrange = function(t) { + this.option(t), this._getIsInstant(); + var e = this._filter(this.items); + (this.filteredItems = e.matches), + this._bindArrangeComplete(), + this._isInstant + ? this._noTransition(this._hideReveal, [e]) + : this._hideReveal(e), + this._sort(), + this._layout(); + }), + (l._init = l.arrange), + (l._hideReveal = function(t) { + this.reveal(t.needReveal), this.hide(t.needHide); + }), + (l._getIsInstant = function() { + var t = this._getOption("layoutInstant"), + e = void 0 !== t ? t : !this._isLayoutInited; + return (this._isInstant = e), e; + }), + (l._bindArrangeComplete = function() { + function t() { + e && + i && + o && + n.dispatchEvent("arrangeComplete", null, [ + n.filteredItems + ]); + } + var e, + i, + o, + n = this; + this.once("layoutComplete", function() { + (e = !0), t(); + }), + this.once("hideComplete", function() { + (i = !0), t(); + }), + this.once("revealComplete", function() { + (o = !0), t(); + }); + }), + (l._filter = function(t) { + var e = this.options.filter; + e = e || "*"; + for ( + var i = [], + o = [], + n = [], + s = this._getFilterTest(e), + r = 0; + r < t.length; + r++ + ) { + var a = t[r]; + if (!a.isIgnored) { + var u = s(a); + u && i.push(a), + u && a.isHidden + ? o.push(a) + : u || a.isHidden || n.push(a); + } + } + return { + matches: i, + needReveal: o, + needHide: n + }; + }), + (l._getFilterTest = function(t) { + return u && this.options.isJQueryFiltering + ? function(e) { + return u(e.element).is(t); + } + : "function" == typeof t + ? function(e) { + return t(e.element); + } + : function(e) { + return o(e.element, t); + }; + }), + (l.updateSortData = function(t) { + var e; + t + ? ((t = n.makeArray(t)), (e = this.getItems(t))) + : (e = this.items), + this._getSorters(), + this._updateItemsSortData(e); + }), + (l._getSorters = function() { + var t = this.options.getSortData; + for (var e in t) { + var i = t[e]; + this._sorters[e] = f(i); + } + }), + (l._updateItemsSortData = function(t) { + for (var e = t && t.length, i = 0; e && i < e; i++) { + var o = t[i]; + o.updateSortData(); + } + }); + var f = (function() { + function t(t) { + if ("string" != typeof t) return t; + var i = h(t).split(" "), + o = i[0], + n = o.match(/^\[(.+)\]$/), + s = n && n[1], + r = e(s, o), + a = d.sortDataParsers[i[1]]; + return (t = a + ? function(t) { + return t && a(r(t)); + } + : function(t) { + return t && r(t); + }); + } + + function e(t, e) { + return t + ? function(e) { + return e.getAttribute(t); + } + : function(t) { + var i = t.querySelector(e); + return i && i.textContent; + }; + } + return t; + })(); + (d.sortDataParsers = { + parseInt: function(t) { + return parseInt(t, 10); + }, + parseFloat: function(t) { + return parseFloat(t); + } + }), + (l._sort = function() { + if (this.options.sortBy) { + var t = n.makeArray(this.options.sortBy); + this._getIsSameSortBy(t) || + (this.sortHistory = t.concat(this.sortHistory)); + var e = a(this.sortHistory, this.options.sortAscending); + this.filteredItems.sort(e); + } + }), + (l._getIsSameSortBy = function(t) { + for (var e = 0; e < t.length; e++) + if (t[e] != this.sortHistory[e]) return !1; + return !0; + }), + (l._mode = function() { + var t = this.options.layoutMode, + e = this.modes[t]; + if (!e) throw new Error("No layout mode: " + t); + return (e.options = this.options[t]), e; + }), + (l._resetLayout = function() { + e.prototype._resetLayout.call(this), + this._mode()._resetLayout(); + }), + (l._getItemLayoutPosition = function(t) { + return this._mode()._getItemLayoutPosition(t); + }), + (l._manageStamp = function(t) { + this._mode()._manageStamp(t); + }), + (l._getContainerSize = function() { + return this._mode()._getContainerSize(); + }), + (l.needsResizeLayout = function() { + return this._mode().needsResizeLayout(); + }), + (l.appended = function(t) { + var e = this.addItems(t); + if (e.length) { + var i = this._filterRevealAdded(e); + this.filteredItems = this.filteredItems.concat(i); + } + }), + (l.prepended = function(t) { + var e = this._itemize(t); + if (e.length) { + this._resetLayout(), this._manageStamps(); + var i = this._filterRevealAdded(e); + this.layoutItems(this.filteredItems), + (this.filteredItems = i.concat(this.filteredItems)), + (this.items = e.concat(this.items)); + } + }), + (l._filterRevealAdded = function(t) { + var e = this._filter(t); + return ( + this.hide(e.needHide), + this.reveal(e.matches), + this.layoutItems(e.matches, !0), + e.matches + ); + }), + (l.insert = function(t) { + var e = this.addItems(t); + if (e.length) { + var i, + o, + n = e.length; + for (i = 0; i < n; i++) + (o = e[i]), this.element.appendChild(o.element); + var s = this._filter(e).matches; + for (i = 0; i < n; i++) e[i].isLayoutInstant = !0; + for (this.arrange(), i = 0; i < n; i++) + delete e[i].isLayoutInstant; + this.reveal(s); + } + }); + var c = l.remove; + return ( + (l.remove = function(t) { + t = n.makeArray(t); + var e = this.getItems(t); + c.call(this, t); + for (var i = e && e.length, o = 0; i && o < i; o++) { + var s = e[o]; + n.removeFrom(this.filteredItems, s); + } + }), + (l.shuffle = function() { + for (var t = 0; t < this.items.length; t++) { + var e = this.items[t]; + e.sortData.random = Math.random(); + } + (this.options.sortBy = "random"), this._sort(), this._layout(); + }), + (l._noTransition = function(t, e) { + var i = this.options.transitionDuration; + this.options.transitionDuration = 0; + var o = t.apply(this, e); + return (this.options.transitionDuration = i), o; + }), + (l.getFilteredItemElements = function() { + return this.filteredItems.map(function(t) { + return t.element; + }); + }), + d + ); + }); +(function($) { + "use strict"; + window.eaelLoadMore = function(options, settings) { + var optionsValue = { + totalPosts: options.totalPosts, + loadMoreBtn: options.loadMoreBtn, + postContainer: $(options.postContainer), + postStyle: options.postStyle + }; + var settingsValue = { + postType: settings.postType, + perPage: settings.perPage, + postOrder: settings.postOrder, + orderBy: settings.orderBy, + showImage: settings.showImage, + showTitle: settings.showTitle, + showExcerpt: settings.showExcerpt, + showMeta: settings.showMeta, + imageSize: settings.imageSize, + metaPosition: settings.metaPosition, + excerptLength: settings.excerptLength, + btnText: settings.btnText, + tax_query: settings.tax_query, + post__in: settings.post__in, + excludePosts: settings.exclude_posts, + offset: parseInt(settings.offset, 10), + grid_style: settings.grid_style || "", + hover_animation: settings.hover_animation, + hover_icon: settings.hover_icon + }; + var offset = settingsValue.offset + settingsValue.perPage; + optionsValue.loadMoreBtn.on("click", function(e) { + e.preventDefault(); + $(this).addClass("button--loading"); + $(this) + .find("span") + .html("Loading..."); + $.ajax({ + url: localize.ajaxurl, + type: "post", + data: { + action: "load_more", + post_style: optionsValue.postStyle, + eael_show_image: settingsValue.showImage, + image_size: settingsValue.imageSize, + eael_show_title: settingsValue.showTitle, + eael_show_meta: settingsValue.showMeta, + meta_position: settingsValue.metaPosition, + eael_show_excerpt: settingsValue.showExcerpt, + eael_excerpt_length: settingsValue.excerptLength, + post_type: settingsValue.postType, + posts_per_page: settingsValue.perPage, + offset: offset, + tax_query: settingsValue.tax_query, + post__not_in: settingsValue.excludePosts, + post__in: settingsValue.post__in, + orderby: settingsValue.orderBy, + order: settingsValue.postOrder, + grid_style: settingsValue.grid_style, + eael_post_grid_hover_animation: + settingsValue.hover_animation, + eael_post_grid_bg_hover_icon: settingsValue.hover_icon + }, + beforeSend: function() {}, + success: function(response) { + var $content = $(response); + if (optionsValue.postStyle === "grid") { + setTimeout(function() { + optionsValue.postContainer.masonry(); + optionsValue.postContainer + .append($content) + .masonry("appended", $content); + optionsValue.postContainer.masonry({ + itemSelector: ".eael-grid-post", + percentPosition: !0, + columnWidth: ".eael-post-grid-column" + }); + }, 100); + } else { + optionsValue.postContainer.append($content); + } + optionsValue.loadMoreBtn.removeClass("button--loading"); + optionsValue.loadMoreBtn + .find("span") + .html(settingsValue.btnText); + offset = offset + settingsValue.perPage; + if (offset >= optionsValue.totalPosts) { + optionsValue.loadMoreBtn.remove(); + } + }, + error: function() {} + }); + }); + }; +})(jQuery); +!(function(a, b) { + "function" == typeof define && define.amd + ? define(["jquery"], function(a) { + return b(a); + }) + : "object" == typeof exports + ? (module.exports = b(require("jquery"))) + : b(jQuery); +})(this, function(a) { + function b(a) { + this.$container, + (this.constraints = null), + this.__$tooltip, + this.__init(a); + } + + function c(b, c) { + var d = !0; + return ( + a.each(b, function(a, e) { + return void 0 === c[a] || b[a] !== c[a] + ? ((d = !1), !1) + : void 0; + }), + d + ); + } + + function d(b) { + var c = b.attr("id"), + d = c ? h.window.document.getElementById(c) : null; + return d ? d === b[0] : a.contains(h.window.document.body, b[0]); + } + + function e() { + if (!g) return !1; + var a = g.document.body || g.document.documentElement, + b = a.style, + c = "transition", + d = ["Moz", "Webkit", "Khtml", "O", "ms"]; + if ("string" == typeof b[c]) return !0; + c = c.charAt(0).toUpperCase() + c.substr(1); + for (var e = 0; e < d.length; e++) + if ("string" == typeof b[d[e] + c]) return !0; + return !1; + } + var f = { + animation: "fade", + animationDuration: 350, + content: null, + contentAsHTML: !1, + contentCloning: !1, + debug: !0, + delay: 300, + delayTouch: [300, 500], + functionInit: null, + functionBefore: null, + functionReady: null, + functionAfter: null, + functionFormat: null, + IEmin: 6, + interactive: !1, + multiple: !1, + parent: null, + plugins: ["sideTip"], + repositionOnScroll: !1, + restoration: "none", + selfDestruction: !0, + theme: [], + timer: 0, + trackerInterval: 500, + trackOrigin: !1, + trackTooltip: !1, + trigger: "hover", + triggerClose: { + click: !1, + mouseleave: !1, + originClick: !1, + scroll: !1, + tap: !1, + touchleave: !1 + }, + triggerOpen: { + click: !1, + mouseenter: !1, + tap: !1, + touchstart: !1 + }, + updateAnimation: "rotate", + zIndex: 9999999 + }, + g = "undefined" != typeof window ? window : null, + h = { + hasTouchCapability: !( + !g || + !( + "ontouchstart" in g || + (g.DocumentTouch && + g.document instanceof g.DocumentTouch) || + g.navigator.maxTouchPoints + ) + ), + hasTransitions: e(), + IE: !1, + semVer: "4.2.6", + window: g + }, + i = function() { + (this.__$emitterPrivate = a({})), + (this.__$emitterPublic = a({})), + (this.__instancesLatestArr = []), + (this.__plugins = {}), + (this._env = h); + }; + (i.prototype = { + __bridge: function(b, c, d) { + if (!c[d]) { + var e = function() {}; + e.prototype = b; + var g = new e(); + g.__init && g.__init(c), + a.each(b, function(a, b) { + 0 != a.indexOf("__") && + (c[a] + ? f.debug && + console.log( + "The " + + a + + " method of the " + + d + + " plugin conflicts with another plugin or native methods" + ) + : ((c[a] = function() { + return g[a].apply( + g, + Array.prototype.slice.apply(arguments) + ); + }), + (c[a].bridged = g))); + }), + (c[d] = g); + } + return this; + }, + __setWindow: function(a) { + return (h.window = a), this; + }, + _getRuler: function(a) { + return new b(a); + }, + _off: function() { + return ( + this.__$emitterPrivate.off.apply( + this.__$emitterPrivate, + Array.prototype.slice.apply(arguments) + ), + this + ); + }, + _on: function() { + return ( + this.__$emitterPrivate.on.apply( + this.__$emitterPrivate, + Array.prototype.slice.apply(arguments) + ), + this + ); + }, + _one: function() { + return ( + this.__$emitterPrivate.one.apply( + this.__$emitterPrivate, + Array.prototype.slice.apply(arguments) + ), + this + ); + }, + _plugin: function(b) { + var c = this; + if ("string" == typeof b) { + var d = b, + e = null; + return ( + d.indexOf(".") > 0 + ? (e = c.__plugins[d]) + : a.each(c.__plugins, function(a, b) { + return b.name.substring( + b.name.length - d.length - 1 + ) == + "." + d + ? ((e = b), !1) + : void 0; + }), + e + ); + } + if (b.name.indexOf(".") < 0) + throw new Error("Plugins must be namespaced"); + return ( + (c.__plugins[b.name] = b), + b.core && c.__bridge(b.core, c, b.name), + this + ); + }, + _trigger: function() { + var a = Array.prototype.slice.apply(arguments); + return ( + "string" == typeof a[0] && + (a[0] = { + type: a[0] + }), + this.__$emitterPrivate.trigger.apply(this.__$emitterPrivate, a), + this.__$emitterPublic.trigger.apply(this.__$emitterPublic, a), + this + ); + }, + instances: function(b) { + var c = [], + d = b || ".tooltipstered"; + return ( + a(d).each(function() { + var b = a(this), + d = b.data("tooltipster-ns"); + d && + a.each(d, function(a, d) { + c.push(b.data(d)); + }); + }), + c + ); + }, + instancesLatest: function() { + return this.__instancesLatestArr; + }, + off: function() { + return ( + this.__$emitterPublic.off.apply( + this.__$emitterPublic, + Array.prototype.slice.apply(arguments) + ), + this + ); + }, + on: function() { + return ( + this.__$emitterPublic.on.apply( + this.__$emitterPublic, + Array.prototype.slice.apply(arguments) + ), + this + ); + }, + one: function() { + return ( + this.__$emitterPublic.one.apply( + this.__$emitterPublic, + Array.prototype.slice.apply(arguments) + ), + this + ); + }, + origins: function(b) { + var c = b ? b + " " : ""; + return a(c + ".tooltipstered").toArray(); + }, + setDefaults: function(b) { + return a.extend(f, b), this; + }, + triggerHandler: function() { + return ( + this.__$emitterPublic.triggerHandler.apply( + this.__$emitterPublic, + Array.prototype.slice.apply(arguments) + ), + this + ); + } + }), + (a.tooltipster = new i()), + (a.Tooltipster = function(b, c) { + (this.__callbacks = { + close: [], + open: [] + }), + this.__closingTime, + this.__Content, + this.__contentBcr, + (this.__destroyed = !1), + (this.__$emitterPrivate = a({})), + (this.__$emitterPublic = a({})), + (this.__enabled = !0), + this.__garbageCollector, + this.__Geometry, + this.__lastPosition, + (this.__namespace = + "tooltipster-" + Math.round(1e6 * Math.random())), + this.__options, + this.__$originParents, + (this.__pointerIsOverOrigin = !1), + (this.__previousThemes = []), + (this.__state = "closed"), + (this.__timeouts = { + close: [], + open: null + }), + (this.__touchEvents = []), + (this.__tracker = null), + this._$origin, + this._$tooltip, + this.__init(b, c); + }), + (a.Tooltipster.prototype = { + __init: function(b, c) { + var d = this; + if ( + ((d._$origin = a(b)), + (d.__options = a.extend(!0, {}, f, c)), + d.__optionsFormat(), + !h.IE || h.IE >= d.__options.IEmin) + ) { + var e = null; + if ( + (void 0 === + d._$origin.data("tooltipster-initialTitle") && + ((e = d._$origin.attr("title")), + void 0 === e && (e = null), + d._$origin.data("tooltipster-initialTitle", e)), + null !== d.__options.content) + ) + d.__contentSet(d.__options.content); + else { + var g, + i = d._$origin.attr("data-tooltip-content"); + i && (g = a(i)), + g && g[0] + ? d.__contentSet(g.first()) + : d.__contentSet(e); + } + d._$origin.removeAttr("title").addClass("tooltipstered"), + d.__prepareOrigin(), + d.__prepareGC(), + a.each(d.__options.plugins, function(a, b) { + d._plug(b); + }), + h.hasTouchCapability && + a(h.window.document.body).on( + "touchmove." + d.__namespace + "-triggerOpen", + function(a) { + d._touchRecordEvent(a); + } + ), + d + ._on("created", function() { + d.__prepareTooltip(); + }) + ._on("repositioned", function(a) { + d.__lastPosition = a.position; + }); + } else d.__options.disabled = !0; + }, + __contentInsert: function() { + var a = this, + b = a._$tooltip.find(".tooltipster-content"), + c = a.__Content, + d = function(a) { + c = a; + }; + return ( + a._trigger({ + type: "format", + content: a.__Content, + format: d + }), + a.__options.functionFormat && + (c = a.__options.functionFormat.call( + a, + a, + { + origin: a._$origin[0] + }, + a.__Content + )), + "string" != typeof c || a.__options.contentAsHTML + ? b.empty().append(c) + : b.text(c), + a + ); + }, + __contentSet: function(b) { + return ( + b instanceof a && + this.__options.contentCloning && + (b = b.clone(!0)), + (this.__Content = b), + this._trigger({ + type: "updated", + content: b + }), + this + ); + }, + __destroyError: function() { + throw new Error( + "This tooltip has been destroyed and cannot execute your method call." + ); + }, + __geometry: function() { + var b = this, + c = b._$origin, + d = b._$origin.is("area"); + if (d) { + var e = b._$origin.parent().attr("name"); + c = a('img[usemap="#' + e + '"]'); + } + var f = c[0].getBoundingClientRect(), + g = a(h.window.document), + i = a(h.window), + j = c, + k = { + available: { + document: null, + window: null + }, + document: { + size: { + height: g.height(), + width: g.width() + } + }, + window: { + scroll: { + left: + h.window.scrollX || + h.window.document.documentElement + .scrollLeft, + top: + h.window.scrollY || + h.window.document.documentElement.scrollTop + }, + size: { + height: i.height(), + width: i.width() + } + }, + origin: { + fixedLineage: !1, + offset: {}, + size: { + height: f.bottom - f.top, + width: f.right - f.left + }, + usemapImage: d ? c[0] : null, + windowOffset: { + bottom: f.bottom, + left: f.left, + right: f.right, + top: f.top + } + } + }; + if (d) { + var l = b._$origin.attr("shape"), + m = b._$origin.attr("coords"); + if ( + (m && + ((m = m.split(",")), + a.map(m, function(a, b) { + m[b] = parseInt(a); + })), + "default" != l) + ) + switch (l) { + case "circle": + var n = m[0], + o = m[1], + p = m[2], + q = o - p, + r = n - p; + (k.origin.size.height = 2 * p), + (k.origin.size.width = + k.origin.size.height), + (k.origin.windowOffset.left += r), + (k.origin.windowOffset.top += q); + break; + case "rect": + var s = m[0], + t = m[1], + u = m[2], + v = m[3]; + (k.origin.size.height = v - t), + (k.origin.size.width = u - s), + (k.origin.windowOffset.left += s), + (k.origin.windowOffset.top += t); + break; + case "poly": + for ( + var w = 0, + x = 0, + y = 0, + z = 0, + A = "even", + B = 0; + B < m.length; + B++ + ) { + var C = m[B]; + "even" == A + ? (C > y && + ((y = C), 0 === B && (w = y)), + w > C && (w = C), + (A = "odd")) + : (C > z && + ((z = C), 1 == B && (x = z)), + x > C && (x = C), + (A = "even")); + } + (k.origin.size.height = z - x), + (k.origin.size.width = y - w), + (k.origin.windowOffset.left += w), + (k.origin.windowOffset.top += x); + } + } + var D = function(a) { + (k.origin.size.height = a.height), + (k.origin.windowOffset.left = a.left), + (k.origin.windowOffset.top = a.top), + (k.origin.size.width = a.width); + }; + for ( + b._trigger({ + type: "geometry", + edit: D, + geometry: { + height: k.origin.size.height, + left: k.origin.windowOffset.left, + top: k.origin.windowOffset.top, + width: k.origin.size.width + } + }), + k.origin.windowOffset.right = + k.origin.windowOffset.left + k.origin.size.width, + k.origin.windowOffset.bottom = + k.origin.windowOffset.top + k.origin.size.height, + k.origin.offset.left = + k.origin.windowOffset.left + k.window.scroll.left, + k.origin.offset.top = + k.origin.windowOffset.top + k.window.scroll.top, + k.origin.offset.bottom = + k.origin.offset.top + k.origin.size.height, + k.origin.offset.right = + k.origin.offset.left + k.origin.size.width, + k.available.document = { + bottom: { + height: + k.document.size.height - + k.origin.offset.bottom, + width: k.document.size.width + }, + left: { + height: k.document.size.height, + width: k.origin.offset.left + }, + right: { + height: k.document.size.height, + width: + k.document.size.width - + k.origin.offset.right + }, + top: { + height: k.origin.offset.top, + width: k.document.size.width + } + }, + k.available.window = { + bottom: { + height: Math.max( + k.window.size.height - + Math.max( + k.origin.windowOffset.bottom, + 0 + ), + 0 + ), + width: k.window.size.width + }, + left: { + height: k.window.size.height, + width: Math.max(k.origin.windowOffset.left, 0) + }, + right: { + height: k.window.size.height, + width: Math.max( + k.window.size.width - + Math.max( + k.origin.windowOffset.right, + 0 + ), + 0 + ) + }, + top: { + height: Math.max(k.origin.windowOffset.top, 0), + width: k.window.size.width + } + }; + "html" != j[0].tagName.toLowerCase(); + + ) { + if ("fixed" == j.css("position")) { + k.origin.fixedLineage = !0; + break; + } + j = j.parent(); + } + return k; + }, + __optionsFormat: function() { + return ( + "number" == typeof this.__options.animationDuration && + (this.__options.animationDuration = [ + this.__options.animationDuration, + this.__options.animationDuration + ]), + "number" == typeof this.__options.delay && + (this.__options.delay = [ + this.__options.delay, + this.__options.delay + ]), + "number" == typeof this.__options.delayTouch && + (this.__options.delayTouch = [ + this.__options.delayTouch, + this.__options.delayTouch + ]), + "string" == typeof this.__options.theme && + (this.__options.theme = [this.__options.theme]), + null === this.__options.parent + ? (this.__options.parent = a(h.window.document.body)) + : "string" == typeof this.__options.parent && + (this.__options.parent = a(this.__options.parent)), + "hover" == this.__options.trigger + ? ((this.__options.triggerOpen = { + mouseenter: !0, + touchstart: !0 + }), + (this.__options.triggerClose = { + mouseleave: !0, + originClick: !0, + touchleave: !0 + })) + : "click" == this.__options.trigger && + ((this.__options.triggerOpen = { + click: !0, + tap: !0 + }), + (this.__options.triggerClose = { + click: !0, + tap: !0 + })), + this._trigger("options"), + this + ); + }, + __prepareGC: function() { + var b = this; + return ( + b.__options.selfDestruction + ? (b.__garbageCollector = setInterval(function() { + var c = new Date().getTime(); + (b.__touchEvents = a.grep( + b.__touchEvents, + function(a, b) { + return c - a.time > 6e4; + } + )), + d(b._$origin) || + b.close(function() { + b.destroy(); + }); + }, 2e4)) + : clearInterval(b.__garbageCollector), + b + ); + }, + __prepareOrigin: function() { + var a = this; + if ( + (a._$origin.off("." + a.__namespace + "-triggerOpen"), + h.hasTouchCapability && + a._$origin.on( + "touchstart." + + a.__namespace + + "-triggerOpen touchend." + + a.__namespace + + "-triggerOpen touchcancel." + + a.__namespace + + "-triggerOpen", + function(b) { + a._touchRecordEvent(b); + } + ), + a.__options.triggerOpen.click || + (a.__options.triggerOpen.tap && h.hasTouchCapability)) + ) { + var b = ""; + a.__options.triggerOpen.click && + (b += "click." + a.__namespace + "-triggerOpen "), + a.__options.triggerOpen.tap && + h.hasTouchCapability && + (b += "touchend." + a.__namespace + "-triggerOpen"), + a._$origin.on(b, function(b) { + a._touchIsMeaningfulEvent(b) && a._open(b); + }); + } + if ( + a.__options.triggerOpen.mouseenter || + (a.__options.triggerOpen.touchstart && h.hasTouchCapability) + ) { + var b = ""; + a.__options.triggerOpen.mouseenter && + (b += "mouseenter." + a.__namespace + "-triggerOpen "), + a.__options.triggerOpen.touchstart && + h.hasTouchCapability && + (b += + "touchstart." + a.__namespace + "-triggerOpen"), + a._$origin.on(b, function(b) { + (!a._touchIsTouchEvent(b) && + a._touchIsEmulatedEvent(b)) || + ((a.__pointerIsOverOrigin = !0), + a._openShortly(b)); + }); + } + if ( + a.__options.triggerClose.mouseleave || + (a.__options.triggerClose.touchleave && + h.hasTouchCapability) + ) { + var b = ""; + a.__options.triggerClose.mouseleave && + (b += "mouseleave." + a.__namespace + "-triggerOpen "), + a.__options.triggerClose.touchleave && + h.hasTouchCapability && + (b += + "touchend." + + a.__namespace + + "-triggerOpen touchcancel." + + a.__namespace + + "-triggerOpen"), + a._$origin.on(b, function(b) { + a._touchIsMeaningfulEvent(b) && + (a.__pointerIsOverOrigin = !1); + }); + } + return a; + }, + __prepareTooltip: function() { + var b = this, + c = b.__options.interactive ? "auto" : ""; + return ( + b._$tooltip.attr("id", b.__namespace).css({ + "pointer-events": c, + zIndex: b.__options.zIndex + }), + a.each(b.__previousThemes, function(a, c) { + b._$tooltip.removeClass(c); + }), + a.each(b.__options.theme, function(a, c) { + b._$tooltip.addClass(c); + }), + (b.__previousThemes = a.merge([], b.__options.theme)), + b + ); + }, + __scrollHandler: function(b) { + var c = this; + if (c.__options.triggerClose.scroll) c._close(b); + else if (d(c._$origin) && d(c._$tooltip)) { + var e = null; + if (b.target === h.window.document) + c.__Geometry.origin.fixedLineage || + (c.__options.repositionOnScroll && c.reposition(b)); + else { + e = c.__geometry(); + var f = !1; + if ( + ("fixed" != c._$origin.css("position") && + c.__$originParents.each(function(b, c) { + var d = a(c), + g = d.css("overflow-x"), + h = d.css("overflow-y"); + if ("visible" != g || "visible" != h) { + var i = c.getBoundingClientRect(); + if ( + "visible" != g && + (e.origin.windowOffset.left < + i.left || + e.origin.windowOffset.right > + i.right) + ) + return (f = !0), !1; + if ( + "visible" != h && + (e.origin.windowOffset.top < + i.top || + e.origin.windowOffset.bottom > + i.bottom) + ) + return (f = !0), !1; + } + return "fixed" == d.css("position") + ? !1 + : void 0; + }), + f) + ) + c._$tooltip.css("visibility", "hidden"); + else if ( + (c._$tooltip.css("visibility", "visible"), + c.__options.repositionOnScroll) + ) + c.reposition(b); + else { + var g = + e.origin.offset.left - + c.__Geometry.origin.offset.left, + i = + e.origin.offset.top - + c.__Geometry.origin.offset.top; + c._$tooltip.css({ + left: c.__lastPosition.coord.left + g, + top: c.__lastPosition.coord.top + i + }); + } + } + c._trigger({ + type: "scroll", + event: b, + geo: e + }); + } + return c; + }, + __stateSet: function(a) { + return ( + (this.__state = a), + this._trigger({ + type: "state", + state: a + }), + this + ); + }, + __timeoutsClear: function() { + return ( + clearTimeout(this.__timeouts.open), + (this.__timeouts.open = null), + a.each(this.__timeouts.close, function(a, b) { + clearTimeout(b); + }), + (this.__timeouts.close = []), + this + ); + }, + __trackerStart: function() { + var a = this, + b = a._$tooltip.find(".tooltipster-content"); + return ( + a.__options.trackTooltip && + (a.__contentBcr = b[0].getBoundingClientRect()), + (a.__tracker = setInterval(function() { + if (d(a._$origin) && d(a._$tooltip)) { + if (a.__options.trackOrigin) { + var e = a.__geometry(), + f = !1; + c(e.origin.size, a.__Geometry.origin.size) && + (a.__Geometry.origin.fixedLineage + ? c( + e.origin.windowOffset, + a.__Geometry.origin.windowOffset + ) && (f = !0) + : c( + e.origin.offset, + a.__Geometry.origin.offset + ) && (f = !0)), + f || + (a.__options.triggerClose.mouseleave + ? a._close() + : a.reposition()); + } + if (a.__options.trackTooltip) { + var g = b[0].getBoundingClientRect(); + (g.height === a.__contentBcr.height && + g.width === a.__contentBcr.width) || + (a.reposition(), (a.__contentBcr = g)); + } + } else a._close(); + }, a.__options.trackerInterval)), + a + ); + }, + _close: function(b, c, d) { + var e = this, + f = !0; + if ( + (e._trigger({ + type: "close", + event: b, + stop: function() { + f = !1; + } + }), + f || d) + ) { + c && e.__callbacks.close.push(c), + (e.__callbacks.open = []), + e.__timeoutsClear(); + var g = function() { + a.each(e.__callbacks.close, function(a, c) { + c.call(e, e, { + event: b, + origin: e._$origin[0] + }); + }), + (e.__callbacks.close = []); + }; + if ("closed" != e.__state) { + var i = !0, + j = new Date(), + k = j.getTime(), + l = k + e.__options.animationDuration[1]; + if ( + ("disappearing" == e.__state && + l > e.__closingTime && + e.__options.animationDuration[1] > 0 && + (i = !1), + i) + ) { + (e.__closingTime = l), + "disappearing" != e.__state && + e.__stateSet("disappearing"); + var m = function() { + clearInterval(e.__tracker), + e._trigger({ + type: "closing", + event: b + }), + e._$tooltip + .off( + "." + + e.__namespace + + "-triggerClose" + ) + .removeClass("tooltipster-dying"), + a(h.window).off( + "." + e.__namespace + "-triggerClose" + ), + e.__$originParents.each(function(b, c) { + a(c).off( + "scroll." + + e.__namespace + + "-triggerClose" + ); + }), + (e.__$originParents = null), + a(h.window.document.body).off( + "." + e.__namespace + "-triggerClose" + ), + e._$origin.off( + "." + e.__namespace + "-triggerClose" + ), + e._off("dismissable"), + e.__stateSet("closed"), + e._trigger({ + type: "after", + event: b + }), + e.__options.functionAfter && + e.__options.functionAfter.call(e, e, { + event: b, + origin: e._$origin[0] + }), + g(); + }; + h.hasTransitions + ? (e._$tooltip.css({ + "-moz-animation-duration": + e.__options.animationDuration[1] + + "ms", + "-ms-animation-duration": + e.__options.animationDuration[1] + + "ms", + "-o-animation-duration": + e.__options.animationDuration[1] + + "ms", + "-webkit-animation-duration": + e.__options.animationDuration[1] + + "ms", + "animation-duration": + e.__options.animationDuration[1] + + "ms", + "transition-duration": + e.__options.animationDuration[1] + + "ms" + }), + e._$tooltip + .clearQueue() + .removeClass("tooltipster-show") + .addClass("tooltipster-dying"), + e.__options.animationDuration[1] > 0 && + e._$tooltip.delay( + e.__options.animationDuration[1] + ), + e._$tooltip.queue(m)) + : e._$tooltip + .stop() + .fadeOut( + e.__options.animationDuration[1], + m + ); + } + } else g(); + } + return e; + }, + _off: function() { + return ( + this.__$emitterPrivate.off.apply( + this.__$emitterPrivate, + Array.prototype.slice.apply(arguments) + ), + this + ); + }, + _on: function() { + return ( + this.__$emitterPrivate.on.apply( + this.__$emitterPrivate, + Array.prototype.slice.apply(arguments) + ), + this + ); + }, + _one: function() { + return ( + this.__$emitterPrivate.one.apply( + this.__$emitterPrivate, + Array.prototype.slice.apply(arguments) + ), + this + ); + }, + _open: function(b, c) { + var e = this; + if (!e.__destroying && d(e._$origin) && e.__enabled) { + var f = !0; + if ( + ("closed" == e.__state && + (e._trigger({ + type: "before", + event: b, + stop: function() { + f = !1; + } + }), + f && + e.__options.functionBefore && + (f = e.__options.functionBefore.call(e, e, { + event: b, + origin: e._$origin[0] + }))), + f !== !1 && null !== e.__Content) + ) { + c && e.__callbacks.open.push(c), + (e.__callbacks.close = []), + e.__timeoutsClear(); + var g, + i = function() { + "stable" != e.__state && e.__stateSet("stable"), + a.each(e.__callbacks.open, function(a, b) { + b.call(e, e, { + origin: e._$origin[0], + tooltip: e._$tooltip[0] + }); + }), + (e.__callbacks.open = []); + }; + if ("closed" !== e.__state) + (g = 0), + "disappearing" === e.__state + ? (e.__stateSet("appearing"), + h.hasTransitions + ? (e._$tooltip + .clearQueue() + .removeClass( + "tooltipster-dying" + ) + .addClass("tooltipster-show"), + e.__options.animationDuration[0] > + 0 && + e._$tooltip.delay( + e.__options + .animationDuration[0] + ), + e._$tooltip.queue(i)) + : e._$tooltip.stop().fadeIn(i)) + : "stable" == e.__state && i(); + else { + if ( + (e.__stateSet("appearing"), + (g = e.__options.animationDuration[0]), + e.__contentInsert(), + e.reposition(b, !0), + h.hasTransitions + ? (e._$tooltip + .addClass( + "tooltipster-" + + e.__options.animation + ) + .addClass("tooltipster-initial") + .css({ + "-moz-animation-duration": + e.__options + .animationDuration[0] + + "ms", + "-ms-animation-duration": + e.__options + .animationDuration[0] + + "ms", + "-o-animation-duration": + e.__options + .animationDuration[0] + + "ms", + "-webkit-animation-duration": + e.__options + .animationDuration[0] + + "ms", + "animation-duration": + e.__options + .animationDuration[0] + + "ms", + "transition-duration": + e.__options + .animationDuration[0] + + "ms" + }), + setTimeout(function() { + "closed" != e.__state && + (e._$tooltip + .addClass("tooltipster-show") + .removeClass( + "tooltipster-initial" + ), + e.__options.animationDuration[0] > + 0 && + e._$tooltip.delay( + e.__options + .animationDuration[0] + ), + e._$tooltip.queue(i)); + }, 0)) + : e._$tooltip + .css("display", "none") + .fadeIn( + e.__options.animationDuration[0], + i + ), + e.__trackerStart(), + a(h.window) + .on( + "resize." + + e.__namespace + + "-triggerClose", + function(b) { + var c = a(document.activeElement); + ((c.is("input") || + c.is("textarea")) && + a.contains( + e._$tooltip[0], + c[0] + )) || + e.reposition(b); + } + ) + .on( + "scroll." + + e.__namespace + + "-triggerClose", + function(a) { + e.__scrollHandler(a); + } + ), + (e.__$originParents = e._$origin.parents()), + e.__$originParents.each(function(b, c) { + a(c).on( + "scroll." + + e.__namespace + + "-triggerClose", + function(a) { + e.__scrollHandler(a); + } + ); + }), + e.__options.triggerClose.mouseleave || + (e.__options.triggerClose.touchleave && + h.hasTouchCapability)) + ) { + e._on("dismissable", function(a) { + a.dismissable + ? a.delay + ? ((m = setTimeout(function() { + e._close(a.event); + }, a.delay)), + e.__timeouts.close.push(m)) + : e._close(a) + : clearTimeout(m); + }); + var j = e._$origin, + k = "", + l = "", + m = null; + e.__options.interactive && + (j = j.add(e._$tooltip)), + e.__options.triggerClose.mouseleave && + ((k += + "mouseenter." + + e.__namespace + + "-triggerClose "), + (l += + "mouseleave." + + e.__namespace + + "-triggerClose ")), + e.__options.triggerClose.touchleave && + h.hasTouchCapability && + ((k += + "touchstart." + + e.__namespace + + "-triggerClose"), + (l += + "touchend." + + e.__namespace + + "-triggerClose touchcancel." + + e.__namespace + + "-triggerClose")), + j + .on(l, function(a) { + if ( + e._touchIsTouchEvent(a) || + !e._touchIsEmulatedEvent(a) + ) { + var b = + "mouseleave" == a.type + ? e.__options.delay + : e.__options + .delayTouch; + e._trigger({ + delay: b[1], + dismissable: !0, + event: a, + type: "dismissable" + }); + } + }) + .on(k, function(a) { + (!e._touchIsTouchEvent(a) && + e._touchIsEmulatedEvent(a)) || + e._trigger({ + dismissable: !1, + event: a, + type: "dismissable" + }); + }); + } + e.__options.triggerClose.originClick && + e._$origin.on( + "click." + e.__namespace + "-triggerClose", + function(a) { + e._touchIsTouchEvent(a) || + e._touchIsEmulatedEvent(a) || + e._close(a); + } + ), + (e.__options.triggerClose.click || + (e.__options.triggerClose.tap && + h.hasTouchCapability)) && + setTimeout(function() { + if ("closed" != e.__state) { + var b = "", + c = a(h.window.document.body); + e.__options.triggerClose.click && + (b += + "click." + + e.__namespace + + "-triggerClose "), + e.__options.triggerClose.tap && + h.hasTouchCapability && + (b += + "touchend." + + e.__namespace + + "-triggerClose"), + c.on(b, function(b) { + e._touchIsMeaningfulEvent( + b + ) && + (e._touchRecordEvent(b), + (e.__options + .interactive && + a.contains( + e._$tooltip[0], + b.target + )) || + e._close(b)); + }), + e.__options.triggerClose.tap && + h.hasTouchCapability && + c.on( + "touchstart." + + e.__namespace + + "-triggerClose", + function(a) { + e._touchRecordEvent( + a + ); + } + ); + } + }, 0), + e._trigger("ready"), + e.__options.functionReady && + e.__options.functionReady.call(e, e, { + origin: e._$origin[0], + tooltip: e._$tooltip[0] + }); + } + if (e.__options.timer > 0) { + var m = setTimeout(function() { + e._close(); + }, e.__options.timer + g); + e.__timeouts.close.push(m); + } + } + } + return e; + }, + _openShortly: function(a) { + var b = this, + c = !0; + if ( + "stable" != b.__state && + "appearing" != b.__state && + !b.__timeouts.open && + (b._trigger({ + type: "start", + event: a, + stop: function() { + c = !1; + } + }), + c) + ) { + var d = + 0 == a.type.indexOf("touch") + ? b.__options.delayTouch + : b.__options.delay; + d[0] + ? (b.__timeouts.open = setTimeout(function() { + (b.__timeouts.open = null), + b.__pointerIsOverOrigin && + b._touchIsMeaningfulEvent(a) + ? (b._trigger("startend"), b._open(a)) + : b._trigger("startcancel"); + }, d[0])) + : (b._trigger("startend"), b._open(a)); + } + return b; + }, + _optionsExtract: function(b, c) { + var d = this, + e = a.extend(!0, {}, c), + f = d.__options[b]; + return ( + f || + ((f = {}), + a.each(c, function(a, b) { + var c = d.__options[a]; + void 0 !== c && (f[a] = c); + })), + a.each(e, function(b, c) { + void 0 !== f[b] && + ("object" != typeof c || + c instanceof Array || + null == c || + "object" != typeof f[b] || + f[b] instanceof Array || + null == f[b] + ? (e[b] = f[b]) + : a.extend(e[b], f[b])); + }), + e + ); + }, + _plug: function(b) { + var c = a.tooltipster._plugin(b); + if (!c) + throw new Error('The "' + b + '" plugin is not defined'); + return ( + c.instance && + a.tooltipster.__bridge(c.instance, this, c.name), + this + ); + }, + _touchIsEmulatedEvent: function(a) { + for ( + var b = !1, + c = new Date().getTime(), + d = this.__touchEvents.length - 1; + d >= 0; + d-- + ) { + var e = this.__touchEvents[d]; + if (!(c - e.time < 500)) break; + e.target === a.target && (b = !0); + } + return b; + }, + _touchIsMeaningfulEvent: function(a) { + return ( + (this._touchIsTouchEvent(a) && + !this._touchSwiped(a.target)) || + (!this._touchIsTouchEvent(a) && + !this._touchIsEmulatedEvent(a)) + ); + }, + _touchIsTouchEvent: function(a) { + return 0 == a.type.indexOf("touch"); + }, + _touchRecordEvent: function(a) { + return ( + this._touchIsTouchEvent(a) && + ((a.time = new Date().getTime()), + this.__touchEvents.push(a)), + this + ); + }, + _touchSwiped: function(a) { + for ( + var b = !1, c = this.__touchEvents.length - 1; + c >= 0; + c-- + ) { + var d = this.__touchEvents[c]; + if ("touchmove" == d.type) { + b = !0; + break; + } + if ("touchstart" == d.type && a === d.target) break; + } + return b; + }, + _trigger: function() { + var b = Array.prototype.slice.apply(arguments); + return ( + "string" == typeof b[0] && + (b[0] = { + type: b[0] + }), + (b[0].instance = this), + (b[0].origin = this._$origin ? this._$origin[0] : null), + (b[0].tooltip = this._$tooltip ? this._$tooltip[0] : null), + this.__$emitterPrivate.trigger.apply( + this.__$emitterPrivate, + b + ), + a.tooltipster._trigger.apply(a.tooltipster, b), + this.__$emitterPublic.trigger.apply( + this.__$emitterPublic, + b + ), + this + ); + }, + _unplug: function(b) { + var c = this; + if (c[b]) { + var d = a.tooltipster._plugin(b); + d.instance && + a.each(d.instance, function(a, d) { + c[a] && c[a].bridged === c[b] && delete c[a]; + }), + c[b].__destroy && c[b].__destroy(), + delete c[b]; + } + return c; + }, + close: function(a) { + return ( + this.__destroyed + ? this.__destroyError() + : this._close(null, a), + this + ); + }, + content: function(a) { + var b = this; + if (void 0 === a) return b.__Content; + if (b.__destroyed) b.__destroyError(); + else if ((b.__contentSet(a), null !== b.__Content)) { + if ( + "closed" !== b.__state && + (b.__contentInsert(), + b.reposition(), + b.__options.updateAnimation) + ) + if (h.hasTransitions) { + var c = b.__options.updateAnimation; + b._$tooltip.addClass("tooltipster-update-" + c), + setTimeout(function() { + "closed" != b.__state && + b._$tooltip.removeClass( + "tooltipster-update-" + c + ); + }, 1e3); + } else + b._$tooltip.fadeTo(200, 0.5, function() { + "closed" != b.__state && + b._$tooltip.fadeTo(200, 1); + }); + } else b._close(); + return b; + }, + destroy: function() { + var b = this; + if (b.__destroyed) b.__destroyError(); + else { + "closed" != b.__state + ? b + .option("animationDuration", 0) + ._close(null, null, !0) + : b.__timeoutsClear(), + b._trigger("destroy"), + (b.__destroyed = !0), + b._$origin + .removeData(b.__namespace) + .off("." + b.__namespace + "-triggerOpen"), + a(h.window.document.body).off( + "." + b.__namespace + "-triggerOpen" + ); + var c = b._$origin.data("tooltipster-ns"); + if (c) + if (1 === c.length) { + var d = null; + "previous" == b.__options.restoration + ? (d = b._$origin.data( + "tooltipster-initialTitle" + )) + : "current" == b.__options.restoration && + (d = + "string" == typeof b.__Content + ? b.__Content + : a("
") + .append(b.__Content) + .html()), + d && b._$origin.attr("title", d), + b._$origin.removeClass("tooltipstered"), + b._$origin + .removeData("tooltipster-ns") + .removeData("tooltipster-initialTitle"); + } else + (c = a.grep(c, function(a, c) { + return a !== b.__namespace; + })), + b._$origin.data("tooltipster-ns", c); + b._trigger("destroyed"), + b._off(), + b.off(), + (b.__Content = null), + (b.__$emitterPrivate = null), + (b.__$emitterPublic = null), + (b.__options.parent = null), + (b._$origin = null), + (b._$tooltip = null), + (a.tooltipster.__instancesLatestArr = a.grep( + a.tooltipster.__instancesLatestArr, + function(a, c) { + return b !== a; + } + )), + clearInterval(b.__garbageCollector); + } + return b; + }, + disable: function() { + return this.__destroyed + ? (this.__destroyError(), this) + : (this._close(), (this.__enabled = !1), this); + }, + elementOrigin: function() { + return this.__destroyed + ? void this.__destroyError() + : this._$origin[0]; + }, + elementTooltip: function() { + return this._$tooltip ? this._$tooltip[0] : null; + }, + enable: function() { + return (this.__enabled = !0), this; + }, + hide: function(a) { + return this.close(a); + }, + instance: function() { + return this; + }, + off: function() { + return ( + this.__destroyed || + this.__$emitterPublic.off.apply( + this.__$emitterPublic, + Array.prototype.slice.apply(arguments) + ), + this + ); + }, + on: function() { + return ( + this.__destroyed + ? this.__destroyError() + : this.__$emitterPublic.on.apply( + this.__$emitterPublic, + Array.prototype.slice.apply(arguments) + ), + this + ); + }, + one: function() { + return ( + this.__destroyed + ? this.__destroyError() + : this.__$emitterPublic.one.apply( + this.__$emitterPublic, + Array.prototype.slice.apply(arguments) + ), + this + ); + }, + open: function(a) { + return ( + this.__destroyed + ? this.__destroyError() + : this._open(null, a), + this + ); + }, + option: function(b, c) { + return void 0 === c + ? this.__options[b] + : (this.__destroyed + ? this.__destroyError() + : ((this.__options[b] = c), + this.__optionsFormat(), + a.inArray(b, [ + "trigger", + "triggerClose", + "triggerOpen" + ]) >= 0 && this.__prepareOrigin(), + "selfDestruction" === b && this.__prepareGC()), + this); + }, + reposition: function(a, b) { + var c = this; + return ( + c.__destroyed + ? c.__destroyError() + : "closed" != c.__state && + d(c._$origin) && + (b || d(c._$tooltip)) && + (b || c._$tooltip.detach(), + (c.__Geometry = c.__geometry()), + c._trigger({ + type: "reposition", + event: a, + helper: { + geo: c.__Geometry + } + })), + c + ); + }, + show: function(a) { + return this.open(a); + }, + status: function() { + return { + destroyed: this.__destroyed, + enabled: this.__enabled, + open: "closed" !== this.__state, + state: this.__state + }; + }, + triggerHandler: function() { + return ( + this.__destroyed + ? this.__destroyError() + : this.__$emitterPublic.triggerHandler.apply( + this.__$emitterPublic, + Array.prototype.slice.apply(arguments) + ), + this + ); + } + }), + (a.fn.tooltipster = function() { + var b = Array.prototype.slice.apply(arguments), + c = + "You are using a single HTML element as content for several tooltips. You probably want to set the contentCloning option to TRUE."; + if (0 === this.length) return this; + if ("string" == typeof b[0]) { + var d = "#*$~&"; + return ( + this.each(function() { + var e = a(this).data("tooltipster-ns"), + f = e ? a(this).data(e[0]) : null; + if (!f) + throw new Error( + "You called Tooltipster's \"" + + b[0] + + '" method on an uninitialized element' + ); + if ("function" != typeof f[b[0]]) + throw new Error('Unknown method "' + b[0] + '"'); + this.length > 1 && + "content" == b[0] && + (b[1] instanceof a || + ("object" == typeof b[1] && + null != b[1] && + b[1].tagName)) && + !f.__options.contentCloning && + f.__options.debug && + console.log(c); + var g = f[b[0]](b[1], b[2]); + return g !== f || "instance" === b[0] + ? ((d = g), !1) + : void 0; + }), + "#*$~&" !== d ? d : this + ); + } + a.tooltipster.__instancesLatestArr = []; + var e = b[0] && void 0 !== b[0].multiple, + g = (e && b[0].multiple) || (!e && f.multiple), + h = b[0] && void 0 !== b[0].content, + i = (h && b[0].content) || (!h && f.content), + j = b[0] && void 0 !== b[0].contentCloning, + k = (j && b[0].contentCloning) || (!j && f.contentCloning), + l = b[0] && void 0 !== b[0].debug, + m = (l && b[0].debug) || (!l && f.debug); + return ( + this.length > 1 && + (i instanceof a || + ("object" == typeof i && null != i && i.tagName)) && + !k && + m && + console.log(c), + this.each(function() { + var c = !1, + d = a(this), + e = d.data("tooltipster-ns"), + f = null; + e + ? g + ? (c = !0) + : m && + (console.log( + "Tooltipster: one or more tooltips are already attached to the element below. Ignoring." + ), + console.log(this)) + : (c = !0), + c && + ((f = new a.Tooltipster(this, b[0])), + e || (e = []), + e.push(f.__namespace), + d.data("tooltipster-ns", e), + d.data(f.__namespace, f), + f.__options.functionInit && + f.__options.functionInit.call(f, f, { + origin: this + }), + f._trigger("init")), + a.tooltipster.__instancesLatestArr.push(f); + }), + this + ); + }), + (b.prototype = { + __init: function(b) { + (this.__$tooltip = b), + this.__$tooltip + .css({ + left: 0, + overflow: "hidden", + position: "absolute", + top: 0 + }) + .find(".tooltipster-content") + .css("overflow", "auto"), + (this.$container = a( + '
' + ) + .append(this.__$tooltip) + .appendTo(h.window.document.body)); + }, + __forceRedraw: function() { + var a = this.__$tooltip.parent(); + this.__$tooltip.detach(), this.__$tooltip.appendTo(a); + }, + constrain: function(a, b) { + return ( + (this.constraints = { + width: a, + height: b + }), + this.__$tooltip.css({ + display: "block", + height: "", + overflow: "auto", + width: a + }), + this + ); + }, + destroy: function() { + this.__$tooltip + .detach() + .find(".tooltipster-content") + .css({ + display: "", + overflow: "" + }), + this.$container.remove(); + }, + free: function() { + return ( + (this.constraints = null), + this.__$tooltip.css({ + display: "", + height: "", + overflow: "visible", + width: "" + }), + this + ); + }, + measure: function() { + this.__forceRedraw(); + var a = this.__$tooltip[0].getBoundingClientRect(), + b = { + size: { + height: a.height || a.bottom - a.top, + width: a.width || a.right - a.left + } + }; + if (this.constraints) { + var c = this.__$tooltip.find(".tooltipster-content"), + d = this.__$tooltip.outerHeight(), + e = c[0].getBoundingClientRect(), + f = { + height: d <= this.constraints.height, + width: + a.width <= this.constraints.width && + e.width >= c[0].scrollWidth - 1 + }; + b.fits = f.height && f.width; + } + return ( + h.IE && + h.IE <= 11 && + b.size.width !== + h.window.document.documentElement.clientWidth && + (b.size.width = Math.ceil(b.size.width) + 1), + b + ); + } + }); + var j = navigator.userAgent.toLowerCase(); + -1 != j.indexOf("msie") + ? (h.IE = parseInt(j.split("msie")[1])) + : -1 !== j.toLowerCase().indexOf("trident") && + -1 !== j.indexOf(" rv:11") + ? (h.IE = 11) + : -1 != j.toLowerCase().indexOf("edge/") && + (h.IE = parseInt(j.toLowerCase().split("edge/")[1])); + var k = "tooltipster.sideTip"; + return ( + a.tooltipster._plugin({ + name: k, + instance: { + __defaults: function() { + return { + arrow: !0, + distance: 6, + functionPosition: null, + maxWidth: null, + minIntersection: 16, + minWidth: 0, + position: null, + side: "top", + viewportAware: !0 + }; + }, + __init: function(a) { + var b = this; + (b.__instance = a), + (b.__namespace = + "tooltipster-sideTip-" + + Math.round(1e6 * Math.random())), + (b.__previousState = "closed"), + b.__options, + b.__optionsFormat(), + b.__instance._on("state." + b.__namespace, function(a) { + "closed" == a.state + ? b.__close() + : "appearing" == a.state && + "closed" == b.__previousState && + b.__create(), + (b.__previousState = a.state); + }), + b.__instance._on( + "options." + b.__namespace, + function() { + b.__optionsFormat(); + } + ), + b.__instance._on( + "reposition." + b.__namespace, + function(a) { + b.__reposition(a.event, a.helper); + } + ); + }, + __close: function() { + this.__instance.content() instanceof a && + this.__instance.content().detach(), + this.__instance._$tooltip.remove(), + (this.__instance._$tooltip = null); + }, + __create: function() { + var b = a( + '
' + ); + this.__options.arrow || + b + .find(".tooltipster-box") + .css("margin", 0) + .end() + .find(".tooltipster-arrow") + .hide(), + this.__options.minWidth && + b.css("min-width", this.__options.minWidth + "px"), + this.__options.maxWidth && + b.css("max-width", this.__options.maxWidth + "px"), + (this.__instance._$tooltip = b), + this.__instance._trigger("created"); + }, + __destroy: function() { + this.__instance._off("." + self.__namespace); + }, + __optionsFormat: function() { + var b = this; + if ( + ((b.__options = b.__instance._optionsExtract( + k, + b.__defaults() + )), + b.__options.position && + (b.__options.side = b.__options.position), + "object" != typeof b.__options.distance && + (b.__options.distance = [b.__options.distance]), + b.__options.distance.length < 4 && + (void 0 === b.__options.distance[1] && + (b.__options.distance[1] = + b.__options.distance[0]), + void 0 === b.__options.distance[2] && + (b.__options.distance[2] = + b.__options.distance[0]), + void 0 === b.__options.distance[3] && + (b.__options.distance[3] = + b.__options.distance[1]), + (b.__options.distance = { + top: b.__options.distance[0], + right: b.__options.distance[1], + bottom: b.__options.distance[2], + left: b.__options.distance[3] + })), + "string" == typeof b.__options.side) + ) { + var c = { + top: "bottom", + right: "left", + bottom: "top", + left: "right" + }; + (b.__options.side = [ + b.__options.side, + c[b.__options.side] + ]), + "left" == b.__options.side[0] || + "right" == b.__options.side[0] + ? b.__options.side.push("top", "bottom") + : b.__options.side.push("right", "left"); + } + 6 === a.tooltipster._env.IE && + b.__options.arrow !== !0 && + (b.__options.arrow = !1); + }, + __reposition: function(b, c) { + var d, + e = this, + f = e.__targetFind(c), + g = []; + e.__instance._$tooltip.detach(); + var h = e.__instance._$tooltip.clone(), + i = a.tooltipster._getRuler(h), + j = !1, + k = e.__instance.option("animation"); + switch ( + (k && h.removeClass("tooltipster-" + k), + a.each(["window", "document"], function(d, k) { + var l = null; + if ( + (e.__instance._trigger({ + container: k, + helper: c, + satisfied: j, + takeTest: function(a) { + l = a; + }, + results: g, + type: "positionTest" + }), + 1 == l || + (0 != l && + 0 == j && + ("window" != k || + e.__options.viewportAware))) + ) + for ( + var d = 0; + d < e.__options.side.length; + d++ + ) { + var m = { + horizontal: 0, + vertical: 0 + }, + n = e.__options.side[d]; + "top" == n || "bottom" == n + ? (m.vertical = e.__options.distance[n]) + : (m.horizontal = + e.__options.distance[n]), + e.__sideChange(h, n), + a.each( + ["natural", "constrained"], + function(a, d) { + if ( + ((l = null), + e.__instance._trigger({ + container: k, + event: b, + helper: c, + mode: d, + results: g, + satisfied: j, + side: n, + takeTest: function(a) { + l = a; + }, + type: "positionTest" + }), + 1 == l || + (0 != l && 0 == j)) + ) { + var h = { + container: k, + distance: m, + fits: null, + mode: d, + outerSize: null, + side: n, + size: null, + target: f[n], + whole: null + }, + o = + "natural" == d + ? i.free() + : i.constrain( + c.geo + .available[ + k + ][n] + .width - + m.horizontal, + c.geo + .available[ + k + ][n] + .height - + m.vertical + ), + p = o.measure(); + if ( + ((h.size = p.size), + (h.outerSize = { + height: + p.size.height + + m.vertical, + width: + p.size.width + + m.horizontal + }), + "natural" == d + ? c.geo.available[ + k + ][n].width >= + h.outerSize + .width && + c.geo.available[ + k + ][n].height >= + h.outerSize + .height + ? (h.fits = !0) + : (h.fits = !1) + : (h.fits = p.fits), + "window" == k && + (h.fits + ? "top" == n || + "bottom" == n + ? (h.whole = + c.geo + .origin + .windowOffset + .right >= + e + .__options + .minIntersection && + c.geo + .window + .size + .width - + c + .geo + .origin + .windowOffset + .left >= + e + .__options + .minIntersection) + : (h.whole = + c.geo + .origin + .windowOffset + .bottom >= + e + .__options + .minIntersection && + c.geo + .window + .size + .height - + c + .geo + .origin + .windowOffset + .top >= + e + .__options + .minIntersection) + : (h.whole = !1)), + g.push(h), + h.whole) + ) + j = !0; + else if ( + "natural" == h.mode && + (h.fits || + h.size.width <= + c.geo.available[ + k + ][n].width) + ) + return !1; + } + } + ); + } + }), + e.__instance._trigger({ + edit: function(a) { + g = a; + }, + event: b, + helper: c, + results: g, + type: "positionTested" + }), + g.sort(function(a, b) { + if (a.whole && !b.whole) return -1; + if (!a.whole && b.whole) return 1; + if (a.whole && b.whole) { + var c = e.__options.side.indexOf(a.side), + d = e.__options.side.indexOf(b.side); + return d > c + ? -1 + : c > d + ? 1 + : "natural" == a.mode + ? -1 + : 1; + } + if (a.fits && !b.fits) return -1; + if (!a.fits && b.fits) return 1; + if (a.fits && b.fits) { + var c = e.__options.side.indexOf(a.side), + d = e.__options.side.indexOf(b.side); + return d > c + ? -1 + : c > d + ? 1 + : "natural" == a.mode + ? -1 + : 1; + } + return "document" == a.container && + "bottom" == a.side && + "natural" == a.mode + ? -1 + : 1; + }), + (d = g[0]), + (d.coord = {}), + d.side) + ) { + case "left": + case "right": + d.coord.top = Math.floor( + d.target - d.size.height / 2 + ); + break; + case "bottom": + case "top": + d.coord.left = Math.floor( + d.target - d.size.width / 2 + ); + } + switch (d.side) { + case "left": + d.coord.left = + c.geo.origin.windowOffset.left - + d.outerSize.width; + break; + case "right": + d.coord.left = + c.geo.origin.windowOffset.right + + d.distance.horizontal; + break; + case "top": + d.coord.top = + c.geo.origin.windowOffset.top - + d.outerSize.height; + break; + case "bottom": + d.coord.top = + c.geo.origin.windowOffset.bottom + + d.distance.vertical; + } + "window" == d.container + ? "top" == d.side || "bottom" == d.side + ? d.coord.left < 0 + ? c.geo.origin.windowOffset.right - + this.__options.minIntersection >= + 0 + ? (d.coord.left = 0) + : (d.coord.left = + c.geo.origin.windowOffset.right - + this.__options.minIntersection - + 1) + : d.coord.left > + c.geo.window.size.width - d.size.width && + (c.geo.origin.windowOffset.left + + this.__options.minIntersection <= + c.geo.window.size.width + ? (d.coord.left = + c.geo.window.size.width - + d.size.width) + : (d.coord.left = + c.geo.origin.windowOffset.left + + this.__options.minIntersection + + 1 - + d.size.width)) + : d.coord.top < 0 + ? c.geo.origin.windowOffset.bottom - + this.__options.minIntersection >= + 0 + ? (d.coord.top = 0) + : (d.coord.top = + c.geo.origin.windowOffset.bottom - + this.__options.minIntersection - + 1) + : d.coord.top > + c.geo.window.size.height - d.size.height && + (c.geo.origin.windowOffset.top + + this.__options.minIntersection <= + c.geo.window.size.height + ? (d.coord.top = + c.geo.window.size.height - + d.size.height) + : (d.coord.top = + c.geo.origin.windowOffset.top + + this.__options.minIntersection + + 1 - + d.size.height)) + : (d.coord.left > + c.geo.window.size.width - d.size.width && + (d.coord.left = + c.geo.window.size.width - d.size.width), + d.coord.left < 0 && (d.coord.left = 0)), + e.__sideChange(h, d.side), + (c.tooltipClone = h[0]), + (c.tooltipParent = e.__instance.option( + "parent" + ).parent[0]), + (c.mode = d.mode), + (c.whole = d.whole), + (c.origin = e.__instance._$origin[0]), + (c.tooltip = e.__instance._$tooltip[0]), + delete d.container, + delete d.fits, + delete d.mode, + delete d.outerSize, + delete d.whole, + (d.distance = + d.distance.horizontal || d.distance.vertical); + var l = a.extend(!0, {}, d); + if ( + (e.__instance._trigger({ + edit: function(a) { + d = a; + }, + event: b, + helper: c, + position: l, + type: "position" + }), + e.__options.functionPosition) + ) { + var m = e.__options.functionPosition.call( + e, + e.__instance, + c, + l + ); + m && (d = m); + } + i.destroy(); + var n, o; + "top" == d.side || "bottom" == d.side + ? ((n = { + prop: "left", + val: d.target - d.coord.left + }), + (o = d.size.width - this.__options.minIntersection)) + : ((n = { + prop: "top", + val: d.target - d.coord.top + }), + (o = d.size.height - this.__options.minIntersection)), + n.val < this.__options.minIntersection + ? (n.val = this.__options.minIntersection) + : n.val > o && (n.val = o); + var p; + (p = c.geo.origin.fixedLineage + ? c.geo.origin.windowOffset + : { + left: + c.geo.origin.windowOffset.left + + c.geo.window.scroll.left, + top: + c.geo.origin.windowOffset.top + + c.geo.window.scroll.top + }), + (d.coord = { + left: + p.left + + (d.coord.left - c.geo.origin.windowOffset.left), + top: + p.top + + (d.coord.top - c.geo.origin.windowOffset.top) + }), + e.__sideChange(e.__instance._$tooltip, d.side), + c.geo.origin.fixedLineage + ? e.__instance._$tooltip.css("position", "fixed") + : e.__instance._$tooltip.css("position", ""), + e.__instance._$tooltip + .css({ + left: d.coord.left, + top: d.coord.top, + height: d.size.height, + width: d.size.width + }) + .find(".tooltipster-arrow") + .css({ + left: "", + top: "" + }) + .css(n.prop, n.val), + e.__instance._$tooltip.appendTo( + e.__instance.option("parent") + ), + e.__instance._trigger({ + type: "repositioned", + event: b, + position: d + }); + }, + __sideChange: function(a, b) { + a.removeClass("tooltipster-bottom") + .removeClass("tooltipster-left") + .removeClass("tooltipster-right") + .removeClass("tooltipster-top") + .addClass("tooltipster-" + b); + }, + __targetFind: function(a) { + var b = {}, + c = this.__instance._$origin[0].getClientRects(); + if (c.length > 1) { + var d = this.__instance._$origin.css("opacity"); + 1 == d && + (this.__instance._$origin.css("opacity", 0.99), + (c = this.__instance._$origin[0].getClientRects()), + this.__instance._$origin.css("opacity", 1)); + } + if (c.length < 2) + (b.top = Math.floor( + a.geo.origin.windowOffset.left + + a.geo.origin.size.width / 2 + )), + (b.bottom = b.top), + (b.left = Math.floor( + a.geo.origin.windowOffset.top + + a.geo.origin.size.height / 2 + )), + (b.right = b.left); + else { + var e = c[0]; + (b.top = Math.floor(e.left + (e.right - e.left) / 2)), + (e = + c.length > 2 + ? c[Math.ceil(c.length / 2) - 1] + : c[0]), + (b.right = Math.floor( + e.top + (e.bottom - e.top) / 2 + )), + (e = c[c.length - 1]), + (b.bottom = Math.floor( + e.left + (e.right - e.left) / 2 + )), + (e = + c.length > 2 + ? c[Math.ceil((c.length + 1) / 2) - 1] + : c[c.length - 1]), + (b.left = Math.floor( + e.top + (e.bottom - e.top) / 2 + )); + } + return b; + } + } + }), + a + ); +}); +("use strict"); +var _slicedToArray = (function() { + function sliceIterator(arr, i) { + var _arr = []; + var _n = !0; + var _d = !1; + var _e = undefined; + try { + for ( + var _i = arr[Symbol.iterator](), _s; + !(_n = (_s = _i.next()).done); + _n = !0 + ) { + _arr.push(_s.value); + if (i && _arr.length === i) break; + } + } catch (err) { + _d = !0; + _e = err; + } finally { + try { + if (!_n && _i["return"]) _i["return"](); + } finally { + if (_d) throw _e; + } + } + return _arr; + } + return function(arr, i) { + if (Array.isArray(arr)) { + return arr; + } else if (Symbol.iterator in Object(arr)) { + return sliceIterator(arr, i); + } else { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance" + ); + } + }; +})(); +var _createClass = (function() { + function defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || !1; + descriptor.configurable = !0; + if ("value" in descriptor) descriptor.writable = !0; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + return function(Constructor, protoProps, staticProps) { + if (protoProps) defineProperties(Constructor.prototype, protoProps); + if (staticProps) defineProperties(Constructor, staticProps); + return Constructor; + }; +})(); + +function _typeof(obj) { + return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol + ? "symbol" + : typeof obj; +} + +function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } +} +/** + * A Twitter library in JavaScript + * + * @package codebird + * @version 3.0.0-dev + * @author Jublo Solutions + * @copyright 2010-2016 Jublo Solutions + * @license http://opensource.org/licenses/GPL-3.0 GNU Public License 3.0 + * @link https://github.com/jublonet/codebird-php + */ +(function() { + var Codebird = (function() { + function Codebird() { + _classCallCheck(this, Codebird); + this._oauth_consumer_key = null; + this._oauth_consumer_secret = null; + this._oauth_bearer_token = null; + this._endpoint_base = "https://api.twitter.com/"; + this._endpoint_base_media = "https://upload.twitter.com/"; + this._endpoint = this._endpoint_base + "1.1/"; + this._endpoint_media = this._endpoint_base_media + "1.1/"; + this._endpoint_publish = "https://publish.twitter.com/"; + this._endpoint_oauth = this._endpoint_base; + this._endpoint_proxy = "https://api.jublo.net/codebird/"; + this._use_proxy = + typeof navigator !== "undefined" && + typeof navigator.userAgent !== "undefined"; + this._oauth_token = null; + this._oauth_token_secret = null; + this._version = "3.0.0-dev"; + this.b64_alphabet = + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; + } + _createClass(Codebird, [ + { + key: "setConsumerKey", + value: function setConsumerKey(key, secret) { + this._oauth_consumer_key = key; + this._oauth_consumer_secret = secret; + } + }, + { + key: "setBearerToken", + value: function setBearerToken(token) { + this._oauth_bearer_token = token; + } + }, + { + key: "getVersion", + value: function getVersion() { + return this._version; + } + }, + { + key: "setToken", + value: function setToken(token, secret) { + this._oauth_token = token; + this._oauth_token_secret = secret; + } + }, + { + key: "logout", + value: function logout() { + this._oauth_token = this._oauth_token_secret = null; + return !0; + } + }, + { + key: "setUseProxy", + value: function setUseProxy(use_proxy) { + this._use_proxy = !!use_proxy; + } + }, + { + key: "setProxy", + value: function setProxy(proxy) { + if (!proxy.match(/\/$/)) { + proxy += "/"; + } + this._endpoint_proxy = proxy; + } + }, + { + key: "_url", + value: function _url(data) { + if ( + /boolean|number|string/.test( + typeof data === "undefined" + ? "undefined" + : _typeof(data) + ) + ) { + return encodeURIComponent(data) + .replace(/!/g, "%21") + .replace(/'/g, "%27") + .replace(/\(/g, "%28") + .replace(/\)/g, "%29") + .replace(/\*/g, "%2A"); + } else { + return ""; + } + } + }, + { + key: "_sha1", + value: function _sha1(e) { + function n(e, b) { + e[b >> 5] |= 128 << (24 - (b % 32)); + e[(((b + 64) >> 9) << 4) + 15] = b; + for ( + var c = new Array(80), + a = 1732584193, + d = -271733879, + h = -1732584194, + k = 271733878, + g = -1009589776, + p = 0; + p < e.length; + p += 16 + ) { + for ( + var o = a, q = d, r = h, s = k, t = g, f = 0; + 80 > f; + f++ + ) { + var m = undefined; + if (f < 16) { + m = e[p + f]; + } else { + m = + c[f - 3] ^ + c[f - 8] ^ + c[f - 14] ^ + c[f - 16]; + m = (m << 1) | (m >>> 31); + } + c[f] = m; + m = l( + l( + (a << 5) | (a >>> 27), + 20 > f + ? (d & h) | (~d & k) + : 40 > f + ? d ^ h ^ k + : 60 > f + ? (d & h) | (d & k) | (h & k) + : d ^ h ^ k + ), + l( + l(g, c[f]), + 20 > f + ? 1518500249 + : 40 > f + ? 1859775393 + : 60 > f + ? -1894007588 + : -899497514 + ) + ); + g = k; + k = h; + h = (d << 30) | (d >>> 2); + d = a; + a = m; + } + a = l(a, o); + d = l(d, q); + h = l(h, r); + k = l(k, s); + g = l(g, t); + } + return [a, d, h, k, g]; + } + + function l(e, b) { + var c = (e & 65535) + (b & 65535); + return ( + (((e >> 16) + (b >> 16) + (c >> 16)) << 16) | + (c & 65535) + ); + } + + function q(e) { + for ( + var b = [], c = (1 << g) - 1, a = 0; + a < e.length * g; + a += g + ) { + b[a >> 5] |= + (e.charCodeAt(a / g) & c) << (24 - (a % 32)); + } + return b; + } + var g = 8; + var b = + this._oauth_consumer_secret + + "&" + + (null !== this._oauth_token_secret + ? this._oauth_token_secret + : ""); + if (this._oauth_consumer_secret === null) { + throw "To generate a hash, the consumer secret must be set."; + } + var c = q(b); + if (c.length > 16) { + c = n(c, b.length * g); + } + var bb = new Array(16); + for (var a = new Array(16), d = 0; d < 16; d++) { + a[d] = c[d] ^ 909522486; + bb[d] = c[d] ^ 1549556828; + } + c = n(a.concat(q(e)), 512 + e.length * g); + bb = n(bb.concat(c), 672); + b = ""; + for (g = 0; g < 4 * bb.length; g += 3) { + for ( + d = + (((bb[g >> 2] >> (8 * (3 - (g % 4)))) & 255) << + 16) | + (((bb[(g + 1) >> 2] >> + (8 * (3 - ((g + 1) % 4)))) & + 255) << + 8) | + ((bb[(g + 2) >> 2] >> + (8 * (3 - ((g + 2) % 4)))) & + 255), + e = 0; + 4 > e; + e++ + ) { + b = + 8 * g + 6 * e > 32 * bb.length + ? b + "=" + : b + + this.b64_alphabet.charAt( + (d >> (6 * (3 - e))) & 63 + ); + } + } + return b; + } + }, + { + key: "_base64_encode", + value: function _base64_encode(a) { + var d = undefined, + e = undefined, + f = undefined, + b = undefined, + g = 0, + h = 0, + i = this.b64_alphabet, + c = []; + if (!a) { + return a; + } + do { + d = a.charCodeAt(g++); + e = a.charCodeAt(g++); + f = a.charCodeAt(g++); + b = (d << 16) | (e << 8) | f; + d = (b >> 18) & 63; + e = (b >> 12) & 63; + f = (b >> 6) & 63; + b &= 63; + c[h++] = + i.charAt(d) + + i.charAt(e) + + i.charAt(f) + + i.charAt(b); + } while (g < a.length); + i = c.join(""); + a = a.length % 3; + return (a ? i.slice(0, a - 3) : i) + "===".slice(a || 3); + } + }, + { + key: "_http_build_query", + value: function _http_build_query(e, f, b) { + function g(c, a, d) { + var b = undefined, + e = []; + if (a === !0) { + a = "1"; + } else if (a === !1) { + a = "0"; + } + if (null !== a) { + if ( + (typeof a === "undefined" + ? "undefined" + : _typeof(a)) === "object" + ) { + for (b in a) { + if (a.hasOwnProperty(b) && a[b] !== null) { + e.push( + g.call( + this, + c + "[" + b + "]", + a[b], + d + ) + ); + } + } + return e.join(d); + } + if (typeof a !== "function") { + return this._url(c) + "=" + this._url(a); + } + throw "There was an error processing for http_build_query()."; + } else { + return ""; + } + } + var d, + c, + h = []; + if (!b) { + b = "&"; + } + for (c in e) { + if (!e.hasOwnProperty(c)) { + continue; + } + d = e[c]; + if (f && !isNaN(c)) { + c = String(f) + c; + } + d = g.call(this, c, d, b); + if (d !== "") { + h.push(d); + } + } + return h.join(b); + } + }, + { + key: "_nonce", + value: function _nonce() { + var length = + arguments.length <= 0 || arguments[0] === undefined + ? 8 + : arguments[0]; + if (length < 1) { + throw "Invalid nonce length."; + } + var nonce = ""; + for (var i = 0; i < length; i++) { + var character = Math.floor(Math.random() * 61); + nonce += this.b64_alphabet.substring( + character, + character + 1 + ); + } + return nonce; + } + }, + { + key: "_ksort", + value: function _ksort(input_arr) { + var keys = [], + sorter = undefined, + k = undefined; + sorter = function(a, b) { + var a_float = parseFloat(a), + b_float = parseFloat(b), + a_numeric = a_float + "" === a, + b_numeric = b_float + "" === b; + if (a_numeric && b_numeric) { + return a_float > b_float + ? 1 + : a_float < b_float + ? -1 + : 0; + } else if (a_numeric && !b_numeric) { + return 1; + } else if (!a_numeric && b_numeric) { + return -1; + } + return a > b ? 1 : a < b ? -1 : 0; + }; + for (k in input_arr) { + if (input_arr.hasOwnProperty(k)) { + keys.push(k); + } + } + keys.sort(sorter); + return keys; + } + }, + { + key: "_clone", + value: function _clone(obj) { + var clone = {}; + for (var i in obj) { + if (_typeof(obj[i]) === "object") { + clone[i] = this._clone(obj[i]); + } else { + clone[i] = obj[i]; + } + } + return clone; + } + }, + { + key: "_getXmlRequestObject", + value: function _getXmlRequestObject() { + var xml = null; + if ( + (typeof window === "undefined" + ? "undefined" + : _typeof(window)) === "object" && + window && + typeof window.XMLHttpRequest !== "undefined" + ) { + xml = new window.XMLHttpRequest(); + } else if ( + (typeof Ti === "undefined" + ? "undefined" + : _typeof(Ti)) === "object" && + Ti && + typeof Ti.Network.createHTTPClient !== "undefined" + ) { + xml = Ti.Network.createHTTPClient(); + } else if (typeof ActiveXObject !== "undefined") { + try { + xml = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (e) { + throw "ActiveXObject object not defined."; + } + } else if (typeof require === "function") { + var XMLHttpRequest; + try { + XMLHttpRequest = require("xmlhttprequest") + .XMLHttpRequest; + xml = new XMLHttpRequest(); + } catch (e1) { + try { + XMLHttpRequest = require("xhr2"); + xml = new XMLHttpRequest(); + } catch (e2) { + throw "xhr2 object not defined, cancelling."; + } + } + } + return xml; + } + }, + { + key: "_parse_str", + value: function _parse_str(str, array) { + var glue1 = "=", + glue2 = "&", + array2 = String(str) + .replace(/^&?([\s\S]*?)&?$/, "$1") + .split(glue2), + i, + j, + chr, + tmp, + key, + value, + bracket, + keys, + evalStr, + fixStr = function fixStr(str) { + return decodeURIComponent(str) + .replace(/([\\"'])/g, "\\$1") + .replace(/\n/g, "\\n") + .replace(/\r/g, "\\r"); + }; + if (!array) { + array = this.window; + } + for (i = 0; i < array2.length; i++) { + tmp = array2[i].split(glue1); + if (tmp.length < 2) { + tmp = [tmp, ""]; + } + key = fixStr(tmp[0]); + value = fixStr(tmp[1]); + while (key.charAt(0) === " ") { + key = key.substr(1); + } + if (key.indexOf("\0") > -1) { + key = key.substr(0, key.indexOf("\0")); + } + if (key && key.charAt(0) !== "[") { + keys = []; + bracket = 0; + for (j = 0; j < key.length; j++) { + if (key.charAt(j) === "[" && !bracket) { + bracket = j + 1; + } else if (key.charAt(j) === "]") { + if (bracket) { + if (!keys.length) { + keys.push( + key.substr(0, bracket - 1) + ); + } + keys.push( + key.substr(bracket, j - bracket) + ); + bracket = 0; + if (key.charAt(j + 1) !== "[") { + break; + } + } + } + } + if (!keys.length) { + keys = [key]; + } + for (j = 0; j < keys[0].length; j++) { + chr = keys[0].charAt(j); + if (chr === " " || chr === "." || chr === "[") { + keys[0] = + keys[0].substr(0, j) + + "_" + + keys[0].substr(j + 1); + } + if (chr === "[") { + break; + } + } + evalStr = "array"; + for (j = 0; j < keys.length; j++) { + key = keys[j]; + if ((key !== "" && key !== " ") || j === 0) { + key = "'" + key + "'"; + } else { + key = eval(evalStr + ".push([]);") - 1; + } + evalStr += "[" + key + "]"; + if ( + j !== keys.length - 1 && + eval("typeof " + evalStr) === "undefined" + ) { + eval(evalStr + " = [];"); + } + } + evalStr += " = '" + value + "';\n"; + eval(evalStr); + } + } + } + }, + { + key: "getApiMethods", + value: function getApiMethods() { + var httpmethods = { + GET: [ + "account/settings", + "account/verify_credentials", + "application/rate_limit_status", + "blocks/ids", + "blocks/list", + "collections/entries", + "collections/list", + "collections/show", + "direct_messages", + "direct_messages/sent", + "direct_messages/show", + "favorites/list", + "followers/ids", + "followers/list", + "friends/ids", + "friends/list", + "friendships/incoming", + "friendships/lookup", + "friendships/lookup", + "friendships/no_retweets/ids", + "friendships/outgoing", + "friendships/show", + "geo/id/:place_id", + "geo/reverse_geocode", + "geo/search", + "geo/similar_places", + "help/configuration", + "help/languages", + "help/privacy", + "help/tos", + "lists/list", + "lists/members", + "lists/members/show", + "lists/memberships", + "lists/ownerships", + "lists/show", + "lists/statuses", + "lists/subscribers", + "lists/subscribers/show", + "lists/subscriptions", + "mutes/users/ids", + "mutes/users/list", + "oauth/authenticate", + "oauth/authorize", + "saved_searches/list", + "saved_searches/show/:id", + "search/tweets", + "site", + "statuses/firehose", + "statuses/home_timeline", + "statuses/mentions_timeline", + "statuses/oembed", + "statuses/retweeters/ids", + "statuses/retweets/:id", + "statuses/retweets_of_me", + "statuses/sample", + "statuses/show/:id", + "statuses/user_timeline", + "trends/available", + "trends/closest", + "trends/place", + "user", + "users/contributees", + "users/contributors", + "users/profile_banner", + "users/search", + "users/show", + "users/suggestions", + "users/suggestions/:slug", + "users/suggestions/:slug/members" + ], + POST: [ + "account/remove_profile_banner", + "account/settings__post", + "account/update_delivery_device", + "account/update_profile", + "account/update_profile_background_image", + "account/update_profile_banner", + "account/update_profile_colors", + "account/update_profile_image", + "blocks/create", + "blocks/destroy", + "collections/create", + "collections/destroy", + "collections/entries/add", + "collections/entries/curate", + "collections/entries/move", + "collections/entries/remove", + "collections/update", + "direct_messages/destroy", + "direct_messages/new", + "favorites/create", + "favorites/destroy", + "friendships/create", + "friendships/destroy", + "friendships/update", + "lists/create", + "lists/destroy", + "lists/members/create", + "lists/members/create_all", + "lists/members/destroy", + "lists/members/destroy_all", + "lists/subscribers/create", + "lists/subscribers/destroy", + "lists/update", + "media/upload", + "mutes/users/create", + "mutes/users/destroy", + "oauth/access_token", + "oauth/request_token", + "oauth2/invalidate_token", + "oauth2/token", + "saved_searches/create", + "saved_searches/destroy/:id", + "statuses/destroy/:id", + "statuses/filter", + "statuses/lookup", + "statuses/retweet/:id", + "statuses/unretweet/:id", + "statuses/update", + "statuses/update_with_media", + "users/lookup", + "users/report_spam" + ] + }; + return httpmethods; + } + }, + { + key: "_getDfd", + value: function _getDfd() { + if (typeof window !== "undefined") { + if ( + typeof window.jQuery !== "undefined" && + window.jQuery.Deferred + ) { + return window.jQuery.Deferred(); + } + if (typeof window.Q !== "undefined" && window.Q.defer) { + return window.Q.defer(); + } + if ( + typeof window.RSVP !== "undefined" && + window.RSVP.defer + ) { + return window.RSVP.defer(); + } + if ( + typeof window.when !== "undefined" && + window.when.defer + ) { + return window.when.defer(); + } + } + if (typeof require !== "undefined") { + var promise_class = !1; + try { + promise_class = require("jquery"); + } catch (e) {} + if (promise_class) { + return promise_class.Deferred(); + } + try { + promise_class = require("q"); + } catch (e) {} + if (!promise_class) { + try { + promise_class = require("rsvp"); + } catch (e) {} + } + if (!promise_class) { + try { + promise_class = require("when"); + } catch (e) {} + } + if (promise_class) { + try { + return promise_class.defer(); + } catch (e) {} + } + } + return !1; + } + }, + { + key: "_getPromise", + value: function _getPromise(dfd) { + if (typeof dfd.promise === "function") { + return dfd.promise(); + } + return dfd.promise; + } + }, + { + key: "_parseApiParams", + value: function _parseApiParams(params) { + var apiparams = {}; + if ( + (typeof params === "undefined" + ? "undefined" + : _typeof(params)) === "object" + ) { + apiparams = params; + } else { + this._parse_str(params, apiparams); + } + return apiparams; + } + }, + { + key: "_stringifyNullBoolParams", + value: function _stringifyNullBoolParams(apiparams) { + for (var key in apiparams) { + if (!apiparams.hasOwnProperty(key)) { + continue; + } + var value = apiparams[key]; + if (value === null) { + apiparams[key] = "null"; + } else if (value === !0 || value === !1) { + apiparams[key] = value ? "true" : "false"; + } + } + return apiparams; + } + }, + { + key: "_mapFnInsertSlashes", + value: function _mapFnInsertSlashes(fn) { + return fn.split("_").join("/"); + } + }, + { + key: "_mapFnRestoreParamUnderscores", + value: function _mapFnRestoreParamUnderscores(method) { + var url_parameters_with_underscore = [ + "screen_name", + "place_id" + ]; + var i = undefined, + param = undefined, + replacement_was = undefined; + for ( + i = 0; + i < url_parameters_with_underscore.length; + i++ + ) { + param = url_parameters_with_underscore[i].toUpperCase(); + replacement_was = param.split("_").join("/"); + method = method.split(replacement_was).join(param); + } + return method; + } + }, + { + key: "_mapFnToApiMethod", + value: function _mapFnToApiMethod(fn, apiparams) { + var method = "", + param = undefined, + i = undefined, + j = undefined; + method = this._mapFnInsertSlashes(fn); + method = this._mapFnRestoreParamUnderscores(method); + var method_template = method; + var match = method.match(/[A-Z_]{2,}/); + if (match) { + for (i = 0; i < match.length; i++) { + param = match[i]; + var param_l = param.toLowerCase(); + method_template = method_template + .split(param) + .join(":" + param_l); + if (typeof apiparams[param_l] === "undefined") { + for (j = 0; j < 26; j++) { + method_template = method_template + .split(String.fromCharCode(65 + j)) + .join( + "_" + String.fromCharCode(97 + j) + ); + } + throw 'To call the templated method "' + + method_template + + '", specify the parameter value for "' + + param_l + + '".'; + } + method = method + .split(param) + .join(apiparams[param_l]); + delete apiparams[param_l]; + } + } + for (i = 0; i < 26; i++) { + method = method + .split(String.fromCharCode(65 + i)) + .join("_" + String.fromCharCode(97 + i)); + method_template = method_template + .split(String.fromCharCode(65 + i)) + .join("_" + String.fromCharCode(97 + i)); + } + return [method, method_template]; + } + }, + { + key: "_detectMethod", + value: function _detectMethod(method, params) { + if (typeof params.httpmethod !== "undefined") { + var httpmethod = params.httpmethod; + delete params.httpmethod; + return httpmethod; + } + switch (method) { + case "account/settings": + case "account/login_verification_enrollment": + case "account/login_verification_request": + method = Object.keys(params).length + ? method + "__post" + : method; + break; + } + var apimethods = this.getApiMethods(); + for (var httpmethod in apimethods) { + if ( + apimethods.hasOwnProperty(httpmethod) && + apimethods[httpmethod].indexOf(method) > -1 + ) { + return httpmethod; + } + } + throw "Can't find HTTP method to use for \"" + + method + + '".'; + } + }, + { + key: "_detectMultipart", + value: function _detectMultipart(method) { + var multiparts = [ + "statuses/update_with_media", + "media/upload", + "account/update_profile_background_image", + "account/update_profile_image", + "account/update_profile_banner" + ]; + return multiparts.indexOf(method) > -1; + } + }, + { + key: "_getSignature", + value: function _getSignature( + httpmethod, + method, + keys, + base_params + ) { + var base_string = "", + key = undefined, + value = undefined; + for (var i = 0; i < keys.length; i++) { + key = keys[i]; + value = base_params[key]; + base_string += key + "=" + this._url(value) + "&"; + } + base_string = base_string.substring( + 0, + base_string.length - 1 + ); + return this._sha1( + httpmethod + + "&" + + this._url(method) + + "&" + + this._url(base_string) + ); + } + }, + { + key: "_time", + value: function _time() { + return Math.round(new Date().getTime() / 1000); + } + }, + { + key: "_sign", + value: function _sign(httpmethod, method) { + var params = + arguments.length <= 2 || arguments[2] === undefined + ? {} + : arguments[2]; + if (this._oauth_consumer_key === null) { + throw "To generate a signature, the consumer key must be set."; + } + var sign_params = { + consumer_key: this._oauth_consumer_key, + version: "1.0", + timestamp: this._time(), + nonce: this._nonce(), + signature_method: "HMAC-SHA1" + }; + var sign_base_params = {}; + for (var key in sign_params) { + if (!sign_params.hasOwnProperty(key)) { + continue; + } + var value = sign_params[key]; + sign_base_params["oauth_" + key] = this._url(value); + } + if (this._oauth_token !== null) { + sign_base_params.oauth_token = this._url( + this._oauth_token + ); + } + var oauth_params = this._clone(sign_base_params); + for (key in params) { + if (!params.hasOwnProperty(key)) { + continue; + } + sign_base_params[key] = params[key]; + } + var keys = this._ksort(sign_base_params); + var signature = this._getSignature( + httpmethod, + method, + keys, + sign_base_params + ); + params = oauth_params; + params.oauth_signature = signature; + keys = this._ksort(params); + var authorization = "OAuth "; + for (var i = 0; i < keys.length; i++) { + key = keys[i]; + authorization += + key + '="' + this._url(params[key]) + '", '; + } + return authorization.substring(0, authorization.length - 2); + } + }, + { + key: "_buildMultipart", + value: function _buildMultipart(method, params) { + if (!this._detectMultipart(method)) { + return; + } + var possible_methods = [ + "media/upload", + "statuses/update_with_media", + "account/update_profile_background_image", + "account/update_profile_image", + "account/update_profile_banner" + ]; + var possible_files = { + "media/upload": "media", + "statuses/update_with_media": "media[]", + "account/update_profile_background_image": "image", + "account/update_profile_image": "image", + "account/update_profile_banner": "banner" + }; + if (possible_methods.indexOf(method) === -1) { + return; + } + possible_files = possible_files[method].split(" "); + var multipart_border = + "--------------------" + this._nonce(); + var multipart_request = ""; + for (var key in params) { + if (!params.hasOwnProperty(key)) { + continue; + } + multipart_request += + "--" + + multipart_border + + '\r\nContent-Disposition: form-data; name="' + + key + + '"'; + if (possible_files.indexOf(key) === -1) { + multipart_request += + "\r\nContent-Transfer-Encoding: base64"; + } + multipart_request += "\r\n\r\n" + params[key] + "\r\n"; + } + multipart_request += "--" + multipart_border + "--"; + return multipart_request; + } + }, + { + key: "_detectMedia", + value: function _detectMedia(method) { + var medias = ["media/upload"]; + return medias.indexOf(method) > -1; + } + }, + { + key: "_detectJsonBody", + value: function _detectJsonBody(method) { + var json_bodies = ["collections/entries/curate"]; + return json_bodies.indexOf(method) > -1; + } + }, + { + key: "_getEndpoint", + value: function _getEndpoint(method) { + var url = undefined; + if (method.substring(0, 5) === "oauth") { + url = this._endpoint_oauth + method; + } else if (this._detectMedia(method)) { + url = this._endpoint_media + method + ".json"; + } else if (method === "statuses/oembed") { + url = this._endpoint_publish + "oembed"; + } else { + url = this._endpoint + method + ".json"; + } + return url; + } + }, + { + key: "_parseApiReply", + value: function _parseApiReply(reply) { + if (typeof reply !== "string" || reply === "") { + return {}; + } + if (reply === "[]") { + return []; + } + var parsed = undefined; + try { + parsed = JSON.parse(reply); + } catch (e) { + parsed = {}; + var elements = reply.split("&"); + for (var i = 0; i < elements.length; i++) { + var element = elements[i].split("=", 2); + if (element.length > 1) { + parsed[element[0]] = decodeURIComponent( + element[1] + ); + } else { + parsed[element[0]] = null; + } + } + } + return parsed; + } + }, + { + key: "oauth_authenticate", + value: function oauth_authenticate() { + var params = + arguments.length <= 0 || arguments[0] === undefined + ? {} + : arguments[0]; + var callback = + arguments.length <= 1 || arguments[1] === undefined + ? undefined + : arguments[1]; + var type = + arguments.length <= 2 || arguments[2] === undefined + ? "authenticate" + : arguments[2]; + var dfd = this._getDfd(); + if (typeof params.force_login === "undefined") { + params.force_login = null; + } + if (typeof params.screen_name === "undefined") { + params.screen_name = null; + } + if (["authenticate", "authorize"].indexOf(type) === -1) { + type = "authenticate"; + } + if (this._oauth_token === null) { + var error = + "To get the " + + type + + " URL, the OAuth token must be set."; + if (dfd) { + dfd.reject({ + error: error + }); + return this._getPromise(dfd); + } + throw error; + } + var url = + this._endpoint_oauth + + "oauth/" + + type + + "?oauth_token=" + + this._url(this._oauth_token); + if (params.force_login === !0) { + url += "&force_login=1"; + } + if (params.screen_name !== null) { + url += "&screen_name=" + params.screen_name; + } + if (typeof callback === "function") { + callback(url); + } + if (dfd) { + dfd.resolve({ + reply: url + }); + return this._getPromise(dfd); + } + return !0; + } + }, + { + key: "oauth_authorize", + value: function oauth_authorize(params, callback) { + return this.oauth_authenticate( + params, + callback, + "authorize" + ); + } + }, + { + key: "oauth2_token", + value: function oauth2_token(callback) { + var _this = this; + var dfd = this._getDfd(); + if (this._oauth_consumer_key === null) { + var error = + "To obtain a bearer token, the consumer key must be set."; + if (dfd) { + dfd.reject({ + error: error + }); + return this._getPromise(dfd); + } + throw error; + } + if (!dfd && typeof callback === "undefined") { + callback = function() {}; + } + var post_fields = "grant_type=client_credentials"; + var url = this._endpoint_oauth + "oauth2/token"; + if (this._use_proxy) { + url = url.replace( + this._endpoint_base, + this._endpoint_proxy + ); + } + var xml = this._getXmlRequestObject(); + if (xml === null) { + return; + } + xml.open("POST", url, !0); + xml.setRequestHeader( + "Content-Type", + "application/x-www-form-urlencoded" + ); + xml.setRequestHeader( + (this._use_proxy ? "X-" : "") + "Authorization", + "Basic " + + this._base64_encode( + this._oauth_consumer_key + + ":" + + this._oauth_consumer_secret + ) + ); + xml.onreadystatechange = function() { + if (xml.readyState >= 4) { + var httpstatus = 12027; + try { + httpstatus = xml.status; + } catch (e) {} + var response = ""; + try { + response = xml.responseText; + } catch (e) {} + var reply = _this._parseApiReply(response); + reply.httpstatus = httpstatus; + if (httpstatus === 200) { + _this.setBearerToken(reply.access_token); + } + if (typeof callback === "function") { + callback(reply); + } + if (dfd) { + dfd.resolve({ + reply: reply + }); + } + } + }; + xml.onerror = function(e) { + if (typeof callback === "function") { + callback(null, e); + } + if (dfd) { + dfd.reject(e); + } + }; + xml.timeout = 30000; + xml.send(post_fields); + if (dfd) { + return this._getPromise(dfd); + } + } + }, + { + key: "_callApi", + value: function _callApi(httpmethod, method) { + var params = + arguments.length <= 2 || arguments[2] === undefined + ? {} + : arguments[2]; + var multipart = + arguments.length <= 3 || arguments[3] === undefined + ? !1 + : arguments[3]; + var _this2 = this; + var app_only_auth = + arguments.length <= 4 || arguments[4] === undefined + ? !1 + : arguments[4]; + var callback = + arguments.length <= 5 || arguments[5] === undefined + ? function() {} + : arguments[5]; + var dfd = this._getDfd(); + var url = this._getEndpoint(method), + authorization = null; + var xml = this._getXmlRequestObject(); + if (xml === null) { + return; + } + var post_fields = undefined; + if (httpmethod === "GET") { + var url_with_params = url; + if (JSON.stringify(params) !== "{}") { + url_with_params += + "?" + this._http_build_query(params); + } + if (!app_only_auth) { + authorization = this._sign(httpmethod, url, params); + } + if (this._use_proxy) { + url_with_params = url_with_params + .replace( + this._endpoint_base, + this._endpoint_proxy + ) + .replace( + this._endpoint_base_media, + this._endpoint_proxy + ); + } + xml.open(httpmethod, url_with_params, !0); + } else { + if (multipart) { + if (!app_only_auth) { + authorization = this._sign(httpmethod, url, {}); + } + params = this._buildMultipart(method, params); + } else if (this._detectJsonBody(method)) { + authorization = this._sign(httpmethod, url, {}); + params = JSON.stringify(params); + } else { + if (!app_only_auth) { + authorization = this._sign( + httpmethod, + url, + params + ); + } + params = this._http_build_query(params); + } + post_fields = params; + if (this._use_proxy || multipart) { + url = url + .replace( + this._endpoint_base, + this._endpoint_proxy + ) + .replace( + this._endpoint_base_media, + this._endpoint_proxy + ); + } + xml.open(httpmethod, url, !0); + if (multipart) { + xml.setRequestHeader( + "Content-Type", + "multipart/form-data; boundary=" + + post_fields.split("\r\n")[0].substring(2) + ); + } else if (this._detectJsonBody(method)) { + xml.setRequestHeader( + "Content-Type", + "application/json" + ); + } else { + xml.setRequestHeader( + "Content-Type", + "application/x-www-form-urlencoded" + ); + } + } + if (app_only_auth) { + if ( + this._oauth_consumer_key === null && + this._oauth_bearer_token === null + ) { + var error = + "To make an app-only auth API request, consumer key or bearer token must be set."; + if (dfd) { + dfd.reject({ + error: error + }); + return this._getPromise(dfd); + } + throw error; + } + if (this._oauth_bearer_token === null) { + if (dfd) { + return this.oauth2_token().then(function() { + return _this2._callApi( + httpmethod, + method, + params, + multipart, + app_only_auth, + callback + ); + }); + } + this.oauth2_token(function() { + _this2._callApi( + httpmethod, + method, + params, + multipart, + app_only_auth, + callback + ); + }); + return; + } + authorization = "Bearer " + this._oauth_bearer_token; + } + if (authorization !== null) { + xml.setRequestHeader( + (this._use_proxy ? "X-" : "") + "Authorization", + authorization + ); + } + xml.onreadystatechange = function() { + if (xml.readyState >= 4) { + var httpstatus = 12027; + try { + httpstatus = xml.status; + } catch (e) {} + var response = ""; + try { + response = xml.responseText; + } catch (e) {} + var reply = _this2._parseApiReply(response); + reply.httpstatus = httpstatus; + var rate = null; + if ( + typeof xml.getResponseHeader !== "undefined" && + xml.getResponseHeader("x-rate-limit-limit") !== + "" + ) { + rate = { + limit: xml.getResponseHeader( + "x-rate-limit-limit" + ), + remaining: xml.getResponseHeader( + "x-rate-limit-remaining" + ), + reset: xml.getResponseHeader( + "x-rate-limit-reset" + ) + }; + } + if (typeof callback === "function") { + callback(reply, rate); + } + if (dfd) { + dfd.resolve({ + reply: reply, + rate: rate + }); + } + } + }; + xml.onerror = function(e) { + if (typeof callback === "function") { + callback(null, null, e); + } + if (dfd) { + dfd.reject(e); + } + }; + xml.timeout = 30000; + xml.send(httpmethod === "GET" ? null : post_fields); + if (dfd) { + return this._getPromise(dfd); + } + return !0; + } + }, + { + key: "__call", + value: function __call(fn) { + var params = + arguments.length <= 1 || arguments[1] === undefined + ? {} + : arguments[1]; + var callback = arguments[2]; + var app_only_auth = + arguments.length <= 3 || arguments[3] === undefined + ? !1 + : arguments[3]; + if ( + typeof callback !== "function" && + typeof params === "function" + ) { + callback = params; + params = {}; + if (typeof callback === "boolean") { + app_only_auth = callback; + } + } else if (typeof callback === "undefined") { + callback = function() {}; + } + switch (fn) { + case "oauth_authenticate": + case "oauth_authorize": + return this[fn](params, callback); + case "oauth2_token": + return this[fn](callback); + } + var apiparams = this._parseApiParams(params); + apiparams = this._stringifyNullBoolParams(apiparams); + if (fn === "oauth_requestToken") { + this.setToken(null, null); + } + var _mapFnToApiMethod2 = this._mapFnToApiMethod( + fn, + apiparams + ); + var _mapFnToApiMethod3 = _slicedToArray( + _mapFnToApiMethod2, + 2 + ); + var method = _mapFnToApiMethod3[0]; + var method_template = _mapFnToApiMethod3[1]; + var httpmethod = this._detectMethod( + method_template, + apiparams + ); + var multipart = this._detectMultipart(method_template); + return this._callApi( + httpmethod, + method, + apiparams, + multipart, + app_only_auth, + callback + ); + } + } + ]); + return Codebird; + })(); + if ( + (typeof module === "undefined" ? "undefined" : _typeof(module)) === + "object" && + module && + _typeof(module.exports) === "object" + ) { + module.exports = Codebird; + } else { + if ( + (typeof window === "undefined" ? "undefined" : _typeof(window)) === + "object" && + window + ) { + window.Codebird = Codebird; + } + if (typeof define === "function" && define.amd) { + define("codebird", [], function() { + return Codebird; + }); + } + } +})(); +!(function() { + "use strict"; + + function e(n, t, r) { + return ("string" == typeof t ? t : t.toString()) + .replace(n.define || a, function(e, t, o, a) { + return ( + 0 === t.indexOf("def.") && (t = t.substring(4)), + t in r || + (":" === o + ? (n.defineParams && + a.replace(n.defineParams, function(e, n, o) { + r[t] = { + arg: n, + text: o + }; + }), + t in r || (r[t] = a)) + : new Function("def", "def['" + t + "']=" + a)(r)), + "" + ); + }) + .replace(n.use || a, function(t, o) { + n.useParams && + (o = o.replace(n.useParams, function(e, n, t, o) { + if (r[t] && r[t].arg && o) { + var a = (t + ":" + o).replace(/'|\\/g, "_"); + return ( + (r.__exp = r.__exp || {}), + (r.__exp[a] = r[t].text.replace( + new RegExp( + "(^|[^\\w$])" + r[t].arg + "([^\\w$])", + "g" + ), + "$1" + o + "$2" + )), + n + "def.__exp['" + a + "']" + ); + } + })); + var a = new Function("def", "return " + o)(r); + return a ? e(n, a, r) : a; + }); + } + + function n(e) { + return e.replace(/\\('|\\)/g, "$1").replace(/[\r\t\n]/g, " "); + } + var t, + r = { + engine: "doT", + version: "1.1.1", + templateSettings: { + evaluate: /\{\{([\s\S]+?(\}?)+)\}\}/g, + interpolate: /\{\{=([\s\S]+?)\}\}/g, + encode: /\{\{!([\s\S]+?)\}\}/g, + use: /\{\{#([\s\S]+?)\}\}/g, + useParams: /(^|[^\w$])def(?:\.|\[[\'\"])([\w$\.]+)(?:[\'\"]\])?\s*\:\s*([\w$\.]+|\"[^\"]+\"|\'[^\']+\'|\{[^\}]+\})/g, + define: /\{\{##\s*([\w\.$]+)\s*(\:|=)([\s\S]+?)#\}\}/g, + defineParams: /^\s*([\w$]+):([\s\S]+)/, + conditional: /\{\{\?(\?)?\s*([\s\S]*?)\s*\}\}/g, + iterate: /\{\{~\s*(?:\}\}|([\s\S]+?)\s*\:\s*([\w$]+)\s*(?:\:\s*([\w$]+))?\s*\}\})/g, + varname: "it", + strip: !0, + append: !0, + selfcontained: !1, + doNotSkipEncoded: !1 + }, + template: void 0, + compile: void 0, + log: !0 + }; + (r.encodeHTMLSource = function(e) { + var n = { + "&": "&", + "<": "<", + ">": ">", + '"': """, + "'": "'", + "/": "/" + }, + t = e ? /[&<>"'\/]/g : /&(?!#?\w+;)|<|>|"|'|\//g; + return function(e) { + return e + ? e.toString().replace(t, function(e) { + return n[e] || e; + }) + : ""; + }; + }), + (t = (function() { + return this || (0, eval)("this"); + })()), + "undefined" != typeof module && module.exports + ? (module.exports = r) + : "function" == typeof define && define.amd + ? define(function() { + return r; + }) + : (t.doT = r); + var o = { + append: { + start: "'+(", + end: ")+'", + startencode: "'+encodeHTML(" + }, + split: { + start: "';out+=(", + end: ");out+='", + startencode: "';out+=encodeHTML(" + } + }, + a = /$^/; + (r.template = function(c, i, u) { + i = i || r.templateSettings; + var d, + s, + p = i.append ? o.append : o.split, + l = 0, + f = i.use || i.define ? e(i, c, u || {}) : c; + (f = ( + "var out='" + + (i.strip + ? f + .replace(/(^|\r|\n)\t* +| +\t*(\r|\n|$)/g, " ") + .replace(/\r|\n|\t|\/\*[\s\S]*?\*\//g, "") + : f + ) + .replace(/'|\\/g, "\\$&") + .replace(i.interpolate || a, function(e, t) { + return p.start + n(t) + p.end; + }) + .replace(i.encode || a, function(e, t) { + return (d = !0), p.startencode + n(t) + p.end; + }) + .replace(i.conditional || a, function(e, t, r) { + return t + ? r + ? "';}else if(" + n(r) + "){out+='" + : "';}else{out+='" + : r + ? "';if(" + n(r) + "){out+='" + : "';}out+='"; + }) + .replace(i.iterate || a, function(e, t, r, o) { + return t + ? ((l += 1), + (s = o || "i" + l), + (t = n(t)), + "';var arr" + + l + + "=" + + t + + ";if(arr" + + l + + "){var " + + r + + "," + + s + + "=-1,l" + + l + + "=arr" + + l + + ".length-1;while(" + + s + + ">> 0; + for (var i = 0; i < len; i++) { + if (i in t && fun.call(this, t[i], i, t)) { + return !0; + } + } + return !1; + }; + } + + function isValid(m) { + if (m._isValid == null) { + var flags = getParsingFlags(m); + var parsedParts = some.call(flags.parsedDateParts, function(i) { + return i != null; + }); + var isNowValid = + !isNaN(m._d.getTime()) && + flags.overflow < 0 && + !flags.empty && + !flags.invalidMonth && + !flags.invalidWeekday && + !flags.weekdayMismatch && + !flags.nullInput && + !flags.invalidFormat && + !flags.userInvalidated && + (!flags.meridiem || (flags.meridiem && parsedParts)); + if (m._strict) { + isNowValid = + isNowValid && + flags.charsLeftOver === 0 && + flags.unusedTokens.length === 0 && + flags.bigHour === undefined; + } + if (Object.isFrozen == null || !Object.isFrozen(m)) { + m._isValid = isNowValid; + } else { + return isNowValid; + } + } + return m._isValid; + } + + function createInvalid(flags) { + var m = createUTC(NaN); + if (flags != null) { + extend(getParsingFlags(m), flags); + } else { + getParsingFlags(m).userInvalidated = !0; + } + return m; + } + var momentProperties = (hooks.momentProperties = []); + + function copyConfig(to, from) { + var i, prop, val; + if (!isUndefined(from._isAMomentObject)) { + to._isAMomentObject = from._isAMomentObject; + } + if (!isUndefined(from._i)) { + to._i = from._i; + } + if (!isUndefined(from._f)) { + to._f = from._f; + } + if (!isUndefined(from._l)) { + to._l = from._l; + } + if (!isUndefined(from._strict)) { + to._strict = from._strict; + } + if (!isUndefined(from._tzm)) { + to._tzm = from._tzm; + } + if (!isUndefined(from._isUTC)) { + to._isUTC = from._isUTC; + } + if (!isUndefined(from._offset)) { + to._offset = from._offset; + } + if (!isUndefined(from._pf)) { + to._pf = getParsingFlags(from); + } + if (!isUndefined(from._locale)) { + to._locale = from._locale; + } + if (momentProperties.length > 0) { + for (i = 0; i < momentProperties.length; i++) { + prop = momentProperties[i]; + val = from[prop]; + if (!isUndefined(val)) { + to[prop] = val; + } + } + } + return to; + } + var updateInProgress = !1; + + function Moment(config) { + copyConfig(this, config); + this._d = new Date(config._d != null ? config._d.getTime() : NaN); + if (!this.isValid()) { + this._d = new Date(NaN); + } + if (updateInProgress === !1) { + updateInProgress = !0; + hooks.updateOffset(this); + updateInProgress = !1; + } + } + + function isMoment(obj) { + return ( + obj instanceof Moment || + (obj != null && obj._isAMomentObject != null) + ); + } + + function absFloor(number) { + if (number < 0) { + return Math.ceil(number) || 0; + } else { + return Math.floor(number); + } + } + + function toInt(argumentForCoercion) { + var coercedNumber = +argumentForCoercion, + value = 0; + if (coercedNumber !== 0 && isFinite(coercedNumber)) { + value = absFloor(coercedNumber); + } + return value; + } + + function compareArrays(array1, array2, dontConvert) { + var len = Math.min(array1.length, array2.length), + lengthDiff = Math.abs(array1.length - array2.length), + diffs = 0, + i; + for (i = 0; i < len; i++) { + if ( + (dontConvert && array1[i] !== array2[i]) || + (!dontConvert && toInt(array1[i]) !== toInt(array2[i])) + ) { + diffs++; + } + } + return diffs + lengthDiff; + } + + function warn(msg) { + if ( + hooks.suppressDeprecationWarnings === !1 && + typeof console !== "undefined" && + console.warn + ) { + console.warn("Deprecation warning: " + msg); + } + } + + function deprecate(msg, fn) { + var firstTime = !0; + return extend(function() { + if (hooks.deprecationHandler != null) { + hooks.deprecationHandler(null, msg); + } + if (firstTime) { + var args = []; + var arg; + for (var i = 0; i < arguments.length; i++) { + arg = ""; + if (typeof arguments[i] === "object") { + arg += "\n[" + i + "] "; + for (var key in arguments[0]) { + arg += key + ": " + arguments[0][key] + ", "; + } + arg = arg.slice(0, -2); + } else { + arg = arguments[i]; + } + args.push(arg); + } + warn( + msg + + "\nArguments: " + + Array.prototype.slice.call(args).join("") + + "\n" + + new Error().stack + ); + firstTime = !1; + } + return fn.apply(this, arguments); + }, fn); + } + var deprecations = {}; + + function deprecateSimple(name, msg) { + if (hooks.deprecationHandler != null) { + hooks.deprecationHandler(name, msg); + } + if (!deprecations[name]) { + warn(msg); + deprecations[name] = !0; + } + } + hooks.suppressDeprecationWarnings = !1; + hooks.deprecationHandler = null; + + function isFunction(input) { + return ( + input instanceof Function || + Object.prototype.toString.call(input) === "[object Function]" + ); + } + + function set(config) { + var prop, i; + for (i in config) { + prop = config[i]; + if (isFunction(prop)) { + this[i] = prop; + } else { + this["_" + i] = prop; + } + } + this._config = config; + this._dayOfMonthOrdinalParseLenient = new RegExp( + (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + + "|" + + /\d{1,2}/.source + ); + } + + function mergeConfigs(parentConfig, childConfig) { + var res = extend({}, parentConfig), + prop; + for (prop in childConfig) { + if (hasOwnProp(childConfig, prop)) { + if ( + isObject(parentConfig[prop]) && + isObject(childConfig[prop]) + ) { + res[prop] = {}; + extend(res[prop], parentConfig[prop]); + extend(res[prop], childConfig[prop]); + } else if (childConfig[prop] != null) { + res[prop] = childConfig[prop]; + } else { + delete res[prop]; + } + } + } + for (prop in parentConfig) { + if ( + hasOwnProp(parentConfig, prop) && + !hasOwnProp(childConfig, prop) && + isObject(parentConfig[prop]) + ) { + res[prop] = extend({}, res[prop]); + } + } + return res; + } + + function Locale(config) { + if (config != null) { + this.set(config); + } + } + var keys; + if (Object.keys) { + keys = Object.keys; + } else { + keys = function(obj) { + var i, + res = []; + for (i in obj) { + if (hasOwnProp(obj, i)) { + res.push(i); + } + } + return res; + }; + } + var defaultCalendar = { + sameDay: "[Today at] LT", + nextDay: "[Tomorrow at] LT", + nextWeek: "dddd [at] LT", + lastDay: "[Yesterday at] LT", + lastWeek: "[Last] dddd [at] LT", + sameElse: "L" + }; + + function calendar(key, mom, now) { + var output = this._calendar[key] || this._calendar.sameElse; + return isFunction(output) ? output.call(mom, now) : output; + } + var defaultLongDateFormat = { + LTS: "h:mm:ss A", + LT: "h:mm A", + L: "MM/DD/YYYY", + LL: "MMMM D, YYYY", + LLL: "MMMM D, YYYY h:mm A", + LLLL: "dddd, MMMM D, YYYY h:mm A" + }; + + function longDateFormat(key) { + var format = this._longDateFormat[key], + formatUpper = this._longDateFormat[key.toUpperCase()]; + if (format || !formatUpper) { + return format; + } + this._longDateFormat[key] = formatUpper.replace( + /MMMM|MM|DD|dddd/g, + function(val) { + return val.slice(1); + } + ); + return this._longDateFormat[key]; + } + var defaultInvalidDate = "Invalid date"; + + function invalidDate() { + return this._invalidDate; + } + var defaultOrdinal = "%d"; + var defaultDayOfMonthOrdinalParse = /\d{1,2}/; + + function ordinal(number) { + return this._ordinal.replace("%d", number); + } + var defaultRelativeTime = { + future: "in %s", + past: "%s ago", + s: "a few seconds", + ss: "%d seconds", + m: "a minute", + mm: "%d minutes", + h: "an hour", + hh: "%d hours", + d: "a day", + dd: "%d days", + M: "a month", + MM: "%d months", + y: "a year", + yy: "%d years" + }; + + function relativeTime(number, withoutSuffix, string, isFuture) { + var output = this._relativeTime[string]; + return isFunction(output) + ? output(number, withoutSuffix, string, isFuture) + : output.replace(/%d/i, number); + } + + function pastFuture(diff, output) { + var format = this._relativeTime[diff > 0 ? "future" : "past"]; + return isFunction(format) + ? format(output) + : format.replace(/%s/i, output); + } + var aliases = {}; + + function addUnitAlias(unit, shorthand) { + var lowerCase = unit.toLowerCase(); + aliases[lowerCase] = aliases[lowerCase + "s"] = aliases[ + shorthand + ] = unit; + } + + function normalizeUnits(units) { + return typeof units === "string" + ? aliases[units] || aliases[units.toLowerCase()] + : undefined; + } + + function normalizeObjectUnits(inputObject) { + var normalizedInput = {}, + normalizedProp, + prop; + for (prop in inputObject) { + if (hasOwnProp(inputObject, prop)) { + normalizedProp = normalizeUnits(prop); + if (normalizedProp) { + normalizedInput[normalizedProp] = inputObject[prop]; + } + } + } + return normalizedInput; + } + var priorities = {}; + + function addUnitPriority(unit, priority) { + priorities[unit] = priority; + } + + function getPrioritizedUnits(unitsObj) { + var units = []; + for (var u in unitsObj) { + units.push({ + unit: u, + priority: priorities[u] + }); + } + units.sort(function(a, b) { + return a.priority - b.priority; + }); + return units; + } + + function zeroFill(number, targetLength, forceSign) { + var absNumber = "" + Math.abs(number), + zerosToFill = targetLength - absNumber.length, + sign = number >= 0; + return ( + (sign ? (forceSign ? "+" : "") : "-") + + Math.pow(10, Math.max(0, zerosToFill)) + .toString() + .substr(1) + + absNumber + ); + } + var formattingTokens = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g; + var localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g; + var formatFunctions = {}; + var formatTokenFunctions = {}; + + function addFormatToken(token, padded, ordinal, callback) { + var func = callback; + if (typeof callback === "string") { + func = function() { + return this[callback](); + }; + } + if (token) { + formatTokenFunctions[token] = func; + } + if (padded) { + formatTokenFunctions[padded[0]] = function() { + return zeroFill( + func.apply(this, arguments), + padded[1], + padded[2] + ); + }; + } + if (ordinal) { + formatTokenFunctions[ordinal] = function() { + return this.localeData().ordinal( + func.apply(this, arguments), + token + ); + }; + } + } + + function removeFormattingTokens(input) { + if (input.match(/\[[\s\S]/)) { + return input.replace(/^\[|\]$/g, ""); + } + return input.replace(/\\/g, ""); + } + + function makeFormatFunction(format) { + var array = format.match(formattingTokens), + i, + length; + for (i = 0, length = array.length; i < length; i++) { + if (formatTokenFunctions[array[i]]) { + array[i] = formatTokenFunctions[array[i]]; + } else { + array[i] = removeFormattingTokens(array[i]); + } + } + return function(mom) { + var output = "", + i; + for (i = 0; i < length; i++) { + output += isFunction(array[i]) + ? array[i].call(mom, format) + : array[i]; + } + return output; + }; + } + + function formatMoment(m, format) { + if (!m.isValid()) { + return m.localeData().invalidDate(); + } + format = expandFormat(format, m.localeData()); + formatFunctions[format] = + formatFunctions[format] || makeFormatFunction(format); + return formatFunctions[format](m); + } + + function expandFormat(format, locale) { + var i = 5; + + function replaceLongDateFormatTokens(input) { + return locale.longDateFormat(input) || input; + } + localFormattingTokens.lastIndex = 0; + while (i >= 0 && localFormattingTokens.test(format)) { + format = format.replace( + localFormattingTokens, + replaceLongDateFormatTokens + ); + localFormattingTokens.lastIndex = 0; + i -= 1; + } + return format; + } + var match1 = /\d/; + var match2 = /\d\d/; + var match3 = /\d{3}/; + var match4 = /\d{4}/; + var match6 = /[+-]?\d{6}/; + var match1to2 = /\d\d?/; + var match3to4 = /\d\d\d\d?/; + var match5to6 = /\d\d\d\d\d\d?/; + var match1to3 = /\d{1,3}/; + var match1to4 = /\d{1,4}/; + var match1to6 = /[+-]?\d{1,6}/; + var matchUnsigned = /\d+/; + var matchSigned = /[+-]?\d+/; + var matchOffset = /Z|[+-]\d\d:?\d\d/gi; + var matchShortOffset = /Z|[+-]\d\d(?::?\d\d)?/gi; + var matchTimestamp = /[+-]?\d+(\.\d{1,3})?/; + var matchWord = /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i; + var regexes = {}; + + function addRegexToken(token, regex, strictRegex) { + regexes[token] = isFunction(regex) + ? regex + : function(isStrict, localeData) { + return isStrict && strictRegex ? strictRegex : regex; + }; + } + + function getParseRegexForToken(token, config) { + if (!hasOwnProp(regexes, token)) { + return new RegExp(unescapeFormat(token)); + } + return regexes[token](config._strict, config._locale); + } + + function unescapeFormat(s) { + return regexEscape( + s + .replace("\\", "") + .replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function( + matched, + p1, + p2, + p3, + p4 + ) { + return p1 || p2 || p3 || p4; + }) + ); + } + + function regexEscape(s) { + return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&"); + } + var tokens = {}; + + function addParseToken(token, callback) { + var i, + func = callback; + if (typeof token === "string") { + token = [token]; + } + if (isNumber(callback)) { + func = function(input, array) { + array[callback] = toInt(input); + }; + } + for (i = 0; i < token.length; i++) { + tokens[token[i]] = func; + } + } + + function addWeekParseToken(token, callback) { + addParseToken(token, function(input, array, config, token) { + config._w = config._w || {}; + callback(input, config._w, config, token); + }); + } + + function addTimeToArrayFromToken(token, input, config) { + if (input != null && hasOwnProp(tokens, token)) { + tokens[token](input, config._a, config, token); + } + } + var YEAR = 0; + var MONTH = 1; + var DATE = 2; + var HOUR = 3; + var MINUTE = 4; + var SECOND = 5; + var MILLISECOND = 6; + var WEEK = 7; + var WEEKDAY = 8; + addFormatToken("Y", 0, 0, function() { + var y = this.year(); + return y <= 9999 ? "" + y : "+" + y; + }); + addFormatToken(0, ["YY", 2], 0, function() { + return this.year() % 100; + }); + addFormatToken(0, ["YYYY", 4], 0, "year"); + addFormatToken(0, ["YYYYY", 5], 0, "year"); + addFormatToken(0, ["YYYYYY", 6, !0], 0, "year"); + addUnitAlias("year", "y"); + addUnitPriority("year", 1); + addRegexToken("Y", matchSigned); + addRegexToken("YY", match1to2, match2); + addRegexToken("YYYY", match1to4, match4); + addRegexToken("YYYYY", match1to6, match6); + addRegexToken("YYYYYY", match1to6, match6); + addParseToken(["YYYYY", "YYYYYY"], YEAR); + addParseToken("YYYY", function(input, array) { + array[YEAR] = + input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input); + }); + addParseToken("YY", function(input, array) { + array[YEAR] = hooks.parseTwoDigitYear(input); + }); + addParseToken("Y", function(input, array) { + array[YEAR] = parseInt(input, 10); + }); + + function daysInYear(year) { + return isLeapYear(year) ? 366 : 365; + } + + function isLeapYear(year) { + return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0; + } + hooks.parseTwoDigitYear = function(input) { + return toInt(input) + (toInt(input) > 68 ? 1900 : 2000); + }; + var getSetYear = makeGetSet("FullYear", !0); + + function getIsLeapYear() { + return isLeapYear(this.year()); + } + + function makeGetSet(unit, keepTime) { + return function(value) { + if (value != null) { + set$1(this, unit, value); + hooks.updateOffset(this, keepTime); + return this; + } else { + return get(this, unit); + } + }; + } + + function get(mom, unit) { + return mom.isValid() + ? mom._d["get" + (mom._isUTC ? "UTC" : "") + unit]() + : NaN; + } + + function set$1(mom, unit, value) { + if (mom.isValid() && !isNaN(value)) { + if ( + unit === "FullYear" && + isLeapYear(mom.year()) && + mom.month() === 1 && + mom.date() === 29 + ) { + mom._d["set" + (mom._isUTC ? "UTC" : "") + unit]( + value, + mom.month(), + daysInMonth(value, mom.month()) + ); + } else { + mom._d["set" + (mom._isUTC ? "UTC" : "") + unit](value); + } + } + } + + function stringGet(units) { + units = normalizeUnits(units); + if (isFunction(this[units])) { + return this[units](); + } + return this; + } + + function stringSet(units, value) { + if (typeof units === "object") { + units = normalizeObjectUnits(units); + var prioritized = getPrioritizedUnits(units); + for (var i = 0; i < prioritized.length; i++) { + this[prioritized[i].unit](units[prioritized[i].unit]); + } + } else { + units = normalizeUnits(units); + if (isFunction(this[units])) { + return this[units](value); + } + } + return this; + } + + function mod(n, x) { + return ((n % x) + x) % x; + } + var indexOf; + if (Array.prototype.indexOf) { + indexOf = Array.prototype.indexOf; + } else { + indexOf = function(o) { + var i; + for (i = 0; i < this.length; ++i) { + if (this[i] === o) { + return i; + } + } + return -1; + }; + } + + function daysInMonth(year, month) { + if (isNaN(year) || isNaN(month)) { + return NaN; + } + var modMonth = mod(month, 12); + year += (month - modMonth) / 12; + return modMonth === 1 + ? isLeapYear(year) + ? 29 + : 28 + : 31 - ((modMonth % 7) % 2); + } + addFormatToken("M", ["MM", 2], "Mo", function() { + return this.month() + 1; + }); + addFormatToken("MMM", 0, 0, function(format) { + return this.localeData().monthsShort(this, format); + }); + addFormatToken("MMMM", 0, 0, function(format) { + return this.localeData().months(this, format); + }); + addUnitAlias("month", "M"); + addUnitPriority("month", 8); + addRegexToken("M", match1to2); + addRegexToken("MM", match1to2, match2); + addRegexToken("MMM", function(isStrict, locale) { + return locale.monthsShortRegex(isStrict); + }); + addRegexToken("MMMM", function(isStrict, locale) { + return locale.monthsRegex(isStrict); + }); + addParseToken(["M", "MM"], function(input, array) { + array[MONTH] = toInt(input) - 1; + }); + addParseToken(["MMM", "MMMM"], function(input, array, config, token) { + var month = config._locale.monthsParse(input, token, config._strict); + if (month != null) { + array[MONTH] = month; + } else { + getParsingFlags(config).invalidMonth = input; + } + }); + var MONTHS_IN_FORMAT = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/; + var defaultLocaleMonths = "January_February_March_April_May_June_July_August_September_October_November_December".split( + "_" + ); + + function localeMonths(m, format) { + if (!m) { + return isArray(this._months) + ? this._months + : this._months.standalone; + } + return isArray(this._months) + ? this._months[m.month()] + : this._months[ + (this._months.isFormat || MONTHS_IN_FORMAT).test(format) + ? "format" + : "standalone" + ][m.month()]; + } + var defaultLocaleMonthsShort = "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split( + "_" + ); + + function localeMonthsShort(m, format) { + if (!m) { + return isArray(this._monthsShort) + ? this._monthsShort + : this._monthsShort.standalone; + } + return isArray(this._monthsShort) + ? this._monthsShort[m.month()] + : this._monthsShort[ + MONTHS_IN_FORMAT.test(format) ? "format" : "standalone" + ][m.month()]; + } + + function handleStrictParse(monthName, format, strict) { + var i, + ii, + mom, + llc = monthName.toLocaleLowerCase(); + if (!this._monthsParse) { + this._monthsParse = []; + this._longMonthsParse = []; + this._shortMonthsParse = []; + for (i = 0; i < 12; ++i) { + mom = createUTC([2000, i]); + this._shortMonthsParse[i] = this.monthsShort( + mom, + "" + ).toLocaleLowerCase(); + this._longMonthsParse[i] = this.months( + mom, + "" + ).toLocaleLowerCase(); + } + } + if (strict) { + if (format === "MMM") { + ii = indexOf.call(this._shortMonthsParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._longMonthsParse, llc); + return ii !== -1 ? ii : null; + } + } else { + if (format === "MMM") { + ii = indexOf.call(this._shortMonthsParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._longMonthsParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._longMonthsParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._shortMonthsParse, llc); + return ii !== -1 ? ii : null; + } + } + } + + function localeMonthsParse(monthName, format, strict) { + var i, mom, regex; + if (this._monthsParseExact) { + return handleStrictParse.call(this, monthName, format, strict); + } + if (!this._monthsParse) { + this._monthsParse = []; + this._longMonthsParse = []; + this._shortMonthsParse = []; + } + for (i = 0; i < 12; i++) { + mom = createUTC([2000, i]); + if (strict && !this._longMonthsParse[i]) { + this._longMonthsParse[i] = new RegExp( + "^" + this.months(mom, "").replace(".", "") + "$", + "i" + ); + this._shortMonthsParse[i] = new RegExp( + "^" + this.monthsShort(mom, "").replace(".", "") + "$", + "i" + ); + } + if (!strict && !this._monthsParse[i]) { + regex = + "^" + + this.months(mom, "") + + "|^" + + this.monthsShort(mom, ""); + this._monthsParse[i] = new RegExp(regex.replace(".", ""), "i"); + } + if ( + strict && + format === "MMMM" && + this._longMonthsParse[i].test(monthName) + ) { + return i; + } else if ( + strict && + format === "MMM" && + this._shortMonthsParse[i].test(monthName) + ) { + return i; + } else if (!strict && this._monthsParse[i].test(monthName)) { + return i; + } + } + } + + function setMonth(mom, value) { + var dayOfMonth; + if (!mom.isValid()) { + return mom; + } + if (typeof value === "string") { + if (/^\d+$/.test(value)) { + value = toInt(value); + } else { + value = mom.localeData().monthsParse(value); + if (!isNumber(value)) { + return mom; + } + } + } + dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value)); + mom._d["set" + (mom._isUTC ? "UTC" : "") + "Month"](value, dayOfMonth); + return mom; + } + + function getSetMonth(value) { + if (value != null) { + setMonth(this, value); + hooks.updateOffset(this, !0); + return this; + } else { + return get(this, "Month"); + } + } + + function getDaysInMonth() { + return daysInMonth(this.year(), this.month()); + } + var defaultMonthsShortRegex = matchWord; + + function monthsShortRegex(isStrict) { + if (this._monthsParseExact) { + if (!hasOwnProp(this, "_monthsRegex")) { + computeMonthsParse.call(this); + } + if (isStrict) { + return this._monthsShortStrictRegex; + } else { + return this._monthsShortRegex; + } + } else { + if (!hasOwnProp(this, "_monthsShortRegex")) { + this._monthsShortRegex = defaultMonthsShortRegex; + } + return this._monthsShortStrictRegex && isStrict + ? this._monthsShortStrictRegex + : this._monthsShortRegex; + } + } + var defaultMonthsRegex = matchWord; + + function monthsRegex(isStrict) { + if (this._monthsParseExact) { + if (!hasOwnProp(this, "_monthsRegex")) { + computeMonthsParse.call(this); + } + if (isStrict) { + return this._monthsStrictRegex; + } else { + return this._monthsRegex; + } + } else { + if (!hasOwnProp(this, "_monthsRegex")) { + this._monthsRegex = defaultMonthsRegex; + } + return this._monthsStrictRegex && isStrict + ? this._monthsStrictRegex + : this._monthsRegex; + } + } + + function computeMonthsParse() { + function cmpLenRev(a, b) { + return b.length - a.length; + } + var shortPieces = [], + longPieces = [], + mixedPieces = [], + i, + mom; + for (i = 0; i < 12; i++) { + mom = createUTC([2000, i]); + shortPieces.push(this.monthsShort(mom, "")); + longPieces.push(this.months(mom, "")); + mixedPieces.push(this.months(mom, "")); + mixedPieces.push(this.monthsShort(mom, "")); + } + shortPieces.sort(cmpLenRev); + longPieces.sort(cmpLenRev); + mixedPieces.sort(cmpLenRev); + for (i = 0; i < 12; i++) { + shortPieces[i] = regexEscape(shortPieces[i]); + longPieces[i] = regexEscape(longPieces[i]); + } + for (i = 0; i < 24; i++) { + mixedPieces[i] = regexEscape(mixedPieces[i]); + } + this._monthsRegex = new RegExp("^(" + mixedPieces.join("|") + ")", "i"); + this._monthsShortRegex = this._monthsRegex; + this._monthsStrictRegex = new RegExp( + "^(" + longPieces.join("|") + ")", + "i" + ); + this._monthsShortStrictRegex = new RegExp( + "^(" + shortPieces.join("|") + ")", + "i" + ); + } + + function createDate(y, m, d, h, M, s, ms) { + var date = new Date(y, m, d, h, M, s, ms); + if (y < 100 && y >= 0 && isFinite(date.getFullYear())) { + date.setFullYear(y); + } + return date; + } + + function createUTCDate(y) { + var date = new Date(Date.UTC.apply(null, arguments)); + if (y < 100 && y >= 0 && isFinite(date.getUTCFullYear())) { + date.setUTCFullYear(y); + } + return date; + } + + function firstWeekOffset(year, dow, doy) { + var fwd = 7 + dow - doy, + fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7; + return -fwdlw + fwd - 1; + } + + function dayOfYearFromWeeks(year, week, weekday, dow, doy) { + var localWeekday = (7 + weekday - dow) % 7, + weekOffset = firstWeekOffset(year, dow, doy), + dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset, + resYear, + resDayOfYear; + if (dayOfYear <= 0) { + resYear = year - 1; + resDayOfYear = daysInYear(resYear) + dayOfYear; + } else if (dayOfYear > daysInYear(year)) { + resYear = year + 1; + resDayOfYear = dayOfYear - daysInYear(year); + } else { + resYear = year; + resDayOfYear = dayOfYear; + } + return { + year: resYear, + dayOfYear: resDayOfYear + }; + } + + function weekOfYear(mom, dow, doy) { + var weekOffset = firstWeekOffset(mom.year(), dow, doy), + week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1, + resWeek, + resYear; + if (week < 1) { + resYear = mom.year() - 1; + resWeek = week + weeksInYear(resYear, dow, doy); + } else if (week > weeksInYear(mom.year(), dow, doy)) { + resWeek = week - weeksInYear(mom.year(), dow, doy); + resYear = mom.year() + 1; + } else { + resYear = mom.year(); + resWeek = week; + } + return { + week: resWeek, + year: resYear + }; + } + + function weeksInYear(year, dow, doy) { + var weekOffset = firstWeekOffset(year, dow, doy), + weekOffsetNext = firstWeekOffset(year + 1, dow, doy); + return (daysInYear(year) - weekOffset + weekOffsetNext) / 7; + } + addFormatToken("w", ["ww", 2], "wo", "week"); + addFormatToken("W", ["WW", 2], "Wo", "isoWeek"); + addUnitAlias("week", "w"); + addUnitAlias("isoWeek", "W"); + addUnitPriority("week", 5); + addUnitPriority("isoWeek", 5); + addRegexToken("w", match1to2); + addRegexToken("ww", match1to2, match2); + addRegexToken("W", match1to2); + addRegexToken("WW", match1to2, match2); + addWeekParseToken(["w", "ww", "W", "WW"], function( + input, + week, + config, + token + ) { + week[token.substr(0, 1)] = toInt(input); + }); + + function localeWeek(mom) { + return weekOfYear(mom, this._week.dow, this._week.doy).week; + } + var defaultLocaleWeek = { + dow: 0, + doy: 6 + }; + + function localeFirstDayOfWeek() { + return this._week.dow; + } + + function localeFirstDayOfYear() { + return this._week.doy; + } + + function getSetWeek(input) { + var week = this.localeData().week(this); + return input == null ? week : this.add((input - week) * 7, "d"); + } + + function getSetISOWeek(input) { + var week = weekOfYear(this, 1, 4).week; + return input == null ? week : this.add((input - week) * 7, "d"); + } + addFormatToken("d", 0, "do", "day"); + addFormatToken("dd", 0, 0, function(format) { + return this.localeData().weekdaysMin(this, format); + }); + addFormatToken("ddd", 0, 0, function(format) { + return this.localeData().weekdaysShort(this, format); + }); + addFormatToken("dddd", 0, 0, function(format) { + return this.localeData().weekdays(this, format); + }); + addFormatToken("e", 0, 0, "weekday"); + addFormatToken("E", 0, 0, "isoWeekday"); + addUnitAlias("day", "d"); + addUnitAlias("weekday", "e"); + addUnitAlias("isoWeekday", "E"); + addUnitPriority("day", 11); + addUnitPriority("weekday", 11); + addUnitPriority("isoWeekday", 11); + addRegexToken("d", match1to2); + addRegexToken("e", match1to2); + addRegexToken("E", match1to2); + addRegexToken("dd", function(isStrict, locale) { + return locale.weekdaysMinRegex(isStrict); + }); + addRegexToken("ddd", function(isStrict, locale) { + return locale.weekdaysShortRegex(isStrict); + }); + addRegexToken("dddd", function(isStrict, locale) { + return locale.weekdaysRegex(isStrict); + }); + addWeekParseToken(["dd", "ddd", "dddd"], function( + input, + week, + config, + token + ) { + var weekday = config._locale.weekdaysParse( + input, + token, + config._strict + ); + if (weekday != null) { + week.d = weekday; + } else { + getParsingFlags(config).invalidWeekday = input; + } + }); + addWeekParseToken(["d", "e", "E"], function(input, week, config, token) { + week[token] = toInt(input); + }); + + function parseWeekday(input, locale) { + if (typeof input !== "string") { + return input; + } + if (!isNaN(input)) { + return parseInt(input, 10); + } + input = locale.weekdaysParse(input); + if (typeof input === "number") { + return input; + } + return null; + } + + function parseIsoWeekday(input, locale) { + if (typeof input === "string") { + return locale.weekdaysParse(input) % 7 || 7; + } + return isNaN(input) ? null : input; + } + var defaultLocaleWeekdays = "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split( + "_" + ); + + function localeWeekdays(m, format) { + if (!m) { + return isArray(this._weekdays) + ? this._weekdays + : this._weekdays.standalone; + } + return isArray(this._weekdays) + ? this._weekdays[m.day()] + : this._weekdays[ + this._weekdays.isFormat.test(format) ? "format" : "standalone" + ][m.day()]; + } + var defaultLocaleWeekdaysShort = "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"); + + function localeWeekdaysShort(m) { + return m ? this._weekdaysShort[m.day()] : this._weekdaysShort; + } + var defaultLocaleWeekdaysMin = "Su_Mo_Tu_We_Th_Fr_Sa".split("_"); + + function localeWeekdaysMin(m) { + return m ? this._weekdaysMin[m.day()] : this._weekdaysMin; + } + + function handleStrictParse$1(weekdayName, format, strict) { + var i, + ii, + mom, + llc = weekdayName.toLocaleLowerCase(); + if (!this._weekdaysParse) { + this._weekdaysParse = []; + this._shortWeekdaysParse = []; + this._minWeekdaysParse = []; + for (i = 0; i < 7; ++i) { + mom = createUTC([2000, 1]).day(i); + this._minWeekdaysParse[i] = this.weekdaysMin( + mom, + "" + ).toLocaleLowerCase(); + this._shortWeekdaysParse[i] = this.weekdaysShort( + mom, + "" + ).toLocaleLowerCase(); + this._weekdaysParse[i] = this.weekdays( + mom, + "" + ).toLocaleLowerCase(); + } + } + if (strict) { + if (format === "dddd") { + ii = indexOf.call(this._weekdaysParse, llc); + return ii !== -1 ? ii : null; + } else if (format === "ddd") { + ii = indexOf.call(this._shortWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._minWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } + } else { + if (format === "dddd") { + ii = indexOf.call(this._weekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._shortWeekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._minWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } else if (format === "ddd") { + ii = indexOf.call(this._shortWeekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._weekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._minWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._minWeekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._weekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._shortWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } + } + } + + function localeWeekdaysParse(weekdayName, format, strict) { + var i, mom, regex; + if (this._weekdaysParseExact) { + return handleStrictParse$1.call(this, weekdayName, format, strict); + } + if (!this._weekdaysParse) { + this._weekdaysParse = []; + this._minWeekdaysParse = []; + this._shortWeekdaysParse = []; + this._fullWeekdaysParse = []; + } + for (i = 0; i < 7; i++) { + mom = createUTC([2000, 1]).day(i); + if (strict && !this._fullWeekdaysParse[i]) { + this._fullWeekdaysParse[i] = new RegExp( + "^" + this.weekdays(mom, "").replace(".", ".?") + "$", + "i" + ); + this._shortWeekdaysParse[i] = new RegExp( + "^" + this.weekdaysShort(mom, "").replace(".", ".?") + "$", + "i" + ); + this._minWeekdaysParse[i] = new RegExp( + "^" + this.weekdaysMin(mom, "").replace(".", ".?") + "$", + "i" + ); + } + if (!this._weekdaysParse[i]) { + regex = + "^" + + this.weekdays(mom, "") + + "|^" + + this.weekdaysShort(mom, "") + + "|^" + + this.weekdaysMin(mom, ""); + this._weekdaysParse[i] = new RegExp( + regex.replace(".", ""), + "i" + ); + } + if ( + strict && + format === "dddd" && + this._fullWeekdaysParse[i].test(weekdayName) + ) { + return i; + } else if ( + strict && + format === "ddd" && + this._shortWeekdaysParse[i].test(weekdayName) + ) { + return i; + } else if ( + strict && + format === "dd" && + this._minWeekdaysParse[i].test(weekdayName) + ) { + return i; + } else if (!strict && this._weekdaysParse[i].test(weekdayName)) { + return i; + } + } + } + + function getSetDayOfWeek(input) { + if (!this.isValid()) { + return input != null ? this : NaN; + } + var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay(); + if (input != null) { + input = parseWeekday(input, this.localeData()); + return this.add(input - day, "d"); + } else { + return day; + } + } + + function getSetLocaleDayOfWeek(input) { + if (!this.isValid()) { + return input != null ? this : NaN; + } + var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7; + return input == null ? weekday : this.add(input - weekday, "d"); + } + + function getSetISODayOfWeek(input) { + if (!this.isValid()) { + return input != null ? this : NaN; + } + if (input != null) { + var weekday = parseIsoWeekday(input, this.localeData()); + return this.day(this.day() % 7 ? weekday : weekday - 7); + } else { + return this.day() || 7; + } + } + var defaultWeekdaysRegex = matchWord; + + function weekdaysRegex(isStrict) { + if (this._weekdaysParseExact) { + if (!hasOwnProp(this, "_weekdaysRegex")) { + computeWeekdaysParse.call(this); + } + if (isStrict) { + return this._weekdaysStrictRegex; + } else { + return this._weekdaysRegex; + } + } else { + if (!hasOwnProp(this, "_weekdaysRegex")) { + this._weekdaysRegex = defaultWeekdaysRegex; + } + return this._weekdaysStrictRegex && isStrict + ? this._weekdaysStrictRegex + : this._weekdaysRegex; + } + } + var defaultWeekdaysShortRegex = matchWord; + + function weekdaysShortRegex(isStrict) { + if (this._weekdaysParseExact) { + if (!hasOwnProp(this, "_weekdaysRegex")) { + computeWeekdaysParse.call(this); + } + if (isStrict) { + return this._weekdaysShortStrictRegex; + } else { + return this._weekdaysShortRegex; + } + } else { + if (!hasOwnProp(this, "_weekdaysShortRegex")) { + this._weekdaysShortRegex = defaultWeekdaysShortRegex; + } + return this._weekdaysShortStrictRegex && isStrict + ? this._weekdaysShortStrictRegex + : this._weekdaysShortRegex; + } + } + var defaultWeekdaysMinRegex = matchWord; + + function weekdaysMinRegex(isStrict) { + if (this._weekdaysParseExact) { + if (!hasOwnProp(this, "_weekdaysRegex")) { + computeWeekdaysParse.call(this); + } + if (isStrict) { + return this._weekdaysMinStrictRegex; + } else { + return this._weekdaysMinRegex; + } + } else { + if (!hasOwnProp(this, "_weekdaysMinRegex")) { + this._weekdaysMinRegex = defaultWeekdaysMinRegex; + } + return this._weekdaysMinStrictRegex && isStrict + ? this._weekdaysMinStrictRegex + : this._weekdaysMinRegex; + } + } + + function computeWeekdaysParse() { + function cmpLenRev(a, b) { + return b.length - a.length; + } + var minPieces = [], + shortPieces = [], + longPieces = [], + mixedPieces = [], + i, + mom, + minp, + shortp, + longp; + for (i = 0; i < 7; i++) { + mom = createUTC([2000, 1]).day(i); + minp = this.weekdaysMin(mom, ""); + shortp = this.weekdaysShort(mom, ""); + longp = this.weekdays(mom, ""); + minPieces.push(minp); + shortPieces.push(shortp); + longPieces.push(longp); + mixedPieces.push(minp); + mixedPieces.push(shortp); + mixedPieces.push(longp); + } + minPieces.sort(cmpLenRev); + shortPieces.sort(cmpLenRev); + longPieces.sort(cmpLenRev); + mixedPieces.sort(cmpLenRev); + for (i = 0; i < 7; i++) { + shortPieces[i] = regexEscape(shortPieces[i]); + longPieces[i] = regexEscape(longPieces[i]); + mixedPieces[i] = regexEscape(mixedPieces[i]); + } + this._weekdaysRegex = new RegExp( + "^(" + mixedPieces.join("|") + ")", + "i" + ); + this._weekdaysShortRegex = this._weekdaysRegex; + this._weekdaysMinRegex = this._weekdaysRegex; + this._weekdaysStrictRegex = new RegExp( + "^(" + longPieces.join("|") + ")", + "i" + ); + this._weekdaysShortStrictRegex = new RegExp( + "^(" + shortPieces.join("|") + ")", + "i" + ); + this._weekdaysMinStrictRegex = new RegExp( + "^(" + minPieces.join("|") + ")", + "i" + ); + } + + function hFormat() { + return this.hours() % 12 || 12; + } + + function kFormat() { + return this.hours() || 24; + } + addFormatToken("H", ["HH", 2], 0, "hour"); + addFormatToken("h", ["hh", 2], 0, hFormat); + addFormatToken("k", ["kk", 2], 0, kFormat); + addFormatToken("hmm", 0, 0, function() { + return "" + hFormat.apply(this) + zeroFill(this.minutes(), 2); + }); + addFormatToken("hmmss", 0, 0, function() { + return ( + "" + + hFormat.apply(this) + + zeroFill(this.minutes(), 2) + + zeroFill(this.seconds(), 2) + ); + }); + addFormatToken("Hmm", 0, 0, function() { + return "" + this.hours() + zeroFill(this.minutes(), 2); + }); + addFormatToken("Hmmss", 0, 0, function() { + return ( + "" + + this.hours() + + zeroFill(this.minutes(), 2) + + zeroFill(this.seconds(), 2) + ); + }); + + function meridiem(token, lowercase) { + addFormatToken(token, 0, 0, function() { + return this.localeData().meridiem( + this.hours(), + this.minutes(), + lowercase + ); + }); + } + meridiem("a", !0); + meridiem("A", !1); + addUnitAlias("hour", "h"); + addUnitPriority("hour", 13); + + function matchMeridiem(isStrict, locale) { + return locale._meridiemParse; + } + addRegexToken("a", matchMeridiem); + addRegexToken("A", matchMeridiem); + addRegexToken("H", match1to2); + addRegexToken("h", match1to2); + addRegexToken("k", match1to2); + addRegexToken("HH", match1to2, match2); + addRegexToken("hh", match1to2, match2); + addRegexToken("kk", match1to2, match2); + addRegexToken("hmm", match3to4); + addRegexToken("hmmss", match5to6); + addRegexToken("Hmm", match3to4); + addRegexToken("Hmmss", match5to6); + addParseToken(["H", "HH"], HOUR); + addParseToken(["k", "kk"], function(input, array, config) { + var kInput = toInt(input); + array[HOUR] = kInput === 24 ? 0 : kInput; + }); + addParseToken(["a", "A"], function(input, array, config) { + config._isPm = config._locale.isPM(input); + config._meridiem = input; + }); + addParseToken(["h", "hh"], function(input, array, config) { + array[HOUR] = toInt(input); + getParsingFlags(config).bigHour = !0; + }); + addParseToken("hmm", function(input, array, config) { + var pos = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos)); + array[MINUTE] = toInt(input.substr(pos)); + getParsingFlags(config).bigHour = !0; + }); + addParseToken("hmmss", function(input, array, config) { + var pos1 = input.length - 4; + var pos2 = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos1)); + array[MINUTE] = toInt(input.substr(pos1, 2)); + array[SECOND] = toInt(input.substr(pos2)); + getParsingFlags(config).bigHour = !0; + }); + addParseToken("Hmm", function(input, array, config) { + var pos = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos)); + array[MINUTE] = toInt(input.substr(pos)); + }); + addParseToken("Hmmss", function(input, array, config) { + var pos1 = input.length - 4; + var pos2 = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos1)); + array[MINUTE] = toInt(input.substr(pos1, 2)); + array[SECOND] = toInt(input.substr(pos2)); + }); + + function localeIsPM(input) { + return (input + "").toLowerCase().charAt(0) === "p"; + } + var defaultLocaleMeridiemParse = /[ap]\.?m?\.?/i; + + function localeMeridiem(hours, minutes, isLower) { + if (hours > 11) { + return isLower ? "pm" : "PM"; + } else { + return isLower ? "am" : "AM"; + } + } + var getSetHour = makeGetSet("Hours", !0); + var baseConfig = { + calendar: defaultCalendar, + longDateFormat: defaultLongDateFormat, + invalidDate: defaultInvalidDate, + ordinal: defaultOrdinal, + dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse, + relativeTime: defaultRelativeTime, + months: defaultLocaleMonths, + monthsShort: defaultLocaleMonthsShort, + week: defaultLocaleWeek, + weekdays: defaultLocaleWeekdays, + weekdaysMin: defaultLocaleWeekdaysMin, + weekdaysShort: defaultLocaleWeekdaysShort, + meridiemParse: defaultLocaleMeridiemParse + }; + var locales = {}; + var localeFamilies = {}; + var globalLocale; + + function normalizeLocale(key) { + return key ? key.toLowerCase().replace("_", "-") : key; + } + + function chooseLocale(names) { + var i = 0, + j, + next, + locale, + split; + while (i < names.length) { + split = normalizeLocale(names[i]).split("-"); + j = split.length; + next = normalizeLocale(names[i + 1]); + next = next ? next.split("-") : null; + while (j > 0) { + locale = loadLocale(split.slice(0, j).join("-")); + if (locale) { + return locale; + } + if ( + next && + next.length >= j && + compareArrays(split, next, !0) >= j - 1 + ) { + break; + } + j--; + } + i++; + } + return null; + } + + function loadLocale(name) { + var oldLocale = null; + if ( + !locales[name] && + typeof module !== "undefined" && + module && + module.exports + ) { + try { + oldLocale = globalLocale._abbr; + var aliasedRequire = require; + aliasedRequire("./locale/" + name); + getSetGlobalLocale(oldLocale); + } catch (e) {} + } + return locales[name]; + } + + function getSetGlobalLocale(key, values) { + var data; + if (key) { + if (isUndefined(values)) { + data = getLocale(key); + } else { + data = defineLocale(key, values); + } + if (data) { + globalLocale = data; + } + } + return globalLocale._abbr; + } + + function defineLocale(name, config) { + if (config !== null) { + var parentConfig = baseConfig; + config.abbr = name; + if (locales[name] != null) { + deprecateSimple( + "defineLocaleOverride", + "use moment.updateLocale(localeName, config) to change " + + "an existing locale. moment.defineLocale(localeName, " + + "config) should only be used for creating a new locale " + + "See http://momentjs.com/guides/#/warnings/define-locale/ for more info." + ); + parentConfig = locales[name]._config; + } else if (config.parentLocale != null) { + if (locales[config.parentLocale] != null) { + parentConfig = locales[config.parentLocale]._config; + } else { + if (!localeFamilies[config.parentLocale]) { + localeFamilies[config.parentLocale] = []; + } + localeFamilies[config.parentLocale].push({ + name: name, + config: config + }); + return null; + } + } + locales[name] = new Locale(mergeConfigs(parentConfig, config)); + if (localeFamilies[name]) { + localeFamilies[name].forEach(function(x) { + defineLocale(x.name, x.config); + }); + } + getSetGlobalLocale(name); + return locales[name]; + } else { + delete locales[name]; + return null; + } + } + + function updateLocale(name, config) { + if (config != null) { + var locale, + tmpLocale, + parentConfig = baseConfig; + tmpLocale = loadLocale(name); + if (tmpLocale != null) { + parentConfig = tmpLocale._config; + } + config = mergeConfigs(parentConfig, config); + locale = new Locale(config); + locale.parentLocale = locales[name]; + locales[name] = locale; + getSetGlobalLocale(name); + } else { + if (locales[name] != null) { + if (locales[name].parentLocale != null) { + locales[name] = locales[name].parentLocale; + } else if (locales[name] != null) { + delete locales[name]; + } + } + } + return locales[name]; + } + + function getLocale(key) { + var locale; + if (key && key._locale && key._locale._abbr) { + key = key._locale._abbr; + } + if (!key) { + return globalLocale; + } + if (!isArray(key)) { + locale = loadLocale(key); + if (locale) { + return locale; + } + key = [key]; + } + return chooseLocale(key); + } + + function listLocales() { + return keys(locales); + } + + function checkOverflow(m) { + var overflow; + var a = m._a; + if (a && getParsingFlags(m).overflow === -2) { + overflow = + a[MONTH] < 0 || a[MONTH] > 11 + ? MONTH + : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) + ? DATE + : a[HOUR] < 0 || + a[HOUR] > 24 || + (a[HOUR] === 24 && + (a[MINUTE] !== 0 || + a[SECOND] !== 0 || + a[MILLISECOND] !== 0)) + ? HOUR + : a[MINUTE] < 0 || a[MINUTE] > 59 + ? MINUTE + : a[SECOND] < 0 || a[SECOND] > 59 + ? SECOND + : a[MILLISECOND] < 0 || a[MILLISECOND] > 999 + ? MILLISECOND + : -1; + if ( + getParsingFlags(m)._overflowDayOfYear && + (overflow < YEAR || overflow > DATE) + ) { + overflow = DATE; + } + if (getParsingFlags(m)._overflowWeeks && overflow === -1) { + overflow = WEEK; + } + if (getParsingFlags(m)._overflowWeekday && overflow === -1) { + overflow = WEEKDAY; + } + getParsingFlags(m).overflow = overflow; + } + return m; + } + + function defaults(a, b, c) { + if (a != null) { + return a; + } + if (b != null) { + return b; + } + return c; + } + + function currentDateArray(config) { + var nowValue = new Date(hooks.now()); + if (config._useUTC) { + return [ + nowValue.getUTCFullYear(), + nowValue.getUTCMonth(), + nowValue.getUTCDate() + ]; + } + return [ + nowValue.getFullYear(), + nowValue.getMonth(), + nowValue.getDate() + ]; + } + + function configFromArray(config) { + var i, + date, + input = [], + currentDate, + yearToUse; + if (config._d) { + return; + } + currentDate = currentDateArray(config); + if (config._w && config._a[DATE] == null && config._a[MONTH] == null) { + dayOfYearFromWeekInfo(config); + } + if (config._dayOfYear != null) { + yearToUse = defaults(config._a[YEAR], currentDate[YEAR]); + if ( + config._dayOfYear > daysInYear(yearToUse) || + config._dayOfYear === 0 + ) { + getParsingFlags(config)._overflowDayOfYear = !0; + } + date = createUTCDate(yearToUse, 0, config._dayOfYear); + config._a[MONTH] = date.getUTCMonth(); + config._a[DATE] = date.getUTCDate(); + } + for (i = 0; i < 3 && config._a[i] == null; ++i) { + config._a[i] = input[i] = currentDate[i]; + } + for (; i < 7; i++) { + config._a[i] = input[i] = + config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i]; + } + if ( + config._a[HOUR] === 24 && + config._a[MINUTE] === 0 && + config._a[SECOND] === 0 && + config._a[MILLISECOND] === 0 + ) { + config._nextDay = !0; + config._a[HOUR] = 0; + } + config._d = (config._useUTC ? createUTCDate : createDate).apply( + null, + input + ); + if (config._tzm != null) { + config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm); + } + if (config._nextDay) { + config._a[HOUR] = 24; + } + if ( + config._w && + typeof config._w.d !== "undefined" && + config._w.d !== config._d.getDay() + ) { + getParsingFlags(config).weekdayMismatch = !0; + } + } + + function dayOfYearFromWeekInfo(config) { + var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow; + w = config._w; + if (w.GG != null || w.W != null || w.E != null) { + dow = 1; + doy = 4; + weekYear = defaults( + w.GG, + config._a[YEAR], + weekOfYear(createLocal(), 1, 4).year + ); + week = defaults(w.W, 1); + weekday = defaults(w.E, 1); + if (weekday < 1 || weekday > 7) { + weekdayOverflow = !0; + } + } else { + dow = config._locale._week.dow; + doy = config._locale._week.doy; + var curWeek = weekOfYear(createLocal(), dow, doy); + weekYear = defaults(w.gg, config._a[YEAR], curWeek.year); + week = defaults(w.w, curWeek.week); + if (w.d != null) { + weekday = w.d; + if (weekday < 0 || weekday > 6) { + weekdayOverflow = !0; + } + } else if (w.e != null) { + weekday = w.e + dow; + if (w.e < 0 || w.e > 6) { + weekdayOverflow = !0; + } + } else { + weekday = dow; + } + } + if (week < 1 || week > weeksInYear(weekYear, dow, doy)) { + getParsingFlags(config)._overflowWeeks = !0; + } else if (weekdayOverflow != null) { + getParsingFlags(config)._overflowWeekday = !0; + } else { + temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy); + config._a[YEAR] = temp.year; + config._dayOfYear = temp.dayOfYear; + } + } + var extendedIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/; + var basicIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/; + var tzRegex = /Z|[+-]\d\d(?::?\d\d)?/; + var isoDates = [ + ["YYYYYY-MM-DD", /[+-]\d{6}-\d\d-\d\d/], + ["YYYY-MM-DD", /\d{4}-\d\d-\d\d/], + ["GGGG-[W]WW-E", /\d{4}-W\d\d-\d/], + ["GGGG-[W]WW", /\d{4}-W\d\d/, !1], + ["YYYY-DDD", /\d{4}-\d{3}/], + ["YYYY-MM", /\d{4}-\d\d/, !1], + ["YYYYYYMMDD", /[+-]\d{10}/], + ["YYYYMMDD", /\d{8}/], + ["GGGG[W]WWE", /\d{4}W\d{3}/], + ["GGGG[W]WW", /\d{4}W\d{2}/, !1], + ["YYYYDDD", /\d{7}/] + ]; + var isoTimes = [ + ["HH:mm:ss.SSSS", /\d\d:\d\d:\d\d\.\d+/], + ["HH:mm:ss,SSSS", /\d\d:\d\d:\d\d,\d+/], + ["HH:mm:ss", /\d\d:\d\d:\d\d/], + ["HH:mm", /\d\d:\d\d/], + ["HHmmss.SSSS", /\d\d\d\d\d\d\.\d+/], + ["HHmmss,SSSS", /\d\d\d\d\d\d,\d+/], + ["HHmmss", /\d\d\d\d\d\d/], + ["HHmm", /\d\d\d\d/], + ["HH", /\d\d/] + ]; + var aspNetJsonRegex = /^\/?Date\((\-?\d+)/i; + + function configFromISO(config) { + var i, + l, + string = config._i, + match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string), + allowTime, + dateFormat, + timeFormat, + tzFormat; + if (match) { + getParsingFlags(config).iso = !0; + for (i = 0, l = isoDates.length; i < l; i++) { + if (isoDates[i][1].exec(match[1])) { + dateFormat = isoDates[i][0]; + allowTime = isoDates[i][2] !== !1; + break; + } + } + if (dateFormat == null) { + config._isValid = !1; + return; + } + if (match[3]) { + for (i = 0, l = isoTimes.length; i < l; i++) { + if (isoTimes[i][1].exec(match[3])) { + timeFormat = (match[2] || " ") + isoTimes[i][0]; + break; + } + } + if (timeFormat == null) { + config._isValid = !1; + return; + } + } + if (!allowTime && timeFormat != null) { + config._isValid = !1; + return; + } + if (match[4]) { + if (tzRegex.exec(match[4])) { + tzFormat = "Z"; + } else { + config._isValid = !1; + return; + } + } + config._f = dateFormat + (timeFormat || "") + (tzFormat || ""); + configFromStringAndFormat(config); + } else { + config._isValid = !1; + } + } + var rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/; + + function extractFromRFC2822Strings( + yearStr, + monthStr, + dayStr, + hourStr, + minuteStr, + secondStr + ) { + var result = [ + untruncateYear(yearStr), + defaultLocaleMonthsShort.indexOf(monthStr), + parseInt(dayStr, 10), + parseInt(hourStr, 10), + parseInt(minuteStr, 10) + ]; + if (secondStr) { + result.push(parseInt(secondStr, 10)); + } + return result; + } + + function untruncateYear(yearStr) { + var year = parseInt(yearStr, 10); + if (year <= 49) { + return 2000 + year; + } else if (year <= 999) { + return 1900 + year; + } + return year; + } + + function preprocessRFC2822(s) { + return s + .replace(/\([^)]*\)|[\n\t]/g, " ") + .replace(/(\s\s+)/g, " ") + .trim(); + } + + function checkWeekday(weekdayStr, parsedInput, config) { + if (weekdayStr) { + var weekdayProvided = defaultLocaleWeekdaysShort.indexOf( + weekdayStr + ), + weekdayActual = new Date( + parsedInput[0], + parsedInput[1], + parsedInput[2] + ).getDay(); + if (weekdayProvided !== weekdayActual) { + getParsingFlags(config).weekdayMismatch = !0; + config._isValid = !1; + return !1; + } + } + return !0; + } + var obsOffsets = { + UT: 0, + GMT: 0, + EDT: -4 * 60, + EST: -5 * 60, + CDT: -5 * 60, + CST: -6 * 60, + MDT: -6 * 60, + MST: -7 * 60, + PDT: -7 * 60, + PST: -8 * 60 + }; + + function calculateOffset(obsOffset, militaryOffset, numOffset) { + if (obsOffset) { + return obsOffsets[obsOffset]; + } else if (militaryOffset) { + return 0; + } else { + var hm = parseInt(numOffset, 10); + var m = hm % 100, + h = (hm - m) / 100; + return h * 60 + m; + } + } + + function configFromRFC2822(config) { + var match = rfc2822.exec(preprocessRFC2822(config._i)); + if (match) { + var parsedArray = extractFromRFC2822Strings( + match[4], + match[3], + match[2], + match[5], + match[6], + match[7] + ); + if (!checkWeekday(match[1], parsedArray, config)) { + return; + } + config._a = parsedArray; + config._tzm = calculateOffset(match[8], match[9], match[10]); + config._d = createUTCDate.apply(null, config._a); + config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm); + getParsingFlags(config).rfc2822 = !0; + } else { + config._isValid = !1; + } + } + + function configFromString(config) { + var matched = aspNetJsonRegex.exec(config._i); + if (matched !== null) { + config._d = new Date(+matched[1]); + return; + } + configFromISO(config); + if (config._isValid === !1) { + delete config._isValid; + } else { + return; + } + configFromRFC2822(config); + if (config._isValid === !1) { + delete config._isValid; + } else { + return; + } + hooks.createFromInputFallback(config); + } + hooks.createFromInputFallback = deprecate( + "value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), " + + "which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are " + + "discouraged and will be removed in an upcoming major release. Please refer to " + + "http://momentjs.com/guides/#/warnings/js-date/ for more info.", + function(config) { + config._d = new Date(config._i + (config._useUTC ? " UTC" : "")); + } + ); + hooks.ISO_8601 = function() {}; + hooks.RFC_2822 = function() {}; + + function configFromStringAndFormat(config) { + if (config._f === hooks.ISO_8601) { + configFromISO(config); + return; + } + if (config._f === hooks.RFC_2822) { + configFromRFC2822(config); + return; + } + config._a = []; + getParsingFlags(config).empty = !0; + var string = "" + config._i, + i, + parsedInput, + tokens, + token, + skipped, + stringLength = string.length, + totalParsedInputLength = 0; + tokens = + expandFormat(config._f, config._locale).match(formattingTokens) || + []; + for (i = 0; i < tokens.length; i++) { + token = tokens[i]; + parsedInput = (string.match(getParseRegexForToken(token, config)) || + [])[0]; + if (parsedInput) { + skipped = string.substr(0, string.indexOf(parsedInput)); + if (skipped.length > 0) { + getParsingFlags(config).unusedInput.push(skipped); + } + string = string.slice( + string.indexOf(parsedInput) + parsedInput.length + ); + totalParsedInputLength += parsedInput.length; + } + if (formatTokenFunctions[token]) { + if (parsedInput) { + getParsingFlags(config).empty = !1; + } else { + getParsingFlags(config).unusedTokens.push(token); + } + addTimeToArrayFromToken(token, parsedInput, config); + } else if (config._strict && !parsedInput) { + getParsingFlags(config).unusedTokens.push(token); + } + } + getParsingFlags(config).charsLeftOver = + stringLength - totalParsedInputLength; + if (string.length > 0) { + getParsingFlags(config).unusedInput.push(string); + } + if ( + config._a[HOUR] <= 12 && + getParsingFlags(config).bigHour === !0 && + config._a[HOUR] > 0 + ) { + getParsingFlags(config).bigHour = undefined; + } + getParsingFlags(config).parsedDateParts = config._a.slice(0); + getParsingFlags(config).meridiem = config._meridiem; + config._a[HOUR] = meridiemFixWrap( + config._locale, + config._a[HOUR], + config._meridiem + ); + configFromArray(config); + checkOverflow(config); + } + + function meridiemFixWrap(locale, hour, meridiem) { + var isPm; + if (meridiem == null) { + return hour; + } + if (locale.meridiemHour != null) { + return locale.meridiemHour(hour, meridiem); + } else if (locale.isPM != null) { + isPm = locale.isPM(meridiem); + if (isPm && hour < 12) { + hour += 12; + } + if (!isPm && hour === 12) { + hour = 0; + } + return hour; + } else { + return hour; + } + } + + function configFromStringAndArray(config) { + var tempConfig, bestMoment, scoreToBeat, i, currentScore; + if (config._f.length === 0) { + getParsingFlags(config).invalidFormat = !0; + config._d = new Date(NaN); + return; + } + for (i = 0; i < config._f.length; i++) { + currentScore = 0; + tempConfig = copyConfig({}, config); + if (config._useUTC != null) { + tempConfig._useUTC = config._useUTC; + } + tempConfig._f = config._f[i]; + configFromStringAndFormat(tempConfig); + if (!isValid(tempConfig)) { + continue; + } + currentScore += getParsingFlags(tempConfig).charsLeftOver; + currentScore += + getParsingFlags(tempConfig).unusedTokens.length * 10; + getParsingFlags(tempConfig).score = currentScore; + if (scoreToBeat == null || currentScore < scoreToBeat) { + scoreToBeat = currentScore; + bestMoment = tempConfig; + } + } + extend(config, bestMoment || tempConfig); + } + + function configFromObject(config) { + if (config._d) { + return; + } + var i = normalizeObjectUnits(config._i); + config._a = map( + [ + i.year, + i.month, + i.day || i.date, + i.hour, + i.minute, + i.second, + i.millisecond + ], + function(obj) { + return obj && parseInt(obj, 10); + } + ); + configFromArray(config); + } + + function createFromConfig(config) { + var res = new Moment(checkOverflow(prepareConfig(config))); + if (res._nextDay) { + res.add(1, "d"); + res._nextDay = undefined; + } + return res; + } + + function prepareConfig(config) { + var input = config._i, + format = config._f; + config._locale = config._locale || getLocale(config._l); + if (input === null || (format === undefined && input === "")) { + return createInvalid({ + nullInput: !0 + }); + } + if (typeof input === "string") { + config._i = input = config._locale.preparse(input); + } + if (isMoment(input)) { + return new Moment(checkOverflow(input)); + } else if (isDate(input)) { + config._d = input; + } else if (isArray(format)) { + configFromStringAndArray(config); + } else if (format) { + configFromStringAndFormat(config); + } else { + configFromInput(config); + } + if (!isValid(config)) { + config._d = null; + } + return config; + } + + function configFromInput(config) { + var input = config._i; + if (isUndefined(input)) { + config._d = new Date(hooks.now()); + } else if (isDate(input)) { + config._d = new Date(input.valueOf()); + } else if (typeof input === "string") { + configFromString(config); + } else if (isArray(input)) { + config._a = map(input.slice(0), function(obj) { + return parseInt(obj, 10); + }); + configFromArray(config); + } else if (isObject(input)) { + configFromObject(config); + } else if (isNumber(input)) { + config._d = new Date(input); + } else { + hooks.createFromInputFallback(config); + } + } + + function createLocalOrUTC(input, format, locale, strict, isUTC) { + var c = {}; + if (locale === !0 || locale === !1) { + strict = locale; + locale = undefined; + } + if ( + (isObject(input) && isObjectEmpty(input)) || + (isArray(input) && input.length === 0) + ) { + input = undefined; + } + c._isAMomentObject = !0; + c._useUTC = c._isUTC = isUTC; + c._l = locale; + c._i = input; + c._f = format; + c._strict = strict; + return createFromConfig(c); + } + + function createLocal(input, format, locale, strict) { + return createLocalOrUTC(input, format, locale, strict, !1); + } + var prototypeMin = deprecate( + "moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/", + function() { + var other = createLocal.apply(null, arguments); + if (this.isValid() && other.isValid()) { + return other < this ? this : other; + } else { + return createInvalid(); + } + } + ); + var prototypeMax = deprecate( + "moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/", + function() { + var other = createLocal.apply(null, arguments); + if (this.isValid() && other.isValid()) { + return other > this ? this : other; + } else { + return createInvalid(); + } + } + ); + + function pickBy(fn, moments) { + var res, i; + if (moments.length === 1 && isArray(moments[0])) { + moments = moments[0]; + } + if (!moments.length) { + return createLocal(); + } + res = moments[0]; + for (i = 1; i < moments.length; ++i) { + if (!moments[i].isValid() || moments[i][fn](res)) { + res = moments[i]; + } + } + return res; + } + + function min() { + var args = [].slice.call(arguments, 0); + return pickBy("isBefore", args); + } + + function max() { + var args = [].slice.call(arguments, 0); + return pickBy("isAfter", args); + } + var now = function() { + return Date.now ? Date.now() : +new Date(); + }; + var ordering = [ + "year", + "quarter", + "month", + "week", + "day", + "hour", + "minute", + "second", + "millisecond" + ]; + + function isDurationValid(m) { + for (var key in m) { + if ( + !( + indexOf.call(ordering, key) !== -1 && + (m[key] == null || !isNaN(m[key])) + ) + ) { + return !1; + } + } + var unitHasDecimal = !1; + for (var i = 0; i < ordering.length; ++i) { + if (m[ordering[i]]) { + if (unitHasDecimal) { + return !1; + } + if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) { + unitHasDecimal = !0; + } + } + } + return !0; + } + + function isValid$1() { + return this._isValid; + } + + function createInvalid$1() { + return createDuration(NaN); + } + + function Duration(duration) { + var normalizedInput = normalizeObjectUnits(duration), + years = normalizedInput.year || 0, + quarters = normalizedInput.quarter || 0, + months = normalizedInput.month || 0, + weeks = normalizedInput.week || 0, + days = normalizedInput.day || 0, + hours = normalizedInput.hour || 0, + minutes = normalizedInput.minute || 0, + seconds = normalizedInput.second || 0, + milliseconds = normalizedInput.millisecond || 0; + this._isValid = isDurationValid(normalizedInput); + this._milliseconds = + +milliseconds + + seconds * 1e3 + + minutes * 6e4 + + hours * 1000 * 60 * 60; + this._days = +days + weeks * 7; + this._months = +months + quarters * 3 + years * 12; + this._data = {}; + this._locale = getLocale(); + this._bubble(); + } + + function isDuration(obj) { + return obj instanceof Duration; + } + + function absRound(number) { + if (number < 0) { + return Math.round(-1 * number) * -1; + } else { + return Math.round(number); + } + } + + function offset(token, separator) { + addFormatToken(token, 0, 0, function() { + var offset = this.utcOffset(); + var sign = "+"; + if (offset < 0) { + offset = -offset; + sign = "-"; + } + return ( + sign + + zeroFill(~~(offset / 60), 2) + + separator + + zeroFill(~~offset % 60, 2) + ); + }); + } + offset("Z", ":"); + offset("ZZ", ""); + addRegexToken("Z", matchShortOffset); + addRegexToken("ZZ", matchShortOffset); + addParseToken(["Z", "ZZ"], function(input, array, config) { + config._useUTC = !0; + config._tzm = offsetFromString(matchShortOffset, input); + }); + var chunkOffset = /([\+\-]|\d\d)/gi; + + function offsetFromString(matcher, string) { + var matches = (string || "").match(matcher); + if (matches === null) { + return null; + } + var chunk = matches[matches.length - 1] || []; + var parts = (chunk + "").match(chunkOffset) || ["-", 0, 0]; + var minutes = +(parts[1] * 60) + toInt(parts[2]); + return minutes === 0 ? 0 : parts[0] === "+" ? minutes : -minutes; + } + + function cloneWithOffset(input, model) { + var res, diff; + if (model._isUTC) { + res = model.clone(); + diff = + (isMoment(input) || isDate(input) + ? input.valueOf() + : createLocal(input).valueOf()) - res.valueOf(); + res._d.setTime(res._d.valueOf() + diff); + hooks.updateOffset(res, !1); + return res; + } else { + return createLocal(input).local(); + } + } + + function getDateOffset(m) { + return -Math.round(m._d.getTimezoneOffset() / 15) * 15; + } + hooks.updateOffset = function() {}; + + function getSetOffset(input, keepLocalTime, keepMinutes) { + var offset = this._offset || 0, + localAdjust; + if (!this.isValid()) { + return input != null ? this : NaN; + } + if (input != null) { + if (typeof input === "string") { + input = offsetFromString(matchShortOffset, input); + if (input === null) { + return this; + } + } else if (Math.abs(input) < 16 && !keepMinutes) { + input = input * 60; + } + if (!this._isUTC && keepLocalTime) { + localAdjust = getDateOffset(this); + } + this._offset = input; + this._isUTC = !0; + if (localAdjust != null) { + this.add(localAdjust, "m"); + } + if (offset !== input) { + if (!keepLocalTime || this._changeInProgress) { + addSubtract( + this, + createDuration(input - offset, "m"), + 1, + !1 + ); + } else if (!this._changeInProgress) { + this._changeInProgress = !0; + hooks.updateOffset(this, !0); + this._changeInProgress = null; + } + } + return this; + } else { + return this._isUTC ? offset : getDateOffset(this); + } + } + + function getSetZone(input, keepLocalTime) { + if (input != null) { + if (typeof input !== "string") { + input = -input; + } + this.utcOffset(input, keepLocalTime); + return this; + } else { + return -this.utcOffset(); + } + } + + function setOffsetToUTC(keepLocalTime) { + return this.utcOffset(0, keepLocalTime); + } + + function setOffsetToLocal(keepLocalTime) { + if (this._isUTC) { + this.utcOffset(0, keepLocalTime); + this._isUTC = !1; + if (keepLocalTime) { + this.subtract(getDateOffset(this), "m"); + } + } + return this; + } + + function setOffsetToParsedOffset() { + if (this._tzm != null) { + this.utcOffset(this._tzm, !1, !0); + } else if (typeof this._i === "string") { + var tZone = offsetFromString(matchOffset, this._i); + if (tZone != null) { + this.utcOffset(tZone); + } else { + this.utcOffset(0, !0); + } + } + return this; + } + + function hasAlignedHourOffset(input) { + if (!this.isValid()) { + return !1; + } + input = input ? createLocal(input).utcOffset() : 0; + return (this.utcOffset() - input) % 60 === 0; + } + + function isDaylightSavingTime() { + return ( + this.utcOffset() > + this.clone() + .month(0) + .utcOffset() || + this.utcOffset() > + this.clone() + .month(5) + .utcOffset() + ); + } + + function isDaylightSavingTimeShifted() { + if (!isUndefined(this._isDSTShifted)) { + return this._isDSTShifted; + } + var c = {}; + copyConfig(c, this); + c = prepareConfig(c); + if (c._a) { + var other = c._isUTC ? createUTC(c._a) : createLocal(c._a); + this._isDSTShifted = + this.isValid() && compareArrays(c._a, other.toArray()) > 0; + } else { + this._isDSTShifted = !1; + } + return this._isDSTShifted; + } + + function isLocal() { + return this.isValid() ? !this._isUTC : !1; + } + + function isUtcOffset() { + return this.isValid() ? this._isUTC : !1; + } + + function isUtc() { + return this.isValid() ? this._isUTC && this._offset === 0 : !1; + } + var aspNetRegex = /^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/; + var isoRegex = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/; + + function createDuration(input, key) { + var duration = input, + match = null, + sign, + ret, + diffRes; + if (isDuration(input)) { + duration = { + ms: input._milliseconds, + d: input._days, + M: input._months + }; + } else if (isNumber(input)) { + duration = {}; + if (key) { + duration[key] = input; + } else { + duration.milliseconds = input; + } + } else if (!!(match = aspNetRegex.exec(input))) { + sign = match[1] === "-" ? -1 : 1; + duration = { + y: 0, + d: toInt(match[DATE]) * sign, + h: toInt(match[HOUR]) * sign, + m: toInt(match[MINUTE]) * sign, + s: toInt(match[SECOND]) * sign, + ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign + }; + } else if (!!(match = isoRegex.exec(input))) { + sign = match[1] === "-" ? -1 : match[1] === "+" ? 1 : 1; + duration = { + y: parseIso(match[2], sign), + M: parseIso(match[3], sign), + w: parseIso(match[4], sign), + d: parseIso(match[5], sign), + h: parseIso(match[6], sign), + m: parseIso(match[7], sign), + s: parseIso(match[8], sign) + }; + } else if (duration == null) { + duration = {}; + } else if ( + typeof duration === "object" && + ("from" in duration || "to" in duration) + ) { + diffRes = momentsDifference( + createLocal(duration.from), + createLocal(duration.to) + ); + duration = {}; + duration.ms = diffRes.milliseconds; + duration.M = diffRes.months; + } + ret = new Duration(duration); + if (isDuration(input) && hasOwnProp(input, "_locale")) { + ret._locale = input._locale; + } + return ret; + } + createDuration.fn = Duration.prototype; + createDuration.invalid = createInvalid$1; + + function parseIso(inp, sign) { + var res = inp && parseFloat(inp.replace(",", ".")); + return (isNaN(res) ? 0 : res) * sign; + } + + function positiveMomentsDifference(base, other) { + var res = { + milliseconds: 0, + months: 0 + }; + res.months = + other.month() - base.month() + (other.year() - base.year()) * 12; + if ( + base + .clone() + .add(res.months, "M") + .isAfter(other) + ) { + --res.months; + } + res.milliseconds = +other - +base.clone().add(res.months, "M"); + return res; + } + + function momentsDifference(base, other) { + var res; + if (!(base.isValid() && other.isValid())) { + return { + milliseconds: 0, + months: 0 + }; + } + other = cloneWithOffset(other, base); + if (base.isBefore(other)) { + res = positiveMomentsDifference(base, other); + } else { + res = positiveMomentsDifference(other, base); + res.milliseconds = -res.milliseconds; + res.months = -res.months; + } + return res; + } + + function createAdder(direction, name) { + return function(val, period) { + var dur, tmp; + if (period !== null && !isNaN(+period)) { + deprecateSimple( + name, + "moment()." + + name + + "(period, number) is deprecated. Please use moment()." + + name + + "(number, period). " + + "See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info." + ); + tmp = val; + val = period; + period = tmp; + } + val = typeof val === "string" ? +val : val; + dur = createDuration(val, period); + addSubtract(this, dur, direction); + return this; + }; + } + + function addSubtract(mom, duration, isAdding, updateOffset) { + var milliseconds = duration._milliseconds, + days = absRound(duration._days), + months = absRound(duration._months); + if (!mom.isValid()) { + return; + } + updateOffset = updateOffset == null ? !0 : updateOffset; + if (months) { + setMonth(mom, get(mom, "Month") + months * isAdding); + } + if (days) { + set$1(mom, "Date", get(mom, "Date") + days * isAdding); + } + if (milliseconds) { + mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding); + } + if (updateOffset) { + hooks.updateOffset(mom, days || months); + } + } + var add = createAdder(1, "add"); + var subtract = createAdder(-1, "subtract"); + + function getCalendarFormat(myMoment, now) { + var diff = myMoment.diff(now, "days", !0); + return diff < -6 + ? "sameElse" + : diff < -1 + ? "lastWeek" + : diff < 0 + ? "lastDay" + : diff < 1 + ? "sameDay" + : diff < 2 + ? "nextDay" + : diff < 7 + ? "nextWeek" + : "sameElse"; + } + + function calendar$1(time, formats) { + var now = time || createLocal(), + sod = cloneWithOffset(now, this).startOf("day"), + format = hooks.calendarFormat(this, sod) || "sameElse"; + var output = + formats && + (isFunction(formats[format]) + ? formats[format].call(this, now) + : formats[format]); + return this.format( + output || this.localeData().calendar(format, this, createLocal(now)) + ); + } + + function clone() { + return new Moment(this); + } + + function isAfter(input, units) { + var localInput = isMoment(input) ? input : createLocal(input); + if (!(this.isValid() && localInput.isValid())) { + return !1; + } + units = normalizeUnits(!isUndefined(units) ? units : "millisecond"); + if (units === "millisecond") { + return this.valueOf() > localInput.valueOf(); + } else { + return ( + localInput.valueOf() < + this.clone() + .startOf(units) + .valueOf() + ); + } + } + + function isBefore(input, units) { + var localInput = isMoment(input) ? input : createLocal(input); + if (!(this.isValid() && localInput.isValid())) { + return !1; + } + units = normalizeUnits(!isUndefined(units) ? units : "millisecond"); + if (units === "millisecond") { + return this.valueOf() < localInput.valueOf(); + } else { + return ( + this.clone() + .endOf(units) + .valueOf() < localInput.valueOf() + ); + } + } + + function isBetween(from, to, units, inclusivity) { + inclusivity = inclusivity || "()"; + return ( + (inclusivity[0] === "(" + ? this.isAfter(from, units) + : !this.isBefore(from, units)) && + (inclusivity[1] === ")" + ? this.isBefore(to, units) + : !this.isAfter(to, units)) + ); + } + + function isSame(input, units) { + var localInput = isMoment(input) ? input : createLocal(input), + inputMs; + if (!(this.isValid() && localInput.isValid())) { + return !1; + } + units = normalizeUnits(units || "millisecond"); + if (units === "millisecond") { + return this.valueOf() === localInput.valueOf(); + } else { + inputMs = localInput.valueOf(); + return ( + this.clone() + .startOf(units) + .valueOf() <= inputMs && + inputMs <= + this.clone() + .endOf(units) + .valueOf() + ); + } + } + + function isSameOrAfter(input, units) { + return this.isSame(input, units) || this.isAfter(input, units); + } + + function isSameOrBefore(input, units) { + return this.isSame(input, units) || this.isBefore(input, units); + } + + function diff(input, units, asFloat) { + var that, zoneDelta, delta, output; + if (!this.isValid()) { + return NaN; + } + that = cloneWithOffset(input, this); + if (!that.isValid()) { + return NaN; + } + zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4; + units = normalizeUnits(units); + switch (units) { + case "year": + output = monthDiff(this, that) / 12; + break; + case "month": + output = monthDiff(this, that); + break; + case "quarter": + output = monthDiff(this, that) / 3; + break; + case "second": + output = (this - that) / 1e3; + break; + case "minute": + output = (this - that) / 6e4; + break; + case "hour": + output = (this - that) / 36e5; + break; + case "day": + output = (this - that - zoneDelta) / 864e5; + break; + case "week": + output = (this - that - zoneDelta) / 6048e5; + break; + default: + output = this - that; + } + return asFloat ? output : absFloor(output); + } + + function monthDiff(a, b) { + var wholeMonthDiff = + (b.year() - a.year()) * 12 + (b.month() - a.month()), + anchor = a.clone().add(wholeMonthDiff, "months"), + anchor2, + adjust; + if (b - anchor < 0) { + anchor2 = a.clone().add(wholeMonthDiff - 1, "months"); + adjust = (b - anchor) / (anchor - anchor2); + } else { + anchor2 = a.clone().add(wholeMonthDiff + 1, "months"); + adjust = (b - anchor) / (anchor2 - anchor); + } + return -(wholeMonthDiff + adjust) || 0; + } + hooks.defaultFormat = "YYYY-MM-DDTHH:mm:ssZ"; + hooks.defaultFormatUtc = "YYYY-MM-DDTHH:mm:ss[Z]"; + + function toString() { + return this.clone() + .locale("en") + .format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ"); + } + + function toISOString() { + if (!this.isValid()) { + return null; + } + var m = this.clone().utc(); + if (m.year() < 0 || m.year() > 9999) { + return formatMoment(m, "YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]"); + } + if (isFunction(Date.prototype.toISOString)) { + return this.toDate().toISOString(); + } + return formatMoment(m, "YYYY-MM-DD[T]HH:mm:ss.SSS[Z]"); + } + + function inspect() { + if (!this.isValid()) { + return "moment.invalid(/* " + this._i + " */)"; + } + var func = "moment"; + var zone = ""; + if (!this.isLocal()) { + func = this.utcOffset() === 0 ? "moment.utc" : "moment.parseZone"; + zone = "Z"; + } + var prefix = "[" + func + '("]'; + var year = 0 <= this.year() && this.year() <= 9999 ? "YYYY" : "YYYYYY"; + var datetime = "-MM-DD[T]HH:mm:ss.SSS"; + var suffix = zone + '[")]'; + return this.format(prefix + year + datetime + suffix); + } + + function format(inputString) { + if (!inputString) { + inputString = this.isUtc() + ? hooks.defaultFormatUtc + : hooks.defaultFormat; + } + var output = formatMoment(this, inputString); + return this.localeData().postformat(output); + } + + function from(time, withoutSuffix) { + if ( + this.isValid() && + ((isMoment(time) && time.isValid()) || createLocal(time).isValid()) + ) { + return createDuration({ + to: this, + from: time + }) + .locale(this.locale()) + .humanize(!withoutSuffix); + } else { + return this.localeData().invalidDate(); + } + } + + function fromNow(withoutSuffix) { + return this.from(createLocal(), withoutSuffix); + } + + function to(time, withoutSuffix) { + if ( + this.isValid() && + ((isMoment(time) && time.isValid()) || createLocal(time).isValid()) + ) { + return createDuration({ + from: this, + to: time + }) + .locale(this.locale()) + .humanize(!withoutSuffix); + } else { + return this.localeData().invalidDate(); + } + } + + function toNow(withoutSuffix) { + return this.to(createLocal(), withoutSuffix); + } + + function locale(key) { + var newLocaleData; + if (key === undefined) { + return this._locale._abbr; + } else { + newLocaleData = getLocale(key); + if (newLocaleData != null) { + this._locale = newLocaleData; + } + return this; + } + } + var lang = deprecate( + "moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.", + function(key) { + if (key === undefined) { + return this.localeData(); + } else { + return this.locale(key); + } + } + ); + + function localeData() { + return this._locale; + } + + function startOf(units) { + units = normalizeUnits(units); + switch (units) { + case "year": + this.month(0); + case "quarter": + case "month": + this.date(1); + case "week": + case "isoWeek": + case "day": + case "date": + this.hours(0); + case "hour": + this.minutes(0); + case "minute": + this.seconds(0); + case "second": + this.milliseconds(0); + } + if (units === "week") { + this.weekday(0); + } + if (units === "isoWeek") { + this.isoWeekday(1); + } + if (units === "quarter") { + this.month(Math.floor(this.month() / 3) * 3); + } + return this; + } + + function endOf(units) { + units = normalizeUnits(units); + if (units === undefined || units === "millisecond") { + return this; + } + if (units === "date") { + units = "day"; + } + return this.startOf(units) + .add(1, units === "isoWeek" ? "week" : units) + .subtract(1, "ms"); + } + + function valueOf() { + return this._d.valueOf() - (this._offset || 0) * 60000; + } + + function unix() { + return Math.floor(this.valueOf() / 1000); + } + + function toDate() { + return new Date(this.valueOf()); + } + + function toArray() { + var m = this; + return [ + m.year(), + m.month(), + m.date(), + m.hour(), + m.minute(), + m.second(), + m.millisecond() + ]; + } + + function toObject() { + var m = this; + return { + years: m.year(), + months: m.month(), + date: m.date(), + hours: m.hours(), + minutes: m.minutes(), + seconds: m.seconds(), + milliseconds: m.milliseconds() + }; + } + + function toJSON() { + return this.isValid() ? this.toISOString() : null; + } + + function isValid$2() { + return isValid(this); + } + + function parsingFlags() { + return extend({}, getParsingFlags(this)); + } + + function invalidAt() { + return getParsingFlags(this).overflow; + } + + function creationData() { + return { + input: this._i, + format: this._f, + locale: this._locale, + isUTC: this._isUTC, + strict: this._strict + }; + } + addFormatToken(0, ["gg", 2], 0, function() { + return this.weekYear() % 100; + }); + addFormatToken(0, ["GG", 2], 0, function() { + return this.isoWeekYear() % 100; + }); + + function addWeekYearFormatToken(token, getter) { + addFormatToken(0, [token, token.length], 0, getter); + } + addWeekYearFormatToken("gggg", "weekYear"); + addWeekYearFormatToken("ggggg", "weekYear"); + addWeekYearFormatToken("GGGG", "isoWeekYear"); + addWeekYearFormatToken("GGGGG", "isoWeekYear"); + addUnitAlias("weekYear", "gg"); + addUnitAlias("isoWeekYear", "GG"); + addUnitPriority("weekYear", 1); + addUnitPriority("isoWeekYear", 1); + addRegexToken("G", matchSigned); + addRegexToken("g", matchSigned); + addRegexToken("GG", match1to2, match2); + addRegexToken("gg", match1to2, match2); + addRegexToken("GGGG", match1to4, match4); + addRegexToken("gggg", match1to4, match4); + addRegexToken("GGGGG", match1to6, match6); + addRegexToken("ggggg", match1to6, match6); + addWeekParseToken(["gggg", "ggggg", "GGGG", "GGGGG"], function( + input, + week, + config, + token + ) { + week[token.substr(0, 2)] = toInt(input); + }); + addWeekParseToken(["gg", "GG"], function(input, week, config, token) { + week[token] = hooks.parseTwoDigitYear(input); + }); + + function getSetWeekYear(input) { + return getSetWeekYearHelper.call( + this, + input, + this.week(), + this.weekday(), + this.localeData()._week.dow, + this.localeData()._week.doy + ); + } + + function getSetISOWeekYear(input) { + return getSetWeekYearHelper.call( + this, + input, + this.isoWeek(), + this.isoWeekday(), + 1, + 4 + ); + } + + function getISOWeeksInYear() { + return weeksInYear(this.year(), 1, 4); + } + + function getWeeksInYear() { + var weekInfo = this.localeData()._week; + return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy); + } + + function getSetWeekYearHelper(input, week, weekday, dow, doy) { + var weeksTarget; + if (input == null) { + return weekOfYear(this, dow, doy).year; + } else { + weeksTarget = weeksInYear(input, dow, doy); + if (week > weeksTarget) { + week = weeksTarget; + } + return setWeekAll.call(this, input, week, weekday, dow, doy); + } + } + + function setWeekAll(weekYear, week, weekday, dow, doy) { + var dayOfYearData = dayOfYearFromWeeks( + weekYear, + week, + weekday, + dow, + doy + ), + date = createUTCDate( + dayOfYearData.year, + 0, + dayOfYearData.dayOfYear + ); + this.year(date.getUTCFullYear()); + this.month(date.getUTCMonth()); + this.date(date.getUTCDate()); + return this; + } + addFormatToken("Q", 0, "Qo", "quarter"); + addUnitAlias("quarter", "Q"); + addUnitPriority("quarter", 7); + addRegexToken("Q", match1); + addParseToken("Q", function(input, array) { + array[MONTH] = (toInt(input) - 1) * 3; + }); + + function getSetQuarter(input) { + return input == null + ? Math.ceil((this.month() + 1) / 3) + : this.month((input - 1) * 3 + (this.month() % 3)); + } + addFormatToken("D", ["DD", 2], "Do", "date"); + addUnitAlias("date", "D"); + addUnitPriority("date", 9); + addRegexToken("D", match1to2); + addRegexToken("DD", match1to2, match2); + addRegexToken("Do", function(isStrict, locale) { + return isStrict + ? locale._dayOfMonthOrdinalParse || locale._ordinalParse + : locale._dayOfMonthOrdinalParseLenient; + }); + addParseToken(["D", "DD"], DATE); + addParseToken("Do", function(input, array) { + array[DATE] = toInt(input.match(match1to2)[0], 10); + }); + var getSetDayOfMonth = makeGetSet("Date", !0); + addFormatToken("DDD", ["DDDD", 3], "DDDo", "dayOfYear"); + addUnitAlias("dayOfYear", "DDD"); + addUnitPriority("dayOfYear", 4); + addRegexToken("DDD", match1to3); + addRegexToken("DDDD", match3); + addParseToken(["DDD", "DDDD"], function(input, array, config) { + config._dayOfYear = toInt(input); + }); + + function getSetDayOfYear(input) { + var dayOfYear = + Math.round( + (this.clone().startOf("day") - this.clone().startOf("year")) / + 864e5 + ) + 1; + return input == null ? dayOfYear : this.add(input - dayOfYear, "d"); + } + addFormatToken("m", ["mm", 2], 0, "minute"); + addUnitAlias("minute", "m"); + addUnitPriority("minute", 14); + addRegexToken("m", match1to2); + addRegexToken("mm", match1to2, match2); + addParseToken(["m", "mm"], MINUTE); + var getSetMinute = makeGetSet("Minutes", !1); + addFormatToken("s", ["ss", 2], 0, "second"); + addUnitAlias("second", "s"); + addUnitPriority("second", 15); + addRegexToken("s", match1to2); + addRegexToken("ss", match1to2, match2); + addParseToken(["s", "ss"], SECOND); + var getSetSecond = makeGetSet("Seconds", !1); + addFormatToken("S", 0, 0, function() { + return ~~(this.millisecond() / 100); + }); + addFormatToken(0, ["SS", 2], 0, function() { + return ~~(this.millisecond() / 10); + }); + addFormatToken(0, ["SSS", 3], 0, "millisecond"); + addFormatToken(0, ["SSSS", 4], 0, function() { + return this.millisecond() * 10; + }); + addFormatToken(0, ["SSSSS", 5], 0, function() { + return this.millisecond() * 100; + }); + addFormatToken(0, ["SSSSSS", 6], 0, function() { + return this.millisecond() * 1000; + }); + addFormatToken(0, ["SSSSSSS", 7], 0, function() { + return this.millisecond() * 10000; + }); + addFormatToken(0, ["SSSSSSSS", 8], 0, function() { + return this.millisecond() * 100000; + }); + addFormatToken(0, ["SSSSSSSSS", 9], 0, function() { + return this.millisecond() * 1000000; + }); + addUnitAlias("millisecond", "ms"); + addUnitPriority("millisecond", 16); + addRegexToken("S", match1to3, match1); + addRegexToken("SS", match1to3, match2); + addRegexToken("SSS", match1to3, match3); + var token; + for (token = "SSSS"; token.length <= 9; token += "S") { + addRegexToken(token, matchUnsigned); + } + + function parseMs(input, array) { + array[MILLISECOND] = toInt(("0." + input) * 1000); + } + for (token = "S"; token.length <= 9; token += "S") { + addParseToken(token, parseMs); + } + var getSetMillisecond = makeGetSet("Milliseconds", !1); + addFormatToken("z", 0, 0, "zoneAbbr"); + addFormatToken("zz", 0, 0, "zoneName"); + + function getZoneAbbr() { + return this._isUTC ? "UTC" : ""; + } + + function getZoneName() { + return this._isUTC ? "Coordinated Universal Time" : ""; + } + var proto = Moment.prototype; + proto.add = add; + proto.calendar = calendar$1; + proto.clone = clone; + proto.diff = diff; + proto.endOf = endOf; + proto.format = format; + proto.from = from; + proto.fromNow = fromNow; + proto.to = to; + proto.toNow = toNow; + proto.get = stringGet; + proto.invalidAt = invalidAt; + proto.isAfter = isAfter; + proto.isBefore = isBefore; + proto.isBetween = isBetween; + proto.isSame = isSame; + proto.isSameOrAfter = isSameOrAfter; + proto.isSameOrBefore = isSameOrBefore; + proto.isValid = isValid$2; + proto.lang = lang; + proto.locale = locale; + proto.localeData = localeData; + proto.max = prototypeMax; + proto.min = prototypeMin; + proto.parsingFlags = parsingFlags; + proto.set = stringSet; + proto.startOf = startOf; + proto.subtract = subtract; + proto.toArray = toArray; + proto.toObject = toObject; + proto.toDate = toDate; + proto.toISOString = toISOString; + proto.inspect = inspect; + proto.toJSON = toJSON; + proto.toString = toString; + proto.unix = unix; + proto.valueOf = valueOf; + proto.creationData = creationData; + proto.year = getSetYear; + proto.isLeapYear = getIsLeapYear; + proto.weekYear = getSetWeekYear; + proto.isoWeekYear = getSetISOWeekYear; + proto.quarter = proto.quarters = getSetQuarter; + proto.month = getSetMonth; + proto.daysInMonth = getDaysInMonth; + proto.week = proto.weeks = getSetWeek; + proto.isoWeek = proto.isoWeeks = getSetISOWeek; + proto.weeksInYear = getWeeksInYear; + proto.isoWeeksInYear = getISOWeeksInYear; + proto.date = getSetDayOfMonth; + proto.day = proto.days = getSetDayOfWeek; + proto.weekday = getSetLocaleDayOfWeek; + proto.isoWeekday = getSetISODayOfWeek; + proto.dayOfYear = getSetDayOfYear; + proto.hour = proto.hours = getSetHour; + proto.minute = proto.minutes = getSetMinute; + proto.second = proto.seconds = getSetSecond; + proto.millisecond = proto.milliseconds = getSetMillisecond; + proto.utcOffset = getSetOffset; + proto.utc = setOffsetToUTC; + proto.local = setOffsetToLocal; + proto.parseZone = setOffsetToParsedOffset; + proto.hasAlignedHourOffset = hasAlignedHourOffset; + proto.isDST = isDaylightSavingTime; + proto.isLocal = isLocal; + proto.isUtcOffset = isUtcOffset; + proto.isUtc = isUtc; + proto.isUTC = isUtc; + proto.zoneAbbr = getZoneAbbr; + proto.zoneName = getZoneName; + proto.dates = deprecate( + "dates accessor is deprecated. Use date instead.", + getSetDayOfMonth + ); + proto.months = deprecate( + "months accessor is deprecated. Use month instead", + getSetMonth + ); + proto.years = deprecate( + "years accessor is deprecated. Use year instead", + getSetYear + ); + proto.zone = deprecate( + "moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/", + getSetZone + ); + proto.isDSTShifted = deprecate( + "isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information", + isDaylightSavingTimeShifted + ); + + function createUnix(input) { + return createLocal(input * 1000); + } + + function createInZone() { + return createLocal.apply(null, arguments).parseZone(); + } + + function preParsePostFormat(string) { + return string; + } + var proto$1 = Locale.prototype; + proto$1.calendar = calendar; + proto$1.longDateFormat = longDateFormat; + proto$1.invalidDate = invalidDate; + proto$1.ordinal = ordinal; + proto$1.preparse = preParsePostFormat; + proto$1.postformat = preParsePostFormat; + proto$1.relativeTime = relativeTime; + proto$1.pastFuture = pastFuture; + proto$1.set = set; + proto$1.months = localeMonths; + proto$1.monthsShort = localeMonthsShort; + proto$1.monthsParse = localeMonthsParse; + proto$1.monthsRegex = monthsRegex; + proto$1.monthsShortRegex = monthsShortRegex; + proto$1.week = localeWeek; + proto$1.firstDayOfYear = localeFirstDayOfYear; + proto$1.firstDayOfWeek = localeFirstDayOfWeek; + proto$1.weekdays = localeWeekdays; + proto$1.weekdaysMin = localeWeekdaysMin; + proto$1.weekdaysShort = localeWeekdaysShort; + proto$1.weekdaysParse = localeWeekdaysParse; + proto$1.weekdaysRegex = weekdaysRegex; + proto$1.weekdaysShortRegex = weekdaysShortRegex; + proto$1.weekdaysMinRegex = weekdaysMinRegex; + proto$1.isPM = localeIsPM; + proto$1.meridiem = localeMeridiem; + + function get$1(format, index, field, setter) { + var locale = getLocale(); + var utc = createUTC().set(setter, index); + return locale[field](utc, format); + } + + function listMonthsImpl(format, index, field) { + if (isNumber(format)) { + index = format; + format = undefined; + } + format = format || ""; + if (index != null) { + return get$1(format, index, field, "month"); + } + var i; + var out = []; + for (i = 0; i < 12; i++) { + out[i] = get$1(format, i, field, "month"); + } + return out; + } + + function listWeekdaysImpl(localeSorted, format, index, field) { + if (typeof localeSorted === "boolean") { + if (isNumber(format)) { + index = format; + format = undefined; + } + format = format || ""; + } else { + format = localeSorted; + index = format; + localeSorted = !1; + if (isNumber(format)) { + index = format; + format = undefined; + } + format = format || ""; + } + var locale = getLocale(), + shift = localeSorted ? locale._week.dow : 0; + if (index != null) { + return get$1(format, (index + shift) % 7, field, "day"); + } + var i; + var out = []; + for (i = 0; i < 7; i++) { + out[i] = get$1(format, (i + shift) % 7, field, "day"); + } + return out; + } + + function listMonths(format, index) { + return listMonthsImpl(format, index, "months"); + } + + function listMonthsShort(format, index) { + return listMonthsImpl(format, index, "monthsShort"); + } + + function listWeekdays(localeSorted, format, index) { + return listWeekdaysImpl(localeSorted, format, index, "weekdays"); + } + + function listWeekdaysShort(localeSorted, format, index) { + return listWeekdaysImpl(localeSorted, format, index, "weekdaysShort"); + } + + function listWeekdaysMin(localeSorted, format, index) { + return listWeekdaysImpl(localeSorted, format, index, "weekdaysMin"); + } + getSetGlobalLocale("en", { + dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, + ordinal: function(number) { + var b = number % 10, + output = + toInt((number % 100) / 10) === 1 + ? "th" + : b === 1 + ? "st" + : b === 2 + ? "nd" + : b === 3 + ? "rd" + : "th"; + return number + output; + } + }); + hooks.lang = deprecate( + "moment.lang is deprecated. Use moment.locale instead.", + getSetGlobalLocale + ); + hooks.langData = deprecate( + "moment.langData is deprecated. Use moment.localeData instead.", + getLocale + ); + var mathAbs = Math.abs; + + function abs() { + var data = this._data; + this._milliseconds = mathAbs(this._milliseconds); + this._days = mathAbs(this._days); + this._months = mathAbs(this._months); + data.milliseconds = mathAbs(data.milliseconds); + data.seconds = mathAbs(data.seconds); + data.minutes = mathAbs(data.minutes); + data.hours = mathAbs(data.hours); + data.months = mathAbs(data.months); + data.years = mathAbs(data.years); + return this; + } + + function addSubtract$1(duration, input, value, direction) { + var other = createDuration(input, value); + duration._milliseconds += direction * other._milliseconds; + duration._days += direction * other._days; + duration._months += direction * other._months; + return duration._bubble(); + } + + function add$1(input, value) { + return addSubtract$1(this, input, value, 1); + } + + function subtract$1(input, value) { + return addSubtract$1(this, input, value, -1); + } + + function absCeil(number) { + if (number < 0) { + return Math.floor(number); + } else { + return Math.ceil(number); + } + } + + function bubble() { + var milliseconds = this._milliseconds; + var days = this._days; + var months = this._months; + var data = this._data; + var seconds, minutes, hours, years, monthsFromDays; + if ( + !( + (milliseconds >= 0 && days >= 0 && months >= 0) || + (milliseconds <= 0 && days <= 0 && months <= 0) + ) + ) { + milliseconds += absCeil(monthsToDays(months) + days) * 864e5; + days = 0; + months = 0; + } + data.milliseconds = milliseconds % 1000; + seconds = absFloor(milliseconds / 1000); + data.seconds = seconds % 60; + minutes = absFloor(seconds / 60); + data.minutes = minutes % 60; + hours = absFloor(minutes / 60); + data.hours = hours % 24; + days += absFloor(hours / 24); + monthsFromDays = absFloor(daysToMonths(days)); + months += monthsFromDays; + days -= absCeil(monthsToDays(monthsFromDays)); + years = absFloor(months / 12); + months %= 12; + data.days = days; + data.months = months; + data.years = years; + return this; + } + + function daysToMonths(days) { + return (days * 4800) / 146097; + } + + function monthsToDays(months) { + return (months * 146097) / 4800; + } + + function as(units) { + if (!this.isValid()) { + return NaN; + } + var days; + var months; + var milliseconds = this._milliseconds; + units = normalizeUnits(units); + if (units === "month" || units === "year") { + days = this._days + milliseconds / 864e5; + months = this._months + daysToMonths(days); + return units === "month" ? months : months / 12; + } else { + days = this._days + Math.round(monthsToDays(this._months)); + switch (units) { + case "week": + return days / 7 + milliseconds / 6048e5; + case "day": + return days + milliseconds / 864e5; + case "hour": + return days * 24 + milliseconds / 36e5; + case "minute": + return days * 1440 + milliseconds / 6e4; + case "second": + return days * 86400 + milliseconds / 1000; + case "millisecond": + return Math.floor(days * 864e5) + milliseconds; + default: + throw new Error("Unknown unit " + units); + } + } + } + + function valueOf$1() { + if (!this.isValid()) { + return NaN; + } + return ( + this._milliseconds + + this._days * 864e5 + + (this._months % 12) * 2592e6 + + toInt(this._months / 12) * 31536e6 + ); + } + + function makeAs(alias) { + return function() { + return this.as(alias); + }; + } + var asMilliseconds = makeAs("ms"); + var asSeconds = makeAs("s"); + var asMinutes = makeAs("m"); + var asHours = makeAs("h"); + var asDays = makeAs("d"); + var asWeeks = makeAs("w"); + var asMonths = makeAs("M"); + var asYears = makeAs("y"); + + function clone$1() { + return createDuration(this); + } + + function get$2(units) { + units = normalizeUnits(units); + return this.isValid() ? this[units + "s"]() : NaN; + } + + function makeGetter(name) { + return function() { + return this.isValid() ? this._data[name] : NaN; + }; + } + var milliseconds = makeGetter("milliseconds"); + var seconds = makeGetter("seconds"); + var minutes = makeGetter("minutes"); + var hours = makeGetter("hours"); + var days = makeGetter("days"); + var months = makeGetter("months"); + var years = makeGetter("years"); + + function weeks() { + return absFloor(this.days() / 7); + } + var round = Math.round; + var thresholds = { + ss: 44, + s: 45, + m: 45, + h: 22, + d: 26, + M: 11 + }; + + function substituteTimeAgo( + string, + number, + withoutSuffix, + isFuture, + locale + ) { + return locale.relativeTime( + number || 1, + !!withoutSuffix, + string, + isFuture + ); + } + + function relativeTime$1(posNegDuration, withoutSuffix, locale) { + var duration = createDuration(posNegDuration).abs(); + var seconds = round(duration.as("s")); + var minutes = round(duration.as("m")); + var hours = round(duration.as("h")); + var days = round(duration.as("d")); + var months = round(duration.as("M")); + var years = round(duration.as("y")); + var a = (seconds <= thresholds.ss && ["s", seconds]) || + (seconds < thresholds.s && ["ss", seconds]) || + (minutes <= 1 && ["m"]) || + (minutes < thresholds.m && ["mm", minutes]) || + (hours <= 1 && ["h"]) || + (hours < thresholds.h && ["hh", hours]) || + (days <= 1 && ["d"]) || + (days < thresholds.d && ["dd", days]) || + (months <= 1 && ["M"]) || + (months < thresholds.M && ["MM", months]) || + (years <= 1 && ["y"]) || ["yy", years]; + a[2] = withoutSuffix; + a[3] = +posNegDuration > 0; + a[4] = locale; + return substituteTimeAgo.apply(null, a); + } + + function getSetRelativeTimeRounding(roundingFunction) { + if (roundingFunction === undefined) { + return round; + } + if (typeof roundingFunction === "function") { + round = roundingFunction; + return !0; + } + return !1; + } + + function getSetRelativeTimeThreshold(threshold, limit) { + if (thresholds[threshold] === undefined) { + return !1; + } + if (limit === undefined) { + return thresholds[threshold]; + } + thresholds[threshold] = limit; + if (threshold === "s") { + thresholds.ss = limit - 1; + } + return !0; + } + + function humanize(withSuffix) { + if (!this.isValid()) { + return this.localeData().invalidDate(); + } + var locale = this.localeData(); + var output = relativeTime$1(this, !withSuffix, locale); + if (withSuffix) { + output = locale.pastFuture(+this, output); + } + return locale.postformat(output); + } + var abs$1 = Math.abs; + + function sign(x) { + return (x > 0) - (x < 0) || +x; + } + + function toISOString$1() { + if (!this.isValid()) { + return this.localeData().invalidDate(); + } + var seconds = abs$1(this._milliseconds) / 1000; + var days = abs$1(this._days); + var months = abs$1(this._months); + var minutes, hours, years; + minutes = absFloor(seconds / 60); + hours = absFloor(minutes / 60); + seconds %= 60; + minutes %= 60; + years = absFloor(months / 12); + months %= 12; + var Y = years; + var M = months; + var D = days; + var h = hours; + var m = minutes; + var s = seconds ? seconds.toFixed(3).replace(/\.?0+$/, "") : ""; + var total = this.asSeconds(); + if (!total) { + return "P0D"; + } + var totalSign = total < 0 ? "-" : ""; + var ymSign = sign(this._months) !== sign(total) ? "-" : ""; + var daysSign = sign(this._days) !== sign(total) ? "-" : ""; + var hmsSign = sign(this._milliseconds) !== sign(total) ? "-" : ""; + return ( + totalSign + + "P" + + (Y ? ymSign + Y + "Y" : "") + + (M ? ymSign + M + "M" : "") + + (D ? daysSign + D + "D" : "") + + (h || m || s ? "T" : "") + + (h ? hmsSign + h + "H" : "") + + (m ? hmsSign + m + "M" : "") + + (s ? hmsSign + s + "S" : "") + ); + } + var proto$2 = Duration.prototype; + proto$2.isValid = isValid$1; + proto$2.abs = abs; + proto$2.add = add$1; + proto$2.subtract = subtract$1; + proto$2.as = as; + proto$2.asMilliseconds = asMilliseconds; + proto$2.asSeconds = asSeconds; + proto$2.asMinutes = asMinutes; + proto$2.asHours = asHours; + proto$2.asDays = asDays; + proto$2.asWeeks = asWeeks; + proto$2.asMonths = asMonths; + proto$2.asYears = asYears; + proto$2.valueOf = valueOf$1; + proto$2._bubble = bubble; + proto$2.clone = clone$1; + proto$2.get = get$2; + proto$2.milliseconds = milliseconds; + proto$2.seconds = seconds; + proto$2.minutes = minutes; + proto$2.hours = hours; + proto$2.days = days; + proto$2.weeks = weeks; + proto$2.months = months; + proto$2.years = years; + proto$2.humanize = humanize; + proto$2.toISOString = toISOString$1; + proto$2.toString = toISOString$1; + proto$2.toJSON = toISOString$1; + proto$2.locale = locale; + proto$2.localeData = localeData; + proto$2.toIsoString = deprecate( + "toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)", + toISOString$1 + ); + proto$2.lang = lang; + addFormatToken("X", 0, 0, "unix"); + addFormatToken("x", 0, 0, "valueOf"); + addRegexToken("x", matchSigned); + addRegexToken("X", matchTimestamp); + addParseToken("X", function(input, array, config) { + config._d = new Date(parseFloat(input, 10) * 1000); + }); + addParseToken("x", function(input, array, config) { + config._d = new Date(toInt(input)); + }); + hooks.version = "2.19.3"; + setHookCallback(createLocal); + hooks.fn = proto; + hooks.min = min; + hooks.max = max; + hooks.now = now; + hooks.utc = createUTC; + hooks.unix = createUnix; + hooks.months = listMonths; + hooks.isDate = isDate; + hooks.locale = getSetGlobalLocale; + hooks.invalid = createInvalid; + hooks.duration = createDuration; + hooks.isMoment = isMoment; + hooks.weekdays = listWeekdays; + hooks.parseZone = createInZone; + hooks.localeData = getLocale; + hooks.isDuration = isDuration; + hooks.monthsShort = listMonthsShort; + hooks.weekdaysMin = listWeekdaysMin; + hooks.defineLocale = defineLocale; + hooks.updateLocale = updateLocale; + hooks.locales = listLocales; + hooks.weekdaysShort = listWeekdaysShort; + hooks.normalizeUnits = normalizeUnits; + hooks.relativeTimeRounding = getSetRelativeTimeRounding; + hooks.relativeTimeThreshold = getSetRelativeTimeThreshold; + hooks.calendarFormat = getCalendarFormat; + hooks.prototype = proto; + return hooks; +}); +if (typeof Object.create !== "function") { + Object.create = function(obj) { + function F() {} + F.prototype = obj; + return new F(); + }; +} +(function($, window, document, undefined) { + $.fn.socialfeed = function(_options) { + var defaults = { + plugin_folder: "", + template: "template.html", + show_media: !1, + media_min_width: 300, + length: 500, + date_format: "ll", + date_locale: "en" + }; + var options = $.extend(defaults, _options), + container = $(this), + template, + social_networks = [ + "facebook", + "instagram", + "vk", + "google", + "blogspot", + "twitter", + "pinterest", + "rss" + ], + posts_to_load_count = 0, + loaded_post_count = 0; + + function calculatePostsToLoadCount() { + social_networks.forEach(function(network) { + if (options[network]) { + if (options[network].accounts) { + posts_to_load_count += + options[network].limit * + options[network].accounts.length; + } else if (options[network].urls) { + posts_to_load_count += + options[network].limit * + options[network].urls.length; + } else { + posts_to_load_count += options[network].limit; + } + } + }); + } + calculatePostsToLoadCount(); + + function fireCallback() { + var fire = !0; + if (fire && options.callback) { + options.callback(); + } + } + var Utility = { + request: function(url, callback) { + $.ajax({ + url: url, + dataType: "jsonp", + success: callback + }); + }, + get_request: function(url, callback) { + $.get(url, callback, "json"); + }, + wrapLinks: function(string, social_network) { + var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/gi; + if (social_network === "google-plus") { + string = string.replace( + /(@|#)([a-z0-9_]+['])/gi, + Utility.wrapGoogleplusTagTemplate + ); + } else { + string = string.replace(exp, Utility.wrapLinkTemplate); + } + return string; + }, + wrapLinkTemplate: function(string) { + return ( + '' + + string + + "" + ); + }, + wrapGoogleplusTagTemplate: function(string) { + return ( + '' + + string + + "" + ); + }, + shorten: function(string) { + string = $.trim(string); + if (string.length > options.length) { + return ( + jQuery + .trim(string) + .substring(0, options.length) + .split(" ") + .slice(0, -1) + .join(" ") + "..." + ); + } else { + return string; + } + }, + stripHTML: function(string) { + if (typeof string === "undefined" || string === null) { + return ""; + } + return string.replace(/(<([^>]+)>)|nbsp;|\s{2,}|/gi, ""); + } + }; + + function SocialFeedPost(social_network, data) { + this.content = data; + this.content.social_network = social_network; + this.content.attachment = + this.content.attachment === undefined + ? "" + : this.content.attachment; + this.content.time_ago = data.dt_create + .locale(options.date_locale) + .fromNow(); + this.content.date = data.dt_create + .locale(options.date_locale) + .format(options.date_format); + this.content.dt_create = this.content.dt_create.valueOf(); + this.content.text = Utility.wrapLinks( + Utility.shorten(data.message + " " + data.description), + data.social_network + ); + this.content.moderation_passed = options.moderation + ? options.moderation(this.content) + : !0; + Feed[social_network].posts.push(this); + } + SocialFeedPost.prototype = { + render: function() { + var rendered_html = Feed.template(this.content); + var data = this.content; + if ( + $(container).children("[social-feed-id=" + data.id + "]") + .length !== 0 + ) { + return !1; + } + if ($(container).children().length === 0) { + $(container).append(rendered_html); + } else { + var i = 0, + insert_index = -1; + $.each($(container).children(), function() { + if ($(this).attr("dt-create") < data.dt_create) { + insert_index = i; + return !1; + } + i++; + }); + $(container).append(rendered_html); + if (insert_index >= 0) { + insert_index++; + var before = $(container).children( + "div:nth-child(" + insert_index + ")" + ), + current = $(container).children("div:last-child"); + $(current).insertBefore(before); + } + } + if (options.media_min_width) { + var query = + "[social-feed-id=" + data.id + "] img.attachment"; + var image = $(query); + var height, + width = ""; + var img = new Image(); + var imgSrc = image.attr("src"); + $(img) + .on("load", function() { + if (img.width < options.media_min_width) { + image.hide(); + } + delete img; + }) + .on("error", function() { + image.hide(); + }) + .attr({ + src: imgSrc + }); + } + loaded_post_count++; + if (loaded_post_count == posts_to_load_count) { + fireCallback(); + } + } + }; + var Feed = { + template: !1, + init: function() { + Feed.getTemplate(function() { + social_networks.forEach(function(network) { + if (options[network]) { + if (options[network].accounts) { + options[network].accounts.forEach(function( + account + ) { + Feed[network].getData(account); + }); + } else if (options[network].urls) { + options[network].urls.forEach(function(url) { + Feed[network].getData(url); + }); + } else { + Feed[network].getData(); + } + } + }); + }); + }, + getTemplate: function(callback) { + if (Feed.template) return callback(); + else { + if (options.template_html) { + Feed.template = doT.template(options.template_html); + return callback(); + } else { + $.get(options.template, function(template_html) { + Feed.template = doT.template(template_html); + return callback(); + }); + } + } + }, + twitter: { + posts: [], + loaded: !1, + api: "http://api.tweecool.com/", + getData: function(account) { + var cb = new Codebird(); + cb.setConsumerKey( + options.twitter.consumer_key, + options.twitter.consumer_secret + ); + if (options.twitter.proxy !== undefined) { + cb.setProxy(options.twitter.proxy); + } + switch (account[0]) { + case "@": + var userid = account.substr(1); + cb.__call( + "statuses_userTimeline", + { + id: userid, + count: options.twitter.limit, + tweet_mode: + typeof options.twitter.tweet_mode === + "undefined" + ? "compatibility" + : options.twitter.tweet_mode + }, + Feed.twitter.utility.getPosts, + !0 + ); + break; + case "#": + var hashtag = account.substr(1); + cb.__call( + "search_tweets", + { + q: hashtag, + count: options.twitter.limit, + tweet_mode: + typeof options.twitter.tweet_mode === + "undefined" + ? "compatibility" + : options.twitter.tweet_mode + }, + function(reply) { + Feed.twitter.utility.getPosts( + reply.statuses + ); + }, + !0 + ); + break; + default: + } + }, + utility: { + getPosts: function(json) { + if (json) { + $.each(json, function() { + var element = this; + var post = new SocialFeedPost( + "twitter", + Feed.twitter.utility.unifyPostData(element) + ); + post.render(); + }); + } + }, + unifyPostData: function(element) { + var post = {}; + if (element.id) { + post.id = element.id_str; + post.dt_create = moment( + element.created_at, + "dd MMM DD HH:mm:ss ZZ YYYY" + ); + post.author_link = + "http://twitter.com/" + + element.user.screen_name; + post.author_picture = + element.user.profile_image_url_https; + post.post_url = + post.author_link + "/status/" + element.id_str; + post.author_name = element.user.name; + post.message = + typeof element.text === "undefined" + ? element.full_text.substr( + element.display_text_range[0], + element.display_text_range[1] + ) + : element.text; + post.description = ""; + post.link = + "http://twitter.com/" + + element.user.screen_name + + "/status/" + + element.id_str; + if (options.show_media === !0) { + if ( + element.entities.media && + element.entities.media.length > 0 + ) { + var image_url = + element.entities.media[0] + .media_url_https; + if (image_url) { + post.attachment = + ''; + } + } + } + } + return post; + } + } + }, + facebook: { + posts: [], + graph: "https://graph.facebook.com/", + loaded: !1, + getData: function(account) { + var proceed = function(request_url) { + Utility.request( + request_url, + Feed.facebook.utility.getPosts + ); + }; + var fields = + "?fields=id,from,name,message,created_time,story,description,link"; + fields += + options.show_media === !0 ? ",picture,object_id" : ""; + var request_url, + limit = "&limit=" + options.facebook.limit, + query_extention = + "&access_token=" + + options.facebook.access_token + + "&callback=?"; + switch (account[0]) { + case "@": + var username = account.substr(1); + Feed.facebook.utility.getUserId(username, function( + userdata + ) { + if (userdata.id !== "") { + request_url = + Feed.facebook.graph + + "v2.12/" + + userdata.id + + "/posts" + + fields + + limit + + query_extention; + proceed(request_url); + } + }); + break; + case "!": + var page = account.substr(1); + request_url = + Feed.facebook.graph + + "v2.12/" + + page + + "/feed" + + fields + + limit + + query_extention; + proceed(request_url); + break; + default: + proceed(request_url); + } + }, + utility: { + getUserId: function(username, callback) { + var query_extention = + "&access_token=" + + options.facebook.access_token + + "&callback=?"; + var url = + "https://graph.facebook.com/" + + username + + "?" + + query_extention; + var result = ""; + $.get(url, callback, "json"); + }, + prepareAttachment: function(element) { + var image_url = element.picture; + if (image_url.indexOf("_b.") !== -1) { + } else if (image_url.indexOf("safe_image.php") !== -1) { + image_url = Feed.facebook.utility.getExternalImageURL( + image_url, + "url" + ); + } else if ( + image_url.indexOf("app_full_proxy.php") !== -1 + ) { + image_url = Feed.facebook.utility.getExternalImageURL( + image_url, + "src" + ); + } else if (element.object_id) { + image_url = + Feed.facebook.graph + + element.object_id + + "/picture/?type=normal"; + } + return ( + '' + ); + }, + getExternalImageURL: function(image_url, parameter) { + image_url = decodeURIComponent(image_url).split( + parameter + "=" + )[1]; + if (image_url.indexOf("fbcdn-sphotos") === -1) { + return image_url.split("&")[0]; + } else { + return image_url; + } + }, + getPosts: function(json) { + if (json.data) { + json.data.forEach(function(element) { + var post = new SocialFeedPost( + "facebook", + Feed.facebook.utility.unifyPostData(element) + ); + post.render(); + }); + } + }, + unifyPostData: function(element) { + var post = {}, + text = element.message + ? element.message + : element.story; + post.id = element.id; + post.dt_create = moment(element.created_time); + post.author_link = + "http://facebook.com/" + element.from.id; + post.author_picture = + Feed.facebook.graph + element.from.id + "/picture"; + post.author_name = element.from.name; + post.name = element.name || ""; + post.message = text ? text : ""; + post.description = element.description + ? element.description + : ""; + post.link = element.link + ? element.link + : "http://facebook.com/" + element.from.id; + if (options.show_media === !0) { + if (element.picture) { + var attachment = Feed.facebook.utility.prepareAttachment( + element + ); + if (attachment) { + post.attachment = attachment; + } + } + } + return post; + } + } + }, + google: { + posts: [], + loaded: !1, + api: "https://www.googleapis.com/plus/v1/", + getData: function(account) { + var request_url; + switch (account[0]) { + case "#": + var hashtag = account.substr(1); + request_url = + Feed.google.api + + "activities?query=" + + hashtag + + "&key=" + + options.google.access_token + + "&maxResults=" + + options.google.limit; + Utility.get_request( + request_url, + Feed.google.utility.getPosts + ); + break; + case "@": + var username = account.substr(1); + request_url = + Feed.google.api + + "people/" + + username + + "/activities/public?key=" + + options.google.access_token + + "&maxResults=" + + options.google.limit; + Utility.get_request( + request_url, + Feed.google.utility.getPosts + ); + break; + default: + } + }, + utility: { + getPosts: function(json) { + if (json.items) { + $.each(json.items, function(i) { + var post = new SocialFeedPost( + "google", + Feed.google.utility.unifyPostData( + json.items[i] + ) + ); + post.render(); + }); + } + }, + unifyPostData: function(element) { + var post = {}; + post.id = element.id; + post.attachment = ""; + post.description = ""; + post.dt_create = moment(element.published); + post.author_link = element.actor.url; + post.author_picture = element.actor.image.url; + post.author_name = element.actor.displayName; + if (options.show_media === !0) { + if (element.object.attachments) { + $.each(element.object.attachments, function() { + var image = ""; + if (this.fullImage) { + image = this.fullImage.url; + } else { + if (this.objectType === "album") { + if ( + this.thumbnails && + this.thumbnails.length > 0 + ) { + if (this.thumbnails[0].image) { + image = this.thumbnails[0] + .image.url; + } + } + } + } + post.attachment = + ''; + }); + } + } + post.message = element.title; + post.link = element.url; + return post; + } + } + }, + instagram: { + posts: [], + api: "https://api.instagram.com/v1/", + loaded: !1, + accessType: function() { + if ( + typeof options.instagram.access_token === "undefined" && + typeof options.instagram.client_id === "undefined" + ) { + console.log( + "You need to define a client_id or access_token to authenticate with Instagram's API." + ); + return undefined; + } + if (options.instagram.access_token) { + options.instagram.client_id = undefined; + } + options.instagram.access_type = + typeof options.instagram.client_id === "undefined" + ? "access_token" + : "client_id"; + return options.instagram.access_type; + }, + getData: function(account) { + var url; + if (this.accessType() !== "undefined") { + var authTokenParams = + options.instagram.access_type + + "=" + + options.instagram[options.instagram.access_type]; + } + switch (account[0]) { + case "@": + var username = account.substr(1); + url = + Feed.instagram.api + + "users/search/?q=" + + username + + "&" + + authTokenParams + + "&count=1" + + "&callback=?"; + Utility.request( + url, + Feed.instagram.utility.getUsers + ); + break; + case "#": + var hashtag = account.substr(1); + url = + Feed.instagram.api + + "tags/" + + hashtag + + "/media/recent/?" + + authTokenParams + + "&" + + "count=" + + options.instagram.limit + + "&callback=?"; + Utility.request( + url, + Feed.instagram.utility.getImages + ); + break; + case "&": + var id = account.substr(1); + url = + Feed.instagram.api + + "users/" + + id + + "/?" + + authTokenParams + + "&" + + "count=" + + options.instagram.limit + + "&callback=?"; + Utility.request( + url, + Feed.instagram.utility.getUsers + ); + default: + } + }, + utility: { + getImages: function(json) { + if (json.data) { + json.data.forEach(function(element) { + var post = new SocialFeedPost( + "instagram", + Feed.instagram.utility.unifyPostData( + element + ) + ); + post.render(); + }); + } + }, + getUsers: function(json) { + if (options.instagram.access_type !== "undefined") { + var authTokenParams = + options.instagram.access_type + + "=" + + options.instagram[ + options.instagram.access_type + ]; + } + if (!jQuery.isArray(json.data)) json.data = [json.data]; + json.data.forEach(function(user) { + var url = + Feed.instagram.api + + "users/" + + user.id + + "/media/recent/?" + + authTokenParams + + "&" + + "count=" + + options.instagram.limit + + "&callback=?"; + Utility.request( + url, + Feed.instagram.utility.getImages + ); + }); + }, + unifyPostData: function(element) { + var post = {}; + post.id = element.id; + post.dt_create = moment(element.created_time * 1000); + post.author_link = + "http://instagram.com/" + element.user.username; + post.author_picture = element.user.profile_picture; + post.author_name = + element.user.full_name || element.user.username; + post.message = + element.caption && element.caption + ? element.caption.text + : ""; + post.description = ""; + post.link = element.link; + if (options.show_media) { + post.attachment = + ''; + } + return post; + } + } + }, + vk: { + posts: [], + loaded: !1, + base: "http://vk.com/", + api: "https://api.vk.com/method/", + user_json_template: + "https://api.vk.com/method/" + + "users.get?fields=first_name,%20last_name,%20screen_name,%20photo&uid=", + group_json_template: + "https://api.vk.com/method/" + + "groups.getById?fields=first_name,%20last_name,%20screen_name,%20photo&gid=", + getData: function(account) { + var request_url; + switch (account[0]) { + case "@": + var username = account.substr(1); + request_url = + Feed.vk.api + + "wall.get?owner_id=" + + username + + "&filter=" + + options.vk.source + + "&count=" + + options.vk.limit + + "&callback=?"; + Utility.get_request( + request_url, + Feed.vk.utility.getPosts + ); + break; + case "#": + var hashtag = account.substr(1); + request_url = + Feed.vk.api + + "newsfeed.search?q=" + + hashtag + + "&count=" + + options.vk.limit + + "&callback=?"; + Utility.get_request( + request_url, + Feed.vk.utility.getPosts + ); + break; + default: + } + }, + utility: { + getPosts: function(json) { + if (json.response) { + $.each(json.response, function() { + if ( + this != parseInt(this) && + this.post_type === "post" + ) { + var owner_id = this.owner_id + ? this.owner_id + : this.from_id, + vk_wall_owner_url = + owner_id > 0 + ? Feed.vk.user_json_template + + owner_id + + "&callback=?" + : Feed.vk.group_json_template + + -1 * owner_id + + "&callback=?", + element = this; + Utility.get_request( + vk_wall_owner_url, + function(wall_owner) { + Feed.vk.utility.unifyPostData( + wall_owner, + element, + json + ); + } + ); + } + }); + } + }, + unifyPostData: function(wall_owner, element, json) { + var post = {}; + post.id = element.id; + post.dt_create = moment.unix(element.date); + post.description = " "; + post.message = Utility.stripHTML(element.text); + if (options.show_media) { + if (element.attachment) { + if (element.attachment.type === "link") + post.attachment = + ''; + if (element.attachment.type === "video") + post.attachment = + ''; + if (element.attachment.type === "photo") + post.attachment = + ''; + } + } + if (element.from_id > 0) { + var vk_user_json = + Feed.vk.user_json_template + + element.from_id + + "&callback=?"; + Utility.get_request(vk_user_json, function( + user_json + ) { + var vk_post = new SocialFeedPost( + "vk", + Feed.vk.utility.getUser( + user_json, + post, + element, + json + ) + ); + vk_post.render(); + }); + } else { + var vk_group_json = + Feed.vk.group_json_template + + -1 * element.from_id + + "&callback=?"; + Utility.get_request(vk_group_json, function( + user_json + ) { + var vk_post = new SocialFeedPost( + "vk", + Feed.vk.utility.getGroup( + user_json, + post, + element, + json + ) + ); + vk_post.render(); + }); + } + }, + getUser: function(user_json, post, element, json) { + post.author_name = + user_json.response[0].first_name + + " " + + user_json.response[0].last_name; + post.author_picture = user_json.response[0].photo; + post.author_link = + Feed.vk.base + user_json.response[0].screen_name; + post.link = + Feed.vk.base + + user_json.response[0].screen_name + + "?w=wall" + + element.from_id + + "_" + + element.id; + return post; + }, + getGroup: function(user_json, post, element, json) { + post.author_name = user_json.response[0].name; + post.author_picture = user_json.response[0].photo; + post.author_link = + Feed.vk.base + user_json.response[0].screen_name; + post.link = + Feed.vk.base + + user_json.response[0].screen_name + + "?w=wall-" + + user_json.response[0].gid + + "_" + + element.id; + return post; + } + } + }, + blogspot: { + loaded: !1, + getData: function(account) { + var url; + switch (account[0]) { + case "@": + var username = account.substr(1); + url = + "http://" + + username + + ".blogspot.com/feeds/posts/default?alt=json-in-script&callback=?"; + request(url, getPosts); + break; + default: + } + }, + utility: { + getPosts: function(json) { + $.each(json.feed.entry, function() { + var post = {}, + element = this; + post.id = element.id["$t"].replace( + /[^a-z0-9]/gi, + "" + ); + post.dt_create = moment(element.published["$t"]); + post.author_link = element.author[0].uri["$t"]; + post.author_picture = + "http:" + element.author[0].gd$image.src; + post.author_name = element.author[0].name["$t"]; + post.message = + element.title["$t"] + + "

" + + stripHTML(element.content["$t"]); + post.description = ""; + post.link = element.link.pop().href; + if (options.show_media) { + if (element.media$thumbnail) { + post.attachment = + ''; + } + } + post.render(); + }); + } + } + }, + pinterest: { + posts: [], + loaded: !1, + apiv1: "https://api.pinterest.com/v1/", + getData: function(account) { + var request_url, + limit = "limit=" + options.pinterest.limit, + fields = + "fields=id,created_at,link,note,creator(url,first_name,last_name,image),image", + query_extention = + fields + + "&access_token=" + + options.pinterest.access_token + + "&" + + limit + + "&callback=?"; + switch (account[0]) { + case "@": + var username = account.substr(1); + if (username === "me") { + request_url = + Feed.pinterest.apiv1 + + "me/pins/?" + + query_extention; + } else { + request_url = + Feed.pinterest.apiv1 + + "boards/" + + username + + "/pins?" + + query_extention; + } + break; + default: + } + Utility.request( + request_url, + Feed.pinterest.utility.getPosts + ); + }, + utility: { + getPosts: function(json) { + json.data.forEach(function(element) { + var post = new SocialFeedPost( + "pinterest", + Feed.pinterest.utility.unifyPostData(element) + ); + post.render(); + }); + }, + unifyPostData: function(element) { + var post = {}; + post.id = element.id; + post.dt_create = moment(element.created_at); + post.author_link = element.creator.url; + post.author_picture = + element.creator.image["60x60"].url; + post.author_name = + element.creator.first_name + + element.creator.last_name; + post.message = element.note; + post.description = ""; + post.social_network = "pinterest"; + post.link = element.link + ? element.link + : "https://www.pinterest.com/pin/" + element.id; + if (options.show_media) { + post.attachment = + ''; + } + return post; + } + } + }, + rss: { + posts: [], + loaded: !1, + api: "https://query.yahooapis.com/v1/public/yql?q=", + datatype: "json", + getData: function(url) { + var limit = options.rss.limit, + yql = encodeURIComponent( + "select entry FROM feednormalizer where url='" + + url + + "' AND output='atom_1.0' | truncate(count=" + + limit + + ")" + ), + request_url = + Feed.rss.api + yql + "&format=json&callback=?"; + Utility.request( + request_url, + Feed.rss.utility.getPosts, + Feed.rss.datatype + ); + }, + utility: { + getPosts: function(json) { + console.log(json); + if (json.query.count > 0) { + $.each(json.query.results.feed, function( + index, + element + ) { + var post = new SocialFeedPost( + "rss", + Feed.rss.utility.unifyPostData( + index, + element + ) + ); + post.render(); + }); + } + }, + unifyPostData: function(index, element) { + var item = element; + if (element.entry !== undefined) { + item = element.entry; + } + var post = {}; + post.id = '"' + item.id + '"'; + post.dt_create = moment( + item.published, + "YYYY-MM-DDTHH:mm:ssZ", + "en" + ); + post.author_link = ""; + post.author_picture = ""; + post.author_name = ""; + if (item.creator !== undefined) { + post.author_name = item.creator; + } + post.message = item.title; + post.description = ""; + if (item.summary !== undefined) { + post.description = Utility.stripHTML( + item.summary.content + ); + } + post.social_network = "rss"; + post.link = item.link.href; + if ( + options.show_media && + item.thumbnail !== undefined + ) { + post.attachment = + ''; + } + return post; + } + } + } + }; + return this.each(function() { + Feed.init(); + if (options.update_period) { + setInterval(function() { + return Feed.init(); + }, options.update_period); + } + }); + }; +})(jQuery); +!(function(a) { + "function" == typeof define && define.amd + ? define(["jquery"], a) + : a( + "object" == typeof exports + ? require("jquery") + : window.jQuery || window.Zepto + ); +})(function(a) { + var b, + c, + d, + e, + f, + g, + h = "Close", + i = "BeforeClose", + j = "AfterClose", + k = "BeforeAppend", + l = "MarkupParse", + m = "Open", + n = "Change", + o = "mfp", + p = "." + o, + q = "mfp-ready", + r = "mfp-removing", + s = "mfp-prevent-close", + t = function() {}, + u = !!window.jQuery, + v = a(window), + w = function(a, c) { + b.ev.on(o + a + p, c); + }, + x = function(b, c, d, e) { + var f = document.createElement("div"); + return ( + (f.className = "mfp-" + b), + d && (f.innerHTML = d), + e ? c && c.appendChild(f) : ((f = a(f)), c && f.appendTo(c)), + f + ); + }, + y = function(c, d) { + b.ev.triggerHandler(o + c, d), + b.st.callbacks && + ((c = c.charAt(0).toLowerCase() + c.slice(1)), + b.st.callbacks[c] && + b.st.callbacks[c].apply(b, a.isArray(d) ? d : [d])); + }, + z = function(c) { + return ( + (c === g && b.currTemplate.closeBtn) || + ((b.currTemplate.closeBtn = a( + b.st.closeMarkup.replace("%title%", b.st.tClose) + )), + (g = c)), + b.currTemplate.closeBtn + ); + }, + A = function() { + a.magnificPopup.instance || + ((b = new t()), b.init(), (a.magnificPopup.instance = b)); + }, + B = function() { + var a = document.createElement("p").style, + b = ["ms", "O", "Moz", "Webkit"]; + if (void 0 !== a.transition) return !0; + for (; b.length; ) if (b.pop() + "Transition" in a) return !0; + return !1; + }; + (t.prototype = { + constructor: t, + init: function() { + var c = navigator.appVersion; + (b.isLowIE = b.isIE8 = document.all && !document.addEventListener), + (b.isAndroid = /android/gi.test(c)), + (b.isIOS = /iphone|ipad|ipod/gi.test(c)), + (b.supportsTransition = B()), + (b.probablyMobile = + b.isAndroid || + b.isIOS || + /(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test( + navigator.userAgent + )), + (d = a(document)), + (b.popupsCache = {}); + }, + open: function(c) { + var e; + if (c.isObj === !1) { + (b.items = c.items.toArray()), (b.index = 0); + var g, + h = c.items; + for (e = 0; e < h.length; e++) + if ( + ((g = h[e]), g.parsed && (g = g.el[0]), g === c.el[0]) + ) { + b.index = e; + break; + } + } else + (b.items = a.isArray(c.items) ? c.items : [c.items]), + (b.index = c.index || 0); + if (b.isOpen) return void b.updateItemHTML(); + (b.types = []), + (f = ""), + c.mainEl && c.mainEl.length + ? (b.ev = c.mainEl.eq(0)) + : (b.ev = d), + c.key + ? (b.popupsCache[c.key] || (b.popupsCache[c.key] = {}), + (b.currTemplate = b.popupsCache[c.key])) + : (b.currTemplate = {}), + (b.st = a.extend(!0, {}, a.magnificPopup.defaults, c)), + (b.fixedContentPos = + "auto" === b.st.fixedContentPos + ? !b.probablyMobile + : b.st.fixedContentPos), + b.st.modal && + ((b.st.closeOnContentClick = !1), + (b.st.closeOnBgClick = !1), + (b.st.showCloseBtn = !1), + (b.st.enableEscapeKey = !1)), + b.bgOverlay || + ((b.bgOverlay = x("bg").on("click" + p, function() { + b.close(); + })), + (b.wrap = x("wrap") + .attr("tabindex", -1) + .on("click" + p, function(a) { + b._checkIfClose(a.target) && b.close(); + })), + (b.container = x("container", b.wrap))), + (b.contentContainer = x("content")), + b.st.preloader && + (b.preloader = x("preloader", b.container, b.st.tLoading)); + var i = a.magnificPopup.modules; + for (e = 0; e < i.length; e++) { + var j = i[e]; + (j = j.charAt(0).toUpperCase() + j.slice(1)), + b["init" + j].call(b); + } + y("BeforeOpen"), + b.st.showCloseBtn && + (b.st.closeBtnInside + ? (w(l, function(a, b, c, d) { + c.close_replaceWith = z(d.type); + }), + (f += " mfp-close-btn-in")) + : b.wrap.append(z())), + b.st.alignTop && (f += " mfp-align-top"), + b.fixedContentPos + ? b.wrap.css({ + overflow: b.st.overflowY, + overflowX: "hidden", + overflowY: b.st.overflowY + }) + : b.wrap.css({ + top: v.scrollTop(), + position: "absolute" + }), + (b.st.fixedBgPos === !1 || + ("auto" === b.st.fixedBgPos && !b.fixedContentPos)) && + b.bgOverlay.css({ + height: d.height(), + position: "absolute" + }), + b.st.enableEscapeKey && + d.on("keyup" + p, function(a) { + 27 === a.keyCode && b.close(); + }), + v.on("resize" + p, function() { + b.updateSize(); + }), + b.st.closeOnContentClick || (f += " mfp-auto-cursor"), + f && b.wrap.addClass(f); + var k = (b.wH = v.height()), + n = {}; + if (b.fixedContentPos && b._hasScrollBar(k)) { + var o = b._getScrollbarSize(); + o && (n.marginRight = o); + } + b.fixedContentPos && + (b.isIE7 + ? a("body, html").css("overflow", "hidden") + : (n.overflow = "hidden")); + var r = b.st.mainClass; + return ( + b.isIE7 && (r += " mfp-ie7"), + r && b._addClassToMFP(r), + b.updateItemHTML(), + y("BuildControls"), + a("html").css(n), + b.bgOverlay + .add(b.wrap) + .prependTo(b.st.prependTo || a(document.body)), + (b._lastFocusedEl = document.activeElement), + setTimeout(function() { + b.content + ? (b._addClassToMFP(q), b._setFocus()) + : b.bgOverlay.addClass(q), + d.on("focusin" + p, b._onFocusIn); + }, 16), + (b.isOpen = !0), + b.updateSize(k), + y(m), + c + ); + }, + close: function() { + b.isOpen && + (y(i), + (b.isOpen = !1), + b.st.removalDelay && !b.isLowIE && b.supportsTransition + ? (b._addClassToMFP(r), + setTimeout(function() { + b._close(); + }, b.st.removalDelay)) + : b._close()); + }, + _close: function() { + y(h); + var c = r + " " + q + " "; + if ( + (b.bgOverlay.detach(), + b.wrap.detach(), + b.container.empty(), + b.st.mainClass && (c += b.st.mainClass + " "), + b._removeClassFromMFP(c), + b.fixedContentPos) + ) { + var e = { + marginRight: "" + }; + b.isIE7 + ? a("body, html").css("overflow", "") + : (e.overflow = ""), + a("html").css(e); + } + d.off("keyup" + p + " focusin" + p), + b.ev.off(p), + b.wrap.attr("class", "mfp-wrap").removeAttr("style"), + b.bgOverlay.attr("class", "mfp-bg"), + b.container.attr("class", "mfp-container"), + !b.st.showCloseBtn || + (b.st.closeBtnInside && + b.currTemplate[b.currItem.type] !== !0) || + (b.currTemplate.closeBtn && + b.currTemplate.closeBtn.detach()), + b.st.autoFocusLast && + b._lastFocusedEl && + a(b._lastFocusedEl).focus(), + (b.currItem = null), + (b.content = null), + (b.currTemplate = null), + (b.prevHeight = 0), + y(j); + }, + updateSize: function(a) { + if (b.isIOS) { + var c = + document.documentElement.clientWidth / + window.innerWidth, + d = window.innerHeight * c; + b.wrap.css("height", d), (b.wH = d); + } else b.wH = a || v.height(); + b.fixedContentPos || b.wrap.css("height", b.wH), y("Resize"); + }, + updateItemHTML: function() { + var c = b.items[b.index]; + b.contentContainer.detach(), + b.content && b.content.detach(), + c.parsed || (c = b.parseEl(b.index)); + var d = c.type; + if ( + (y("BeforeChange", [b.currItem ? b.currItem.type : "", d]), + (b.currItem = c), + !b.currTemplate[d]) + ) { + var f = b.st[d] ? b.st[d].markup : !1; + y("FirstMarkupParse", f), + f ? (b.currTemplate[d] = a(f)) : (b.currTemplate[d] = !0); + } + e && + e !== c.type && + b.container.removeClass("mfp-" + e + "-holder"); + var g = b["get" + d.charAt(0).toUpperCase() + d.slice(1)]( + c, + b.currTemplate[d] + ); + b.appendContent(g, d), + (c.preloaded = !0), + y(n, c), + (e = c.type), + b.container.prepend(b.contentContainer), + y("AfterChange"); + }, + appendContent: function(a, c) { + (b.content = a), + a + ? b.st.showCloseBtn && + b.st.closeBtnInside && + b.currTemplate[c] === !0 + ? b.content.find(".mfp-close").length || + b.content.append(z()) + : (b.content = a) + : (b.content = ""), + y(k), + b.container.addClass("mfp-" + c + "-holder"), + b.contentContainer.append(b.content); + }, + parseEl: function(c) { + var d, + e = b.items[c]; + if ( + (e.tagName + ? (e = { + el: a(e) + }) + : ((d = e.type), + (e = { + data: e, + src: e.src + })), + e.el) + ) { + for (var f = b.types, g = 0; g < f.length; g++) + if (e.el.hasClass("mfp-" + f[g])) { + d = f[g]; + break; + } + (e.src = e.el.attr("data-mfp-src")), + e.src || (e.src = e.el.attr("href")); + } + return ( + (e.type = d || b.st.type || "inline"), + (e.index = c), + (e.parsed = !0), + (b.items[c] = e), + y("ElementParse", e), + b.items[c] + ); + }, + addGroup: function(a, c) { + var d = function(d) { + (d.mfpEl = this), b._openClick(d, a, c); + }; + c || (c = {}); + var e = "click.magnificPopup"; + (c.mainEl = a), + c.items + ? ((c.isObj = !0), a.off(e).on(e, d)) + : ((c.isObj = !1), + c.delegate + ? a.off(e).on(e, c.delegate, d) + : ((c.items = a), a.off(e).on(e, d))); + }, + _openClick: function(c, d, e) { + var f = + void 0 !== e.midClick + ? e.midClick + : a.magnificPopup.defaults.midClick; + if ( + f || + !( + 2 === c.which || + c.ctrlKey || + c.metaKey || + c.altKey || + c.shiftKey + ) + ) { + var g = + void 0 !== e.disableOn + ? e.disableOn + : a.magnificPopup.defaults.disableOn; + if (g) + if (a.isFunction(g)) { + if (!g.call(b)) return !0; + } else if (v.width() < g) return !0; + c.type && (c.preventDefault(), b.isOpen && c.stopPropagation()), + (e.el = a(c.mfpEl)), + e.delegate && (e.items = d.find(e.delegate)), + b.open(e); + } + }, + updateStatus: function(a, d) { + if (b.preloader) { + c !== a && b.container.removeClass("mfp-s-" + c), + d || "loading" !== a || (d = b.st.tLoading); + var e = { + status: a, + text: d + }; + y("UpdateStatus", e), + (a = e.status), + (d = e.text), + b.preloader.html(d), + b.preloader.find("a").on("click", function(a) { + a.stopImmediatePropagation(); + }), + b.container.addClass("mfp-s-" + a), + (c = a); + } + }, + _checkIfClose: function(c) { + if (!a(c).hasClass(s)) { + var d = b.st.closeOnContentClick, + e = b.st.closeOnBgClick; + if (d && e) return !0; + if ( + !b.content || + a(c).hasClass("mfp-close") || + (b.preloader && c === b.preloader[0]) + ) + return !0; + if (c === b.content[0] || a.contains(b.content[0], c)) { + if (d) return !0; + } else if (e && a.contains(document, c)) return !0; + return !1; + } + }, + _addClassToMFP: function(a) { + b.bgOverlay.addClass(a), b.wrap.addClass(a); + }, + _removeClassFromMFP: function(a) { + this.bgOverlay.removeClass(a), b.wrap.removeClass(a); + }, + _hasScrollBar: function(a) { + return ( + (b.isIE7 ? d.height() : document.body.scrollHeight) > + (a || v.height()) + ); + }, + _setFocus: function() { + (b.st.focus ? b.content.find(b.st.focus).eq(0) : b.wrap).focus(); + }, + _onFocusIn: function(c) { + return c.target === b.wrap[0] || a.contains(b.wrap[0], c.target) + ? void 0 + : (b._setFocus(), !1); + }, + _parseMarkup: function(b, c, d) { + var e; + d.data && (c = a.extend(d.data, c)), + y(l, [b, c, d]), + a.each(c, function(c, d) { + if (void 0 === d || d === !1) return !0; + if (((e = c.split("_")), e.length > 1)) { + var f = b.find(p + "-" + e[0]); + if (f.length > 0) { + var g = e[1]; + "replaceWith" === g + ? f[0] !== d[0] && f.replaceWith(d) + : "img" === g + ? f.is("img") + ? f.attr("src", d) + : f.replaceWith( + a("") + .attr("src", d) + .attr("class", f.attr("class")) + ) + : f.attr(e[1], d); + } + } else b.find(p + "-" + c).html(d); + }); + }, + _getScrollbarSize: function() { + if (void 0 === b.scrollbarSize) { + var a = document.createElement("div"); + (a.style.cssText = + "width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;"), + document.body.appendChild(a), + (b.scrollbarSize = a.offsetWidth - a.clientWidth), + document.body.removeChild(a); + } + return b.scrollbarSize; + } + }), + (a.magnificPopup = { + instance: null, + proto: t.prototype, + modules: [], + open: function(b, c) { + return ( + A(), + (b = b ? a.extend(!0, {}, b) : {}), + (b.isObj = !0), + (b.index = c || 0), + this.instance.open(b) + ); + }, + close: function() { + return ( + a.magnificPopup.instance && a.magnificPopup.instance.close() + ); + }, + registerModule: function(b, c) { + c.options && (a.magnificPopup.defaults[b] = c.options), + a.extend(this.proto, c.proto), + this.modules.push(b); + }, + defaults: { + disableOn: 0, + key: null, + midClick: !1, + mainClass: "", + preloader: !0, + focus: "", + closeOnContentClick: !1, + closeOnBgClick: !0, + closeBtnInside: !0, + showCloseBtn: !0, + enableEscapeKey: !0, + modal: !1, + alignTop: !1, + removalDelay: 0, + prependTo: null, + fixedContentPos: "auto", + fixedBgPos: "auto", + overflowY: "auto", + closeMarkup: + '', + tClose: "Close (Esc)", + tLoading: "Loading...", + autoFocusLast: !0 + } + }), + (a.fn.magnificPopup = function(c) { + A(); + var d = a(this); + if ("string" == typeof c) + if ("open" === c) { + var e, + f = u ? d.data("magnificPopup") : d[0].magnificPopup, + g = parseInt(arguments[1], 10) || 0; + f.items + ? (e = f.items[g]) + : ((e = d), + f.delegate && (e = e.find(f.delegate)), + (e = e.eq(g))), + b._openClick( + { + mfpEl: e + }, + d, + f + ); + } else + b.isOpen && + b[c].apply(b, Array.prototype.slice.call(arguments, 1)); + else + (c = a.extend(!0, {}, c)), + u ? d.data("magnificPopup", c) : (d[0].magnificPopup = c), + b.addGroup(d, c); + return d; + }); + var C, + D, + E, + F = "inline", + G = function() { + E && (D.after(E.addClass(C)).detach(), (E = null)); + }; + a.magnificPopup.registerModule(F, { + options: { + hiddenClass: "hide", + markup: "", + tNotFound: "Content not found" + }, + proto: { + initInline: function() { + b.types.push(F), + w(h + "." + F, function() { + G(); + }); + }, + getInline: function(c, d) { + if ((G(), c.src)) { + var e = b.st.inline, + f = a(c.src); + if (f.length) { + var g = f[0].parentNode; + g && + g.tagName && + (D || + ((C = e.hiddenClass), + (D = x(C)), + (C = "mfp-" + C)), + (E = f + .after(D) + .detach() + .removeClass(C))), + b.updateStatus("ready"); + } else + b.updateStatus("error", e.tNotFound), (f = a("
")); + return (c.inlineElement = f), f; + } + return b.updateStatus("ready"), b._parseMarkup(d, {}, c), d; + } + } + }); + var H, + I = "ajax", + J = function() { + H && a(document.body).removeClass(H); + }, + K = function() { + J(), b.req && b.req.abort(); + }; + a.magnificPopup.registerModule(I, { + options: { + settings: null, + cursor: "mfp-ajax-cur", + tError: 'The content could not be loaded.' + }, + proto: { + initAjax: function() { + b.types.push(I), + (H = b.st.ajax.cursor), + w(h + "." + I, K), + w("BeforeChange." + I, K); + }, + getAjax: function(c) { + H && a(document.body).addClass(H), b.updateStatus("loading"); + var d = a.extend( + { + url: c.src, + success: function(d, e, f) { + var g = { + data: d, + xhr: f + }; + y("ParseAjax", g), + b.appendContent(a(g.data), I), + (c.finished = !0), + J(), + b._setFocus(), + setTimeout(function() { + b.wrap.addClass(q); + }, 16), + b.updateStatus("ready"), + y("AjaxContentAdded"); + }, + error: function() { + J(), + (c.finished = c.loadError = !0), + b.updateStatus( + "error", + b.st.ajax.tError.replace("%url%", c.src) + ); + } + }, + b.st.ajax.settings + ); + return (b.req = a.ajax(d)), ""; + } + } + }); + var L, + M = function(c) { + if (c.data && void 0 !== c.data.title) return c.data.title; + var d = b.st.image.titleSrc; + if (d) { + if (a.isFunction(d)) return d.call(b, c); + if (c.el) return c.el.attr(d) || ""; + } + return ""; + }; + a.magnificPopup.registerModule("image", { + options: { + markup: + '
', + cursor: "mfp-zoom-out-cur", + titleSrc: "title", + verticalFit: !0, + tError: 'The image could not be loaded.' + }, + proto: { + initImage: function() { + var c = b.st.image, + d = ".image"; + b.types.push("image"), + w(m + d, function() { + "image" === b.currItem.type && + c.cursor && + a(document.body).addClass(c.cursor); + }), + w(h + d, function() { + c.cursor && a(document.body).removeClass(c.cursor), + v.off("resize" + p); + }), + w("Resize" + d, b.resizeImage), + b.isLowIE && w("AfterChange", b.resizeImage); + }, + resizeImage: function() { + var a = b.currItem; + if (a && a.img && b.st.image.verticalFit) { + var c = 0; + b.isLowIE && + (c = + parseInt(a.img.css("padding-top"), 10) + + parseInt(a.img.css("padding-bottom"), 10)), + a.img.css("max-height", b.wH - c); + } + }, + _onImageHasSize: function(a) { + a.img && + ((a.hasSize = !0), + L && clearInterval(L), + (a.isCheckingImgSize = !1), + y("ImageHasSize", a), + a.imgHidden && + (b.content && b.content.removeClass("mfp-loading"), + (a.imgHidden = !1))); + }, + findImageSize: function(a) { + var c = 0, + d = a.img[0], + e = function(f) { + L && clearInterval(L), + (L = setInterval(function() { + return d.naturalWidth > 0 + ? void b._onImageHasSize(a) + : (c > 200 && clearInterval(L), + c++, + void (3 === c + ? e(10) + : 40 === c + ? e(50) + : 100 === c && e(500))); + }, f)); + }; + e(1); + }, + getImage: function(c, d) { + var e = 0, + f = function() { + c && + (c.img[0].complete + ? (c.img.off(".mfploader"), + c === b.currItem && + (b._onImageHasSize(c), + b.updateStatus("ready")), + (c.hasSize = !0), + (c.loaded = !0), + y("ImageLoadComplete")) + : (e++, 200 > e ? setTimeout(f, 100) : g())); + }, + g = function() { + c && + (c.img.off(".mfploader"), + c === b.currItem && + (b._onImageHasSize(c), + b.updateStatus( + "error", + h.tError.replace("%url%", c.src) + )), + (c.hasSize = !0), + (c.loaded = !0), + (c.loadError = !0)); + }, + h = b.st.image, + i = d.find(".mfp-img"); + if (i.length) { + var j = document.createElement("img"); + (j.className = "mfp-img"), + c.el && + c.el.find("img").length && + (j.alt = c.el.find("img").attr("alt")), + (c.img = a(j) + .on("load.mfploader", f) + .on("error.mfploader", g)), + (j.src = c.src), + i.is("img") && (c.img = c.img.clone()), + (j = c.img[0]), + j.naturalWidth > 0 + ? (c.hasSize = !0) + : j.width || (c.hasSize = !1); + } + return ( + b._parseMarkup( + d, + { + title: M(c), + img_replaceWith: c.img + }, + c + ), + b.resizeImage(), + c.hasSize + ? (L && clearInterval(L), + c.loadError + ? (d.addClass("mfp-loading"), + b.updateStatus( + "error", + h.tError.replace("%url%", c.src) + )) + : (d.removeClass("mfp-loading"), + b.updateStatus("ready")), + d) + : (b.updateStatus("loading"), + (c.loading = !0), + c.hasSize || + ((c.imgHidden = !0), + d.addClass("mfp-loading"), + b.findImageSize(c)), + d) + ); + } + } + }); + var N, + O = function() { + return ( + void 0 === N && + (N = + void 0 !== + document.createElement("p").style.MozTransform), + N + ); + }; + a.magnificPopup.registerModule("zoom", { + options: { + enabled: !1, + easing: "ease-in-out", + duration: 300, + opener: function(a) { + return a.is("img") ? a : a.find("img"); + } + }, + proto: { + initZoom: function() { + var a, + c = b.st.zoom, + d = ".zoom"; + if (c.enabled && b.supportsTransition) { + var e, + f, + g = c.duration, + j = function(a) { + var b = a + .clone() + .removeAttr("style") + .removeAttr("class") + .addClass("mfp-animated-image"), + d = "all " + c.duration / 1e3 + "s " + c.easing, + e = { + position: "fixed", + zIndex: 9999, + left: 0, + top: 0, + "-webkit-backface-visibility": "hidden" + }, + f = "transition"; + return ( + (e["-webkit-" + f] = e["-moz-" + f] = e[ + "-o-" + f + ] = e[f] = d), + b.css(e), + b + ); + }, + k = function() { + b.content.css("visibility", "visible"); + }; + w("BuildControls" + d, function() { + if (b._allowZoom()) { + if ( + (clearTimeout(e), + b.content.css("visibility", "hidden"), + (a = b._getItemToZoom()), + !a) + ) + return void k(); + (f = j(a)), + f.css(b._getOffset()), + b.wrap.append(f), + (e = setTimeout(function() { + f.css(b._getOffset(!0)), + (e = setTimeout(function() { + k(), + setTimeout(function() { + f.remove(), + (a = f = null), + y("ZoomAnimationEnded"); + }, 16); + }, g)); + }, 16)); + } + }), + w(i + d, function() { + if (b._allowZoom()) { + if ( + (clearTimeout(e), + (b.st.removalDelay = g), + !a) + ) { + if (((a = b._getItemToZoom()), !a)) return; + f = j(a); + } + f.css(b._getOffset(!0)), + b.wrap.append(f), + b.content.css("visibility", "hidden"), + setTimeout(function() { + f.css(b._getOffset()); + }, 16); + } + }), + w(h + d, function() { + b._allowZoom() && + (k(), f && f.remove(), (a = null)); + }); + } + }, + _allowZoom: function() { + return "image" === b.currItem.type; + }, + _getItemToZoom: function() { + return b.currItem.hasSize ? b.currItem.img : !1; + }, + _getOffset: function(c) { + var d; + d = c + ? b.currItem.img + : b.st.zoom.opener(b.currItem.el || b.currItem); + var e = d.offset(), + f = parseInt(d.css("padding-top"), 10), + g = parseInt(d.css("padding-bottom"), 10); + e.top -= a(window).scrollTop() - f; + var h = { + width: d.width(), + height: (u ? d.innerHeight() : d[0].offsetHeight) - g - f + }; + return ( + O() + ? (h["-moz-transform"] = h.transform = + "translate(" + e.left + "px," + e.top + "px)") + : ((h.left = e.left), (h.top = e.top)), + h + ); + } + } + }); + var P = "iframe", + Q = "//about:blank", + R = function(a) { + if (b.currTemplate[P]) { + var c = b.currTemplate[P].find("iframe"); + c.length && + (a || (c[0].src = Q), + b.isIE8 && c.css("display", a ? "block" : "none")); + } + }; + a.magnificPopup.registerModule(P, { + options: { + markup: + '
', + srcAction: "iframe_src", + patterns: { + youtube: { + index: "youtube.com", + id: "v=", + src: "//www.youtube.com/embed/%id%?autoplay=1" + }, + vimeo: { + index: "vimeo.com/", + id: "/", + src: "//player.vimeo.com/video/%id%?autoplay=1" + }, + gmaps: { + index: "//maps.google.", + src: "%id%&output=embed" + } + } + }, + proto: { + initIframe: function() { + b.types.push(P), + w("BeforeChange", function(a, b, c) { + b !== c && (b === P ? R() : c === P && R(!0)); + }), + w(h + "." + P, function() { + R(); + }); + }, + getIframe: function(c, d) { + var e = c.src, + f = b.st.iframe; + a.each(f.patterns, function() { + return e.indexOf(this.index) > -1 + ? (this.id && + (e = + "string" == typeof this.id + ? e.substr( + e.lastIndexOf(this.id) + + this.id.length, + e.length + ) + : this.id.call(this, e)), + (e = this.src.replace("%id%", e)), + !1) + : void 0; + }); + var g = {}; + return ( + f.srcAction && (g[f.srcAction] = e), + b._parseMarkup(d, g, c), + b.updateStatus("ready"), + d + ); + } + } + }); + var S = function(a) { + var c = b.items.length; + return a > c - 1 ? a - c : 0 > a ? c + a : a; + }, + T = function(a, b, c) { + return a.replace(/%curr%/gi, b + 1).replace(/%total%/gi, c); + }; + a.magnificPopup.registerModule("gallery", { + options: { + enabled: !1, + arrowMarkup: + '', + preload: [0, 2], + navigateByImgClick: !0, + arrows: !0, + tPrev: "Previous (Left arrow key)", + tNext: "Next (Right arrow key)", + tCounter: "%curr% of %total%" + }, + proto: { + initGallery: function() { + var c = b.st.gallery, + e = ".mfp-gallery"; + return ( + (b.direction = !0), + c && c.enabled + ? ((f += " mfp-gallery"), + w(m + e, function() { + c.navigateByImgClick && + b.wrap.on( + "click" + e, + ".mfp-img", + function() { + return b.items.length > 1 + ? (b.next(), !1) + : void 0; + } + ), + d.on("keydown" + e, function(a) { + 37 === a.keyCode + ? b.prev() + : 39 === a.keyCode && b.next(); + }); + }), + w("UpdateStatus" + e, function(a, c) { + c.text && + (c.text = T( + c.text, + b.currItem.index, + b.items.length + )); + }), + w(l + e, function(a, d, e, f) { + var g = b.items.length; + e.counter = + g > 1 ? T(c.tCounter, f.index, g) : ""; + }), + w("BuildControls" + e, function() { + if ( + b.items.length > 1 && + c.arrows && + !b.arrowLeft + ) { + var d = c.arrowMarkup, + e = (b.arrowLeft = a( + d + .replace(/%title%/gi, c.tPrev) + .replace(/%dir%/gi, "left") + ).addClass(s)), + f = (b.arrowRight = a( + d + .replace(/%title%/gi, c.tNext) + .replace(/%dir%/gi, "right") + ).addClass(s)); + e.click(function() { + b.prev(); + }), + f.click(function() { + b.next(); + }), + b.container.append(e.add(f)); + } + }), + w(n + e, function() { + b._preloadTimeout && + clearTimeout(b._preloadTimeout), + (b._preloadTimeout = setTimeout(function() { + b.preloadNearbyImages(), + (b._preloadTimeout = null); + }, 16)); + }), + void w(h + e, function() { + d.off(e), + b.wrap.off("click" + e), + (b.arrowRight = b.arrowLeft = null); + })) + : !1 + ); + }, + next: function() { + (b.direction = !0), + (b.index = S(b.index + 1)), + b.updateItemHTML(); + }, + prev: function() { + (b.direction = !1), + (b.index = S(b.index - 1)), + b.updateItemHTML(); + }, + goTo: function(a) { + (b.direction = a >= b.index), (b.index = a), b.updateItemHTML(); + }, + preloadNearbyImages: function() { + var a, + c = b.st.gallery.preload, + d = Math.min(c[0], b.items.length), + e = Math.min(c[1], b.items.length); + for (a = 1; a <= (b.direction ? e : d); a++) + b._preloadItem(b.index + a); + for (a = 1; a <= (b.direction ? d : e); a++) + b._preloadItem(b.index - a); + }, + _preloadItem: function(c) { + if (((c = S(c)), !b.items[c].preloaded)) { + var d = b.items[c]; + d.parsed || (d = b.parseEl(c)), + y("LazyLoad", d), + "image" === d.type && + (d.img = a('') + .on("load.mfploader", function() { + d.hasSize = !0; + }) + .on("error.mfploader", function() { + (d.hasSize = !0), + (d.loadError = !0), + y("LazyLoadError", d); + }) + .attr("src", d.src)), + (d.preloaded = !0); + } + } + } + }); + var U = "retina"; + a.magnificPopup.registerModule(U, { + options: { + replaceSrc: function(a) { + return a.src.replace(/\.\w+$/, function(a) { + return "@2x" + a; + }); + }, + ratio: 1 + }, + proto: { + initRetina: function() { + if (window.devicePixelRatio > 1) { + var a = b.st.retina, + c = a.ratio; + (c = isNaN(c) ? c() : c), + c > 1 && + (w("ImageHasSize." + U, function(a, b) { + b.img.css({ + "max-width": b.img[0].naturalWidth / c, + width: "100%" + }); + }), + w("ElementParse." + U, function(b, d) { + d.src = a.replaceSrc(d, c); + })); + } + } + } + }), + A(); +}); +!(function(e) { + e.fn.eaelProgressBar = function() { + var r = e(this), + a = r.data("layout"), + i = r.data("count"), + s = r.data("duration"); + r.one("inview", function() { + "line" == a + ? e(".eael-progressbar-line-fill", r).css({ + width: i + "%" + }) + : "half_circle" == a && + e(".eael-progressbar-circle-half", r).css({ + transform: "rotate(" + 1.8 * i + "deg)" + }), + e(".eael-progressbar-count", r) + .prop({ + counter: 0 + }) + .animate( + { + counter: i + }, + { + duration: s, + easing: "linear", + step: function(i) { + if ("circle" == a) { + var s = 3.6 * i; + e( + ".eael-progressbar-circle-half-left", + r + ).css({ + transform: "rotate(" + s + "deg)" + }), + s > 180 && + (e( + ".eael-progressbar-circle-pie", + r + ).css({ + "clip-path": "inset(0)" + }), + e( + ".eael-progressbar-circle-half-right", + r + ).css({ + visibility: "visible" + })); + } + e(this).text(Math.ceil(i)); + } + } + ); + }); + }; +})(jQuery); +!(function(a) { + "function" == typeof define && define.amd + ? define(["jquery"], a) + : "object" == typeof exports + ? (module.exports = a(require("jquery"))) + : a(jQuery); +})(function(a) { + function i() { + var b, + c, + d = { + height: f.innerHeight, + width: f.innerWidth + }; + return ( + d.height || + ((b = e.compatMode), + (b || !a.support.boxModel) && + ((c = "CSS1Compat" === b ? g : e.body), + (d = { + height: c.clientHeight, + width: c.clientWidth + }))), + d + ); + } + + function j() { + return { + top: f.pageYOffset || g.scrollTop || e.body.scrollTop, + left: f.pageXOffset || g.scrollLeft || e.body.scrollLeft + }; + } + + function k() { + if (b.length) { + var e = 0, + f = a.map(b, function(a) { + var b = a.data.selector, + c = a.$element; + return b ? c.find(b) : c; + }); + for (c = c || i(), d = d || j(); e < b.length; e++) + if (a.contains(g, f[e][0])) { + var h = a(f[e]), + k = { + height: h[0].offsetHeight, + width: h[0].offsetWidth + }, + l = h.offset(), + m = h.data("inview"); + if (!d || !c) return; + l.top + k.height > d.top && + l.top < d.top + c.height && + l.left + k.width > d.left && + l.left < d.left + c.width + ? m || h.data("inview", !0).trigger("inview", [!0]) + : m && h.data("inview", !1).trigger("inview", [!1]); + } + } + } + var c, + d, + h, + b = [], + e = document, + f = window, + g = e.documentElement; + (a.event.special.inview = { + add: function(c) { + b.push({ + data: c, + $element: a(this), + element: this + }), + !h && b.length && (h = setInterval(k, 250)); + }, + remove: function(a) { + for (var c = 0; c < b.length; c++) { + var d = b[c]; + if (d.element === this && d.data.guid === a.guid) { + b.splice(c, 1); + break; + } + } + b.length || (clearInterval(h), (h = null)); + } + }), + a(f).on("scroll resize scrollstop", function() { + c = d = null; + }), + !g.addEventListener && + g.attachEvent && + g.attachEvent("onfocusin", function() { + d = null; + }); +}); +var CountDown = function($scope, $) { + var $coundDown = $scope.find(".eael-countdown-wrapper").eq(0), + $countdown_id = + $coundDown.data("countdown-id") !== undefined + ? $coundDown.data("countdown-id") + : "", + $expire_type = + $coundDown.data("expire-type") !== undefined + ? $coundDown.data("expire-type") + : "", + $expiry_text = + $coundDown.data("expiry-text") !== undefined + ? $coundDown.data("expiry-text") + : "", + $expiry_title = + $coundDown.data("expiry-title") !== undefined + ? $coundDown.data("expiry-title") + : "", + $redirect_url = + $coundDown.data("redirect-url") !== undefined + ? $coundDown.data("redirect-url") + : "", + $template = + $coundDown.data("template") !== undefined + ? $coundDown.data("template") + : ""; + jQuery(document).ready(function($) { + "use strict"; + var countDown = $("#eael-countdown-" + $countdown_id); + countDown.countdown({ + end: function() { + if ($expire_type == "text") { + countDown.html( + '

' + + $expiry_title + + "

" + + '
' + + $expiry_text + + "
" + ); + } else if ($expire_type === "url") { + var editMode = $("body").find("#elementor").length; + if (editMode > 0) { + countDown.html( + "Your Page will be redirected to given URL (only on Frontend)." + ); + } else { + window.location.href = $redirect_url; + } + } else if ($expire_type === "template") { + countDown.html($template); + } else { + } + } + }); + }); +}; +jQuery(window).on("elementor/frontend/init", function() { + elementorFrontend.hooks.addAction( + "frontend/element_ready/eael-countdown.default", + CountDown + ); +}); +var FancyText = function($scope, $) { + var $fancyText = $scope.find(".eael-fancy-text-container").eq(0), + $id = + $fancyText.data("fancy-text-id") !== undefined + ? $fancyText.data("fancy-text-id") + : "", + $fancy_text = + $fancyText.data("fancy-text") !== undefined + ? $fancyText.data("fancy-text") + : "", + $transition_type = + $fancyText.data("fancy-text-transition-type") !== undefined + ? $fancyText.data("fancy-text-transition-type") + : "", + $fancy_text_speed = + $fancyText.data("fancy-text-speed") !== undefined + ? $fancyText.data("fancy-text-speed") + : "", + $fancy_text_delay = + $fancyText.data("fancy-text-delay") !== undefined + ? $fancyText.data("fancy-text-delay") + : "", + $fancy_text_cursor = + $fancyText.data("fancy-text-cursor") !== undefined ? !0 : !1, + $fancy_text_loop = + $fancyText.data("fancy-text-loop") !== undefined + ? $fancyText.data("fancy-text-loop") == "yes" + ? !0 + : !1 + : !1; + $fancy_text = $fancy_text.split("|"); + if ($transition_type == "typing") { + $("#eael-fancy-text-" + $id).typed({ + strings: $fancy_text, + typeSpeed: $fancy_text_speed, + backSpeed: 0, + startDelay: 300, + backDelay: $fancy_text_delay, + showCursor: $fancy_text_cursor, + loop: $fancy_text_loop + }); + } + if ($transition_type != "typing") { + $("#eael-fancy-text-" + $id).Morphext({ + animation: $transition_type, + separator: ", ", + speed: $fancy_text_delay, + complete: function() {} + }); + } +}; +jQuery(window).on("elementor/frontend/init", function() { + elementorFrontend.hooks.addAction( + "frontend/element_ready/eael-fancy-text.default", + FancyText + ); +}); +var postTimelineHandler = function($scope, $) { + var $_this = $scope.find(".eael-post-timeline"), + $currentTimelineId = "#" + $_this.attr("id"), + $total_posts = parseInt($_this.data("total_posts"), 10), + $timeline_id = $_this.data("timeline_id"), + $post_type = $_this.data("post_type"), + $posts_per_page = parseInt($_this.data("posts_per_page"), 10), + $post_order = $_this.data("post_order"), + $post_orderby = $_this.data("post_orderby"), + $post_offset = parseInt($_this.data("post_offset"), 10), + $show_images = $_this.data("show_images"), + $image_size = $_this.data("image_size"), + $show_title = $_this.data("show_title"), + $show_excerpt = $_this.data("show_excerpt"), + $excerpt_length = parseInt($_this.data("excerpt_length"), 10), + $btn_text = $_this.data("btn_text"), + $tax_query = $_this.data("tax_query"), + $post__in = $_this.data("post__in"), + $exclude_posts = $_this.data("exclude_posts"); + var options = { + totalPosts: $total_posts, + loadMoreBtn: $("#eael-load-more-btn-" + $timeline_id), + postContainer: $(".eael-post-appender-" + $timeline_id), + postStyle: "timeline" + }; + var settings = { + postType: $post_type, + perPage: $posts_per_page, + postOrder: $post_order, + orderBy: $post_orderby, + offset: $post_offset, + showImage: $show_images, + imageSize: $image_size, + showTitle: $show_title, + showExcerpt: $show_excerpt, + excerptLength: parseInt($excerpt_length, 10), + btnText: $btn_text, + tax_query: $tax_query, + post__in: $post__in, + exclude_posts: $exclude_posts + }; + eaelLoadMore(options, settings); +}; +jQuery(window).on("elementor/frontend/init", function() { + elementorFrontend.hooks.addAction( + "frontend/element_ready/eael-post-timeline.default", + postTimelineHandler + ); +}); +var PricingTooltip = function($scope, $) { + if ($.fn.tooltipster) { + var $tooltip = $scope.find(".tooltip"), + i; + for (i = 0; i < $tooltip.length; i++) { + var $currentTooltip = $("#" + $($tooltip[i]).attr("id")), + $tooltipSide = + $currentTooltip.data("side") !== undefined + ? $currentTooltip.data("side") + : !1, + $tooltipTrigger = + $currentTooltip.data("trigger") !== undefined + ? $currentTooltip.data("trigger") + : "hover", + $animation = + $currentTooltip.data("animation") !== undefined + ? $currentTooltip.data("animation") + : "fade", + $anim_duration = + $currentTooltip.data("animation_duration") !== undefined + ? $currentTooltip.data("animation_duration") + : 300, + $theme = + $currentTooltip.data("theme") !== undefined + ? $currentTooltip.data("theme") + : "default", + $arrow = "yes" == $currentTooltip.data("arrow") ? !0 : !1; + $currentTooltip.tooltipster({ + animation: $animation, + trigger: $tooltipTrigger, + side: $tooltipSide, + delay: $anim_duration, + arrow: $arrow, + theme: "tooltipster-" + $theme + }); + } + } +}; +jQuery(window).on("elementor/frontend/init", function() { + elementorFrontend.hooks.addAction( + "frontend/element_ready/eael-pricing-table.default", + PricingTooltip + ); +}); +var TwitterFeedHandler = function($scope, $) { + var loadingFeed = $scope.find(".eael-loading-feed"); + var $twitterFeed = $scope.find(".eael-twitter-feed-layout-wrapper").eq(0), + $name = + $twitterFeed.data("twitter-feed-ac-name") !== undefined + ? $twitterFeed.data("twitter-feed-ac-name") + : "", + $limit = + $twitterFeed.data("twitter-feed-post-limit") !== undefined + ? $twitterFeed.data("twitter-feed-post-limit") + : "", + $hash_tag = + $twitterFeed.data("twitter-feed-hashtag-name") !== undefined + ? $twitterFeed.data("twitter-feed-hashtag-name") + : "", + $key = + $twitterFeed.data("twitter-feed-consumer-key") !== undefined + ? $twitterFeed.data("twitter-feed-consumer-key") + : "", + $app_secret = + $twitterFeed.data("twitter-feed-consumer-secret") !== undefined + ? $twitterFeed.data("twitter-feed-consumer-secret") + : "", + $length = + $twitterFeed.data("twitter-feed-content-length") !== undefined + ? $twitterFeed.data("twitter-feed-content-length") + : 400, + $media = + $twitterFeed.data("twitter-feed-media") !== undefined + ? $twitterFeed.data("twitter-feed-media") + : !1, + $feed_type = + $twitterFeed.data("twitter-feed-type") !== undefined + ? $twitterFeed.data("twitter-feed-type") + : !1, + $carouselId = + $twitterFeed.data("twitter-feed-id") !== undefined + ? $twitterFeed.data("twitter-feed-id") + : " "; + var $id_name = $name.toString(); + var $hash_tag_name = $hash_tag.toString(); + var $key_name = $key.toString(); + var $app_secret = $app_secret.toString(); + + function eael_twitter_feeds() { + $( + "#eael-twitter-feed-" + + $carouselId + + ".eael-twitter-feed-layout-container" + ).socialfeed({ + twitter: { + accounts: [$id_name, $hash_tag_name], + limit: $limit, + consumer_key: $key_name, + consumer_secret: $app_secret + }, + length: $length, + show_media: $media, + template_html: + '' + }); + } + + function eael_twitter_feed_masonry() { + $(".eael-twitter-feed-layout-container.masonry-view").masonry({ + itemSelector: ".eael-social-feed-element", + percentPosition: !0, + columnWidth: ".eael-social-feed-element" + }); + } + $.ajax({ + url: eael_twitter_feeds(), + beforeSend: function() { + loadingFeed.addClass("show-loading"); + }, + success: function() { + $(".eael-twitter-feed-layout-container").bind( + "DOMSubtreeModified", + function() { + if ($feed_type == "masonry") { + setTimeout(function() { + eael_twitter_feed_masonry(); + }, 150); + } + } + ); + loadingFeed.removeClass("show-loading"); + }, + error: function() { + console.log("error loading"); + } + }); +}; +jQuery(window).on("elementor/frontend/init", function() { + elementorFrontend.hooks.addAction( + "frontend/element_ready/eael-twitter-feed.default", + TwitterFeedHandler + ); +}); +var filterableGalleryHandler = function($scope, $) { + if (!isEditMode) { + var $gallery = $(".eael-filter-gallery-container", $scope), + $settings = $gallery.data("settings"), + $gallery_items = $gallery.data("gallery-items"), + $layout_mode = + $settings.grid_style == "masonry" ? "masonry" : "fitRows", + $gallery_enabled = $settings.gallery_enabled == "yes" ? !0 : !1; + var $isotope_gallery = $gallery.isotope({ + itemSelector: ".eael-filterable-gallery-item-wrap", + layoutMode: $layout_mode, + percentPosition: !0, + stagger: 30, + transitionDuration: $settings.duration + "ms", + filter: $( + ".eael-filter-gallery-control .control.active", + $scope + ).data("filter") + }); + $isotope_gallery.imagesLoaded().progress(function() { + $isotope_gallery.isotope("layout"); + }); + $isotope_gallery.on("arrangeComplete", function() { + $isotope_gallery.isotope("layout"); + }); + $(window).on("load", function() { + $isotope_gallery.isotope("layout"); + }); + $scope.on("click", ".control", function() { + var $this = $(this), + $filterValue = $this.data("filter"); + $this.siblings().removeClass("active"); + $this.addClass("active"); + $isotope_gallery.isotope({ + filter: $filterValue + }); + }); + $(".eael-magnific-link", $scope).magnificPopup({ + type: "image", + gallery: { + enabled: $gallery_enabled + }, + callbacks: { + close: function() { + $("#elementor-lightbox").hide(); + } + } + }); + $($scope).magnificPopup({ + delegate: ".eael-magnific-video-link", + type: "iframe", + callbacks: { + close: function() { + $("#elementor-lightbox").hide(); + } + } + }); + $scope.on("click", ".eael-gallery-load-more", function(e) { + e.preventDefault(); + var $this = $(this), + $init_show = $( + ".eael-filter-gallery-container", + $scope + ).children(".eael-filterable-gallery-item-wrap").length, + $total_items = $gallery.data("total-gallery-items"), + $images_per_page = $gallery.data("images-per-page"), + $nomore_text = $gallery.data("nomore-item-text"), + $items = []; + if ($init_show == $total_items) { + $this.html( + '
' + $nomore_text + "
" + ); + setTimeout(function() { + $this.fadeOut("slow"); + }, 600); + } + for (var i = $init_show; i < $init_show + $images_per_page; i++) { + $items.push($($gallery_items[i])[0]); + } + $gallery.append($items); + $isotope_gallery.isotope("appended", $items); + $isotope_gallery.imagesLoaded().progress(function() { + $isotope_gallery.isotope("layout"); + }); + $(".eael-magnific-link", $scope).magnificPopup({ + type: "image", + gallery: { + enabled: $gallery_enabled + }, + callbacks: { + close: function() { + $("#elementor-lightbox").hide(); + } + } + }); + }); + } +}; +jQuery(window).on("elementor/frontend/init", function() { + elementorFrontend.hooks.addAction( + "frontend/element_ready/eael-filterable-gallery.default", + filterableGalleryHandler + ); +}); +var dataTable = function($scope, $) { + var $_this = $scope.find(".eael-data-table-wrap"), + $id = $_this.data("table_id"); + var responsive = $_this.data("custom_responsive"); + if (!0 == responsive) { + var $th = $scope.find(".eael-data-table").find("th"); + var $tbody = $scope.find(".eael-data-table").find("tbody"); + $tbody.find("tr").each(function(i, item) { + $(item) + .find("td .td-content-wrapper") + .each(function(index, item) { + $(this).prepend( + '
' + + $th.eq(index).html() + + "
" + ); + }); + }); + } +}; +jQuery(window).on("elementor/frontend/init", function() { + elementorFrontend.hooks.addAction( + "frontend/element_ready/eael-data-table.default", + dataTable + ); +}); +var ImageAccordion = function($scope, $) { + var $imageAccordion = $scope.find(".eael-img-accordion").eq(0), + $id = + $imageAccordion.data("img-accordion-id") !== undefined + ? $imageAccordion.data("img-accordion-id") + : "", + $type = + $imageAccordion.data("img-accordion-type") !== undefined + ? $imageAccordion.data("img-accordion-type") + : ""; + if ("on-click" === $type) { + $("#eael-img-accordion-" + $id + " a").on("click", function(e) { + if ($(this).hasClass("overlay-active") == !1) { + e.preventDefault(); + } + $("#eael-img-accordion-" + $id + " a").css("flex", "1"); + $(this) + .find(".overlay") + .parent("a") + .addClass("overlay-active"); + $("#eael-img-accordion-" + $id + " a") + .find(".overlay-inner") + .removeClass("overlay-inner-show"); + $(this) + .find(".overlay-inner") + .addClass("overlay-inner-show"); + $(this).css("flex", "3"); + }); + $("#eael-img-accordion-" + $id + " a").on("blur", function(e) { + $("#eael-img-accordion-" + $id + " a").css("flex", "1"); + $("#eael-img-accordion-" + $id + " a") + .find(".overlay-inner") + .removeClass("overlay-inner-show"); + $(this) + .find(".overlay") + .parent("a") + .removeClass("overlay-active"); + }); + } +}; +jQuery(window).on("elementor/frontend/init", function() { + elementorFrontend.hooks.addAction( + "frontend/element_ready/eael-image-accordion.default", + ImageAccordion + ); +}); +var ContentTicker = function($scope, $) { + var $contentTicker = $scope.find(".eael-content-ticker").eq(0), + $items = + $contentTicker.data("items") !== undefined + ? $contentTicker.data("items") + : 1, + $items_tablet = + $contentTicker.data("items-tablet") !== undefined + ? $contentTicker.data("items-tablet") + : 1, + $items_mobile = + $contentTicker.data("items-mobile") !== undefined + ? $contentTicker.data("items-mobile") + : 1, + $margin = + $contentTicker.data("margin") !== undefined + ? $contentTicker.data("margin") + : 10, + $margin_tablet = + $contentTicker.data("margin-tablet") !== undefined + ? $contentTicker.data("margin-tablet") + : 10, + $margin_mobile = + $contentTicker.data("margin-mobile") !== undefined + ? $contentTicker.data("margin-mobile") + : 10, + $effect = + $contentTicker.data("effect") !== undefined + ? $contentTicker.data("effect") + : "slide", + $speed = + $contentTicker.data("speed") !== undefined + ? $contentTicker.data("speed") + : 400, + $autoplay = + $contentTicker.data("autoplay") !== undefined + ? $contentTicker.data("autoplay") + : 5000, + $loop = + $contentTicker.data("loop") !== undefined + ? $contentTicker.data("loop") + : !1, + $grab_cursor = + $contentTicker.data("grab-cursor") !== undefined + ? $contentTicker.data("grab-cursor") + : !1, + $pagination = + $contentTicker.data("pagination") !== undefined + ? $contentTicker.data("pagination") + : ".swiper-pagination", + $arrow_next = + $contentTicker.data("arrow-next") !== undefined + ? $contentTicker.data("arrow-next") + : ".swiper-button-next", + $arrow_prev = + $contentTicker.data("arrow-prev") !== undefined + ? $contentTicker.data("arrow-prev") + : ".swiper-button-prev", + $pause_on_hover = + $contentTicker.data("pause-on-hover") !== undefined + ? $contentTicker.data("pause-on-hover") + : "", + $contentTickerOptions = { + direction: "horizontal", + loop: $loop, + speed: $speed, + effect: $effect, + slidesPerView: $items, + spaceBetween: $margin, + grabCursor: $grab_cursor, + paginationClickable: !0, + autoHeight: !0, + autoplay: { + delay: $autoplay + }, + pagination: { + el: $pagination, + clickable: !0 + }, + navigation: { + nextEl: $arrow_next, + prevEl: $arrow_prev + }, + breakpoints: { + 480: { + slidesPerView: $items_mobile, + spaceBetween: $margin_mobile + }, + 768: { + slidesPerView: $items_tablet, + spaceBetween: $margin_tablet + } + } + }; + var $contentTickerSlider = new Swiper( + $contentTicker, + $contentTickerOptions + ); + if ($autoplay === 0) { + $contentTickerSlider.autoplay.stop(); + } + if ($pause_on_hover && $autoplay !== 0) { + $contentTicker.on("mouseenter", function() { + $contentTickerSlider.autoplay.stop(); + }); + $contentTicker.on("mouseleave", function() { + $contentTickerSlider.autoplay.start(); + }); + } +}; +jQuery(window).on("elementor/frontend/init", function() { + elementorFrontend.hooks.addAction( + "frontend/element_ready/eael-content-ticker.default", + ContentTicker + ); +}); +var AdvAccordionHandler = function($scope, $) { + var $advanceAccordion = $scope.find(".eael-adv-accordion"), + $accordionHeader = $scope.find(".eael-accordion-header"), + $accordionType = $advanceAccordion.data("accordion-type"), + $accordionSpeed = $advanceAccordion.data("toogle-speed"); + $accordionHeader.each(function() { + if ($(this).hasClass("active-default")) { + $(this).addClass("show active"); + $(this) + .next() + .slideDown($accordionSpeed); + } + }); + $accordionHeader.unbind("click"); + $accordionHeader.click(function(e) { + e.preventDefault(); + var $this = $(this); + if ($accordionType === "accordion") { + if ($this.hasClass("show")) { + $this.removeClass("show active"); + $this.next().slideUp($accordionSpeed); + } else { + $this + .parent() + .parent() + .find(".eael-accordion-header") + .removeClass("show active"); + $this + .parent() + .parent() + .find(".eael-accordion-content") + .slideUp($accordionSpeed); + $this.toggleClass("show active"); + $this.next().slideToggle($accordionSpeed); + } + } else { + if ($this.hasClass("show")) { + $this.removeClass("show active"); + $this.next().slideUp($accordionSpeed); + } else { + $this.addClass("show active"); + $this.next().slideDown($accordionSpeed); + } + } + }); +}; +jQuery(window).on("elementor/frontend/init", function() { + elementorFrontend.hooks.addAction( + "frontend/element_ready/eael-adv-accordion.default", + AdvAccordionHandler + ); +}); +var AdvanceTabHandler = function($scope, $) { + var $currentTab = $scope.find(".eael-advance-tabs"), + $currentTabId = "#" + $currentTab.attr("id").toString(); + $($currentTabId + " .eael-tabs-nav ul li").each(function(index) { + if ($(this).hasClass("active-default")) { + $($currentTabId + " .eael-tabs-nav > ul li") + .removeClass("active") + .addClass("inactive"); + $(this).removeClass("inactive"); + } else { + if (index == 0) { + $(this) + .removeClass("inactive") + .addClass("active"); + } + } + }); + $($currentTabId + " .eael-tabs-content div").each(function(index) { + if ($(this).hasClass("active-default")) { + $($currentTabId + " .eael-tabs-content > div").removeClass( + "active" + ); + } else { + if (index == 0) { + $(this) + .removeClass("inactive") + .addClass("active"); + } + } + }); + $($currentTabId + " .eael-tabs-nav ul li").click(function() { + var currentTabIndex = $(this).index(); + var tabsContainer = $(this).closest(".eael-advance-tabs"); + var tabsNav = $(tabsContainer) + .children(".eael-tabs-nav") + .children("ul") + .children("li"); + var tabsContent = $(tabsContainer) + .children(".eael-tabs-content") + .children("div"); + $(this) + .parent("li") + .addClass("active"); + $(tabsNav) + .removeClass("active active-default") + .addClass("inactive"); + $(this) + .addClass("active") + .removeClass("inactive"); + $(tabsContent) + .removeClass("active") + .addClass("inactive"); + $(tabsContent) + .eq(currentTabIndex) + .addClass("active") + .removeClass("inactive"); + $(tabsContent).each(function(index) { + $(this).removeClass("active-default"); + }); + }); +}; +jQuery(window).on("elementor/frontend/init", function() { + elementorFrontend.hooks.addAction( + "frontend/element_ready/eael-adv-tabs.default", + AdvanceTabHandler + ); +}); +var ProgressBar = function($scope, $) { + $(".eael-progressbar", $scope).eaelProgressBar(); +}; +jQuery(window).on("elementor/frontend/init", function() { + elementorFrontend.hooks.addAction( + "frontend/element_ready/eael-progress-bar.default", + ProgressBar + ); +}); diff --git a/assets/front-end/js/eael.min.js b/assets/front-end/js/eael.min.js new file mode 100644 index 000000000..889ad32c1 --- /dev/null +++ b/assets/front-end/js/eael.min.js @@ -0,0 +1,689 @@ +(function($){window.isEditMode=!1;$(window).on("elementor/frontend/init",function(){window.isEditMode=elementorFrontend.isEditMode()})})(jQuery);!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(a){"use strict";var b=function(c,d){this.$element=a(c),this.defaults=a.extend({},b.defaults,this.$element.data(),a.isPlainObject(d)?d:{}),this.init()};b.prototype={constructor:b,init:function(){var a=this.$element.html(),b=new Date(this.defaults.date||a);b.getTime()&&(this.content=a,this.date=b,this.find(),this.defaults.autoStart&&this.start())},find:function(){var a=this.$element;this.$days=a.find("[data-days]"),this.$hours=a.find("[data-hours]"),this.$minutes=a.find("[data-minutes]"),this.$seconds=a.find("[data-seconds]"),this.$days.length+this.$hours.length+this.$minutes.length+this.$seconds.length>0&&(this.found=!0)},reset:function(){this.found?(this.output("days"),this.output("hours"),this.output("minutes"),this.output("seconds")):this.output()},ready:function(){var a,b=this.date,c=100,d=1e3,e=6e4,f=36e5,g=864e5,h={};return b?(a=b.getTime()-(new Date).getTime(),0>=a?(this.end(),!1):(h.days=a,h.hours=h.days%g,h.minutes=h.hours%f,h.seconds=h.minutes%e,h.milliseconds=h.seconds%d,this.days=Math.floor(h.days/g),this.hours=Math.floor(h.hours/f),this.minutes=Math.floor(h.minutes/e),this.seconds=Math.floor(h.seconds/d),this.deciseconds=Math.floor(h.milliseconds/c),!0)):!1},start:function(){!this.active&&this.ready()&&(this.active=!0,this.reset(),this.autoUpdate=this.defaults.fast?setInterval(a.proxy(this.fastUpdate,this),100):setInterval(a.proxy(this.update,this),1e3))},stop:function(){this.active&&(this.active=!1,clearInterval(this.autoUpdate))},end:function(){this.date&&(this.stop(),this.days=0,this.hours=0,this.minutes=0,this.seconds=0,this.deciseconds=0,this.reset(),this.defaults.end())},destroy:function(){this.date&&(this.stop(),this.$days=null,this.$hours=null,this.$minutes=null,this.$seconds=null,this.$element.empty().html(this.content),this.$element.removeData("countdown"))},fastUpdate:function(){--this.deciseconds>=0?this.output("deciseconds"):(this.deciseconds=9,this.update())},update:function(){--this.seconds>=0?this.output("seconds"):(this.seconds=59,--this.minutes>=0?this.output("minutes"):(this.minutes=59,--this.hours>=0?this.output("hours"):(this.hours=23,--this.days>=0?this.output("days"):this.end())))},output:function(a){if(!this.found)return void this.$element.empty().html(this.template());switch(a){case "deciseconds":this.$seconds.text(this.getSecondsText());break;case "seconds":this.$seconds.text(this.seconds);break;case "minutes":this.$minutes.text(this.minutes);break;case "hours":this.$hours.text(this.hours);break;case "days":this.$days.text(this.days)}},template:function(){return this.defaults.text.replace("%s",this.days).replace("%s",this.hours).replace("%s",this.minutes).replace("%s",this.getSecondsText())},getSecondsText:function(){return this.active&&this.defaults.fast?this.seconds+"."+this.deciseconds:this.seconds}},b.defaults={autoStart:!0,date:null,fast:!1,end:a.noop,text:"%s days, %s hours, %s minutes, %s seconds"},b.setDefaults=function(c){a.extend(b.defaults,c)},a.fn.countdown=function(c){return this.each(function(){var d=a(this),e=d.data("countdown");e||d.data("countdown",e=new b(this,c)),"string"==typeof c&&a.isFunction(e[c])&&e[c]()})},a.fn.countdown.constructor=b,a.fn.countdown.setDefaults=b.setDefaults,a(function(){a("[countdown]").countdown()})});!function(t,s,e){"use strict";var i=function(t,s){var i=this;this.el=t,this.options={},Object.keys(r).forEach(function(t){i.options[t]=r[t]}),Object.keys(s).forEach(function(t){i.options[t]=s[t]}),this.isInput="input"===this.el.tagName.toLowerCase(),this.attr=this.options.attr,this.showCursor=!this.isInput&&this.options.showCursor,this.elContent=this.attr?this.el.getAttribute(this.attr):this.el.textContent,this.contentType=this.options.contentType,this.typeSpeed=this.options.typeSpeed,this.startDelay=this.options.startDelay,this.backSpeed=this.options.backSpeed,this.backDelay=this.options.backDelay,e&&this.options.stringsElement instanceof e?this.stringsElement=this.options.stringsElement[0]:this.stringsElement=this.options.stringsElement,this.strings=this.options.strings,this.strPos=0,this.arrayPos=0,this.stopNum=0,this.loop=this.options.loop,this.loopCount=this.options.loopCount,this.curLoop=0,this.stop=!1,this.cursorChar=this.options.cursorChar,this.shuffle=this.options.shuffle,this.sequence=[],this.build()};i.prototype={constructor:i,init:function(){var t=this;t.timeout=setTimeout(function(){for(var s=0;s":";";t.substr(s+1).charAt(0)!==h&&(a+=t.substr(s).charAt(0),s++,!(s+1>t.length)););s++,a+=h}}i.timeout=setTimeout(function(){if(s===t.length){if(i.options.onStringTyped(i.arrayPos),i.arrayPos===i.strings.length-1&&(i.options.callback(),i.curLoop++,i.loop===!1||i.curLoop===i.loopCount))return;i.timeout=setTimeout(function(){i.backspace(t,s)},i.backDelay)}else{0===s&&i.options.preStringTyped(i.arrayPos);var e=t.substr(0,s+1);i.attr?i.el.setAttribute(i.attr,e):i.isInput?i.el.value=e:"html"===i.contentType?i.el.innerHTML=e:i.el.textContent=e,s++,i.typewrite(t,s)}},e)},e)}},backspace:function(t,s){if(this.stop!==!0){var e=Math.round(70*Math.random())+this.backSpeed,i=this;i.timeout=setTimeout(function(){if("html"===i.contentType&&">"===t.substr(s).charAt(0)){for(var e="";"<"!==t.substr(s-1).charAt(0)&&(e-=t.substr(s).charAt(0),s--,!(s<0)););s--,e+="<"}var r=t.substr(0,s);i.attr?i.el.setAttribute(i.attr,r):i.isInput?i.el.value=r:"html"===i.contentType?i.el.innerHTML=r:i.el.textContent=r,s>i.stopNum?(s--,i.backspace(t,s)):s<=i.stopNum&&(i.arrayPos++,i.arrayPos===i.strings.length?(i.arrayPos=0,i.shuffle&&(i.sequence=i.shuffleArray(i.sequence)),i.init()):i.typewrite(i.strings[i.sequence[i.arrayPos]],s))},e)}},shuffleArray:function(t){var s,e,i=t.length;if(i)for(;--i;)e=Math.floor(Math.random()*(i+1)),s=t[e],t[e]=t[i],t[i]=s;return t},reset:function(){var t=this;clearInterval(t.timeout);this.el.getAttribute("id");this.el.textContent="","undefined"!=typeof this.cursor&&"undefined"!=typeof this.cursor.parentNode&&this.cursor.parentNode.removeChild(this.cursor),this.strPos=0,this.arrayPos=0,this.curLoop=0,this.options.resetCallback()}},i["new"]=function(t,e){var r=Array.prototype.slice.apply(s.querySelectorAll(t));r.forEach(function(t){var s=t._typed,r="object"==typeof e&&e;s&&s.reset(),t._typed=s=new i(t,r),"string"==typeof e&&s[e]()})},e&&(e.fn.typed=function(t){return this.each(function(){var s=e(this),r=s.data("typed"),o="object"==typeof t&&t;r&&r.reset(),s.data("typed",r=new i(this,o)),"string"==typeof t&&r[t]()})}),t.Typed=i;var r={strings:["These are the default values...","You know what you should do?","Use your own!","Have a great day!"],stringsElement:null,typeSpeed:0,startDelay:0,backSpeed:0,shuffle:!1,backDelay:500,loop:!1,loopCount:!1,showCursor:!0,cursorChar:"|",attr:null,contentType:"html",callback:function(){},preStringTyped:function(){},onStringTyped:function(){},resetCallback:function(){}}}(window,document,window.jQuery);!function(a){"use strict";function b(b,c){this.element=a(b),this.settings=a.extend({},d,c),this._defaults=d,this._init()}var c="Morphext",d={animation:"bounceIn",separator:",",speed:2e3,complete:a.noop};b.prototype={_init:function(){var b=this;this.phrases=[],this.element.addClass("morphext"),a.each(this.element.text().split(this.settings.separator),function(c,d){b.phrases.push(a.trim(d))}),this.index=-1,this.animate(),this.start()},animate:function(){this.index=++this.index%this.phrases.length,this.element[0].innerHTML=''+this.phrases[this.index]+"",a.isFunction(this.settings.complete)&&this.settings.complete.call(this)},start:function(){var a=this;this._interval=setInterval(function(){a.animate()},this.settings.speed)},stop:function(){this._interval=clearInterval(this._interval)}},a.fn[c]=function(d){return this.each(function(){a.data(this,"plugin_"+c)||a.data(this,"plugin_"+c,new b(this,d))})}}(jQuery);!function(t,e){"function"==typeof define&&define.amd?define("jquery-bridget/jquery-bridget",["jquery"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("jquery")):t.jQueryBridget=e(t,t.jQuery)}(window,function(t,e){"use strict";function i(i,s,a){function u(t,e,o){var n,s="$()."+i+'("'+e+'")';return t.each(function(t,u){var h=a.data(u,i);if(!h)return void r(i+" not initialized. Cannot call methods, i.e. "+s);var d=h[e];if(!d||"_"==e.charAt(0))return void r(s+" is not a valid method");var l=d.apply(h,o);n=void 0===n?l:n}),void 0!==n?n:t}function h(t,e){t.each(function(t,o){var n=a.data(o,i);n?(n.option(e),n._init()):(n=new s(o,e),a.data(o,i,n))})}a=a||e||t.jQuery,a&&(s.prototype.option||(s.prototype.option=function(t){a.isPlainObject(t)&&(this.options=a.extend(!0,this.options,t))}),a.fn[i]=function(t){if("string"==typeof t){var e=n.call(arguments,1);return u(this,t,e)}return h(this,t),this},o(a))}function o(t){!t||t&&t.bridget||(t.bridget=i)}var n=Array.prototype.slice,s=t.console,r="undefined"==typeof s?function(){}:function(t){s.error(t)};return o(e||t.jQuery),i}),function(t,e){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",e):"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}("undefined"!=typeof window?window:this,function(){function t(){}var e=t.prototype;return e.on=function(t,e){if(t&&e){var i=this._events=this._events||{},o=i[t]=i[t]||[];return o.indexOf(e)==-1&&o.push(e),this}},e.once=function(t,e){if(t&&e){this.on(t,e);var i=this._onceEvents=this._onceEvents||{},o=i[t]=i[t]||{};return o[e]=!0,this}},e.off=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var o=i.indexOf(e);return o!=-1&&i.splice(o,1),this}},e.emitEvent=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){i=i.slice(0),e=e||[];for(var o=this._onceEvents&&this._onceEvents[t],n=0;n
__('I found a better plugin', 'plugin-usage-tracker'), + 'extra_field' => __('Please share which plugin', 'plugin-usage-tracker'), + ], + __("I couldn't get the plugin to work", 'plugin-usage-tracker'), + __('It\'s a temporary deactivation', 'plugin-usage-tracker'), + __('I have ' . $this->pro_plugin_name, 'plugin-usage-tracker'), + [ + 'label' => __('Other', 'plugin-usage-tracker'), + 'extra_field' => __('Please share the reason', 'plugin-usage-tracker'), + 'type' => 'textarea', + ], + ); + + return $form; + } + + /** + * Form text strings + * These can be filtered + * The filter hook must be unique to the plugin + * @since 1.0.0 + */ + public function form_filterable_text() + { + $form = $this->form_default_text(); + return apply_filters('wpins_form_text_' . esc_attr($this->plugin_name), $form); + } + + /** + * Form text strings + * These can be filtered + * @since 1.0.0 + */ + public function goodbye_ajax() + { + // Get our strings for the form + $form = $this->form_filterable_text(); + if (!isset($form['heading']) || !isset($form['body']) || !isset($form['options']) || !is_array($form['options']) || !isset($form['details'])) { + // If the form hasn't been filtered correctly, we revert to the default form + $form = $this->form_default_text(); + } + // Build the HTML to go in the form + $html = '
' . esc_html($form['heading']) . '
'; + $html .= '

' . esc_html($form['body']) . '

'; + if (is_array($form['options'])) { + $html .= '
    '; + foreach ($form['options'] as $option) { + if (is_array($option)) { + $id = strtolower(str_replace(" ", "_", esc_attr($option['label']))); + $id = $id . '_' . esc_attr($this->plugin_name); + $html .= '
  • '; + $html .= ''; + $html .= '
    '; + if (isset($option['extra_field']) && !isset($option['type'])) { + $html .= ''; + } + if (isset($option['extra_field']) && isset($option['type'])) { + $html .= '<' . $option['type'] . ' style="display: none" type="text" name="' . $id . '" id="' . str_replace(" ", "", esc_attr($option['extra_field'])) . '" placeholder="' . esc_attr($option['extra_field']) . '">'; + } + $html .= '
  • '; + } else { + $id = strtolower(str_replace(" ", "_", esc_attr($option))); + $id = $id . '_' . esc_attr($this->plugin_name); + $html .= '
  • '; + } + } + $html .= '
'; + } + $html .= '
'; + $html .= '

' . __('Submitting form', 'plugin-usage-tracker') . '

'; + ?> + + + plugin_name, $values); + } + if (isset($_POST['details'])) { + $details = sanitize_text_field($_POST['details']); + update_option('wpins_deactivation_details_' . $this->plugin_name, $details); + } + $this->do_tracking(); // Run this straightaway + echo 'success'; + wp_die(); + } + +} \ No newline at end of file diff --git a/includes/classes/WPDeveloper_Core_Installer.php b/includes/classes/WPDeveloper_Core_Installer.php new file mode 100755 index 000000000..9b22e1351 --- /dev/null +++ b/includes/classes/WPDeveloper_Core_Installer.php @@ -0,0 +1,106 @@ +plugin_basename = $plugin_basename; + add_action( 'init', array( $this, 'init_hooks' ) ); + } + /** + * Initialize the hooks + * + * @return void + */ + public function init_hooks() { + if ( ! current_user_can( 'manage_options' ) ) { + return; + } + add_action( 'wp_ajax_wpdeveloper_upsale_core_install_' . $this->plugin_basename, array( $this, 'core_install' ) ); + } + /** + * Fail if plugin installtion/activation fails + * + * @param Object $thing + * + * @return void + */ + public function fail_on_error( $thing ) { + if ( is_wp_error( $thing ) ) { + wp_send_json_error( $thing->get_error_message() ); + } + } + + /** + * Install Upsale Plugin + * + * @return void + */ + public function core_install() { + check_ajax_referer( 'wpdeveloper_upsale_core_install_' . $this->plugin_basename ); + + if ( ! current_user_can( 'manage_options' ) ) { + wp_send_json_error( __( 'You don\'t have permission to install the plugins' ) ); + } + + $plugin_slug = ( isset( $_POST['slug'] ) ) ? $_POST['slug'] : ''; + $plugin_file = ( isset( $_POST['file'] ) ) ? $_POST['file'] : ''; + + if( empty( $plugin_file ) || empty( $plugin_slug ) ) { + wp_send_json_error( __( 'You don\'t have set any slug and file name to install the plugins' ) ); + } + + $plugin_status = $this->install_plugin( $plugin_slug, $plugin_file ); + $this->fail_on_error( $plugin_status ); + + wp_send_json_success(); + } + /** + * Install and activate a plugin + * + * @param string $slug + * @param string $file + * + * @return WP_Error|null + */ + public function install_plugin( $slug, $file ) { + include_once ABSPATH . 'wp-admin/includes/plugin-install.php'; + include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; + + $plugin_basename = $slug . '/' . $file; + + // if exists and not activated + if ( file_exists( WP_PLUGIN_DIR . '/' . $plugin_basename ) ) { + return activate_plugin( $plugin_basename ); + } + + // seems like the plugin doesn't exists. Download and activate it + $upgrader = new Plugin_Upgrader( new WP_Ajax_Upgrader_Skin() ); + + $api = plugins_api( 'plugin_information', array( 'slug' => $slug, 'fields' => array( 'sections' => false ) ) ); + $result = $upgrader->install( $api->download_link ); + + if ( is_wp_error( $result ) ) { + return $result; + } + + return activate_plugin( $plugin_basename ); + } +} \ No newline at end of file diff --git a/includes/class-wpdev-notices.php b/includes/classes/WPDeveloper_Notice.php similarity index 91% rename from includes/class-wpdev-notices.php rename to includes/classes/WPDeveloper_Notice.php index bc8c89a6f..8f99084a1 100755 --- a/includes/class-wpdev-notices.php +++ b/includes/classes/WPDeveloper_Notice.php @@ -1,4 +1,12 @@ do_notice_action = 'wpdeveloper_notices_for_' . $this->plugin_name; - if( ! class_exists( 'WPDeveloper_Core_Installer' ) ) { - require_once dirname( __FILE__ ) . '/class-wpdev-core-install.php'; - - new WPDeveloper_Core_Installer( $this->plugin_name ); - } + new WPDeveloper_Core_Installer( $this->plugin_name ); } /** * Initiate The Plugin @@ -776,7 +780,7 @@ public function upsale_button_script(){ dismiss: true }, success: function(response) { - console.log('Success fully saved!'); + console.log('Successfully saved!'); }, error: function(error) { console.log('Something went wrong!'); @@ -791,76 +795,4 @@ public function upsale_button_script(){ links = [ - 'review' => array( - 'later' => array( - 'link' => 'https://wpdeveloper.net/review-essential-addons-elementor', - 'target' => '_blank', - 'label' => __( 'Ok, you deserve it!', 'essential-addons-elementor' ), - 'icon_class' => 'dashicons dashicons-external', - ), - 'allready' => array( - 'link' => $url, - 'label' => __( 'I already did', 'essential-addons-elementor' ), - 'icon_class' => 'dashicons dashicons-smiley', - 'data_args' => [ - 'dismiss' => true, - ] - ), - 'maybe_later' => array( - 'link' => $url, - 'label' => __( 'Maybe Later', 'essential-addons-elementor' ), - 'icon_class' => 'dashicons dashicons-calendar-alt', - 'data_args' => [ - 'later' => true, - ] - ), - 'support' => array( - 'link' => 'https://wpdeveloper.net/support', - 'label' => __( 'I need help', 'essential-addons-elementor' ), - 'icon_class' => 'dashicons dashicons-sos', - ), - 'never_show_again' => array( - 'link' => $url, - 'label' => __( 'Never show again', 'essential-addons-elementor' ), - 'icon_class' => 'dashicons dashicons-dismiss', - 'data_args' => [ - 'dismiss' => true, - ] - ), - ) -]; - -/** - * This is review message and thumbnail. - */ -$notice->message( 'review', '

'. __( 'We hope you\'re enjoying Essential Addons for Elementor! Could you please do us a BIG favor and give it a 5-star rating on WordPress to help us spread the word and boost our motivation?', 'essential-addons-elementor' ) .'

' ); -$notice->thumbnail( 'review', plugins_url( 'admin/assets/images/ea-logo.svg', ESSENTIAL_ADDONS_BASENAME ) ); - -/** - * Current Notice End Time. - * Notice will dismiss in 3 days if user does nothing. - */ -$notice->cne_time = '3 Day'; -/** - * Current Notice Maybe Later Time. - * Notice will show again in 7 days - */ -$notice->maybe_later_time = '7 Day'; - -$notice->text_domain = 'essential-addons-elementor'; - -$notice->options_args = array( - 'notice_will_show' => [ - 'opt_in' => $notice->timestamp, - 'review' => $notice->makeTime( $notice->timestamp, '4 Day' ), // after 4 days - ] -); - -$notice->init(); \ No newline at end of file +} \ No newline at end of file diff --git a/includes/eae-posts-group-control.php b/includes/eae-posts-group-control.php deleted file mode 100755 index 9573f453f..000000000 --- a/includes/eae-posts-group-control.php +++ /dev/null @@ -1,145 +0,0 @@ - __( 'Source', 'essential-addons-elementor' ), - 'type' => Controls_Manager::SELECT, - ]; - - $fields['posts_ids'] = [ - 'label' => __( 'Search & Select', 'essential-addons-elementor' ), - 'type' => Controls_Manager::SELECT2, - 'post_type' => '', - 'options' => \eael_get_all_types_post(), - 'label_block' => true, - 'multiple' => true, - 'condition' => [ - 'post_type' => 'by_id', - ], - ]; - - $fields['authors'] = [ - 'label' => __( 'Author', 'essential-addons-elementor' ), - 'label_block' => true, - 'type' => Controls_Manager::SELECT2, - 'multiple' => true, - 'default' => [], - 'options' => $this->get_authors(), - 'condition' => [ - 'post_type!' => [ - 'by_id', - ], - ], - ]; - - return $fields; - } - - protected function prepare_fields( $fields ) { - - $post_types = eael_get_post_types(); - - $post_types_options = $post_types; - - $post_types_options['by_id'] = __( 'Manual Selection', 'essential-addons-elementor' ); - - $fields['post_type']['options'] = $post_types_options; - - $fields['post_type']['default'] = key( $post_types ); - - $fields['posts_ids']['object_type'] = array_keys( $post_types ); - - $taxonomy_filter_args = [ - 'show_in_nav_menus' => true, - ]; - - if ( ! empty( $args['post_type'] ) ) { - $taxonomy_filter_args['object_type'] = [ $args['post_type'] ]; - } - - $taxonomies = get_taxonomies( $taxonomy_filter_args, 'objects' ); - - foreach ( $taxonomies as $taxonomy => $object ) { - $taxonomy_args = [ - 'label' => $object->label, - 'type' => Controls_Manager::SELECT2, - 'label_block' => true, - 'multiple' => true, - 'object_type' => $taxonomy, - 'options' => [], - 'condition' => [ - 'post_type' => $object->object_type, - ], - ]; - - $options = []; - - $taxonomy_args['type'] = Controls_Manager::SELECT2; - - $terms = get_terms( $taxonomy ); - - foreach ( $terms as $term ) { - $options[ $term->term_id ] = $term->name; - } - - $taxonomy_args['options'] = $options; - - $fields[ $taxonomy . '_ids' ] = $taxonomy_args; - } - - unset( $fields['post_format_ids'] ); - - return parent::prepare_fields( $fields ); - } - - /** - * All authors name and ID, who published at least 1 post. - * @return array - */ - public function get_authors() { - $user_query = new \WP_User_Query( - [ - 'who' => 'authors', - 'has_published_posts' => true, - 'fields' => [ - 'ID', - 'display_name', - ], - ] - ); - - $authors = []; - - foreach ( $user_query->get_results() as $result ) { - $authors[ $result->ID ] = $result->display_name; - } - - return $authors; - } - - protected function get_default_options() { - return [ - 'popover' => false, - ]; - } - } -endif; \ No newline at end of file diff --git a/includes/elementor-helper.php b/includes/elementor-helper.php deleted file mode 100755 index 8ca9387f2..000000000 --- a/includes/elementor-helper.php +++ /dev/null @@ -1,766 +0,0 @@ -elements_manager->add_category( - 'essential-addons-elementor', - [ - 'title' => 'Essential Addons', - 'icon' => 'font' - ], - 1 - ); - - /** - * Initialize EAE_Helper - */ - new EAE_Helper; - -} -add_action('elementor/init','Elementor\eael_elementor_init'); - - -trait ElementsCommonFunctions { - - /** - * For Exclude Option - */ - public function add_exclude_controls( ) { - $this->add_control( - 'post__not_in', - [ - 'label' => __( 'Exclude', 'essential-addons-elementor' ), - 'type' => Controls_Manager::SELECT2, - 'options' => eael_get_all_types_post(), - 'label_block' => true, - 'post_type' => '', - 'multiple' => true, - 'condition' => [ - 'eaeposts_post_type!' => 'by_id' - ], - ] - ); - } - - protected function query_controls(){ - - if( 'eael-content-ticker' === $this->get_name() ) { - $this->start_controls_section( - 'eael_section_content_ticker_filters', - [ - 'label' => __( 'Dynamic Content Settings', 'essential-addons-elementor' ), - 'condition' => [ - 'eael_ticker_type' => 'dynamic' - ] - ] - ); - } - - if( 'eael-content-timeline' === $this->get_name() ) { - $this->start_controls_section( - 'eael_section_timeline__filters', - [ - 'label' => __( 'Dynamic Content Settings', 'essential-addons-elementor' ), - 'condition' => [ - 'eael_content_timeline_choose' => 'dynamic' - ] - ] - ); - } - - if( 'eael-content-timeline' !== $this->get_name() && 'eael-content-ticker' !== $this->get_name() ) { - $this->start_controls_section( - 'eael_section_post__filters', - [ - 'label' => __( 'Query', 'essential-addons-elementor' ), - ] - ); - } - - $this->add_group_control( - EAE_Posts_Group_Control::get_type(), - [ - 'name' => 'eaeposts' - ] - ); - - $this->add_exclude_controls(); - - $this->add_control( - 'posts_per_page', - [ - 'label' => __( 'Posts Per Page', 'essential-addons-elementor' ), - 'type' => Controls_Manager::NUMBER, - 'default' => '4' - ] - ); - - $this->add_control( - 'offset', - [ - 'label' => __( 'Offset', 'essential-addons-elementor' ), - 'type' => Controls_Manager::NUMBER, - 'default' => '0' - ] - ); - - $this->add_control( - 'orderby', - [ - 'label' => __( 'Order By', 'essential-addons-elementor' ), - 'type' => Controls_Manager::SELECT, - 'options' => eael_get_post_orderby_options(), - 'default' => 'date', - - ] - ); - - $this->add_control( - 'order', - [ - 'label' => __( 'Order', 'essential-addons-elementor' ), - 'type' => Controls_Manager::SELECT, - 'options' => [ - 'asc' => 'Ascending', - 'desc' => 'Descending' - ], - 'default' => 'desc', - - ] - ); - - $this->end_controls_section(); - - } - - /** - * Go Premium - */ - protected function eae_go_premium(){ - $this->start_controls_section( - 'eael_section_pro', - [ - 'label' => __( 'Go Premium for More Features', 'essential-addons-elementor' ) - ] - ); - - $this->add_control( - 'eael_control_get_pro', - [ - 'label' => __( 'Unlock more possibilities', 'essential-addons-elementor' ), - 'type' => Controls_Manager::CHOOSE, - 'options' => [ - '1' => [ - 'title' => __( '', 'essential-addons-elementor' ), - 'icon' => 'fa fa-unlock-alt', - ], - ], - 'default' => '1', - 'description' => ' Get the
Pro version for more stunning elements and customization options.' - ] - ); - - $this->end_controls_section(); - } - - - /** - * Layout Controls For All Post Block! - * if needed! - */ - protected function layout_controls(){ - - $this->start_controls_section( - 'eael_section_post_timeline_layout', - [ - 'label' => __( 'Layout Settings', 'essential-addons-elementor' ) - ] - ); - - if( 'eael-post-grid' === $this->get_name() ) { - $this->add_control( - 'eael_post_grid_columns', - [ - 'label' => esc_html__( 'Number of Columns', 'essential-addons-elementor' ), - 'type' => Controls_Manager::SELECT, - 'default' => 'eael-col-4', - 'options' => [ - 'eael-col-1' => esc_html__( 'Single Column', 'essential-addons-elementor' ), - 'eael-col-2' => esc_html__( 'Two Columns', 'essential-addons-elementor' ), - 'eael-col-3' => esc_html__( 'Three Columns', 'essential-addons-elementor' ), - 'eael-col-4' => esc_html__( 'Four Columns', 'essential-addons-elementor' ), - 'eael-col-5' => esc_html__( 'Five Columns', 'essential-addons-elementor' ), - 'eael-col-6' => esc_html__( 'Six Columns', 'essential-addons-elementor' ), - ], - ] - ); - } - - if( 'eael-post-block' === $this->get_name() ) { - $this->add_control( - 'grid_style', - [ - 'label' => esc_html__( 'Post Block Style Preset', 'essential-addons-elementor' ), - 'type' => Controls_Manager::SELECT, - 'default' => 'post-block-style-default', - 'options' => [ - 'post-block-style-default' => esc_html__( 'Default', 'essential-addons-elementor' ), - 'post-block-style-overlay' => esc_html__( 'Overlay', 'essential-addons-elementor' ), - ], - ] - ); - } - - if( 'eael-post-carousel' !== $this->get_name() ) { - - /** - * Show Read More - * @uses ContentTimeLine Elements - EAE - */ - if( 'eael-content-timeline' === $this->get_name() ) { - - $this->add_control( - 'eael_show_read_more', - [ - 'label' => __( 'Show Read More', 'essential-addons-elementor' ), - 'type' => Controls_Manager::CHOOSE, - 'options' => [ - '1' => [ - 'title' => __( 'Yes', 'essential-addons-elementor' ), - 'icon' => 'fa fa-check', - ], - '0' => [ - 'title' => __( 'No', 'essential-addons-elementor' ), - 'icon' => 'fa fa-ban', - ] - ], - 'default' => '1', - 'condition' => [ - 'eael_content_timeline_choose' => 'dynamic' - ] - ] - ); - - $this->add_control( - 'eael_read_more_text', - [ - 'label' => esc_html__( 'Label Text', 'essential-addons-elementor' ), - 'type' => Controls_Manager::TEXT, - 'label_block' => false, - 'default' => esc_html__( 'Read More', 'essential-addons-elementor' ), - 'condition' => [ - 'eael_content_timeline_choose' => 'dynamic', - 'eael_show_read_more' => '1', - ] - ] - ); - - } else { - - $this->add_control( - 'show_load_more', - [ - 'label' => __( 'Show Load More', 'essential-addons-elementor' ), - 'type' => Controls_Manager::CHOOSE, - 'options' => [ - '1' => [ - 'title' => __( 'Yes', 'essential-addons-elementor' ), - 'icon' => 'fa fa-check', - ], - '0' => [ - 'title' => __( 'No', 'essential-addons-elementor' ), - 'icon' => 'fa fa-ban', - ] - ], - 'default' => '0' - ] - ); - - $this->add_control( - 'show_load_more_text', - [ - 'label' => esc_html__( 'Label Text', 'essential-addons-elementor' ), - 'type' => Controls_Manager::TEXT, - 'label_block' => false, - 'default' => esc_html__( 'Load More', 'essential-addons-elementor' ), - 'condition' => [ - 'show_load_more' => '1', - ] - ] - ); - } - - } - - if( 'eael-content-timeline' !== $this->get_name() ) { - $this->add_control( - 'eael_show_image', - [ - 'label' => __( 'Show Image', 'essential-addons-elementor' ), - 'type' => Controls_Manager::CHOOSE, - 'options' => [ - '1' => [ - 'title' => __( 'Yes', 'essential-addons-elementor' ), - 'icon' => 'fa fa-check', - ], - '0' => [ - 'title' => __( 'No', 'essential-addons-elementor' ), - 'icon' => 'fa fa-ban', - ] - ], - 'default' => '1' - ] - ); - $this->add_group_control( - Group_Control_Image_Size::get_type(), - [ - 'name' => 'image', - 'exclude' => [ 'custom' ], - 'default' => 'medium', - 'condition' => [ - 'eael_show_image' => '1', - ] - ] - ); - - } - - if( 'eael-content-timeline' === $this->get_name() ) { - - $this->add_control( - 'eael_show_image_or_icon', - [ - 'label' => __( 'Show Circle Image / Icon', 'essential-addons-elementor' ), - 'type' => Controls_Manager::CHOOSE, - 'options' => [ - 'img' => [ - 'title' => __( 'Image', 'essential-addons-elementor' ), - 'icon' => 'fa fa-picture-o', - ], - 'icon' => [ - 'title' => __( 'Icon', 'essential-addons-elementor' ), - 'icon' => 'fa fa-info', - ], - 'bullet' => [ - 'title' => __( 'Bullet', 'essential-addons-elementor' ), - 'icon' => 'fa fa-circle', - ] - ], - 'default' => 'icon', - 'condition' => [ - 'eael_content_timeline_choose' => 'dynamic' - ] - ] - ); - - $this->add_control( - 'eael_icon_image', - [ - 'label' => esc_html__( 'Icon Image', 'essential-addons-elementor' ), - 'type' => Controls_Manager::MEDIA, - 'default' => [ - 'url' => Utils::get_placeholder_image_src(), - ], - 'condition' => [ - 'eael_show_image_or_icon' => 'img', - ] - ] - ); - $this->add_control( - 'eael_icon_image_size', - [ - 'label' => esc_html__( 'Icon Image Size', 'essential-addons-elementor' ), - 'type' => Controls_Manager::SLIDER, - 'default' => [ - 'size' => 24, - ], - 'range' => [ - 'px' => [ - 'max' => 60, - ], - ], - 'condition' => [ - 'eael_show_image_or_icon' => 'img', - ], - 'selectors' => [ - '{{WRAPPER}} .eael-content-timeline-img img' => 'width: {{SIZE}}px;', - ], - ] - ); - - $this->add_control( - 'eael_content_timeline_circle_icon', - [ - 'label' => esc_html__( 'Icon', 'essential-addons-elementor' ), - 'type' => Controls_Manager::ICON, - 'default' => 'fa fa-pencil', - 'condition' => [ - 'eael_content_timeline_choose' => 'dynamic', - 'eael_show_image_or_icon' => 'icon', - ] - ] - ); - - } - - $this->add_control( - 'eael_show_title', - [ - 'label' => __( 'Show Title', 'essential-addons-elementor' ), - 'type' => Controls_Manager::CHOOSE, - 'options' => [ - '1' => [ - 'title' => __( 'Yes', 'essential-addons-elementor' ), - 'icon' => 'fa fa-check', - ], - '0' => [ - 'title' => __( 'No', 'essential-addons-elementor' ), - 'icon' => 'fa fa-ban', - ] - ], - 'default' => '1' - ] - ); - - $this->add_control( - 'eael_show_excerpt', - [ - 'label' => __( 'Show excerpt', 'essential-addons-elementor' ), - 'type' => Controls_Manager::CHOOSE, - 'options' => [ - '1' => [ - 'title' => __( 'Yes', 'essential-addons-elementor' ), - 'icon' => 'fa fa-check', - ], - '0' => [ - 'title' => __( 'No', 'essential-addons-elementor' ), - 'icon' => 'fa fa-ban', - ] - ], - 'default' => '1' - ] - ); - - $this->add_control( - 'eael_excerpt_length', - [ - 'label' => __( 'Excerpt Words', 'essential-addons-elementor' ), - 'type' => Controls_Manager::NUMBER, - 'default' => '10', - 'condition' => [ - 'eael_show_excerpt' => '1', - ], - 'description' => ' Pro Feature. Get Pro version ' - ] - ); - - if( 'eael-post-grid' === $this->get_name() || 'eael-post-block' === $this->get_name() || 'eael-post-carousel' === $this->get_name() ) { - - $this->add_control( - 'eael_show_meta', - [ - 'label' => __( 'Show Meta', 'essential-addons-elementor' ), - 'type' => Controls_Manager::CHOOSE, - 'options' => [ - '1' => [ - 'title' => __( 'Yes', 'essential-addons-elementor' ), - 'icon' => 'fa fa-check', - ], - '0' => [ - 'title' => __( 'No', 'essential-addons-elementor' ), - 'icon' => 'fa fa-ban', - ] - ], - 'default' => '1' - ] - ); - - $this->add_control( - 'meta_position', - [ - 'label' => esc_html__( 'Meta Position', 'essential-addons-elementor' ), - 'type' => Controls_Manager::SELECT, - 'default' => 'meta-entry-footer', - 'options' => [ - 'meta-entry-header' => esc_html__( 'Entry Header', 'essential-addons-elementor' ), - 'meta-entry-footer' => esc_html__( 'Entry Footer', 'essential-addons-elementor' ), - ], - 'condition' => [ - 'eael_show_meta' => '1', - ] - ] - ); - - } - - $this->end_controls_section(); - - } - - /** - * Load More Button Style - * with Hover! - */ - protected function load_more_button_style(){ - - $this->start_controls_section( - 'eael_section_load_more_btn', - [ - 'label' => __( 'Load More Button Style', 'essential-addons-elementor' ), - 'tab' => Controls_Manager::TAB_STYLE, - 'condition' => [ - 'show_load_more' => '1' - ] - ] - ); - - $this->add_responsive_control( - 'eael_post_grid_load_more_btn_padding', - [ - 'label' => esc_html__( 'Padding', 'essential-addons-elementor' ), - 'type' => Controls_Manager::DIMENSIONS, - 'size_units' => [ 'px', 'em', '%' ], - 'selectors' => [ - '{{WRAPPER}} .eael-load-more-button' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', - ], - ] - ); - - $this->add_responsive_control( - 'eael_post_grid_load_more_btn_margin', - [ - 'label' => esc_html__( 'Margin', 'essential-addons-elementor' ), - 'type' => Controls_Manager::DIMENSIONS, - 'size_units' => [ 'px', 'em', '%' ], - 'selectors' => [ - '{{WRAPPER}} .eael-load-more-button' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', - ], - ] - ); - $this->add_group_control( - Group_Control_Typography::get_type(), - [ - 'name' => 'eael_post_grid_load_more_btn_typography', - 'selector' => '{{WRAPPER}} .eael-load-more-button', - ] - ); - - $this->start_controls_tabs( 'eael_post_grid_load_more_btn_tabs' ); - - // Normal State Tab - $this->start_controls_tab( 'eael_post_grid_load_more_btn_normal', [ 'label' => esc_html__( 'Normal', 'essential-addons-elementor' ) ] ); - - $this->add_control( - 'eael_post_grid_load_more_btn_normal_text_color', - [ - 'label' => esc_html__( 'Text Color', 'essential-addons-elementor' ), - 'type' => Controls_Manager::COLOR, - 'default' => '#fff', - 'selectors' => [ - '{{WRAPPER}} .eael-load-more-button' => 'color: {{VALUE}};', - ], - ] - ); - - $this->add_control( - 'eael_cta_btn_normal_bg_color', - [ - 'label' => esc_html__( 'Background Color', 'essential-addons-elementor' ), - 'type' => Controls_Manager::COLOR, - 'default' => '#29d8d8', - 'selectors' => [ - '{{WRAPPER}} .eael-load-more-button' => 'background: {{VALUE}};', - ], - ] - ); - - $this->add_group_control( - Group_Control_Border::get_type(), - [ - 'name' => 'eael_post_grid_load_more_btn_normal_border', - 'label' => esc_html__( 'Border', 'essential-addons-elementor' ), - 'selector' => '{{WRAPPER}} .eael-load-more-button', - ] - ); - - $this->add_control( - 'eael_post_grid_load_more_btn_border_radius', - [ - 'label' => esc_html__( 'Border Radius', 'essential-addons-elementor' ), - 'type' => Controls_Manager::SLIDER, - 'range' => [ - 'px' => [ - 'max' => 100, - ], - ], - 'selectors' => [ - '{{WRAPPER}} .eael-load-more-button' => 'border-radius: {{SIZE}}px;', - ], - ] - ); - $this->add_group_control( - Group_Control_Box_Shadow::get_type(), - [ - 'name' => 'eael_post_grid_load_more_btn_shadow', - 'selector' => '{{WRAPPER}} .eael-load-more-button', - 'separator' => 'before' - ] - ); - - $this->end_controls_tab(); - - // Hover State Tab - $this->start_controls_tab( 'eael_post_grid_load_more_btn_hover', [ 'label' => esc_html__( 'Hover', 'essential-addons-elementor' ) ] ); - - $this->add_control( - 'eael_post_grid_load_more_btn_hover_text_color', - [ - 'label' => esc_html__( 'Text Color', 'essential-addons-elementor' ), - 'type' => Controls_Manager::COLOR, - 'default' => '#fff', - 'selectors' => [ - '{{WRAPPER}} .eael-load-more-button:hover' => 'color: {{VALUE}};', - ], - ] - ); - - $this->add_control( - 'eael_post_grid_load_more_btn_hover_bg_color', - [ - 'label' => esc_html__( 'Background Color', 'essential-addons-elementor' ), - 'type' => Controls_Manager::COLOR, - 'default' => '#27bdbd', - 'selectors' => [ - '{{WRAPPER}} .eael-load-more-button:hover' => 'background: {{VALUE}};', - ], - ] - ); - - $this->add_control( - 'eael_post_grid_load_more_btn_hover_border_color', - [ - 'label' => esc_html__( 'Border Color', 'essential-addons-elementor' ), - 'type' => Controls_Manager::COLOR, - 'default' => '', - 'selectors' => [ - '{{WRAPPER}} .eael-load-more-button:hover' => 'border-color: {{VALUE}};', - ], - ] - - ); - $this->add_group_control( - Group_Control_Box_Shadow::get_type(), - [ - 'name' => 'eael_post_grid_load_more_btn_hover_shadow', - 'selector' => '{{WRAPPER}} .eael-load-more-button:hover', - 'separator' => 'before' - ] - ); - $this->end_controls_tab(); - - $this->end_controls_tabs(); - - $this->add_responsive_control( - 'eael_post_grid_loadmore_button_alignment', - [ - 'label' => __( 'Button Alignment', 'essential-addons-elementor' ), - 'type' => Controls_Manager::CHOOSE, - 'options' => [ - 'flex-start' => [ - 'title' => __( 'Left', 'essential-addons-elementor' ), - 'icon' => 'fa fa-align-left', - ], - 'center' => [ - 'title' => __( 'Center', 'essential-addons-elementor' ), - 'icon' => 'fa fa-align-center', - ], - 'flex-end' => [ - 'title' => __( 'Right', 'essential-addons-elementor' ), - 'icon' => 'fa fa-align-right', - ] - ], - 'default' => 'center', - 'selectors' => [ - '{{WRAPPER}} .eael-load-more-button-wrap' => 'justify-content: {{VALUE}};', - ] - ] - ); - - $this->end_controls_section(); - - } - -} - -class EAE_Helper { - - public static function get_query_args( $control_id, $settings ) { - $defaults = [ - $control_id . '_post_type' => 'post', - $control_id . '_posts_ids' => [], - 'orderby' => 'date', - 'order' => 'desc', - 'posts_per_page' => 3, - 'offset' => 0, - ]; - - $settings = wp_parse_args( $settings, $defaults ); - - $post_type = $settings[ $control_id . '_post_type' ]; - - $query_args = [ - 'orderby' => $settings['orderby'], - 'order' => $settings['order'], - 'ignore_sticky_posts' => 1, - 'post_status' => 'publish', // Hide drafts/private posts for admins - ]; - - if ( 'by_id' === $post_type ) { - $query_args['post_type'] = 'any'; - $query_args['post__in'] = $settings[ $control_id . '_posts_ids' ]; - - if ( empty( $query_args['post__in'] ) ) { - // If no selection - return an empty query - $query_args['post__in'] = [ 0 ]; - } - } else { - $query_args['post_type'] = $post_type; - $query_args['posts_per_page'] = $settings['posts_per_page']; - $query_args['tax_query'] = []; - - $query_args['offset'] = $settings['offset']; - - $taxonomies = get_object_taxonomies( $post_type, 'objects' ); - - foreach ( $taxonomies as $object ) { - $setting_key = $control_id . '_' . $object->name . '_ids'; - - if ( ! empty( $settings[ $setting_key ] ) ) { - $query_args['tax_query'][] = [ - 'taxonomy' => $object->name, - 'field' => 'term_id', - 'terms' => $settings[ $setting_key ], - ]; - } - } - } - - if ( ! empty( $settings[ $control_id . '_authors' ] ) ) { - $query_args['author__in'] = $settings[ $control_id . '_authors' ]; - } - - $post__not_in = []; - if ( ! empty( $settings['post__not_in'] ) ) { - $post__not_in = array_merge( $post__not_in, $settings['post__not_in'] ); - $query_args['post__not_in'] = $post__not_in; - } - - if( isset( $query_args['tax_query'] ) && count( $query_args['tax_query'] ) > 1 ) { - $query_args['tax_query']['relation'] = 'OR'; - } - - return $query_args; - } - -} diff --git a/includes/extensions.php b/includes/extensions.php deleted file mode 100755 index ffe3018c7..000000000 --- a/includes/extensions.php +++ /dev/null @@ -1,46 +0,0 @@ -reflection = new \ReflectionClass( $this ); - } - -} \ No newline at end of file diff --git a/includes/queries.php b/includes/queries.php deleted file mode 100755 index 791bcdc52..000000000 --- a/includes/queries.php +++ /dev/null @@ -1,549 +0,0 @@ - true, 'show_in_nav_menus' => true ), 'object' ); - $eael_exclude_cpts = array( 'elementor_library', 'attachment' ); - - foreach ( $eael_exclude_cpts as $exclude_cpt ) { - unset($eael_cpts[$exclude_cpt]); - } - $post_types = array_merge($eael_cpts); - foreach( $post_types as $type ) { - $types[ $type->name ] = $type->label; - } - - return $types; -} - -/** - * Get all types of post. - * @return array - */ -function eael_get_all_types_post(){ - $posts_args = array( - 'post_type' => 'any', - 'post_style' => 'all_types', - 'post_status' => 'publish', - 'posts_per_page' => '-1', - ); - $posts = eael_load_more_ajax( $posts_args ); - - $post_list = []; - - foreach( $posts as $post ) { - $post_list[ $post->ID ] = $post->post_title; - } - - return $post_list; -} -/** - * Post Settings Parameter - * @param array $settings - * @return array - */ -function eael_get_post_settings( $settings ){ - foreach( $settings as $key => $value ) { - if( in_array( $key, posts_args() ) ) { - $post_args[ $key ] = $value; - } - } - - $post_args['post_style'] = isset( $post_args['post_style'] ) ? $post_args['post_style'] : 'grid'; - $post_args['post_status'] = 'publish'; - - return $post_args; -} - -/** - * Getting Excerpts By Post Id - * @param int $post_id - * @param int $excerpt_length - * @return string - */ -function eael_get_excerpt_by_id( $post_id, $excerpt_length ){ - $the_post = get_post( $post_id ); //Gets post ID - - $the_excerpt = null; - if( $the_post ){ - $the_excerpt = $the_post->post_excerpt ? $the_post->post_excerpt : $the_post->post_content; - } - - $the_excerpt = strip_tags( strip_shortcodes( $the_excerpt ) ); //Strips tags and images - $words = explode(' ', $the_excerpt, $excerpt_length + 1); - - if(count($words) > $excerpt_length) : - array_pop($words); - array_push($words, '…'); - $the_excerpt = implode(' ', $words); - endif; - - return $the_excerpt; -} - -/** - * Get Post Thumbnail Size - * @return array - */ -function eael_get_thumbnail_sizes(){ - $sizes = get_intermediate_image_sizes(); - foreach($sizes as $s){ - $ret[$s] = $s; - } - - return $ret; -} - -/** - * POst Orderby Options - * @return array - */ -function eael_get_post_orderby_options(){ - $orderby = array( - 'ID' => 'Post ID', - 'author' => 'Post Author', - 'title' => 'Title', - 'date' => 'Date', - 'modified' => 'Last Modified Date', - 'parent' => 'Parent Id', - 'rand' => 'Random', - 'comment_count' => 'Comment Count', - 'menu_order' => 'Menu Order', - ); - - return $orderby; -} - -/** - * Get Post Categories - * @return array - */ -function eael_post_type_categories(){ - $terms = get_terms( array( - 'taxonomy' => 'category', - 'hide_empty' => true, - )); - - if ( ! empty( $terms ) && ! is_wp_error( $terms ) ){ - foreach ( $terms as $term ) { - $options[ $term->term_id ] = $term->name; - } - } - - return $options; -} - -/** - * WooCommerce Product Query - * @return array - */ -function eael_woocommerce_product_categories(){ - $terms = get_terms( array( - 'taxonomy' => 'product_cat', - 'hide_empty' => true, - )); - - if ( ! empty( $terms ) && ! is_wp_error( $terms ) ){ - foreach ( $terms as $term ) { - $options[ $term->slug ] = $term->name; - } - return $options; - } -} - -/** - * WooCommerce Get Product By Id - * @return array - */ -function eael_woocommerce_product_get_product_by_id(){ - $postlist = get_posts(array( - 'post_type' => 'product', - 'showposts' => 9999, - )); - $options = array(); - - if ( ! empty( $postlist ) && ! is_wp_error( $postlist ) ){ - foreach ( $postlist as $post ) { - $options[ $post->ID ] = $post->post_title; - } - return $options; - - } -} - -/** - * WooCommerce Get Product Category By Id - * @return array - */ -function eael_woocommerce_product_categories_by_id(){ - $terms = get_terms( array( - 'taxonomy' => 'product_cat', - 'hide_empty' => true, - )); - - if ( ! empty( $terms ) && ! is_wp_error( $terms ) ){ - foreach ( $terms as $term ) { - $options[ $term->term_id ] = $term->name; - } - return $options; - } - -} - -/** - * Get Contact Form 7 [ if exists ] - */ -if ( function_exists( 'wpcf7' ) ) { - function eael_select_contact_form(){ - $wpcf7_form_list = get_posts(array( - 'post_type' => 'wpcf7_contact_form', - 'showposts' => 999, - )); - $options = array(); - $options[0] = esc_html__( 'Select a Contact Form', 'essential-addons-elementor' ); - if ( ! empty( $wpcf7_form_list ) && ! is_wp_error( $wpcf7_form_list ) ){ - foreach ( $wpcf7_form_list as $post ) { - $options[ $post->ID ] = $post->post_title; - } - } else { - $options[0] = esc_html__( 'Create a Form First', 'essential-addons-elementor' ); - } - return $options; - } -} - -/** - * Get Gravity Form [ if exists ] - */ -if ( !function_exists('eael_select_gravity_form') ) { - function eael_select_gravity_form() { - $options = array(); - if ( class_exists( 'GFCommon' ) ) { - $gravity_forms = RGFormsModel::get_forms( null, 'title' ); - - if ( ! empty( $gravity_forms ) && ! is_wp_error( $gravity_forms ) ) { - - $options[0] = esc_html__( 'Select Gravity Form', 'essential-addons-elementor' ); - foreach ( $gravity_forms as $form ) { - $options[ $form->id ] = $form->title; - } - - } else { - $options[0] = esc_html__( 'Create a Form First', 'essential-addons-elementor' ); - } - } - - return $options; - } -} - -/** - * Get WeForms Form List - * @return array - */ -function eael_select_weform() { - - $wpuf_form_list = get_posts( array( - 'post_type' => 'wpuf_contact_form', - 'showposts' => 999, - )); - - $options = array(); - - if ( ! empty( $wpuf_form_list ) && ! is_wp_error( $wpuf_form_list ) ) { - $options[0] = esc_html__( 'Select weForm', 'essential-addons-elementor' ); - foreach ( $wpuf_form_list as $post ) { - $options[ $post->ID ] = $post->post_title; - } - } else { - $options[0] = esc_html__( 'Create a Form First', 'essential-addons-elementor' ); - } - - return $options; -} - -/** - * Get Ninja Form List - * @return array - */ -if ( !function_exists('eael_select_ninja_form') ) { - function eael_select_ninja_form() { - $options = array(); - if ( class_exists( 'Ninja_Forms' ) ) { - $contact_forms = Ninja_Forms()->form()->get_forms(); - - if ( ! empty( $contact_forms ) && ! is_wp_error( $contact_forms ) ) { - - $options[0] = esc_html__( 'Select Ninja Form', 'essential-addons-elementor' ); - - foreach ( $contact_forms as $form ) { - $options[ $form->get_id() ] = $form->get_setting( 'title' ); - } - } - } else { - $options[0] = esc_html__( 'Create a Form First', 'essential-addons-elementor' ); - } - - return $options; - } -} - -/** - * Get Caldera Form List - * @return array - */ -if ( !function_exists('eael_select_caldera_form') ) { - function eael_select_caldera_form() { - $options = array(); - if ( class_exists( 'Caldera_Forms' ) ) { - - $contact_forms = Caldera_Forms_Forms::get_forms( true, true ); - - if ( ! empty( $contact_forms ) && ! is_wp_error( $contact_forms ) ) { - $options[0] = esc_html__( 'Select Caldera Form', 'essential-addons-elementor' ); - foreach ( $contact_forms as $form ) { - $options[ $form['ID'] ] = $form['name']; - } - } - } else { - $options[0] = esc_html__( 'Create a Form First', 'essential-addons-elementor' ); - } - - return $options; - } -} - -/** - * Get WPForms List - * @return array - */ -if ( !function_exists('eael_select_wpforms_forms') ) { - function eael_select_wpforms_forms() { - $options = array(); - if ( class_exists( '\WPForms\WPForms' ) ) { - - $args = array( - 'post_type' => 'wpforms', - 'posts_per_page' => -1 - ); - - $contact_forms = get_posts( $args ); - - if ( ! empty( $contact_forms ) && ! is_wp_error( $contact_forms ) ) { - $options[0] = esc_html__( 'Select a WPForm', 'essential-addons-elementor' ); - foreach ( $contact_forms as $post ) { - $options[ $post->ID ] = $post->post_title; - } - } - } else { - $options[0] = esc_html__( 'Create a Form First', 'essential-addons-elementor' ); - } - - return $options; - } -} - -// Get all elementor page templates -if ( !function_exists('eael_get_page_templates') ) { - function eael_get_page_templates(){ - $page_templates = get_posts( array( - 'post_type' => 'elementor_library', - 'posts_per_page' => -1 - )); - - $options = array(); - - if ( ! empty( $page_templates ) && ! is_wp_error( $page_templates ) ){ - foreach ( $page_templates as $post ) { - $options[ $post->ID ] = $post->post_title; - } - } - return $options; - } -} - -// Get all Authors -if ( !function_exists('eael_get_authors') ) { - function eael_get_authors() { - - $options = array(); - - $users = get_users(); - - if($users) { - foreach( $users as $user ) { - $options[ $user->ID ] = $user->display_name; - } - } - - return $options; - } -} - -// Get all Authors -if ( !function_exists('eael_get_tags') ) { - function eael_get_tags() { - - $options = array(); - - $tags = get_tags(); - - foreach ( $tags as $tag ) { - $options[ $tag->term_id ] = $tag->name; - } - - return $options; - } -} - -// Get all Posts -if ( !function_exists('eael_get_posts') ) { - function eael_get_posts() { - - $post_list = get_posts( array( - 'post_type' => 'post', - 'orderby' => 'date', - 'order' => 'DESC', - 'posts_per_page' => -1, - ) ); - - $posts = array(); - - if ( ! empty( $post_list ) && ! is_wp_error( $post_list ) ) { - foreach ( $post_list as $post ) { - $posts[ $post->ID ] = $post->post_title; - } - } - - return $posts; - } -} - -// Get all Pages -if ( !function_exists('eael_get_pages') ) { - function eael_get_pages() { - - $page_list = get_posts( array( - 'post_type' => 'page', - 'orderby' => 'date', - 'order' => 'DESC', - 'posts_per_page' => -1, - ) ); - - $pages = array(); - - if ( ! empty( $page_list ) && ! is_wp_error( $page_list ) ) { - foreach ( $page_list as $page ) { - $pages[ $page->ID ] = $page->post_title; - } - } - - return $pages; - } -} - - -/** - * This function is responsible for get the post data. - * It will return HTML markup with AJAX call and with normal call. - * - * @return string of an html markup with AJAX call. - * @return array of content and found posts count without AJAX call. - */ -if( ! function_exists( 'eael_load_more_ajax' ) ) : - function eael_load_more_ajax(){ - - if( isset( $_POST['action'] ) && $_POST['action'] == 'load_more' ) { - $post_args = eael_get_post_settings( $_POST ); - $post_args = array_merge( \Elementor\EAE_Helper::get_query_args( 'eaeposts', $_POST ), $post_args ); - - if( isset( $_POST['tax_query'] ) && count( $_POST['tax_query'] ) > 1 ) { - $post_args['tax_query']['relation'] = 'OR'; - } - } else { - $args = func_get_args(); - $post_args = $args[0]; - } - - - $posts = new WP_Query( $post_args ); - /** - * For returning all types of post as an array - * @return array; - */ - if( isset( $post_args['post_style'] ) && $post_args['post_style'] == 'all_types' ) { - return $posts->posts; - } - - $return = array(); - $return['count'] = $posts->found_posts; - - ob_start(); - - while( $posts->have_posts() ) : $posts->the_post(); - $isPrinted = false; - /** - * All content html here. - */ - include ESSENTIAL_ADDONS_EL_PATH . 'includes/templates/content.php'; - endwhile; - $return['content'] = ob_get_clean(); - wp_reset_postdata(); - wp_reset_query(); - if( isset( $_POST['action'] ) && $_POST['action'] == 'load_more' ) { - echo $return['content']; - die(); - } else { - return $return; - } - } - add_action( 'wp_ajax_nopriv_load_more', 'eael_load_more_ajax' ); - add_action( 'wp_ajax_load_more', 'eael_load_more_ajax' ); -endif; - -/** - * For All Settings Key Need To Display - * - * @return array - */ -function posts_args(){ - return array( - // for content-ticker - 'eael_ticker_type', - 'eael_ticker_custom_contents', - - 'eael_post_grid_columns', - - // common - 'meta_position', - 'eael_show_meta', - 'image_size', - 'eael_show_image', - 'eael_show_title', - 'eael_show_excerpt', - 'eael_excerpt_length', - 'eael_show_read_more', - 'eael_read_more_text', - 'show_load_more', - 'show_load_more_text', - 'eael_post_grid_bg_hover_icon', - - // query_args - 'post_type', - 'post__in', - 'posts_per_page', - 'post_style', - 'tax_query', - 'post__not_in', - 'eael_post_authors', - 'eaeposts_authors', - 'offset', - 'orderby', - 'order', - 'eael_post_grid_hover_animation' - ); -} \ No newline at end of file diff --git a/admin/partials/elements.php b/includes/templates/admin/elements.php similarity index 89% rename from admin/partials/elements.php rename to includes/templates/admin/elements.php index f50f51a8d..eafe53b6b 100755 --- a/admin/partials/elements.php +++ b/includes/templates/admin/elements.php @@ -4,151 +4,156 @@

You can disable the elements you are not using on your site. That will disable all associated assets of those widgets to improve your site loading.

- eael_get_settings['contact-form-7'], true ); ?> > + get_settings('contact-form-7'), true ); ?> >

- eael_get_settings['count-down'], true ); ?> > + get_settings('count-down'), true ); ?> >

- eael_get_settings['creative-btn'], true ); ?> > + get_settings('creative-btn'), true ); ?> >

- eael_get_settings['fancy-text'], true ); ?> > + get_settings('fancy-text'), true ); ?> >

- eael_get_settings['post-grid'], true ); ?> > + get_settings('post-grid'), true ); ?> >

- eael_get_settings['post-timeline'], true ); ?> > + get_settings('post-timeline'), true ); ?> >

- eael_get_settings['product-grid'], true ); ?> > + get_settings('product-grid'), true ); ?> >

- eael_get_settings['team-members'], true ); ?> > + get_settings('team-members'), true ); ?> >

- eael_get_settings['testimonials'], true ); ?> > + get_settings('testimonials'), true ); ?> > -

+

- eael_get_settings['weforms'], true ); ?> > + get_settings('weforms'), true ); ?> >

- eael_get_settings['call-to-action'], true ); ?> > + get_settings('call-to-action'), true ); ?> >

- eael_get_settings['flip-box'], true ); ?> > + get_settings('flip-box'), true ); ?> >

- eael_get_settings['info-box'], true ); ?> > + get_settings('info-box'), true ); ?> >

- eael_get_settings['dual-header'], true ); ?> > + get_settings('dual-header'), true ); ?> >

- eael_get_settings['price-table'], true ); ?> > + get_settings('price-table'), true ); ?> >

- eael_get_settings['ninja-form'], true ); ?> > + get_settings('ninja-form'), true ); ?> >

- eael_get_settings['gravity-form'], true ); ?> > + get_settings('gravity-form'), true ); ?> >

- eael_get_settings['caldera-form'], true ); ?> > + get_settings('caldera-form'), true ); ?> >

- eael_get_settings['wpforms'], true ); ?> > + get_settings('wpforms'), true ); ?> >

- eael_get_settings['twitter-feed'], true ); ?> > + get_settings('twitter-feed'), true ); ?> >

- eael_get_settings['filter-gallery'], true ); ?> > + get_settings('filter-gallery'), true ); ?> >

- eael_get_settings['data-table'], true ); ?> > + get_settings('data-table'), true ); ?> >

- eael_get_settings['image-accordion'], true ); ?> > + get_settings('image-accordion'), true ); ?> >

- eael_get_settings['content-ticker'], true ); ?> > + get_settings('content-ticker'), true ); ?> >

- eael_get_settings['tooltip'], true ); ?> > + get_settings('tooltip'), true ); ?> >

- eael_get_settings['adv-accordion'], true ); ?> > + get_settings('adv-accordion'), true ); ?> >

- eael_get_settings['adv-tabs'], true ); ?> > + get_settings('adv-tabs'), true ); ?> >

- eael_get_settings['progress-bar'], true ); ?> > + get_settings('progress-bar'), true ); ?> >

+
+ get_settings('feature-list'), true ); ?> > + +

+
- +

Premium Elements

diff --git a/admin/partials/extensions.php b/includes/templates/admin/extensions.php similarity index 62% rename from admin/partials/extensions.php rename to includes/templates/admin/extensions.php index e199cb71d..22f8d3e12 100755 --- a/admin/partials/extensions.php +++ b/includes/templates/admin/extensions.php @@ -2,16 +2,10 @@
-

Available Extensions

+

Premium Extensions

@@ -21,6 +15,18 @@

+
+ + +

+
+ +
+ + +

+
+
diff --git a/admin/partials/general.php b/includes/templates/admin/general.php similarity index 98% rename from admin/partials/general.php rename to includes/templates/admin/general.php index cfc4313da..1e4500ce1 100755 --- a/admin/partials/general.php +++ b/includes/templates/admin/general.php @@ -5,7 +5,7 @@
@@ -62,7 +62,7 @@
Upgrade to Pro', 'essential-addons-elementor' ), 'https://wpdeveloper.net/in/upgrade-essential-addons-elementor' ); ?> diff --git a/admin/partials/go-pro.php b/includes/templates/admin/go-pro.php similarity index 100% rename from admin/partials/go-pro.php rename to includes/templates/admin/go-pro.php diff --git a/includes/templates/content.php b/includes/templates/content.php deleted file mode 100755 index cd9c29d65..000000000 --- a/includes/templates/content.php +++ /dev/null @@ -1,122 +0,0 @@ - -
-
- -
-
- - - - - - -
-
-
- -
- - -
- - - - - - -
- - - -
- -
- - -
- - - -
-
- -

- - - - - -
- - -
-
-

-
-
- -
- - - - -
- - -
-
- - - - \ No newline at end of file diff --git a/includes/templates/content/grid.php b/includes/templates/content/grid.php new file mode 100644 index 000000000..a83adf279 --- /dev/null +++ b/includes/templates/content/grid.php @@ -0,0 +1,67 @@ + +
+
+
+ +
+ +
+ + + + + + +
+ + + +
+ +
+ +
+ + + +
+
+ +

+ + + + + +
+ + +
+
+

eael_get_excerpt_by_id(get_the_ID(), $post_args['eael_excerpt_length']); ?>

+
+
+ +
+ + + + + +
+
+
\ No newline at end of file diff --git a/includes/templates/content/ticker.php b/includes/templates/content/ticker.php new file mode 100644 index 000000000..96e767f19 --- /dev/null +++ b/includes/templates/content/ticker.php @@ -0,0 +1,5 @@ +
+
+ +
+
\ No newline at end of file diff --git a/includes/templates/content/timeline.php b/includes/templates/content/timeline.php new file mode 100644 index 000000000..a6acfc8fe --- /dev/null +++ b/includes/templates/content/timeline.php @@ -0,0 +1,20 @@ + \ No newline at end of file diff --git a/includes/templates/product-loop.php b/includes/templates/product-loop.php index 040868d9d..2eab0a4f1 100755 --- a/includes/templates/product-loop.php +++ b/includes/templates/product-loop.php @@ -1,6 +1,8 @@ +
  • > admin_url('admin-ajax.php'), + 'nonce' => wp_create_nonce('essential-addons-elementor'), + )); + } + } + + /** + * Create settings page. + * @param + * @return void + * @since 1.1.2 + */ + public function eael_admin_settings_page() + { + echo '
    +
    +
    +
    +
    + +
    +

    ' . __('Essential Addons Settings', 'essential-addons-elementor') . '

    +
    +
    + +
    +
    +
    + '; + include_once EAEL_PLUGIN_PATH . DIRECTORY_SEPARATOR . 'includes/templates/admin/general.php'; + include_once EAEL_PLUGIN_PATH . DIRECTORY_SEPARATOR . 'includes/templates/admin/elements.php'; + include_once EAEL_PLUGIN_PATH . DIRECTORY_SEPARATOR . 'includes/templates/admin/extensions.php'; + include_once EAEL_PLUGIN_PATH . DIRECTORY_SEPARATOR . 'includes/templates/admin/go-pro.php'; + echo '
    +
    +
    '; + } + + /** + * Saving data with ajax request + * @param + * @return array + * @since 1.1.2 + */ + public function save_settings() + { + check_ajax_referer('essential-addons-elementor', 'security'); + + if (!isset($_POST['fields'])) { + return; + } + + parse_str($_POST['fields'], $settings); + + // update new settings + $updated = update_option('eael_save_settings', array_merge(array_fill_keys($this->get_registered_elements(), 0), array_map(function ($value) {return 1;}, $settings))); + + // Build assets files + do_action('eael_generate_editor_scripts', array_keys($settings)); + + wp_send_json($updated); + } + + public function admin_notice() + { + $notice = new WPDeveloper_Notice(EAEL_PLUGIN_BASENAME, EAEL_PLUGIN_VERSION); + $scheme = (parse_url($_SERVER['REQUEST_URI'], PHP_URL_QUERY)) ? '&' : '?'; + $url = $_SERVER['REQUEST_URI'] . $scheme; + $notice->links = [ + 'review' => array( + 'later' => array( + 'link' => 'https://wpdeveloper.net/review-essential-addons-elementor', + 'target' => '_blank', + 'label' => __('Ok, you deserve it!', 'essential-addons-elementor'), + 'icon_class' => 'dashicons dashicons-external', + ), + 'allready' => array( + 'link' => $url, + 'label' => __('I already did', 'essential-addons-elementor'), + 'icon_class' => 'dashicons dashicons-smiley', + 'data_args' => [ + 'dismiss' => true, + ], + ), + 'maybe_later' => array( + 'link' => $url, + 'label' => __('Maybe Later', 'essential-addons-elementor'), + 'icon_class' => 'dashicons dashicons-calendar-alt', + 'data_args' => [ + 'later' => true, + ], + ), + 'support' => array( + 'link' => 'https://wpdeveloper.net/support', + 'label' => __('I need help', 'essential-addons-elementor'), + 'icon_class' => 'dashicons dashicons-sos', + ), + 'never_show_again' => array( + 'link' => $url, + 'label' => __('Never show again', 'essential-addons-elementor'), + 'icon_class' => 'dashicons dashicons-dismiss', + 'data_args' => [ + 'dismiss' => true, + ], + ), + ), + ]; + + /** + * This is review message and thumbnail. + */ + $notice->message('review', '

    ' . __('We hope you\'re enjoying Essential Addons for Elementor! Could you please do us a BIG favor and give it a 5-star rating on WordPress to help us spread the word and boost our motivation?', 'essential-addons-elementor') . '

    '); + $notice->thumbnail('review', plugins_url('assets/admin/images/ea-logo.svg', EAEL_PLUGIN_BASENAME)); + + /** + * Current Notice End Time. + * Notice will dismiss in 3 days if user does nothing. + */ + $notice->cne_time = '3 Day'; + /** + * Current Notice Maybe Later Time. + * Notice will show again in 7 days + */ + $notice->maybe_later_time = '7 Day'; + + $notice->text_domain = 'essential-addons-elementor'; + + $notice->options_args = array( + 'notice_will_show' => [ + 'opt_in' => $notice->timestamp, + 'review' => $notice->makeTime($notice->timestamp, '4 Day'), // after 4 days + ], + ); + + $notice->init(); + } +} diff --git a/includes/traits/Core.php b/includes/traits/Core.php new file mode 100755 index 000000000..19346f38e --- /dev/null +++ b/includes/traits/Core.php @@ -0,0 +1,153 @@ +registered_elements); + } + + /** + * Return saved settings + * + * @since 3.0.0 + */ + public function get_settings($element = null) + { + $elements = get_option('eael_save_settings', array_fill_keys(array_keys($this->registered_elements), true)); + + return (isset($element) ? $elements[$element] : array_keys(array_filter($elements))); + } + + /** + * Creates an Action Menu + */ + public function eael_add_settings_link($links) + { + $settings_link = sprintf('' . __('Settings') . ''); + $go_pro_link = sprintf('' . __('Go Pro') . ''); + array_push($links, $settings_link, $go_pro_link); + return $links; + } + + /** + * Redirect to options page + * + * @since v1.0.0 + */ + public function eael_redirect() + { + if (get_option('eael_do_activation_redirect', false)) { + delete_option('eael_do_activation_redirect'); + if (!isset($_GET['activate-multi'])) { + wp_redirect("admin.php?page=eael-settings"); + } + } + } + + public function plugins_footer_for_pro() + { + ?> + + eael_is_elementor_active()) { + if (!current_user_can('activate_plugins')) { + return; + } + $activation_url = wp_nonce_url('plugins.php?action=activate&plugin=' . $elementor . '&plugin_status=all&paged=1&s', 'activate-plugin_' . $elementor); + $message = __('Essential Addons for Elementor requires Elementor plugin to be active. Please activate Elementor to continue.', 'essential-addons-elementor'); + $button_text = __('Activate Elementor', 'essential-addons-elementor'); + } else { + if (!current_user_can('activate_plugins')) { + return; + } + $activation_url = wp_nonce_url(self_admin_url('update.php?action=install-plugin&plugin=elementor'), 'install-plugin_elementor'); + $message = sprintf(__('Essential Addons for Elementor requires Elementor plugin to be installed and activated. Please install Elementor to continue.', 'essential-addons-elementor'), '', ''); + $button_text = __('Install Elementor', 'essential-addons-elementor'); + } + $button = '

    ' . $button_text . '

    '; + printf('

    %1$s

    %2$s
    ', __($message), $button); + } + + /** + * Optional usage tracker + * + * @since v1.0.0 + */ + public function start_plugin_tracking() + { + $wpins = new Plugin_Usage_Tracker( + EAEL_PLUGIN_FILE, + 'http://app.wpdeveloper.net', + array(), + true, + true, + 1 + ); + } +} diff --git a/includes/traits/Elements.php b/includes/traits/Elements.php new file mode 100755 index 000000000..242faa2c6 --- /dev/null +++ b/includes/traits/Elements.php @@ -0,0 +1,68 @@ +add_category( + 'essential-addons-elementor', + [ + 'title' => __('Essential Addons', 'essential-addons-elementor'), + 'icon' => 'font', + ], 1); + } + + /** + * Add new group control + * + * @since v1.0.0 + */ + public function controls_registered($controls_manager) + { + $controls_manager->add_group_control('eaeposts', new Group_Control_EA_Posts); + } + + /** + * Acivate or Deactivate Modules + * + * @since v1.0.0 + */ + public function eael_add_elements($widgets_manager) + { + $active_elements = $this->get_settings(); + + if (empty($active_elements)) { + return; + } + + foreach ($active_elements as $active_element) { + + if (!isset($this->registered_elements[$active_element])) { + continue; + } + + if (isset($this->registered_elements[$active_element]['condition'])) { + if ($this->registered_elements[$active_element]['condition'][0]($this->registered_elements[$active_element]['condition'][1]) == false) { + continue; + } + } + + $element_class = '\Essential_Addons_Elementor\Elements\\' . $this->registered_elements[$active_element]['class']; + $widgets_manager->register_widget_type(new $element_class); + } + } + +} diff --git a/includes/traits/Enqueue.php b/includes/traits/Enqueue.php new file mode 100755 index 000000000..3661edc29 --- /dev/null +++ b/includes/traits/Enqueue.php @@ -0,0 +1,116 @@ +eael_select_gravity_form() as $form_id => $form_name) { + if ($form_id != '0') { + gravity_form_enqueue_scripts($form_id); + } + }; + } + + // WPforms compatibility + if (function_exists('wpforms')) { + wpforms()->frontend->assets_css(); + } + + // My Assets + if (Plugin::$instance->preview->is_preview_mode()) { + if (file_exists(EAEL_ASSET_PATH . DIRECTORY_SEPARATOR . 'eael.min.js')) { + $js_file = EAEL_ASSET_URL . '/eael.min.js'; + } else { + $js_file = EAEL_PLUGIN_URL . '/assets/front-end/js/eael.min.js'; + $this->generate_scripts($this->get_settings()); + } + + if (file_exists(EAEL_ASSET_PATH . DIRECTORY_SEPARATOR . 'eael.min.css')) { + $css_file = EAEL_ASSET_URL . '/eael.min.css'; + } else { + $css_file = EAEL_PLUGIN_URL . '/assets/front-end/css/eael.min.css'; + $this->generate_scripts($this->get_settings()); + } + + wp_enqueue_script( + 'eael-backend', + $js_file, + ['jquery'], + EAEL_PLUGIN_VERSION, + true + ); + + wp_enqueue_style( + 'eael-editor-css', + EAEL_PLUGIN_URL . '/assets/front-end/css/eael-editor.css', + false, + EAEL_PLUGIN_VERSION + ); + + wp_enqueue_style( + 'eael-backend', + $css_file, + false, + EAEL_PLUGIN_VERSION + ); + + // localize script + wp_localize_script('eael-backend', 'localize', array( + 'ajaxurl' => admin_url('admin-ajax.php'), + )); + } else if (is_singular()) { + $post_id = get_the_ID(); + $elements = $this->widgets_in_post($post_id); + + if (empty($elements)) { + return; + } + + if (file_exists(EAEL_ASSET_PATH . DIRECTORY_SEPARATOR . 'eael-' . $post_id . '.min.js')) { + $js_file = EAEL_ASSET_URL . '/eael-' . $post_id . '.min.js'; + } else { + $js_file = EAEL_PLUGIN_URL . '/assets/front-end/js/eael.min.js'; + $this->generate_post_scripts($post_id, $elements); + } + + if (file_exists(EAEL_ASSET_PATH . DIRECTORY_SEPARATOR . 'eael-' . $post_id . '.min.css')) { + $css_file = EAEL_ASSET_URL . '/eael-' . $post_id . '.min.css'; + } else { + $css_file = EAEL_PLUGIN_URL . '/assets/front-end/css/eael.min.css'; + $this->generate_post_scripts($post_id, $elements); + } + + wp_enqueue_script( + 'eael-front-end', + $js_file, + ['jquery'], + EAEL_PLUGIN_VERSION, + true + ); + + wp_enqueue_style( + 'eael-front-end', + $css_file, + false, + EAEL_PLUGIN_VERSION + ); + + // localize script + wp_localize_script('eael-front-end', 'localize', array( + 'ajaxurl' => admin_url('admin-ajax.php'), + )); + } + } +} diff --git a/includes/traits/Generator.php b/includes/traits/Generator.php new file mode 100755 index 000000000..ced47dece --- /dev/null +++ b/includes/traits/Generator.php @@ -0,0 +1,239 @@ + array( + 'assets/front-end/js/vendor/fancy-text/fancy-text.js', + ), + 'count-down' => array( + 'assets/front-end/js/vendor/count-down/count-down.min.js', + ), + 'filter-gallery' => array( + 'assets/front-end/js/vendor/isotope/isotope.pkgd.min.js', + 'assets/front-end/js/vendor/magnific-popup/jquery.magnific-popup.min.js', + ), + 'post-timeline' => array( + 'assets/front-end/js/vendor/load-more/load-more.js', + ), + 'price-table' => array( + 'assets/front-end/js/vendor/tooltipster/tooltipster.bundle.min.js', + ), + 'progress-bar' => array( + 'assets/front-end/js/vendor/progress-bar/progress-bar.min.js', + 'assets/front-end/js/vendor/inview/inview.min.js', + ), + 'twitter-feed' => array( + 'assets/front-end/js/vendor/isotope/isotope.pkgd.min.js', + 'assets/front-end/js/vendor/social-feeds/codebird.js', + 'assets/front-end/js/vendor/social-feeds/doT.min.js', + 'assets/front-end/js/vendor/social-feeds/moment.js', + 'assets/front-end/js/vendor/social-feeds/jquery.socialfeed.js', + ), + 'post-grid' => array( + 'assets/front-end/js/vendor/isotope/isotope.pkgd.min.js', + 'assets/front-end/js/vendor/load-more/load-more.js', + ), + ); + + /** + * Define css dependencies + * + * @since 3.0.0 + */ + public $css_dependencies = [ + 'post-grid' => [ + 'assets/front-end/css/product-grid.css', + ], + 'filter-gallery' => [ + 'assets/front-end/css/magnific-popup.css', + ], + ]; + + /** + * Collect dependencies for modules + * + * @since 3.0.0 + */ + public function generate_dependency(array $elements, array $deps) + { + $paths = []; + foreach ($elements as $element) { + if (isset($deps[$element])) { + foreach ($deps[$element] as $path) { + $paths[] = EAEL_PLUGIN_PATH . DIRECTORY_SEPARATOR . $path; + } + } + } + + return array_unique($paths); + } + + /** + * Search elements in a post. + * + * @since 3.0.0 + */ + public function widgets_in_post($post_id) + { + $elements = array(); + $sections = json_decode((string) get_post_meta($post_id, '_elementor_data', true)); + + if (empty($sections)) { + return $elements; + } + + foreach ((array) $sections as $section) { + if (empty($section->elements)) { + continue; + } + foreach ((array) $section->elements as $element) { + if (empty($element->elements)) { + continue; + } + foreach ((array) $element->elements as $widget) { + if (@$widget->widgetType) { + $elements[] = $widget->widgetType; + } else { + foreach ((array) $widget as $inner_section) { + if (empty($inner_section)) { + continue; + } + + foreach ((array) $inner_section as $inner_elements) { + if (empty($inner_elements->elements)) { + continue; + } + foreach ((array) $inner_elements->elements as $inner_widget) { + if (@$inner_widget->widgetType) { + $elements[] = $inner_widget->widgetType; + } + } + } + } + } + } + } + } + + $elements = array_map(function ($val) { + $val = str_replace(['eael-'], [''], $val); + + return str_replace([ + 'eicon-woocommerce', + 'countdown', + 'creative-button', + 'team-member', + 'testimonial', + 'weform', + 'cta-box', + 'dual-color-header', + 'pricing-table', + 'filterable-gallery', + ], [ + 'product-grid', + 'count-down', + 'creative-btn', + 'team-members', + 'testimonials', + 'weforms', + 'call-to-action', + 'dual-header', + 'price-table', + 'filter-gallery', + ], $val); + }, $elements); + + $elements = array_intersect(array_keys($this->registered_elements), $elements); + + return $elements; + } + + /** + * Generate scripts and minify. + * + * @since 3.0.0 + */ + public function generate_scripts($elements, $file_name = null) + { + if (empty($elements)) { + return; + } + + // if folder not exists, create new folder + if (!file_exists(EAEL_ASSET_PATH)) { + wp_mkdir_p(EAEL_ASSET_PATH); + } + + // collect eael js + $js_paths = array( + EAEL_PLUGIN_PATH . DIRECTORY_SEPARATOR . 'assets/front-end/js/general.js', + ); + $css_paths = array( + EAEL_PLUGIN_PATH . DIRECTORY_SEPARATOR . "assets/front-end/css/general.css", + ); + + // collect library scripts + $js_paths = array_merge($js_paths, $this->generate_dependency($elements, $this->js_dependencies)); + + // collect library styles + $css_paths = array_merge($css_paths, $this->generate_dependency($elements, $this->css_dependencies)); + + foreach ((array) $elements as $element) { + $js_file = EAEL_PLUGIN_PATH . DIRECTORY_SEPARATOR . 'assets/front-end/js/' . $element . '/index.js'; + if (file_exists($js_file)) { + $js_paths[] = $js_file; + } + + $css_file = EAEL_PLUGIN_PATH . DIRECTORY_SEPARATOR . "assets/front-end/css/$element.css"; + if (file_exists($css_file)) { + $css_paths[] = $css_file; + } + } + + $minifier = new Minify\JS($js_paths); + file_put_contents(EAEL_ASSET_PATH . DIRECTORY_SEPARATOR . ($file_name ? $file_name : 'eael') . '.min.js', $minifier->minify()); + + $minifier = new Minify\CSS($css_paths); + file_put_contents(EAEL_ASSET_PATH . DIRECTORY_SEPARATOR . ($file_name ? $file_name : 'eael') . '.min.css', $minifier->minify()); + } + + /** + * Generate single post scripts + * + * @since 3.0.0 + */ + public function generate_post_scripts($post_id, $elements = null) + { + if (!is_array($elements)) { + $elements = $this->widgets_in_post($post_id); + } + + if (empty($elements)) { + $css_path = EAEL_ASSET_PATH . DIRECTORY_SEPARATOR . 'eael-' . $post_id . '.min.css'; + $js_path = EAEL_ASSET_PATH . DIRECTORY_SEPARATOR . 'eael-' . $post_id . '.min.js'; + + if (file_exists($css_path)) { + unlink($css_path); + } + + if (file_exists($js_path)) { + unlink($js_path); + } + } else { + $this->generate_scripts($elements, 'eael-' . $post_id); + } + } +} diff --git a/includes/traits/Helper.php b/includes/traits/Helper.php new file mode 100755 index 000000000..50a42d9f5 --- /dev/null +++ b/includes/traits/Helper.php @@ -0,0 +1,1320 @@ +get_name()) { + $this->start_controls_section( + 'eael_section_content_ticker_filters', + [ + 'label' => __('Dynamic Content Settings', 'essential-addons-elementor'), + 'condition' => [ + 'eael_ticker_type' => 'dynamic', + ], + ] + ); + } + + if ('eael-content-timeline' === $this->get_name()) { + $this->start_controls_section( + 'eael_section_timeline__filters', + [ + 'label' => __('Dynamic Content Settings', 'essential-addons-elementor'), + 'condition' => [ + 'eael_content_timeline_choose' => 'dynamic', + ], + ] + ); + } + + if ('eael-content-timeline' !== $this->get_name() && 'eael-content-ticker' !== $this->get_name()) { + $this->start_controls_section( + 'eael_section_post__filters', + [ + 'label' => __('Query', 'essential-addons-elementor'), + ] + ); + } + + $this->add_group_control( + 'eaeposts', + [ + 'name' => 'eaeposts', + ] + ); + + $this->add_control( + 'post__not_in', + [ + 'label' => __('Exclude', 'essential-addons-elementor'), + 'type' => Controls_Manager::SELECT2, + 'options' => $this->eael_get_all_types_post(), + 'label_block' => true, + 'post_type' => '', + 'multiple' => true, + 'condition' => [ + 'eaeposts_post_type!' => 'by_id', + ], + ] + ); + + $this->add_control( + 'posts_per_page', + [ + 'label' => __('Posts Per Page', 'essential-addons-elementor'), + 'type' => Controls_Manager::NUMBER, + 'default' => '4', + ] + ); + + $this->add_control( + 'offset', + [ + 'label' => __('Offset', 'essential-addons-elementor'), + 'type' => Controls_Manager::NUMBER, + 'default' => '0', + ] + ); + + $this->add_control( + 'orderby', + [ + 'label' => __('Order By', 'essential-addons-elementor'), + 'type' => Controls_Manager::SELECT, + 'options' => $this->eael_get_post_orderby_options(), + 'default' => 'date', + + ] + ); + + $this->add_control( + 'order', + [ + 'label' => __('Order', 'essential-addons-elementor'), + 'type' => Controls_Manager::SELECT, + 'options' => [ + 'asc' => 'Ascending', + 'desc' => 'Descending', + ], + 'default' => 'desc', + + ] + ); + + $this->end_controls_section(); + } + + /** + * Layout Controls For Post Block + * + */ + protected function eael_layout_controls() + { + $this->start_controls_section( + 'eael_section_post_timeline_layout', + [ + 'label' => __('Layout Settings', 'essential-addons-elementor'), + ] + ); + + if ('eael-post-grid' === $this->get_name()) { + $this->add_control( + 'eael_post_grid_columns', + [ + 'label' => esc_html__('Number of Columns', 'essential-addons-elementor'), + 'type' => Controls_Manager::SELECT, + 'default' => 'eael-col-4', + 'options' => [ + 'eael-col-1' => esc_html__('Single Column', 'essential-addons-elementor'), + 'eael-col-2' => esc_html__('Two Columns', 'essential-addons-elementor'), + 'eael-col-3' => esc_html__('Three Columns', 'essential-addons-elementor'), + 'eael-col-4' => esc_html__('Four Columns', 'essential-addons-elementor'), + 'eael-col-5' => esc_html__('Five Columns', 'essential-addons-elementor'), + 'eael-col-6' => esc_html__('Six Columns', 'essential-addons-elementor'), + ], + ] + ); + } + + if ('eael-post-block' === $this->get_name()) { + $this->add_control( + 'grid_style', + [ + 'label' => esc_html__('Post Block Style Preset', 'essential-addons-elementor'), + 'type' => Controls_Manager::SELECT, + 'default' => 'post-block-style-default', + 'options' => [ + 'post-block-style-default' => esc_html__('Default', 'essential-addons-elementor'), + 'post-block-style-overlay' => esc_html__('Overlay', 'essential-addons-elementor'), + ], + ] + ); + } + + if ('eael-post-carousel' !== $this->get_name()) { + + /** + * Show Read More + * @uses ContentTimeLine Elements - EAE + */ + if ('eael-content-timeline' === $this->get_name()) { + + $this->add_control( + 'eael_show_read_more', + [ + 'label' => __('Show Read More', 'essential-addons-elementor'), + 'type' => Controls_Manager::CHOOSE, + 'options' => [ + '1' => [ + 'title' => __('Yes', 'essential-addons-elementor'), + 'icon' => 'fa fa-check', + ], + '0' => [ + 'title' => __('No', 'essential-addons-elementor'), + 'icon' => 'fa fa-ban', + ], + ], + 'default' => '1', + 'condition' => [ + 'eael_content_timeline_choose' => 'dynamic', + ], + ] + ); + + $this->add_control( + 'eael_read_more_text', + [ + 'label' => esc_html__('Label Text', 'essential-addons-elementor'), + 'type' => Controls_Manager::TEXT, + 'label_block' => false, + 'default' => esc_html__('Read More', 'essential-addons-elementor'), + 'condition' => [ + 'eael_content_timeline_choose' => 'dynamic', + 'eael_show_read_more' => '1', + ], + ] + ); + + } else { + + $this->add_control( + 'show_load_more', + [ + 'label' => __('Show Load More', 'essential-addons-elementor'), + 'type' => Controls_Manager::CHOOSE, + 'options' => [ + '1' => [ + 'title' => __('Yes', 'essential-addons-elementor'), + 'icon' => 'fa fa-check', + ], + '0' => [ + 'title' => __('No', 'essential-addons-elementor'), + 'icon' => 'fa fa-ban', + ], + ], + 'default' => '0', + ] + ); + + $this->add_control( + 'show_load_more_text', + [ + 'label' => esc_html__('Label Text', 'essential-addons-elementor'), + 'type' => Controls_Manager::TEXT, + 'label_block' => false, + 'default' => esc_html__('Load More', 'essential-addons-elementor'), + 'condition' => [ + 'show_load_more' => '1', + ], + ] + ); + } + + } + + if ('eael-content-timeline' !== $this->get_name()) { + $this->add_control( + 'eael_show_image', + [ + 'label' => __('Show Image', 'essential-addons-elementor'), + 'type' => Controls_Manager::CHOOSE, + 'options' => [ + '1' => [ + 'title' => __('Yes', 'essential-addons-elementor'), + 'icon' => 'fa fa-check', + ], + '0' => [ + 'title' => __('No', 'essential-addons-elementor'), + 'icon' => 'fa fa-ban', + ], + ], + 'default' => '1', + ] + ); + $this->add_group_control( + Group_Control_Image_Size::get_type(), + [ + 'name' => 'image', + 'exclude' => ['custom'], + 'default' => 'medium', + 'condition' => [ + 'eael_show_image' => '1', + ], + ] + ); + + } + + if ('eael-content-timeline' === $this->get_name()) { + + $this->add_control( + 'eael_show_image_or_icon', + [ + 'label' => __('Show Circle Image / Icon', 'essential-addons-elementor'), + 'type' => Controls_Manager::CHOOSE, + 'options' => [ + 'img' => [ + 'title' => __('Image', 'essential-addons-elementor'), + 'icon' => 'fa fa-picture-o', + ], + 'icon' => [ + 'title' => __('Icon', 'essential-addons-elementor'), + 'icon' => 'fa fa-info', + ], + 'bullet' => [ + 'title' => __('Bullet', 'essential-addons-elementor'), + 'icon' => 'fa fa-circle', + ], + ], + 'default' => 'icon', + 'condition' => [ + 'eael_content_timeline_choose' => 'dynamic', + ], + ] + ); + + $this->add_control( + 'eael_icon_image', + [ + 'label' => esc_html__('Icon Image', 'essential-addons-elementor'), + 'type' => Controls_Manager::MEDIA, + 'default' => [ + 'url' => Utils::get_placeholder_image_src(), + ], + 'condition' => [ + 'eael_show_image_or_icon' => 'img', + ], + ] + ); + $this->add_control( + 'eael_icon_image_size', + [ + 'label' => esc_html__('Icon Image Size', 'essential-addons-elementor'), + 'type' => Controls_Manager::SLIDER, + 'default' => [ + 'size' => 24, + ], + 'range' => [ + 'px' => [ + 'max' => 60, + ], + ], + 'condition' => [ + 'eael_show_image_or_icon' => 'img', + ], + 'selectors' => [ + '{{WRAPPER}} .eael-content-timeline-img img' => 'width: {{SIZE}}px;', + ], + ] + ); + + $this->add_control( + 'eael_content_timeline_circle_icon', + [ + 'label' => esc_html__('Icon', 'essential-addons-elementor'), + 'type' => Controls_Manager::ICON, + 'default' => 'fa fa-pencil', + 'condition' => [ + 'eael_content_timeline_choose' => 'dynamic', + 'eael_show_image_or_icon' => 'icon', + ], + ] + ); + + } + + $this->add_control( + 'eael_show_title', + [ + 'label' => __('Show Title', 'essential-addons-elementor'), + 'type' => Controls_Manager::CHOOSE, + 'options' => [ + '1' => [ + 'title' => __('Yes', 'essential-addons-elementor'), + 'icon' => 'fa fa-check', + ], + '0' => [ + 'title' => __('No', 'essential-addons-elementor'), + 'icon' => 'fa fa-ban', + ], + ], + 'default' => '1', + ] + ); + + $this->add_control( + 'eael_show_excerpt', + [ + 'label' => __('Show excerpt', 'essential-addons-elementor'), + 'type' => Controls_Manager::CHOOSE, + 'options' => [ + '1' => [ + 'title' => __('Yes', 'essential-addons-elementor'), + 'icon' => 'fa fa-check', + ], + '0' => [ + 'title' => __('No', 'essential-addons-elementor'), + 'icon' => 'fa fa-ban', + ], + ], + 'default' => '1', + ] + ); + + $this->add_control( + 'eael_excerpt_length', + [ + 'label' => __('Excerpt Words', 'essential-addons-elementor'), + 'type' => Controls_Manager::NUMBER, + 'default' => '10', + 'condition' => [ + 'eael_show_excerpt' => '1', + ], + 'description' => ' Pro Feature. Get Pro version ', + ] + ); + + if ('eael-post-grid' === $this->get_name() || 'eael-post-block' === $this->get_name() || 'eael-post-carousel' === $this->get_name()) { + + $this->add_control( + 'eael_show_meta', + [ + 'label' => __('Show Meta', 'essential-addons-elementor'), + 'type' => Controls_Manager::CHOOSE, + 'options' => [ + '1' => [ + 'title' => __('Yes', 'essential-addons-elementor'), + 'icon' => 'fa fa-check', + ], + '0' => [ + 'title' => __('No', 'essential-addons-elementor'), + 'icon' => 'fa fa-ban', + ], + ], + 'default' => '1', + ] + ); + + $this->add_control( + 'meta_position', + [ + 'label' => esc_html__('Meta Position', 'essential-addons-elementor'), + 'type' => Controls_Manager::SELECT, + 'default' => 'meta-entry-footer', + 'options' => [ + 'meta-entry-header' => esc_html__('Entry Header', 'essential-addons-elementor'), + 'meta-entry-footer' => esc_html__('Entry Footer', 'essential-addons-elementor'), + ], + 'condition' => [ + 'eael_show_meta' => '1', + ], + ] + ); + + } + + $this->end_controls_section(); + } + + /** + * Load More Button Style + * + */ + protected function eael_load_more_button_style() + { + $this->start_controls_section( + 'eael_section_load_more_btn', + [ + 'label' => __('Load More Button Style', 'essential-addons-elementor'), + 'tab' => Controls_Manager::TAB_STYLE, + 'condition' => [ + 'show_load_more' => '1', + ], + ] + ); + + $this->add_responsive_control( + 'eael_post_grid_load_more_btn_padding', + [ + 'label' => esc_html__('Padding', 'essential-addons-elementor'), + 'type' => Controls_Manager::DIMENSIONS, + 'size_units' => ['px', 'em', '%'], + 'selectors' => [ + '{{WRAPPER}} .eael-load-more-button' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', + ], + ] + ); + + $this->add_responsive_control( + 'eael_post_grid_load_more_btn_margin', + [ + 'label' => esc_html__('Margin', 'essential-addons-elementor'), + 'type' => Controls_Manager::DIMENSIONS, + 'size_units' => ['px', 'em', '%'], + 'selectors' => [ + '{{WRAPPER}} .eael-load-more-button' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', + ], + ] + ); + $this->add_group_control( + Group_Control_Typography::get_type(), + [ + 'name' => 'eael_post_grid_load_more_btn_typography', + 'selector' => '{{WRAPPER}} .eael-load-more-button', + ] + ); + + $this->start_controls_tabs('eael_post_grid_load_more_btn_tabs'); + + // Normal State Tab + $this->start_controls_tab('eael_post_grid_load_more_btn_normal', ['label' => esc_html__('Normal', 'essential-addons-elementor')]); + + $this->add_control( + 'eael_post_grid_load_more_btn_normal_text_color', + [ + 'label' => esc_html__('Text Color', 'essential-addons-elementor'), + 'type' => Controls_Manager::COLOR, + 'default' => '#fff', + 'selectors' => [ + '{{WRAPPER}} .eael-load-more-button' => 'color: {{VALUE}};', + ], + ] + ); + + $this->add_control( + 'eael_cta_btn_normal_bg_color', + [ + 'label' => esc_html__('Background Color', 'essential-addons-elementor'), + 'type' => Controls_Manager::COLOR, + 'default' => '#29d8d8', + 'selectors' => [ + '{{WRAPPER}} .eael-load-more-button' => 'background: {{VALUE}};', + ], + ] + ); + + $this->add_group_control( + Group_Control_Border::get_type(), + [ + 'name' => 'eael_post_grid_load_more_btn_normal_border', + 'label' => esc_html__('Border', 'essential-addons-elementor'), + 'selector' => '{{WRAPPER}} .eael-load-more-button', + ] + ); + + $this->add_control( + 'eael_post_grid_load_more_btn_border_radius', + [ + 'label' => esc_html__('Border Radius', 'essential-addons-elementor'), + 'type' => Controls_Manager::SLIDER, + 'range' => [ + 'px' => [ + 'max' => 100, + ], + ], + 'selectors' => [ + '{{WRAPPER}} .eael-load-more-button' => 'border-radius: {{SIZE}}px;', + ], + ] + ); + $this->add_group_control( + Group_Control_Box_Shadow::get_type(), + [ + 'name' => 'eael_post_grid_load_more_btn_shadow', + 'selector' => '{{WRAPPER}} .eael-load-more-button', + 'separator' => 'before', + ] + ); + + $this->end_controls_tab(); + + // Hover State Tab + $this->start_controls_tab('eael_post_grid_load_more_btn_hover', ['label' => esc_html__('Hover', 'essential-addons-elementor')]); + + $this->add_control( + 'eael_post_grid_load_more_btn_hover_text_color', + [ + 'label' => esc_html__('Text Color', 'essential-addons-elementor'), + 'type' => Controls_Manager::COLOR, + 'default' => '#fff', + 'selectors' => [ + '{{WRAPPER}} .eael-load-more-button:hover' => 'color: {{VALUE}};', + ], + ] + ); + + $this->add_control( + 'eael_post_grid_load_more_btn_hover_bg_color', + [ + 'label' => esc_html__('Background Color', 'essential-addons-elementor'), + 'type' => Controls_Manager::COLOR, + 'default' => '#27bdbd', + 'selectors' => [ + '{{WRAPPER}} .eael-load-more-button:hover' => 'background: {{VALUE}};', + ], + ] + ); + + $this->add_control( + 'eael_post_grid_load_more_btn_hover_border_color', + [ + 'label' => esc_html__('Border Color', 'essential-addons-elementor'), + 'type' => Controls_Manager::COLOR, + 'default' => '', + 'selectors' => [ + '{{WRAPPER}} .eael-load-more-button:hover' => 'border-color: {{VALUE}};', + ], + ] + + ); + $this->add_group_control( + Group_Control_Box_Shadow::get_type(), + [ + 'name' => 'eael_post_grid_load_more_btn_hover_shadow', + 'selector' => '{{WRAPPER}} .eael-load-more-button:hover', + 'separator' => 'before', + ] + ); + $this->end_controls_tab(); + + $this->end_controls_tabs(); + + $this->add_responsive_control( + 'eael_post_grid_loadmore_button_alignment', + [ + 'label' => __('Button Alignment', 'essential-addons-elementor'), + 'type' => Controls_Manager::CHOOSE, + 'options' => [ + 'flex-start' => [ + 'title' => __('Left', 'essential-addons-elementor'), + 'icon' => 'fa fa-align-left', + ], + 'center' => [ + 'title' => __('Center', 'essential-addons-elementor'), + 'icon' => 'fa fa-align-center', + ], + 'flex-end' => [ + 'title' => __('Right', 'essential-addons-elementor'), + 'icon' => 'fa fa-align-right', + ], + ], + 'default' => 'center', + 'selectors' => [ + '{{WRAPPER}} .eael-load-more-button-wrap' => 'justify-content: {{VALUE}};', + ], + ] + ); + + $this->end_controls_section(); + } + + /** + * Go Premium + * + */ + protected function eael_go_premium() + { + $this->start_controls_section( + 'eael_section_pro', + [ + 'label' => __('Go Premium for More Features', 'essential-addons-elementor'), + ] + ); + + $this->add_control( + 'eael_control_get_pro', + [ + 'label' => __('Unlock more possibilities', 'essential-addons-elementor'), + 'type' => Controls_Manager::CHOOSE, + 'options' => [ + '1' => [ + 'title' => __('', 'essential-addons-elementor'), + 'icon' => 'fa fa-unlock-alt', + ], + ], + 'default' => '1', + 'description' => ' Get the Pro version for more stunning elements and customization options.', + ] + ); + + $this->end_controls_section(); + } + + public function eael_get_query_args($control_id, $settings) + { + $defaults = [ + $control_id . '_post_type' => 'post', + $control_id . '_posts_ids' => [], + 'orderby' => 'date', + 'order' => 'desc', + 'posts_per_page' => 3, + 'offset' => 0, + ]; + + $settings = wp_parse_args($settings, $defaults); + + $post_type = $settings[$control_id . '_post_type']; + + $query_args = [ + 'orderby' => $settings['orderby'], + 'order' => $settings['order'], + 'ignore_sticky_posts' => 1, + 'post_status' => 'publish', // Hide drafts/private posts for admins + ]; + + if ('by_id' === $post_type) { + $query_args['post_type'] = 'any'; + $query_args['post__in'] = $settings[$control_id . '_posts_ids']; + + if (empty($query_args['post__in'])) { + // If no selection - return an empty query + $query_args['post__in'] = [0]; + } + } else { + $query_args['post_type'] = $post_type; + $query_args['posts_per_page'] = $settings['posts_per_page']; + $query_args['tax_query'] = []; + + $query_args['offset'] = $settings['offset']; + + $taxonomies = get_object_taxonomies($post_type, 'objects'); + + foreach ($taxonomies as $object) { + $setting_key = $control_id . '_' . $object->name . '_ids'; + + if (!empty($settings[$setting_key])) { + $query_args['tax_query'][] = [ + 'taxonomy' => $object->name, + 'field' => 'term_id', + 'terms' => $settings[$setting_key], + ]; + } + } + } + + if (!empty($settings[$control_id . '_authors'])) { + $query_args['author__in'] = $settings[$control_id . '_authors']; + } + + $post__not_in = []; + if (!empty($settings['post__not_in'])) { + $post__not_in = array_merge($post__not_in, $settings['post__not_in']); + $query_args['post__not_in'] = $post__not_in; + } + + if (isset($query_args['tax_query']) && count($query_args['tax_query']) > 1) { + $query_args['tax_query']['relation'] = 'OR'; + } + + return $query_args; + } + + /** + * Get All POst Types + * @return array + */ + public function eael_get_post_types() + { + $eael_cpts = get_post_types(array('public' => true, 'show_in_nav_menus' => true), 'object'); + $eael_exclude_cpts = array('elementor_library', 'attachment'); + + foreach ($eael_exclude_cpts as $exclude_cpt) { + unset($eael_cpts[$exclude_cpt]); + } + $post_types = array_merge($eael_cpts); + foreach ($post_types as $type) { + $types[$type->name] = $type->label; + } + + return $types; + } + + /** + * Get all types of post. + * @return array + */ + public function eael_get_all_types_post() + { + $posts_args = array( + 'post_type' => 'any', + 'post_style' => 'all_types', + 'post_status' => 'publish', + 'posts_per_page' => '-1', + ); + $posts = $this->eael_load_more_ajax($posts_args); + + $post_list = []; + + foreach ($posts as $post) { + $post_list[$post->ID] = $post->post_title; + } + + return $post_list; + } + + /** + * Post Settings Parameter + * @param array $settings + * @return array + */ + public function eael_get_post_settings($settings) + { + foreach ($settings as $key => $value) { + if (in_array($key, $this->post_args)) { + $post_args[$key] = $value; + } + } + + $post_args['post_style'] = isset($post_args['post_style']) ? $post_args['post_style'] : 'grid'; + $post_args['post_status'] = 'publish'; + + return $post_args; + } + + /** + * Getting Excerpts By Post Id + * @param int $post_id + * @param int $excerpt_length + * @return string + */ + public function eael_get_excerpt_by_id($post_id, $excerpt_length) + { + $the_post = get_post($post_id); //Gets post ID + + $the_excerpt = null; + if ($the_post) { + $the_excerpt = $the_post->post_excerpt ? $the_post->post_excerpt : $the_post->post_content; + } + + $the_excerpt = strip_tags(strip_shortcodes($the_excerpt)); //Strips tags and images + $words = explode(' ', $the_excerpt, $excerpt_length + 1); + + if (count($words) > $excerpt_length): + array_pop($words); + array_push($words, '…'); + $the_excerpt = implode(' ', $words); + endif; + + return $the_excerpt; + } + + /** + * Get Post Thumbnail Size + * + * @return array + */ + public function eael_get_thumbnail_sizes() + { + $sizes = get_intermediate_image_sizes(); + foreach ($sizes as $s) { + $ret[$s] = $s; + } + + return $ret; + } + + /** + * POst Orderby Options + * + * @return array + */ + public function eael_get_post_orderby_options() + { + $orderby = array( + 'ID' => 'Post ID', + 'author' => 'Post Author', + 'title' => 'Title', + 'date' => 'Date', + 'modified' => 'Last Modified Date', + 'parent' => 'Parent Id', + 'rand' => 'Random', + 'comment_count' => 'Comment Count', + 'menu_order' => 'Menu Order', + ); + + return $orderby; + } + + /** + * Get Post Categories + * + * @return array + */ + public function eael_post_type_categories() + { + $terms = get_terms(array( + 'taxonomy' => 'category', + 'hide_empty' => true, + )); + + if (!empty($terms) && !is_wp_error($terms)) { + foreach ($terms as $term) { + $options[$term->term_id] = $term->name; + } + } + + return $options; + } + + /** + * WooCommerce Product Query + * + * @return array + */ + public function eael_woocommerce_product_categories() + { + $terms = get_terms(array( + 'taxonomy' => 'product_cat', + 'hide_empty' => true, + )); + + if (!empty($terms) && !is_wp_error($terms)) { + foreach ($terms as $term) { + $options[$term->slug] = $term->name; + } + return $options; + } + } + + /** + * WooCommerce Get Product By Id + * + * @return array + */ + public function eael_woocommerce_product_get_product_by_id() + { + $postlist = get_posts(array( + 'post_type' => 'product', + 'showposts' => 9999, + )); + $options = array(); + + if (!empty($postlist) && !is_wp_error($postlist)) { + foreach ($postlist as $post) { + $options[$post->ID] = $post->post_title; + } + return $options; + + } + } + + /** + * WooCommerce Get Product Category By Id + * + * @return array + */ + public function eael_woocommerce_product_categories_by_id() + { + $terms = get_terms(array( + 'taxonomy' => 'product_cat', + 'hide_empty' => true, + )); + + if (!empty($terms) && !is_wp_error($terms)) { + foreach ($terms as $term) { + $options[$term->term_id] = $term->name; + } + return $options; + } + + } + + /** + * Get Contact Form 7 [ if exists ] + */ + public function eael_select_contact_form() + { + $options = array(); + + if (function_exists('wpcf7')) { + $wpcf7_form_list = get_posts(array( + 'post_type' => 'wpcf7_contact_form', + 'showposts' => 999, + )); + $options[0] = esc_html__('Select a Contact Form', 'essential-addons-elementor'); + if (!empty($wpcf7_form_list) && !is_wp_error($wpcf7_form_list)) { + foreach ($wpcf7_form_list as $post) { + $options[$post->ID] = $post->post_title; + } + } else { + $options[0] = esc_html__('Create a Form First', 'essential-addons-elementor'); + } + } + return $options; + } + + /** + * Get Gravity Form [ if exists ] + * + * @return array + */ + public function eael_select_gravity_form() + { + $options = array(); + + if (class_exists('GFCommon')) { + $gravity_forms = \RGFormsModel::get_forms(null, 'title'); + + if (!empty($gravity_forms) && !is_wp_error($gravity_forms)) { + + $options[0] = esc_html__('Select Gravity Form', 'essential-addons-elementor'); + foreach ($gravity_forms as $form) { + $options[$form->id] = $form->title; + } + + } else { + $options[0] = esc_html__('Create a Form First', 'essential-addons-elementor'); + } + } + + return $options; + } + + /** + * Get WeForms Form List + * + * @return array + */ + public function eael_select_weform() + { + $wpuf_form_list = get_posts(array( + 'post_type' => 'wpuf_contact_form', + 'showposts' => 999, + )); + + $options = array(); + + if (!empty($wpuf_form_list) && !is_wp_error($wpuf_form_list)) { + $options[0] = esc_html__('Select weForm', 'essential-addons-elementor'); + foreach ($wpuf_form_list as $post) { + $options[$post->ID] = $post->post_title; + } + } else { + $options[0] = esc_html__('Create a Form First', 'essential-addons-elementor'); + } + + return $options; + } + + /** + * Get Ninja Form List + * + * @return array + */ + public function eael_select_ninja_form() + { + $options = array(); + + if (class_exists('Ninja_Forms')) { + $contact_forms = Ninja_Forms()->form()->get_forms(); + + if (!empty($contact_forms) && !is_wp_error($contact_forms)) { + + $options[0] = esc_html__('Select Ninja Form', 'essential-addons-elementor'); + + foreach ($contact_forms as $form) { + $options[$form->get_id()] = $form->get_setting('title'); + } + } + } else { + $options[0] = esc_html__('Create a Form First', 'essential-addons-elementor'); + } + + return $options; + } + + /** + * Get Caldera Form List + * + * @return array + */ + public function eael_select_caldera_form() + { + $options = array(); + + if (class_exists('Caldera_Forms')) { + $contact_forms = \Caldera_Forms_Forms::get_forms(true, true); + + if (!empty($contact_forms) && !is_wp_error($contact_forms)) { + $options[0] = esc_html__('Select Caldera Form', 'essential-addons-elementor'); + foreach ($contact_forms as $form) { + $options[$form['ID']] = $form['name']; + } + } + } else { + $options[0] = esc_html__('Create a Form First', 'essential-addons-elementor'); + } + + return $options; + } + + /** + * Get WPForms List + * + * @return array + */ + public function eael_select_wpforms_forms() + { + $options = array(); + + if (class_exists('\WPForms\WPForms')) { + $args = array( + 'post_type' => 'wpforms', + 'posts_per_page' => -1, + ); + + $contact_forms = get_posts($args); + + if (!empty($contact_forms) && !is_wp_error($contact_forms)) { + $options[0] = esc_html__('Select a WPForm', 'essential-addons-elementor'); + foreach ($contact_forms as $post) { + $options[$post->ID] = $post->post_title; + } + } + } else { + $options[0] = esc_html__('Create a Form First', 'essential-addons-elementor'); + } + + return $options; + } + + /** + * Get all elementor page templates + * + * @return array + */ + public function eael_get_page_templates() + { + $page_templates = get_posts(array( + 'post_type' => 'elementor_library', + 'posts_per_page' => -1, + )); + + $options = array(); + + if (!empty($page_templates) && !is_wp_error($page_templates)) { + foreach ($page_templates as $post) { + $options[$post->ID] = $post->post_title; + } + } + return $options; + } + + /** + * Get all Authors + * + * @return array + */ + public function eael_get_authors() + { + $options = array(); + $users = get_users(); + + if ($users) { + foreach ($users as $user) { + $options[$user->ID] = $user->display_name; + } + } + + return $options; + } + + /** + * Get all Tags + * + * @return array + */ + public function eael_get_tags() + { + $options = array(); + $tags = get_tags(); + + foreach ($tags as $tag) { + $options[$tag->term_id] = $tag->name; + } + + return $options; + } + + /** + * Get all Posts + * + * @return array + */ + public function eael_get_posts() + { + $post_list = get_posts(array( + 'post_type' => 'post', + 'orderby' => 'date', + 'order' => 'DESC', + 'posts_per_page' => -1, + )); + + $posts = array(); + + if (!empty($post_list) && !is_wp_error($post_list)) { + foreach ($post_list as $post) { + $posts[$post->ID] = $post->post_title; + } + } + + return $posts; + } + + /** + * Get all Pages + * + * @return array + */ + public function eael_get_pages() + { + $page_list = get_posts(array( + 'post_type' => 'page', + 'orderby' => 'date', + 'order' => 'DESC', + 'posts_per_page' => -1, + )); + + $pages = array(); + + if (!empty($page_list) && !is_wp_error($page_list)) { + foreach ($page_list as $page) { + $pages[$page->ID] = $page->post_title; + } + } + + return $pages; + } + + /** + * This function is responsible for get the post data. + * It will return HTML markup with AJAX call and with normal call. + * + * @return string of an html markup with AJAX call. + * @return array of content and found posts count without AJAX call. + */ + public function eael_load_more_ajax() + { + if (isset($_POST['action']) && $_POST['action'] == 'load_more') { + $post_args = $this->eael_get_post_settings($_POST); + $post_args = array_merge($this->eael_get_query_args('eaeposts', $_POST), $post_args); + + if (isset($_POST['tax_query']) && count($_POST['tax_query']) > 1) { + $post_args['tax_query']['relation'] = 'OR'; + } + } else { + $args = func_get_args(); + $post_args = $args[0]; + } + + $posts = new \WP_Query($post_args); + + /** + * For returning all types of post as an array + * @return array; + */ + if (isset($post_args['post_style']) && $post_args['post_style'] == 'all_types') { + return $posts->posts; + } + + $return = array(); + $return['count'] = $posts->found_posts; + + ob_start(); + + while ($posts->have_posts()): $posts->the_post(); + include EAEL_PLUGIN_PATH . DIRECTORY_SEPARATOR . 'includes/templates/content/' . @$post_args['post_style'] . '.php'; + endwhile; + + $return['content'] = ob_get_clean(); + + wp_reset_postdata(); + wp_reset_query(); + + if (isset($_POST['action']) && $_POST['action'] == 'load_more') { + wp_send_json($return['content']); + } else { + return $return; + } + } + +} diff --git a/package.json b/package.json index 5d5cd881f..98d4add85 100755 --- a/package.json +++ b/package.json @@ -1,28 +1,28 @@ { - "name": "essential-addons-for-elementor-lite", - "version": "1.0.0", - "description": "=== Essential Addons for Elementor === Contributors: Codetic, re_enter_rupok, Asif2BD, robicse11128, priyomukul, mahfuz01, manik08cse Tags: elementor, elements, addons, elementor addon, elementor widget, page builder, builder, visual editor, wordpress page builder, elementor form Requires at least: 4.0 Tested up to: 4.9.8 Requires PHP: 5.4 Stable tag: 2.8.3 License: GPLv3 License URI: https://opensource.org/licenses/GPL-3.0", - "main": "gulpfile.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/rupok/essential-addons-elementor-lite.git" - }, - "author": "", - "license": "ISC", - "bugs": { - "url": "https://github.com/rupok/essential-addons-elementor-lite/issues" - }, - "homepage": "https://github.com/rupok/essential-addons-elementor-lite#readme", - "devDependencies": { - "gulp-autoprefixer": "^6.0.0", - "gulp-clean-css": "^4.0.0", - "gulp-compass": "^2.1.0", - "gulp-notify": "^3.2.0" - }, - "dependencies": { - "gulp": "^3.9.1" - } + "name": "essential-addons-for-elementor-lite", + "version": "1.0.0", + "description": "=== Essential Addons for Elementor === Contributors: Codetic, re_enter_rupok, Asif2BD, robicse11128, priyomukul, mahfuz01, manik08cse Tags: elementor, elements, addons, elementor addon, elementor widget, page builder, builder, visual editor, wordpress page builder, elementor form Requires at least: 4.0 Tested up to: 4.9.8 Requires PHP: 5.4 Stable tag: 2.8.3 License: GPLv3 License URI: https://opensource.org/licenses/GPL-3.0", + "main": "gulpfile.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/rupok/essential-addons-elementor-lite.git" + }, + "author": "", + "license": "ISC", + "bugs": { + "url": "https://github.com/rupok/essential-addons-elementor-lite/issues" + }, + "homepage": "https://github.com/rupok/essential-addons-elementor-lite#readme", + "devDependencies": { + "gulp-autoprefixer": "^6.0.0", + "gulp-clean-css": "^4.0.0", + "gulp-compass": "^2.1.0", + "gulp-notify": "^3.2.0" + }, + "dependencies": { + "gulp": "^3.9.1" + } } diff --git a/readme.txt b/readme.txt index 60febe203..1d3d443f3 100755 --- a/readme.txt +++ b/readme.txt @@ -1,10 +1,10 @@ === Essential Addons for Elementor === -Contributors: wpdevteam, Codetic, re_enter_rupok, Asif2BD, robicse11128, priyomukul, mahfuz01, mdsabuz, manik08cse +Contributors: wpdevteam, Codetic, re_enter_rupok, Asif2BD, priyomukul, mahfuz01, nazsabuz Tags: elementor, elements, addons, elementor addon, elementor widget, page builder, builder, visual editor, wordpress page builder, elementor form Requires at least: 4.0 Tested up to: 5.1 Requires PHP: 5.4 -Stable tag: 2.9.8 +Stable tag: 2.10.1 License: GPLv3 License URI: https://opensource.org/licenses/GPL-3.0 @@ -36,7 +36,7 @@ We have extra-ordinary support team ready to help you. Ask your questions in the ### [Elementor](https://wordpress.org/plugins/elementor/) page builder is required for this plugin. -### 28+ FREE WIDGETS AND COUNTING +### 29+ FREE WIDGETS AND COUNTING We have designed 29 of the most useful widgets to enhance your Elementor Page Building experience and allow you to climb the top of your design capabilities. @@ -68,6 +68,7 @@ We have designed 29 of the most useful widgets to enhance your Elementor Page Bu 26. [Advanced Tabs](https://essential-addons.com/elementor/advanced-tabs/) - Include tab to put information in different styles. Supports nested tabs. 27. [Advanced Accordion](https://essential-addons.com/elementor/advanced-accordion/) - Add beautiful accordions in your pages, posts, and anywhere. Supports nested accordions. 28. [Progress Bar](https://essential-addons.com/elementor/progress-bar/) - Display progress bars with 4+ different styles +29. [Feature List](https://essential-addons.com/elementor/feature-list/) - Display feature lists with custom icons and styles Extensions: @@ -167,6 +168,20 @@ Your existing elements/content will work with premium version. So you won't lose == Changelog == += 2.10.1 - 31/03/2019 = +- Feature List element added +- Fixed few errors and conflicts +- Advanced Tabs responsiveness improved +- Few minor bugfix and improvements + += 2.10.0 - 27/03/2019 = + +- Refractored plugin structure for improved performance +- Only one minified JS and one CSS file (if required for the widget) will be used on the page where EA element is being used +- No extra asset will be loaded if you don't use EA on any page +- Massive performance improved minimizing the dependencies +- Lots minor bugfix and improvements + = 2.9.8 - 28/02/2019 = - Facebook Feed removed as it doesn't work with new API diff --git a/vendor/autoload.php b/vendor/autoload.php new file mode 100644 index 000000000..4a98e3414 --- /dev/null +++ b/vendor/autoload.php @@ -0,0 +1,7 @@ + + * Jordi Boggiano + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Composer\Autoload; + +/** + * ClassLoader implements a PSR-0, PSR-4 and classmap class loader. + * + * $loader = new \Composer\Autoload\ClassLoader(); + * + * // register classes with namespaces + * $loader->add('Symfony\Component', __DIR__.'/component'); + * $loader->add('Symfony', __DIR__.'/framework'); + * + * // activate the autoloader + * $loader->register(); + * + * // to enable searching the include path (eg. for PEAR packages) + * $loader->setUseIncludePath(true); + * + * In this example, if you try to use a class in the Symfony\Component + * namespace or one of its children (Symfony\Component\Console for instance), + * the autoloader will first look for the class under the component/ + * directory, and it will then fallback to the framework/ directory if not + * found before giving up. + * + * This class is loosely based on the Symfony UniversalClassLoader. + * + * @author Fabien Potencier + * @author Jordi Boggiano + * @see http://www.php-fig.org/psr/psr-0/ + * @see http://www.php-fig.org/psr/psr-4/ + */ +class ClassLoader +{ + // PSR-4 + private $prefixLengthsPsr4 = array(); + private $prefixDirsPsr4 = array(); + private $fallbackDirsPsr4 = array(); + + // PSR-0 + private $prefixesPsr0 = array(); + private $fallbackDirsPsr0 = array(); + + private $useIncludePath = false; + private $classMap = array(); + private $classMapAuthoritative = false; + private $missingClasses = array(); + private $apcuPrefix; + + public function getPrefixes() + { + if (!empty($this->prefixesPsr0)) { + return call_user_func_array('array_merge', $this->prefixesPsr0); + } + + return array(); + } + + public function getPrefixesPsr4() + { + return $this->prefixDirsPsr4; + } + + public function getFallbackDirs() + { + return $this->fallbackDirsPsr0; + } + + public function getFallbackDirsPsr4() + { + return $this->fallbackDirsPsr4; + } + + public function getClassMap() + { + return $this->classMap; + } + + /** + * @param array $classMap Class to filename map + */ + public function addClassMap(array $classMap) + { + if ($this->classMap) { + $this->classMap = array_merge($this->classMap, $classMap); + } else { + $this->classMap = $classMap; + } + } + + /** + * Registers a set of PSR-0 directories for a given prefix, either + * appending or prepending to the ones previously set for this prefix. + * + * @param string $prefix The prefix + * @param array|string $paths The PSR-0 root directories + * @param bool $prepend Whether to prepend the directories + */ + public function add($prefix, $paths, $prepend = false) + { + if (!$prefix) { + if ($prepend) { + $this->fallbackDirsPsr0 = array_merge( + (array) $paths, + $this->fallbackDirsPsr0 + ); + } else { + $this->fallbackDirsPsr0 = array_merge( + $this->fallbackDirsPsr0, + (array) $paths + ); + } + + return; + } + + $first = $prefix[0]; + if (!isset($this->prefixesPsr0[$first][$prefix])) { + $this->prefixesPsr0[$first][$prefix] = (array) $paths; + + return; + } + if ($prepend) { + $this->prefixesPsr0[$first][$prefix] = array_merge( + (array) $paths, + $this->prefixesPsr0[$first][$prefix] + ); + } else { + $this->prefixesPsr0[$first][$prefix] = array_merge( + $this->prefixesPsr0[$first][$prefix], + (array) $paths + ); + } + } + + /** + * Registers a set of PSR-4 directories for a given namespace, either + * appending or prepending to the ones previously set for this namespace. + * + * @param string $prefix The prefix/namespace, with trailing '\\' + * @param array|string $paths The PSR-4 base directories + * @param bool $prepend Whether to prepend the directories + * + * @throws \InvalidArgumentException + */ + public function addPsr4($prefix, $paths, $prepend = false) + { + if (!$prefix) { + // Register directories for the root namespace. + if ($prepend) { + $this->fallbackDirsPsr4 = array_merge( + (array) $paths, + $this->fallbackDirsPsr4 + ); + } else { + $this->fallbackDirsPsr4 = array_merge( + $this->fallbackDirsPsr4, + (array) $paths + ); + } + } elseif (!isset($this->prefixDirsPsr4[$prefix])) { + // Register directories for a new namespace. + $length = strlen($prefix); + if ('\\' !== $prefix[$length - 1]) { + throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); + } + $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; + $this->prefixDirsPsr4[$prefix] = (array) $paths; + } elseif ($prepend) { + // Prepend directories for an already registered namespace. + $this->prefixDirsPsr4[$prefix] = array_merge( + (array) $paths, + $this->prefixDirsPsr4[$prefix] + ); + } else { + // Append directories for an already registered namespace. + $this->prefixDirsPsr4[$prefix] = array_merge( + $this->prefixDirsPsr4[$prefix], + (array) $paths + ); + } + } + + /** + * Registers a set of PSR-0 directories for a given prefix, + * replacing any others previously set for this prefix. + * + * @param string $prefix The prefix + * @param array|string $paths The PSR-0 base directories + */ + public function set($prefix, $paths) + { + if (!$prefix) { + $this->fallbackDirsPsr0 = (array) $paths; + } else { + $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths; + } + } + + /** + * Registers a set of PSR-4 directories for a given namespace, + * replacing any others previously set for this namespace. + * + * @param string $prefix The prefix/namespace, with trailing '\\' + * @param array|string $paths The PSR-4 base directories + * + * @throws \InvalidArgumentException + */ + public function setPsr4($prefix, $paths) + { + if (!$prefix) { + $this->fallbackDirsPsr4 = (array) $paths; + } else { + $length = strlen($prefix); + if ('\\' !== $prefix[$length - 1]) { + throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); + } + $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; + $this->prefixDirsPsr4[$prefix] = (array) $paths; + } + } + + /** + * Turns on searching the include path for class files. + * + * @param bool $useIncludePath + */ + public function setUseIncludePath($useIncludePath) + { + $this->useIncludePath = $useIncludePath; + } + + /** + * Can be used to check if the autoloader uses the include path to check + * for classes. + * + * @return bool + */ + public function getUseIncludePath() + { + return $this->useIncludePath; + } + + /** + * Turns off searching the prefix and fallback directories for classes + * that have not been registered with the class map. + * + * @param bool $classMapAuthoritative + */ + public function setClassMapAuthoritative($classMapAuthoritative) + { + $this->classMapAuthoritative = $classMapAuthoritative; + } + + /** + * Should class lookup fail if not found in the current class map? + * + * @return bool + */ + public function isClassMapAuthoritative() + { + return $this->classMapAuthoritative; + } + + /** + * APCu prefix to use to cache found/not-found classes, if the extension is enabled. + * + * @param string|null $apcuPrefix + */ + public function setApcuPrefix($apcuPrefix) + { + $this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null; + } + + /** + * The APCu prefix in use, or null if APCu caching is not enabled. + * + * @return string|null + */ + public function getApcuPrefix() + { + return $this->apcuPrefix; + } + + /** + * Registers this instance as an autoloader. + * + * @param bool $prepend Whether to prepend the autoloader or not + */ + public function register($prepend = false) + { + spl_autoload_register(array($this, 'loadClass'), true, $prepend); + } + + /** + * Unregisters this instance as an autoloader. + */ + public function unregister() + { + spl_autoload_unregister(array($this, 'loadClass')); + } + + /** + * Loads the given class or interface. + * + * @param string $class The name of the class + * @return bool|null True if loaded, null otherwise + */ + public function loadClass($class) + { + if ($file = $this->findFile($class)) { + includeFile($file); + + return true; + } + } + + /** + * Finds the path to the file where the class is defined. + * + * @param string $class The name of the class + * + * @return string|false The path if found, false otherwise + */ + public function findFile($class) + { + // class map lookup + if (isset($this->classMap[$class])) { + return $this->classMap[$class]; + } + if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) { + return false; + } + if (null !== $this->apcuPrefix) { + $file = apcu_fetch($this->apcuPrefix.$class, $hit); + if ($hit) { + return $file; + } + } + + $file = $this->findFileWithExtension($class, '.php'); + + // Search for Hack files if we are running on HHVM + if (false === $file && defined('HHVM_VERSION')) { + $file = $this->findFileWithExtension($class, '.hh'); + } + + if (null !== $this->apcuPrefix) { + apcu_add($this->apcuPrefix.$class, $file); + } + + if (false === $file) { + // Remember that this class does not exist. + $this->missingClasses[$class] = true; + } + + return $file; + } + + private function findFileWithExtension($class, $ext) + { + // PSR-4 lookup + $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext; + + $first = $class[0]; + if (isset($this->prefixLengthsPsr4[$first])) { + $subPath = $class; + while (false !== $lastPos = strrpos($subPath, '\\')) { + $subPath = substr($subPath, 0, $lastPos); + $search = $subPath . '\\'; + if (isset($this->prefixDirsPsr4[$search])) { + $pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1); + foreach ($this->prefixDirsPsr4[$search] as $dir) { + if (file_exists($file = $dir . $pathEnd)) { + return $file; + } + } + } + } + } + + // PSR-4 fallback dirs + foreach ($this->fallbackDirsPsr4 as $dir) { + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) { + return $file; + } + } + + // PSR-0 lookup + if (false !== $pos = strrpos($class, '\\')) { + // namespaced class name + $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1) + . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR); + } else { + // PEAR-like class name + $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext; + } + + if (isset($this->prefixesPsr0[$first])) { + foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) { + if (0 === strpos($class, $prefix)) { + foreach ($dirs as $dir) { + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { + return $file; + } + } + } + } + } + + // PSR-0 fallback dirs + foreach ($this->fallbackDirsPsr0 as $dir) { + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { + return $file; + } + } + + // PSR-0 include paths. + if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) { + return $file; + } + + return false; + } +} + +/** + * Scope isolated include. + * + * Prevents access to $this/self from included files. + */ +function includeFile($file) +{ + include $file; +} diff --git a/vendor/composer/LICENSE b/vendor/composer/LICENSE new file mode 100644 index 000000000..f27399a04 --- /dev/null +++ b/vendor/composer/LICENSE @@ -0,0 +1,21 @@ + +Copyright (c) Nils Adermann, Jordi Boggiano + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php new file mode 100644 index 000000000..7a91153b0 --- /dev/null +++ b/vendor/composer/autoload_classmap.php @@ -0,0 +1,9 @@ + array($vendorDir . '/matthiasmullie/path-converter/src'), + 'MatthiasMullie\\Minify\\' => array($vendorDir . '/matthiasmullie/minify/src'), + 'Essential_Addons_Elementor\\Traits\\' => array($baseDir . '/includes/traits'), + 'Essential_Addons_Elementor\\Elements\\' => array($baseDir . '/elements'), + 'Essential_Addons_Elementor\\Classes\\' => array($baseDir . '/includes/classes'), + 'Essential_Addons_Elementor\\Admin\\' => array($baseDir . '/admin'), +); diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php new file mode 100644 index 000000000..a1ea39616 --- /dev/null +++ b/vendor/composer/autoload_real.php @@ -0,0 +1,52 @@ += 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded()); + if ($useStaticLoader) { + require_once __DIR__ . '/autoload_static.php'; + + call_user_func(\Composer\Autoload\ComposerStaticInite6e2cbae70c835106a2f6367baecac5f::getInitializer($loader)); + } else { + $map = require __DIR__ . '/autoload_namespaces.php'; + foreach ($map as $namespace => $path) { + $loader->set($namespace, $path); + } + + $map = require __DIR__ . '/autoload_psr4.php'; + foreach ($map as $namespace => $path) { + $loader->setPsr4($namespace, $path); + } + + $classMap = require __DIR__ . '/autoload_classmap.php'; + if ($classMap) { + $loader->addClassMap($classMap); + } + } + + $loader->register(true); + + return $loader; + } +} diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php new file mode 100644 index 000000000..74384d986 --- /dev/null +++ b/vendor/composer/autoload_static.php @@ -0,0 +1,59 @@ + + array ( + 'MatthiasMullie\\PathConverter\\' => 29, + 'MatthiasMullie\\Minify\\' => 22, + ), + 'E' => + array ( + 'Essential_Addons_Elementor\\Traits\\' => 34, + 'Essential_Addons_Elementor\\Elements\\' => 36, + 'Essential_Addons_Elementor\\Classes\\' => 35, + 'Essential_Addons_Elementor\\Admin\\' => 33, + ), + ); + + public static $prefixDirsPsr4 = array ( + 'MatthiasMullie\\PathConverter\\' => + array ( + 0 => __DIR__ . '/..' . '/matthiasmullie/path-converter/src', + ), + 'MatthiasMullie\\Minify\\' => + array ( + 0 => __DIR__ . '/..' . '/matthiasmullie/minify/src', + ), + 'Essential_Addons_Elementor\\Traits\\' => + array ( + 0 => __DIR__ . '/../..' . '/includes/traits', + ), + 'Essential_Addons_Elementor\\Elements\\' => + array ( + 0 => __DIR__ . '/../..' . '/elements', + ), + 'Essential_Addons_Elementor\\Classes\\' => + array ( + 0 => __DIR__ . '/../..' . '/includes/classes', + ), + 'Essential_Addons_Elementor\\Admin\\' => + array ( + 0 => __DIR__ . '/../..' . '/admin', + ), + ); + + public static function getInitializer(ClassLoader $loader) + { + return \Closure::bind(function () use ($loader) { + $loader->prefixLengthsPsr4 = ComposerStaticInite6e2cbae70c835106a2f6367baecac5f::$prefixLengthsPsr4; + $loader->prefixDirsPsr4 = ComposerStaticInite6e2cbae70c835106a2f6367baecac5f::$prefixDirsPsr4; + + }, null, ClassLoader::class); + } +} diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json new file mode 100644 index 000000000..546e68fcf --- /dev/null +++ b/vendor/composer/installed.json @@ -0,0 +1,115 @@ +[ + { + "name": "matthiasmullie/minify", + "version": "1.3.61", + "version_normalized": "1.3.61.0", + "source": { + "type": "git", + "url": "https://github.com/matthiasmullie/minify.git", + "reference": "d5acb8ce5b6acb7d11bafe97cecc533f6e4fd751" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/matthiasmullie/minify/zipball/d5acb8ce5b6acb7d11bafe97cecc533f6e4fd751", + "reference": "d5acb8ce5b6acb7d11bafe97cecc533f6e4fd751", + "shasum": "" + }, + "require": { + "ext-pcre": "*", + "matthiasmullie/path-converter": "~1.1", + "php": ">=5.3.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "~2.0", + "matthiasmullie/scrapbook": "~1.0", + "phpunit/phpunit": "~4.8" + }, + "suggest": { + "psr/cache-implementation": "Cache implementation to use with Minify::cache" + }, + "time": "2018-11-26T23:10:39+00:00", + "bin": [ + "bin/minifycss", + "bin/minifyjs" + ], + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "MatthiasMullie\\Minify\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Matthias Mullie", + "email": "minify@mullie.eu", + "homepage": "http://www.mullie.eu", + "role": "Developer" + } + ], + "description": "CSS & JavaScript minifier, in PHP. Removes whitespace, strips comments, combines files (incl. @import statements and small assets in CSS files), and optimizes/shortens a few common programming patterns.", + "homepage": "http://www.minifier.org", + "keywords": [ + "JS", + "css", + "javascript", + "minifier", + "minify" + ] + }, + { + "name": "matthiasmullie/path-converter", + "version": "1.1.2", + "version_normalized": "1.1.2.0", + "source": { + "type": "git", + "url": "https://github.com/matthiasmullie/path-converter.git", + "reference": "5e4b121c8b9f97c80835c1d878b0812ba1d607c9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/matthiasmullie/path-converter/zipball/5e4b121c8b9f97c80835c1d878b0812ba1d607c9", + "reference": "5e4b121c8b9f97c80835c1d878b0812ba1d607c9", + "shasum": "" + }, + "require": { + "ext-pcre": "*", + "php": ">=5.3.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.8" + }, + "time": "2018-10-25T15:19:41+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "MatthiasMullie\\PathConverter\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Matthias Mullie", + "email": "pathconverter@mullie.eu", + "homepage": "http://www.mullie.eu", + "role": "Developer" + } + ], + "description": "Relative path converter", + "homepage": "http://github.com/matthiasmullie/path-converter", + "keywords": [ + "converter", + "path", + "paths", + "relative" + ] + } +] diff --git a/vendor/matthiasmullie/minify/CONTRIBUTING.md b/vendor/matthiasmullie/minify/CONTRIBUTING.md new file mode 100644 index 000000000..226cf976b --- /dev/null +++ b/vendor/matthiasmullie/minify/CONTRIBUTING.md @@ -0,0 +1,59 @@ +# How to contribute + + +## Issues + +When [filing bugs](https://github.com/matthiasmullie/minify/issues/new), +try to be as thorough as possible: +* What version did you use? +* What did you try to do? ***Please post the relevant parts of your code.*** +* What went wrong? ***Please include error messages, if any.*** +* What was the expected result? + + +## Pull requests + +Bug fixes and general improvements to the existing codebase are always welcome. +New features are also welcome, but will be judged on an individual basis. If +you'd rather not risk wasting your time implementing a new feature only to see +it turned down, please start the discussion by +[opening an issue](https://github.com/matthiasmullie/minify/issues/new). + +Don't forget to add your changes to the [changelog](CHANGELOG.md). + + +### Testing + +Please include tests for every change or addition to the code. +To run the complete test suite: + +```sh +vendor/bin/phpunit +``` + +When submitting a new pull request, please make sure that that the test suite +passes (Travis CI will run it & report back on your pull request.) + +To run the tests on Windows, run `tests/convert_symlinks_to_windows_style.sh` +from the command line in order to convert Linux-style test symlinks to +Windows-style. + + +### Coding standards + +All code must follow [PSR-2](http://www.php-fig.org/psr/psr-2/). Just make sure +to run php-cs-fixer before submitting the code, it'll take care of the +formatting for you: + +```sh +vendor/bin/php-cs-fixer fix src +vendor/bin/php-cs-fixer fix tests +``` + +Document the code thoroughly! + + +## License + +Note that minify is MIT-licensed, which basically allows anyone to do +anything they like with it, without restriction. diff --git a/vendor/matthiasmullie/minify/Dockerfile b/vendor/matthiasmullie/minify/Dockerfile new file mode 100644 index 000000000..d17f9d74e --- /dev/null +++ b/vendor/matthiasmullie/minify/Dockerfile @@ -0,0 +1,13 @@ +ARG version=cli +FROM php:$version + +COPY . /var/www +WORKDIR /var/www + +RUN apt-get update +RUN apt-get install -y zip unzip zlib1g-dev +RUN docker-php-ext-install zip +RUN docker-php-ext-install pcntl +RUN curl -sS https://getcomposer.org/installer | php +RUN mv composer.phar /usr/local/bin/composer +RUN composer install diff --git a/vendor/matthiasmullie/minify/LICENSE b/vendor/matthiasmullie/minify/LICENSE new file mode 100644 index 000000000..0c0d08a79 --- /dev/null +++ b/vendor/matthiasmullie/minify/LICENSE @@ -0,0 +1,18 @@ +Copyright (c) 2012 Matthias Mullie + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/vendor/matthiasmullie/minify/bin/minifycss b/vendor/matthiasmullie/minify/bin/minifycss new file mode 100755 index 000000000..6a681a850 --- /dev/null +++ b/vendor/matthiasmullie/minify/bin/minifycss @@ -0,0 +1,45 @@ +#!/usr/bin/env php +minify(); +} catch (Exception $e) { + fwrite(STDERR, $e->getMessage(), PHP_EOL); + exit(1); +} diff --git a/vendor/matthiasmullie/minify/bin/minifyjs b/vendor/matthiasmullie/minify/bin/minifyjs new file mode 100755 index 000000000..4cbe63ff8 --- /dev/null +++ b/vendor/matthiasmullie/minify/bin/minifyjs @@ -0,0 +1,45 @@ +#!/usr/bin/env php +minify(); +} catch (Exception $e) { + fwrite(STDERR, $e->getMessage(), PHP_EOL); + exit(1); +} diff --git a/vendor/matthiasmullie/minify/composer.json b/vendor/matthiasmullie/minify/composer.json new file mode 100644 index 000000000..6d81b4f9d --- /dev/null +++ b/vendor/matthiasmullie/minify/composer.json @@ -0,0 +1,38 @@ +{ + "name": "matthiasmullie/minify", + "type": "library", + "description": "CSS & JavaScript minifier, in PHP. Removes whitespace, strips comments, combines files (incl. @import statements and small assets in CSS files), and optimizes/shortens a few common programming patterns.", + "keywords": ["minify", "minifier", "css", "js", "javascript"], + "homepage": "http://www.minifier.org", + "license": "MIT", + "authors": [ + { + "name": "Matthias Mullie", + "homepage": "http://www.mullie.eu", + "email": "minify@mullie.eu", + "role": "Developer" + } + ], + "require": { + "php": ">=5.3.0", + "ext-pcre": "*", + "matthiasmullie/path-converter": "~1.1" + }, + "require-dev": { + "matthiasmullie/scrapbook": "~1.0", + "phpunit/phpunit": "~4.8", + "friendsofphp/php-cs-fixer": "~2.0" + }, + "suggest": { + "psr/cache-implementation": "Cache implementation to use with Minify::cache" + }, + "autoload": { + "psr-4": { + "MatthiasMullie\\Minify\\": "src/" + } + }, + "bin": [ + "bin/minifycss", + "bin/minifyjs" + ] +} diff --git a/vendor/matthiasmullie/minify/data/js/keywords_after.txt b/vendor/matthiasmullie/minify/data/js/keywords_after.txt new file mode 100644 index 000000000..5c8cba7f3 --- /dev/null +++ b/vendor/matthiasmullie/minify/data/js/keywords_after.txt @@ -0,0 +1,7 @@ +in +public +extends +private +protected +implements +instanceof \ No newline at end of file diff --git a/vendor/matthiasmullie/minify/data/js/keywords_before.txt b/vendor/matthiasmullie/minify/data/js/keywords_before.txt new file mode 100644 index 000000000..5abf35799 --- /dev/null +++ b/vendor/matthiasmullie/minify/data/js/keywords_before.txt @@ -0,0 +1,26 @@ +do +in +let +new +var +case +else +enum +void +with +class +const +yield +delete +export +import +public +static +typeof +extends +package +private +function +protected +implements +instanceof \ No newline at end of file diff --git a/vendor/matthiasmullie/minify/data/js/keywords_reserved.txt b/vendor/matthiasmullie/minify/data/js/keywords_reserved.txt new file mode 100644 index 000000000..2a3ad3c0e --- /dev/null +++ b/vendor/matthiasmullie/minify/data/js/keywords_reserved.txt @@ -0,0 +1,63 @@ +do +if +in +for +let +new +try +var +case +else +enum +eval +null +this +true +void +with +break +catch +class +const +false +super +throw +while +yield +delete +export +import +public +return +static +switch +typeof +default +extends +finally +package +private +continue +debugger +function +arguments +interface +protected +implements +instanceof +abstract +boolean +byte +char +double +final +float +goto +int +long +native +short +synchronized +throws +transient +volatile \ No newline at end of file diff --git a/vendor/matthiasmullie/minify/data/js/operators.txt b/vendor/matthiasmullie/minify/data/js/operators.txt new file mode 100644 index 000000000..e66229ae1 --- /dev/null +++ b/vendor/matthiasmullie/minify/data/js/operators.txt @@ -0,0 +1,46 @@ ++ +- +* +/ +% += ++= +-= +*= +/= +%= +<<= +>>= +>>>= +&= +^= +|= +& +| +^ +~ +<< +>> +>>> +== +=== +!= +!== +> +< +>= +<= +&& +|| +! +. +[ +] +? +: +, +; +( +) +{ +} \ No newline at end of file diff --git a/vendor/matthiasmullie/minify/data/js/operators_after.txt b/vendor/matthiasmullie/minify/data/js/operators_after.txt new file mode 100644 index 000000000..71a9b7091 --- /dev/null +++ b/vendor/matthiasmullie/minify/data/js/operators_after.txt @@ -0,0 +1,43 @@ ++ +- +* +/ +% += ++= +-= +*= +/= +%= +<<= +>>= +>>>= +&= +^= +|= +& +| +^ +<< +>> +>>> +== +=== +!= +!== +> +< +>= +<= +&& +|| +. +[ +] +? +: +, +; +( +) +} \ No newline at end of file diff --git a/vendor/matthiasmullie/minify/data/js/operators_before.txt b/vendor/matthiasmullie/minify/data/js/operators_before.txt new file mode 100644 index 000000000..ff50d8703 --- /dev/null +++ b/vendor/matthiasmullie/minify/data/js/operators_before.txt @@ -0,0 +1,43 @@ ++ +- +* +/ +% += ++= +-= +*= +/= +%= +<<= +>>= +>>>= +&= +^= +|= +& +| +^ +~ +<< +>> +>>> +== +=== +!= +!== +> +< +>= +<= +&& +|| +! +. +[ +? +: +, +; +( +{ diff --git a/vendor/matthiasmullie/minify/docker-compose.yml b/vendor/matthiasmullie/minify/docker-compose.yml new file mode 100644 index 000000000..5413e24b0 --- /dev/null +++ b/vendor/matthiasmullie/minify/docker-compose.yml @@ -0,0 +1,31 @@ +version: '2.1' +services: + php: + build: + context: . + dockerfile: Dockerfile + volumes: + - ./src:/var/www/src + - ./data:/var/www/data + - ./tests:/var/www/tests + - ./phpunit.xml.dist:/var/www/phpunit.xml.dist + '7.2': + extends: php + build: + args: + version: 7.2-cli + '7.1': + extends: php + build: + args: + version: 7.1-cli + '7.0': + extends: php + build: + args: + version: 7.0-cli + '5.6': + extends: php + build: + args: + version: 5.6-cli diff --git a/vendor/matthiasmullie/minify/src/CSS.php b/vendor/matthiasmullie/minify/src/CSS.php new file mode 100644 index 000000000..e5a466907 --- /dev/null +++ b/vendor/matthiasmullie/minify/src/CSS.php @@ -0,0 +1,751 @@ + + * @copyright Copyright (c) 2012, Matthias Mullie. All rights reserved + * @license MIT License + */ + +namespace MatthiasMullie\Minify; + +use MatthiasMullie\Minify\Exceptions\FileImportException; +use MatthiasMullie\PathConverter\ConverterInterface; +use MatthiasMullie\PathConverter\Converter; + +/** + * CSS minifier + * + * Please report bugs on https://github.com/matthiasmullie/minify/issues + * + * @package Minify + * @author Matthias Mullie + * @author Tijs Verkoyen + * @copyright Copyright (c) 2012, Matthias Mullie. All rights reserved + * @license MIT License + */ +class CSS extends Minify +{ + /** + * @var int maximum inport size in kB + */ + protected $maxImportSize = 5; + + /** + * @var string[] valid import extensions + */ + protected $importExtensions = array( + 'gif' => 'data:image/gif', + 'png' => 'data:image/png', + 'jpe' => 'data:image/jpeg', + 'jpg' => 'data:image/jpeg', + 'jpeg' => 'data:image/jpeg', + 'svg' => 'data:image/svg+xml', + 'woff' => 'data:application/x-font-woff', + 'tif' => 'image/tiff', + 'tiff' => 'image/tiff', + 'xbm' => 'image/x-xbitmap', + ); + + /** + * Set the maximum size if files to be imported. + * + * Files larger than this size (in kB) will not be imported into the CSS. + * Importing files into the CSS as data-uri will save you some connections, + * but we should only import relatively small decorative images so that our + * CSS file doesn't get too bulky. + * + * @param int $size Size in kB + */ + public function setMaxImportSize($size) + { + $this->maxImportSize = $size; + } + + /** + * Set the type of extensions to be imported into the CSS (to save network + * connections). + * Keys of the array should be the file extensions & respective values + * should be the data type. + * + * @param string[] $extensions Array of file extensions + */ + public function setImportExtensions(array $extensions) + { + $this->importExtensions = $extensions; + } + + /** + * Move any import statements to the top. + * + * @param string $content Nearly finished CSS content + * + * @return string + */ + protected function moveImportsToTop($content) + { + if (preg_match_all('/(;?)(@import (?url\()?(?P["\']?).+?(?P=quotes)(?(url)\)));?/', $content, $matches)) { + // remove from content + foreach ($matches[0] as $import) { + $content = str_replace($import, '', $content); + } + + // add to top + $content = implode(';', $matches[2]).';'.trim($content, ';'); + } + + return $content; + } + + /** + * Combine CSS from import statements. + * + * @import's will be loaded and their content merged into the original file, + * to save HTTP requests. + * + * @param string $source The file to combine imports for + * @param string $content The CSS content to combine imports for + * @param string[] $parents Parent paths, for circular reference checks + * + * @return string + * + * @throws FileImportException + */ + protected function combineImports($source, $content, $parents) + { + $importRegexes = array( + // @import url(xxx) + '/ + # import statement + @import + + # whitespace + \s+ + + # open url() + url\( + + # (optional) open path enclosure + (?P["\']?) + + # fetch path + (?P.+?) + + # (optional) close path enclosure + (?P=quotes) + + # close url() + \) + + # (optional) trailing whitespace + \s* + + # (optional) media statement(s) + (?P[^;]*) + + # (optional) trailing whitespace + \s* + + # (optional) closing semi-colon + ;? + + /ix', + + // @import 'xxx' + '/ + + # import statement + @import + + # whitespace + \s+ + + # open path enclosure + (?P["\']) + + # fetch path + (?P.+?) + + # close path enclosure + (?P=quotes) + + # (optional) trailing whitespace + \s* + + # (optional) media statement(s) + (?P[^;]*) + + # (optional) trailing whitespace + \s* + + # (optional) closing semi-colon + ;? + + /ix', + ); + + // find all relative imports in css + $matches = array(); + foreach ($importRegexes as $importRegex) { + if (preg_match_all($importRegex, $content, $regexMatches, PREG_SET_ORDER)) { + $matches = array_merge($matches, $regexMatches); + } + } + + $search = array(); + $replace = array(); + + // loop the matches + foreach ($matches as $match) { + // get the path for the file that will be imported + $importPath = dirname($source).'/'.$match['path']; + + // only replace the import with the content if we can grab the + // content of the file + if (!$this->canImportByPath($match['path']) || !$this->canImportFile($importPath)) { + continue; + } + + // check if current file was not imported previously in the same + // import chain. + if (in_array($importPath, $parents)) { + throw new FileImportException('Failed to import file "'.$importPath.'": circular reference detected.'); + } + + // grab referenced file & minify it (which may include importing + // yet other @import statements recursively) + $minifier = new static($importPath); + $minifier->setMaxImportSize($this->maxImportSize); + $minifier->setImportExtensions($this->importExtensions); + $importContent = $minifier->execute($source, $parents); + + // check if this is only valid for certain media + if (!empty($match['media'])) { + $importContent = '@media '.$match['media'].'{'.$importContent.'}'; + } + + // add to replacement array + $search[] = $match[0]; + $replace[] = $importContent; + } + + // replace the import statements + return str_replace($search, $replace, $content); + } + + /** + * Import files into the CSS, base64-ized. + * + * @url(image.jpg) images will be loaded and their content merged into the + * original file, to save HTTP requests. + * + * @param string $source The file to import files for + * @param string $content The CSS content to import files for + * + * @return string + */ + protected function importFiles($source, $content) + { + $regex = '/url\((["\']?)(.+?)\\1\)/i'; + if ($this->importExtensions && preg_match_all($regex, $content, $matches, PREG_SET_ORDER)) { + $search = array(); + $replace = array(); + + // loop the matches + foreach ($matches as $match) { + $extension = substr(strrchr($match[2], '.'), 1); + if ($extension && !array_key_exists($extension, $this->importExtensions)) { + continue; + } + + // get the path for the file that will be imported + $path = $match[2]; + $path = dirname($source).'/'.$path; + + // only replace the import with the content if we're able to get + // the content of the file, and it's relatively small + if ($this->canImportFile($path) && $this->canImportBySize($path)) { + // grab content && base64-ize + $importContent = $this->load($path); + $importContent = base64_encode($importContent); + + // build replacement + $search[] = $match[0]; + $replace[] = 'url('.$this->importExtensions[$extension].';base64,'.$importContent.')'; + } + } + + // replace the import statements + $content = str_replace($search, $replace, $content); + } + + return $content; + } + + /** + * Minify the data. + * Perform CSS optimizations. + * + * @param string[optional] $path Path to write the data to + * @param string[] $parents Parent paths, for circular reference checks + * + * @return string The minified data + */ + public function execute($path = null, $parents = array()) + { + $content = ''; + + // loop CSS data (raw data and files) + foreach ($this->data as $source => $css) { + /* + * Let's first take out strings & comments, since we can't just + * remove whitespace anywhere. If whitespace occurs inside a string, + * we should leave it alone. E.g.: + * p { content: "a test" } + */ + $this->extractStrings(); + $this->stripComments(); + $this->extractCalcs(); + $css = $this->replace($css); + + $css = $this->stripWhitespace($css); + $css = $this->shortenColors($css); + $css = $this->shortenZeroes($css); + $css = $this->shortenFontWeights($css); + $css = $this->stripEmptyTags($css); + + // restore the string we've extracted earlier + $css = $this->restoreExtractedData($css); + + $source = is_int($source) ? '' : $source; + $parents = $source ? array_merge($parents, array($source)) : $parents; + $css = $this->combineImports($source, $css, $parents); + $css = $this->importFiles($source, $css); + + /* + * If we'll save to a new path, we'll have to fix the relative paths + * to be relative no longer to the source file, but to the new path. + * If we don't write to a file, fall back to same path so no + * conversion happens (because we still want it to go through most + * of the move code, which also addresses url() & @import syntax...) + */ + $converter = $this->getPathConverter($source, $path ?: $source); + $css = $this->move($converter, $css); + + // combine css + $content .= $css; + } + + $content = $this->moveImportsToTop($content); + + return $content; + } + + /** + * Moving a css file should update all relative urls. + * Relative references (e.g. ../images/image.gif) in a certain css file, + * will have to be updated when a file is being saved at another location + * (e.g. ../../images/image.gif, if the new CSS file is 1 folder deeper). + * + * @param ConverterInterface $converter Relative path converter + * @param string $content The CSS content to update relative urls for + * + * @return string + */ + protected function move(ConverterInterface $converter, $content) + { + /* + * Relative path references will usually be enclosed by url(). @import + * is an exception, where url() is not necessary around the path (but is + * allowed). + * This *could* be 1 regular expression, where both regular expressions + * in this array are on different sides of a |. But we're using named + * patterns in both regexes, the same name on both regexes. This is only + * possible with a (?J) modifier, but that only works after a fairly + * recent PCRE version. That's why I'm doing 2 separate regular + * expressions & combining the matches after executing of both. + */ + $relativeRegexes = array( + // url(xxx) + '/ + # open url() + url\( + + \s* + + # open path enclosure + (?P["\'])? + + # fetch path + (?P.+?) + + # close path enclosure + (?(quotes)(?P=quotes)) + + \s* + + # close url() + \) + + /ix', + + // @import "xxx" + '/ + # import statement + @import + + # whitespace + \s+ + + # we don\'t have to check for @import url(), because the + # condition above will already catch these + + # open path enclosure + (?P["\']) + + # fetch path + (?P.+?) + + # close path enclosure + (?P=quotes) + + /ix', + ); + + // find all relative urls in css + $matches = array(); + foreach ($relativeRegexes as $relativeRegex) { + if (preg_match_all($relativeRegex, $content, $regexMatches, PREG_SET_ORDER)) { + $matches = array_merge($matches, $regexMatches); + } + } + + $search = array(); + $replace = array(); + + // loop all urls + foreach ($matches as $match) { + // determine if it's a url() or an @import match + $type = (strpos($match[0], '@import') === 0 ? 'import' : 'url'); + + $url = $match['path']; + if ($this->canImportByPath($url)) { + // attempting to interpret GET-params makes no sense, so let's discard them for awhile + $params = strrchr($url, '?'); + $url = $params ? substr($url, 0, -strlen($params)) : $url; + + // fix relative url + $url = $converter->convert($url); + + // now that the path has been converted, re-apply GET-params + $url .= $params; + } + + /* + * Urls with control characters above 0x7e should be quoted. + * According to Mozilla's parser, whitespace is only allowed at the + * end of unquoted urls. + * Urls with `)` (as could happen with data: uris) should also be + * quoted to avoid being confused for the url() closing parentheses. + * And urls with a # have also been reported to cause issues. + * Urls with quotes inside should also remain escaped. + * + * @see https://developer.mozilla.org/nl/docs/Web/CSS/url#The_url()_functional_notation + * @see https://hg.mozilla.org/mozilla-central/rev/14abca4e7378 + * @see https://github.com/matthiasmullie/minify/issues/193 + */ + $url = trim($url); + if (preg_match('/[\s\)\'"#\x{7f}-\x{9f}]/u', $url)) { + $url = $match['quotes'] . $url . $match['quotes']; + } + + // build replacement + $search[] = $match[0]; + if ($type === 'url') { + $replace[] = 'url('.$url.')'; + } elseif ($type === 'import') { + $replace[] = '@import "'.$url.'"'; + } + } + + // replace urls + return str_replace($search, $replace, $content); + } + + /** + * Shorthand hex color codes. + * #FF0000 -> #F00. + * + * @param string $content The CSS content to shorten the hex color codes for + * + * @return string + */ + protected function shortenColors($content) + { + $content = preg_replace('/(?<=[: ])#([0-9a-z])\\1([0-9a-z])\\2([0-9a-z])\\3(?:([0-9a-z])\\4)?(?=[; }])/i', '#$1$2$3$4', $content); + + // remove alpha channel if it's pointless... + $content = preg_replace('/(?<=[: ])#([0-9a-z]{6})ff?(?=[; }])/i', '#$1', $content); + $content = preg_replace('/(?<=[: ])#([0-9a-z]{3})f?(?=[; }])/i', '#$1', $content); + + $colors = array( + // we can shorten some even more by replacing them with their color name + '#F0FFFF' => 'azure', + '#F5F5DC' => 'beige', + '#A52A2A' => 'brown', + '#FF7F50' => 'coral', + '#FFD700' => 'gold', + '#808080' => 'gray', + '#008000' => 'green', + '#4B0082' => 'indigo', + '#FFFFF0' => 'ivory', + '#F0E68C' => 'khaki', + '#FAF0E6' => 'linen', + '#800000' => 'maroon', + '#000080' => 'navy', + '#808000' => 'olive', + '#CD853F' => 'peru', + '#FFC0CB' => 'pink', + '#DDA0DD' => 'plum', + '#800080' => 'purple', + '#F00' => 'red', + '#FA8072' => 'salmon', + '#A0522D' => 'sienna', + '#C0C0C0' => 'silver', + '#FFFAFA' => 'snow', + '#D2B48C' => 'tan', + '#FF6347' => 'tomato', + '#EE82EE' => 'violet', + '#F5DEB3' => 'wheat', + // or the other way around + 'WHITE' => '#fff', + 'BLACK' => '#000', + ); + + return preg_replace_callback( + '/(?<=[: ])('.implode(array_keys($colors), '|').')(?=[; }])/i', + function ($match) use ($colors) { + return $colors[strtoupper($match[0])]; + }, + $content + ); + } + + /** + * Shorten CSS font weights. + * + * @param string $content The CSS content to shorten the font weights for + * + * @return string + */ + protected function shortenFontWeights($content) + { + $weights = array( + 'normal' => 400, + 'bold' => 700, + ); + + $callback = function ($match) use ($weights) { + return $match[1].$weights[$match[2]]; + }; + + return preg_replace_callback('/(font-weight\s*:\s*)('.implode('|', array_keys($weights)).')(?=[;}])/', $callback, $content); + } + + /** + * Shorthand 0 values to plain 0, instead of e.g. -0em. + * + * @param string $content The CSS content to shorten the zero values for + * + * @return string + */ + protected function shortenZeroes($content) + { + // we don't want to strip units in `calc()` expressions: + // `5px - 0px` is valid, but `5px - 0` is not + // `10px * 0` is valid (equates to 0), and so is `10 * 0px`, but + // `10 * 0` is invalid + // we've extracted calcs earlier, so we don't need to worry about this + + // reusable bits of code throughout these regexes: + // before & after are used to make sure we don't match lose unintended + // 0-like values (e.g. in #000, or in http://url/1.0) + // units can be stripped from 0 values, or used to recognize non 0 + // values (where wa may be able to strip a .0 suffix) + $before = '(?<=[:(, ])'; + $after = '(?=[ ,);}])'; + $units = '(em|ex|%|px|cm|mm|in|pt|pc|ch|rem|vh|vw|vmin|vmax|vm)'; + + // strip units after zeroes (0px -> 0) + // NOTE: it should be safe to remove all units for a 0 value, but in + // practice, Webkit (especially Safari) seems to stumble over at least + // 0%, potentially other units as well. Only stripping 'px' for now. + // @see https://github.com/matthiasmullie/minify/issues/60 + $content = preg_replace('/'.$before.'(-?0*(\.0+)?)(?<=0)px'.$after.'/', '\\1', $content); + + // strip 0-digits (.0 -> 0) + $content = preg_replace('/'.$before.'\.0+'.$units.'?'.$after.'/', '0\\1', $content); + // strip trailing 0: 50.10 -> 50.1, 50.10px -> 50.1px + $content = preg_replace('/'.$before.'(-?[0-9]+\.[0-9]+)0+'.$units.'?'.$after.'/', '\\1\\2', $content); + // strip trailing 0: 50.00 -> 50, 50.00px -> 50px + $content = preg_replace('/'.$before.'(-?[0-9]+)\.0+'.$units.'?'.$after.'/', '\\1\\2', $content); + // strip leading 0: 0.1 -> .1, 01.1 -> 1.1 + $content = preg_replace('/'.$before.'(-?)0+([0-9]*\.[0-9]+)'.$units.'?'.$after.'/', '\\1\\2\\3', $content); + + // strip negative zeroes (-0 -> 0) & truncate zeroes (00 -> 0) + $content = preg_replace('/'.$before.'-?0+'.$units.'?'.$after.'/', '0\\1', $content); + + // IE doesn't seem to understand a unitless flex-basis value (correct - + // it goes against the spec), so let's add it in again (make it `%`, + // which is only 1 char: 0%, 0px, 0 anything, it's all just the same) + // @see https://developer.mozilla.org/nl/docs/Web/CSS/flex + $content = preg_replace('/flex:([0-9]+\s[0-9]+\s)0([;\}])/', 'flex:${1}0%${2}', $content); + $content = preg_replace('/flex-basis:0([;\}])/', 'flex-basis:0%${1}', $content); + + return $content; + } + + /** + * Strip empty tags from source code. + * + * @param string $content + * + * @return string + */ + protected function stripEmptyTags($content) + { + $content = preg_replace('/(?<=^)[^\{\};]+\{\s*\}/', '', $content); + $content = preg_replace('/(?<=(\}|;))[^\{\};]+\{\s*\}/', '', $content); + + return $content; + } + + /** + * Strip comments from source code. + */ + protected function stripComments() + { + // PHP only supports $this inside anonymous functions since 5.4 + $minifier = $this; + $callback = function ($match) use ($minifier) { + $count = count($minifier->extracted); + $placeholder = '/*'.$count.'*/'; + $minifier->extracted[$placeholder] = $match[0]; + + return $placeholder; + }; + $this->registerPattern('/\n?\/\*(!|.*?@license|.*?@preserve).*?\*\/\n?/s', $callback); + + $this->registerPattern('/\/\*.*?\*\//s', ''); + } + + /** + * Strip whitespace. + * + * @param string $content The CSS content to strip the whitespace for + * + * @return string + */ + protected function stripWhitespace($content) + { + // remove leading & trailing whitespace + $content = preg_replace('/^\s*/m', '', $content); + $content = preg_replace('/\s*$/m', '', $content); + + // replace newlines with a single space + $content = preg_replace('/\s+/', ' ', $content); + + // remove whitespace around meta characters + // inspired by stackoverflow.com/questions/15195750/minify-compress-css-with-regex + $content = preg_replace('/\s*([\*$~^|]?+=|[{};,>~]|!important\b)\s*/', '$1', $content); + $content = preg_replace('/([\[(:>\+])\s+/', '$1', $content); + $content = preg_replace('/\s+([\]\)>\+])/', '$1', $content); + $content = preg_replace('/\s+(:)(?![^\}]*\{)/', '$1', $content); + + // whitespace around + and - can only be stripped inside some pseudo- + // classes, like `:nth-child(3+2n)` + // not in things like `calc(3px + 2px)`, shorthands like `3px -2px`, or + // selectors like `div.weird- p` + $pseudos = array('nth-child', 'nth-last-child', 'nth-last-of-type', 'nth-of-type'); + $content = preg_replace('/:('.implode('|', $pseudos).')\(\s*([+-]?)\s*(.+?)\s*([+-]?)\s*(.*?)\s*\)/', ':$1($2$3$4$5)', $content); + + // remove semicolon/whitespace followed by closing bracket + $content = str_replace(';}', '}', $content); + + return trim($content); + } + + /** + * Replace all `calc()` occurrences. + */ + protected function extractCalcs() + { + // PHP only supports $this inside anonymous functions since 5.4 + $minifier = $this; + $callback = function ($match) use ($minifier) { + $length = strlen($match[1]); + $expr = ''; + $opened = 0; + + for ($i = 0; $i < $length; $i++) { + $char = $match[1][$i]; + $expr .= $char; + if ($char === '(') { + $opened++; + } elseif ($char === ')' && --$opened === 0) { + break; + } + } + $rest = str_replace($expr, '', $match[1]); + $expr = trim(substr($expr, 1, -1)); + + $count = count($minifier->extracted); + $placeholder = 'calc('.$count.')'; + $minifier->extracted[$placeholder] = 'calc('.$expr.')'; + + return $placeholder.$rest; + }; + + $this->registerPattern('/calc(\(.+?)(?=$|;|calc\()/', $callback); + } + + /** + * Check if file is small enough to be imported. + * + * @param string $path The path to the file + * + * @return bool + */ + protected function canImportBySize($path) + { + return ($size = @filesize($path)) && $size <= $this->maxImportSize * 1024; + } + + /** + * Check if file a file can be imported, going by the path. + * + * @param string $path + * + * @return bool + */ + protected function canImportByPath($path) + { + return preg_match('/^(data:|https?:|\\/)/', $path) === 0; + } + + /** + * Return a converter to update relative paths to be relative to the new + * destination. + * + * @param string $source + * @param string $target + * + * @return ConverterInterface + */ + protected function getPathConverter($source, $target) + { + return new Converter($source, $target); + } +} diff --git a/vendor/matthiasmullie/minify/src/Exception.php b/vendor/matthiasmullie/minify/src/Exception.php new file mode 100644 index 000000000..d03898f04 --- /dev/null +++ b/vendor/matthiasmullie/minify/src/Exception.php @@ -0,0 +1,20 @@ + + */ +namespace MatthiasMullie\Minify; + +/** + * Base Exception Class + * @deprecated Use Exceptions\BasicException instead + * + * @package Minify + * @author Matthias Mullie + */ +abstract class Exception extends \Exception +{ +} diff --git a/vendor/matthiasmullie/minify/src/Exceptions/BasicException.php b/vendor/matthiasmullie/minify/src/Exceptions/BasicException.php new file mode 100644 index 000000000..af5e81bc0 --- /dev/null +++ b/vendor/matthiasmullie/minify/src/Exceptions/BasicException.php @@ -0,0 +1,23 @@ + + * @copyright Copyright (c) 2012, Matthias Mullie. All rights reserved + * @license MIT License + */ +namespace MatthiasMullie\Minify\Exceptions; + +use MatthiasMullie\Minify\Exception; + +/** + * Basic Exception Class + * + * @package Minify\Exception + * @author Matthias Mullie + */ +abstract class BasicException extends Exception +{ +} diff --git a/vendor/matthiasmullie/minify/src/Exceptions/FileImportException.php b/vendor/matthiasmullie/minify/src/Exceptions/FileImportException.php new file mode 100644 index 000000000..912a2c908 --- /dev/null +++ b/vendor/matthiasmullie/minify/src/Exceptions/FileImportException.php @@ -0,0 +1,21 @@ + + * @copyright Copyright (c) 2012, Matthias Mullie. All rights reserved + * @license MIT License + */ +namespace MatthiasMullie\Minify\Exceptions; + +/** + * File Import Exception Class + * + * @package Minify\Exception + * @author Matthias Mullie + */ +class FileImportException extends BasicException +{ +} diff --git a/vendor/matthiasmullie/minify/src/Exceptions/IOException.php b/vendor/matthiasmullie/minify/src/Exceptions/IOException.php new file mode 100644 index 000000000..b172eb48f --- /dev/null +++ b/vendor/matthiasmullie/minify/src/Exceptions/IOException.php @@ -0,0 +1,21 @@ + + * @copyright Copyright (c) 2012, Matthias Mullie. All rights reserved + * @license MIT License + */ +namespace MatthiasMullie\Minify\Exceptions; + +/** + * IO Exception Class + * + * @package Minify\Exception + * @author Matthias Mullie + */ +class IOException extends BasicException +{ +} diff --git a/vendor/matthiasmullie/minify/src/JS.php b/vendor/matthiasmullie/minify/src/JS.php new file mode 100644 index 000000000..92389cdd5 --- /dev/null +++ b/vendor/matthiasmullie/minify/src/JS.php @@ -0,0 +1,612 @@ + + * @copyright Copyright (c) 2012, Matthias Mullie. All rights reserved + * @license MIT License + */ +namespace MatthiasMullie\Minify; + +/** + * JavaScript Minifier Class + * + * Please report bugs on https://github.com/matthiasmullie/minify/issues + * + * @package Minify + * @author Matthias Mullie + * @author Tijs Verkoyen + * @copyright Copyright (c) 2012, Matthias Mullie. All rights reserved + * @license MIT License + */ +class JS extends Minify +{ + /** + * Var-matching regex based on http://stackoverflow.com/a/9337047/802993. + * + * Note that regular expressions using that bit must have the PCRE_UTF8 + * pattern modifier (/u) set. + * + * @var string + */ + const REGEX_VARIABLE = '\b[$A-Z\_a-z\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\x{02c1}\x{02c6}-\x{02d1}\x{02e0}-\x{02e4}\x{02ec}\x{02ee}\x{0370}-\x{0374}\x{0376}\x{0377}\x{037a}-\x{037d}\x{0386}\x{0388}-\x{038a}\x{038c}\x{038e}-\x{03a1}\x{03a3}-\x{03f5}\x{03f7}-\x{0481}\x{048a}-\x{0527}\x{0531}-\x{0556}\x{0559}\x{0561}-\x{0587}\x{05d0}-\x{05ea}\x{05f0}-\x{05f2}\x{0620}-\x{064a}\x{066e}\x{066f}\x{0671}-\x{06d3}\x{06d5}\x{06e5}\x{06e6}\x{06ee}\x{06ef}\x{06fa}-\x{06fc}\x{06ff}\x{0710}\x{0712}-\x{072f}\x{074d}-\x{07a5}\x{07b1}\x{07ca}-\x{07ea}\x{07f4}\x{07f5}\x{07fa}\x{0800}-\x{0815}\x{081a}\x{0824}\x{0828}\x{0840}-\x{0858}\x{08a0}\x{08a2}-\x{08ac}\x{0904}-\x{0939}\x{093d}\x{0950}\x{0958}-\x{0961}\x{0971}-\x{0977}\x{0979}-\x{097f}\x{0985}-\x{098c}\x{098f}\x{0990}\x{0993}-\x{09a8}\x{09aa}-\x{09b0}\x{09b2}\x{09b6}-\x{09b9}\x{09bd}\x{09ce}\x{09dc}\x{09dd}\x{09df}-\x{09e1}\x{09f0}\x{09f1}\x{0a05}-\x{0a0a}\x{0a0f}\x{0a10}\x{0a13}-\x{0a28}\x{0a2a}-\x{0a30}\x{0a32}\x{0a33}\x{0a35}\x{0a36}\x{0a38}\x{0a39}\x{0a59}-\x{0a5c}\x{0a5e}\x{0a72}-\x{0a74}\x{0a85}-\x{0a8d}\x{0a8f}-\x{0a91}\x{0a93}-\x{0aa8}\x{0aaa}-\x{0ab0}\x{0ab2}\x{0ab3}\x{0ab5}-\x{0ab9}\x{0abd}\x{0ad0}\x{0ae0}\x{0ae1}\x{0b05}-\x{0b0c}\x{0b0f}\x{0b10}\x{0b13}-\x{0b28}\x{0b2a}-\x{0b30}\x{0b32}\x{0b33}\x{0b35}-\x{0b39}\x{0b3d}\x{0b5c}\x{0b5d}\x{0b5f}-\x{0b61}\x{0b71}\x{0b83}\x{0b85}-\x{0b8a}\x{0b8e}-\x{0b90}\x{0b92}-\x{0b95}\x{0b99}\x{0b9a}\x{0b9c}\x{0b9e}\x{0b9f}\x{0ba3}\x{0ba4}\x{0ba8}-\x{0baa}\x{0bae}-\x{0bb9}\x{0bd0}\x{0c05}-\x{0c0c}\x{0c0e}-\x{0c10}\x{0c12}-\x{0c28}\x{0c2a}-\x{0c33}\x{0c35}-\x{0c39}\x{0c3d}\x{0c58}\x{0c59}\x{0c60}\x{0c61}\x{0c85}-\x{0c8c}\x{0c8e}-\x{0c90}\x{0c92}-\x{0ca8}\x{0caa}-\x{0cb3}\x{0cb5}-\x{0cb9}\x{0cbd}\x{0cde}\x{0ce0}\x{0ce1}\x{0cf1}\x{0cf2}\x{0d05}-\x{0d0c}\x{0d0e}-\x{0d10}\x{0d12}-\x{0d3a}\x{0d3d}\x{0d4e}\x{0d60}\x{0d61}\x{0d7a}-\x{0d7f}\x{0d85}-\x{0d96}\x{0d9a}-\x{0db1}\x{0db3}-\x{0dbb}\x{0dbd}\x{0dc0}-\x{0dc6}\x{0e01}-\x{0e30}\x{0e32}\x{0e33}\x{0e40}-\x{0e46}\x{0e81}\x{0e82}\x{0e84}\x{0e87}\x{0e88}\x{0e8a}\x{0e8d}\x{0e94}-\x{0e97}\x{0e99}-\x{0e9f}\x{0ea1}-\x{0ea3}\x{0ea5}\x{0ea7}\x{0eaa}\x{0eab}\x{0ead}-\x{0eb0}\x{0eb2}\x{0eb3}\x{0ebd}\x{0ec0}-\x{0ec4}\x{0ec6}\x{0edc}-\x{0edf}\x{0f00}\x{0f40}-\x{0f47}\x{0f49}-\x{0f6c}\x{0f88}-\x{0f8c}\x{1000}-\x{102a}\x{103f}\x{1050}-\x{1055}\x{105a}-\x{105d}\x{1061}\x{1065}\x{1066}\x{106e}-\x{1070}\x{1075}-\x{1081}\x{108e}\x{10a0}-\x{10c5}\x{10c7}\x{10cd}\x{10d0}-\x{10fa}\x{10fc}-\x{1248}\x{124a}-\x{124d}\x{1250}-\x{1256}\x{1258}\x{125a}-\x{125d}\x{1260}-\x{1288}\x{128a}-\x{128d}\x{1290}-\x{12b0}\x{12b2}-\x{12b5}\x{12b8}-\x{12be}\x{12c0}\x{12c2}-\x{12c5}\x{12c8}-\x{12d6}\x{12d8}-\x{1310}\x{1312}-\x{1315}\x{1318}-\x{135a}\x{1380}-\x{138f}\x{13a0}-\x{13f4}\x{1401}-\x{166c}\x{166f}-\x{167f}\x{1681}-\x{169a}\x{16a0}-\x{16ea}\x{16ee}-\x{16f0}\x{1700}-\x{170c}\x{170e}-\x{1711}\x{1720}-\x{1731}\x{1740}-\x{1751}\x{1760}-\x{176c}\x{176e}-\x{1770}\x{1780}-\x{17b3}\x{17d7}\x{17dc}\x{1820}-\x{1877}\x{1880}-\x{18a8}\x{18aa}\x{18b0}-\x{18f5}\x{1900}-\x{191c}\x{1950}-\x{196d}\x{1970}-\x{1974}\x{1980}-\x{19ab}\x{19c1}-\x{19c7}\x{1a00}-\x{1a16}\x{1a20}-\x{1a54}\x{1aa7}\x{1b05}-\x{1b33}\x{1b45}-\x{1b4b}\x{1b83}-\x{1ba0}\x{1bae}\x{1baf}\x{1bba}-\x{1be5}\x{1c00}-\x{1c23}\x{1c4d}-\x{1c4f}\x{1c5a}-\x{1c7d}\x{1ce9}-\x{1cec}\x{1cee}-\x{1cf1}\x{1cf5}\x{1cf6}\x{1d00}-\x{1dbf}\x{1e00}-\x{1f15}\x{1f18}-\x{1f1d}\x{1f20}-\x{1f45}\x{1f48}-\x{1f4d}\x{1f50}-\x{1f57}\x{1f59}\x{1f5b}\x{1f5d}\x{1f5f}-\x{1f7d}\x{1f80}-\x{1fb4}\x{1fb6}-\x{1fbc}\x{1fbe}\x{1fc2}-\x{1fc4}\x{1fc6}-\x{1fcc}\x{1fd0}-\x{1fd3}\x{1fd6}-\x{1fdb}\x{1fe0}-\x{1fec}\x{1ff2}-\x{1ff4}\x{1ff6}-\x{1ffc}\x{2071}\x{207f}\x{2090}-\x{209c}\x{2102}\x{2107}\x{210a}-\x{2113}\x{2115}\x{2119}-\x{211d}\x{2124}\x{2126}\x{2128}\x{212a}-\x{212d}\x{212f}-\x{2139}\x{213c}-\x{213f}\x{2145}-\x{2149}\x{214e}\x{2160}-\x{2188}\x{2c00}-\x{2c2e}\x{2c30}-\x{2c5e}\x{2c60}-\x{2ce4}\x{2ceb}-\x{2cee}\x{2cf2}\x{2cf3}\x{2d00}-\x{2d25}\x{2d27}\x{2d2d}\x{2d30}-\x{2d67}\x{2d6f}\x{2d80}-\x{2d96}\x{2da0}-\x{2da6}\x{2da8}-\x{2dae}\x{2db0}-\x{2db6}\x{2db8}-\x{2dbe}\x{2dc0}-\x{2dc6}\x{2dc8}-\x{2dce}\x{2dd0}-\x{2dd6}\x{2dd8}-\x{2dde}\x{2e2f}\x{3005}-\x{3007}\x{3021}-\x{3029}\x{3031}-\x{3035}\x{3038}-\x{303c}\x{3041}-\x{3096}\x{309d}-\x{309f}\x{30a1}-\x{30fa}\x{30fc}-\x{30ff}\x{3105}-\x{312d}\x{3131}-\x{318e}\x{31a0}-\x{31ba}\x{31f0}-\x{31ff}\x{3400}-\x{4db5}\x{4e00}-\x{9fcc}\x{a000}-\x{a48c}\x{a4d0}-\x{a4fd}\x{a500}-\x{a60c}\x{a610}-\x{a61f}\x{a62a}\x{a62b}\x{a640}-\x{a66e}\x{a67f}-\x{a697}\x{a6a0}-\x{a6ef}\x{a717}-\x{a71f}\x{a722}-\x{a788}\x{a78b}-\x{a78e}\x{a790}-\x{a793}\x{a7a0}-\x{a7aa}\x{a7f8}-\x{a801}\x{a803}-\x{a805}\x{a807}-\x{a80a}\x{a80c}-\x{a822}\x{a840}-\x{a873}\x{a882}-\x{a8b3}\x{a8f2}-\x{a8f7}\x{a8fb}\x{a90a}-\x{a925}\x{a930}-\x{a946}\x{a960}-\x{a97c}\x{a984}-\x{a9b2}\x{a9cf}\x{aa00}-\x{aa28}\x{aa40}-\x{aa42}\x{aa44}-\x{aa4b}\x{aa60}-\x{aa76}\x{aa7a}\x{aa80}-\x{aaaf}\x{aab1}\x{aab5}\x{aab6}\x{aab9}-\x{aabd}\x{aac0}\x{aac2}\x{aadb}-\x{aadd}\x{aae0}-\x{aaea}\x{aaf2}-\x{aaf4}\x{ab01}-\x{ab06}\x{ab09}-\x{ab0e}\x{ab11}-\x{ab16}\x{ab20}-\x{ab26}\x{ab28}-\x{ab2e}\x{abc0}-\x{abe2}\x{ac00}-\x{d7a3}\x{d7b0}-\x{d7c6}\x{d7cb}-\x{d7fb}\x{f900}-\x{fa6d}\x{fa70}-\x{fad9}\x{fb00}-\x{fb06}\x{fb13}-\x{fb17}\x{fb1d}\x{fb1f}-\x{fb28}\x{fb2a}-\x{fb36}\x{fb38}-\x{fb3c}\x{fb3e}\x{fb40}\x{fb41}\x{fb43}\x{fb44}\x{fb46}-\x{fbb1}\x{fbd3}-\x{fd3d}\x{fd50}-\x{fd8f}\x{fd92}-\x{fdc7}\x{fdf0}-\x{fdfb}\x{fe70}-\x{fe74}\x{fe76}-\x{fefc}\x{ff21}-\x{ff3a}\x{ff41}-\x{ff5a}\x{ff66}-\x{ffbe}\x{ffc2}-\x{ffc7}\x{ffca}-\x{ffcf}\x{ffd2}-\x{ffd7}\x{ffda}-\x{ffdc}][$A-Z\_a-z\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\x{02c1}\x{02c6}-\x{02d1}\x{02e0}-\x{02e4}\x{02ec}\x{02ee}\x{0370}-\x{0374}\x{0376}\x{0377}\x{037a}-\x{037d}\x{0386}\x{0388}-\x{038a}\x{038c}\x{038e}-\x{03a1}\x{03a3}-\x{03f5}\x{03f7}-\x{0481}\x{048a}-\x{0527}\x{0531}-\x{0556}\x{0559}\x{0561}-\x{0587}\x{05d0}-\x{05ea}\x{05f0}-\x{05f2}\x{0620}-\x{064a}\x{066e}\x{066f}\x{0671}-\x{06d3}\x{06d5}\x{06e5}\x{06e6}\x{06ee}\x{06ef}\x{06fa}-\x{06fc}\x{06ff}\x{0710}\x{0712}-\x{072f}\x{074d}-\x{07a5}\x{07b1}\x{07ca}-\x{07ea}\x{07f4}\x{07f5}\x{07fa}\x{0800}-\x{0815}\x{081a}\x{0824}\x{0828}\x{0840}-\x{0858}\x{08a0}\x{08a2}-\x{08ac}\x{0904}-\x{0939}\x{093d}\x{0950}\x{0958}-\x{0961}\x{0971}-\x{0977}\x{0979}-\x{097f}\x{0985}-\x{098c}\x{098f}\x{0990}\x{0993}-\x{09a8}\x{09aa}-\x{09b0}\x{09b2}\x{09b6}-\x{09b9}\x{09bd}\x{09ce}\x{09dc}\x{09dd}\x{09df}-\x{09e1}\x{09f0}\x{09f1}\x{0a05}-\x{0a0a}\x{0a0f}\x{0a10}\x{0a13}-\x{0a28}\x{0a2a}-\x{0a30}\x{0a32}\x{0a33}\x{0a35}\x{0a36}\x{0a38}\x{0a39}\x{0a59}-\x{0a5c}\x{0a5e}\x{0a72}-\x{0a74}\x{0a85}-\x{0a8d}\x{0a8f}-\x{0a91}\x{0a93}-\x{0aa8}\x{0aaa}-\x{0ab0}\x{0ab2}\x{0ab3}\x{0ab5}-\x{0ab9}\x{0abd}\x{0ad0}\x{0ae0}\x{0ae1}\x{0b05}-\x{0b0c}\x{0b0f}\x{0b10}\x{0b13}-\x{0b28}\x{0b2a}-\x{0b30}\x{0b32}\x{0b33}\x{0b35}-\x{0b39}\x{0b3d}\x{0b5c}\x{0b5d}\x{0b5f}-\x{0b61}\x{0b71}\x{0b83}\x{0b85}-\x{0b8a}\x{0b8e}-\x{0b90}\x{0b92}-\x{0b95}\x{0b99}\x{0b9a}\x{0b9c}\x{0b9e}\x{0b9f}\x{0ba3}\x{0ba4}\x{0ba8}-\x{0baa}\x{0bae}-\x{0bb9}\x{0bd0}\x{0c05}-\x{0c0c}\x{0c0e}-\x{0c10}\x{0c12}-\x{0c28}\x{0c2a}-\x{0c33}\x{0c35}-\x{0c39}\x{0c3d}\x{0c58}\x{0c59}\x{0c60}\x{0c61}\x{0c85}-\x{0c8c}\x{0c8e}-\x{0c90}\x{0c92}-\x{0ca8}\x{0caa}-\x{0cb3}\x{0cb5}-\x{0cb9}\x{0cbd}\x{0cde}\x{0ce0}\x{0ce1}\x{0cf1}\x{0cf2}\x{0d05}-\x{0d0c}\x{0d0e}-\x{0d10}\x{0d12}-\x{0d3a}\x{0d3d}\x{0d4e}\x{0d60}\x{0d61}\x{0d7a}-\x{0d7f}\x{0d85}-\x{0d96}\x{0d9a}-\x{0db1}\x{0db3}-\x{0dbb}\x{0dbd}\x{0dc0}-\x{0dc6}\x{0e01}-\x{0e30}\x{0e32}\x{0e33}\x{0e40}-\x{0e46}\x{0e81}\x{0e82}\x{0e84}\x{0e87}\x{0e88}\x{0e8a}\x{0e8d}\x{0e94}-\x{0e97}\x{0e99}-\x{0e9f}\x{0ea1}-\x{0ea3}\x{0ea5}\x{0ea7}\x{0eaa}\x{0eab}\x{0ead}-\x{0eb0}\x{0eb2}\x{0eb3}\x{0ebd}\x{0ec0}-\x{0ec4}\x{0ec6}\x{0edc}-\x{0edf}\x{0f00}\x{0f40}-\x{0f47}\x{0f49}-\x{0f6c}\x{0f88}-\x{0f8c}\x{1000}-\x{102a}\x{103f}\x{1050}-\x{1055}\x{105a}-\x{105d}\x{1061}\x{1065}\x{1066}\x{106e}-\x{1070}\x{1075}-\x{1081}\x{108e}\x{10a0}-\x{10c5}\x{10c7}\x{10cd}\x{10d0}-\x{10fa}\x{10fc}-\x{1248}\x{124a}-\x{124d}\x{1250}-\x{1256}\x{1258}\x{125a}-\x{125d}\x{1260}-\x{1288}\x{128a}-\x{128d}\x{1290}-\x{12b0}\x{12b2}-\x{12b5}\x{12b8}-\x{12be}\x{12c0}\x{12c2}-\x{12c5}\x{12c8}-\x{12d6}\x{12d8}-\x{1310}\x{1312}-\x{1315}\x{1318}-\x{135a}\x{1380}-\x{138f}\x{13a0}-\x{13f4}\x{1401}-\x{166c}\x{166f}-\x{167f}\x{1681}-\x{169a}\x{16a0}-\x{16ea}\x{16ee}-\x{16f0}\x{1700}-\x{170c}\x{170e}-\x{1711}\x{1720}-\x{1731}\x{1740}-\x{1751}\x{1760}-\x{176c}\x{176e}-\x{1770}\x{1780}-\x{17b3}\x{17d7}\x{17dc}\x{1820}-\x{1877}\x{1880}-\x{18a8}\x{18aa}\x{18b0}-\x{18f5}\x{1900}-\x{191c}\x{1950}-\x{196d}\x{1970}-\x{1974}\x{1980}-\x{19ab}\x{19c1}-\x{19c7}\x{1a00}-\x{1a16}\x{1a20}-\x{1a54}\x{1aa7}\x{1b05}-\x{1b33}\x{1b45}-\x{1b4b}\x{1b83}-\x{1ba0}\x{1bae}\x{1baf}\x{1bba}-\x{1be5}\x{1c00}-\x{1c23}\x{1c4d}-\x{1c4f}\x{1c5a}-\x{1c7d}\x{1ce9}-\x{1cec}\x{1cee}-\x{1cf1}\x{1cf5}\x{1cf6}\x{1d00}-\x{1dbf}\x{1e00}-\x{1f15}\x{1f18}-\x{1f1d}\x{1f20}-\x{1f45}\x{1f48}-\x{1f4d}\x{1f50}-\x{1f57}\x{1f59}\x{1f5b}\x{1f5d}\x{1f5f}-\x{1f7d}\x{1f80}-\x{1fb4}\x{1fb6}-\x{1fbc}\x{1fbe}\x{1fc2}-\x{1fc4}\x{1fc6}-\x{1fcc}\x{1fd0}-\x{1fd3}\x{1fd6}-\x{1fdb}\x{1fe0}-\x{1fec}\x{1ff2}-\x{1ff4}\x{1ff6}-\x{1ffc}\x{2071}\x{207f}\x{2090}-\x{209c}\x{2102}\x{2107}\x{210a}-\x{2113}\x{2115}\x{2119}-\x{211d}\x{2124}\x{2126}\x{2128}\x{212a}-\x{212d}\x{212f}-\x{2139}\x{213c}-\x{213f}\x{2145}-\x{2149}\x{214e}\x{2160}-\x{2188}\x{2c00}-\x{2c2e}\x{2c30}-\x{2c5e}\x{2c60}-\x{2ce4}\x{2ceb}-\x{2cee}\x{2cf2}\x{2cf3}\x{2d00}-\x{2d25}\x{2d27}\x{2d2d}\x{2d30}-\x{2d67}\x{2d6f}\x{2d80}-\x{2d96}\x{2da0}-\x{2da6}\x{2da8}-\x{2dae}\x{2db0}-\x{2db6}\x{2db8}-\x{2dbe}\x{2dc0}-\x{2dc6}\x{2dc8}-\x{2dce}\x{2dd0}-\x{2dd6}\x{2dd8}-\x{2dde}\x{2e2f}\x{3005}-\x{3007}\x{3021}-\x{3029}\x{3031}-\x{3035}\x{3038}-\x{303c}\x{3041}-\x{3096}\x{309d}-\x{309f}\x{30a1}-\x{30fa}\x{30fc}-\x{30ff}\x{3105}-\x{312d}\x{3131}-\x{318e}\x{31a0}-\x{31ba}\x{31f0}-\x{31ff}\x{3400}-\x{4db5}\x{4e00}-\x{9fcc}\x{a000}-\x{a48c}\x{a4d0}-\x{a4fd}\x{a500}-\x{a60c}\x{a610}-\x{a61f}\x{a62a}\x{a62b}\x{a640}-\x{a66e}\x{a67f}-\x{a697}\x{a6a0}-\x{a6ef}\x{a717}-\x{a71f}\x{a722}-\x{a788}\x{a78b}-\x{a78e}\x{a790}-\x{a793}\x{a7a0}-\x{a7aa}\x{a7f8}-\x{a801}\x{a803}-\x{a805}\x{a807}-\x{a80a}\x{a80c}-\x{a822}\x{a840}-\x{a873}\x{a882}-\x{a8b3}\x{a8f2}-\x{a8f7}\x{a8fb}\x{a90a}-\x{a925}\x{a930}-\x{a946}\x{a960}-\x{a97c}\x{a984}-\x{a9b2}\x{a9cf}\x{aa00}-\x{aa28}\x{aa40}-\x{aa42}\x{aa44}-\x{aa4b}\x{aa60}-\x{aa76}\x{aa7a}\x{aa80}-\x{aaaf}\x{aab1}\x{aab5}\x{aab6}\x{aab9}-\x{aabd}\x{aac0}\x{aac2}\x{aadb}-\x{aadd}\x{aae0}-\x{aaea}\x{aaf2}-\x{aaf4}\x{ab01}-\x{ab06}\x{ab09}-\x{ab0e}\x{ab11}-\x{ab16}\x{ab20}-\x{ab26}\x{ab28}-\x{ab2e}\x{abc0}-\x{abe2}\x{ac00}-\x{d7a3}\x{d7b0}-\x{d7c6}\x{d7cb}-\x{d7fb}\x{f900}-\x{fa6d}\x{fa70}-\x{fad9}\x{fb00}-\x{fb06}\x{fb13}-\x{fb17}\x{fb1d}\x{fb1f}-\x{fb28}\x{fb2a}-\x{fb36}\x{fb38}-\x{fb3c}\x{fb3e}\x{fb40}\x{fb41}\x{fb43}\x{fb44}\x{fb46}-\x{fbb1}\x{fbd3}-\x{fd3d}\x{fd50}-\x{fd8f}\x{fd92}-\x{fdc7}\x{fdf0}-\x{fdfb}\x{fe70}-\x{fe74}\x{fe76}-\x{fefc}\x{ff21}-\x{ff3a}\x{ff41}-\x{ff5a}\x{ff66}-\x{ffbe}\x{ffc2}-\x{ffc7}\x{ffca}-\x{ffcf}\x{ffd2}-\x{ffd7}\x{ffda}-\x{ffdc}0-9\x{0300}-\x{036f}\x{0483}-\x{0487}\x{0591}-\x{05bd}\x{05bf}\x{05c1}\x{05c2}\x{05c4}\x{05c5}\x{05c7}\x{0610}-\x{061a}\x{064b}-\x{0669}\x{0670}\x{06d6}-\x{06dc}\x{06df}-\x{06e4}\x{06e7}\x{06e8}\x{06ea}-\x{06ed}\x{06f0}-\x{06f9}\x{0711}\x{0730}-\x{074a}\x{07a6}-\x{07b0}\x{07c0}-\x{07c9}\x{07eb}-\x{07f3}\x{0816}-\x{0819}\x{081b}-\x{0823}\x{0825}-\x{0827}\x{0829}-\x{082d}\x{0859}-\x{085b}\x{08e4}-\x{08fe}\x{0900}-\x{0903}\x{093a}-\x{093c}\x{093e}-\x{094f}\x{0951}-\x{0957}\x{0962}\x{0963}\x{0966}-\x{096f}\x{0981}-\x{0983}\x{09bc}\x{09be}-\x{09c4}\x{09c7}\x{09c8}\x{09cb}-\x{09cd}\x{09d7}\x{09e2}\x{09e3}\x{09e6}-\x{09ef}\x{0a01}-\x{0a03}\x{0a3c}\x{0a3e}-\x{0a42}\x{0a47}\x{0a48}\x{0a4b}-\x{0a4d}\x{0a51}\x{0a66}-\x{0a71}\x{0a75}\x{0a81}-\x{0a83}\x{0abc}\x{0abe}-\x{0ac5}\x{0ac7}-\x{0ac9}\x{0acb}-\x{0acd}\x{0ae2}\x{0ae3}\x{0ae6}-\x{0aef}\x{0b01}-\x{0b03}\x{0b3c}\x{0b3e}-\x{0b44}\x{0b47}\x{0b48}\x{0b4b}-\x{0b4d}\x{0b56}\x{0b57}\x{0b62}\x{0b63}\x{0b66}-\x{0b6f}\x{0b82}\x{0bbe}-\x{0bc2}\x{0bc6}-\x{0bc8}\x{0bca}-\x{0bcd}\x{0bd7}\x{0be6}-\x{0bef}\x{0c01}-\x{0c03}\x{0c3e}-\x{0c44}\x{0c46}-\x{0c48}\x{0c4a}-\x{0c4d}\x{0c55}\x{0c56}\x{0c62}\x{0c63}\x{0c66}-\x{0c6f}\x{0c82}\x{0c83}\x{0cbc}\x{0cbe}-\x{0cc4}\x{0cc6}-\x{0cc8}\x{0cca}-\x{0ccd}\x{0cd5}\x{0cd6}\x{0ce2}\x{0ce3}\x{0ce6}-\x{0cef}\x{0d02}\x{0d03}\x{0d3e}-\x{0d44}\x{0d46}-\x{0d48}\x{0d4a}-\x{0d4d}\x{0d57}\x{0d62}\x{0d63}\x{0d66}-\x{0d6f}\x{0d82}\x{0d83}\x{0dca}\x{0dcf}-\x{0dd4}\x{0dd6}\x{0dd8}-\x{0ddf}\x{0df2}\x{0df3}\x{0e31}\x{0e34}-\x{0e3a}\x{0e47}-\x{0e4e}\x{0e50}-\x{0e59}\x{0eb1}\x{0eb4}-\x{0eb9}\x{0ebb}\x{0ebc}\x{0ec8}-\x{0ecd}\x{0ed0}-\x{0ed9}\x{0f18}\x{0f19}\x{0f20}-\x{0f29}\x{0f35}\x{0f37}\x{0f39}\x{0f3e}\x{0f3f}\x{0f71}-\x{0f84}\x{0f86}\x{0f87}\x{0f8d}-\x{0f97}\x{0f99}-\x{0fbc}\x{0fc6}\x{102b}-\x{103e}\x{1040}-\x{1049}\x{1056}-\x{1059}\x{105e}-\x{1060}\x{1062}-\x{1064}\x{1067}-\x{106d}\x{1071}-\x{1074}\x{1082}-\x{108d}\x{108f}-\x{109d}\x{135d}-\x{135f}\x{1712}-\x{1714}\x{1732}-\x{1734}\x{1752}\x{1753}\x{1772}\x{1773}\x{17b4}-\x{17d3}\x{17dd}\x{17e0}-\x{17e9}\x{180b}-\x{180d}\x{1810}-\x{1819}\x{18a9}\x{1920}-\x{192b}\x{1930}-\x{193b}\x{1946}-\x{194f}\x{19b0}-\x{19c0}\x{19c8}\x{19c9}\x{19d0}-\x{19d9}\x{1a17}-\x{1a1b}\x{1a55}-\x{1a5e}\x{1a60}-\x{1a7c}\x{1a7f}-\x{1a89}\x{1a90}-\x{1a99}\x{1b00}-\x{1b04}\x{1b34}-\x{1b44}\x{1b50}-\x{1b59}\x{1b6b}-\x{1b73}\x{1b80}-\x{1b82}\x{1ba1}-\x{1bad}\x{1bb0}-\x{1bb9}\x{1be6}-\x{1bf3}\x{1c24}-\x{1c37}\x{1c40}-\x{1c49}\x{1c50}-\x{1c59}\x{1cd0}-\x{1cd2}\x{1cd4}-\x{1ce8}\x{1ced}\x{1cf2}-\x{1cf4}\x{1dc0}-\x{1de6}\x{1dfc}-\x{1dff}\x{200c}\x{200d}\x{203f}\x{2040}\x{2054}\x{20d0}-\x{20dc}\x{20e1}\x{20e5}-\x{20f0}\x{2cef}-\x{2cf1}\x{2d7f}\x{2de0}-\x{2dff}\x{302a}-\x{302f}\x{3099}\x{309a}\x{a620}-\x{a629}\x{a66f}\x{a674}-\x{a67d}\x{a69f}\x{a6f0}\x{a6f1}\x{a802}\x{a806}\x{a80b}\x{a823}-\x{a827}\x{a880}\x{a881}\x{a8b4}-\x{a8c4}\x{a8d0}-\x{a8d9}\x{a8e0}-\x{a8f1}\x{a900}-\x{a909}\x{a926}-\x{a92d}\x{a947}-\x{a953}\x{a980}-\x{a983}\x{a9b3}-\x{a9c0}\x{a9d0}-\x{a9d9}\x{aa29}-\x{aa36}\x{aa43}\x{aa4c}\x{aa4d}\x{aa50}-\x{aa59}\x{aa7b}\x{aab0}\x{aab2}-\x{aab4}\x{aab7}\x{aab8}\x{aabe}\x{aabf}\x{aac1}\x{aaeb}-\x{aaef}\x{aaf5}\x{aaf6}\x{abe3}-\x{abea}\x{abec}\x{abed}\x{abf0}-\x{abf9}\x{fb1e}\x{fe00}-\x{fe0f}\x{fe20}-\x{fe26}\x{fe33}\x{fe34}\x{fe4d}-\x{fe4f}\x{ff10}-\x{ff19}\x{ff3f}]*\b'; + + /** + * Full list of JavaScript reserved words. + * Will be loaded from /data/js/keywords_reserved.txt. + * + * @see https://mathiasbynens.be/notes/reserved-keywords + * + * @var string[] + */ + protected $keywordsReserved = array(); + + /** + * List of JavaScript reserved words that accept a + * after them. Some end of lines are not the end of a statement, like with + * these keywords. + * + * E.g.: we shouldn't insert a ; after this else + * else + * console.log('this is quite fine') + * + * Will be loaded from /data/js/keywords_before.txt + * + * @var string[] + */ + protected $keywordsBefore = array(); + + /** + * List of JavaScript reserved words that accept a + * before them. Some end of lines are not the end of a statement, like when + * continued by one of these keywords on the newline. + * + * E.g.: we shouldn't insert a ; before this instanceof + * variable + * instanceof String + * + * Will be loaded from /data/js/keywords_after.txt + * + * @var string[] + */ + protected $keywordsAfter = array(); + + /** + * List of all JavaScript operators. + * + * Will be loaded from /data/js/operators.txt + * + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Expressions_and_Operators + * + * @var string[] + */ + protected $operators = array(); + + /** + * List of JavaScript operators that accept a after + * them. Some end of lines are not the end of a statement, like with these + * operators. + * + * Note: Most operators are fine, we've only removed ++ and --. + * ++ & -- have to be joined with the value they're in-/decrementing. + * + * Will be loaded from /data/js/operators_before.txt + * + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Expressions_and_Operators + * + * @var string[] + */ + protected $operatorsBefore = array(); + + /** + * List of JavaScript operators that accept a before + * them. Some end of lines are not the end of a statement, like when + * continued by one of these operators on the newline. + * + * Note: Most operators are fine, we've only removed ), ], ++, --, ! and ~. + * There can't be a newline separating ! or ~ and whatever it is negating. + * ++ & -- have to be joined with the value they're in-/decrementing. + * ) & ] are "special" in that they have lots or usecases. () for example + * is used for function calls, for grouping, in if () and for (), ... + * + * Will be loaded from /data/js/operators_after.txt + * + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Expressions_and_Operators + * + * @var string[] + */ + protected $operatorsAfter = array(); + + /** + * {@inheritdoc} + */ + public function __construct() + { + call_user_func_array(array('parent', '__construct'), func_get_args()); + + $dataDir = __DIR__.'/../data/js/'; + $options = FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES; + $this->keywordsReserved = file($dataDir.'keywords_reserved.txt', $options); + $this->keywordsBefore = file($dataDir.'keywords_before.txt', $options); + $this->keywordsAfter = file($dataDir.'keywords_after.txt', $options); + $this->operators = file($dataDir.'operators.txt', $options); + $this->operatorsBefore = file($dataDir.'operators_before.txt', $options); + $this->operatorsAfter = file($dataDir.'operators_after.txt', $options); + } + + /** + * Minify the data. + * Perform JS optimizations. + * + * @param string[optional] $path Path to write the data to + * + * @return string The minified data + */ + public function execute($path = null) + { + $content = ''; + + /* + * Let's first take out strings, comments and regular expressions. + * All of these can contain JS code-like characters, and we should make + * sure any further magic ignores anything inside of these. + * + * Consider this example, where we should not strip any whitespace: + * var str = "a test"; + * + * Comments will be removed altogether, strings and regular expressions + * will be replaced by placeholder text, which we'll restore later. + */ + $this->extractStrings('\'"`'); + $this->stripComments(); + $this->extractRegex(); + + // loop files + foreach ($this->data as $source => $js) { + // take out strings, comments & regex (for which we've registered + // the regexes just a few lines earlier) + $js = $this->replace($js); + + $js = $this->propertyNotation($js); + $js = $this->shortenBools($js); + $js = $this->stripWhitespace($js); + + // combine js: separating the scripts by a ; + $content .= $js.";"; + } + + // clean up leftover `;`s from the combination of multiple scripts + $content = ltrim($content, ';'); + $content = (string) substr($content, 0, -1); + + /* + * Earlier, we extracted strings & regular expressions and replaced them + * with placeholder text. This will restore them. + */ + $content = $this->restoreExtractedData($content); + + return $content; + } + + /** + * Strip comments from source code. + */ + protected function stripComments() + { + // PHP only supports $this inside anonymous functions since 5.4 + $minifier = $this; + $callback = function ($match) use ($minifier) { + $count = count($minifier->extracted); + $placeholder = '/*'.$count.'*/'; + $minifier->extracted[$placeholder] = $match[0]; + + return $placeholder; + }; + // multi-line comments + $this->registerPattern('/\n?\/\*(!|.*?@license|.*?@preserve).*?\*\/\n?/s', $callback); + $this->registerPattern('/\/\*.*?\*\//s', ''); + + // single-line comments + $this->registerPattern('/\/\/.*$/m', ''); + } + + /** + * JS can have /-delimited regular expressions, like: /ab+c/.match(string). + * + * The content inside the regex can contain characters that may be confused + * for JS code: e.g. it could contain whitespace it needs to match & we + * don't want to strip whitespace in there. + * + * The regex can be pretty simple: we don't have to care about comments, + * (which also use slashes) because stripComments() will have stripped those + * already. + * + * This method will replace all string content with simple REGEX# + * placeholder text, so we've rid all regular expressions from characters + * that may be misinterpreted. Original regex content will be saved in + * $this->extracted and after doing all other minifying, we can restore the + * original content via restoreRegex() + */ + protected function extractRegex() + { + // PHP only supports $this inside anonymous functions since 5.4 + $minifier = $this; + $callback = function ($match) use ($minifier) { + $count = count($minifier->extracted); + $placeholder = '"'.$count.'"'; + $minifier->extracted[$placeholder] = $match[0]; + + return $placeholder; + }; + + // match all chars except `/` and `\` + // `\` is allowed though, along with whatever char follows (which is the + // one being escaped) + // this should allow all chars, except for an unescaped `/` (= the one + // closing the regex) + // then also ignore bare `/` inside `[]`, where they don't need to be + // escaped: anything inside `[]` can be ignored safely + $pattern = '\\/(?!\*)(?:[^\\[\\/\\\\\n\r]++|(?:\\\\.)++|(?:\\[(?:[^\\]\\\\\n\r]++|(?:\\\\.)++)++\\])++)++\\/[gimuy]*'; + + // a regular expression can only be followed by a few operators or some + // of the RegExp methods (a `\` followed by a variable or value is + // likely part of a division, not a regex) + $keywords = array('do', 'in', 'new', 'else', 'throw', 'yield', 'delete', 'return', 'typeof'); + $before = '([=:,;\+\-\*\/\}\(\{\[&\|!]|^|'.implode('|', $keywords).')\s*'; + $propertiesAndMethods = array( + // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp#Properties_2 + 'constructor', + 'flags', + 'global', + 'ignoreCase', + 'multiline', + 'source', + 'sticky', + 'unicode', + // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp#Methods_2 + 'compile(', + 'exec(', + 'test(', + 'toSource(', + 'toString(', + ); + $delimiters = array_fill(0, count($propertiesAndMethods), '/'); + $propertiesAndMethods = array_map('preg_quote', $propertiesAndMethods, $delimiters); + $after = '(?=\s*([\.,;\)\}&\|+]|\/\/|$|\.('.implode('|', $propertiesAndMethods).')))'; + $this->registerPattern('/'.$before.'\K'.$pattern.$after.'/', $callback); + + // regular expressions following a `)` are rather annoying to detect... + // quite often, `/` after `)` is a division operator & if it happens to + // be followed by another one (or a comment), it is likely to be + // confused for a regular expression + // however, it's perfectly possible for a regex to follow a `)`: after + // a single-line `if()`, `while()`, ... statement, for example + // since, when they occur like that, they're always the start of a + // statement, there's only a limited amount of ways they can be useful: + // by calling the regex methods directly + // if a regex following `)` is not followed by `.`, + // it's quite likely not a regex + $before = '\)\s*'; + $after = '(?=\s*\.('.implode('|', $propertiesAndMethods).'))'; + $this->registerPattern('/'.$before.'\K'.$pattern.$after.'/', $callback); + + // 1 more edge case: a regex can be followed by a lot more operators or + // keywords if there's a newline (ASI) in between, where the operator + // actually starts a new statement + // (https://github.com/matthiasmullie/minify/issues/56) + $operators = $this->getOperatorsForRegex($this->operatorsBefore, '/'); + $operators += $this->getOperatorsForRegex($this->keywordsReserved, '/'); + $after = '(?=\s*\n\s*('.implode('|', $operators).'))'; + $this->registerPattern('/'.$pattern.$after.'/', $callback); + } + + /** + * Strip whitespace. + * + * We won't strip *all* whitespace, but as much as possible. The thing that + * we'll preserve are newlines we're unsure about. + * JavaScript doesn't require statements to be terminated with a semicolon. + * It will automatically fix missing semicolons with ASI (automatic semi- + * colon insertion) at the end of line causing errors (without semicolon.) + * + * Because it's sometimes hard to tell if a newline is part of a statement + * that should be terminated or not, we'll just leave some of them alone. + * + * @param string $content The content to strip the whitespace for + * + * @return string + */ + protected function stripWhitespace($content) + { + // uniform line endings, make them all line feed + $content = str_replace(array("\r\n", "\r"), "\n", $content); + + // collapse all non-line feed whitespace into a single space + $content = preg_replace('/[^\S\n]+/', ' ', $content); + + // strip leading & trailing whitespace + $content = str_replace(array(" \n", "\n "), "\n", $content); + + // collapse consecutive line feeds into just 1 + $content = preg_replace('/\n+/', "\n", $content); + + $operatorsBefore = $this->getOperatorsForRegex($this->operatorsBefore, '/'); + $operatorsAfter = $this->getOperatorsForRegex($this->operatorsAfter, '/'); + $operators = $this->getOperatorsForRegex($this->operators, '/'); + $keywordsBefore = $this->getKeywordsForRegex($this->keywordsBefore, '/'); + $keywordsAfter = $this->getKeywordsForRegex($this->keywordsAfter, '/'); + + // strip whitespace that ends in (or next line begin with) an operator + // that allows statements to be broken up over multiple lines + unset($operatorsBefore['+'], $operatorsBefore['-'], $operatorsAfter['+'], $operatorsAfter['-']); + $content = preg_replace( + array( + '/('.implode('|', $operatorsBefore).')\s+/', + '/\s+('.implode('|', $operatorsAfter).')/', + ), + '\\1', + $content + ); + + // make sure + and - can't be mistaken for, or joined into ++ and -- + $content = preg_replace( + array( + '/(?%&|', $delimiter); + $operators['='] = '(?keywordsReserved; + $callback = function ($match) use ($minifier, $keywords) { + $property = trim($minifier->extracted[$match[1]], '\'"'); + + /* + * Check if the property is a reserved keyword. In this context (as + * property of an object literal/array) it shouldn't matter, but IE8 + * freaks out with "Expected identifier". + */ + if (in_array($property, $keywords)) { + return $match[0]; + } + + /* + * See if the property is in a variable-like format (e.g. + * array['key-here'] can't be replaced by array.key-here since '-' + * is not a valid character there. + */ + if (!preg_match('/^'.$minifier::REGEX_VARIABLE.'$/u', $property)) { + return $match[0]; + } + + return '.'.$property; + }; + + /* + * Figure out if previous character is a variable name (of the array + * we want to use property notation on) - this is to make sure + * standalone ['value'] arrays aren't confused for keys-of-an-array. + * We can (and only have to) check the last character, because PHP's + * regex implementation doesn't allow unfixed-length look-behind + * assertions. + */ + preg_match('/(\[[^\]]+\])[^\]]*$/', static::REGEX_VARIABLE, $previousChar); + $previousChar = $previousChar[1]; + + /* + * Make sure word preceding the ['value'] is not a keyword, e.g. + * return['x']. Because -again- PHP's regex implementation doesn't allow + * unfixed-length look-behind assertions, I'm just going to do a lot of + * separate look-behind assertions, one for each keyword. + */ + $keywords = $this->getKeywordsForRegex($keywords); + $keywords = '(? + * @copyright Copyright (c) 2012, Matthias Mullie. All rights reserved + * @license MIT License + */ +namespace MatthiasMullie\Minify; + +use MatthiasMullie\Minify\Exceptions\IOException; +use Psr\Cache\CacheItemInterface; + +/** + * Abstract minifier class. + * + * Please report bugs on https://github.com/matthiasmullie/minify/issues + * + * @package Minify + * @author Matthias Mullie + * @copyright Copyright (c) 2012, Matthias Mullie. All rights reserved + * @license MIT License + */ +abstract class Minify +{ + /** + * The data to be minified. + * + * @var string[] + */ + protected $data = array(); + + /** + * Array of patterns to match. + * + * @var string[] + */ + protected $patterns = array(); + + /** + * This array will hold content of strings and regular expressions that have + * been extracted from the JS source code, so we can reliably match "code", + * without having to worry about potential "code-like" characters inside. + * + * @var string[] + */ + public $extracted = array(); + + /** + * Init the minify class - optionally, code may be passed along already. + */ + public function __construct(/* $data = null, ... */) + { + // it's possible to add the source through the constructor as well ;) + if (func_num_args()) { + call_user_func_array(array($this, 'add'), func_get_args()); + } + } + + /** + * Add a file or straight-up code to be minified. + * + * @param string|string[] $data + * + * @return static + */ + public function add($data /* $data = null, ... */) + { + // bogus "usage" of parameter $data: scrutinizer warns this variable is + // not used (we're using func_get_args instead to support overloading), + // but it still needs to be defined because it makes no sense to have + // this function without argument :) + $args = array($data) + func_get_args(); + + // this method can be overloaded + foreach ($args as $data) { + if (is_array($data)) { + call_user_func_array(array($this, 'add'), $data); + continue; + } + + // redefine var + $data = (string) $data; + + // load data + $value = $this->load($data); + $key = ($data != $value) ? $data : count($this->data); + + // replace CR linefeeds etc. + // @see https://github.com/matthiasmullie/minify/pull/139 + $value = str_replace(array("\r\n", "\r"), "\n", $value); + + // store data + $this->data[$key] = $value; + } + + return $this; + } + + /** + * Minify the data & (optionally) saves it to a file. + * + * @param string[optional] $path Path to write the data to + * + * @return string The minified data + */ + public function minify($path = null) + { + $content = $this->execute($path); + + // save to path + if ($path !== null) { + $this->save($content, $path); + } + + return $content; + } + + /** + * Minify & gzip the data & (optionally) saves it to a file. + * + * @param string[optional] $path Path to write the data to + * @param int[optional] $level Compression level, from 0 to 9 + * + * @return string The minified & gzipped data + */ + public function gzip($path = null, $level = 9) + { + $content = $this->execute($path); + $content = gzencode($content, $level, FORCE_GZIP); + + // save to path + if ($path !== null) { + $this->save($content, $path); + } + + return $content; + } + + /** + * Minify the data & write it to a CacheItemInterface object. + * + * @param CacheItemInterface $item Cache item to write the data to + * + * @return CacheItemInterface Cache item with the minifier data + */ + public function cache(CacheItemInterface $item) + { + $content = $this->execute(); + $item->set($content); + + return $item; + } + + /** + * Minify the data. + * + * @param string[optional] $path Path to write the data to + * + * @return string The minified data + */ + abstract public function execute($path = null); + + /** + * Load data. + * + * @param string $data Either a path to a file or the content itself + * + * @return string + */ + protected function load($data) + { + // check if the data is a file + if ($this->canImportFile($data)) { + $data = file_get_contents($data); + + // strip BOM, if any + if (substr($data, 0, 3) == "\xef\xbb\xbf") { + $data = substr($data, 3); + } + } + + return $data; + } + + /** + * Save to file. + * + * @param string $content The minified data + * @param string $path The path to save the minified data to + * + * @throws IOException + */ + protected function save($content, $path) + { + $handler = $this->openFileForWriting($path); + + $this->writeToFile($handler, $content); + + @fclose($handler); + } + + /** + * Register a pattern to execute against the source content. + * + * @param string $pattern PCRE pattern + * @param string|callable $replacement Replacement value for matched pattern + */ + protected function registerPattern($pattern, $replacement = '') + { + // study the pattern, we'll execute it more than once + $pattern .= 'S'; + + $this->patterns[] = array($pattern, $replacement); + } + + /** + * We can't "just" run some regular expressions against JavaScript: it's a + * complex language. E.g. having an occurrence of // xyz would be a comment, + * unless it's used within a string. Of you could have something that looks + * like a 'string', but inside a comment. + * The only way to accurately replace these pieces is to traverse the JS one + * character at a time and try to find whatever starts first. + * + * @param string $content The content to replace patterns in + * + * @return string The (manipulated) content + */ + protected function replace($content) + { + $processed = ''; + $positions = array_fill(0, count($this->patterns), -1); + $matches = array(); + + while ($content) { + // find first match for all patterns + foreach ($this->patterns as $i => $pattern) { + list($pattern, $replacement) = $pattern; + + // we can safely ignore patterns for positions we've unset earlier, + // because we know these won't show up anymore + if (array_key_exists($i, $positions) == false) { + continue; + } + + // no need to re-run matches that are still in the part of the + // content that hasn't been processed + if ($positions[$i] >= 0) { + continue; + } + + $match = null; + if (preg_match($pattern, $content, $match, PREG_OFFSET_CAPTURE)) { + $matches[$i] = $match; + + // we'll store the match position as well; that way, we + // don't have to redo all preg_matches after changing only + // the first (we'll still know where those others are) + $positions[$i] = $match[0][1]; + } else { + // if the pattern couldn't be matched, there's no point in + // executing it again in later runs on this same content; + // ignore this one until we reach end of content + unset($matches[$i], $positions[$i]); + } + } + + // no more matches to find: everything's been processed, break out + if (!$matches) { + $processed .= $content; + break; + } + + // see which of the patterns actually found the first thing (we'll + // only want to execute that one, since we're unsure if what the + // other found was not inside what the first found) + $discardLength = min($positions); + $firstPattern = array_search($discardLength, $positions); + $match = $matches[$firstPattern][0][0]; + + // execute the pattern that matches earliest in the content string + list($pattern, $replacement) = $this->patterns[$firstPattern]; + $replacement = $this->replacePattern($pattern, $replacement, $content); + + // figure out which part of the string was unmatched; that's the + // part we'll execute the patterns on again next + $content = (string) substr($content, $discardLength); + $unmatched = (string) substr($content, strpos($content, $match) + strlen($match)); + + // move the replaced part to $processed and prepare $content to + // again match batch of patterns against + $processed .= substr($replacement, 0, strlen($replacement) - strlen($unmatched)); + $content = $unmatched; + + // first match has been replaced & that content is to be left alone, + // the next matches will start after this replacement, so we should + // fix their offsets + foreach ($positions as $i => $position) { + $positions[$i] -= $discardLength + strlen($match); + } + } + + return $processed; + } + + /** + * This is where a pattern is matched against $content and the matches + * are replaced by their respective value. + * This function will be called plenty of times, where $content will always + * move up 1 character. + * + * @param string $pattern Pattern to match + * @param string|callable $replacement Replacement value + * @param string $content Content to match pattern against + * + * @return string + */ + protected function replacePattern($pattern, $replacement, $content) + { + if (is_callable($replacement)) { + return preg_replace_callback($pattern, $replacement, $content, 1, $count); + } else { + return preg_replace($pattern, $replacement, $content, 1, $count); + } + } + + /** + * Strings are a pattern we need to match, in order to ignore potential + * code-like content inside them, but we just want all of the string + * content to remain untouched. + * + * This method will replace all string content with simple STRING# + * placeholder text, so we've rid all strings from characters that may be + * misinterpreted. Original string content will be saved in $this->extracted + * and after doing all other minifying, we can restore the original content + * via restoreStrings(). + * + * @param string[optional] $chars + * @param string[optional] $placeholderPrefix + */ + protected function extractStrings($chars = '\'"', $placeholderPrefix = '') + { + // PHP only supports $this inside anonymous functions since 5.4 + $minifier = $this; + $callback = function ($match) use ($minifier, $placeholderPrefix) { + // check the second index here, because the first always contains a quote + if ($match[2] === '') { + /* + * Empty strings need no placeholder; they can't be confused for + * anything else anyway. + * But we still needed to match them, for the extraction routine + * to skip over this particular string. + */ + return $match[0]; + } + + $count = count($minifier->extracted); + $placeholder = $match[1].$placeholderPrefix.$count.$match[1]; + $minifier->extracted[$placeholder] = $match[1].$match[2].$match[1]; + + return $placeholder; + }; + + /* + * The \\ messiness explained: + * * Don't count ' or " as end-of-string if it's escaped (has backslash + * in front of it) + * * Unless... that backslash itself is escaped (another leading slash), + * in which case it's no longer escaping the ' or " + * * So there can be either no backslash, or an even number + * * multiply all of that times 4, to account for the escaping that has + * to be done to pass the backslash into the PHP string without it being + * considered as escape-char (times 2) and to get it in the regex, + * escaped (times 2) + */ + $this->registerPattern('/(['.$chars.'])(.*?(?extracted. + * + * @param string $content + * + * @return string + */ + protected function restoreExtractedData($content) + { + if (!$this->extracted) { + // nothing was extracted, nothing to restore + return $content; + } + + $content = strtr($content, $this->extracted); + + $this->extracted = array(); + + return $content; + } + + /** + * Check if the path is a regular file and can be read. + * + * @param string $path + * + * @return bool + */ + protected function canImportFile($path) + { + $parsed = parse_url($path); + if ( + // file is elsewhere + isset($parsed['host']) || + // file responds to queries (may change, or need to bypass cache) + isset($parsed['query']) + ) { + return false; + } + + return strlen($path) < PHP_MAXPATHLEN && @is_file($path) && is_readable($path); + } + + /** + * Attempts to open file specified by $path for writing. + * + * @param string $path The path to the file + * + * @return resource Specifier for the target file + * + * @throws IOException + */ + protected function openFileForWriting($path) + { + if (($handler = @fopen($path, 'w')) === false) { + throw new IOException('The file "'.$path.'" could not be opened for writing. Check if PHP has enough permissions.'); + } + + return $handler; + } + + /** + * Attempts to write $content to the file specified by $handler. $path is used for printing exceptions. + * + * @param resource $handler The resource to write to + * @param string $content The content to write + * @param string $path The path to the file (for exception printing only) + * + * @throws IOException + */ + protected function writeToFile($handler, $content, $path = '') + { + if (($result = @fwrite($handler, $content)) === false || ($result < strlen($content))) { + throw new IOException('The file "'.$path.'" could not be written to. Check your disk space and file permissions.'); + } + } +} diff --git a/vendor/matthiasmullie/path-converter/LICENSE b/vendor/matthiasmullie/path-converter/LICENSE new file mode 100644 index 000000000..491295ad3 --- /dev/null +++ b/vendor/matthiasmullie/path-converter/LICENSE @@ -0,0 +1,18 @@ +Copyright (c) 2015 Matthias Mullie + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/vendor/matthiasmullie/path-converter/composer.json b/vendor/matthiasmullie/path-converter/composer.json new file mode 100644 index 000000000..1cb6a4c59 --- /dev/null +++ b/vendor/matthiasmullie/path-converter/composer.json @@ -0,0 +1,28 @@ +{ + "name": "matthiasmullie/path-converter", + "type": "library", + "description": "Relative path converter", + "keywords": ["relative", "path", "converter", "paths"], + "homepage": "http://github.com/matthiasmullie/path-converter", + "license": "MIT", + "authors": [ + { + "name": "Matthias Mullie", + "homepage": "http://www.mullie.eu", + "email": "pathconverter@mullie.eu", + "role": "Developer" + } + ], + "require": { + "php": ">=5.3.0", + "ext-pcre": "*" + }, + "require-dev": { + "phpunit/phpunit": "~4.8" + }, + "autoload": { + "psr-4": { + "MatthiasMullie\\PathConverter\\": "src/" + } + } +} diff --git a/vendor/matthiasmullie/path-converter/src/Converter.php b/vendor/matthiasmullie/path-converter/src/Converter.php new file mode 100644 index 000000000..519d3c84f --- /dev/null +++ b/vendor/matthiasmullie/path-converter/src/Converter.php @@ -0,0 +1,196 @@ + + * @copyright Copyright (c) 2015, Matthias Mullie. All rights reserved + * @license MIT License + */ +class Converter implements ConverterInterface +{ + /** + * @var string + */ + protected $from; + + /** + * @var string + */ + protected $to; + + /** + * @param string $from The original base path (directory, not file!) + * @param string $to The new base path (directory, not file!) + * @param string $root Root directory (defaults to `getcwd`) + */ + public function __construct($from, $to, $root = '') + { + $shared = $this->shared($from, $to); + if ($shared === '') { + // when both paths have nothing in common, one of them is probably + // absolute while the other is relative + $root = $root ?: getcwd(); + $from = strpos($from, $root) === 0 ? $from : preg_replace('/\/+/', '/', $root.'/'.$from); + $to = strpos($to, $root) === 0 ? $to : preg_replace('/\/+/', '/', $root.'/'.$to); + + // or traveling the tree via `..` + // attempt to resolve path, or assume it's fine if it doesn't exist + $from = @realpath($from) ?: $from; + $to = @realpath($to) ?: $to; + } + + $from = $this->dirname($from); + $to = $this->dirname($to); + + $from = $this->normalize($from); + $to = $this->normalize($to); + + $this->from = $from; + $this->to = $to; + } + + /** + * Normalize path. + * + * @param string $path + * + * @return string + */ + protected function normalize($path) + { + // deal with different operating systems' directory structure + $path = rtrim(str_replace(DIRECTORY_SEPARATOR, '/', $path), '/'); + + /* + * Example: + * /home/forkcms/frontend/cache/compiled_templates/../../core/layout/css/../images/img.gif + * to + * /home/forkcms/frontend/core/layout/images/img.gif + */ + do { + $path = preg_replace('/[^\/]+(? $chunk) { + if (isset($path2[$i]) && $path1[$i] == $path2[$i]) { + $shared[] = $chunk; + } else { + break; + } + } + + return implode('/', $shared); + } + + /** + * Convert paths relative from 1 file to another. + * + * E.g. + * ../images/img.gif relative to /home/forkcms/frontend/core/layout/css + * should become: + * ../../core/layout/images/img.gif relative to + * /home/forkcms/frontend/cache/minified_css + * + * @param string $path The relative path that needs to be converted + * + * @return string The new relative path + */ + public function convert($path) + { + // quit early if conversion makes no sense + if ($this->from === $this->to) { + return $path; + } + + $path = $this->normalize($path); + // if we're not dealing with a relative path, just return absolute + if (strpos($path, '/') === 0) { + return $path; + } + + // normalize paths + $path = $this->normalize($this->from.'/'.$path); + + // strip shared ancestor paths + $shared = $this->shared($path, $this->to); + $path = mb_substr($path, mb_strlen($shared)); + $to = mb_substr($this->to, mb_strlen($shared)); + + // add .. for every directory that needs to be traversed to new path + $to = str_repeat('../', count(array_filter(explode('/', $to)))); + + return $to.ltrim($path, '/'); + } + + /** + * Attempt to get the directory name from a path. + * + * @param string $path + * + * @return string + */ + protected function dirname($path) + { + if (@is_file($path)) { + return dirname($path); + } + + if (@is_dir($path)) { + return rtrim($path, '/'); + } + + // no known file/dir, start making assumptions + + // ends in / = dir + if (mb_substr($path, -1) === '/') { + return rtrim($path, '/'); + } + + // has a dot in the name, likely a file + if (preg_match('/.*\..*$/', basename($path)) !== 0) { + return dirname($path); + } + + // you're on your own here! + return $path; + } +} diff --git a/vendor/matthiasmullie/path-converter/src/ConverterInterface.php b/vendor/matthiasmullie/path-converter/src/ConverterInterface.php new file mode 100644 index 000000000..dc1b76573 --- /dev/null +++ b/vendor/matthiasmullie/path-converter/src/ConverterInterface.php @@ -0,0 +1,24 @@ + + * @copyright Copyright (c) 2015, Matthias Mullie. All rights reserved + * @license MIT License + */ +interface ConverterInterface +{ + /** + * Convert file paths. + * + * @param string $path The path to be converted + * + * @return string The new path + */ + public function convert($path); +} diff --git a/vendor/matthiasmullie/path-converter/src/NoConverter.php b/vendor/matthiasmullie/path-converter/src/NoConverter.php new file mode 100644 index 000000000..2fcfd0f20 --- /dev/null +++ b/vendor/matthiasmullie/path-converter/src/NoConverter.php @@ -0,0 +1,23 @@ + + * @copyright Copyright (c) 2015, Matthias Mullie. All rights reserved + * @license MIT License + */ +class NoConverter implements ConverterInterface +{ + /** + * {@inheritdoc} + */ + public function convert($path) + { + return $path; + } +}